@mariozechner/pi-coding-agent 0.63.0 → 0.63.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/README.md +2 -2
  3. package/dist/core/agent-session.d.ts +4 -3
  4. package/dist/core/agent-session.d.ts.map +1 -1
  5. package/dist/core/agent-session.js +65 -10
  6. package/dist/core/agent-session.js.map +1 -1
  7. package/dist/core/compaction/compaction.d.ts +1 -1
  8. package/dist/core/compaction/compaction.d.ts.map +1 -1
  9. package/dist/core/compaction/compaction.js +18 -17
  10. package/dist/core/compaction/compaction.js.map +1 -1
  11. package/dist/core/extensions/runner.d.ts +1 -0
  12. package/dist/core/extensions/runner.d.ts.map +1 -1
  13. package/dist/core/extensions/runner.js +3 -0
  14. package/dist/core/extensions/runner.js.map +1 -1
  15. package/dist/core/extensions/types.d.ts +10 -1
  16. package/dist/core/extensions/types.d.ts.map +1 -1
  17. package/dist/core/extensions/types.js.map +1 -1
  18. package/dist/core/package-manager.d.ts.map +1 -1
  19. package/dist/core/package-manager.js +34 -18
  20. package/dist/core/package-manager.js.map +1 -1
  21. package/dist/core/tools/edit-diff.d.ts +3 -3
  22. package/dist/core/tools/edit-diff.d.ts.map +1 -1
  23. package/dist/core/tools/edit-diff.js +50 -25
  24. package/dist/core/tools/edit-diff.js.map +1 -1
  25. package/dist/core/tools/edit.d.ts +7 -17
  26. package/dist/core/tools/edit.d.ts.map +1 -1
  27. package/dist/core/tools/edit.js +23 -98
  28. package/dist/core/tools/edit.js.map +1 -1
  29. package/dist/core/tools/index.d.ts +5 -10
  30. package/dist/core/tools/index.d.ts.map +1 -1
  31. package/dist/modes/interactive/components/tool-execution.d.ts +0 -1
  32. package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  33. package/dist/modes/interactive/components/tool-execution.js +2 -7
  34. package/dist/modes/interactive/components/tool-execution.js.map +1 -1
  35. package/dist/modes/interactive/interactive-mode.d.ts +0 -1
  36. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  37. package/dist/modes/interactive/interactive-mode.js +27 -64
  38. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  39. package/docs/extensions.md +44 -1
  40. package/docs/skills.md +3 -2
  41. package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
  42. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  43. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  44. package/examples/extensions/custom-provider-qwen-cli/package.json +1 -1
  45. package/examples/extensions/trigger-compact.ts +11 -1
  46. package/examples/extensions/with-deps/package-lock.json +2 -2
  47. package/examples/extensions/with-deps/package.json +1 -1
  48. package/package.json +4 -4
package/CHANGELOG.md CHANGED
@@ -1,5 +1,40 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.63.2] - 2026-03-29
4
+
5
+ ### New Features
6
+
7
+ - Extension handlers can now use `ctx.signal` to forward cancellation into nested model calls, `fetch()`, and other abort-aware work. See [docs/extensions.md#ctxsignal](docs/extensions.md#ctxsignal) ([#2660](https://github.com/badlogic/pi-mono/issues/2660))
8
+ - Built-in `edit` tool input now uses `edits[]` as the only replacement shape, reducing invalid tool calls caused by mixed single-edit and multi-edit schemas ([#2639](https://github.com/badlogic/pi-mono/issues/2639))
9
+ - Large multi-edit results no longer trigger full-screen redraws in the interactive TUI when the final diff is rendered ([#2664](https://github.com/badlogic/pi-mono/issues/2664))
10
+
11
+ ### Added
12
+
13
+ - Added `ctx.signal` to `ExtensionContext` and wired it to the active agent turn so extension handlers can forward cancellation into nested model calls, `fetch()`, and other abort-aware work ([#2660](https://github.com/badlogic/pi-mono/issues/2660))
14
+
15
+ ### Fixed
16
+
17
+ - Fixed built-in `edit` tool input to use `edits[]` as the only replacement shape, eliminating the mixed single-edit and multi-edit modes that caused repeated invalid tool calls and retries ([#2639](https://github.com/badlogic/pi-mono/issues/2639))
18
+ - Fixed edit tool TUI rendering to defer large multi-edit diffs to the settled result, avoiding full-screen redraws when the tool completes ([#2664](https://github.com/badlogic/pi-mono/issues/2664))
19
+
20
+ ## [0.63.1] - 2026-03-27
21
+
22
+ ### Added
23
+
24
+ - Added `gemini-3.1-pro-preview-customtools` model availability for the `google-vertex` provider ([#2610](https://github.com/badlogic/pi-mono/pull/2610) by [@gordonhwc](https://github.com/gordonhwc))
25
+
26
+ ### Fixed
27
+
28
+ - Documented `tool_call` input mutation as supported extension API behavior, clarified that post-mutation inputs are not re-validated, and added regression coverage for executing mutated tool arguments ([#2611](https://github.com/badlogic/pi-mono/issues/2611))
29
+ - Fixed repeated compactions dropping messages that were kept by an earlier compaction by re-summarizing from the previous kept boundary and recalculating `tokensBefore` from the rebuilt session context ([#2608](https://github.com/badlogic/pi-mono/issues/2608))
30
+ - Fixed interactive compaction UI updates so `ctx.compact()` rebuilds the chat through unified compaction events, manual compaction no longer duplicates the summary block, and the `trigger-compact` example only fires when context usage crosses its threshold ([#2617](https://github.com/badlogic/pi-mono/issues/2617))
31
+ - Fixed interactive compaction completion to append a synthetic compaction summary after rebuilding the chat so the latest compaction remains visible at the bottom
32
+ - Fixed skill discovery to stop recursing once a directory contains `SKILL.md`, and to ignore root `*.md` files in `.agents/skills` while keeping root markdown skill files supported in `~/.pi/agent/skills`, `.pi/skills`, and package `skills/` directories ([#2603](https://github.com/badlogic/pi-mono/issues/2603))
33
+ - Fixed edit tool diff rendering for multi-edit operations with large unchanged gaps so distant edits collapse intermediate context instead of dumping the full unchanged middle block
34
+ - Fixed edit tool error rendering to avoid repeating the same exact-match failure in both the preview and result blocks
35
+ - Fixed auto-compaction overflow recovery for Ollama models when the backend returns explicit `prompt too long; exceeded max context length ...` errors instead of silently truncating input ([#2626](https://github.com/badlogic/pi-mono/issues/2626))
36
+ - Fixed built-in tool overrides that reuse built-in parameter schemas to still honor custom `renderCall` and `renderResult` renderers in the interactive TUI, restoring the `minimal-mode` example ([#2595](https://github.com/badlogic/pi-mono/issues/2595))
37
+
3
38
  ## [0.63.0] - 2026-03-27
4
39
 
5
40
  ### Breaking Changes
package/README.md CHANGED
@@ -1,9 +1,9 @@
1
1
  <!-- OSS_WEEKEND_START -->
2
2
  # 🏖️ OSS Weekend
3
3
 
4
- **Issue tracker reopens Monday, March 30, 2026.**
4
+ **Issue tracker reopens Monday, April 6, 2026.**
5
5
 
6
- OSS weekend runs Sunday, March 22, 2026 through Monday, March 30, 2026. New issues are auto-closed during this time. For support, join [Discord](https://discord.com/invite/3cU7Bz4UPx).
6
+ OSS weekend runs Friday, March 27, 2026 through Monday, April 6, 2026. New issues are auto-closed during this time. For support, join [Discord](https://discord.com/invite/3cU7Bz4UPx).
7
7
  <!-- OSS_WEEKEND_END -->
8
8
 
9
9
  ---
@@ -38,10 +38,11 @@ export interface ParsedSkillBlock {
38
38
  export declare function parseSkillBlock(text: string): ParsedSkillBlock | null;
39
39
  /** Session-specific events that extend the core AgentEvent */
40
40
  export type AgentSessionEvent = AgentEvent | {
41
- type: "auto_compaction_start";
42
- reason: "threshold" | "overflow";
41
+ type: "compaction_start";
42
+ reason: "manual" | "threshold" | "overflow";
43
43
  } | {
44
- type: "auto_compaction_end";
44
+ type: "compaction_end";
45
+ reason: "manual" | "threshold" | "overflow";
45
46
  result: CompactionResult | undefined;
46
47
  aborted: boolean;
47
48
  willRetry: boolean;