Peter Steinberger
28c49db494
fix: default exec security to allowlist
2026-01-21 03:40:27 +00:00
Peter Steinberger
026e6c4df4
fix: restore bundled plugin discovery
2026-01-21 03:40:05 +00:00
Peter Steinberger
f3554a3ad8
feat: render approvals get as table
2026-01-21 03:36:54 +00:00
Peter Steinberger
d1c2fc4bc8
fix: hide empty status rows
2026-01-21 03:32:16 +00:00
Peter Steinberger
a5a3ab958f
fix: skip bundled plugin discovery in tests
2026-01-21 03:29:03 +00:00
Peter Steinberger
165861e78d
feat: add approvals allowlist examples
2026-01-21 03:27:50 +00:00
Peter Steinberger
e7c355ee85
feat: group service help examples by submenu
2026-01-21 03:27:50 +00:00
Peter Steinberger
aae4b2952f
feat: polish nodes cli output
2026-01-21 03:27:50 +00:00
Peter Steinberger
e6287270d9
feat: render nodes status as table
2026-01-21 03:11:27 +00:00
Vultr-Clawd Admin
c05a7b5390
test(auto-reply): drop auth profile on provider fallback
2026-01-20 23:07:33 -04:00
Siddhant Jain
020fecef5c
fix(telegram): answer callback queries immediately to prevent retries
...
Telegram retries callback queries if they aren't acknowledged quickly.
Previously, answerCallbackQuery was called in a finally block AFTER
processing, which could take several seconds for agent responses.
This change moves answerCallbackQuery to immediately after basic
validation, before any processing begins. This prevents Telegram
from sending duplicate callbacks while the agent is thinking.
Fixes duplicate callback handling when agent processing is slow.
2026-01-21 03:04:28 +00:00
Peter Steinberger
caf9dec89c
feat: add nodes list table with last connect
2026-01-21 03:03:48 +00:00
Peter Steinberger
438a41f91f
refactor: harden log stream writes
2026-01-21 03:03:29 +00:00
Peter Steinberger
a0cd295c0f
fix: add browser snapshot default mode ( #1336 )
...
Co-authored-by: Seb Slight <sbarrios93@gmail.com>
2026-01-21 03:03:10 +00:00
Peter Steinberger
5bd55037e4
fix: harden web fetch SSRF and redirects
...
Co-authored-by: Eli <fogboots@users.noreply.github.com>
2026-01-21 02:54:14 +00:00
Peter Steinberger
ec51bb700c
Merge pull request #1314 from dbhurley/fix/control-ui-token-auth
...
fix: allow token auth to bypass device identity requirement
2026-01-21 02:44:47 +00:00
Peter Steinberger
051d518078
Merge pull request #1318 from sebslight/fix/logs-follow-output
...
CLI: avoid logs --follow echo
2026-01-21 02:38:14 +00:00
Peter Steinberger
6629e31789
Merge pull request #1322 from KrauseFx/fix/cron-edit-preserve-delivery-on-message
...
Fix(cli): Preserve delivery settings when updating message via cron edit
2026-01-21 02:29:20 +00:00
Peter Steinberger
9d7087168f
fix(gateway): improve validation errors ( #1347 )
...
Thanks @vignesh07.
Co-authored-by: Vignesh <vignesh07@users.noreply.github.com>
2026-01-21 02:28:33 +00:00
Vignesh Natarajan
daceeaa24c
fix(gateway): clarify schema validation errors
...
Improve validation error formatting for strict schemas.
In particular, additionalProperties errors now surface the
unexpected property name and where it occurred, which makes
handshake/connect failures easier to debug.
2026-01-21 02:28:33 +00:00
Peter Steinberger
1b973caf7a
fix: preserve cron edit delivery payloads ( #1322 ) (thanks @KrauseFx)
2026-01-21 02:27:18 +00:00
ClawdFx
ea775025c0
Run oxfmt formatting
2026-01-21 02:18:43 +00:00
ClawdFx
0b2830470c
Fix: Preserve delivery settings when updating message via cron edit
...
- Add failing tests for delivery field preservation
- Fix register.cron-edit to conditionally build payload object
- Only include delivery fields (deliver, channel, to, bestEffortDeliver) when explicitly provided
- Previously undefined values were included, wiping out existing delivery settings
- Now --message alone preserves existing delivery config
- Tests verify both preservation and explicit override scenarios
2026-01-21 02:18:33 +00:00
Peter Steinberger
e81ca7ab00
fix: tame invalid config logging
2026-01-21 01:58:47 +00:00
Peter Steinberger
27acfa59c5
chore: update a2ui bundle
2026-01-21 01:33:31 +00:00
Peter Steinberger
23f7dd8b25
fix: pass threadId in restart sentinel
2026-01-21 01:26:15 +00:00
Peter Steinberger
a4fc2b4536
fix: handle fetch streams safely
2026-01-21 01:24:29 +00:00
Peter Steinberger
17f3635109
fix: preserve restart routing + thread replies ( #1337 ) (thanks @John-Rood)
...
Co-authored-by: John-Rood <John-Rood@users.noreply.github.com>
Co-authored-by: Outdoor <outdoor@users.noreply.github.com>
2026-01-21 01:20:25 +00:00
Peter Steinberger
9206d21c76
fix: narrow cron payload merge types
2026-01-21 01:14:24 +00:00
Peter Steinberger
96be166bd6
fix: refactor cron edit payload patches
...
Co-authored-by: Felix Krause <869950+KrauseFx@users.noreply.github.com>
2026-01-21 01:14:24 +00:00
Peter Steinberger
d8abd53a1d
fix: reschedule heartbeat on hot reload
...
Co-authored-by: Seb Slight <sebslight@users.noreply.github.com>
2026-01-21 00:53:54 +00:00
Peter Steinberger
eff292eda4
Merge pull request #1338 from MaudeCode/fix/message-command-plugins
...
fix(cli): load plugin registry for message/channels commands
2026-01-21 00:49:04 +00:00
Peter Steinberger
48b0d08493
fix: resolve ReadableStream cast in skills install
2026-01-21 00:33:22 +00:00
Peter Steinberger
ec01e5c7e6
fix: emit diagnostics across channels
2026-01-21 00:30:34 +00:00
Peter Steinberger
e447233533
chore: sync protocol outputs
2026-01-21 00:19:53 +00:00
Peter Steinberger
76bae8da40
feat: add download installs for skills
2026-01-21 00:14:36 +00:00
Peter Steinberger
c33c0629ec
fix: treat tailnet host as local for pairing
2026-01-21 00:14:15 +00:00
Peter Steinberger
51dfd6efdb
fix: tighten small-model audit guardrails
2026-01-20 23:52:26 +00:00
Peter Steinberger
eb1ee36f59
fix: relax diagnostic event typing ( #1332 ) (thanks @steipete)
2026-01-20 23:07:28 +00:00
Peter Steinberger
b341512564
fix: model catalog cache + TUI editor ctor ( #1326 ) (thanks @dougvk)
2026-01-20 22:58:41 +00:00
Peter Steinberger
6734f2d71c
fix: wire OTLP logs for diagnostics
2026-01-20 22:51:47 +00:00
Peter Steinberger
e12abf3114
fix: update CustomEditor constructor
2026-01-20 22:36:06 +00:00
Maude Bot
4ad9622efb
fix(cli): load plugin registry for message/channels commands
...
Fixes #1327 - 'clawdbot message --channel telegram' fails with
'Unknown channel: telegram' because plugins weren't loaded.
The Commander code path (non-route-first) calls ensureConfigReady() in
preAction but doesn't load the plugin registry. Channel plugins like
telegram are registered during plugin loading, so getChannelPlugin()
returns undefined without it.
This adds ensurePluginRegistryLoaded() call for commands that need
channel plugin access: message, channels, directory.
2026-01-20 16:41:15 -05:00
Dave Lauer
056b3e40d6
chore: fix formatting
2026-01-20 16:21:14 -05:00
Dave Lauer
6402a48482
feat: add avatar support for agent identity
...
- Add avatar field to IdentityConfig type
- Add avatar parsing in AgentIdentity from IDENTITY.md
- Add renderAvatar support for image avatars in webchat
- Add CSS styling for image avatars
Users can now configure a custom avatar for the assistant in the webchat
by setting 'identity.avatar' in the agent config or adding 'Avatar: path'
to IDENTITY.md. The avatar can be served from the assets folder.
Closes #TBD
2026-01-20 16:21:14 -05:00
Peter Steinberger
7b6cbf5869
feat: add Nostr channel plugin and onboarding install defaults
...
Co-authored-by: joelklabo <joelklabo@users.noreply.github.com>
2026-01-20 20:15:56 +00:00
Peter Steinberger
8686b3b951
Merge pull request #1326 from dougvk/fix/model-catalog-cache-poison
...
fix(model-catalog): avoid caching import failures
2026-01-20 20:14:52 +00:00
Peter Steinberger
2e7e135bc0
fix: config form semantics + editor ctor ( #1315 ) (thanks @MaudeBot)
2026-01-20 20:14:22 +00:00
Peter Steinberger
18f0051d26
fix: avoid discord gateway abort crash
2026-01-20 19:33:08 +00:00
Peter Steinberger
b012b1105e
fix: unblock discord listener concurrency
2026-01-20 19:30:32 +00:00
Peter Steinberger
21370fc09b
fix: allow fallback on timeout aborts
...
Co-authored-by: Larus Ivarsson <larusivar@gmail.com>
2026-01-20 19:23:13 +00:00
Doug von Kohorn
e4f9555f21
fix(model-catalog): avoid caching import failures
...
Move dynamic import of @mariozechner/pi-coding-agent into the try/catch so transient module resolution errors don't poison the model catalog cache with a rejected promise.
This previously caused Discord/Telegram handlers and heartbeat to fail until process restart if the import failed once.
2026-01-20 20:09:55 +01:00
Peter Steinberger
243a8b019e
fix: route native status to active agent
2026-01-20 19:04:31 +00:00
Peter Steinberger
5c4079f66c
feat: add diagnostics events and otel exporter
2026-01-20 18:56:15 +00:00
Peter Steinberger
d298b8c16b
fix(cron): auto-deliver agent output to explicit targets
2026-01-20 17:56:15 +00:00
Peter Steinberger
40968bd5e0
test: stabilize atomic reindex search mock
2026-01-20 17:50:42 +00:00
Peter Steinberger
80e6c070bf
refactor: centralize discord api errors
2026-01-20 17:28:19 +00:00
Peter Steinberger
02ca148583
fix: preserve subagent thread routing ( #1241 )
...
Thanks @gnarco.
Co-authored-by: gnarco <gnarco@users.noreply.github.com>
2026-01-20 17:22:07 +00:00
Peter Steinberger
9faed2226a
fix: soften discord resolve warnings
2026-01-20 17:11:52 +00:00
Peter Steinberger
cf04b24632
fix: clarify gateway auth unauthorized message
2026-01-20 17:06:02 +00:00
Sebastian Slight
7e59c15496
CLI: avoid logs follow echo
2026-01-20 11:51:53 -05:00
Peter Steinberger
9f856abfe7
fix: align tui editor with pi-tui API
2026-01-20 16:51:44 +00:00
Peter Steinberger
40e928a4c4
Merge pull request #1271 from Whoaa512/feat/session-picker-mvp
...
feat: session picker MVP - fuzzy search, derived titles, relative time
2026-01-20 16:46:48 +00:00
David Hurley
079af0d0b0
fix: allow token auth to bypass device identity requirement
...
The device identity check was rejecting connections before token
authentication could be attempted. This broke the control-ui (web UI)
which uses token-based authentication via URL parameter.
Changes:
- Skip device identity requirement when a token is provided
- Guard device token verification to only run when device is present
Fixes control-ui showing "device identity required" error when
connecting with a valid token.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-20 11:46:47 -05:00
Peter Steinberger
faa5838147
fix: polish session picker filtering ( #1271 ) (thanks @Whoaa512)
2026-01-20 16:46:15 +00:00
Peter Steinberger
5c5745dee5
fix: auto-enable plugins on startup
2026-01-20 16:38:37 +00:00
Peter Steinberger
15c735de4d
chore: update a2ui bundle hash
2026-01-20 16:38:08 +00:00
Peter Steinberger
8bf484bdad
fix: update pi-ai/pi-tui usage
2026-01-20 16:38:08 +00:00
CJ Winslow
36719690a2
test: add coverage for readLastMessagePreviewFromTranscript
...
Also add CHANGELOG entry and perf docs for session list flags.
2026-01-20 16:37:09 +00:00
CJ Winslow
f2666d2092
refactor: extract shared fuzzy filter utilities for list components
2026-01-20 16:37:08 +00:00
CJ Winslow
a28c271488
TUI: optimize fuzzy filtering and consolidate time formatting
...
- Extract formatRelativeTime to shared utility for reuse across components
- Optimize FilterableSelectList with pre-lowercased searchTextLower field (avoids toLowerCase on every keystroke)
- Implement custom fuzzy matching with space-separated token support and word boundary scoring
- Use matchesKey utility for consistent keybinding handling (arrows, vim j/k, ctrl+p/n)
- Fix searchable-select-list to support vim keybindings consistently
- Fix system-prompt runtimeInfo null check with nullish coalescing operator
2026-01-20 16:37:08 +00:00
CJ Winslow
1d9d5b30ce
feat: add last message preview to session picker
...
Read the final user/assistant message from session transcripts and display
it in the picker alongside the session update time. Allows quick previews
of what's in each session without opening it.
2026-01-20 16:36:51 +00:00
CJ Winslow
14f56a4e18
TUI: use editor keybindings for select cancel action
...
Replace hardcoded escape sequence checks with the pi-tui keybindings API to ensure consistent cancel handling across different terminal configurations.
2026-01-20 16:36:51 +00:00
CJ Winslow
687c41e838
TUI: display relative time for session updates in picker
...
Show "just now", "5m ago", "Yesterday" etc. instead of absolute timestamps
for better readability in the session picker list.
2026-01-20 16:36:51 +00:00
CJ Winslow
ddb7b5c6a4
feat: add search param to sessions.list RPC
...
Server-side filtering backup for client-side session picker search.
Case-insensitive substring match on displayName, label, subject,
sessionId, and key.
Closes #1161
2026-01-20 16:36:51 +00:00
CJ Winslow
262e35c219
refactor: clean up FilterableSelectList per code review
...
- Remove dead input handlers (onSubmit/onEscape never triggered)
- Store maxVisible as instance property instead of bracket access
- Remove unused filterInput theme property
2026-01-20 16:36:51 +00:00
CJ Winslow
95f0befd65
feat: add fuzzy filter to TUI session picker
...
Users can now type to filter sessions in real-time:
- FilterableSelectList component wraps pi-tui's fuzzyFilter
- Matches against displayName, label, subject, sessionId
- j/k navigation, Enter selects, Escape clears filter then cancels
- Uses derivedTitle from previous commit for better display
Refs #1161
2026-01-20 16:36:51 +00:00
CJ Winslow
83d5e30027
feat: add heuristic session title derivation for session picker
...
Enable meaningful session titles via priority-based derivation:
1. displayName (user-set)
2. subject (group name)
3. First user message (truncated to 60 chars)
4. sessionId prefix + date fallback
Opt-in via includeDerivedTitles param to avoid perf impact on
regular listing. Reads only first 10 lines of transcript files.
Closes #1161
2026-01-20 16:36:51 +00:00
Peter Steinberger
cb5d76ed3d
test: cover beta fallback update logic
2026-01-20 16:36:37 +00:00
Peter Steinberger
3d5ffee07f
fix: prefer stable release when beta lags
2026-01-20 16:36:04 +00:00
Peter Steinberger
0b0d8b2406
fix: repair model compat + editor ctor
2026-01-20 16:19:49 +00:00
Peter Steinberger
8c666666ef
fix(tui): update CustomEditor ctor
2026-01-20 16:06:21 +00:00
Peter Steinberger
404470853a
fix: stabilize gateway tests
2026-01-20 16:02:46 +00:00
Peter Steinberger
99fc0fbac1
feat: sync plugin updates with update channel
2026-01-20 16:00:42 +00:00
Peter Steinberger
91ed00f800
fix: clarify doctor auto-enable hint
2026-01-20 15:58:30 +00:00
Peter Steinberger
76698ed296
fix: allow custom skill config bag
...
Co-authored-by: VACInc <3279061+VACInc@users.noreply.github.com>
2026-01-20 15:57:08 +00:00
Peter Steinberger
74f382f732
fix: default Anthropic API cache TTL to 1h
2026-01-20 15:48:53 +00:00
Peter Steinberger
a76aea1bc0
chore: update a2ui bundle hash
2026-01-20 15:48:52 +00:00
Peter Steinberger
c6812c6af4
fix: harden compat and editor ctor
2026-01-20 15:16:05 +00:00
Peter Steinberger
1f7cb4b853
fix: shorten bonjour gateway service type
2026-01-20 15:10:06 +00:00
Peter Steinberger
c65b91c841
Merge pull request #1308 from dougvk/fix/preserve-command-arg-casing
...
fix(session): preserve command argument casing
2026-01-20 15:04:28 +00:00
Peter Steinberger
760b1e8fc6
fix: update model compat + tui editor
2026-01-20 15:02:25 +00:00
Peter Steinberger
390ba5f42a
fix: guard closeIdleConnections typing
2026-01-20 14:58:31 +00:00
Peter Steinberger
b8593fd4fb
fix: close idle gateway http connections
2026-01-20 14:56:30 +00:00
Peter Steinberger
68a467dd66
fix: guard ZAI compat on openai-completions api
2026-01-20 14:39:58 +00:00
Peter Steinberger
d18319a57d
fix: align CustomEditor with pi-tui Editor API
2026-01-20 14:35:42 +00:00
Peter Steinberger
15e5bb3459
feat: improve /new model hints and reset confirmation
2026-01-20 14:35:20 +00:00
Peter Steinberger
41f6d06967
fix: align tui editor init ( #1298 ) (thanks @sibbl)
2026-01-20 14:32:46 +00:00
Peter Steinberger
c1d8456860
fix: clean up lint leftovers
2026-01-20 14:25:18 +00:00
Peter Steinberger
da10ca1585
fix: drain openresponses test responses
2026-01-20 14:20:04 +00:00
Peter Steinberger
5d017dae5a
feat: add update channel status
...
Co-authored-by: Richard Poelderl <18185649+p6l-richard@users.noreply.github.com>
2026-01-20 14:19:03 +00:00
Peter Steinberger
30fd7001f2
fix: tolerate pi-tui type exports
2026-01-20 14:17:39 +00:00
Peter Steinberger
da4b124480
fix(browser): register AI snapshot refs ( #1282 )
...
thanks @John-Rood
Co-authored-by: John Rood <62669593+John-Rood@users.noreply.github.com>
2026-01-20 14:14:36 +00:00
John Rood
710c681283
fix(browser): register refs from AI snapshot for act commands
...
When using the default AI snapshot format without explicit options like
interactive/compact/labels, refs were not being registered because
snapshotAiViaPlaywright returns raw text without ref registration.
This caused 'Unknown ref' errors when subsequently using act commands
with refs like e12 that appeared in the snapshot text.
The fix extracts refs from the AI snapshot using buildRoleSnapshotFromAiSnapshot
and registers them via rememberRoleRefsForTarget so act commands can resolve them.
Fixes #1268
2026-01-20 14:13:48 +00:00
Peter Steinberger
e45228ac37
fix: merge login shell PATH for gateway exec
2026-01-20 14:04:13 +00:00
Peter Steinberger
a0180f364d
fix: accept pi-tui editor ctor variants
2026-01-20 14:02:36 +00:00
Peter Steinberger
d69f246ba7
chore: fix lint/format
2026-01-20 13:52:59 +00:00
Peter Steinberger
a81989048d
fix: update ui ed25519 + bluebubbles actions
2026-01-20 13:43:27 +00:00
Peter Steinberger
4ebf55f1db
feat: add dev update channel
2026-01-20 13:41:30 +00:00
Peter Steinberger
a4d1c4d522
fix: run doctor config flow once
2026-01-20 13:27:51 +00:00
Peter Steinberger
6e17c463ae
fix: add /skill fallback for native limits
...
Co-authored-by: thewilloftheshadow <thewilloftheshadow@users.noreply.github.com>
2026-01-20 13:20:29 +00:00
Peter Steinberger
63797e841d
Merge pull request #1247 from sebslight/fix/perplexity-web-search-provider
...
Config: accept Perplexity for web_search
2026-01-20 13:18:18 +00:00
Peter Steinberger
fdb171cb15
refactor: centralize channel ui metadata
2026-01-20 13:11:49 +00:00
Peter Steinberger
6f9861bb9b
chore: update deps
2026-01-20 13:06:16 +00:00
Peter Steinberger
759068304e
fix: tighten tls fingerprints and approval events
2026-01-20 13:04:20 +00:00
Peter Steinberger
dcb8d16591
fix: validate ws tls fingerprint
2026-01-20 13:04:20 +00:00
Peter Steinberger
409a16060b
feat: enrich presence with roles
2026-01-20 13:04:20 +00:00
Peter Steinberger
7720106624
feat: add discovery role hints
2026-01-20 13:04:19 +00:00
Peter Steinberger
c613769d22
feat: add remote gateway tls fingerprint
2026-01-20 13:04:19 +00:00
Peter Steinberger
87343c374e
feat: route exec approvals via gateway
2026-01-20 13:04:19 +00:00
Peter Steinberger
b48d5d96d3
test: cover scope upgrade flow
2026-01-20 13:04:19 +00:00
Peter Steinberger
d8cc7db5e6
feat: wire role-scoped device creds
2026-01-20 13:04:19 +00:00
Peter Steinberger
dfbf6ac263
feat: enforce device-bound connect challenge
2026-01-20 13:04:19 +00:00
Peter Steinberger
9a2bf57e1c
refactor: extend channel plugin boundary
2026-01-20 12:07:54 +00:00
Tyler Yust
4c3b4aeb76
fix: remove unused typingSignals variable in get-reply-run
2026-01-20 12:07:54 +00:00
Tyler Yust
1e8b291374
refactor: improve error handling in embedded run payloads by clarifying conditions for user-facing error messages and updating test descriptions for typing behavior
2026-01-20 12:07:54 +00:00
Tyler Yust
d029ceab1c
feat: enhance BlueBubbles media and message handling by adding reply context support and improving outbound message ID tracking
2026-01-20 12:07:54 +00:00
Tyler Yust
b0b42b4e14
feat: improve BlueBubbles message processing by adding reply context formatting and enhancing message ID extraction from responses
2026-01-20 12:07:54 +00:00
Tyler Yust
e5514d4854
feat: implement reply context handling in BlueBubbles messaging, enhancing message formatting and metadata resolution
2026-01-20 12:07:54 +00:00
Tyler Yust
199fef2a5e
feat: enhance BlueBubbles group message handling by adding account-specific logging and improving typing signal conditions
2026-01-20 12:07:54 +00:00
Tyler Yust
d9a2ac7e72
feat: enhance BlueBubbles functionality by implementing macOS version checks for message editing and improving server info caching
2026-01-20 12:07:54 +00:00
Tyler Yust
14a072f5fa
feat: add support for setting group icons in BlueBubbles, enhancing group management capabilities
2026-01-20 12:07:54 +00:00
Tyler Yust
574b848863
feat: enhance BlueBubbles message actions with support for message editing, reply metadata, and improved effect handling
2026-01-20 12:07:54 +00:00
Tyler Yust
2e6c58bf75
feat: improve BlueBubbles message action error handling and enhance channel action descriptions
2026-01-20 12:07:54 +00:00
Tyler Yust
a5d89e6eb1
feat: enhance BlueBubbles channel integration with new messaging target normalization and typing indicator improvements
2026-01-20 12:07:54 +00:00
Tyler Yust
61907ddf3e
feat: add new channel capabilities for editing, unsending, replying, effects, and group management
2026-01-20 12:07:54 +00:00
Tyler Yust
1eab8fa9b0
Step 5 + Review
2026-01-20 12:07:54 +00:00
Tyler Yust
2cf444be02
Step 4 (Needs Review)
2026-01-20 12:07:54 +00:00
Tyler Yust
ac2fcfe96a
Phase 0 + Review
2026-01-20 12:07:54 +00:00
Peter Steinberger
e4877656ca
fix: add path import for shell utils ( #1298 ) (thanks @sibbl)
2026-01-20 11:59:36 +00:00
Peter Steinberger
d91f0ceeb3
fix: polish matrix e2ee storage ( #1298 ) (thanks @sibbl)
2026-01-20 11:59:36 +00:00
Sebastian Schubotz
9b71382efb
rewrite(matrix): use matrix-bot-sdk as base to enable e2ee encryption, strictly follow location + typing + group concepts, fix room bugs
2026-01-20 11:59:11 +00:00
Doug von Kohorn
528524e4c7
fix(session): preserve command argument casing
2026-01-20 12:53:45 +01:00
Peter Steinberger
c9e3c14f9c
fix: finalize exec fish fallback ( #1297 ) (thanks @ysqander)
2026-01-20 11:25:49 +00:00
Peter Steinberger
636a8e3181
fix: merge plugin manifest types
2026-01-20 11:22:28 +00:00
Peter Steinberger
660f87278c
refactor: plugin catalog + nextcloud policy
2026-01-20 11:22:27 +00:00
Peter Steinberger
9ec1fb4a80
Merge pull request #1297 from ysqander/fix/fish-shell-bash
...
exec: prefer bash when fish is default shell
2026-01-20 11:13:35 +00:00
Peter Steinberger
74757cd5af
fix: stabilize gateway defaults
2026-01-20 11:11:26 +00:00
Shadow
2f6d5805de
fix: enforce plugin config schemas ( #1272 ) (thanks @thewilloftheshadow)
...
Co-authored-by: thewilloftheshadow <thewilloftheshadow@users.noreply.github.com>
2026-01-20 11:03:17 +00:00
Peter Steinberger
48f733e4b3
refactor: use command lane enum
2026-01-20 10:51:25 +00:00
Peter Steinberger
e5f7435d9f
fix: sync device scopes on token rotation
2026-01-20 10:46:33 +00:00
Peter Steinberger
322c8dc4fc
Merge pull request #1208 from 24601/fix/slack-bolt-import
...
fix(slack): handle bolt import for CJS/ESM compatibility
2026-01-20 10:46:27 +00:00
Peter Steinberger
cf04b0e3bf
fix: align gateway presence + config defaults tests ( #1208 ) (thanks @24601)
2026-01-20 10:45:59 +00:00
Peter Steinberger
0f9f510dd9
refactor: centralize concurrency resolution
2026-01-20 10:41:56 +00:00
Peter Steinberger
6942ceb7a9
test: update gateway node/e2e tests
2026-01-20 10:41:09 +00:00
Peter Steinberger
47cf28f6b6
fix: prevent duplicate cron runs across hot reloads
2026-01-20 10:36:46 +00:00
Peter Steinberger
115b4379bf
fix: handle Slack Bolt import + gateway node ids ( #1208 ) (thanks @24601)
2026-01-20 10:33:40 +00:00
Basit Mustafa
a6db1edee3
test(slack): mock HTTPReceiver
2026-01-20 10:33:01 +00:00
Basit Mustafa
4ed1b7c7ed
fix(slack): resolve bolt constructors
2026-01-20 10:33:01 +00:00
Basit Mustafa
7ef7b94bc0
fix(slack): handle bolt import for CJS/ESM compatibility
2026-01-20 10:33:01 +00:00
Peter Steinberger
213d9b47b0
refactor: centralize agent concurrency defaults
2026-01-20 10:31:16 +00:00
Peter Steinberger
d88b239d3c
feat: add device token auth and devices cli
2026-01-20 10:30:53 +00:00
Peter Steinberger
1c02de1309
chore: raise default agent concurrency
2026-01-20 10:08:26 +00:00
Peter Steinberger
d3c2b83f88
fix: avoid context-window-too-small misclassification ( #1266 , thanks @humanwritten)
...
Co-authored-by: humanwritten <humanwritten@users.noreply.github.com>
2026-01-20 10:07:05 +00:00
humanwritten
93f80894a3
fix: prevent context-window-too-small error from being misclassified
...
The regex `/context window/i` was matching "Model context window too small"
and rewriting it to generic "Context overflow" message, hiding the actual
problem from users.
Add exclusion for "too small|minimum is" patterns so the original
informative error message passes through.
🤖 AI-assisted (Claude) - tested on local instance
Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-20 10:07:05 +00:00
Peter Steinberger
c440cc2f84
fix: preserve gateway presence instanceId
2026-01-20 09:52:26 +00:00
ysqander
8ddedc3fc5
exec: prefer bash when fish is default shell
2026-01-20 17:42:02 +08:00
Peter Steinberger
9c2c4b1138
fix(auth): dedupe codex-cli profiles
...
Co-authored-by: Oliver Drobnik <oliver@cocoanetics.com>
2026-01-20 09:38:56 +00:00
Peter Steinberger
aedf4ce328
fix: treat OAuth refresh failures as auth errors ( #1261 ) (thanks @zknicker)
...
Co-authored-by: Zach Knickerbocker <zknicker@users.noreply.github.com>
2026-01-20 09:31:41 +00:00
Peter Steinberger
94af5a72fc
fix: prevent duplicate agent event emission
2026-01-20 09:25:20 +00:00
Peter Steinberger
9dbc1435a6
fix: enforce ws3 roles + node allowlist
2026-01-20 09:24:01 +00:00
Peter Steinberger
32a668e4d9
refactor: streamline TUI stream assembly updates
2026-01-20 08:57:42 +00:00
Peter Steinberger
c17c7b4e24
Merge pull request #1235 from dougvk/feat/tool-dispatch-skill-commands
...
Plugin API: tool-dispatched skill commands + tool_result_persist hook
2026-01-20 08:52:05 +00:00
Peter Steinberger
c5e732951b
fix: prefer bundled plugin schema
2026-01-20 08:47:56 +00:00
Peter Steinberger
069b50635b
fix: lazy-load pdf/image input deps
2026-01-20 08:47:56 +00:00
Peter Steinberger
074db1905a
fix: refactor TUI stream assembly ( #1202 , thanks @aaronveklabs)
...
Co-authored-by: Aaron <aaron@vektor-labs.com>
2026-01-20 08:36:54 +00:00
Aaron
9609a3af40
fix: check for error before early return in extractContentFromMessage
...
Addresses Codex review feedback - ensures error messages are surfaced
even when content is missing/undefined
2026-01-20 08:36:36 +00:00
Aaron
476087f879
fix(tui): buffer streaming messages by runId to prevent render ordering issues
...
Fixes #1172
- Add per-runId message buffering in ChatLog
- Separate thinking stream from content stream handling
- Ensure proper sequencing (thinking always before content)
- Model-agnostic: works with or without thinking tokens
2026-01-20 08:36:36 +00:00
Peter Steinberger
a5adedea91
refactor: add aws-sdk auth mode and tighten provider auth
2026-01-20 08:28:40 +00:00
Peter Steinberger
f06ad4502b
refactor: share responses input handling
2026-01-20 08:21:57 +00:00
Peter Steinberger
e26c647828
fix: defer pdf deps and profile flag detection
2026-01-20 08:20:07 +00:00
Peter Steinberger
bee72f1ae0
fix: guard systemd errors in doctor
2026-01-20 07:56:22 +00:00
Peter Steinberger
6d5195c890
refactor: normalize cli command hints
2026-01-20 07:43:00 +00:00
Peter Steinberger
bbc67f3754
fix: expand /v1/responses inputs ( #1229 ) (thanks @RyanLisse)
2026-01-20 07:37:30 +00:00
Ryan Lisse
4f02c74dca
test(gateway): add OpenResponses parity E2E tests
...
- Add schema validation tests for input_image, input_file, client tools
- Add buildAgentPrompt tests for turn-based tool flow
2026-01-20 07:37:01 +00:00
Ryan Lisse
a5afe7bc2b
feat(gateway): implement OpenResponses /v1/responses endpoint phase 2
...
- Add input_image and input_file support with SSRF protection
- Add client-side tools (Hosted Tools) support
- Add turn-based tool flow with function_call_output handling
- Export buildAgentPrompt for testing
2026-01-20 07:37:01 +00:00
Ryan Lisse
f4b03599f0
feat(gateway): add OpenResponses /v1/responses endpoint
...
Add a new `/v1/responses` endpoint implementing the OpenResponses API
standard for agentic workflows. This provides:
- Item-based input (messages, function_call_output, reasoning)
- Semantic streaming events (response.created, response.output_text.delta,
response.completed, etc.)
- Full SSE event support with both event: and data: lines
- Configuration via gateway.http.endpoints.responses.enabled
The endpoint is disabled by default and can be enabled independently
from the existing Chat Completions endpoint.
Phase 1 implementation supports:
- String or ItemParam[] input
- system/developer/user/assistant message roles
- function_call_output items
- instructions parameter
- Agent routing via headers or model parameter
- Session key management
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-20 07:37:01 +00:00
Ryan Lisse
7f6e87e918
build: update bundle hash and register Peekaboo submodule
2026-01-20 07:37:01 +00:00
Ryan Lisse
87d995bcde
refactor(macos): replace FileManager.default for Swift 6
2026-01-20 07:37:01 +00:00
Peter Steinberger
3e546e691d
fix: infer perplexity baseUrl from api key
2026-01-20 07:27:32 +00:00
Peter Steinberger
a91c653d8a
Merge pull request #1286 from alauppe/feat/bedrock-converse-stream-api
...
feat(models): Add AWS Bedrock Converse Stream API support
2026-01-20 07:03:27 +00:00
Peter Steinberger
7f6fcbf637
fix: stabilize update.run test
2026-01-20 06:56:10 +00:00
Peter Steinberger
5d7e38a786
fix: avoid duplicate doctor config output
2026-01-20 06:32:50 +00:00
Andrew Lauppe
2dee177c9b
fix(models): attach provider to inline model definitions
...
When resolving models from custom provider configurations, ensure the
provider name is attached to each inline model entry. This fixes model
resolution for custom providers where the model definition exists in
the config but lacks an explicit provider field.
Without this fix, inline models from custom providers (like amazon-bedrock)
would fail to resolve because the provider context was lost during the
flatMap operation.
2026-01-20 01:28:13 -05:00
Andrew Lauppe
a793523b74
feat(models): add bedrock-converse-stream API type
...
Add AWS Bedrock Converse Stream API to the list of supported model APIs,
enabling custom provider configurations for Amazon Bedrock endpoints.
This allows users to configure Bedrock models in their clawdbot.json:
"models": {
"providers": {
"amazon-bedrock": {
"baseUrl": "https://bedrock-runtime.us-east-1.amazonaws.com ",
"api": "bedrock-converse-stream",
"models": [...]
}
}
}
The underlying adapter already exists; this change exposes it as a valid
configuration option.
2026-01-20 01:28:07 -05:00
Peter Steinberger
d4df747f9f
fix: harden doctor config cleanup
2026-01-20 01:43:59 +00:00
Peter Steinberger
8e33bd8610
fix: repair doctor config cleanup
2026-01-20 01:30:33 +00:00
Peter Steinberger
3036c38144
fix: clarify config invalid output
2026-01-20 00:47:33 +00:00
Peter Steinberger
d72fc1ce7f
fix: highlight invalid config error
2026-01-20 00:38:52 +00:00
Peter Steinberger
c6ef7ff921
fix: harden windows argv parsing
2026-01-19 23:41:06 +00:00
Peter Steinberger
44c61a77c5
fix: strip envelopes in chat history
2026-01-19 22:52:00 +00:00
Peter Steinberger
4bac76e66d
fix: improve memory status and batch fallback
2026-01-19 22:49:06 +00:00
Shadow
39dfdccf6c
CLI: skip runner rebuilds when dist is fresh ( #1231 )
...
Co-authored-by: mukhtharcm <mukhtharcm@users.noreply.github.com>
2026-01-19 13:12:33 -06:00
Sebastian
34462b3221
Config: allow Perplexity web_search provider
2026-01-19 13:03:59 -05:00
Peter Steinberger
37af1d6946
test: harden gateway sigterm argv
2026-01-19 16:35:45 +00:00
Peter Steinberger
90ea21536b
style: format gateway sigterm test
2026-01-19 16:17:47 +00:00
Peter Steinberger
3690be9419
test: stabilize gateway windows sigterm
2026-01-19 16:16:13 +00:00
Peter Steinberger
c7808a543d
test: stabilize windows gateway sigterm
2026-01-19 15:17:44 +00:00
Peter Steinberger
1aed588743
fix: sanitize windows argv control chars
2026-01-19 15:06:57 +00:00
Peter Steinberger
0af4eda8c5
fix: strip noisy windows argv entries
2026-01-19 15:04:26 +00:00
Peter Steinberger
cf2fe4b4c5
test: simplify sandbox path guard test
2026-01-19 14:46:07 +00:00
Peter Steinberger
5df58e404f
fix: stabilize windows cli tests
2026-01-19 14:44:17 +00:00
Peter Steinberger
ef352d4dc6
style: format windows argv helpers
2026-01-19 14:19:26 +00:00
Peter Steinberger
cb2add8459
fix: sanitize windows node argv
2026-01-19 14:16:45 +00:00
Peter Steinberger
d9c20f6fa5
fix: normalize windows argv in cli
2026-01-19 13:55:34 +00:00
Peter Steinberger
48bfaa2371
fix: normalize quoted windows argv
2026-01-19 13:30:34 +00:00
Peter Steinberger
56316ad932
fix: strip windows node exec from argv
2026-01-19 13:08:21 +00:00
Peter Steinberger
ba2514fc4c
fix: stabilize windows test timeouts
2026-01-19 12:35:58 +00:00
Peter Steinberger
9e06d945a2
fix: stabilize gateway tests on windows
2026-01-19 12:12:51 +00:00
Doug von Kohorn
c3a34408f3
feat: add tool_result_persist hook
2026-01-19 13:11:31 +01:00
Doug von Kohorn
9f280454ba
feat: tool-dispatch skill commands
2026-01-19 13:11:25 +01:00
Peter Steinberger
588dc43787
fix: resolve format/build failures
2026-01-19 11:32:15 +00:00
Peter Steinberger
fcea6303ed
fix: add agents identity helper
2026-01-19 10:44:18 +00:00
Peter Steinberger
9292ec9880
chore: clean artifacts and fix device roles
2026-01-19 10:09:35 +00:00
Peter Steinberger
66193dab92
fix: wire gateway tls fingerprint for wss
2026-01-19 10:09:22 +00:00
Peter Steinberger
4609ed70c1
fix: align exec approval gateway timeout
2026-01-19 10:09:17 +00:00
Peter Steinberger
428241d941
fix: treat exec approval timeouts as no-decision
2026-01-19 10:09:14 +00:00
Peter Steinberger
3776de906f
fix: stabilize gateway ws + iOS
2026-01-19 10:09:04 +00:00
Peter Steinberger
2f8206862a
refactor: remove bridge protocol
2026-01-19 10:08:29 +00:00
Peter Steinberger
b347d5d9cc
feat: add gateway tls support
2026-01-19 10:08:01 +00:00
Peter Steinberger
73e9e787b4
feat: unify device auth + pairing
2026-01-19 10:07:56 +00:00
Peter Steinberger
47d1f23d55
fix(daemon): include HOME in service env ( #1214 )
...
Thanks @ameno-.
Co-authored-by: Ameno Osman <ameno.osman13@gmail.com>
2026-01-19 08:39:12 +00:00
Peter Steinberger
10a0c96ee6
fix: drop reasoning-only openai-responses history
2026-01-19 06:22:46 +00:00
Peter Steinberger
2dc9c95530
style: oxfmt core files
2026-01-19 05:59:29 +00:00
Peter Steinberger
d126e7f610
fix: resolve cli-highlight types and runtime info
2026-01-19 05:57:29 +00:00
Peter Steinberger
9822a53649
fix: centralize cli command registry
...
Co-authored-by: gumadeiras <gumadeiras@users.noreply.github.com>
2026-01-19 05:36:09 +00:00
Peter Steinberger
81d392a2d7
refactor: extract TUI syntax theme and fix changelog
2026-01-19 05:32:53 +00:00
Peter Steinberger
50c5231486
refactor: reuse prompt params in context report
2026-01-19 05:27:52 +00:00
Peter Steinberger
55d034358d
refactor: unify system prompt runtime params
2026-01-19 05:27:52 +00:00
Peter Steinberger
374da34936
fix: canonicalize legacy session keys
2026-01-19 05:17:31 +00:00
Peter Steinberger
c578fca687
fix(tui): generic empty-state for searchable pickers (PR #1201 , thanks @vignesh07)
...
Co-authored-by: Vignesh Natarajan <vigneshnatarajan92@gmail.com>
2026-01-19 05:16:06 +00:00
Vignesh Natarajan
dd18765b50
feat(tui): add fuzzy search to session and agent pickers
...
Use SearchableSelectList for /sessions and /agents pickers,
matching the /models picker behavior.
- Session picker: search by session key, display name, or date
- Agent picker: search by agent ID or name
🤖 AI-assisted (Claude)
2026-01-19 05:16:06 +00:00
Peter Steinberger
3e06fe84dc
feat: add TUI code block syntax highlighting ( #1200 ) (thanks @vignesh07)
2026-01-19 05:07:23 +00:00
Peter Steinberger
640e19988f
Merge pull request #1200 from vignesh07/feat/tui-syntax-highlighting
...
feat(tui): add syntax highlighting for code blocks
2026-01-19 05:05:51 +00:00
Peter Steinberger
0c8ba6599b
fix: add plugin config schema helper
2026-01-19 03:39:36 +00:00
Peter Steinberger
d1e9490f95
fix: enforce strict config validation
2026-01-19 03:39:25 +00:00
Peter Steinberger
a9fc2ca0ef
fix: add git hook setup and stable config hash sorting
2026-01-19 02:02:17 +00:00
Peter Steinberger
dd1b08b3e8
fix: add safeguard compaction tool summaries
2026-01-19 01:44:17 +00:00
cpojer
af1004ebbd
Make tool calls use human language by default.
2026-01-19 01:42:23 +00:00
cpojer
ed909d6013
Improve cron reminder tool description.
2026-01-19 10:42:21 +09:00
Peter Steinberger
f3516fb316
fix: skip respawn in gateway sigterm test
2026-01-19 01:37:10 +00:00
Peter Steinberger
79d8267413
feat: auto-recreate sandbox containers on config change
2026-01-19 01:35:27 +00:00
Peter Steinberger
99bf65c539
style: apply oxfmt
2026-01-19 01:11:42 +00:00
Peter Steinberger
6a4b5fa4b5
fix: harden windows cli launch
2026-01-19 01:11:39 +00:00
Peter Steinberger
83511c0c09
refactor: consolidate nodes cli error handling
2026-01-19 00:52:31 +00:00
Peter Steinberger
1fec41b3df
refactor: share cli runtime error handling
2026-01-19 00:52:31 +00:00
Peter Steinberger
c532d161c4
refactor: streamline routed cli setup
2026-01-19 00:52:31 +00:00
Peter Steinberger
989543c9c3
fix: propagate agent run context for subagent announce
2026-01-19 00:45:30 +00:00
Vignesh Natarajan
145adf540f
fix: make syntax highlighting tests environment-agnostic
...
Tests now verify structure and content preservation rather than
checking for specific ANSI escape codes, which may not be present
in CI environments without TTY/color support.
2026-01-18 16:40:06 -08:00
Peter Steinberger
953472bf25
feat: add exec pathPrepend config
2026-01-19 00:35:43 +00:00
Peter Steinberger
d9384785a3
fix: stabilize ci checks
2026-01-19 00:34:26 +00:00
Seb Slight
2f6b5ffdfe
Web: trim HTML error bodies in web_fetch ( #1193 )
...
* Web: trim HTML error bodies in web_fetch
* fix: trim web_fetch HTML error bodies (#1193 ) (thanks @sebslight)
---------
Co-authored-by: Sebastian Slight <sbarrios93@gmail.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-01-19 00:24:16 +00:00
Vignesh Natarajan
0e3c9e4a0e
feat(tui): add syntax highlighting for code blocks
...
Add syntax highlighting to markdown code blocks in the TUI using
cli-highlight with a VS Code Dark-inspired color theme.
Features:
- 191 languages supported via highlight.js
- Auto-detection fallback for unknown languages
- Graceful fallback to plain styling on errors
- VS Code Dark-inspired color palette
Colors:
- Purple: keywords (const, function, if, etc.)
- Teal: built-ins (console, Math, print, etc.)
- Orange: strings
- Green: numbers, comments
- Yellow: function names
- Blue: literals (true, false, null)
- Red: diff deletions
- Light blue: variables, parameters
🤖 AI-assisted (Claude) - fully tested locally
2026-01-18 16:24:14 -08:00
Peter Steinberger
5a4482412d
fix(plugins): prefer dist plugin-sdk in tests
2026-01-19 00:15:45 +00:00
Peter Steinberger
4cf829608c
chore: remove unused program context imports
2026-01-19 00:15:45 +00:00
Peter Steinberger
8de02e6074
test: stabilize sessions_send waits
2026-01-19 00:15:45 +00:00
Peter Steinberger
d802844bd6
fix: gate gateway restarts and discord abort reconnects
2026-01-19 00:15:45 +00:00
Peter Steinberger
e97bcf4dae
refactor(plugins): improve loader resolution
2026-01-19 00:15:44 +00:00
Peter Steinberger
dad8e11f1e
test: harden gateway mocks and env isolation
2026-01-19 00:15:44 +00:00
Peter Steinberger
50fdd514ae
refactor(logging): split config + subsystem imports
2026-01-19 00:15:44 +00:00
Peter Steinberger
ee36e12f81
fix: log plugin load errors in gateway
2026-01-19 00:15:24 +00:00
Peter Steinberger
1e5569d56a
fix: refine TUI model search rendering
2026-01-19 00:15:16 +00:00
Peter Steinberger
3ce1ee84ac
Usage: add cost summaries to /usage + mac menu
2026-01-19 00:05:06 +00:00
Peter Steinberger
66b6c9e0e5
chore: document slack bolt import interop
2026-01-18 23:55:36 +00:00
Peter Steinberger
b5e99dad1f
fix(slack): handle bolt CJS interop ( #1191 ) — thanks @CoreyH
...
Co-authored-by: Corey Henderson <corey@example.com>
2026-01-18 23:54:50 +00:00
Peter Steinberger
5f975a4eff
Merge pull request #1195 from gumadeiras/main
...
enhancement: 3x faster CLI invocation, unify boolean/env parsing, streamline CLI startup paths
2026-01-18 23:28:36 +00:00
Peter Steinberger
d5c8172197
fix: optimize routed CLI path ( #1195 ) (thanks @gumadeiras)
2026-01-18 23:28:09 +00:00
Peter Steinberger
9e804f6f40
Merge pull request #1185 from KrauseFx/improve-anthropic-token-hints
...
chore(auth): Improve Anthropic token option hints in onboarding wizard
2026-01-18 23:27:58 +00:00
Peter Steinberger
46dcda1d0c
fix: preserve fuzzy ranking in model picker ( #1198 ) (thanks @vignesh07)
2026-01-18 23:26:42 +00:00
Vignesh Natarajan
950f8a04ea
fix: prioritize exact substring matches over fuzzy in model search
...
- Exact substring in label (earliest position wins)
- Word-boundary prefix matches
- Description substring matches
- Fuzzy matching as fallback
This ensures 'opus' shows claude-3-opus before openrouter models.
2026-01-18 23:18:28 +00:00
Vignesh Natarajan
de44e0ad33
feat(tui): add fuzzy search to model picker
...
- Add SearchableSelectList component with fuzzy filtering
- Integrate with /models command for quick model search
- Support up/down navigation while typing
- Uses pi-tui's fuzzyFilter for intelligent matching
2026-01-18 23:18:28 +00:00
Gustavo Madeira Santana
fac0110e49
removing aux funcs for benchmarking
...
Leftover functions I was using the benchmark and time CLI calls
2026-01-18 23:10:39 +00:00
Gustavo Madeira Santana
97971f3aef
Remove unused import from run-main.ts
...
Deleted the unused import of hasHelpOrVersion from argv.js to clean up the code.
2026-01-18 23:10:39 +00:00
Gustavo Madeira Santana
acb523de86
CLI: streamline startup paths and env parsing
...
Add shared parseBooleanValue()/isTruthyEnvValue() and apply across CLI, gateway, memory, and live-test flags for consistent env handling.
Introduce route-first fast paths, lazy subcommand registration, and deferred plugin loading to reduce CLI startup overhead.
Centralize config validation via ensureConfigReady() and add config caching/deferred shell env fallback for fewer IO passes.
Harden logger initialization/imports and add focused tests for argv, boolean parsing, frontmatter, and CLI subcommands.
2026-01-18 23:10:39 +00:00
Peter Steinberger
97531f174f
fix: import wizard prompter in onboarding adapters
2026-01-18 23:05:05 +00:00
Peter Steinberger
ace8a1b44e
feat: expand dm allowlist onboarding
2026-01-18 22:52:00 +00:00
Peter Steinberger
a7be3a9649
fix: honor telegram pairing allowlists for native commands
2026-01-18 22:52:00 +00:00
Peter Steinberger
0d543dd1ff
test: update expectations for session reset behavior
2026-01-18 22:51:37 +00:00
Peter Steinberger
404c373153
feat: add agent targeting + reply overrides
2026-01-18 22:50:51 +00:00
Peter Steinberger
a86d7a2f35
Merge pull request #1196 from vignesh07/feat/tui-waiting-shimmer-clean
...
feat(tui): animated waiting status with shimmer effect ✨
2026-01-18 22:38:08 +00:00
Peter Steinberger
e7e34c442e
fix: smooth TUI waiting shimmer ( #1196 ) (thanks @vignesh07)
2026-01-18 22:37:36 +00:00
Peter Steinberger
c0c9df4ab7
build: update A2UI bundle hash
2026-01-18 22:26:12 +00:00
Peter Steinberger
6aa90f8b18
build: refresh A2UI bundle
2026-01-18 22:26:12 +00:00
Peter Steinberger
9af1c8a886
fix: patch session store updates
2026-01-18 22:26:12 +00:00
Peter Steinberger
85d1835476
feat: add live memory index progress
2026-01-18 22:25:08 +00:00
Vignesh Natarajan
e85d2dff97
TUI: pick waiting phrase once per waiting session
2026-01-18 22:19:47 +00:00
Vignesh Natarajan
fac66d4dda
TUI: waiting shimmer helper + tests
2026-01-18 22:19:47 +00:00
Vignesh Natarajan
2e99369113
TUI: add animated waiting status with shimmer
2026-01-18 22:19:47 +00:00
Peter Steinberger
a136c6aa89
Merge pull request #1187 from fayrose/fix/compaction-failure-silent-reset
...
fix: return user-facing error when session reset after compaction failure
2026-01-18 22:02:36 +00:00
Peter Steinberger
b621d4550b
chore: tighten skills prompt rules
2026-01-18 21:30:27 +00:00
Lauren Rosenberg
c290217305
fix: add reserveTokensFloor suggestion to compaction error messages
...
When context limit is exceeded, the error message now suggests
setting agents.defaults.compaction.reserveTokensFloor to 4000
or higher to prevent future occurrences.
2026-01-18 19:37:15 +00:00
Peter Steinberger
690bb192e6
style: format code
2026-01-18 19:36:46 +00:00
Peter Steinberger
601a052216
fix: unblock bundled plugin load
2026-01-18 19:34:21 +00:00
Peter Steinberger
bf3021d266
fix: stabilize logging imports and tests
2026-01-18 19:34:08 +00:00
Peter Steinberger
4b73dc95c4
fix: normalize envelope options
2026-01-18 18:59:34 +00:00
Peter Steinberger
e17cb408a5
fix(cli): load pairing channels after plugins
2026-01-18 18:56:40 +00:00
Peter Steinberger
3cf92152c3
fix: appease tsc in test helpers
2026-01-18 18:54:59 +00:00
Peter Steinberger
c50cde2170
fix: clean up lint in gateway tests
2026-01-18 18:51:43 +00:00
Peter Steinberger
7c49326191
fix: satisfy oxlint spread rule
2026-01-18 18:50:52 +00:00
Peter Steinberger
744d1329cb
feat: make inbound envelopes configurable
...
Co-authored-by: Shiva Prasad <shiv19@users.noreply.github.com>
2026-01-18 18:50:37 +00:00
Peter Steinberger
42e6ff4611
feat(cli): show Telegram bot username in status
2026-01-18 18:48:25 +00:00
Peter Steinberger
ab340c82fb
fix: stabilize tests and logging
2026-01-18 18:43:31 +00:00
Peter Steinberger
57dd0505a3
Merge pull request #1181 from sebslight/plugins/exclusive-slots
...
Plugins: auto-select exclusive slots
2026-01-18 18:40:38 +00:00
Peter Steinberger
a08a772ffc
fix: add model picker regression for openrouter auto ( #1182 ) (thanks @zerone0x)
2026-01-18 18:32:25 +00:00
zerone0x
2622b1936b
fix(configure): filter openrouter/auto from model selection list
...
The openrouter/auto model is OpenRouter's internal routing feature,
not a callable model. While it's valid as a default (set automatically
during OpenRouter auth flow), showing it in the configure wizard's
model selection causes "Unknown model: openrouter/auto" errors when
users select it manually.
Add a HIDDEN_ROUTER_MODELS set to filter out such internal models
from the selection list while preserving existing functionality.
Fixes #1115
Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-18 18:31:55 +00:00
Lauren Rosenberg
0e94f0c018
style: apply prettier formatting
2026-01-18 18:21:11 +00:00
Lauren Rosenberg
576485b0c9
fix: return user-facing error when session reset after compaction failure
...
Previously, when auto-compaction failed due to context overflow, the system
would reset the session and silently continue the execution loop without
sending any response to the user. This made it appear as if messages were
being ignored.
This change ensures users receive a clear error message explaining that
the context limit was exceeded and the conversation has been reset,
consistent with how role ordering conflicts are already handled.
Fixes the silent failure case where message + compaction exceeds context limits.
2026-01-18 18:16:20 +00:00
Felix Krause
57bf6d5eaf
Improve Anthropic token option hints in onboarding wizard
2026-01-18 18:39:14 +01:00
Peter Steinberger
f16b0cf80d
fix: stabilize ci protocol + openai batch retry
2026-01-18 17:05:27 +00:00
Peter Steinberger
081123c0e4
feat: route macOS node exec via app IPC
2026-01-18 16:41:44 +00:00
Peter Steinberger
5fe3c36471
fix(build): resolve ts2367 comparisons
2026-01-18 16:35:52 +00:00
Peter Steinberger
19a8547ecd
feat(onboarding): wire plugin-backed auth choices
2026-01-18 16:35:52 +00:00
Peter Steinberger
32ae4566c6
feat(config): auto-enable configured plugins
2026-01-18 16:35:52 +00:00
Peter Steinberger
be6a3d4caf
fix: unblock build and slack monitor
2026-01-18 16:35:18 +00:00
Peter Steinberger
1db0384090
feat(doctor): repair launch agent bootstrap
...
Co-authored-by: Dr Alexander Mikhalev <alex@metacortex.engineer>
2026-01-18 16:35:18 +00:00
Peter Steinberger
96ee027371
feat: list eligible hooks in onboarding
2026-01-18 16:28:39 +00:00
Peter Steinberger
ffcf3263c1
fix: exec approvals parsing + boot-md changelog
2026-01-18 16:28:39 +00:00
Sebastian Slight
cef6b16d14
Plugins: auto-select exclusive slots
2026-01-18 11:26:50 -05:00
Peter Steinberger
415fc9092e
test(cli): align memory CLI tests
2026-01-18 16:12:10 +00:00
Peter Steinberger
0be9d773cb
fix(memory): preserve fallback source id
2026-01-18 16:12:10 +00:00
Peter Steinberger
ecb45660e9
fix(cli): avoid empty spreads in approvals CLI
2026-01-18 16:12:10 +00:00
Peter Steinberger
f6fefd7f5f
fix(exec-approvals): fix command token parsing
2026-01-18 16:12:10 +00:00
Peter Steinberger
a4aad1c76a
feat(cli): expand memory status across agents
...
Co-authored-by: Gustavo Madeira Santana <gumadeiras@gmail.com>
2026-01-18 16:12:10 +00:00
Peter Steinberger
9464774133
feat(memory): add gemini batches + safe reindex
...
Co-authored-by: Gustavo Madeira Santana <gumadeiras@gmail.com>
2026-01-18 16:12:10 +00:00
Peter Steinberger
be7191879a
feat(memory): add gemini embeddings + auto select providers
...
Co-authored-by: Gustavo Madeira Santana <gumadeiras@gmail.com>
2026-01-18 16:12:10 +00:00
Gustavo Madeira Santana
7252938339
fix(utils): share clamp helpers
...
Co-authored-by: Gustavo Madeira Santana <gumadeiras@gmail.com>
2026-01-18 16:11:43 +00:00
Peter Steinberger
810394f43b
fix: improve remote bin probe logging
2026-01-18 16:09:48 +00:00
Peter Steinberger
835162fb62
fix: retry openai batch indexing
2026-01-18 16:08:22 +00:00
Peter Steinberger
1721d04405
feat: add node core/ui versions in bridge
2026-01-18 15:59:54 +00:00
Peter Steinberger
633e0d9382
Merge pull request #1164 from ngutman/feat/boot-md
...
feat(hooks): run BOOT.md on gateway startup
2026-01-18 15:59:53 +00:00
Peter Steinberger
b546b2a48d
fix: stabilize slack http receiver import
2026-01-18 15:44:17 +00:00
Peter Steinberger
c11b016d22
fix: prefer node service naming
2026-01-18 15:33:22 +00:00
Peter Steinberger
3686bde783
feat: add exec approvals tooling and service status
2026-01-18 15:23:41 +00:00
Peter Steinberger
9c06689569
fix: sanitize oversized image payloads
2026-01-18 15:21:38 +00:00
Peter Steinberger
01211937fc
fix: link bash disabled docs
2026-01-18 15:17:09 +00:00
Peter Steinberger
4726580c7e
feat(slack): add HTTP receiver webhook mode ( #1143 ) - thanks @jdrhyne
...
Co-authored-by: Jonathan Rhyne <jdrhyne@users.noreply.github.com>
2026-01-18 15:04:07 +00:00
Peter Steinberger
e9a08dc507
feat: enrich system prompt docs guidance
2026-01-18 15:00:36 +00:00
Peter Steinberger
c69947dff8
feat: auto-enable audio understanding when keys exist
2026-01-18 14:55:09 +00:00
Peter Steinberger
f5533baf61
test: add vector dedupe regression coverage
2026-01-18 14:08:06 +00:00
Peter Steinberger
60bc436e99
Merge pull request #1175 from vrknetha/fix/tool-error-fallback
...
Agents: surface tool failures without assistant output
2026-01-18 14:08:02 +00:00
Peter Steinberger
20c26eb303
fix: prevent sqlite-vec duplicate id failures
2026-01-18 13:55:56 +00:00
vrknetha
65710932ff
Agents: surface tool failures without assistant output
2026-01-18 18:35:03 +05:30
Peter Steinberger
ee6e534ccb
refactor: route channel runtime via plugin api
2026-01-18 11:01:16 +00:00
Nimrod Gutman
11b07f4a29
feat(hooks): run boot.md on gateway startup
2026-01-18 11:50:25 +02:00
Peter Steinberger
676d41d415
fix: seed embedding cache for atomic reindex
2026-01-18 09:28:42 +00:00
Peter Steinberger
a3a4996adb
feat: add gemini memory embeddings
2026-01-18 09:09:45 +00:00
Peter Steinberger
b015c7e5ad
fix: sync protocol outputs
2026-01-18 08:58:41 +00:00
Peter Steinberger
4de3c3a028
feat: add exec approvals editor in control ui and mac app
2026-01-18 08:54:38 +00:00
Peter Steinberger
b739a3897f
fix: stabilize acp streams and tests
2026-01-18 08:54:00 +00:00
Peter Steinberger
c5e19f5c67
refactor: migrate messaging plugins to sdk
2026-01-18 08:54:00 +00:00
Peter Steinberger
9241e21114
fix: address acp client typing
2026-01-18 08:51:57 +00:00
Peter Steinberger
65bed815a8
fix: resolve ci failures
2026-01-18 08:45:29 +00:00
Peter Steinberger
f76ab69612
feat: add memory indexing progress options
2026-01-18 08:30:04 +00:00
Peter Steinberger
9809b47d45
feat(acp): add interactive client harness
2026-01-18 08:27:37 +00:00
Peter Steinberger
d3862ae30a
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
e49a2952d9
fix: clean up duplicate import ( #1098 )
...
Follow-up after rebase.
2026-01-18 08:15:21 +00:00
Peter Steinberger
8b57f519c3
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
ddcc05f5f4
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
8c0e290db1
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
7bfc77db25
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
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
f7123ec30a
fix: repair context report and tool config
2026-01-18 08:15:21 +00:00
Peter Steinberger
2a86504723
perf: lazy-load memory manager
2026-01-18 08:05:36 +00:00
Peter Steinberger
de3b68740a
feat(acp): add experimental ACP support
...
Co-authored-by: Jonathan Taylor <visionik@pobox.com>
2026-01-18 08:03:36 +00:00
Peter Steinberger
1589c73697
test: cover bridge exec events
2026-01-18 08:01:25 +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
49bd2d96fa
test: fix gateway test lint
2026-01-18 07:44:14 +00:00
Peter Steinberger
ca350fc66c
chore(format): oxfmt memory
2026-01-18 07:30:07 +00:00
Peter Steinberger
30338ce1a7
refactor: share memory plugin config helpers
2026-01-18 07:24:16 +00:00
Peter Steinberger
faa94f0168
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
f5c84768ff
chore(format): oxfmt
2026-01-18 07:14:40 +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
c9c9516206
refactor(memory): extract sync + status helpers
2026-01-18 07:03:06 +00:00
Peter Steinberger
d3b15c6afa
ci: stabilize vitest runs
2026-01-18 06:58:54 +00:00
Peter Steinberger
f86b24c511
refactor(session): centralize thread reset detection
...
Co-authored-by: Austin Mudd <austinm911@gmail.com>
2026-01-18 06:55:04 +00:00
Peter Steinberger
b5ddf08763
test: expand soul-evil coverage
2026-01-18 06:39:26 +00:00
Peter Steinberger
367826f6e4
feat(session): add daily reset policy
...
Co-authored-by: Austin Mudd <austinm911@gmail.com>
2026-01-18 06:37:37 +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
bcfdcc6820
fix: keep bootstrap files in context report
2026-01-18 06:30:01 +00:00
Peter Steinberger
b65acfcbb7
chore(lint): fix context report bootstrap destructure
2026-01-18 06:30:01 +00:00
Peter Steinberger
f7fcfafb4c
fix: resolve lint after rebase
2026-01-18 06:30:01 +00:00
Peter Steinberger
15606b4d88
test: cover bundled memory plugin package metadata
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
b8a82923e9
docs: add soul-evil hook docs
2026-01-18 06:21:00 +00:00
Peter Steinberger
28f8b7bafa
refactor: add hook guards and test helpers
2026-01-18 06:15:24 +00:00
Peter Steinberger
32dd052260
chore: show plugin hooks in plugins info
2026-01-18 06:14:09 +00:00
Peter Steinberger
8f7f7ee7dc
feat: add /exec session overrides
2026-01-18 06:12:54 +00:00
Peter Steinberger
1d8614c7c2
fix: align exec tool config and test timeouts
2026-01-18 06:12:53 +00:00
Peter Steinberger
436c5fd751
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
Peter Steinberger
f5f7f47c81
chore(format): oxfmt hooks-cli
2026-01-18 06:03:22 +00:00
Peter Steinberger
d4bd387e0e
chore(gate): fix lint and formatting
2026-01-18 06:01:25 +00:00
Peter Steinberger
d1c85cb32d
test(gateway): stabilize cron temp cleanup
2026-01-18 06:01:25 +00:00
Peter Steinberger
a3a2c641a7
test(usage): cover modes and full footer
2026-01-18 06:01:25 +00:00
Peter Steinberger
54d7551b53
refactor(usage): centralize responseUsage mode
2026-01-18 06:01:25 +00:00
Peter Steinberger
e2c10a2b7a
feat: support plugin-managed hooks
2026-01-18 05:57:05 +00:00
Peter Steinberger
88b37e80fc
refactor: expand bootstrap helpers and tests
2026-01-18 05:51:55 +00:00
Peter Steinberger
d5be8fa576
test: avoid timer hangs in cron tests
2026-01-18 05:44:22 +00:00
Peter Steinberger
208398973b
test: stabilize gateway suites
2026-01-18 05:44:22 +00:00
Peter Steinberger
8f998741b7
fix: shorten doctor gateway health timeout in non-interactive
2026-01-18 05:44:22 +00:00
Peter Steinberger
9c0ff87c86
fix: align plugin runtime and exec wiring
2026-01-18 05:44:22 +00:00
Peter Steinberger
1a0d1cb7b2
test: stabilize gateway ports and timers
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
b7575a889e
refactor: align status with plugin memory slot
2026-01-18 05:40:10 +00:00
Peter Steinberger
072a13f3b2
test: expand memory hybrid coverage
2026-01-18 05:40:10 +00:00
Peter Steinberger
c00ea63bb0
refactor: split memory manager internals
2026-01-18 05:40:10 +00:00
Peter Steinberger
8350758635
chore(lint): fix unused vars and formatting
2026-01-18 05:38:23 +00:00
Peter Steinberger
2dabce59ce
feat(slash-commands): usage footer modes
2026-01-18 05:35:35 +00:00
tsavo
b594f5130d
refactor: add afterEach cleanup to all gateway tests
...
Added afterEach hooks with server/ws cleanup to:
- server.channels.test.ts (3 tests)
- server.config-apply.test.ts (2 tests)
- server.sessions-send.test.ts (already had this)
This ensures ports are properly released between tests, preventing
timeout issues from port conflicts.
2026-01-17 21:35:01 -08:00
tsavo
e2bb5eecf3
refactor: remove monkeypatching from gateway tests
...
Replace manual process.env backup/restore with vi.stubEnv():
- server.config-apply.test.ts: Simplified env var pattern
- server.channels.test.ts: Simplified env var pattern
- server.sessions-send.test.ts: Added afterEach cleanup hook, removed try-finally blocks from all 4 tests
Uses proper Vitest isolation instead of manual restoration.
2026-01-17 21:32:14 -08: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
7e2d91f3b7
test: cover subagent helpers
2026-01-18 05:19:56 +00:00
Peter Steinberger
97cef49046
refactor: share subagent helpers
2026-01-18 05:19:56 +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
55aff22274
feat: surface batch request progress
2026-01-18 04:30: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
0d9172d761
fix: persist session origin metadata
2026-01-18 03:41:51 +00:00
Peter Steinberger
dad69afc84
fix: align plugin runtime types
2026-01-18 03:41:25 +00:00
Peter Steinberger
787bed4996
test: stabilize doctor + pi-embedded suites
2026-01-18 03:40:47 +00:00
Peter Steinberger
b6d470a679
feat: migrate zalo plugin to sdk
2026-01-18 03:37:26 +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
6cc57ae772
feat: add bluebubbles plugin
2026-01-18 03:17:43 +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
5b4651d9ed
refactor: add plugin sdk runtime scaffolding
2026-01-18 02:52:30 +00:00
Peter Steinberger
5f22b68268
feat: add session origin metadata helpers
2026-01-18 02:42:11 +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
8013c4717c
feat: show memory summary in status
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
62354dff9c
refactor: share allowlist match metadata
...
Co-authored-by: thewilloftheshadow <thewilloftheshadow@users.noreply.github.com>
2026-01-18 01:49:25 +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
fc60699f03
fix: delay discord slow listener warnings
2026-01-18 01:41:10 +00:00
Peter Steinberger
c1da78a271
refactor: share teams allowlist matching helpers
...
Co-authored-by: thewilloftheshadow <thewilloftheshadow@users.noreply.github.com>
2026-01-18 01:37:22 +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
3a0fd6be3c
test: stub slack allowlist resolvers
2026-01-18 01:25:19 +00:00
Peter Steinberger
8b1bec11d0
feat: speed up memory batch indexing
2026-01-18 01:24:51 +00:00
Peter Steinberger
f73dbdbaea
refactor: unify channel config matching and gating
...
Co-authored-by: thewilloftheshadow <thewilloftheshadow@users.noreply.github.com>
2026-01-18 01:24:00 +00:00
Peter Steinberger
05f49d2846
fix(slack): resolve allowlists async
2026-01-18 01:23:25 +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
Peter Steinberger
fc45148155
fix: harden qwen oauth flow ( #1120 ) (thanks @mukhtharcm)
2026-01-18 01:03:08 +00:00
Muhammed Mukhthar CM
215c395fc2
UI: simplify Qwen labels
2026-01-18 01:03:08 +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
f9e3b129ed
test: reindex on embedding model change
2026-01-18 01:00:57 +00:00
Peter Steinberger
4f0771f67b
fix(channels): clean up discord resolve typing
2026-01-18 01:00:25 +00:00
Peter Steinberger
075ff675ac
refactor(channels): share allowlist + resolver helpers
2026-01-18 01:00:25 +00:00
Peter Steinberger
c7ea47e886
feat(channels): add resolve command + defaults
2026-01-18 01:00:24 +00:00
Rodrigo Uroz
b543339373
Update tagline.ts with a nice reference from an old movie
2026-01-18 00:59:43 +00:00
Peter Steinberger
22c7f659f6
fix: surface match metadata in audits and slack logs
...
Co-authored-by: thewilloftheshadow <thewilloftheshadow@users.noreply.github.com>
2026-01-18 00:50:36 +00:00
Peter Steinberger
79a44d0da4
refactor(channels): unify target parsing
2026-01-18 00:31:42 +00:00
Peter Steinberger
d593a809f0
fix: apply openai batch defaults
2026-01-18 00:29:18 +00:00
Peter Steinberger
b44d740720
refactor: centralize cli manager cleanup
...
Co-authored-by: Nicholas Spisak <jsnsdirect@gmail.com>
2026-01-18 00:16:01 +00:00
Peter Steinberger
4d590f9254
refactor(slack): centralize target parsing
2026-01-18 00:15:05 +00:00
Peter Steinberger
a5aa48beea
feat: add dm allowlist match metadata logs
...
Co-authored-by: thewilloftheshadow <thewilloftheshadow@users.noreply.github.com>
2026-01-18 00:14:44 +00:00
Peter Steinberger
1bf3861ca4
feat: add thinking override to sessions_spawn
2026-01-18 00:14:18 +00:00
Kevin Lin
ff9d069a33
feat(web): add Perplexity Sonar as alternative search provider
2026-01-18 08:08:36 +08:00
Peter Steinberger
a08438ae97
refactor(discord): centralize target parsing
...
Co-authored-by: Jonathan Rhyne <jonathan@pspdfkit.com>
2026-01-18 00:04:38 +00:00
Peter Steinberger
4c12c4fc04
feat: add channel match metadata logs
...
Co-authored-by: thewilloftheshadow <thewilloftheshadow@users.noreply.github.com>
2026-01-17 23:48:45 +00:00
Peter Steinberger
794bab45ff
fix: harden memory cli manager cleanup
...
Co-authored-by: Nicholas Spisak <jsnsdirect@gmail.com>
2026-01-17 23:45:42 +00:00
Peter Steinberger
16e5fa1db9
test: cover daemon install helpers
2026-01-17 23:41:45 +00:00
Peter Steinberger
125be3e111
fix: restore wizard/doctor imports
2026-01-17 23:41:45 +00:00
Peter Steinberger
b60a53e10d
feat: enable batch indexing by default
2026-01-17 23:29:40 +00:00
Peter Steinberger
9de762faa2
refactor: unify gateway daemon install plan
2026-01-17 23:29:34 +00:00
Peter Steinberger
5aed38eebc
fix(discord): honor thread allowlists in reactions
...
Co-authored-by: Codex <codex@openai.com>
2026-01-17 23:03:51 +00:00
Peter Steinberger
e63e483c38
refactor(channels): share channel config matching
...
Co-authored-by: Codex <codex@openai.com>
2026-01-17 23:03:51 +00:00
Shadow
277e43e32c
Discord: inherit thread allowlists
2026-01-17 23:03:51 +00:00
Peter Steinberger
852aa16ca0
fix: stabilize memory sync progress
2026-01-17 23:02:03 +00:00
Peter Steinberger
82b7153ac1
fix: handle daemon install failure in wizard
2026-01-17 23:00:34 +00:00
Peter Steinberger
7d2e510087
fix: retry embedding 5xx errors
2026-01-17 22:48:50 +00:00
Peter Steinberger
9ca4c10e59
test: cover channels capabilities probes
2026-01-17 22:33:18 +00:00
Peter Steinberger
a31a79396b
feat: add OpenAI batch memory indexing
2026-01-17 22:32:04 +00:00
Peter Steinberger
9d9fff2991
fix: sessions list label fallback
...
Co-authored-by: abdaraxus <abdaraxus@users.noreply.github.com>
2026-01-17 22:22:01 +00:00
Peter Steinberger
030ed5d592
fix: skip empty memory chunks
2026-01-17 21:58:59 +00:00
Peter Steinberger
f6d359932a
fix: parallelize memory embedding indexing
2026-01-17 21:57:12 +00:00
Peter Steinberger
3200b51160
fix: format exec elevated flag first in tool summaries
2026-01-17 21:54:24 +00:00
Peter Steinberger
4b11ebb30e
fix: split long memory lines
2026-01-17 21:11:56 +00:00
Peter Steinberger
40345642fa
fix: show memory index counts in progress
2026-01-17 21:09:22 +00:00
Peter Steinberger
e932772230
fix: report memory index progress
2026-01-17 20:42:04 +00:00
Peter Steinberger
63d466fe5e
fix(telegram): expand text_link entities in inbound text
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-17 20:41:34 +00:00
Peter Steinberger
c2fada7062
fix: suppress duplicate discord slow-listener logs
2026-01-17 20:37:36 +00:00
Peter Steinberger
d9c29f5ce5
fix: add agent context to ws logs
2026-01-17 20:37:36 +00:00
Peter Steinberger
f5d5ef6857
feat: confirm memory index completion
2026-01-17 20:35:15 +00:00
Peter Steinberger
361a17415f
chore: release 2026.1.17-1
2026-01-17 20:26:24 +00:00
Peter Steinberger
fb393c3c51
feat: add progress to memory status deep
2026-01-17 20:25:19 +00:00
Peter Steinberger
e0158c5d5d
feat: add deep memory status checks
2026-01-17 20:18:36 +00:00
Peter Steinberger
be12b0771c
fix: soften windows daemon install
2026-01-17 20:12:26 +00:00
Peter Steinberger
1309fc1f48
test: expand frontmatter coverage
2026-01-17 20:12:04 +00:00
Peter Steinberger
4fdecfb845
fix: split memory embedding batches
2026-01-17 20:10:11 +00:00
Peter Steinberger
31c6f178f3
fix: preserve inline frontmatter values
2026-01-17 19:56:10 +00:00
Peter Steinberger
1e2ab8bf1e
fix: improve frontmatter parsing
2026-01-17 19:56:10 +00:00
Sebastian Slight
35a1d81518
fix: handle multi-line metadata blocks in HOOK.md frontmatter
...
The frontmatter parser was using a simple line-by-line regex that only
captured single-line key-value pairs. This meant multi-line metadata
blocks (as used by bundled hooks) were not parsed correctly.
Changes:
- Add extractMultiLineValue() to handle indented continuation lines
- Use JSON5 instead of JSON.parse() to support trailing commas
- Add comprehensive test coverage for frontmatter parsing
Fixes #1113
2026-01-17 19:56:10 +00:00
Peter Steinberger
1c4297d8b5
test: update memory cli mocks for vector probe
2026-01-17 19:49:41 +00:00
Peter Steinberger
e3638a9a9e
fix: probe memory vector availability
2026-01-17 19:46:34 +00:00
Peter Steinberger
2e231d09ec
Infra: update MiniMax usage endpoint
2026-01-17 19:45:48 +00:00
Peter Steinberger
727c07bd88
feat: add slack user scopes and teams graph hints
2026-01-17 19:33:03 +00:00
Peter Steinberger
ef40ab2933
test: expand memory cli coverage
2026-01-17 19:30:46 +00:00
Peter Steinberger
a7c0887f94
feat: add per-provider scope probes to channels capabilities
2026-01-17 19:28:52 +00:00
Peter Steinberger
53218b91c6
fix: close memory cli managers
2026-01-17 19:20:55 +00:00
Peter Steinberger
2d4de656d2
test: avoid global SIGTERM emit in child-process-bridge
2026-01-17 19:20:48 +00:00
Peter Steinberger
a828e60067
feat: add channels capabilities command
2026-01-17 19:06:07 +00:00
Peter Steinberger
96df70fccf
fix: add nested agent log context
2026-01-17 18:59:59 +00:00
Peter Steinberger
0e49dca53c
feat: add experimental session memory source
2026-01-17 18:53:52 +00:00
Peter Steinberger
8ec4af4641
fix(status): show 2 usage windows in /status ( #1101 )
...
Thanks @rhjoh.
Co-authored-by: Rhys Johnston <rhys.johnston00@gmail.com>
2026-01-17 18:46:41 +00:00
Peter Steinberger
2f6d9417bd
test(memory): await watch sync completion
2026-01-17 18:45:42 +00:00
Peter Steinberger
534a012a4e
style: apply oxfmt
2026-01-17 18:32:23 +00:00
Peter Steinberger
7a3fa9ce03
feat: show update availability in status
2026-01-17 18:23:27 +00:00
Peter Steinberger
8a67d29748
fix: improve WSL2 systemd daemon hints
2026-01-17 18:19:55 +00:00
Peter Steinberger
408f4f2dac
fix: reuse shared ansi stripper
2026-01-17 18:18:14 +00:00
Peter Steinberger
3df2dc0b15
fix: normalize exec tool alias naming
2026-01-17 18:15:45 +00:00
Peter Steinberger
5304a8c2d1
fix: add timestamped tool context to logs
2026-01-17 18:14:21 +00:00
Peter Steinberger
1569d29b2d
fix: normalize telegram forwarded context ( #1090 ) (thanks @sleontenko)
2026-01-17 18:08:23 +00:00
Peter Steinberger
50c8e74230
fix(doctor): avoid ack reaction migration without config ( #1087 )
...
Thanks @YuriNachos.
Co-authored-by: Yuri Chukhlib <YuriNachos@users.noreply.github.com>
2026-01-17 18:07:06 +00:00
Peter Steinberger
1045b032a2
refactor(logging): use subsystem loggers for discord/ws
2026-01-17 18:03:40 +00:00
Peter Steinberger
5a08471dcd
feat: add sqlite-vec memory search acceleration
2026-01-17 18:02:34 +00:00
Peter Steinberger
252dfbcd40
fix: include context in elevated exec denial
2026-01-17 17:55:11 +00:00
Artus KG
5599e4cf35
test: make session update timestamp UTC
2026-01-17 17:45:14 +00:00
Peter Steinberger
7876679c5d
style: apply oxfmt
2026-01-17 17:44:54 +00:00
Peter Steinberger
755c847d9a
fix: soften discord interaction logging
2026-01-17 17:42:46 +00:00
Peter Steinberger
80a8639940
refactor: centralize telegram send param parsing
2026-01-17 17:36:37 +00:00
Peter Steinberger
6cb5704291
Merge pull request #1085 from dan-dr/chore/kimi-code-provider
...
Add Kimi Code provider onboarding
2026-01-17 17:36:30 +00:00
Peter Steinberger
4a987c836d
fix: add Kimi Code docs + defaults ( #1085 ) (thanks @dan-dr)
2026-01-17 17:35:40 +00:00
Peter Steinberger
af29c6a980
fix: allow media-only telegram voice sends ( #1099 ) (thanks @mukhtharcm)
2026-01-17 17:33:08 +00:00