Commit Graph

6520 Commits

Author SHA1 Message Date
Peter Steinberger
ee7121302f feat(acp): add interactive client harness 2026-01-18 08:27:37 +00:00
Peter Steinberger
4a489c2f02 feat: add node binding controls in control ui 2026-01-18 08:26:32 +00:00
Peter Steinberger
5e39aa11cb fix(auth): preserve auto-pin preference
Co-authored-by: Mykyta Bozhenko <21245729+cheeeee@users.noreply.github.com>
2026-01-18 08:22:55 +00:00
Peter Steinberger
458c6f37bb fix: clean up duplicate import (#1098)
Follow-up after rebase.
2026-01-18 08:15:21 +00:00
Peter Steinberger
7420c7a035 fix: tighten native image injection (#1098)
Thanks @tyler6204.

Co-authored-by: Tyler Yust <tyler6204@users.noreply.github.com>
2026-01-18 08:15:21 +00:00
Tyler Yust
b23f898203 fix: improve error handling for file URL processing
- Enhanced error handling in image reference detection to skip malformed file URLs without crashing.
- Updated media loading logic to throw an error for invalid file URLs, ensuring better feedback for users.
2026-01-18 08:15:21 +00:00
Tyler Yust
3eebcffe45 fix: enhance image reference detection and optimize image processing
- Added support for detecting file URLs in prompts using fileURLToPath for accurate path resolution.
- Updated image loading logic to default to JPEG format for optimized image processing.
- Improved error handling in image optimization to continue processing on failures.
2026-01-18 08:15:21 +00:00
Tyler Yust
38f513689b fix: improve file URL handling and enhance image loading logic
- Added handling for file URLs using fileURLToPath for proper resolution.
- Updated logic to skip relative path resolution if ref.resolved is already absolute.
- Enhanced cap calculation for image loading to handle undefined maxBytes more gracefully.
2026-01-18 08:15:21 +00:00
Tyler Yust
5e2bb98e7b feat: native image injection for vision-capable models
- Auto-detect and load images referenced in user prompts
- Inject history images at their original message positions
- Fix EXIF orientation - rotate before resizing in resizeToJpeg
- Sandbox security: validate paths, block remote URLs when sandbox enabled
- Prevent duplicate history image injection across turns
- Handle string-based user message content (convert to array)
- Add bounds check for message index in history processing
- Fix regex to properly match relative paths (./  ../)
- Add multi-image support for iMessage attachments
- Pass MAX_IMAGE_BYTES limit to image loading

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-18 08:15:21 +00:00
Peter Steinberger
791e4f6a8a fix: repair context report and tool config 2026-01-18 08:15:21 +00:00
Peter Steinberger
c40c048787 docs: explain per-agent exec node binding 2026-01-18 08:15:15 +00:00
Peter Steinberger
ddfa7bc140 perf: lazy-load memory manager 2026-01-18 08:05:36 +00:00
Peter Steinberger
068bfa8a63 feat(acp): add experimental ACP support
Co-authored-by: Jonathan Taylor <visionik@pobox.com>
2026-01-18 08:03:36 +00:00
Peter Steinberger
cf465f0477 docs: align exec event text 2026-01-18 08:01:25 +00:00
Peter Steinberger
f5f90f444c test: cover bridge exec events 2026-01-18 08:01:25 +00:00
Peter Steinberger
c12c53ef08 fix: resolve mac build errors 2026-01-18 08:00:58 +00:00
Peter Steinberger
3ed458a21a docs: explain node host use cases 2026-01-18 07:59:03 +00:00
Peter Steinberger
c72c9af4e1 docs: add exec events to bridge protocol 2026-01-18 07:59:03 +00:00
Peter Steinberger
e3c6469a99 fix(fallback): handle timeout aborts
Co-authored-by: Mykyta Bozhenko <21245729+cheeeee@users.noreply.github.com>
2026-01-18 07:52:44 +00:00
Peter Steinberger
114ebb153d chore: remove peekaboo submodule 2026-01-18 07:47:32 +00:00
Peter Steinberger
e1af13d922 chore: switch Peekaboo to SPM 2026-01-18 07:47:31 +00:00
Peter Steinberger
0ecd13b7a2 feat: add exec host routing + node daemon 2026-01-18 07:46:00 +00:00
Peter Steinberger
bb724fa52c test: fix gateway test lint 2026-01-18 07:44:14 +00:00
Peter Steinberger
0a705e4950 chore(format): oxfmt memory 2026-01-18 07:30:07 +00:00
Peter Steinberger
067a22f29a refactor: share memory plugin config helpers 2026-01-18 07:24:16 +00:00
Peter Steinberger
891ac4233e Merge pull request #1148 from TSavo/refactor/gateway-test-monkeypatching
refactor: remove monkeypatching from gateway tests
2026-01-18 07:16:33 +00:00
Peter Steinberger
ab7c16da1a chore(format): oxfmt 2026-01-18 07:14:40 +00:00
Peter Steinberger
98adbc4795 Merge pull request #1149 from radek-paclt/feature/memory-plugin-v2
feat(memory): add lifecycle hooks and vector memory plugin
2026-01-18 07:10:06 +00:00
Peter Steinberger
adbaa1f918 refactor(memory): extract sync + status helpers 2026-01-18 07:03:06 +00:00
Peter Steinberger
aae2700936 ci: stabilize vitest runs 2026-01-18 06:58:54 +00:00
Peter Steinberger
a897d758ea refactor(session): centralize thread reset detection
Co-authored-by: Austin Mudd <austinm911@gmail.com>
2026-01-18 06:55:04 +00:00
Peter Steinberger
409037af73 test: expand soul-evil coverage 2026-01-18 06:39:26 +00:00
Peter Steinberger
9942636ba5 feat(session): add daily reset policy
Co-authored-by: Austin Mudd <austinm911@gmail.com>
2026-01-18 06:37:37 +00:00
Peter Steinberger
3123268f9e docs: update changelog for #1147
Co-authored-by: Andrew Lauppe <andy@t5tele.com>
2026-01-18 06:37:29 +00:00
Radek Paclt
3b520bfdad feat(memory): add lifecycle hooks and vector memory plugin
Add plugin lifecycle hooks infrastructure:
- before_agent_start: inject context before agent loop
- agent_end: analyze conversation after completion
- 13 hook types total (message, tool, session, gateway hooks)

Memory plugin implementation:
- LanceDB vector storage with OpenAI embeddings
- kind: "memory" to integrate with upstream slot system
- Auto-recall: injects <relevant-memories> when context found
- Auto-capture: stores preferences, decisions, entities
- Rule-based capture filtering with 0.95 similarity dedup
- Tools: memory_recall, memory_store, memory_forget
- CLI: clawdbot ltm list|search|stats

Plugin infrastructure:
- api.on() method for hook registration
- Global hook runner singleton for cross-module access
- Priority ordering and error catching

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-18 06:34:43 +00:00
Peter Steinberger
1bbf6ae72f chore(gate): fix lint and protocol 2026-01-18 06:31:02 +00:00
Peter Steinberger
c6a6e40ac5 ci: bump vitest timeouts 2026-01-18 06:31:02 +00:00
Peter Steinberger
e0729250ee fix: keep bootstrap files in context report 2026-01-18 06:30:01 +00:00
Peter Steinberger
a1ba20a1c3 chore(lint): fix context report bootstrap destructure 2026-01-18 06:30:01 +00:00
Peter Steinberger
b365116c5f fix: resolve lint after rebase 2026-01-18 06:30:01 +00:00
Peter Steinberger
3514b18e8b test: cover bundled memory plugin package metadata 2026-01-18 06:30:01 +00:00
Peter Steinberger
b946fe243d build: package memory-core as a workspace plugin 2026-01-18 06:30:01 +00:00
Peter Steinberger
6cc2a735af fix(streaming): emit assistant deltas
Co-authored-by: Andrew Lauppe <andy@t5tele.com>
2026-01-18 06:24:52 +00:00
Peter Steinberger
c22a39d9d1 docs: update bundled hooks list 2026-01-18 06:23:09 +00:00
Peter Steinberger
65d6b897af docs: add soul-evil hook docs 2026-01-18 06:21:00 +00:00
Peter Steinberger
063a296b24 refactor: add hook guards and test helpers 2026-01-18 06:15:24 +00:00
Peter Steinberger
af9abe3e4b chore: show plugin hooks in plugins info 2026-01-18 06:14:09 +00:00
Peter Steinberger
614a39fa9e feat: add /exec session overrides 2026-01-18 06:12:54 +00:00
Peter Steinberger
e24dd3c0e4 fix: align exec tool config and test timeouts 2026-01-18 06:12:53 +00:00
Peter Steinberger
3db4379db8 fix(openai-http): reuse history markers for chat prompts
Co-authored-by: Andrew Lauppe <andy@t5tele.com>
2026-01-18 06:07:59 +00:00