Commit Graph

291 Commits

Author SHA1 Message Date
Mario Zechner
f456a7a4db fix(coding-agent): restore compaction summary and dedupe edit errors 2026-03-27 04:00:21 +01:00
Mario Zechner
a0734bd162 fix(coding-agent): tighten skill discovery and edit diffs closes #2603 2026-03-27 03:48:28 +01:00
Mario Zechner
eeace79715 fix(coding-agent): preserve kept messages across repeated compaction closes #2608 2026-03-27 03:36:57 +01:00
Mario Zechner
161ad18287 fix(coding-agent): unify compaction UI events closes #2617 2026-03-27 03:14:24 +01:00
Mario Zechner
1ba899f6a6 fix(coding-agent): honor custom renderers for built-in tool overrides closes #2595 2026-03-27 03:10:13 +01:00
Mario Zechner
20a57e7599 feat(coding-agent): support multi-edit in edit tool 2026-03-27 02:21:09 +01:00
Mario Zechner
7a786d88aa fix(coding-agent): resolve models.json auth per request closes #1835 2026-03-27 00:47:40 +01:00
Mario Zechner
7e94d36a44 fix(coding-agent): add follow-up docs, changelog, and precedence tests closes #2429 2026-03-26 00:28:30 +01:00
Sam
2b1fc90cd7 feat(coding-agent): Add sessionDir support in settings.json (#2598)
Users can now set sessionDir in global or project settings.json instead
of passing --session-dir on every invocation. CLI flag takes precedence,
then settings.json, then extension hooks.

Closes #2429

Co-authored-by: Sam Collins <81678+smcllns@users.noreply.github.com>
Co-authored-by: Mario Zechner <badlogicgames@gmail.com>
2026-03-26 00:03:36 +01:00
Mario Zechner
1dbe61b06f test(coding-agent): use valid PNG fixture for read tool 2026-03-25 22:22:48 +01:00
Mario Zechner
a6cfcdac18 test(coding-agent): fix showLoadedResources mocks 2026-03-25 22:18:58 +01:00
Mario Zechner
0a395a149a test(coding-agent): stabilize git update branch setup 2026-03-25 22:15:19 +01:00
Mario Zechner
ebe437081e fix(coding-agent): emit session_shutdown in print mode closes #2576 2026-03-24 23:50:47 +01:00
Mario Zechner
d08ab9b9c1 fix(coding-agent): recompute interactive bash preview width closes #2569 2026-03-24 20:09:43 +01:00
Mario Zechner
13b771e591 fix(coding-agent): reduce git update fetch noise closes #2548 2026-03-24 03:23:00 +01:00
Mario Zechner
835296b1d7 fix(coding-agent): expose rpc context usage closes #2550 2026-03-24 03:08:51 +01:00
Mario Zechner
a8a58ff26b fix(coding-agent): disambiguate duplicate slash commands, fixes #1061 2026-03-23 02:33:52 +01:00
Mario Zechner
4e5af01d73 fix(coding-agent): unify source provenance, closes #1734 2026-03-23 02:02:42 +01:00
Mario Zechner
883862a354 test(coding-agent): add AgentSession test harness with faux provider
Adds a reusable test harness for AgentSession runtime testing:

- Faux stream function with declarative response sequencing (text,
  tool calls, thinking, errors, custom usage, delays)
- Token-level streaming with realistic delta events (3-5 char chunks)
- One-call session factory with real in-memory dependencies
- Event capture with type-filtered access
- 14 self-tests covering text, tool calls, errors, retry, streaming
  deltas, thinking, event ordering, persistence

ref #2023
2026-03-23 02:02:34 +01:00
Mario Zechner
d501b9ca26 fix(coding-agent): attach source info to resources and commands, fixes #1734 2026-03-23 00:52:55 +01:00
Mario Zechner
a78882d8b8 fix(coding-agent): enforce safe auto-resized image limits closes #2055 2026-03-22 21:48:34 +01:00
Mario Zechner
f1fe49a641 fix(coding-agent): reserve stdout in print and json mode closes #2482 2026-03-22 21:21:29 +01:00
Mario Zechner
74073e5227 fix(coding-agent): skip no-op git package reinstalls
closes #2503
2026-03-22 19:19:47 +01:00
Mario Zechner
235b247f1f fix(coding-agent): built-in tools work like extension tools
Export readToolDefinition / createReadToolDefinition and the equivalent built-in ToolDefinition APIs from @mariozechner/pi-coding-agent.
2026-03-22 04:20:38 +01:00
Mario Zechner
eda1082d4b fix(coding-agent): update project npm packages
closes #2459
2026-03-20 19:36:06 +01:00
Mario Zechner
6c8ac01947 fix(coding-agent): respect agentDir for sdk session paths closes #2457 2026-03-20 12:12:18 +01:00
Mario Zechner
75fc6d088d fix(coding-agent): keep suspend resume alive on fg closes #2454 2026-03-20 11:56:15 +01:00
简简简简
8705fbee54 fix(models): align minimax and zai defaults (#2445)
Update the coding-agent default model picks for ZAI, Cerebras,
and MiniMax so new sessions prefer the current model lineup.

Add the missing MiniMax-M2.1-highspeed direct provider entries
and normalize MiniMax Anthropic-compatible context limits so the
catalog matches the provider's supported model set.
2026-03-20 10:00:57 +01:00
Mario Zechner
e3fee7a511 fix(keybindings): migrate to namespaced ids closes #2391 2026-03-20 01:55:30 +01:00
Mario Zechner
74a46fc7ea fix(coding-agent): queue file mutations across edit and write
closes #2327
2026-03-20 01:55:30 +01:00
Petr Baudis
8a0529ed9d fix(coding-agent): resolve waitForRetry() race when auto-retry produces tool calls (#2440)
When auto-retry fires after a retryable error (e.g. overloaded_error) and the
retry response includes tool_use, session.prompt() returned prematurely because
_resolveRetry() was called on the first successful message_end — while the
agent loop was still executing tools via the fire-and-forget agent.continue().

This caused callers to observe isStreaming=true after prompt() returned, and
follow-up session.prompt() calls threw 'Agent is already processing'. The
tool execution results were silently lost.

Fix: move _resolveRetry() from the message_end handler to the agent_end
handler. The _retryAttempt counter reset stays on message_end (preventing
accumulation across LLM calls within a turn), but the promise that unblocks
waitForRetry() now only resolves when the full agent loop completes.
2026-03-20 00:33:17 +01:00
Mario Zechner
e0f85a3b5e fix(coding-agent): avoid blocking footer branch refresh and isolate invalid extension provider registrations closes #2418 closes #2431 2026-03-19 21:40:55 +01:00
Duncan Ogilvie
25b185f398 fix(coding-agent): fix windows hanging when descendants inherit stdout/stderr handles (#2389) 2026-03-19 08:34:52 +01:00
Mario Zechner
ce095e2846 fix(coding-agent): make tests keybinding-agnostic
Reset global editor keybindings to defaults in beforeEach for
session-selector-rename and tree-selector tests. Pass
KeybindingsManager.inMemory() to SessionSelectorComponent in tests
to avoid reading user keybindings.json.

Closes #2360
2026-03-18 16:53:25 +01:00
Mario Zechner
f951d45000 fix(coding-agent): stop updating packages on startup closes #1963 2026-03-18 03:26:46 +01:00
Mario Zechner
2becbbdff3 fix(coding-agent): refresh active model after provider updates closes #2291 2026-03-18 01:12:11 +01:00
Mario Zechner
1a9185d3cb feat(coding-agent): add --fork session flag closes #2290 2026-03-18 01:09:23 +01:00
Mario Zechner
9651e4114d feat(coding-agent): expose local bash operations closes #2299 2026-03-18 00:41:57 +01:00
Mario Zechner
d914d1c199 fix(coding-agent): handle z.ai network_error closes #2313 2026-03-17 22:34:49 +01:00
Mario Zechner
bbd8392ef9 fix(coding-agent): merge piped stdin into initial prompt closes #2315 2026-03-17 22:25:35 +01:00
Aaron Soules
2d05e87281 fix(coding-agent): handle reftable footer branch detection (#2300)
* fix(coding-agent): handle reftable footer branch detection

- Fall back to git commands when HEAD contains refs/heads/.invalid
- Treat unresolved .invalid as detached instead of showing literal .invalid
- Watch reftable directory for branch change updates
- Resolve commonGitDir for worktree setups

fixes #2123

* fix(coding-agent): improve reftable branch detection and reduce false-positive rerenders

- Re-resolve branch on watcher events instead of invalidating cache;
  only notify listeners when the branch string actually changed
- Add regression tests: regular repo fast path (no spawnSync), nested
  cwd upward walk, unchanged-branch reftable churn suppression
2026-03-17 15:33:33 +01:00
Mario Zechner
7817e9b227 fix(coding-agent): make prompt snippets opt in closes #2285 2026-03-17 12:44:16 +01:00
Mario Zechner
700bcf3455 fix(coding-agent): normalize fuzzy edit matching and run touched tests closes #2044 2026-03-15 19:15:38 +01:00
badlogic
4f81c3c28d fix(coding-agent,tui): stabilize windows shell/path handling
fixes #1775

fixes #1769
2026-03-14 05:36:21 +01:00
Mario Zechner
bdf2419ac3 fix(coding-agent): honor provider compat in models.json closes #2062 2026-03-14 04:55:03 +01:00
Mario Zechner
7ddaf150d6 fix(coding-agent): support configurable npm wrapper command closes #2072 2026-03-14 04:38:01 +01:00
Mario Zechner
a8e3c829fa fix(coding-agent): stop skill recursion at root closes #2075 2026-03-14 04:18:28 +01:00
Mario Zechner
63ac2df24d fix(coding-agent): sync tool hooks with agent event processing closes #2113 2026-03-14 03:10:04 +01:00
Haoyu Zha
f04d9bc428 feat(session-manager): allow supplying custom session ID in newSession() (#2130)
* feat(session-manager): allow supplying custom session ID in newSession()

Add optional `id` field to `NewSessionOptions`. When provided, this ID
is used as the session ID instead of generating a random UUID. Existing
callers are unaffected since the field is optional and falls back to
`randomUUID()`.

Closes #2097

* test(session-manager): add tests for custom session ID in newSession()

Verify that newSession() uses the provided id when supplied, falls back
to randomUUID() when omitted, and includes the custom id in the session
header.
2026-03-14 01:34:48 +01:00
Daniel Nouri
758e9eccc3 fix(coding-agent): update Anthropic compaction model and HTTPS package test (#1960)
* fix(coding-agent): use supported Anthropic compaction model

The Anthropic compaction test was pinned to claude-3-7-sonnet-latest, which now fails with a 404 because that model line was retired. Switch the test to the existing claude-sonnet-4-5 convention used elsewhere in coding-agent tests.

* test(coding-agent): disable git prompts in HTTPS parsing test

The HTTPS URL parsing test intentionally clones a nonexistent GitHub repo to verify that bare HTTPS sources dispatch to git. Under a TTY, git can prompt on that path and hang the test run.

Set GIT_TERMINAL_PROMPT=0 in that test so it still exercises real git but fails fast instead of waiting for terminal input.
2026-03-08 21:33:13 +01:00