meetsoma 0.3.2 → 0.3.3

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 (515) hide show
  1. package/dist/thin-cli.js +56 -13
  2. package/package.json +42 -89
  3. package/bin/gum +0 -0
  4. package/dist/bun/cli.d.ts +0 -3
  5. package/dist/bun/cli.d.ts.map +0 -1
  6. package/dist/bun/cli.js +0 -7
  7. package/dist/bun/cli.js.map +0 -1
  8. package/dist/bun/register-bedrock.d.ts +0 -2
  9. package/dist/bun/register-bedrock.d.ts.map +0 -1
  10. package/dist/bun/register-bedrock.js +0 -4
  11. package/dist/bun/register-bedrock.js.map +0 -1
  12. package/dist/cli/args.d.ts +0 -49
  13. package/dist/cli/args.d.ts.map +0 -1
  14. package/dist/cli/args.js +0 -304
  15. package/dist/cli/args.js.map +0 -1
  16. package/dist/cli/config-selector.d.ts +0 -14
  17. package/dist/cli/config-selector.d.ts.map +0 -1
  18. package/dist/cli/config-selector.js +0 -31
  19. package/dist/cli/config-selector.js.map +0 -1
  20. package/dist/cli/file-processor.d.ts +0 -15
  21. package/dist/cli/file-processor.d.ts.map +0 -1
  22. package/dist/cli/file-processor.js +0 -83
  23. package/dist/cli/file-processor.js.map +0 -1
  24. package/dist/cli/initial-message.d.ts +0 -18
  25. package/dist/cli/initial-message.d.ts.map +0 -1
  26. package/dist/cli/initial-message.js +0 -22
  27. package/dist/cli/initial-message.js.map +0 -1
  28. package/dist/cli/list-models.d.ts +0 -9
  29. package/dist/cli/list-models.d.ts.map +0 -1
  30. package/dist/cli/list-models.js +0 -92
  31. package/dist/cli/list-models.js.map +0 -1
  32. package/dist/cli/session-picker.d.ts +0 -9
  33. package/dist/cli/session-picker.d.ts.map +0 -1
  34. package/dist/cli/session-picker.js +0 -35
  35. package/dist/cli/session-picker.js.map +0 -1
  36. package/dist/cli.d.ts +0 -3
  37. package/dist/cli.d.ts.map +0 -1
  38. package/dist/cli.js +0 -601
  39. package/dist/cli.js.map +0 -1
  40. package/dist/config.d.ts +0 -68
  41. package/dist/config.d.ts.map +0 -1
  42. package/dist/config.js +0 -203
  43. package/dist/config.js.map +0 -1
  44. package/dist/core/agent-session-runtime.d.ts +0 -134
  45. package/dist/core/agent-session-runtime.d.ts.map +0 -1
  46. package/dist/core/agent-session-runtime.js +0 -264
  47. package/dist/core/agent-session-runtime.js.map +0 -1
  48. package/dist/core/agent-session.d.ts +0 -585
  49. package/dist/core/agent-session.d.ts.map +0 -1
  50. package/dist/core/agent-session.js +0 -2497
  51. package/dist/core/agent-session.js.map +0 -1
  52. package/dist/core/auth-storage.d.ts +0 -132
  53. package/dist/core/auth-storage.d.ts.map +0 -1
  54. package/dist/core/auth-storage.js +0 -422
  55. package/dist/core/auth-storage.js.map +0 -1
  56. package/dist/core/bash-executor.d.ts +0 -46
  57. package/dist/core/bash-executor.d.ts.map +0 -1
  58. package/dist/core/bash-executor.js +0 -113
  59. package/dist/core/bash-executor.js.map +0 -1
  60. package/dist/core/compaction/branch-summarization.d.ts +0 -88
  61. package/dist/core/compaction/branch-summarization.d.ts.map +0 -1
  62. package/dist/core/compaction/branch-summarization.js +0 -243
  63. package/dist/core/compaction/branch-summarization.js.map +0 -1
  64. package/dist/core/compaction/compaction.d.ts +0 -121
  65. package/dist/core/compaction/compaction.d.ts.map +0 -1
  66. package/dist/core/compaction/compaction.js +0 -613
  67. package/dist/core/compaction/compaction.js.map +0 -1
  68. package/dist/core/compaction/index.d.ts +0 -7
  69. package/dist/core/compaction/index.d.ts.map +0 -1
  70. package/dist/core/compaction/index.js +0 -7
  71. package/dist/core/compaction/index.js.map +0 -1
  72. package/dist/core/compaction/utils.d.ts +0 -38
  73. package/dist/core/compaction/utils.d.ts.map +0 -1
  74. package/dist/core/compaction/utils.js +0 -153
  75. package/dist/core/compaction/utils.js.map +0 -1
  76. package/dist/core/defaults.d.ts +0 -3
  77. package/dist/core/defaults.d.ts.map +0 -1
  78. package/dist/core/defaults.js +0 -2
  79. package/dist/core/defaults.js.map +0 -1
  80. package/dist/core/diagnostics.d.ts +0 -15
  81. package/dist/core/diagnostics.d.ts.map +0 -1
  82. package/dist/core/diagnostics.js +0 -2
  83. package/dist/core/diagnostics.js.map +0 -1
  84. package/dist/core/event-bus.d.ts +0 -9
  85. package/dist/core/event-bus.d.ts.map +0 -1
  86. package/dist/core/event-bus.js +0 -25
  87. package/dist/core/event-bus.js.map +0 -1
  88. package/dist/core/exec.d.ts +0 -29
  89. package/dist/core/exec.d.ts.map +0 -1
  90. package/dist/core/exec.js +0 -75
  91. package/dist/core/exec.js.map +0 -1
  92. package/dist/core/export-html/ansi-to-html.d.ts +0 -22
  93. package/dist/core/export-html/ansi-to-html.d.ts.map +0 -1
  94. package/dist/core/export-html/ansi-to-html.js +0 -249
  95. package/dist/core/export-html/ansi-to-html.js.map +0 -1
  96. package/dist/core/export-html/index.d.ts +0 -37
  97. package/dist/core/export-html/index.d.ts.map +0 -1
  98. package/dist/core/export-html/index.js +0 -224
  99. package/dist/core/export-html/index.js.map +0 -1
  100. package/dist/core/export-html/template.css +0 -1001
  101. package/dist/core/export-html/template.html +0 -55
  102. package/dist/core/export-html/template.js +0 -1690
  103. package/dist/core/export-html/tool-renderer.d.ts +0 -40
  104. package/dist/core/export-html/tool-renderer.d.ts.map +0 -1
  105. package/dist/core/export-html/tool-renderer.js +0 -95
  106. package/dist/core/export-html/tool-renderer.js.map +0 -1
  107. package/dist/core/export-html/vendor/highlight.min.js +0 -1213
  108. package/dist/core/export-html/vendor/marked.min.js +0 -6
  109. package/dist/core/extensions/index.d.ts +0 -12
  110. package/dist/core/extensions/index.d.ts.map +0 -1
  111. package/dist/core/extensions/index.js +0 -9
  112. package/dist/core/extensions/index.js.map +0 -1
  113. package/dist/core/extensions/loader.d.ts +0 -25
  114. package/dist/core/extensions/loader.d.ts.map +0 -1
  115. package/dist/core/extensions/loader.js +0 -436
  116. package/dist/core/extensions/loader.js.map +0 -1
  117. package/dist/core/extensions/runner.d.ts +0 -148
  118. package/dist/core/extensions/runner.d.ts.map +0 -1
  119. package/dist/core/extensions/runner.js +0 -700
  120. package/dist/core/extensions/runner.js.map +0 -1
  121. package/dist/core/extensions/types.d.ts +0 -1076
  122. package/dist/core/extensions/types.d.ts.map +0 -1
  123. package/dist/core/extensions/types.js +0 -35
  124. package/dist/core/extensions/types.js.map +0 -1
  125. package/dist/core/extensions/wrapper.d.ts +0 -20
  126. package/dist/core/extensions/wrapper.d.ts.map +0 -1
  127. package/dist/core/extensions/wrapper.js +0 -22
  128. package/dist/core/extensions/wrapper.js.map +0 -1
  129. package/dist/core/footer-data-provider.d.ts +0 -48
  130. package/dist/core/footer-data-provider.d.ts.map +0 -1
  131. package/dist/core/footer-data-provider.js +0 -314
  132. package/dist/core/footer-data-provider.js.map +0 -1
  133. package/dist/core/index.d.ts +0 -11
  134. package/dist/core/index.d.ts.map +0 -1
  135. package/dist/core/index.js +0 -11
  136. package/dist/core/index.js.map +0 -1
  137. package/dist/core/keybindings.d.ts +0 -285
  138. package/dist/core/keybindings.d.ts.map +0 -1
  139. package/dist/core/keybindings.js +0 -251
  140. package/dist/core/keybindings.js.map +0 -1
  141. package/dist/core/messages.d.ts +0 -77
  142. package/dist/core/messages.d.ts.map +0 -1
  143. package/dist/core/messages.js +0 -123
  144. package/dist/core/messages.js.map +0 -1
  145. package/dist/core/model-registry.d.ts +0 -132
  146. package/dist/core/model-registry.d.ts.map +0 -1
  147. package/dist/core/model-registry.js +0 -583
  148. package/dist/core/model-registry.js.map +0 -1
  149. package/dist/core/model-resolver.d.ts +0 -110
  150. package/dist/core/model-resolver.d.ts.map +0 -1
  151. package/dist/core/model-resolver.js +0 -486
  152. package/dist/core/model-resolver.js.map +0 -1
  153. package/dist/core/output-guard.d.ts +0 -6
  154. package/dist/core/output-guard.d.ts.map +0 -1
  155. package/dist/core/output-guard.js +0 -59
  156. package/dist/core/output-guard.js.map +0 -1
  157. package/dist/core/package-manager.d.ts +0 -172
  158. package/dist/core/package-manager.d.ts.map +0 -1
  159. package/dist/core/package-manager.js +0 -1783
  160. package/dist/core/package-manager.js.map +0 -1
  161. package/dist/core/prompt-templates.d.ts +0 -51
  162. package/dist/core/prompt-templates.d.ts.map +0 -1
  163. package/dist/core/prompt-templates.js +0 -249
  164. package/dist/core/prompt-templates.js.map +0 -1
  165. package/dist/core/resolve-config-value.d.ts +0 -23
  166. package/dist/core/resolve-config-value.d.ts.map +0 -1
  167. package/dist/core/resolve-config-value.js +0 -126
  168. package/dist/core/resolve-config-value.js.map +0 -1
  169. package/dist/core/resource-loader.d.ts +0 -185
  170. package/dist/core/resource-loader.d.ts.map +0 -1
  171. package/dist/core/resource-loader.js +0 -698
  172. package/dist/core/resource-loader.js.map +0 -1
  173. package/dist/core/sdk.d.ts +0 -93
  174. package/dist/core/sdk.d.ts.map +0 -1
  175. package/dist/core/sdk.js +0 -236
  176. package/dist/core/sdk.js.map +0 -1
  177. package/dist/core/session-manager.d.ts +0 -332
  178. package/dist/core/session-manager.d.ts.map +0 -1
  179. package/dist/core/session-manager.js +0 -1104
  180. package/dist/core/session-manager.js.map +0 -1
  181. package/dist/core/settings-manager.d.ts +0 -237
  182. package/dist/core/settings-manager.d.ts.map +0 -1
  183. package/dist/core/settings-manager.js +0 -702
  184. package/dist/core/settings-manager.js.map +0 -1
  185. package/dist/core/skills.d.ts +0 -60
  186. package/dist/core/skills.d.ts.map +0 -1
  187. package/dist/core/skills.js +0 -409
  188. package/dist/core/skills.js.map +0 -1
  189. package/dist/core/slash-commands.d.ts +0 -14
  190. package/dist/core/slash-commands.d.ts.map +0 -1
  191. package/dist/core/slash-commands.js +0 -23
  192. package/dist/core/slash-commands.js.map +0 -1
  193. package/dist/core/source-info.d.ts +0 -18
  194. package/dist/core/source-info.d.ts.map +0 -1
  195. package/dist/core/source-info.js +0 -19
  196. package/dist/core/source-info.js.map +0 -1
  197. package/dist/core/system-prompt.d.ts +0 -28
  198. package/dist/core/system-prompt.d.ts.map +0 -1
  199. package/dist/core/system-prompt.js +0 -116
  200. package/dist/core/system-prompt.js.map +0 -1
  201. package/dist/core/timings.d.ts +0 -8
  202. package/dist/core/timings.d.ts.map +0 -1
  203. package/dist/core/timings.js +0 -31
  204. package/dist/core/timings.js.map +0 -1
  205. package/dist/core/tools/bash.d.ts +0 -73
  206. package/dist/core/tools/bash.d.ts.map +0 -1
  207. package/dist/core/tools/bash.js +0 -342
  208. package/dist/core/tools/bash.js.map +0 -1
  209. package/dist/core/tools/edit-diff.d.ts +0 -85
  210. package/dist/core/tools/edit-diff.d.ts.map +0 -1
  211. package/dist/core/tools/edit-diff.js +0 -337
  212. package/dist/core/tools/edit-diff.js.map +0 -1
  213. package/dist/core/tools/edit.d.ts +0 -53
  214. package/dist/core/tools/edit.d.ts.map +0 -1
  215. package/dist/core/tools/edit.js +0 -196
  216. package/dist/core/tools/edit.js.map +0 -1
  217. package/dist/core/tools/file-mutation-queue.d.ts +0 -6
  218. package/dist/core/tools/file-mutation-queue.d.ts.map +0 -1
  219. package/dist/core/tools/file-mutation-queue.js +0 -37
  220. package/dist/core/tools/file-mutation-queue.js.map +0 -1
  221. package/dist/core/tools/find.d.ts +0 -46
  222. package/dist/core/tools/find.d.ts.map +0 -1
  223. package/dist/core/tools/find.js +0 -258
  224. package/dist/core/tools/find.js.map +0 -1
  225. package/dist/core/tools/grep.d.ts +0 -56
  226. package/dist/core/tools/grep.d.ts.map +0 -1
  227. package/dist/core/tools/grep.js +0 -293
  228. package/dist/core/tools/grep.js.map +0 -1
  229. package/dist/core/tools/index.d.ts +0 -115
  230. package/dist/core/tools/index.d.ts.map +0 -1
  231. package/dist/core/tools/index.js +0 -86
  232. package/dist/core/tools/index.js.map +0 -1
  233. package/dist/core/tools/ls.d.ts +0 -46
  234. package/dist/core/tools/ls.d.ts.map +0 -1
  235. package/dist/core/tools/ls.js +0 -172
  236. package/dist/core/tools/ls.js.map +0 -1
  237. package/dist/core/tools/path-utils.d.ts +0 -8
  238. package/dist/core/tools/path-utils.d.ts.map +0 -1
  239. package/dist/core/tools/path-utils.js +0 -81
  240. package/dist/core/tools/path-utils.js.map +0 -1
  241. package/dist/core/tools/read.d.ts +0 -46
  242. package/dist/core/tools/read.d.ts.map +0 -1
  243. package/dist/core/tools/read.js +0 -225
  244. package/dist/core/tools/read.js.map +0 -1
  245. package/dist/core/tools/render-utils.d.ts +0 -21
  246. package/dist/core/tools/render-utils.d.ts.map +0 -1
  247. package/dist/core/tools/render-utils.js +0 -49
  248. package/dist/core/tools/render-utils.js.map +0 -1
  249. package/dist/core/tools/tool-definition-wrapper.d.ts +0 -14
  250. package/dist/core/tools/tool-definition-wrapper.d.ts.map +0 -1
  251. package/dist/core/tools/tool-definition-wrapper.js +0 -32
  252. package/dist/core/tools/tool-definition-wrapper.js.map +0 -1
  253. package/dist/core/tools/truncate.d.ts +0 -70
  254. package/dist/core/tools/truncate.d.ts.map +0 -1
  255. package/dist/core/tools/truncate.js +0 -205
  256. package/dist/core/tools/truncate.js.map +0 -1
  257. package/dist/core/tools/write.d.ts +0 -35
  258. package/dist/core/tools/write.d.ts.map +0 -1
  259. package/dist/core/tools/write.js +0 -216
  260. package/dist/core/tools/write.js.map +0 -1
  261. package/dist/index.d.ts +0 -28
  262. package/dist/index.d.ts.map +0 -1
  263. package/dist/index.js +0 -43
  264. package/dist/index.js.map +0 -1
  265. package/dist/lib/config.js +0 -22
  266. package/dist/lib/detect.js +0 -94
  267. package/dist/lib/display.js +0 -182
  268. package/dist/main.d.ts +0 -8
  269. package/dist/main.d.ts.map +0 -1
  270. package/dist/main.js +0 -806
  271. package/dist/main.js.map +0 -1
  272. package/dist/migrations.d.ts +0 -33
  273. package/dist/migrations.d.ts.map +0 -1
  274. package/dist/migrations.js +0 -261
  275. package/dist/migrations.js.map +0 -1
  276. package/dist/modes/index.d.ts +0 -9
  277. package/dist/modes/index.d.ts.map +0 -1
  278. package/dist/modes/index.js +0 -8
  279. package/dist/modes/index.js.map +0 -1
  280. package/dist/modes/interactive/components/armin.d.ts +0 -34
  281. package/dist/modes/interactive/components/armin.d.ts.map +0 -1
  282. package/dist/modes/interactive/components/armin.js +0 -333
  283. package/dist/modes/interactive/components/armin.js.map +0 -1
  284. package/dist/modes/interactive/components/assistant-message.d.ts +0 -18
  285. package/dist/modes/interactive/components/assistant-message.d.ts.map +0 -1
  286. package/dist/modes/interactive/components/assistant-message.js +0 -107
  287. package/dist/modes/interactive/components/assistant-message.js.map +0 -1
  288. package/dist/modes/interactive/components/bash-execution.d.ts +0 -34
  289. package/dist/modes/interactive/components/bash-execution.d.ts.map +0 -1
  290. package/dist/modes/interactive/components/bash-execution.js +0 -175
  291. package/dist/modes/interactive/components/bash-execution.js.map +0 -1
  292. package/dist/modes/interactive/components/bordered-loader.d.ts +0 -16
  293. package/dist/modes/interactive/components/bordered-loader.d.ts.map +0 -1
  294. package/dist/modes/interactive/components/bordered-loader.js +0 -51
  295. package/dist/modes/interactive/components/bordered-loader.js.map +0 -1
  296. package/dist/modes/interactive/components/branch-summary-message.d.ts +0 -16
  297. package/dist/modes/interactive/components/branch-summary-message.d.ts.map +0 -1
  298. package/dist/modes/interactive/components/branch-summary-message.js +0 -44
  299. package/dist/modes/interactive/components/branch-summary-message.js.map +0 -1
  300. package/dist/modes/interactive/components/compaction-summary-message.d.ts +0 -16
  301. package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +0 -1
  302. package/dist/modes/interactive/components/compaction-summary-message.js +0 -45
  303. package/dist/modes/interactive/components/compaction-summary-message.js.map +0 -1
  304. package/dist/modes/interactive/components/config-selector.d.ts +0 -71
  305. package/dist/modes/interactive/components/config-selector.d.ts.map +0 -1
  306. package/dist/modes/interactive/components/config-selector.js +0 -479
  307. package/dist/modes/interactive/components/config-selector.js.map +0 -1
  308. package/dist/modes/interactive/components/countdown-timer.d.ts +0 -14
  309. package/dist/modes/interactive/components/countdown-timer.d.ts.map +0 -1
  310. package/dist/modes/interactive/components/countdown-timer.js +0 -33
  311. package/dist/modes/interactive/components/countdown-timer.js.map +0 -1
  312. package/dist/modes/interactive/components/custom-editor.d.ts +0 -21
  313. package/dist/modes/interactive/components/custom-editor.d.ts.map +0 -1
  314. package/dist/modes/interactive/components/custom-editor.js +0 -70
  315. package/dist/modes/interactive/components/custom-editor.js.map +0 -1
  316. package/dist/modes/interactive/components/custom-message.d.ts +0 -20
  317. package/dist/modes/interactive/components/custom-message.d.ts.map +0 -1
  318. package/dist/modes/interactive/components/custom-message.js +0 -79
  319. package/dist/modes/interactive/components/custom-message.js.map +0 -1
  320. package/dist/modes/interactive/components/daxnuts.d.ts +0 -23
  321. package/dist/modes/interactive/components/daxnuts.d.ts.map +0 -1
  322. package/dist/modes/interactive/components/daxnuts.js +0 -140
  323. package/dist/modes/interactive/components/daxnuts.js.map +0 -1
  324. package/dist/modes/interactive/components/diff.d.ts +0 -12
  325. package/dist/modes/interactive/components/diff.d.ts.map +0 -1
  326. package/dist/modes/interactive/components/diff.js +0 -133
  327. package/dist/modes/interactive/components/diff.js.map +0 -1
  328. package/dist/modes/interactive/components/dynamic-border.d.ts +0 -15
  329. package/dist/modes/interactive/components/dynamic-border.d.ts.map +0 -1
  330. package/dist/modes/interactive/components/dynamic-border.js +0 -21
  331. package/dist/modes/interactive/components/dynamic-border.js.map +0 -1
  332. package/dist/modes/interactive/components/extension-editor.d.ts +0 -20
  333. package/dist/modes/interactive/components/extension-editor.d.ts.map +0 -1
  334. package/dist/modes/interactive/components/extension-editor.js +0 -111
  335. package/dist/modes/interactive/components/extension-editor.js.map +0 -1
  336. package/dist/modes/interactive/components/extension-input.d.ts +0 -23
  337. package/dist/modes/interactive/components/extension-input.d.ts.map +0 -1
  338. package/dist/modes/interactive/components/extension-input.js +0 -61
  339. package/dist/modes/interactive/components/extension-input.js.map +0 -1
  340. package/dist/modes/interactive/components/extension-selector.d.ts +0 -24
  341. package/dist/modes/interactive/components/extension-selector.d.ts.map +0 -1
  342. package/dist/modes/interactive/components/extension-selector.js +0 -78
  343. package/dist/modes/interactive/components/extension-selector.js.map +0 -1
  344. package/dist/modes/interactive/components/footer.d.ts +0 -27
  345. package/dist/modes/interactive/components/footer.d.ts.map +0 -1
  346. package/dist/modes/interactive/components/footer.js +0 -201
  347. package/dist/modes/interactive/components/footer.js.map +0 -1
  348. package/dist/modes/interactive/components/index.d.ts +0 -32
  349. package/dist/modes/interactive/components/index.d.ts.map +0 -1
  350. package/dist/modes/interactive/components/index.js +0 -33
  351. package/dist/modes/interactive/components/index.js.map +0 -1
  352. package/dist/modes/interactive/components/keybinding-hints.d.ts +0 -8
  353. package/dist/modes/interactive/components/keybinding-hints.d.ts.map +0 -1
  354. package/dist/modes/interactive/components/keybinding-hints.js +0 -22
  355. package/dist/modes/interactive/components/keybinding-hints.js.map +0 -1
  356. package/dist/modes/interactive/components/login-dialog.d.ts +0 -42
  357. package/dist/modes/interactive/components/login-dialog.d.ts.map +0 -1
  358. package/dist/modes/interactive/components/login-dialog.js +0 -145
  359. package/dist/modes/interactive/components/login-dialog.js.map +0 -1
  360. package/dist/modes/interactive/components/model-selector.d.ts +0 -47
  361. package/dist/modes/interactive/components/model-selector.d.ts.map +0 -1
  362. package/dist/modes/interactive/components/model-selector.js +0 -275
  363. package/dist/modes/interactive/components/model-selector.js.map +0 -1
  364. package/dist/modes/interactive/components/oauth-selector.d.ts +0 -19
  365. package/dist/modes/interactive/components/oauth-selector.d.ts.map +0 -1
  366. package/dist/modes/interactive/components/oauth-selector.js +0 -97
  367. package/dist/modes/interactive/components/oauth-selector.js.map +0 -1
  368. package/dist/modes/interactive/components/scoped-models-selector.d.ts +0 -49
  369. package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +0 -1
  370. package/dist/modes/interactive/components/scoped-models-selector.js +0 -275
  371. package/dist/modes/interactive/components/scoped-models-selector.js.map +0 -1
  372. package/dist/modes/interactive/components/session-selector-search.d.ts +0 -23
  373. package/dist/modes/interactive/components/session-selector-search.d.ts.map +0 -1
  374. package/dist/modes/interactive/components/session-selector-search.js +0 -155
  375. package/dist/modes/interactive/components/session-selector-search.js.map +0 -1
  376. package/dist/modes/interactive/components/session-selector.d.ts +0 -95
  377. package/dist/modes/interactive/components/session-selector.d.ts.map +0 -1
  378. package/dist/modes/interactive/components/session-selector.js +0 -848
  379. package/dist/modes/interactive/components/session-selector.js.map +0 -1
  380. package/dist/modes/interactive/components/settings-selector.d.ts +0 -58
  381. package/dist/modes/interactive/components/settings-selector.d.ts.map +0 -1
  382. package/dist/modes/interactive/components/settings-selector.js +0 -301
  383. package/dist/modes/interactive/components/settings-selector.js.map +0 -1
  384. package/dist/modes/interactive/components/show-images-selector.d.ts +0 -10
  385. package/dist/modes/interactive/components/show-images-selector.d.ts.map +0 -1
  386. package/dist/modes/interactive/components/show-images-selector.js +0 -39
  387. package/dist/modes/interactive/components/show-images-selector.js.map +0 -1
  388. package/dist/modes/interactive/components/skill-invocation-message.d.ts +0 -17
  389. package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +0 -1
  390. package/dist/modes/interactive/components/skill-invocation-message.js +0 -47
  391. package/dist/modes/interactive/components/skill-invocation-message.js.map +0 -1
  392. package/dist/modes/interactive/components/theme-selector.d.ts +0 -11
  393. package/dist/modes/interactive/components/theme-selector.d.ts.map +0 -1
  394. package/dist/modes/interactive/components/theme-selector.js +0 -50
  395. package/dist/modes/interactive/components/theme-selector.js.map +0 -1
  396. package/dist/modes/interactive/components/thinking-selector.d.ts +0 -11
  397. package/dist/modes/interactive/components/thinking-selector.d.ts.map +0 -1
  398. package/dist/modes/interactive/components/thinking-selector.js +0 -51
  399. package/dist/modes/interactive/components/thinking-selector.js.map +0 -1
  400. package/dist/modes/interactive/components/tool-execution.d.ts +0 -58
  401. package/dist/modes/interactive/components/tool-execution.d.ts.map +0 -1
  402. package/dist/modes/interactive/components/tool-execution.js +0 -274
  403. package/dist/modes/interactive/components/tool-execution.js.map +0 -1
  404. package/dist/modes/interactive/components/tree-selector.d.ts +0 -89
  405. package/dist/modes/interactive/components/tree-selector.d.ts.map +0 -1
  406. package/dist/modes/interactive/components/tree-selector.js +0 -1084
  407. package/dist/modes/interactive/components/tree-selector.js.map +0 -1
  408. package/dist/modes/interactive/components/user-message-selector.d.ts +0 -30
  409. package/dist/modes/interactive/components/user-message-selector.d.ts.map +0 -1
  410. package/dist/modes/interactive/components/user-message-selector.js +0 -113
  411. package/dist/modes/interactive/components/user-message-selector.js.map +0 -1
  412. package/dist/modes/interactive/components/user-message.d.ts +0 -9
  413. package/dist/modes/interactive/components/user-message.d.ts.map +0 -1
  414. package/dist/modes/interactive/components/user-message.js +0 -28
  415. package/dist/modes/interactive/components/user-message.js.map +0 -1
  416. package/dist/modes/interactive/components/visual-truncate.d.ts +0 -24
  417. package/dist/modes/interactive/components/visual-truncate.d.ts.map +0 -1
  418. package/dist/modes/interactive/components/visual-truncate.js +0 -33
  419. package/dist/modes/interactive/components/visual-truncate.js.map +0 -1
  420. package/dist/modes/interactive/interactive-mode.d.ts +0 -318
  421. package/dist/modes/interactive/interactive-mode.d.ts.map +0 -1
  422. package/dist/modes/interactive/interactive-mode.js +0 -3907
  423. package/dist/modes/interactive/interactive-mode.js.map +0 -1
  424. package/dist/modes/interactive/theme/dark.json +0 -85
  425. package/dist/modes/interactive/theme/light.json +0 -84
  426. package/dist/modes/interactive/theme/theme-schema.json +0 -335
  427. package/dist/modes/interactive/theme/theme.d.ts +0 -81
  428. package/dist/modes/interactive/theme/theme.d.ts.map +0 -1
  429. package/dist/modes/interactive/theme/theme.js +0 -970
  430. package/dist/modes/interactive/theme/theme.js.map +0 -1
  431. package/dist/modes/print-mode.d.ts +0 -28
  432. package/dist/modes/print-mode.d.ts.map +0 -1
  433. package/dist/modes/print-mode.js +0 -108
  434. package/dist/modes/print-mode.js.map +0 -1
  435. package/dist/modes/rpc/jsonl.d.ts +0 -17
  436. package/dist/modes/rpc/jsonl.d.ts.map +0 -1
  437. package/dist/modes/rpc/jsonl.js +0 -49
  438. package/dist/modes/rpc/jsonl.js.map +0 -1
  439. package/dist/modes/rpc/rpc-client.d.ts +0 -217
  440. package/dist/modes/rpc/rpc-client.d.ts.map +0 -1
  441. package/dist/modes/rpc/rpc-client.js +0 -401
  442. package/dist/modes/rpc/rpc-client.js.map +0 -1
  443. package/dist/modes/rpc/rpc-mode.d.ts +0 -20
  444. package/dist/modes/rpc/rpc-mode.d.ts.map +0 -1
  445. package/dist/modes/rpc/rpc-mode.js +0 -542
  446. package/dist/modes/rpc/rpc-mode.js.map +0 -1
  447. package/dist/modes/rpc/rpc-types.d.ts +0 -408
  448. package/dist/modes/rpc/rpc-types.d.ts.map +0 -1
  449. package/dist/modes/rpc/rpc-types.js +0 -8
  450. package/dist/modes/rpc/rpc-types.js.map +0 -1
  451. package/dist/utils/changelog.d.ts +0 -21
  452. package/dist/utils/changelog.d.ts.map +0 -1
  453. package/dist/utils/changelog.js +0 -87
  454. package/dist/utils/changelog.js.map +0 -1
  455. package/dist/utils/child-process.d.ts +0 -11
  456. package/dist/utils/child-process.d.ts.map +0 -1
  457. package/dist/utils/child-process.js +0 -78
  458. package/dist/utils/child-process.js.map +0 -1
  459. package/dist/utils/clipboard-image.d.ts +0 -11
  460. package/dist/utils/clipboard-image.d.ts.map +0 -1
  461. package/dist/utils/clipboard-image.js +0 -245
  462. package/dist/utils/clipboard-image.js.map +0 -1
  463. package/dist/utils/clipboard-native.d.ts +0 -8
  464. package/dist/utils/clipboard-native.d.ts.map +0 -1
  465. package/dist/utils/clipboard-native.js +0 -14
  466. package/dist/utils/clipboard-native.js.map +0 -1
  467. package/dist/utils/clipboard.d.ts +0 -2
  468. package/dist/utils/clipboard.d.ts.map +0 -1
  469. package/dist/utils/clipboard.js +0 -78
  470. package/dist/utils/clipboard.js.map +0 -1
  471. package/dist/utils/exif-orientation.d.ts +0 -5
  472. package/dist/utils/exif-orientation.d.ts.map +0 -1
  473. package/dist/utils/exif-orientation.js +0 -158
  474. package/dist/utils/exif-orientation.js.map +0 -1
  475. package/dist/utils/frontmatter.d.ts +0 -8
  476. package/dist/utils/frontmatter.d.ts.map +0 -1
  477. package/dist/utils/frontmatter.js +0 -26
  478. package/dist/utils/frontmatter.js.map +0 -1
  479. package/dist/utils/git.d.ts +0 -26
  480. package/dist/utils/git.d.ts.map +0 -1
  481. package/dist/utils/git.js +0 -163
  482. package/dist/utils/git.js.map +0 -1
  483. package/dist/utils/image-convert.d.ts +0 -9
  484. package/dist/utils/image-convert.d.ts.map +0 -1
  485. package/dist/utils/image-convert.js +0 -39
  486. package/dist/utils/image-convert.js.map +0 -1
  487. package/dist/utils/image-resize.d.ts +0 -36
  488. package/dist/utils/image-resize.d.ts.map +0 -1
  489. package/dist/utils/image-resize.js +0 -137
  490. package/dist/utils/image-resize.js.map +0 -1
  491. package/dist/utils/mime.d.ts +0 -2
  492. package/dist/utils/mime.d.ts.map +0 -1
  493. package/dist/utils/mime.js +0 -26
  494. package/dist/utils/mime.js.map +0 -1
  495. package/dist/utils/photon.d.ts +0 -21
  496. package/dist/utils/photon.d.ts.map +0 -1
  497. package/dist/utils/photon.js +0 -121
  498. package/dist/utils/photon.js.map +0 -1
  499. package/dist/utils/shell.d.ts +0 -26
  500. package/dist/utils/shell.d.ts.map +0 -1
  501. package/dist/utils/shell.js +0 -186
  502. package/dist/utils/shell.js.map +0 -1
  503. package/dist/utils/sleep.d.ts +0 -5
  504. package/dist/utils/sleep.d.ts.map +0 -1
  505. package/dist/utils/sleep.js +0 -17
  506. package/dist/utils/sleep.js.map +0 -1
  507. package/dist/utils/tools-manager.d.ts +0 -3
  508. package/dist/utils/tools-manager.d.ts.map +0 -1
  509. package/dist/utils/tools-manager.js +0 -252
  510. package/dist/utils/tools-manager.js.map +0 -1
  511. package/dist/welcome/about.js +0 -50
  512. package/dist/welcome/auth.js +0 -126
  513. package/dist/welcome/intro.js +0 -90
  514. package/dist/welcome/qa.js +0 -131
  515. package/scripts/install-gum.sh +0 -141
@@ -1,700 +0,0 @@
1
- /**
2
- * Extension runner - executes extensions and manages their lifecycle.
3
- */
4
- import { theme } from "../../modes/interactive/theme/theme.js";
5
- // Extension shortcuts compete with canonical keybinding ids from keybindings.json.
6
- // Only editor-global shortcuts are reserved here. Picker-specific bindings are not.
7
- const RESERVED_KEYBINDINGS_FOR_EXTENSION_CONFLICTS = [
8
- "app.interrupt",
9
- "app.clear",
10
- "app.exit",
11
- "app.suspend",
12
- "app.thinking.cycle",
13
- "app.model.cycleForward",
14
- "app.model.cycleBackward",
15
- "app.model.select",
16
- "app.tools.expand",
17
- "app.thinking.toggle",
18
- "app.editor.external",
19
- "app.message.followUp",
20
- "tui.input.submit",
21
- "tui.select.confirm",
22
- "tui.select.cancel",
23
- "tui.input.copy",
24
- "tui.editor.deleteToLineEnd",
25
- ];
26
- const buildBuiltinKeybindings = (resolvedKeybindings) => {
27
- const builtinKeybindings = {};
28
- for (const [keybinding, keys] of Object.entries(resolvedKeybindings)) {
29
- if (keys === undefined)
30
- continue;
31
- const keyList = Array.isArray(keys) ? keys : [keys];
32
- const restrictOverride = RESERVED_KEYBINDINGS_FOR_EXTENSION_CONFLICTS.includes(keybinding);
33
- for (const key of keyList) {
34
- const normalizedKey = key.toLowerCase();
35
- builtinKeybindings[normalizedKey] = {
36
- keybinding,
37
- restrictOverride,
38
- };
39
- }
40
- }
41
- return builtinKeybindings;
42
- };
43
- /**
44
- * Helper function to emit session_shutdown event to extensions.
45
- * Returns true if the event was emitted, false if there were no handlers.
46
- */
47
- export async function emitSessionShutdownEvent(extensionRunner) {
48
- if (extensionRunner?.hasHandlers("session_shutdown")) {
49
- await extensionRunner.emit({
50
- type: "session_shutdown",
51
- });
52
- return true;
53
- }
54
- return false;
55
- }
56
- const noOpUIContext = {
57
- select: async () => undefined,
58
- confirm: async () => false,
59
- input: async () => undefined,
60
- notify: () => { },
61
- onTerminalInput: () => () => { },
62
- setStatus: () => { },
63
- setWorkingMessage: () => { },
64
- setHiddenThinkingLabel: () => { },
65
- setWidget: () => { },
66
- setFooter: () => { },
67
- setHeader: () => { },
68
- setTitle: () => { },
69
- custom: async () => undefined,
70
- pasteToEditor: () => { },
71
- setEditorText: () => { },
72
- getEditorText: () => "",
73
- editor: async () => undefined,
74
- setEditorComponent: () => { },
75
- get theme() {
76
- return theme;
77
- },
78
- getAllThemes: () => [],
79
- getTheme: () => undefined,
80
- setTheme: (_theme) => ({ success: false, error: "UI not available" }),
81
- getToolsExpanded: () => false,
82
- setToolsExpanded: () => { },
83
- };
84
- export class ExtensionRunner {
85
- extensions;
86
- runtime;
87
- uiContext;
88
- cwd;
89
- sessionManager;
90
- modelRegistry;
91
- errorListeners = new Set();
92
- getModel = () => undefined;
93
- isIdleFn = () => true;
94
- getSignalFn = () => undefined;
95
- waitForIdleFn = async () => { };
96
- abortFn = () => { };
97
- hasPendingMessagesFn = () => false;
98
- getContextUsageFn = () => undefined;
99
- compactFn = () => { };
100
- getSystemPromptFn = () => "";
101
- newSessionHandler = async () => ({ cancelled: false });
102
- forkHandler = async () => ({ cancelled: false });
103
- navigateTreeHandler = async () => ({ cancelled: false });
104
- switchSessionHandler = async () => ({ cancelled: false });
105
- reloadHandler = async () => { };
106
- shutdownHandler = () => { };
107
- shortcutDiagnostics = [];
108
- commandDiagnostics = [];
109
- constructor(extensions, runtime, cwd, sessionManager, modelRegistry) {
110
- this.extensions = extensions;
111
- this.runtime = runtime;
112
- this.uiContext = noOpUIContext;
113
- this.cwd = cwd;
114
- this.sessionManager = sessionManager;
115
- this.modelRegistry = modelRegistry;
116
- }
117
- bindCore(actions, contextActions, providerActions) {
118
- // Copy actions into the shared runtime (all extension APIs reference this)
119
- this.runtime.sendMessage = actions.sendMessage;
120
- this.runtime.sendUserMessage = actions.sendUserMessage;
121
- this.runtime.appendEntry = actions.appendEntry;
122
- this.runtime.setSessionName = actions.setSessionName;
123
- this.runtime.getSessionName = actions.getSessionName;
124
- this.runtime.setLabel = actions.setLabel;
125
- this.runtime.getActiveTools = actions.getActiveTools;
126
- this.runtime.getAllTools = actions.getAllTools;
127
- this.runtime.setActiveTools = actions.setActiveTools;
128
- this.runtime.refreshTools = actions.refreshTools;
129
- this.runtime.getCommands = actions.getCommands;
130
- this.runtime.setModel = actions.setModel;
131
- this.runtime.getThinkingLevel = actions.getThinkingLevel;
132
- this.runtime.setThinkingLevel = actions.setThinkingLevel;
133
- // Context actions (required)
134
- this.getModel = contextActions.getModel;
135
- this.isIdleFn = contextActions.isIdle;
136
- this.getSignalFn = contextActions.getSignal;
137
- this.abortFn = contextActions.abort;
138
- this.hasPendingMessagesFn = contextActions.hasPendingMessages;
139
- this.shutdownHandler = contextActions.shutdown;
140
- this.getContextUsageFn = contextActions.getContextUsage;
141
- this.compactFn = contextActions.compact;
142
- this.getSystemPromptFn = contextActions.getSystemPrompt;
143
- // Flush provider registrations queued during extension loading
144
- for (const { name, config, extensionPath } of this.runtime.pendingProviderRegistrations) {
145
- try {
146
- if (providerActions?.registerProvider) {
147
- providerActions.registerProvider(name, config);
148
- }
149
- else {
150
- this.modelRegistry.registerProvider(name, config);
151
- }
152
- }
153
- catch (err) {
154
- this.emitError({
155
- extensionPath,
156
- event: "register_provider",
157
- error: err instanceof Error ? err.message : String(err),
158
- stack: err instanceof Error ? err.stack : undefined,
159
- });
160
- }
161
- }
162
- this.runtime.pendingProviderRegistrations = [];
163
- // From this point on, provider registration/unregistration takes effect immediately
164
- // without requiring a /reload.
165
- this.runtime.registerProvider = (name, config) => {
166
- if (providerActions?.registerProvider) {
167
- providerActions.registerProvider(name, config);
168
- return;
169
- }
170
- this.modelRegistry.registerProvider(name, config);
171
- };
172
- this.runtime.unregisterProvider = (name) => {
173
- if (providerActions?.unregisterProvider) {
174
- providerActions.unregisterProvider(name);
175
- return;
176
- }
177
- this.modelRegistry.unregisterProvider(name);
178
- };
179
- }
180
- bindCommandContext(actions) {
181
- if (actions) {
182
- this.waitForIdleFn = actions.waitForIdle;
183
- this.newSessionHandler = actions.newSession;
184
- this.forkHandler = actions.fork;
185
- this.navigateTreeHandler = actions.navigateTree;
186
- this.switchSessionHandler = actions.switchSession;
187
- this.reloadHandler = actions.reload;
188
- return;
189
- }
190
- this.waitForIdleFn = async () => { };
191
- this.newSessionHandler = async () => ({ cancelled: false });
192
- this.forkHandler = async () => ({ cancelled: false });
193
- this.navigateTreeHandler = async () => ({ cancelled: false });
194
- this.switchSessionHandler = async () => ({ cancelled: false });
195
- this.reloadHandler = async () => { };
196
- }
197
- setUIContext(uiContext) {
198
- this.uiContext = uiContext ?? noOpUIContext;
199
- }
200
- getUIContext() {
201
- return this.uiContext;
202
- }
203
- hasUI() {
204
- return this.uiContext !== noOpUIContext;
205
- }
206
- getExtensionPaths() {
207
- return this.extensions.map((e) => e.path);
208
- }
209
- /** Get all registered tools from all extensions (first registration per name wins). */
210
- getAllRegisteredTools() {
211
- const toolsByName = new Map();
212
- for (const ext of this.extensions) {
213
- for (const tool of ext.tools.values()) {
214
- if (!toolsByName.has(tool.definition.name)) {
215
- toolsByName.set(tool.definition.name, tool);
216
- }
217
- }
218
- }
219
- return Array.from(toolsByName.values());
220
- }
221
- /** Get a tool definition by name. Returns undefined if not found. */
222
- getToolDefinition(toolName) {
223
- for (const ext of this.extensions) {
224
- const tool = ext.tools.get(toolName);
225
- if (tool) {
226
- return tool.definition;
227
- }
228
- }
229
- return undefined;
230
- }
231
- getFlags() {
232
- const allFlags = new Map();
233
- for (const ext of this.extensions) {
234
- for (const [name, flag] of ext.flags) {
235
- if (!allFlags.has(name)) {
236
- allFlags.set(name, flag);
237
- }
238
- }
239
- }
240
- return allFlags;
241
- }
242
- setFlagValue(name, value) {
243
- this.runtime.flagValues.set(name, value);
244
- }
245
- getFlagValues() {
246
- return new Map(this.runtime.flagValues);
247
- }
248
- getShortcuts(resolvedKeybindings) {
249
- this.shortcutDiagnostics = [];
250
- const builtinKeybindings = buildBuiltinKeybindings(resolvedKeybindings);
251
- const extensionShortcuts = new Map();
252
- const addDiagnostic = (message, extensionPath) => {
253
- this.shortcutDiagnostics.push({ type: "warning", message, path: extensionPath });
254
- if (!this.hasUI()) {
255
- console.warn(message);
256
- }
257
- };
258
- for (const ext of this.extensions) {
259
- for (const [key, shortcut] of ext.shortcuts) {
260
- const normalizedKey = key.toLowerCase();
261
- const builtInKeybinding = builtinKeybindings[normalizedKey];
262
- if (builtInKeybinding?.restrictOverride === true) {
263
- addDiagnostic(`Extension shortcut '${key}' from ${shortcut.extensionPath} conflicts with built-in shortcut. Skipping.`, shortcut.extensionPath);
264
- continue;
265
- }
266
- if (builtInKeybinding?.restrictOverride === false) {
267
- addDiagnostic(`Extension shortcut conflict: '${key}' is built-in shortcut for ${builtInKeybinding.keybinding} and ${shortcut.extensionPath}. Using ${shortcut.extensionPath}.`, shortcut.extensionPath);
268
- }
269
- const existingExtensionShortcut = extensionShortcuts.get(normalizedKey);
270
- if (existingExtensionShortcut) {
271
- addDiagnostic(`Extension shortcut conflict: '${key}' registered by both ${existingExtensionShortcut.extensionPath} and ${shortcut.extensionPath}. Using ${shortcut.extensionPath}.`, shortcut.extensionPath);
272
- }
273
- extensionShortcuts.set(normalizedKey, shortcut);
274
- }
275
- }
276
- return extensionShortcuts;
277
- }
278
- getShortcutDiagnostics() {
279
- return this.shortcutDiagnostics;
280
- }
281
- onError(listener) {
282
- this.errorListeners.add(listener);
283
- return () => this.errorListeners.delete(listener);
284
- }
285
- emitError(error) {
286
- for (const listener of this.errorListeners) {
287
- listener(error);
288
- }
289
- }
290
- hasHandlers(eventType) {
291
- for (const ext of this.extensions) {
292
- const handlers = ext.handlers.get(eventType);
293
- if (handlers && handlers.length > 0) {
294
- return true;
295
- }
296
- }
297
- return false;
298
- }
299
- getMessageRenderer(customType) {
300
- for (const ext of this.extensions) {
301
- const renderer = ext.messageRenderers.get(customType);
302
- if (renderer) {
303
- return renderer;
304
- }
305
- }
306
- return undefined;
307
- }
308
- resolveRegisteredCommands() {
309
- const commands = [];
310
- const counts = new Map();
311
- for (const ext of this.extensions) {
312
- for (const command of ext.commands.values()) {
313
- commands.push(command);
314
- counts.set(command.name, (counts.get(command.name) ?? 0) + 1);
315
- }
316
- }
317
- const seen = new Map();
318
- const takenInvocationNames = new Set();
319
- return commands.map((command) => {
320
- const occurrence = (seen.get(command.name) ?? 0) + 1;
321
- seen.set(command.name, occurrence);
322
- let invocationName = (counts.get(command.name) ?? 0) > 1 ? `${command.name}:${occurrence}` : command.name;
323
- if (takenInvocationNames.has(invocationName)) {
324
- let suffix = occurrence;
325
- do {
326
- suffix++;
327
- invocationName = `${command.name}:${suffix}`;
328
- } while (takenInvocationNames.has(invocationName));
329
- }
330
- takenInvocationNames.add(invocationName);
331
- return {
332
- ...command,
333
- invocationName,
334
- };
335
- });
336
- }
337
- getRegisteredCommands() {
338
- this.commandDiagnostics = [];
339
- return this.resolveRegisteredCommands();
340
- }
341
- getCommandDiagnostics() {
342
- return this.commandDiagnostics;
343
- }
344
- getCommand(name) {
345
- return this.resolveRegisteredCommands().find((command) => command.invocationName === name);
346
- }
347
- /**
348
- * Request a graceful shutdown. Called by extension tools and event handlers.
349
- * The actual shutdown behavior is provided by the mode via bindExtensions().
350
- */
351
- shutdown() {
352
- this.shutdownHandler();
353
- }
354
- /**
355
- * Create an ExtensionContext for use in event handlers and tool execution.
356
- * Context values are resolved at call time, so changes via bindCore/bindUI are reflected.
357
- */
358
- createContext() {
359
- const getModel = this.getModel;
360
- return {
361
- ui: this.uiContext,
362
- hasUI: this.hasUI(),
363
- cwd: this.cwd,
364
- sessionManager: this.sessionManager,
365
- modelRegistry: this.modelRegistry,
366
- get model() {
367
- return getModel();
368
- },
369
- isIdle: () => this.isIdleFn(),
370
- signal: this.getSignalFn(),
371
- abort: () => this.abortFn(),
372
- hasPendingMessages: () => this.hasPendingMessagesFn(),
373
- shutdown: () => this.shutdownHandler(),
374
- getContextUsage: () => this.getContextUsageFn(),
375
- compact: (options) => this.compactFn(options),
376
- getSystemPrompt: () => this.getSystemPromptFn(),
377
- };
378
- }
379
- createCommandContext() {
380
- return {
381
- ...this.createContext(),
382
- waitForIdle: () => this.waitForIdleFn(),
383
- newSession: (options) => this.newSessionHandler(options),
384
- fork: (entryId) => this.forkHandler(entryId),
385
- navigateTree: (targetId, options) => this.navigateTreeHandler(targetId, options),
386
- switchSession: (sessionPath) => this.switchSessionHandler(sessionPath),
387
- reload: () => this.reloadHandler(),
388
- };
389
- }
390
- isSessionBeforeEvent(event) {
391
- return (event.type === "session_before_switch" ||
392
- event.type === "session_before_fork" ||
393
- event.type === "session_before_compact" ||
394
- event.type === "session_before_tree");
395
- }
396
- async emit(event) {
397
- const ctx = this.createContext();
398
- let result;
399
- for (const ext of this.extensions) {
400
- const handlers = ext.handlers.get(event.type);
401
- if (!handlers || handlers.length === 0)
402
- continue;
403
- for (const handler of handlers) {
404
- try {
405
- const handlerResult = await handler(event, ctx);
406
- if (this.isSessionBeforeEvent(event) && handlerResult) {
407
- result = handlerResult;
408
- if (result.cancel) {
409
- return result;
410
- }
411
- }
412
- }
413
- catch (err) {
414
- const message = err instanceof Error ? err.message : String(err);
415
- const stack = err instanceof Error ? err.stack : undefined;
416
- this.emitError({
417
- extensionPath: ext.path,
418
- event: event.type,
419
- error: message,
420
- stack,
421
- });
422
- }
423
- }
424
- }
425
- return result;
426
- }
427
- async emitToolResult(event) {
428
- const ctx = this.createContext();
429
- const currentEvent = { ...event };
430
- let modified = false;
431
- for (const ext of this.extensions) {
432
- const handlers = ext.handlers.get("tool_result");
433
- if (!handlers || handlers.length === 0)
434
- continue;
435
- for (const handler of handlers) {
436
- try {
437
- const handlerResult = (await handler(currentEvent, ctx));
438
- if (!handlerResult)
439
- continue;
440
- if (handlerResult.content !== undefined) {
441
- currentEvent.content = handlerResult.content;
442
- modified = true;
443
- }
444
- if (handlerResult.details !== undefined) {
445
- currentEvent.details = handlerResult.details;
446
- modified = true;
447
- }
448
- if (handlerResult.isError !== undefined) {
449
- currentEvent.isError = handlerResult.isError;
450
- modified = true;
451
- }
452
- }
453
- catch (err) {
454
- const message = err instanceof Error ? err.message : String(err);
455
- const stack = err instanceof Error ? err.stack : undefined;
456
- this.emitError({
457
- extensionPath: ext.path,
458
- event: "tool_result",
459
- error: message,
460
- stack,
461
- });
462
- }
463
- }
464
- }
465
- if (!modified) {
466
- return undefined;
467
- }
468
- return {
469
- content: currentEvent.content,
470
- details: currentEvent.details,
471
- isError: currentEvent.isError,
472
- };
473
- }
474
- async emitToolCall(event) {
475
- const ctx = this.createContext();
476
- let result;
477
- for (const ext of this.extensions) {
478
- const handlers = ext.handlers.get("tool_call");
479
- if (!handlers || handlers.length === 0)
480
- continue;
481
- for (const handler of handlers) {
482
- const handlerResult = await handler(event, ctx);
483
- if (handlerResult) {
484
- result = handlerResult;
485
- if (result.block) {
486
- return result;
487
- }
488
- }
489
- }
490
- }
491
- return result;
492
- }
493
- async emitUserBash(event) {
494
- const ctx = this.createContext();
495
- for (const ext of this.extensions) {
496
- const handlers = ext.handlers.get("user_bash");
497
- if (!handlers || handlers.length === 0)
498
- continue;
499
- for (const handler of handlers) {
500
- try {
501
- const handlerResult = await handler(event, ctx);
502
- if (handlerResult) {
503
- return handlerResult;
504
- }
505
- }
506
- catch (err) {
507
- const message = err instanceof Error ? err.message : String(err);
508
- const stack = err instanceof Error ? err.stack : undefined;
509
- this.emitError({
510
- extensionPath: ext.path,
511
- event: "user_bash",
512
- error: message,
513
- stack,
514
- });
515
- }
516
- }
517
- }
518
- return undefined;
519
- }
520
- async emitContext(messages) {
521
- const ctx = this.createContext();
522
- let currentMessages = structuredClone(messages);
523
- for (const ext of this.extensions) {
524
- const handlers = ext.handlers.get("context");
525
- if (!handlers || handlers.length === 0)
526
- continue;
527
- for (const handler of handlers) {
528
- try {
529
- const event = { type: "context", messages: currentMessages };
530
- const handlerResult = await handler(event, ctx);
531
- if (handlerResult && handlerResult.messages) {
532
- currentMessages = handlerResult.messages;
533
- }
534
- }
535
- catch (err) {
536
- const message = err instanceof Error ? err.message : String(err);
537
- const stack = err instanceof Error ? err.stack : undefined;
538
- this.emitError({
539
- extensionPath: ext.path,
540
- event: "context",
541
- error: message,
542
- stack,
543
- });
544
- }
545
- }
546
- }
547
- return currentMessages;
548
- }
549
- async emitBeforeProviderRequest(payload) {
550
- const ctx = this.createContext();
551
- let currentPayload = payload;
552
- for (const ext of this.extensions) {
553
- const handlers = ext.handlers.get("before_provider_request");
554
- if (!handlers || handlers.length === 0)
555
- continue;
556
- for (const handler of handlers) {
557
- try {
558
- const event = {
559
- type: "before_provider_request",
560
- payload: currentPayload,
561
- };
562
- const handlerResult = await handler(event, ctx);
563
- if (handlerResult !== undefined) {
564
- currentPayload = handlerResult;
565
- }
566
- }
567
- catch (err) {
568
- const message = err instanceof Error ? err.message : String(err);
569
- const stack = err instanceof Error ? err.stack : undefined;
570
- this.emitError({
571
- extensionPath: ext.path,
572
- event: "before_provider_request",
573
- error: message,
574
- stack,
575
- });
576
- }
577
- }
578
- }
579
- return currentPayload;
580
- }
581
- async emitBeforeAgentStart(prompt, images, systemPrompt) {
582
- const ctx = this.createContext();
583
- const messages = [];
584
- let currentSystemPrompt = systemPrompt;
585
- let systemPromptModified = false;
586
- for (const ext of this.extensions) {
587
- const handlers = ext.handlers.get("before_agent_start");
588
- if (!handlers || handlers.length === 0)
589
- continue;
590
- for (const handler of handlers) {
591
- try {
592
- const event = {
593
- type: "before_agent_start",
594
- prompt,
595
- images,
596
- systemPrompt: currentSystemPrompt,
597
- };
598
- const handlerResult = await handler(event, ctx);
599
- if (handlerResult) {
600
- const result = handlerResult;
601
- if (result.message) {
602
- messages.push(result.message);
603
- }
604
- if (result.systemPrompt !== undefined) {
605
- currentSystemPrompt = result.systemPrompt;
606
- systemPromptModified = true;
607
- }
608
- }
609
- }
610
- catch (err) {
611
- const message = err instanceof Error ? err.message : String(err);
612
- const stack = err instanceof Error ? err.stack : undefined;
613
- this.emitError({
614
- extensionPath: ext.path,
615
- event: "before_agent_start",
616
- error: message,
617
- stack,
618
- });
619
- }
620
- }
621
- }
622
- if (messages.length > 0 || systemPromptModified) {
623
- return {
624
- messages: messages.length > 0 ? messages : undefined,
625
- systemPrompt: systemPromptModified ? currentSystemPrompt : undefined,
626
- };
627
- }
628
- return undefined;
629
- }
630
- async emitResourcesDiscover(cwd, reason) {
631
- const ctx = this.createContext();
632
- const skillPaths = [];
633
- const promptPaths = [];
634
- const themePaths = [];
635
- for (const ext of this.extensions) {
636
- const handlers = ext.handlers.get("resources_discover");
637
- if (!handlers || handlers.length === 0)
638
- continue;
639
- for (const handler of handlers) {
640
- try {
641
- const event = { type: "resources_discover", cwd, reason };
642
- const handlerResult = await handler(event, ctx);
643
- const result = handlerResult;
644
- if (result?.skillPaths?.length) {
645
- skillPaths.push(...result.skillPaths.map((path) => ({ path, extensionPath: ext.path })));
646
- }
647
- if (result?.promptPaths?.length) {
648
- promptPaths.push(...result.promptPaths.map((path) => ({ path, extensionPath: ext.path })));
649
- }
650
- if (result?.themePaths?.length) {
651
- themePaths.push(...result.themePaths.map((path) => ({ path, extensionPath: ext.path })));
652
- }
653
- }
654
- catch (err) {
655
- const message = err instanceof Error ? err.message : String(err);
656
- const stack = err instanceof Error ? err.stack : undefined;
657
- this.emitError({
658
- extensionPath: ext.path,
659
- event: "resources_discover",
660
- error: message,
661
- stack,
662
- });
663
- }
664
- }
665
- }
666
- return { skillPaths, promptPaths, themePaths };
667
- }
668
- /** Emit input event. Transforms chain, "handled" short-circuits. */
669
- async emitInput(text, images, source) {
670
- const ctx = this.createContext();
671
- let currentText = text;
672
- let currentImages = images;
673
- for (const ext of this.extensions) {
674
- for (const handler of ext.handlers.get("input") ?? []) {
675
- try {
676
- const event = { type: "input", text: currentText, images: currentImages, source };
677
- const result = (await handler(event, ctx));
678
- if (result?.action === "handled")
679
- return result;
680
- if (result?.action === "transform") {
681
- currentText = result.text;
682
- currentImages = result.images ?? currentImages;
683
- }
684
- }
685
- catch (err) {
686
- this.emitError({
687
- extensionPath: ext.path,
688
- event: "input",
689
- error: err instanceof Error ? err.message : String(err),
690
- stack: err instanceof Error ? err.stack : undefined,
691
- });
692
- }
693
- }
694
- }
695
- return currentText !== text || currentImages !== images
696
- ? { action: "transform", text: currentText, images: currentImages }
697
- : { action: "continue" };
698
- }
699
- }
700
- //# sourceMappingURL=runner.js.map