@sammorrowdrums/mcpi 0.70.9 → 0.85.0-bootstrap.0

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 (888) hide show
  1. package/CHANGELOG.md +1621 -0
  2. package/LICENSE +21 -0
  3. package/README.md +196 -141
  4. package/dist/bun/cli.d.ts.map +1 -1
  5. package/dist/bun/cli.js +4 -0
  6. package/dist/bun/cli.js.map +1 -1
  7. package/dist/bun/register-bedrock.d.ts.map +1 -1
  8. package/dist/bun/register-bedrock.js +1 -1
  9. package/dist/bun/register-bedrock.js.map +1 -1
  10. package/dist/bun/restore-sandbox-env.d.ts +17 -0
  11. package/dist/bun/restore-sandbox-env.d.ts.map +1 -0
  12. package/dist/bun/restore-sandbox-env.js +36 -0
  13. package/dist/bun/restore-sandbox-env.js.map +1 -0
  14. package/dist/cli/args.d.ts +9 -2
  15. package/dist/cli/args.d.ts.map +1 -1
  16. package/dist/cli/args.js +116 -16
  17. package/dist/cli/args.js.map +1 -1
  18. package/dist/cli/auth-check.d.ts +19 -0
  19. package/dist/cli/auth-check.d.ts.map +1 -0
  20. package/dist/cli/auth-check.js +50 -0
  21. package/dist/cli/auth-check.js.map +1 -0
  22. package/dist/cli/auth-command.d.ts +24 -0
  23. package/dist/cli/auth-command.d.ts.map +1 -0
  24. package/dist/cli/auth-command.js +103 -0
  25. package/dist/cli/auth-command.js.map +1 -0
  26. package/dist/cli/config-selector.d.ts +6 -4
  27. package/dist/cli/config-selector.d.ts.map +1 -1
  28. package/dist/cli/config-selector.js +4 -4
  29. package/dist/cli/config-selector.js.map +1 -1
  30. package/dist/cli/credential-print.d.ts +13 -0
  31. package/dist/cli/credential-print.d.ts.map +1 -0
  32. package/dist/cli/credential-print.js +76 -0
  33. package/dist/cli/credential-print.js.map +1 -0
  34. package/dist/cli/experimental/auth.d.ts +16 -0
  35. package/dist/cli/experimental/auth.d.ts.map +1 -0
  36. package/dist/cli/experimental/auth.js +13 -0
  37. package/dist/cli/experimental/auth.js.map +1 -0
  38. package/dist/cli/experimental/cli.d.ts +6 -0
  39. package/dist/cli/experimental/cli.d.ts.map +1 -0
  40. package/dist/cli/experimental/cli.js +5 -0
  41. package/dist/cli/experimental/cli.js.map +1 -0
  42. package/dist/cli/experimental/command-options.d.ts +17 -0
  43. package/dist/cli/experimental/command-options.d.ts.map +1 -0
  44. package/dist/cli/experimental/command-options.js +35 -0
  45. package/dist/cli/experimental/command-options.js.map +1 -0
  46. package/dist/cli/experimental/command.d.ts +63 -0
  47. package/dist/cli/experimental/command.d.ts.map +1 -0
  48. package/dist/cli/experimental/command.js +130 -0
  49. package/dist/cli/experimental/command.js.map +1 -0
  50. package/dist/cli/experimental/commands/client.d.ts +13 -0
  51. package/dist/cli/experimental/commands/client.d.ts.map +1 -0
  52. package/dist/cli/experimental/commands/client.js +25 -0
  53. package/dist/cli/experimental/commands/client.js.map +1 -0
  54. package/dist/cli/experimental/commands/mcpi.d.ts +15 -0
  55. package/dist/cli/experimental/commands/mcpi.d.ts.map +1 -0
  56. package/dist/cli/experimental/commands/mcpi.js +28 -0
  57. package/dist/cli/experimental/commands/mcpi.js.map +1 -0
  58. package/dist/cli/experimental/commands/server.d.ts +13 -0
  59. package/dist/cli/experimental/commands/server.d.ts.map +1 -0
  60. package/dist/cli/experimental/commands/server.js +25 -0
  61. package/dist/cli/experimental/commands/server.js.map +1 -0
  62. package/dist/cli/experimental/transport-address.d.ts +10 -0
  63. package/dist/cli/experimental/transport-address.d.ts.map +1 -0
  64. package/dist/cli/experimental/transport-address.js +38 -0
  65. package/dist/cli/experimental/transport-address.js.map +1 -0
  66. package/dist/cli/file-processor.d.ts.map +1 -1
  67. package/dist/cli/file-processor.js +13 -26
  68. package/dist/cli/file-processor.js.map +1 -1
  69. package/dist/cli/initial-message.d.ts +1 -1
  70. package/dist/cli/initial-message.d.ts.map +1 -1
  71. package/dist/cli/initial-message.js.map +1 -1
  72. package/dist/cli/list-models.d.ts +2 -2
  73. package/dist/cli/list-models.d.ts.map +1 -1
  74. package/dist/cli/list-models.js +4 -4
  75. package/dist/cli/list-models.js.map +1 -1
  76. package/dist/cli/project-trust.d.ts +10 -0
  77. package/dist/cli/project-trust.d.ts.map +1 -0
  78. package/dist/cli/project-trust.js +48 -0
  79. package/dist/cli/project-trust.js.map +1 -0
  80. package/dist/cli/session-picker.d.ts +3 -2
  81. package/dist/cli/session-picker.d.ts.map +1 -1
  82. package/dist/cli/session-picker.js +5 -4
  83. package/dist/cli/session-picker.js.map +1 -1
  84. package/dist/cli/startup-ui.d.ts +20 -0
  85. package/dist/cli/startup-ui.d.ts.map +1 -0
  86. package/dist/cli/startup-ui.js +184 -0
  87. package/dist/cli/startup-ui.js.map +1 -0
  88. package/dist/cli.d.ts.map +1 -1
  89. package/dist/cli.js +6 -3
  90. package/dist/cli.js.map +1 -1
  91. package/dist/client/index.d.ts +3 -0
  92. package/dist/client/index.d.ts.map +1 -0
  93. package/dist/client/index.js +3 -0
  94. package/dist/client/index.js.map +1 -0
  95. package/dist/client/remote-session.d.ts +53 -0
  96. package/dist/client/remote-session.d.ts.map +1 -0
  97. package/dist/client/remote-session.js +340 -0
  98. package/dist/client/remote-session.js.map +1 -0
  99. package/dist/client/transcript.d.ts +12 -0
  100. package/dist/client/transcript.d.ts.map +1 -0
  101. package/dist/client/transcript.js +98 -0
  102. package/dist/client/transcript.js.map +1 -0
  103. package/dist/config.d.ts +34 -12
  104. package/dist/config.d.ts.map +1 -1
  105. package/dist/config.js +312 -61
  106. package/dist/config.js.map +1 -1
  107. package/dist/core/agent-session-runtime.d.ts +11 -9
  108. package/dist/core/agent-session-runtime.d.ts.map +1 -1
  109. package/dist/core/agent-session-runtime.js +16 -7
  110. package/dist/core/agent-session-runtime.js.map +1 -1
  111. package/dist/core/agent-session-services.d.ts +13 -12
  112. package/dist/core/agent-session-services.d.ts.map +1 -1
  113. package/dist/core/agent-session-services.js +34 -14
  114. package/dist/core/agent-session-services.js.map +1 -1
  115. package/dist/core/agent-session.d.ts +110 -53
  116. package/dist/core/agent-session.d.ts.map +1 -1
  117. package/dist/core/agent-session.js +658 -488
  118. package/dist/core/agent-session.js.map +1 -1
  119. package/dist/core/auth-guidance.d.ts.map +1 -1
  120. package/dist/core/auth-guidance.js.map +1 -1
  121. package/dist/core/auth-storage.d.ts +35 -104
  122. package/dist/core/auth-storage.d.ts.map +1 -1
  123. package/dist/core/auth-storage.js +272 -286
  124. package/dist/core/auth-storage.js.map +1 -1
  125. package/dist/core/bash-executor.d.ts +1 -1
  126. package/dist/core/bash-executor.d.ts.map +1 -1
  127. package/dist/core/bash-executor.js +11 -8
  128. package/dist/core/bash-executor.js.map +1 -1
  129. package/dist/core/cache-stats.d.ts +49 -0
  130. package/dist/core/cache-stats.d.ts.map +1 -0
  131. package/dist/core/cache-stats.js +101 -0
  132. package/dist/core/cache-stats.js.map +1 -0
  133. package/dist/core/compaction/branch-summarization.d.ts +16 -6
  134. package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
  135. package/dist/core/compaction/branch-summarization.js +13 -10
  136. package/dist/core/compaction/branch-summarization.js.map +1 -1
  137. package/dist/core/compaction/compaction.d.ts +25 -9
  138. package/dist/core/compaction/compaction.d.ts.map +1 -1
  139. package/dist/core/compaction/compaction.js +163 -133
  140. package/dist/core/compaction/compaction.js.map +1 -1
  141. package/dist/core/compaction/index.d.ts +3 -3
  142. package/dist/core/compaction/index.d.ts.map +1 -1
  143. package/dist/core/compaction/index.js.map +1 -1
  144. package/dist/core/compaction/utils.d.ts +3 -3
  145. package/dist/core/compaction/utils.d.ts.map +1 -1
  146. package/dist/core/compaction/utils.js +7 -18
  147. package/dist/core/compaction/utils.js.map +1 -1
  148. package/dist/core/defaults.d.ts +1 -1
  149. package/dist/core/defaults.d.ts.map +1 -1
  150. package/dist/core/defaults.js.map +1 -1
  151. package/dist/core/env-overlay.d.ts +21 -0
  152. package/dist/core/env-overlay.d.ts.map +1 -0
  153. package/dist/core/env-overlay.js +25 -0
  154. package/dist/core/env-overlay.js.map +1 -0
  155. package/dist/core/exec.d.ts +8 -1
  156. package/dist/core/exec.d.ts.map +1 -1
  157. package/dist/core/exec.js +7 -1
  158. package/dist/core/exec.js.map +1 -1
  159. package/dist/core/experimental.d.ts +6 -0
  160. package/dist/core/experimental.d.ts.map +1 -0
  161. package/dist/core/experimental.js +8 -0
  162. package/dist/core/experimental.js.map +1 -0
  163. package/dist/core/export-html/ansi-to-html.d.ts.map +1 -1
  164. package/dist/core/export-html/ansi-to-html.js +1 -1
  165. package/dist/core/export-html/ansi-to-html.js.map +1 -1
  166. package/dist/core/export-html/index.d.ts +2 -2
  167. package/dist/core/export-html/index.d.ts.map +1 -1
  168. package/dist/core/export-html/index.js +8 -6
  169. package/dist/core/export-html/index.js.map +1 -1
  170. package/dist/core/export-html/template.css +53 -4
  171. package/dist/core/export-html/template.js +129 -35
  172. package/dist/core/export-html/tool-renderer.d.ts +2 -8
  173. package/dist/core/export-html/tool-renderer.d.ts.map +1 -1
  174. package/dist/core/export-html/tool-renderer.js +15 -2
  175. package/dist/core/export-html/tool-renderer.js.map +1 -1
  176. package/dist/core/export-html/vendor/marked.min.js +75 -3
  177. package/dist/core/extensions/index.d.ts +8 -8
  178. package/dist/core/extensions/index.d.ts.map +1 -1
  179. package/dist/core/extensions/index.js.map +1 -1
  180. package/dist/core/extensions/loader.d.ts +5 -7
  181. package/dist/core/extensions/loader.d.ts.map +1 -1
  182. package/dist/core/extensions/loader.js +160 -87
  183. package/dist/core/extensions/loader.js.map +1 -1
  184. package/dist/core/extensions/runner.d.ts +32 -13
  185. package/dist/core/extensions/runner.d.ts.map +1 -1
  186. package/dist/core/extensions/runner.js +192 -4
  187. package/dist/core/extensions/runner.js.map +1 -1
  188. package/dist/core/extensions/types.d.ts +217 -69
  189. package/dist/core/extensions/types.d.ts.map +1 -1
  190. package/dist/core/extensions/types.js.map +1 -1
  191. package/dist/core/extensions/wrapper.d.ts +3 -3
  192. package/dist/core/extensions/wrapper.d.ts.map +1 -1
  193. package/dist/core/extensions/wrapper.js +22 -3
  194. package/dist/core/extensions/wrapper.js.map +1 -1
  195. package/dist/core/footer-data-provider.d.ts +12 -0
  196. package/dist/core/footer-data-provider.d.ts.map +1 -1
  197. package/dist/core/footer-data-provider.js +30 -2
  198. package/dist/core/footer-data-provider.js.map +1 -1
  199. package/dist/core/http-dispatcher.d.ts +22 -0
  200. package/dist/core/http-dispatcher.d.ts.map +1 -0
  201. package/dist/core/http-dispatcher.js +96 -0
  202. package/dist/core/http-dispatcher.js.map +1 -0
  203. package/dist/core/index.d.ts +9 -8
  204. package/dist/core/index.d.ts.map +1 -1
  205. package/dist/core/index.js +1 -0
  206. package/dist/core/index.js.map +1 -1
  207. package/dist/core/keybindings.d.ts +79 -10
  208. package/dist/core/keybindings.d.ts.map +1 -1
  209. package/dist/core/keybindings.js +11 -10
  210. package/dist/core/keybindings.js.map +1 -1
  211. package/dist/core/messages.d.ts +2 -2
  212. package/dist/core/messages.d.ts.map +1 -1
  213. package/dist/core/messages.js.map +1 -1
  214. package/dist/core/model-config.d.ts +571 -0
  215. package/dist/core/model-config.d.ts.map +1 -0
  216. package/dist/core/model-config.js +254 -0
  217. package/dist/core/model-config.js.map +1 -0
  218. package/dist/core/model-registry.d.ts +23 -110
  219. package/dist/core/model-registry.d.ts.map +1 -1
  220. package/dist/core/model-registry.js +65 -616
  221. package/dist/core/model-registry.js.map +1 -1
  222. package/dist/core/model-resolver.d.ts +20 -7
  223. package/dist/core/model-resolver.d.ts.map +1 -1
  224. package/dist/core/model-resolver.js +139 -43
  225. package/dist/core/model-resolver.js.map +1 -1
  226. package/dist/core/model-runtime.d.ts +100 -0
  227. package/dist/core/model-runtime.d.ts.map +1 -0
  228. package/dist/core/model-runtime.js +602 -0
  229. package/dist/core/model-runtime.js.map +1 -0
  230. package/dist/core/models-store.d.ts +22 -0
  231. package/dist/core/models-store.d.ts.map +1 -0
  232. package/dist/core/models-store.js +113 -0
  233. package/dist/core/models-store.js.map +1 -0
  234. package/dist/core/output-guard.d.ts +1 -0
  235. package/dist/core/output-guard.d.ts.map +1 -1
  236. package/dist/core/output-guard.js +52 -22
  237. package/dist/core/output-guard.js.map +1 -1
  238. package/dist/core/package-manager.d.ts +21 -4
  239. package/dist/core/package-manager.d.ts.map +1 -1
  240. package/dist/core/package-manager.js +428 -191
  241. package/dist/core/package-manager.js.map +1 -1
  242. package/dist/core/pi-manifest.d.ts +8 -0
  243. package/dist/core/pi-manifest.d.ts.map +1 -0
  244. package/dist/core/pi-manifest.js +25 -0
  245. package/dist/core/pi-manifest.js.map +1 -0
  246. package/dist/core/project-trust.d.ts +15 -0
  247. package/dist/core/project-trust.d.ts.map +1 -0
  248. package/dist/core/project-trust.js +59 -0
  249. package/dist/core/project-trust.js.map +1 -0
  250. package/dist/core/prompt-templates.d.ts +4 -2
  251. package/dist/core/prompt-templates.d.ts.map +1 -1
  252. package/dist/core/prompt-templates.js +36 -50
  253. package/dist/core/prompt-templates.js.map +1 -1
  254. package/dist/core/provider-attribution.d.ts +4 -0
  255. package/dist/core/provider-attribution.d.ts.map +1 -0
  256. package/dist/core/provider-attribution.js +72 -0
  257. package/dist/core/provider-attribution.js.map +1 -0
  258. package/dist/core/provider-composer.d.ts +58 -0
  259. package/dist/core/provider-composer.d.ts.map +1 -0
  260. package/dist/core/provider-composer.js +396 -0
  261. package/dist/core/provider-composer.js.map +1 -0
  262. package/dist/core/radius.d.ts +2 -0
  263. package/dist/core/radius.d.ts.map +1 -0
  264. package/dist/core/radius.js +2 -0
  265. package/dist/core/radius.js.map +1 -0
  266. package/dist/core/remote-catalog-provider.d.ts +17 -0
  267. package/dist/core/remote-catalog-provider.d.ts.map +1 -0
  268. package/dist/core/remote-catalog-provider.js +137 -0
  269. package/dist/core/remote-catalog-provider.js.map +1 -0
  270. package/dist/core/resolve-config-value.d.ts +13 -6
  271. package/dist/core/resolve-config-value.d.ts.map +1 -1
  272. package/dist/core/resolve-config-value.js +143 -22
  273. package/dist/core/resolve-config-value.js.map +1 -1
  274. package/dist/core/resource-loader.d.ts +40 -12
  275. package/dist/core/resource-loader.d.ts.map +1 -1
  276. package/dist/core/resource-loader.js +236 -87
  277. package/dist/core/resource-loader.js.map +1 -1
  278. package/dist/core/runtime-credentials.d.ts +15 -0
  279. package/dist/core/runtime-credentials.d.ts.map +1 -0
  280. package/dist/core/runtime-credentials.js +39 -0
  281. package/dist/core/runtime-credentials.js.map +1 -0
  282. package/dist/core/sdk.d.ts +26 -25
  283. package/dist/core/sdk.d.ts.map +1 -1
  284. package/dist/core/sdk.js +56 -49
  285. package/dist/core/sdk.js.map +1 -1
  286. package/dist/core/session-manager.d.ts +42 -19
  287. package/dist/core/session-manager.d.ts.map +1 -1
  288. package/dist/core/session-manager.js +454 -223
  289. package/dist/core/session-manager.js.map +1 -1
  290. package/dist/core/settings-manager.d.ts +77 -8
  291. package/dist/core/settings-manager.d.ts.map +1 -1
  292. package/dist/core/settings-manager.js +255 -67
  293. package/dist/core/settings-manager.js.map +1 -1
  294. package/dist/core/skills.d.ts +2 -2
  295. package/dist/core/skills.d.ts.map +1 -1
  296. package/dist/core/skills.js +12 -34
  297. package/dist/core/skills.js.map +1 -1
  298. package/dist/core/slash-commands.d.ts +2 -1
  299. package/dist/core/slash-commands.d.ts.map +1 -1
  300. package/dist/core/slash-commands.js +4 -3
  301. package/dist/core/slash-commands.js.map +1 -1
  302. package/dist/core/source-info.d.ts +1 -1
  303. package/dist/core/source-info.d.ts.map +1 -1
  304. package/dist/core/source-info.js.map +1 -1
  305. package/dist/core/system-prompt.d.ts +1 -1
  306. package/dist/core/system-prompt.d.ts.map +1 -1
  307. package/dist/core/system-prompt.js +15 -25
  308. package/dist/core/system-prompt.js.map +1 -1
  309. package/dist/core/telemetry.d.ts +7 -1
  310. package/dist/core/telemetry.d.ts.map +1 -1
  311. package/dist/core/telemetry.js +7 -1
  312. package/dist/core/telemetry.js.map +1 -1
  313. package/dist/core/timings.d.ts +5 -3
  314. package/dist/core/timings.d.ts.map +1 -1
  315. package/dist/core/timings.js +26 -16
  316. package/dist/core/timings.js.map +1 -1
  317. package/dist/core/tools/bash.d.ts +11 -7
  318. package/dist/core/tools/bash.d.ts.map +1 -1
  319. package/dist/core/tools/bash.js +220 -188
  320. package/dist/core/tools/bash.js.map +1 -1
  321. package/dist/core/tools/edit-diff.d.ts +26 -5
  322. package/dist/core/tools/edit-diff.d.ts.map +1 -1
  323. package/dist/core/tools/edit-diff.js +110 -23
  324. package/dist/core/tools/edit-diff.js.map +1 -1
  325. package/dist/core/tools/edit.d.ts +11 -5
  326. package/dist/core/tools/edit.d.ts.map +1 -1
  327. package/dist/core/tools/edit.js +67 -100
  328. package/dist/core/tools/edit.js.map +1 -1
  329. package/dist/core/tools/file-mutation-queue.d.ts.map +1 -1
  330. package/dist/core/tools/file-mutation-queue.js +27 -12
  331. package/dist/core/tools/file-mutation-queue.js.map +1 -1
  332. package/dist/core/tools/find.d.ts +10 -3
  333. package/dist/core/tools/find.d.ts.map +1 -1
  334. package/dist/core/tools/find.js +41 -37
  335. package/dist/core/tools/find.js.map +1 -1
  336. package/dist/core/tools/grep.d.ts +7 -3
  337. package/dist/core/tools/grep.d.ts.map +1 -1
  338. package/dist/core/tools/grep.js +12 -8
  339. package/dist/core/tools/grep.js.map +1 -1
  340. package/dist/core/tools/index.d.ts +18 -18
  341. package/dist/core/tools/index.d.ts.map +1 -1
  342. package/dist/core/tools/index.js.map +1 -1
  343. package/dist/core/tools/ls.d.ts +7 -3
  344. package/dist/core/tools/ls.d.ts.map +1 -1
  345. package/dist/core/tools/ls.js +17 -15
  346. package/dist/core/tools/ls.js.map +1 -1
  347. package/dist/core/tools/output-accumulator.d.ts +52 -0
  348. package/dist/core/tools/output-accumulator.d.ts.map +1 -0
  349. package/dist/core/tools/output-accumulator.js +184 -0
  350. package/dist/core/tools/output-accumulator.js.map +1 -0
  351. package/dist/core/tools/path-utils.d.ts +2 -0
  352. package/dist/core/tools/path-utils.d.ts.map +1 -1
  353. package/dist/core/tools/path-utils.js +39 -21
  354. package/dist/core/tools/path-utils.js.map +1 -1
  355. package/dist/core/tools/read.d.ts +7 -3
  356. package/dist/core/tools/read.d.ts.map +1 -1
  357. package/dist/core/tools/read.js +101 -51
  358. package/dist/core/tools/read.js.map +1 -1
  359. package/dist/core/tools/render-utils.d.ts +5 -2
  360. package/dist/core/tools/render-utils.d.ts.map +1 -1
  361. package/dist/core/tools/render-utils.js +18 -2
  362. package/dist/core/tools/render-utils.js.map +1 -1
  363. package/dist/core/tools/tool-definition-wrapper.d.ts +2 -2
  364. package/dist/core/tools/tool-definition-wrapper.d.ts.map +1 -1
  365. package/dist/core/tools/tool-definition-wrapper.js +3 -3
  366. package/dist/core/tools/tool-definition-wrapper.js.map +1 -1
  367. package/dist/core/tools/truncate.d.ts.map +1 -1
  368. package/dist/core/tools/truncate.js +12 -2
  369. package/dist/core/tools/truncate.js.map +1 -1
  370. package/dist/core/tools/write.d.ts +6 -2
  371. package/dist/core/tools/write.d.ts.map +1 -1
  372. package/dist/core/tools/write.js +35 -45
  373. package/dist/core/tools/write.js.map +1 -1
  374. package/dist/core/trust-manager.d.ts +36 -0
  375. package/dist/core/trust-manager.d.ts.map +1 -0
  376. package/dist/core/trust-manager.js +202 -0
  377. package/dist/core/trust-manager.js.map +1 -0
  378. package/dist/core/usage-totals.d.ts +19 -0
  379. package/dist/core/usage-totals.d.ts.map +1 -0
  380. package/dist/core/usage-totals.js +52 -0
  381. package/dist/core/usage-totals.js.map +1 -0
  382. package/dist/extensions/index.d.ts +3 -0
  383. package/dist/extensions/index.d.ts.map +1 -0
  384. package/dist/extensions/index.js +3 -0
  385. package/dist/extensions/index.js.map +1 -0
  386. package/dist/extensions/llama/client.d.ts +61 -0
  387. package/dist/extensions/llama/client.d.ts.map +1 -0
  388. package/dist/extensions/llama/client.js +302 -0
  389. package/dist/extensions/llama/client.js.map +1 -0
  390. package/dist/extensions/llama/huggingface.d.ts +23 -0
  391. package/dist/extensions/llama/huggingface.d.ts.map +1 -0
  392. package/dist/extensions/llama/huggingface.js +141 -0
  393. package/dist/extensions/llama/huggingface.js.map +1 -0
  394. package/dist/extensions/llama/index.d.ts +3 -0
  395. package/dist/extensions/llama/index.d.ts.map +1 -0
  396. package/dist/extensions/llama/index.js +217 -0
  397. package/dist/extensions/llama/index.js.map +1 -0
  398. package/dist/extensions/llama/provider.d.ts +10 -0
  399. package/dist/extensions/llama/provider.d.ts.map +1 -0
  400. package/dist/extensions/llama/provider.js +121 -0
  401. package/dist/extensions/llama/provider.js.map +1 -0
  402. package/dist/extensions/llama/ui.d.ts +42 -0
  403. package/dist/extensions/llama/ui.d.ts.map +1 -0
  404. package/dist/extensions/llama/ui.js +416 -0
  405. package/dist/extensions/llama/ui.js.map +1 -0
  406. package/dist/index.d.ts +34 -27
  407. package/dist/index.d.ts.map +1 -1
  408. package/dist/index.js +11 -5
  409. package/dist/index.js.map +1 -1
  410. package/dist/main.d.ts +2 -2
  411. package/dist/main.d.ts.map +1 -1
  412. package/dist/main.js +311 -101
  413. package/dist/main.js.map +1 -1
  414. package/dist/migrations.d.ts +5 -5
  415. package/dist/migrations.d.ts.map +1 -1
  416. package/dist/migrations.js +10 -10
  417. package/dist/migrations.js.map +1 -1
  418. package/dist/modes/index.d.ts +6 -5
  419. package/dist/modes/index.d.ts.map +1 -1
  420. package/dist/modes/index.js.map +1 -1
  421. package/dist/modes/interactive/components/armin.d.ts +1 -1
  422. package/dist/modes/interactive/components/armin.d.ts.map +1 -1
  423. package/dist/modes/interactive/components/armin.js.map +1 -1
  424. package/dist/modes/interactive/components/assistant-message.d.ts +8 -3
  425. package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
  426. package/dist/modes/interactive/components/assistant-message.js +55 -26
  427. package/dist/modes/interactive/components/assistant-message.js.map +1 -1
  428. package/dist/modes/interactive/components/bash-execution.d.ts +2 -2
  429. package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -1
  430. package/dist/modes/interactive/components/bash-execution.js +4 -4
  431. package/dist/modes/interactive/components/bash-execution.js.map +1 -1
  432. package/dist/modes/interactive/components/bordered-loader.d.ts +2 -2
  433. package/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -1
  434. package/dist/modes/interactive/components/bordered-loader.js +1 -1
  435. package/dist/modes/interactive/components/bordered-loader.js.map +1 -1
  436. package/dist/modes/interactive/components/branch-summary-message.d.ts +2 -2
  437. package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -1
  438. package/dist/modes/interactive/components/branch-summary-message.js +1 -1
  439. package/dist/modes/interactive/components/branch-summary-message.js.map +1 -1
  440. package/dist/modes/interactive/components/compaction-summary-message.d.ts +2 -2
  441. package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -1
  442. package/dist/modes/interactive/components/compaction-summary-message.js +1 -1
  443. package/dist/modes/interactive/components/compaction-summary-message.js.map +1 -1
  444. package/dist/modes/interactive/components/config-selector.d.ts +37 -6
  445. package/dist/modes/interactive/components/config-selector.d.ts.map +1 -1
  446. package/dist/modes/interactive/components/config-selector.js +318 -34
  447. package/dist/modes/interactive/components/config-selector.js.map +1 -1
  448. package/dist/modes/interactive/components/countdown-timer.d.ts +3 -3
  449. package/dist/modes/interactive/components/countdown-timer.d.ts.map +1 -1
  450. package/dist/modes/interactive/components/countdown-timer.js +2 -2
  451. package/dist/modes/interactive/components/countdown-timer.js.map +1 -1
  452. package/dist/modes/interactive/components/custom-editor.d.ts +2 -2
  453. package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -1
  454. package/dist/modes/interactive/components/custom-editor.js +9 -2
  455. package/dist/modes/interactive/components/custom-editor.js.map +1 -1
  456. package/dist/modes/interactive/components/custom-entry.d.ts +19 -0
  457. package/dist/modes/interactive/components/custom-entry.d.ts.map +1 -0
  458. package/dist/modes/interactive/components/custom-entry.js +52 -0
  459. package/dist/modes/interactive/components/custom-entry.js.map +1 -0
  460. package/dist/modes/interactive/components/custom-message.d.ts +6 -4
  461. package/dist/modes/interactive/components/custom-message.d.ts.map +1 -1
  462. package/dist/modes/interactive/components/custom-message.js +11 -3
  463. package/dist/modes/interactive/components/custom-message.js.map +1 -1
  464. package/dist/modes/interactive/components/daxnuts.d.ts +1 -1
  465. package/dist/modes/interactive/components/daxnuts.d.ts.map +1 -1
  466. package/dist/modes/interactive/components/daxnuts.js.map +1 -1
  467. package/dist/modes/interactive/components/diff.d.ts.map +1 -1
  468. package/dist/modes/interactive/components/diff.js.map +1 -1
  469. package/dist/modes/interactive/components/dynamic-border.d.ts +1 -1
  470. package/dist/modes/interactive/components/dynamic-border.d.ts.map +1 -1
  471. package/dist/modes/interactive/components/dynamic-border.js.map +1 -1
  472. package/dist/modes/interactive/components/extension-editor.d.ts +5 -4
  473. package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -1
  474. package/dist/modes/interactive/components/extension-editor.js +19 -32
  475. package/dist/modes/interactive/components/extension-editor.js.map +1 -1
  476. package/dist/modes/interactive/components/extension-input.d.ts +1 -1
  477. package/dist/modes/interactive/components/extension-input.d.ts.map +1 -1
  478. package/dist/modes/interactive/components/extension-input.js +1 -1
  479. package/dist/modes/interactive/components/extension-input.js.map +1 -1
  480. package/dist/modes/interactive/components/extension-selector.d.ts +3 -1
  481. package/dist/modes/interactive/components/extension-selector.d.ts.map +1 -1
  482. package/dist/modes/interactive/components/extension-selector.js +7 -2
  483. package/dist/modes/interactive/components/extension-selector.js.map +1 -1
  484. package/dist/modes/interactive/components/first-time-setup.d.ts +25 -0
  485. package/dist/modes/interactive/components/first-time-setup.d.ts.map +1 -0
  486. package/dist/modes/interactive/components/first-time-setup.js +103 -0
  487. package/dist/modes/interactive/components/first-time-setup.js.map +1 -0
  488. package/dist/modes/interactive/components/footer.d.ts +9 -4
  489. package/dist/modes/interactive/components/footer.d.ts.map +1 -1
  490. package/dist/modes/interactive/components/footer.js +52 -31
  491. package/dist/modes/interactive/components/footer.js.map +1 -1
  492. package/dist/modes/interactive/components/index.d.ts +33 -31
  493. package/dist/modes/interactive/components/index.d.ts.map +1 -1
  494. package/dist/modes/interactive/components/index.js +2 -0
  495. package/dist/modes/interactive/components/index.js.map +1 -1
  496. package/dist/modes/interactive/components/keybinding-hints.d.ts +6 -1
  497. package/dist/modes/interactive/components/keybinding-hints.d.ts.map +1 -1
  498. package/dist/modes/interactive/components/keybinding-hints.js +20 -6
  499. package/dist/modes/interactive/components/keybinding-hints.js.map +1 -1
  500. package/dist/modes/interactive/components/login-dialog.d.ts +12 -6
  501. package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
  502. package/dist/modes/interactive/components/login-dialog.js +46 -17
  503. package/dist/modes/interactive/components/login-dialog.js.map +1 -1
  504. package/dist/modes/interactive/components/markdown-transform.d.ts +3 -0
  505. package/dist/modes/interactive/components/markdown-transform.d.ts.map +1 -0
  506. package/dist/modes/interactive/components/markdown-transform.js +19 -0
  507. package/dist/modes/interactive/components/markdown-transform.js.map +1 -0
  508. package/dist/modes/interactive/components/mermaid.d.ts +11 -0
  509. package/dist/modes/interactive/components/mermaid.d.ts.map +1 -0
  510. package/dist/modes/interactive/components/mermaid.js +75 -0
  511. package/dist/modes/interactive/components/mermaid.js.map +1 -0
  512. package/dist/modes/interactive/components/model-selector.d.ts +13 -6
  513. package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
  514. package/dist/modes/interactive/components/model-selector.js +92 -44
  515. package/dist/modes/interactive/components/model-selector.js.map +1 -1
  516. package/dist/modes/interactive/components/oauth-selector.d.ts +7 -4
  517. package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -1
  518. package/dist/modes/interactive/components/oauth-selector.js +32 -28
  519. package/dist/modes/interactive/components/oauth-selector.js.map +1 -1
  520. package/dist/modes/interactive/components/scoped-models-selector.d.ts +5 -1
  521. package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -1
  522. package/dist/modes/interactive/components/scoped-models-selector.js +52 -14
  523. package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -1
  524. package/dist/modes/interactive/components/session-selector-search.d.ts +1 -1
  525. package/dist/modes/interactive/components/session-selector-search.d.ts.map +1 -1
  526. package/dist/modes/interactive/components/session-selector-search.js +1 -1
  527. package/dist/modes/interactive/components/session-selector-search.js.map +1 -1
  528. package/dist/modes/interactive/components/session-selector.d.ts +4 -5
  529. package/dist/modes/interactive/components/session-selector.d.ts.map +1 -1
  530. package/dist/modes/interactive/components/session-selector.js +18 -16
  531. package/dist/modes/interactive/components/session-selector.js.map +1 -1
  532. package/dist/modes/interactive/components/settings-selector.d.ts +23 -2
  533. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  534. package/dist/modes/interactive/components/settings-selector.js +322 -22
  535. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  536. package/dist/modes/interactive/components/show-images-selector.d.ts +1 -1
  537. package/dist/modes/interactive/components/show-images-selector.d.ts.map +1 -1
  538. package/dist/modes/interactive/components/show-images-selector.js +1 -1
  539. package/dist/modes/interactive/components/show-images-selector.js.map +1 -1
  540. package/dist/modes/interactive/components/skill-invocation-message.d.ts +2 -2
  541. package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -1
  542. package/dist/modes/interactive/components/skill-invocation-message.js +1 -1
  543. package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -1
  544. package/dist/modes/interactive/components/status-indicator.d.ts +28 -0
  545. package/dist/modes/interactive/components/status-indicator.d.ts.map +1 -0
  546. package/dist/modes/interactive/components/status-indicator.js +60 -0
  547. package/dist/modes/interactive/components/status-indicator.js.map +1 -0
  548. package/dist/modes/interactive/components/theme-selector.d.ts +1 -1
  549. package/dist/modes/interactive/components/theme-selector.d.ts.map +1 -1
  550. package/dist/modes/interactive/components/theme-selector.js +1 -1
  551. package/dist/modes/interactive/components/theme-selector.js.map +1 -1
  552. package/dist/modes/interactive/components/thinking-selector.d.ts +2 -2
  553. package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -1
  554. package/dist/modes/interactive/components/thinking-selector.js +3 -2
  555. package/dist/modes/interactive/components/thinking-selector.js.map +1 -1
  556. package/dist/modes/interactive/components/tool-execution.d.ts +2 -2
  557. package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  558. package/dist/modes/interactive/components/tool-execution.js +33 -2
  559. package/dist/modes/interactive/components/tool-execution.js.map +1 -1
  560. package/dist/modes/interactive/components/tree-selector.d.ts +7 -2
  561. package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -1
  562. package/dist/modes/interactive/components/tree-selector.js +179 -26
  563. package/dist/modes/interactive/components/tree-selector.js.map +1 -1
  564. package/dist/modes/interactive/components/trust-selector.d.ts +23 -0
  565. package/dist/modes/interactive/components/trust-selector.d.ts.map +1 -0
  566. package/dist/modes/interactive/components/trust-selector.js +91 -0
  567. package/dist/modes/interactive/components/trust-selector.js.map +1 -0
  568. package/dist/modes/interactive/components/user-message-selector.d.ts +1 -1
  569. package/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -1
  570. package/dist/modes/interactive/components/user-message-selector.js +1 -1
  571. package/dist/modes/interactive/components/user-message-selector.js.map +1 -1
  572. package/dist/modes/interactive/components/user-message.d.ts +9 -3
  573. package/dist/modes/interactive/components/user-message.d.ts.map +1 -1
  574. package/dist/modes/interactive/components/user-message.js +26 -6
  575. package/dist/modes/interactive/components/user-message.js.map +1 -1
  576. package/dist/modes/interactive/components/visual-truncate.d.ts.map +1 -1
  577. package/dist/modes/interactive/components/visual-truncate.js +1 -1
  578. package/dist/modes/interactive/components/visual-truncate.js.map +1 -1
  579. package/dist/modes/interactive/external-editor.d.ts +12 -0
  580. package/dist/modes/interactive/external-editor.d.ts.map +1 -0
  581. package/dist/modes/interactive/external-editor.js +37 -0
  582. package/dist/modes/interactive/external-editor.js.map +1 -0
  583. package/dist/modes/interactive/interactive-mode.d.ts +104 -26
  584. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  585. package/dist/modes/interactive/interactive-mode.js +1565 -692
  586. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  587. package/dist/modes/interactive/model-catalog-refresh.d.ts +7 -0
  588. package/dist/modes/interactive/model-catalog-refresh.d.ts.map +1 -0
  589. package/dist/modes/interactive/model-catalog-refresh.js +34 -0
  590. package/dist/modes/interactive/model-catalog-refresh.js.map +1 -0
  591. package/dist/modes/interactive/model-search.d.ts +12 -0
  592. package/dist/modes/interactive/model-search.d.ts.map +1 -0
  593. package/dist/modes/interactive/model-search.js +15 -0
  594. package/dist/modes/interactive/model-search.js.map +1 -0
  595. package/dist/modes/interactive/theme/dark.json +10 -5
  596. package/dist/modes/interactive/theme/light.json +10 -5
  597. package/dist/modes/interactive/theme/theme-controller.d.ts +40 -0
  598. package/dist/modes/interactive/theme/theme-controller.d.ts.map +1 -0
  599. package/dist/modes/interactive/theme/theme-controller.js +125 -0
  600. package/dist/modes/interactive/theme/theme-controller.js.map +1 -0
  601. package/dist/modes/interactive/theme/theme-schema.json +22 -5
  602. package/dist/modes/interactive/theme/theme.d.ts +48 -7
  603. package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  604. package/dist/modes/interactive/theme/theme.js +194 -76
  605. package/dist/modes/interactive/theme/theme.js.map +1 -1
  606. package/dist/modes/json-event.d.ts +31 -0
  607. package/dist/modes/json-event.d.ts.map +1 -0
  608. package/dist/modes/json-event.js +15 -0
  609. package/dist/modes/json-event.js.map +1 -0
  610. package/dist/modes/print-mode.d.ts +3 -3
  611. package/dist/modes/print-mode.d.ts.map +1 -1
  612. package/dist/modes/print-mode.js +16 -5
  613. package/dist/modes/print-mode.js.map +1 -1
  614. package/dist/modes/rpc/rpc-client.d.ts +33 -10
  615. package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
  616. package/dist/modes/rpc/rpc-client.js +89 -11
  617. package/dist/modes/rpc/rpc-client.js.map +1 -1
  618. package/dist/modes/rpc/rpc-mode.d.ts +2 -2
  619. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
  620. package/dist/modes/rpc/rpc-mode.js +69 -9
  621. package/dist/modes/rpc/rpc-mode.js.map +1 -1
  622. package/dist/modes/rpc/rpc-types.d.ts +43 -5
  623. package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
  624. package/dist/modes/rpc/rpc-types.js.map +1 -1
  625. package/dist/package-manager-cli.d.ts +6 -2
  626. package/dist/package-manager-cli.d.ts.map +1 -1
  627. package/dist/package-manager-cli.js +527 -25
  628. package/dist/package-manager-cli.js.map +1 -1
  629. package/dist/path-migration.d.ts +13 -0
  630. package/dist/path-migration.d.ts.map +1 -0
  631. package/dist/path-migration.js +52 -0
  632. package/dist/path-migration.js.map +1 -0
  633. package/dist/rpc-entry.d.ts +3 -0
  634. package/dist/rpc-entry.d.ts.map +1 -0
  635. package/dist/rpc-entry.js +11 -0
  636. package/dist/rpc-entry.js.map +1 -0
  637. package/dist/server/create-harness.d.ts +26 -0
  638. package/dist/server/create-harness.d.ts.map +1 -0
  639. package/dist/server/create-harness.js +106 -0
  640. package/dist/server/create-harness.js.map +1 -0
  641. package/dist/utils/abort.d.ts +5 -0
  642. package/dist/utils/abort.d.ts.map +1 -0
  643. package/dist/utils/abort.js +48 -0
  644. package/dist/utils/abort.js.map +1 -0
  645. package/dist/utils/ansi.d.ts +2 -0
  646. package/dist/utils/ansi.d.ts.map +1 -0
  647. package/dist/utils/ansi.js +52 -0
  648. package/dist/utils/ansi.js.map +1 -0
  649. package/dist/utils/changelog.d.ts +2 -1
  650. package/dist/utils/changelog.d.ts.map +1 -1
  651. package/dist/utils/changelog.js +85 -0
  652. package/dist/utils/changelog.js.map +1 -1
  653. package/dist/utils/child-process.d.ts +12 -5
  654. package/dist/utils/child-process.d.ts.map +1 -1
  655. package/dist/utils/child-process.js +33 -5
  656. package/dist/utils/child-process.js.map +1 -1
  657. package/dist/utils/clipboard-image.d.ts.map +1 -1
  658. package/dist/utils/clipboard-image.js +4 -4
  659. package/dist/utils/clipboard-image.js.map +1 -1
  660. package/dist/utils/clipboard-native.d.ts +4 -1
  661. package/dist/utils/clipboard-native.d.ts.map +1 -1
  662. package/dist/utils/clipboard-native.js +14 -8
  663. package/dist/utils/clipboard-native.js.map +1 -1
  664. package/dist/utils/clipboard.d.ts +2 -0
  665. package/dist/utils/clipboard.d.ts.map +1 -1
  666. package/dist/utils/clipboard.js +129 -46
  667. package/dist/utils/clipboard.js.map +1 -1
  668. package/dist/utils/deprecation.d.ts +4 -0
  669. package/dist/utils/deprecation.d.ts.map +1 -0
  670. package/dist/utils/deprecation.js +13 -0
  671. package/dist/utils/deprecation.js.map +1 -0
  672. package/dist/utils/exif-orientation.d.ts +1 -1
  673. package/dist/utils/exif-orientation.d.ts.map +1 -1
  674. package/dist/utils/exif-orientation.js.map +1 -1
  675. package/dist/utils/git.d.ts.map +1 -1
  676. package/dist/utils/git.js +54 -22
  677. package/dist/utils/git.js.map +1 -1
  678. package/dist/utils/html.d.ts +7 -0
  679. package/dist/utils/html.d.ts.map +1 -0
  680. package/dist/utils/html.js +40 -0
  681. package/dist/utils/html.js.map +1 -0
  682. package/dist/utils/image-convert.d.ts +1 -0
  683. package/dist/utils/image-convert.d.ts.map +1 -1
  684. package/dist/utils/image-convert.js +21 -15
  685. package/dist/utils/image-convert.js.map +1 -1
  686. package/dist/utils/image-process.d.ts +18 -0
  687. package/dist/utils/image-process.d.ts.map +1 -0
  688. package/dist/utils/image-process.js +83 -0
  689. package/dist/utils/image-process.js.map +1 -0
  690. package/dist/utils/image-resize-core.d.ts +30 -0
  691. package/dist/utils/image-resize-core.d.ts.map +1 -0
  692. package/dist/utils/image-resize-core.js +124 -0
  693. package/dist/utils/image-resize-core.js.map +1 -0
  694. package/dist/utils/image-resize-worker.d.ts +2 -0
  695. package/dist/utils/image-resize-worker.d.ts.map +1 -0
  696. package/dist/utils/image-resize-worker.js +31 -0
  697. package/dist/utils/image-resize-worker.js.map +1 -0
  698. package/dist/utils/image-resize.d.ts +7 -27
  699. package/dist/utils/image-resize.d.ts.map +1 -1
  700. package/dist/utils/image-resize.js +75 -115
  701. package/dist/utils/image-resize.js.map +1 -1
  702. package/dist/utils/json.d.ts +3 -0
  703. package/dist/utils/json.d.ts.map +1 -0
  704. package/dist/utils/json.js +7 -0
  705. package/dist/utils/json.js.map +1 -0
  706. package/dist/utils/management-http.d.ts +23 -0
  707. package/dist/utils/management-http.d.ts.map +1 -0
  708. package/dist/utils/management-http.js +50 -0
  709. package/dist/utils/management-http.js.map +1 -0
  710. package/dist/utils/mime.d.ts +1 -0
  711. package/dist/utils/mime.d.ts.map +1 -1
  712. package/dist/utils/mime.js +100 -16
  713. package/dist/utils/mime.js.map +1 -1
  714. package/dist/utils/open-browser.d.ts +9 -0
  715. package/dist/utils/open-browser.d.ts.map +1 -0
  716. package/dist/utils/open-browser.js +22 -0
  717. package/dist/utils/open-browser.js.map +1 -0
  718. package/dist/utils/paths.d.ts +28 -1
  719. package/dist/utils/paths.d.ts.map +1 -1
  720. package/dist/utils/paths.js +97 -2
  721. package/dist/utils/paths.js.map +1 -1
  722. package/dist/utils/pi-user-agent.d.ts +2 -0
  723. package/dist/utils/pi-user-agent.d.ts.map +1 -0
  724. package/dist/utils/pi-user-agent.js +5 -0
  725. package/dist/utils/pi-user-agent.js.map +1 -0
  726. package/dist/utils/shell.d.ts +1 -0
  727. package/dist/utils/shell.d.ts.map +1 -1
  728. package/dist/utils/shell.js +18 -6
  729. package/dist/utils/shell.js.map +1 -1
  730. package/dist/utils/syntax-highlight.d.ts +12 -0
  731. package/dist/utils/syntax-highlight.d.ts.map +1 -0
  732. package/dist/utils/syntax-highlight.js +118 -0
  733. package/dist/utils/syntax-highlight.js.map +1 -0
  734. package/dist/utils/tool-result-images.d.ts +19 -0
  735. package/dist/utils/tool-result-images.d.ts.map +1 -0
  736. package/dist/utils/tool-result-images.js +45 -0
  737. package/dist/utils/tool-result-images.js.map +1 -0
  738. package/dist/utils/tools-manager.d.ts +10 -1
  739. package/dist/utils/tools-manager.d.ts.map +1 -1
  740. package/dist/utils/tools-manager.js +105 -36
  741. package/dist/utils/tools-manager.js.map +1 -1
  742. package/dist/utils/version-check.d.ts +19 -0
  743. package/dist/utils/version-check.d.ts.map +1 -0
  744. package/dist/utils/version-check.js +85 -0
  745. package/dist/utils/version-check.js.map +1 -0
  746. package/dist/utils/windows-self-update.d.ts +3 -0
  747. package/dist/utils/windows-self-update.d.ts.map +1 -0
  748. package/dist/utils/windows-self-update.js +77 -0
  749. package/dist/utils/windows-self-update.js.map +1 -0
  750. package/docs/compaction.md +39 -32
  751. package/docs/containerization.md +113 -0
  752. package/docs/custom-provider.md +212 -75
  753. package/docs/development.md +9 -9
  754. package/docs/docs.json +156 -0
  755. package/docs/environment-variables.md +186 -0
  756. package/docs/extensions.md +652 -140
  757. package/docs/index.md +81 -0
  758. package/docs/json.md +26 -15
  759. package/docs/keybindings.md +60 -21
  760. package/docs/llama-cpp.md +99 -0
  761. package/docs/models.md +168 -34
  762. package/docs/packages.md +46 -36
  763. package/docs/prompt-templates.md +13 -5
  764. package/docs/providers.md +147 -26
  765. package/docs/quickstart.md +167 -0
  766. package/docs/rpc.md +218 -36
  767. package/docs/sdk.md +190 -125
  768. package/docs/security.md +59 -0
  769. package/docs/{session.md → session-format.md} +48 -22
  770. package/docs/sessions.md +145 -0
  771. package/docs/settings.md +130 -25
  772. package/docs/shell-aliases.md +2 -2
  773. package/docs/skills.md +13 -14
  774. package/docs/terminal-setup.md +73 -16
  775. package/docs/termux.md +10 -10
  776. package/docs/themes.md +41 -16
  777. package/docs/tmux.md +6 -4
  778. package/docs/tui.md +85 -61
  779. package/docs/usage.md +302 -0
  780. package/docs/windows.md +2 -2
  781. package/examples/README.md +1 -1
  782. package/examples/extensions/README.md +12 -9
  783. package/examples/extensions/bash-spawn-hook.ts +2 -2
  784. package/examples/extensions/border-status-editor.ts +145 -0
  785. package/examples/extensions/built-in-tool-renderer.ts +2 -2
  786. package/examples/extensions/claude-rules.ts +1 -1
  787. package/examples/extensions/commands.ts +1 -1
  788. package/examples/extensions/custom-compaction.ts +6 -16
  789. package/examples/extensions/custom-footer.ts +1 -1
  790. package/examples/extensions/custom-header.ts +7 -7
  791. package/examples/extensions/custom-provider-anthropic/index.ts +15 -8
  792. package/examples/extensions/custom-provider-anthropic/package-lock.json +4 -4
  793. package/examples/extensions/custom-provider-anthropic/package.json +3 -3
  794. package/examples/extensions/custom-provider-gitlab-duo/index.ts +65 -9
  795. package/examples/extensions/custom-provider-gitlab-duo/package.json +2 -2
  796. package/examples/extensions/custom-provider-gitlab-duo/test.ts +2 -2
  797. package/examples/extensions/doom-overlay/README.md +1 -1
  798. package/examples/extensions/doom-overlay/doom-component.ts +4 -4
  799. package/examples/extensions/doom-overlay/doom-keys.ts +1 -1
  800. package/examples/extensions/doom-overlay/index.ts +5 -5
  801. package/examples/extensions/doom-overlay/wad-finder.ts +7 -3
  802. package/examples/extensions/dynamic-resources/dynamic.json +1 -1
  803. package/examples/extensions/entry-renderer.ts +41 -0
  804. package/examples/extensions/git-merge-and-resolve.ts +115 -0
  805. package/examples/extensions/github-issue-autocomplete.ts +2 -2
  806. package/examples/extensions/gondolin/index.ts +531 -0
  807. package/examples/extensions/gondolin/package-lock.json +185 -0
  808. package/examples/extensions/gondolin/package.json +19 -0
  809. package/examples/extensions/handoff.ts +50 -14
  810. package/examples/extensions/hidden-thinking-label.ts +1 -1
  811. package/examples/extensions/inline-bash.ts +2 -2
  812. package/examples/extensions/input-transform-streaming.ts +39 -0
  813. package/examples/extensions/input-transform.ts +2 -2
  814. package/examples/extensions/interactive-shell.ts +2 -2
  815. package/examples/extensions/kimi-deferred-tools.ts +61 -0
  816. package/examples/extensions/mac-system-theme.ts +2 -2
  817. package/examples/extensions/message-renderer.ts +3 -3
  818. package/examples/extensions/minimal-mode.ts +2 -2
  819. package/examples/extensions/modal-editor.ts +2 -2
  820. package/examples/extensions/model-status.ts +1 -1
  821. package/examples/extensions/notify.ts +3 -3
  822. package/examples/extensions/overlay-qa-tests.ts +242 -140
  823. package/examples/extensions/overlay-test.ts +9 -6
  824. package/examples/extensions/pirate.ts +1 -1
  825. package/examples/extensions/plan-mode/README.md +3 -2
  826. package/examples/extensions/plan-mode/index.ts +90 -40
  827. package/examples/extensions/preset.ts +16 -10
  828. package/examples/extensions/project-trust.ts +64 -0
  829. package/examples/extensions/prompt-customizer.ts +1 -1
  830. package/examples/extensions/provider-payload.ts +5 -5
  831. package/examples/extensions/qna.ts +4 -8
  832. package/examples/extensions/question.ts +41 -19
  833. package/examples/extensions/questionnaire.ts +50 -29
  834. package/examples/extensions/rainbow-editor.ts +1 -1
  835. package/examples/extensions/reload-runtime.ts +2 -2
  836. package/examples/extensions/rpc-demo.ts +1 -1
  837. package/examples/extensions/sandbox/index.ts +9 -9
  838. package/examples/extensions/sandbox/package-lock.json +7 -7
  839. package/examples/extensions/sandbox/package.json +3 -3
  840. package/examples/extensions/shutdown-command.ts +5 -5
  841. package/examples/extensions/snake.ts +2 -2
  842. package/examples/extensions/space-invaders.ts +2 -2
  843. package/examples/extensions/ssh.ts +2 -2
  844. package/examples/extensions/structured-output.ts +1 -1
  845. package/examples/extensions/subagent/README.md +18 -13
  846. package/examples/extensions/subagent/agents.ts +42 -11
  847. package/examples/extensions/subagent/index.ts +76 -30
  848. package/examples/extensions/summarize.ts +12 -19
  849. package/examples/extensions/tic-tac-toe.ts +2 -2
  850. package/examples/extensions/titlebar-spinner.ts +3 -3
  851. package/examples/extensions/todo.ts +2 -2
  852. package/examples/extensions/tool-override.ts +1 -1
  853. package/examples/extensions/tools.ts +7 -2
  854. package/examples/extensions/truncated-tool.ts +2 -2
  855. package/examples/extensions/with-deps/package-lock.json +4 -4
  856. package/examples/extensions/with-deps/package.json +4 -4
  857. package/examples/extensions/working-indicator.ts +4 -4
  858. package/examples/extensions/working-message-test.ts +1 -1
  859. package/examples/rpc-extension-ui.ts +11 -2
  860. package/examples/sdk/01-minimal.ts +15 -11
  861. package/examples/sdk/02-custom-model.ts +18 -18
  862. package/examples/sdk/03-custom-prompt.ts +25 -17
  863. package/examples/sdk/04-skills.ts +3 -3
  864. package/examples/sdk/05-tools.ts +8 -4
  865. package/examples/sdk/06-extensions.ts +13 -9
  866. package/examples/sdk/07-context-files.ts +2 -2
  867. package/examples/sdk/08-prompt-templates.ts +3 -3
  868. package/examples/sdk/09-api-keys-and-oauth.ts +19 -33
  869. package/examples/sdk/10-settings.ts +4 -4
  870. package/examples/sdk/11-sessions.ts +4 -0
  871. package/examples/sdk/12-full-control.ts +22 -21
  872. package/examples/sdk/README.md +23 -30
  873. package/npm-shrinkwrap.json +1818 -0
  874. package/package.json +117 -99
  875. package/dist/modes/interactive/assets/clankolas.png +0 -0
  876. package/dist/modes/interactive/components/auth-selector-status.d.ts +0 -20
  877. package/dist/modes/interactive/components/auth-selector-status.d.ts.map +0 -1
  878. package/dist/modes/interactive/components/auth-selector-status.js +0 -23
  879. package/dist/modes/interactive/components/auth-selector-status.js.map +0 -1
  880. package/dist/modes/interactive/components/earendil-announcement.d.ts +0 -5
  881. package/dist/modes/interactive/components/earendil-announcement.d.ts.map +0 -1
  882. package/dist/modes/interactive/components/earendil-announcement.js +0 -40
  883. package/dist/modes/interactive/components/earendil-announcement.js.map +0 -1
  884. package/docs/images/exy.png +0 -0
  885. package/docs/tree.md +0 -233
  886. package/examples/extensions/antigravity-image-gen.ts +0 -418
  887. package/examples/extensions/custom-provider-qwen-cli/index.ts +0 -345
  888. package/examples/extensions/custom-provider-qwen-cli/package.json +0 -16
@@ -7,30 +7,31 @@
7
7
  * - Register commands, keyboard shortcuts, and CLI flags
8
8
  * - Interact with the user via UI primitives
9
9
  */
10
- import type { AutocompleteItem, AutocompleteProvider, Component, EditorComponent, EditorTheme, KeyId, OverlayHandle, OverlayOptions, TUI } from "@mariozechner/pi-tui";
11
- import type { AgentMessage, AgentToolResult, AgentToolUpdateCallback, ThinkingLevel, ToolExecutionMode } from "@sammorrowdrums/mcpi-agent";
12
- import type { Api, AssistantMessageEvent, AssistantMessageEventStream, Context, ImageContent, Model, OAuthCredentials, OAuthLoginCallbacks, SimpleStreamOptions, TextContent, ToolResultMessage } from "@sammorrowdrums/mcpi-ai";
10
+ import type { AgentMessage, AgentToolResult, AgentToolUpdateCallback, ThinkingLevel, ToolExecutionMode } from "@sammorrowdrums/mcpi-agent-core";
11
+ import type { Api, AssistantMessageEvent, AssistantMessageEventStream, ConstrainedSamplingConfig, Context, ImageContent, Model, OAuthCredentials, OAuthLoginCallbacks, Provider, ProviderHeaders, RefreshModelsContext, SimpleStreamOptions, TextContent, ToolResultMessage, Usage } from "@sammorrowdrums/mcpi-ai";
12
+ import type { AutocompleteItem, AutocompleteProvider, Component, EditorComponent, EditorTheme, KeyId, OverlayHandle, OverlayOptions, TUI } from "@sammorrowdrums/mcpi-tui";
13
13
  import type { Static, TSchema } from "typebox";
14
- import type { Theme } from "../../modes/interactive/theme/theme.js";
15
- import type { BashResult } from "../bash-executor.js";
16
- import type { CompactionPreparation, CompactionResult } from "../compaction/index.js";
17
- import type { EventBus } from "../event-bus.js";
18
- import type { ExecOptions, ExecResult } from "../exec.js";
19
- import type { ReadonlyFooterDataProvider } from "../footer-data-provider.js";
20
- import type { KeybindingsManager } from "../keybindings.js";
21
- import type { CustomMessage } from "../messages.js";
22
- import type { ModelRegistry } from "../model-registry.js";
23
- import type { BranchSummaryEntry, CompactionEntry, ReadonlySessionManager, SessionEntry, SessionManager } from "../session-manager.js";
24
- import type { SlashCommandInfo } from "../slash-commands.js";
25
- import type { SourceInfo } from "../source-info.js";
26
- import type { BuildSystemPromptOptions } from "../system-prompt.js";
27
- import type { BashOperations } from "../tools/bash.js";
28
- import type { EditToolDetails } from "../tools/edit.js";
29
- import type { BashToolDetails, BashToolInput, EditToolInput, FindToolDetails, FindToolInput, GrepToolDetails, GrepToolInput, LsToolDetails, LsToolInput, ReadToolDetails, ReadToolInput, WriteToolInput } from "../tools/index.js";
30
- export type { ExecOptions, ExecResult } from "../exec.js";
31
- export type { BuildSystemPromptOptions } from "../system-prompt.js";
14
+ import type { Theme } from "../../modes/interactive/theme/theme.ts";
15
+ import type { BashResult } from "../bash-executor.ts";
16
+ import type { CompactionPreparation, CompactionResult } from "../compaction/index.ts";
17
+ import type { EventBus } from "../event-bus.ts";
18
+ import type { ExecOptions, ExecResult } from "../exec.ts";
19
+ import type { ReadonlyFooterDataProvider } from "../footer-data-provider.ts";
20
+ import type { KeybindingsManager } from "../keybindings.ts";
21
+ import type { CustomMessage } from "../messages.ts";
22
+ import type { ModelRegistry } from "../model-registry.ts";
23
+ import type { ScopedModel } from "../model-resolver.ts";
24
+ import type { BranchSummaryEntry, CompactionEntry, CustomEntry, ReadonlySessionManager, SessionEntry, SessionManager } from "../session-manager.ts";
25
+ import type { SlashCommandInfo } from "../slash-commands.ts";
26
+ import type { SourceInfo } from "../source-info.ts";
27
+ import type { BuildSystemPromptOptions } from "../system-prompt.ts";
28
+ import type { BashOperations } from "../tools/bash.ts";
29
+ import type { EditToolDetails } from "../tools/edit.ts";
30
+ import type { BashToolDetails, BashToolInput, EditToolInput, FindToolDetails, FindToolInput, GrepToolDetails, GrepToolInput, LsToolDetails, LsToolInput, ReadToolDetails, ReadToolInput, WriteToolInput } from "../tools/index.ts";
31
+ export type { ExecOptions, ExecResult } from "../exec.ts";
32
+ export type { BuildSystemPromptOptions } from "../system-prompt.ts";
32
33
  export type { AgentToolResult, AgentToolUpdateCallback, ToolExecutionMode };
33
- export type { AppKeybinding, KeybindingsManager } from "../keybindings.js";
34
+ export type { AppKeybinding, KeybindingsManager } from "../keybindings.ts";
34
35
  /** Options for extension UI dialogs. */
35
36
  export interface ExtensionUIDialogOptions {
36
37
  /** AbortSignal to programmatically dismiss the dialog. */
@@ -59,6 +60,7 @@ export interface WorkingIndicatorOptions {
59
60
  }
60
61
  /** Wrap the current autocomplete provider with additional behavior. */
61
62
  export type AutocompleteProviderFactory = (current: AutocompleteProvider) => AutocompleteProvider;
63
+ export type EditorFactory = (tui: TUI, theme: EditorTheme, keybindings: KeybindingsManager) => EditorComponent;
62
64
  /**
63
65
  * UI context for extensions to request interactive UI.
64
66
  * Each mode (interactive, RPC, print) provides its own implementation.
@@ -78,6 +80,8 @@ export interface ExtensionUIContext {
78
80
  setStatus(key: string, text: string | undefined): void;
79
81
  /** Set the working/loading message shown during streaming. Call with no argument to restore default. */
80
82
  setWorkingMessage(message?: string): void;
83
+ /** Show or hide the built-in interactive working loader row during streaming. */
84
+ setWorkingVisible(visible: boolean): void;
81
85
  /**
82
86
  * Configure the interactive working indicator shown during streaming.
83
87
  *
@@ -140,7 +144,7 @@ export interface ExtensionUIContext {
140
144
  * - `keybindings`: KeybindingsManager for app-level keybindings
141
145
  *
142
146
  * For full app keybinding support (escape, ctrl+d, model switching, etc.),
143
- * extend `CustomEditor` from `mcpi` and call
147
+ * extend `CustomEditor` from `@sammorrowdrums/mcpi` and call
144
148
  * `super.handleInput(data)` for keys you don't handle.
145
149
  *
146
150
  * @example
@@ -164,7 +168,9 @@ export interface ExtensionUIContext {
164
168
  * );
165
169
  * ```
166
170
  */
167
- setEditorComponent(factory: ((tui: TUI, theme: EditorTheme, keybindings: KeybindingsManager) => EditorComponent) | undefined): void;
171
+ setEditorComponent(factory: EditorFactory | undefined): void;
172
+ /** Get the currently configured custom editor factory, or undefined when using the default editor. */
173
+ getEditorComponent(): EditorFactory | undefined;
168
174
  /** Get the current theme for styling. */
169
175
  readonly theme: Theme;
170
176
  /** Get all available themes with their names and file paths. */
@@ -199,10 +205,13 @@ export interface CompactOptions {
199
205
  /**
200
206
  * Context passed to extension event handlers.
201
207
  */
208
+ export type ExtensionMode = "tui" | "rpc" | "json" | "print";
202
209
  export interface ExtensionContext {
203
210
  /** UI methods for user interaction */
204
211
  ui: ExtensionUIContext;
205
- /** Whether UI is available (false in print/RPC mode) */
212
+ /** Current run mode. Use "tui" to guard terminal-only UI such as custom components. */
213
+ mode: ExtensionMode;
214
+ /** Whether dialog-capable UI is available (true in TUI and RPC modes) */
206
215
  hasUI: boolean;
207
216
  /** Current working directory */
208
217
  cwd: string;
@@ -212,15 +221,24 @@ export interface ExtensionContext {
212
221
  modelRegistry: ModelRegistry;
213
222
  /** Current model (may be undefined) */
214
223
  model: Model<any> | undefined;
224
+ /** Models scoped to this session (resolved from `--models` /
225
+ * `enabledModels` settings against the available catalogue). Same set
226
+ * the `/scoped-models` command shows. Empty when no scoping is
227
+ * configured (all available models are usable). Read-only snapshot. */
228
+ scopedModels: readonly ScopedModel[];
229
+ /** Current thinking level, when provided by the session runtime. */
230
+ thinkingLevel?: ThinkingLevel;
215
231
  /** Whether the agent is idle (not streaming) */
216
232
  isIdle(): boolean;
233
+ /** Whether project-local trust is active for this context. */
234
+ isProjectTrusted(): boolean;
217
235
  /** The current abort signal, or undefined when the agent is not streaming. */
218
236
  signal: AbortSignal | undefined;
219
237
  /** Abort the current agent operation */
220
238
  abort(): void;
221
239
  /** Whether there are queued messages waiting */
222
240
  hasPendingMessages(): boolean;
223
- /** Gracefully shutdown pi and exit. Available in all contexts. */
241
+ /** Gracefully shut down mcpi and exit. Available in all contexts. */
224
242
  shutdown(): void;
225
243
  /** Get current context usage for the active model. */
226
244
  getContextUsage(): ContextUsage | undefined;
@@ -234,6 +252,8 @@ export interface ExtensionContext {
234
252
  * Includes session control methods only safe in user-initiated commands.
235
253
  */
236
254
  export interface ExtensionCommandContext extends ExtensionContext {
255
+ /** Get the current base system-prompt construction options. */
256
+ getSystemPromptOptions(): BuildSystemPromptOptions;
237
257
  /** Wait for the agent to finish streaming */
238
258
  waitForIdle(): Promise<void>;
239
259
  /** Start a new session, optionally with initialization. */
@@ -266,7 +286,7 @@ export interface ExtensionCommandContext extends ExtensionContext {
266
286
  }): Promise<{
267
287
  cancelled: boolean;
268
288
  }>;
269
- /** Reload extensions, skills, prompts, and themes. */
289
+ /** Reload extensions, skills, prompts, themes, and context files. */
270
290
  reload(): Promise<void>;
271
291
  }
272
292
  /**
@@ -281,6 +301,7 @@ export interface ReplacedSessionContext extends ExtensionCommandContext {
281
301
  }): Promise<void>;
282
302
  sendUserMessage(content: string | (TextContent | ImageContent)[], options?: {
283
303
  deliverAs?: "steer" | "followUp";
304
+ expandPromptTemplates?: boolean;
284
305
  }): Promise<void>;
285
306
  }
286
307
  /** Rendering options for tool results */
@@ -333,6 +354,8 @@ export interface ToolDefinition<TParams extends TSchema = TSchema, TDetails = un
333
354
  promptGuidelines?: string[];
334
355
  /** Parameter schema (TypeBox) */
335
356
  parameters: TParams;
357
+ /** Optional provider-side constrained sampling request for this tool. Set false to explicitly disable it, equivalent to leaving it undefined. */
358
+ constrainedSampling?: false | ConstrainedSamplingConfig;
336
359
  /** Controls whether ToolExecutionComponent renders the standard colored shell or the tool renders its own framing. */
337
360
  renderShell?: "default" | "self";
338
361
  /** Optional compatibility shim to prepare raw tool call arguments before schema validation. Must return an object conforming to TParams. */
@@ -345,18 +368,6 @@ export interface ToolDefinition<TParams extends TSchema = TSchema, TDetails = un
345
368
  * If omitted, the default execution mode applies.
346
369
  */
347
370
  executionMode?: ToolExecutionMode;
348
- /**
349
- * When true, the tool is registered for execution but excluded from the
350
- * system prompt. The model discovers it through conversation content
351
- * (e.g. a skill's tool_result) rather than up-front tool descriptions.
352
- *
353
- * This enables progressive tool disclosure without changing the tools
354
- * array sent to the provider, preserving prompt cache across turns.
355
- *
356
- * Experimental — ideally model providers would explicitly support
357
- * deferred tool loading (e.g. Anthropic's `defer_loading`).
358
- */
359
- deferred?: boolean;
360
371
  /** Execute the tool. */
361
372
  execute(toolCallId: string, params: Static<TParams>, signal: AbortSignal | undefined, onUpdate: AgentToolUpdateCallback<TDetails> | undefined, ctx: ExtensionContext): Promise<AgentToolResult<TDetails>>;
362
373
  /** Custom rendering for tool call display */
@@ -373,6 +384,22 @@ type AnyToolDefinition = ToolDefinition<any, any, any>;
373
384
  * `unknown`.
374
385
  */
375
386
  export declare function defineTool<TParams extends TSchema, TDetails = unknown, TState = any>(tool: ToolDefinition<TParams, TDetails, TState>): ToolDefinition<TParams, TDetails, TState> & AnyToolDefinition;
387
+ export interface ProjectTrustEvent {
388
+ type: "project_trust";
389
+ cwd: string;
390
+ }
391
+ export type ProjectTrustEventDecision = "yes" | "no" | "undecided";
392
+ export interface ProjectTrustEventResult {
393
+ trusted: ProjectTrustEventDecision;
394
+ remember?: boolean;
395
+ }
396
+ export interface ProjectTrustContext {
397
+ cwd: string;
398
+ mode: ExtensionMode;
399
+ hasUI: boolean;
400
+ ui: Pick<ExtensionUIContext, "select" | "confirm" | "input" | "notify">;
401
+ }
402
+ export type ProjectTrustHandler = (event: ProjectTrustEvent, ctx: ProjectTrustContext) => Promise<ProjectTrustEventResult> | ProjectTrustEventResult;
376
403
  /** Fired after session_start to allow extensions to provide additional resource paths. */
377
404
  export interface ResourcesDiscoverEvent {
378
405
  type: "resources_discover";
@@ -393,6 +420,12 @@ export interface SessionStartEvent {
393
420
  /** Previously active session file. Present for "new", "resume", and "fork". */
394
421
  previousSessionFile?: string;
395
422
  }
423
+ /** Fired when the current session metadata changes. */
424
+ export interface SessionInfoChangedEvent {
425
+ type: "session_info_changed";
426
+ /** Current normalized session name. Undefined when the name is cleared. */
427
+ name: string | undefined;
428
+ }
396
429
  /** Fired before switching to another session (can be cancelled) */
397
430
  export interface SessionBeforeSwitchEvent {
398
431
  type: "session_before_switch";
@@ -411,6 +444,10 @@ export interface SessionBeforeCompactEvent {
411
444
  preparation: CompactionPreparation;
412
445
  branchEntries: SessionEntry[];
413
446
  customInstructions?: string;
447
+ /** What triggered the compaction: manual /compact, the context threshold, or context overflow recovery */
448
+ reason: "manual" | "threshold" | "overflow";
449
+ /** True when the aborted turn is retried after this compaction (overflow recovery) */
450
+ willRetry: boolean;
414
451
  signal: AbortSignal;
415
452
  }
416
453
  /** Fired after context compaction */
@@ -418,6 +455,10 @@ export interface SessionCompactEvent {
418
455
  type: "session_compact";
419
456
  compactionEntry: CompactionEntry;
420
457
  fromExtension: boolean;
458
+ /** What triggered the compaction: manual /compact, the context threshold, or context overflow recovery */
459
+ reason: "manual" | "threshold" | "overflow";
460
+ /** True when the aborted turn is retried after this compaction (overflow recovery) */
461
+ willRetry: boolean;
421
462
  }
422
463
  /** Fired before an extension runtime is torn down due to quit, reload, or session replacement. */
423
464
  export interface SessionShutdownEvent {
@@ -454,7 +495,7 @@ export interface SessionTreeEvent {
454
495
  summaryEntry?: BranchSummaryEntry;
455
496
  fromExtension?: boolean;
456
497
  }
457
- export type SessionEvent = SessionStartEvent | SessionBeforeSwitchEvent | SessionBeforeForkEvent | SessionBeforeCompactEvent | SessionCompactEvent | SessionShutdownEvent | SessionBeforeTreeEvent | SessionTreeEvent;
498
+ export type SessionEvent = SessionStartEvent | SessionInfoChangedEvent | SessionBeforeSwitchEvent | SessionBeforeForkEvent | SessionBeforeCompactEvent | SessionCompactEvent | SessionShutdownEvent | SessionBeforeTreeEvent | SessionTreeEvent;
458
499
  /** Fired before each LLM call. Can modify messages. */
459
500
  export interface ContextEvent {
460
501
  type: "context";
@@ -465,6 +506,15 @@ export interface BeforeProviderRequestEvent {
465
506
  type: "before_provider_request";
466
507
  payload: unknown;
467
508
  }
509
+ /**
510
+ * Fired after request headers are assembled, before the provider HTTP call.
511
+ * Handlers mutate `headers` in place (e.g. to inject tracing/session headers);
512
+ * the return value is ignored. A `null` value deletes that header.
513
+ */
514
+ export interface BeforeProviderHeadersEvent {
515
+ type: "before_provider_headers";
516
+ headers: ProviderHeaders;
517
+ }
468
518
  /** Fired after a provider response is received and before the response stream is consumed. */
469
519
  export interface AfterProviderResponseEvent {
470
520
  type: "after_provider_response";
@@ -480,7 +530,7 @@ export interface BeforeAgentStartEvent {
480
530
  images?: ImageContent[];
481
531
  /** The fully assembled system prompt string. */
482
532
  systemPrompt: string;
483
- /** Structured options used to build the system prompt. Extensions can inspect this to understand what Pi loaded without re-discovering resources. */
533
+ /** Structured options used to build the system prompt. Extensions can inspect this to understand what mcpi loaded without re-discovering resources. */
484
534
  systemPromptOptions: BuildSystemPromptOptions;
485
535
  }
486
536
  /** Fired when an agent loop starts */
@@ -492,6 +542,10 @@ export interface AgentEndEvent {
492
542
  type: "agent_end";
493
543
  messages: AgentMessage[];
494
544
  }
545
+ /** Fired after an agent run has fully settled and no automatic retry, compaction, or queued continuation will run. */
546
+ export interface AgentSettledEvent {
547
+ type: "agent_settled";
548
+ }
495
549
  /** Fired at the start of each turn */
496
550
  export interface TurnStartEvent {
497
551
  type: "turn_start";
@@ -552,6 +606,12 @@ export interface ModelSelectEvent {
552
606
  previousModel: Model<any> | undefined;
553
607
  source: ModelSelectSource;
554
608
  }
609
+ /** Fired when a new thinking level is selected */
610
+ export interface ThinkingLevelSelectEvent {
611
+ type: "thinking_level_select";
612
+ level: ThinkingLevel;
613
+ previousLevel: ThinkingLevel;
614
+ }
555
615
  /** Fired when user executes a bash command via ! or !! prefix */
556
616
  export interface UserBashEvent {
557
617
  type: "user_bash";
@@ -573,6 +633,8 @@ export interface InputEvent {
573
633
  images?: ImageContent[];
574
634
  /** Where the input came from */
575
635
  source: InputSource;
636
+ /** How the input will be delivered during streaming, or undefined when idle */
637
+ streamingBehavior?: "steer" | "followUp";
576
638
  }
577
639
  /** Result from input event handler */
578
640
  export type InputEventResult = {
@@ -633,6 +695,8 @@ interface ToolResultEventBase {
633
695
  input: Record<string, unknown>;
634
696
  content: (TextContent | ImageContent)[];
635
697
  isError: boolean;
698
+ /** Usage from the tool execution itself, if available. */
699
+ usage?: Usage;
636
700
  }
637
701
  export interface BashToolResultEvent extends ToolResultEventBase {
638
702
  toolName: "bash";
@@ -707,7 +771,7 @@ export declare function isToolCallEventType<TName extends string, TInput extends
707
771
  input: TInput;
708
772
  };
709
773
  /** Union of all event types */
710
- export type ExtensionEvent = ResourcesDiscoverEvent | SessionEvent | ContextEvent | BeforeProviderRequestEvent | AfterProviderResponseEvent | BeforeAgentStartEvent | AgentStartEvent | AgentEndEvent | TurnStartEvent | TurnEndEvent | MessageStartEvent | MessageUpdateEvent | MessageEndEvent | ToolExecutionStartEvent | ToolExecutionUpdateEvent | ToolExecutionEndEvent | ModelSelectEvent | UserBashEvent | InputEvent | ToolCallEvent | ToolResultEvent;
774
+ export type ExtensionEvent = ProjectTrustEvent | ResourcesDiscoverEvent | SessionEvent | ContextEvent | BeforeProviderRequestEvent | BeforeProviderHeadersEvent | AfterProviderResponseEvent | BeforeAgentStartEvent | AgentStartEvent | AgentEndEvent | AgentSettledEvent | TurnStartEvent | TurnEndEvent | MessageStartEvent | MessageUpdateEvent | MessageEndEvent | ToolExecutionStartEvent | ToolExecutionUpdateEvent | ToolExecutionEndEvent | ModelSelectEvent | ThinkingLevelSelectEvent | UserBashEvent | InputEvent | ToolCallEvent | ToolResultEvent;
711
775
  export interface ContextEventResult {
712
776
  messages?: AgentMessage[];
713
777
  }
@@ -716,6 +780,11 @@ export interface ToolCallEventResult {
716
780
  /** Block tool execution. To modify arguments, mutate `event.input` in place instead. */
717
781
  block?: boolean;
718
782
  reason?: string;
783
+ /**
784
+ * Hint that the agent should stop after the current tool batch when this call is blocked.
785
+ * Early termination only happens when every finalized tool result in the batch sets this to true.
786
+ */
787
+ terminate?: boolean;
719
788
  }
720
789
  /** Result from user_bash event handler */
721
790
  export interface UserBashEventResult {
@@ -728,6 +797,11 @@ export interface ToolResultEventResult {
728
797
  content?: (TextContent | ImageContent)[];
729
798
  details?: unknown;
730
799
  isError?: boolean;
800
+ usage?: Usage;
801
+ }
802
+ export interface MessageEndEventResult {
803
+ /** Replace the finalized message. The replacement must keep the original message role. */
804
+ message?: AgentMessage;
731
805
  }
732
806
  export interface BeforeAgentStartEventResult {
733
807
  message?: Pick<CustomMessage, "customType" | "content" | "display" | "details">;
@@ -750,6 +824,7 @@ export interface SessionBeforeTreeResult {
750
824
  summary?: {
751
825
  summary: string;
752
826
  details?: unknown;
827
+ usage?: Usage;
753
828
  };
754
829
  /** Override custom instructions for summarization */
755
830
  customInstructions?: string;
@@ -760,8 +835,20 @@ export interface SessionBeforeTreeResult {
760
835
  }
761
836
  export interface MessageRenderOptions {
762
837
  expanded: boolean;
838
+ /** Horizontal padding configured by the outputPad setting. */
839
+ outputPad: number;
840
+ }
841
+ export interface MarkdownTransformContext {
842
+ messageType: "user" | "assistant" | "assistant-thinking";
843
+ isStreaming: boolean;
844
+ availableWidth: number;
845
+ }
846
+ export type MarkdownTransformer = (markdown: string, context: MarkdownTransformContext) => string;
847
+ export interface EntryRenderOptions {
848
+ expanded: boolean;
763
849
  }
764
850
  export type MessageRenderer<T = unknown> = (message: CustomMessage<T>, options: MessageRenderOptions, theme: Theme) => Component | undefined;
851
+ export type EntryRenderer<T = unknown> = (entry: CustomEntry<T>, options: EntryRenderOptions, theme: Theme) => Component | undefined;
765
852
  export interface RegisteredCommand {
766
853
  name: string;
767
854
  sourceInfo: SourceInfo;
@@ -778,8 +865,10 @@ export type ExtensionHandler<E, R = undefined> = (event: E, ctx: ExtensionContex
778
865
  * ExtensionAPI passed to extension factory functions.
779
866
  */
780
867
  export interface ExtensionAPI {
868
+ on(event: "project_trust", handler: ProjectTrustHandler): void;
781
869
  on(event: "resources_discover", handler: ExtensionHandler<ResourcesDiscoverEvent, ResourcesDiscoverResult>): void;
782
870
  on(event: "session_start", handler: ExtensionHandler<SessionStartEvent>): void;
871
+ on(event: "session_info_changed", handler: ExtensionHandler<SessionInfoChangedEvent>): void;
783
872
  on(event: "session_before_switch", handler: ExtensionHandler<SessionBeforeSwitchEvent, SessionBeforeSwitchResult>): void;
784
873
  on(event: "session_before_fork", handler: ExtensionHandler<SessionBeforeForkEvent, SessionBeforeForkResult>): void;
785
874
  on(event: "session_before_compact", handler: ExtensionHandler<SessionBeforeCompactEvent, SessionBeforeCompactResult>): void;
@@ -789,19 +878,22 @@ export interface ExtensionAPI {
789
878
  on(event: "session_tree", handler: ExtensionHandler<SessionTreeEvent>): void;
790
879
  on(event: "context", handler: ExtensionHandler<ContextEvent, ContextEventResult>): void;
791
880
  on(event: "before_provider_request", handler: ExtensionHandler<BeforeProviderRequestEvent, BeforeProviderRequestEventResult>): void;
881
+ on(event: "before_provider_headers", handler: ExtensionHandler<BeforeProviderHeadersEvent>): void;
792
882
  on(event: "after_provider_response", handler: ExtensionHandler<AfterProviderResponseEvent>): void;
793
883
  on(event: "before_agent_start", handler: ExtensionHandler<BeforeAgentStartEvent, BeforeAgentStartEventResult>): void;
794
884
  on(event: "agent_start", handler: ExtensionHandler<AgentStartEvent>): void;
795
885
  on(event: "agent_end", handler: ExtensionHandler<AgentEndEvent>): void;
886
+ on(event: "agent_settled", handler: ExtensionHandler<AgentSettledEvent>): void;
796
887
  on(event: "turn_start", handler: ExtensionHandler<TurnStartEvent>): void;
797
888
  on(event: "turn_end", handler: ExtensionHandler<TurnEndEvent>): void;
798
889
  on(event: "message_start", handler: ExtensionHandler<MessageStartEvent>): void;
799
890
  on(event: "message_update", handler: ExtensionHandler<MessageUpdateEvent>): void;
800
- on(event: "message_end", handler: ExtensionHandler<MessageEndEvent>): void;
891
+ on(event: "message_end", handler: ExtensionHandler<MessageEndEvent, MessageEndEventResult>): void;
801
892
  on(event: "tool_execution_start", handler: ExtensionHandler<ToolExecutionStartEvent>): void;
802
893
  on(event: "tool_execution_update", handler: ExtensionHandler<ToolExecutionUpdateEvent>): void;
803
894
  on(event: "tool_execution_end", handler: ExtensionHandler<ToolExecutionEndEvent>): void;
804
895
  on(event: "model_select", handler: ExtensionHandler<ModelSelectEvent>): void;
896
+ on(event: "thinking_level_select", handler: ExtensionHandler<ThinkingLevelSelectEvent>): void;
805
897
  on(event: "tool_call", handler: ExtensionHandler<ToolCallEvent, ToolCallEventResult>): void;
806
898
  on(event: "tool_result", handler: ExtensionHandler<ToolResultEvent, ToolResultEventResult>): void;
807
899
  on(event: "user_bash", handler: ExtensionHandler<UserBashEvent, UserBashEventResult>): void;
@@ -823,16 +915,12 @@ export interface ExtensionAPI {
823
915
  }): void;
824
916
  /** Get the value of a registered CLI flag. */
825
917
  getFlag(name: string): boolean | string | undefined;
826
- /**
827
- * Set a session-scoped environment variable for agent-spawned subprocesses.
828
- * These are merged into the environment of bash tool invocations and exec() calls.
829
- * Does not modify `process.env`.
830
- */
831
- setEnv(key: string, value: string): void;
832
- /** Remove a session-scoped environment variable. */
833
- unsetEnv(key: string): void;
834
918
  /** Register a custom renderer for CustomMessageEntry. */
835
919
  registerMessageRenderer<T = unknown>(customType: string, renderer: MessageRenderer<T>): void;
920
+ /** Register a transformer for user and assistant Markdown before mcpi renders it in the interactive transcript. */
921
+ registerMarkdownTransformer(transformer: MarkdownTransformer): void;
922
+ /** Register a custom renderer for CustomEntry. Custom entries do not participate in LLM context. */
923
+ registerEntryRenderer<T = unknown>(customType: string, renderer: EntryRenderer<T>): void;
836
924
  /** Send a custom message to the session. */
837
925
  sendMessage<T = unknown>(message: Pick<CustomMessage<T>, "customType" | "content" | "display" | "details">, options?: {
838
926
  triggerTurn?: boolean;
@@ -841,9 +929,11 @@ export interface ExtensionAPI {
841
929
  /**
842
930
  * Send a user message to the agent. Always triggers a turn.
843
931
  * When the agent is streaming, use deliverAs to specify how to queue the message.
932
+ * Set expandPromptTemplates to dispatch extension commands and expand skill commands and prompt templates.
844
933
  */
845
934
  sendUserMessage(content: string | (TextContent | ImageContent)[], options?: {
846
935
  deliverAs?: "steer" | "followUp";
936
+ expandPromptTemplates?: boolean;
847
937
  }): void;
848
938
  /** Append a custom entry to the session for state persistence (not sent to LLM). */
849
939
  appendEntry<T = unknown>(customType: string, data?: T): void;
@@ -855,9 +945,25 @@ export interface ExtensionAPI {
855
945
  setLabel(entryId: string, label: string | undefined): void;
856
946
  /** Execute a shell command. */
857
947
  exec(command: string, args: string[], options?: ExecOptions): Promise<ExecResult>;
948
+ /**
949
+ * Set an environment variable for subprocesses spawned by this session.
950
+ *
951
+ * Applies to the `bash` tool and to `pi.exec()`. The value is scoped to the
952
+ * session and is never written to `process.env`, so it cannot leak into
953
+ * other sessions or into mcpi itself.
954
+ */
955
+ setEnv(key: string, value: string): void;
956
+ /**
957
+ * Remove an environment variable from subprocesses spawned by this session.
958
+ *
959
+ * This masks the variable even when it is inherited from mcpi's own
960
+ * environment, so it can be used to keep a variable out of subprocesses
961
+ * entirely rather than only undoing a previous `setEnv()`.
962
+ */
963
+ unsetEnv(key: string): void;
858
964
  /** Get the list of currently active tool names. */
859
965
  getActiveTools(): string[];
860
- /** Get all configured tools with parameter schema and source metadata. */
966
+ /** Get all configured tools with parameter schema, prompt guidelines, and source metadata. */
861
967
  getAllTools(): ToolInfo[];
862
968
  /** Set the active tools by name. */
863
969
  setActiveTools(toolNames: string[]): void;
@@ -886,7 +992,7 @@ export interface ExtensionAPI {
886
992
  * // Register a new provider with custom models
887
993
  * pi.registerProvider("my-proxy", {
888
994
  * baseUrl: "https://proxy.example.com",
889
- * apiKey: "PROXY_API_KEY",
995
+ * apiKey: "$PROXY_API_KEY",
890
996
  * api: "anthropic-messages",
891
997
  * models: [
892
998
  * {
@@ -921,6 +1027,7 @@ export interface ExtensionAPI {
921
1027
  * }
922
1028
  * });
923
1029
  */
1030
+ registerProvider(provider: Provider): void;
924
1031
  registerProvider(name: string, config: ProviderConfig): void;
925
1032
  /**
926
1033
  * Unregister a previously registered provider.
@@ -941,13 +1048,20 @@ export interface ExtensionAPI {
941
1048
  }
942
1049
  /** Configuration for registering a provider via pi.registerProvider(). */
943
1050
  export interface ProviderConfig {
1051
+ /** Display name for the provider in UI. */
1052
+ name?: string;
944
1053
  /** Base URL for the API endpoint. Required when defining models. */
945
1054
  baseUrl?: string;
946
- /** API key or environment variable name. Required when defining models (unless oauth provided). */
1055
+ /** API key literal, env interpolation ($ENV_VAR or ${ENV_VAR}), or leading !command. Required when defining models (unless oauth provided). */
947
1056
  apiKey?: string;
948
1057
  /** API type. Required at provider or model level when defining models. */
949
1058
  api?: Api;
950
- /** Optional streamSimple handler for custom APIs. */
1059
+ /**
1060
+ * Optional streamSimple handler for custom APIs.
1061
+ * Implementations must invoke `options.onPayload` before sending the provider request and use any
1062
+ * returned replacement payload. They must invoke `options.onResponse` after receiving the response
1063
+ * and before consuming its body, matching built-in providers.
1064
+ */
951
1065
  streamSimple?: (model: Model<Api>, context: Context, options?: SimpleStreamOptions) => AssistantMessageEventStream;
952
1066
  /** Custom headers to include in requests. */
953
1067
  headers?: Record<string, string>;
@@ -955,17 +1069,26 @@ export interface ProviderConfig {
955
1069
  authHeader?: boolean;
956
1070
  /** Models to register. If provided, replaces all existing models for this provider. */
957
1071
  models?: ProviderModelConfig[];
1072
+ /**
1073
+ * Refresh this provider's model list. The returned list replaces extension-provided models.
1074
+ * Use context.publish({ persist: entry }) when the catalog should persist across sessions.
1075
+ */
1076
+ refreshModels?(context: RefreshModelsContext): Promise<ProviderModelConfig[]>;
958
1077
  /** OAuth provider for /login support. The `id` is set automatically from the provider name. */
959
1078
  oauth?: {
960
1079
  /** Display name for the provider in login UI. */
961
1080
  name: string;
1081
+ /** Whether access through this auth method is backed by a provider subscription. */
1082
+ isSubscription?: boolean;
1083
+ /** @deprecated Retained for source compatibility; canonical auth flows ignore it. */
1084
+ usesCallbackServer?: boolean;
962
1085
  /** Run the login flow, return credentials to persist. */
963
1086
  login(callbacks: OAuthLoginCallbacks): Promise<OAuthCredentials>;
964
1087
  /** Refresh expired credentials, return updated credentials to persist. */
965
- refreshToken(credentials: OAuthCredentials): Promise<OAuthCredentials>;
1088
+ refreshToken(credentials: OAuthCredentials, signal: AbortSignal): Promise<OAuthCredentials>;
966
1089
  /** Convert credentials to API key string for the provider. */
967
1090
  getApiKey(credentials: OAuthCredentials): string;
968
- /** Optional: modify models for this provider (e.g., update baseUrl based on credentials). */
1091
+ /** Legacy synchronous credential-dependent model projection. */
969
1092
  modifyModels?(models: Model<Api>[], credentials: OAuthCredentials): Model<Api>[];
970
1093
  };
971
1094
  }
@@ -977,17 +1100,16 @@ export interface ProviderModelConfig {
977
1100
  name: string;
978
1101
  /** API type override for this model. */
979
1102
  api?: Api;
1103
+ /** API endpoint URL override for this model. */
1104
+ baseUrl?: string;
980
1105
  /** Whether the model supports extended thinking. */
981
1106
  reasoning: boolean;
1107
+ /** Maps mcpi thinking levels to provider/model-specific values; null marks a level unsupported. */
1108
+ thinkingLevelMap?: Model<Api>["thinkingLevelMap"];
982
1109
  /** Supported input types. */
983
1110
  input: ("text" | "image")[];
984
- /** Cost per token (for tracking, can be 0). */
985
- cost: {
986
- input: number;
987
- output: number;
988
- cacheRead: number;
989
- cacheWrite: number;
990
- };
1111
+ /** Per-million-token cost rates and optional request-wide input pricing tiers. */
1112
+ cost: Model<Api>["cost"];
991
1113
  /** Maximum context window size in tokens. */
992
1114
  contextWindow: number;
993
1115
  /** Maximum output tokens. */
@@ -999,6 +1121,13 @@ export interface ProviderModelConfig {
999
1121
  }
1000
1122
  /** Extension factory function type. Supports both sync and async initialization. */
1001
1123
  export type ExtensionFactory = (pi: ExtensionAPI) => void | Promise<void>;
1124
+ export type InlineExtension = ExtensionFactory | {
1125
+ /** Display name shown as `<inline:name>` in the startup Extensions list. */
1126
+ name: string;
1127
+ factory: ExtensionFactory;
1128
+ /** Omit this extension from the startup Extensions list. */
1129
+ hidden?: boolean;
1130
+ };
1002
1131
  export interface RegisteredTool {
1003
1132
  definition: ToolDefinition;
1004
1133
  sourceInfo: SourceInfo;
@@ -1023,13 +1152,14 @@ export type SendMessageHandler = <T = unknown>(message: Pick<CustomMessage<T>, "
1023
1152
  }) => void;
1024
1153
  export type SendUserMessageHandler = (content: string | (TextContent | ImageContent)[], options?: {
1025
1154
  deliverAs?: "steer" | "followUp";
1155
+ expandPromptTemplates?: boolean;
1026
1156
  }) => void;
1027
1157
  export type AppendEntryHandler = <T = unknown>(customType: string, data?: T) => void;
1028
1158
  export type SetSessionNameHandler = (name: string) => void;
1029
1159
  export type GetSessionNameHandler = () => string | undefined;
1030
1160
  export type GetActiveToolsHandler = () => string[];
1031
- /** Tool info with name, description, parameter schema, and source metadata */
1032
- export type ToolInfo = Pick<ToolDefinition, "name" | "description" | "parameters"> & {
1161
+ /** Tool info with name, description, parameter schema, prompt guidelines, and source metadata. */
1162
+ export type ToolInfo = Pick<ToolDefinition, "name" | "description" | "parameters" | "promptGuidelines"> & {
1033
1163
  sourceInfo: SourceInfo;
1034
1164
  };
1035
1165
  export type GetAllToolsHandler = () => ToolInfo[];
@@ -1046,18 +1176,29 @@ export type SetLabelHandler = (entryId: string, label: string | undefined) => vo
1046
1176
  */
1047
1177
  export interface ExtensionRuntimeState {
1048
1178
  flagValues: Map<string, boolean | string>;
1049
- /** Session-scoped env vars for agent-spawned subprocesses. */
1050
- sessionEnv: Map<string, string>;
1051
- /** Provider registrations queued during extension loading, processed when runner binds */
1179
+ /**
1180
+ * Session-scoped environment mutations applied to spawned subprocesses.
1181
+ * `null` masks a variable inherited from mcpi's own environment.
1182
+ * Shared across all extensions loaded into the session.
1183
+ */
1184
+ sessionEnv: Map<string, string | null>;
1185
+ /** Legacy provider-config registrations queued during extension loading, processed when runner binds. */
1052
1186
  pendingProviderRegistrations: Array<{
1053
1187
  name: string;
1054
1188
  config: ProviderConfig;
1055
1189
  extensionPath: string;
1056
1190
  }>;
1191
+ /** Native mcpi-ai provider registrations queued during extension loading, processed when runner binds. */
1192
+ pendingNativeProviderRegistrations: Array<{
1193
+ provider: Provider;
1194
+ extensionPath: string;
1195
+ }>;
1057
1196
  /** Throws when this extension instance is stale after runtime replacement. */
1058
1197
  assertActive: () => void;
1059
1198
  /** Marks this extension instance as stale after runtime replacement or reload. */
1060
1199
  invalidate: (message?: string) => void;
1200
+ /** Retain an event-bus subscription until this runtime is invalidated. */
1201
+ trackEventBusSubscription: (unsubscribe: () => void) => () => void;
1061
1202
  /**
1062
1203
  * Register or unregister a provider.
1063
1204
  *
@@ -1065,6 +1206,7 @@ export interface ExtensionRuntimeState {
1065
1206
  * After bindCore(): calls ModelRegistry directly for immediate effect.
1066
1207
  */
1067
1208
  registerProvider: (name: string, config: ProviderConfig, extensionPath?: string) => void;
1209
+ registerNativeProvider: (provider: Provider, extensionPath?: string) => void;
1068
1210
  unregisterProvider: (name: string, extensionPath?: string) => void;
1069
1211
  }
1070
1212
  /**
@@ -1093,7 +1235,9 @@ export interface ExtensionActions {
1093
1235
  */
1094
1236
  export interface ExtensionContextActions {
1095
1237
  getModel: () => Model<any> | undefined;
1238
+ getScopedModels: () => readonly ScopedModel[];
1096
1239
  isIdle: () => boolean;
1240
+ isProjectTrusted: () => boolean;
1097
1241
  getSignal: () => AbortSignal | undefined;
1098
1242
  abort: () => void;
1099
1243
  hasPendingMessages: () => boolean;
@@ -1101,6 +1245,7 @@ export interface ExtensionContextActions {
1101
1245
  getContextUsage: () => ContextUsage | undefined;
1102
1246
  compact: (options?: CompactOptions) => void;
1103
1247
  getSystemPrompt: () => string;
1248
+ getSystemPromptOptions?: () => BuildSystemPromptOptions;
1104
1249
  }
1105
1250
  /**
1106
1251
  * Actions for ExtensionCommandContext (ctx.* in command handlers).
@@ -1146,10 +1291,13 @@ export interface ExtensionRuntime extends ExtensionRuntimeState, ExtensionAction
1146
1291
  export interface Extension {
1147
1292
  path: string;
1148
1293
  resolvedPath: string;
1294
+ hidden?: boolean;
1149
1295
  sourceInfo: SourceInfo;
1150
1296
  handlers: Map<string, HandlerFn[]>;
1151
1297
  tools: Map<string, RegisteredTool>;
1152
1298
  messageRenderers: Map<string, MessageRenderer>;
1299
+ markdownTransformer?: MarkdownTransformer;
1300
+ entryRenderers?: Map<string, EntryRenderer>;
1153
1301
  commands: Map<string, RegisteredCommand>;
1154
1302
  flags: Map<string, ExtensionFlag>;
1155
1303
  shortcuts: Map<KeyId, ExtensionShortcut>;