Commit Graph

3912 Commits

Author SHA1 Message Date
Peter Steinberger
537968d158 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
454e56898f 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
93217270e1 fix: config form semantics + editor ctor (#1315) (thanks @MaudeBot) 2026-01-20 20:14:22 +00:00
Peter Steinberger
3d96294560 fix: avoid discord gateway abort crash 2026-01-20 19:33:08 +00:00
Peter Steinberger
5f01cce58c fix: unblock discord listener concurrency 2026-01-20 19:30:32 +00:00
Peter Steinberger
d9f25c86b0 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
cc57ade5d7 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
56bcde9d1e fix: route native status to active agent 2026-01-20 19:04:31 +00:00
Peter Steinberger
87a9d125a9 feat: add diagnostics events and otel exporter 2026-01-20 18:56:15 +00:00
Peter Steinberger
5c43eab1d0 fix(cron): auto-deliver agent output to explicit targets 2026-01-20 17:56:15 +00:00
Peter Steinberger
11bfb29e9c test: stabilize atomic reindex search mock 2026-01-20 17:50:42 +00:00
Peter Steinberger
ca697acccd refactor: centralize discord api errors 2026-01-20 17:28:19 +00:00
Peter Steinberger
e6fd484880 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
fccb93c917 fix: soften discord resolve warnings 2026-01-20 17:11:52 +00:00
Peter Steinberger
a88ac3ac34 fix: clarify gateway auth unauthorized message 2026-01-20 17:06:02 +00:00
Sebastian Slight
55892196a0 CLI: avoid logs follow echo 2026-01-20 11:51:53 -05:00
Peter Steinberger
cfac26639a fix: align tui editor with pi-tui API 2026-01-20 16:51:44 +00:00
Peter Steinberger
d8fa4e1077 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
c095a5a623 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
5155348790 fix: polish session picker filtering (#1271) (thanks @Whoaa512) 2026-01-20 16:46:15 +00:00
Peter Steinberger
584e91a66e fix: auto-enable plugins on startup 2026-01-20 16:38:37 +00:00
Peter Steinberger
725e3d1d6b chore: update a2ui bundle hash 2026-01-20 16:38:08 +00:00
Peter Steinberger
16a3b32557 fix: update pi-ai/pi-tui usage 2026-01-20 16:38:08 +00:00
CJ Winslow
fcab2c3608 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
d467ad5c68 refactor: extract shared fuzzy filter utilities for list components 2026-01-20 16:37:08 +00:00
CJ Winslow
d08cf3deff 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
f5f5ffe784 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
7c394e5ff2 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
420203a170 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
f11d9fcaae 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
c09a1ff44f 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
0a2d6e9cc3 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
4ad5b044df 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
34acbd3541 test: cover beta fallback update logic 2026-01-20 16:36:37 +00:00
Peter Steinberger
5924bc960c fix: prefer stable release when beta lags 2026-01-20 16:36:04 +00:00
Peter Steinberger
93b19c9936 fix: repair model compat + editor ctor 2026-01-20 16:19:49 +00:00
Peter Steinberger
df0229257a fix(tui): update CustomEditor ctor 2026-01-20 16:06:21 +00:00
Peter Steinberger
8bdbde5095 fix: stabilize gateway tests 2026-01-20 16:02:46 +00:00
Peter Steinberger
5f3f0510fa feat: sync plugin updates with update channel 2026-01-20 16:00:42 +00:00
Peter Steinberger
fcec6dd950 fix: clarify doctor auto-enable hint 2026-01-20 15:58:30 +00:00
Peter Steinberger
a7776dfd84 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
b246c0358b fix: default Anthropic API cache TTL to 1h 2026-01-20 15:48:53 +00:00
Peter Steinberger
6d6b95009e chore: update a2ui bundle hash 2026-01-20 15:48:52 +00:00
Peter Steinberger
4ef7723916 fix: harden compat and editor ctor 2026-01-20 15:16:05 +00:00
Peter Steinberger
8c2a478c6d fix: shorten bonjour gateway service type 2026-01-20 15:10:06 +00:00
Peter Steinberger
4dde256a78 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
887abab62c fix: update model compat + tui editor 2026-01-20 15:02:25 +00:00
Peter Steinberger
586ec8999f fix: guard closeIdleConnections typing 2026-01-20 14:58:31 +00:00
Peter Steinberger
0159fb4202 fix: close idle gateway http connections 2026-01-20 14:56:30 +00:00
Peter Steinberger
6e7dfc4e8f fix: guard ZAI compat on openai-completions api 2026-01-20 14:39:58 +00:00
Peter Steinberger
e0945c9531 fix: align CustomEditor with pi-tui Editor API 2026-01-20 14:35:42 +00:00
Peter Steinberger
a3e884851c feat: improve /new model hints and reset confirmation 2026-01-20 14:35:20 +00:00
Peter Steinberger
105baba19c fix: align tui editor init (#1298) (thanks @sibbl) 2026-01-20 14:32:46 +00:00
Peter Steinberger
4d7e948014 fix: clean up lint leftovers 2026-01-20 14:25:18 +00:00
Peter Steinberger
470d32bf33 fix: drain openresponses test responses 2026-01-20 14:20:04 +00:00
Peter Steinberger
2a056e9add 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
374310b880 fix: tolerate pi-tui type exports 2026-01-20 14:17:39 +00:00
Peter Steinberger
527002ad90 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
9cd22a43ae 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
3ce735b749 fix: merge login shell PATH for gateway exec 2026-01-20 14:04:13 +00:00
Peter Steinberger
f796a5deef fix: accept pi-tui editor ctor variants 2026-01-20 14:02:36 +00:00
Peter Steinberger
7884419bbe chore: fix lint/format 2026-01-20 13:52:59 +00:00
Peter Steinberger
bfc4e77190 fix: update ui ed25519 + bluebubbles actions 2026-01-20 13:43:27 +00:00
Peter Steinberger
98d4797cc6 feat: add dev update channel 2026-01-20 13:41:30 +00:00
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