@subimpact/e 0.100.0 → 0.100.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (911) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +7 -1
  3. package/dist/bundle/chunks/{chunk-KAXC2ESR.js → chunk-GICF34HK.js} +8 -8
  4. package/dist/bundle/chunks/{chunk-FBZU53S6.js → chunk-NBSSK56J.js} +1 -1
  5. package/dist/bundle/chunks/{chunk-QSDAQKAU.js → chunk-RAB4RJZ2.js} +11 -12
  6. package/dist/bundle/chunks/{easter-egg-3d-DD22MRM3.js → easter-egg-3d-JQPBRQEU.js} +1 -1
  7. package/dist/bundle/chunks/{openai-codex-responses-YOLBMQOC.js → openai-codex-responses-WGH4GHLE.js} +1 -1
  8. package/dist/bundle/chunks/{virtual-modules-YQUQNKDN.js → virtual-modules-L22CHFWU.js} +1 -1
  9. package/dist/bundle/cli-runtime.js +1 -1
  10. package/dist/bundle/index.js +1 -1
  11. package/dist/bundle/rpc-entry.js +1 -1
  12. package/docs/compaction.md +2 -2
  13. package/docs/extensions.md +4 -10
  14. package/docs/message-types.md +2 -4
  15. package/docs/session-format.md +4 -4
  16. package/docs/settings.md +1 -1
  17. package/docs/tui.md +1 -1
  18. package/examples/extensions/overlay-test.ts +2 -2
  19. package/package.json +31 -31
  20. package/dist/bun/cli.d.ts +0 -5
  21. package/dist/bun/cli.d.ts.map +0 -1
  22. package/dist/bun/cli.js +0 -5
  23. package/dist/bun/cli.js.map +0 -1
  24. package/dist/bun/restore-sandbox-env.d.ts +0 -17
  25. package/dist/bun/restore-sandbox-env.d.ts.map +0 -1
  26. package/dist/bun/restore-sandbox-env.js +0 -36
  27. package/dist/bun/restore-sandbox-env.js.map +0 -1
  28. package/dist/bun/runtime-setup.d.ts +0 -2
  29. package/dist/bun/runtime-setup.d.ts.map +0 -1
  30. package/dist/bun/runtime-setup.js +0 -9
  31. package/dist/bun/runtime-setup.js.map +0 -1
  32. package/dist/bun/sandbox-env-setup.d.ts +0 -2
  33. package/dist/bun/sandbox-env-setup.d.ts.map +0 -1
  34. package/dist/bun/sandbox-env-setup.js +0 -4
  35. package/dist/bun/sandbox-env-setup.js.map +0 -1
  36. package/dist/cli/args.d.ts +0 -61
  37. package/dist/cli/args.d.ts.map +0 -1
  38. package/dist/cli/args.js +0 -453
  39. package/dist/cli/args.js.map +0 -1
  40. package/dist/cli/auth-check.d.ts +0 -19
  41. package/dist/cli/auth-check.d.ts.map +0 -1
  42. package/dist/cli/auth-check.js +0 -50
  43. package/dist/cli/auth-check.js.map +0 -1
  44. package/dist/cli/auth-command.d.ts +0 -24
  45. package/dist/cli/auth-command.d.ts.map +0 -1
  46. package/dist/cli/auth-command.js +0 -103
  47. package/dist/cli/auth-command.js.map +0 -1
  48. package/dist/cli/config-selector.d.ts +0 -16
  49. package/dist/cli/config-selector.d.ts.map +0 -1
  50. package/dist/cli/config-selector.js +0 -32
  51. package/dist/cli/config-selector.js.map +0 -1
  52. package/dist/cli/credential-print.d.ts +0 -13
  53. package/dist/cli/credential-print.d.ts.map +0 -1
  54. package/dist/cli/credential-print.js +0 -76
  55. package/dist/cli/credential-print.js.map +0 -1
  56. package/dist/cli/file-processor.d.ts +0 -15
  57. package/dist/cli/file-processor.d.ts.map +0 -1
  58. package/dist/cli/file-processor.js +0 -71
  59. package/dist/cli/file-processor.js.map +0 -1
  60. package/dist/cli/initial-message.d.ts +0 -18
  61. package/dist/cli/initial-message.d.ts.map +0 -1
  62. package/dist/cli/initial-message.js +0 -22
  63. package/dist/cli/initial-message.js.map +0 -1
  64. package/dist/cli/list-models.d.ts +0 -9
  65. package/dist/cli/list-models.d.ts.map +0 -1
  66. package/dist/cli/list-models.js +0 -98
  67. package/dist/cli/list-models.js.map +0 -1
  68. package/dist/cli/project-trust.d.ts +0 -10
  69. package/dist/cli/project-trust.d.ts.map +0 -1
  70. package/dist/cli/project-trust.js +0 -48
  71. package/dist/cli/project-trust.js.map +0 -1
  72. package/dist/cli/session-picker.d.ts +0 -10
  73. package/dist/cli/session-picker.d.ts.map +0 -1
  74. package/dist/cli/session-picker.js +0 -36
  75. package/dist/cli/session-picker.js.map +0 -1
  76. package/dist/cli/setup.d.ts +0 -2
  77. package/dist/cli/setup.d.ts.map +0 -1
  78. package/dist/cli/setup.js +0 -12
  79. package/dist/cli/setup.js.map +0 -1
  80. package/dist/cli/startup-ui.d.ts +0 -20
  81. package/dist/cli/startup-ui.d.ts.map +0 -1
  82. package/dist/cli/startup-ui.js +0 -193
  83. package/dist/cli/startup-ui.js.map +0 -1
  84. package/dist/cli.d.ts +0 -3
  85. package/dist/cli.d.ts.map +0 -1
  86. package/dist/cli.js +0 -6
  87. package/dist/cli.js.map +0 -1
  88. package/dist/config.d.ts +0 -107
  89. package/dist/config.d.ts.map +0 -1
  90. package/dist/config.js +0 -486
  91. package/dist/config.js.map +0 -1
  92. package/dist/core/agent-session-runtime.d.ts +0 -119
  93. package/dist/core/agent-session-runtime.d.ts.map +0 -1
  94. package/dist/core/agent-session-runtime.js +0 -317
  95. package/dist/core/agent-session-runtime.js.map +0 -1
  96. package/dist/core/agent-session-services.d.ts +0 -86
  97. package/dist/core/agent-session-services.d.ts.map +0 -1
  98. package/dist/core/agent-session-services.js +0 -147
  99. package/dist/core/agent-session-services.js.map +0 -1
  100. package/dist/core/agent-session.d.ts +0 -859
  101. package/dist/core/agent-session.d.ts.map +0 -1
  102. package/dist/core/agent-session.js +0 -3416
  103. package/dist/core/agent-session.js.map +0 -1
  104. package/dist/core/auth-guidance.d.ts +0 -5
  105. package/dist/core/auth-guidance.d.ts.map +0 -1
  106. package/dist/core/auth-guidance.js +0 -21
  107. package/dist/core/auth-guidance.js.map +0 -1
  108. package/dist/core/auth-storage.d.ts +0 -72
  109. package/dist/core/auth-storage.d.ts.map +0 -1
  110. package/dist/core/auth-storage.js +0 -426
  111. package/dist/core/auth-storage.js.map +0 -1
  112. package/dist/core/bash-executor.d.ts +0 -32
  113. package/dist/core/bash-executor.d.ts.map +0 -1
  114. package/dist/core/bash-executor.js +0 -106
  115. package/dist/core/bash-executor.js.map +0 -1
  116. package/dist/core/bug-report-upload.d.ts +0 -12
  117. package/dist/core/bug-report-upload.d.ts.map +0 -1
  118. package/dist/core/bug-report-upload.js +0 -22
  119. package/dist/core/bug-report-upload.js.map +0 -1
  120. package/dist/core/bug-report.d.ts +0 -176
  121. package/dist/core/bug-report.d.ts.map +0 -1
  122. package/dist/core/bug-report.js +0 -292
  123. package/dist/core/bug-report.js.map +0 -1
  124. package/dist/core/cache-stats.d.ts +0 -49
  125. package/dist/core/cache-stats.d.ts.map +0 -1
  126. package/dist/core/cache-stats.js +0 -112
  127. package/dist/core/cache-stats.js.map +0 -1
  128. package/dist/core/cache-warmer.d.ts +0 -103
  129. package/dist/core/cache-warmer.d.ts.map +0 -1
  130. package/dist/core/cache-warmer.js +0 -359
  131. package/dist/core/cache-warmer.js.map +0 -1
  132. package/dist/core/compaction/branch-summarization.d.ts +0 -98
  133. package/dist/core/compaction/branch-summarization.d.ts.map +0 -1
  134. package/dist/core/compaction/branch-summarization.js +0 -251
  135. package/dist/core/compaction/branch-summarization.js.map +0 -1
  136. package/dist/core/compaction/compaction.d.ts +0 -145
  137. package/dist/core/compaction/compaction.d.ts.map +0 -1
  138. package/dist/core/compaction/compaction.js +0 -744
  139. package/dist/core/compaction/compaction.js.map +0 -1
  140. package/dist/core/compaction/index.d.ts +0 -7
  141. package/dist/core/compaction/index.d.ts.map +0 -1
  142. package/dist/core/compaction/index.js +0 -7
  143. package/dist/core/compaction/index.js.map +0 -1
  144. package/dist/core/compaction/utils.d.ts +0 -39
  145. package/dist/core/compaction/utils.d.ts.map +0 -1
  146. package/dist/core/compaction/utils.js +0 -149
  147. package/dist/core/compaction/utils.js.map +0 -1
  148. package/dist/core/crash-log.d.ts +0 -27
  149. package/dist/core/crash-log.d.ts.map +0 -1
  150. package/dist/core/crash-log.js +0 -140
  151. package/dist/core/crash-log.js.map +0 -1
  152. package/dist/core/defaults.d.ts +0 -4
  153. package/dist/core/defaults.d.ts.map +0 -1
  154. package/dist/core/defaults.js +0 -11
  155. package/dist/core/defaults.js.map +0 -1
  156. package/dist/core/diagnostics.d.ts +0 -15
  157. package/dist/core/diagnostics.d.ts.map +0 -1
  158. package/dist/core/diagnostics.js +0 -2
  159. package/dist/core/diagnostics.js.map +0 -1
  160. package/dist/core/event-bus.d.ts +0 -9
  161. package/dist/core/event-bus.d.ts.map +0 -1
  162. package/dist/core/event-bus.js +0 -25
  163. package/dist/core/event-bus.js.map +0 -1
  164. package/dist/core/exec.d.ts +0 -29
  165. package/dist/core/exec.d.ts.map +0 -1
  166. package/dist/core/exec.js +0 -75
  167. package/dist/core/exec.js.map +0 -1
  168. package/dist/core/experimental.d.ts +0 -2
  169. package/dist/core/experimental.d.ts.map +0 -1
  170. package/dist/core/experimental.js +0 -6
  171. package/dist/core/experimental.js.map +0 -1
  172. package/dist/core/export-html/ansi-to-html.d.ts +0 -22
  173. package/dist/core/export-html/ansi-to-html.d.ts.map +0 -1
  174. package/dist/core/export-html/ansi-to-html.js +0 -249
  175. package/dist/core/export-html/ansi-to-html.js.map +0 -1
  176. package/dist/core/export-html/index.d.ts +0 -37
  177. package/dist/core/export-html/index.d.ts.map +0 -1
  178. package/dist/core/export-html/index.js +0 -226
  179. package/dist/core/export-html/index.js.map +0 -1
  180. package/dist/core/export-html/tool-renderer.d.ts +0 -34
  181. package/dist/core/export-html/tool-renderer.d.ts.map +0 -1
  182. package/dist/core/export-html/tool-renderer.js +0 -109
  183. package/dist/core/export-html/tool-renderer.js.map +0 -1
  184. package/dist/core/extensions/compat-check.d.ts +0 -26
  185. package/dist/core/extensions/compat-check.d.ts.map +0 -1
  186. package/dist/core/extensions/compat-check.js +0 -129
  187. package/dist/core/extensions/compat-check.js.map +0 -1
  188. package/dist/core/extensions/index.d.ts +0 -12
  189. package/dist/core/extensions/index.d.ts.map +0 -1
  190. package/dist/core/extensions/index.js +0 -9
  191. package/dist/core/extensions/index.js.map +0 -1
  192. package/dist/core/extensions/jiti-loader.d.ts +0 -2
  193. package/dist/core/extensions/jiti-loader.d.ts.map +0 -1
  194. package/dist/core/extensions/jiti-loader.js +0 -4
  195. package/dist/core/extensions/jiti-loader.js.map +0 -1
  196. package/dist/core/extensions/jiti-static-loader.d.ts +0 -2
  197. package/dist/core/extensions/jiti-static-loader.d.ts.map +0 -1
  198. package/dist/core/extensions/jiti-static-loader.js +0 -4
  199. package/dist/core/extensions/jiti-static-loader.js.map +0 -1
  200. package/dist/core/extensions/loader.d.ts +0 -23
  201. package/dist/core/extensions/loader.d.ts.map +0 -1
  202. package/dist/core/extensions/loader.js +0 -689
  203. package/dist/core/extensions/loader.js.map +0 -1
  204. package/dist/core/extensions/runner.d.ts +0 -204
  205. package/dist/core/extensions/runner.d.ts.map +0 -1
  206. package/dist/core/extensions/runner.js +0 -1207
  207. package/dist/core/extensions/runner.js.map +0 -1
  208. package/dist/core/extensions/types.d.ts +0 -1623
  209. package/dist/core/extensions/types.d.ts.map +0 -1
  210. package/dist/core/extensions/types.js +0 -48
  211. package/dist/core/extensions/types.js.map +0 -1
  212. package/dist/core/extensions/virtual-modules.d.ts +0 -3
  213. package/dist/core/extensions/virtual-modules.d.ts.map +0 -1
  214. package/dist/core/extensions/virtual-modules.js +0 -38
  215. package/dist/core/extensions/virtual-modules.js.map +0 -1
  216. package/dist/core/extensions/wrapper.d.ts +0 -20
  217. package/dist/core/extensions/wrapper.d.ts.map +0 -1
  218. package/dist/core/extensions/wrapper.js +0 -22
  219. package/dist/core/extensions/wrapper.js.map +0 -1
  220. package/dist/core/footer-data-provider.d.ts +0 -64
  221. package/dist/core/footer-data-provider.d.ts.map +0 -1
  222. package/dist/core/footer-data-provider.js +0 -338
  223. package/dist/core/footer-data-provider.js.map +0 -1
  224. package/dist/core/http-dispatcher.d.ts +0 -22
  225. package/dist/core/http-dispatcher.d.ts.map +0 -1
  226. package/dist/core/http-dispatcher.js +0 -98
  227. package/dist/core/http-dispatcher.js.map +0 -1
  228. package/dist/core/index.d.ts +0 -14
  229. package/dist/core/index.d.ts.map +0 -1
  230. package/dist/core/index.js +0 -13
  231. package/dist/core/index.js.map +0 -1
  232. package/dist/core/keybindings.d.ts +0 -428
  233. package/dist/core/keybindings.d.ts.map +0 -1
  234. package/dist/core/keybindings.js +0 -321
  235. package/dist/core/keybindings.js.map +0 -1
  236. package/dist/core/messages.d.ts +0 -77
  237. package/dist/core/messages.d.ts.map +0 -1
  238. package/dist/core/messages.js +0 -124
  239. package/dist/core/messages.js.map +0 -1
  240. package/dist/core/model-config.d.ts +0 -760
  241. package/dist/core/model-config.d.ts.map +0 -1
  242. package/dist/core/model-config.js +0 -294
  243. package/dist/core/model-config.js.map +0 -1
  244. package/dist/core/model-registry.d.ts +0 -61
  245. package/dist/core/model-registry.d.ts.map +0 -1
  246. package/dist/core/model-registry.js +0 -140
  247. package/dist/core/model-registry.js.map +0 -1
  248. package/dist/core/model-resolver.d.ts +0 -124
  249. package/dist/core/model-resolver.d.ts.map +0 -1
  250. package/dist/core/model-resolver.js +0 -590
  251. package/dist/core/model-resolver.js.map +0 -1
  252. package/dist/core/model-runtime.d.ts +0 -145
  253. package/dist/core/model-runtime.d.ts.map +0 -1
  254. package/dist/core/model-runtime.js +0 -758
  255. package/dist/core/model-runtime.js.map +0 -1
  256. package/dist/core/models-store.d.ts +0 -22
  257. package/dist/core/models-store.d.ts.map +0 -1
  258. package/dist/core/models-store.js +0 -115
  259. package/dist/core/models-store.js.map +0 -1
  260. package/dist/core/nested-tool-calls.d.ts +0 -102
  261. package/dist/core/nested-tool-calls.d.ts.map +0 -1
  262. package/dist/core/nested-tool-calls.js +0 -178
  263. package/dist/core/nested-tool-calls.js.map +0 -1
  264. package/dist/core/output-guard.d.ts +0 -7
  265. package/dist/core/output-guard.d.ts.map +0 -1
  266. package/dist/core/output-guard.js +0 -89
  267. package/dist/core/output-guard.js.map +0 -1
  268. package/dist/core/package-manager.d.ts +0 -222
  269. package/dist/core/package-manager.d.ts.map +0 -1
  270. package/dist/core/package-manager.js +0 -2258
  271. package/dist/core/package-manager.js.map +0 -1
  272. package/dist/core/pi-manifest.d.ts +0 -8
  273. package/dist/core/pi-manifest.d.ts.map +0 -1
  274. package/dist/core/pi-manifest.js +0 -26
  275. package/dist/core/pi-manifest.js.map +0 -1
  276. package/dist/core/project-trust.d.ts +0 -15
  277. package/dist/core/project-trust.d.ts.map +0 -1
  278. package/dist/core/project-trust.js +0 -59
  279. package/dist/core/project-trust.js.map +0 -1
  280. package/dist/core/prompt-templates.d.ts +0 -59
  281. package/dist/core/prompt-templates.d.ts.map +0 -1
  282. package/dist/core/prompt-templates.js +0 -262
  283. package/dist/core/prompt-templates.js.map +0 -1
  284. package/dist/core/provider-attribution.d.ts +0 -4
  285. package/dist/core/provider-attribution.d.ts.map +0 -1
  286. package/dist/core/provider-attribution.js +0 -72
  287. package/dist/core/provider-attribution.js.map +0 -1
  288. package/dist/core/provider-composer.d.ts +0 -80
  289. package/dist/core/provider-composer.d.ts.map +0 -1
  290. package/dist/core/provider-composer.js +0 -488
  291. package/dist/core/provider-composer.js.map +0 -1
  292. package/dist/core/radius.d.ts +0 -5
  293. package/dist/core/radius.d.ts.map +0 -1
  294. package/dist/core/radius.js +0 -9
  295. package/dist/core/radius.js.map +0 -1
  296. package/dist/core/remote-catalog-provider.d.ts +0 -12
  297. package/dist/core/remote-catalog-provider.d.ts.map +0 -1
  298. package/dist/core/remote-catalog-provider.js +0 -132
  299. package/dist/core/remote-catalog-provider.js.map +0 -1
  300. package/dist/core/resolve-config-value.d.ts +0 -30
  301. package/dist/core/resolve-config-value.d.ts.map +0 -1
  302. package/dist/core/resolve-config-value.js +0 -247
  303. package/dist/core/resolve-config-value.js.map +0 -1
  304. package/dist/core/resource-loader.d.ts +0 -227
  305. package/dist/core/resource-loader.d.ts.map +0 -1
  306. package/dist/core/resource-loader.js +0 -1008
  307. package/dist/core/resource-loader.js.map +0 -1
  308. package/dist/core/runtime-credentials.d.ts +0 -15
  309. package/dist/core/runtime-credentials.d.ts.map +0 -1
  310. package/dist/core/runtime-credentials.js +0 -39
  311. package/dist/core/runtime-credentials.js.map +0 -1
  312. package/dist/core/sdk.d.ts +0 -108
  313. package/dist/core/sdk.d.ts.map +0 -1
  314. package/dist/core/sdk.js +0 -315
  315. package/dist/core/sdk.js.map +0 -1
  316. package/dist/core/session-cwd.d.ts +0 -19
  317. package/dist/core/session-cwd.d.ts.map +0 -1
  318. package/dist/core/session-cwd.js +0 -38
  319. package/dist/core/session-cwd.js.map +0 -1
  320. package/dist/core/session-export.d.ts +0 -8
  321. package/dist/core/session-export.d.ts.map +0 -1
  322. package/dist/core/session-export.js +0 -33
  323. package/dist/core/session-export.js.map +0 -1
  324. package/dist/core/session-manager.d.ts +0 -416
  325. package/dist/core/session-manager.d.ts.map +0 -1
  326. package/dist/core/session-manager.js +0 -1537
  327. package/dist/core/session-manager.js.map +0 -1
  328. package/dist/core/settings-diagnostics.d.ts +0 -9
  329. package/dist/core/settings-diagnostics.d.ts.map +0 -1
  330. package/dist/core/settings-diagnostics.js +0 -21
  331. package/dist/core/settings-diagnostics.js.map +0 -1
  332. package/dist/core/settings-manager.d.ts +0 -362
  333. package/dist/core/settings-manager.d.ts.map +0 -1
  334. package/dist/core/settings-manager.js +0 -1107
  335. package/dist/core/settings-manager.js.map +0 -1
  336. package/dist/core/skills.d.ts +0 -60
  337. package/dist/core/skills.d.ts.map +0 -1
  338. package/dist/core/skills.js +0 -407
  339. package/dist/core/skills.js.map +0 -1
  340. package/dist/core/slash-commands.d.ts +0 -15
  341. package/dist/core/slash-commands.d.ts.map +0 -1
  342. package/dist/core/slash-commands.js +0 -28
  343. package/dist/core/slash-commands.js.map +0 -1
  344. package/dist/core/source-info.d.ts +0 -26
  345. package/dist/core/source-info.d.ts.map +0 -1
  346. package/dist/core/source-info.js +0 -35
  347. package/dist/core/source-info.js.map +0 -1
  348. package/dist/core/system-prompt.d.ts +0 -71
  349. package/dist/core/system-prompt.d.ts.map +0 -1
  350. package/dist/core/system-prompt.js +0 -147
  351. package/dist/core/system-prompt.js.map +0 -1
  352. package/dist/core/telemetry.d.ts +0 -3
  353. package/dist/core/telemetry.d.ts.map +0 -1
  354. package/dist/core/telemetry.js +0 -10
  355. package/dist/core/telemetry.js.map +0 -1
  356. package/dist/core/timings.d.ts +0 -6
  357. package/dist/core/timings.d.ts.map +0 -1
  358. package/dist/core/timings.js +0 -42
  359. package/dist/core/timings.js.map +0 -1
  360. package/dist/core/tools/bash.d.ts +0 -101
  361. package/dist/core/tools/bash.d.ts.map +0 -1
  362. package/dist/core/tools/bash.js +0 -348
  363. package/dist/core/tools/bash.js.map +0 -1
  364. package/dist/core/tools/edit-diff.d.ts +0 -101
  365. package/dist/core/tools/edit-diff.d.ts.map +0 -1
  366. package/dist/core/tools/edit-diff.js +0 -421
  367. package/dist/core/tools/edit-diff.js.map +0 -1
  368. package/dist/core/tools/edit.d.ts +0 -44
  369. package/dist/core/tools/edit.d.ts.map +0 -1
  370. package/dist/core/tools/edit.js +0 -147
  371. package/dist/core/tools/edit.js.map +0 -1
  372. package/dist/core/tools/file-mutation-queue.d.ts +0 -6
  373. package/dist/core/tools/file-mutation-queue.d.ts.map +0 -1
  374. package/dist/core/tools/file-mutation-queue.js +0 -52
  375. package/dist/core/tools/file-mutation-queue.js.map +0 -1
  376. package/dist/core/tools/find.d.ts +0 -42
  377. package/dist/core/tools/find.d.ts.map +0 -1
  378. package/dist/core/tools/find.js +0 -251
  379. package/dist/core/tools/find.js.map +0 -1
  380. package/dist/core/tools/grep.d.ts +0 -41
  381. package/dist/core/tools/grep.d.ts.map +0 -1
  382. package/dist/core/tools/grep.js +0 -252
  383. package/dist/core/tools/grep.js.map +0 -1
  384. package/dist/core/tools/index.d.ts +0 -43
  385. package/dist/core/tools/index.d.ts.map +0 -1
  386. package/dist/core/tools/index.js +0 -129
  387. package/dist/core/tools/index.js.map +0 -1
  388. package/dist/core/tools/ls.d.ts +0 -41
  389. package/dist/core/tools/ls.d.ts.map +0 -1
  390. package/dist/core/tools/ls.js +0 -126
  391. package/dist/core/tools/ls.js.map +0 -1
  392. package/dist/core/tools/output-accumulator.d.ts +0 -63
  393. package/dist/core/tools/output-accumulator.d.ts.map +0 -1
  394. package/dist/core/tools/output-accumulator.js +0 -220
  395. package/dist/core/tools/output-accumulator.js.map +0 -1
  396. package/dist/core/tools/path-utils.d.ts +0 -10
  397. package/dist/core/tools/path-utils.d.ts.map +0 -1
  398. package/dist/core/tools/path-utils.js +0 -99
  399. package/dist/core/tools/path-utils.js.map +0 -1
  400. package/dist/core/tools/powershell.d.ts +0 -16
  401. package/dist/core/tools/powershell.d.ts.map +0 -1
  402. package/dist/core/tools/powershell.js +0 -39
  403. package/dist/core/tools/powershell.js.map +0 -1
  404. package/dist/core/tools/read.d.ts +0 -42
  405. package/dist/core/tools/read.d.ts.map +0 -1
  406. package/dist/core/tools/read.js +0 -169
  407. package/dist/core/tools/read.js.map +0 -1
  408. package/dist/core/tools/render-utils.d.ts +0 -30
  409. package/dist/core/tools/render-utils.d.ts.map +0 -1
  410. package/dist/core/tools/render-utils.js +0 -91
  411. package/dist/core/tools/render-utils.js.map +0 -1
  412. package/dist/core/tools/renderers/bash.d.ts +0 -12
  413. package/dist/core/tools/renderers/bash.d.ts.map +0 -1
  414. package/dist/core/tools/renderers/bash.js +0 -117
  415. package/dist/core/tools/renderers/bash.js.map +0 -1
  416. package/dist/core/tools/renderers/edit.d.ts +0 -23
  417. package/dist/core/tools/renderers/edit.d.ts.map +0 -1
  418. package/dist/core/tools/renderers/edit.js +0 -168
  419. package/dist/core/tools/renderers/edit.js.map +0 -1
  420. package/dist/core/tools/renderers/find.d.ts +0 -10
  421. package/dist/core/tools/renderers/find.d.ts.map +0 -1
  422. package/dist/core/tools/renderers/find.js +0 -64
  423. package/dist/core/tools/renderers/find.js.map +0 -1
  424. package/dist/core/tools/renderers/grep.d.ts +0 -10
  425. package/dist/core/tools/renderers/grep.d.ts.map +0 -1
  426. package/dist/core/tools/renderers/grep.js +0 -69
  427. package/dist/core/tools/renderers/grep.js.map +0 -1
  428. package/dist/core/tools/renderers/index.d.ts +0 -28
  429. package/dist/core/tools/renderers/index.d.ts.map +0 -1
  430. package/dist/core/tools/renderers/index.js +0 -47
  431. package/dist/core/tools/renderers/index.js.map +0 -1
  432. package/dist/core/tools/renderers/ls.d.ts +0 -10
  433. package/dist/core/tools/renderers/ls.d.ts.map +0 -1
  434. package/dist/core/tools/renderers/ls.js +0 -58
  435. package/dist/core/tools/renderers/ls.js.map +0 -1
  436. package/dist/core/tools/renderers/read.d.ts +0 -11
  437. package/dist/core/tools/renderers/read.d.ts.map +0 -1
  438. package/dist/core/tools/renderers/read.js +0 -130
  439. package/dist/core/tools/renderers/read.js.map +0 -1
  440. package/dist/core/tools/renderers/write.d.ts +0 -10
  441. package/dist/core/tools/renderers/write.d.ts.map +0 -1
  442. package/dist/core/tools/renderers/write.js +0 -153
  443. package/dist/core/tools/renderers/write.js.map +0 -1
  444. package/dist/core/tools/tool-definition-wrapper.d.ts +0 -16
  445. package/dist/core/tools/tool-definition-wrapper.d.ts.map +0 -1
  446. package/dist/core/tools/tool-definition-wrapper.js +0 -38
  447. package/dist/core/tools/tool-definition-wrapper.js.map +0 -1
  448. package/dist/core/tools/truncate.d.ts +0 -84
  449. package/dist/core/tools/truncate.d.ts.map +0 -1
  450. package/dist/core/tools/truncate.js +0 -244
  451. package/dist/core/tools/truncate.js.map +0 -1
  452. package/dist/core/tools/write.d.ts +0 -30
  453. package/dist/core/tools/write.d.ts.map +0 -1
  454. package/dist/core/tools/write.js +0 -61
  455. package/dist/core/tools/write.js.map +0 -1
  456. package/dist/core/trust-manager.d.ts +0 -36
  457. package/dist/core/trust-manager.d.ts.map +0 -1
  458. package/dist/core/trust-manager.js +0 -203
  459. package/dist/core/trust-manager.js.map +0 -1
  460. package/dist/core/usage-totals.d.ts +0 -21
  461. package/dist/core/usage-totals.d.ts.map +0 -1
  462. package/dist/core/usage-totals.js +0 -79
  463. package/dist/core/usage-totals.js.map +0 -1
  464. package/dist/core/virtual-models.d.ts +0 -117
  465. package/dist/core/virtual-models.d.ts.map +0 -1
  466. package/dist/core/virtual-models.js +0 -124
  467. package/dist/core/virtual-models.js.map +0 -1
  468. package/dist/extensions/index.d.ts +0 -3
  469. package/dist/extensions/index.d.ts.map +0 -1
  470. package/dist/extensions/index.js +0 -3
  471. package/dist/extensions/index.js.map +0 -1
  472. package/dist/extensions/llama/client.d.ts +0 -69
  473. package/dist/extensions/llama/client.d.ts.map +0 -1
  474. package/dist/extensions/llama/client.js +0 -313
  475. package/dist/extensions/llama/client.js.map +0 -1
  476. package/dist/extensions/llama/huggingface.d.ts +0 -23
  477. package/dist/extensions/llama/huggingface.d.ts.map +0 -1
  478. package/dist/extensions/llama/huggingface.js +0 -141
  479. package/dist/extensions/llama/huggingface.js.map +0 -1
  480. package/dist/extensions/llama/index.d.ts +0 -3
  481. package/dist/extensions/llama/index.d.ts.map +0 -1
  482. package/dist/extensions/llama/index.js +0 -219
  483. package/dist/extensions/llama/index.js.map +0 -1
  484. package/dist/extensions/llama/provider.d.ts +0 -12
  485. package/dist/extensions/llama/provider.d.ts.map +0 -1
  486. package/dist/extensions/llama/provider.js +0 -213
  487. package/dist/extensions/llama/provider.js.map +0 -1
  488. package/dist/extensions/llama/ui.d.ts +0 -42
  489. package/dist/extensions/llama/ui.d.ts.map +0 -1
  490. package/dist/extensions/llama/ui.js +0 -416
  491. package/dist/extensions/llama/ui.js.map +0 -1
  492. package/dist/index.d.ts +0 -38
  493. package/dist/index.d.ts.map +0 -1
  494. package/dist/index.js +0 -49
  495. package/dist/index.js.map +0 -1
  496. package/dist/main.d.ts +0 -16
  497. package/dist/main.d.ts.map +0 -1
  498. package/dist/main.js +0 -819
  499. package/dist/main.js.map +0 -1
  500. package/dist/migrations.d.ts +0 -33
  501. package/dist/migrations.d.ts.map +0 -1
  502. package/dist/migrations.js +0 -282
  503. package/dist/migrations.js.map +0 -1
  504. package/dist/modes/index.d.ts +0 -10
  505. package/dist/modes/index.d.ts.map +0 -1
  506. package/dist/modes/index.js +0 -8
  507. package/dist/modes/index.js.map +0 -1
  508. package/dist/modes/interactive/bug-report.d.ts +0 -16
  509. package/dist/modes/interactive/bug-report.d.ts.map +0 -1
  510. package/dist/modes/interactive/bug-report.js +0 -210
  511. package/dist/modes/interactive/bug-report.js.map +0 -1
  512. package/dist/modes/interactive/chat-viewport.d.ts +0 -20
  513. package/dist/modes/interactive/chat-viewport.d.ts.map +0 -1
  514. package/dist/modes/interactive/chat-viewport.js +0 -28
  515. package/dist/modes/interactive/chat-viewport.js.map +0 -1
  516. package/dist/modes/interactive/components/armin.d.ts +0 -37
  517. package/dist/modes/interactive/components/armin.d.ts.map +0 -1
  518. package/dist/modes/interactive/components/armin.js +0 -335
  519. package/dist/modes/interactive/components/armin.js.map +0 -1
  520. package/dist/modes/interactive/components/assistant-message.d.ts +0 -26
  521. package/dist/modes/interactive/components/assistant-message.d.ts.map +0 -1
  522. package/dist/modes/interactive/components/assistant-message.js +0 -158
  523. package/dist/modes/interactive/components/assistant-message.js.map +0 -1
  524. package/dist/modes/interactive/components/bash-execution.d.ts +0 -38
  525. package/dist/modes/interactive/components/bash-execution.d.ts.map +0 -1
  526. package/dist/modes/interactive/components/bash-execution.js +0 -178
  527. package/dist/modes/interactive/components/bash-execution.js.map +0 -1
  528. package/dist/modes/interactive/components/bordered-loader.d.ts +0 -16
  529. package/dist/modes/interactive/components/bordered-loader.d.ts.map +0 -1
  530. package/dist/modes/interactive/components/bordered-loader.js +0 -54
  531. package/dist/modes/interactive/components/bordered-loader.js.map +0 -1
  532. package/dist/modes/interactive/components/branch-summary-message.d.ts +0 -17
  533. package/dist/modes/interactive/components/branch-summary-message.d.ts.map +0 -1
  534. package/dist/modes/interactive/components/branch-summary-message.js +0 -54
  535. package/dist/modes/interactive/components/branch-summary-message.js.map +0 -1
  536. package/dist/modes/interactive/components/compaction-summary-message.d.ts +0 -17
  537. package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +0 -1
  538. package/dist/modes/interactive/components/compaction-summary-message.js +0 -55
  539. package/dist/modes/interactive/components/compaction-summary-message.js.map +0 -1
  540. package/dist/modes/interactive/components/config-selector.d.ts +0 -102
  541. package/dist/modes/interactive/components/config-selector.d.ts.map +0 -1
  542. package/dist/modes/interactive/components/config-selector.js +0 -771
  543. package/dist/modes/interactive/components/config-selector.js.map +0 -1
  544. package/dist/modes/interactive/components/countdown-timer.d.ts +0 -14
  545. package/dist/modes/interactive/components/countdown-timer.d.ts.map +0 -1
  546. package/dist/modes/interactive/components/countdown-timer.js +0 -33
  547. package/dist/modes/interactive/components/countdown-timer.js.map +0 -1
  548. package/dist/modes/interactive/components/custom-editor.d.ts +0 -30
  549. package/dist/modes/interactive/components/custom-editor.d.ts.map +0 -1
  550. package/dist/modes/interactive/components/custom-editor.js +0 -115
  551. package/dist/modes/interactive/components/custom-editor.js.map +0 -1
  552. package/dist/modes/interactive/components/custom-entry.d.ts +0 -21
  553. package/dist/modes/interactive/components/custom-entry.d.ts.map +0 -1
  554. package/dist/modes/interactive/components/custom-entry.js +0 -58
  555. package/dist/modes/interactive/components/custom-entry.js.map +0 -1
  556. package/dist/modes/interactive/components/custom-message.d.ts +0 -22
  557. package/dist/modes/interactive/components/custom-message.d.ts.map +0 -1
  558. package/dist/modes/interactive/components/custom-message.js +0 -88
  559. package/dist/modes/interactive/components/custom-message.js.map +0 -1
  560. package/dist/modes/interactive/components/diff.d.ts +0 -12
  561. package/dist/modes/interactive/components/diff.d.ts.map +0 -1
  562. package/dist/modes/interactive/components/diff.js +0 -133
  563. package/dist/modes/interactive/components/diff.js.map +0 -1
  564. package/dist/modes/interactive/components/dynamic-border.d.ts +0 -15
  565. package/dist/modes/interactive/components/dynamic-border.d.ts.map +0 -1
  566. package/dist/modes/interactive/components/dynamic-border.js +0 -21
  567. package/dist/modes/interactive/components/dynamic-border.js.map +0 -1
  568. package/dist/modes/interactive/components/e-logo.d.ts +0 -16
  569. package/dist/modes/interactive/components/e-logo.d.ts.map +0 -1
  570. package/dist/modes/interactive/components/e-logo.js +0 -29
  571. package/dist/modes/interactive/components/e-logo.js.map +0 -1
  572. package/dist/modes/interactive/components/earendil-announcement.d.ts +0 -5
  573. package/dist/modes/interactive/components/earendil-announcement.d.ts.map +0 -1
  574. package/dist/modes/interactive/components/earendil-announcement.js +0 -40
  575. package/dist/modes/interactive/components/earendil-announcement.js.map +0 -1
  576. package/dist/modes/interactive/components/easter-egg-3d.d.ts +0 -104
  577. package/dist/modes/interactive/components/easter-egg-3d.d.ts.map +0 -1
  578. package/dist/modes/interactive/components/easter-egg-3d.js +0 -1138
  579. package/dist/modes/interactive/components/easter-egg-3d.js.map +0 -1
  580. package/dist/modes/interactive/components/easter-egg-3d.lazy.d.ts +0 -6
  581. package/dist/modes/interactive/components/easter-egg-3d.lazy.d.ts.map +0 -1
  582. package/dist/modes/interactive/components/easter-egg-3d.lazy.js +0 -23
  583. package/dist/modes/interactive/components/easter-egg-3d.lazy.js.map +0 -1
  584. package/dist/modes/interactive/components/extension-editor.d.ts +0 -24
  585. package/dist/modes/interactive/components/extension-editor.d.ts.map +0 -1
  586. package/dist/modes/interactive/components/extension-editor.js +0 -103
  587. package/dist/modes/interactive/components/extension-editor.js.map +0 -1
  588. package/dist/modes/interactive/components/extension-input.d.ts +0 -25
  589. package/dist/modes/interactive/components/extension-input.d.ts.map +0 -1
  590. package/dist/modes/interactive/components/extension-input.js +0 -67
  591. package/dist/modes/interactive/components/extension-input.js.map +0 -1
  592. package/dist/modes/interactive/components/extension-selector.d.ts +0 -27
  593. package/dist/modes/interactive/components/extension-selector.d.ts.map +0 -1
  594. package/dist/modes/interactive/components/extension-selector.js +0 -87
  595. package/dist/modes/interactive/components/extension-selector.js.map +0 -1
  596. package/dist/modes/interactive/components/first-time-setup.d.ts +0 -25
  597. package/dist/modes/interactive/components/first-time-setup.d.ts.map +0 -1
  598. package/dist/modes/interactive/components/first-time-setup.js +0 -109
  599. package/dist/modes/interactive/components/first-time-setup.js.map +0 -1
  600. package/dist/modes/interactive/components/footer.d.ts +0 -39
  601. package/dist/modes/interactive/components/footer.d.ts.map +0 -1
  602. package/dist/modes/interactive/components/footer.js +0 -265
  603. package/dist/modes/interactive/components/footer.js.map +0 -1
  604. package/dist/modes/interactive/components/index.d.ts +0 -33
  605. package/dist/modes/interactive/components/index.d.ts.map +0 -1
  606. package/dist/modes/interactive/components/index.js +0 -34
  607. package/dist/modes/interactive/components/index.js.map +0 -1
  608. package/dist/modes/interactive/components/keybinding-hints.d.ts +0 -13
  609. package/dist/modes/interactive/components/keybinding-hints.d.ts.map +0 -1
  610. package/dist/modes/interactive/components/keybinding-hints.js +0 -36
  611. package/dist/modes/interactive/components/keybinding-hints.js.map +0 -1
  612. package/dist/modes/interactive/components/login-dialog.d.ts +0 -52
  613. package/dist/modes/interactive/components/login-dialog.d.ts.map +0 -1
  614. package/dist/modes/interactive/components/login-dialog.js +0 -188
  615. package/dist/modes/interactive/components/login-dialog.js.map +0 -1
  616. package/dist/modes/interactive/components/markdown-transform.d.ts +0 -3
  617. package/dist/modes/interactive/components/markdown-transform.d.ts.map +0 -1
  618. package/dist/modes/interactive/components/markdown-transform.js +0 -19
  619. package/dist/modes/interactive/components/markdown-transform.js.map +0 -1
  620. package/dist/modes/interactive/components/mermaid.d.ts +0 -11
  621. package/dist/modes/interactive/components/mermaid.d.ts.map +0 -1
  622. package/dist/modes/interactive/components/mermaid.js +0 -75
  623. package/dist/modes/interactive/components/mermaid.js.map +0 -1
  624. package/dist/modes/interactive/components/model-selector.d.ts +0 -60
  625. package/dist/modes/interactive/components/model-selector.d.ts.map +0 -1
  626. package/dist/modes/interactive/components/model-selector.js +0 -361
  627. package/dist/modes/interactive/components/model-selector.js.map +0 -1
  628. package/dist/modes/interactive/components/oauth-selector.d.ts +0 -33
  629. package/dist/modes/interactive/components/oauth-selector.d.ts.map +0 -1
  630. package/dist/modes/interactive/components/oauth-selector.js +0 -163
  631. package/dist/modes/interactive/components/oauth-selector.js.map +0 -1
  632. package/dist/modes/interactive/components/scoped-models-selector.d.ts +0 -46
  633. package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +0 -1
  634. package/dist/modes/interactive/components/scoped-models-selector.js +0 -326
  635. package/dist/modes/interactive/components/scoped-models-selector.js.map +0 -1
  636. package/dist/modes/interactive/components/session-selector-search.d.ts +0 -23
  637. package/dist/modes/interactive/components/session-selector-search.d.ts.map +0 -1
  638. package/dist/modes/interactive/components/session-selector-search.js +0 -155
  639. package/dist/modes/interactive/components/session-selector-search.js.map +0 -1
  640. package/dist/modes/interactive/components/session-selector.d.ts +0 -95
  641. package/dist/modes/interactive/components/session-selector.d.ts.map +0 -1
  642. package/dist/modes/interactive/components/session-selector.js +0 -893
  643. package/dist/modes/interactive/components/session-selector.js.map +0 -1
  644. package/dist/modes/interactive/components/settings-selector.d.ts +0 -96
  645. package/dist/modes/interactive/components/settings-selector.d.ts.map +0 -1
  646. package/dist/modes/interactive/components/settings-selector.js +0 -742
  647. package/dist/modes/interactive/components/settings-selector.js.map +0 -1
  648. package/dist/modes/interactive/components/settings-submenu.d.ts +0 -72
  649. package/dist/modes/interactive/components/settings-submenu.d.ts.map +0 -1
  650. package/dist/modes/interactive/components/settings-submenu.js +0 -165
  651. package/dist/modes/interactive/components/settings-submenu.js.map +0 -1
  652. package/dist/modes/interactive/components/show-images-selector.d.ts +0 -10
  653. package/dist/modes/interactive/components/show-images-selector.d.ts.map +0 -1
  654. package/dist/modes/interactive/components/show-images-selector.js +0 -39
  655. package/dist/modes/interactive/components/show-images-selector.js.map +0 -1
  656. package/dist/modes/interactive/components/skill-invocation-message.d.ts +0 -18
  657. package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +0 -1
  658. package/dist/modes/interactive/components/skill-invocation-message.js +0 -57
  659. package/dist/modes/interactive/components/skill-invocation-message.js.map +0 -1
  660. package/dist/modes/interactive/components/status-indicator.d.ts +0 -30
  661. package/dist/modes/interactive/components/status-indicator.d.ts.map +0 -1
  662. package/dist/modes/interactive/components/status-indicator.js +0 -67
  663. package/dist/modes/interactive/components/status-indicator.js.map +0 -1
  664. package/dist/modes/interactive/components/theme-selector.d.ts +0 -11
  665. package/dist/modes/interactive/components/theme-selector.d.ts.map +0 -1
  666. package/dist/modes/interactive/components/theme-selector.js +0 -50
  667. package/dist/modes/interactive/components/theme-selector.js.map +0 -1
  668. package/dist/modes/interactive/components/themed-text.d.ts +0 -17
  669. package/dist/modes/interactive/components/themed-text.d.ts.map +0 -1
  670. package/dist/modes/interactive/components/themed-text.js +0 -29
  671. package/dist/modes/interactive/components/themed-text.js.map +0 -1
  672. package/dist/modes/interactive/components/thinking-selector.d.ts +0 -23
  673. package/dist/modes/interactive/components/thinking-selector.d.ts.map +0 -1
  674. package/dist/modes/interactive/components/thinking-selector.js +0 -109
  675. package/dist/modes/interactive/components/thinking-selector.js.map +0 -1
  676. package/dist/modes/interactive/components/tool-execution.d.ts +0 -83
  677. package/dist/modes/interactive/components/tool-execution.d.ts.map +0 -1
  678. package/dist/modes/interactive/components/tool-execution.js +0 -323
  679. package/dist/modes/interactive/components/tool-execution.js.map +0 -1
  680. package/dist/modes/interactive/components/tree-selector.d.ts +0 -94
  681. package/dist/modes/interactive/components/tree-selector.d.ts.map +0 -1
  682. package/dist/modes/interactive/components/tree-selector.js +0 -1254
  683. package/dist/modes/interactive/components/tree-selector.js.map +0 -1
  684. package/dist/modes/interactive/components/trust-selector.d.ts +0 -23
  685. package/dist/modes/interactive/components/trust-selector.d.ts.map +0 -1
  686. package/dist/modes/interactive/components/trust-selector.js +0 -91
  687. package/dist/modes/interactive/components/trust-selector.js.map +0 -1
  688. package/dist/modes/interactive/components/user-message-selector.d.ts +0 -30
  689. package/dist/modes/interactive/components/user-message-selector.d.ts.map +0 -1
  690. package/dist/modes/interactive/components/user-message-selector.js +0 -114
  691. package/dist/modes/interactive/components/user-message-selector.js.map +0 -1
  692. package/dist/modes/interactive/components/user-message.d.ts +0 -16
  693. package/dist/modes/interactive/components/user-message.d.ts.map +0 -1
  694. package/dist/modes/interactive/components/user-message.js +0 -50
  695. package/dist/modes/interactive/components/user-message.js.map +0 -1
  696. package/dist/modes/interactive/components/visual-truncate.d.ts +0 -48
  697. package/dist/modes/interactive/components/visual-truncate.d.ts.map +0 -1
  698. package/dist/modes/interactive/components/visual-truncate.js +0 -66
  699. package/dist/modes/interactive/components/visual-truncate.js.map +0 -1
  700. package/dist/modes/interactive/external-editor.d.ts +0 -12
  701. package/dist/modes/interactive/external-editor.d.ts.map +0 -1
  702. package/dist/modes/interactive/external-editor.js +0 -38
  703. package/dist/modes/interactive/external-editor.js.map +0 -1
  704. package/dist/modes/interactive/interactive-mode.d.ts +0 -470
  705. package/dist/modes/interactive/interactive-mode.d.ts.map +0 -1
  706. package/dist/modes/interactive/interactive-mode.js +0 -5795
  707. package/dist/modes/interactive/interactive-mode.js.map +0 -1
  708. package/dist/modes/interactive/model-catalog-refresh.d.ts +0 -7
  709. package/dist/modes/interactive/model-catalog-refresh.d.ts.map +0 -1
  710. package/dist/modes/interactive/model-catalog-refresh.js +0 -34
  711. package/dist/modes/interactive/model-catalog-refresh.js.map +0 -1
  712. package/dist/modes/interactive/model-search.d.ts +0 -12
  713. package/dist/modes/interactive/model-search.d.ts.map +0 -1
  714. package/dist/modes/interactive/model-search.js +0 -15
  715. package/dist/modes/interactive/model-search.js.map +0 -1
  716. package/dist/modes/interactive/session-share.d.ts +0 -18
  717. package/dist/modes/interactive/session-share.d.ts.map +0 -1
  718. package/dist/modes/interactive/session-share.js +0 -188
  719. package/dist/modes/interactive/session-share.js.map +0 -1
  720. package/dist/modes/interactive/theme/system-theme.d.ts +0 -55
  721. package/dist/modes/interactive/theme/system-theme.d.ts.map +0 -1
  722. package/dist/modes/interactive/theme/system-theme.js +0 -546
  723. package/dist/modes/interactive/theme/system-theme.js.map +0 -1
  724. package/dist/modes/interactive/theme/theme-controller.d.ts +0 -81
  725. package/dist/modes/interactive/theme/theme-controller.d.ts.map +0 -1
  726. package/dist/modes/interactive/theme/theme-controller.js +0 -210
  727. package/dist/modes/interactive/theme/theme-controller.js.map +0 -1
  728. package/dist/modes/interactive/theme/theme-json.d.ts +0 -85
  729. package/dist/modes/interactive/theme/theme-json.d.ts.map +0 -1
  730. package/dist/modes/interactive/theme/theme-json.js +0 -132
  731. package/dist/modes/interactive/theme/theme-json.js.map +0 -1
  732. package/dist/modes/interactive/theme/theme.d.ts +0 -158
  733. package/dist/modes/interactive/theme/theme.d.ts.map +0 -1
  734. package/dist/modes/interactive/theme/theme.js +0 -913
  735. package/dist/modes/interactive/theme/theme.js.map +0 -1
  736. package/dist/modes/interactive/tui-renderer.d.ts +0 -22
  737. package/dist/modes/interactive/tui-renderer.d.ts.map +0 -1
  738. package/dist/modes/interactive/tui-renderer.js +0 -67
  739. package/dist/modes/interactive/tui-renderer.js.map +0 -1
  740. package/dist/modes/json-event.d.ts +0 -34
  741. package/dist/modes/json-event.d.ts.map +0 -1
  742. package/dist/modes/json-event.js +0 -29
  743. package/dist/modes/json-event.js.map +0 -1
  744. package/dist/modes/print-mode.d.ts +0 -28
  745. package/dist/modes/print-mode.d.ts.map +0 -1
  746. package/dist/modes/print-mode.js +0 -142
  747. package/dist/modes/print-mode.js.map +0 -1
  748. package/dist/modes/rpc/jsonl.d.ts +0 -17
  749. package/dist/modes/rpc/jsonl.d.ts.map +0 -1
  750. package/dist/modes/rpc/jsonl.js +0 -49
  751. package/dist/modes/rpc/jsonl.js.map +0 -1
  752. package/dist/modes/rpc/rpc-client.d.ts +0 -254
  753. package/dist/modes/rpc/rpc-client.d.ts.map +0 -1
  754. package/dist/modes/rpc/rpc-client.js +0 -499
  755. package/dist/modes/rpc/rpc-client.js.map +0 -1
  756. package/dist/modes/rpc/rpc-mode.d.ts +0 -20
  757. package/dist/modes/rpc/rpc-mode.d.ts.map +0 -1
  758. package/dist/modes/rpc/rpc-mode.js +0 -655
  759. package/dist/modes/rpc/rpc-mode.js.map +0 -1
  760. package/dist/modes/rpc/rpc-types.d.ts +0 -478
  761. package/dist/modes/rpc/rpc-types.d.ts.map +0 -1
  762. package/dist/modes/rpc/rpc-types.js +0 -8
  763. package/dist/modes/rpc/rpc-types.js.map +0 -1
  764. package/dist/package-manager-cli.d.ts +0 -9
  765. package/dist/package-manager-cli.d.ts.map +0 -1
  766. package/dist/package-manager-cli.js +0 -1003
  767. package/dist/package-manager-cli.js.map +0 -1
  768. package/dist/rpc-entry.d.ts +0 -3
  769. package/dist/rpc-entry.d.ts.map +0 -1
  770. package/dist/rpc-entry.js +0 -11
  771. package/dist/rpc-entry.js.map +0 -1
  772. package/dist/utils/abort.d.ts +0 -5
  773. package/dist/utils/abort.d.ts.map +0 -1
  774. package/dist/utils/abort.js +0 -48
  775. package/dist/utils/abort.js.map +0 -1
  776. package/dist/utils/ansi.d.ts +0 -10
  777. package/dist/utils/ansi.d.ts.map +0 -1
  778. package/dist/utils/ansi.js +0 -71
  779. package/dist/utils/ansi.js.map +0 -1
  780. package/dist/utils/changelog.d.ts +0 -22
  781. package/dist/utils/changelog.d.ts.map +0 -1
  782. package/dist/utils/changelog.js +0 -165
  783. package/dist/utils/changelog.js.map +0 -1
  784. package/dist/utils/child-process.d.ts +0 -18
  785. package/dist/utils/child-process.d.ts.map +0 -1
  786. package/dist/utils/child-process.js +0 -106
  787. package/dist/utils/child-process.js.map +0 -1
  788. package/dist/utils/clipboard-command.d.ts +0 -7
  789. package/dist/utils/clipboard-command.d.ts.map +0 -1
  790. package/dist/utils/clipboard-command.js +0 -45
  791. package/dist/utils/clipboard-command.js.map +0 -1
  792. package/dist/utils/clipboard-image.d.ts +0 -11
  793. package/dist/utils/clipboard-image.d.ts.map +0 -1
  794. package/dist/utils/clipboard-image.js +0 -214
  795. package/dist/utils/clipboard-image.js.map +0 -1
  796. package/dist/utils/clipboard.d.ts +0 -6
  797. package/dist/utils/clipboard.d.ts.map +0 -1
  798. package/dist/utils/clipboard.js +0 -157
  799. package/dist/utils/clipboard.js.map +0 -1
  800. package/dist/utils/deprecation.d.ts +0 -4
  801. package/dist/utils/deprecation.d.ts.map +0 -1
  802. package/dist/utils/deprecation.js +0 -13
  803. package/dist/utils/deprecation.js.map +0 -1
  804. package/dist/utils/exif-orientation.d.ts +0 -5
  805. package/dist/utils/exif-orientation.d.ts.map +0 -1
  806. package/dist/utils/exif-orientation.js +0 -157
  807. package/dist/utils/exif-orientation.js.map +0 -1
  808. package/dist/utils/frontmatter.d.ts +0 -8
  809. package/dist/utils/frontmatter.d.ts.map +0 -1
  810. package/dist/utils/frontmatter.js +0 -27
  811. package/dist/utils/frontmatter.js.map +0 -1
  812. package/dist/utils/fs-watch.d.ts +0 -5
  813. package/dist/utils/fs-watch.d.ts.map +0 -1
  814. package/dist/utils/fs-watch.js +0 -25
  815. package/dist/utils/fs-watch.js.map +0 -1
  816. package/dist/utils/git.d.ts +0 -26
  817. package/dist/utils/git.d.ts.map +0 -1
  818. package/dist/utils/git.js +0 -195
  819. package/dist/utils/git.js.map +0 -1
  820. package/dist/utils/html.d.ts +0 -7
  821. package/dist/utils/html.d.ts.map +0 -1
  822. package/dist/utils/html.js +0 -40
  823. package/dist/utils/html.js.map +0 -1
  824. package/dist/utils/image-convert.d.ts +0 -22
  825. package/dist/utils/image-convert.d.ts.map +0 -1
  826. package/dist/utils/image-convert.js +0 -84
  827. package/dist/utils/image-convert.js.map +0 -1
  828. package/dist/utils/image-process.d.ts +0 -18
  829. package/dist/utils/image-process.d.ts.map +0 -1
  830. package/dist/utils/image-process.js +0 -83
  831. package/dist/utils/image-process.js.map +0 -1
  832. package/dist/utils/image-resize-core.d.ts +0 -42
  833. package/dist/utils/image-resize-core.d.ts.map +0 -1
  834. package/dist/utils/image-resize-core.js +0 -129
  835. package/dist/utils/image-resize-core.js.map +0 -1
  836. package/dist/utils/image-resize-worker.d.ts +0 -2
  837. package/dist/utils/image-resize-worker.d.ts.map +0 -1
  838. package/dist/utils/image-resize-worker.js +0 -32
  839. package/dist/utils/image-resize-worker.js.map +0 -1
  840. package/dist/utils/image-resize.d.ts +0 -16
  841. package/dist/utils/image-resize.d.ts.map +0 -1
  842. package/dist/utils/image-resize.js +0 -96
  843. package/dist/utils/image-resize.js.map +0 -1
  844. package/dist/utils/json.d.ts +0 -3
  845. package/dist/utils/json.d.ts.map +0 -1
  846. package/dist/utils/json.js +0 -7
  847. package/dist/utils/json.js.map +0 -1
  848. package/dist/utils/management-http.d.ts +0 -25
  849. package/dist/utils/management-http.d.ts.map +0 -1
  850. package/dist/utils/management-http.js +0 -54
  851. package/dist/utils/management-http.js.map +0 -1
  852. package/dist/utils/mime.d.ts +0 -3
  853. package/dist/utils/mime.d.ts.map +0 -1
  854. package/dist/utils/mime.js +0 -110
  855. package/dist/utils/mime.js.map +0 -1
  856. package/dist/utils/open-browser.d.ts +0 -9
  857. package/dist/utils/open-browser.d.ts.map +0 -1
  858. package/dist/utils/open-browser.js +0 -22
  859. package/dist/utils/open-browser.js.map +0 -1
  860. package/dist/utils/paths.d.ts +0 -34
  861. package/dist/utils/paths.d.ts.map +0 -1
  862. package/dist/utils/paths.js +0 -115
  863. package/dist/utils/paths.js.map +0 -1
  864. package/dist/utils/photon.d.ts +0 -21
  865. package/dist/utils/photon.d.ts.map +0 -1
  866. package/dist/utils/photon.js +0 -121
  867. package/dist/utils/photon.js.map +0 -1
  868. package/dist/utils/pi-user-agent.d.ts +0 -2
  869. package/dist/utils/pi-user-agent.d.ts.map +0 -1
  870. package/dist/utils/pi-user-agent.js +0 -5
  871. package/dist/utils/pi-user-agent.js.map +0 -1
  872. package/dist/utils/shell.d.ts +0 -32
  873. package/dist/utils/shell.d.ts.map +0 -1
  874. package/dist/utils/shell.js +0 -189
  875. package/dist/utils/shell.js.map +0 -1
  876. package/dist/utils/sleep.d.ts +0 -5
  877. package/dist/utils/sleep.d.ts.map +0 -1
  878. package/dist/utils/sleep.js +0 -17
  879. package/dist/utils/sleep.js.map +0 -1
  880. package/dist/utils/syntax-highlight.d.ts +0 -13
  881. package/dist/utils/syntax-highlight.d.ts.map +0 -1
  882. package/dist/utils/syntax-highlight.js +0 -184
  883. package/dist/utils/syntax-highlight.js.map +0 -1
  884. package/dist/utils/text.d.ts +0 -8
  885. package/dist/utils/text.d.ts.map +0 -1
  886. package/dist/utils/text.js +0 -9
  887. package/dist/utils/text.js.map +0 -1
  888. package/dist/utils/tool-result-images.d.ts +0 -21
  889. package/dist/utils/tool-result-images.d.ts.map +0 -1
  890. package/dist/utils/tool-result-images.js +0 -48
  891. package/dist/utils/tool-result-images.js.map +0 -1
  892. package/dist/utils/tools-manager.d.ts +0 -13
  893. package/dist/utils/tools-manager.d.ts.map +0 -1
  894. package/dist/utils/tools-manager.js +0 -343
  895. package/dist/utils/tools-manager.js.map +0 -1
  896. package/dist/utils/version-check.d.ts +0 -19
  897. package/dist/utils/version-check.d.ts.map +0 -1
  898. package/dist/utils/version-check.js +0 -72
  899. package/dist/utils/version-check.js.map +0 -1
  900. package/dist/utils/windows-self-update.d.ts +0 -3
  901. package/dist/utils/windows-self-update.d.ts.map +0 -1
  902. package/dist/utils/windows-self-update.js +0 -77
  903. package/dist/utils/windows-self-update.js.map +0 -1
  904. package/dist/utils/wsl.d.ts +0 -3
  905. package/dist/utils/wsl.d.ts.map +0 -1
  906. package/dist/utils/wsl.js +0 -15
  907. package/dist/utils/wsl.js.map +0 -1
  908. package/dist/utils/zip.d.ts +0 -7
  909. package/dist/utils/zip.d.ts.map +0 -1
  910. package/dist/utils/zip.js +0 -60
  911. package/dist/utils/zip.js.map +0 -1
@@ -1,893 +0,0 @@
1
- import { spawnSync } from "node:child_process";
2
- import { existsSync } from "node:fs";
3
- import { unlink } from "node:fs/promises";
4
- import * as os from "node:os";
5
- import { Container, getKeybindings, Input, Spacer, Text, truncateToWidth, visibleWidth, } from "@earendil-works/pi-tui";
6
- import { KeybindingsManager } from "../../../core/keybindings.js";
7
- import { canonicalizePath as _canonicalizePath } from "../../../utils/paths.js";
8
- import { theme } from "../theme/theme.js";
9
- import { DynamicBorder } from "./dynamic-border.js";
10
- import { keyHint, keyText } from "./keybinding-hints.js";
11
- import { filterAndSortSessions, hasSessionName } from "./session-selector-search.js";
12
- function shortenPath(path) {
13
- const home = os.homedir();
14
- if (!path)
15
- return path;
16
- if (path.startsWith(home)) {
17
- return `~${path.slice(home.length)}`;
18
- }
19
- return path;
20
- }
21
- function formatSessionDate(date) {
22
- const now = new Date();
23
- const diffMs = now.getTime() - date.getTime();
24
- const diffMins = Math.floor(diffMs / 60000);
25
- const diffHours = Math.floor(diffMs / 3600000);
26
- const diffDays = Math.floor(diffMs / 86400000);
27
- if (diffMins < 1)
28
- return "now";
29
- if (diffMins < 60)
30
- return `${diffMins}m`;
31
- if (diffHours < 24)
32
- return `${diffHours}h`;
33
- if (diffDays < 7)
34
- return `${diffDays}d`;
35
- if (diffDays < 30)
36
- return `${Math.floor(diffDays / 7)}w`;
37
- if (diffDays < 365)
38
- return `${Math.floor(diffDays / 30)}mo`;
39
- return `${Math.floor(diffDays / 365)}y`;
40
- }
41
- function canonicalizePath(path) {
42
- if (!path)
43
- return path;
44
- return _canonicalizePath(path);
45
- }
46
- class SessionSelectorHeader {
47
- scope;
48
- sortMode;
49
- nameFilter;
50
- requestRender;
51
- loading = false;
52
- loadProgress = null;
53
- showPath = false;
54
- confirmingDeletePath = null;
55
- statusMessage = null;
56
- statusTimeout = null;
57
- showRenameHint = false;
58
- constructor(scope, sortMode, nameFilter, requestRender) {
59
- this.scope = scope;
60
- this.sortMode = sortMode;
61
- this.nameFilter = nameFilter;
62
- this.requestRender = requestRender;
63
- }
64
- setScope(scope) {
65
- this.scope = scope;
66
- }
67
- setSortMode(sortMode) {
68
- this.sortMode = sortMode;
69
- }
70
- setNameFilter(nameFilter) {
71
- this.nameFilter = nameFilter;
72
- }
73
- setLoading(loading) {
74
- this.loading = loading;
75
- // Progress is scoped to the current load; clear whenever the loading state is set
76
- this.loadProgress = null;
77
- }
78
- setProgress(loaded, total) {
79
- this.loadProgress = { loaded, total };
80
- }
81
- setShowPath(showPath) {
82
- this.showPath = showPath;
83
- }
84
- setShowRenameHint(show) {
85
- this.showRenameHint = show;
86
- }
87
- setConfirmingDeletePath(path) {
88
- this.confirmingDeletePath = path;
89
- }
90
- clearStatusTimeout() {
91
- if (!this.statusTimeout)
92
- return;
93
- clearTimeout(this.statusTimeout);
94
- this.statusTimeout = null;
95
- }
96
- setStatusMessage(msg, autoHideMs) {
97
- this.clearStatusTimeout();
98
- this.statusMessage = msg;
99
- if (!msg || !autoHideMs)
100
- return;
101
- this.statusTimeout = setTimeout(() => {
102
- this.statusMessage = null;
103
- this.statusTimeout = null;
104
- this.requestRender();
105
- }, autoHideMs);
106
- }
107
- invalidate() { }
108
- render(width) {
109
- const title = this.scope === "current" ? "Resume Session (Current Folder)" : "Resume Session (All)";
110
- const leftText = theme.bold(title);
111
- const sortLabel = this.sortMode === "threaded" ? "Threaded" : this.sortMode === "recent" ? "Recent" : "Fuzzy";
112
- const sortText = theme.fg("muted", "Sort: ") + theme.fg("accent", sortLabel);
113
- const nameLabel = this.nameFilter === "all" ? "All" : "Named";
114
- const nameText = theme.fg("muted", "Name: ") + theme.fg("accent", nameLabel);
115
- let scopeText;
116
- if (this.loading) {
117
- const progressText = this.loadProgress ? `${this.loadProgress.loaded}/${this.loadProgress.total}` : "...";
118
- scopeText = `${theme.fg("muted", "○ Current Folder | ")}${theme.fg("accent", `Loading ${progressText}`)}`;
119
- }
120
- else if (this.scope === "current") {
121
- scopeText = `${theme.fg("accent", "◉ Current Folder")}${theme.fg("muted", " | ○ All")}`;
122
- }
123
- else {
124
- scopeText = `${theme.fg("muted", "○ Current Folder | ")}${theme.fg("accent", "◉ All")}`;
125
- }
126
- const rightText = truncateToWidth(`${scopeText} ${nameText} ${sortText}`, width, "");
127
- const availableLeft = Math.max(0, width - visibleWidth(rightText) - 1);
128
- const left = truncateToWidth(leftText, availableLeft, "");
129
- const spacing = Math.max(0, width - visibleWidth(left) - visibleWidth(rightText));
130
- // Build hint lines - changes based on state (all branches truncate to width)
131
- let hintLine1;
132
- let hintLine2;
133
- if (this.confirmingDeletePath !== null) {
134
- const confirmHint = `Delete session? ${keyHint("tui.select.confirm", "confirm")} · ${keyHint("tui.select.cancel", "cancel")}`;
135
- hintLine1 = theme.fg("error", truncateToWidth(confirmHint, width, "…"));
136
- hintLine2 = "";
137
- }
138
- else if (this.statusMessage) {
139
- const color = this.statusMessage.type === "error" ? "error" : "accent";
140
- hintLine1 = theme.fg(color, truncateToWidth(this.statusMessage.message, width, "…"));
141
- hintLine2 = "";
142
- }
143
- else {
144
- const pathState = this.showPath ? "(on)" : "(off)";
145
- const sep = theme.fg("muted", " · ");
146
- const hint1 = keyHint("tui.input.tab", "scope") + sep + theme.fg("muted", 're:<pattern> regex · "phrase" exact');
147
- const hint2Parts = [
148
- keyHint("app.session.toggleSort", "sort"),
149
- keyHint("app.session.toggleNamedFilter", "named"),
150
- keyHint("app.session.delete", "delete"),
151
- keyHint("app.session.togglePath", `path ${pathState}`),
152
- ];
153
- if (this.showRenameHint) {
154
- hint2Parts.push(keyHint("app.session.rename", "rename"));
155
- }
156
- const hint2 = hint2Parts.join(sep);
157
- hintLine1 = truncateToWidth(hint1, width, "…");
158
- hintLine2 = truncateToWidth(hint2, width, "…");
159
- }
160
- return [`${left}${" ".repeat(spacing)}${rightText}`, hintLine1, hintLine2];
161
- }
162
- }
163
- /**
164
- * Build a tree structure from sessions based on parentSessionPath.
165
- * Returns root nodes sorted by modified date (descending).
166
- */
167
- function buildSessionTree(sessions) {
168
- const byPath = new Map();
169
- for (const session of sessions) {
170
- const sessionPath = canonicalizePath(session.path) ?? session.path;
171
- byPath.set(sessionPath, { session, children: [], latestActivity: session.modified.getTime() });
172
- }
173
- const roots = [];
174
- for (const session of sessions) {
175
- const sessionPath = canonicalizePath(session.path) ?? session.path;
176
- const node = byPath.get(sessionPath);
177
- const parentPath = canonicalizePath(session.parentSessionPath);
178
- if (parentPath && byPath.has(parentPath)) {
179
- byPath.get(parentPath).children.push(node);
180
- }
181
- else {
182
- roots.push(node);
183
- }
184
- }
185
- const updateLatestActivity = (node) => {
186
- let latestActivity = node.session.modified.getTime();
187
- for (const child of node.children) {
188
- latestActivity = Math.max(latestActivity, updateLatestActivity(child));
189
- }
190
- node.latestActivity = latestActivity;
191
- return latestActivity;
192
- };
193
- for (const root of roots) {
194
- updateLatestActivity(root);
195
- }
196
- // Sort children and roots by latest activity in each subtree (descending)
197
- const sortNodes = (nodes) => {
198
- nodes.sort((a, b) => b.latestActivity - a.latestActivity);
199
- for (const node of nodes) {
200
- sortNodes(node.children);
201
- }
202
- };
203
- sortNodes(roots);
204
- return roots;
205
- }
206
- /**
207
- * Flatten tree into display list with tree structure metadata.
208
- */
209
- function flattenSessionTree(roots) {
210
- const result = [];
211
- const walk = (node, depth, ancestorContinues, isLast) => {
212
- result.push({ session: node.session, depth, isLast, ancestorContinues });
213
- for (let i = 0; i < node.children.length; i++) {
214
- const childIsLast = i === node.children.length - 1;
215
- // Only show continuation line for non-root ancestors
216
- const continues = depth > 0 ? !isLast : false;
217
- walk(node.children[i], depth + 1, [...ancestorContinues, continues], childIsLast);
218
- }
219
- };
220
- for (let i = 0; i < roots.length; i++) {
221
- walk(roots[i], 0, [], i === roots.length - 1);
222
- }
223
- return result;
224
- }
225
- /**
226
- * Custom session list component with multi-line items and search
227
- */
228
- class SessionList {
229
- getSelectedSessionPath() {
230
- const selected = this.filteredSessions[this.selectedIndex];
231
- return selected?.session.path;
232
- }
233
- allSessions = [];
234
- filteredSessions = [];
235
- selectedIndex = 0;
236
- selectionTouched = false;
237
- searchInput;
238
- showCwd = false;
239
- sortMode = "threaded";
240
- nameFilter = "all";
241
- keybindings;
242
- showPath = false;
243
- confirmingDeletePath = null;
244
- currentSessionCanonicalPath;
245
- onSelect;
246
- onCancel;
247
- onExit = () => { };
248
- onToggleScope;
249
- onToggleSort;
250
- onToggleNameFilter;
251
- onTogglePath;
252
- onDeleteConfirmationChange;
253
- onDeleteSession;
254
- onRenameSession;
255
- onError;
256
- maxVisible = 10; // Max sessions visible (one line each)
257
- // Focusable implementation - propagate to searchInput for IME cursor positioning
258
- _focused = false;
259
- get focused() {
260
- return this._focused;
261
- }
262
- set focused(value) {
263
- this._focused = value;
264
- this.searchInput.focused = value;
265
- }
266
- constructor(sessions, showCwd, sortMode, nameFilter, keybindings, currentSessionFilePath) {
267
- this.allSessions = sessions;
268
- this.filteredSessions = [];
269
- this.searchInput = new Input();
270
- this.showCwd = showCwd;
271
- this.sortMode = sortMode;
272
- this.nameFilter = nameFilter;
273
- this.keybindings = keybindings;
274
- this.currentSessionCanonicalPath = canonicalizePath(currentSessionFilePath);
275
- this.filterSessions("");
276
- // Handle Enter in search input - select current item
277
- this.searchInput.onSubmit = () => {
278
- if (this.filteredSessions[this.selectedIndex]) {
279
- const selected = this.filteredSessions[this.selectedIndex];
280
- if (this.onSelect) {
281
- this.onSelect(selected.session.path);
282
- }
283
- }
284
- };
285
- }
286
- setSortMode(sortMode) {
287
- this.sortMode = sortMode;
288
- this.filterSessions(this.searchInput.getValue());
289
- }
290
- setNameFilter(nameFilter) {
291
- this.nameFilter = nameFilter;
292
- this.filterSessions(this.searchInput.getValue());
293
- }
294
- setSessions(sessions, showCwd) {
295
- const selectedPath = this.selectionTouched ? this.getSelectedSessionPath() : undefined;
296
- this.allSessions = sessions;
297
- this.showCwd = showCwd;
298
- this.filterSessions(this.searchInput.getValue());
299
- if (!this.selectionTouched) {
300
- this.selectedIndex = 0;
301
- }
302
- else if (selectedPath) {
303
- const selectedIndex = this.filteredSessions.findIndex((node) => node.session.path === selectedPath);
304
- if (selectedIndex >= 0)
305
- this.selectedIndex = selectedIndex;
306
- }
307
- }
308
- filterSessions(query) {
309
- const trimmed = query.trim();
310
- const nameFiltered = this.nameFilter === "all" ? this.allSessions : this.allSessions.filter((session) => hasSessionName(session));
311
- if (this.sortMode === "threaded" && !trimmed) {
312
- // Threaded mode without search: show tree structure
313
- const roots = buildSessionTree(nameFiltered);
314
- this.filteredSessions = flattenSessionTree(roots);
315
- }
316
- else {
317
- // Other modes or with search: flat list
318
- const filtered = filterAndSortSessions(nameFiltered, query, this.sortMode, "all");
319
- this.filteredSessions = filtered.map((session) => ({
320
- session,
321
- depth: 0,
322
- isLast: true,
323
- ancestorContinues: [],
324
- }));
325
- }
326
- this.selectedIndex = Math.min(this.selectedIndex, Math.max(0, this.filteredSessions.length - 1));
327
- }
328
- setConfirmingDeletePath(path) {
329
- this.confirmingDeletePath = path;
330
- this.onDeleteConfirmationChange?.(path);
331
- }
332
- startDeleteConfirmationForSelectedSession() {
333
- const selected = this.filteredSessions[this.selectedIndex];
334
- if (!selected)
335
- return;
336
- // Prevent deleting current session
337
- if (this.isCurrentSessionPath(selected.session.path)) {
338
- this.onError?.("Cannot delete the currently active session");
339
- return;
340
- }
341
- this.setConfirmingDeletePath(selected.session.path);
342
- }
343
- isCurrentSessionPath(path) {
344
- if (!this.currentSessionCanonicalPath)
345
- return false;
346
- return (canonicalizePath(path) ?? path) === this.currentSessionCanonicalPath;
347
- }
348
- invalidate() { }
349
- render(width) {
350
- const lines = [];
351
- // Render search input
352
- lines.push(...this.searchInput.render(width));
353
- lines.push(""); // Blank line after search
354
- if (this.filteredSessions.length === 0) {
355
- let emptyMessage;
356
- if (this.nameFilter === "named") {
357
- const toggleKey = keyText("app.session.toggleNamedFilter");
358
- if (this.showCwd) {
359
- emptyMessage = ` No named sessions found. Press ${toggleKey} to show all.`;
360
- }
361
- else {
362
- emptyMessage = ` No named sessions in current folder. Press ${toggleKey} to show all, or Tab to view all.`;
363
- }
364
- }
365
- else if (this.showCwd) {
366
- // "All" scope - no sessions anywhere that match filter
367
- emptyMessage = " No sessions found";
368
- }
369
- else {
370
- // "Current folder" scope - hint to try "all"
371
- emptyMessage = " No sessions in current folder. Press Tab to view all.";
372
- }
373
- lines.push(theme.fg("muted", truncateToWidth(emptyMessage, width, "…")));
374
- return lines;
375
- }
376
- // Calculate visible range with scrolling
377
- const startIndex = Math.max(0, Math.min(this.selectedIndex - Math.floor(this.maxVisible / 2), this.filteredSessions.length - this.maxVisible));
378
- const endIndex = Math.min(startIndex + this.maxVisible, this.filteredSessions.length);
379
- // Render visible sessions (one line each with tree structure)
380
- for (let i = startIndex; i < endIndex; i++) {
381
- const node = this.filteredSessions[i];
382
- const session = node.session;
383
- const isSelected = i === this.selectedIndex;
384
- const isConfirmingDelete = session.path === this.confirmingDeletePath;
385
- const isCurrent = this.isCurrentSessionPath(session.path);
386
- // Build tree prefix
387
- const prefix = this.buildTreePrefix(node);
388
- // Session display text (name or first message)
389
- const hasName = !!session.name;
390
- const displayText = session.name ?? session.firstMessage;
391
- const normalizedMessage = displayText.replace(/[\x00-\x1f\x7f]/g, " ").trim();
392
- // Right side: message count and age
393
- const age = formatSessionDate(session.modified);
394
- const msgCount = String(session.messageCount);
395
- let rightPart = `${msgCount} ${age}`;
396
- if (this.showCwd && session.cwd) {
397
- rightPart = `${shortenPath(session.cwd)} ${rightPart}`;
398
- }
399
- if (this.showPath) {
400
- rightPart = `${shortenPath(session.path)} ${rightPart}`;
401
- }
402
- // Cursor
403
- const cursor = isSelected ? theme.fg("accent", "› ") : " ";
404
- // Calculate available width for message
405
- const prefixWidth = visibleWidth(prefix);
406
- const rightWidth = visibleWidth(rightPart) + 2; // +2 for spacing
407
- const availableForMsg = width - 2 - prefixWidth - rightWidth; // -2 for cursor
408
- const truncatedMsg = truncateToWidth(normalizedMessage, Math.max(10, availableForMsg), "…");
409
- // Style message
410
- let messageColor = null;
411
- if (isConfirmingDelete) {
412
- messageColor = "error";
413
- }
414
- else if (isCurrent) {
415
- messageColor = "accent";
416
- }
417
- else if (hasName) {
418
- messageColor = "warning";
419
- }
420
- let styledMsg = messageColor ? theme.fg(messageColor, truncatedMsg) : truncatedMsg;
421
- if (isSelected) {
422
- styledMsg = theme.bold(styledMsg);
423
- }
424
- // Build line
425
- const leftPart = cursor + theme.fg("dim", prefix) + styledMsg;
426
- const leftWidth = visibleWidth(leftPart);
427
- const spacing = Math.max(1, width - leftWidth - visibleWidth(rightPart));
428
- const styledRight = theme.fg(isConfirmingDelete ? "error" : "dim", rightPart);
429
- let line = leftPart + " ".repeat(spacing) + styledRight;
430
- if (isSelected) {
431
- line = theme.bg("selectedBg", line);
432
- }
433
- lines.push(truncateToWidth(line, width));
434
- }
435
- // Add scroll indicator if needed
436
- if (startIndex > 0 || endIndex < this.filteredSessions.length) {
437
- const scrollText = ` (${this.selectedIndex + 1}/${this.filteredSessions.length})`;
438
- const scrollInfo = theme.fg("muted", truncateToWidth(scrollText, width, ""));
439
- lines.push(scrollInfo);
440
- }
441
- return lines;
442
- }
443
- buildTreePrefix(node) {
444
- if (node.depth === 0) {
445
- return "";
446
- }
447
- const parts = node.ancestorContinues.map((continues) => (continues ? "│ " : " "));
448
- const branch = node.isLast ? "└─ " : "├─ ";
449
- return parts.join("") + branch;
450
- }
451
- handleInput(keyData) {
452
- const kb = getKeybindings();
453
- // Handle delete confirmation state first - intercept all keys
454
- if (this.confirmingDeletePath !== null) {
455
- if (kb.matches(keyData, "tui.select.confirm")) {
456
- const pathToDelete = this.confirmingDeletePath;
457
- this.setConfirmingDeletePath(null);
458
- void this.onDeleteSession?.(pathToDelete);
459
- return;
460
- }
461
- if (kb.matches(keyData, "tui.select.cancel")) {
462
- this.setConfirmingDeletePath(null);
463
- return;
464
- }
465
- // Ignore all other keys while confirming
466
- return;
467
- }
468
- if (kb.matches(keyData, "tui.input.tab")) {
469
- if (this.onToggleScope) {
470
- this.onToggleScope();
471
- }
472
- return;
473
- }
474
- if (kb.matches(keyData, "app.session.toggleSort")) {
475
- this.onToggleSort?.();
476
- return;
477
- }
478
- if (this.keybindings.matches(keyData, "app.session.toggleNamedFilter")) {
479
- this.onToggleNameFilter?.();
480
- return;
481
- }
482
- // Ctrl+P: toggle path display
483
- if (kb.matches(keyData, "app.session.togglePath")) {
484
- this.showPath = !this.showPath;
485
- this.onTogglePath?.(this.showPath);
486
- return;
487
- }
488
- // Ctrl+D: initiate delete confirmation (useful on terminals that don't distinguish Ctrl+Backspace from Backspace)
489
- if (kb.matches(keyData, "app.session.delete")) {
490
- this.startDeleteConfirmationForSelectedSession();
491
- return;
492
- }
493
- // Rename selected session
494
- if (kb.matches(keyData, "app.session.rename")) {
495
- const selected = this.filteredSessions[this.selectedIndex];
496
- if (selected) {
497
- this.onRenameSession?.(selected.session.path);
498
- }
499
- return;
500
- }
501
- // Ctrl+Backspace: non-invasive convenience alias for delete
502
- // Only triggers deletion when the query is empty; otherwise it is forwarded to the input
503
- if (kb.matches(keyData, "app.session.deleteNoninvasive")) {
504
- if (this.searchInput.getValue().length > 0) {
505
- this.searchInput.handleInput(keyData);
506
- this.filterSessions(this.searchInput.getValue());
507
- return;
508
- }
509
- this.startDeleteConfirmationForSelectedSession();
510
- return;
511
- }
512
- this.selectionTouched = true;
513
- // Up arrow
514
- if (kb.matches(keyData, "tui.select.up")) {
515
- this.selectedIndex = Math.max(0, this.selectedIndex - 1);
516
- }
517
- // Down arrow
518
- else if (kb.matches(keyData, "tui.select.down")) {
519
- this.selectedIndex = Math.min(this.filteredSessions.length - 1, this.selectedIndex + 1);
520
- }
521
- // Page up - jump up by maxVisible items
522
- else if (kb.matches(keyData, "tui.select.pageUp")) {
523
- this.selectedIndex = Math.max(0, this.selectedIndex - this.maxVisible);
524
- }
525
- // Page down - jump down by maxVisible items
526
- else if (kb.matches(keyData, "tui.select.pageDown")) {
527
- this.selectedIndex = Math.min(this.filteredSessions.length - 1, this.selectedIndex + this.maxVisible);
528
- }
529
- // Enter
530
- else if (kb.matches(keyData, "tui.select.confirm")) {
531
- const selected = this.filteredSessions[this.selectedIndex];
532
- if (selected && this.onSelect) {
533
- this.onSelect(selected.session.path);
534
- }
535
- }
536
- // Escape - cancel
537
- else if (kb.matches(keyData, "tui.select.cancel")) {
538
- if (this.onCancel) {
539
- this.onCancel();
540
- }
541
- }
542
- // Pass everything else to search input
543
- else {
544
- this.searchInput.handleInput(keyData);
545
- this.filterSessions(this.searchInput.getValue());
546
- }
547
- }
548
- }
549
- /**
550
- * Delete a session file, trying the `trash` CLI first, then falling back to unlink
551
- */
552
- async function deleteSessionFile(sessionPath) {
553
- // Try `trash` first (if installed)
554
- const trashArgs = sessionPath.startsWith("-") ? ["--", sessionPath] : [sessionPath];
555
- const trashResult = spawnSync("trash", trashArgs, { encoding: "utf-8" });
556
- const getTrashErrorHint = () => {
557
- const parts = [];
558
- if (trashResult.error) {
559
- parts.push(trashResult.error.message);
560
- }
561
- const stderr = trashResult.stderr?.trim();
562
- if (stderr) {
563
- parts.push(stderr.split("\n")[0] ?? stderr);
564
- }
565
- if (parts.length === 0)
566
- return null;
567
- return `trash: ${parts.join(" · ").slice(0, 200)}`;
568
- };
569
- // If trash reports success, or the file is gone afterwards, treat it as successful
570
- if (trashResult.status === 0 || !existsSync(sessionPath)) {
571
- return { ok: true, method: "trash" };
572
- }
573
- // Fallback to permanent deletion
574
- try {
575
- await unlink(sessionPath);
576
- return { ok: true, method: "unlink" };
577
- }
578
- catch (err) {
579
- const unlinkError = err instanceof Error ? err.message : String(err);
580
- const trashErrorHint = getTrashErrorHint();
581
- const error = trashErrorHint ? `${unlinkError} (${trashErrorHint})` : unlinkError;
582
- return { ok: false, method: "unlink", error };
583
- }
584
- }
585
- /**
586
- * Component that renders a session selector
587
- */
588
- export class SessionSelectorComponent extends Container {
589
- handleInput(data) {
590
- if (this.mode === "rename") {
591
- const kb = getKeybindings();
592
- if (kb.matches(data, "tui.select.cancel")) {
593
- this.exitRenameMode();
594
- return;
595
- }
596
- this.renameInput.handleInput(data);
597
- return;
598
- }
599
- this.sessionList.handleInput(data);
600
- }
601
- canRename = true;
602
- sessionList;
603
- header;
604
- keybindings;
605
- scope = "current";
606
- sortMode = "threaded";
607
- nameFilter = "all";
608
- currentSessions = null;
609
- allSessions = null;
610
- currentSessionsLoader;
611
- allSessionsLoader;
612
- requestRender;
613
- renameSession;
614
- currentLoad = null;
615
- allLoad = null;
616
- mode = "list";
617
- renameInput = new Input();
618
- renameTargetPath = null;
619
- // Focusable implementation - propagate to sessionList for IME cursor positioning
620
- _focused = false;
621
- get focused() {
622
- return this._focused;
623
- }
624
- set focused(value) {
625
- this._focused = value;
626
- this.sessionList.focused = value;
627
- this.renameInput.focused = value;
628
- if (value && this.mode === "rename") {
629
- this.renameInput.focused = true;
630
- }
631
- }
632
- buildBaseLayout(content, options) {
633
- this.clear();
634
- this.addChild(new Spacer(1));
635
- this.addChild(new DynamicBorder((s) => theme.fg("accent", s)));
636
- this.addChild(new Spacer(1));
637
- if (options?.showHeader ?? true) {
638
- this.addChild(this.header);
639
- this.addChild(new Spacer(1));
640
- }
641
- this.addChild(content);
642
- this.addChild(new Spacer(1));
643
- this.addChild(new DynamicBorder((s) => theme.fg("accent", s)));
644
- }
645
- constructor(currentSessionsLoader, allSessionsLoader, onSelect, onCancel, onExit, requestRender, options, currentSessionFilePath) {
646
- super();
647
- this.keybindings = options?.keybindings ?? KeybindingsManager.create();
648
- this.currentSessionsLoader = currentSessionsLoader;
649
- this.allSessionsLoader = allSessionsLoader;
650
- this.requestRender = requestRender;
651
- this.header = new SessionSelectorHeader(this.scope, this.sortMode, this.nameFilter, this.requestRender);
652
- const renameSession = options?.renameSession;
653
- this.renameSession = renameSession;
654
- this.canRename = !!renameSession;
655
- this.header.setShowRenameHint(options?.showRenameHint ?? this.canRename);
656
- // Create session list (starts empty, will be populated after load)
657
- this.sessionList = new SessionList([], false, this.sortMode, this.nameFilter, this.keybindings, currentSessionFilePath);
658
- this.buildBaseLayout(this.sessionList);
659
- this.renameInput.onSubmit = (value) => {
660
- void this.confirmRename(value);
661
- };
662
- // Ensure header status timeouts are cleared when leaving the selector
663
- const clearStatusMessage = () => this.header.setStatusMessage(null);
664
- this.sessionList.onSelect = (sessionPath) => {
665
- clearStatusMessage();
666
- this.cancelLoads();
667
- onSelect(sessionPath);
668
- };
669
- this.sessionList.onCancel = () => {
670
- clearStatusMessage();
671
- this.cancelLoads();
672
- onCancel();
673
- };
674
- this.sessionList.onExit = () => {
675
- clearStatusMessage();
676
- this.cancelLoads();
677
- onExit();
678
- };
679
- this.sessionList.onToggleScope = () => this.toggleScope();
680
- this.sessionList.onToggleSort = () => this.toggleSortMode();
681
- this.sessionList.onToggleNameFilter = () => this.toggleNameFilter();
682
- this.sessionList.onRenameSession = (sessionPath) => {
683
- if (!renameSession)
684
- return;
685
- if (this.scope === "current" ? this.currentLoad : this.allLoad)
686
- return;
687
- const sessions = this.scope === "all" ? (this.allSessions ?? []) : (this.currentSessions ?? []);
688
- const session = sessions.find((s) => s.path === sessionPath);
689
- this.enterRenameMode(sessionPath, session?.name);
690
- };
691
- // Sync list events to header
692
- this.sessionList.onTogglePath = (showPath) => {
693
- this.header.setShowPath(showPath);
694
- this.requestRender();
695
- };
696
- this.sessionList.onDeleteConfirmationChange = (path) => {
697
- this.header.setConfirmingDeletePath(path);
698
- this.requestRender();
699
- };
700
- this.sessionList.onError = (msg) => {
701
- this.header.setStatusMessage({ type: "error", message: msg }, 3000);
702
- this.requestRender();
703
- };
704
- // Handle session deletion
705
- this.sessionList.onDeleteSession = async (sessionPath) => {
706
- const result = await deleteSessionFile(sessionPath);
707
- if (result.ok) {
708
- if (this.currentSessions) {
709
- this.currentSessions = this.currentSessions.filter((s) => s.path !== sessionPath);
710
- }
711
- if (this.allSessions) {
712
- this.allSessions = this.allSessions.filter((s) => s.path !== sessionPath);
713
- }
714
- const sessions = this.scope === "all" ? (this.allSessions ?? []) : (this.currentSessions ?? []);
715
- const showCwd = this.scope === "all";
716
- this.sessionList.setSessions(sessions, showCwd);
717
- const msg = result.method === "trash" ? "Session moved to trash" : "Session deleted";
718
- this.header.setStatusMessage({ type: "info", message: msg }, 2000);
719
- await this.refreshSessionsAfterMutation();
720
- }
721
- else {
722
- const errorMessage = result.error ?? "Unknown error";
723
- this.header.setStatusMessage({ type: "error", message: `Failed to delete: ${errorMessage}` }, 3000);
724
- }
725
- this.requestRender();
726
- };
727
- // Start loading current sessions immediately
728
- void this.loadScope("current");
729
- }
730
- cancelLoads() {
731
- if (this.currentLoad) {
732
- this.currentLoad.abort();
733
- this.currentLoad = null;
734
- this.currentSessions = null;
735
- }
736
- if (this.allLoad) {
737
- this.allLoad.abort();
738
- this.allLoad = null;
739
- this.allSessions = null;
740
- }
741
- }
742
- enterRenameMode(sessionPath, currentName) {
743
- this.mode = "rename";
744
- this.renameTargetPath = sessionPath;
745
- this.renameInput.setValue(currentName ?? "");
746
- this.renameInput.focused = true;
747
- const panel = new Container();
748
- panel.addChild(new Text(theme.bold("Rename Session"), 1, 0));
749
- panel.addChild(new Spacer(1));
750
- panel.addChild(this.renameInput);
751
- panel.addChild(new Spacer(1));
752
- panel.addChild(new Text(theme.fg("muted", `${keyText("tui.select.confirm")} to save · ${keyText("tui.select.cancel")} to cancel`), 1, 0));
753
- this.buildBaseLayout(panel, { showHeader: false });
754
- this.requestRender();
755
- }
756
- exitRenameMode() {
757
- this.mode = "list";
758
- this.renameTargetPath = null;
759
- this.buildBaseLayout(this.sessionList);
760
- this.requestRender();
761
- }
762
- async confirmRename(value) {
763
- const next = value.trim();
764
- if (!next)
765
- return;
766
- const target = this.renameTargetPath;
767
- if (!target) {
768
- this.exitRenameMode();
769
- return;
770
- }
771
- // Find current name for callback
772
- const renameSession = this.renameSession;
773
- if (!renameSession) {
774
- this.exitRenameMode();
775
- return;
776
- }
777
- try {
778
- await renameSession(target, next);
779
- await this.refreshSessionsAfterMutation();
780
- }
781
- finally {
782
- this.exitRenameMode();
783
- }
784
- }
785
- async loadScope(scope) {
786
- if (scope === "current" ? this.currentLoad : this.allLoad)
787
- return;
788
- const showCwd = scope === "all";
789
- const controller = new AbortController();
790
- if (scope === "current") {
791
- this.currentLoad = controller;
792
- }
793
- else {
794
- this.allLoad = controller;
795
- }
796
- this.header.setScope(scope);
797
- this.header.setLoading(true);
798
- this.requestRender();
799
- const isActive = () => (scope === "current" ? this.currentLoad : this.allLoad) === controller;
800
- const onProgress = (loaded, total, partialSessions) => {
801
- if (!isActive())
802
- return;
803
- if (partialSessions) {
804
- const sessions = [...partialSessions];
805
- if (scope === "current") {
806
- this.currentSessions = sessions;
807
- }
808
- else {
809
- this.allSessions = sessions;
810
- }
811
- if (scope === this.scope)
812
- this.sessionList.setSessions(sessions, showCwd);
813
- }
814
- if (scope !== this.scope)
815
- return;
816
- this.header.setProgress(loaded, total);
817
- this.requestRender();
818
- };
819
- try {
820
- const sessions = await (scope === "current"
821
- ? this.currentSessionsLoader(onProgress, controller.signal)
822
- : this.allSessionsLoader(onProgress, controller.signal));
823
- if (!isActive())
824
- return;
825
- if (scope === "current") {
826
- this.currentSessions = sessions;
827
- this.currentLoad = null;
828
- }
829
- else {
830
- this.allSessions = sessions;
831
- this.allLoad = null;
832
- }
833
- if (scope !== this.scope)
834
- return;
835
- this.header.setLoading(false);
836
- this.sessionList.setSessions(sessions, showCwd);
837
- this.requestRender();
838
- }
839
- catch (err) {
840
- if (!isActive())
841
- return;
842
- if (scope === "current") {
843
- this.currentLoad = null;
844
- this.currentSessions = null;
845
- }
846
- else {
847
- this.allLoad = null;
848
- this.allSessions = null;
849
- }
850
- if (scope !== this.scope)
851
- return;
852
- const message = err instanceof Error ? err.message : String(err);
853
- this.header.setLoading(false);
854
- this.header.setStatusMessage({ type: "error", message: `Failed to load sessions: ${message}` }, 4000);
855
- this.sessionList.setSessions([], showCwd);
856
- this.requestRender();
857
- }
858
- }
859
- toggleSortMode() {
860
- // Cycle: threaded -> recent -> relevance -> threaded
861
- this.sortMode = this.sortMode === "threaded" ? "recent" : this.sortMode === "recent" ? "relevance" : "threaded";
862
- this.header.setSortMode(this.sortMode);
863
- this.sessionList.setSortMode(this.sortMode);
864
- this.requestRender();
865
- }
866
- toggleNameFilter() {
867
- this.nameFilter = this.nameFilter === "all" ? "named" : "all";
868
- this.header.setNameFilter(this.nameFilter);
869
- this.sessionList.setNameFilter(this.nameFilter);
870
- this.requestRender();
871
- }
872
- async refreshSessionsAfterMutation() {
873
- this.cancelLoads();
874
- this.currentSessions = null;
875
- this.allSessions = null;
876
- await this.loadScope(this.scope);
877
- }
878
- toggleScope() {
879
- this.scope = this.scope === "current" ? "all" : "current";
880
- const sessions = this.scope === "current" ? this.currentSessions : this.allSessions;
881
- const loading = (this.scope === "current" ? this.currentLoad : this.allLoad) !== null;
882
- this.header.setScope(this.scope);
883
- this.header.setLoading(loading);
884
- this.sessionList.setSessions(sessions ?? [], this.scope === "all");
885
- this.requestRender();
886
- if (sessions === null && !loading)
887
- void this.loadScope(this.scope);
888
- }
889
- getSessionList() {
890
- return this.sessionList;
891
- }
892
- }
893
- //# sourceMappingURL=session-selector.js.map