@earendil-works/pi-coding-agent 0.87.1 → 0.99.1

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 (722) hide show
  1. package/CHANGELOG.md +97 -0
  2. package/dist/bun/cli.d.ts.map +1 -1
  3. package/dist/bun/restore-sandbox-env.d.ts.map +1 -1
  4. package/dist/bun/restore-sandbox-env.js.map +1 -1
  5. package/dist/bun/runtime-setup.d.ts.map +1 -1
  6. package/dist/bun/runtime-setup.js +4 -1
  7. package/dist/bun/runtime-setup.js.map +1 -1
  8. package/dist/bun/sandbox-env-setup.d.ts.map +1 -1
  9. package/dist/bundle/chunks/anthropic-messages-A6EXUBG6.js +6 -0
  10. package/dist/bundle/chunks/anthropic.js +2 -2
  11. package/dist/bundle/chunks/azure-openai-responses-EN5WOBET.js +2 -0
  12. package/dist/bundle/chunks/bedrock-converse-stream.js +2 -2
  13. package/dist/bundle/chunks/chunk-7JGR3GZN.js +11 -0
  14. package/dist/bundle/chunks/chunk-AXPY26X7.js +146 -0
  15. package/dist/bundle/chunks/chunk-GOPCREV2.js +4 -0
  16. package/dist/bundle/chunks/chunk-GUORCHFS.js +1435 -0
  17. package/dist/bundle/chunks/chunk-H3QXYIF7.js +31 -0
  18. package/dist/bundle/chunks/{chunk-S7SZN6Z3.js → chunk-HSPCVFST.js} +1 -1
  19. package/dist/bundle/chunks/chunk-IMTXZUO7.js +82 -0
  20. package/dist/bundle/chunks/chunk-J4CWPC4N.js +2 -0
  21. package/dist/bundle/chunks/chunk-LLMKQWZS.js +21 -0
  22. package/dist/bundle/chunks/{chunk-WIUZI2CJ.js → chunk-LRS5S6EK.js} +3 -3
  23. package/dist/bundle/chunks/chunk-PEHWOV5U.js +187 -0
  24. package/dist/bundle/chunks/{chunk-XDUWOHPL.js → chunk-S3GGRYIO.js} +2 -2
  25. package/dist/bundle/chunks/chunk-SLDA2X2H.js +2 -0
  26. package/dist/bundle/chunks/chunk-UTB4DTYQ.js +2 -0
  27. package/dist/bundle/chunks/{chunk-FUXEF6JQ.js → chunk-W2DOMZSC.js} +1 -1
  28. package/dist/bundle/chunks/cli-AZXNGIZH.js +49 -0
  29. package/dist/bundle/chunks/cloudflare-workers-ai-system-one-XJQQYGGU.js +2 -0
  30. package/dist/bundle/chunks/codemode-worker.js +295 -0
  31. package/dist/bundle/chunks/execute-7XXPZAWW.js +308 -0
  32. package/dist/bundle/chunks/github-copilot.js +1 -1
  33. package/dist/bundle/chunks/google-generative-ai-CQAKKJTA.js +2 -0
  34. package/dist/bundle/chunks/google-vertex-AE36YXJU.js +2 -0
  35. package/dist/bundle/chunks/{lib-HGQMNYVT.js → lib-TEDK3E5I.js} +2 -2
  36. package/dist/bundle/chunks/llama-cpp-classify-PJJYKPLD.js +22 -0
  37. package/dist/bundle/chunks/mistral-conversations-KEYTXJM7.js +5 -0
  38. package/dist/bundle/chunks/openai-chatgpt.js +75 -0
  39. package/dist/bundle/chunks/{openai-codex-responses-QDSOTBBO.js → openai-codex-responses-JQTCOVEG.js} +2 -2
  40. package/dist/bundle/chunks/openai-codex.js +2 -2
  41. package/dist/bundle/chunks/{openai-completions-OBX42CLD.js → openai-completions-XW2Q5HVC.js} +2 -2
  42. package/dist/bundle/chunks/openai-responses-6AXWFL75.js +3 -0
  43. package/dist/bundle/chunks/{openrouter-images-N4XVVFSD.js → openrouter-images-TPQ4V6OR.js} +1 -1
  44. package/dist/bundle/chunks/openrouter.js +2 -2
  45. package/dist/bundle/chunks/{pi-messages-GFKBWJHZ.js → pi-messages-TM5SOOIW.js} +2 -2
  46. package/dist/bundle/chunks/radius.js +2 -2
  47. package/dist/bundle/chunks/runtime-G5WJPRBM.js +2 -0
  48. package/dist/bundle/chunks/typesafe-system-one-E7A4HNJI.js +2 -0
  49. package/dist/bundle/chunks/virtual-modules-CSWRO37N.js +2 -0
  50. package/dist/bundle/cli-runtime.js +1 -1
  51. package/dist/bundle/index.js +1 -1
  52. package/dist/bundle/rpc-entry.js +1 -1
  53. package/dist/cli/args.d.ts.map +1 -1
  54. package/dist/cli/args.js +4 -3
  55. package/dist/cli/args.js.map +1 -1
  56. package/dist/cli/auth-check.d.ts.map +1 -1
  57. package/dist/cli/auth-check.js.map +1 -1
  58. package/dist/cli/auth-command.d.ts.map +1 -1
  59. package/dist/cli/auth-command.js.map +1 -1
  60. package/dist/cli/config-selector.d.ts.map +1 -1
  61. package/dist/cli/config-selector.js.map +1 -1
  62. package/dist/cli/credential-print.d.ts.map +1 -1
  63. package/dist/cli/credential-print.js.map +1 -1
  64. package/dist/cli/file-processor.d.ts.map +1 -1
  65. package/dist/cli/file-processor.js.map +1 -1
  66. package/dist/cli/initial-message.d.ts +1 -1
  67. package/dist/cli/initial-message.d.ts.map +1 -1
  68. package/dist/cli/initial-message.js.map +1 -1
  69. package/dist/cli/list-models.d.ts.map +1 -1
  70. package/dist/cli/list-models.js.map +1 -1
  71. package/dist/cli/project-trust.d.ts.map +1 -1
  72. package/dist/cli/project-trust.js.map +1 -1
  73. package/dist/cli/session-picker.d.ts.map +1 -1
  74. package/dist/cli/session-picker.js.map +1 -1
  75. package/dist/cli/setup.d.ts.map +1 -1
  76. package/dist/cli/setup.js.map +1 -1
  77. package/dist/cli/startup-ui.d.ts.map +1 -1
  78. package/dist/cli/startup-ui.js +38 -30
  79. package/dist/cli/startup-ui.js.map +1 -1
  80. package/dist/cli.d.ts.map +1 -1
  81. package/dist/config.d.ts +18 -4
  82. package/dist/config.d.ts.map +1 -1
  83. package/dist/config.js +30 -4
  84. package/dist/config.js.map +1 -1
  85. package/dist/core/agent-session-runtime.d.ts.map +1 -1
  86. package/dist/core/agent-session-runtime.js +1 -1
  87. package/dist/core/agent-session-runtime.js.map +1 -1
  88. package/dist/core/agent-session-services.d.ts.map +1 -1
  89. package/dist/core/agent-session-services.js +13 -0
  90. package/dist/core/agent-session-services.js.map +1 -1
  91. package/dist/core/agent-session.d.ts +135 -11
  92. package/dist/core/agent-session.d.ts.map +1 -1
  93. package/dist/core/agent-session.js +509 -253
  94. package/dist/core/agent-session.js.map +1 -1
  95. package/dist/core/auth-guidance.d.ts.map +1 -1
  96. package/dist/core/auth-guidance.js.map +1 -1
  97. package/dist/core/auth-storage.d.ts.map +1 -1
  98. package/dist/core/auth-storage.js.map +1 -1
  99. package/dist/core/bash-executor.d.ts.map +1 -1
  100. package/dist/core/bash-executor.js.map +1 -1
  101. package/dist/core/bug-report-upload.d.ts.map +1 -1
  102. package/dist/core/bug-report-upload.js.map +1 -1
  103. package/dist/core/bug-report.d.ts +1 -1
  104. package/dist/core/bug-report.d.ts.map +1 -1
  105. package/dist/core/bug-report.js +1 -1
  106. package/dist/core/bug-report.js.map +1 -1
  107. package/dist/core/cache-stats.d.ts.map +1 -1
  108. package/dist/core/cache-stats.js.map +1 -1
  109. package/dist/core/cache-warmer.d.ts.map +1 -1
  110. package/dist/core/cache-warmer.js.map +1 -1
  111. package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
  112. package/dist/core/compaction/branch-summarization.js.map +1 -1
  113. package/dist/core/compaction/compaction.d.ts.map +1 -1
  114. package/dist/core/compaction/compaction.js +1 -22
  115. package/dist/core/compaction/compaction.js.map +1 -1
  116. package/dist/core/compaction/index.d.ts.map +1 -1
  117. package/dist/core/compaction/utils.d.ts +2 -1
  118. package/dist/core/compaction/utils.d.ts.map +1 -1
  119. package/dist/core/compaction/utils.js +25 -18
  120. package/dist/core/compaction/utils.js.map +1 -1
  121. package/dist/core/crash-log.d.ts.map +1 -1
  122. package/dist/core/crash-log.js +2 -1
  123. package/dist/core/crash-log.js.map +1 -1
  124. package/dist/core/defaults.d.ts.map +1 -1
  125. package/dist/core/diagnostics.d.ts.map +1 -1
  126. package/dist/core/event-bus.d.ts.map +1 -1
  127. package/dist/core/event-bus.js.map +1 -1
  128. package/dist/core/exec.d.ts.map +1 -1
  129. package/dist/core/exec.js.map +1 -1
  130. package/dist/core/experimental.d.ts.map +1 -1
  131. package/dist/core/experimental.js.map +1 -1
  132. package/dist/core/export-html/ansi-to-html.d.ts.map +1 -1
  133. package/dist/core/export-html/ansi-to-html.js.map +1 -1
  134. package/dist/core/export-html/index.d.ts.map +1 -1
  135. package/dist/core/export-html/index.js.map +1 -1
  136. package/dist/core/export-html/template.css +10 -0
  137. package/dist/core/export-html/template.js +66 -17
  138. package/dist/core/export-html/tool-renderer.d.ts.map +1 -1
  139. package/dist/core/export-html/tool-renderer.js.map +1 -1
  140. package/dist/core/extensions/index.d.ts +1 -1
  141. package/dist/core/extensions/index.d.ts.map +1 -1
  142. package/dist/core/extensions/index.js.map +1 -1
  143. package/dist/core/extensions/jiti-loader.d.ts.map +1 -1
  144. package/dist/core/extensions/jiti-static-loader.d.ts.map +1 -1
  145. package/dist/core/extensions/loader.d.ts.map +1 -1
  146. package/dist/core/extensions/loader.js +55 -5
  147. package/dist/core/extensions/loader.js.map +1 -1
  148. package/dist/core/extensions/runner.d.ts +18 -1
  149. package/dist/core/extensions/runner.d.ts.map +1 -1
  150. package/dist/core/extensions/runner.js +99 -0
  151. package/dist/core/extensions/runner.js.map +1 -1
  152. package/dist/core/extensions/types.d.ts +296 -22
  153. package/dist/core/extensions/types.d.ts.map +1 -1
  154. package/dist/core/extensions/types.js.map +1 -1
  155. package/dist/core/extensions/virtual-modules.d.ts.map +1 -1
  156. package/dist/core/extensions/wrapper.d.ts +2 -2
  157. package/dist/core/extensions/wrapper.d.ts.map +1 -1
  158. package/dist/core/extensions/wrapper.js +3 -3
  159. package/dist/core/extensions/wrapper.js.map +1 -1
  160. package/dist/core/footer-data-provider.d.ts.map +1 -1
  161. package/dist/core/footer-data-provider.js.map +1 -1
  162. package/dist/core/http-dispatcher.d.ts.map +1 -1
  163. package/dist/core/http-dispatcher.js.map +1 -1
  164. package/dist/core/index.d.ts.map +1 -1
  165. package/dist/core/keybindings.d.ts +1 -1
  166. package/dist/core/keybindings.d.ts.map +1 -1
  167. package/dist/core/keybindings.js +1 -1
  168. package/dist/core/keybindings.js.map +1 -1
  169. package/dist/core/mcp-servers.d.ts +98 -0
  170. package/dist/core/mcp-servers.d.ts.map +1 -0
  171. package/dist/core/mcp-servers.js +157 -0
  172. package/dist/core/mcp-servers.js.map +1 -0
  173. package/dist/core/messages.d.ts.map +1 -1
  174. package/dist/core/messages.js.map +1 -1
  175. package/dist/core/model-config.d.ts.map +1 -1
  176. package/dist/core/model-config.js.map +1 -1
  177. package/dist/core/model-registry.d.ts +13 -1
  178. package/dist/core/model-registry.d.ts.map +1 -1
  179. package/dist/core/model-registry.js +25 -0
  180. package/dist/core/model-registry.js.map +1 -1
  181. package/dist/core/model-resolver.d.ts +2 -2
  182. package/dist/core/model-resolver.d.ts.map +1 -1
  183. package/dist/core/model-resolver.js +5 -5
  184. package/dist/core/model-resolver.js.map +1 -1
  185. package/dist/core/model-runtime.d.ts +41 -3
  186. package/dist/core/model-runtime.d.ts.map +1 -1
  187. package/dist/core/model-runtime.js +167 -17
  188. package/dist/core/model-runtime.js.map +1 -1
  189. package/dist/core/models-store.d.ts.map +1 -1
  190. package/dist/core/models-store.js.map +1 -1
  191. package/dist/core/nested-tool-calls.d.ts +102 -0
  192. package/dist/core/nested-tool-calls.d.ts.map +1 -0
  193. package/dist/core/nested-tool-calls.js +178 -0
  194. package/dist/core/nested-tool-calls.js.map +1 -0
  195. package/dist/core/output-guard.d.ts.map +1 -1
  196. package/dist/core/output-guard.js.map +1 -1
  197. package/dist/core/package-manager.d.ts +4 -0
  198. package/dist/core/package-manager.d.ts.map +1 -1
  199. package/dist/core/package-manager.js +59 -12
  200. package/dist/core/package-manager.js.map +1 -1
  201. package/dist/core/pi-manifest.d.ts.map +1 -1
  202. package/dist/core/pi-manifest.js.map +1 -1
  203. package/dist/core/project-trust.d.ts.map +1 -1
  204. package/dist/core/project-trust.js.map +1 -1
  205. package/dist/core/prompt-templates.d.ts.map +1 -1
  206. package/dist/core/prompt-templates.js.map +1 -1
  207. package/dist/core/provider-attribution.d.ts.map +1 -1
  208. package/dist/core/provider-attribution.js.map +1 -1
  209. package/dist/core/provider-composer.d.ts +40 -21
  210. package/dist/core/provider-composer.d.ts.map +1 -1
  211. package/dist/core/provider-composer.js +92 -40
  212. package/dist/core/provider-composer.js.map +1 -1
  213. package/dist/core/radius.d.ts.map +1 -1
  214. package/dist/core/radius.js.map +1 -1
  215. package/dist/core/remote-catalog-provider.d.ts +8 -1
  216. package/dist/core/remote-catalog-provider.d.ts.map +1 -1
  217. package/dist/core/remote-catalog-provider.js +18 -3
  218. package/dist/core/remote-catalog-provider.js.map +1 -1
  219. package/dist/core/resolve-config-value.d.ts.map +1 -1
  220. package/dist/core/resolve-config-value.js.map +1 -1
  221. package/dist/core/resource-loader.d.ts +7 -1
  222. package/dist/core/resource-loader.d.ts.map +1 -1
  223. package/dist/core/resource-loader.js +161 -35
  224. package/dist/core/resource-loader.js.map +1 -1
  225. package/dist/core/runtime-credentials.d.ts.map +1 -1
  226. package/dist/core/runtime-credentials.js.map +1 -1
  227. package/dist/core/sdk.d.ts +1 -1
  228. package/dist/core/sdk.d.ts.map +1 -1
  229. package/dist/core/sdk.js +24 -6
  230. package/dist/core/sdk.js.map +1 -1
  231. package/dist/core/session-cwd.d.ts.map +1 -1
  232. package/dist/core/session-cwd.js.map +1 -1
  233. package/dist/core/session-export.d.ts.map +1 -1
  234. package/dist/core/session-export.js.map +1 -1
  235. package/dist/core/session-manager.d.ts +9 -0
  236. package/dist/core/session-manager.d.ts.map +1 -1
  237. package/dist/core/session-manager.js +22 -22
  238. package/dist/core/session-manager.js.map +1 -1
  239. package/dist/core/settings-diagnostics.d.ts.map +1 -1
  240. package/dist/core/settings-diagnostics.js.map +1 -1
  241. package/dist/core/settings-manager.d.ts +31 -1
  242. package/dist/core/settings-manager.d.ts.map +1 -1
  243. package/dist/core/settings-manager.js +72 -2
  244. package/dist/core/settings-manager.js.map +1 -1
  245. package/dist/core/skills.d.ts.map +1 -1
  246. package/dist/core/skills.js.map +1 -1
  247. package/dist/core/slash-commands.d.ts.map +1 -1
  248. package/dist/core/source-info.d.ts +8 -0
  249. package/dist/core/source-info.d.ts.map +1 -1
  250. package/dist/core/source-info.js +16 -0
  251. package/dist/core/source-info.js.map +1 -1
  252. package/dist/core/system-prompt.d.ts.map +1 -1
  253. package/dist/core/system-prompt.js +1 -1
  254. package/dist/core/system-prompt.js.map +1 -1
  255. package/dist/core/telemetry.d.ts.map +1 -1
  256. package/dist/core/telemetry.js.map +1 -1
  257. package/dist/core/timings.d.ts.map +1 -1
  258. package/dist/core/timings.js.map +1 -1
  259. package/dist/core/tools/bash.d.ts +12 -0
  260. package/dist/core/tools/bash.d.ts.map +1 -1
  261. package/dist/core/tools/bash.js +35 -2
  262. package/dist/core/tools/bash.js.map +1 -1
  263. package/dist/core/tools/edit-diff.d.ts.map +1 -1
  264. package/dist/core/tools/edit-diff.js.map +1 -1
  265. package/dist/core/tools/edit.d.ts.map +1 -1
  266. package/dist/core/tools/edit.js.map +1 -1
  267. package/dist/core/tools/file-mutation-queue.d.ts.map +1 -1
  268. package/dist/core/tools/file-mutation-queue.js.map +1 -1
  269. package/dist/core/tools/find.d.ts.map +1 -1
  270. package/dist/core/tools/find.js.map +1 -1
  271. package/dist/core/tools/grep.d.ts.map +1 -1
  272. package/dist/core/tools/grep.js.map +1 -1
  273. package/dist/core/tools/index.d.ts.map +1 -1
  274. package/dist/core/tools/index.js.map +1 -1
  275. package/dist/core/tools/ls.d.ts.map +1 -1
  276. package/dist/core/tools/ls.js.map +1 -1
  277. package/dist/core/tools/output-accumulator.d.ts +11 -0
  278. package/dist/core/tools/output-accumulator.d.ts.map +1 -1
  279. package/dist/core/tools/output-accumulator.js +36 -0
  280. package/dist/core/tools/output-accumulator.js.map +1 -1
  281. package/dist/core/tools/path-utils.d.ts.map +1 -1
  282. package/dist/core/tools/path-utils.js.map +1 -1
  283. package/dist/core/tools/powershell.d.ts.map +1 -1
  284. package/dist/core/tools/powershell.js.map +1 -1
  285. package/dist/core/tools/read.d.ts.map +1 -1
  286. package/dist/core/tools/read.js.map +1 -1
  287. package/dist/core/tools/render-utils.d.ts +6 -0
  288. package/dist/core/tools/render-utils.d.ts.map +1 -1
  289. package/dist/core/tools/render-utils.js +26 -0
  290. package/dist/core/tools/render-utils.js.map +1 -1
  291. package/dist/core/tools/renderers/bash.d.ts.map +1 -1
  292. package/dist/core/tools/renderers/bash.js +9 -10
  293. package/dist/core/tools/renderers/bash.js.map +1 -1
  294. package/dist/core/tools/renderers/edit.d.ts.map +1 -1
  295. package/dist/core/tools/renderers/edit.js.map +1 -1
  296. package/dist/core/tools/renderers/find.d.ts.map +1 -1
  297. package/dist/core/tools/renderers/find.js.map +1 -1
  298. package/dist/core/tools/renderers/grep.d.ts.map +1 -1
  299. package/dist/core/tools/renderers/grep.js.map +1 -1
  300. package/dist/core/tools/renderers/index.d.ts.map +1 -1
  301. package/dist/core/tools/renderers/index.js.map +1 -1
  302. package/dist/core/tools/renderers/ls.d.ts.map +1 -1
  303. package/dist/core/tools/renderers/ls.js.map +1 -1
  304. package/dist/core/tools/renderers/read.d.ts.map +1 -1
  305. package/dist/core/tools/renderers/read.js +3 -2
  306. package/dist/core/tools/renderers/read.js.map +1 -1
  307. package/dist/core/tools/renderers/write.d.ts.map +1 -1
  308. package/dist/core/tools/renderers/write.js.map +1 -1
  309. package/dist/core/tools/tool-definition-wrapper.d.ts +5 -3
  310. package/dist/core/tools/tool-definition-wrapper.d.ts.map +1 -1
  311. package/dist/core/tools/tool-definition-wrapper.js +3 -1
  312. package/dist/core/tools/tool-definition-wrapper.js.map +1 -1
  313. package/dist/core/tools/truncate.d.ts +14 -0
  314. package/dist/core/tools/truncate.d.ts.map +1 -1
  315. package/dist/core/tools/truncate.js +29 -0
  316. package/dist/core/tools/truncate.js.map +1 -1
  317. package/dist/core/tools/write.d.ts.map +1 -1
  318. package/dist/core/tools/write.js.map +1 -1
  319. package/dist/core/trust-manager.d.ts.map +1 -1
  320. package/dist/core/trust-manager.js +1 -0
  321. package/dist/core/trust-manager.js.map +1 -1
  322. package/dist/core/usage-totals.d.ts +2 -0
  323. package/dist/core/usage-totals.d.ts.map +1 -1
  324. package/dist/core/usage-totals.js +23 -0
  325. package/dist/core/usage-totals.js.map +1 -1
  326. package/dist/core/virtual-models.d.ts +115 -0
  327. package/dist/core/virtual-models.d.ts.map +1 -0
  328. package/dist/core/virtual-models.js +117 -0
  329. package/dist/core/virtual-models.js.map +1 -0
  330. package/dist/extensions/codemode/execute.d.ts +16 -0
  331. package/dist/extensions/codemode/execute.d.ts.map +1 -0
  332. package/dist/extensions/codemode/execute.js +390 -0
  333. package/dist/extensions/codemode/execute.js.map +1 -0
  334. package/dist/extensions/codemode/execute.lazy.d.ts +3 -0
  335. package/dist/extensions/codemode/execute.lazy.d.ts.map +1 -0
  336. package/dist/extensions/codemode/execute.lazy.js +3 -0
  337. package/dist/extensions/codemode/execute.lazy.js.map +1 -0
  338. package/dist/extensions/codemode/index.d.ts +21 -0
  339. package/dist/extensions/codemode/index.d.ts.map +1 -0
  340. package/dist/extensions/codemode/index.js +31 -0
  341. package/dist/extensions/codemode/index.js.map +1 -0
  342. package/dist/extensions/codemode/renderer.d.ts +12 -0
  343. package/dist/extensions/codemode/renderer.d.ts.map +1 -0
  344. package/dist/extensions/codemode/renderer.js +119 -0
  345. package/dist/extensions/codemode/renderer.js.map +1 -0
  346. package/dist/extensions/codemode/tool.d.ts +122 -0
  347. package/dist/extensions/codemode/tool.d.ts.map +1 -0
  348. package/dist/extensions/codemode/tool.js +324 -0
  349. package/dist/extensions/codemode/tool.js.map +1 -0
  350. package/dist/extensions/codemode/worker.d.ts +7 -0
  351. package/dist/extensions/codemode/worker.d.ts.map +1 -0
  352. package/dist/extensions/codemode/worker.js +7 -0
  353. package/dist/extensions/codemode/worker.js.map +1 -0
  354. package/dist/extensions/index.d.ts.map +1 -1
  355. package/dist/extensions/index.js +11 -1
  356. package/dist/extensions/index.js.map +1 -1
  357. package/dist/extensions/llama/client.d.ts.map +1 -1
  358. package/dist/extensions/llama/client.js.map +1 -1
  359. package/dist/extensions/llama/huggingface.d.ts.map +1 -1
  360. package/dist/extensions/llama/huggingface.js.map +1 -1
  361. package/dist/extensions/llama/index.d.ts.map +1 -1
  362. package/dist/extensions/llama/index.js.map +1 -1
  363. package/dist/extensions/llama/provider.d.ts +1 -1
  364. package/dist/extensions/llama/provider.d.ts.map +1 -1
  365. package/dist/extensions/llama/provider.js +65 -13
  366. package/dist/extensions/llama/provider.js.map +1 -1
  367. package/dist/extensions/llama/ui.d.ts.map +1 -1
  368. package/dist/extensions/llama/ui.js.map +1 -1
  369. package/dist/extensions/mcp/cli.d.ts +21 -0
  370. package/dist/extensions/mcp/cli.d.ts.map +1 -0
  371. package/dist/extensions/mcp/cli.js +485 -0
  372. package/dist/extensions/mcp/cli.js.map +1 -0
  373. package/dist/extensions/mcp/cli.lazy.d.ts +3 -0
  374. package/dist/extensions/mcp/cli.lazy.d.ts.map +1 -0
  375. package/dist/extensions/mcp/cli.lazy.js +3 -0
  376. package/dist/extensions/mcp/cli.lazy.js.map +1 -0
  377. package/dist/extensions/mcp/config.d.ts +70 -0
  378. package/dist/extensions/mcp/config.d.ts.map +1 -0
  379. package/dist/extensions/mcp/config.js +146 -0
  380. package/dist/extensions/mcp/config.js.map +1 -0
  381. package/dist/extensions/mcp/index.d.ts +52 -0
  382. package/dist/extensions/mcp/index.d.ts.map +1 -0
  383. package/dist/extensions/mcp/index.js +902 -0
  384. package/dist/extensions/mcp/index.js.map +1 -0
  385. package/dist/extensions/mcp/log.d.ts +16 -0
  386. package/dist/extensions/mcp/log.d.ts.map +1 -0
  387. package/dist/extensions/mcp/log.js +66 -0
  388. package/dist/extensions/mcp/log.js.map +1 -0
  389. package/dist/extensions/mcp/oauth.d.ts +94 -0
  390. package/dist/extensions/mcp/oauth.d.ts.map +1 -0
  391. package/dist/extensions/mcp/oauth.js +333 -0
  392. package/dist/extensions/mcp/oauth.js.map +1 -0
  393. package/dist/extensions/mcp/resources.d.ts +43 -0
  394. package/dist/extensions/mcp/resources.d.ts.map +1 -0
  395. package/dist/extensions/mcp/resources.js +262 -0
  396. package/dist/extensions/mcp/resources.js.map +1 -0
  397. package/dist/extensions/mcp/runtime.d.ts +96 -0
  398. package/dist/extensions/mcp/runtime.d.ts.map +1 -0
  399. package/dist/extensions/mcp/runtime.js +388 -0
  400. package/dist/extensions/mcp/runtime.js.map +1 -0
  401. package/dist/extensions/mcp/runtime.lazy.d.ts +3 -0
  402. package/dist/extensions/mcp/runtime.lazy.d.ts.map +1 -0
  403. package/dist/extensions/mcp/runtime.lazy.js +3 -0
  404. package/dist/extensions/mcp/runtime.lazy.js.map +1 -0
  405. package/dist/extensions/mcp/tools.d.ts +83 -0
  406. package/dist/extensions/mcp/tools.d.ts.map +1 -0
  407. package/dist/extensions/mcp/tools.js +233 -0
  408. package/dist/extensions/mcp/tools.js.map +1 -0
  409. package/dist/extensions/mcp/ui.d.ts +60 -0
  410. package/dist/extensions/mcp/ui.d.ts.map +1 -0
  411. package/dist/extensions/mcp/ui.js +172 -0
  412. package/dist/extensions/mcp/ui.js.map +1 -0
  413. package/dist/extensions/tool-search/index.d.ts +12 -0
  414. package/dist/extensions/tool-search/index.d.ts.map +1 -0
  415. package/dist/extensions/tool-search/index.js +15 -0
  416. package/dist/extensions/tool-search/index.js.map +1 -0
  417. package/dist/extensions/tool-search/tool.d.ts +72 -0
  418. package/dist/extensions/tool-search/tool.d.ts.map +1 -0
  419. package/dist/extensions/tool-search/tool.js +210 -0
  420. package/dist/extensions/tool-search/tool.js.map +1 -0
  421. package/dist/index.d.ts +9 -2
  422. package/dist/index.d.ts.map +1 -1
  423. package/dist/index.js +5 -0
  424. package/dist/index.js.map +1 -1
  425. package/dist/main.d.ts.map +1 -1
  426. package/dist/main.js +10 -0
  427. package/dist/main.js.map +1 -1
  428. package/dist/migrations.d.ts.map +1 -1
  429. package/dist/migrations.js.map +1 -1
  430. package/dist/modes/index.d.ts.map +1 -1
  431. package/dist/modes/interactive/bug-report.d.ts.map +1 -1
  432. package/dist/modes/interactive/bug-report.js.map +1 -1
  433. package/dist/modes/interactive/chat-viewport.d.ts.map +1 -1
  434. package/dist/modes/interactive/chat-viewport.js.map +1 -1
  435. package/dist/modes/interactive/components/armin.d.ts.map +1 -1
  436. package/dist/modes/interactive/components/armin.js.map +1 -1
  437. package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
  438. package/dist/modes/interactive/components/assistant-message.js.map +1 -1
  439. package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -1
  440. package/dist/modes/interactive/components/bash-execution.js.map +1 -1
  441. package/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -1
  442. package/dist/modes/interactive/components/bordered-loader.js.map +1 -1
  443. package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -1
  444. package/dist/modes/interactive/components/branch-summary-message.js.map +1 -1
  445. package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -1
  446. package/dist/modes/interactive/components/compaction-summary-message.js.map +1 -1
  447. package/dist/modes/interactive/components/config-selector.d.ts.map +1 -1
  448. package/dist/modes/interactive/components/config-selector.js +13 -3
  449. package/dist/modes/interactive/components/config-selector.js.map +1 -1
  450. package/dist/modes/interactive/components/countdown-timer.d.ts.map +1 -1
  451. package/dist/modes/interactive/components/countdown-timer.js.map +1 -1
  452. package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -1
  453. package/dist/modes/interactive/components/custom-editor.js.map +1 -1
  454. package/dist/modes/interactive/components/custom-entry.d.ts.map +1 -1
  455. package/dist/modes/interactive/components/custom-entry.js.map +1 -1
  456. package/dist/modes/interactive/components/custom-message.d.ts.map +1 -1
  457. package/dist/modes/interactive/components/custom-message.js.map +1 -1
  458. package/dist/modes/interactive/components/daxnuts.d.ts.map +1 -1
  459. package/dist/modes/interactive/components/daxnuts.js.map +1 -1
  460. package/dist/modes/interactive/components/diff.d.ts.map +1 -1
  461. package/dist/modes/interactive/components/diff.js.map +1 -1
  462. package/dist/modes/interactive/components/dynamic-border.d.ts.map +1 -1
  463. package/dist/modes/interactive/components/dynamic-border.js.map +1 -1
  464. package/dist/modes/interactive/components/earendil-announcement.d.ts.map +1 -1
  465. package/dist/modes/interactive/components/earendil-announcement.js.map +1 -1
  466. package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -1
  467. package/dist/modes/interactive/components/extension-editor.js.map +1 -1
  468. package/dist/modes/interactive/components/extension-input.d.ts.map +1 -1
  469. package/dist/modes/interactive/components/extension-input.js.map +1 -1
  470. package/dist/modes/interactive/components/extension-selector.d.ts.map +1 -1
  471. package/dist/modes/interactive/components/extension-selector.js.map +1 -1
  472. package/dist/modes/interactive/components/first-time-setup.d.ts +4 -4
  473. package/dist/modes/interactive/components/first-time-setup.d.ts.map +1 -1
  474. package/dist/modes/interactive/components/first-time-setup.js +8 -2
  475. package/dist/modes/interactive/components/first-time-setup.js.map +1 -1
  476. package/dist/modes/interactive/components/footer.d.ts +7 -0
  477. package/dist/modes/interactive/components/footer.d.ts.map +1 -1
  478. package/dist/modes/interactive/components/footer.js +43 -3
  479. package/dist/modes/interactive/components/footer.js.map +1 -1
  480. package/dist/modes/interactive/components/index.d.ts.map +1 -1
  481. package/dist/modes/interactive/components/keybinding-hints.d.ts.map +1 -1
  482. package/dist/modes/interactive/components/keybinding-hints.js.map +1 -1
  483. package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
  484. package/dist/modes/interactive/components/login-dialog.js.map +1 -1
  485. package/dist/modes/interactive/components/markdown-transform.d.ts.map +1 -1
  486. package/dist/modes/interactive/components/markdown-transform.js.map +1 -1
  487. package/dist/modes/interactive/components/mermaid.d.ts.map +1 -1
  488. package/dist/modes/interactive/components/mermaid.js.map +1 -1
  489. package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
  490. package/dist/modes/interactive/components/model-selector.js.map +1 -1
  491. package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -1
  492. package/dist/modes/interactive/components/oauth-selector.js.map +1 -1
  493. package/dist/modes/interactive/components/pi-logo.d.ts +12 -0
  494. package/dist/modes/interactive/components/pi-logo.d.ts.map +1 -0
  495. package/dist/modes/interactive/components/pi-logo.js +25 -0
  496. package/dist/modes/interactive/components/pi-logo.js.map +1 -0
  497. package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -1
  498. package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -1
  499. package/dist/modes/interactive/components/session-selector-search.d.ts.map +1 -1
  500. package/dist/modes/interactive/components/session-selector-search.js.map +1 -1
  501. package/dist/modes/interactive/components/session-selector.d.ts.map +1 -1
  502. package/dist/modes/interactive/components/session-selector.js.map +1 -1
  503. package/dist/modes/interactive/components/settings-selector.d.ts +3 -1
  504. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  505. package/dist/modes/interactive/components/settings-selector.js +28 -6
  506. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  507. package/dist/modes/interactive/components/settings-submenu.d.ts.map +1 -1
  508. package/dist/modes/interactive/components/settings-submenu.js.map +1 -1
  509. package/dist/modes/interactive/components/show-images-selector.d.ts.map +1 -1
  510. package/dist/modes/interactive/components/show-images-selector.js.map +1 -1
  511. package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -1
  512. package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -1
  513. package/dist/modes/interactive/components/status-indicator.d.ts.map +1 -1
  514. package/dist/modes/interactive/components/status-indicator.js.map +1 -1
  515. package/dist/modes/interactive/components/theme-selector.d.ts.map +1 -1
  516. package/dist/modes/interactive/components/theme-selector.js.map +1 -1
  517. package/dist/modes/interactive/components/themed-text.d.ts +17 -0
  518. package/dist/modes/interactive/components/themed-text.d.ts.map +1 -0
  519. package/dist/modes/interactive/components/themed-text.js +29 -0
  520. package/dist/modes/interactive/components/themed-text.js.map +1 -0
  521. package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -1
  522. package/dist/modes/interactive/components/thinking-selector.js.map +1 -1
  523. package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  524. package/dist/modes/interactive/components/tool-execution.js +2 -2
  525. package/dist/modes/interactive/components/tool-execution.js.map +1 -1
  526. package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -1
  527. package/dist/modes/interactive/components/tree-selector.js.map +1 -1
  528. package/dist/modes/interactive/components/trust-selector.d.ts.map +1 -1
  529. package/dist/modes/interactive/components/trust-selector.js.map +1 -1
  530. package/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -1
  531. package/dist/modes/interactive/components/user-message-selector.js.map +1 -1
  532. package/dist/modes/interactive/components/user-message.d.ts.map +1 -1
  533. package/dist/modes/interactive/components/user-message.js.map +1 -1
  534. package/dist/modes/interactive/components/visual-truncate.d.ts.map +1 -1
  535. package/dist/modes/interactive/components/visual-truncate.js.map +1 -1
  536. package/dist/modes/interactive/external-editor.d.ts.map +1 -1
  537. package/dist/modes/interactive/external-editor.js.map +1 -1
  538. package/dist/modes/interactive/interactive-mode.d.ts +11 -0
  539. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  540. package/dist/modes/interactive/interactive-mode.js +199 -161
  541. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  542. package/dist/modes/interactive/model-catalog-refresh.d.ts.map +1 -1
  543. package/dist/modes/interactive/model-catalog-refresh.js.map +1 -1
  544. package/dist/modes/interactive/model-search.d.ts.map +1 -1
  545. package/dist/modes/interactive/model-search.js.map +1 -1
  546. package/dist/modes/interactive/session-share.d.ts.map +1 -1
  547. package/dist/modes/interactive/session-share.js.map +1 -1
  548. package/dist/modes/interactive/theme/dark.json +59 -72
  549. package/dist/modes/interactive/theme/light.json +57 -69
  550. package/dist/modes/interactive/theme/system-theme.d.ts +54 -0
  551. package/dist/modes/interactive/theme/system-theme.d.ts.map +1 -0
  552. package/dist/modes/interactive/theme/system-theme.js +535 -0
  553. package/dist/modes/interactive/theme/system-theme.js.map +1 -0
  554. package/dist/modes/interactive/theme/theme-controller.d.ts +46 -6
  555. package/dist/modes/interactive/theme/theme-controller.d.ts.map +1 -1
  556. package/dist/modes/interactive/theme/theme-controller.js +127 -47
  557. package/dist/modes/interactive/theme/theme-controller.js.map +1 -1
  558. package/dist/modes/interactive/theme/theme-json.d.ts +1 -0
  559. package/dist/modes/interactive/theme/theme-json.d.ts.map +1 -1
  560. package/dist/modes/interactive/theme/theme-json.js +3 -1
  561. package/dist/modes/interactive/theme/theme-json.js.map +1 -1
  562. package/dist/modes/interactive/theme/theme-schema.json +7 -2
  563. package/dist/modes/interactive/theme/theme.d.ts +66 -39
  564. package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  565. package/dist/modes/interactive/theme/theme.js +238 -317
  566. package/dist/modes/interactive/theme/theme.js.map +1 -1
  567. package/dist/modes/interactive/tui-renderer.d.ts +2 -1
  568. package/dist/modes/interactive/tui-renderer.d.ts.map +1 -1
  569. package/dist/modes/interactive/tui-renderer.js +1 -0
  570. package/dist/modes/interactive/tui-renderer.js.map +1 -1
  571. package/dist/modes/json-event.d.ts.map +1 -1
  572. package/dist/modes/json-event.js.map +1 -1
  573. package/dist/modes/print-mode.d.ts.map +1 -1
  574. package/dist/modes/print-mode.js.map +1 -1
  575. package/dist/modes/rpc/jsonl.d.ts.map +1 -1
  576. package/dist/modes/rpc/jsonl.js.map +1 -1
  577. package/dist/modes/rpc/rpc-client.d.ts +6 -6
  578. package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
  579. package/dist/modes/rpc/rpc-client.js +12 -8
  580. package/dist/modes/rpc/rpc-client.js.map +1 -1
  581. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
  582. package/dist/modes/rpc/rpc-mode.js +7 -9
  583. package/dist/modes/rpc/rpc-mode.js.map +1 -1
  584. package/dist/modes/rpc/rpc-types.d.ts +10 -1
  585. package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
  586. package/dist/modes/rpc/rpc-types.js.map +1 -1
  587. package/dist/package-manager-cli.d.ts.map +1 -1
  588. package/dist/package-manager-cli.js +6 -2
  589. package/dist/package-manager-cli.js.map +1 -1
  590. package/dist/rpc-entry.d.ts.map +1 -1
  591. package/dist/rpc-entry.js.map +1 -1
  592. package/dist/utils/abort.d.ts.map +1 -1
  593. package/dist/utils/abort.js.map +1 -1
  594. package/dist/utils/ansi.d.ts.map +1 -1
  595. package/dist/utils/ansi.js.map +1 -1
  596. package/dist/utils/changelog.d.ts.map +1 -1
  597. package/dist/utils/changelog.js.map +1 -1
  598. package/dist/utils/child-process.d.ts.map +1 -1
  599. package/dist/utils/child-process.js.map +1 -1
  600. package/dist/utils/clipboard-command.d.ts.map +1 -1
  601. package/dist/utils/clipboard-command.js.map +1 -1
  602. package/dist/utils/clipboard-image.d.ts.map +1 -1
  603. package/dist/utils/clipboard-image.js +14 -17
  604. package/dist/utils/clipboard-image.js.map +1 -1
  605. package/dist/utils/clipboard.d.ts +2 -0
  606. package/dist/utils/clipboard.d.ts.map +1 -1
  607. package/dist/utils/clipboard.js +5 -0
  608. package/dist/utils/clipboard.js.map +1 -1
  609. package/dist/utils/deprecation.d.ts.map +1 -1
  610. package/dist/utils/deprecation.js.map +1 -1
  611. package/dist/utils/exif-orientation.d.ts.map +1 -1
  612. package/dist/utils/exif-orientation.js.map +1 -1
  613. package/dist/utils/frontmatter.d.ts.map +1 -1
  614. package/dist/utils/frontmatter.js.map +1 -1
  615. package/dist/utils/fs-watch.d.ts.map +1 -1
  616. package/dist/utils/fs-watch.js.map +1 -1
  617. package/dist/utils/git.d.ts.map +1 -1
  618. package/dist/utils/git.js.map +1 -1
  619. package/dist/utils/html.d.ts.map +1 -1
  620. package/dist/utils/html.js.map +1 -1
  621. package/dist/utils/image-convert.d.ts.map +1 -1
  622. package/dist/utils/image-convert.js.map +1 -1
  623. package/dist/utils/image-process.d.ts.map +1 -1
  624. package/dist/utils/image-process.js.map +1 -1
  625. package/dist/utils/image-resize-core.d.ts.map +1 -1
  626. package/dist/utils/image-resize-core.js.map +1 -1
  627. package/dist/utils/image-resize-worker.d.ts.map +1 -1
  628. package/dist/utils/image-resize-worker.js.map +1 -1
  629. package/dist/utils/image-resize.d.ts.map +1 -1
  630. package/dist/utils/image-resize.js.map +1 -1
  631. package/dist/utils/json.d.ts.map +1 -1
  632. package/dist/utils/json.js.map +1 -1
  633. package/dist/utils/management-http.d.ts.map +1 -1
  634. package/dist/utils/management-http.js.map +1 -1
  635. package/dist/utils/mime.d.ts.map +1 -1
  636. package/dist/utils/mime.js.map +1 -1
  637. package/dist/utils/open-browser.d.ts.map +1 -1
  638. package/dist/utils/open-browser.js.map +1 -1
  639. package/dist/utils/paths.d.ts +3 -3
  640. package/dist/utils/paths.d.ts.map +1 -1
  641. package/dist/utils/paths.js +5 -4
  642. package/dist/utils/paths.js.map +1 -1
  643. package/dist/utils/photon.d.ts.map +1 -1
  644. package/dist/utils/photon.js.map +1 -1
  645. package/dist/utils/pi-user-agent.d.ts.map +1 -1
  646. package/dist/utils/pi-user-agent.js.map +1 -1
  647. package/dist/utils/shell.d.ts +1 -3
  648. package/dist/utils/shell.d.ts.map +1 -1
  649. package/dist/utils/shell.js +3 -30
  650. package/dist/utils/shell.js.map +1 -1
  651. package/dist/utils/sleep.d.ts.map +1 -1
  652. package/dist/utils/sleep.js.map +1 -1
  653. package/dist/utils/syntax-highlight.d.ts.map +1 -1
  654. package/dist/utils/syntax-highlight.js +2 -0
  655. package/dist/utils/syntax-highlight.js.map +1 -1
  656. package/dist/utils/text.d.ts.map +1 -1
  657. package/dist/utils/text.js.map +1 -1
  658. package/dist/utils/tool-result-images.d.ts.map +1 -1
  659. package/dist/utils/tool-result-images.js.map +1 -1
  660. package/dist/utils/tools-manager.d.ts.map +1 -1
  661. package/dist/utils/tools-manager.js.map +1 -1
  662. package/dist/utils/version-check.d.ts.map +1 -1
  663. package/dist/utils/version-check.js.map +1 -1
  664. package/dist/utils/windows-self-update.d.ts.map +1 -1
  665. package/dist/utils/windows-self-update.js.map +1 -1
  666. package/dist/utils/wsl.d.ts.map +1 -1
  667. package/dist/utils/wsl.js.map +1 -1
  668. package/dist/utils/zip.d.ts.map +1 -1
  669. package/dist/utils/zip.js.map +1 -1
  670. package/docs/cli.md +64 -3
  671. package/docs/configuration.md +2 -0
  672. package/docs/custom-provider.md +43 -4
  673. package/docs/docs.json +8 -0
  674. package/docs/extensions.md +55 -0
  675. package/docs/keybindings.md +1 -1
  676. package/docs/llama-cpp.md +13 -0
  677. package/docs/mcp.md +188 -0
  678. package/docs/models.md +35 -0
  679. package/docs/packages.md +4 -2
  680. package/docs/providers.md +1 -0
  681. package/docs/rpc-commands.md +9 -3
  682. package/docs/rpc.md +3 -1
  683. package/docs/sdk.md +7 -2
  684. package/docs/security.md +2 -0
  685. package/docs/session-format.md +5 -1
  686. package/docs/settings.md +20 -3
  687. package/docs/themes.md +33 -7
  688. package/docs/tui.md +18 -0
  689. package/docs/virtual-models.md +114 -0
  690. package/docs/windows.md +2 -0
  691. package/examples/README.md +1 -1
  692. package/examples/extensions/README.md +2 -0
  693. package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
  694. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  695. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  696. package/examples/extensions/custom-provider-gitlab-duo/test.ts +5 -5
  697. package/examples/extensions/debug-provider.ts +90 -0
  698. package/examples/extensions/gondolin/package-lock.json +2 -2
  699. package/examples/extensions/gondolin/package.json +1 -1
  700. package/examples/extensions/jev-router.ts +113 -0
  701. package/examples/extensions/sandbox/package-lock.json +2 -2
  702. package/examples/extensions/sandbox/package.json +1 -1
  703. package/examples/extensions/with-deps/package-lock.json +2 -2
  704. package/examples/extensions/with-deps/package.json +1 -1
  705. package/examples/rpc-client.ts +1 -1
  706. package/examples/rpc-extension-ui.ts +1 -1
  707. package/examples/sdk/14-codemode-mcp.ts +61 -0
  708. package/examples/sdk/README.md +2 -1
  709. package/npm-shrinkwrap.json +89 -39
  710. package/package.json +14 -12
  711. package/dist/bundle/chunks/anthropic-messages-J5WXPPPC.js +0 -6
  712. package/dist/bundle/chunks/azure-openai-responses-HUSQ3GP2.js +0 -2
  713. package/dist/bundle/chunks/chunk-65HAU2C5.js +0 -2
  714. package/dist/bundle/chunks/chunk-6R7UI4IY.js +0 -2
  715. package/dist/bundle/chunks/chunk-NUHFSC37.js +0 -25
  716. package/dist/bundle/chunks/chunk-OJP47DM6.js +0 -1568
  717. package/dist/bundle/chunks/chunk-RCZIEVGO.js +0 -11
  718. package/dist/bundle/chunks/google-generative-ai-IMS5EK2Y.js +0 -2
  719. package/dist/bundle/chunks/google-vertex-O4YJEQUW.js +0 -2
  720. package/dist/bundle/chunks/mistral-conversations-NOSQHBEY.js +0 -5
  721. package/dist/bundle/chunks/openai-responses-HWEUZ6WZ.js +0 -2
  722. package/dist/bundle/chunks/virtual-modules-VHMJYYWQ.js +0 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute.lazy.d.ts","sourceRoot":"","sources":["../../../src/extensions/codemode/execute.lazy.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,eAAO,MAAM,oBAAoB,8CAA+B,CAAC"}
@@ -0,0 +1,3 @@
1
+ /** Loads the codemode sandbox runtime on the first script (see execute.ts). */
2
+ export const loadCodemodeExecutor = () => import("./execute.js");
3
+ //# sourceMappingURL=execute.lazy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute.lazy.js","sourceRoot":"","sources":["../../../src/extensions/codemode/execute.lazy.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC","sourcesContent":["/** Loads the codemode sandbox runtime on the first script (see execute.ts). */\nexport const loadCodemodeExecutor = () => import(\"./execute.ts\");\n"]}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * The `codemode` tool as an extension. The CLI loads it as a built-in extension; SDK users
3
+ * add `createCodemodeExtension()` to their extension factories.
4
+ *
5
+ * `codemode` is registered inactive. Activate it with `--tools`, the `defaultTools` setting, or
6
+ * `setActiveTools()`; the MCP extension activates it when MCP tools are only reachable from scripts.
7
+ */
8
+ import type { ExtensionFactory } from "../../core/extensions/types.ts";
9
+ import type { CodemodeMode } from "../../core/settings-manager.ts";
10
+ export interface CodemodeExtensionOptions {
11
+ /** Overrides the `codemode.mode` setting. */
12
+ mode?: CodemodeMode;
13
+ /** Overrides the `codemode.inlineBudget` setting. */
14
+ inlineBudget?: number;
15
+ /** Expose the model catalog and classifiers to scripts as `models`. Default: `true`. */
16
+ models?: boolean;
17
+ }
18
+ export declare function createCodemodeExtension(options?: CodemodeExtensionOptions): ExtensionFactory;
19
+ declare const _default: ExtensionFactory;
20
+ export default _default;
21
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/extensions/codemode/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAgB,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACrF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAGnE,MAAM,WAAW,wBAAwB;IACxC,6CAA6C;IAC7C,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,qDAAqD;IACrD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wFAAwF;IACxF,MAAM,CAAC,EAAE,OAAO,CAAC;CACjB;AAWD,wBAAgB,uBAAuB,CAAC,OAAO,GAAE,wBAA6B,GAAG,gBAAgB,CAahG"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * The `codemode` tool as an extension. The CLI loads it as a built-in extension; SDK users
3
+ * add `createCodemodeExtension()` to their extension factories.
4
+ *
5
+ * `codemode` is registered inactive. Activate it with `--tools`, the `defaultTools` setting, or
6
+ * `setActiveTools()`; the MCP extension activates it when MCP tools are only reachable from scripts.
7
+ */
8
+ import { createCodemodeToolDefinition } from "./tool.js";
9
+ function readMode(pi) {
10
+ return pi.getSettings().codemode?.mode === "only" ? "only" : "on";
11
+ }
12
+ function readInlineBudget(pi) {
13
+ const budget = pi.getSettings().codemode?.inlineBudget;
14
+ return typeof budget === "number" && Number.isFinite(budget) && budget >= 0 ? budget : undefined;
15
+ }
16
+ export function createCodemodeExtension(options = {}) {
17
+ return (pi) => {
18
+ pi.registerTool({
19
+ ...createCodemodeToolDefinition({
20
+ appendEntry: (customType, data) => pi.appendEntry(customType, data),
21
+ models: options.models ?? true,
22
+ getToolNamespace: (name) => pi.getAllTools().find((tool) => tool.name === name)?.namespace,
23
+ getMode: () => options.mode ?? readMode(pi),
24
+ getInlineBudget: () => options.inlineBudget ?? readInlineBudget(pi),
25
+ }),
26
+ defaultActive: false,
27
+ });
28
+ };
29
+ }
30
+ export default createCodemodeExtension();
31
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/extensions/codemode/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAAE,4BAA4B,EAAE,MAAM,WAAW,CAAC;AAWzD,SAAS,QAAQ,CAAC,EAAgB;IACjC,OAAO,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AACnE,CAAC;AAED,SAAS,gBAAgB,CAAC,EAAgB;IACzC,MAAM,MAAM,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC;IACvD,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AAClG,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,OAAO,GAA6B,EAAE;IAC7E,OAAO,CAAC,EAAE,EAAE,EAAE;QACb,EAAE,CAAC,YAAY,CAAC;YACf,GAAG,4BAA4B,CAAC;gBAC/B,WAAW,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC;gBACnE,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,IAAI;gBAC9B,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,SAAS;gBAC1F,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,QAAQ,CAAC,EAAE,CAAC;gBAC3C,eAAe,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,YAAY,IAAI,gBAAgB,CAAC,EAAE,CAAC;aACnE,CAAC;YACF,aAAa,EAAE,KAAK;SACpB,CAAC,CAAC;IACJ,CAAC,CAAC;AACH,CAAC;AAED,eAAe,uBAAuB,EAAE,CAAC","sourcesContent":["/**\n * The `codemode` tool as an extension. The CLI loads it as a built-in extension; SDK users\n * add `createCodemodeExtension()` to their extension factories.\n *\n * `codemode` is registered inactive. Activate it with `--tools`, the `defaultTools` setting, or\n * `setActiveTools()`; the MCP extension activates it when MCP tools are only reachable from scripts.\n */\n\nimport type { ExtensionAPI, ExtensionFactory } from \"../../core/extensions/types.ts\";\nimport type { CodemodeMode } from \"../../core/settings-manager.ts\";\nimport { createCodemodeToolDefinition } from \"./tool.ts\";\n\nexport interface CodemodeExtensionOptions {\n\t/** Overrides the `codemode.mode` setting. */\n\tmode?: CodemodeMode;\n\t/** Overrides the `codemode.inlineBudget` setting. */\n\tinlineBudget?: number;\n\t/** Expose the model catalog and classifiers to scripts as `models`. Default: `true`. */\n\tmodels?: boolean;\n}\n\nfunction readMode(pi: ExtensionAPI): CodemodeMode {\n\treturn pi.getSettings().codemode?.mode === \"only\" ? \"only\" : \"on\";\n}\n\nfunction readInlineBudget(pi: ExtensionAPI): number | undefined {\n\tconst budget = pi.getSettings().codemode?.inlineBudget;\n\treturn typeof budget === \"number\" && Number.isFinite(budget) && budget >= 0 ? budget : undefined;\n}\n\nexport function createCodemodeExtension(options: CodemodeExtensionOptions = {}): ExtensionFactory {\n\treturn (pi) => {\n\t\tpi.registerTool({\n\t\t\t...createCodemodeToolDefinition({\n\t\t\t\tappendEntry: (customType, data) => pi.appendEntry(customType, data),\n\t\t\t\tmodels: options.models ?? true,\n\t\t\t\tgetToolNamespace: (name) => pi.getAllTools().find((tool) => tool.name === name)?.namespace,\n\t\t\t\tgetMode: () => options.mode ?? readMode(pi),\n\t\t\t\tgetInlineBudget: () => options.inlineBudget ?? readInlineBudget(pi),\n\t\t\t}),\n\t\t\tdefaultActive: false,\n\t\t});\n\t};\n}\n\nexport default createCodemodeExtension();\n"]}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Presentation for the codemode tool.
3
+ *
4
+ * The call shows the script; the result lists the nested tool calls with their status as they
5
+ * run and the cost of its model calls, followed by the script output without the "Script completed"
6
+ * header. Nested calls are not
7
+ * separate tool rows because they never reach the model as tool calls.
8
+ */
9
+ import type { ToolDefinition } from "../../core/extensions/types.ts";
10
+ import type { CodemodeToolDetails } from "./tool.ts";
11
+ export declare const codemodeRenderers: Pick<ToolDefinition<any, CodemodeToolDetails | undefined>, "renderCall" | "renderResult">;
12
+ //# sourceMappingURL=renderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../../src/extensions/codemode/renderer.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAIrE,OAAO,KAAK,EAAsB,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAiDzE,eAAO,MAAM,iBAAiB,EAAE,IAAI,CACnC,cAAc,CAAC,GAAG,EAAE,mBAAmB,GAAG,SAAS,CAAC,EACpD,YAAY,GAAG,cAAc,CA6D7B,CAAC"}
@@ -0,0 +1,119 @@
1
+ /**
2
+ * Presentation for the codemode tool.
3
+ *
4
+ * The call shows the script; the result lists the nested tool calls with their status as they
5
+ * run and the cost of its model calls, followed by the script output without the "Script completed"
6
+ * header. Nested calls are not
7
+ * separate tool rows because they never reach the model as tool calls.
8
+ */
9
+ import { Text } from "@earendil-works/pi-tui";
10
+ import { getTextOutput, replaceTabs, str } from "../../core/tools/render-utils.js";
11
+ import { keyHint } from "../../modes/interactive/components/keybinding-hints.js";
12
+ import { highlightCode } from "../../modes/interactive/theme/theme.js";
13
+ const CODE_PREVIEW_LINES = 10;
14
+ const CALL_PREVIEW_COUNT = 8;
15
+ const OUTPUT_PREVIEW_LINES = 5;
16
+ const COLLAPSED_ARGS_CHARS = 80;
17
+ const SCRIPT_HEADER = /^Script (completed|failed)\nWall time [\d.]+ seconds\nOutput:\n$/;
18
+ function expandHint(theme, hidden, noun) {
19
+ return `${theme.fg("muted", `... (${hidden} more ${noun},`)} ${keyHint("app.tools.expand", "to expand")}${theme.fg("muted", ")")}`;
20
+ }
21
+ function formatDuration(ms) {
22
+ if (ms === undefined)
23
+ return "";
24
+ return ms < 1000 ? `${Math.round(ms)}ms` : `${(ms / 1000).toFixed(1)}s`;
25
+ }
26
+ /** Cents for larger amounts, two significant digits for the fractions of a cent classifier calls cost. */
27
+ function formatCost(cost) {
28
+ return `$${cost >= 0.01 ? cost.toFixed(2) : cost.toPrecision(2)}`;
29
+ }
30
+ function statusIcon(call, theme) {
31
+ switch (call.status) {
32
+ case "running":
33
+ return theme.fg("warning", "…");
34
+ case "ok":
35
+ return theme.fg("success", "✓");
36
+ case "error":
37
+ return theme.fg("error", "✗");
38
+ case "cancelled":
39
+ return theme.fg("muted", "⊘");
40
+ }
41
+ }
42
+ function formatCall(call, theme, expanded) {
43
+ const args = !expanded && call.args.length > COLLAPSED_ARGS_CHARS
44
+ ? `${call.args.slice(0, COLLAPSED_ARGS_CHARS - 3)}...`
45
+ : call.args;
46
+ const duration = formatDuration(call.durationMs);
47
+ let line = `${statusIcon(call, theme)} ${theme.fg("toolTitle", call.name)}`;
48
+ if (args)
49
+ line += ` ${theme.fg("muted", args)}`;
50
+ if (duration)
51
+ line += ` ${theme.fg("dim", duration)}`;
52
+ if (call.cost)
53
+ line += ` ${theme.fg("dim", formatCost(call.cost))}`;
54
+ if (expanded && call.error)
55
+ line += `\n ${theme.fg("error", call.error.split("\n").join("\n "))}`;
56
+ return line;
57
+ }
58
+ export const codemodeRenderers = {
59
+ renderCall(args, theme, context) {
60
+ // The code includes the `// @options:` line, so options show as part of the script.
61
+ const code = str(args?.code);
62
+ let text = theme.fg("toolTitle", theme.bold("codemode"));
63
+ if (code === null) {
64
+ text += ` ${theme.fg("error", "[invalid arg]")}`;
65
+ }
66
+ else if (code) {
67
+ const lines = highlightCode(replaceTabs(code.replace(/\r/g, "").trimEnd()), "javascript");
68
+ const shown = context.expanded ? lines : lines.slice(0, CODE_PREVIEW_LINES);
69
+ text += `\n${shown.join("\n")}`;
70
+ if (shown.length < lines.length)
71
+ text += `\n${expandHint(theme, lines.length - shown.length, "lines")}`;
72
+ }
73
+ const component = context.lastComponent ?? new Text("", 0, 0);
74
+ component.setText(text);
75
+ return component;
76
+ },
77
+ renderResult(result, options, theme, context) {
78
+ const sections = [];
79
+ const calls = result.details?.calls ?? [];
80
+ if (calls.length > 0) {
81
+ const shown = options.expanded ? calls : calls.slice(-CALL_PREVIEW_COUNT);
82
+ const lines = shown.map((call) => formatCall(call, theme, options.expanded));
83
+ if (shown.length < calls.length) {
84
+ lines.unshift(`${theme.fg("muted", `... (${calls.length - shown.length} earlier calls,`)} ${keyHint("app.tools.expand", "to expand")}${theme.fg("muted", ")")}`);
85
+ }
86
+ // Collapsed rows hide earlier calls, so the total covers every call.
87
+ const priced = calls.filter((call) => call.cost);
88
+ if (priced.length > 1) {
89
+ const total = priced.reduce((sum, call) => sum + (call.cost ?? 0), 0);
90
+ lines.push(theme.fg("muted", `Model calls: ${formatCost(total)}`));
91
+ }
92
+ sections.push(lines.join("\n"));
93
+ }
94
+ // Drop the "Script completed\nWall time ...\nOutput:\n" header. Rejected input (invalid options)
95
+ // has no header.
96
+ const [first, ...rest] = result.content;
97
+ const hasHeader = first?.type === "text" && SCRIPT_HEADER.test(first.text);
98
+ const output = options.isPartial
99
+ ? ""
100
+ : getTextOutput({ ...result, content: hasHeader ? rest : result.content }, context.showImages).trim();
101
+ if (output) {
102
+ const color = context.isError ? "error" : "toolOutput";
103
+ const lines = replaceTabs(output).split("\n");
104
+ const shown = options.expanded ? lines : lines.slice(0, OUTPUT_PREVIEW_LINES);
105
+ let text = shown.map((line) => theme.fg(color, line)).join("\n");
106
+ if (shown.length < lines.length)
107
+ text += `\n${expandHint(theme, lines.length - shown.length, "lines")}`;
108
+ // The collapsed preview hides the truncation notice at the end, so name the file here.
109
+ const fullOutputPath = result.details?.fullOutputPath;
110
+ if (fullOutputPath && !options.expanded)
111
+ text += `\n${theme.fg("muted", `Full output: ${fullOutputPath}`)}`;
112
+ sections.push(text);
113
+ }
114
+ const component = context.lastComponent ?? new Text("", 0, 0);
115
+ component.setText(sections.length > 0 ? `\n${sections.join("\n\n")}` : "");
116
+ return component;
117
+ },
118
+ };
119
+ //# sourceMappingURL=renderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../../src/extensions/codemode/renderer.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Presentation for the codemode tool.\n *\n * The call shows the script; the result lists the nested tool calls with their status as they\n * run and the cost of its model calls, followed by the script output without the \"Script completed\"\n * header. Nested calls are not\n * separate tool rows because they never reach the model as tool calls.\n */\n\nimport { Text } from \"@earendil-works/pi-tui\";\nimport type { ToolDefinition } from \"../../core/extensions/types.ts\";\nimport { getTextOutput, replaceTabs, str } from \"../../core/tools/render-utils.ts\";\nimport { keyHint } from \"../../modes/interactive/components/keybinding-hints.ts\";\nimport { highlightCode, type Theme } from \"../../modes/interactive/theme/theme.ts\";\nimport type { CodemodeNestedCall, CodemodeToolDetails } from \"./tool.ts\";\n\nconst CODE_PREVIEW_LINES = 10;\nconst CALL_PREVIEW_COUNT = 8;\nconst OUTPUT_PREVIEW_LINES = 5;\nconst COLLAPSED_ARGS_CHARS = 80;\nconst SCRIPT_HEADER = /^Script (completed|failed)\\nWall time [\\d.]+ seconds\\nOutput:\\n$/;\n\nfunction expandHint(theme: Theme, hidden: number, noun: string): string {\n\treturn `${theme.fg(\"muted\", `... (${hidden} more ${noun},`)} ${keyHint(\"app.tools.expand\", \"to expand\")}${theme.fg(\"muted\", \")\")}`;\n}\n\nfunction formatDuration(ms: number | undefined): string {\n\tif (ms === undefined) return \"\";\n\treturn ms < 1000 ? `${Math.round(ms)}ms` : `${(ms / 1000).toFixed(1)}s`;\n}\n\n/** Cents for larger amounts, two significant digits for the fractions of a cent classifier calls cost. */\nfunction formatCost(cost: number): string {\n\treturn `$${cost >= 0.01 ? cost.toFixed(2) : cost.toPrecision(2)}`;\n}\n\nfunction statusIcon(call: CodemodeNestedCall, theme: Theme): string {\n\tswitch (call.status) {\n\t\tcase \"running\":\n\t\t\treturn theme.fg(\"warning\", \"…\");\n\t\tcase \"ok\":\n\t\t\treturn theme.fg(\"success\", \"✓\");\n\t\tcase \"error\":\n\t\t\treturn theme.fg(\"error\", \"✗\");\n\t\tcase \"cancelled\":\n\t\t\treturn theme.fg(\"muted\", \"⊘\");\n\t}\n}\n\nfunction formatCall(call: CodemodeNestedCall, theme: Theme, expanded: boolean): string {\n\tconst args =\n\t\t!expanded && call.args.length > COLLAPSED_ARGS_CHARS\n\t\t\t? `${call.args.slice(0, COLLAPSED_ARGS_CHARS - 3)}...`\n\t\t\t: call.args;\n\tconst duration = formatDuration(call.durationMs);\n\tlet line = `${statusIcon(call, theme)} ${theme.fg(\"toolTitle\", call.name)}`;\n\tif (args) line += ` ${theme.fg(\"muted\", args)}`;\n\tif (duration) line += ` ${theme.fg(\"dim\", duration)}`;\n\tif (call.cost) line += ` ${theme.fg(\"dim\", formatCost(call.cost))}`;\n\tif (expanded && call.error) line += `\\n ${theme.fg(\"error\", call.error.split(\"\\n\").join(\"\\n \"))}`;\n\treturn line;\n}\n\nexport const codemodeRenderers: Pick<\n\tToolDefinition<any, CodemodeToolDetails | undefined>,\n\t\"renderCall\" | \"renderResult\"\n> = {\n\trenderCall(args, theme, context) {\n\t\t// The code includes the `// @options:` line, so options show as part of the script.\n\t\tconst code = str((args as { code?: unknown } | undefined)?.code);\n\t\tlet text = theme.fg(\"toolTitle\", theme.bold(\"codemode\"));\n\t\tif (code === null) {\n\t\t\ttext += ` ${theme.fg(\"error\", \"[invalid arg]\")}`;\n\t\t} else if (code) {\n\t\t\tconst lines = highlightCode(replaceTabs(code.replace(/\\r/g, \"\").trimEnd()), \"javascript\");\n\t\t\tconst shown = context.expanded ? lines : lines.slice(0, CODE_PREVIEW_LINES);\n\t\t\ttext += `\\n${shown.join(\"\\n\")}`;\n\t\t\tif (shown.length < lines.length) text += `\\n${expandHint(theme, lines.length - shown.length, \"lines\")}`;\n\t\t}\n\t\tconst component = (context.lastComponent as Text | undefined) ?? new Text(\"\", 0, 0);\n\t\tcomponent.setText(text);\n\t\treturn component;\n\t},\n\trenderResult(result, options, theme, context) {\n\t\tconst sections: string[] = [];\n\t\tconst calls = result.details?.calls ?? [];\n\t\tif (calls.length > 0) {\n\t\t\tconst shown = options.expanded ? calls : calls.slice(-CALL_PREVIEW_COUNT);\n\t\t\tconst lines = shown.map((call) => formatCall(call, theme, options.expanded));\n\t\t\tif (shown.length < calls.length) {\n\t\t\t\tlines.unshift(\n\t\t\t\t\t`${theme.fg(\"muted\", `... (${calls.length - shown.length} earlier calls,`)} ${keyHint(\"app.tools.expand\", \"to expand\")}${theme.fg(\"muted\", \")\")}`,\n\t\t\t\t);\n\t\t\t}\n\t\t\t// Collapsed rows hide earlier calls, so the total covers every call.\n\t\t\tconst priced = calls.filter((call) => call.cost);\n\t\t\tif (priced.length > 1) {\n\t\t\t\tconst total = priced.reduce((sum, call) => sum + (call.cost ?? 0), 0);\n\t\t\t\tlines.push(theme.fg(\"muted\", `Model calls: ${formatCost(total)}`));\n\t\t\t}\n\t\t\tsections.push(lines.join(\"\\n\"));\n\t\t}\n\n\t\t// Drop the \"Script completed\\nWall time ...\\nOutput:\\n\" header. Rejected input (invalid options)\n\t\t// has no header.\n\t\tconst [first, ...rest] = result.content;\n\t\tconst hasHeader = first?.type === \"text\" && SCRIPT_HEADER.test(first.text);\n\t\tconst output = options.isPartial\n\t\t\t? \"\"\n\t\t\t: getTextOutput({ ...result, content: hasHeader ? rest : result.content }, context.showImages).trim();\n\t\tif (output) {\n\t\t\tconst color = context.isError ? \"error\" : \"toolOutput\";\n\t\t\tconst lines = replaceTabs(output).split(\"\\n\");\n\t\t\tconst shown = options.expanded ? lines : lines.slice(0, OUTPUT_PREVIEW_LINES);\n\t\t\tlet text = shown.map((line) => theme.fg(color, line)).join(\"\\n\");\n\t\t\tif (shown.length < lines.length) text += `\\n${expandHint(theme, lines.length - shown.length, \"lines\")}`;\n\t\t\t// The collapsed preview hides the truncation notice at the end, so name the file here.\n\t\t\tconst fullOutputPath = result.details?.fullOutputPath;\n\t\t\tif (fullOutputPath && !options.expanded) text += `\\n${theme.fg(\"muted\", `Full output: ${fullOutputPath}`)}`;\n\t\t\tsections.push(text);\n\t\t}\n\n\t\tconst component = (context.lastComponent as Text | undefined) ?? new Text(\"\", 0, 0);\n\t\tcomponent.setText(sections.length > 0 ? `\\n${sections.join(\"\\n\\n\")}` : \"\");\n\t\treturn component;\n\t},\n};\n"]}
@@ -0,0 +1,122 @@
1
+ /**
2
+ * The `codemode` tool: the model writes JavaScript that calls other tools. Scripts use `tools`,
3
+ * `ALL_TOOLS`, `text()`, `image()`, `exit()`, `store()`/`load()`, `console.*`, and `return <value>`,
4
+ * may start with a `// @options:` line, and reach the model catalog and classifiers through
5
+ * `models.*`. Results start with a "Script completed" or "Script failed" header.
6
+ *
7
+ * Scripts can call the agent loop's nested tools: active `direct` tools and every `codemode` or
8
+ * `deferred` tool. Nested calls run through the agent loop's tool pipeline (`ctx.executeTool`), so
9
+ * validation, `tool_call`/`tool_result` hooks, and permission checks apply exactly as for direct
10
+ * calls. Only the script's output reaches the model; nested results do not.
11
+ *
12
+ * Nested results are handed to the script as follows:
13
+ * - A tool that declares `outputSchema` resolves to its `structuredContent`, also for error
14
+ * results that carry one (MCP tools resolve to their `CallToolResult`, including `isError`).
15
+ * - Any other tool resolves to its text content as one string.
16
+ * - A failed, blocked, or invalid call rejects with an Error carrying the tool's error text.
17
+ *
18
+ * A script that fails returns a normal error result that keeps its partial output, followed by
19
+ * "Script error:" and the error. `store(key, value)` and `load(key)` keep JSON values across
20
+ * calls; successful scripts append their writes to the session as `codemode-store` custom entries,
21
+ * so each branch sees the values written on its own path.
22
+ */
23
+ import type { AgentTool } from "@earendil-works/pi-agent-core";
24
+ import type { CodemodeTool } from "@earendil-works/pi-codemode";
25
+ import { type Static, Type } from "typebox";
26
+ import type { ToolDefinition, ToolInfo, ToolNamespace } from "../../core/extensions/types.ts";
27
+ import type { ModelRegistry } from "../../core/model-registry.ts";
28
+ import type { CodemodeMode } from "../../core/settings-manager.ts";
29
+ export declare const CODEMODE_TOOL_NAME = "codemode";
30
+ /** Custom entry type holding one script's `store()` writes: {@link CodemodeStoreEntryData}. */
31
+ export declare const CODEMODE_STORE_ENTRY_TYPE = "codemode-store";
32
+ export interface CodemodeStoreEntryData {
33
+ set: Record<string, unknown>;
34
+ delete: string[];
35
+ }
36
+ /** The part of the model registry that scripts reach through `models`. */
37
+ export type CodemodeModelRuntime = Pick<ModelRegistry, "getModelsOfType" | "getAvailableOfType" | "getModelOfType" | "classify">;
38
+ export interface CodemodeToolOptions {
39
+ /** Namespace of a tool, for `searchTools()` ranking and its `namespace` filter. */
40
+ getToolNamespace?: (toolName: string) => ToolNamespace | undefined;
41
+ /**
42
+ * Expose the `models` namespace to scripts, backed by the session's model registry
43
+ * (`ctx.modelRegistry`). Without it, `models` is not declared.
44
+ */
45
+ models?: boolean;
46
+ /**
47
+ * Persists `store()` writes as a session custom entry. Without it, writes last only for the
48
+ * current script; `load()` still reads entries already on the branch.
49
+ */
50
+ appendEntry?: (customType: string, data: CodemodeStoreEntryData) => void;
51
+ /** How the tool presents the loadout while active (the `codemode.mode` setting). Default: `on`. */
52
+ getMode?: () => CodemodeMode;
53
+ /** Token budget for tool declarations in the description. Default: {@link DEFAULT_CODEMODE_INLINE_BUDGET}. */
54
+ getInlineBudget?: () => number | undefined;
55
+ }
56
+ export declare const codemodeSchema: Type.TObject<{
57
+ code: Type.TString;
58
+ }>;
59
+ export type CodemodeToolInput = Static<typeof codemodeSchema>;
60
+ /**
61
+ * Whether a registered tool is this package's `codemode` tool rather than another extension's tool
62
+ * with the same name. Compares the parameter schema, which the definition passes through by reference.
63
+ */
64
+ export declare function isCodemodeTool(tool: Pick<ToolInfo, "name" | "parameters">): boolean;
65
+ export type CodemodeNestedCallStatus = "running" | "ok" | "error" | "cancelled";
66
+ export interface CodemodeNestedCall {
67
+ /** Tool call id of the nested call, `<codemode call id>/<n>`. */
68
+ id: string;
69
+ name: string;
70
+ /** Compact JSON of the arguments, truncated for display. */
71
+ args: string;
72
+ status: CodemodeNestedCallStatus;
73
+ durationMs?: number;
74
+ /** Error text, truncated for display. */
75
+ error?: string;
76
+ /** Cost in USD of a `models.*` call that reported usage. */
77
+ cost?: number;
78
+ }
79
+ export interface CodemodeToolDetails {
80
+ calls: CodemodeNestedCall[];
81
+ /** Temp file with the full text output, when the output was truncated. */
82
+ fullOutputPath?: string;
83
+ }
84
+ export declare const codemodeToolSystemPromptContribution: {
85
+ readonly snippet: "Run JavaScript that calls other tools (chains, loops, Promise.all, filtering large results)";
86
+ readonly guidelines: readonly ["Use codemode to batch or chain several tool calls, or to filter large tool output down to what you need, instead of issuing many individual tool calls. Batch independent calls in one codemode call using await Promise.allSettled([...])."];
87
+ };
88
+ /** Declarations of the `models` globals; codemode-execute.ts implements them. */
89
+ export declare const MODEL_GLOBAL_DECLARATIONS: readonly Omit<CodemodeTool, "execute">[];
90
+ /** Default for {@link CodemodeDescriptionOptions.inlineBudget}, in estimated tokens. */
91
+ export declare const DEFAULT_CODEMODE_INLINE_BUDGET = 3000;
92
+ /** What a script sees of a tool. Tools without an output schema resolve to their text output. */
93
+ export declare function toCodemodeDeclaration(tool: AgentTool<any>): Omit<CodemodeTool, "execute">;
94
+ /** Tools a script may call: every given tool except the codemode tool itself. */
95
+ export declare function getCodemodeCallableTools(tools: readonly AgentTool<any>[]): AgentTool<any>[];
96
+ export interface CodemodeDescriptionOptions {
97
+ /** Declare the `models` namespace; only for tools created with model access. */
98
+ models?: boolean;
99
+ /** Namespace of each tool, by tool name. Tools of one namespace are listed under one heading. */
100
+ namespaces?: ReadonlyMap<string, ToolNamespace>;
101
+ /** Tools that are callable but never listed with their declaration (`deferred` exposure). */
102
+ deferred?: ReadonlySet<string>;
103
+ /**
104
+ * Estimated tokens (characters / 4) the tool sections may use. Tools that do not fit are left
105
+ * out, like deferred tools. Unset lists every tool that is not deferred.
106
+ */
107
+ inlineBudget?: number;
108
+ }
109
+ /**
110
+ * Model-facing description: the helper list, guidance for omitted tools, the shared MCP types when
111
+ * MCP tools are callable, the `models` API, and one section per tool, grouped by namespace. Tool
112
+ * sections are limited to `inlineBudget`; every namespace is listed with its tool count either
113
+ * way, and the listing states whether it is complete.
114
+ */
115
+ export declare function createCodemodeDescription(tools: readonly AgentTool<any>[], options?: CodemodeDescriptionOptions): string;
116
+ export declare function createCodemodeToolDefinition(options?: CodemodeToolOptions): ToolDefinition<typeof codemodeSchema, CodemodeToolDetails | undefined>;
117
+ /**
118
+ * Create the codemode tool as an AgentTool. The description lists the given tools; the script can
119
+ * call whatever tools the agent loop provides at execution time.
120
+ */
121
+ export declare function createCodemodeTool(tools?: readonly AgentTool<any>[], options?: CodemodeToolOptions): AgentTool<typeof codemodeSchema>;
122
+ //# sourceMappingURL=tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../../src/extensions/codemode/tool.ts"],"names":[],"mappings":"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"}