Peter Steinberger
6996c0f330
test: cover history image injection
2026-01-21 18:45:23 +00:00
Peter Steinberger
cf4f1ed03a
fix: persist history image injections
2026-01-21 18:45:23 +00:00
Peter Steinberger
9e22f019db
feat: fold gateway service commands into gateway
2026-01-21 17:45:26 +00:00
Peter Steinberger
8479dc97da
fix: make session memory indexing async
2026-01-21 10:39:00 +00:00
Peter Steinberger
97e8f9d619
fix: add diagnostics cache trace config ( #1370 ) (thanks @parubets)
2026-01-21 10:23:30 +00:00
Andrii
5392fa0dfa
cache trace mvp
...
Added a standalone cache tracing module and wired it into the embedded
runner so you can capture message flow and the exact context sent to
Anthropic in a separate JSONL file.
What changed
- New tracing module: src/agents/cache-trace.ts (self‑contained,
env‑gated, writes JSONL, computes per‑message digests).
- Hook points in src/agents/pi-embedded-runner/run/attempt.ts: logs
stage snapshots (loaded/sanitized/limited/prompt/stream/after) and wraps
the
stream fn to record the real context.messages at send time.
How to enable
- CLAWDBOT_CACHE_TRACE=1 enables tracing.
- CLAWDBOT_CACHE_TRACE_FILE=~/.clawdbot/logs/cache-trace.jsonl
overrides output (default is
$CLAWDBOT_STATE_DIR/logs/cache-trace.jsonl).
- Optional filters:
- CLAWDBOT_CACHE_TRACE_MESSAGES=0 to omit full messages (still
logs digests).
- CLAWDBOT_CACHE_TRACE_PROMPT=0 to omit prompt text.
- CLAWDBOT_CACHE_TRACE_SYSTEM=0 to omit system prompt.
What you’ll see
- One JSON object per line with stage, messagesDigest, per‑message
messageFingerprints, and the actual messages if enabled.
- The most important line is stage: "stream:context" — that is the
exact payload pi‑mono is sending. If this diverges from earlier stages,
you’ve
found the mutation point.
2026-01-21 10:23:30 +00:00
Peter Steinberger
63d017c3af
fix: add node tool failure context
2026-01-21 09:55:10 +00:00
Peter Steinberger
0693c7804f
test: skip plugin tools in sessions tools test
2026-01-21 09:17:27 +00:00
Peter Steinberger
91bcdad503
fix: guard anthropic refusal trigger
2026-01-21 07:28:49 +00:00
Peter Steinberger
65dd73b4c3
fix: clean up slack threading landings ( #1360 ) (thanks @SocialNerd42069)
2026-01-21 06:29:36 +00:00
SocialNerd42069
e3a44b10bc
fix: prevent duplicate assistant texts from whitespace differences
...
- Add per-message dedup tracking in subscribeEmbeddedPiSession
- Compare both trimmed and normalized text to catch near-duplicates
- Reset dedup state on each new assistant message
- Add test for trailing whitespace edge case
Fixes duplicate Slack message delivery when the same text appears
with minor whitespace differences (e.g., trailing newline).
2026-01-21 06:29:36 +00:00
Peter Steinberger
1e05925e47
fix: normalize model override auth handling
2026-01-21 06:00:21 +00:00
Peter Steinberger
1ad4a7194e
fix: allow node exec fallback and defer node approvals
2026-01-21 04:46:50 +00:00
Peter Steinberger
28c49db494
fix: default exec security to allowlist
2026-01-21 03:40:27 +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
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
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
48b0d08493
fix: resolve ReadableStream cast in skills install
2026-01-21 00:33:22 +00:00
Peter Steinberger
76bae8da40
feat: add download installs for skills
2026-01-21 00:14:36 +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
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
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
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
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
Peter Steinberger
faa5838147
fix: polish session picker filtering ( #1271 ) (thanks @Whoaa512)
2026-01-20 16:46:15 +00:00
Peter Steinberger
8bf484bdad
fix: update pi-ai/pi-tui usage
2026-01-20 16:38: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
Peter Steinberger
0b0d8b2406
fix: repair model compat + editor ctor
2026-01-20 16:19:49 +00:00
Peter Steinberger
74f382f732
fix: default Anthropic API cache TTL to 1h
2026-01-20 15:48:53 +00:00
Peter Steinberger
c6812c6af4
fix: harden compat and editor ctor
2026-01-20 15:16:05 +00:00
Peter Steinberger
760b1e8fc6
fix: update model compat + tui editor
2026-01-20 15:02:25 +00:00
Peter Steinberger
68a467dd66
fix: guard ZAI compat on openai-completions api
2026-01-20 14:39:58 +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
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
Peter Steinberger
e45228ac37
fix: merge login shell PATH for gateway exec
2026-01-20 14:04:13 +00:00
Peter Steinberger
d69f246ba7
chore: fix lint/format
2026-01-20 13:52:59 +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
87343c374e
feat: route exec approvals via gateway
2026-01-20 13:04:19 +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
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
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
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
Peter Steinberger
c9e3c14f9c
fix: finalize exec fish fallback ( #1297 ) (thanks @ysqander)
2026-01-20 11:25:49 +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
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
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
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
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
a5adedea91
refactor: add aws-sdk auth mode and tighten provider auth
2026-01-20 08:28:40 +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
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
Peter Steinberger
3e546e691d
fix: infer perplexity baseUrl from api key
2026-01-20 07:27:32 +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
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
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
4609ed70c1
fix: align exec approval gateway timeout
2026-01-19 10:09:17 +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
73e9e787b4
feat: unify device auth + pairing
2026-01-19 10:07:56 +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
55d034358d
refactor: unify system prompt runtime params
2026-01-19 05:27:52 +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
79d8267413
feat: auto-recreate sandbox containers on config change
2026-01-19 01:35:27 +00:00
Peter Steinberger
6a4b5fa4b5
fix: harden windows cli launch
2026-01-19 01:11:39 +00:00
Peter Steinberger
989543c9c3
fix: propagate agent run context for subagent announce
2026-01-19 00:45:30 +00: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
Peter Steinberger
8de02e6074
test: stabilize sessions_send waits
2026-01-19 00:15:45 +00:00
Peter Steinberger
50fdd514ae
refactor(logging): split config + subsystem imports
2026-01-19 00:15:44 +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
0d543dd1ff
test: update expectations for session reset behavior
2026-01-18 22:51:37 +00:00
Peter Steinberger
e7e34c442e
fix: smooth TUI waiting shimmer ( #1196 ) (thanks @vignesh07)
2026-01-18 22:37:36 +00:00
Peter Steinberger
b621d4550b
chore: tighten skills prompt rules
2026-01-18 21:30:27 +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
ab340c82fb
fix: stabilize tests and logging
2026-01-18 18:43:31 +00:00
Peter Steinberger
be6a3d4caf
fix: unblock build and slack monitor
2026-01-18 16:35:18 +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
Peter Steinberger
1721d04405
feat: add node core/ui versions in bridge
2026-01-18 15:59:54 +00:00
Peter Steinberger
b546b2a48d
fix: stabilize slack http receiver import
2026-01-18 15:44:17 +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
e9a08dc507
feat: enrich system prompt docs guidance
2026-01-18 15:00:36 +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
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
c5e19f5c67
refactor: migrate messaging plugins to sdk
2026-01-18 08:54:00 +00:00
Peter Steinberger
65bed815a8
fix: resolve ci failures
2026-01-18 08:45:29 +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
ec27c813cc
fix(fallback): handle timeout aborts
...
Co-authored-by: Mykyta Bozhenko <21245729+cheeeee@users.noreply.github.com>
2026-01-18 07:52:44 +00:00
Peter Steinberger
ae0b4c4990
feat: add exec host routing + node daemon
2026-01-18 07:46:00 +00:00
Peter Steinberger
df752d4706
Merge pull request #1149 from radek-paclt/feature/memory-plugin-v2
...
feat(memory): add lifecycle hooks and vector memory plugin
2026-01-18 07:10:06 +00:00
Peter Steinberger
d3b15c6afa
ci: stabilize vitest runs
2026-01-18 06:58:54 +00:00
Radek Paclt
ebfeb7a6bf
feat(memory): add lifecycle hooks and vector memory plugin
...
Add plugin lifecycle hooks infrastructure:
- before_agent_start: inject context before agent loop
- agent_end: analyze conversation after completion
- 13 hook types total (message, tool, session, gateway hooks)
Memory plugin implementation:
- LanceDB vector storage with OpenAI embeddings
- kind: "memory" to integrate with upstream slot system
- Auto-recall: injects <relevant-memories> when context found
- Auto-capture: stores preferences, decisions, entities
- Rule-based capture filtering with 0.95 similarity dedup
- Tools: memory_recall, memory_store, memory_forget
- CLI: clawdbot ltm list|search|stats
Plugin infrastructure:
- api.on() method for hook registration
- Global hook runner singleton for cross-module access
- Priority ordering and error catching
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-18 06:34:43 +00:00
Peter Steinberger
ac1b2d8c40
chore(gate): fix lint and protocol
2026-01-18 06:31:02 +00:00
Peter Steinberger
f7fcfafb4c
fix: resolve lint after rebase
2026-01-18 06:30:01 +00:00
Peter Steinberger
0b00e591e1
fix(streaming): emit assistant deltas
...
Co-authored-by: Andrew Lauppe <andy@t5tele.com>
2026-01-18 06:24:52 +00:00
Peter Steinberger
28f8b7bafa
refactor: add hook guards and test helpers
2026-01-18 06:15:24 +00:00
Peter Steinberger
8f7f7ee7dc
feat: add /exec session overrides
2026-01-18 06:12:54 +00:00
Peter Steinberger
d4bd387e0e
chore(gate): fix lint and formatting
2026-01-18 06:01:25 +00:00
Peter Steinberger
88b37e80fc
refactor: expand bootstrap helpers and tests
2026-01-18 05:51:55 +00:00
Peter Steinberger
9c0ff87c86
fix: align plugin runtime and exec wiring
2026-01-18 05:44:22 +00:00
Peter Steinberger
cf8b3ed988
fix: harden memory indexing and embedded session locks
2026-01-18 05:41:45 +00:00
Peter Steinberger
2dabce59ce
feat(slash-commands): usage footer modes
2026-01-18 05:35:35 +00:00
Peter Steinberger
e7a4931932
refactor: centralize bootstrap file resolution
2026-01-18 05:31:04 +00:00
Peter Steinberger
ad3c12a43a
feat: add bootstrap hook and soul-evil hook
2026-01-18 05:24:47 +00:00
Peter Steinberger
016693a1f5
fix: abort embedded prompts on cancel
2026-01-18 05:18:10 +00:00
Peter Steinberger
b105745299
feat: expand subagent status visibility
2026-01-18 04:46:04 +00:00
Peter Steinberger
1ae415e395
fix: align agent exec config
2026-01-18 04:37:15 +00:00
Peter Steinberger
e4e1396a98
perf: improve batch status logging
2026-01-18 04:28:14 +00:00
Peter Steinberger
efdb33c975
feat: add exec host approvals flow
2026-01-18 04:27:41 +00:00
Peter Steinberger
82e49af5a7
fix: resolve plugin tool meta typing
2026-01-18 04:24:16 +00:00
Peter Steinberger
fabc2882aa
fix: avoid keychain prompts in embedded runner
2026-01-18 04:19:28 +00:00
Peter Steinberger
6b3d3f5e21
refactor: centralize plugin tool policy helpers
2026-01-18 04:18:32 +00:00
Peter Steinberger
6da6582ced
feat: add optional plugin tools
2026-01-18 04:08:00 +00:00
Peter Steinberger
afb877a96b
perf: speed up memory batch polling
2026-01-18 03:55:14 +00:00
Peter Steinberger
787bed4996
test: stabilize doctor + pi-embedded suites
2026-01-18 03:40:47 +00:00
Peter Steinberger
5fa1a63978
Merge pull request #1136 from cheeeee/fix/prompt-failover
...
fix(agent): Enable model fallback for prompt-phase quota/rate limit errors
2026-01-18 03:32:03 +00:00
Peter Steinberger
0f6f7059d9
test: stabilize embedded runner tests
2026-01-18 02:55:41 +00:00
Peter Steinberger
67f63ecd7e
chore: remove tracked artifacts
2026-01-18 02:55:07 +00:00
Peter Steinberger
1420d113d8
refactor: migrate extensions to plugin sdk
2026-01-18 02:55:07 +00:00
Peter Steinberger
34590d2144
feat: persist session origin metadata across connectors
2026-01-18 02:42:10 +00:00
Peter Steinberger
0c93b9b7bb
style: apply oxfmt
2026-01-18 02:19:35 +00:00
Peter Steinberger
9fd9f4c896
feat(plugins): add memory slot plugin
2026-01-18 02:12:10 +00:00
Peter Steinberger
005b831023
test: stabilize env-dependent tool defaults
2026-01-18 01:57:54 +00:00
Peter Steinberger
14e6b21b50
test: cover perplexity baseUrl precedence
2026-01-18 01:56:34 +00:00
Peter Steinberger
ccb30665f7
feat: add hybrid memory search
2026-01-18 01:47:58 +00:00
Peter Steinberger
0fb2777c6d
feat: add memory embedding cache
2026-01-18 01:47:58 +00:00
Peter Steinberger
568b8ee96c
refactor: split web tools and docs
2026-01-18 01:42:54 +00:00
Peter Steinberger
0674f1fa3c
feat: add exec approvals allowlists
2026-01-18 01:34:31 +00:00
Mykyta Bozhenko
448394a0de
fix(agent): Enable model fallback for prompt-phase quota/rate limit errors
...
When a prompt submission fails with quota or rate limit errors, throw
FailoverError instead of the raw promptError. This enables the model
fallback system to try alternative models.
Previously, rate limit errors during the prompt phase (before streaming)
were thrown directly, bypassing fallback. Only response-phase errors
triggered model fallback.
Now checks if fallback models are configured and the error is failover-
eligible. If so, wraps in FailoverError to trigger the fallback chain.
2026-01-18 01:29:48 +00:00
Peter Steinberger
8b1bec11d0
feat: speed up memory batch indexing
2026-01-18 01:24:51 +00:00
Peter Steinberger
1d83389776
Merge pull request #1131 from CMLKevin/feat/perplexity-search-provider
...
feat(web): add Perplexity Sonar as alternative search provider
2026-01-18 01:16:00 +00:00
Peter Steinberger
36d88f6079
fix: normalize gateway dev mode detection
2026-01-18 01:08:47 +00:00
Muhammed Mukhthar CM
b56b67cdbd
UI: label Qwen provider
2026-01-18 01:03:08 +00:00
Muhammed Mukhthar CM
8eb80ee40a
Models: add Qwen Portal OAuth support
2026-01-18 01:03:08 +00:00
Peter Steinberger
d593a809f0
fix: apply openai batch defaults
2026-01-18 00:29:18 +00:00
Peter Steinberger
4d590f9254
refactor(slack): centralize target parsing
2026-01-18 00:15:05 +00:00
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
b60a53e10d
feat: enable batch indexing by default
2026-01-17 23:29:40 +00:00
Peter Steinberger
a31a79396b
feat: add OpenAI batch memory indexing
2026-01-17 22:32:04 +00:00
Peter Steinberger
1e2ab8bf1e
fix: improve frontmatter parsing
2026-01-17 19:56:10 +00:00
Peter Steinberger
0e49dca53c
feat: add experimental session memory source
2026-01-17 18:53:52 +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
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
Peter Steinberger
7876679c5d
style: apply oxfmt
2026-01-17 17:44:54 +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
Muhammed Mukhthar CM
f2a0e8e5bb
feat(telegram): support sending audio as native voice notes via asVoice param in message tool
2026-01-17 17:32:50 +00:00
ddyo
e93a1d8138
feat: add kimi code provider onboarding
2026-01-17 17:25:07 +00:00
Peter Steinberger
6b784a9771
style: oxfmt
2026-01-17 10:26:08 +00:00
Peter Steinberger
31e8ecca10
fix: format verbose tool output by channel
2026-01-17 10:17:57 +00:00
Peter Steinberger
1a4313c2aa
fix: avoid crash on memory embeddings errors ( #1004 )
2026-01-17 09:45:53 +00:00
Peter Steinberger
b6ea5895b6
fix: gate image tool and deepgram audio payload
2026-01-17 09:34:40 +00:00
Peter Steinberger
e637bbdfb5
feat: add Deepgram audio transcription
...
Co-authored-by: Safzan Pirani <safzanpirani@users.noreply.github.com>
2026-01-17 08:53:42 +00:00
Peter Steinberger
13b931c006
refactor: prune legacy group prefixes
2026-01-17 08:47:25 +00:00
Peter Steinberger
d8b463d0b3
fix: cap pending process output
2026-01-17 08:26:12 +00:00