Commit Graph

3989 Commits

Author SHA1 Message Date
Mario Zechner
e1647aaa00 refactor(agent): make resource invocation explicit 2026-05-08 13:35:54 +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
Mario Zechner
6d4d2e9288 add tool stats script 2026-05-07 11:13:45 +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
Armin Ronacher
ace3fd7e30 fix(ai): normalize kimi k2p6 alias to kimi-for-coding closes #4218 2026-05-06 11:34:49 +02:00
Armin Ronacher
c9e87d2aa6 fix(tui): disable inline images in cmux
Treat CMUX_WORKSPACE_ID like tmux/screen for terminal capabilities and document the issue link.

fixes #4208
2026-05-06 11:09:55 +02:00
Mario Zechner
3029836894 fix(ai): stop Codex OAuth stderr writes
closes #4141
2026-05-06 00:14:40 +02:00
Mario Zechner
31f5c23271 fix(ai): handle OpenAI Responses reasoning text deltas 2026-05-06 00:08:26 +02:00
Mario Zechner
33fcfa18da Closes #4182 2026-05-05 17:10:35 +02:00
Mario Zechner
15aa313501 Closes #4184, codex needs a non-empty system prompt 2026-05-05 14:50:27 +02:00
Mario Zechner
060c10b8ff fix(coding-agent): skip X11-only native addon for /copy on Linux
The @mariozechner/clipboard native addon uses clipboard-rs, which is
X11-only and does not retain selection ownership after set_text resolves.
On Wayland-only compositors (Hyprland, Niri, ...) /copy reported success
without populating the clipboard. Skip the native addon on Linux and let
wl-copy/xclip/xsel handle text writes; they properly daemonize.

closes #4177
2026-05-05 14:47:51 +02:00
Mario Zechner
c806dea15e fix(tui): preserve OSC 8 hyperlink terminators 2026-05-05 13:48:15 +02:00
Mario Zechner
755da309dd fix(coding-agent): keep pending tool renders after thinking toggle
closes #4167
2026-05-05 13:18:04 +02:00
Armin Ronacher
b5755fd27d feat(oauth): support interactive login selection (#4190) 2026-05-05 13:16:56 +02:00
Julien Chaumond
bb25a3944c feat(coding-agent): allow comments and trailing commas in models.json (#4162)
* feat(coding-agent): allow comments and trailing commas in models.json

Run user-supplied models.json through a small `stripJsonComments` helper
before JSON.parse so users can annotate their config and leave trailing
commas without breaking the loader.

Co-Authored-By: julien-agent <Agents+cyolo@huggingface.co>

* fix(coding-agent): strip comments before trailing commas in models.json

The single-pass regex couldn't see a trailing comma when a `//` comment sat
between the comma and its closer. Split into two passes: strip comments
first, then strip trailing commas on the cleaned input.

Co-Authored-By: julien-agent <Agents+cyolo@huggingface.co>

---------

Co-authored-by: julien-agent <Agents+cyolo@huggingface.co>
2026-05-04 22:44:35 +02:00
Mario Zechner
bac2df36b9 fix(coding-agent): handle frontmatter prompts in print mode
closes #4163
2026-05-04 22:37:38 +02:00
Armin Ronacher
3c9c54d51b Add [Unreleased] section for next cycle 2026-05-04 20:33:08 +02:00
Armin Ronacher
dbcb473d6f Release v0.73.0 2026-05-04 20:32:03 +02:00
Armin Ronacher
299dc70abe docs(changelog): audit unreleased entries 2026-05-04 20:27:27 +02:00
Armin Ronacher
1bc640e53a fix(tui): prioritize exact fuzzy matches 2026-05-04 20:24:13 +02:00
Armin Ronacher
6b18cdbac1 fix(coding-agent): stream bash output incrementally (#4165)
fixes #4145
2026-05-04 19:06:07 +02:00
github-actions[bot]
3cd1554c8f chore: approve contributor npupko 2026-05-04 16:42:07 +00:00
Mario Zechner
0a032ae1b3 Merge branch 'main' into bigrefactor 2026-05-04 18:28:05 +02:00
Mario Zechner
51eedbcbc6 Update APPROVED_CONTRIBUTORS 2026-05-04 15:34:41 +02:00
Julien Chaumond
46885536dd chore: unset HF_TOKEN in pi-test.sh --no-env (#4161)
Co-authored-by: julien-agent <Agents+cyolo@huggingface.co>
2026-05-04 15:23:08 +02:00
Armin Ronacher
756b774935 fix(coding-agent): exit on lost terminal
Fixes #4144.
2026-05-04 12:07:16 +02:00
Armin Ronacher
e355696d8a fix(coding-agent): show compact read line ranges 2026-05-04 09:39:12 +02:00
Mario Zechner
d29e47c771 feat(agent): add harness factory helpers 2026-05-04 01:15:53 +02:00
Mario Zechner
c5340670bb Merge remote-tracking branch 'origin/main' into bigrefactor
# Conflicts:
#	packages/ai/src/providers/openai-codex-responses.ts
#	packages/coding-agent/src/core/agent-session.ts
#	packages/coding-agent/src/core/tools/read.ts
2026-05-04 00:56:51 +02:00
Armin Ronacher
78c3cbe0c3 fix(coding-agent): close codex websocket sessions
Fixes #4103
2026-05-04 00:54:46 +02:00
Armin Ronacher
ce377fc4a1 fix(ai): fall back from codex websocket to sse (#4133) 2026-05-04 00:54:46 +02:00
Mario Zechner
0959d8ec2b chore: label bigrefactor issue closures 2026-05-04 00:54:46 +02:00
Mario Zechner
0b5792ace0 chore: update temporary issue gate message 2026-05-04 00:54:46 +02:00
Jake Jia
b326bf1a3a feat(ai): switch xiaomi default to api billing, add per-region token plan providers (#4112)
Built-in `xiaomi` provider now targets the API billing endpoint (https://api.xiaomimimo.com/anthropic) — a single stable URL for keys issued at platform.xiaomimimo.com. The Token Plan endpoints are exposed as three sibling providers, each with its own env var:

- xiaomi-token-plan-cn: XIAOMI_TOKEN_PLAN_CN_API_KEY
- xiaomi-token-plan-ams: XIAOMI_TOKEN_PLAN_AMS_API_KEY
- xiaomi-token-plan-sgp: XIAOMI_TOKEN_PLAN_SGP_API_KEY

BREAKING CHANGE: users who previously set XIAOMI_API_KEY against the Token Plan AMS endpoint must move to xiaomi-token-plan-ams and set XIAOMI_TOKEN_PLAN_AMS_API_KEY. This also resolves the 401 reported by on #4005, where a platform.xiaomimimo.com key fails against the Token Plan endpoint.

closes #4082
2026-05-04 00:54:46 +02:00
myu003
924a1395bc test(ai,coding-agent): stabilize env-sensitive test cases (#4119) 2026-05-04 00:54:45 +02:00
Jakub Synowiec
05abdd8fde fix(ai): fix mismatch between models.dev and OpenCode Go (Qwen3.5/3.6, MiniMax M2.7) (#4110) 2026-05-04 00:54:45 +02:00