Commit Graph
4085 Commits
Author SHA1 Message Date
Mikhail f. Shiryaev 7f30fb6136 Address edge-case with kitty protocol in wezterm
packages/tui/src/stdin-buffer.ts — in extractCompleteSequences, after finding \x1b\x1b as "complete" (legacy meta-key), check if the next character in the buffer would start a new escape sequence ([, ], O, P, _). If so, emit only the first \x1b and let the second ESC begin a new parse iteration.

packages/tui/test/stdin-buffer.test.ts — three new cases in the Kitty section:
- \x1b\x1b[27;129:3u (num_lock) splits into ["\x1b", "\x1b[27;129:3u"]
- \x1b\x1b[27;1:3u (no num_lock) splits into ["\x1b", "\x1b[27;1:3u"]
- \x1b\x1b alone (no following CSI) still emits as ["\x1b\x1b"] — preserves ctrl+alt+[
2026-05-13 18:43:42 +02:00
Mario Zechner a5cca409d8 refactor(ai): use HTTP proxy agents for Bedrock 2026-05-13 16:12:48 +02:00
Mario Zechner e3faf41801 fix(tui): cap portrait image render height 2026-05-13 16:12:48 +02:00
Armin Ronacher c00f1cf130 fix(agent): correct uuidv7 sequence handling 2026-05-13 15:53:53 +02:00
Armin Ronacher 8bf2bfab58 fix(coding-agent): align stripAnsi with strip-ansi 2026-05-13 15:52:33 +02:00
xu0o0andGitHub c08c462461 fix(tui): place image correctly when viewport height < image height (#4461)
fixes #4415
2026-05-13 14:37:48 +02:00
Armin RonacherandGitHub e0b5d27af2 chore(deps): replace cli-highlight (#4468) 2026-05-13 12:19:45 +02:00
Armin RonacherandGitHub 2829146dde chore(deps): Kill small dependencies (#4467) 2026-05-13 10:44:56 +02:00
Nelson HerreraandGitHub 8da1f3d131 fix(tui): Make markdown.ts more robust to large markdown files (#4463) 2026-05-13 10:31:09 +02:00
Mario ZechnerandGitHub f2b105dd56 Merge pull request #4379 from Perlence/fix-tui-todo-checkboxes
fix(tui): render the checkboxes in the to-do list items
2026-05-13 00:17:25 +02:00
Mario ZechnerandGitHub 6ff6dc6278 Merge pull request #4383 from maximilianzuern/docs/fixToolConfig
fix(coding-agent) docs: update tool configuration API in SDK docs
2026-05-13 00:16:50 +02:00
Mario ZechnerandGitHub 2b895e20cd Merge pull request #4391 from yzhg1983/fix/sdk-example-session-dispose
fix(coding-agent): dispose SDK example sessions
2026-05-12 23:50:08 +02:00
Mario ZechnerandGitHub 5998b57958 Merge pull request #4426 from ofa1/fix/restore-tty-on-uncaught-exception
fix(coding-agent): restore terminal on uncaught exception
2026-05-12 23:48:28 +02:00
Armin RonacherandGitHub 64882c6a51 chore(deps): remove unused dependencies (#4453) 2026-05-12 23:35:41 +02:00
Mario Zechner 24e370fde5 Merge remote-tracking branch 'origin/main' 2026-05-12 23:35:17 +02:00
Mario Zechner d62c416cfd fix(coding-agent): allow tool expansion during extension confirms
closes #4429
2026-05-12 23:34:57 +02:00
Mario Zechner 5ac874c849 fix(coding-agent): retry Anthropic message_stop stream endings
closes #4433
2026-05-12 23:25:15 +02:00
github-actions[bot] 2726e57cda chore: approve contributor brianmichel 2026-05-12 20:56:58 +00:00
Omair Ahmed 9d84e28692 fix(coding-agent): restore terminal on uncaught exception
When an uncaught exception fires in interactive mode, the process dies with
stdin still in raw mode and the cursor hidden, leaving the user with a
"borked" terminal that needs `stty sane && reset` to recover. The most
common trigger is an extension's async ChildProcess `exit` callback that
throws (e.g. from accessing a stale ctx after session replacement), but
this affects any uncaught throw from anywhere in pi.

Add an uncaughtException handler in registerSignalHandlers that calls
ui.stop() before exiting, mirroring the existing emergencyTerminalExit
pattern. The handler is registered with prependListener and tracked in
signalCleanupHandlers, so it is removed on graceful shutdown the same way
the other handlers are.

Unlike emergencyTerminalExit (used for SIGHUP / dead-terminal EIO), the
terminal is still alive on uncaughtException, so we run the normal
ui.stop() to restore cooked mode, the cursor, bracketed paste mode, and
Kitty / modifyOtherKeys sequences.
2026-05-11 16:27:27 -04:00
Armin Ronacher 3d9e14d748 fix(compaction): clamp summary output tokens
Fixes #4390.
2026-05-11 16:36:27 +02:00
Michael Yu d68011dab1 fix(coding-agent): dispose SDK example sessions 2026-05-11 13:26:08 +08:00
Maximilian 68deecfb4f minor fix in body 2026-05-11 00:45:30 +02:00
Maximilian 74739567b9 fix tool config in SDK docs 2026-05-11 00:32:19 +02:00
Maximilian df72d5eefe fix inconsistency in README 2026-05-11 00:16:46 +02:00
Maximilian 4eadc8fd3e fix tool config in example in SDK README.md 2026-05-10 23:34:28 +02:00
Maximilian c3ce1d33d4 fix tool config in example in sdk.ts 2026-05-10 23:32:15 +02:00
Sviatoslav Abakumov 863341fbf5 fix(tui): render the checkboxes in the to-do list items 2026-05-10 22:20:40 +04:00
Mario Zechner f348a06294 test(agent): cover harness stream configuration 2026-05-10 19:10:54 +02:00
Mario Zechner c0f416aabc feat(agent): add harness stream configuration 2026-05-10 18:13:16 +02:00
Mario Zechner f8d0fa67dc fix(coding-agent): share theme across package scopes
closes #4333
2026-05-10 18:13:16 +02:00
Mario ZechnerandGitHub f6b6b1f052 Merge pull request #4354 from haoqixu/fix-bun-ws-proxy
fix(ai): respect proxy envs in bun's websocket
2026-05-10 18:03:48 +02:00
Mario ZechnerandGitHub cb3c42ecf5 Merge pull request #4358 from yanirz/fix/fireworks-session-affinity-cache
fix(ai): add session affinity and compat fixes for Fireworks provider caching
2026-05-10 18:00:52 +02:00
github-actions[bot] f2231fa5f7 chore: approve contributor maximilianzuern 2026-05-10 15:55:29 +00:00
Mario Zechner 533d37305c fix(ai): align copilot claude adaptive test 2026-05-10 17:51:08 +02:00
Mario Zechner cf7f2e3dbb fix(ai): update copilot claude test model 2026-05-10 17:47:45 +02:00
Mario Zechner e25415dd5f refactor(agent): finalize harness resource config 2026-05-10 00:49:00 +02:00
Mario Zechner 79db9d62ef refactor(agent): make harness resources explicit 2026-05-10 00:18:50 +02:00
yanirz 99dc6fcec8 fix(ai): add session affinity and compat fixes for Fireworks provider caching
Fireworks prompt caching is enabled by default (automatic prefix matching),
but on serverless infrastructure, requests hit random replicas. Without
session affinity, the per-replica cache misses, negating cache hit rates
and the discounted cacheRead pricing.

Changes:

- Add sendSessionAffinityHeaders and supportsCacheControlOnTools
  to AnthropicMessagesCompat interface
- Send x-session-affinity header for Fireworks (and Cloudflare AI
  Gateway Anthropic) when sessionId is available and caching is enabled
- Omit cache_control on tool definitions for Fireworks (unsupported
  per https://docs.fireworks.ai/tools-sdks/anthropic-compatibility)
- Default supportsEagerToolInputStreaming to false for Fireworks
  (unsupported field)
- Default supportsLongCacheRetention to false for Fireworks
  (cache_control.ttl not supported)
- Add compat settings to Fireworks models in generate-models.ts
- Update generated models with Fireworks compat settings
- Add integration tests for session affinity and tool compat

Refs: https://docs.fireworks.ai/guides/prompt-caching
Refs: https://docs.fireworks.ai/tools-sdks/anthropic-compatibility
2026-05-10 00:11:36 +02:00
Mario Zechner fe6b85b32c docs(agent): clarify harness lifecycle state 2026-05-09 23:37:36 +02:00
Mario Zechner 322759a3f0 refactor(agent): snapshot harness turn state 2026-05-09 23:34:58 +02:00
Armin Ronacher 76131673d3 docs(coding-agent): update theme schema URLs 2026-05-09 23:03:58 +02:00
haoqixu 8c2e3eddec fix(ai): respect proxy envs in bun's websocket
fixes #4346
2026-05-10 03:43:07 +08:00
Mario Zechner f13e6a88ab test(agent): pin harness resource formatting 2026-05-09 19:55:48 +02:00
Mario Zechner 401017a3e8 refactor(agent): rename resource formatting helpers 2026-05-09 19:44:08 +02:00
Mario ZechnerandGitHub 3d5cbe98c3 Merge pull request #4327 from Perlence/feat-tui-wrap-list-items-with-indent
feat(tui): wrap list items with indent
2026-05-08 21:38:50 +02:00
Sviatoslav Abakumov 116bffeb88 feat(tui): wrap list items with indent 2026-05-08 23:03:22 +04:00
Mario Zechner 7adb8e7634 feat(ai): add Together AI provider 2026-05-08 16:44:18 +02:00
Mario ZechnerandGitHub 9751057be9 Merge pull request #3887 from cristinaponcela/feat/image-outputs
feat: image content
2026-05-08 15:57:06 +02:00
Mario Zechner b3d441550d chore: update issue gate refactor message 2026-05-08 15:48:20 +02:00
Mario Zechner 91bacac739 fix(coding-agent): show Option key on macOS
closes #4289
2026-05-08 15:48:20 +02:00