@codex-infinity/pi-infinity 0.61.2 → 0.61.3

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 (95) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/core/agent-session.d.ts +9 -2
  3. package/dist/core/agent-session.d.ts.map +1 -1
  4. package/dist/core/agent-session.js +36 -23
  5. package/dist/core/agent-session.js.map +1 -1
  6. package/dist/core/export-html/index.d.ts +2 -2
  7. package/dist/core/export-html/index.d.ts.map +1 -1
  8. package/dist/core/export-html/index.js +2 -2
  9. package/dist/core/export-html/index.js.map +1 -1
  10. package/dist/core/export-html/tool-renderer.d.ts +2 -2
  11. package/dist/core/export-html/tool-renderer.d.ts.map +1 -1
  12. package/dist/core/export-html/tool-renderer.js +41 -16
  13. package/dist/core/export-html/tool-renderer.js.map +1 -1
  14. package/dist/core/extensions/types.d.ts +31 -4
  15. package/dist/core/extensions/types.d.ts.map +1 -1
  16. package/dist/core/extensions/types.js.map +1 -1
  17. package/dist/core/extensions/wrapper.d.ts.map +1 -1
  18. package/dist/core/extensions/wrapper.js +2 -8
  19. package/dist/core/extensions/wrapper.js.map +1 -1
  20. package/dist/core/system-prompt.d.ts.map +1 -1
  21. package/dist/core/system-prompt.js +3 -38
  22. package/dist/core/system-prompt.js.map +1 -1
  23. package/dist/core/tools/bash.d.ts +19 -9
  24. package/dist/core/tools/bash.d.ts.map +1 -1
  25. package/dist/core/tools/bash.js +154 -59
  26. package/dist/core/tools/bash.js.map +1 -1
  27. package/dist/core/tools/edit.d.ts +14 -2
  28. package/dist/core/tools/edit.d.ts.map +1 -1
  29. package/dist/core/tools/edit.js +92 -21
  30. package/dist/core/tools/edit.js.map +1 -1
  31. package/dist/core/tools/find.d.ts +11 -4
  32. package/dist/core/tools/find.d.ts.map +1 -1
  33. package/dist/core/tools/find.js +76 -27
  34. package/dist/core/tools/find.js.map +1 -1
  35. package/dist/core/tools/grep.d.ts +15 -4
  36. package/dist/core/tools/grep.d.ts.map +1 -1
  37. package/dist/core/tools/grep.js +83 -29
  38. package/dist/core/tools/grep.js.map +1 -1
  39. package/dist/core/tools/index.d.ts +57 -19
  40. package/dist/core/tools/index.d.ts.map +1 -1
  41. package/dist/core/tools/index.js +50 -26
  42. package/dist/core/tools/index.js.map +1 -1
  43. package/dist/core/tools/ls.d.ts +9 -3
  44. package/dist/core/tools/ls.d.ts.map +1 -1
  45. package/dist/core/tools/ls.js +67 -13
  46. package/dist/core/tools/ls.js.map +1 -1
  47. package/dist/core/tools/read.d.ts +10 -3
  48. package/dist/core/tools/read.d.ts.map +1 -1
  49. package/dist/core/tools/read.js +94 -45
  50. package/dist/core/tools/read.js.map +1 -1
  51. package/dist/core/tools/render-utils.d.ts +21 -0
  52. package/dist/core/tools/render-utils.d.ts.map +1 -0
  53. package/dist/core/tools/render-utils.js +49 -0
  54. package/dist/core/tools/render-utils.js.map +1 -0
  55. package/dist/core/tools/tool-definition-wrapper.d.ts +14 -0
  56. package/dist/core/tools/tool-definition-wrapper.d.ts.map +1 -0
  57. package/dist/core/tools/tool-definition-wrapper.js +30 -0
  58. package/dist/core/tools/tool-definition-wrapper.js.map +1 -0
  59. package/dist/core/tools/write.d.ts +9 -3
  60. package/dist/core/tools/write.d.ts.map +1 -1
  61. package/dist/core/tools/write.js +161 -27
  62. package/dist/core/tools/write.js.map +1 -1
  63. package/dist/index.d.ts +1 -1
  64. package/dist/index.d.ts.map +1 -1
  65. package/dist/index.js +1 -1
  66. package/dist/index.js.map +1 -1
  67. package/dist/main.d.ts.map +1 -1
  68. package/dist/main.js +20 -3
  69. package/dist/main.js.map +1 -1
  70. package/dist/modes/interactive/components/tool-execution.d.ts +15 -40
  71. package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  72. package/dist/modes/interactive/components/tool-execution.js +120 -670
  73. package/dist/modes/interactive/components/tool-execution.js.map +1 -1
  74. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  75. package/dist/modes/interactive/interactive-mode.js +4 -6
  76. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  77. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
  78. package/dist/modes/rpc/rpc-mode.js +19 -6
  79. package/dist/modes/rpc/rpc-mode.js.map +1 -1
  80. package/docs/extensions.md +41 -26
  81. package/docs/tui.md +2 -2
  82. package/examples/extensions/built-in-tool-renderer.ts +8 -8
  83. package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
  84. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  85. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  86. package/examples/extensions/custom-provider-qwen-cli/package.json +1 -1
  87. package/examples/extensions/minimal-mode.ts +14 -14
  88. package/examples/extensions/question.ts +2 -2
  89. package/examples/extensions/questionnaire.ts +2 -2
  90. package/examples/extensions/subagent/index.ts +2 -2
  91. package/examples/extensions/todo.ts +2 -2
  92. package/examples/extensions/truncated-tool.ts +2 -2
  93. package/examples/extensions/with-deps/package-lock.json +2 -2
  94. package/examples/extensions/with-deps/package.json +1 -1
  95. package/package.json +4 -4
package/CHANGELOG.md CHANGED
@@ -2,6 +2,15 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ### Breaking Changes
6
+
7
+ - Changed `ToolDefinition.renderCall` and `renderResult` semantics. Fallback rendering now happens only when a renderer is not defined for that slot. If `renderCall` or `renderResult` is defined, it must return a `Component`.
8
+
9
+ ### Changed
10
+
11
+ - Built-in tools now work like custom tools in extensions. To get built-in tool definitions, import `readToolDefinition` / `createReadToolDefinition()` and the equivalent `bash`, `edit`, `write`, `grep`, `find`, and `ls` exports from `@mariozechner/pi-coding-agent`.
12
+ - Cleaned up `buildSystemPrompt()` so built-in tool snippets and tool-local guidelines come from built-in `ToolDefinition` metadata, while cross-tool and global prompt rules stay in system prompt construction.
13
+
5
14
  ## [0.61.1] - 2026-03-20
6
15
 
7
16
  ### New Features
@@ -78,7 +78,12 @@ export interface AgentSessionConfig {
78
78
  modelRegistry: ModelRegistry;
79
79
  /** Initial active built-in tool names. Default: [read, bash, edit, write] */
80
80
  initialActiveToolNames?: string[];
81
- /** Override base tools (useful for custom runtimes). */
81
+ /**
82
+ * Override base tools (useful for custom runtimes).
83
+ *
84
+ * These are synthesized into minimal ToolDefinitions internally so AgentSession can keep
85
+ * a definition-first registry even when callers provide plain AgentTool instances.
86
+ */
82
87
  baseToolsOverride?: Record<string, AgentTool>;
83
88
  /** Mutable ref used by Agent to access the current ExtensionRunner */
84
89
  extensionRunnerRef?: {
@@ -161,7 +166,7 @@ export declare class AgentSession {
161
166
  private _turnIndex;
162
167
  private _resourceLoader;
163
168
  private _customTools;
164
- private _baseToolRegistry;
169
+ private _baseToolDefinitions;
165
170
  private _cwd;
166
171
  private _extensionRunnerRef?;
167
172
  private _initialActiveToolNames?;
@@ -173,6 +178,7 @@ export declare class AgentSession {
173
178
  private _extensionErrorUnsubscriber?;
174
179
  private _modelRegistry;
175
180
  private _toolRegistry;
181
+ private _toolDefinitions;
176
182
  private _toolPromptSnippets;
177
183
  private _toolPromptGuidelines;
178
184
  private _baseSystemPrompt;
@@ -246,6 +252,7 @@ export declare class AgentSession {
246
252
  * Get all configured tools with name, description, and parameter schema.
247
253
  */
248
254
  getAllTools(): ToolInfo[];
255
+ getToolDefinition(name: string): ToolDefinition | undefined;
249
256
  /**
250
257
  * Set active tools by name.
251
258
  * Only tools in the registry can be enabled. Unknown tool names are ignored.