Tyler Yust
8d74578ceb
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
ec27c813cc
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
ae0b4c4990
feat: add exec host routing + node daemon
2026-01-18 07:46:00 +00:00
Peter Steinberger
df752d4706
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
d3b15c6afa
ci: stabilize vitest runs
2026-01-18 06:58:54 +00:00
Radek Paclt
ebfeb7a6bf
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
ac1b2d8c40
chore(gate): fix lint and protocol
2026-01-18 06:31:02 +00:00
Peter Steinberger
f7fcfafb4c
fix: resolve lint after rebase
2026-01-18 06:30:01 +00:00
Peter Steinberger
0b00e591e1
fix(streaming): emit assistant deltas
...
Co-authored-by: Andrew Lauppe <andy@t5tele.com >
2026-01-18 06:24:52 +00:00
Peter Steinberger
28f8b7bafa
refactor: add hook guards and test helpers
2026-01-18 06:15:24 +00:00
Peter Steinberger
8f7f7ee7dc
feat: add /exec session overrides
2026-01-18 06:12:54 +00:00
Peter Steinberger
d4bd387e0e
chore(gate): fix lint and formatting
2026-01-18 06:01:25 +00:00
Peter Steinberger
88b37e80fc
refactor: expand bootstrap helpers and tests
2026-01-18 05:51:55 +00:00
Peter Steinberger
9c0ff87c86
fix: align plugin runtime and exec wiring
2026-01-18 05:44:22 +00:00
Peter Steinberger
cf8b3ed988
fix: harden memory indexing and embedded session locks
2026-01-18 05:41:45 +00:00
Peter Steinberger
2dabce59ce
feat(slash-commands): usage footer modes
2026-01-18 05:35:35 +00:00
Peter Steinberger
e7a4931932
refactor: centralize bootstrap file resolution
2026-01-18 05:31:04 +00:00
Peter Steinberger
ad3c12a43a
feat: add bootstrap hook and soul-evil hook
2026-01-18 05:24:47 +00:00
Peter Steinberger
016693a1f5
fix: abort embedded prompts on cancel
2026-01-18 05:18:10 +00:00
Peter Steinberger
b105745299
feat: expand subagent status visibility
2026-01-18 04:46:04 +00:00
Peter Steinberger
1ae415e395
fix: align agent exec config
2026-01-18 04:37:15 +00:00
Peter Steinberger
e4e1396a98
perf: improve batch status logging
2026-01-18 04:28:14 +00:00
Peter Steinberger
efdb33c975
feat: add exec host approvals flow
2026-01-18 04:27:41 +00:00
Peter Steinberger
82e49af5a7
fix: resolve plugin tool meta typing
2026-01-18 04:24:16 +00:00
Peter Steinberger
fabc2882aa
fix: avoid keychain prompts in embedded runner
2026-01-18 04:19:28 +00:00
Peter Steinberger
6b3d3f5e21
refactor: centralize plugin tool policy helpers
2026-01-18 04:18:32 +00:00
Peter Steinberger
6da6582ced
feat: add optional plugin tools
2026-01-18 04:08:00 +00:00
Peter Steinberger
afb877a96b
perf: speed up memory batch polling
2026-01-18 03:55:14 +00:00
Peter Steinberger
787bed4996
test: stabilize doctor + pi-embedded suites
2026-01-18 03:40:47 +00:00
Peter Steinberger
5fa1a63978
Merge pull request #1136 from cheeeee/fix/prompt-failover
...
fix(agent): Enable model fallback for prompt-phase quota/rate limit errors
2026-01-18 03:32:03 +00:00
Peter Steinberger
0f6f7059d9
test: stabilize embedded runner tests
2026-01-18 02:55:41 +00:00
Peter Steinberger
67f63ecd7e
chore: remove tracked artifacts
2026-01-18 02:55:07 +00:00
Peter Steinberger
1420d113d8
refactor: migrate extensions to plugin sdk
2026-01-18 02:55:07 +00:00
Peter Steinberger
34590d2144
feat: persist session origin metadata across connectors
2026-01-18 02:42:10 +00:00
Peter Steinberger
0c93b9b7bb
style: apply oxfmt
2026-01-18 02:19:35 +00:00
Peter Steinberger
9fd9f4c896
feat(plugins): add memory slot plugin
2026-01-18 02:12:10 +00:00
Peter Steinberger
005b831023
test: stabilize env-dependent tool defaults
2026-01-18 01:57:54 +00:00
Peter Steinberger
14e6b21b50
test: cover perplexity baseUrl precedence
2026-01-18 01:56:34 +00:00
Peter Steinberger
ccb30665f7
feat: add hybrid memory search
2026-01-18 01:47:58 +00:00
Peter Steinberger
0fb2777c6d
feat: add memory embedding cache
2026-01-18 01:47:58 +00:00
Peter Steinberger
568b8ee96c
refactor: split web tools and docs
2026-01-18 01:42:54 +00:00
Peter Steinberger
0674f1fa3c
feat: add exec approvals allowlists
2026-01-18 01:34:31 +00:00
Mykyta Bozhenko
448394a0de
fix(agent): Enable model fallback for prompt-phase quota/rate limit errors
...
When a prompt submission fails with quota or rate limit errors, throw
FailoverError instead of the raw promptError. This enables the model
fallback system to try alternative models.
Previously, rate limit errors during the prompt phase (before streaming)
were thrown directly, bypassing fallback. Only response-phase errors
triggered model fallback.
Now checks if fallback models are configured and the error is failover-
eligible. If so, wraps in FailoverError to trigger the fallback chain.
2026-01-18 01:29:48 +00:00
Peter Steinberger
8b1bec11d0
feat: speed up memory batch indexing
2026-01-18 01:24:51 +00:00
Peter Steinberger
1d83389776
Merge pull request #1131 from CMLKevin/feat/perplexity-search-provider
...
feat(web): add Perplexity Sonar as alternative search provider
2026-01-18 01:16:00 +00:00
Peter Steinberger
36d88f6079
fix: normalize gateway dev mode detection
2026-01-18 01:08:47 +00:00
Muhammed Mukhthar CM
b56b67cdbd
UI: label Qwen provider
2026-01-18 01:03:08 +00:00
Muhammed Mukhthar CM
8eb80ee40a
Models: add Qwen Portal OAuth support
2026-01-18 01:03:08 +00:00
Peter Steinberger
d593a809f0
fix: apply openai batch defaults
2026-01-18 00:29:18 +00:00
Peter Steinberger
4d590f9254
refactor(slack): centralize target parsing
2026-01-18 00:15:05 +00:00