@hoilab/ada-cli 0.84.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (972) hide show
  1. package/CHANGELOG.md +5498 -0
  2. package/README.md +716 -0
  3. package/dist/bun/cli.d.ts +3 -0
  4. package/dist/bun/cli.d.ts.map +1 -0
  5. package/dist/bun/cli.js +11 -0
  6. package/dist/bun/cli.js.map +1 -0
  7. package/dist/bun/register-bedrock.d.ts +2 -0
  8. package/dist/bun/register-bedrock.d.ts.map +1 -0
  9. package/dist/bun/register-bedrock.js +4 -0
  10. package/dist/bun/register-bedrock.js.map +1 -0
  11. package/dist/bun/restore-sandbox-env.d.ts +17 -0
  12. package/dist/bun/restore-sandbox-env.d.ts.map +1 -0
  13. package/dist/bun/restore-sandbox-env.js +36 -0
  14. package/dist/bun/restore-sandbox-env.js.map +1 -0
  15. package/dist/cli/args.d.ts +60 -0
  16. package/dist/cli/args.d.ts.map +1 -0
  17. package/dist/cli/args.js +419 -0
  18. package/dist/cli/args.js.map +1 -0
  19. package/dist/cli/auth-check.d.ts +19 -0
  20. package/dist/cli/auth-check.d.ts.map +1 -0
  21. package/dist/cli/auth-check.js +50 -0
  22. package/dist/cli/auth-check.js.map +1 -0
  23. package/dist/cli/auth-command.d.ts +24 -0
  24. package/dist/cli/auth-command.d.ts.map +1 -0
  25. package/dist/cli/auth-command.js +103 -0
  26. package/dist/cli/auth-command.js.map +1 -0
  27. package/dist/cli/config-selector.d.ts +16 -0
  28. package/dist/cli/config-selector.d.ts.map +1 -0
  29. package/dist/cli/config-selector.js +31 -0
  30. package/dist/cli/config-selector.js.map +1 -0
  31. package/dist/cli/credential-print.d.ts +13 -0
  32. package/dist/cli/credential-print.d.ts.map +1 -0
  33. package/dist/cli/credential-print.js +76 -0
  34. package/dist/cli/credential-print.js.map +1 -0
  35. package/dist/cli/experimental/auth.d.ts +16 -0
  36. package/dist/cli/experimental/auth.d.ts.map +1 -0
  37. package/dist/cli/experimental/auth.js +13 -0
  38. package/dist/cli/experimental/auth.js.map +1 -0
  39. package/dist/cli/experimental/cli.d.ts +6 -0
  40. package/dist/cli/experimental/cli.d.ts.map +1 -0
  41. package/dist/cli/experimental/cli.js +5 -0
  42. package/dist/cli/experimental/cli.js.map +1 -0
  43. package/dist/cli/experimental/command-options.d.ts +17 -0
  44. package/dist/cli/experimental/command-options.d.ts.map +1 -0
  45. package/dist/cli/experimental/command-options.js +35 -0
  46. package/dist/cli/experimental/command-options.js.map +1 -0
  47. package/dist/cli/experimental/command.d.ts +63 -0
  48. package/dist/cli/experimental/command.d.ts.map +1 -0
  49. package/dist/cli/experimental/command.js +130 -0
  50. package/dist/cli/experimental/command.js.map +1 -0
  51. package/dist/cli/experimental/commands/client.d.ts +13 -0
  52. package/dist/cli/experimental/commands/client.d.ts.map +1 -0
  53. package/dist/cli/experimental/commands/client.js +25 -0
  54. package/dist/cli/experimental/commands/client.js.map +1 -0
  55. package/dist/cli/experimental/commands/pi.d.ts +15 -0
  56. package/dist/cli/experimental/commands/pi.d.ts.map +1 -0
  57. package/dist/cli/experimental/commands/pi.js +28 -0
  58. package/dist/cli/experimental/commands/pi.js.map +1 -0
  59. package/dist/cli/experimental/commands/server.d.ts +13 -0
  60. package/dist/cli/experimental/commands/server.d.ts.map +1 -0
  61. package/dist/cli/experimental/commands/server.js +25 -0
  62. package/dist/cli/experimental/commands/server.js.map +1 -0
  63. package/dist/cli/experimental/transport-address.d.ts +10 -0
  64. package/dist/cli/experimental/transport-address.d.ts.map +1 -0
  65. package/dist/cli/experimental/transport-address.js +38 -0
  66. package/dist/cli/experimental/transport-address.js.map +1 -0
  67. package/dist/cli/file-processor.d.ts +15 -0
  68. package/dist/cli/file-processor.d.ts.map +1 -0
  69. package/dist/cli/file-processor.js +70 -0
  70. package/dist/cli/file-processor.js.map +1 -0
  71. package/dist/cli/initial-message.d.ts +18 -0
  72. package/dist/cli/initial-message.d.ts.map +1 -0
  73. package/dist/cli/initial-message.js +22 -0
  74. package/dist/cli/initial-message.js.map +1 -0
  75. package/dist/cli/list-models.d.ts +9 -0
  76. package/dist/cli/list-models.d.ts.map +1 -0
  77. package/dist/cli/list-models.js +98 -0
  78. package/dist/cli/list-models.js.map +1 -0
  79. package/dist/cli/project-trust.d.ts +10 -0
  80. package/dist/cli/project-trust.d.ts.map +1 -0
  81. package/dist/cli/project-trust.js +48 -0
  82. package/dist/cli/project-trust.js.map +1 -0
  83. package/dist/cli/session-picker.d.ts +10 -0
  84. package/dist/cli/session-picker.d.ts.map +1 -0
  85. package/dist/cli/session-picker.js +36 -0
  86. package/dist/cli/session-picker.js.map +1 -0
  87. package/dist/cli/startup-ui.d.ts +20 -0
  88. package/dist/cli/startup-ui.d.ts.map +1 -0
  89. package/dist/cli/startup-ui.js +184 -0
  90. package/dist/cli/startup-ui.js.map +1 -0
  91. package/dist/cli.d.ts +3 -0
  92. package/dist/cli.d.ts.map +1 -0
  93. package/dist/cli.js +19 -0
  94. package/dist/cli.js.map +1 -0
  95. package/dist/client/index.d.ts +3 -0
  96. package/dist/client/index.d.ts.map +1 -0
  97. package/dist/client/index.js +3 -0
  98. package/dist/client/index.js.map +1 -0
  99. package/dist/client/remote-session.d.ts +53 -0
  100. package/dist/client/remote-session.d.ts.map +1 -0
  101. package/dist/client/remote-session.js +340 -0
  102. package/dist/client/remote-session.js.map +1 -0
  103. package/dist/client/transcript.d.ts +12 -0
  104. package/dist/client/transcript.d.ts.map +1 -0
  105. package/dist/client/transcript.js +98 -0
  106. package/dist/client/transcript.js.map +1 -0
  107. package/dist/config.d.ts +96 -0
  108. package/dist/config.d.ts.map +1 -0
  109. package/dist/config.js +455 -0
  110. package/dist/config.js.map +1 -0
  111. package/dist/core/agent-session-runtime.d.ts +119 -0
  112. package/dist/core/agent-session-runtime.d.ts.map +1 -0
  113. package/dist/core/agent-session-runtime.js +309 -0
  114. package/dist/core/agent-session-runtime.js.map +1 -0
  115. package/dist/core/agent-session-services.d.ts +86 -0
  116. package/dist/core/agent-session-services.d.ts.map +1 -0
  117. package/dist/core/agent-session-services.js +134 -0
  118. package/dist/core/agent-session-services.js.map +1 -0
  119. package/dist/core/agent-session.d.ts +649 -0
  120. package/dist/core/agent-session.d.ts.map +1 -0
  121. package/dist/core/agent-session.js +2687 -0
  122. package/dist/core/agent-session.js.map +1 -0
  123. package/dist/core/auth-guidance.d.ts +5 -0
  124. package/dist/core/auth-guidance.d.ts.map +1 -0
  125. package/dist/core/auth-guidance.js +21 -0
  126. package/dist/core/auth-guidance.js.map +1 -0
  127. package/dist/core/auth-storage.d.ts +72 -0
  128. package/dist/core/auth-storage.d.ts.map +1 -0
  129. package/dist/core/auth-storage.js +427 -0
  130. package/dist/core/auth-storage.js.map +1 -0
  131. package/dist/core/bash-executor.d.ts +32 -0
  132. package/dist/core/bash-executor.d.ts.map +1 -0
  133. package/dist/core/bash-executor.js +111 -0
  134. package/dist/core/bash-executor.js.map +1 -0
  135. package/dist/core/cache-stats.d.ts +49 -0
  136. package/dist/core/cache-stats.d.ts.map +1 -0
  137. package/dist/core/cache-stats.js +101 -0
  138. package/dist/core/cache-stats.js.map +1 -0
  139. package/dist/core/compaction/branch-summarization.d.ts +98 -0
  140. package/dist/core/compaction/branch-summarization.d.ts.map +1 -0
  141. package/dist/core/compaction/branch-summarization.js +246 -0
  142. package/dist/core/compaction/branch-summarization.js.map +1 -0
  143. package/dist/core/compaction/compaction.d.ts +137 -0
  144. package/dist/core/compaction/compaction.d.ts.map +1 -0
  145. package/dist/core/compaction/compaction.js +645 -0
  146. package/dist/core/compaction/compaction.js.map +1 -0
  147. package/dist/core/compaction/index.d.ts +7 -0
  148. package/dist/core/compaction/index.d.ts.map +1 -0
  149. package/dist/core/compaction/index.js +7 -0
  150. package/dist/core/compaction/index.js.map +1 -0
  151. package/dist/core/compaction/utils.d.ts +38 -0
  152. package/dist/core/compaction/utils.d.ts.map +1 -0
  153. package/dist/core/compaction/utils.js +142 -0
  154. package/dist/core/compaction/utils.js.map +1 -0
  155. package/dist/core/defaults.d.ts +3 -0
  156. package/dist/core/defaults.d.ts.map +1 -0
  157. package/dist/core/defaults.js +2 -0
  158. package/dist/core/defaults.js.map +1 -0
  159. package/dist/core/diagnostics.d.ts +15 -0
  160. package/dist/core/diagnostics.d.ts.map +1 -0
  161. package/dist/core/diagnostics.js +2 -0
  162. package/dist/core/diagnostics.js.map +1 -0
  163. package/dist/core/event-bus.d.ts +9 -0
  164. package/dist/core/event-bus.d.ts.map +1 -0
  165. package/dist/core/event-bus.js +25 -0
  166. package/dist/core/event-bus.js.map +1 -0
  167. package/dist/core/exec.d.ts +29 -0
  168. package/dist/core/exec.d.ts.map +1 -0
  169. package/dist/core/exec.js +75 -0
  170. package/dist/core/exec.js.map +1 -0
  171. package/dist/core/experimental.d.ts +6 -0
  172. package/dist/core/experimental.d.ts.map +1 -0
  173. package/dist/core/experimental.js +8 -0
  174. package/dist/core/experimental.js.map +1 -0
  175. package/dist/core/export-html/ansi-to-html.d.ts +22 -0
  176. package/dist/core/export-html/ansi-to-html.d.ts.map +1 -0
  177. package/dist/core/export-html/ansi-to-html.js +249 -0
  178. package/dist/core/export-html/ansi-to-html.js.map +1 -0
  179. package/dist/core/export-html/index.d.ts +37 -0
  180. package/dist/core/export-html/index.d.ts.map +1 -0
  181. package/dist/core/export-html/index.js +226 -0
  182. package/dist/core/export-html/index.js.map +1 -0
  183. package/dist/core/export-html/template.css +1066 -0
  184. package/dist/core/export-html/template.html +55 -0
  185. package/dist/core/export-html/template.js +1864 -0
  186. package/dist/core/export-html/tool-renderer.d.ts +34 -0
  187. package/dist/core/export-html/tool-renderer.d.ts.map +1 -0
  188. package/dist/core/export-html/tool-renderer.js +108 -0
  189. package/dist/core/export-html/tool-renderer.js.map +1 -0
  190. package/dist/core/export-html/vendor/highlight.min.js +1213 -0
  191. package/dist/core/export-html/vendor/marked.min.js +78 -0
  192. package/dist/core/extensions/index.d.ts +12 -0
  193. package/dist/core/extensions/index.d.ts.map +1 -0
  194. package/dist/core/extensions/index.js +9 -0
  195. package/dist/core/extensions/index.js.map +1 -0
  196. package/dist/core/extensions/loader.d.ts +23 -0
  197. package/dist/core/extensions/loader.d.ts.map +1 -0
  198. package/dist/core/extensions/loader.js +581 -0
  199. package/dist/core/extensions/loader.js.map +1 -0
  200. package/dist/core/extensions/runner.d.ts +173 -0
  201. package/dist/core/extensions/runner.d.ts.map +1 -0
  202. package/dist/core/extensions/runner.js +967 -0
  203. package/dist/core/extensions/runner.js.map +1 -0
  204. package/dist/core/extensions/types.d.ts +1299 -0
  205. package/dist/core/extensions/types.d.ts.map +1 -0
  206. package/dist/core/extensions/types.js +45 -0
  207. package/dist/core/extensions/types.js.map +1 -0
  208. package/dist/core/extensions/wrapper.d.ts +20 -0
  209. package/dist/core/extensions/wrapper.d.ts.map +1 -0
  210. package/dist/core/extensions/wrapper.js +41 -0
  211. package/dist/core/extensions/wrapper.js.map +1 -0
  212. package/dist/core/footer-data-provider.d.ts +64 -0
  213. package/dist/core/footer-data-provider.d.ts.map +1 -0
  214. package/dist/core/footer-data-provider.js +338 -0
  215. package/dist/core/footer-data-provider.js.map +1 -0
  216. package/dist/core/http-dispatcher.d.ts +22 -0
  217. package/dist/core/http-dispatcher.d.ts.map +1 -0
  218. package/dist/core/http-dispatcher.js +96 -0
  219. package/dist/core/http-dispatcher.js.map +1 -0
  220. package/dist/core/index.d.ts +13 -0
  221. package/dist/core/index.d.ts.map +1 -0
  222. package/dist/core/index.js +13 -0
  223. package/dist/core/index.js.map +1 -0
  224. package/dist/core/keybindings.d.ts +422 -0
  225. package/dist/core/keybindings.d.ts.map +1 -0
  226. package/dist/core/keybindings.js +296 -0
  227. package/dist/core/keybindings.js.map +1 -0
  228. package/dist/core/messages.d.ts +77 -0
  229. package/dist/core/messages.d.ts.map +1 -0
  230. package/dist/core/messages.js +123 -0
  231. package/dist/core/messages.js.map +1 -0
  232. package/dist/core/model-config.d.ts +571 -0
  233. package/dist/core/model-config.d.ts.map +1 -0
  234. package/dist/core/model-config.js +254 -0
  235. package/dist/core/model-config.js.map +1 -0
  236. package/dist/core/model-registry.d.ts +45 -0
  237. package/dist/core/model-registry.d.ts.map +1 -0
  238. package/dist/core/model-registry.js +107 -0
  239. package/dist/core/model-registry.js.map +1 -0
  240. package/dist/core/model-resolver.d.ts +123 -0
  241. package/dist/core/model-resolver.d.ts.map +1 -0
  242. package/dist/core/model-resolver.js +583 -0
  243. package/dist/core/model-resolver.js.map +1 -0
  244. package/dist/core/model-runtime.d.ts +100 -0
  245. package/dist/core/model-runtime.d.ts.map +1 -0
  246. package/dist/core/model-runtime.js +599 -0
  247. package/dist/core/model-runtime.js.map +1 -0
  248. package/dist/core/models-store.d.ts +22 -0
  249. package/dist/core/models-store.d.ts.map +1 -0
  250. package/dist/core/models-store.js +114 -0
  251. package/dist/core/models-store.js.map +1 -0
  252. package/dist/core/output-guard.d.ts +7 -0
  253. package/dist/core/output-guard.d.ts.map +1 -0
  254. package/dist/core/output-guard.js +89 -0
  255. package/dist/core/output-guard.js.map +1 -0
  256. package/dist/core/package-manager.d.ts +213 -0
  257. package/dist/core/package-manager.d.ts.map +1 -0
  258. package/dist/core/package-manager.js +2169 -0
  259. package/dist/core/package-manager.js.map +1 -0
  260. package/dist/core/pi-manifest.d.ts +8 -0
  261. package/dist/core/pi-manifest.d.ts.map +1 -0
  262. package/dist/core/pi-manifest.js +25 -0
  263. package/dist/core/pi-manifest.js.map +1 -0
  264. package/dist/core/project-trust.d.ts +15 -0
  265. package/dist/core/project-trust.d.ts.map +1 -0
  266. package/dist/core/project-trust.js +59 -0
  267. package/dist/core/project-trust.js.map +1 -0
  268. package/dist/core/prompt-templates.d.ts +54 -0
  269. package/dist/core/prompt-templates.d.ts.map +1 -0
  270. package/dist/core/prompt-templates.js +236 -0
  271. package/dist/core/prompt-templates.js.map +1 -0
  272. package/dist/core/provider-attribution.d.ts +4 -0
  273. package/dist/core/provider-attribution.d.ts.map +1 -0
  274. package/dist/core/provider-attribution.js +72 -0
  275. package/dist/core/provider-attribution.js.map +1 -0
  276. package/dist/core/provider-composer.d.ts +58 -0
  277. package/dist/core/provider-composer.d.ts.map +1 -0
  278. package/dist/core/provider-composer.js +396 -0
  279. package/dist/core/provider-composer.js.map +1 -0
  280. package/dist/core/radius.d.ts +2 -0
  281. package/dist/core/radius.d.ts.map +1 -0
  282. package/dist/core/radius.js +2 -0
  283. package/dist/core/radius.js.map +1 -0
  284. package/dist/core/remote-catalog-provider.d.ts +5 -0
  285. package/dist/core/remote-catalog-provider.d.ts.map +1 -0
  286. package/dist/core/remote-catalog-provider.js +121 -0
  287. package/dist/core/remote-catalog-provider.js.map +1 -0
  288. package/dist/core/resolve-config-value.d.ts +30 -0
  289. package/dist/core/resolve-config-value.d.ts.map +1 -0
  290. package/dist/core/resolve-config-value.js +247 -0
  291. package/dist/core/resolve-config-value.js.map +1 -0
  292. package/dist/core/resource-loader.d.ts +221 -0
  293. package/dist/core/resource-loader.d.ts.map +1 -0
  294. package/dist/core/resource-loader.js +874 -0
  295. package/dist/core/resource-loader.js.map +1 -0
  296. package/dist/core/runtime-credentials.d.ts +15 -0
  297. package/dist/core/runtime-credentials.d.ts.map +1 -0
  298. package/dist/core/runtime-credentials.js +39 -0
  299. package/dist/core/runtime-credentials.js.map +1 -0
  300. package/dist/core/sdk.d.ts +108 -0
  301. package/dist/core/sdk.d.ts.map +1 -0
  302. package/dist/core/sdk.js +268 -0
  303. package/dist/core/sdk.js.map +1 -0
  304. package/dist/core/session-cwd.d.ts +19 -0
  305. package/dist/core/session-cwd.d.ts.map +1 -0
  306. package/dist/core/session-cwd.js +38 -0
  307. package/dist/core/session-cwd.js.map +1 -0
  308. package/dist/core/session-manager.d.ts +356 -0
  309. package/dist/core/session-manager.d.ts.map +1 -0
  310. package/dist/core/session-manager.js +1340 -0
  311. package/dist/core/session-manager.js.map +1 -0
  312. package/dist/core/settings-manager.d.ts +315 -0
  313. package/dist/core/settings-manager.d.ts.map +1 -0
  314. package/dist/core/settings-manager.js +938 -0
  315. package/dist/core/settings-manager.js.map +1 -0
  316. package/dist/core/skills.d.ts +60 -0
  317. package/dist/core/skills.d.ts.map +1 -0
  318. package/dist/core/skills.js +387 -0
  319. package/dist/core/skills.js.map +1 -0
  320. package/dist/core/slash-commands.d.ts +15 -0
  321. package/dist/core/slash-commands.d.ts.map +1 -0
  322. package/dist/core/slash-commands.js +26 -0
  323. package/dist/core/slash-commands.js.map +1 -0
  324. package/dist/core/source-info.d.ts +18 -0
  325. package/dist/core/source-info.d.ts.map +1 -0
  326. package/dist/core/source-info.js +19 -0
  327. package/dist/core/source-info.js.map +1 -0
  328. package/dist/core/system-prompt.d.ts +28 -0
  329. package/dist/core/system-prompt.d.ts.map +1 -0
  330. package/dist/core/system-prompt.js +110 -0
  331. package/dist/core/system-prompt.js.map +1 -0
  332. package/dist/core/telemetry.d.ts +3 -0
  333. package/dist/core/telemetry.d.ts.map +1 -0
  334. package/dist/core/telemetry.js +9 -0
  335. package/dist/core/telemetry.js.map +1 -0
  336. package/dist/core/timings.d.ts +10 -0
  337. package/dist/core/timings.d.ts.map +1 -0
  338. package/dist/core/timings.js +41 -0
  339. package/dist/core/timings.js.map +1 -0
  340. package/dist/core/tools/bash.d.ts +74 -0
  341. package/dist/core/tools/bash.d.ts.map +1 -0
  342. package/dist/core/tools/bash.js +394 -0
  343. package/dist/core/tools/bash.js.map +1 -0
  344. package/dist/core/tools/edit-diff.d.ts +106 -0
  345. package/dist/core/tools/edit-diff.d.ts.map +1 -0
  346. package/dist/core/tools/edit-diff.js +424 -0
  347. package/dist/core/tools/edit-diff.js.map +1 -0
  348. package/dist/core/tools/edit.d.ts +55 -0
  349. package/dist/core/tools/edit.d.ts.map +1 -0
  350. package/dist/core/tools/edit.js +290 -0
  351. package/dist/core/tools/edit.js.map +1 -0
  352. package/dist/core/tools/file-mutation-queue.d.ts +6 -0
  353. package/dist/core/tools/file-mutation-queue.d.ts.map +1 -0
  354. package/dist/core/tools/file-mutation-queue.js +52 -0
  355. package/dist/core/tools/file-mutation-queue.js.map +1 -0
  356. package/dist/core/tools/find.d.ts +42 -0
  357. package/dist/core/tools/find.d.ts.map +1 -0
  358. package/dist/core/tools/find.js +302 -0
  359. package/dist/core/tools/find.js.map +1 -0
  360. package/dist/core/tools/grep.d.ts +41 -0
  361. package/dist/core/tools/grep.d.ts.map +1 -0
  362. package/dist/core/tools/grep.js +308 -0
  363. package/dist/core/tools/grep.js.map +1 -0
  364. package/dist/core/tools/index.d.ts +40 -0
  365. package/dist/core/tools/index.d.ts.map +1 -0
  366. package/dist/core/tools/index.js +112 -0
  367. package/dist/core/tools/index.js.map +1 -0
  368. package/dist/core/tools/ls.d.ts +41 -0
  369. package/dist/core/tools/ls.d.ts.map +1 -0
  370. package/dist/core/tools/ls.js +171 -0
  371. package/dist/core/tools/ls.js.map +1 -0
  372. package/dist/core/tools/output-accumulator.d.ts +52 -0
  373. package/dist/core/tools/output-accumulator.d.ts.map +1 -0
  374. package/dist/core/tools/output-accumulator.js +184 -0
  375. package/dist/core/tools/output-accumulator.js.map +1 -0
  376. package/dist/core/tools/path-utils.d.ts +10 -0
  377. package/dist/core/tools/path-utils.d.ts.map +1 -0
  378. package/dist/core/tools/path-utils.js +99 -0
  379. package/dist/core/tools/path-utils.js.map +1 -0
  380. package/dist/core/tools/read.d.ts +39 -0
  381. package/dist/core/tools/read.d.ts.map +1 -0
  382. package/dist/core/tools/read.js +282 -0
  383. package/dist/core/tools/read.js.map +1 -0
  384. package/dist/core/tools/render-utils.d.ts +24 -0
  385. package/dist/core/tools/render-utils.d.ts.map +1 -0
  386. package/dist/core/tools/render-utils.js +65 -0
  387. package/dist/core/tools/render-utils.js.map +1 -0
  388. package/dist/core/tools/tool-definition-wrapper.d.ts +14 -0
  389. package/dist/core/tools/tool-definition-wrapper.d.ts.map +1 -0
  390. package/dist/core/tools/tool-definition-wrapper.js +36 -0
  391. package/dist/core/tools/tool-definition-wrapper.js.map +1 -0
  392. package/dist/core/tools/truncate.d.ts +70 -0
  393. package/dist/core/tools/truncate.d.ts.map +1 -0
  394. package/dist/core/tools/truncate.js +215 -0
  395. package/dist/core/tools/truncate.js.map +1 -0
  396. package/dist/core/tools/write.d.ts +30 -0
  397. package/dist/core/tools/write.d.ts.map +1 -0
  398. package/dist/core/tools/write.js +203 -0
  399. package/dist/core/tools/write.js.map +1 -0
  400. package/dist/core/trust-manager.d.ts +36 -0
  401. package/dist/core/trust-manager.d.ts.map +1 -0
  402. package/dist/core/trust-manager.js +202 -0
  403. package/dist/core/trust-manager.js.map +1 -0
  404. package/dist/core/usage-totals.d.ts +19 -0
  405. package/dist/core/usage-totals.d.ts.map +1 -0
  406. package/dist/core/usage-totals.js +52 -0
  407. package/dist/core/usage-totals.js.map +1 -0
  408. package/dist/extensions/index.d.ts +3 -0
  409. package/dist/extensions/index.d.ts.map +1 -0
  410. package/dist/extensions/index.js +3 -0
  411. package/dist/extensions/index.js.map +1 -0
  412. package/dist/extensions/llama/client.d.ts +61 -0
  413. package/dist/extensions/llama/client.d.ts.map +1 -0
  414. package/dist/extensions/llama/client.js +302 -0
  415. package/dist/extensions/llama/client.js.map +1 -0
  416. package/dist/extensions/llama/huggingface.d.ts +23 -0
  417. package/dist/extensions/llama/huggingface.d.ts.map +1 -0
  418. package/dist/extensions/llama/huggingface.js +141 -0
  419. package/dist/extensions/llama/huggingface.js.map +1 -0
  420. package/dist/extensions/llama/index.d.ts +3 -0
  421. package/dist/extensions/llama/index.d.ts.map +1 -0
  422. package/dist/extensions/llama/index.js +217 -0
  423. package/dist/extensions/llama/index.js.map +1 -0
  424. package/dist/extensions/llama/provider.d.ts +10 -0
  425. package/dist/extensions/llama/provider.d.ts.map +1 -0
  426. package/dist/extensions/llama/provider.js +121 -0
  427. package/dist/extensions/llama/provider.js.map +1 -0
  428. package/dist/extensions/llama/ui.d.ts +42 -0
  429. package/dist/extensions/llama/ui.d.ts.map +1 -0
  430. package/dist/extensions/llama/ui.js +416 -0
  431. package/dist/extensions/llama/ui.js.map +1 -0
  432. package/dist/index.d.ts +35 -0
  433. package/dist/index.d.ts.map +1 -0
  434. package/dist/index.js +47 -0
  435. package/dist/index.js.map +1 -0
  436. package/dist/main.d.ts +12 -0
  437. package/dist/main.d.ts.map +1 -0
  438. package/dist/main.js +796 -0
  439. package/dist/main.js.map +1 -0
  440. package/dist/migrations.d.ts +33 -0
  441. package/dist/migrations.d.ts.map +1 -0
  442. package/dist/migrations.js +281 -0
  443. package/dist/migrations.js.map +1 -0
  444. package/dist/modes/index.d.ts +10 -0
  445. package/dist/modes/index.d.ts.map +1 -0
  446. package/dist/modes/index.js +8 -0
  447. package/dist/modes/index.js.map +1 -0
  448. package/dist/modes/interactive/assets/clankolas.png +0 -0
  449. package/dist/modes/interactive/components/armin.d.ts +34 -0
  450. package/dist/modes/interactive/components/armin.d.ts.map +1 -0
  451. package/dist/modes/interactive/components/armin.js +333 -0
  452. package/dist/modes/interactive/components/armin.js.map +1 -0
  453. package/dist/modes/interactive/components/assistant-message.d.ts +25 -0
  454. package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -0
  455. package/dist/modes/interactive/components/assistant-message.js +150 -0
  456. package/dist/modes/interactive/components/assistant-message.js.map +1 -0
  457. package/dist/modes/interactive/components/bash-execution.d.ts +34 -0
  458. package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -0
  459. package/dist/modes/interactive/components/bash-execution.js +175 -0
  460. package/dist/modes/interactive/components/bash-execution.js.map +1 -0
  461. package/dist/modes/interactive/components/bordered-loader.d.ts +16 -0
  462. package/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -0
  463. package/dist/modes/interactive/components/bordered-loader.js +54 -0
  464. package/dist/modes/interactive/components/bordered-loader.js.map +1 -0
  465. package/dist/modes/interactive/components/branch-summary-message.d.ts +16 -0
  466. package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -0
  467. package/dist/modes/interactive/components/branch-summary-message.js +44 -0
  468. package/dist/modes/interactive/components/branch-summary-message.js.map +1 -0
  469. package/dist/modes/interactive/components/compaction-summary-message.d.ts +16 -0
  470. package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -0
  471. package/dist/modes/interactive/components/compaction-summary-message.js +45 -0
  472. package/dist/modes/interactive/components/compaction-summary-message.js.map +1 -0
  473. package/dist/modes/interactive/components/config-selector.d.ts +102 -0
  474. package/dist/modes/interactive/components/config-selector.d.ts.map +1 -0
  475. package/dist/modes/interactive/components/config-selector.js +761 -0
  476. package/dist/modes/interactive/components/config-selector.js.map +1 -0
  477. package/dist/modes/interactive/components/countdown-timer.d.ts +14 -0
  478. package/dist/modes/interactive/components/countdown-timer.d.ts.map +1 -0
  479. package/dist/modes/interactive/components/countdown-timer.js +33 -0
  480. package/dist/modes/interactive/components/countdown-timer.js.map +1 -0
  481. package/dist/modes/interactive/components/custom-editor.d.ts +21 -0
  482. package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -0
  483. package/dist/modes/interactive/components/custom-editor.js +77 -0
  484. package/dist/modes/interactive/components/custom-editor.js.map +1 -0
  485. package/dist/modes/interactive/components/custom-entry.d.ts +19 -0
  486. package/dist/modes/interactive/components/custom-entry.d.ts.map +1 -0
  487. package/dist/modes/interactive/components/custom-entry.js +52 -0
  488. package/dist/modes/interactive/components/custom-entry.js.map +1 -0
  489. package/dist/modes/interactive/components/custom-message.d.ts +22 -0
  490. package/dist/modes/interactive/components/custom-message.d.ts.map +1 -0
  491. package/dist/modes/interactive/components/custom-message.js +87 -0
  492. package/dist/modes/interactive/components/custom-message.js.map +1 -0
  493. package/dist/modes/interactive/components/daxnuts.d.ts +23 -0
  494. package/dist/modes/interactive/components/daxnuts.d.ts.map +1 -0
  495. package/dist/modes/interactive/components/daxnuts.js +140 -0
  496. package/dist/modes/interactive/components/daxnuts.js.map +1 -0
  497. package/dist/modes/interactive/components/diff.d.ts +12 -0
  498. package/dist/modes/interactive/components/diff.d.ts.map +1 -0
  499. package/dist/modes/interactive/components/diff.js +133 -0
  500. package/dist/modes/interactive/components/diff.js.map +1 -0
  501. package/dist/modes/interactive/components/dynamic-border.d.ts +15 -0
  502. package/dist/modes/interactive/components/dynamic-border.d.ts.map +1 -0
  503. package/dist/modes/interactive/components/dynamic-border.js +21 -0
  504. package/dist/modes/interactive/components/dynamic-border.js.map +1 -0
  505. package/dist/modes/interactive/components/earendil-announcement.d.ts +5 -0
  506. package/dist/modes/interactive/components/earendil-announcement.d.ts.map +1 -0
  507. package/dist/modes/interactive/components/earendil-announcement.js +40 -0
  508. package/dist/modes/interactive/components/earendil-announcement.js.map +1 -0
  509. package/dist/modes/interactive/components/extension-editor.d.ts +21 -0
  510. package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -0
  511. package/dist/modes/interactive/components/extension-editor.js +98 -0
  512. package/dist/modes/interactive/components/extension-editor.js.map +1 -0
  513. package/dist/modes/interactive/components/extension-input.d.ts +23 -0
  514. package/dist/modes/interactive/components/extension-input.d.ts.map +1 -0
  515. package/dist/modes/interactive/components/extension-input.js +61 -0
  516. package/dist/modes/interactive/components/extension-input.js.map +1 -0
  517. package/dist/modes/interactive/components/extension-selector.d.ts +26 -0
  518. package/dist/modes/interactive/components/extension-selector.d.ts.map +1 -0
  519. package/dist/modes/interactive/components/extension-selector.js +83 -0
  520. package/dist/modes/interactive/components/extension-selector.js.map +1 -0
  521. package/dist/modes/interactive/components/first-time-setup.d.ts +25 -0
  522. package/dist/modes/interactive/components/first-time-setup.d.ts.map +1 -0
  523. package/dist/modes/interactive/components/first-time-setup.js +103 -0
  524. package/dist/modes/interactive/components/first-time-setup.js.map +1 -0
  525. package/dist/modes/interactive/components/footer.d.ts +32 -0
  526. package/dist/modes/interactive/components/footer.d.ts.map +1 -0
  527. package/dist/modes/interactive/components/footer.js +222 -0
  528. package/dist/modes/interactive/components/footer.js.map +1 -0
  529. package/dist/modes/interactive/components/index.d.ts +34 -0
  530. package/dist/modes/interactive/components/index.d.ts.map +1 -0
  531. package/dist/modes/interactive/components/index.js +35 -0
  532. package/dist/modes/interactive/components/index.js.map +1 -0
  533. package/dist/modes/interactive/components/keybinding-hints.d.ts +13 -0
  534. package/dist/modes/interactive/components/keybinding-hints.d.ts.map +1 -0
  535. package/dist/modes/interactive/components/keybinding-hints.js +36 -0
  536. package/dist/modes/interactive/components/keybinding-hints.js.map +1 -0
  537. package/dist/modes/interactive/components/login-dialog.d.ts +52 -0
  538. package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -0
  539. package/dist/modes/interactive/components/login-dialog.js +188 -0
  540. package/dist/modes/interactive/components/login-dialog.js.map +1 -0
  541. package/dist/modes/interactive/components/markdown-transform.d.ts +3 -0
  542. package/dist/modes/interactive/components/markdown-transform.d.ts.map +1 -0
  543. package/dist/modes/interactive/components/markdown-transform.js +19 -0
  544. package/dist/modes/interactive/components/markdown-transform.js.map +1 -0
  545. package/dist/modes/interactive/components/mermaid.d.ts +11 -0
  546. package/dist/modes/interactive/components/mermaid.d.ts.map +1 -0
  547. package/dist/modes/interactive/components/mermaid.js +75 -0
  548. package/dist/modes/interactive/components/mermaid.js.map +1 -0
  549. package/dist/modes/interactive/components/model-selector.d.ts +54 -0
  550. package/dist/modes/interactive/components/model-selector.d.ts.map +1 -0
  551. package/dist/modes/interactive/components/model-selector.js +326 -0
  552. package/dist/modes/interactive/components/model-selector.js.map +1 -0
  553. package/dist/modes/interactive/components/oauth-selector.d.ts +33 -0
  554. package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -0
  555. package/dist/modes/interactive/components/oauth-selector.js +163 -0
  556. package/dist/modes/interactive/components/oauth-selector.js.map +1 -0
  557. package/dist/modes/interactive/components/scoped-models-selector.d.ts +46 -0
  558. package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -0
  559. package/dist/modes/interactive/components/scoped-models-selector.js +328 -0
  560. package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -0
  561. package/dist/modes/interactive/components/session-selector-search.d.ts +23 -0
  562. package/dist/modes/interactive/components/session-selector-search.d.ts.map +1 -0
  563. package/dist/modes/interactive/components/session-selector-search.js +155 -0
  564. package/dist/modes/interactive/components/session-selector-search.js.map +1 -0
  565. package/dist/modes/interactive/components/session-selector.d.ts +95 -0
  566. package/dist/modes/interactive/components/session-selector.d.ts.map +1 -0
  567. package/dist/modes/interactive/components/session-selector.js +867 -0
  568. package/dist/modes/interactive/components/session-selector.js.map +1 -0
  569. package/dist/modes/interactive/components/settings-selector.d.ts +85 -0
  570. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -0
  571. package/dist/modes/interactive/components/settings-selector.js +633 -0
  572. package/dist/modes/interactive/components/settings-selector.js.map +1 -0
  573. package/dist/modes/interactive/components/show-images-selector.d.ts +10 -0
  574. package/dist/modes/interactive/components/show-images-selector.d.ts.map +1 -0
  575. package/dist/modes/interactive/components/show-images-selector.js +39 -0
  576. package/dist/modes/interactive/components/show-images-selector.js.map +1 -0
  577. package/dist/modes/interactive/components/skill-invocation-message.d.ts +17 -0
  578. package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -0
  579. package/dist/modes/interactive/components/skill-invocation-message.js +47 -0
  580. package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -0
  581. package/dist/modes/interactive/components/status-indicator.d.ts +28 -0
  582. package/dist/modes/interactive/components/status-indicator.d.ts.map +1 -0
  583. package/dist/modes/interactive/components/status-indicator.js +60 -0
  584. package/dist/modes/interactive/components/status-indicator.js.map +1 -0
  585. package/dist/modes/interactive/components/theme-selector.d.ts +11 -0
  586. package/dist/modes/interactive/components/theme-selector.d.ts.map +1 -0
  587. package/dist/modes/interactive/components/theme-selector.js +50 -0
  588. package/dist/modes/interactive/components/theme-selector.js.map +1 -0
  589. package/dist/modes/interactive/components/thinking-selector.d.ts +11 -0
  590. package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -0
  591. package/dist/modes/interactive/components/thinking-selector.js +52 -0
  592. package/dist/modes/interactive/components/thinking-selector.js.map +1 -0
  593. package/dist/modes/interactive/components/tool-execution.d.ts +63 -0
  594. package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -0
  595. package/dist/modes/interactive/components/tool-execution.js +326 -0
  596. package/dist/modes/interactive/components/tool-execution.js.map +1 -0
  597. package/dist/modes/interactive/components/tree-selector.d.ts +94 -0
  598. package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -0
  599. package/dist/modes/interactive/components/tree-selector.js +1245 -0
  600. package/dist/modes/interactive/components/tree-selector.js.map +1 -0
  601. package/dist/modes/interactive/components/trust-selector.d.ts +23 -0
  602. package/dist/modes/interactive/components/trust-selector.d.ts.map +1 -0
  603. package/dist/modes/interactive/components/trust-selector.js +91 -0
  604. package/dist/modes/interactive/components/trust-selector.js.map +1 -0
  605. package/dist/modes/interactive/components/user-message-selector.d.ts +30 -0
  606. package/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -0
  607. package/dist/modes/interactive/components/user-message-selector.js +114 -0
  608. package/dist/modes/interactive/components/user-message-selector.js.map +1 -0
  609. package/dist/modes/interactive/components/user-message.d.ts +16 -0
  610. package/dist/modes/interactive/components/user-message.d.ts.map +1 -0
  611. package/dist/modes/interactive/components/user-message.js +49 -0
  612. package/dist/modes/interactive/components/user-message.js.map +1 -0
  613. package/dist/modes/interactive/components/visual-truncate.d.ts +24 -0
  614. package/dist/modes/interactive/components/visual-truncate.d.ts.map +1 -0
  615. package/dist/modes/interactive/components/visual-truncate.js +33 -0
  616. package/dist/modes/interactive/components/visual-truncate.js.map +1 -0
  617. package/dist/modes/interactive/external-editor.d.ts +12 -0
  618. package/dist/modes/interactive/external-editor.d.ts.map +1 -0
  619. package/dist/modes/interactive/external-editor.js +37 -0
  620. package/dist/modes/interactive/external-editor.js.map +1 -0
  621. package/dist/modes/interactive/interactive-mode.d.ts +435 -0
  622. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -0
  623. package/dist/modes/interactive/interactive-mode.js +5438 -0
  624. package/dist/modes/interactive/interactive-mode.js.map +1 -0
  625. package/dist/modes/interactive/model-catalog-refresh.d.ts +7 -0
  626. package/dist/modes/interactive/model-catalog-refresh.d.ts.map +1 -0
  627. package/dist/modes/interactive/model-catalog-refresh.js +34 -0
  628. package/dist/modes/interactive/model-catalog-refresh.js.map +1 -0
  629. package/dist/modes/interactive/model-search.d.ts +12 -0
  630. package/dist/modes/interactive/model-search.d.ts.map +1 -0
  631. package/dist/modes/interactive/model-search.js +15 -0
  632. package/dist/modes/interactive/model-search.js.map +1 -0
  633. package/dist/modes/interactive/theme/dark.json +90 -0
  634. package/dist/modes/interactive/theme/light.json +89 -0
  635. package/dist/modes/interactive/theme/theme-controller.d.ts +40 -0
  636. package/dist/modes/interactive/theme/theme-controller.d.ts.map +1 -0
  637. package/dist/modes/interactive/theme/theme-controller.js +125 -0
  638. package/dist/modes/interactive/theme/theme-controller.js.map +1 -0
  639. package/dist/modes/interactive/theme/theme-schema.json +352 -0
  640. package/dist/modes/interactive/theme/theme.d.ts +122 -0
  641. package/dist/modes/interactive/theme/theme.d.ts.map +1 -0
  642. package/dist/modes/interactive/theme/theme.js +1091 -0
  643. package/dist/modes/interactive/theme/theme.js.map +1 -0
  644. package/dist/modes/json-event.d.ts +31 -0
  645. package/dist/modes/json-event.d.ts.map +1 -0
  646. package/dist/modes/json-event.js +15 -0
  647. package/dist/modes/json-event.js.map +1 -0
  648. package/dist/modes/print-mode.d.ts +28 -0
  649. package/dist/modes/print-mode.d.ts.map +1 -0
  650. package/dist/modes/print-mode.js +142 -0
  651. package/dist/modes/print-mode.js.map +1 -0
  652. package/dist/modes/rpc/jsonl.d.ts +17 -0
  653. package/dist/modes/rpc/jsonl.d.ts.map +1 -0
  654. package/dist/modes/rpc/jsonl.js +49 -0
  655. package/dist/modes/rpc/jsonl.js.map +1 -0
  656. package/dist/modes/rpc/rpc-client.d.ts +247 -0
  657. package/dist/modes/rpc/rpc-client.d.ts.map +1 -0
  658. package/dist/modes/rpc/rpc-client.js +488 -0
  659. package/dist/modes/rpc/rpc-client.js.map +1 -0
  660. package/dist/modes/rpc/rpc-mode.d.ts +20 -0
  661. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -0
  662. package/dist/modes/rpc/rpc-mode.js +654 -0
  663. package/dist/modes/rpc/rpc-mode.js.map +1 -0
  664. package/dist/modes/rpc/rpc-types.d.ts +457 -0
  665. package/dist/modes/rpc/rpc-types.d.ts.map +1 -0
  666. package/dist/modes/rpc/rpc-types.js +8 -0
  667. package/dist/modes/rpc/rpc-types.js.map +1 -0
  668. package/dist/package-manager-cli.d.ts +8 -0
  669. package/dist/package-manager-cli.d.ts.map +1 -0
  670. package/dist/package-manager-cli.js +777 -0
  671. package/dist/package-manager-cli.js.map +1 -0
  672. package/dist/rpc-entry.d.ts +3 -0
  673. package/dist/rpc-entry.d.ts.map +1 -0
  674. package/dist/rpc-entry.js +11 -0
  675. package/dist/rpc-entry.js.map +1 -0
  676. package/dist/server/create-harness.d.ts +26 -0
  677. package/dist/server/create-harness.d.ts.map +1 -0
  678. package/dist/server/create-harness.js +106 -0
  679. package/dist/server/create-harness.js.map +1 -0
  680. package/dist/utils/abort.d.ts +5 -0
  681. package/dist/utils/abort.d.ts.map +1 -0
  682. package/dist/utils/abort.js +48 -0
  683. package/dist/utils/abort.js.map +1 -0
  684. package/dist/utils/ansi.d.ts +2 -0
  685. package/dist/utils/ansi.d.ts.map +1 -0
  686. package/dist/utils/ansi.js +52 -0
  687. package/dist/utils/ansi.js.map +1 -0
  688. package/dist/utils/changelog.d.ts +22 -0
  689. package/dist/utils/changelog.d.ts.map +1 -0
  690. package/dist/utils/changelog.js +165 -0
  691. package/dist/utils/changelog.js.map +1 -0
  692. package/dist/utils/child-process.d.ts +18 -0
  693. package/dist/utils/child-process.d.ts.map +1 -0
  694. package/dist/utils/child-process.js +106 -0
  695. package/dist/utils/child-process.js.map +1 -0
  696. package/dist/utils/clipboard-image.d.ts +11 -0
  697. package/dist/utils/clipboard-image.d.ts.map +1 -0
  698. package/dist/utils/clipboard-image.js +245 -0
  699. package/dist/utils/clipboard-image.js.map +1 -0
  700. package/dist/utils/clipboard-native.d.ts +11 -0
  701. package/dist/utils/clipboard-native.d.ts.map +1 -0
  702. package/dist/utils/clipboard-native.js +20 -0
  703. package/dist/utils/clipboard-native.js.map +1 -0
  704. package/dist/utils/clipboard.d.ts +4 -0
  705. package/dist/utils/clipboard.d.ts.map +1 -0
  706. package/dist/utils/clipboard.js +161 -0
  707. package/dist/utils/clipboard.js.map +1 -0
  708. package/dist/utils/deprecation.d.ts +4 -0
  709. package/dist/utils/deprecation.d.ts.map +1 -0
  710. package/dist/utils/deprecation.js +13 -0
  711. package/dist/utils/deprecation.js.map +1 -0
  712. package/dist/utils/exif-orientation.d.ts +5 -0
  713. package/dist/utils/exif-orientation.d.ts.map +1 -0
  714. package/dist/utils/exif-orientation.js +158 -0
  715. package/dist/utils/exif-orientation.js.map +1 -0
  716. package/dist/utils/frontmatter.d.ts +8 -0
  717. package/dist/utils/frontmatter.d.ts.map +1 -0
  718. package/dist/utils/frontmatter.js +26 -0
  719. package/dist/utils/frontmatter.js.map +1 -0
  720. package/dist/utils/fs-watch.d.ts +5 -0
  721. package/dist/utils/fs-watch.d.ts.map +1 -0
  722. package/dist/utils/fs-watch.js +25 -0
  723. package/dist/utils/fs-watch.js.map +1 -0
  724. package/dist/utils/git.d.ts +26 -0
  725. package/dist/utils/git.d.ts.map +1 -0
  726. package/dist/utils/git.js +195 -0
  727. package/dist/utils/git.js.map +1 -0
  728. package/dist/utils/html.d.ts +7 -0
  729. package/dist/utils/html.d.ts.map +1 -0
  730. package/dist/utils/html.js +40 -0
  731. package/dist/utils/html.js.map +1 -0
  732. package/dist/utils/image-convert.d.ts +10 -0
  733. package/dist/utils/image-convert.d.ts.map +1 -0
  734. package/dist/utils/image-convert.js +45 -0
  735. package/dist/utils/image-convert.js.map +1 -0
  736. package/dist/utils/image-process.d.ts +18 -0
  737. package/dist/utils/image-process.d.ts.map +1 -0
  738. package/dist/utils/image-process.js +83 -0
  739. package/dist/utils/image-process.js.map +1 -0
  740. package/dist/utils/image-resize-core.d.ts +30 -0
  741. package/dist/utils/image-resize-core.d.ts.map +1 -0
  742. package/dist/utils/image-resize-core.js +124 -0
  743. package/dist/utils/image-resize-core.js.map +1 -0
  744. package/dist/utils/image-resize-worker.d.ts +2 -0
  745. package/dist/utils/image-resize-worker.d.ts.map +1 -0
  746. package/dist/utils/image-resize-worker.js +31 -0
  747. package/dist/utils/image-resize-worker.js.map +1 -0
  748. package/dist/utils/image-resize.d.ts +16 -0
  749. package/dist/utils/image-resize.d.ts.map +1 -0
  750. package/dist/utils/image-resize.js +97 -0
  751. package/dist/utils/image-resize.js.map +1 -0
  752. package/dist/utils/json.d.ts +3 -0
  753. package/dist/utils/json.d.ts.map +1 -0
  754. package/dist/utils/json.js +7 -0
  755. package/dist/utils/json.js.map +1 -0
  756. package/dist/utils/management-http.d.ts +23 -0
  757. package/dist/utils/management-http.d.ts.map +1 -0
  758. package/dist/utils/management-http.js +50 -0
  759. package/dist/utils/management-http.js.map +1 -0
  760. package/dist/utils/mime.d.ts +3 -0
  761. package/dist/utils/mime.d.ts.map +1 -0
  762. package/dist/utils/mime.js +110 -0
  763. package/dist/utils/mime.js.map +1 -0
  764. package/dist/utils/open-browser.d.ts +9 -0
  765. package/dist/utils/open-browser.d.ts.map +1 -0
  766. package/dist/utils/open-browser.js +22 -0
  767. package/dist/utils/open-browser.js.map +1 -0
  768. package/dist/utils/paths.d.ts +34 -0
  769. package/dist/utils/paths.d.ts.map +1 -0
  770. package/dist/utils/paths.js +114 -0
  771. package/dist/utils/paths.js.map +1 -0
  772. package/dist/utils/photon.d.ts +21 -0
  773. package/dist/utils/photon.d.ts.map +1 -0
  774. package/dist/utils/photon.js +121 -0
  775. package/dist/utils/photon.js.map +1 -0
  776. package/dist/utils/pi-user-agent.d.ts +2 -0
  777. package/dist/utils/pi-user-agent.d.ts.map +1 -0
  778. package/dist/utils/pi-user-agent.js +5 -0
  779. package/dist/utils/pi-user-agent.js.map +1 -0
  780. package/dist/utils/shell.d.ts +31 -0
  781. package/dist/utils/shell.d.ts.map +1 -0
  782. package/dist/utils/shell.js +202 -0
  783. package/dist/utils/shell.js.map +1 -0
  784. package/dist/utils/sleep.d.ts +5 -0
  785. package/dist/utils/sleep.d.ts.map +1 -0
  786. package/dist/utils/sleep.js +17 -0
  787. package/dist/utils/sleep.js.map +1 -0
  788. package/dist/utils/syntax-highlight.d.ts +12 -0
  789. package/dist/utils/syntax-highlight.d.ts.map +1 -0
  790. package/dist/utils/syntax-highlight.js +118 -0
  791. package/dist/utils/syntax-highlight.js.map +1 -0
  792. package/dist/utils/tool-result-images.d.ts +19 -0
  793. package/dist/utils/tool-result-images.d.ts.map +1 -0
  794. package/dist/utils/tool-result-images.js +45 -0
  795. package/dist/utils/tool-result-images.js.map +1 -0
  796. package/dist/utils/tools-manager.d.ts +12 -0
  797. package/dist/utils/tools-manager.d.ts.map +1 -0
  798. package/dist/utils/tools-manager.js +321 -0
  799. package/dist/utils/tools-manager.js.map +1 -0
  800. package/dist/utils/version-check.d.ts +19 -0
  801. package/dist/utils/version-check.d.ts.map +1 -0
  802. package/dist/utils/version-check.js +79 -0
  803. package/dist/utils/version-check.js.map +1 -0
  804. package/dist/utils/windows-self-update.d.ts +3 -0
  805. package/dist/utils/windows-self-update.d.ts.map +1 -0
  806. package/dist/utils/windows-self-update.js +77 -0
  807. package/dist/utils/windows-self-update.js.map +1 -0
  808. package/docs/compaction.md +401 -0
  809. package/docs/containerization.md +111 -0
  810. package/docs/custom-provider.md +774 -0
  811. package/docs/development.md +71 -0
  812. package/docs/docs.json +156 -0
  813. package/docs/environment-variables.md +94 -0
  814. package/docs/extensions.md +2992 -0
  815. package/docs/images/doom-extension.png +0 -0
  816. package/docs/images/exy.png +0 -0
  817. package/docs/images/interactive-mode.png +0 -0
  818. package/docs/images/tree-view.png +0 -0
  819. package/docs/index.md +84 -0
  820. package/docs/json.md +93 -0
  821. package/docs/keybindings.md +236 -0
  822. package/docs/llama-cpp.md +99 -0
  823. package/docs/models.md +565 -0
  824. package/docs/packages.md +228 -0
  825. package/docs/prompt-templates.md +96 -0
  826. package/docs/providers.md +317 -0
  827. package/docs/quickstart.md +167 -0
  828. package/docs/rpc.md +1589 -0
  829. package/docs/sdk.md +1214 -0
  830. package/docs/security.md +59 -0
  831. package/docs/session-format.md +438 -0
  832. package/docs/sessions.md +145 -0
  833. package/docs/settings.md +353 -0
  834. package/docs/shell-aliases.md +13 -0
  835. package/docs/skills.md +231 -0
  836. package/docs/terminal-setup.md +163 -0
  837. package/docs/termux.md +127 -0
  838. package/docs/themes.md +320 -0
  839. package/docs/tmux.md +63 -0
  840. package/docs/tui.md +942 -0
  841. package/docs/usage.md +306 -0
  842. package/docs/windows.md +17 -0
  843. package/examples/README.md +25 -0
  844. package/examples/extensions/README.md +213 -0
  845. package/examples/extensions/auto-commit-on-exit.ts +49 -0
  846. package/examples/extensions/bash-spawn-hook.ts +30 -0
  847. package/examples/extensions/bookmark.ts +50 -0
  848. package/examples/extensions/border-status-editor.ts +150 -0
  849. package/examples/extensions/built-in-tool-renderer.ts +249 -0
  850. package/examples/extensions/claude-rules.ts +86 -0
  851. package/examples/extensions/commands.ts +72 -0
  852. package/examples/extensions/confirm-destructive.ts +59 -0
  853. package/examples/extensions/custom-compaction.ts +117 -0
  854. package/examples/extensions/custom-footer.ts +64 -0
  855. package/examples/extensions/custom-header.ts +73 -0
  856. package/examples/extensions/custom-provider-anthropic/index.ts +611 -0
  857. package/examples/extensions/custom-provider-anthropic/package-lock.json +24 -0
  858. package/examples/extensions/custom-provider-anthropic/package.json +19 -0
  859. package/examples/extensions/custom-provider-gitlab-duo/index.ts +405 -0
  860. package/examples/extensions/custom-provider-gitlab-duo/package.json +16 -0
  861. package/examples/extensions/custom-provider-gitlab-duo/test.ts +82 -0
  862. package/examples/extensions/dirty-repo-guard.ts +56 -0
  863. package/examples/extensions/doom-overlay/README.md +46 -0
  864. package/examples/extensions/doom-overlay/doom/build/doom.js +21 -0
  865. package/examples/extensions/doom-overlay/doom/build/doom.wasm +0 -0
  866. package/examples/extensions/doom-overlay/doom/build.sh +152 -0
  867. package/examples/extensions/doom-overlay/doom/doomgeneric_pi.c +72 -0
  868. package/examples/extensions/doom-overlay/doom-component.ts +132 -0
  869. package/examples/extensions/doom-overlay/doom-engine.ts +173 -0
  870. package/examples/extensions/doom-overlay/doom-keys.ts +104 -0
  871. package/examples/extensions/doom-overlay/index.ts +74 -0
  872. package/examples/extensions/doom-overlay/wad-finder.ts +55 -0
  873. package/examples/extensions/dynamic-resources/SKILL.md +8 -0
  874. package/examples/extensions/dynamic-resources/dynamic.json +79 -0
  875. package/examples/extensions/dynamic-resources/dynamic.md +5 -0
  876. package/examples/extensions/dynamic-resources/index.ts +15 -0
  877. package/examples/extensions/dynamic-tools.ts +74 -0
  878. package/examples/extensions/entry-renderer.ts +41 -0
  879. package/examples/extensions/event-bus.ts +43 -0
  880. package/examples/extensions/file-trigger.ts +41 -0
  881. package/examples/extensions/git-checkpoint.ts +53 -0
  882. package/examples/extensions/git-merge-and-resolve.ts +115 -0
  883. package/examples/extensions/github-issue-autocomplete.ts +185 -0
  884. package/examples/extensions/gondolin/index.ts +531 -0
  885. package/examples/extensions/gondolin/package-lock.json +185 -0
  886. package/examples/extensions/gondolin/package.json +19 -0
  887. package/examples/extensions/handoff.ts +190 -0
  888. package/examples/extensions/hello.ts +26 -0
  889. package/examples/extensions/hidden-thinking-label.ts +53 -0
  890. package/examples/extensions/inline-bash.ts +94 -0
  891. package/examples/extensions/input-transform-streaming.ts +39 -0
  892. package/examples/extensions/input-transform.ts +43 -0
  893. package/examples/extensions/interactive-shell.ts +196 -0
  894. package/examples/extensions/kimi-deferred-tools.ts +61 -0
  895. package/examples/extensions/mac-system-theme.ts +47 -0
  896. package/examples/extensions/message-renderer.ts +59 -0
  897. package/examples/extensions/minimal-mode.ts +426 -0
  898. package/examples/extensions/modal-editor.ts +85 -0
  899. package/examples/extensions/model-status.ts +31 -0
  900. package/examples/extensions/notify.ts +55 -0
  901. package/examples/extensions/overlay-qa-tests.ts +1450 -0
  902. package/examples/extensions/overlay-test.ts +153 -0
  903. package/examples/extensions/permission-gate.ts +34 -0
  904. package/examples/extensions/pirate.ts +47 -0
  905. package/examples/extensions/plan-mode/README.md +66 -0
  906. package/examples/extensions/plan-mode/index.ts +390 -0
  907. package/examples/extensions/plan-mode/utils.ts +168 -0
  908. package/examples/extensions/preset.ts +436 -0
  909. package/examples/extensions/project-trust.ts +64 -0
  910. package/examples/extensions/prompt-customizer.ts +97 -0
  911. package/examples/extensions/protected-paths.ts +30 -0
  912. package/examples/extensions/provider-payload.ts +18 -0
  913. package/examples/extensions/qna.ts +118 -0
  914. package/examples/extensions/question.ts +286 -0
  915. package/examples/extensions/questionnaire.ts +448 -0
  916. package/examples/extensions/rainbow-editor.ts +88 -0
  917. package/examples/extensions/reload-runtime.ts +37 -0
  918. package/examples/extensions/rpc-demo.ts +118 -0
  919. package/examples/extensions/sandbox/index.ts +321 -0
  920. package/examples/extensions/sandbox/package-lock.json +92 -0
  921. package/examples/extensions/sandbox/package.json +19 -0
  922. package/examples/extensions/send-user-message.ts +97 -0
  923. package/examples/extensions/session-name.ts +27 -0
  924. package/examples/extensions/shutdown-command.ts +63 -0
  925. package/examples/extensions/snake.ts +343 -0
  926. package/examples/extensions/space-invaders.ts +560 -0
  927. package/examples/extensions/ssh.ts +220 -0
  928. package/examples/extensions/status-line.ts +32 -0
  929. package/examples/extensions/structured-output.ts +65 -0
  930. package/examples/extensions/subagent/README.md +177 -0
  931. package/examples/extensions/subagent/agents/planner.md +37 -0
  932. package/examples/extensions/subagent/agents/reviewer.md +35 -0
  933. package/examples/extensions/subagent/agents/scout.md +50 -0
  934. package/examples/extensions/subagent/agents/worker.md +24 -0
  935. package/examples/extensions/subagent/agents.ts +157 -0
  936. package/examples/extensions/subagent/index.ts +1033 -0
  937. package/examples/extensions/subagent/prompts/implement-and-review.md +10 -0
  938. package/examples/extensions/subagent/prompts/implement.md +10 -0
  939. package/examples/extensions/subagent/prompts/scout-and-plan.md +9 -0
  940. package/examples/extensions/summarize.ts +199 -0
  941. package/examples/extensions/system-prompt-header.ts +17 -0
  942. package/examples/extensions/tic-tac-toe.ts +1008 -0
  943. package/examples/extensions/timed-confirm.ts +70 -0
  944. package/examples/extensions/titlebar-spinner.ts +58 -0
  945. package/examples/extensions/todo.ts +297 -0
  946. package/examples/extensions/tool-override.ts +144 -0
  947. package/examples/extensions/tools.ts +146 -0
  948. package/examples/extensions/trigger-compact.ts +50 -0
  949. package/examples/extensions/truncated-tool.ts +195 -0
  950. package/examples/extensions/widget-placement.ts +9 -0
  951. package/examples/extensions/with-deps/index.ts +32 -0
  952. package/examples/extensions/with-deps/package-lock.json +31 -0
  953. package/examples/extensions/with-deps/package.json +22 -0
  954. package/examples/extensions/working-indicator.ts +123 -0
  955. package/examples/extensions/working-message-test.ts +25 -0
  956. package/examples/rpc-extension-ui.ts +641 -0
  957. package/examples/sdk/01-minimal.ts +26 -0
  958. package/examples/sdk/02-custom-model.ts +49 -0
  959. package/examples/sdk/03-custom-prompt.ts +75 -0
  960. package/examples/sdk/04-skills.ts +55 -0
  961. package/examples/sdk/05-tools.ts +48 -0
  962. package/examples/sdk/06-extensions.ts +99 -0
  963. package/examples/sdk/07-context-files.ts +47 -0
  964. package/examples/sdk/08-prompt-templates.ts +51 -0
  965. package/examples/sdk/09-api-keys-and-oauth.ts +34 -0
  966. package/examples/sdk/10-settings.ts +53 -0
  967. package/examples/sdk/11-sessions.ts +52 -0
  968. package/examples/sdk/12-full-control.ts +74 -0
  969. package/examples/sdk/13-session-runtime.ts +67 -0
  970. package/examples/sdk/README.md +140 -0
  971. package/npm-shrinkwrap.json +1818 -0
  972. package/package.json +109 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-message.d.ts","sourceRoot":"","sources":["../../../../src/modes/interactive/components/user-message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,SAAS,EAAY,KAAK,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACtF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAQ7E;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,SAAS;IAClD,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,oBAAoB,CAAiC;IAE7D,YACC,IAAI,EAAE,MAAM,EACZ,aAAa,GAAE,aAAkC,EACjD,SAAS,SAAI,EACb,oBAAoB,GAAE,SAAS,mBAAmB,EAAO,EAQzD;IAED,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAGlC;IAED,OAAO,CAAC,OAAO;IAsBN,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CASvC;CACD","sourcesContent":["import { Box, Container, Markdown, type MarkdownTheme } from \"@earendil-works/pi-tui\";\nimport type { MarkdownTransformer } from \"../../../core/extensions/types.ts\";\nimport { getMarkdownTheme, theme } from \"../theme/theme.ts\";\nimport { createMarkdownTransform } from \"./markdown-transform.ts\";\n\nconst OSC133_ZONE_START = \"\\x1b]133;A\\x07\";\nconst OSC133_ZONE_END = \"\\x1b]133;B\\x07\";\nconst OSC133_ZONE_FINAL = \"\\x1b]133;C\\x07\";\n\n/**\n * Component that renders a user message\n */\nexport class UserMessageComponent extends Container {\n\tprivate text: string;\n\tprivate markdownTheme: MarkdownTheme;\n\tprivate outputPad: number;\n\tprivate markdownTransformers: readonly MarkdownTransformer[];\n\n\tconstructor(\n\t\ttext: string,\n\t\tmarkdownTheme: MarkdownTheme = getMarkdownTheme(),\n\t\toutputPad = 1,\n\t\tmarkdownTransformers: readonly MarkdownTransformer[] = [],\n\t) {\n\t\tsuper();\n\t\tthis.text = text;\n\t\tthis.markdownTheme = markdownTheme;\n\t\tthis.outputPad = outputPad;\n\t\tthis.markdownTransformers = markdownTransformers;\n\t\tthis.rebuild();\n\t}\n\n\tsetOutputPad(padding: number): void {\n\t\tthis.outputPad = padding;\n\t\tthis.rebuild();\n\t}\n\n\tprivate rebuild(): void {\n\t\tthis.clear();\n\t\tconst contentBox = new Box(this.outputPad, 1, (content: string) => theme.bg(\"userMessageBg\", content));\n\t\tcontentBox.addChild(\n\t\t\tnew Markdown(\n\t\t\t\tthis.text,\n\t\t\t\t0,\n\t\t\t\t0,\n\t\t\t\tthis.markdownTheme,\n\t\t\t\t{\n\t\t\t\t\tcolor: (content: string) => theme.fg(\"userMessageText\", content),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpreserveOrderedListMarkers: true,\n\t\t\t\t\tpreserveBackslashEscapes: true,\n\t\t\t\t\ttransform: createMarkdownTransform(\"user\", false, this.markdownTransformers),\n\t\t\t\t},\n\t\t\t),\n\t\t);\n\t\tthis.addChild(contentBox);\n\t}\n\n\toverride render(width: number): string[] {\n\t\tconst lines = super.render(width);\n\t\tif (lines.length === 0) {\n\t\t\treturn lines;\n\t\t}\n\n\t\tlines[0] = OSC133_ZONE_START + lines[0];\n\t\tlines[lines.length - 1] = OSC133_ZONE_END + OSC133_ZONE_FINAL + lines[lines.length - 1];\n\t\treturn lines;\n\t}\n}\n"]}
@@ -0,0 +1,49 @@
1
+ import { Box, Container, Markdown } from "@earendil-works/pi-tui";
2
+ import { getMarkdownTheme, theme } from "../theme/theme.js";
3
+ import { createMarkdownTransform } from "./markdown-transform.js";
4
+ const OSC133_ZONE_START = "\x1b]133;A\x07";
5
+ const OSC133_ZONE_END = "\x1b]133;B\x07";
6
+ const OSC133_ZONE_FINAL = "\x1b]133;C\x07";
7
+ /**
8
+ * Component that renders a user message
9
+ */
10
+ export class UserMessageComponent extends Container {
11
+ text;
12
+ markdownTheme;
13
+ outputPad;
14
+ markdownTransformers;
15
+ constructor(text, markdownTheme = getMarkdownTheme(), outputPad = 1, markdownTransformers = []) {
16
+ super();
17
+ this.text = text;
18
+ this.markdownTheme = markdownTheme;
19
+ this.outputPad = outputPad;
20
+ this.markdownTransformers = markdownTransformers;
21
+ this.rebuild();
22
+ }
23
+ setOutputPad(padding) {
24
+ this.outputPad = padding;
25
+ this.rebuild();
26
+ }
27
+ rebuild() {
28
+ this.clear();
29
+ const contentBox = new Box(this.outputPad, 1, (content) => theme.bg("userMessageBg", content));
30
+ contentBox.addChild(new Markdown(this.text, 0, 0, this.markdownTheme, {
31
+ color: (content) => theme.fg("userMessageText", content),
32
+ }, {
33
+ preserveOrderedListMarkers: true,
34
+ preserveBackslashEscapes: true,
35
+ transform: createMarkdownTransform("user", false, this.markdownTransformers),
36
+ }));
37
+ this.addChild(contentBox);
38
+ }
39
+ render(width) {
40
+ const lines = super.render(width);
41
+ if (lines.length === 0) {
42
+ return lines;
43
+ }
44
+ lines[0] = OSC133_ZONE_START + lines[0];
45
+ lines[lines.length - 1] = OSC133_ZONE_END + OSC133_ZONE_FINAL + lines[lines.length - 1];
46
+ return lines;
47
+ }
48
+ }
49
+ //# sourceMappingURL=user-message.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-message.js","sourceRoot":"","sources":["../../../../src/modes/interactive/components/user-message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAsB,MAAM,wBAAwB,CAAC;AAEtF,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAElE,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;AAC3C,MAAM,eAAe,GAAG,gBAAgB,CAAC;AACzC,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;AAE3C;;GAEG;AACH,MAAM,OAAO,oBAAqB,SAAQ,SAAS;IAC1C,IAAI,CAAS;IACb,aAAa,CAAgB;IAC7B,SAAS,CAAS;IAClB,oBAAoB,CAAiC;IAE7D,YACC,IAAY,EACZ,aAAa,GAAkB,gBAAgB,EAAE,EACjD,SAAS,GAAG,CAAC,EACb,oBAAoB,GAAmC,EAAE,EACxD;QACD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;QACjD,IAAI,CAAC,OAAO,EAAE,CAAC;IAAA,CACf;IAED,YAAY,CAAC,OAAe,EAAQ;QACnC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;QACzB,IAAI,CAAC,OAAO,EAAE,CAAC;IAAA,CACf;IAEO,OAAO,GAAS;QACvB,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;QACvG,UAAU,CAAC,QAAQ,CAClB,IAAI,QAAQ,CACX,IAAI,CAAC,IAAI,EACT,CAAC,EACD,CAAC,EACD,IAAI,CAAC,aAAa,EAClB;YACC,KAAK,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,iBAAiB,EAAE,OAAO,CAAC;SAChE,EACD;YACC,0BAA0B,EAAE,IAAI;YAChC,wBAAwB,EAAE,IAAI;YAC9B,SAAS,EAAE,uBAAuB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,oBAAoB,CAAC;SAC5E,CACD,CACD,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAAA,CAC1B;IAEQ,MAAM,CAAC,KAAa,EAAY;QACxC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,KAAK,CAAC;QACd,CAAC;QAED,KAAK,CAAC,CAAC,CAAC,GAAG,iBAAiB,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACxC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,eAAe,GAAG,iBAAiB,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACxF,OAAO,KAAK,CAAC;IAAA,CACb;CACD","sourcesContent":["import { Box, Container, Markdown, type MarkdownTheme } from \"@earendil-works/pi-tui\";\nimport type { MarkdownTransformer } from \"../../../core/extensions/types.ts\";\nimport { getMarkdownTheme, theme } from \"../theme/theme.ts\";\nimport { createMarkdownTransform } from \"./markdown-transform.ts\";\n\nconst OSC133_ZONE_START = \"\\x1b]133;A\\x07\";\nconst OSC133_ZONE_END = \"\\x1b]133;B\\x07\";\nconst OSC133_ZONE_FINAL = \"\\x1b]133;C\\x07\";\n\n/**\n * Component that renders a user message\n */\nexport class UserMessageComponent extends Container {\n\tprivate text: string;\n\tprivate markdownTheme: MarkdownTheme;\n\tprivate outputPad: number;\n\tprivate markdownTransformers: readonly MarkdownTransformer[];\n\n\tconstructor(\n\t\ttext: string,\n\t\tmarkdownTheme: MarkdownTheme = getMarkdownTheme(),\n\t\toutputPad = 1,\n\t\tmarkdownTransformers: readonly MarkdownTransformer[] = [],\n\t) {\n\t\tsuper();\n\t\tthis.text = text;\n\t\tthis.markdownTheme = markdownTheme;\n\t\tthis.outputPad = outputPad;\n\t\tthis.markdownTransformers = markdownTransformers;\n\t\tthis.rebuild();\n\t}\n\n\tsetOutputPad(padding: number): void {\n\t\tthis.outputPad = padding;\n\t\tthis.rebuild();\n\t}\n\n\tprivate rebuild(): void {\n\t\tthis.clear();\n\t\tconst contentBox = new Box(this.outputPad, 1, (content: string) => theme.bg(\"userMessageBg\", content));\n\t\tcontentBox.addChild(\n\t\t\tnew Markdown(\n\t\t\t\tthis.text,\n\t\t\t\t0,\n\t\t\t\t0,\n\t\t\t\tthis.markdownTheme,\n\t\t\t\t{\n\t\t\t\t\tcolor: (content: string) => theme.fg(\"userMessageText\", content),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpreserveOrderedListMarkers: true,\n\t\t\t\t\tpreserveBackslashEscapes: true,\n\t\t\t\t\ttransform: createMarkdownTransform(\"user\", false, this.markdownTransformers),\n\t\t\t\t},\n\t\t\t),\n\t\t);\n\t\tthis.addChild(contentBox);\n\t}\n\n\toverride render(width: number): string[] {\n\t\tconst lines = super.render(width);\n\t\tif (lines.length === 0) {\n\t\t\treturn lines;\n\t\t}\n\n\t\tlines[0] = OSC133_ZONE_START + lines[0];\n\t\tlines[lines.length - 1] = OSC133_ZONE_END + OSC133_ZONE_FINAL + lines[lines.length - 1];\n\t\treturn lines;\n\t}\n}\n"]}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Shared utility for truncating text to visual lines (accounting for line wrapping).
3
+ * Used by both tool-execution.ts and bash-execution.ts for consistent behavior.
4
+ */
5
+ export interface VisualTruncateResult {
6
+ /** The visual lines to display */
7
+ visualLines: string[];
8
+ /** Number of visual lines that were skipped (hidden) */
9
+ skippedCount: number;
10
+ }
11
+ /**
12
+ * Truncate text to a maximum number of visual lines (from the end).
13
+ * This accounts for line wrapping based on terminal width.
14
+ *
15
+ * @param text - The text content (may contain newlines)
16
+ * @param maxVisualLines - Maximum number of visual lines to show
17
+ * @param width - Terminal/render width
18
+ * @param paddingX - Horizontal padding for Text component (default 0).
19
+ * Use 0 when result will be placed in a Box (Box adds its own padding).
20
+ * Use 1 when result will be placed in a plain Container.
21
+ * @returns The truncated visual lines and count of skipped lines
22
+ */
23
+ export declare function truncateToVisualLines(text: string, maxVisualLines: number, width: number, paddingX?: number): VisualTruncateResult;
24
+ //# sourceMappingURL=visual-truncate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"visual-truncate.d.ts","sourceRoot":"","sources":["../../../../src/modes/interactive/components/visual-truncate.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,WAAW,oBAAoB;IACpC,kCAAkC;IAClC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,wDAAwD;IACxD,YAAY,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CACpC,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,MAAM,EACb,QAAQ,GAAE,MAAU,GAClB,oBAAoB,CAkBtB","sourcesContent":["/**\n * Shared utility for truncating text to visual lines (accounting for line wrapping).\n * Used by both tool-execution.ts and bash-execution.ts for consistent behavior.\n */\n\nimport { Text } from \"@earendil-works/pi-tui\";\n\nexport interface VisualTruncateResult {\n\t/** The visual lines to display */\n\tvisualLines: string[];\n\t/** Number of visual lines that were skipped (hidden) */\n\tskippedCount: number;\n}\n\n/**\n * Truncate text to a maximum number of visual lines (from the end).\n * This accounts for line wrapping based on terminal width.\n *\n * @param text - The text content (may contain newlines)\n * @param maxVisualLines - Maximum number of visual lines to show\n * @param width - Terminal/render width\n * @param paddingX - Horizontal padding for Text component (default 0).\n * Use 0 when result will be placed in a Box (Box adds its own padding).\n * Use 1 when result will be placed in a plain Container.\n * @returns The truncated visual lines and count of skipped lines\n */\nexport function truncateToVisualLines(\n\ttext: string,\n\tmaxVisualLines: number,\n\twidth: number,\n\tpaddingX: number = 0,\n): VisualTruncateResult {\n\tif (!text) {\n\t\treturn { visualLines: [], skippedCount: 0 };\n\t}\n\n\t// Create a temporary Text component to render and get visual lines\n\tconst tempText = new Text(text, paddingX, 0);\n\tconst allVisualLines = tempText.render(width);\n\n\tif (allVisualLines.length <= maxVisualLines) {\n\t\treturn { visualLines: allVisualLines, skippedCount: 0 };\n\t}\n\n\t// Take the last N visual lines\n\tconst truncatedLines = allVisualLines.slice(-maxVisualLines);\n\tconst skippedCount = allVisualLines.length - maxVisualLines;\n\n\treturn { visualLines: truncatedLines, skippedCount };\n}\n"]}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Shared utility for truncating text to visual lines (accounting for line wrapping).
3
+ * Used by both tool-execution.ts and bash-execution.ts for consistent behavior.
4
+ */
5
+ import { Text } from "@earendil-works/pi-tui";
6
+ /**
7
+ * Truncate text to a maximum number of visual lines (from the end).
8
+ * This accounts for line wrapping based on terminal width.
9
+ *
10
+ * @param text - The text content (may contain newlines)
11
+ * @param maxVisualLines - Maximum number of visual lines to show
12
+ * @param width - Terminal/render width
13
+ * @param paddingX - Horizontal padding for Text component (default 0).
14
+ * Use 0 when result will be placed in a Box (Box adds its own padding).
15
+ * Use 1 when result will be placed in a plain Container.
16
+ * @returns The truncated visual lines and count of skipped lines
17
+ */
18
+ export function truncateToVisualLines(text, maxVisualLines, width, paddingX = 0) {
19
+ if (!text) {
20
+ return { visualLines: [], skippedCount: 0 };
21
+ }
22
+ // Create a temporary Text component to render and get visual lines
23
+ const tempText = new Text(text, paddingX, 0);
24
+ const allVisualLines = tempText.render(width);
25
+ if (allVisualLines.length <= maxVisualLines) {
26
+ return { visualLines: allVisualLines, skippedCount: 0 };
27
+ }
28
+ // Take the last N visual lines
29
+ const truncatedLines = allVisualLines.slice(-maxVisualLines);
30
+ const skippedCount = allVisualLines.length - maxVisualLines;
31
+ return { visualLines: truncatedLines, skippedCount };
32
+ }
33
+ //# sourceMappingURL=visual-truncate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"visual-truncate.js","sourceRoot":"","sources":["../../../../src/modes/interactive/components/visual-truncate.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAS9C;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,qBAAqB,CACpC,IAAY,EACZ,cAAsB,EACtB,KAAa,EACb,QAAQ,GAAW,CAAC,EACG;IACvB,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;IAC7C,CAAC;IAED,mEAAmE;IACnE,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC7C,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAE9C,IAAI,cAAc,CAAC,MAAM,IAAI,cAAc,EAAE,CAAC;QAC7C,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;IACzD,CAAC;IAED,+BAA+B;IAC/B,MAAM,cAAc,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,CAAC;IAC7D,MAAM,YAAY,GAAG,cAAc,CAAC,MAAM,GAAG,cAAc,CAAC;IAE5D,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC;AAAA,CACrD","sourcesContent":["/**\n * Shared utility for truncating text to visual lines (accounting for line wrapping).\n * Used by both tool-execution.ts and bash-execution.ts for consistent behavior.\n */\n\nimport { Text } from \"@earendil-works/pi-tui\";\n\nexport interface VisualTruncateResult {\n\t/** The visual lines to display */\n\tvisualLines: string[];\n\t/** Number of visual lines that were skipped (hidden) */\n\tskippedCount: number;\n}\n\n/**\n * Truncate text to a maximum number of visual lines (from the end).\n * This accounts for line wrapping based on terminal width.\n *\n * @param text - The text content (may contain newlines)\n * @param maxVisualLines - Maximum number of visual lines to show\n * @param width - Terminal/render width\n * @param paddingX - Horizontal padding for Text component (default 0).\n * Use 0 when result will be placed in a Box (Box adds its own padding).\n * Use 1 when result will be placed in a plain Container.\n * @returns The truncated visual lines and count of skipped lines\n */\nexport function truncateToVisualLines(\n\ttext: string,\n\tmaxVisualLines: number,\n\twidth: number,\n\tpaddingX: number = 0,\n): VisualTruncateResult {\n\tif (!text) {\n\t\treturn { visualLines: [], skippedCount: 0 };\n\t}\n\n\t// Create a temporary Text component to render and get visual lines\n\tconst tempText = new Text(text, paddingX, 0);\n\tconst allVisualLines = tempText.render(width);\n\n\tif (allVisualLines.length <= maxVisualLines) {\n\t\treturn { visualLines: allVisualLines, skippedCount: 0 };\n\t}\n\n\t// Take the last N visual lines\n\tconst truncatedLines = allVisualLines.slice(-maxVisualLines);\n\tconst skippedCount = allVisualLines.length - maxVisualLines;\n\n\treturn { visualLines: truncatedLines, skippedCount };\n}\n"]}
@@ -0,0 +1,12 @@
1
+ export interface ExternalEditorOptions {
2
+ command: string;
3
+ content: string;
4
+ }
5
+ export type ExternalEditorResult = {
6
+ status: "complete";
7
+ content: string;
8
+ } | {
9
+ status: "failed";
10
+ };
11
+ export declare function editInExternalEditor(options: ExternalEditorOptions): Promise<ExternalEditorResult>;
12
+ //# sourceMappingURL=external-editor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"external-editor.d.ts","sourceRoot":"","sources":["../../../src/modes/interactive/external-editor.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,qBAAqB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,oBAAoB,GAAG;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,QAAQ,CAAA;CAAE,CAAC;AAElG,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAgCxG","sourcesContent":["import { spawn } from \"node:child_process\";\nimport { mkdtempSync, readFileSync, rmSync, writeFileSync } from \"node:fs\";\nimport { tmpdir } from \"node:os\";\nimport { join } from \"node:path\";\n\nexport interface ExternalEditorOptions {\n\tcommand: string;\n\tcontent: string;\n}\n\nexport type ExternalEditorResult = { status: \"complete\"; content: string } | { status: \"failed\" };\n\nexport async function editInExternalEditor(options: ExternalEditorOptions): Promise<ExternalEditorResult> {\n\tconst directory = mkdtempSync(join(tmpdir(), \"pi-editor-\"));\n\tconst filePath = join(directory, \"prompt.md\");\n\ttry {\n\t\twriteFileSync(filePath, options.content, \"utf-8\");\n\t\tconst [editor, ...editorArgs] = options.command.split(\" \");\n\t\tprocess.stdout.write(`Launching external editor: ${options.command}\\nPi will resume when the editor exits.\\n`);\n\n\t\t// Do not use spawnSync here. On Windows, synchronous child_process calls can keep\n\t\t// Node/libuv's console input read active after the parent pauses stdin, racing\n\t\t// vim/nvim for the console input buffer until Ctrl+C cancels the pending read.\n\t\tconst exitCode = await new Promise<number | null>((resolve) => {\n\t\t\tconst child = spawn(editor, [...editorArgs, filePath], {\n\t\t\t\tstdio: \"inherit\",\n\t\t\t\tshell: process.platform === \"win32\",\n\t\t\t});\n\t\t\tchild.on(\"error\", () => resolve(null));\n\t\t\tchild.on(\"close\", (code) => resolve(code));\n\t\t});\n\n\t\tif (exitCode !== 0) {\n\t\t\treturn { status: \"failed\" };\n\t\t}\n\n\t\treturn { status: \"complete\", content: readFileSync(filePath, \"utf-8\").replace(/\\n$/, \"\") };\n\t} finally {\n\t\ttry {\n\t\t\trmSync(directory, { recursive: true, force: true });\n\t\t} catch {\n\t\t\t// Cleanup is best effort.\n\t\t}\n\t}\n}\n"]}
@@ -0,0 +1,37 @@
1
+ import { spawn } from "node:child_process";
2
+ import { mkdtempSync, readFileSync, rmSync, writeFileSync } from "node:fs";
3
+ import { tmpdir } from "node:os";
4
+ import { join } from "node:path";
5
+ export async function editInExternalEditor(options) {
6
+ const directory = mkdtempSync(join(tmpdir(), "pi-editor-"));
7
+ const filePath = join(directory, "prompt.md");
8
+ try {
9
+ writeFileSync(filePath, options.content, "utf-8");
10
+ const [editor, ...editorArgs] = options.command.split(" ");
11
+ process.stdout.write(`Launching external editor: ${options.command}\nPi will resume when the editor exits.\n`);
12
+ // Do not use spawnSync here. On Windows, synchronous child_process calls can keep
13
+ // Node/libuv's console input read active after the parent pauses stdin, racing
14
+ // vim/nvim for the console input buffer until Ctrl+C cancels the pending read.
15
+ const exitCode = await new Promise((resolve) => {
16
+ const child = spawn(editor, [...editorArgs, filePath], {
17
+ stdio: "inherit",
18
+ shell: process.platform === "win32",
19
+ });
20
+ child.on("error", () => resolve(null));
21
+ child.on("close", (code) => resolve(code));
22
+ });
23
+ if (exitCode !== 0) {
24
+ return { status: "failed" };
25
+ }
26
+ return { status: "complete", content: readFileSync(filePath, "utf-8").replace(/\n$/, "") };
27
+ }
28
+ finally {
29
+ try {
30
+ rmSync(directory, { recursive: true, force: true });
31
+ }
32
+ catch {
33
+ // Cleanup is best effort.
34
+ }
35
+ }
36
+ }
37
+ //# sourceMappingURL=external-editor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"external-editor.js","sourceRoot":"","sources":["../../../src/modes/interactive/external-editor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AASjC,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,OAA8B,EAAiC;IACzG,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC;IAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAC9C,IAAI,CAAC;QACJ,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,OAAO,CAAC,OAAO,2CAA2C,CAAC,CAAC;QAE/G,kFAAkF;QAClF,+EAA+E;QAC/E,+EAA+E;QAC/E,MAAM,QAAQ,GAAG,MAAM,IAAI,OAAO,CAAgB,CAAC,OAAO,EAAE,EAAE,CAAC;YAC9D,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,UAAU,EAAE,QAAQ,CAAC,EAAE;gBACtD,KAAK,EAAE,SAAS;gBAChB,KAAK,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO;aACnC,CAAC,CAAC;YACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YACvC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAAA,CAC3C,CAAC,CAAC;QAEH,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;YACpB,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QAC7B,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC;IAC5F,CAAC;YAAS,CAAC;QACV,IAAI,CAAC;YACJ,MAAM,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACrD,CAAC;QAAC,MAAM,CAAC;YACR,0BAA0B;QAC3B,CAAC;IACF,CAAC;AAAA,CACD","sourcesContent":["import { spawn } from \"node:child_process\";\nimport { mkdtempSync, readFileSync, rmSync, writeFileSync } from \"node:fs\";\nimport { tmpdir } from \"node:os\";\nimport { join } from \"node:path\";\n\nexport interface ExternalEditorOptions {\n\tcommand: string;\n\tcontent: string;\n}\n\nexport type ExternalEditorResult = { status: \"complete\"; content: string } | { status: \"failed\" };\n\nexport async function editInExternalEditor(options: ExternalEditorOptions): Promise<ExternalEditorResult> {\n\tconst directory = mkdtempSync(join(tmpdir(), \"pi-editor-\"));\n\tconst filePath = join(directory, \"prompt.md\");\n\ttry {\n\t\twriteFileSync(filePath, options.content, \"utf-8\");\n\t\tconst [editor, ...editorArgs] = options.command.split(\" \");\n\t\tprocess.stdout.write(`Launching external editor: ${options.command}\\nPi will resume when the editor exits.\\n`);\n\n\t\t// Do not use spawnSync here. On Windows, synchronous child_process calls can keep\n\t\t// Node/libuv's console input read active after the parent pauses stdin, racing\n\t\t// vim/nvim for the console input buffer until Ctrl+C cancels the pending read.\n\t\tconst exitCode = await new Promise<number | null>((resolve) => {\n\t\t\tconst child = spawn(editor, [...editorArgs, filePath], {\n\t\t\t\tstdio: \"inherit\",\n\t\t\t\tshell: process.platform === \"win32\",\n\t\t\t});\n\t\t\tchild.on(\"error\", () => resolve(null));\n\t\t\tchild.on(\"close\", (code) => resolve(code));\n\t\t});\n\n\t\tif (exitCode !== 0) {\n\t\t\treturn { status: \"failed\" };\n\t\t}\n\n\t\treturn { status: \"complete\", content: readFileSync(filePath, \"utf-8\").replace(/\\n$/, \"\") };\n\t} finally {\n\t\ttry {\n\t\t\trmSync(directory, { recursive: true, force: true });\n\t\t} catch {\n\t\t\t// Cleanup is best effort.\n\t\t}\n\t}\n}\n"]}
@@ -0,0 +1,435 @@
1
+ /**
2
+ * Interactive mode for the coding agent.
3
+ * Handles TUI rendering and user interaction, delegating business logic to AgentSession.
4
+ */
5
+ import type { ImageContent } from "@earendil-works/pi-ai/compat";
6
+ import type { Terminal } from "@earendil-works/pi-tui";
7
+ import { type TUI, TuiAltScreen, TuiMainScreen } from "@earendil-works/pi-tui";
8
+ import { type AgentSessionRuntime } from "../../core/agent-session-runtime.ts";
9
+ import { SessionManager } from "../../core/session-manager.ts";
10
+ import type { FullscreenExitOutput, TuiMode } from "../../core/settings-manager.ts";
11
+ import { type LatestPiRelease } from "../../utils/version-check.ts";
12
+ export declare function formatResumeCommand(sessionManager: SessionManager): string | undefined;
13
+ /**
14
+ * Options for InteractiveMode initialization.
15
+ */
16
+ export interface InteractiveModeOptions {
17
+ /** Providers that were migrated to auth.json (shows warning) */
18
+ migratedProviders?: string[];
19
+ /** Warning message if session model couldn't be restored */
20
+ modelFallbackMessage?: string;
21
+ /** Cwd to trust after reload if it gained a .pi directory during this implicitly trusted session. */
22
+ autoTrustOnReloadCwd?: string;
23
+ /** Initial message to send on startup (can include @file content) */
24
+ initialMessage?: string;
25
+ /** Images to attach to the initial message */
26
+ initialImages?: ImageContent[];
27
+ /** Additional messages to send after the initial message */
28
+ initialMessages?: string[];
29
+ /** Force verbose startup (overrides quietStartup setting) */
30
+ verbose?: boolean;
31
+ /** TUI layout mode. */
32
+ tuiMode?: TuiMode;
33
+ /** Initial interactive theme setting for this invocation. */
34
+ initialThemeSetting?: string;
35
+ }
36
+ interface InteractiveTuiOptions {
37
+ tuiMode: TuiMode;
38
+ showHardwareCursor: boolean;
39
+ logDirectory: string;
40
+ terminal?: Terminal;
41
+ onRightClickPaste?: () => void;
42
+ }
43
+ /** Composition root for selecting the interactive terminal renderer. */
44
+ export declare function createInteractiveTui(options: InteractiveTuiOptions): TuiMainScreen | TuiAltScreen;
45
+ /** Stable reference for components while InteractiveMode replaces the active renderer. */
46
+ export declare function createInteractiveTuiReference(getTui: () => TUI): TUI;
47
+ export declare class InteractiveMode {
48
+ private runtimeHost;
49
+ private renderer;
50
+ private ui;
51
+ private mainScreenRenderState;
52
+ private loadedResourcesContainer;
53
+ private chatContainer;
54
+ private documentContainer;
55
+ private transcriptScrollView;
56
+ private fullscreenLayoutRoot;
57
+ private pendingMessagesContainer;
58
+ private statusContainer;
59
+ private defaultEditor;
60
+ private editor;
61
+ private editorComponentFactory;
62
+ private autocompleteProvider;
63
+ private autocompleteProviderWrappers;
64
+ private fdPath;
65
+ private editorContainer;
66
+ private activeSelectorToken?;
67
+ private activeSelectorDispose?;
68
+ private footer;
69
+ private footerContainer;
70
+ private footerDataProvider;
71
+ private keybindings;
72
+ private version;
73
+ private isInitialized;
74
+ private onInputCallback?;
75
+ private pendingUserInputs;
76
+ private activeStatusIndicator;
77
+ private readonly idleStatus;
78
+ private workingMessage;
79
+ private workingVisible;
80
+ private workingIndicatorOptions;
81
+ private readonly defaultWorkingMessage;
82
+ private readonly defaultHiddenThinkingLabel;
83
+ private hiddenThinkingLabel;
84
+ private lastSigintTime;
85
+ private lastEscapeTime;
86
+ private changelogMarkdown;
87
+ private startupNoticesShown;
88
+ private anthropicSubscriptionWarningShown;
89
+ private lastStatusSpacer;
90
+ private lastStatusText;
91
+ private managedToolStatusStarted;
92
+ private streamingComponent;
93
+ private streamingMessage;
94
+ private pendingTools;
95
+ private toolOutputExpanded;
96
+ private hideThinkingBlock;
97
+ private outputPad;
98
+ private readonly mermaidMarkdownTransformer;
99
+ private skillCommands;
100
+ private unsubscribe?;
101
+ private signalCleanupHandlers;
102
+ private isBashMode;
103
+ private bashComponent;
104
+ private pendingBashComponents;
105
+ private autoCompactionEscapeHandler?;
106
+ private retryEscapeHandler?;
107
+ private compactionQueuedMessages;
108
+ private shutdownRequested;
109
+ private extensionSelector;
110
+ private extensionInput;
111
+ private extensionEditor;
112
+ private extensionTerminalInputSubscriptions;
113
+ private extensionWidgetsAbove;
114
+ private extensionWidgetsBelow;
115
+ private widgetContainerAbove;
116
+ private widgetContainerBelow;
117
+ private customFooter;
118
+ private headerContainer;
119
+ private builtInHeader;
120
+ private customHeader;
121
+ private options;
122
+ private readonly onRightClickPaste;
123
+ private autoTrustOnReloadCwd;
124
+ private themeController;
125
+ private get session();
126
+ private get agent();
127
+ private get sessionManager();
128
+ private get settingsManager();
129
+ constructor(runtimeHost: AgentSessionRuntime, options?: InteractiveModeOptions);
130
+ private getAutocompleteSourceTag;
131
+ private prefixAutocompleteDescription;
132
+ private getBuiltInCommandConflictDiagnostics;
133
+ private createBaseAutocompleteProvider;
134
+ private setupAutocompleteProvider;
135
+ private showStartupNoticesIfNeeded;
136
+ private mountInteractiveTui;
137
+ private stopInteractiveTui;
138
+ private switchTuiMode;
139
+ init(): Promise<void>;
140
+ /**
141
+ * Update terminal title with session name and cwd.
142
+ */
143
+ private updateTerminalTitle;
144
+ /**
145
+ * Run the interactive mode. This is the main entry point.
146
+ * Initializes the UI, shows warnings, processes initial messages, and starts the interactive loop.
147
+ */
148
+ run(): Promise<void>;
149
+ private checkForPackageUpdates;
150
+ private checkTmuxKeyboardSetup;
151
+ /**
152
+ * Get changelog entries to display on startup.
153
+ * Only shows new entries since last seen version, skips for resumed sessions.
154
+ */
155
+ private getChangelogForDisplay;
156
+ private reportInstallTelemetry;
157
+ private getMarkdownThemeWithSettings;
158
+ private formatDisplayPath;
159
+ private formatExtensionDisplayPath;
160
+ private formatContextPath;
161
+ private getStartupExpansionState;
162
+ /**
163
+ * Get a short path relative to the package root for display.
164
+ */
165
+ private getShortPath;
166
+ private getCompactPathLabel;
167
+ private getCompactPackageSourceLabel;
168
+ private getCompactExtensionLabel;
169
+ private getCompactDisplayPathSegments;
170
+ private getCompactNonPackageExtensionLabel;
171
+ private getCompactExtensionLabels;
172
+ private getDisplaySourceInfo;
173
+ private getScopeGroup;
174
+ private isPackageSource;
175
+ private buildScopeGroups;
176
+ private formatScopeGroups;
177
+ private findSourceInfoForPath;
178
+ private formatPathWithSource;
179
+ private formatDiagnostics;
180
+ private showLoadedResources;
181
+ private bindCurrentSessionExtensions;
182
+ private applyFullscreenScrollbarSetting;
183
+ private applyRuntimeSettings;
184
+ private rebindCurrentSession;
185
+ private handleFatalRuntimeError;
186
+ private renderCurrentSessionState;
187
+ /**
188
+ * Get a registered tool definition by name (for custom rendering).
189
+ */
190
+ private getRegisteredToolDefinition;
191
+ private getMarkdownTransformers;
192
+ /**
193
+ * Set up keyboard shortcuts registered by extensions.
194
+ */
195
+ private setupExtensionShortcuts;
196
+ /**
197
+ * Set extension status text in the footer.
198
+ */
199
+ private setExtensionStatus;
200
+ private showStatusIndicator;
201
+ private clearStatusIndicator;
202
+ private setWorkingVisible;
203
+ private setWorkingIndicator;
204
+ private setHiddenThinkingLabel;
205
+ /**
206
+ * Set an extension widget (string array or custom component).
207
+ */
208
+ private setExtensionWidget;
209
+ private clearExtensionWidgets;
210
+ private resetExtensionUI;
211
+ private static readonly MAX_WIDGET_LINES;
212
+ /**
213
+ * Render all extension widgets to the widget container.
214
+ */
215
+ private renderWidgets;
216
+ private renderWidgetContainer;
217
+ /**
218
+ * Set a custom footer component, or restore the built-in footer.
219
+ */
220
+ private setExtensionFooter;
221
+ /**
222
+ * Set a custom header component, or restore the built-in header.
223
+ */
224
+ private setExtensionHeader;
225
+ private addExtensionTerminalInputListener;
226
+ private rebindExtensionTerminalInputListeners;
227
+ private clearExtensionTerminalInputListeners;
228
+ /**
229
+ * Create the ExtensionUIContext for extensions.
230
+ */
231
+ private createProjectTrustContext;
232
+ private createExtensionUIContext;
233
+ /**
234
+ * Show a selector for extensions.
235
+ */
236
+ private showExtensionSelector;
237
+ /**
238
+ * Hide the extension selector.
239
+ */
240
+ private hideExtensionSelector;
241
+ private showExtensionConfirm;
242
+ private promptForMissingSessionCwd;
243
+ /**
244
+ * Show a text input for extensions.
245
+ */
246
+ private showExtensionInput;
247
+ /**
248
+ * Hide the extension input.
249
+ */
250
+ private hideExtensionInput;
251
+ /**
252
+ * Show a multi-line editor for extensions (with Ctrl+G support).
253
+ */
254
+ private showExtensionEditor;
255
+ /**
256
+ * Hide the extension editor.
257
+ */
258
+ private hideExtensionEditor;
259
+ /**
260
+ * Set a custom editor component from an extension.
261
+ * Pass undefined to restore the default editor.
262
+ */
263
+ private setCustomEditorComponent;
264
+ /**
265
+ * Show a notification for extensions.
266
+ */
267
+ private showExtensionNotify;
268
+ private showExtensionCustom;
269
+ /**
270
+ * Show an extension error in the UI.
271
+ */
272
+ private showExtensionError;
273
+ private setupKeyHandlers;
274
+ private handleRightClickPaste;
275
+ private handleClipboardPaste;
276
+ private handleStartupSubmit;
277
+ private setupEditorSubmitHandler;
278
+ private subscribeToAgent;
279
+ private handleEvent;
280
+ /** Extract text content from a user message */
281
+ private getUserMessageText;
282
+ /** Show a managed-tool status update in the chat. */
283
+ private showManagedToolStatus;
284
+ /**
285
+ * Show a status message in the chat.
286
+ *
287
+ * If multiple status messages are emitted back-to-back (without anything else being added to the chat),
288
+ * we update the previous status line instead of appending new ones to avoid log spam.
289
+ */
290
+ private showStatus;
291
+ private addCustomEntryToChat;
292
+ private addMessageToChat;
293
+ private renderSessionItems;
294
+ /**
295
+ * Render session entries to chat. Used for initial load and rebuild after compaction.
296
+ * @param entries Compaction-aware session entries to render
297
+ * @param options.updateFooter Update footer state
298
+ * @param options.populateHistory Add user messages to editor history
299
+ */
300
+ private renderSessionEntries;
301
+ /**
302
+ * Show a transcript notice when a completed assistant message paid for a
303
+ * significant cache miss. Only states observable facts: the miss itself,
304
+ * a model switch, or an idle gap past the cache TTL.
305
+ */
306
+ private maybeShowCacheMissNotice;
307
+ private addCacheMissNotice;
308
+ renderInitialMessages(): void;
309
+ private renderProjectTrustWarningIfNeeded;
310
+ getUserInput(): Promise<string>;
311
+ private rebuildChatFromMessages;
312
+ private handleCtrlC;
313
+ private handleCtrlD;
314
+ /**
315
+ * Gracefully shutdown the agent.
316
+ * Stops the TUI before emitting shutdown events so extension UI cleanup cannot
317
+ * repaint the final frame while the process is exiting.
318
+ */
319
+ private isShuttingDown;
320
+ private shutdown;
321
+ private emergencyTerminalExit;
322
+ /**
323
+ * Last-resort handler for uncaught exceptions. The TUI puts stdin into raw
324
+ * mode and hides the cursor; without this handler, an uncaught throw from
325
+ * anywhere (e.g. an extension's async `ChildProcess.on("exit")` callback)
326
+ * tears down the process while leaving the terminal in raw mode with no
327
+ * cursor, requiring `stty sane && reset` to recover.
328
+ *
329
+ * Unlike emergencyTerminalExit, the terminal is still alive here, so we
330
+ * call ui.stop() to restore cooked mode, the cursor, and disable bracketed
331
+ * paste / Kitty / modifyOtherKeys sequences.
332
+ */
333
+ private uncaughtCrash;
334
+ private checkShutdownRequested;
335
+ private registerSignalHandlers;
336
+ private unregisterSignalHandlers;
337
+ private handleCtrlZ;
338
+ private handleFollowUp;
339
+ private handleDequeue;
340
+ private updateEditorBorderColor;
341
+ private cycleThinkingLevel;
342
+ private cycleModel;
343
+ private toggleToolOutputExpansion;
344
+ private setToolsExpanded;
345
+ private toggleThinkingBlockVisibility;
346
+ private handleOpenExternalEditor;
347
+ clearEditor(): void;
348
+ showError(errorMessage: string): void;
349
+ showWarning(warningMessage: string): void;
350
+ showNewVersionNotification(release: LatestPiRelease): void;
351
+ showPackageUpdateNotification(packages: string[]): void;
352
+ /**
353
+ * Get all queued messages (read-only).
354
+ * Combines session queue and compaction queue.
355
+ */
356
+ private getAllQueuedMessages;
357
+ /**
358
+ * Clear all queued messages and return their contents.
359
+ * Clears both session queue and compaction queue.
360
+ */
361
+ private clearAllQueues;
362
+ private updatePendingMessagesDisplay;
363
+ private restoreQueuedMessagesToEditor;
364
+ private queueCompactionMessage;
365
+ private isExtensionCommand;
366
+ private flushCompactionQueue;
367
+ /** Move pending bash components from pending area to chat */
368
+ private flushPendingBashComponents;
369
+ private disposeActiveSelector;
370
+ /**
371
+ * Shows a selector component in place of the editor.
372
+ * @param create Factory that receives a `done` callback and returns the component and focus target
373
+ */
374
+ private showSelector;
375
+ private showSettingsSelector;
376
+ private handleModelCommand;
377
+ private findExactModelMatch;
378
+ /** Update the footer's available provider count from the current snapshot without refreshing catalogs. */
379
+ private updateAvailableProviderCount;
380
+ private maybeWarnAboutAnthropicSubscriptionAuth;
381
+ private maybeSaveImplicitProjectTrustAfterReload;
382
+ private showTrustSelector;
383
+ private showModelSelector;
384
+ private showModelsSelector;
385
+ private showUserMessageSelector;
386
+ private handleCloneCommand;
387
+ private showTreeSelector;
388
+ private showSessionSelector;
389
+ private handleResumeSession;
390
+ private getLoginProviderOptions;
391
+ private getLogoutProviderOptions;
392
+ private findLoginProviderOptions;
393
+ private handleLoginCommand;
394
+ private startProviderLogin;
395
+ private showLoginAuthTypeSelector;
396
+ private showLoginProviderSelector;
397
+ private showOAuthSelector;
398
+ private completeProviderAuthentication;
399
+ private showAmbientAuthDialog;
400
+ private showApiKeyLoginDialog;
401
+ private showAuthSelect;
402
+ private showAuthPrompt;
403
+ private notifyAuthDialog;
404
+ private loginProvider;
405
+ private showLoginDialog;
406
+ private handleReloadCommand;
407
+ private handleExportCommand;
408
+ private getPathCommandArgument;
409
+ private handleImportCommand;
410
+ private handleShareCommand;
411
+ private handleCopyCommand;
412
+ private handleNameCommand;
413
+ private handleSessionCommand;
414
+ private handleChangelogCommand;
415
+ /**
416
+ * Get capitalized display string for an app keybinding action.
417
+ */
418
+ private getAppKeyDisplay;
419
+ /**
420
+ * Get capitalized display string for an editor keybinding action.
421
+ */
422
+ private getEditorKeyDisplay;
423
+ private handleHotkeysCommand;
424
+ private handleClearCommand;
425
+ private handleDebugCommand;
426
+ private handleArminSaysHi;
427
+ private handleDementedDelves;
428
+ private handleDaxnuts;
429
+ private checkDaxnutsEasterEgg;
430
+ private handleBashCommand;
431
+ private handleCompactCommand;
432
+ stop(fullscreenExitOutput?: FullscreenExitOutput): void;
433
+ }
434
+ export {};
435
+ //# sourceMappingURL=interactive-mode.d.ts.map