Commit Graph

3060 Commits

Author SHA1 Message Date
Mario Zechner 29681bd532 Release v0.62.0 2026-03-23 02:49:53 +01:00
Mario Zechner abac5d6f29 docs: complete changelog entries for unreleased changes 2026-03-23 02:48:43 +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 ab771a84b2 fix(tui): preserve heading styling after inline code spans
Headings applied styling (bold+cyan) as an outer wrapper around the
result of renderInlineTokens. When inline elements like codespan emitted
ANSI resets, the outer heading style was killed and only the default
text style was restored via stylePrefix.

Fix: pass a heading-specific InlineStyleContext into renderInlineTokens
so each text segment gets heading styling directly, and stylePrefix
restores heading style after inline elements.
2026-03-23 01:07:38 +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 0cf18f3cf2 docs: extend OSS weekend to 2026-03-30 2026-03-22 23:33:52 +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 d1613e3f53 fix(ai): handle explicit thinking off across providers closes #2490 2026-03-22 20:27:44 +01:00
Mario Zechner 6129971c04 fix(ai): explicitly disable Anthropic thinking when off closes #2022 2026-03-22 19:38:54 +01:00
Mario Zechner 74073e5227 fix(coding-agent): skip no-op git package reinstalls
closes #2503
2026-03-22 19:19:47 +01:00
wjonaskr 3bcbae490c feat(ai): add requestMetadata support to BedrockOptions for cost allocation tagging (#2511)
Add an optional requestMetadata field to BedrockOptions that forwards
key-value pairs to the Bedrock Converse API ConverseStreamCommand. Tags
appear in AWS Cost Explorer split cost allocation data, enabling callers
to attribute inference costs to specific applications or contexts.

Changes:
- Add requestMetadata?: Record<string, string> to BedrockOptions with
  JSDoc documenting AWS constraints (max 50 pairs, key 64 chars, value
  256 chars, no aws: prefix)
- Pass requestMetadata to commandInput via conditional spread to avoid
  sending undefined when omitted
- Export BedrockOptions from package root (consistent with other
  provider option types)
- Add E2E tests: metadata forwarded to SDK payload, and omitted when
  not provided

closes #2510
2026-03-22 19:05:55 +01:00
Mario Zechner b21b42d032 fix(ai): hash foreign responses tool item ids 2026-03-22 05:40:26 +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
Duncan Ogilvie 80f527ec22 feat(coding-agent): add startup profiling scripts for tui/rpc (#2497) 2026-03-21 20:46:00 +01:00
Mario Zechner f90647ea8e fix(coding-agent): disable cli-highlight auto-detection for languageless code blocks
cli-highlight's auto-detection misidentifies prose as AppleScript,
LiveCodeServer, etc., coloring random English words (if, but, and, the,
that, is) as keywords. This happens when code blocks have no language
specified: fenced blocks without a language tag, indented code blocks,
or unclosed fences during streaming.

Skip auto-detection entirely and apply plain mdCodeBlock styling instead.
2026-03-21 10:46:01 +01:00
Mario Zechner 77db2e4c18 fix(tui): stream truncateToWidth for large strings closes #2447 2026-03-21 10:06:29 +01:00
Mario Zechner 78833dfcbc chore(ai): format openai completions test 2026-03-21 09:16:49 +01:00
Mario Zechner 60358dc493 Merge remote-tracking branch 'origin/main' 2026-03-20 20:16:07 +01:00
Mario Zechner a84fd4e3cf Add [Unreleased] section for next cycle 2026-03-20 20:15:24 +01:00
Mario Zechner b63a4abed2 Release v0.61.1 2026-03-20 20:14:36 +01:00
Mario Zechner 3d5465001f chore: update unreleased changelog entries 2026-03-20 20:13:36 +01:00
Cheng-Zi-Qing 7e2689ac18 packages/ai: ignore null chunks in openai-completions streams (#2466) 2026-03-20 20:01:28 +01:00
Mario Zechner eda1082d4b fix(coding-agent): update project npm packages
closes #2459
2026-03-20 19:36:06 +01:00
Mario Zechner 16937947be fix(tui): skip Termux height redraws closes #2467 2026-03-20 19:35:50 +01:00
Mario Zechner 6b83bf4b59 docs: enable OSS weekend 2026-03-20 19:12:42 +01:00
Ziphyrien 7c92bb8151 fix(subagent): reuse current pi invocation for child agents closes #2464 (#2465) 2026-03-20 17:12:24 +01:00
Mario Zechner 47ea28b584 fix(coding-agent): export ToolCallEventResult closes #2458 2026-03-20 12:54:33 +01:00
Mario Zechner 6de8a2570b fix(tui): stop evicting unrelated default keybindings closes #2455 2026-03-20 12:54:20 +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 c2a42e3215 Add [Unreleased] section for next cycle 2026-03-20 02:09:43 +01:00
Mario Zechner 1cb697cff8 Release v0.61.0 2026-03-20 02:08:56 +01:00
Mario Zechner a2baeb9a9d docs(changelog): audit unreleased entries 2026-03-20 02:04:22 +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
Mario Zechner 527c2af5e7 chore(ai): normalize MiMo V2 Pro model name 2026-03-20 01:55:30 +01:00
Mario Zechner 21ef72e9ce fix(coding-agent): protect rpc stdout fixes #2388 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
Sviatoslav Abakumov 970774ec3c fix(coding-agent): /model shows stale scoped models (#2408)
After updating models.json, the scoped model selector still shows the
old values when opened. Switching to the "all" scope, however, shows
updated model definitions.
2026-03-19 23:40:07 +01:00
Dillon Mulroy fe535333fe feat(coding-agent): add resizable share sidebar (#2435) 2026-03-19 23:31:53 +01:00
Mario Zechner 0d7c81ec9e fix(ai): skip AJV validation in restricted runtimes closes #2395 2026-03-19 22:51:12 +01:00
Mario Zechner 31c7406a56 fix(coding-agent): suppress process warnings in CLI closes #2404 2026-03-19 22:21:48 +01:00
Mario Zechner ac5e0ef76e Updated models 2026-03-19 22:13:27 +01:00
Mario Zechner a6337dc709 fix(coding-agent): show bash tool elapsed time at bottom closes #2406 2026-03-19 22:13:27 +01:00
Mario Zechner 3620adb3e2 fix(coding-agent): reload custom themes from disk watcher\n\ncloses #2417\ncloses #2003 2026-03-19 21:53:05 +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