Commit Graph

3673 Commits

Author SHA1 Message Date
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
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
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 Zechner 9751057be9 Merge pull request #3887 from cristinaponcela/feat/image-outputs
feat: image content
2026-05-08 15:57:06 +02:00
Mario Zechner 91bacac739 fix(coding-agent): show Option key on macOS
closes #4289
2026-05-08 15:48:20 +02:00
Mario Zechner c889ff40e3 Merge pull request #4282 from PriNova/tw/fix-docs
docs(coding-agent): fix termux-open chooser flag
2026-05-08 15:32:25 +02:00
Mario Zechner dfb9ffa9ee Merge pull request #4299 from aliou/fix/resource-location-in-config-tui
fix(coding-agent): preserve .agents provenance in skill metadata
2026-05-08 15:32:01 +02:00
Mario Zechner defd7038ab fix(coding-agent): hyperlink update changelog closes #4280 2026-05-08 15:06:57 +02:00
Mario Zechner 90c017b05b Merge remote-tracking branch 'origin/main' into bigrefactor
# Conflicts:
#	package-lock.json
#	packages/agent/package.json
2026-05-08 13:38:20 +02:00
Mario Zechner e1647aaa00 refactor(agent): make resource invocation explicit 2026-05-08 13:35:54 +02:00
Cristina Poncela Cubeiro 8fa1194c23 fix: no fallback for apiKey 2026-05-08 11:23:15 +02:00
Cristina Poncela Cubeiro 0e4f845cf4 fix: lazy loading 2026-05-08 11:08:04 +02:00
Armin Ronacher 3421726e86 fix(coding-agent): disambiguate resource paths 2026-05-08 00:16:28 +02:00
PriNova 323abaea06 docs(coding-agent): fix termux-open chooser flag 2026-05-07 23:32:31 +02:00
Mario Zechner 783e96a144 fix(ai): disable OpenAI reasoning where supported 2026-05-07 22:52:54 +02:00
Armin Ronacher dacb7eaa90 fix(coding-agent): detect renamed npm self updates 2026-05-07 20:59:49 +02:00
Armin Ronacher f4fc04cd75 doc: Update readmes 2026-05-07 20:02:19 +02:00
Armin Ronacher 206bd08572 fix(release): restore linux binary build 2026-05-07 18:53:29 +02:00
Mario Zechner b38bd49be1 Add [Unreleased] section for next cycle 2026-05-07 18:02:17 +02:00
Mario Zechner 1eee081e29 Release v0.74.0 2026-05-07 17:15:00 +02:00
Mario Zechner 551385e409 chore: migrate packages to earendil works scope 2026-05-07 17:13:48 +02:00
Cristina Poncela Cubeiro ffdf426e33 Merge remote-tracking branch 'upstream/main' into feat/image-outputs 2026-05-07 16:46:17 +02:00
Mario Zechner 147f815802 Add [Unreleased] section for next cycle 2026-05-07 16:45:27 +02:00
Mario Zechner 781152fc24 Release v0.73.1 2026-05-07 16:44:28 +02:00
Mario Zechner 7fa924b77b docs: audit unreleased changelog entries 2026-05-07 16:43:26 +02:00
Mario Zechner e5b809e705 update changelog 2026-05-07 16:32:29 +02:00
Cristina Poncela Cubeiro 32b2cd0720 delete: images() 2026-05-07 16:21:50 +02:00
Armin Ronacher 5e1e4c3c88 feat(coding-agent): support renamed self-update package 2026-05-07 16:11:18 +02:00
Mario Zechner 3e5ad67e0f chore: migrate pi packages to earendil works scope 2026-05-07 15:59:42 +02:00
Mario Zechner 3680418251 Merge branch 'main' into bigrefactor 2026-05-07 12:21:45 +02:00
Mario Zechner 801db80b65 fix(tui): bound kitty image id parsing 2026-05-07 12:21:29 +02:00
Mario Zechner 2c28e2e2ca Merge pull request #4261 from badlogic/kitty-image-ids
fix(tui): keep kitty image redraws inside TUI
2026-05-07 12:19:13 +02:00
Mario Zechner 9eb126e7b2 docs(ai): document interleaved stream events 2026-05-07 11:42:35 +02:00
Mario Zechner fa35c5fabe Merge pull request #4247 from badlogic/separate-accumulators
fix(ai): handle mixed chat completion deltas
2026-05-07 11:37:28 +02:00
Mario Zechner 65206cfba8 docs(agent): document harness resource types 2026-05-07 11:26:15 +02:00
Mario Zechner af2b3ee243 Merge branch 'main' into bigrefactor
# Conflicts:
#	package-lock.json
#	packages/agent/package.json
2026-05-07 11:17:36 +02:00
Armin Ronacher 83a917073c fix(tui): remove explicit image ids 2026-05-07 10:43:07 +02:00
Armin Ronacher b8712457d2 fix(tui): keep kitty image redraws inside TUI
Fixes #4208.
2026-05-07 10:34:37 +02:00
Pooya Parsa 50993d743d chore(coding-agent): switch back from fork to upstream jiti 2.7 (#4244) 2026-05-07 01:04:51 +02:00
Armin Ronacher 6b271842e2 fix(ai): handle mixed chat completion deltas
Fixes #4228
2026-05-07 00:12:19 +02:00
Mario Zechner ddb18640e3 feat(agent): return diagnostics from resource loaders 2026-05-06 21:59:48 +02:00
Mario Zechner 617d8b317d refactor(agent): tighten harness environment and resources 2026-05-06 19:41:17 +02:00
Aliou Diallo 88619669e2 fix(coding-agent): strip skill wrapper XML from HTML export user messages (#4234)
Skill slash commands store a structural <skill>...</skill> wrapper in raw
user messages. The TUI uses parseSkillBlock() to split this into separate
SkillInvocationMessageComponent and UserMessageComponent siblings, but the
HTML export renderer passed the full raw text through markdown, causing
broken/dangling XML tags to appear in exported HTML.

Add parseSkillBlock() to the export template and render skill-invocation
and user-message as separate sibling blocks:
- Sidebar tree shows skill name + user prompt separately
- Content area shows a clickable skill-invocation block (collapsed by
  default, markdown content on expand) followed by the user message
- Copy-link button preserved on the wrapper element
- Toggle tools (O key) expands/collapses skill invocations alongside
  compaction and tool output blocks
2026-05-06 18:06:37 +02:00
Mario Zechner e1ca501da8 refactor(agent): expose concrete harness 2026-05-06 13:21:08 +02:00
Mario Zechner 530f14c018 refactor(agent): expose concrete harness session 2026-05-06 12:57:19 +02:00