Commit Graph

3898 Commits

Author SHA1 Message Date
Peter Steinberger
0c25a871fc fix: run doctor config flow once 2026-01-20 13:27:51 +00:00
Peter Steinberger
d585a39645 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
44a3a7f5fc 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
0883136a38 refactor: centralize channel ui metadata 2026-01-20 13:11:49 +00:00
Peter Steinberger
7411ed831d chore: update deps 2026-01-20 13:06:16 +00:00
Peter Steinberger
6eace493e9 fix: tighten tls fingerprints and approval events 2026-01-20 13:04:20 +00:00
Peter Steinberger
246028dfc6 fix: validate ws tls fingerprint 2026-01-20 13:04:20 +00:00
Peter Steinberger
e8d5d2f816 feat: enrich presence with roles 2026-01-20 13:04:20 +00:00
Peter Steinberger
2f75397400 feat: add discovery role hints 2026-01-20 13:04:19 +00:00
Peter Steinberger
a127a7ad40 feat: add remote gateway tls fingerprint 2026-01-20 13:04:19 +00:00
Peter Steinberger
6a7d2e77b1 feat: route exec approvals via gateway 2026-01-20 13:04:19 +00:00
Peter Steinberger
578e136b6a test: cover scope upgrade flow 2026-01-20 13:04:19 +00:00
Peter Steinberger
b2b4f9492c feat: wire role-scoped device creds 2026-01-20 13:04:19 +00:00
Peter Steinberger
ce1a36ffe0 feat: enforce device-bound connect challenge 2026-01-20 13:04:19 +00:00
Peter Steinberger
96ea6f4c3c refactor: extend channel plugin boundary 2026-01-20 12:07:54 +00:00
Tyler Yust
9b29739244 fix: remove unused typingSignals variable in get-reply-run 2026-01-20 12:07:54 +00:00
Tyler Yust
153ab28745 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
9aa2392c1c 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
430c5cdf6b 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
db1ae08501 feat: implement reply context handling in BlueBubbles messaging, enhancing message formatting and metadata resolution 2026-01-20 12:07:54 +00:00
Tyler Yust
c63273e18c 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
d607fac37d 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
8a53f80c3b feat: add support for setting group icons in BlueBubbles, enhancing group management capabilities 2026-01-20 12:07:54 +00:00
Tyler Yust
bced00a990 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
9b00bb5880 feat: improve BlueBubbles message action error handling and enhance channel action descriptions 2026-01-20 12:07:54 +00:00
Tyler Yust
fb0d69faf0 feat: enhance BlueBubbles channel integration with new messaging target normalization and typing indicator improvements 2026-01-20 12:07:54 +00:00
Tyler Yust
5e206a64c1 feat: add new channel capabilities for editing, unsending, replying, effects, and group management 2026-01-20 12:07:54 +00:00
Tyler Yust
5c84cee55b Step 5 + Review 2026-01-20 12:07:54 +00:00
Tyler Yust
db6fcc7fcb Step 4 (Needs Review) 2026-01-20 12:07:54 +00:00
Tyler Yust
a577e8509b Phase 0 + Review 2026-01-20 12:07:54 +00:00
Peter Steinberger
ce4dceff30 fix: add path import for shell utils (#1298) (thanks @sibbl) 2026-01-20 11:59:36 +00:00
Peter Steinberger
761c03101f fix: polish matrix e2ee storage (#1298) (thanks @sibbl) 2026-01-20 11:59:36 +00:00
Sebastian Schubotz
2d4bf3b29c 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
fd59218664 fix(session): preserve command argument casing 2026-01-20 12:53:45 +01:00
Peter Steinberger
605b411dcf fix: finalize exec fish fallback (#1297) (thanks @ysqander) 2026-01-20 11:25:49 +00:00
Peter Steinberger
eb06c5bfb8 fix: merge plugin manifest types 2026-01-20 11:22:28 +00:00
Peter Steinberger
d87a3bcc2c refactor: plugin catalog + nextcloud policy 2026-01-20 11:22:27 +00:00
Peter Steinberger
8b1b4859de 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
8f49a22d4c fix: stabilize gateway defaults 2026-01-20 11:11:26 +00:00
Shadow
0835bc0c81 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
b5e578c63f refactor: use command lane enum 2026-01-20 10:51:25 +00:00
Peter Steinberger
70c65c5739 fix: sync device scopes on token rotation 2026-01-20 10:46:33 +00:00
Peter Steinberger
2d46f6c090 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
7be03e5c15 fix: align gateway presence + config defaults tests (#1208) (thanks @24601) 2026-01-20 10:45:59 +00:00
Peter Steinberger
67b2e65afa refactor: centralize concurrency resolution 2026-01-20 10:41:56 +00:00
Peter Steinberger
a1cfd6a933 test: update gateway node/e2e tests 2026-01-20 10:41:09 +00:00
Peter Steinberger
c21551f30c fix: prevent duplicate cron runs across hot reloads 2026-01-20 10:36:46 +00:00
Peter Steinberger
f3bc944003 fix: handle Slack Bolt import + gateway node ids (#1208) (thanks @24601) 2026-01-20 10:33:40 +00:00
Basit Mustafa
d8f4d51369 test(slack): mock HTTPReceiver 2026-01-20 10:33:01 +00:00
Basit Mustafa
a6734adb00 fix(slack): resolve bolt constructors 2026-01-20 10:33:01 +00:00
Basit Mustafa
ee6c1b6390 fix(slack): handle bolt import for CJS/ESM compatibility 2026-01-20 10:33:01 +00:00
Peter Steinberger
72b6c73142 refactor: centralize agent concurrency defaults 2026-01-20 10:31:16 +00:00
Peter Steinberger
de3168af2f feat: add device token auth and devices cli 2026-01-20 10:30:53 +00:00
Peter Steinberger
6aa974894e chore: raise default agent concurrency 2026-01-20 10:08:26 +00:00
Peter Steinberger
b2a10cb183 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
8070e5fd05 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
45527c73d5 fix: preserve gateway presence instanceId 2026-01-20 09:52:26 +00:00
ysqander
3136b6c1bb exec: prefer bash when fish is default shell 2026-01-20 17:42:02 +08:00
Peter Steinberger
b0d586da3a fix(auth): dedupe codex-cli profiles
Co-authored-by: Oliver Drobnik <oliver@cocoanetics.com>
2026-01-20 09:38:56 +00:00
Peter Steinberger
caa6bfb9a3 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
d4d7f9def6 fix: prevent duplicate agent event emission 2026-01-20 09:25:20 +00:00
Peter Steinberger
386309ddd0 fix: enforce ws3 roles + node allowlist 2026-01-20 09:24:01 +00:00
Peter Steinberger
f15ca433bb refactor: streamline TUI stream assembly updates 2026-01-20 08:57:42 +00:00
Peter Steinberger
5414251352 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
20e89f0be9 fix: prefer bundled plugin schema 2026-01-20 08:47:56 +00:00
Peter Steinberger
aa330d8fa8 fix: lazy-load pdf/image input deps 2026-01-20 08:47:56 +00:00
Peter Steinberger
1298d267a6 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
04d9de4a2a 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
487449c0ac 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
b302f41d6d refactor: add aws-sdk auth mode and tighten provider auth 2026-01-20 08:28:40 +00:00
Peter Steinberger
00b57a1433 refactor: share responses input handling 2026-01-20 08:21:57 +00:00
Peter Steinberger
eef51c0bb4 fix: defer pdf deps and profile flag detection 2026-01-20 08:20:07 +00:00
Peter Steinberger
61dca7952a fix: guard systemd errors in doctor 2026-01-20 07:56:22 +00:00
Peter Steinberger
df8e949b05 refactor: normalize cli command hints 2026-01-20 07:43:00 +00:00
Peter Steinberger
159ab379f8 fix: expand /v1/responses inputs (#1229) (thanks @RyanLisse) 2026-01-20 07:37:30 +00:00
Ryan Lisse
0e8b781db8 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
67e8600a00 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
bd422e6228 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
8c9c67e9c1 build: update bundle hash and register Peekaboo submodule 2026-01-20 07:37:01 +00:00
Ryan Lisse
17e06cd83a refactor(macos): replace FileManager.default for Swift 6 2026-01-20 07:37:01 +00:00
Peter Steinberger
204d033874 fix: infer perplexity baseUrl from api key 2026-01-20 07:27:32 +00:00
Peter Steinberger
07f2db3b60 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
b0fe4da640 fix: stabilize update.run test 2026-01-20 06:56:10 +00:00
Peter Steinberger
03e798833e fix: avoid duplicate doctor config output 2026-01-20 06:32:50 +00:00
Andrew Lauppe
c46242f8fb 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
243485d8a6 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
6b7a22ab03 fix: harden doctor config cleanup 2026-01-20 01:43:59 +00:00
Peter Steinberger
b94cdede2c fix: repair doctor config cleanup 2026-01-20 01:30:33 +00:00
Peter Steinberger
f09b0ddf01 fix: clarify config invalid output 2026-01-20 00:47:33 +00:00
Peter Steinberger
2053744c2f fix: highlight invalid config error 2026-01-20 00:38:52 +00:00
Peter Steinberger
1416b49d5c fix: harden windows argv parsing 2026-01-19 23:41:06 +00:00
Peter Steinberger
7742ce49e2 fix: strip envelopes in chat history 2026-01-19 22:52:00 +00:00
Peter Steinberger
0dedcfa3ef fix: improve memory status and batch fallback 2026-01-19 22:49:06 +00:00
Shadow
8e615162fb 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
adeede67d5 Config: allow Perplexity web_search provider 2026-01-19 13:03:59 -05:00
Peter Steinberger
4c3e02ae11 test: harden gateway sigterm argv 2026-01-19 16:35:45 +00:00
Peter Steinberger
b72a5e404f style: format gateway sigterm test 2026-01-19 16:17:47 +00:00
Peter Steinberger
6b406303eb test: stabilize gateway windows sigterm 2026-01-19 16:16:13 +00:00
Peter Steinberger
590f4e5943 test: stabilize windows gateway sigterm 2026-01-19 15:17:44 +00:00
Peter Steinberger
96664529f2 fix: sanitize windows argv control chars 2026-01-19 15:06:57 +00:00
Peter Steinberger
775a5480b6 fix: strip noisy windows argv entries 2026-01-19 15:04:26 +00:00
Peter Steinberger
c1f9364de9 test: simplify sandbox path guard test 2026-01-19 14:46:07 +00:00
Peter Steinberger
06368efe06 fix: stabilize windows cli tests 2026-01-19 14:44:17 +00:00
Peter Steinberger
fb88e1f96c style: format windows argv helpers 2026-01-19 14:19:26 +00:00
Peter Steinberger
c6be044ee2 fix: sanitize windows node argv 2026-01-19 14:16:45 +00:00
Peter Steinberger
99f91d4dc5 fix: normalize windows argv in cli 2026-01-19 13:55:34 +00:00
Peter Steinberger
0081f66422 fix: normalize quoted windows argv 2026-01-19 13:30:34 +00:00
Peter Steinberger
ffcb087b72 fix: strip windows node exec from argv 2026-01-19 13:08:21 +00:00
Peter Steinberger
65c07c4467 fix: stabilize windows test timeouts 2026-01-19 12:35:58 +00:00
Peter Steinberger
8b4b13122e fix: stabilize gateway tests on windows 2026-01-19 12:12:51 +00:00
Doug von Kohorn
dc38730f9a feat: add tool_result_persist hook 2026-01-19 13:11:31 +01:00
Doug von Kohorn
30886c6ec5 feat: tool-dispatch skill commands 2026-01-19 13:11:25 +01:00
Peter Steinberger
7bb1274fb8 fix: resolve format/build failures 2026-01-19 11:32:15 +00:00
Peter Steinberger
05c7a8e996 fix: add agents identity helper 2026-01-19 10:44:18 +00:00
Peter Steinberger
9b3b34937f chore: clean artifacts and fix device roles 2026-01-19 10:09:35 +00:00
Peter Steinberger
0e8ca24898 fix: wire gateway tls fingerprint for wss 2026-01-19 10:09:22 +00:00
Peter Steinberger
bfc43c61e4 fix: align exec approval gateway timeout 2026-01-19 10:09:17 +00:00
Peter Steinberger
805619d90c fix: treat exec approval timeouts as no-decision 2026-01-19 10:09:14 +00:00
Peter Steinberger
ab5692cb27 fix: stabilize gateway ws + iOS 2026-01-19 10:09:04 +00:00
Peter Steinberger
41d7b0f07c refactor: remove bridge protocol 2026-01-19 10:08:29 +00:00
Peter Steinberger
bdf0019ce0 feat: add gateway tls support 2026-01-19 10:08:01 +00:00
Peter Steinberger
ea5df637e7 feat: unify device auth + pairing 2026-01-19 10:07:56 +00:00
Peter Steinberger
f115be4d3e 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
e76bd6f9ac fix: drop reasoning-only openai-responses history 2026-01-19 06:22:46 +00:00
Peter Steinberger
3b8d1dd1af style: oxfmt core files 2026-01-19 05:59:29 +00:00
Peter Steinberger
a242aed4f4 fix: resolve cli-highlight types and runtime info 2026-01-19 05:57:29 +00:00
Peter Steinberger
d7ccf097b1 fix: centralize cli command registry
Co-authored-by: gumadeiras <gumadeiras@users.noreply.github.com>
2026-01-19 05:36:09 +00:00
Peter Steinberger
fae9477538 refactor: extract TUI syntax theme and fix changelog 2026-01-19 05:32:53 +00:00
Peter Steinberger
6ab6bd32ee refactor: reuse prompt params in context report 2026-01-19 05:27:52 +00:00
Peter Steinberger
d5b4b9886d refactor: unify system prompt runtime params 2026-01-19 05:27:52 +00:00
Peter Steinberger
fbf7539789 fix: canonicalize legacy session keys 2026-01-19 05:17:31 +00:00
Peter Steinberger
4e45ebee00 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
89f1912c0e 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
ff4b9f96aa feat: add TUI code block syntax highlighting (#1200) (thanks @vignesh07) 2026-01-19 05:07:23 +00:00
Peter Steinberger
bc9bfdace0 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
fe7ad4cd9f fix: add plugin config schema helper 2026-01-19 03:39:36 +00:00
Peter Steinberger
b1c13b0eab fix: enforce strict config validation 2026-01-19 03:39:25 +00:00
Peter Steinberger
a8c8770dc2 fix: add git hook setup and stable config hash sorting 2026-01-19 02:02:17 +00:00
Peter Steinberger
7d303cd172 fix: add safeguard compaction tool summaries 2026-01-19 01:44:17 +00:00
cpojer
594b8adb11 Make tool calls use human language by default. 2026-01-19 01:42:23 +00:00
Peter Steinberger
7ba88ccf16 fix: skip respawn in gateway sigterm test 2026-01-19 01:37:10 +00:00
Peter Steinberger
07180a8d00 feat: auto-recreate sandbox containers on config change 2026-01-19 01:35:27 +00:00
Peter Steinberger
9d4a00d2e7 style: apply oxfmt 2026-01-19 01:11:42 +00:00
Peter Steinberger
d742b5b716 fix: harden windows cli launch 2026-01-19 01:11:39 +00:00
Peter Steinberger
fadf3e8a32 refactor: consolidate nodes cli error handling 2026-01-19 00:52:31 +00:00
Peter Steinberger
d30e961fc8 refactor: share cli runtime error handling 2026-01-19 00:52:31 +00:00
Peter Steinberger
1258f6cf68 refactor: streamline routed cli setup 2026-01-19 00:52:31 +00:00
Peter Steinberger
0888941a44 fix: propagate agent run context for subagent announce 2026-01-19 00:45:30 +00:00
Vignesh Natarajan
737ec45454 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
ac5eb53f25 feat: add exec pathPrepend config 2026-01-19 00:35:43 +00:00
Peter Steinberger
d26f5bb11d fix: stabilize ci checks 2026-01-19 00:34:26 +00:00
Seb Slight
02415d6831 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
51c92b1ba0 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
51717be768 fix(plugins): prefer dist plugin-sdk in tests 2026-01-19 00:15:45 +00:00
Peter Steinberger
9264cd0db1 chore: remove unused program context imports 2026-01-19 00:15:45 +00:00
Peter Steinberger
927bd4b23f test: stabilize sessions_send waits 2026-01-19 00:15:45 +00:00
Peter Steinberger
b049deea9c fix: gate gateway restarts and discord abort reconnects 2026-01-19 00:15:45 +00:00
Peter Steinberger
d520a07720 refactor(plugins): improve loader resolution 2026-01-19 00:15:44 +00:00
Peter Steinberger
1c479b140b test: harden gateway mocks and env isolation 2026-01-19 00:15:44 +00:00
Peter Steinberger
b63055d8d2 refactor(logging): split config + subsystem imports 2026-01-19 00:15:44 +00:00
Peter Steinberger
7fef4b332d fix: log plugin load errors in gateway 2026-01-19 00:15:24 +00:00
Peter Steinberger
ef5d9eca39 fix: refine TUI model search rendering 2026-01-19 00:15:16 +00:00
Peter Steinberger
4638e7c6f0 Usage: add cost summaries to /usage + mac menu 2026-01-19 00:05:06 +00:00
Peter Steinberger
ee31a1d527 chore: document slack bolt import interop 2026-01-18 23:55:36 +00:00
Peter Steinberger
96422b4ef7 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
0ce65f5359 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
8bc6ab5c08 fix: optimize routed CLI path (#1195) (thanks @gumadeiras) 2026-01-18 23:28:09 +00:00
Peter Steinberger
3084658c9a 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
abb645e527 fix: preserve fuzzy ranking in model picker (#1198) (thanks @vignesh07) 2026-01-18 23:26:42 +00:00
Vignesh Natarajan
abf3c4700d 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
68b2ce5a3a 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
18d7d591a8 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
c77e5c13c2 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
8fddbe78cf 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
1566c89ab0 fix: import wizard prompter in onboarding adapters 2026-01-18 23:05:05 +00:00
Peter Steinberger
480d7cb7c8 feat: expand dm allowlist onboarding 2026-01-18 22:52:00 +00:00
Peter Steinberger
a4d46c47f7 fix: honor telegram pairing allowlists for native commands 2026-01-18 22:52:00 +00:00
Peter Steinberger
a2500617fd test: update expectations for session reset behavior 2026-01-18 22:51:37 +00:00
Peter Steinberger
d20f83f3a6 feat: add agent targeting + reply overrides 2026-01-18 22:50:51 +00:00
Peter Steinberger
687c58a2a7 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
7b3dc268e7 fix: smooth TUI waiting shimmer (#1196) (thanks @vignesh07) 2026-01-18 22:37:36 +00:00
Peter Steinberger
b35de3e6fe build: update A2UI bundle hash 2026-01-18 22:26:12 +00:00
Peter Steinberger
1fdf340b7b build: refresh A2UI bundle 2026-01-18 22:26:12 +00:00
Peter Steinberger
35b271d8f3 fix: patch session store updates 2026-01-18 22:26:12 +00:00
Peter Steinberger
a878e1edea feat: add live memory index progress 2026-01-18 22:25:08 +00:00
Vignesh Natarajan
21a8621bea TUI: pick waiting phrase once per waiting session 2026-01-18 22:19:47 +00:00
Vignesh Natarajan
83ddc32017 TUI: waiting shimmer helper + tests 2026-01-18 22:19:47 +00:00
Vignesh Natarajan
beef905733 TUI: add animated waiting status with shimmer 2026-01-18 22:19:47 +00:00
Peter Steinberger
733e629924 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
6d932d0693 chore: tighten skills prompt rules 2026-01-18 21:30:27 +00:00
Lauren Rosenberg
ce306934dc 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
7d2bd5d96e style: format code 2026-01-18 19:36:46 +00:00
Peter Steinberger
5d6a744b43 fix: unblock bundled plugin load 2026-01-18 19:34:21 +00:00
Peter Steinberger
f257041ad4 fix: stabilize logging imports and tests 2026-01-18 19:34:08 +00:00
Peter Steinberger
e79fd18b46 fix: normalize envelope options 2026-01-18 18:59:34 +00:00
Peter Steinberger
e66db7b136 fix(cli): load pairing channels after plugins 2026-01-18 18:56:40 +00:00
Peter Steinberger
92cb421fd0 fix: appease tsc in test helpers 2026-01-18 18:54:59 +00:00
Peter Steinberger
d807ac9513 fix: clean up lint in gateway tests 2026-01-18 18:51:43 +00:00
Peter Steinberger
fe9f9e8e89 fix: satisfy oxlint spread rule 2026-01-18 18:50:52 +00:00
Peter Steinberger
5e25bb04d9 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
db49864e60 feat(cli): show Telegram bot username in status 2026-01-18 18:48:25 +00:00
Peter Steinberger
91c6acd9fa fix: stabilize tests and logging 2026-01-18 18:43:31 +00:00
Peter Steinberger
e6c0133f0b Merge pull request #1181 from sebslight/plugins/exclusive-slots
Plugins: auto-select exclusive slots
2026-01-18 18:40:38 +00:00
Peter Steinberger
bd423f1a5c fix: add model picker regression for openrouter auto (#1182) (thanks @zerone0x) 2026-01-18 18:32:25 +00:00
zerone0x
01b0beae82 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
9c7a02aee6 style: apply prettier formatting 2026-01-18 18:21:11 +00:00
Lauren Rosenberg
6b5ecef179 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
4e7dc2b0d9 Improve Anthropic token option hints in onboarding wizard 2026-01-18 18:39:14 +01:00
Peter Steinberger
48e9e1ae6b fix: stabilize ci protocol + openai batch retry 2026-01-18 17:05:27 +00:00
Peter Steinberger
02c0e84e69 feat: route macOS node exec via app IPC 2026-01-18 16:41:44 +00:00
Peter Steinberger
24cc5e0632 fix(build): resolve ts2367 comparisons 2026-01-18 16:35:52 +00:00
Peter Steinberger
4e352becdd feat(onboarding): wire plugin-backed auth choices 2026-01-18 16:35:52 +00:00
Peter Steinberger
e2bf2cdb9f feat(config): auto-enable configured plugins 2026-01-18 16:35:52 +00:00
Peter Steinberger
f6b726f635 fix: unblock build and slack monitor 2026-01-18 16:35:18 +00:00
Peter Steinberger
0bf0c771c8 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
2e1ca6c5eb feat: list eligible hooks in onboarding 2026-01-18 16:28:39 +00:00
Peter Steinberger
cfe06eabec fix: exec approvals parsing + boot-md changelog 2026-01-18 16:28:39 +00:00
Sebastian Slight
f11dc964e6 Plugins: auto-select exclusive slots 2026-01-18 11:26:50 -05:00
Peter Steinberger
b4f2fd6749 test(cli): align memory CLI tests 2026-01-18 16:12:10 +00:00
Peter Steinberger
b656f3345e fix(memory): preserve fallback source id 2026-01-18 16:12:10 +00:00
Peter Steinberger
ebd26e3577 fix(cli): avoid empty spreads in approvals CLI 2026-01-18 16:12:10 +00:00
Peter Steinberger
108c7e519d fix(exec-approvals): fix command token parsing 2026-01-18 16:12:10 +00:00
Peter Steinberger
5c7762f7db 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
9cd05ac517 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
4c74a7e644 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
f5c1af96cb fix(utils): share clamp helpers
Co-authored-by: Gustavo Madeira Santana <gumadeiras@gmail.com>
2026-01-18 16:11:43 +00:00
Peter Steinberger
f6eeb854ab fix: improve remote bin probe logging 2026-01-18 16:09:48 +00:00
Peter Steinberger
c4bc108d3e fix: retry openai batch indexing 2026-01-18 16:08:22 +00:00
Peter Steinberger
111796b01b feat: add node core/ui versions in bridge 2026-01-18 15:59:54 +00:00
Peter Steinberger
6c47ec43f3 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
8320a9bf29 fix: stabilize slack http receiver import 2026-01-18 15:44:17 +00:00
Peter Steinberger
5d3e5d0acb fix: prefer node service naming 2026-01-18 15:33:22 +00:00
Peter Steinberger
4dadb28d3b feat: add exec approvals tooling and service status 2026-01-18 15:23:41 +00:00
Peter Steinberger
8f21602128 fix: sanitize oversized image payloads 2026-01-18 15:21:38 +00:00
Peter Steinberger
351dfa718f fix: link bash disabled docs 2026-01-18 15:17:09 +00:00
Peter Steinberger
9f6b1ee9fd 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
40cd8fa554 feat: enrich system prompt docs guidance 2026-01-18 15:00:36 +00:00
Peter Steinberger
4a4d879f26 feat: auto-enable audio understanding when keys exist 2026-01-18 14:55:09 +00:00
Peter Steinberger
073d397038 test: add vector dedupe regression coverage 2026-01-18 14:08:06 +00:00
Peter Steinberger
bf92d78e2d 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
10b0603551 fix: prevent sqlite-vec duplicate id failures 2026-01-18 13:55:56 +00:00
vrknetha
56221aaba8 Agents: surface tool failures without assistant output 2026-01-18 18:35:03 +05:30
Peter Steinberger
d49da62338 refactor: route channel runtime via plugin api 2026-01-18 11:01:16 +00:00
Nimrod Gutman
18a8e8928d feat(hooks): run boot.md on gateway startup 2026-01-18 11:50:25 +02:00
Peter Steinberger
4526cc31b1 fix: seed embedding cache for atomic reindex 2026-01-18 09:28:42 +00:00
Peter Steinberger
6117d6e876 feat: add gemini memory embeddings 2026-01-18 09:09:45 +00:00
Peter Steinberger
aa3514f5e2 fix: sync protocol outputs 2026-01-18 08:58:41 +00:00
Peter Steinberger
6138788ece feat: add exec approvals editor in control ui and mac app 2026-01-18 08:54:38 +00:00
Peter Steinberger
5590221481 fix: stabilize acp streams and tests 2026-01-18 08:54:00 +00:00
Peter Steinberger
8e87d8879e refactor: migrate messaging plugins to sdk 2026-01-18 08:54:00 +00:00