@subimpact/e 0.99.12 → 0.100.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 (930) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/README.md +7 -1
  3. package/dist/bundle/chunks/anthropic-messages-BGDBSRR2.js +6 -0
  4. package/dist/bundle/chunks/azure-openai-responses-ZCNWFVTX.js +2 -0
  5. package/dist/bundle/chunks/bedrock-converse-stream.js +3 -3
  6. package/dist/bundle/chunks/chunk-35AZPBGE.js +11 -0
  7. package/dist/bundle/chunks/{chunk-C47CLQZK.js → chunk-CMZY6PM7.js} +1 -1
  8. package/dist/bundle/chunks/{chunk-XVIZD2L5.js → chunk-DOSAFY5Y.js} +3 -3
  9. package/dist/bundle/chunks/{chunk-KAXC2ESR.js → chunk-GICF34HK.js} +8 -8
  10. package/dist/bundle/chunks/{chunk-GYREDKZT.js → chunk-HKQXO4IQ.js} +1 -1
  11. package/dist/bundle/chunks/chunk-K4O5WZC5.js +11 -0
  12. package/dist/bundle/chunks/{chunk-SVKJCAH2.js → chunk-NBSSK56J.js} +1 -1
  13. package/dist/bundle/chunks/{chunk-XZYVF4BW.js → chunk-RAB4RJZ2.js} +60 -60
  14. package/dist/bundle/chunks/{cloudflare-workers-ai-system-one-NHSAQJW5.js → cloudflare-workers-ai-system-one-6FXZDK6A.js} +1 -1
  15. package/dist/bundle/chunks/{easter-egg-3d-DD22MRM3.js → easter-egg-3d-JQPBRQEU.js} +1 -1
  16. package/dist/bundle/chunks/github-copilot.js +1 -1
  17. package/dist/bundle/chunks/{google-generative-ai-ON7RPJHF.js → google-generative-ai-VJA5IOK3.js} +1 -1
  18. package/dist/bundle/chunks/{google-vertex-6YO5GV2H.js → google-vertex-TI6AJXT2.js} +1 -1
  19. package/dist/bundle/chunks/{mistral-conversations-NN33SMJ6.js → mistral-conversations-XTWEX6FG.js} +1 -1
  20. package/dist/bundle/chunks/openai-codex-responses-WGH4GHLE.js +10 -0
  21. package/dist/bundle/chunks/openai-completions-GXGEEHZH.js +7 -0
  22. package/dist/bundle/chunks/openai-responses-NLSL5UY4.js +3 -0
  23. package/dist/bundle/chunks/{typesafe-system-one-PRR5K6CI.js → typesafe-system-one-3OTHQPDL.js} +1 -1
  24. package/dist/bundle/chunks/{virtual-modules-6MDPJKNE.js → virtual-modules-L22CHFWU.js} +1 -1
  25. package/dist/bundle/cli-runtime.js +1 -1
  26. package/dist/bundle/index.js +1 -1
  27. package/dist/bundle/rpc-entry.js +1 -1
  28. package/docs/compaction.md +2 -2
  29. package/docs/extensions.md +4 -10
  30. package/docs/message-types.md +2 -4
  31. package/docs/session-format.md +4 -4
  32. package/docs/settings.md +1 -1
  33. package/docs/tui.md +1 -1
  34. package/examples/extensions/overlay-test.ts +2 -2
  35. package/package.json +31 -31
  36. package/dist/bun/cli.d.ts +0 -5
  37. package/dist/bun/cli.d.ts.map +0 -1
  38. package/dist/bun/cli.js +0 -5
  39. package/dist/bun/cli.js.map +0 -1
  40. package/dist/bun/restore-sandbox-env.d.ts +0 -17
  41. package/dist/bun/restore-sandbox-env.d.ts.map +0 -1
  42. package/dist/bun/restore-sandbox-env.js +0 -36
  43. package/dist/bun/restore-sandbox-env.js.map +0 -1
  44. package/dist/bun/runtime-setup.d.ts +0 -2
  45. package/dist/bun/runtime-setup.d.ts.map +0 -1
  46. package/dist/bun/runtime-setup.js +0 -9
  47. package/dist/bun/runtime-setup.js.map +0 -1
  48. package/dist/bun/sandbox-env-setup.d.ts +0 -2
  49. package/dist/bun/sandbox-env-setup.d.ts.map +0 -1
  50. package/dist/bun/sandbox-env-setup.js +0 -4
  51. package/dist/bun/sandbox-env-setup.js.map +0 -1
  52. package/dist/bundle/chunks/anthropic-messages-EGJT3PY6.js +0 -6
  53. package/dist/bundle/chunks/azure-openai-responses-JEEXH6HK.js +0 -2
  54. package/dist/bundle/chunks/chunk-IOJUMBW3.js +0 -11
  55. package/dist/bundle/chunks/chunk-KJUDFE6Y.js +0 -11
  56. package/dist/bundle/chunks/openai-codex-responses-CPSVXTKM.js +0 -10
  57. package/dist/bundle/chunks/openai-completions-T7GN33JE.js +0 -7
  58. package/dist/bundle/chunks/openai-responses-GPE3ZQ46.js +0 -3
  59. package/dist/cli/args.d.ts +0 -61
  60. package/dist/cli/args.d.ts.map +0 -1
  61. package/dist/cli/args.js +0 -453
  62. package/dist/cli/args.js.map +0 -1
  63. package/dist/cli/auth-check.d.ts +0 -19
  64. package/dist/cli/auth-check.d.ts.map +0 -1
  65. package/dist/cli/auth-check.js +0 -50
  66. package/dist/cli/auth-check.js.map +0 -1
  67. package/dist/cli/auth-command.d.ts +0 -24
  68. package/dist/cli/auth-command.d.ts.map +0 -1
  69. package/dist/cli/auth-command.js +0 -103
  70. package/dist/cli/auth-command.js.map +0 -1
  71. package/dist/cli/config-selector.d.ts +0 -16
  72. package/dist/cli/config-selector.d.ts.map +0 -1
  73. package/dist/cli/config-selector.js +0 -32
  74. package/dist/cli/config-selector.js.map +0 -1
  75. package/dist/cli/credential-print.d.ts +0 -13
  76. package/dist/cli/credential-print.d.ts.map +0 -1
  77. package/dist/cli/credential-print.js +0 -76
  78. package/dist/cli/credential-print.js.map +0 -1
  79. package/dist/cli/file-processor.d.ts +0 -15
  80. package/dist/cli/file-processor.d.ts.map +0 -1
  81. package/dist/cli/file-processor.js +0 -71
  82. package/dist/cli/file-processor.js.map +0 -1
  83. package/dist/cli/initial-message.d.ts +0 -18
  84. package/dist/cli/initial-message.d.ts.map +0 -1
  85. package/dist/cli/initial-message.js +0 -22
  86. package/dist/cli/initial-message.js.map +0 -1
  87. package/dist/cli/list-models.d.ts +0 -9
  88. package/dist/cli/list-models.d.ts.map +0 -1
  89. package/dist/cli/list-models.js +0 -98
  90. package/dist/cli/list-models.js.map +0 -1
  91. package/dist/cli/project-trust.d.ts +0 -10
  92. package/dist/cli/project-trust.d.ts.map +0 -1
  93. package/dist/cli/project-trust.js +0 -48
  94. package/dist/cli/project-trust.js.map +0 -1
  95. package/dist/cli/session-picker.d.ts +0 -10
  96. package/dist/cli/session-picker.d.ts.map +0 -1
  97. package/dist/cli/session-picker.js +0 -36
  98. package/dist/cli/session-picker.js.map +0 -1
  99. package/dist/cli/setup.d.ts +0 -2
  100. package/dist/cli/setup.d.ts.map +0 -1
  101. package/dist/cli/setup.js +0 -12
  102. package/dist/cli/setup.js.map +0 -1
  103. package/dist/cli/startup-ui.d.ts +0 -20
  104. package/dist/cli/startup-ui.d.ts.map +0 -1
  105. package/dist/cli/startup-ui.js +0 -193
  106. package/dist/cli/startup-ui.js.map +0 -1
  107. package/dist/cli.d.ts +0 -3
  108. package/dist/cli.d.ts.map +0 -1
  109. package/dist/cli.js +0 -6
  110. package/dist/cli.js.map +0 -1
  111. package/dist/config.d.ts +0 -107
  112. package/dist/config.d.ts.map +0 -1
  113. package/dist/config.js +0 -486
  114. package/dist/config.js.map +0 -1
  115. package/dist/core/agent-session-runtime.d.ts +0 -119
  116. package/dist/core/agent-session-runtime.d.ts.map +0 -1
  117. package/dist/core/agent-session-runtime.js +0 -317
  118. package/dist/core/agent-session-runtime.js.map +0 -1
  119. package/dist/core/agent-session-services.d.ts +0 -86
  120. package/dist/core/agent-session-services.d.ts.map +0 -1
  121. package/dist/core/agent-session-services.js +0 -147
  122. package/dist/core/agent-session-services.js.map +0 -1
  123. package/dist/core/agent-session.d.ts +0 -881
  124. package/dist/core/agent-session.d.ts.map +0 -1
  125. package/dist/core/agent-session.js +0 -3524
  126. package/dist/core/agent-session.js.map +0 -1
  127. package/dist/core/auth-guidance.d.ts +0 -5
  128. package/dist/core/auth-guidance.d.ts.map +0 -1
  129. package/dist/core/auth-guidance.js +0 -21
  130. package/dist/core/auth-guidance.js.map +0 -1
  131. package/dist/core/auth-storage.d.ts +0 -72
  132. package/dist/core/auth-storage.d.ts.map +0 -1
  133. package/dist/core/auth-storage.js +0 -426
  134. package/dist/core/auth-storage.js.map +0 -1
  135. package/dist/core/bash-executor.d.ts +0 -32
  136. package/dist/core/bash-executor.d.ts.map +0 -1
  137. package/dist/core/bash-executor.js +0 -106
  138. package/dist/core/bash-executor.js.map +0 -1
  139. package/dist/core/bug-report-upload.d.ts +0 -12
  140. package/dist/core/bug-report-upload.d.ts.map +0 -1
  141. package/dist/core/bug-report-upload.js +0 -22
  142. package/dist/core/bug-report-upload.js.map +0 -1
  143. package/dist/core/bug-report.d.ts +0 -176
  144. package/dist/core/bug-report.d.ts.map +0 -1
  145. package/dist/core/bug-report.js +0 -292
  146. package/dist/core/bug-report.js.map +0 -1
  147. package/dist/core/cache-stats.d.ts +0 -49
  148. package/dist/core/cache-stats.d.ts.map +0 -1
  149. package/dist/core/cache-stats.js +0 -112
  150. package/dist/core/cache-stats.js.map +0 -1
  151. package/dist/core/cache-warmer.d.ts +0 -103
  152. package/dist/core/cache-warmer.d.ts.map +0 -1
  153. package/dist/core/cache-warmer.js +0 -359
  154. package/dist/core/cache-warmer.js.map +0 -1
  155. package/dist/core/compaction/branch-summarization.d.ts +0 -98
  156. package/dist/core/compaction/branch-summarization.d.ts.map +0 -1
  157. package/dist/core/compaction/branch-summarization.js +0 -251
  158. package/dist/core/compaction/branch-summarization.js.map +0 -1
  159. package/dist/core/compaction/compaction.d.ts +0 -145
  160. package/dist/core/compaction/compaction.d.ts.map +0 -1
  161. package/dist/core/compaction/compaction.js +0 -744
  162. package/dist/core/compaction/compaction.js.map +0 -1
  163. package/dist/core/compaction/index.d.ts +0 -7
  164. package/dist/core/compaction/index.d.ts.map +0 -1
  165. package/dist/core/compaction/index.js +0 -7
  166. package/dist/core/compaction/index.js.map +0 -1
  167. package/dist/core/compaction/utils.d.ts +0 -39
  168. package/dist/core/compaction/utils.d.ts.map +0 -1
  169. package/dist/core/compaction/utils.js +0 -149
  170. package/dist/core/compaction/utils.js.map +0 -1
  171. package/dist/core/crash-log.d.ts +0 -27
  172. package/dist/core/crash-log.d.ts.map +0 -1
  173. package/dist/core/crash-log.js +0 -140
  174. package/dist/core/crash-log.js.map +0 -1
  175. package/dist/core/defaults.d.ts +0 -4
  176. package/dist/core/defaults.d.ts.map +0 -1
  177. package/dist/core/defaults.js +0 -11
  178. package/dist/core/defaults.js.map +0 -1
  179. package/dist/core/diagnostics.d.ts +0 -15
  180. package/dist/core/diagnostics.d.ts.map +0 -1
  181. package/dist/core/diagnostics.js +0 -2
  182. package/dist/core/diagnostics.js.map +0 -1
  183. package/dist/core/event-bus.d.ts +0 -9
  184. package/dist/core/event-bus.d.ts.map +0 -1
  185. package/dist/core/event-bus.js +0 -25
  186. package/dist/core/event-bus.js.map +0 -1
  187. package/dist/core/exec.d.ts +0 -29
  188. package/dist/core/exec.d.ts.map +0 -1
  189. package/dist/core/exec.js +0 -75
  190. package/dist/core/exec.js.map +0 -1
  191. package/dist/core/experimental.d.ts +0 -2
  192. package/dist/core/experimental.d.ts.map +0 -1
  193. package/dist/core/experimental.js +0 -6
  194. package/dist/core/experimental.js.map +0 -1
  195. package/dist/core/export-html/ansi-to-html.d.ts +0 -22
  196. package/dist/core/export-html/ansi-to-html.d.ts.map +0 -1
  197. package/dist/core/export-html/ansi-to-html.js +0 -249
  198. package/dist/core/export-html/ansi-to-html.js.map +0 -1
  199. package/dist/core/export-html/index.d.ts +0 -37
  200. package/dist/core/export-html/index.d.ts.map +0 -1
  201. package/dist/core/export-html/index.js +0 -226
  202. package/dist/core/export-html/index.js.map +0 -1
  203. package/dist/core/export-html/tool-renderer.d.ts +0 -34
  204. package/dist/core/export-html/tool-renderer.d.ts.map +0 -1
  205. package/dist/core/export-html/tool-renderer.js +0 -109
  206. package/dist/core/export-html/tool-renderer.js.map +0 -1
  207. package/dist/core/extensions/index.d.ts +0 -12
  208. package/dist/core/extensions/index.d.ts.map +0 -1
  209. package/dist/core/extensions/index.js +0 -9
  210. package/dist/core/extensions/index.js.map +0 -1
  211. package/dist/core/extensions/jiti-loader.d.ts +0 -2
  212. package/dist/core/extensions/jiti-loader.d.ts.map +0 -1
  213. package/dist/core/extensions/jiti-loader.js +0 -4
  214. package/dist/core/extensions/jiti-loader.js.map +0 -1
  215. package/dist/core/extensions/jiti-static-loader.d.ts +0 -2
  216. package/dist/core/extensions/jiti-static-loader.d.ts.map +0 -1
  217. package/dist/core/extensions/jiti-static-loader.js +0 -4
  218. package/dist/core/extensions/jiti-static-loader.js.map +0 -1
  219. package/dist/core/extensions/loader.d.ts +0 -23
  220. package/dist/core/extensions/loader.d.ts.map +0 -1
  221. package/dist/core/extensions/loader.js +0 -667
  222. package/dist/core/extensions/loader.js.map +0 -1
  223. package/dist/core/extensions/runner.d.ts +0 -204
  224. package/dist/core/extensions/runner.d.ts.map +0 -1
  225. package/dist/core/extensions/runner.js +0 -1207
  226. package/dist/core/extensions/runner.js.map +0 -1
  227. package/dist/core/extensions/types.d.ts +0 -1669
  228. package/dist/core/extensions/types.d.ts.map +0 -1
  229. package/dist/core/extensions/types.js +0 -48
  230. package/dist/core/extensions/types.js.map +0 -1
  231. package/dist/core/extensions/virtual-modules.d.ts +0 -3
  232. package/dist/core/extensions/virtual-modules.d.ts.map +0 -1
  233. package/dist/core/extensions/virtual-modules.js +0 -38
  234. package/dist/core/extensions/virtual-modules.js.map +0 -1
  235. package/dist/core/extensions/wrapper.d.ts +0 -20
  236. package/dist/core/extensions/wrapper.d.ts.map +0 -1
  237. package/dist/core/extensions/wrapper.js +0 -22
  238. package/dist/core/extensions/wrapper.js.map +0 -1
  239. package/dist/core/footer-data-provider.d.ts +0 -64
  240. package/dist/core/footer-data-provider.d.ts.map +0 -1
  241. package/dist/core/footer-data-provider.js +0 -338
  242. package/dist/core/footer-data-provider.js.map +0 -1
  243. package/dist/core/http-dispatcher.d.ts +0 -22
  244. package/dist/core/http-dispatcher.d.ts.map +0 -1
  245. package/dist/core/http-dispatcher.js +0 -98
  246. package/dist/core/http-dispatcher.js.map +0 -1
  247. package/dist/core/index.d.ts +0 -14
  248. package/dist/core/index.d.ts.map +0 -1
  249. package/dist/core/index.js +0 -13
  250. package/dist/core/index.js.map +0 -1
  251. package/dist/core/keybindings.d.ts +0 -428
  252. package/dist/core/keybindings.d.ts.map +0 -1
  253. package/dist/core/keybindings.js +0 -321
  254. package/dist/core/keybindings.js.map +0 -1
  255. package/dist/core/messages.d.ts +0 -77
  256. package/dist/core/messages.d.ts.map +0 -1
  257. package/dist/core/messages.js +0 -124
  258. package/dist/core/messages.js.map +0 -1
  259. package/dist/core/model-config.d.ts +0 -760
  260. package/dist/core/model-config.d.ts.map +0 -1
  261. package/dist/core/model-config.js +0 -294
  262. package/dist/core/model-config.js.map +0 -1
  263. package/dist/core/model-registry.d.ts +0 -61
  264. package/dist/core/model-registry.d.ts.map +0 -1
  265. package/dist/core/model-registry.js +0 -140
  266. package/dist/core/model-registry.js.map +0 -1
  267. package/dist/core/model-resolver.d.ts +0 -124
  268. package/dist/core/model-resolver.d.ts.map +0 -1
  269. package/dist/core/model-resolver.js +0 -590
  270. package/dist/core/model-resolver.js.map +0 -1
  271. package/dist/core/model-runtime.d.ts +0 -145
  272. package/dist/core/model-runtime.d.ts.map +0 -1
  273. package/dist/core/model-runtime.js +0 -758
  274. package/dist/core/model-runtime.js.map +0 -1
  275. package/dist/core/models-store.d.ts +0 -22
  276. package/dist/core/models-store.d.ts.map +0 -1
  277. package/dist/core/models-store.js +0 -115
  278. package/dist/core/models-store.js.map +0 -1
  279. package/dist/core/nested-tool-calls.d.ts +0 -102
  280. package/dist/core/nested-tool-calls.d.ts.map +0 -1
  281. package/dist/core/nested-tool-calls.js +0 -178
  282. package/dist/core/nested-tool-calls.js.map +0 -1
  283. package/dist/core/output-guard.d.ts +0 -7
  284. package/dist/core/output-guard.d.ts.map +0 -1
  285. package/dist/core/output-guard.js +0 -89
  286. package/dist/core/output-guard.js.map +0 -1
  287. package/dist/core/package-manager.d.ts +0 -217
  288. package/dist/core/package-manager.d.ts.map +0 -1
  289. package/dist/core/package-manager.js +0 -2224
  290. package/dist/core/package-manager.js.map +0 -1
  291. package/dist/core/pi-manifest.d.ts +0 -8
  292. package/dist/core/pi-manifest.d.ts.map +0 -1
  293. package/dist/core/pi-manifest.js +0 -26
  294. package/dist/core/pi-manifest.js.map +0 -1
  295. package/dist/core/project-trust.d.ts +0 -15
  296. package/dist/core/project-trust.d.ts.map +0 -1
  297. package/dist/core/project-trust.js +0 -59
  298. package/dist/core/project-trust.js.map +0 -1
  299. package/dist/core/prompt-templates.d.ts +0 -59
  300. package/dist/core/prompt-templates.d.ts.map +0 -1
  301. package/dist/core/prompt-templates.js +0 -262
  302. package/dist/core/prompt-templates.js.map +0 -1
  303. package/dist/core/provider-attribution.d.ts +0 -4
  304. package/dist/core/provider-attribution.d.ts.map +0 -1
  305. package/dist/core/provider-attribution.js +0 -72
  306. package/dist/core/provider-attribution.js.map +0 -1
  307. package/dist/core/provider-composer.d.ts +0 -80
  308. package/dist/core/provider-composer.d.ts.map +0 -1
  309. package/dist/core/provider-composer.js +0 -488
  310. package/dist/core/provider-composer.js.map +0 -1
  311. package/dist/core/radius.d.ts +0 -5
  312. package/dist/core/radius.d.ts.map +0 -1
  313. package/dist/core/radius.js +0 -9
  314. package/dist/core/radius.js.map +0 -1
  315. package/dist/core/remote-catalog-provider.d.ts +0 -12
  316. package/dist/core/remote-catalog-provider.d.ts.map +0 -1
  317. package/dist/core/remote-catalog-provider.js +0 -132
  318. package/dist/core/remote-catalog-provider.js.map +0 -1
  319. package/dist/core/resolve-config-value.d.ts +0 -30
  320. package/dist/core/resolve-config-value.d.ts.map +0 -1
  321. package/dist/core/resolve-config-value.js +0 -247
  322. package/dist/core/resolve-config-value.js.map +0 -1
  323. package/dist/core/resource-loader.d.ts +0 -227
  324. package/dist/core/resource-loader.d.ts.map +0 -1
  325. package/dist/core/resource-loader.js +0 -1008
  326. package/dist/core/resource-loader.js.map +0 -1
  327. package/dist/core/runtime-credentials.d.ts +0 -15
  328. package/dist/core/runtime-credentials.d.ts.map +0 -1
  329. package/dist/core/runtime-credentials.js +0 -39
  330. package/dist/core/runtime-credentials.js.map +0 -1
  331. package/dist/core/sdk.d.ts +0 -108
  332. package/dist/core/sdk.d.ts.map +0 -1
  333. package/dist/core/sdk.js +0 -315
  334. package/dist/core/sdk.js.map +0 -1
  335. package/dist/core/session-cwd.d.ts +0 -19
  336. package/dist/core/session-cwd.d.ts.map +0 -1
  337. package/dist/core/session-cwd.js +0 -38
  338. package/dist/core/session-cwd.js.map +0 -1
  339. package/dist/core/session-export.d.ts +0 -8
  340. package/dist/core/session-export.d.ts.map +0 -1
  341. package/dist/core/session-export.js +0 -33
  342. package/dist/core/session-export.js.map +0 -1
  343. package/dist/core/session-manager.d.ts +0 -416
  344. package/dist/core/session-manager.d.ts.map +0 -1
  345. package/dist/core/session-manager.js +0 -1523
  346. package/dist/core/session-manager.js.map +0 -1
  347. package/dist/core/settings-diagnostics.d.ts +0 -9
  348. package/dist/core/settings-diagnostics.d.ts.map +0 -1
  349. package/dist/core/settings-diagnostics.js +0 -21
  350. package/dist/core/settings-diagnostics.js.map +0 -1
  351. package/dist/core/settings-manager.d.ts +0 -362
  352. package/dist/core/settings-manager.d.ts.map +0 -1
  353. package/dist/core/settings-manager.js +0 -1107
  354. package/dist/core/settings-manager.js.map +0 -1
  355. package/dist/core/skills.d.ts +0 -60
  356. package/dist/core/skills.d.ts.map +0 -1
  357. package/dist/core/skills.js +0 -407
  358. package/dist/core/skills.js.map +0 -1
  359. package/dist/core/slash-commands.d.ts +0 -15
  360. package/dist/core/slash-commands.d.ts.map +0 -1
  361. package/dist/core/slash-commands.js +0 -28
  362. package/dist/core/slash-commands.js.map +0 -1
  363. package/dist/core/source-info.d.ts +0 -26
  364. package/dist/core/source-info.d.ts.map +0 -1
  365. package/dist/core/source-info.js +0 -35
  366. package/dist/core/source-info.js.map +0 -1
  367. package/dist/core/system-prompt.d.ts +0 -71
  368. package/dist/core/system-prompt.d.ts.map +0 -1
  369. package/dist/core/system-prompt.js +0 -147
  370. package/dist/core/system-prompt.js.map +0 -1
  371. package/dist/core/telemetry.d.ts +0 -3
  372. package/dist/core/telemetry.d.ts.map +0 -1
  373. package/dist/core/telemetry.js +0 -10
  374. package/dist/core/telemetry.js.map +0 -1
  375. package/dist/core/timings.d.ts +0 -6
  376. package/dist/core/timings.d.ts.map +0 -1
  377. package/dist/core/timings.js +0 -42
  378. package/dist/core/timings.js.map +0 -1
  379. package/dist/core/tools/bash.d.ts +0 -101
  380. package/dist/core/tools/bash.d.ts.map +0 -1
  381. package/dist/core/tools/bash.js +0 -348
  382. package/dist/core/tools/bash.js.map +0 -1
  383. package/dist/core/tools/edit-diff.d.ts +0 -101
  384. package/dist/core/tools/edit-diff.d.ts.map +0 -1
  385. package/dist/core/tools/edit-diff.js +0 -421
  386. package/dist/core/tools/edit-diff.js.map +0 -1
  387. package/dist/core/tools/edit.d.ts +0 -44
  388. package/dist/core/tools/edit.d.ts.map +0 -1
  389. package/dist/core/tools/edit.js +0 -147
  390. package/dist/core/tools/edit.js.map +0 -1
  391. package/dist/core/tools/file-mutation-queue.d.ts +0 -6
  392. package/dist/core/tools/file-mutation-queue.d.ts.map +0 -1
  393. package/dist/core/tools/file-mutation-queue.js +0 -52
  394. package/dist/core/tools/file-mutation-queue.js.map +0 -1
  395. package/dist/core/tools/find.d.ts +0 -42
  396. package/dist/core/tools/find.d.ts.map +0 -1
  397. package/dist/core/tools/find.js +0 -251
  398. package/dist/core/tools/find.js.map +0 -1
  399. package/dist/core/tools/grep.d.ts +0 -41
  400. package/dist/core/tools/grep.d.ts.map +0 -1
  401. package/dist/core/tools/grep.js +0 -252
  402. package/dist/core/tools/grep.js.map +0 -1
  403. package/dist/core/tools/index.d.ts +0 -43
  404. package/dist/core/tools/index.d.ts.map +0 -1
  405. package/dist/core/tools/index.js +0 -129
  406. package/dist/core/tools/index.js.map +0 -1
  407. package/dist/core/tools/ls.d.ts +0 -41
  408. package/dist/core/tools/ls.d.ts.map +0 -1
  409. package/dist/core/tools/ls.js +0 -126
  410. package/dist/core/tools/ls.js.map +0 -1
  411. package/dist/core/tools/output-accumulator.d.ts +0 -63
  412. package/dist/core/tools/output-accumulator.d.ts.map +0 -1
  413. package/dist/core/tools/output-accumulator.js +0 -220
  414. package/dist/core/tools/output-accumulator.js.map +0 -1
  415. package/dist/core/tools/path-utils.d.ts +0 -10
  416. package/dist/core/tools/path-utils.d.ts.map +0 -1
  417. package/dist/core/tools/path-utils.js +0 -99
  418. package/dist/core/tools/path-utils.js.map +0 -1
  419. package/dist/core/tools/powershell.d.ts +0 -16
  420. package/dist/core/tools/powershell.d.ts.map +0 -1
  421. package/dist/core/tools/powershell.js +0 -39
  422. package/dist/core/tools/powershell.js.map +0 -1
  423. package/dist/core/tools/read.d.ts +0 -42
  424. package/dist/core/tools/read.d.ts.map +0 -1
  425. package/dist/core/tools/read.js +0 -169
  426. package/dist/core/tools/read.js.map +0 -1
  427. package/dist/core/tools/render-utils.d.ts +0 -30
  428. package/dist/core/tools/render-utils.d.ts.map +0 -1
  429. package/dist/core/tools/render-utils.js +0 -91
  430. package/dist/core/tools/render-utils.js.map +0 -1
  431. package/dist/core/tools/renderers/bash.d.ts +0 -12
  432. package/dist/core/tools/renderers/bash.d.ts.map +0 -1
  433. package/dist/core/tools/renderers/bash.js +0 -117
  434. package/dist/core/tools/renderers/bash.js.map +0 -1
  435. package/dist/core/tools/renderers/edit.d.ts +0 -23
  436. package/dist/core/tools/renderers/edit.d.ts.map +0 -1
  437. package/dist/core/tools/renderers/edit.js +0 -168
  438. package/dist/core/tools/renderers/edit.js.map +0 -1
  439. package/dist/core/tools/renderers/find.d.ts +0 -10
  440. package/dist/core/tools/renderers/find.d.ts.map +0 -1
  441. package/dist/core/tools/renderers/find.js +0 -64
  442. package/dist/core/tools/renderers/find.js.map +0 -1
  443. package/dist/core/tools/renderers/grep.d.ts +0 -10
  444. package/dist/core/tools/renderers/grep.d.ts.map +0 -1
  445. package/dist/core/tools/renderers/grep.js +0 -69
  446. package/dist/core/tools/renderers/grep.js.map +0 -1
  447. package/dist/core/tools/renderers/index.d.ts +0 -28
  448. package/dist/core/tools/renderers/index.d.ts.map +0 -1
  449. package/dist/core/tools/renderers/index.js +0 -47
  450. package/dist/core/tools/renderers/index.js.map +0 -1
  451. package/dist/core/tools/renderers/ls.d.ts +0 -10
  452. package/dist/core/tools/renderers/ls.d.ts.map +0 -1
  453. package/dist/core/tools/renderers/ls.js +0 -58
  454. package/dist/core/tools/renderers/ls.js.map +0 -1
  455. package/dist/core/tools/renderers/read.d.ts +0 -11
  456. package/dist/core/tools/renderers/read.d.ts.map +0 -1
  457. package/dist/core/tools/renderers/read.js +0 -130
  458. package/dist/core/tools/renderers/read.js.map +0 -1
  459. package/dist/core/tools/renderers/write.d.ts +0 -10
  460. package/dist/core/tools/renderers/write.d.ts.map +0 -1
  461. package/dist/core/tools/renderers/write.js +0 -153
  462. package/dist/core/tools/renderers/write.js.map +0 -1
  463. package/dist/core/tools/tool-definition-wrapper.d.ts +0 -16
  464. package/dist/core/tools/tool-definition-wrapper.d.ts.map +0 -1
  465. package/dist/core/tools/tool-definition-wrapper.js +0 -38
  466. package/dist/core/tools/tool-definition-wrapper.js.map +0 -1
  467. package/dist/core/tools/truncate.d.ts +0 -84
  468. package/dist/core/tools/truncate.d.ts.map +0 -1
  469. package/dist/core/tools/truncate.js +0 -244
  470. package/dist/core/tools/truncate.js.map +0 -1
  471. package/dist/core/tools/write.d.ts +0 -30
  472. package/dist/core/tools/write.d.ts.map +0 -1
  473. package/dist/core/tools/write.js +0 -61
  474. package/dist/core/tools/write.js.map +0 -1
  475. package/dist/core/trust-manager.d.ts +0 -36
  476. package/dist/core/trust-manager.d.ts.map +0 -1
  477. package/dist/core/trust-manager.js +0 -203
  478. package/dist/core/trust-manager.js.map +0 -1
  479. package/dist/core/usage-totals.d.ts +0 -21
  480. package/dist/core/usage-totals.d.ts.map +0 -1
  481. package/dist/core/usage-totals.js +0 -79
  482. package/dist/core/usage-totals.js.map +0 -1
  483. package/dist/core/virtual-models.d.ts +0 -117
  484. package/dist/core/virtual-models.d.ts.map +0 -1
  485. package/dist/core/virtual-models.js +0 -124
  486. package/dist/core/virtual-models.js.map +0 -1
  487. package/dist/extensions/index.d.ts +0 -3
  488. package/dist/extensions/index.d.ts.map +0 -1
  489. package/dist/extensions/index.js +0 -3
  490. package/dist/extensions/index.js.map +0 -1
  491. package/dist/extensions/llama/client.d.ts +0 -69
  492. package/dist/extensions/llama/client.d.ts.map +0 -1
  493. package/dist/extensions/llama/client.js +0 -313
  494. package/dist/extensions/llama/client.js.map +0 -1
  495. package/dist/extensions/llama/huggingface.d.ts +0 -23
  496. package/dist/extensions/llama/huggingface.d.ts.map +0 -1
  497. package/dist/extensions/llama/huggingface.js +0 -141
  498. package/dist/extensions/llama/huggingface.js.map +0 -1
  499. package/dist/extensions/llama/index.d.ts +0 -3
  500. package/dist/extensions/llama/index.d.ts.map +0 -1
  501. package/dist/extensions/llama/index.js +0 -219
  502. package/dist/extensions/llama/index.js.map +0 -1
  503. package/dist/extensions/llama/provider.d.ts +0 -12
  504. package/dist/extensions/llama/provider.d.ts.map +0 -1
  505. package/dist/extensions/llama/provider.js +0 -213
  506. package/dist/extensions/llama/provider.js.map +0 -1
  507. package/dist/extensions/llama/ui.d.ts +0 -42
  508. package/dist/extensions/llama/ui.d.ts.map +0 -1
  509. package/dist/extensions/llama/ui.js +0 -416
  510. package/dist/extensions/llama/ui.js.map +0 -1
  511. package/dist/index.d.ts +0 -38
  512. package/dist/index.d.ts.map +0 -1
  513. package/dist/index.js +0 -49
  514. package/dist/index.js.map +0 -1
  515. package/dist/main.d.ts +0 -16
  516. package/dist/main.d.ts.map +0 -1
  517. package/dist/main.js +0 -819
  518. package/dist/main.js.map +0 -1
  519. package/dist/migrations.d.ts +0 -33
  520. package/dist/migrations.d.ts.map +0 -1
  521. package/dist/migrations.js +0 -282
  522. package/dist/migrations.js.map +0 -1
  523. package/dist/modes/index.d.ts +0 -10
  524. package/dist/modes/index.d.ts.map +0 -1
  525. package/dist/modes/index.js +0 -8
  526. package/dist/modes/index.js.map +0 -1
  527. package/dist/modes/interactive/bug-report.d.ts +0 -16
  528. package/dist/modes/interactive/bug-report.d.ts.map +0 -1
  529. package/dist/modes/interactive/bug-report.js +0 -210
  530. package/dist/modes/interactive/bug-report.js.map +0 -1
  531. package/dist/modes/interactive/chat-viewport.d.ts +0 -20
  532. package/dist/modes/interactive/chat-viewport.d.ts.map +0 -1
  533. package/dist/modes/interactive/chat-viewport.js +0 -28
  534. package/dist/modes/interactive/chat-viewport.js.map +0 -1
  535. package/dist/modes/interactive/components/armin.d.ts +0 -37
  536. package/dist/modes/interactive/components/armin.d.ts.map +0 -1
  537. package/dist/modes/interactive/components/armin.js +0 -335
  538. package/dist/modes/interactive/components/armin.js.map +0 -1
  539. package/dist/modes/interactive/components/assistant-message.d.ts +0 -26
  540. package/dist/modes/interactive/components/assistant-message.d.ts.map +0 -1
  541. package/dist/modes/interactive/components/assistant-message.js +0 -158
  542. package/dist/modes/interactive/components/assistant-message.js.map +0 -1
  543. package/dist/modes/interactive/components/bash-execution.d.ts +0 -38
  544. package/dist/modes/interactive/components/bash-execution.d.ts.map +0 -1
  545. package/dist/modes/interactive/components/bash-execution.js +0 -178
  546. package/dist/modes/interactive/components/bash-execution.js.map +0 -1
  547. package/dist/modes/interactive/components/bordered-loader.d.ts +0 -16
  548. package/dist/modes/interactive/components/bordered-loader.d.ts.map +0 -1
  549. package/dist/modes/interactive/components/bordered-loader.js +0 -54
  550. package/dist/modes/interactive/components/bordered-loader.js.map +0 -1
  551. package/dist/modes/interactive/components/branch-summary-message.d.ts +0 -17
  552. package/dist/modes/interactive/components/branch-summary-message.d.ts.map +0 -1
  553. package/dist/modes/interactive/components/branch-summary-message.js +0 -54
  554. package/dist/modes/interactive/components/branch-summary-message.js.map +0 -1
  555. package/dist/modes/interactive/components/compaction-summary-message.d.ts +0 -17
  556. package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +0 -1
  557. package/dist/modes/interactive/components/compaction-summary-message.js +0 -55
  558. package/dist/modes/interactive/components/compaction-summary-message.js.map +0 -1
  559. package/dist/modes/interactive/components/config-selector.d.ts +0 -102
  560. package/dist/modes/interactive/components/config-selector.d.ts.map +0 -1
  561. package/dist/modes/interactive/components/config-selector.js +0 -771
  562. package/dist/modes/interactive/components/config-selector.js.map +0 -1
  563. package/dist/modes/interactive/components/countdown-timer.d.ts +0 -14
  564. package/dist/modes/interactive/components/countdown-timer.d.ts.map +0 -1
  565. package/dist/modes/interactive/components/countdown-timer.js +0 -33
  566. package/dist/modes/interactive/components/countdown-timer.js.map +0 -1
  567. package/dist/modes/interactive/components/custom-editor.d.ts +0 -30
  568. package/dist/modes/interactive/components/custom-editor.d.ts.map +0 -1
  569. package/dist/modes/interactive/components/custom-editor.js +0 -115
  570. package/dist/modes/interactive/components/custom-editor.js.map +0 -1
  571. package/dist/modes/interactive/components/custom-entry.d.ts +0 -21
  572. package/dist/modes/interactive/components/custom-entry.d.ts.map +0 -1
  573. package/dist/modes/interactive/components/custom-entry.js +0 -58
  574. package/dist/modes/interactive/components/custom-entry.js.map +0 -1
  575. package/dist/modes/interactive/components/custom-message.d.ts +0 -22
  576. package/dist/modes/interactive/components/custom-message.d.ts.map +0 -1
  577. package/dist/modes/interactive/components/custom-message.js +0 -88
  578. package/dist/modes/interactive/components/custom-message.js.map +0 -1
  579. package/dist/modes/interactive/components/diff.d.ts +0 -12
  580. package/dist/modes/interactive/components/diff.d.ts.map +0 -1
  581. package/dist/modes/interactive/components/diff.js +0 -133
  582. package/dist/modes/interactive/components/diff.js.map +0 -1
  583. package/dist/modes/interactive/components/dynamic-border.d.ts +0 -15
  584. package/dist/modes/interactive/components/dynamic-border.d.ts.map +0 -1
  585. package/dist/modes/interactive/components/dynamic-border.js +0 -21
  586. package/dist/modes/interactive/components/dynamic-border.js.map +0 -1
  587. package/dist/modes/interactive/components/e-logo.d.ts +0 -16
  588. package/dist/modes/interactive/components/e-logo.d.ts.map +0 -1
  589. package/dist/modes/interactive/components/e-logo.js +0 -29
  590. package/dist/modes/interactive/components/e-logo.js.map +0 -1
  591. package/dist/modes/interactive/components/earendil-announcement.d.ts +0 -5
  592. package/dist/modes/interactive/components/earendil-announcement.d.ts.map +0 -1
  593. package/dist/modes/interactive/components/earendil-announcement.js +0 -40
  594. package/dist/modes/interactive/components/earendil-announcement.js.map +0 -1
  595. package/dist/modes/interactive/components/easter-egg-3d.d.ts +0 -104
  596. package/dist/modes/interactive/components/easter-egg-3d.d.ts.map +0 -1
  597. package/dist/modes/interactive/components/easter-egg-3d.js +0 -1138
  598. package/dist/modes/interactive/components/easter-egg-3d.js.map +0 -1
  599. package/dist/modes/interactive/components/easter-egg-3d.lazy.d.ts +0 -6
  600. package/dist/modes/interactive/components/easter-egg-3d.lazy.d.ts.map +0 -1
  601. package/dist/modes/interactive/components/easter-egg-3d.lazy.js +0 -23
  602. package/dist/modes/interactive/components/easter-egg-3d.lazy.js.map +0 -1
  603. package/dist/modes/interactive/components/extension-editor.d.ts +0 -24
  604. package/dist/modes/interactive/components/extension-editor.d.ts.map +0 -1
  605. package/dist/modes/interactive/components/extension-editor.js +0 -103
  606. package/dist/modes/interactive/components/extension-editor.js.map +0 -1
  607. package/dist/modes/interactive/components/extension-input.d.ts +0 -25
  608. package/dist/modes/interactive/components/extension-input.d.ts.map +0 -1
  609. package/dist/modes/interactive/components/extension-input.js +0 -67
  610. package/dist/modes/interactive/components/extension-input.js.map +0 -1
  611. package/dist/modes/interactive/components/extension-selector.d.ts +0 -27
  612. package/dist/modes/interactive/components/extension-selector.d.ts.map +0 -1
  613. package/dist/modes/interactive/components/extension-selector.js +0 -87
  614. package/dist/modes/interactive/components/extension-selector.js.map +0 -1
  615. package/dist/modes/interactive/components/first-time-setup.d.ts +0 -25
  616. package/dist/modes/interactive/components/first-time-setup.d.ts.map +0 -1
  617. package/dist/modes/interactive/components/first-time-setup.js +0 -109
  618. package/dist/modes/interactive/components/first-time-setup.js.map +0 -1
  619. package/dist/modes/interactive/components/footer.d.ts +0 -39
  620. package/dist/modes/interactive/components/footer.d.ts.map +0 -1
  621. package/dist/modes/interactive/components/footer.js +0 -265
  622. package/dist/modes/interactive/components/footer.js.map +0 -1
  623. package/dist/modes/interactive/components/index.d.ts +0 -33
  624. package/dist/modes/interactive/components/index.d.ts.map +0 -1
  625. package/dist/modes/interactive/components/index.js +0 -34
  626. package/dist/modes/interactive/components/index.js.map +0 -1
  627. package/dist/modes/interactive/components/keybinding-hints.d.ts +0 -13
  628. package/dist/modes/interactive/components/keybinding-hints.d.ts.map +0 -1
  629. package/dist/modes/interactive/components/keybinding-hints.js +0 -36
  630. package/dist/modes/interactive/components/keybinding-hints.js.map +0 -1
  631. package/dist/modes/interactive/components/login-dialog.d.ts +0 -52
  632. package/dist/modes/interactive/components/login-dialog.d.ts.map +0 -1
  633. package/dist/modes/interactive/components/login-dialog.js +0 -188
  634. package/dist/modes/interactive/components/login-dialog.js.map +0 -1
  635. package/dist/modes/interactive/components/markdown-transform.d.ts +0 -3
  636. package/dist/modes/interactive/components/markdown-transform.d.ts.map +0 -1
  637. package/dist/modes/interactive/components/markdown-transform.js +0 -19
  638. package/dist/modes/interactive/components/markdown-transform.js.map +0 -1
  639. package/dist/modes/interactive/components/mermaid.d.ts +0 -11
  640. package/dist/modes/interactive/components/mermaid.d.ts.map +0 -1
  641. package/dist/modes/interactive/components/mermaid.js +0 -75
  642. package/dist/modes/interactive/components/mermaid.js.map +0 -1
  643. package/dist/modes/interactive/components/model-selector.d.ts +0 -60
  644. package/dist/modes/interactive/components/model-selector.d.ts.map +0 -1
  645. package/dist/modes/interactive/components/model-selector.js +0 -361
  646. package/dist/modes/interactive/components/model-selector.js.map +0 -1
  647. package/dist/modes/interactive/components/oauth-selector.d.ts +0 -33
  648. package/dist/modes/interactive/components/oauth-selector.d.ts.map +0 -1
  649. package/dist/modes/interactive/components/oauth-selector.js +0 -163
  650. package/dist/modes/interactive/components/oauth-selector.js.map +0 -1
  651. package/dist/modes/interactive/components/scoped-models-selector.d.ts +0 -46
  652. package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +0 -1
  653. package/dist/modes/interactive/components/scoped-models-selector.js +0 -326
  654. package/dist/modes/interactive/components/scoped-models-selector.js.map +0 -1
  655. package/dist/modes/interactive/components/session-selector-search.d.ts +0 -23
  656. package/dist/modes/interactive/components/session-selector-search.d.ts.map +0 -1
  657. package/dist/modes/interactive/components/session-selector-search.js +0 -155
  658. package/dist/modes/interactive/components/session-selector-search.js.map +0 -1
  659. package/dist/modes/interactive/components/session-selector.d.ts +0 -95
  660. package/dist/modes/interactive/components/session-selector.d.ts.map +0 -1
  661. package/dist/modes/interactive/components/session-selector.js +0 -893
  662. package/dist/modes/interactive/components/session-selector.js.map +0 -1
  663. package/dist/modes/interactive/components/settings-selector.d.ts +0 -96
  664. package/dist/modes/interactive/components/settings-selector.d.ts.map +0 -1
  665. package/dist/modes/interactive/components/settings-selector.js +0 -742
  666. package/dist/modes/interactive/components/settings-selector.js.map +0 -1
  667. package/dist/modes/interactive/components/settings-submenu.d.ts +0 -72
  668. package/dist/modes/interactive/components/settings-submenu.d.ts.map +0 -1
  669. package/dist/modes/interactive/components/settings-submenu.js +0 -165
  670. package/dist/modes/interactive/components/settings-submenu.js.map +0 -1
  671. package/dist/modes/interactive/components/show-images-selector.d.ts +0 -10
  672. package/dist/modes/interactive/components/show-images-selector.d.ts.map +0 -1
  673. package/dist/modes/interactive/components/show-images-selector.js +0 -39
  674. package/dist/modes/interactive/components/show-images-selector.js.map +0 -1
  675. package/dist/modes/interactive/components/skill-invocation-message.d.ts +0 -18
  676. package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +0 -1
  677. package/dist/modes/interactive/components/skill-invocation-message.js +0 -57
  678. package/dist/modes/interactive/components/skill-invocation-message.js.map +0 -1
  679. package/dist/modes/interactive/components/status-indicator.d.ts +0 -30
  680. package/dist/modes/interactive/components/status-indicator.d.ts.map +0 -1
  681. package/dist/modes/interactive/components/status-indicator.js +0 -67
  682. package/dist/modes/interactive/components/status-indicator.js.map +0 -1
  683. package/dist/modes/interactive/components/theme-selector.d.ts +0 -11
  684. package/dist/modes/interactive/components/theme-selector.d.ts.map +0 -1
  685. package/dist/modes/interactive/components/theme-selector.js +0 -50
  686. package/dist/modes/interactive/components/theme-selector.js.map +0 -1
  687. package/dist/modes/interactive/components/themed-text.d.ts +0 -17
  688. package/dist/modes/interactive/components/themed-text.d.ts.map +0 -1
  689. package/dist/modes/interactive/components/themed-text.js +0 -29
  690. package/dist/modes/interactive/components/themed-text.js.map +0 -1
  691. package/dist/modes/interactive/components/thinking-selector.d.ts +0 -23
  692. package/dist/modes/interactive/components/thinking-selector.d.ts.map +0 -1
  693. package/dist/modes/interactive/components/thinking-selector.js +0 -109
  694. package/dist/modes/interactive/components/thinking-selector.js.map +0 -1
  695. package/dist/modes/interactive/components/tool-execution.d.ts +0 -83
  696. package/dist/modes/interactive/components/tool-execution.d.ts.map +0 -1
  697. package/dist/modes/interactive/components/tool-execution.js +0 -323
  698. package/dist/modes/interactive/components/tool-execution.js.map +0 -1
  699. package/dist/modes/interactive/components/tree-selector.d.ts +0 -94
  700. package/dist/modes/interactive/components/tree-selector.d.ts.map +0 -1
  701. package/dist/modes/interactive/components/tree-selector.js +0 -1254
  702. package/dist/modes/interactive/components/tree-selector.js.map +0 -1
  703. package/dist/modes/interactive/components/trust-selector.d.ts +0 -23
  704. package/dist/modes/interactive/components/trust-selector.d.ts.map +0 -1
  705. package/dist/modes/interactive/components/trust-selector.js +0 -91
  706. package/dist/modes/interactive/components/trust-selector.js.map +0 -1
  707. package/dist/modes/interactive/components/user-message-selector.d.ts +0 -30
  708. package/dist/modes/interactive/components/user-message-selector.d.ts.map +0 -1
  709. package/dist/modes/interactive/components/user-message-selector.js +0 -114
  710. package/dist/modes/interactive/components/user-message-selector.js.map +0 -1
  711. package/dist/modes/interactive/components/user-message.d.ts +0 -16
  712. package/dist/modes/interactive/components/user-message.d.ts.map +0 -1
  713. package/dist/modes/interactive/components/user-message.js +0 -50
  714. package/dist/modes/interactive/components/user-message.js.map +0 -1
  715. package/dist/modes/interactive/components/visual-truncate.d.ts +0 -48
  716. package/dist/modes/interactive/components/visual-truncate.d.ts.map +0 -1
  717. package/dist/modes/interactive/components/visual-truncate.js +0 -66
  718. package/dist/modes/interactive/components/visual-truncate.js.map +0 -1
  719. package/dist/modes/interactive/external-editor.d.ts +0 -12
  720. package/dist/modes/interactive/external-editor.d.ts.map +0 -1
  721. package/dist/modes/interactive/external-editor.js +0 -38
  722. package/dist/modes/interactive/external-editor.js.map +0 -1
  723. package/dist/modes/interactive/interactive-mode.d.ts +0 -470
  724. package/dist/modes/interactive/interactive-mode.d.ts.map +0 -1
  725. package/dist/modes/interactive/interactive-mode.js +0 -5795
  726. package/dist/modes/interactive/interactive-mode.js.map +0 -1
  727. package/dist/modes/interactive/model-catalog-refresh.d.ts +0 -7
  728. package/dist/modes/interactive/model-catalog-refresh.d.ts.map +0 -1
  729. package/dist/modes/interactive/model-catalog-refresh.js +0 -34
  730. package/dist/modes/interactive/model-catalog-refresh.js.map +0 -1
  731. package/dist/modes/interactive/model-search.d.ts +0 -12
  732. package/dist/modes/interactive/model-search.d.ts.map +0 -1
  733. package/dist/modes/interactive/model-search.js +0 -15
  734. package/dist/modes/interactive/model-search.js.map +0 -1
  735. package/dist/modes/interactive/session-share.d.ts +0 -18
  736. package/dist/modes/interactive/session-share.d.ts.map +0 -1
  737. package/dist/modes/interactive/session-share.js +0 -188
  738. package/dist/modes/interactive/session-share.js.map +0 -1
  739. package/dist/modes/interactive/theme/system-theme.d.ts +0 -55
  740. package/dist/modes/interactive/theme/system-theme.d.ts.map +0 -1
  741. package/dist/modes/interactive/theme/system-theme.js +0 -546
  742. package/dist/modes/interactive/theme/system-theme.js.map +0 -1
  743. package/dist/modes/interactive/theme/theme-controller.d.ts +0 -81
  744. package/dist/modes/interactive/theme/theme-controller.d.ts.map +0 -1
  745. package/dist/modes/interactive/theme/theme-controller.js +0 -210
  746. package/dist/modes/interactive/theme/theme-controller.js.map +0 -1
  747. package/dist/modes/interactive/theme/theme-json.d.ts +0 -85
  748. package/dist/modes/interactive/theme/theme-json.d.ts.map +0 -1
  749. package/dist/modes/interactive/theme/theme-json.js +0 -132
  750. package/dist/modes/interactive/theme/theme-json.js.map +0 -1
  751. package/dist/modes/interactive/theme/theme.d.ts +0 -158
  752. package/dist/modes/interactive/theme/theme.d.ts.map +0 -1
  753. package/dist/modes/interactive/theme/theme.js +0 -913
  754. package/dist/modes/interactive/theme/theme.js.map +0 -1
  755. package/dist/modes/interactive/tui-renderer.d.ts +0 -22
  756. package/dist/modes/interactive/tui-renderer.d.ts.map +0 -1
  757. package/dist/modes/interactive/tui-renderer.js +0 -67
  758. package/dist/modes/interactive/tui-renderer.js.map +0 -1
  759. package/dist/modes/json-event.d.ts +0 -34
  760. package/dist/modes/json-event.d.ts.map +0 -1
  761. package/dist/modes/json-event.js +0 -29
  762. package/dist/modes/json-event.js.map +0 -1
  763. package/dist/modes/print-mode.d.ts +0 -28
  764. package/dist/modes/print-mode.d.ts.map +0 -1
  765. package/dist/modes/print-mode.js +0 -142
  766. package/dist/modes/print-mode.js.map +0 -1
  767. package/dist/modes/rpc/jsonl.d.ts +0 -17
  768. package/dist/modes/rpc/jsonl.d.ts.map +0 -1
  769. package/dist/modes/rpc/jsonl.js +0 -49
  770. package/dist/modes/rpc/jsonl.js.map +0 -1
  771. package/dist/modes/rpc/rpc-client.d.ts +0 -254
  772. package/dist/modes/rpc/rpc-client.d.ts.map +0 -1
  773. package/dist/modes/rpc/rpc-client.js +0 -499
  774. package/dist/modes/rpc/rpc-client.js.map +0 -1
  775. package/dist/modes/rpc/rpc-mode.d.ts +0 -20
  776. package/dist/modes/rpc/rpc-mode.d.ts.map +0 -1
  777. package/dist/modes/rpc/rpc-mode.js +0 -655
  778. package/dist/modes/rpc/rpc-mode.js.map +0 -1
  779. package/dist/modes/rpc/rpc-types.d.ts +0 -478
  780. package/dist/modes/rpc/rpc-types.d.ts.map +0 -1
  781. package/dist/modes/rpc/rpc-types.js +0 -8
  782. package/dist/modes/rpc/rpc-types.js.map +0 -1
  783. package/dist/package-manager-cli.d.ts +0 -9
  784. package/dist/package-manager-cli.d.ts.map +0 -1
  785. package/dist/package-manager-cli.js +0 -1000
  786. package/dist/package-manager-cli.js.map +0 -1
  787. package/dist/rpc-entry.d.ts +0 -3
  788. package/dist/rpc-entry.d.ts.map +0 -1
  789. package/dist/rpc-entry.js +0 -11
  790. package/dist/rpc-entry.js.map +0 -1
  791. package/dist/utils/abort.d.ts +0 -5
  792. package/dist/utils/abort.d.ts.map +0 -1
  793. package/dist/utils/abort.js +0 -48
  794. package/dist/utils/abort.js.map +0 -1
  795. package/dist/utils/ansi.d.ts +0 -10
  796. package/dist/utils/ansi.d.ts.map +0 -1
  797. package/dist/utils/ansi.js +0 -71
  798. package/dist/utils/ansi.js.map +0 -1
  799. package/dist/utils/changelog.d.ts +0 -22
  800. package/dist/utils/changelog.d.ts.map +0 -1
  801. package/dist/utils/changelog.js +0 -165
  802. package/dist/utils/changelog.js.map +0 -1
  803. package/dist/utils/child-process.d.ts +0 -18
  804. package/dist/utils/child-process.d.ts.map +0 -1
  805. package/dist/utils/child-process.js +0 -106
  806. package/dist/utils/child-process.js.map +0 -1
  807. package/dist/utils/clipboard-command.d.ts +0 -7
  808. package/dist/utils/clipboard-command.d.ts.map +0 -1
  809. package/dist/utils/clipboard-command.js +0 -45
  810. package/dist/utils/clipboard-command.js.map +0 -1
  811. package/dist/utils/clipboard-image.d.ts +0 -11
  812. package/dist/utils/clipboard-image.d.ts.map +0 -1
  813. package/dist/utils/clipboard-image.js +0 -214
  814. package/dist/utils/clipboard-image.js.map +0 -1
  815. package/dist/utils/clipboard.d.ts +0 -6
  816. package/dist/utils/clipboard.d.ts.map +0 -1
  817. package/dist/utils/clipboard.js +0 -157
  818. package/dist/utils/clipboard.js.map +0 -1
  819. package/dist/utils/deprecation.d.ts +0 -4
  820. package/dist/utils/deprecation.d.ts.map +0 -1
  821. package/dist/utils/deprecation.js +0 -13
  822. package/dist/utils/deprecation.js.map +0 -1
  823. package/dist/utils/exif-orientation.d.ts +0 -5
  824. package/dist/utils/exif-orientation.d.ts.map +0 -1
  825. package/dist/utils/exif-orientation.js +0 -157
  826. package/dist/utils/exif-orientation.js.map +0 -1
  827. package/dist/utils/frontmatter.d.ts +0 -8
  828. package/dist/utils/frontmatter.d.ts.map +0 -1
  829. package/dist/utils/frontmatter.js +0 -27
  830. package/dist/utils/frontmatter.js.map +0 -1
  831. package/dist/utils/fs-watch.d.ts +0 -5
  832. package/dist/utils/fs-watch.d.ts.map +0 -1
  833. package/dist/utils/fs-watch.js +0 -25
  834. package/dist/utils/fs-watch.js.map +0 -1
  835. package/dist/utils/git.d.ts +0 -26
  836. package/dist/utils/git.d.ts.map +0 -1
  837. package/dist/utils/git.js +0 -195
  838. package/dist/utils/git.js.map +0 -1
  839. package/dist/utils/html.d.ts +0 -7
  840. package/dist/utils/html.d.ts.map +0 -1
  841. package/dist/utils/html.js +0 -40
  842. package/dist/utils/html.js.map +0 -1
  843. package/dist/utils/image-convert.d.ts +0 -22
  844. package/dist/utils/image-convert.d.ts.map +0 -1
  845. package/dist/utils/image-convert.js +0 -84
  846. package/dist/utils/image-convert.js.map +0 -1
  847. package/dist/utils/image-process.d.ts +0 -18
  848. package/dist/utils/image-process.d.ts.map +0 -1
  849. package/dist/utils/image-process.js +0 -83
  850. package/dist/utils/image-process.js.map +0 -1
  851. package/dist/utils/image-resize-core.d.ts +0 -42
  852. package/dist/utils/image-resize-core.d.ts.map +0 -1
  853. package/dist/utils/image-resize-core.js +0 -129
  854. package/dist/utils/image-resize-core.js.map +0 -1
  855. package/dist/utils/image-resize-worker.d.ts +0 -2
  856. package/dist/utils/image-resize-worker.d.ts.map +0 -1
  857. package/dist/utils/image-resize-worker.js +0 -32
  858. package/dist/utils/image-resize-worker.js.map +0 -1
  859. package/dist/utils/image-resize.d.ts +0 -16
  860. package/dist/utils/image-resize.d.ts.map +0 -1
  861. package/dist/utils/image-resize.js +0 -96
  862. package/dist/utils/image-resize.js.map +0 -1
  863. package/dist/utils/json.d.ts +0 -3
  864. package/dist/utils/json.d.ts.map +0 -1
  865. package/dist/utils/json.js +0 -7
  866. package/dist/utils/json.js.map +0 -1
  867. package/dist/utils/management-http.d.ts +0 -25
  868. package/dist/utils/management-http.d.ts.map +0 -1
  869. package/dist/utils/management-http.js +0 -54
  870. package/dist/utils/management-http.js.map +0 -1
  871. package/dist/utils/mime.d.ts +0 -3
  872. package/dist/utils/mime.d.ts.map +0 -1
  873. package/dist/utils/mime.js +0 -110
  874. package/dist/utils/mime.js.map +0 -1
  875. package/dist/utils/open-browser.d.ts +0 -9
  876. package/dist/utils/open-browser.d.ts.map +0 -1
  877. package/dist/utils/open-browser.js +0 -22
  878. package/dist/utils/open-browser.js.map +0 -1
  879. package/dist/utils/paths.d.ts +0 -34
  880. package/dist/utils/paths.d.ts.map +0 -1
  881. package/dist/utils/paths.js +0 -115
  882. package/dist/utils/paths.js.map +0 -1
  883. package/dist/utils/photon.d.ts +0 -21
  884. package/dist/utils/photon.d.ts.map +0 -1
  885. package/dist/utils/photon.js +0 -121
  886. package/dist/utils/photon.js.map +0 -1
  887. package/dist/utils/pi-user-agent.d.ts +0 -2
  888. package/dist/utils/pi-user-agent.d.ts.map +0 -1
  889. package/dist/utils/pi-user-agent.js +0 -5
  890. package/dist/utils/pi-user-agent.js.map +0 -1
  891. package/dist/utils/shell.d.ts +0 -32
  892. package/dist/utils/shell.d.ts.map +0 -1
  893. package/dist/utils/shell.js +0 -189
  894. package/dist/utils/shell.js.map +0 -1
  895. package/dist/utils/sleep.d.ts +0 -5
  896. package/dist/utils/sleep.d.ts.map +0 -1
  897. package/dist/utils/sleep.js +0 -17
  898. package/dist/utils/sleep.js.map +0 -1
  899. package/dist/utils/syntax-highlight.d.ts +0 -13
  900. package/dist/utils/syntax-highlight.d.ts.map +0 -1
  901. package/dist/utils/syntax-highlight.js +0 -184
  902. package/dist/utils/syntax-highlight.js.map +0 -1
  903. package/dist/utils/text.d.ts +0 -8
  904. package/dist/utils/text.d.ts.map +0 -1
  905. package/dist/utils/text.js +0 -9
  906. package/dist/utils/text.js.map +0 -1
  907. package/dist/utils/tool-result-images.d.ts +0 -21
  908. package/dist/utils/tool-result-images.d.ts.map +0 -1
  909. package/dist/utils/tool-result-images.js +0 -48
  910. package/dist/utils/tool-result-images.js.map +0 -1
  911. package/dist/utils/tools-manager.d.ts +0 -13
  912. package/dist/utils/tools-manager.d.ts.map +0 -1
  913. package/dist/utils/tools-manager.js +0 -343
  914. package/dist/utils/tools-manager.js.map +0 -1
  915. package/dist/utils/version-check.d.ts +0 -19
  916. package/dist/utils/version-check.d.ts.map +0 -1
  917. package/dist/utils/version-check.js +0 -72
  918. package/dist/utils/version-check.js.map +0 -1
  919. package/dist/utils/windows-self-update.d.ts +0 -3
  920. package/dist/utils/windows-self-update.d.ts.map +0 -1
  921. package/dist/utils/windows-self-update.js +0 -77
  922. package/dist/utils/windows-self-update.js.map +0 -1
  923. package/dist/utils/wsl.d.ts +0 -3
  924. package/dist/utils/wsl.d.ts.map +0 -1
  925. package/dist/utils/wsl.js +0 -15
  926. package/dist/utils/wsl.js.map +0 -1
  927. package/dist/utils/zip.d.ts +0 -7
  928. package/dist/utils/zip.d.ts.map +0 -1
  929. package/dist/utils/zip.js +0 -60
  930. package/dist/utils/zip.js.map +0 -1
package/dist/main.js DELETED
@@ -1,819 +0,0 @@
1
- /**
2
- * Main entry point for the coding agent CLI.
3
- *
4
- * This file handles CLI argument parsing and translates them into
5
- * createAgentSession() options. The SDK does the heavy lifting.
6
- */
7
- import { createInterface } from "node:readline";
8
- import { modelsAreEqual } from "@earendil-works/pi-ai";
9
- import { setCapabilityOverrides } from "@earendil-works/pi-tui";
10
- import chalk from "chalk";
11
- import { normalizeSessionName, parseArgs, printHelp } from "./cli/args.js";
12
- import { checkProviderAuth, createAuthCheckModelRuntime, getProviderCredential, } from "./cli/auth-check.js";
13
- import { AuthCommandError, getAuthCommandName, getAuthCommandUsage, isAuthCommandHelp, parseAuthCommand, printAuthCommandHelp, validateAuthCommandArgs, } from "./cli/auth-command.js";
14
- import { resolveCredentialForPrint } from "./cli/credential-print.js";
15
- import { processFileArguments } from "./cli/file-processor.js";
16
- import { buildInitialMessage } from "./cli/initial-message.js";
17
- import { listModels } from "./cli/list-models.js";
18
- import { createProjectTrustContext } from "./cli/project-trust.js";
19
- import { selectSession } from "./cli/session-picker.js";
20
- import { shouldRunFirstTimeSetup, showFirstTimeSetup, showStartupSelector } from "./cli/startup-ui.js";
21
- import { APP_NAME, ENV_SESSION_DIR, expandTildePath, getAgentDir, getPackageDir, readAppEnv, VERSION, writeAppEnv, } from "./config.js";
22
- import { createAgentSessionRuntime } from "./core/agent-session-runtime.js";
23
- import { createAgentSessionFromServices, createAgentSessionServices, } from "./core/agent-session-services.js";
24
- import { formatNoModelsAvailableMessage } from "./core/auth-guidance.js";
25
- import { AuthStorage, ReadOnlyAuthStorage } from "./core/auth-storage.js";
26
- import { exportFromFile } from "./core/export-html/index.js";
27
- import { applyHttpProxySettings, configureHttpDispatcher } from "./core/http-dispatcher.js";
28
- import { resolveCliModel, resolveModelScope } from "./core/model-resolver.js";
29
- import { ModelRuntime } from "./core/model-runtime.js";
30
- import { restoreStdout, takeOverStdout } from "./core/output-guard.js";
31
- import { resolveProjectTrusted } from "./core/project-trust.js";
32
- import { formatMissingSessionCwdPrompt, getMissingSessionCwdIssue, MissingSessionCwdError, } from "./core/session-cwd.js";
33
- import { assertValidSessionId, SessionManager } from "./core/session-manager.js";
34
- import { collectSettingsDiagnostics, deduplicateDiagnostics } from "./core/settings-diagnostics.js";
35
- import { SettingsManager } from "./core/settings-manager.js";
36
- import { printTimings, resetTimings, time } from "./core/timings.js";
37
- import { hasTrustRequiringProjectResources, ProjectTrustStore } from "./core/trust-manager.js";
38
- import { builtInExtensions } from "./extensions/index.js";
39
- import { runMigrations, showDeprecationWarnings } from "./migrations.js";
40
- import { InteractiveMode, runPrintMode, runRpcMode } from "./modes/index.js";
41
- import { initTheme, setThemeJsonValidator, stopThemeWatcher } from "./modes/interactive/theme/theme.js";
42
- import { validateThemeJson } from "./modes/interactive/theme/theme-json.js";
43
- import { cleanupManagedInstall, handleConfigCommand, handlePackageCommand } from "./package-manager-cli.js";
44
- import { isLocalPath, normalizePath, resolvePath } from "./utils/paths.js";
45
- import { cleanupWindowsSelfUpdateQuarantine } from "./utils/windows-self-update.js";
46
- const EXTENSION_LOAD_FAILURE_HINT = `Hint: Start without extensions using "${APP_NAME} -ne".`;
47
- /**
48
- * Read all content from piped stdin.
49
- * Returns undefined if stdin is a TTY (interactive terminal).
50
- */
51
- async function readPipedStdin() {
52
- // If stdin is a TTY, we're running interactively - don't read stdin
53
- if (process.stdin.isTTY) {
54
- return undefined;
55
- }
56
- return new Promise((resolve) => {
57
- let data = "";
58
- process.stdin.setEncoding("utf8");
59
- process.stdin.on("data", (chunk) => {
60
- data += chunk;
61
- });
62
- process.stdin.on("end", () => {
63
- resolve(data.trim() || undefined);
64
- });
65
- process.stdin.resume();
66
- });
67
- }
68
- function reportDiagnostics(diagnostics) {
69
- for (const diagnostic of diagnostics) {
70
- const color = diagnostic.type === "error" ? chalk.red : diagnostic.type === "warning" ? chalk.yellow : chalk.dim;
71
- const prefix = diagnostic.type === "error" ? "Error: " : diagnostic.type === "warning" ? "Warning: " : "";
72
- console.error(color(`${prefix}${diagnostic.message}`));
73
- }
74
- }
75
- function isTruthyEnvFlag(value) {
76
- if (!value)
77
- return false;
78
- return value === "1" || value.toLowerCase() === "true" || value.toLowerCase() === "yes";
79
- }
80
- function resolveAppMode(parsed, stdinIsTTY, stdoutIsTTY) {
81
- if (parsed.mode === "rpc") {
82
- return "rpc";
83
- }
84
- if (parsed.mode === "json") {
85
- return "json";
86
- }
87
- if (parsed.print || !stdinIsTTY || !stdoutIsTTY) {
88
- return "print";
89
- }
90
- return "interactive";
91
- }
92
- function toPrintOutputMode(appMode) {
93
- return appMode === "json" ? "json" : "text";
94
- }
95
- function isPlainRuntimeMetadataCommand(parsed) {
96
- return !parsed.print && parsed.mode === undefined && (parsed.help === true || parsed.listModels !== undefined);
97
- }
98
- async function runAuthCommand(args) {
99
- if (isAuthCommandHelp(args)) {
100
- printAuthCommandHelp();
101
- return true;
102
- }
103
- let command;
104
- try {
105
- command = parseAuthCommand(args);
106
- }
107
- catch (error) {
108
- const message = error instanceof AuthCommandError ? error.message : "Failed to parse auth command";
109
- console.error(chalk.red(`Error: ${message}`));
110
- process.exitCode = 1;
111
- return true;
112
- }
113
- if (!command)
114
- return false;
115
- const parsed = parseArgs(command.args);
116
- if (parsed.unknownFlags.size > 0) {
117
- const option = parsed.unknownFlags.keys().next().value;
118
- console.error(chalk.red(`Unknown option --${option} for "${getAuthCommandName(command.kind)}".`));
119
- console.error(chalk.dim(`Use "${APP_NAME} --help" or "${getAuthCommandUsage(command.kind)}".`));
120
- process.exitCode = 1;
121
- return true;
122
- }
123
- try {
124
- if (parsed.diagnostics.length > 0) {
125
- throw new AuthCommandError(parsed.diagnostics.map((diagnostic) => diagnostic.message).join("\n"));
126
- }
127
- if (command.kind !== "check") {
128
- const signal = AbortSignal.timeout(15_000);
129
- const modelRuntime = await ModelRuntime.create({ allowModelNetwork: false, signal });
130
- const credential = await resolveCredentialForPrint(parsed, modelRuntime, command.kind, command.minExpiryMs, signal);
131
- process.stdout.write(`${credential}\n`);
132
- return true;
133
- }
134
- const requestedAuth = validateAuthCommandArgs(parsed, command.kind);
135
- let result;
136
- let credential;
137
- try {
138
- const credentials = command.noRefresh ? new ReadOnlyAuthStorage() : AuthStorage.create();
139
- const modelRuntime = await createAuthCheckModelRuntime(credentials);
140
- result = await checkProviderAuth(parsed, modelRuntime, { refresh: !command.noRefresh });
141
- if (command.credentials && result.status === "ready") {
142
- credential = await getProviderCredential(result.provider, modelRuntime, credentials, {
143
- refresh: !command.noRefresh,
144
- });
145
- if (!credential) {
146
- result = { status: "not_ready", provider: result.provider, reason: "credential_not_available" };
147
- }
148
- }
149
- }
150
- catch {
151
- result = {
152
- status: "invalid",
153
- provider: requestedAuth.provider ?? requestedAuth.model,
154
- reason: "invalid_state",
155
- };
156
- }
157
- const output = command.json
158
- ? JSON.stringify({ ...result, ...(credential ? { credentials: credential } : {}) })
159
- : (credential ?? result.status);
160
- process.stdout.write(`${output}\n`);
161
- process.exitCode = result.status === "ready" ? 0 : result.status === "not_ready" ? 1 : 2;
162
- }
163
- catch (error) {
164
- const message = error instanceof AuthCommandError ? error.message : "Failed to resolve credential";
165
- console.error(chalk.red(`Error: ${message}`));
166
- process.exitCode = command.kind === "check" ? 2 : 1;
167
- }
168
- return true;
169
- }
170
- async function prepareInitialMessage(parsed, stdinContent) {
171
- if (parsed.fileArgs.length === 0) {
172
- return buildInitialMessage({ parsed, stdinContent });
173
- }
174
- // AgentSession resizes these after extension hooks select the request model.
175
- const { text, images } = await processFileArguments(parsed.fileArgs, { autoResizeImages: false });
176
- return buildInitialMessage({
177
- parsed,
178
- fileText: text,
179
- fileImages: images,
180
- stdinContent,
181
- });
182
- }
183
- /**
184
- * Resolve a session argument to a file path.
185
- * If it looks like a path, use as-is. Otherwise try to match as session ID prefix.
186
- */
187
- function findLocalSessionByExactId(sessionId, cwd, sessionDir) {
188
- const path = SessionManager.findById(cwd, sessionId, sessionDir);
189
- return path ? { type: "local", path } : undefined;
190
- }
191
- async function resolveSessionPath(sessionArg, cwd, sessionDir) {
192
- // If it looks like a file path, resolve it before handing it to the session manager.
193
- if (sessionArg.includes("/") || sessionArg.includes("\\") || sessionArg.endsWith(".jsonl")) {
194
- return { type: "path", path: resolvePath(sessionArg, cwd) };
195
- }
196
- // Exact IDs only require reading session headers. Fall back to the full
197
- // metadata listing for prefix matches.
198
- const exactLocalMatch = findLocalSessionByExactId(sessionArg, cwd, sessionDir);
199
- if (exactLocalMatch) {
200
- return exactLocalMatch;
201
- }
202
- const localSessions = await SessionManager.list(cwd, sessionDir);
203
- const localMatch = localSessions.find((s) => s.id.startsWith(sessionArg));
204
- if (localMatch) {
205
- return { type: "local", path: localMatch.path };
206
- }
207
- // Try global search across all projects
208
- const allSessions = await SessionManager.listAll(sessionDir);
209
- const globalMatch = allSessions.find((s) => s.id === sessionArg) ?? allSessions.find((s) => s.id.startsWith(sessionArg));
210
- if (globalMatch) {
211
- return { type: "global", path: globalMatch.path, cwd: globalMatch.cwd };
212
- }
213
- // Not found anywhere
214
- return { type: "not_found", arg: sessionArg };
215
- }
216
- /** Prompt user for yes/no confirmation */
217
- async function promptConfirm(message) {
218
- return new Promise((resolve) => {
219
- const rl = createInterface({
220
- input: process.stdin,
221
- output: process.stdout,
222
- });
223
- rl.question(`${message} [y/N] `, (answer) => {
224
- rl.close();
225
- resolve(answer.toLowerCase() === "y" || answer.toLowerCase() === "yes");
226
- });
227
- });
228
- }
229
- function validateForkFlags(parsed) {
230
- if (!parsed.fork)
231
- return;
232
- const conflictingFlags = [
233
- parsed.session ? "--session" : undefined,
234
- parsed.continue ? "--continue" : undefined,
235
- parsed.resume ? "--resume" : undefined,
236
- parsed.noSession ? "--no-session" : undefined,
237
- ].filter((flag) => flag !== undefined);
238
- if (conflictingFlags.length > 0) {
239
- console.error(chalk.red(`Error: --fork cannot be combined with ${conflictingFlags.join(", ")}`));
240
- process.exit(1);
241
- }
242
- }
243
- function validateSessionIdFlags(parsed) {
244
- if (parsed.sessionId === undefined)
245
- return;
246
- const conflictingFlags = [
247
- parsed.session ? "--session" : undefined,
248
- parsed.continue ? "--continue" : undefined,
249
- parsed.resume ? "--resume" : undefined,
250
- ].filter((flag) => flag !== undefined);
251
- if (conflictingFlags.length > 0) {
252
- console.error(chalk.red(`Error: --session-id cannot be combined with ${conflictingFlags.join(", ")}`));
253
- process.exit(1);
254
- }
255
- try {
256
- assertValidSessionId(parsed.sessionId);
257
- }
258
- catch (error) {
259
- const message = error instanceof Error ? error.message : String(error);
260
- console.error(chalk.red(`Error: ${message}`));
261
- process.exit(1);
262
- }
263
- }
264
- function openSessionOrExit(path, sessionDir) {
265
- try {
266
- return SessionManager.open(path, sessionDir);
267
- }
268
- catch (error) {
269
- const message = error instanceof Error ? error.message : String(error);
270
- console.error(chalk.red(`Error: ${message}`));
271
- process.exit(1);
272
- }
273
- }
274
- function forkSessionOrExit(sourcePath, cwd, sessionDir, sessionId) {
275
- try {
276
- return SessionManager.forkFrom(sourcePath, cwd, sessionDir, { id: sessionId });
277
- }
278
- catch (error) {
279
- const message = error instanceof Error ? error.message : String(error);
280
- console.error(chalk.red(`Error: ${message}`));
281
- process.exit(1);
282
- }
283
- }
284
- export async function createSessionManager(parsed, cwd, sessionDir, settingsManager) {
285
- if (parsed.noSession || parsed.help || parsed.listModels !== undefined) {
286
- return SessionManager.inMemory(cwd, parsed.sessionId !== undefined ? { id: parsed.sessionId } : undefined);
287
- }
288
- if (parsed.fork) {
289
- if (parsed.sessionId) {
290
- const existingTarget = findLocalSessionByExactId(parsed.sessionId, cwd, sessionDir);
291
- if (existingTarget) {
292
- console.error(chalk.red(`Session already exists with id '${parsed.sessionId}'`));
293
- process.exit(1);
294
- }
295
- }
296
- const resolved = await resolveSessionPath(parsed.fork, cwd, sessionDir);
297
- switch (resolved.type) {
298
- case "path":
299
- case "local":
300
- case "global":
301
- return forkSessionOrExit(resolved.path, cwd, sessionDir, parsed.sessionId);
302
- case "not_found":
303
- console.error(chalk.red(`No session found matching '${resolved.arg}'`));
304
- process.exit(1);
305
- }
306
- }
307
- if (parsed.session) {
308
- const resolved = await resolveSessionPath(parsed.session, cwd, sessionDir);
309
- switch (resolved.type) {
310
- case "path":
311
- case "local":
312
- return openSessionOrExit(resolved.path, sessionDir);
313
- case "global": {
314
- console.log(chalk.yellow(`Session found in different project: ${resolved.cwd}`));
315
- const shouldFork = await promptConfirm("Fork this session into current directory?");
316
- if (!shouldFork) {
317
- console.log(chalk.dim("Aborted."));
318
- process.exit(0);
319
- }
320
- return forkSessionOrExit(resolved.path, cwd, sessionDir);
321
- }
322
- case "not_found":
323
- console.error(chalk.red(`No session found matching '${resolved.arg}'`));
324
- process.exit(1);
325
- }
326
- }
327
- if (parsed.resume) {
328
- try {
329
- const selectedPath = await selectSession((onProgress, signal) => SessionManager.list(cwd, sessionDir, onProgress, signal), (onProgress, signal) => SessionManager.listAll(sessionDir, onProgress, signal), settingsManager);
330
- if (!selectedPath) {
331
- console.log(chalk.dim("No session selected"));
332
- process.exit(0);
333
- }
334
- return SessionManager.open(selectedPath, sessionDir);
335
- }
336
- finally {
337
- stopThemeWatcher();
338
- }
339
- }
340
- if (parsed.continue) {
341
- return SessionManager.continueRecent(cwd, sessionDir);
342
- }
343
- if (parsed.sessionId) {
344
- const existingSession = findLocalSessionByExactId(parsed.sessionId, cwd, sessionDir);
345
- if (existingSession) {
346
- return SessionManager.open(existingSession.path, sessionDir);
347
- }
348
- console.error(chalk.yellow(`Warning: No project session found with id '${parsed.sessionId}'; creating a new session with that id.`));
349
- }
350
- return SessionManager.create(cwd, sessionDir, { id: parsed.sessionId });
351
- }
352
- function buildSessionOptions(parsed, scopedModels, hasExistingSession, modelRuntime, settingsManager) {
353
- const options = {};
354
- const diagnostics = [];
355
- let cliThinkingFromModel = false;
356
- // Model from CLI
357
- // - supports --provider <name> --model <pattern>
358
- // - supports --model <provider>/<pattern>
359
- if (parsed.provider && !parsed.model) {
360
- diagnostics.push({
361
- type: "error",
362
- message: `--provider requires --model (for example: --provider ${parsed.provider} --model <pattern>)`,
363
- });
364
- }
365
- if (parsed.model) {
366
- const resolved = resolveCliModel({
367
- cliProvider: parsed.provider,
368
- cliModel: parsed.model,
369
- cliThinking: parsed.thinking,
370
- modelRuntime,
371
- });
372
- if (resolved.warning) {
373
- diagnostics.push({ type: "warning", message: resolved.warning });
374
- }
375
- if (resolved.error) {
376
- diagnostics.push({ type: "error", message: resolved.error });
377
- }
378
- if (resolved.model) {
379
- options.model = resolved.model;
380
- // Allow "--model <pattern>:<thinking>" as a shorthand.
381
- // Explicit --thinking still takes precedence (applied later).
382
- if (!parsed.thinking && resolved.thinkingLevel) {
383
- options.thinkingLevel = resolved.thinkingLevel;
384
- cliThinkingFromModel = true;
385
- }
386
- }
387
- }
388
- if (!options.model && scopedModels.length > 0 && !hasExistingSession) {
389
- // Check if saved default is in scoped models - use it if so, otherwise first scoped model
390
- const savedProvider = settingsManager.getDefaultProvider();
391
- const savedModelId = settingsManager.getDefaultModel();
392
- const savedModel = savedProvider && savedModelId ? modelRuntime.getModel(savedProvider, savedModelId) : undefined;
393
- const savedInScope = savedModel ? scopedModels.find((sm) => modelsAreEqual(sm.model, savedModel)) : undefined;
394
- if (savedInScope) {
395
- options.model = savedInScope.model;
396
- // Use thinking level from scoped model config if explicitly set
397
- if (!parsed.thinking && savedInScope.thinkingLevel) {
398
- options.thinkingLevel = savedInScope.thinkingLevel;
399
- }
400
- }
401
- else {
402
- options.model = scopedModels[0].model;
403
- // Use thinking level from first scoped model if explicitly set
404
- if (!parsed.thinking && scopedModels[0].thinkingLevel) {
405
- options.thinkingLevel = scopedModels[0].thinkingLevel;
406
- }
407
- }
408
- }
409
- // Thinking level from CLI (takes precedence over scoped model thinking levels set above)
410
- if (parsed.thinking) {
411
- options.thinkingLevel = parsed.thinking;
412
- }
413
- // Scoped models for Ctrl+P cycling
414
- // Keep thinking level undefined when not explicitly set in the model pattern.
415
- // Undefined means "inherit current session thinking level" during cycling.
416
- if (scopedModels.length > 0) {
417
- options.scopedModels = scopedModels.map((sm) => ({
418
- model: sm.model,
419
- thinkingLevel: sm.thinkingLevel,
420
- }));
421
- }
422
- // API key from CLI - set as a non-persistent runtime override
423
- // (handled by caller before createAgentSession)
424
- // Tools
425
- if (parsed.noTools) {
426
- options.noTools = "all";
427
- }
428
- else if (parsed.noBuiltinTools) {
429
- options.noTools = "builtin";
430
- }
431
- if (parsed.tools) {
432
- options.tools = [...parsed.tools];
433
- }
434
- if (parsed.excludeTools) {
435
- options.excludeTools = [...parsed.excludeTools];
436
- }
437
- return { options, cliThinkingFromModel, diagnostics };
438
- }
439
- function resolveCliPaths(cwd, paths) {
440
- return paths?.map((value) => (isLocalPath(value) ? resolvePath(value, cwd) : value));
441
- }
442
- async function promptForMissingSessionCwd(issue, settingsManager) {
443
- return showStartupSelector(settingsManager, formatMissingSessionCwdPrompt(issue), [
444
- { label: "Continue", value: issue.fallbackCwd },
445
- { label: "Cancel", value: undefined },
446
- ]);
447
- }
448
- export async function main(args, options) {
449
- resetTimings();
450
- const extensionFactories = [...builtInExtensions, ...(options?.extensionFactories ?? [])];
451
- const offlineMode = args.includes("--offline") || isTruthyEnvFlag(readAppEnv("OFFLINE"));
452
- if (offlineMode) {
453
- writeAppEnv("OFFLINE", "1");
454
- writeAppEnv("SKIP_VERSION_CHECK", "1");
455
- }
456
- if (await runAuthCommand(args)) {
457
- return;
458
- }
459
- if (process.platform === "win32") {
460
- cleanupWindowsSelfUpdateQuarantine(getPackageDir());
461
- }
462
- cleanupManagedInstall();
463
- const cwd = process.cwd();
464
- const agentDir = getAgentDir();
465
- const bootstrapSettingsManager = SettingsManager.create(cwd, agentDir, { projectTrusted: false });
466
- applyHttpProxySettings(bootstrapSettingsManager.getGlobalSettings().httpProxy);
467
- configureHttpDispatcher();
468
- if (await handlePackageCommand(args, { extensionFactories })) {
469
- const exitCode = process.exitCode ?? 0;
470
- if (process.platform === "win32" && exitCode === 0 && args[0] === "update") {
471
- // We normally prefer process.exit(0) for package commands so bad extensions cannot keep
472
- // one-shot commands alive. On Windows, Node can assert after fetch() if process.exit(0)
473
- // runs during teardown; let successful `pi update` drain naturally instead.
474
- // https://github.com/nodejs/node/issues/56645
475
- return;
476
- }
477
- process.exit(exitCode);
478
- return;
479
- }
480
- if (await handleConfigCommand(args, { extensionFactories })) {
481
- return;
482
- }
483
- const parsed = parseArgs(args);
484
- if (parsed.diagnostics.length > 0) {
485
- for (const d of parsed.diagnostics) {
486
- const color = d.type === "error" ? chalk.red : chalk.yellow;
487
- console.error(color(`${d.type === "error" ? "Error" : "Warning"}: ${d.message}`));
488
- }
489
- if (parsed.diagnostics.some((d) => d.type === "error")) {
490
- process.exit(1);
491
- }
492
- }
493
- time("parseArgs");
494
- if (parsed.version) {
495
- console.log(VERSION);
496
- process.exit(0);
497
- }
498
- if (parsed.export) {
499
- let result;
500
- try {
501
- const outputPath = parsed.messages.length > 0 ? parsed.messages[0] : undefined;
502
- result = await exportFromFile(parsed.export, outputPath);
503
- }
504
- catch (error) {
505
- const message = error instanceof Error ? error.message : "Failed to export session";
506
- console.error(chalk.red(`Error: ${message}`));
507
- process.exit(1);
508
- }
509
- console.log(`Exported to: ${result}`);
510
- process.exit(0);
511
- }
512
- let appMode = resolveAppMode(parsed, process.stdin.isTTY, process.stdout.isTTY);
513
- const shouldTakeOverStdout = appMode !== "interactive" && !isPlainRuntimeMetadataCommand(parsed);
514
- if (shouldTakeOverStdout) {
515
- takeOverStdout();
516
- }
517
- if (parsed.mode === "rpc" && parsed.fileArgs.length > 0) {
518
- console.error(chalk.red("Error: @file arguments are not supported in RPC mode"));
519
- process.exit(1);
520
- }
521
- validateForkFlags(parsed);
522
- validateSessionIdFlags(parsed);
523
- // Run migrations (pass cwd for project-local migrations)
524
- const { migratedAuthProviders: migratedProviders, deprecationWarnings } = runMigrations(cwd);
525
- time("runMigrations");
526
- const startupSettingsManager = SettingsManager.create(cwd, agentDir);
527
- const startupSettingsDiagnostics = collectSettingsDiagnostics(startupSettingsManager);
528
- // Experimental first-time setup: theme choice and analytics opt-in.
529
- // Runs before any runtime services are created so the chosen settings apply everywhere.
530
- if (appMode === "interactive" && !parsed.help && parsed.listModels === undefined && shouldRunFirstTimeSetup()) {
531
- await showFirstTimeSetup(startupSettingsManager);
532
- time("firstTimeSetup");
533
- }
534
- if (appMode === "interactive" && parsed.useTheme !== undefined) {
535
- startupSettingsManager.applyOverrides({ theme: parsed.useTheme });
536
- }
537
- // Decide the final runtime cwd before creating cwd-bound runtime services.
538
- // --session and --resume may select a session from another project, so project-local
539
- // settings, resources, provider registrations, and models must be resolved only after
540
- // the target session cwd is known. The startup-cwd settings manager is used only for
541
- // sessionDir lookup during session selection.
542
- const envSessionDir = process.env[ENV_SESSION_DIR] ?? process.env.PI_CODING_AGENT_SESSION_DIR;
543
- const sessionDir = (parsed.sessionDir ? normalizePath(parsed.sessionDir) : undefined) ??
544
- (envSessionDir ? expandTildePath(envSessionDir) : undefined) ??
545
- startupSettingsManager.getSessionDir();
546
- let sessionManager = await createSessionManager(parsed, cwd, sessionDir, startupSettingsManager);
547
- const missingSessionCwdIssue = getMissingSessionCwdIssue(sessionManager, cwd);
548
- if (missingSessionCwdIssue) {
549
- if (appMode === "interactive") {
550
- const selectedCwd = await promptForMissingSessionCwd(missingSessionCwdIssue, startupSettingsManager);
551
- if (!selectedCwd) {
552
- process.exit(0);
553
- }
554
- sessionManager = SessionManager.open(missingSessionCwdIssue.sessionFile, sessionDir, selectedCwd);
555
- }
556
- else {
557
- console.error(chalk.red(new MissingSessionCwdError(missingSessionCwdIssue).message));
558
- process.exit(1);
559
- }
560
- }
561
- if (parsed.name !== undefined) {
562
- const name = normalizeSessionName(parsed.name);
563
- if (name === undefined) {
564
- console.error(chalk.red("Error: --name requires a non-empty value"));
565
- process.exit(1);
566
- }
567
- sessionManager.appendSessionInfo(name);
568
- }
569
- time("createSessionManager");
570
- const trustStore = new ProjectTrustStore(agentDir);
571
- const sessionCwd = sessionManager.getCwd();
572
- const autoTrustOnReloadCwd = parsed.projectTrustOverride === undefined && !hasTrustRequiringProjectResources(sessionCwd)
573
- ? sessionCwd
574
- : undefined;
575
- const trustPromptMode = parsed.help || parsed.listModels !== undefined ? "print" : appMode;
576
- const projectTrustByCwd = new Map();
577
- const resolvedExtensionPaths = resolveCliPaths(cwd, parsed.extensions);
578
- const resolvedSkillPaths = resolveCliPaths(cwd, parsed.skills);
579
- const resolvedPromptTemplatePaths = resolveCliPaths(cwd, parsed.promptTemplates);
580
- const resolvedThemePaths = resolveCliPaths(cwd, parsed.themes);
581
- const createRuntime = async ({ cwd, agentDir, sessionManager, sessionStartEvent, projectTrustContext, }) => {
582
- const isInitialRuntime = sessionStartEvent === undefined;
583
- const projectTrustDiagnostics = [];
584
- const cachedProjectTrust = projectTrustByCwd.get(cwd);
585
- const hasTrustRequiringResources = hasTrustRequiringProjectResources(cwd);
586
- const shouldResolveProjectTrust = parsed.projectTrustOverride === undefined && cachedProjectTrust === undefined && hasTrustRequiringResources;
587
- const projectTrusted = shouldResolveProjectTrust
588
- ? false
589
- : (cachedProjectTrust ??
590
- parsed.projectTrustOverride ??
591
- (!hasTrustRequiringResources || trustStore.get(cwd) === true));
592
- const runtimeSettingsManager = SettingsManager.create(cwd, agentDir, { projectTrusted });
593
- const services = await createAgentSessionServices({
594
- cwd,
595
- agentDir,
596
- settingsManager: runtimeSettingsManager,
597
- modelRuntimeSignal: AbortSignal.timeout(15_000),
598
- extensionFlagValues: parsed.unknownFlags,
599
- resourceLoaderReloadOptions: shouldResolveProjectTrust
600
- ? {
601
- resolveProjectTrust: async ({ extensionsResult }) => {
602
- const trusted = await resolveProjectTrusted({
603
- cwd,
604
- trustStore,
605
- trustOverride: parsed.projectTrustOverride,
606
- defaultProjectTrust: startupSettingsManager.getDefaultProjectTrust(),
607
- extensionsResult,
608
- projectTrustContext: projectTrustContext ??
609
- createProjectTrustContext({
610
- cwd,
611
- mode: isInitialRuntime ? trustPromptMode : appMode,
612
- settingsManager: startupSettingsManager,
613
- hasUI: isInitialRuntime && trustPromptMode === "interactive",
614
- }),
615
- onExtensionError: (message) => projectTrustDiagnostics.push({ type: "warning", message }),
616
- });
617
- projectTrustByCwd.set(cwd, trusted);
618
- return trusted;
619
- },
620
- }
621
- : undefined,
622
- resourceLoaderOptions: {
623
- additionalExtensionPaths: resolvedExtensionPaths,
624
- additionalSkillPaths: resolvedSkillPaths,
625
- additionalPromptTemplatePaths: resolvedPromptTemplatePaths,
626
- additionalThemePaths: resolvedThemePaths,
627
- noExtensions: parsed.noExtensions,
628
- noSkills: parsed.noSkills,
629
- noPromptTemplates: parsed.noPromptTemplates,
630
- noThemes: parsed.noThemes,
631
- noContextFiles: parsed.noContextFiles,
632
- systemPrompt: parsed.systemPrompt,
633
- appendSystemPrompt: parsed.appendSystemPrompt,
634
- extensionFactories,
635
- },
636
- });
637
- const { settingsManager, modelRuntime, resourceLoader } = services;
638
- const diagnostics = [
639
- ...projectTrustDiagnostics,
640
- ...services.diagnostics,
641
- ...collectSettingsDiagnostics(settingsManager),
642
- ...resourceLoader.getExtensions().errors.map(({ path, error }) => ({
643
- type: "error",
644
- message: `Failed to load extension "${path}": ${error}`,
645
- })),
646
- ...(resourceLoader.getExtensions().warnings ?? []).map(({ path, warning }) => ({
647
- type: "warning",
648
- message: `Extension package "${path}": ${warning}`,
649
- })),
650
- ];
651
- const modelPatterns = parsed.models ?? settingsManager.getEnabledModels();
652
- const scopedModels = modelPatterns && modelPatterns.length > 0
653
- ? await resolveModelScope(modelPatterns, modelRuntime, { signal: AbortSignal.timeout(15_000) })
654
- : [];
655
- const { options: sessionOptions, cliThinkingFromModel, diagnostics: sessionOptionDiagnostics, } = buildSessionOptions(parsed, scopedModels, sessionManager.buildSessionContext().messages.length > 0, modelRuntime, settingsManager);
656
- diagnostics.push(...sessionOptionDiagnostics);
657
- if (parsed.apiKey) {
658
- if (!sessionOptions.model) {
659
- diagnostics.push({
660
- type: "error",
661
- message: "--api-key requires a model to be specified via --model, --provider/--model, or --models",
662
- });
663
- }
664
- else {
665
- await modelRuntime.setRuntimeApiKey(sessionOptions.model.provider, parsed.apiKey);
666
- }
667
- }
668
- const created = await createAgentSessionFromServices({
669
- services,
670
- sessionManager,
671
- sessionStartEvent,
672
- model: sessionOptions.model,
673
- thinkingLevel: sessionOptions.thinkingLevel,
674
- scopedModels: sessionOptions.scopedModels,
675
- tools: sessionOptions.tools,
676
- excludeTools: sessionOptions.excludeTools,
677
- noTools: sessionOptions.noTools,
678
- customTools: sessionOptions.customTools,
679
- });
680
- const cliThinkingOverride = parsed.thinking !== undefined || cliThinkingFromModel;
681
- if (created.session.model && cliThinkingOverride) {
682
- created.session.setThinkingLevel(created.session.thinkingLevel);
683
- }
684
- return {
685
- ...created,
686
- services,
687
- diagnostics,
688
- };
689
- };
690
- time("createRuntime");
691
- const runtime = await createAgentSessionRuntime(createRuntime, {
692
- cwd: sessionManager.getCwd(),
693
- agentDir,
694
- sessionManager,
695
- });
696
- time("createAgentSessionRuntime");
697
- const { services, session, modelFallbackMessage } = runtime;
698
- const { settingsManager, modelRuntime, resourceLoader } = services;
699
- setCapabilityOverrides(settingsManager.getTerminalCapabilityOverrides());
700
- applyHttpProxySettings(settingsManager.getGlobalSettings().httpProxy);
701
- configureHttpDispatcher(settingsManager.getHttpIdleTimeoutMs());
702
- if (parsed.help) {
703
- reportDiagnostics(startupSettingsDiagnostics);
704
- const extensionFlags = resourceLoader
705
- .getExtensions()
706
- .extensions.flatMap((extension) => Array.from(extension.flags.values()));
707
- printHelp(extensionFlags);
708
- process.exit(0);
709
- }
710
- if (parsed.listModels !== undefined) {
711
- reportDiagnostics(startupSettingsDiagnostics);
712
- const searchPattern = typeof parsed.listModels === "string" ? parsed.listModels : undefined;
713
- await listModels(modelRuntime, searchPattern, AbortSignal.timeout(15_000));
714
- process.exit(0);
715
- }
716
- // Read piped stdin content (if any) - skip for RPC mode which uses stdin for JSON-RPC
717
- let stdinContent;
718
- if (appMode !== "rpc") {
719
- stdinContent = await readPipedStdin();
720
- if (stdinContent !== undefined && appMode === "interactive") {
721
- appMode = "print";
722
- }
723
- }
724
- time("readPipedStdin");
725
- const { initialMessage, initialImages } = await prepareInitialMessage(parsed, stdinContent);
726
- time("prepareInitialMessage");
727
- // pi reads user-authored themes, so it opts into full validation before any theme loads.
728
- setThemeJsonValidator(validateThemeJson);
729
- initTheme(settingsManager.getTheme(), appMode === "interactive");
730
- time("initTheme");
731
- // Show deprecation warnings in interactive mode
732
- if (appMode === "interactive" && deprecationWarnings.length > 0) {
733
- await showDeprecationWarnings(deprecationWarnings);
734
- }
735
- time("resolveModelScope");
736
- const startupDiagnostics = deduplicateDiagnostics([...startupSettingsDiagnostics, ...runtime.diagnostics]);
737
- const hasRuntimeErrors = runtime.diagnostics.some((diagnostic) => diagnostic.type === "error");
738
- if (appMode !== "interactive" || hasRuntimeErrors) {
739
- reportDiagnostics(startupDiagnostics);
740
- }
741
- if (hasRuntimeErrors) {
742
- if (runtime.diagnostics.some((diagnostic) => diagnostic.message.includes("Failed to load extension"))) {
743
- console.error(chalk.yellow(EXTENSION_LOAD_FAILURE_HINT));
744
- }
745
- process.exit(1);
746
- }
747
- time("createAgentSession");
748
- if (appMode !== "interactive" && !session.model) {
749
- console.error(chalk.red(formatNoModelsAvailableMessage()));
750
- process.exit(1);
751
- }
752
- const startupBenchmark = isTruthyEnvFlag(readAppEnv("STARTUP_BENCHMARK"));
753
- if (startupBenchmark && appMode !== "interactive") {
754
- console.error(chalk.red("Error: E_STARTUP_BENCHMARK (legacy PI_STARTUP_BENCHMARK) only supports interactive mode"));
755
- process.exit(1);
756
- }
757
- // RPC refreshes catalogs here in the background; interactive mode starts its refresh after TUI initialization.
758
- if (!offlineMode && appMode === "rpc") {
759
- const controller = new AbortController();
760
- const timeout = setTimeout(() => controller.abort(), 15_000);
761
- void modelRuntime
762
- .refresh({ signal: controller.signal })
763
- .catch(() => { })
764
- .finally(() => clearTimeout(timeout));
765
- }
766
- if (appMode === "rpc") {
767
- printTimings();
768
- await runRpcMode(runtime);
769
- }
770
- else if (appMode === "interactive") {
771
- const interactiveMode = new InteractiveMode(runtime, {
772
- migratedProviders,
773
- startupDiagnostics,
774
- modelFallbackMessage,
775
- autoTrustOnReloadCwd,
776
- initialMessage,
777
- initialImages,
778
- initialMessages: parsed.messages,
779
- verbose: parsed.verbose,
780
- tuiMode: parsed.tuiMode,
781
- initialThemeSetting: parsed.useTheme,
782
- });
783
- if (startupBenchmark) {
784
- await interactiveMode.init();
785
- time("interactiveMode.init");
786
- // Give the TUI's stdin handler a brief chance to consume terminal query replies
787
- // (Kitty keyboard protocol, device attributes, cell size) before restoring the terminal.
788
- await new Promise((resolve) => setTimeout(resolve, 150));
789
- interactiveMode.stop();
790
- stopThemeWatcher();
791
- printTimings();
792
- if (process.stdout.writableLength > 0) {
793
- await new Promise((resolve) => process.stdout.once("drain", resolve));
794
- }
795
- if (process.stderr.writableLength > 0) {
796
- await new Promise((resolve) => process.stderr.once("drain", resolve));
797
- }
798
- return;
799
- }
800
- printTimings();
801
- await interactiveMode.run();
802
- }
803
- else {
804
- printTimings();
805
- const exitCode = await runPrintMode(runtime, {
806
- mode: toPrintOutputMode(appMode),
807
- messages: parsed.messages,
808
- initialMessage,
809
- initialImages,
810
- });
811
- stopThemeWatcher();
812
- restoreStdout();
813
- if (exitCode !== 0) {
814
- process.exitCode = exitCode;
815
- }
816
- return;
817
- }
818
- }
819
- //# sourceMappingURL=main.js.map