@tulex-cli/tulex-code 0.1.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 (3094) hide show
  1. package/README.md +54 -0
  2. package/dist/.last_build +0 -0
  3. package/dist/index.d.ts +7 -0
  4. package/dist/index.js +98 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/package.json +121 -0
  7. package/dist/src/acp-integration/acpAgent.d.ts +59 -0
  8. package/dist/src/acp-integration/acpAgent.js +3646 -0
  9. package/dist/src/acp-integration/acpAgent.js.map +1 -0
  10. package/dist/src/acp-integration/acpAgent.test.d.ts +6 -0
  11. package/dist/src/acp-integration/acpAgent.test.js +3690 -0
  12. package/dist/src/acp-integration/acpAgent.test.js.map +1 -0
  13. package/dist/src/acp-integration/acpAgent.worktree.test.d.ts +16 -0
  14. package/dist/src/acp-integration/acpAgent.worktree.test.js +354 -0
  15. package/dist/src/acp-integration/acpAgent.worktree.test.js.map +1 -0
  16. package/dist/src/acp-integration/authMethods.d.ts +9 -0
  17. package/dist/src/acp-integration/authMethods.js +28 -0
  18. package/dist/src/acp-integration/authMethods.js.map +1 -0
  19. package/dist/src/acp-integration/authMethods.test.d.ts +6 -0
  20. package/dist/src/acp-integration/authMethods.test.js +23 -0
  21. package/dist/src/acp-integration/authMethods.test.js.map +1 -0
  22. package/dist/src/acp-integration/authPreflight.test.d.ts +6 -0
  23. package/dist/src/acp-integration/authPreflight.test.js +54 -0
  24. package/dist/src/acp-integration/authPreflight.test.js.map +1 -0
  25. package/dist/src/acp-integration/errorCodes.d.ts +15 -0
  26. package/dist/src/acp-integration/errorCodes.js +22 -0
  27. package/dist/src/acp-integration/errorCodes.js.map +1 -0
  28. package/dist/src/acp-integration/runtimeOutputDirContext.d.ts +2 -0
  29. package/dist/src/acp-integration/runtimeOutputDirContext.js +5 -0
  30. package/dist/src/acp-integration/runtimeOutputDirContext.js.map +1 -0
  31. package/dist/src/acp-integration/runtimeOutputDirContext.test.d.ts +1 -0
  32. package/dist/src/acp-integration/runtimeOutputDirContext.test.js +29 -0
  33. package/dist/src/acp-integration/runtimeOutputDirContext.test.js.map +1 -0
  34. package/dist/src/acp-integration/service/filesystem.d.ts +17 -0
  35. package/dist/src/acp-integration/service/filesystem.js +73 -0
  36. package/dist/src/acp-integration/service/filesystem.js.map +1 -0
  37. package/dist/src/acp-integration/service/filesystem.test.d.ts +6 -0
  38. package/dist/src/acp-integration/service/filesystem.test.js +85 -0
  39. package/dist/src/acp-integration/service/filesystem.test.js.map +1 -0
  40. package/dist/src/acp-integration/session/HistoryReplayer.d.ts +63 -0
  41. package/dist/src/acp-integration/session/HistoryReplayer.js +222 -0
  42. package/dist/src/acp-integration/session/HistoryReplayer.js.map +1 -0
  43. package/dist/src/acp-integration/session/HistoryReplayer.test.d.ts +6 -0
  44. package/dist/src/acp-integration/session/HistoryReplayer.test.js +405 -0
  45. package/dist/src/acp-integration/session/HistoryReplayer.test.js.map +1 -0
  46. package/dist/src/acp-integration/session/Session.d.ts +150 -0
  47. package/dist/src/acp-integration/session/Session.js +2381 -0
  48. package/dist/src/acp-integration/session/Session.js.map +1 -0
  49. package/dist/src/acp-integration/session/Session.test.d.ts +6 -0
  50. package/dist/src/acp-integration/session/Session.test.js +3845 -0
  51. package/dist/src/acp-integration/session/Session.test.js.map +1 -0
  52. package/dist/src/acp-integration/session/Session.worktree.test.d.ts +18 -0
  53. package/dist/src/acp-integration/session/Session.worktree.test.js +195 -0
  54. package/dist/src/acp-integration/session/Session.worktree.test.js.map +1 -0
  55. package/dist/src/acp-integration/session/SubAgentTracker.d.ts +58 -0
  56. package/dist/src/acp-integration/session/SubAgentTracker.js +208 -0
  57. package/dist/src/acp-integration/session/SubAgentTracker.js.map +1 -0
  58. package/dist/src/acp-integration/session/SubAgentTracker.test.d.ts +6 -0
  59. package/dist/src/acp-integration/session/SubAgentTracker.test.js +612 -0
  60. package/dist/src/acp-integration/session/SubAgentTracker.test.js.map +1 -0
  61. package/dist/src/acp-integration/session/emitters/BaseEmitter.d.ts +34 -0
  62. package/dist/src/acp-integration/session/emitters/BaseEmitter.js +53 -0
  63. package/dist/src/acp-integration/session/emitters/BaseEmitter.js.map +1 -0
  64. package/dist/src/acp-integration/session/emitters/MessageEmitter.d.ts +61 -0
  65. package/dist/src/acp-integration/session/emitters/MessageEmitter.js +124 -0
  66. package/dist/src/acp-integration/session/emitters/MessageEmitter.js.map +1 -0
  67. package/dist/src/acp-integration/session/emitters/MessageEmitter.test.d.ts +6 -0
  68. package/dist/src/acp-integration/session/emitters/MessageEmitter.test.js +202 -0
  69. package/dist/src/acp-integration/session/emitters/MessageEmitter.test.js.map +1 -0
  70. package/dist/src/acp-integration/session/emitters/PlanEmitter.d.ts +39 -0
  71. package/dist/src/acp-integration/session/emitters/PlanEmitter.js +83 -0
  72. package/dist/src/acp-integration/session/emitters/PlanEmitter.js.map +1 -0
  73. package/dist/src/acp-integration/session/emitters/PlanEmitter.test.d.ts +6 -0
  74. package/dist/src/acp-integration/session/emitters/PlanEmitter.test.js +176 -0
  75. package/dist/src/acp-integration/session/emitters/PlanEmitter.test.js.map +1 -0
  76. package/dist/src/acp-integration/session/emitters/ToolCallEmitter.d.ts +82 -0
  77. package/dist/src/acp-integration/session/emitters/ToolCallEmitter.js +284 -0
  78. package/dist/src/acp-integration/session/emitters/ToolCallEmitter.js.map +1 -0
  79. package/dist/src/acp-integration/session/emitters/ToolCallEmitter.test.d.ts +6 -0
  80. package/dist/src/acp-integration/session/emitters/ToolCallEmitter.test.js +607 -0
  81. package/dist/src/acp-integration/session/emitters/ToolCallEmitter.test.js.map +1 -0
  82. package/dist/src/acp-integration/session/emitters/index.d.ts +9 -0
  83. package/dist/src/acp-integration/session/emitters/index.js +10 -0
  84. package/dist/src/acp-integration/session/emitters/index.js.map +1 -0
  85. package/dist/src/acp-integration/session/index.d.ts +24 -0
  86. package/dist/src/acp-integration/session/index.js +16 -0
  87. package/dist/src/acp-integration/session/index.js.map +1 -0
  88. package/dist/src/acp-integration/session/permissionUtils.d.ts +9 -0
  89. package/dist/src/acp-integration/session/permissionUtils.js +165 -0
  90. package/dist/src/acp-integration/session/permissionUtils.js.map +1 -0
  91. package/dist/src/acp-integration/session/permissionUtils.test.d.ts +6 -0
  92. package/dist/src/acp-integration/session/permissionUtils.test.js +83 -0
  93. package/dist/src/acp-integration/session/permissionUtils.test.js.map +1 -0
  94. package/dist/src/acp-integration/session/rewrite/LlmRewriter.d.ts +26 -0
  95. package/dist/src/acp-integration/session/rewrite/LlmRewriter.js +131 -0
  96. package/dist/src/acp-integration/session/rewrite/LlmRewriter.js.map +1 -0
  97. package/dist/src/acp-integration/session/rewrite/LlmRewriter.test.d.ts +6 -0
  98. package/dist/src/acp-integration/session/rewrite/LlmRewriter.test.js +188 -0
  99. package/dist/src/acp-integration/session/rewrite/LlmRewriter.test.js.map +1 -0
  100. package/dist/src/acp-integration/session/rewrite/MessageRewriteMiddleware.d.ts +42 -0
  101. package/dist/src/acp-integration/session/rewrite/MessageRewriteMiddleware.js +159 -0
  102. package/dist/src/acp-integration/session/rewrite/MessageRewriteMiddleware.js.map +1 -0
  103. package/dist/src/acp-integration/session/rewrite/MessageRewriteMiddleware.test.d.ts +6 -0
  104. package/dist/src/acp-integration/session/rewrite/MessageRewriteMiddleware.test.js +255 -0
  105. package/dist/src/acp-integration/session/rewrite/MessageRewriteMiddleware.test.js.map +1 -0
  106. package/dist/src/acp-integration/session/rewrite/README.md +35 -0
  107. package/dist/src/acp-integration/session/rewrite/TurnBuffer.d.ts +25 -0
  108. package/dist/src/acp-integration/session/rewrite/TurnBuffer.js +53 -0
  109. package/dist/src/acp-integration/session/rewrite/TurnBuffer.js.map +1 -0
  110. package/dist/src/acp-integration/session/rewrite/TurnBuffer.test.d.ts +6 -0
  111. package/dist/src/acp-integration/session/rewrite/TurnBuffer.test.js +95 -0
  112. package/dist/src/acp-integration/session/rewrite/TurnBuffer.test.js.map +1 -0
  113. package/dist/src/acp-integration/session/rewrite/config.d.ts +13 -0
  114. package/dist/src/acp-integration/session/rewrite/config.js +19 -0
  115. package/dist/src/acp-integration/session/rewrite/config.js.map +1 -0
  116. package/dist/src/acp-integration/session/rewrite/config.test.d.ts +6 -0
  117. package/dist/src/acp-integration/session/rewrite/config.test.js +72 -0
  118. package/dist/src/acp-integration/session/rewrite/config.test.js.map +1 -0
  119. package/dist/src/acp-integration/session/rewrite/index.d.ts +8 -0
  120. package/dist/src/acp-integration/session/rewrite/index.js +8 -0
  121. package/dist/src/acp-integration/session/rewrite/index.js.map +1 -0
  122. package/dist/src/acp-integration/session/rewrite/types.d.ts +36 -0
  123. package/dist/src/acp-integration/session/rewrite/types.js +7 -0
  124. package/dist/src/acp-integration/session/rewrite/types.js.map +1 -0
  125. package/dist/src/acp-integration/session/types.d.ts +93 -0
  126. package/dist/src/acp-integration/session/types.js +7 -0
  127. package/dist/src/acp-integration/session/types.js.map +1 -0
  128. package/dist/src/commands/auth.d.ts +9 -0
  129. package/dist/src/commands/auth.js +55 -0
  130. package/dist/src/commands/auth.js.map +1 -0
  131. package/dist/src/commands/auth.test.d.ts +6 -0
  132. package/dist/src/commands/auth.test.js +84 -0
  133. package/dist/src/commands/auth.test.js.map +1 -0
  134. package/dist/src/commands/channel/channel-registry.d.ts +4 -0
  135. package/dist/src/commands/channel/channel-registry.js +33 -0
  136. package/dist/src/commands/channel/channel-registry.js.map +1 -0
  137. package/dist/src/commands/channel/config-utils.d.ts +4 -0
  138. package/dist/src/commands/channel/config-utils.js +66 -0
  139. package/dist/src/commands/channel/config-utils.js.map +1 -0
  140. package/dist/src/commands/channel/config-utils.test.d.ts +1 -0
  141. package/dist/src/commands/channel/config-utils.test.js +142 -0
  142. package/dist/src/commands/channel/config-utils.test.js.map +1 -0
  143. package/dist/src/commands/channel/configure.d.ts +4 -0
  144. package/dist/src/commands/channel/configure.js +65 -0
  145. package/dist/src/commands/channel/configure.js.map +1 -0
  146. package/dist/src/commands/channel/pairing.d.ts +8 -0
  147. package/dist/src/commands/channel/pairing.js +49 -0
  148. package/dist/src/commands/channel/pairing.js.map +1 -0
  149. package/dist/src/commands/channel/pidfile.d.ts +25 -0
  150. package/dist/src/commands/channel/pidfile.js +104 -0
  151. package/dist/src/commands/channel/pidfile.js.map +1 -0
  152. package/dist/src/commands/channel/pidfile.test.d.ts +1 -0
  153. package/dist/src/commands/channel/pidfile.test.js +143 -0
  154. package/dist/src/commands/channel/pidfile.test.js.map +1 -0
  155. package/dist/src/commands/channel/start.d.ts +16 -0
  156. package/dist/src/commands/channel/start.js +352 -0
  157. package/dist/src/commands/channel/start.js.map +1 -0
  158. package/dist/src/commands/channel/start.test.d.ts +1 -0
  159. package/dist/src/commands/channel/start.test.js +156 -0
  160. package/dist/src/commands/channel/start.test.js.map +1 -0
  161. package/dist/src/commands/channel/status.d.ts +2 -0
  162. package/dist/src/commands/channel/status.js +58 -0
  163. package/dist/src/commands/channel/status.js.map +1 -0
  164. package/dist/src/commands/channel/stop.d.ts +2 -0
  165. package/dist/src/commands/channel/stop.js +34 -0
  166. package/dist/src/commands/channel/stop.js.map +1 -0
  167. package/dist/src/commands/channel.d.ts +2 -0
  168. package/dist/src/commands/channel.js +29 -0
  169. package/dist/src/commands/channel.js.map +1 -0
  170. package/dist/src/commands/extensions/consent.d.ts +47 -0
  171. package/dist/src/commands/extensions/consent.js +182 -0
  172. package/dist/src/commands/extensions/consent.js.map +1 -0
  173. package/dist/src/commands/extensions/consent.test.d.ts +6 -0
  174. package/dist/src/commands/extensions/consent.test.js +277 -0
  175. package/dist/src/commands/extensions/consent.test.js.map +1 -0
  176. package/dist/src/commands/extensions/disable.d.ts +13 -0
  177. package/dist/src/commands/extensions/disable.js +65 -0
  178. package/dist/src/commands/extensions/disable.js.map +1 -0
  179. package/dist/src/commands/extensions/disable.test.d.ts +6 -0
  180. package/dist/src/commands/extensions/disable.test.js +101 -0
  181. package/dist/src/commands/extensions/disable.test.js.map +1 -0
  182. package/dist/src/commands/extensions/enable.d.ts +13 -0
  183. package/dist/src/commands/extensions/enable.js +70 -0
  184. package/dist/src/commands/extensions/enable.js.map +1 -0
  185. package/dist/src/commands/extensions/enable.test.d.ts +6 -0
  186. package/dist/src/commands/extensions/enable.test.js +93 -0
  187. package/dist/src/commands/extensions/enable.test.js.map +1 -0
  188. package/dist/src/commands/extensions/examples/agent/agents/diary.md +86 -0
  189. package/dist/src/commands/extensions/examples/agent/qwen-extension.json +5 -0
  190. package/dist/src/commands/extensions/examples/commands/commands/fs/grep-code.md +3 -0
  191. package/dist/src/commands/extensions/examples/commands/qwen-extension.json +5 -0
  192. package/dist/src/commands/extensions/examples/context/QWEN.md +8 -0
  193. package/dist/src/commands/extensions/examples/context/qwen-extension.json +5 -0
  194. package/dist/src/commands/extensions/examples/mcp-server/example.ts +60 -0
  195. package/dist/src/commands/extensions/examples/mcp-server/package.json +18 -0
  196. package/dist/src/commands/extensions/examples/mcp-server/qwen-extension.json +12 -0
  197. package/dist/src/commands/extensions/examples/mcp-server/tsconfig.json +13 -0
  198. package/dist/src/commands/extensions/examples/skills/qwen-extension.json +5 -0
  199. package/dist/src/commands/extensions/examples/skills/skills/synonyms/SKILL.md +48 -0
  200. package/dist/src/commands/extensions/install.d.ts +17 -0
  201. package/dist/src/commands/extensions/install.js +105 -0
  202. package/dist/src/commands/extensions/install.js.map +1 -0
  203. package/dist/src/commands/extensions/install.test.d.ts +6 -0
  204. package/dist/src/commands/extensions/install.test.js +164 -0
  205. package/dist/src/commands/extensions/install.test.js.map +1 -0
  206. package/dist/src/commands/extensions/link.d.ts +12 -0
  207. package/dist/src/commands/extensions/link.js +48 -0
  208. package/dist/src/commands/extensions/link.js.map +1 -0
  209. package/dist/src/commands/extensions/link.test.d.ts +6 -0
  210. package/dist/src/commands/extensions/link.test.js +74 -0
  211. package/dist/src/commands/extensions/link.test.js.map +1 -0
  212. package/dist/src/commands/extensions/list.d.ts +8 -0
  213. package/dist/src/commands/extensions/list.js +35 -0
  214. package/dist/src/commands/extensions/list.js.map +1 -0
  215. package/dist/src/commands/extensions/list.test.d.ts +6 -0
  216. package/dist/src/commands/extensions/list.test.js +76 -0
  217. package/dist/src/commands/extensions/list.test.js.map +1 -0
  218. package/dist/src/commands/extensions/new.d.ts +7 -0
  219. package/dist/src/commands/extensions/new.js +95 -0
  220. package/dist/src/commands/extensions/new.js.map +1 -0
  221. package/dist/src/commands/extensions/new.test.d.ts +6 -0
  222. package/dist/src/commands/extensions/new.test.js +59 -0
  223. package/dist/src/commands/extensions/new.test.js.map +1 -0
  224. package/dist/src/commands/extensions/settings.d.ts +7 -0
  225. package/dist/src/commands/extensions/settings.js +115 -0
  226. package/dist/src/commands/extensions/settings.js.map +1 -0
  227. package/dist/src/commands/extensions/settings.test.d.ts +6 -0
  228. package/dist/src/commands/extensions/settings.test.js +251 -0
  229. package/dist/src/commands/extensions/settings.test.js.map +1 -0
  230. package/dist/src/commands/extensions/uninstall.d.ts +12 -0
  231. package/dist/src/commands/extensions/uninstall.js +50 -0
  232. package/dist/src/commands/extensions/uninstall.js.map +1 -0
  233. package/dist/src/commands/extensions/uninstall.test.d.ts +6 -0
  234. package/dist/src/commands/extensions/uninstall.test.js +18 -0
  235. package/dist/src/commands/extensions/uninstall.test.js.map +1 -0
  236. package/dist/src/commands/extensions/update.d.ts +13 -0
  237. package/dist/src/commands/extensions/update.js +102 -0
  238. package/dist/src/commands/extensions/update.js.map +1 -0
  239. package/dist/src/commands/extensions/update.test.d.ts +6 -0
  240. package/dist/src/commands/extensions/update.test.js +185 -0
  241. package/dist/src/commands/extensions/update.test.js.map +1 -0
  242. package/dist/src/commands/extensions/utils.d.ts +8 -0
  243. package/dist/src/commands/extensions/utils.js +79 -0
  244. package/dist/src/commands/extensions/utils.js.map +1 -0
  245. package/dist/src/commands/extensions/utils.test.d.ts +6 -0
  246. package/dist/src/commands/extensions/utils.test.js +147 -0
  247. package/dist/src/commands/extensions/utils.test.js.map +1 -0
  248. package/dist/src/commands/extensions.d.ts +7 -0
  249. package/dist/src/commands/extensions.js +35 -0
  250. package/dist/src/commands/extensions.js.map +1 -0
  251. package/dist/src/commands/extensions.test.d.ts +6 -0
  252. package/dist/src/commands/extensions.test.js +72 -0
  253. package/dist/src/commands/extensions.test.js.map +1 -0
  254. package/dist/src/commands/hooks.d.ts +7 -0
  255. package/dist/src/commands/hooks.js +20 -0
  256. package/dist/src/commands/hooks.js.map +1 -0
  257. package/dist/src/commands/mcp/add.d.ts +7 -0
  258. package/dist/src/commands/mcp/add.js +247 -0
  259. package/dist/src/commands/mcp/add.js.map +1 -0
  260. package/dist/src/commands/mcp/list.d.ts +8 -0
  261. package/dist/src/commands/mcp/list.js +118 -0
  262. package/dist/src/commands/mcp/list.js.map +1 -0
  263. package/dist/src/commands/mcp/reconnect.d.ts +7 -0
  264. package/dist/src/commands/mcp/reconnect.js +154 -0
  265. package/dist/src/commands/mcp/reconnect.js.map +1 -0
  266. package/dist/src/commands/mcp/remove.d.ts +7 -0
  267. package/dist/src/commands/mcp/remove.js +54 -0
  268. package/dist/src/commands/mcp/remove.js.map +1 -0
  269. package/dist/src/commands/mcp.d.ts +7 -0
  270. package/dist/src/commands/mcp.js +25 -0
  271. package/dist/src/commands/mcp.js.map +1 -0
  272. package/dist/src/commands/review/cleanup.d.ts +7 -0
  273. package/dist/src/commands/review/cleanup.js +81 -0
  274. package/dist/src/commands/review/cleanup.js.map +1 -0
  275. package/dist/src/commands/review/deterministic.d.ts +7 -0
  276. package/dist/src/commands/review/deterministic.js +474 -0
  277. package/dist/src/commands/review/deterministic.js.map +1 -0
  278. package/dist/src/commands/review/fetch-pr.d.ts +7 -0
  279. package/dist/src/commands/review/fetch-pr.js +124 -0
  280. package/dist/src/commands/review/fetch-pr.js.map +1 -0
  281. package/dist/src/commands/review/lib/gh.d.ts +34 -0
  282. package/dist/src/commands/review/lib/gh.js +64 -0
  283. package/dist/src/commands/review/lib/gh.js.map +1 -0
  284. package/dist/src/commands/review/lib/git.d.ts +18 -0
  285. package/dist/src/commands/review/lib/git.js +41 -0
  286. package/dist/src/commands/review/lib/git.js.map +1 -0
  287. package/dist/src/commands/review/lib/paths.d.ts +23 -0
  288. package/dist/src/commands/review/lib/paths.js +37 -0
  289. package/dist/src/commands/review/lib/paths.js.map +1 -0
  290. package/dist/src/commands/review/load-rules.d.ts +7 -0
  291. package/dist/src/commands/review/load-rules.js +112 -0
  292. package/dist/src/commands/review/load-rules.js.map +1 -0
  293. package/dist/src/commands/review/pr-context.d.ts +7 -0
  294. package/dist/src/commands/review/pr-context.js +214 -0
  295. package/dist/src/commands/review/pr-context.js.map +1 -0
  296. package/dist/src/commands/review/presubmit.d.ts +7 -0
  297. package/dist/src/commands/review/presubmit.js +190 -0
  298. package/dist/src/commands/review/presubmit.js.map +1 -0
  299. package/dist/src/commands/review.d.ts +7 -0
  300. package/dist/src/commands/review.js +28 -0
  301. package/dist/src/commands/review.js.map +1 -0
  302. package/dist/src/commands/serve.d.ts +21 -0
  303. package/dist/src/commands/serve.js +214 -0
  304. package/dist/src/commands/serve.js.map +1 -0
  305. package/dist/src/commands/sp.d.ts +7 -0
  306. package/dist/src/commands/sp.js +62 -0
  307. package/dist/src/commands/sp.js.map +1 -0
  308. package/dist/src/config/auth.d.ts +10 -0
  309. package/dist/src/config/auth.js +183 -0
  310. package/dist/src/config/auth.js.map +1 -0
  311. package/dist/src/config/auth.test.d.ts +6 -0
  312. package/dist/src/config/auth.test.js +292 -0
  313. package/dist/src/config/auth.test.js.map +1 -0
  314. package/dist/src/config/config.d.ts +144 -0
  315. package/dist/src/config/config.js +1618 -0
  316. package/dist/src/config/config.js.map +1 -0
  317. package/dist/src/config/jsonSchemaArg.test.d.ts +6 -0
  318. package/dist/src/config/jsonSchemaArg.test.js +305 -0
  319. package/dist/src/config/jsonSchemaArg.test.js.map +1 -0
  320. package/dist/src/config/keyBindings.d.ts +89 -0
  321. package/dist/src/config/keyBindings.js +188 -0
  322. package/dist/src/config/keyBindings.js.map +1 -0
  323. package/dist/src/config/keyBindings.test.d.ts +6 -0
  324. package/dist/src/config/keyBindings.test.js +51 -0
  325. package/dist/src/config/keyBindings.test.js.map +1 -0
  326. package/dist/src/config/loadedSettingsAdapter.d.ts +15 -0
  327. package/dist/src/config/loadedSettingsAdapter.js +80 -0
  328. package/dist/src/config/loadedSettingsAdapter.js.map +1 -0
  329. package/dist/src/config/loadedSettingsAdapter.test.d.ts +6 -0
  330. package/dist/src/config/loadedSettingsAdapter.test.js +127 -0
  331. package/dist/src/config/loadedSettingsAdapter.test.js.map +1 -0
  332. package/dist/src/config/migration/index.d.ts +59 -0
  333. package/dist/src/config/migration/index.js +94 -0
  334. package/dist/src/config/migration/index.js.map +1 -0
  335. package/dist/src/config/migration/index.test.d.ts +6 -0
  336. package/dist/src/config/migration/index.test.js +295 -0
  337. package/dist/src/config/migration/index.test.js.map +1 -0
  338. package/dist/src/config/migration/scheduler.d.ts +51 -0
  339. package/dist/src/config/migration/scheduler.js +95 -0
  340. package/dist/src/config/migration/scheduler.js.map +1 -0
  341. package/dist/src/config/migration/scheduler.test.d.ts +6 -0
  342. package/dist/src/config/migration/scheduler.test.js +129 -0
  343. package/dist/src/config/migration/scheduler.test.js.map +1 -0
  344. package/dist/src/config/migration/types.d.ts +53 -0
  345. package/dist/src/config/migration/types.js +7 -0
  346. package/dist/src/config/migration/types.js.map +1 -0
  347. package/dist/src/config/migration/versions/v1-to-v2-shared.d.ts +27 -0
  348. package/dist/src/config/migration/versions/v1-to-v2-shared.js +174 -0
  349. package/dist/src/config/migration/versions/v1-to-v2-shared.js.map +1 -0
  350. package/dist/src/config/migration/versions/v1-to-v2.d.ts +81 -0
  351. package/dist/src/config/migration/versions/v1-to-v2.js +222 -0
  352. package/dist/src/config/migration/versions/v1-to-v2.js.map +1 -0
  353. package/dist/src/config/migration/versions/v1-to-v2.test.d.ts +6 -0
  354. package/dist/src/config/migration/versions/v1-to-v2.test.js +189 -0
  355. package/dist/src/config/migration/versions/v1-to-v2.test.js.map +1 -0
  356. package/dist/src/config/migration/versions/v2-to-v3.d.ts +61 -0
  357. package/dist/src/config/migration/versions/v2-to-v3.js +185 -0
  358. package/dist/src/config/migration/versions/v2-to-v3.js.map +1 -0
  359. package/dist/src/config/migration/versions/v2-to-v3.test.d.ts +6 -0
  360. package/dist/src/config/migration/versions/v2-to-v3.test.js +337 -0
  361. package/dist/src/config/migration/versions/v2-to-v3.test.js.map +1 -0
  362. package/dist/src/config/migration/versions/v3-to-v4.d.ts +34 -0
  363. package/dist/src/config/migration/versions/v3-to-v4.js +126 -0
  364. package/dist/src/config/migration/versions/v3-to-v4.js.map +1 -0
  365. package/dist/src/config/migration/versions/v3-to-v4.test.d.ts +6 -0
  366. package/dist/src/config/migration/versions/v3-to-v4.test.js +164 -0
  367. package/dist/src/config/migration/versions/v3-to-v4.test.js.map +1 -0
  368. package/dist/src/config/modelProvidersScope.d.ts +20 -0
  369. package/dist/src/config/modelProvidersScope.js +39 -0
  370. package/dist/src/config/modelProvidersScope.js.map +1 -0
  371. package/dist/src/config/modelProvidersScope.test.d.ts +6 -0
  372. package/dist/src/config/modelProvidersScope.test.js +66 -0
  373. package/dist/src/config/modelProvidersScope.test.js.map +1 -0
  374. package/dist/src/config/path-freshness.test.d.ts +6 -0
  375. package/dist/src/config/path-freshness.test.js +52 -0
  376. package/dist/src/config/path-freshness.test.js.map +1 -0
  377. package/dist/src/config/sandboxConfig.d.ts +13 -0
  378. package/dist/src/config/sandboxConfig.js +74 -0
  379. package/dist/src/config/sandboxConfig.js.map +1 -0
  380. package/dist/src/config/settings.d.ts +119 -0
  381. package/dist/src/config/settings.js +1015 -0
  382. package/dist/src/config/settings.js.map +1 -0
  383. package/dist/src/config/settingsSchema.d.ts +2207 -0
  384. package/dist/src/config/settingsSchema.js +2246 -0
  385. package/dist/src/config/settingsSchema.js.map +1 -0
  386. package/dist/src/config/settingsSchema.test.d.ts +6 -0
  387. package/dist/src/config/settingsSchema.test.js +232 -0
  388. package/dist/src/config/settingsSchema.test.js.map +1 -0
  389. package/dist/src/config/trustedFolders.d.ts +54 -0
  390. package/dist/src/config/trustedFolders.js +176 -0
  391. package/dist/src/config/trustedFolders.js.map +1 -0
  392. package/dist/src/config/trustedFolders.test.d.ts +6 -0
  393. package/dist/src/config/trustedFolders.test.js +354 -0
  394. package/dist/src/config/trustedFolders.test.js.map +1 -0
  395. package/dist/src/core/auth.d.ts +13 -0
  396. package/dist/src/core/auth.js +34 -0
  397. package/dist/src/core/auth.js.map +1 -0
  398. package/dist/src/core/auth.test.d.ts +6 -0
  399. package/dist/src/core/auth.test.js +47 -0
  400. package/dist/src/core/auth.test.js.map +1 -0
  401. package/dist/src/core/initializer.d.ts +21 -0
  402. package/dist/src/core/initializer.js +42 -0
  403. package/dist/src/core/initializer.js.map +1 -0
  404. package/dist/src/core/initializer.test.d.ts +6 -0
  405. package/dist/src/core/initializer.test.js +123 -0
  406. package/dist/src/core/initializer.test.js.map +1 -0
  407. package/dist/src/core/theme.d.ts +12 -0
  408. package/dist/src/core/theme.js +25 -0
  409. package/dist/src/core/theme.js.map +1 -0
  410. package/dist/src/core/theme.test.d.ts +6 -0
  411. package/dist/src/core/theme.test.js +57 -0
  412. package/dist/src/core/theme.test.js.map +1 -0
  413. package/dist/src/dualOutput/DualOutputBridge.d.ts +84 -0
  414. package/dist/src/dualOutput/DualOutputBridge.js +293 -0
  415. package/dist/src/dualOutput/DualOutputBridge.js.map +1 -0
  416. package/dist/src/dualOutput/DualOutputBridge.test.d.ts +6 -0
  417. package/dist/src/dualOutput/DualOutputBridge.test.js +157 -0
  418. package/dist/src/dualOutput/DualOutputBridge.test.js.map +1 -0
  419. package/dist/src/dualOutput/DualOutputContext.d.ts +19 -0
  420. package/dist/src/dualOutput/DualOutputContext.js +22 -0
  421. package/dist/src/dualOutput/DualOutputContext.js.map +1 -0
  422. package/dist/src/dualOutput/index.d.ts +7 -0
  423. package/dist/src/dualOutput/index.js +8 -0
  424. package/dist/src/dualOutput/index.js.map +1 -0
  425. package/dist/src/export/index.d.ts +6 -0
  426. package/dist/src/export/index.js +7 -0
  427. package/dist/src/export/index.js.map +1 -0
  428. package/dist/src/gemini.d.ts +13 -0
  429. package/dist/src/gemini.js +908 -0
  430. package/dist/src/gemini.js.map +1 -0
  431. package/dist/src/gemini.test.d.ts +6 -0
  432. package/dist/src/gemini.test.js +975 -0
  433. package/dist/src/gemini.test.js.map +1 -0
  434. package/dist/src/generated/git-commit.d.ts +7 -0
  435. package/dist/src/generated/git-commit.js +10 -0
  436. package/dist/src/generated/git-commit.js.map +1 -0
  437. package/dist/src/i18n/index.d.ts +27 -0
  438. package/dist/src/i18n/index.js +213 -0
  439. package/dist/src/i18n/index.js.map +1 -0
  440. package/dist/src/i18n/index.test.d.ts +6 -0
  441. package/dist/src/i18n/index.test.js +103 -0
  442. package/dist/src/i18n/index.test.js.map +1 -0
  443. package/dist/src/i18n/languages.d.ts +43 -0
  444. package/dist/src/i18n/languages.js +138 -0
  445. package/dist/src/i18n/languages.js.map +1 -0
  446. package/dist/src/i18n/locales/ca.js +3951 -0
  447. package/dist/src/i18n/locales/de.js +2018 -0
  448. package/dist/src/i18n/locales/en.js +2161 -0
  449. package/dist/src/i18n/locales/fr.js +2013 -0
  450. package/dist/src/i18n/locales/ja.js +1780 -0
  451. package/dist/src/i18n/locales/pt.js +2005 -0
  452. package/dist/src/i18n/locales/ru.js +1993 -0
  453. package/dist/src/i18n/locales/zh-TW.js +1729 -0
  454. package/dist/src/i18n/locales/zh.js +1929 -0
  455. package/dist/src/i18n/mustTranslateKeys.d.ts +12 -0
  456. package/dist/src/i18n/mustTranslateKeys.js +111 -0
  457. package/dist/src/i18n/mustTranslateKeys.js.map +1 -0
  458. package/dist/src/i18n/mustTranslateKeys.test.d.ts +6 -0
  459. package/dist/src/i18n/mustTranslateKeys.test.js +103 -0
  460. package/dist/src/i18n/mustTranslateKeys.test.js.map +1 -0
  461. package/dist/src/i18n/translationDict.d.ts +9 -0
  462. package/dist/src/i18n/translationDict.js +17 -0
  463. package/dist/src/i18n/translationDict.js.map +1 -0
  464. package/dist/src/nonInteractive/control/ControlContext.d.ts +71 -0
  465. package/dist/src/nonInteractive/control/ControlContext.js +36 -0
  466. package/dist/src/nonInteractive/control/ControlContext.js.map +1 -0
  467. package/dist/src/nonInteractive/control/ControlDispatcher.d.ts +116 -0
  468. package/dist/src/nonInteractive/control/ControlDispatcher.js +290 -0
  469. package/dist/src/nonInteractive/control/ControlDispatcher.js.map +1 -0
  470. package/dist/src/nonInteractive/control/ControlDispatcher.test.d.ts +6 -0
  471. package/dist/src/nonInteractive/control/ControlDispatcher.test.js +614 -0
  472. package/dist/src/nonInteractive/control/ControlDispatcher.test.js.map +1 -0
  473. package/dist/src/nonInteractive/control/ControlService.d.ts +79 -0
  474. package/dist/src/nonInteractive/control/ControlService.js +139 -0
  475. package/dist/src/nonInteractive/control/ControlService.js.map +1 -0
  476. package/dist/src/nonInteractive/control/controllers/baseController.d.ts +53 -0
  477. package/dist/src/nonInteractive/control/controllers/baseController.js +136 -0
  478. package/dist/src/nonInteractive/control/controllers/baseController.js.map +1 -0
  479. package/dist/src/nonInteractive/control/controllers/hookController.d.ts +25 -0
  480. package/dist/src/nonInteractive/control/controllers/hookController.js +40 -0
  481. package/dist/src/nonInteractive/control/controllers/hookController.js.map +1 -0
  482. package/dist/src/nonInteractive/control/controllers/permissionController.d.ts +57 -0
  483. package/dist/src/nonInteractive/control/controllers/permissionController.js +361 -0
  484. package/dist/src/nonInteractive/control/controllers/permissionController.js.map +1 -0
  485. package/dist/src/nonInteractive/control/controllers/permissionController.test.d.ts +6 -0
  486. package/dist/src/nonInteractive/control/controllers/permissionController.test.js +140 -0
  487. package/dist/src/nonInteractive/control/controllers/permissionController.test.js.map +1 -0
  488. package/dist/src/nonInteractive/control/controllers/sdkMcpController.d.ts +54 -0
  489. package/dist/src/nonInteractive/control/controllers/sdkMcpController.js +80 -0
  490. package/dist/src/nonInteractive/control/controllers/sdkMcpController.js.map +1 -0
  491. package/dist/src/nonInteractive/control/controllers/systemController.d.ts +67 -0
  492. package/dist/src/nonInteractive/control/controllers/systemController.js +326 -0
  493. package/dist/src/nonInteractive/control/controllers/systemController.js.map +1 -0
  494. package/dist/src/nonInteractive/control/controllers/systemController.test.d.ts +6 -0
  495. package/dist/src/nonInteractive/control/controllers/systemController.test.js +121 -0
  496. package/dist/src/nonInteractive/control/controllers/systemController.test.js.map +1 -0
  497. package/dist/src/nonInteractive/control/types/serviceAPIs.d.ts +105 -0
  498. package/dist/src/nonInteractive/control/types/serviceAPIs.js +7 -0
  499. package/dist/src/nonInteractive/control/types/serviceAPIs.js.map +1 -0
  500. package/dist/src/nonInteractive/io/BaseJsonOutputAdapter.d.ts +505 -0
  501. package/dist/src/nonInteractive/io/BaseJsonOutputAdapter.js +1041 -0
  502. package/dist/src/nonInteractive/io/BaseJsonOutputAdapter.js.map +1 -0
  503. package/dist/src/nonInteractive/io/BaseJsonOutputAdapter.test.d.ts +6 -0
  504. package/dist/src/nonInteractive/io/BaseJsonOutputAdapter.test.js +1304 -0
  505. package/dist/src/nonInteractive/io/BaseJsonOutputAdapter.test.js.map +1 -0
  506. package/dist/src/nonInteractive/io/JsonOutputAdapter.d.ts +29 -0
  507. package/dist/src/nonInteractive/io/JsonOutputAdapter.js +64 -0
  508. package/dist/src/nonInteractive/io/JsonOutputAdapter.js.map +1 -0
  509. package/dist/src/nonInteractive/io/JsonOutputAdapter.test.d.ts +6 -0
  510. package/dist/src/nonInteractive/io/JsonOutputAdapter.test.js +684 -0
  511. package/dist/src/nonInteractive/io/JsonOutputAdapter.test.js.map +1 -0
  512. package/dist/src/nonInteractive/io/StreamJsonInputReader.d.ts +16 -0
  513. package/dist/src/nonInteractive/io/StreamJsonInputReader.js +54 -0
  514. package/dist/src/nonInteractive/io/StreamJsonInputReader.js.map +1 -0
  515. package/dist/src/nonInteractive/io/StreamJsonInputReader.test.d.ts +6 -0
  516. package/dist/src/nonInteractive/io/StreamJsonInputReader.test.js +178 -0
  517. package/dist/src/nonInteractive/io/StreamJsonInputReader.test.js.map +1 -0
  518. package/dist/src/nonInteractive/io/StreamJsonOutputAdapter.d.ts +84 -0
  519. package/dist/src/nonInteractive/io/StreamJsonOutputAdapter.dualOutput.test.d.ts +6 -0
  520. package/dist/src/nonInteractive/io/StreamJsonOutputAdapter.dualOutput.test.js +118 -0
  521. package/dist/src/nonInteractive/io/StreamJsonOutputAdapter.dualOutput.test.js.map +1 -0
  522. package/dist/src/nonInteractive/io/StreamJsonOutputAdapter.js +227 -0
  523. package/dist/src/nonInteractive/io/StreamJsonOutputAdapter.js.map +1 -0
  524. package/dist/src/nonInteractive/io/StreamJsonOutputAdapter.test.d.ts +6 -0
  525. package/dist/src/nonInteractive/io/StreamJsonOutputAdapter.test.js +1046 -0
  526. package/dist/src/nonInteractive/io/StreamJsonOutputAdapter.test.js.map +1 -0
  527. package/dist/src/nonInteractive/io/index.d.ts +6 -0
  528. package/dist/src/nonInteractive/io/index.js +7 -0
  529. package/dist/src/nonInteractive/io/index.js.map +1 -0
  530. package/dist/src/nonInteractive/session.d.ts +8 -0
  531. package/dist/src/nonInteractive/session.js +664 -0
  532. package/dist/src/nonInteractive/session.js.map +1 -0
  533. package/dist/src/nonInteractive/session.test.d.ts +6 -0
  534. package/dist/src/nonInteractive/session.test.js +680 -0
  535. package/dist/src/nonInteractive/session.test.js.map +1 -0
  536. package/dist/src/nonInteractive/types.d.ts +415 -0
  537. package/dist/src/nonInteractive/types.js +77 -0
  538. package/dist/src/nonInteractive/types.js.map +1 -0
  539. package/dist/src/nonInteractiveCli.d.ts +33 -0
  540. package/dist/src/nonInteractiveCli.js +1058 -0
  541. package/dist/src/nonInteractiveCli.js.map +1 -0
  542. package/dist/src/nonInteractiveCliCommands.d.ts +59 -0
  543. package/dist/src/nonInteractiveCliCommands.js +326 -0
  544. package/dist/src/nonInteractiveCliCommands.js.map +1 -0
  545. package/dist/src/nonInteractiveCliCommands.test.d.ts +6 -0
  546. package/dist/src/nonInteractiveCliCommands.test.js +484 -0
  547. package/dist/src/nonInteractiveCliCommands.test.js.map +1 -0
  548. package/dist/src/patches/is-in-ci.d.ts +7 -0
  549. package/dist/src/patches/is-in-ci.js +15 -0
  550. package/dist/src/patches/is-in-ci.js.map +1 -0
  551. package/dist/src/remoteInput/RemoteInputContext.d.ts +8 -0
  552. package/dist/src/remoteInput/RemoteInputContext.js +9 -0
  553. package/dist/src/remoteInput/RemoteInputContext.js.map +1 -0
  554. package/dist/src/remoteInput/RemoteInputWatcher.d.ts +83 -0
  555. package/dist/src/remoteInput/RemoteInputWatcher.js +201 -0
  556. package/dist/src/remoteInput/RemoteInputWatcher.js.map +1 -0
  557. package/dist/src/remoteInput/RemoteInputWatcher.test.d.ts +6 -0
  558. package/dist/src/remoteInput/RemoteInputWatcher.test.js +100 -0
  559. package/dist/src/remoteInput/RemoteInputWatcher.test.js.map +1 -0
  560. package/dist/src/remoteInput/index.d.ts +7 -0
  561. package/dist/src/remoteInput/index.js +8 -0
  562. package/dist/src/remoteInput/index.js.map +1 -0
  563. package/dist/src/serve/auth/deviceFlow.d.ts +595 -0
  564. package/dist/src/serve/auth/deviceFlow.js +1243 -0
  565. package/dist/src/serve/auth/deviceFlow.js.map +1 -0
  566. package/dist/src/serve/auth/deviceFlow.test.d.ts +6 -0
  567. package/dist/src/serve/auth/deviceFlow.test.js +1314 -0
  568. package/dist/src/serve/auth/deviceFlow.test.js.map +1 -0
  569. package/dist/src/serve/auth/qwenDeviceFlowProvider.d.ts +30 -0
  570. package/dist/src/serve/auth/qwenDeviceFlowProvider.js +331 -0
  571. package/dist/src/serve/auth/qwenDeviceFlowProvider.js.map +1 -0
  572. package/dist/src/serve/auth/qwenDeviceFlowProvider.test.d.ts +6 -0
  573. package/dist/src/serve/auth/qwenDeviceFlowProvider.test.js +301 -0
  574. package/dist/src/serve/auth/qwenDeviceFlowProvider.test.js.map +1 -0
  575. package/dist/src/serve/auth.d.ts +101 -0
  576. package/dist/src/serve/auth.js +216 -0
  577. package/dist/src/serve/auth.js.map +1 -0
  578. package/dist/src/serve/capabilities.d.ts +196 -0
  579. package/dist/src/serve/capabilities.js +227 -0
  580. package/dist/src/serve/capabilities.js.map +1 -0
  581. package/dist/src/serve/daemonStatusProvider.d.ts +14 -0
  582. package/dist/src/serve/daemonStatusProvider.js +252 -0
  583. package/dist/src/serve/daemonStatusProvider.js.map +1 -0
  584. package/dist/src/serve/debugMode.d.ts +27 -0
  585. package/dist/src/serve/debugMode.js +33 -0
  586. package/dist/src/serve/debugMode.js.map +1 -0
  587. package/dist/src/serve/demo.d.ts +11 -0
  588. package/dist/src/serve/demo.js +640 -0
  589. package/dist/src/serve/demo.js.map +1 -0
  590. package/dist/src/serve/envSnapshot.d.ts +28 -0
  591. package/dist/src/serve/envSnapshot.js +199 -0
  592. package/dist/src/serve/envSnapshot.js.map +1 -0
  593. package/dist/src/serve/envSnapshot.test.d.ts +6 -0
  594. package/dist/src/serve/envSnapshot.test.js +181 -0
  595. package/dist/src/serve/envSnapshot.test.js.map +1 -0
  596. package/dist/src/serve/eventBus.d.ts +6 -0
  597. package/dist/src/serve/eventBus.js +15 -0
  598. package/dist/src/serve/eventBus.js.map +1 -0
  599. package/dist/src/serve/fs/audit.d.ts +144 -0
  600. package/dist/src/serve/fs/audit.js +193 -0
  601. package/dist/src/serve/fs/audit.js.map +1 -0
  602. package/dist/src/serve/fs/audit.test.d.ts +6 -0
  603. package/dist/src/serve/fs/audit.test.js +246 -0
  604. package/dist/src/serve/fs/audit.test.js.map +1 -0
  605. package/dist/src/serve/fs/contract.test.d.ts +6 -0
  606. package/dist/src/serve/fs/contract.test.js +211 -0
  607. package/dist/src/serve/fs/contract.test.js.map +1 -0
  608. package/dist/src/serve/fs/errors.d.ts +87 -0
  609. package/dist/src/serve/fs/errors.js +128 -0
  610. package/dist/src/serve/fs/errors.js.map +1 -0
  611. package/dist/src/serve/fs/errors.test.d.ts +6 -0
  612. package/dist/src/serve/fs/errors.test.js +152 -0
  613. package/dist/src/serve/fs/errors.test.js.map +1 -0
  614. package/dist/src/serve/fs/index.d.ts +10 -0
  615. package/dist/src/serve/fs/index.js +11 -0
  616. package/dist/src/serve/fs/index.js.map +1 -0
  617. package/dist/src/serve/fs/paths.d.ts +103 -0
  618. package/dist/src/serve/fs/paths.js +433 -0
  619. package/dist/src/serve/fs/paths.js.map +1 -0
  620. package/dist/src/serve/fs/paths.test.d.ts +6 -0
  621. package/dist/src/serve/fs/paths.test.js +309 -0
  622. package/dist/src/serve/fs/paths.test.js.map +1 -0
  623. package/dist/src/serve/fs/policy.d.ts +142 -0
  624. package/dist/src/serve/fs/policy.js +189 -0
  625. package/dist/src/serve/fs/policy.js.map +1 -0
  626. package/dist/src/serve/fs/policy.test.d.ts +6 -0
  627. package/dist/src/serve/fs/policy.test.js +193 -0
  628. package/dist/src/serve/fs/policy.test.js.map +1 -0
  629. package/dist/src/serve/fs/workspaceFileSystem.d.ts +157 -0
  630. package/dist/src/serve/fs/workspaceFileSystem.js +1377 -0
  631. package/dist/src/serve/fs/workspaceFileSystem.js.map +1 -0
  632. package/dist/src/serve/fs/workspaceFileSystem.test.d.ts +6 -0
  633. package/dist/src/serve/fs/workspaceFileSystem.test.js +880 -0
  634. package/dist/src/serve/fs/workspaceFileSystem.test.js.map +1 -0
  635. package/dist/src/serve/httpAcpBridge.d.ts +80 -0
  636. package/dist/src/serve/httpAcpBridge.js +3559 -0
  637. package/dist/src/serve/httpAcpBridge.js.map +1 -0
  638. package/dist/src/serve/httpAcpBridge.test.d.ts +6 -0
  639. package/dist/src/serve/httpAcpBridge.test.js +4987 -0
  640. package/dist/src/serve/httpAcpBridge.test.js.map +1 -0
  641. package/dist/src/serve/inMemoryChannel.d.ts +6 -0
  642. package/dist/src/serve/inMemoryChannel.js +14 -0
  643. package/dist/src/serve/inMemoryChannel.js.map +1 -0
  644. package/dist/src/serve/index.d.ts +15 -0
  645. package/dist/src/serve/index.js +16 -0
  646. package/dist/src/serve/index.js.map +1 -0
  647. package/dist/src/serve/loopbackBinds.d.ts +18 -0
  648. package/dist/src/serve/loopbackBinds.js +33 -0
  649. package/dist/src/serve/loopbackBinds.js.map +1 -0
  650. package/dist/src/serve/routes/workspaceFileRead.d.ts +90 -0
  651. package/dist/src/serve/routes/workspaceFileRead.js +458 -0
  652. package/dist/src/serve/routes/workspaceFileRead.js.map +1 -0
  653. package/dist/src/serve/routes/workspaceFileRead.test.d.ts +6 -0
  654. package/dist/src/serve/routes/workspaceFileRead.test.js +453 -0
  655. package/dist/src/serve/routes/workspaceFileRead.test.js.map +1 -0
  656. package/dist/src/serve/routes/workspaceFileWrite.d.ts +17 -0
  657. package/dist/src/serve/routes/workspaceFileWrite.js +224 -0
  658. package/dist/src/serve/routes/workspaceFileWrite.js.map +1 -0
  659. package/dist/src/serve/routes/workspaceFileWrite.test.d.ts +6 -0
  660. package/dist/src/serve/routes/workspaceFileWrite.test.js +223 -0
  661. package/dist/src/serve/routes/workspaceFileWrite.test.js.map +1 -0
  662. package/dist/src/serve/runQwenServe.d.ts +67 -0
  663. package/dist/src/serve/runQwenServe.js +616 -0
  664. package/dist/src/serve/runQwenServe.js.map +1 -0
  665. package/dist/src/serve/server.d.ts +125 -0
  666. package/dist/src/serve/server.js +2297 -0
  667. package/dist/src/serve/server.js.map +1 -0
  668. package/dist/src/serve/status.d.ts +6 -0
  669. package/dist/src/serve/status.js +13 -0
  670. package/dist/src/serve/status.js.map +1 -0
  671. package/dist/src/serve/types.d.ts +175 -0
  672. package/dist/src/serve/types.js +10 -0
  673. package/dist/src/serve/types.js.map +1 -0
  674. package/dist/src/serve/workspaceAgents.d.ts +47 -0
  675. package/dist/src/serve/workspaceAgents.js +1171 -0
  676. package/dist/src/serve/workspaceAgents.js.map +1 -0
  677. package/dist/src/serve/workspaceAgents.test.d.ts +6 -0
  678. package/dist/src/serve/workspaceAgents.test.js +823 -0
  679. package/dist/src/serve/workspaceAgents.test.js.map +1 -0
  680. package/dist/src/serve/workspaceMemory.d.ts +60 -0
  681. package/dist/src/serve/workspaceMemory.js +323 -0
  682. package/dist/src/serve/workspaceMemory.js.map +1 -0
  683. package/dist/src/serve/workspaceMemory.test.d.ts +6 -0
  684. package/dist/src/serve/workspaceMemory.test.js +418 -0
  685. package/dist/src/serve/workspaceMemory.test.js.map +1 -0
  686. package/dist/src/services/BuiltinCommandLoader.d.ts +24 -0
  687. package/dist/src/services/BuiltinCommandLoader.js +159 -0
  688. package/dist/src/services/BuiltinCommandLoader.js.map +1 -0
  689. package/dist/src/services/BuiltinCommandLoader.test.d.ts +6 -0
  690. package/dist/src/services/BuiltinCommandLoader.test.js +234 -0
  691. package/dist/src/services/BuiltinCommandLoader.test.js.map +1 -0
  692. package/dist/src/services/BundledSkillLoader.d.ts +17 -0
  693. package/dist/src/services/BundledSkillLoader.js +97 -0
  694. package/dist/src/services/BundledSkillLoader.js.map +1 -0
  695. package/dist/src/services/BundledSkillLoader.test.d.ts +6 -0
  696. package/dist/src/services/BundledSkillLoader.test.js +301 -0
  697. package/dist/src/services/BundledSkillLoader.test.js.map +1 -0
  698. package/dist/src/services/CommandService.d.ts +69 -0
  699. package/dist/src/services/CommandService.js +128 -0
  700. package/dist/src/services/CommandService.js.map +1 -0
  701. package/dist/src/services/CommandService.test.d.ts +6 -0
  702. package/dist/src/services/CommandService.test.js +263 -0
  703. package/dist/src/services/CommandService.test.js.map +1 -0
  704. package/dist/src/services/FileCommandLoader-extension.test.d.ts +6 -0
  705. package/dist/src/services/FileCommandLoader-extension.test.js +279 -0
  706. package/dist/src/services/FileCommandLoader-extension.test.js.map +1 -0
  707. package/dist/src/services/FileCommandLoader-markdown.test.d.ts +6 -0
  708. package/dist/src/services/FileCommandLoader-markdown.test.js +111 -0
  709. package/dist/src/services/FileCommandLoader-markdown.test.js.map +1 -0
  710. package/dist/src/services/FileCommandLoader.d.ts +64 -0
  711. package/dist/src/services/FileCommandLoader.js +259 -0
  712. package/dist/src/services/FileCommandLoader.js.map +1 -0
  713. package/dist/src/services/McpPromptLoader.d.ts +35 -0
  714. package/dist/src/services/McpPromptLoader.js +261 -0
  715. package/dist/src/services/McpPromptLoader.js.map +1 -0
  716. package/dist/src/services/McpPromptLoader.test.d.ts +6 -0
  717. package/dist/src/services/McpPromptLoader.test.js +341 -0
  718. package/dist/src/services/McpPromptLoader.test.js.map +1 -0
  719. package/dist/src/services/SkillCommandLoader.d.ts +23 -0
  720. package/dist/src/services/SkillCommandLoader.js +110 -0
  721. package/dist/src/services/SkillCommandLoader.js.map +1 -0
  722. package/dist/src/services/SkillCommandLoader.test.d.ts +6 -0
  723. package/dist/src/services/SkillCommandLoader.test.js +307 -0
  724. package/dist/src/services/SkillCommandLoader.test.js.map +1 -0
  725. package/dist/src/services/command-factory.d.ts +25 -0
  726. package/dist/src/services/command-factory.js +122 -0
  727. package/dist/src/services/command-factory.js.map +1 -0
  728. package/dist/src/services/command-factory.test.d.ts +6 -0
  729. package/dist/src/services/command-factory.test.js +31 -0
  730. package/dist/src/services/command-factory.test.js.map +1 -0
  731. package/dist/src/services/command-migration-tool.d.ts +39 -0
  732. package/dist/src/services/command-migration-tool.js +135 -0
  733. package/dist/src/services/command-migration-tool.js.map +1 -0
  734. package/dist/src/services/command-migration-tool.test.d.ts +6 -0
  735. package/dist/src/services/command-migration-tool.test.js +175 -0
  736. package/dist/src/services/command-migration-tool.test.js.map +1 -0
  737. package/dist/src/services/commandMetadata.d.ts +21 -0
  738. package/dist/src/services/commandMetadata.js +106 -0
  739. package/dist/src/services/commandMetadata.js.map +1 -0
  740. package/dist/src/services/commandMetadata.test.d.ts +6 -0
  741. package/dist/src/services/commandMetadata.test.js +216 -0
  742. package/dist/src/services/commandMetadata.test.js.map +1 -0
  743. package/dist/src/services/commandUtils.d.ts +36 -0
  744. package/dist/src/services/commandUtils.js +57 -0
  745. package/dist/src/services/commandUtils.js.map +1 -0
  746. package/dist/src/services/commandUtils.test.d.ts +6 -0
  747. package/dist/src/services/commandUtils.test.js +159 -0
  748. package/dist/src/services/commandUtils.test.js.map +1 -0
  749. package/dist/src/services/insight/generators/DataProcessor.d.ts +23 -0
  750. package/dist/src/services/insight/generators/DataProcessor.js +1001 -0
  751. package/dist/src/services/insight/generators/DataProcessor.js.map +1 -0
  752. package/dist/src/services/insight/generators/DataProcessor.test.d.ts +6 -0
  753. package/dist/src/services/insight/generators/DataProcessor.test.js +1210 -0
  754. package/dist/src/services/insight/generators/DataProcessor.test.js.map +1 -0
  755. package/dist/src/services/insight/generators/StaticInsightGenerator.d.ts +16 -0
  756. package/dist/src/services/insight/generators/StaticInsightGenerator.js +63 -0
  757. package/dist/src/services/insight/generators/StaticInsightGenerator.js.map +1 -0
  758. package/dist/src/services/insight/generators/StaticInsightGenerator.test.d.ts +6 -0
  759. package/dist/src/services/insight/generators/StaticInsightGenerator.test.js +60 -0
  760. package/dist/src/services/insight/generators/StaticInsightGenerator.test.js.map +1 -0
  761. package/dist/src/services/insight/generators/TemplateRenderer.d.ts +9 -0
  762. package/dist/src/services/insight/generators/TemplateRenderer.js +49 -0
  763. package/dist/src/services/insight/generators/TemplateRenderer.js.map +1 -0
  764. package/dist/src/services/insight/types/QualitativeInsightTypes.d.ts +74 -0
  765. package/dist/src/services/insight/types/QualitativeInsightTypes.js +2 -0
  766. package/dist/src/services/insight/types/QualitativeInsightTypes.js.map +1 -0
  767. package/dist/src/services/insight/types/StaticInsightTypes.d.ts +59 -0
  768. package/dist/src/services/insight/types/StaticInsightTypes.js +7 -0
  769. package/dist/src/services/insight/types/StaticInsightTypes.js.map +1 -0
  770. package/dist/src/services/markdown-command-parser.d.ts +52 -0
  771. package/dist/src/services/markdown-command-parser.js +60 -0
  772. package/dist/src/services/markdown-command-parser.js.map +1 -0
  773. package/dist/src/services/markdown-command-parser.test.d.ts +6 -0
  774. package/dist/src/services/markdown-command-parser.test.js +146 -0
  775. package/dist/src/services/markdown-command-parser.test.js.map +1 -0
  776. package/dist/src/services/notificationService.d.ts +19 -0
  777. package/dist/src/services/notificationService.js +64 -0
  778. package/dist/src/services/notificationService.js.map +1 -0
  779. package/dist/src/services/notificationService.test.d.ts +6 -0
  780. package/dist/src/services/notificationService.test.js +114 -0
  781. package/dist/src/services/notificationService.test.js.map +1 -0
  782. package/dist/src/services/prompt-processors/argumentProcessor.d.ts +16 -0
  783. package/dist/src/services/prompt-processors/argumentProcessor.js +21 -0
  784. package/dist/src/services/prompt-processors/argumentProcessor.js.map +1 -0
  785. package/dist/src/services/prompt-processors/atFileProcessor.d.ts +12 -0
  786. package/dist/src/services/prompt-processors/atFileProcessor.js +63 -0
  787. package/dist/src/services/prompt-processors/atFileProcessor.js.map +1 -0
  788. package/dist/src/services/prompt-processors/atFileProcessor.test.d.ts +6 -0
  789. package/dist/src/services/prompt-processors/atFileProcessor.test.js +174 -0
  790. package/dist/src/services/prompt-processors/atFileProcessor.test.js.map +1 -0
  791. package/dist/src/services/prompt-processors/injectionParser.d.ts +29 -0
  792. package/dist/src/services/prompt-processors/injectionParser.js +60 -0
  793. package/dist/src/services/prompt-processors/injectionParser.js.map +1 -0
  794. package/dist/src/services/prompt-processors/injectionParser.test.d.ts +6 -0
  795. package/dist/src/services/prompt-processors/injectionParser.test.js +189 -0
  796. package/dist/src/services/prompt-processors/injectionParser.test.js.map +1 -0
  797. package/dist/src/services/prompt-processors/shellProcessor.d.ts +27 -0
  798. package/dist/src/services/prompt-processors/shellProcessor.js +146 -0
  799. package/dist/src/services/prompt-processors/shellProcessor.js.map +1 -0
  800. package/dist/src/services/prompt-processors/types.d.ts +45 -0
  801. package/dist/src/services/prompt-processors/types.js +20 -0
  802. package/dist/src/services/prompt-processors/types.js.map +1 -0
  803. package/dist/src/services/test-commands/example.md +5 -0
  804. package/dist/src/services/tips/index.d.ts +10 -0
  805. package/dist/src/services/tips/index.js +21 -0
  806. package/dist/src/services/tips/index.js.map +1 -0
  807. package/dist/src/services/tips/tipHistory.d.ts +49 -0
  808. package/dist/src/services/tips/tipHistory.js +138 -0
  809. package/dist/src/services/tips/tipHistory.js.map +1 -0
  810. package/dist/src/services/tips/tipHistory.test.d.ts +6 -0
  811. package/dist/src/services/tips/tipHistory.test.js +102 -0
  812. package/dist/src/services/tips/tipHistory.test.js.map +1 -0
  813. package/dist/src/services/tips/tipRegistry.d.ts +32 -0
  814. package/dist/src/services/tips/tipRegistry.js +148 -0
  815. package/dist/src/services/tips/tipRegistry.js.map +1 -0
  816. package/dist/src/services/tips/tipRegistry.test.d.ts +6 -0
  817. package/dist/src/services/tips/tipRegistry.test.js +65 -0
  818. package/dist/src/services/tips/tipRegistry.test.js.map +1 -0
  819. package/dist/src/services/tips/tipScheduler.d.ts +21 -0
  820. package/dist/src/services/tips/tipScheduler.js +38 -0
  821. package/dist/src/services/tips/tipScheduler.js.map +1 -0
  822. package/dist/src/services/tips/tipScheduler.test.d.ts +6 -0
  823. package/dist/src/services/tips/tipScheduler.test.js +126 -0
  824. package/dist/src/services/tips/tipScheduler.test.js.map +1 -0
  825. package/dist/src/services/types.d.ts +22 -0
  826. package/dist/src/services/types.js +7 -0
  827. package/dist/src/services/types.js.map +1 -0
  828. package/dist/src/startup/worktreeStartup.d.ts +112 -0
  829. package/dist/src/startup/worktreeStartup.js +350 -0
  830. package/dist/src/startup/worktreeStartup.js.map +1 -0
  831. package/dist/src/startup/worktreeStartup.test.d.ts +6 -0
  832. package/dist/src/startup/worktreeStartup.test.js +332 -0
  833. package/dist/src/startup/worktreeStartup.test.js.map +1 -0
  834. package/dist/src/test-utils/customMatchers.d.ts +14 -0
  835. package/dist/src/test-utils/customMatchers.js +40 -0
  836. package/dist/src/test-utils/customMatchers.js.map +1 -0
  837. package/dist/src/test-utils/mockCommandContext.d.ts +18 -0
  838. package/dist/src/test-utils/mockCommandContext.js +107 -0
  839. package/dist/src/test-utils/mockCommandContext.js.map +1 -0
  840. package/dist/src/test-utils/mockCommandContext.test.d.ts +6 -0
  841. package/dist/src/test-utils/mockCommandContext.test.js +51 -0
  842. package/dist/src/test-utils/mockCommandContext.test.js.map +1 -0
  843. package/dist/src/test-utils/render.d.ts +14 -0
  844. package/dist/src/test-utils/render.js +15 -0
  845. package/dist/src/test-utils/render.js.map +1 -0
  846. package/dist/src/ui/App.d.ts +6 -0
  847. package/dist/src/ui/App.js +65 -0
  848. package/dist/src/ui/App.js.map +1 -0
  849. package/dist/src/ui/AppContainer.d.ts +24 -0
  850. package/dist/src/ui/AppContainer.js +2853 -0
  851. package/dist/src/ui/AppContainer.js.map +1 -0
  852. package/dist/src/ui/AppContainer.test.d.ts +6 -0
  853. package/dist/src/ui/AppContainer.test.js +2368 -0
  854. package/dist/src/ui/AppContainer.test.js.map +1 -0
  855. package/dist/src/ui/CommandFormatMigrationNudge.d.ts +14 -0
  856. package/dist/src/ui/CommandFormatMigrationNudge.js +44 -0
  857. package/dist/src/ui/CommandFormatMigrationNudge.js.map +1 -0
  858. package/dist/src/ui/FeedbackDialog.d.ts +9 -0
  859. package/dist/src/ui/FeedbackDialog.js +44 -0
  860. package/dist/src/ui/FeedbackDialog.js.map +1 -0
  861. package/dist/src/ui/IdeIntegrationNudge.d.ts +16 -0
  862. package/dist/src/ui/IdeIntegrationNudge.js +53 -0
  863. package/dist/src/ui/IdeIntegrationNudge.js.map +1 -0
  864. package/dist/src/ui/auth/AuthDialog.d.ts +7 -0
  865. package/dist/src/ui/auth/AuthDialog.js +214 -0
  866. package/dist/src/ui/auth/AuthDialog.js.map +1 -0
  867. package/dist/src/ui/auth/AuthDialog.test.d.ts +6 -0
  868. package/dist/src/ui/auth/AuthDialog.test.js +1029 -0
  869. package/dist/src/ui/auth/AuthDialog.test.js.map +1 -0
  870. package/dist/src/ui/auth/AuthInProgress.d.ts +11 -0
  871. package/dist/src/ui/auth/AuthInProgress.js +24 -0
  872. package/dist/src/ui/auth/AuthInProgress.js.map +1 -0
  873. package/dist/src/ui/auth/ProviderSetupSteps.d.ts +11 -0
  874. package/dist/src/ui/auth/ProviderSetupSteps.js +320 -0
  875. package/dist/src/ui/auth/ProviderSetupSteps.js.map +1 -0
  876. package/dist/src/ui/auth/ProviderSetupSteps.test.d.ts +6 -0
  877. package/dist/src/ui/auth/ProviderSetupSteps.test.js +322 -0
  878. package/dist/src/ui/auth/ProviderSetupSteps.test.js.map +1 -0
  879. package/dist/src/ui/auth/useAuth.d.ts +76 -0
  880. package/dist/src/ui/auth/useAuth.js +192 -0
  881. package/dist/src/ui/auth/useAuth.js.map +1 -0
  882. package/dist/src/ui/auth/useAuth.test.d.ts +6 -0
  883. package/dist/src/ui/auth/useAuth.test.js +267 -0
  884. package/dist/src/ui/auth/useAuth.test.js.map +1 -0
  885. package/dist/src/ui/auth/useProviderSetupFlow.d.ts +54 -0
  886. package/dist/src/ui/auth/useProviderSetupFlow.js +380 -0
  887. package/dist/src/ui/auth/useProviderSetupFlow.js.map +1 -0
  888. package/dist/src/ui/colors.d.ts +7 -0
  889. package/dist/src/ui/colors.js +60 -0
  890. package/dist/src/ui/colors.js.map +1 -0
  891. package/dist/src/ui/commands/aboutCommand.d.ts +7 -0
  892. package/dist/src/ui/commands/aboutCommand.js +69 -0
  893. package/dist/src/ui/commands/aboutCommand.js.map +1 -0
  894. package/dist/src/ui/commands/agentsCommand.d.ts +7 -0
  895. package/dist/src/ui/commands/agentsCommand.js +42 -0
  896. package/dist/src/ui/commands/agentsCommand.js.map +1 -0
  897. package/dist/src/ui/commands/approvalModeCommand.d.ts +7 -0
  898. package/dist/src/ui/commands/approvalModeCommand.js +89 -0
  899. package/dist/src/ui/commands/approvalModeCommand.js.map +1 -0
  900. package/dist/src/ui/commands/approvalModeCommand.test.d.ts +6 -0
  901. package/dist/src/ui/commands/approvalModeCommand.test.js +112 -0
  902. package/dist/src/ui/commands/approvalModeCommand.test.js.map +1 -0
  903. package/dist/src/ui/commands/arenaCommand.agentComplete.test.d.ts +6 -0
  904. package/dist/src/ui/commands/arenaCommand.agentComplete.test.js +118 -0
  905. package/dist/src/ui/commands/arenaCommand.agentComplete.test.js.map +1 -0
  906. package/dist/src/ui/commands/arenaCommand.d.ts +7 -0
  907. package/dist/src/ui/commands/arenaCommand.js +519 -0
  908. package/dist/src/ui/commands/arenaCommand.js.map +1 -0
  909. package/dist/src/ui/commands/arenaCommand.test.d.ts +6 -0
  910. package/dist/src/ui/commands/arenaCommand.test.js +352 -0
  911. package/dist/src/ui/commands/arenaCommand.test.js.map +1 -0
  912. package/dist/src/ui/commands/authCommand.d.ts +7 -0
  913. package/dist/src/ui/commands/authCommand.js +31 -0
  914. package/dist/src/ui/commands/authCommand.js.map +1 -0
  915. package/dist/src/ui/commands/branchCommand.d.ts +7 -0
  916. package/dist/src/ui/commands/branchCommand.js +49 -0
  917. package/dist/src/ui/commands/branchCommand.js.map +1 -0
  918. package/dist/src/ui/commands/branchCommand.test.d.ts +6 -0
  919. package/dist/src/ui/commands/branchCommand.test.js +57 -0
  920. package/dist/src/ui/commands/branchCommand.test.js.map +1 -0
  921. package/dist/src/ui/commands/btwCommand.d.ts +7 -0
  922. package/dist/src/ui/commands/btwCommand.js +164 -0
  923. package/dist/src/ui/commands/btwCommand.js.map +1 -0
  924. package/dist/src/ui/commands/btwCommand.test.d.ts +6 -0
  925. package/dist/src/ui/commands/btwCommand.test.js +338 -0
  926. package/dist/src/ui/commands/btwCommand.test.js.map +1 -0
  927. package/dist/src/ui/commands/bugCommand.d.ts +7 -0
  928. package/dist/src/ui/commands/bugCommand.js +54 -0
  929. package/dist/src/ui/commands/bugCommand.js.map +1 -0
  930. package/dist/src/ui/commands/clearCommand.d.ts +7 -0
  931. package/dist/src/ui/commands/clearCommand.js +122 -0
  932. package/dist/src/ui/commands/clearCommand.js.map +1 -0
  933. package/dist/src/ui/commands/compressCommand.d.ts +7 -0
  934. package/dist/src/ui/commands/compressCommand.js +178 -0
  935. package/dist/src/ui/commands/compressCommand.js.map +1 -0
  936. package/dist/src/ui/commands/contextCommand.d.ts +14 -0
  937. package/dist/src/ui/commands/contextCommand.js +443 -0
  938. package/dist/src/ui/commands/contextCommand.js.map +1 -0
  939. package/dist/src/ui/commands/contextCommand.test.d.ts +6 -0
  940. package/dist/src/ui/commands/contextCommand.test.js +184 -0
  941. package/dist/src/ui/commands/contextCommand.test.js.map +1 -0
  942. package/dist/src/ui/commands/copyCommand.d.ts +7 -0
  943. package/dist/src/ui/commands/copyCommand.js +374 -0
  944. package/dist/src/ui/commands/copyCommand.js.map +1 -0
  945. package/dist/src/ui/commands/deleteCommand.d.ts +7 -0
  946. package/dist/src/ui/commands/deleteCommand.js +19 -0
  947. package/dist/src/ui/commands/deleteCommand.js.map +1 -0
  948. package/dist/src/ui/commands/deleteCommand.test.d.ts +6 -0
  949. package/dist/src/ui/commands/deleteCommand.test.js +27 -0
  950. package/dist/src/ui/commands/deleteCommand.test.js.map +1 -0
  951. package/dist/src/ui/commands/diffCommand.d.ts +42 -0
  952. package/dist/src/ui/commands/diffCommand.js +206 -0
  953. package/dist/src/ui/commands/diffCommand.js.map +1 -0
  954. package/dist/src/ui/commands/diffCommand.test.d.ts +6 -0
  955. package/dist/src/ui/commands/diffCommand.test.js +482 -0
  956. package/dist/src/ui/commands/diffCommand.test.js.map +1 -0
  957. package/dist/src/ui/commands/directoryCommand.d.ts +13 -0
  958. package/dist/src/ui/commands/directoryCommand.js +252 -0
  959. package/dist/src/ui/commands/directoryCommand.js.map +1 -0
  960. package/dist/src/ui/commands/docsCommand.d.ts +7 -0
  961. package/dist/src/ui/commands/docsCommand.js +49 -0
  962. package/dist/src/ui/commands/docsCommand.js.map +1 -0
  963. package/dist/src/ui/commands/doctorCommand.d.ts +7 -0
  964. package/dist/src/ui/commands/doctorCommand.js +530 -0
  965. package/dist/src/ui/commands/doctorCommand.js.map +1 -0
  966. package/dist/src/ui/commands/doctorCommand.test.d.ts +6 -0
  967. package/dist/src/ui/commands/doctorCommand.test.js +804 -0
  968. package/dist/src/ui/commands/doctorCommand.test.js.map +1 -0
  969. package/dist/src/ui/commands/dreamCommand.d.ts +7 -0
  970. package/dist/src/ui/commands/dreamCommand.js +42 -0
  971. package/dist/src/ui/commands/dreamCommand.js.map +1 -0
  972. package/dist/src/ui/commands/dreamCommand.test.d.ts +6 -0
  973. package/dist/src/ui/commands/dreamCommand.test.js +39 -0
  974. package/dist/src/ui/commands/dreamCommand.test.js.map +1 -0
  975. package/dist/src/ui/commands/editorCommand.d.ts +7 -0
  976. package/dist/src/ui/commands/editorCommand.js +20 -0
  977. package/dist/src/ui/commands/editorCommand.js.map +1 -0
  978. package/dist/src/ui/commands/exportCommand.d.ts +10 -0
  979. package/dist/src/ui/commands/exportCommand.js +373 -0
  980. package/dist/src/ui/commands/exportCommand.js.map +1 -0
  981. package/dist/src/ui/commands/exportCommand.test.d.ts +6 -0
  982. package/dist/src/ui/commands/exportCommand.test.js +905 -0
  983. package/dist/src/ui/commands/exportCommand.test.js.map +1 -0
  984. package/dist/src/ui/commands/extensionsCommand.d.ts +10 -0
  985. package/dist/src/ui/commands/extensionsCommand.js +185 -0
  986. package/dist/src/ui/commands/extensionsCommand.js.map +1 -0
  987. package/dist/src/ui/commands/forgetCommand.d.ts +7 -0
  988. package/dist/src/ui/commands/forgetCommand.js +45 -0
  989. package/dist/src/ui/commands/forgetCommand.js.map +1 -0
  990. package/dist/src/ui/commands/forkCommand.d.ts +7 -0
  991. package/dist/src/ui/commands/forkCommand.js +163 -0
  992. package/dist/src/ui/commands/forkCommand.js.map +1 -0
  993. package/dist/src/ui/commands/forkCommand.test.d.ts +6 -0
  994. package/dist/src/ui/commands/forkCommand.test.js +229 -0
  995. package/dist/src/ui/commands/forkCommand.test.js.map +1 -0
  996. package/dist/src/ui/commands/goalCommand.d.ts +7 -0
  997. package/dist/src/ui/commands/goalCommand.js +181 -0
  998. package/dist/src/ui/commands/goalCommand.js.map +1 -0
  999. package/dist/src/ui/commands/goalCommand.test.d.ts +6 -0
  1000. package/dist/src/ui/commands/goalCommand.test.js +328 -0
  1001. package/dist/src/ui/commands/goalCommand.test.js.map +1 -0
  1002. package/dist/src/ui/commands/helpCommand.d.ts +7 -0
  1003. package/dist/src/ui/commands/helpCommand.js +21 -0
  1004. package/dist/src/ui/commands/helpCommand.js.map +1 -0
  1005. package/dist/src/ui/commands/hooksCommand.d.ts +7 -0
  1006. package/dist/src/ui/commands/hooksCommand.js +153 -0
  1007. package/dist/src/ui/commands/hooksCommand.js.map +1 -0
  1008. package/dist/src/ui/commands/hooksCommand.test.d.ts +6 -0
  1009. package/dist/src/ui/commands/hooksCommand.test.js +189 -0
  1010. package/dist/src/ui/commands/hooksCommand.test.js.map +1 -0
  1011. package/dist/src/ui/commands/ideCommand.d.ts +7 -0
  1012. package/dist/src/ui/commands/ideCommand.js +256 -0
  1013. package/dist/src/ui/commands/ideCommand.js.map +1 -0
  1014. package/dist/src/ui/commands/initCommand.d.ts +7 -0
  1015. package/dist/src/ui/commands/initCommand.js +119 -0
  1016. package/dist/src/ui/commands/initCommand.js.map +1 -0
  1017. package/dist/src/ui/commands/insightCommand.d.ts +7 -0
  1018. package/dist/src/ui/commands/insightCommand.js +195 -0
  1019. package/dist/src/ui/commands/insightCommand.js.map +1 -0
  1020. package/dist/src/ui/commands/insightCommand.test.d.ts +6 -0
  1021. package/dist/src/ui/commands/insightCommand.test.js +173 -0
  1022. package/dist/src/ui/commands/insightCommand.test.js.map +1 -0
  1023. package/dist/src/ui/commands/languageCommand.d.ts +7 -0
  1024. package/dist/src/ui/commands/languageCommand.js +291 -0
  1025. package/dist/src/ui/commands/languageCommand.js.map +1 -0
  1026. package/dist/src/ui/commands/languageCommand.test.d.ts +6 -0
  1027. package/dist/src/ui/commands/languageCommand.test.js +664 -0
  1028. package/dist/src/ui/commands/languageCommand.test.js.map +1 -0
  1029. package/dist/src/ui/commands/lspCommand.d.ts +7 -0
  1030. package/dist/src/ui/commands/lspCommand.js +62 -0
  1031. package/dist/src/ui/commands/lspCommand.js.map +1 -0
  1032. package/dist/src/ui/commands/lspCommand.test.d.ts +6 -0
  1033. package/dist/src/ui/commands/lspCommand.test.js +175 -0
  1034. package/dist/src/ui/commands/lspCommand.test.js.map +1 -0
  1035. package/dist/src/ui/commands/mcpCommand.d.ts +7 -0
  1036. package/dist/src/ui/commands/mcpCommand.js +21 -0
  1037. package/dist/src/ui/commands/mcpCommand.js.map +1 -0
  1038. package/dist/src/ui/commands/memoryCommand.d.ts +7 -0
  1039. package/dist/src/ui/commands/memoryCommand.js +21 -0
  1040. package/dist/src/ui/commands/memoryCommand.js.map +1 -0
  1041. package/dist/src/ui/commands/modelCommand.d.ts +7 -0
  1042. package/dist/src/ui/commands/modelCommand.js +226 -0
  1043. package/dist/src/ui/commands/modelCommand.js.map +1 -0
  1044. package/dist/src/ui/commands/modelCommand.test.d.ts +6 -0
  1045. package/dist/src/ui/commands/modelCommand.test.js +503 -0
  1046. package/dist/src/ui/commands/modelCommand.test.js.map +1 -0
  1047. package/dist/src/ui/commands/permissionsCommand.d.ts +7 -0
  1048. package/dist/src/ui/commands/permissionsCommand.js +20 -0
  1049. package/dist/src/ui/commands/permissionsCommand.js.map +1 -0
  1050. package/dist/src/ui/commands/permissionsCommand.test.d.ts +6 -0
  1051. package/dist/src/ui/commands/permissionsCommand.test.js +30 -0
  1052. package/dist/src/ui/commands/permissionsCommand.test.js.map +1 -0
  1053. package/dist/src/ui/commands/planCommand.d.ts +7 -0
  1054. package/dist/src/ui/commands/planCommand.js +88 -0
  1055. package/dist/src/ui/commands/planCommand.js.map +1 -0
  1056. package/dist/src/ui/commands/planCommand.test.d.ts +6 -0
  1057. package/dist/src/ui/commands/planCommand.test.js +113 -0
  1058. package/dist/src/ui/commands/planCommand.test.js.map +1 -0
  1059. package/dist/src/ui/commands/quitCommand.d.ts +7 -0
  1060. package/dist/src/ui/commands/quitCommand.js +38 -0
  1061. package/dist/src/ui/commands/quitCommand.js.map +1 -0
  1062. package/dist/src/ui/commands/recapCommand.d.ts +7 -0
  1063. package/dist/src/ui/commands/recapCommand.js +56 -0
  1064. package/dist/src/ui/commands/recapCommand.js.map +1 -0
  1065. package/dist/src/ui/commands/rememberCommand.d.ts +7 -0
  1066. package/dist/src/ui/commands/rememberCommand.js +54 -0
  1067. package/dist/src/ui/commands/rememberCommand.js.map +1 -0
  1068. package/dist/src/ui/commands/renameCommand.d.ts +7 -0
  1069. package/dist/src/ui/commands/renameCommand.js +208 -0
  1070. package/dist/src/ui/commands/renameCommand.js.map +1 -0
  1071. package/dist/src/ui/commands/renameCommand.test.d.ts +6 -0
  1072. package/dist/src/ui/commands/renameCommand.test.js +414 -0
  1073. package/dist/src/ui/commands/renameCommand.test.js.map +1 -0
  1074. package/dist/src/ui/commands/restoreCommand.d.ts +8 -0
  1075. package/dist/src/ui/commands/restoreCommand.js +159 -0
  1076. package/dist/src/ui/commands/restoreCommand.js.map +1 -0
  1077. package/dist/src/ui/commands/resumeCommand.d.ts +7 -0
  1078. package/dist/src/ui/commands/resumeCommand.js +65 -0
  1079. package/dist/src/ui/commands/resumeCommand.js.map +1 -0
  1080. package/dist/src/ui/commands/resumeCommand.test.d.ts +6 -0
  1081. package/dist/src/ui/commands/resumeCommand.test.js +135 -0
  1082. package/dist/src/ui/commands/resumeCommand.test.js.map +1 -0
  1083. package/dist/src/ui/commands/rewindCommand.d.ts +7 -0
  1084. package/dist/src/ui/commands/rewindCommand.js +20 -0
  1085. package/dist/src/ui/commands/rewindCommand.js.map +1 -0
  1086. package/dist/src/ui/commands/settingsCommand.d.ts +7 -0
  1087. package/dist/src/ui/commands/settingsCommand.js +20 -0
  1088. package/dist/src/ui/commands/settingsCommand.js.map +1 -0
  1089. package/dist/src/ui/commands/setupGithubCommand.d.ts +9 -0
  1090. package/dist/src/ui/commands/setupGithubCommand.js +165 -0
  1091. package/dist/src/ui/commands/setupGithubCommand.js.map +1 -0
  1092. package/dist/src/ui/commands/setupGithubCommand.test.d.ts +6 -0
  1093. package/dist/src/ui/commands/setupGithubCommand.test.js +164 -0
  1094. package/dist/src/ui/commands/setupGithubCommand.test.js.map +1 -0
  1095. package/dist/src/ui/commands/skillsCommand.d.ts +7 -0
  1096. package/dist/src/ui/commands/skillsCommand.js +63 -0
  1097. package/dist/src/ui/commands/skillsCommand.js.map +1 -0
  1098. package/dist/src/ui/commands/skillsCommand.test.d.ts +6 -0
  1099. package/dist/src/ui/commands/skillsCommand.test.js +136 -0
  1100. package/dist/src/ui/commands/skillsCommand.test.js.map +1 -0
  1101. package/dist/src/ui/commands/statsCommand.d.ts +7 -0
  1102. package/dist/src/ui/commands/statsCommand.js +130 -0
  1103. package/dist/src/ui/commands/statsCommand.js.map +1 -0
  1104. package/dist/src/ui/commands/statuslineCommand.d.ts +7 -0
  1105. package/dist/src/ui/commands/statuslineCommand.js +33 -0
  1106. package/dist/src/ui/commands/statuslineCommand.js.map +1 -0
  1107. package/dist/src/ui/commands/statuslineCommand.test.d.ts +6 -0
  1108. package/dist/src/ui/commands/statuslineCommand.test.js +54 -0
  1109. package/dist/src/ui/commands/statuslineCommand.test.js.map +1 -0
  1110. package/dist/src/ui/commands/summaryCommand.d.ts +7 -0
  1111. package/dist/src/ui/commands/summaryCommand.js +261 -0
  1112. package/dist/src/ui/commands/summaryCommand.js.map +1 -0
  1113. package/dist/src/ui/commands/tasksCommand.d.ts +7 -0
  1114. package/dist/src/ui/commands/tasksCommand.js +222 -0
  1115. package/dist/src/ui/commands/tasksCommand.js.map +1 -0
  1116. package/dist/src/ui/commands/tasksCommand.test.d.ts +6 -0
  1117. package/dist/src/ui/commands/tasksCommand.test.js +365 -0
  1118. package/dist/src/ui/commands/tasksCommand.test.js.map +1 -0
  1119. package/dist/src/ui/commands/terminalSetupCommand.d.ts +13 -0
  1120. package/dist/src/ui/commands/terminalSetupCommand.js +48 -0
  1121. package/dist/src/ui/commands/terminalSetupCommand.js.map +1 -0
  1122. package/dist/src/ui/commands/themeCommand.d.ts +7 -0
  1123. package/dist/src/ui/commands/themeCommand.js +20 -0
  1124. package/dist/src/ui/commands/themeCommand.js.map +1 -0
  1125. package/dist/src/ui/commands/toolsCommand.d.ts +7 -0
  1126. package/dist/src/ui/commands/toolsCommand.js +45 -0
  1127. package/dist/src/ui/commands/toolsCommand.js.map +1 -0
  1128. package/dist/src/ui/commands/trustCommand.d.ts +7 -0
  1129. package/dist/src/ui/commands/trustCommand.js +20 -0
  1130. package/dist/src/ui/commands/trustCommand.js.map +1 -0
  1131. package/dist/src/ui/commands/trustCommand.test.d.ts +6 -0
  1132. package/dist/src/ui/commands/trustCommand.test.js +30 -0
  1133. package/dist/src/ui/commands/trustCommand.test.js.map +1 -0
  1134. package/dist/src/ui/commands/types.d.ts +298 -0
  1135. package/dist/src/ui/commands/types.js +13 -0
  1136. package/dist/src/ui/commands/types.js.map +1 -0
  1137. package/dist/src/ui/commands/vimCommand.d.ts +7 -0
  1138. package/dist/src/ui/commands/vimCommand.js +27 -0
  1139. package/dist/src/ui/commands/vimCommand.js.map +1 -0
  1140. package/dist/src/ui/components/AboutBox.d.ts +12 -0
  1141. package/dist/src/ui/components/AboutBox.js +10 -0
  1142. package/dist/src/ui/components/AboutBox.js.map +1 -0
  1143. package/dist/src/ui/components/AnsiOutput.d.ts +20 -0
  1144. package/dist/src/ui/components/AnsiOutput.js +27 -0
  1145. package/dist/src/ui/components/AnsiOutput.js.map +1 -0
  1146. package/dist/src/ui/components/AnsiOutput.test.d.ts +6 -0
  1147. package/dist/src/ui/components/AnsiOutput.test.js +134 -0
  1148. package/dist/src/ui/components/AnsiOutput.test.js.map +1 -0
  1149. package/dist/src/ui/components/ApiKeyInput.d.ts +22 -0
  1150. package/dist/src/ui/components/ApiKeyInput.js +35 -0
  1151. package/dist/src/ui/components/ApiKeyInput.js.map +1 -0
  1152. package/dist/src/ui/components/AppHeader.d.ts +10 -0
  1153. package/dist/src/ui/components/AppHeader.js +49 -0
  1154. package/dist/src/ui/components/AppHeader.js.map +1 -0
  1155. package/dist/src/ui/components/AppHeader.test.d.ts +6 -0
  1156. package/dist/src/ui/components/AppHeader.test.js +109 -0
  1157. package/dist/src/ui/components/AppHeader.test.js.map +1 -0
  1158. package/dist/src/ui/components/ApprovalModeDialog.d.ts +21 -0
  1159. package/dist/src/ui/components/ApprovalModeDialog.js +109 -0
  1160. package/dist/src/ui/components/ApprovalModeDialog.js.map +1 -0
  1161. package/dist/src/ui/components/ApprovalModeDialog.test.d.ts +6 -0
  1162. package/dist/src/ui/components/ApprovalModeDialog.test.js +63 -0
  1163. package/dist/src/ui/components/ApprovalModeDialog.test.js.map +1 -0
  1164. package/dist/src/ui/components/AsciiArt.d.ts +1 -0
  1165. package/dist/src/ui/components/AsciiArt.js +54 -0
  1166. package/dist/src/ui/components/AsciiArt.js.map +1 -0
  1167. package/dist/src/ui/components/AutoAcceptIndicator.d.ts +12 -0
  1168. package/dist/src/ui/components/AutoAcceptIndicator.js +37 -0
  1169. package/dist/src/ui/components/AutoAcceptIndicator.js.map +1 -0
  1170. package/dist/src/ui/components/BaseTextInput.d.ts +74 -0
  1171. package/dist/src/ui/components/BaseTextInput.js +144 -0
  1172. package/dist/src/ui/components/BaseTextInput.js.map +1 -0
  1173. package/dist/src/ui/components/BaseTextInput.test.d.ts +6 -0
  1174. package/dist/src/ui/components/BaseTextInput.test.js +78 -0
  1175. package/dist/src/ui/components/BaseTextInput.test.js.map +1 -0
  1176. package/dist/src/ui/components/Composer.d.ts +6 -0
  1177. package/dist/src/ui/components/Composer.js +92 -0
  1178. package/dist/src/ui/components/Composer.js.map +1 -0
  1179. package/dist/src/ui/components/Composer.test.d.ts +6 -0
  1180. package/dist/src/ui/components/Composer.test.js +344 -0
  1181. package/dist/src/ui/components/Composer.test.js.map +1 -0
  1182. package/dist/src/ui/components/ConsentPrompt.d.ts +14 -0
  1183. package/dist/src/ui/components/ConsentPrompt.js +35 -0
  1184. package/dist/src/ui/components/ConsentPrompt.js.map +1 -0
  1185. package/dist/src/ui/components/ConsentPrompt.test.d.ts +6 -0
  1186. package/dist/src/ui/components/ConsentPrompt.test.js +110 -0
  1187. package/dist/src/ui/components/ConsentPrompt.test.js.map +1 -0
  1188. package/dist/src/ui/components/ContextSummaryDisplay.d.ts +20 -0
  1189. package/dist/src/ui/components/ContextSummaryDisplay.js +90 -0
  1190. package/dist/src/ui/components/ContextSummaryDisplay.js.map +1 -0
  1191. package/dist/src/ui/components/ContextUsageDisplay.d.ts +10 -0
  1192. package/dist/src/ui/components/ContextUsageDisplay.js +33 -0
  1193. package/dist/src/ui/components/ContextUsageDisplay.js.map +1 -0
  1194. package/dist/src/ui/components/DebugModeNotification.d.ts +9 -0
  1195. package/dist/src/ui/components/DebugModeNotification.js +23 -0
  1196. package/dist/src/ui/components/DebugModeNotification.js.map +1 -0
  1197. package/dist/src/ui/components/DebugProfiler.d.ts +6 -0
  1198. package/dist/src/ui/components/DebugProfiler.js +27 -0
  1199. package/dist/src/ui/components/DebugProfiler.js.map +1 -0
  1200. package/dist/src/ui/components/DialogManager.d.ts +12 -0
  1201. package/dist/src/ui/components/DialogManager.js +247 -0
  1202. package/dist/src/ui/components/DialogManager.js.map +1 -0
  1203. package/dist/src/ui/components/DiffDialog.d.ts +15 -0
  1204. package/dist/src/ui/components/DiffDialog.js +412 -0
  1205. package/dist/src/ui/components/DiffDialog.js.map +1 -0
  1206. package/dist/src/ui/components/EditorSettingsDialog.d.ts +16 -0
  1207. package/dist/src/ui/components/EditorSettingsDialog.js +76 -0
  1208. package/dist/src/ui/components/EditorSettingsDialog.js.map +1 -0
  1209. package/dist/src/ui/components/ExitWarning.d.ts +7 -0
  1210. package/dist/src/ui/components/ExitWarning.js +9 -0
  1211. package/dist/src/ui/components/ExitWarning.js.map +1 -0
  1212. package/dist/src/ui/components/ExternalAuthProgress.d.ts +14 -0
  1213. package/dist/src/ui/components/ExternalAuthProgress.js +14 -0
  1214. package/dist/src/ui/components/ExternalAuthProgress.js.map +1 -0
  1215. package/dist/src/ui/components/ExternalAuthProgress.test.d.ts +6 -0
  1216. package/dist/src/ui/components/ExternalAuthProgress.test.js +20 -0
  1217. package/dist/src/ui/components/ExternalAuthProgress.test.js.map +1 -0
  1218. package/dist/src/ui/components/FolderTrustDialog.d.ts +17 -0
  1219. package/dist/src/ui/components/FolderTrustDialog.js +58 -0
  1220. package/dist/src/ui/components/FolderTrustDialog.js.map +1 -0
  1221. package/dist/src/ui/components/FolderTrustDialog.test.d.ts +6 -0
  1222. package/dist/src/ui/components/FolderTrustDialog.test.js +88 -0
  1223. package/dist/src/ui/components/FolderTrustDialog.test.js.map +1 -0
  1224. package/dist/src/ui/components/Footer.d.ts +7 -0
  1225. package/dist/src/ui/components/Footer.js +104 -0
  1226. package/dist/src/ui/components/Footer.js.map +1 -0
  1227. package/dist/src/ui/components/GeminiRespondingSpinner.d.ts +22 -0
  1228. package/dist/src/ui/components/GeminiRespondingSpinner.js +47 -0
  1229. package/dist/src/ui/components/GeminiRespondingSpinner.js.map +1 -0
  1230. package/dist/src/ui/components/GeminiRespondingSpinner.test.d.ts +6 -0
  1231. package/dist/src/ui/components/GeminiRespondingSpinner.test.js +29 -0
  1232. package/dist/src/ui/components/GeminiRespondingSpinner.test.js.map +1 -0
  1233. package/dist/src/ui/components/GoalPill.d.ts +25 -0
  1234. package/dist/src/ui/components/GoalPill.js +77 -0
  1235. package/dist/src/ui/components/GoalPill.js.map +1 -0
  1236. package/dist/src/ui/components/GoalPill.test.d.ts +6 -0
  1237. package/dist/src/ui/components/GoalPill.test.js +56 -0
  1238. package/dist/src/ui/components/GoalPill.test.js.map +1 -0
  1239. package/dist/src/ui/components/Header.d.ts +62 -0
  1240. package/dist/src/ui/components/Header.js +155 -0
  1241. package/dist/src/ui/components/Header.js.map +1 -0
  1242. package/dist/src/ui/components/Header.test.d.ts +6 -0
  1243. package/dist/src/ui/components/Header.test.js +142 -0
  1244. package/dist/src/ui/components/Header.test.js.map +1 -0
  1245. package/dist/src/ui/components/Help.d.ts +18 -0
  1246. package/dist/src/ui/components/Help.js +236 -0
  1247. package/dist/src/ui/components/Help.js.map +1 -0
  1248. package/dist/src/ui/components/Help.test.d.ts +6 -0
  1249. package/dist/src/ui/components/Help.test.js +243 -0
  1250. package/dist/src/ui/components/Help.test.js.map +1 -0
  1251. package/dist/src/ui/components/HistoryItemDisplay.d.ts +39 -0
  1252. package/dist/src/ui/components/HistoryItemDisplay.js +51 -0
  1253. package/dist/src/ui/components/HistoryItemDisplay.js.map +1 -0
  1254. package/dist/src/ui/components/HistoryItemDisplay.test.d.ts +6 -0
  1255. package/dist/src/ui/components/HistoryItemDisplay.test.js +197 -0
  1256. package/dist/src/ui/components/HistoryItemDisplay.test.js.map +1 -0
  1257. package/dist/src/ui/components/IdeTrustChangeDialog.d.ts +11 -0
  1258. package/dist/src/ui/components/IdeTrustChangeDialog.js +34 -0
  1259. package/dist/src/ui/components/IdeTrustChangeDialog.js.map +1 -0
  1260. package/dist/src/ui/components/IdeTrustChangeDialog.test.d.ts +6 -0
  1261. package/dist/src/ui/components/IdeTrustChangeDialog.test.js +53 -0
  1262. package/dist/src/ui/components/IdeTrustChangeDialog.test.js.map +1 -0
  1263. package/dist/src/ui/components/InputPrompt.d.ts +63 -0
  1264. package/dist/src/ui/components/InputPrompt.js +1220 -0
  1265. package/dist/src/ui/components/InputPrompt.js.map +1 -0
  1266. package/dist/src/ui/components/KeyboardShortcuts.d.ts +7 -0
  1267. package/dist/src/ui/components/KeyboardShortcuts.js +78 -0
  1268. package/dist/src/ui/components/KeyboardShortcuts.js.map +1 -0
  1269. package/dist/src/ui/components/LoadingIndicator.d.ts +31 -0
  1270. package/dist/src/ui/components/LoadingIndicator.js +46 -0
  1271. package/dist/src/ui/components/LoadingIndicator.js.map +1 -0
  1272. package/dist/src/ui/components/LoadingIndicator.test.d.ts +6 -0
  1273. package/dist/src/ui/components/LoadingIndicator.test.js +246 -0
  1274. package/dist/src/ui/components/LoadingIndicator.test.js.map +1 -0
  1275. package/dist/src/ui/components/LoopDetectionConfirmation.d.ts +13 -0
  1276. package/dist/src/ui/components/LoopDetectionConfirmation.js +37 -0
  1277. package/dist/src/ui/components/LoopDetectionConfirmation.js.map +1 -0
  1278. package/dist/src/ui/components/LoopDetectionConfirmation.test.d.ts +6 -0
  1279. package/dist/src/ui/components/LoopDetectionConfirmation.test.js +28 -0
  1280. package/dist/src/ui/components/LoopDetectionConfirmation.test.js.map +1 -0
  1281. package/dist/src/ui/components/MainContent.d.ts +6 -0
  1282. package/dist/src/ui/components/MainContent.js +437 -0
  1283. package/dist/src/ui/components/MainContent.js.map +1 -0
  1284. package/dist/src/ui/components/MainContent.test.d.ts +6 -0
  1285. package/dist/src/ui/components/MainContent.test.js +621 -0
  1286. package/dist/src/ui/components/MainContent.test.js.map +1 -0
  1287. package/dist/src/ui/components/MemoryDialog.d.ts +10 -0
  1288. package/dist/src/ui/components/MemoryDialog.js +288 -0
  1289. package/dist/src/ui/components/MemoryDialog.js.map +1 -0
  1290. package/dist/src/ui/components/MemoryDialog.test.d.ts +6 -0
  1291. package/dist/src/ui/components/MemoryDialog.test.js +165 -0
  1292. package/dist/src/ui/components/MemoryDialog.test.js.map +1 -0
  1293. package/dist/src/ui/components/MemoryUsageDisplay.d.ts +7 -0
  1294. package/dist/src/ui/components/MemoryUsageDisplay.js +24 -0
  1295. package/dist/src/ui/components/MemoryUsageDisplay.js.map +1 -0
  1296. package/dist/src/ui/components/ModelDialog.d.ts +12 -0
  1297. package/dist/src/ui/components/ModelDialog.js +390 -0
  1298. package/dist/src/ui/components/ModelDialog.js.map +1 -0
  1299. package/dist/src/ui/components/ModelDialog.test.d.ts +6 -0
  1300. package/dist/src/ui/components/ModelDialog.test.js +489 -0
  1301. package/dist/src/ui/components/ModelDialog.test.js.map +1 -0
  1302. package/dist/src/ui/components/ModelStatsDisplay.d.ts +11 -0
  1303. package/dist/src/ui/components/ModelStatsDisplay.js +61 -0
  1304. package/dist/src/ui/components/ModelStatsDisplay.js.map +1 -0
  1305. package/dist/src/ui/components/Notifications.d.ts +6 -0
  1306. package/dist/src/ui/components/Notifications.js +20 -0
  1307. package/dist/src/ui/components/Notifications.js.map +1 -0
  1308. package/dist/src/ui/components/PermissionsDialog.d.ts +11 -0
  1309. package/dist/src/ui/components/PermissionsDialog.js +547 -0
  1310. package/dist/src/ui/components/PermissionsDialog.js.map +1 -0
  1311. package/dist/src/ui/components/PlanSummaryDisplay.d.ts +14 -0
  1312. package/dist/src/ui/components/PlanSummaryDisplay.js +10 -0
  1313. package/dist/src/ui/components/PlanSummaryDisplay.js.map +1 -0
  1314. package/dist/src/ui/components/PluginChoicePrompt.d.ts +18 -0
  1315. package/dist/src/ui/components/PluginChoicePrompt.js +96 -0
  1316. package/dist/src/ui/components/PluginChoicePrompt.js.map +1 -0
  1317. package/dist/src/ui/components/PluginChoicePrompt.test.d.ts +6 -0
  1318. package/dist/src/ui/components/PluginChoicePrompt.test.js +136 -0
  1319. package/dist/src/ui/components/PluginChoicePrompt.test.js.map +1 -0
  1320. package/dist/src/ui/components/PrepareLabel.d.ts +15 -0
  1321. package/dist/src/ui/components/PrepareLabel.js +72 -0
  1322. package/dist/src/ui/components/PrepareLabel.js.map +1 -0
  1323. package/dist/src/ui/components/PrepareLabel.test.d.ts +6 -0
  1324. package/dist/src/ui/components/PrepareLabel.test.js +71 -0
  1325. package/dist/src/ui/components/PrepareLabel.test.js.map +1 -0
  1326. package/dist/src/ui/components/ProviderUpdatePrompt.d.ts +12 -0
  1327. package/dist/src/ui/components/ProviderUpdatePrompt.js +49 -0
  1328. package/dist/src/ui/components/ProviderUpdatePrompt.js.map +1 -0
  1329. package/dist/src/ui/components/QueuedMessageDisplay.d.ts +9 -0
  1330. package/dist/src/ui/components/QueuedMessageDisplay.js +35 -0
  1331. package/dist/src/ui/components/QueuedMessageDisplay.js.map +1 -0
  1332. package/dist/src/ui/components/QueuedMessageDisplay.test.d.ts +6 -0
  1333. package/dist/src/ui/components/QueuedMessageDisplay.test.js +76 -0
  1334. package/dist/src/ui/components/QueuedMessageDisplay.test.js.map +1 -0
  1335. package/dist/src/ui/components/QuittingDisplay.d.ts +6 -0
  1336. package/dist/src/ui/components/QuittingDisplay.js +21 -0
  1337. package/dist/src/ui/components/QuittingDisplay.js.map +1 -0
  1338. package/dist/src/ui/components/QwenOAuthProgress.d.ts +16 -0
  1339. package/dist/src/ui/components/QwenOAuthProgress.js +65 -0
  1340. package/dist/src/ui/components/QwenOAuthProgress.js.map +1 -0
  1341. package/dist/src/ui/components/QwenOAuthProgress.test.d.ts +6 -0
  1342. package/dist/src/ui/components/QwenOAuthProgress.test.js +287 -0
  1343. package/dist/src/ui/components/QwenOAuthProgress.test.js.map +1 -0
  1344. package/dist/src/ui/components/RewindSelector.d.ts +22 -0
  1345. package/dist/src/ui/components/RewindSelector.js +264 -0
  1346. package/dist/src/ui/components/RewindSelector.js.map +1 -0
  1347. package/dist/src/ui/components/RewindSelector.test.d.ts +6 -0
  1348. package/dist/src/ui/components/RewindSelector.test.js +146 -0
  1349. package/dist/src/ui/components/RewindSelector.test.js.map +1 -0
  1350. package/dist/src/ui/components/SessionPicker.d.ts +55 -0
  1351. package/dist/src/ui/components/SessionPicker.js +142 -0
  1352. package/dist/src/ui/components/SessionPicker.js.map +1 -0
  1353. package/dist/src/ui/components/SessionPreview.d.ts +20 -0
  1354. package/dist/src/ui/components/SessionPreview.js +97 -0
  1355. package/dist/src/ui/components/SessionPreview.js.map +1 -0
  1356. package/dist/src/ui/components/SessionPreview.test.d.ts +1 -0
  1357. package/dist/src/ui/components/SessionPreview.test.js +124 -0
  1358. package/dist/src/ui/components/SessionPreview.test.js.map +1 -0
  1359. package/dist/src/ui/components/SessionSummaryDisplay.d.ts +12 -0
  1360. package/dist/src/ui/components/SessionSummaryDisplay.js +17 -0
  1361. package/dist/src/ui/components/SessionSummaryDisplay.js.map +1 -0
  1362. package/dist/src/ui/components/SettingInputPrompt.d.ts +15 -0
  1363. package/dist/src/ui/components/SettingInputPrompt.js +63 -0
  1364. package/dist/src/ui/components/SettingInputPrompt.js.map +1 -0
  1365. package/dist/src/ui/components/SettingInputPrompt.test.d.ts +6 -0
  1366. package/dist/src/ui/components/SettingInputPrompt.test.js +60 -0
  1367. package/dist/src/ui/components/SettingInputPrompt.test.js.map +1 -0
  1368. package/dist/src/ui/components/SettingsCorruptedDialog.d.ts +14 -0
  1369. package/dist/src/ui/components/SettingsCorruptedDialog.js +44 -0
  1370. package/dist/src/ui/components/SettingsCorruptedDialog.js.map +1 -0
  1371. package/dist/src/ui/components/SettingsCorruptedDialog.test.d.ts +6 -0
  1372. package/dist/src/ui/components/SettingsCorruptedDialog.test.js +162 -0
  1373. package/dist/src/ui/components/SettingsCorruptedDialog.test.js.map +1 -0
  1374. package/dist/src/ui/components/SettingsDialog.d.ts +18 -0
  1375. package/dist/src/ui/components/SettingsDialog.js +658 -0
  1376. package/dist/src/ui/components/SettingsDialog.js.map +1 -0
  1377. package/dist/src/ui/components/SettingsDialog.test.d.ts +6 -0
  1378. package/dist/src/ui/components/SettingsDialog.test.js +1127 -0
  1379. package/dist/src/ui/components/SettingsDialog.test.js.map +1 -0
  1380. package/dist/src/ui/components/ShellConfirmationDialog.d.ts +17 -0
  1381. package/dist/src/ui/components/ShellConfirmationDialog.js +75 -0
  1382. package/dist/src/ui/components/ShellConfirmationDialog.js.map +1 -0
  1383. package/dist/src/ui/components/ShellConfirmationDialog.test.d.ts +6 -0
  1384. package/dist/src/ui/components/ShellConfirmationDialog.test.js +167 -0
  1385. package/dist/src/ui/components/ShellConfirmationDialog.test.js.map +1 -0
  1386. package/dist/src/ui/components/ShellInputPrompt.d.ts +11 -0
  1387. package/dist/src/ui/components/ShellInputPrompt.js +42 -0
  1388. package/dist/src/ui/components/ShellInputPrompt.js.map +1 -0
  1389. package/dist/src/ui/components/ShellModeIndicator.d.ts +7 -0
  1390. package/dist/src/ui/components/ShellModeIndicator.js +5 -0
  1391. package/dist/src/ui/components/ShellModeIndicator.js.map +1 -0
  1392. package/dist/src/ui/components/ShowMoreLines.d.ts +10 -0
  1393. package/dist/src/ui/components/ShowMoreLines.js +24 -0
  1394. package/dist/src/ui/components/ShowMoreLines.js.map +1 -0
  1395. package/dist/src/ui/components/StandaloneSessionPicker.d.ts +11 -0
  1396. package/dist/src/ui/components/StandaloneSessionPicker.js +105 -0
  1397. package/dist/src/ui/components/StandaloneSessionPicker.js.map +1 -0
  1398. package/dist/src/ui/components/StandaloneSessionPicker.test.d.ts +6 -0
  1399. package/dist/src/ui/components/StandaloneSessionPicker.test.js +667 -0
  1400. package/dist/src/ui/components/StandaloneSessionPicker.test.js.map +1 -0
  1401. package/dist/src/ui/components/StatsActivityTab.d.ts +14 -0
  1402. package/dist/src/ui/components/StatsActivityTab.js +85 -0
  1403. package/dist/src/ui/components/StatsActivityTab.js.map +1 -0
  1404. package/dist/src/ui/components/StatsDialog.d.ts +12 -0
  1405. package/dist/src/ui/components/StatsDialog.js +104 -0
  1406. package/dist/src/ui/components/StatsDialog.js.map +1 -0
  1407. package/dist/src/ui/components/StatsDisplay.d.ts +13 -0
  1408. package/dist/src/ui/components/StatsDisplay.js +52 -0
  1409. package/dist/src/ui/components/StatsDisplay.js.map +1 -0
  1410. package/dist/src/ui/components/StatsEfficiencyTab.d.ts +11 -0
  1411. package/dist/src/ui/components/StatsEfficiencyTab.js +99 -0
  1412. package/dist/src/ui/components/StatsEfficiencyTab.js.map +1 -0
  1413. package/dist/src/ui/components/StatsHeatmapView.d.ts +12 -0
  1414. package/dist/src/ui/components/StatsHeatmapView.js +40 -0
  1415. package/dist/src/ui/components/StatsHeatmapView.js.map +1 -0
  1416. package/dist/src/ui/components/StatsSessionTab.d.ts +7 -0
  1417. package/dist/src/ui/components/StatsSessionTab.js +40 -0
  1418. package/dist/src/ui/components/StatsSessionTab.js.map +1 -0
  1419. package/dist/src/ui/components/StatusLineDialog.d.ts +22 -0
  1420. package/dist/src/ui/components/StatusLineDialog.js +140 -0
  1421. package/dist/src/ui/components/StatusLineDialog.js.map +1 -0
  1422. package/dist/src/ui/components/StatusLineDialog.test.d.ts +6 -0
  1423. package/dist/src/ui/components/StatusLineDialog.test.js +180 -0
  1424. package/dist/src/ui/components/StatusLineDialog.test.js.map +1 -0
  1425. package/dist/src/ui/components/StickyTodoList.d.ts +14 -0
  1426. package/dist/src/ui/components/StickyTodoList.js +45 -0
  1427. package/dist/src/ui/components/StickyTodoList.js.map +1 -0
  1428. package/dist/src/ui/components/StickyTodoList.test.d.ts +6 -0
  1429. package/dist/src/ui/components/StickyTodoList.test.js +128 -0
  1430. package/dist/src/ui/components/StickyTodoList.test.js.map +1 -0
  1431. package/dist/src/ui/components/SuggestionsDisplay.d.ts +47 -0
  1432. package/dist/src/ui/components/SuggestionsDisplay.js +43 -0
  1433. package/dist/src/ui/components/SuggestionsDisplay.js.map +1 -0
  1434. package/dist/src/ui/components/SuggestionsDisplay.test.d.ts +6 -0
  1435. package/dist/src/ui/components/SuggestionsDisplay.test.js +39 -0
  1436. package/dist/src/ui/components/SuggestionsDisplay.test.js.map +1 -0
  1437. package/dist/src/ui/components/ThemeDialog.d.ts +20 -0
  1438. package/dist/src/ui/components/ThemeDialog.js +137 -0
  1439. package/dist/src/ui/components/ThemeDialog.js.map +1 -0
  1440. package/dist/src/ui/components/ThemeDialog.test.d.ts +6 -0
  1441. package/dist/src/ui/components/ThemeDialog.test.js +75 -0
  1442. package/dist/src/ui/components/ThemeDialog.test.js.map +1 -0
  1443. package/dist/src/ui/components/ThinkingDots.d.ts +11 -0
  1444. package/dist/src/ui/components/ThinkingDots.js +47 -0
  1445. package/dist/src/ui/components/ThinkingDots.js.map +1 -0
  1446. package/dist/src/ui/components/ThinkingIndicator.d.ts +7 -0
  1447. package/dist/src/ui/components/ThinkingIndicator.js +13 -0
  1448. package/dist/src/ui/components/ThinkingIndicator.js.map +1 -0
  1449. package/dist/src/ui/components/Tips.d.ts +6 -0
  1450. package/dist/src/ui/components/Tips.js +37 -0
  1451. package/dist/src/ui/components/Tips.js.map +1 -0
  1452. package/dist/src/ui/components/Tips.test.d.ts +6 -0
  1453. package/dist/src/ui/components/Tips.test.js +145 -0
  1454. package/dist/src/ui/components/Tips.test.js.map +1 -0
  1455. package/dist/src/ui/components/TodoDisplay.d.ts +16 -0
  1456. package/dist/src/ui/components/TodoDisplay.js +27 -0
  1457. package/dist/src/ui/components/TodoDisplay.js.map +1 -0
  1458. package/dist/src/ui/components/TodoDisplay.test.d.ts +6 -0
  1459. package/dist/src/ui/components/TodoDisplay.test.js +77 -0
  1460. package/dist/src/ui/components/TodoDisplay.test.js.map +1 -0
  1461. package/dist/src/ui/components/ToolStatsDisplay.d.ts +11 -0
  1462. package/dist/src/ui/components/ToolStatsDisplay.js +42 -0
  1463. package/dist/src/ui/components/ToolStatsDisplay.js.map +1 -0
  1464. package/dist/src/ui/components/TrustDialog.d.ts +13 -0
  1465. package/dist/src/ui/components/TrustDialog.js +48 -0
  1466. package/dist/src/ui/components/TrustDialog.js.map +1 -0
  1467. package/dist/src/ui/components/TrustDialog.test.d.ts +6 -0
  1468. package/dist/src/ui/components/TrustDialog.test.js +154 -0
  1469. package/dist/src/ui/components/TrustDialog.test.js.map +1 -0
  1470. package/dist/src/ui/components/UpdateNotification.d.ts +10 -0
  1471. package/dist/src/ui/components/UpdateNotification.js +10 -0
  1472. package/dist/src/ui/components/UpdateNotification.js.map +1 -0
  1473. package/dist/src/ui/components/WelcomeBackDialog.d.ts +13 -0
  1474. package/dist/src/ui/components/WelcomeBackDialog.js +43 -0
  1475. package/dist/src/ui/components/WelcomeBackDialog.js.map +1 -0
  1476. package/dist/src/ui/components/WorktreeExitDialog.d.ts +26 -0
  1477. package/dist/src/ui/components/WorktreeExitDialog.js +134 -0
  1478. package/dist/src/ui/components/WorktreeExitDialog.js.map +1 -0
  1479. package/dist/src/ui/components/WorktreeExitDialog.test.d.ts +6 -0
  1480. package/dist/src/ui/components/WorktreeExitDialog.test.js +41 -0
  1481. package/dist/src/ui/components/WorktreeExitDialog.test.js.map +1 -0
  1482. package/dist/src/ui/components/agent-view/AgentChatContent.d.ts +27 -0
  1483. package/dist/src/ui/components/agent-view/AgentChatContent.js +150 -0
  1484. package/dist/src/ui/components/agent-view/AgentChatContent.js.map +1 -0
  1485. package/dist/src/ui/components/agent-view/AgentChatView.d.ts +10 -0
  1486. package/dist/src/ui/components/agent-view/AgentChatView.js +24 -0
  1487. package/dist/src/ui/components/agent-view/AgentChatView.js.map +1 -0
  1488. package/dist/src/ui/components/agent-view/AgentComposer.d.ts +10 -0
  1489. package/dist/src/ui/components/agent-view/AgentComposer.js +183 -0
  1490. package/dist/src/ui/components/agent-view/AgentComposer.js.map +1 -0
  1491. package/dist/src/ui/components/agent-view/AgentFooter.d.ts +20 -0
  1492. package/dist/src/ui/components/agent-view/AgentFooter.js +15 -0
  1493. package/dist/src/ui/components/agent-view/AgentFooter.js.map +1 -0
  1494. package/dist/src/ui/components/agent-view/AgentHeader.d.ts +19 -0
  1495. package/dist/src/ui/components/agent-view/AgentHeader.js +13 -0
  1496. package/dist/src/ui/components/agent-view/AgentHeader.js.map +1 -0
  1497. package/dist/src/ui/components/agent-view/AgentTabBar.d.ts +6 -0
  1498. package/dist/src/ui/components/agent-view/AgentTabBar.js +110 -0
  1499. package/dist/src/ui/components/agent-view/AgentTabBar.js.map +1 -0
  1500. package/dist/src/ui/components/agent-view/AgentTabBar.test.d.ts +6 -0
  1501. package/dist/src/ui/components/agent-view/AgentTabBar.test.js +90 -0
  1502. package/dist/src/ui/components/agent-view/AgentTabBar.test.js.map +1 -0
  1503. package/dist/src/ui/components/agent-view/agentHistoryAdapter.d.ts +31 -0
  1504. package/dist/src/ui/components/agent-view/agentHistoryAdapter.js +148 -0
  1505. package/dist/src/ui/components/agent-view/agentHistoryAdapter.js.map +1 -0
  1506. package/dist/src/ui/components/agent-view/agentHistoryAdapter.test.d.ts +6 -0
  1507. package/dist/src/ui/components/agent-view/agentHistoryAdapter.test.js +318 -0
  1508. package/dist/src/ui/components/agent-view/agentHistoryAdapter.test.js.map +1 -0
  1509. package/dist/src/ui/components/agent-view/index.d.ts +11 -0
  1510. package/dist/src/ui/components/agent-view/index.js +12 -0
  1511. package/dist/src/ui/components/agent-view/index.js.map +1 -0
  1512. package/dist/src/ui/components/approvalModeVisuals.d.ts +11 -0
  1513. package/dist/src/ui/components/approvalModeVisuals.js +37 -0
  1514. package/dist/src/ui/components/approvalModeVisuals.js.map +1 -0
  1515. package/dist/src/ui/components/approvalModeVisuals.test.d.ts +6 -0
  1516. package/dist/src/ui/components/approvalModeVisuals.test.js +32 -0
  1517. package/dist/src/ui/components/approvalModeVisuals.test.js.map +1 -0
  1518. package/dist/src/ui/components/arena/ArenaCards.d.ts +21 -0
  1519. package/dist/src/ui/components/arena/ArenaCards.js +99 -0
  1520. package/dist/src/ui/components/arena/ArenaCards.js.map +1 -0
  1521. package/dist/src/ui/components/arena/ArenaCards.test.d.ts +6 -0
  1522. package/dist/src/ui/components/arena/ArenaCards.test.js +128 -0
  1523. package/dist/src/ui/components/arena/ArenaCards.test.js.map +1 -0
  1524. package/dist/src/ui/components/arena/ArenaSelectDialog.d.ts +16 -0
  1525. package/dist/src/ui/components/arena/ArenaSelectDialog.js +213 -0
  1526. package/dist/src/ui/components/arena/ArenaSelectDialog.js.map +1 -0
  1527. package/dist/src/ui/components/arena/ArenaSelectDialog.test.d.ts +6 -0
  1528. package/dist/src/ui/components/arena/ArenaSelectDialog.test.js +149 -0
  1529. package/dist/src/ui/components/arena/ArenaSelectDialog.test.js.map +1 -0
  1530. package/dist/src/ui/components/arena/ArenaStartDialog.d.ts +12 -0
  1531. package/dist/src/ui/components/arena/ArenaStartDialog.js +49 -0
  1532. package/dist/src/ui/components/arena/ArenaStartDialog.js.map +1 -0
  1533. package/dist/src/ui/components/arena/ArenaStatusDialog.d.ts +14 -0
  1534. package/dist/src/ui/components/arena/ArenaStatusDialog.js +111 -0
  1535. package/dist/src/ui/components/arena/ArenaStatusDialog.js.map +1 -0
  1536. package/dist/src/ui/components/arena/ArenaStopDialog.d.ts +15 -0
  1537. package/dist/src/ui/components/arena/ArenaStopDialog.js +113 -0
  1538. package/dist/src/ui/components/arena/ArenaStopDialog.js.map +1 -0
  1539. package/dist/src/ui/components/background-view/BackgroundTasksDialog.d.ts +17 -0
  1540. package/dist/src/ui/components/background-view/BackgroundTasksDialog.js +614 -0
  1541. package/dist/src/ui/components/background-view/BackgroundTasksDialog.js.map +1 -0
  1542. package/dist/src/ui/components/background-view/BackgroundTasksDialog.test.d.ts +6 -0
  1543. package/dist/src/ui/components/background-view/BackgroundTasksDialog.test.js +606 -0
  1544. package/dist/src/ui/components/background-view/BackgroundTasksDialog.test.js.map +1 -0
  1545. package/dist/src/ui/components/background-view/BackgroundTasksPill.d.ts +14 -0
  1546. package/dist/src/ui/components/background-view/BackgroundTasksPill.js +94 -0
  1547. package/dist/src/ui/components/background-view/BackgroundTasksPill.js.map +1 -0
  1548. package/dist/src/ui/components/background-view/BackgroundTasksPill.test.d.ts +6 -0
  1549. package/dist/src/ui/components/background-view/BackgroundTasksPill.test.js +158 -0
  1550. package/dist/src/ui/components/background-view/BackgroundTasksPill.test.js.map +1 -0
  1551. package/dist/src/ui/components/background-view/LiveAgentPanel.d.ts +43 -0
  1552. package/dist/src/ui/components/background-view/LiveAgentPanel.js +361 -0
  1553. package/dist/src/ui/components/background-view/LiveAgentPanel.js.map +1 -0
  1554. package/dist/src/ui/components/background-view/LiveAgentPanel.test.d.ts +6 -0
  1555. package/dist/src/ui/components/background-view/LiveAgentPanel.test.js +595 -0
  1556. package/dist/src/ui/components/background-view/LiveAgentPanel.test.js.map +1 -0
  1557. package/dist/src/ui/components/extensions/ExtensionsManagerDialog.d.ts +12 -0
  1558. package/dist/src/ui/components/extensions/ExtensionsManagerDialog.js +337 -0
  1559. package/dist/src/ui/components/extensions/ExtensionsManagerDialog.js.map +1 -0
  1560. package/dist/src/ui/components/extensions/ExtensionsManagerDialog.test.d.ts +6 -0
  1561. package/dist/src/ui/components/extensions/ExtensionsManagerDialog.test.js +90 -0
  1562. package/dist/src/ui/components/extensions/ExtensionsManagerDialog.test.js.map +1 -0
  1563. package/dist/src/ui/components/extensions/index.d.ts +8 -0
  1564. package/dist/src/ui/components/extensions/index.js +8 -0
  1565. package/dist/src/ui/components/extensions/index.js.map +1 -0
  1566. package/dist/src/ui/components/extensions/steps/ActionSelectionStep.d.ts +15 -0
  1567. package/dist/src/ui/components/extensions/steps/ActionSelectionStep.js +75 -0
  1568. package/dist/src/ui/components/extensions/steps/ActionSelectionStep.js.map +1 -0
  1569. package/dist/src/ui/components/extensions/steps/ActionSelectionStep.test.d.ts +6 -0
  1570. package/dist/src/ui/components/extensions/steps/ActionSelectionStep.test.js +56 -0
  1571. package/dist/src/ui/components/extensions/steps/ActionSelectionStep.test.js.map +1 -0
  1572. package/dist/src/ui/components/extensions/steps/ExtensionDetailStep.d.ts +11 -0
  1573. package/dist/src/ui/components/extensions/steps/ExtensionDetailStep.js +23 -0
  1574. package/dist/src/ui/components/extensions/steps/ExtensionDetailStep.js.map +1 -0
  1575. package/dist/src/ui/components/extensions/steps/ExtensionListStep.d.ts +13 -0
  1576. package/dist/src/ui/components/extensions/steps/ExtensionListStep.js +105 -0
  1577. package/dist/src/ui/components/extensions/steps/ExtensionListStep.js.map +1 -0
  1578. package/dist/src/ui/components/extensions/steps/ExtensionListStep.test.d.ts +6 -0
  1579. package/dist/src/ui/components/extensions/steps/ExtensionListStep.test.js +74 -0
  1580. package/dist/src/ui/components/extensions/steps/ExtensionListStep.test.js.map +1 -0
  1581. package/dist/src/ui/components/extensions/steps/ScopeSelectStep.d.ts +13 -0
  1582. package/dist/src/ui/components/extensions/steps/ScopeSelectStep.js +40 -0
  1583. package/dist/src/ui/components/extensions/steps/ScopeSelectStep.js.map +1 -0
  1584. package/dist/src/ui/components/extensions/steps/UninstallConfirmStep.d.ts +13 -0
  1585. package/dist/src/ui/components/extensions/steps/UninstallConfirmStep.js +38 -0
  1586. package/dist/src/ui/components/extensions/steps/UninstallConfirmStep.js.map +1 -0
  1587. package/dist/src/ui/components/extensions/steps/index.d.ts +10 -0
  1588. package/dist/src/ui/components/extensions/steps/index.js +11 -0
  1589. package/dist/src/ui/components/extensions/steps/index.js.map +1 -0
  1590. package/dist/src/ui/components/extensions/types.d.ts +73 -0
  1591. package/dist/src/ui/components/extensions/types.js +18 -0
  1592. package/dist/src/ui/components/extensions/types.js.map +1 -0
  1593. package/dist/src/ui/components/hooks/HandlerListBody.d.ts +12 -0
  1594. package/dist/src/ui/components/hooks/HandlerListBody.js +54 -0
  1595. package/dist/src/ui/components/hooks/HandlerListBody.js.map +1 -0
  1596. package/dist/src/ui/components/hooks/HandlerListBody.test.d.ts +6 -0
  1597. package/dist/src/ui/components/hooks/HandlerListBody.test.js +175 -0
  1598. package/dist/src/ui/components/hooks/HandlerListBody.test.js.map +1 -0
  1599. package/dist/src/ui/components/hooks/HookConfigDetailStep.d.ts +12 -0
  1600. package/dist/src/ui/components/hooks/HookConfigDetailStep.js +48 -0
  1601. package/dist/src/ui/components/hooks/HookConfigDetailStep.js.map +1 -0
  1602. package/dist/src/ui/components/hooks/HookConfigDetailStep.test.d.ts +6 -0
  1603. package/dist/src/ui/components/hooks/HookConfigDetailStep.test.js +236 -0
  1604. package/dist/src/ui/components/hooks/HookConfigDetailStep.test.js.map +1 -0
  1605. package/dist/src/ui/components/hooks/HookDetailStep.d.ts +12 -0
  1606. package/dist/src/ui/components/hooks/HookDetailStep.js +11 -0
  1607. package/dist/src/ui/components/hooks/HookDetailStep.js.map +1 -0
  1608. package/dist/src/ui/components/hooks/HookDetailStep.test.d.ts +6 -0
  1609. package/dist/src/ui/components/hooks/HookDetailStep.test.js +241 -0
  1610. package/dist/src/ui/components/hooks/HookDetailStep.test.js.map +1 -0
  1611. package/dist/src/ui/components/hooks/HookEventHandlerListStep.d.ts +12 -0
  1612. package/dist/src/ui/components/hooks/HookEventHandlerListStep.js +18 -0
  1613. package/dist/src/ui/components/hooks/HookEventHandlerListStep.js.map +1 -0
  1614. package/dist/src/ui/components/hooks/HookEventHeader.d.ts +13 -0
  1615. package/dist/src/ui/components/hooks/HookEventHeader.js +23 -0
  1616. package/dist/src/ui/components/hooks/HookEventHeader.js.map +1 -0
  1617. package/dist/src/ui/components/hooks/HookEventMatcherListStep.d.ts +12 -0
  1618. package/dist/src/ui/components/hooks/HookEventMatcherListStep.js +28 -0
  1619. package/dist/src/ui/components/hooks/HookEventMatcherListStep.js.map +1 -0
  1620. package/dist/src/ui/components/hooks/HookMatcherDetailStep.d.ts +13 -0
  1621. package/dist/src/ui/components/hooks/HookMatcherDetailStep.js +16 -0
  1622. package/dist/src/ui/components/hooks/HookMatcherDetailStep.js.map +1 -0
  1623. package/dist/src/ui/components/hooks/HookMatcherDetailStep.test.d.ts +6 -0
  1624. package/dist/src/ui/components/hooks/HookMatcherDetailStep.test.js +154 -0
  1625. package/dist/src/ui/components/hooks/HookMatcherDetailStep.test.js.map +1 -0
  1626. package/dist/src/ui/components/hooks/HooksDisabledStep.d.ts +10 -0
  1627. package/dist/src/ui/components/hooks/HooksDisabledStep.js +23 -0
  1628. package/dist/src/ui/components/hooks/HooksDisabledStep.js.map +1 -0
  1629. package/dist/src/ui/components/hooks/HooksDisabledStep.test.d.ts +6 -0
  1630. package/dist/src/ui/components/hooks/HooksDisabledStep.test.js +86 -0
  1631. package/dist/src/ui/components/hooks/HooksDisabledStep.test.js.map +1 -0
  1632. package/dist/src/ui/components/hooks/HooksListStep.d.ts +12 -0
  1633. package/dist/src/ui/components/hooks/HooksListStep.js +32 -0
  1634. package/dist/src/ui/components/hooks/HooksListStep.js.map +1 -0
  1635. package/dist/src/ui/components/hooks/HooksListStep.test.d.ts +6 -0
  1636. package/dist/src/ui/components/hooks/HooksListStep.test.js +144 -0
  1637. package/dist/src/ui/components/hooks/HooksListStep.test.js.map +1 -0
  1638. package/dist/src/ui/components/hooks/HooksManagementDialog.d.ts +7 -0
  1639. package/dist/src/ui/components/hooks/HooksManagementDialog.js +418 -0
  1640. package/dist/src/ui/components/hooks/HooksManagementDialog.js.map +1 -0
  1641. package/dist/src/ui/components/hooks/HooksManagementDialog.test.d.ts +6 -0
  1642. package/dist/src/ui/components/hooks/HooksManagementDialog.test.js +305 -0
  1643. package/dist/src/ui/components/hooks/HooksManagementDialog.test.js.map +1 -0
  1644. package/dist/src/ui/components/hooks/constants.d.ts +26 -0
  1645. package/dist/src/ui/components/hooks/constants.js +227 -0
  1646. package/dist/src/ui/components/hooks/constants.js.map +1 -0
  1647. package/dist/src/ui/components/hooks/constants.test.d.ts +6 -0
  1648. package/dist/src/ui/components/hooks/constants.test.js +317 -0
  1649. package/dist/src/ui/components/hooks/constants.test.js.map +1 -0
  1650. package/dist/src/ui/components/hooks/index.d.ts +12 -0
  1651. package/dist/src/ui/components/hooks/index.js +13 -0
  1652. package/dist/src/ui/components/hooks/index.js.map +1 -0
  1653. package/dist/src/ui/components/hooks/matcherGrouping.d.ts +9 -0
  1654. package/dist/src/ui/components/hooks/matcherGrouping.js +35 -0
  1655. package/dist/src/ui/components/hooks/matcherGrouping.js.map +1 -0
  1656. package/dist/src/ui/components/hooks/matcherGrouping.test.d.ts +6 -0
  1657. package/dist/src/ui/components/hooks/matcherGrouping.test.js +183 -0
  1658. package/dist/src/ui/components/hooks/matcherGrouping.test.js.map +1 -0
  1659. package/dist/src/ui/components/hooks/sourceLabels.d.ts +13 -0
  1660. package/dist/src/ui/components/hooks/sourceLabels.js +35 -0
  1661. package/dist/src/ui/components/hooks/sourceLabels.js.map +1 -0
  1662. package/dist/src/ui/components/hooks/sourceLabels.test.d.ts +6 -0
  1663. package/dist/src/ui/components/hooks/sourceLabels.test.js +81 -0
  1664. package/dist/src/ui/components/hooks/sourceLabels.test.js.map +1 -0
  1665. package/dist/src/ui/components/hooks/types.d.ts +42 -0
  1666. package/dist/src/ui/components/hooks/types.js +13 -0
  1667. package/dist/src/ui/components/hooks/types.js.map +1 -0
  1668. package/dist/src/ui/components/mcp/MCPHealthPill.d.ts +24 -0
  1669. package/dist/src/ui/components/mcp/MCPHealthPill.js +33 -0
  1670. package/dist/src/ui/components/mcp/MCPHealthPill.js.map +1 -0
  1671. package/dist/src/ui/components/mcp/MCPHealthPill.test.d.ts +6 -0
  1672. package/dist/src/ui/components/mcp/MCPHealthPill.test.js +42 -0
  1673. package/dist/src/ui/components/mcp/MCPHealthPill.test.js.map +1 -0
  1674. package/dist/src/ui/components/mcp/MCPManagementDialog.d.ts +7 -0
  1675. package/dist/src/ui/components/mcp/MCPManagementDialog.js +472 -0
  1676. package/dist/src/ui/components/mcp/MCPManagementDialog.js.map +1 -0
  1677. package/dist/src/ui/components/mcp/constants.d.ts +29 -0
  1678. package/dist/src/ui/components/mcp/constants.js +34 -0
  1679. package/dist/src/ui/components/mcp/constants.js.map +1 -0
  1680. package/dist/src/ui/components/mcp/index.d.ts +12 -0
  1681. package/dist/src/ui/components/mcp/index.js +15 -0
  1682. package/dist/src/ui/components/mcp/index.js.map +1 -0
  1683. package/dist/src/ui/components/mcp/steps/AuthenticateStep.d.ts +7 -0
  1684. package/dist/src/ui/components/mcp/steps/AuthenticateStep.js +187 -0
  1685. package/dist/src/ui/components/mcp/steps/AuthenticateStep.js.map +1 -0
  1686. package/dist/src/ui/components/mcp/steps/DisableScopeSelectStep.d.ts +7 -0
  1687. package/dist/src/ui/components/mcp/steps/DisableScopeSelectStep.js +44 -0
  1688. package/dist/src/ui/components/mcp/steps/DisableScopeSelectStep.js.map +1 -0
  1689. package/dist/src/ui/components/mcp/steps/ServerDetailStep.d.ts +7 -0
  1690. package/dist/src/ui/components/mcp/steps/ServerDetailStep.js +108 -0
  1691. package/dist/src/ui/components/mcp/steps/ServerDetailStep.js.map +1 -0
  1692. package/dist/src/ui/components/mcp/steps/ServerListStep.d.ts +7 -0
  1693. package/dist/src/ui/components/mcp/steps/ServerListStep.js +74 -0
  1694. package/dist/src/ui/components/mcp/steps/ServerListStep.js.map +1 -0
  1695. package/dist/src/ui/components/mcp/steps/ServerListStep.test.d.ts +6 -0
  1696. package/dist/src/ui/components/mcp/steps/ServerListStep.test.js +60 -0
  1697. package/dist/src/ui/components/mcp/steps/ServerListStep.test.js.map +1 -0
  1698. package/dist/src/ui/components/mcp/steps/ToolDetailStep.d.ts +7 -0
  1699. package/dist/src/ui/components/mcp/steps/ToolDetailStep.js +49 -0
  1700. package/dist/src/ui/components/mcp/steps/ToolDetailStep.js.map +1 -0
  1701. package/dist/src/ui/components/mcp/steps/ToolListStep.d.ts +7 -0
  1702. package/dist/src/ui/components/mcp/steps/ToolListStep.js +80 -0
  1703. package/dist/src/ui/components/mcp/steps/ToolListStep.js.map +1 -0
  1704. package/dist/src/ui/components/mcp/steps/ToolListStep.test.d.ts +6 -0
  1705. package/dist/src/ui/components/mcp/steps/ToolListStep.test.js +55 -0
  1706. package/dist/src/ui/components/mcp/steps/ToolListStep.test.js.map +1 -0
  1707. package/dist/src/ui/components/mcp/types.d.ts +177 -0
  1708. package/dist/src/ui/components/mcp/types.js +17 -0
  1709. package/dist/src/ui/components/mcp/types.js.map +1 -0
  1710. package/dist/src/ui/components/mcp/utils.d.ts +40 -0
  1711. package/dist/src/ui/components/mcp/utils.js +126 -0
  1712. package/dist/src/ui/components/mcp/utils.js.map +1 -0
  1713. package/dist/src/ui/components/mcp/utils.test.d.ts +6 -0
  1714. package/dist/src/ui/components/mcp/utils.test.js +130 -0
  1715. package/dist/src/ui/components/mcp/utils.test.js.map +1 -0
  1716. package/dist/src/ui/components/messages/AskUserQuestionDialog.d.ts +14 -0
  1717. package/dist/src/ui/components/messages/AskUserQuestionDialog.js +291 -0
  1718. package/dist/src/ui/components/messages/AskUserQuestionDialog.js.map +1 -0
  1719. package/dist/src/ui/components/messages/AskUserQuestionDialog.test.d.ts +6 -0
  1720. package/dist/src/ui/components/messages/AskUserQuestionDialog.test.js +281 -0
  1721. package/dist/src/ui/components/messages/AskUserQuestionDialog.test.js.map +1 -0
  1722. package/dist/src/ui/components/messages/BtwMessage.d.ts +14 -0
  1723. package/dist/src/ui/components/messages/BtwMessage.js +30 -0
  1724. package/dist/src/ui/components/messages/BtwMessage.js.map +1 -0
  1725. package/dist/src/ui/components/messages/BtwMessage.test.d.ts +6 -0
  1726. package/dist/src/ui/components/messages/BtwMessage.test.js +60 -0
  1727. package/dist/src/ui/components/messages/BtwMessage.test.js.map +1 -0
  1728. package/dist/src/ui/components/messages/CompactToolGroupDisplay.d.ts +20 -0
  1729. package/dist/src/ui/components/messages/CompactToolGroupDisplay.js +80 -0
  1730. package/dist/src/ui/components/messages/CompactToolGroupDisplay.js.map +1 -0
  1731. package/dist/src/ui/components/messages/CompactToolGroupDisplay.test.d.ts +6 -0
  1732. package/dist/src/ui/components/messages/CompactToolGroupDisplay.test.js +139 -0
  1733. package/dist/src/ui/components/messages/CompactToolGroupDisplay.test.js.map +1 -0
  1734. package/dist/src/ui/components/messages/CompressionMessage.d.ts +10 -0
  1735. package/dist/src/ui/components/messages/CompressionMessage.js +50 -0
  1736. package/dist/src/ui/components/messages/CompressionMessage.js.map +1 -0
  1737. package/dist/src/ui/components/messages/CompressionMessage.test.d.ts +6 -0
  1738. package/dist/src/ui/components/messages/CompressionMessage.test.js +160 -0
  1739. package/dist/src/ui/components/messages/CompressionMessage.test.js.map +1 -0
  1740. package/dist/src/ui/components/messages/ConversationMessages.d.ts +46 -0
  1741. package/dist/src/ui/components/messages/ConversationMessages.js +32 -0
  1742. package/dist/src/ui/components/messages/ConversationMessages.js.map +1 -0
  1743. package/dist/src/ui/components/messages/DiffRenderer.d.ts +19 -0
  1744. package/dist/src/ui/components/messages/DiffRenderer.js +219 -0
  1745. package/dist/src/ui/components/messages/DiffRenderer.js.map +1 -0
  1746. package/dist/src/ui/components/messages/DiffRenderer.test.d.ts +6 -0
  1747. package/dist/src/ui/components/messages/DiffRenderer.test.js +296 -0
  1748. package/dist/src/ui/components/messages/DiffRenderer.test.js.map +1 -0
  1749. package/dist/src/ui/components/messages/DiffStatsDisplay.d.ts +18 -0
  1750. package/dist/src/ui/components/messages/DiffStatsDisplay.js +50 -0
  1751. package/dist/src/ui/components/messages/DiffStatsDisplay.js.map +1 -0
  1752. package/dist/src/ui/components/messages/DiffStatsDisplay.test.d.ts +6 -0
  1753. package/dist/src/ui/components/messages/DiffStatsDisplay.test.js +165 -0
  1754. package/dist/src/ui/components/messages/DiffStatsDisplay.test.js.map +1 -0
  1755. package/dist/src/ui/components/messages/GoalStatusMessage.d.ts +16 -0
  1756. package/dist/src/ui/components/messages/GoalStatusMessage.js +76 -0
  1757. package/dist/src/ui/components/messages/GoalStatusMessage.js.map +1 -0
  1758. package/dist/src/ui/components/messages/GoalStatusMessage.test.d.ts +6 -0
  1759. package/dist/src/ui/components/messages/GoalStatusMessage.test.js +32 -0
  1760. package/dist/src/ui/components/messages/GoalStatusMessage.test.js.map +1 -0
  1761. package/dist/src/ui/components/messages/InlineParallelAgentsDisplay.d.ts +33 -0
  1762. package/dist/src/ui/components/messages/InlineParallelAgentsDisplay.js +196 -0
  1763. package/dist/src/ui/components/messages/InlineParallelAgentsDisplay.js.map +1 -0
  1764. package/dist/src/ui/components/messages/InlineParallelAgentsDisplay.test.d.ts +6 -0
  1765. package/dist/src/ui/components/messages/InlineParallelAgentsDisplay.test.js +219 -0
  1766. package/dist/src/ui/components/messages/InlineParallelAgentsDisplay.test.js.map +1 -0
  1767. package/dist/src/ui/components/messages/InsightProgressMessage.d.ts +12 -0
  1768. package/dist/src/ui/components/messages/InsightProgressMessage.js +20 -0
  1769. package/dist/src/ui/components/messages/InsightProgressMessage.js.map +1 -0
  1770. package/dist/src/ui/components/messages/MemorySavedMessage.d.ts +18 -0
  1771. package/dist/src/ui/components/messages/MemorySavedMessage.js +15 -0
  1772. package/dist/src/ui/components/messages/MemorySavedMessage.js.map +1 -0
  1773. package/dist/src/ui/components/messages/StatusMessages.d.ts +33 -0
  1774. package/dist/src/ui/components/messages/StatusMessages.js +28 -0
  1775. package/dist/src/ui/components/messages/StatusMessages.js.map +1 -0
  1776. package/dist/src/ui/components/messages/StatusMessages.test.d.ts +6 -0
  1777. package/dist/src/ui/components/messages/StatusMessages.test.js +21 -0
  1778. package/dist/src/ui/components/messages/StatusMessages.test.js.map +1 -0
  1779. package/dist/src/ui/components/messages/SummaryMessage.d.ts +11 -0
  1780. package/dist/src/ui/components/messages/SummaryMessage.js +38 -0
  1781. package/dist/src/ui/components/messages/SummaryMessage.js.map +1 -0
  1782. package/dist/src/ui/components/messages/ToolConfirmationMessage.d.ts +16 -0
  1783. package/dist/src/ui/components/messages/ToolConfirmationMessage.js +352 -0
  1784. package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -0
  1785. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.d.ts +6 -0
  1786. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js +312 -0
  1787. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js.map +1 -0
  1788. package/dist/src/ui/components/messages/ToolGroupMessage.d.ts +58 -0
  1789. package/dist/src/ui/components/messages/ToolGroupMessage.js +278 -0
  1790. package/dist/src/ui/components/messages/ToolGroupMessage.js.map +1 -0
  1791. package/dist/src/ui/components/messages/ToolGroupMessage.test.d.ts +6 -0
  1792. package/dist/src/ui/components/messages/ToolGroupMessage.test.js +619 -0
  1793. package/dist/src/ui/components/messages/ToolGroupMessage.test.js.map +1 -0
  1794. package/dist/src/ui/components/messages/ToolMessage.d.ts +39 -0
  1795. package/dist/src/ui/components/messages/ToolMessage.js +400 -0
  1796. package/dist/src/ui/components/messages/ToolMessage.js.map +1 -0
  1797. package/dist/src/ui/components/messages/ToolMessage.test.d.ts +6 -0
  1798. package/dist/src/ui/components/messages/ToolMessage.test.js +575 -0
  1799. package/dist/src/ui/components/messages/ToolMessage.test.js.map +1 -0
  1800. package/dist/src/ui/components/shared/BaseSelectionList.d.ts +40 -0
  1801. package/dist/src/ui/components/shared/BaseSelectionList.js +75 -0
  1802. package/dist/src/ui/components/shared/BaseSelectionList.js.map +1 -0
  1803. package/dist/src/ui/components/shared/BaseSelectionList.test.d.ts +6 -0
  1804. package/dist/src/ui/components/shared/BaseSelectionList.test.js +376 -0
  1805. package/dist/src/ui/components/shared/BaseSelectionList.test.js.map +1 -0
  1806. package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.d.ts +37 -0
  1807. package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.js +13 -0
  1808. package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.js.map +1 -0
  1809. package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.test.d.ts +6 -0
  1810. package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.test.js +79 -0
  1811. package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.test.js.map +1 -0
  1812. package/dist/src/ui/components/shared/EnumSelector.d.ts +18 -0
  1813. package/dist/src/ui/components/shared/EnumSelector.js +44 -0
  1814. package/dist/src/ui/components/shared/EnumSelector.js.map +1 -0
  1815. package/dist/src/ui/components/shared/EnumSelector.test.d.ts +6 -0
  1816. package/dist/src/ui/components/shared/EnumSelector.test.js +70 -0
  1817. package/dist/src/ui/components/shared/EnumSelector.test.js.map +1 -0
  1818. package/dist/src/ui/components/shared/MaxSizedBox.d.ts +61 -0
  1819. package/dist/src/ui/components/shared/MaxSizedBox.js +453 -0
  1820. package/dist/src/ui/components/shared/MaxSizedBox.js.map +1 -0
  1821. package/dist/src/ui/components/shared/MaxSizedBox.test.d.ts +6 -0
  1822. package/dist/src/ui/components/shared/MaxSizedBox.test.js +154 -0
  1823. package/dist/src/ui/components/shared/MaxSizedBox.test.js.map +1 -0
  1824. package/dist/src/ui/components/shared/MultiSelect.d.ts +30 -0
  1825. package/dist/src/ui/components/shared/MultiSelect.js +94 -0
  1826. package/dist/src/ui/components/shared/MultiSelect.js.map +1 -0
  1827. package/dist/src/ui/components/shared/RadioButtonSelect.d.ts +45 -0
  1828. package/dist/src/ui/components/shared/RadioButtonSelect.js +21 -0
  1829. package/dist/src/ui/components/shared/RadioButtonSelect.js.map +1 -0
  1830. package/dist/src/ui/components/shared/RadioButtonSelect.test.d.ts +6 -0
  1831. package/dist/src/ui/components/shared/RadioButtonSelect.test.js +134 -0
  1832. package/dist/src/ui/components/shared/RadioButtonSelect.test.js.map +1 -0
  1833. package/dist/src/ui/components/shared/ScopeSelector.d.ts +19 -0
  1834. package/dist/src/ui/components/shared/ScopeSelector.js +16 -0
  1835. package/dist/src/ui/components/shared/ScopeSelector.js.map +1 -0
  1836. package/dist/src/ui/components/shared/ScrollableList.d.ts +19 -0
  1837. package/dist/src/ui/components/shared/ScrollableList.js +97 -0
  1838. package/dist/src/ui/components/shared/ScrollableList.js.map +1 -0
  1839. package/dist/src/ui/components/shared/ScrollableList.test.d.ts +6 -0
  1840. package/dist/src/ui/components/shared/ScrollableList.test.js +158 -0
  1841. package/dist/src/ui/components/shared/ScrollableList.test.js.map +1 -0
  1842. package/dist/src/ui/components/shared/StaticRender.d.ts +25 -0
  1843. package/dist/src/ui/components/shared/StaticRender.js +25 -0
  1844. package/dist/src/ui/components/shared/StaticRender.js.map +1 -0
  1845. package/dist/src/ui/components/shared/TextInput.d.ts +25 -0
  1846. package/dist/src/ui/components/shared/TextInput.js +163 -0
  1847. package/dist/src/ui/components/shared/TextInput.js.map +1 -0
  1848. package/dist/src/ui/components/shared/TextInput.test.d.ts +6 -0
  1849. package/dist/src/ui/components/shared/TextInput.test.js +91 -0
  1850. package/dist/src/ui/components/shared/TextInput.test.js.map +1 -0
  1851. package/dist/src/ui/components/shared/ToolElapsedTime.d.ts +30 -0
  1852. package/dist/src/ui/components/shared/ToolElapsedTime.js +43 -0
  1853. package/dist/src/ui/components/shared/ToolElapsedTime.js.map +1 -0
  1854. package/dist/src/ui/components/shared/ToolElapsedTime.test.d.ts +6 -0
  1855. package/dist/src/ui/components/shared/ToolElapsedTime.test.js +63 -0
  1856. package/dist/src/ui/components/shared/ToolElapsedTime.test.js.map +1 -0
  1857. package/dist/src/ui/components/shared/ToolStatusIndicator.d.ts +14 -0
  1858. package/dist/src/ui/components/shared/ToolStatusIndicator.js +13 -0
  1859. package/dist/src/ui/components/shared/ToolStatusIndicator.js.map +1 -0
  1860. package/dist/src/ui/components/shared/VirtualizedList.d.ts +49 -0
  1861. package/dist/src/ui/components/shared/VirtualizedList.js +529 -0
  1862. package/dist/src/ui/components/shared/VirtualizedList.js.map +1 -0
  1863. package/dist/src/ui/components/shared/VirtualizedList.test.d.ts +6 -0
  1864. package/dist/src/ui/components/shared/VirtualizedList.test.js +371 -0
  1865. package/dist/src/ui/components/shared/VirtualizedList.test.js.map +1 -0
  1866. package/dist/src/ui/components/shared/text-buffer-external-editor.test.d.ts +6 -0
  1867. package/dist/src/ui/components/shared/text-buffer-external-editor.test.js +657 -0
  1868. package/dist/src/ui/components/shared/text-buffer-external-editor.test.js.map +1 -0
  1869. package/dist/src/ui/components/shared/text-buffer.d.ts +503 -0
  1870. package/dist/src/ui/components/shared/text-buffer.js +2181 -0
  1871. package/dist/src/ui/components/shared/text-buffer.js.map +1 -0
  1872. package/dist/src/ui/components/shared/vim-buffer-actions.d.ts +74 -0
  1873. package/dist/src/ui/components/shared/vim-buffer-actions.js +612 -0
  1874. package/dist/src/ui/components/shared/vim-buffer-actions.js.map +1 -0
  1875. package/dist/src/ui/components/skills/SkillsManagerDialog.d.ts +44 -0
  1876. package/dist/src/ui/components/skills/SkillsManagerDialog.js +423 -0
  1877. package/dist/src/ui/components/skills/SkillsManagerDialog.js.map +1 -0
  1878. package/dist/src/ui/components/stats-helpers.d.ts +30 -0
  1879. package/dist/src/ui/components/stats-helpers.js +79 -0
  1880. package/dist/src/ui/components/stats-helpers.js.map +1 -0
  1881. package/dist/src/ui/components/subagents/constants.d.ts +23 -0
  1882. package/dist/src/ui/components/subagents/constants.js +67 -0
  1883. package/dist/src/ui/components/subagents/constants.js.map +1 -0
  1884. package/dist/src/ui/components/subagents/create/AgentCreationWizard.d.ts +15 -0
  1885. package/dist/src/ui/components/subagents/create/AgentCreationWizard.js +173 -0
  1886. package/dist/src/ui/components/subagents/create/AgentCreationWizard.js.map +1 -0
  1887. package/dist/src/ui/components/subagents/create/ColorSelector.d.ts +15 -0
  1888. package/dist/src/ui/components/subagents/create/ColorSelector.js +43 -0
  1889. package/dist/src/ui/components/subagents/create/ColorSelector.js.map +1 -0
  1890. package/dist/src/ui/components/subagents/create/CreationSummary.d.ts +10 -0
  1891. package/dist/src/ui/components/subagents/create/CreationSummary.js +176 -0
  1892. package/dist/src/ui/components/subagents/create/CreationSummary.js.map +1 -0
  1893. package/dist/src/ui/components/subagents/create/DescriptionInput.d.ts +10 -0
  1894. package/dist/src/ui/components/subagents/create/DescriptionInput.js +107 -0
  1895. package/dist/src/ui/components/subagents/create/DescriptionInput.js.map +1 -0
  1896. package/dist/src/ui/components/subagents/create/GenerationMethodSelector.d.ts +10 -0
  1897. package/dist/src/ui/components/subagents/create/GenerationMethodSelector.js +39 -0
  1898. package/dist/src/ui/components/subagents/create/GenerationMethodSelector.js.map +1 -0
  1899. package/dist/src/ui/components/subagents/create/LocationSelector.d.ts +10 -0
  1900. package/dist/src/ui/components/subagents/create/LocationSelector.js +39 -0
  1901. package/dist/src/ui/components/subagents/create/LocationSelector.js.map +1 -0
  1902. package/dist/src/ui/components/subagents/create/TextEntryStep.d.ts +26 -0
  1903. package/dist/src/ui/components/subagents/create/TextEntryStep.js +28 -0
  1904. package/dist/src/ui/components/subagents/create/TextEntryStep.js.map +1 -0
  1905. package/dist/src/ui/components/subagents/create/ToolSelector.d.ts +16 -0
  1906. package/dist/src/ui/components/subagents/create/ToolSelector.js +145 -0
  1907. package/dist/src/ui/components/subagents/create/ToolSelector.js.map +1 -0
  1908. package/dist/src/ui/components/subagents/index.d.ts +7 -0
  1909. package/dist/src/ui/components/subagents/index.js +13 -0
  1910. package/dist/src/ui/components/subagents/index.js.map +1 -0
  1911. package/dist/src/ui/components/subagents/manage/ActionSelectionStep.d.ts +13 -0
  1912. package/dist/src/ui/components/subagents/manage/ActionSelectionStep.js +73 -0
  1913. package/dist/src/ui/components/subagents/manage/ActionSelectionStep.js.map +1 -0
  1914. package/dist/src/ui/components/subagents/manage/AgentDeleteStep.d.ts +13 -0
  1915. package/dist/src/ui/components/subagents/manage/AgentDeleteStep.js +38 -0
  1916. package/dist/src/ui/components/subagents/manage/AgentDeleteStep.js.map +1 -0
  1917. package/dist/src/ui/components/subagents/manage/AgentEditStep.d.ts +15 -0
  1918. package/dist/src/ui/components/subagents/manage/AgentEditStep.js +76 -0
  1919. package/dist/src/ui/components/subagents/manage/AgentEditStep.js.map +1 -0
  1920. package/dist/src/ui/components/subagents/manage/AgentSelectionStep.d.ts +12 -0
  1921. package/dist/src/ui/components/subagents/manage/AgentSelectionStep.js +342 -0
  1922. package/dist/src/ui/components/subagents/manage/AgentSelectionStep.js.map +1 -0
  1923. package/dist/src/ui/components/subagents/manage/AgentSelectionStep.test.d.ts +6 -0
  1924. package/dist/src/ui/components/subagents/manage/AgentSelectionStep.test.js +56 -0
  1925. package/dist/src/ui/components/subagents/manage/AgentSelectionStep.test.js.map +1 -0
  1926. package/dist/src/ui/components/subagents/manage/AgentViewerStep.d.ts +11 -0
  1927. package/dist/src/ui/components/subagents/manage/AgentViewerStep.js +20 -0
  1928. package/dist/src/ui/components/subagents/manage/AgentViewerStep.js.map +1 -0
  1929. package/dist/src/ui/components/subagents/manage/AgentsManagerDialog.d.ts +15 -0
  1930. package/dist/src/ui/components/subagents/manage/AgentsManagerDialog.js +214 -0
  1931. package/dist/src/ui/components/subagents/manage/AgentsManagerDialog.js.map +1 -0
  1932. package/dist/src/ui/components/subagents/reducers.d.ts +14 -0
  1933. package/dist/src/ui/components/subagents/reducers.js +162 -0
  1934. package/dist/src/ui/components/subagents/reducers.js.map +1 -0
  1935. package/dist/src/ui/components/subagents/types.d.ts +137 -0
  1936. package/dist/src/ui/components/subagents/types.js +15 -0
  1937. package/dist/src/ui/components/subagents/types.js.map +1 -0
  1938. package/dist/src/ui/components/subagents/utils.d.ts +15 -0
  1939. package/dist/src/ui/components/subagents/utils.js +79 -0
  1940. package/dist/src/ui/components/subagents/utils.js.map +1 -0
  1941. package/dist/src/ui/components/views/ContextUsage.d.ts +23 -0
  1942. package/dist/src/ui/components/views/ContextUsage.js +130 -0
  1943. package/dist/src/ui/components/views/ContextUsage.js.map +1 -0
  1944. package/dist/src/ui/components/views/ContextUsage.test.d.ts +6 -0
  1945. package/dist/src/ui/components/views/ContextUsage.test.js +76 -0
  1946. package/dist/src/ui/components/views/ContextUsage.test.js.map +1 -0
  1947. package/dist/src/ui/components/views/DoctorReport.d.ts +18 -0
  1948. package/dist/src/ui/components/views/DoctorReport.js +45 -0
  1949. package/dist/src/ui/components/views/DoctorReport.js.map +1 -0
  1950. package/dist/src/ui/components/views/ExtensionsList.d.ts +6 -0
  1951. package/dist/src/ui/components/views/ExtensionsList.js +49 -0
  1952. package/dist/src/ui/components/views/ExtensionsList.js.map +1 -0
  1953. package/dist/src/ui/components/views/ExtensionsList.test.d.ts +6 -0
  1954. package/dist/src/ui/components/views/ExtensionsList.test.js +88 -0
  1955. package/dist/src/ui/components/views/ExtensionsList.test.js.map +1 -0
  1956. package/dist/src/ui/components/views/McpStatus.d.ts +27 -0
  1957. package/dist/src/ui/components/views/McpStatus.js +90 -0
  1958. package/dist/src/ui/components/views/McpStatus.js.map +1 -0
  1959. package/dist/src/ui/components/views/McpStatus.test.d.ts +6 -0
  1960. package/dist/src/ui/components/views/McpStatus.test.js +117 -0
  1961. package/dist/src/ui/components/views/McpStatus.test.js.map +1 -0
  1962. package/dist/src/ui/components/views/SkillsList.d.ts +12 -0
  1963. package/dist/src/ui/components/views/SkillsList.js +7 -0
  1964. package/dist/src/ui/components/views/SkillsList.js.map +1 -0
  1965. package/dist/src/ui/components/views/ToolsList.d.ts +14 -0
  1966. package/dist/src/ui/components/views/ToolsList.js +8 -0
  1967. package/dist/src/ui/components/views/ToolsList.js.map +1 -0
  1968. package/dist/src/ui/components/views/ToolsList.test.d.ts +6 -0
  1969. package/dist/src/ui/components/views/ToolsList.test.js +45 -0
  1970. package/dist/src/ui/components/views/ToolsList.test.js.map +1 -0
  1971. package/dist/src/ui/constants.d.ts +18 -0
  1972. package/dist/src/ui/constants.js +23 -0
  1973. package/dist/src/ui/constants.js.map +1 -0
  1974. package/dist/src/ui/contexts/AgentViewContext.d.ts +49 -0
  1975. package/dist/src/ui/contexts/AgentViewContext.js +187 -0
  1976. package/dist/src/ui/contexts/AgentViewContext.js.map +1 -0
  1977. package/dist/src/ui/contexts/AppContext.d.ts +11 -0
  1978. package/dist/src/ui/contexts/AppContext.js +15 -0
  1979. package/dist/src/ui/contexts/AppContext.js.map +1 -0
  1980. package/dist/src/ui/contexts/BackgroundTaskViewContext.d.ts +60 -0
  1981. package/dist/src/ui/contexts/BackgroundTaskViewContext.js +238 -0
  1982. package/dist/src/ui/contexts/BackgroundTaskViewContext.js.map +1 -0
  1983. package/dist/src/ui/contexts/CompactModeContext.d.ts +13 -0
  1984. package/dist/src/ui/contexts/CompactModeContext.js +13 -0
  1985. package/dist/src/ui/contexts/CompactModeContext.js.map +1 -0
  1986. package/dist/src/ui/contexts/ConfigContext.d.ts +9 -0
  1987. package/dist/src/ui/contexts/ConfigContext.js +16 -0
  1988. package/dist/src/ui/contexts/ConfigContext.js.map +1 -0
  1989. package/dist/src/ui/contexts/KeypressContext.d.ts +40 -0
  1990. package/dist/src/ui/contexts/KeypressContext.js +959 -0
  1991. package/dist/src/ui/contexts/KeypressContext.js.map +1 -0
  1992. package/dist/src/ui/contexts/KeypressContext.test.d.ts +6 -0
  1993. package/dist/src/ui/contexts/KeypressContext.test.js +1360 -0
  1994. package/dist/src/ui/contexts/KeypressContext.test.js.map +1 -0
  1995. package/dist/src/ui/contexts/OverflowContext.d.ts +19 -0
  1996. package/dist/src/ui/contexts/OverflowContext.js +38 -0
  1997. package/dist/src/ui/contexts/OverflowContext.js.map +1 -0
  1998. package/dist/src/ui/contexts/RenderModeContext.d.ts +14 -0
  1999. package/dist/src/ui/contexts/RenderModeContext.js +15 -0
  2000. package/dist/src/ui/contexts/RenderModeContext.js.map +1 -0
  2001. package/dist/src/ui/contexts/SessionContext.d.ts +47 -0
  2002. package/dist/src/ui/contexts/SessionContext.js +180 -0
  2003. package/dist/src/ui/contexts/SessionContext.js.map +1 -0
  2004. package/dist/src/ui/contexts/SettingsContext.d.ts +9 -0
  2005. package/dist/src/ui/contexts/SettingsContext.js +15 -0
  2006. package/dist/src/ui/contexts/SettingsContext.js.map +1 -0
  2007. package/dist/src/ui/contexts/ShellFocusContext.d.ts +7 -0
  2008. package/dist/src/ui/contexts/ShellFocusContext.js +9 -0
  2009. package/dist/src/ui/contexts/ShellFocusContext.js.map +1 -0
  2010. package/dist/src/ui/contexts/StreamingContext.d.ts +9 -0
  2011. package/dist/src/ui/contexts/StreamingContext.js +15 -0
  2012. package/dist/src/ui/contexts/StreamingContext.js.map +1 -0
  2013. package/dist/src/ui/contexts/TerminalOutputContext.d.ts +12 -0
  2014. package/dist/src/ui/contexts/TerminalOutputContext.js +11 -0
  2015. package/dist/src/ui/contexts/TerminalOutputContext.js.map +1 -0
  2016. package/dist/src/ui/contexts/UIActionsContext.d.ts +91 -0
  2017. package/dist/src/ui/contexts/UIActionsContext.js +22 -0
  2018. package/dist/src/ui/contexts/UIActionsContext.js.map +1 -0
  2019. package/dist/src/ui/contexts/UIStateContext.d.ts +158 -0
  2020. package/dist/src/ui/contexts/UIStateContext.js +20 -0
  2021. package/dist/src/ui/contexts/UIStateContext.js.map +1 -0
  2022. package/dist/src/ui/contexts/VimModeContext.d.ts +31 -0
  2023. package/dist/src/ui/contexts/VimModeContext.js +60 -0
  2024. package/dist/src/ui/contexts/VimModeContext.js.map +1 -0
  2025. package/dist/src/ui/contexts/VimModeContext.test.d.ts +11 -0
  2026. package/dist/src/ui/contexts/VimModeContext.test.js +99 -0
  2027. package/dist/src/ui/contexts/VimModeContext.test.js.map +1 -0
  2028. package/dist/src/ui/daemon/DaemonTuiAdapter.d.ts +101 -0
  2029. package/dist/src/ui/daemon/DaemonTuiAdapter.js +695 -0
  2030. package/dist/src/ui/daemon/DaemonTuiAdapter.js.map +1 -0
  2031. package/dist/src/ui/daemon/DaemonTuiAdapter.test.d.ts +6 -0
  2032. package/dist/src/ui/daemon/DaemonTuiAdapter.test.js +784 -0
  2033. package/dist/src/ui/daemon/DaemonTuiAdapter.test.js.map +1 -0
  2034. package/dist/src/ui/editors/editorSettingsManager.d.ts +19 -0
  2035. package/dist/src/ui/editors/editorSettingsManager.js +48 -0
  2036. package/dist/src/ui/editors/editorSettingsManager.js.map +1 -0
  2037. package/dist/src/ui/hooks/atCommandProcessor.d.ts +33 -0
  2038. package/dist/src/ui/hooks/atCommandProcessor.js +344 -0
  2039. package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -0
  2040. package/dist/src/ui/hooks/atCommandProcessor.test.d.ts +6 -0
  2041. package/dist/src/ui/hooks/atCommandProcessor.test.js +871 -0
  2042. package/dist/src/ui/hooks/atCommandProcessor.test.js.map +1 -0
  2043. package/dist/src/ui/hooks/keyToAnsi.d.ts +15 -0
  2044. package/dist/src/ui/hooks/keyToAnsi.js +67 -0
  2045. package/dist/src/ui/hooks/keyToAnsi.js.map +1 -0
  2046. package/dist/src/ui/hooks/shellCommandProcessor.d.ts +18 -0
  2047. package/dist/src/ui/hooks/shellCommandProcessor.js +287 -0
  2048. package/dist/src/ui/hooks/shellCommandProcessor.js.map +1 -0
  2049. package/dist/src/ui/hooks/shellCommandProcessor.test.d.ts +6 -0
  2050. package/dist/src/ui/hooks/shellCommandProcessor.test.js +509 -0
  2051. package/dist/src/ui/hooks/shellCommandProcessor.test.js.map +1 -0
  2052. package/dist/src/ui/hooks/slashCommandProcessor.d.ts +71 -0
  2053. package/dist/src/ui/hooks/slashCommandProcessor.js +837 -0
  2054. package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -0
  2055. package/dist/src/ui/hooks/useAgentStreamingState.d.ts +29 -0
  2056. package/dist/src/ui/hooks/useAgentStreamingState.js +109 -0
  2057. package/dist/src/ui/hooks/useAgentStreamingState.js.map +1 -0
  2058. package/dist/src/ui/hooks/useAgentsManagerDialog.d.ts +11 -0
  2059. package/dist/src/ui/hooks/useAgentsManagerDialog.js +21 -0
  2060. package/dist/src/ui/hooks/useAgentsManagerDialog.js.map +1 -0
  2061. package/dist/src/ui/hooks/useAnimatedScrollbar.d.ts +37 -0
  2062. package/dist/src/ui/hooks/useAnimatedScrollbar.js +44 -0
  2063. package/dist/src/ui/hooks/useAnimatedScrollbar.js.map +1 -0
  2064. package/dist/src/ui/hooks/useAnimatedScrollbar.test.d.ts +6 -0
  2065. package/dist/src/ui/hooks/useAnimatedScrollbar.test.js +74 -0
  2066. package/dist/src/ui/hooks/useAnimatedScrollbar.test.js.map +1 -0
  2067. package/dist/src/ui/hooks/useAnimationFrame.d.ts +25 -0
  2068. package/dist/src/ui/hooks/useAnimationFrame.js +86 -0
  2069. package/dist/src/ui/hooks/useAnimationFrame.js.map +1 -0
  2070. package/dist/src/ui/hooks/useApprovalModeCommand.d.ts +14 -0
  2071. package/dist/src/ui/hooks/useApprovalModeCommand.js +33 -0
  2072. package/dist/src/ui/hooks/useApprovalModeCommand.js.map +1 -0
  2073. package/dist/src/ui/hooks/useArenaCommand.d.ts +13 -0
  2074. package/dist/src/ui/hooks/useArenaCommand.js +21 -0
  2075. package/dist/src/ui/hooks/useArenaCommand.js.map +1 -0
  2076. package/dist/src/ui/hooks/useArenaInProcess.d.ts +14 -0
  2077. package/dist/src/ui/hooks/useArenaInProcess.js +136 -0
  2078. package/dist/src/ui/hooks/useArenaInProcess.js.map +1 -0
  2079. package/dist/src/ui/hooks/useAtCompletion.d.ts +23 -0
  2080. package/dist/src/ui/hooks/useAtCompletion.js +184 -0
  2081. package/dist/src/ui/hooks/useAtCompletion.js.map +1 -0
  2082. package/dist/src/ui/hooks/useAttentionNotifications.d.ts +22 -0
  2083. package/dist/src/ui/hooks/useAttentionNotifications.js +89 -0
  2084. package/dist/src/ui/hooks/useAttentionNotifications.js.map +1 -0
  2085. package/dist/src/ui/hooks/useAttentionNotifications.test.d.ts +6 -0
  2086. package/dist/src/ui/hooks/useAttentionNotifications.test.js +222 -0
  2087. package/dist/src/ui/hooks/useAttentionNotifications.test.js.map +1 -0
  2088. package/dist/src/ui/hooks/useAutoAcceptIndicator.d.ts +32 -0
  2089. package/dist/src/ui/hooks/useAutoAcceptIndicator.js +124 -0
  2090. package/dist/src/ui/hooks/useAutoAcceptIndicator.js.map +1 -0
  2091. package/dist/src/ui/hooks/useAutoAcceptIndicator.test.d.ts +6 -0
  2092. package/dist/src/ui/hooks/useAutoAcceptIndicator.test.js +379 -0
  2093. package/dist/src/ui/hooks/useAutoAcceptIndicator.test.js.map +1 -0
  2094. package/dist/src/ui/hooks/useAwaySummary.d.ts +35 -0
  2095. package/dist/src/ui/hooks/useAwaySummary.js +141 -0
  2096. package/dist/src/ui/hooks/useAwaySummary.js.map +1 -0
  2097. package/dist/src/ui/hooks/useAwaySummary.test.d.ts +6 -0
  2098. package/dist/src/ui/hooks/useAwaySummary.test.js +103 -0
  2099. package/dist/src/ui/hooks/useAwaySummary.test.js.map +1 -0
  2100. package/dist/src/ui/hooks/useBackgroundTaskView.d.ts +69 -0
  2101. package/dist/src/ui/hooks/useBackgroundTaskView.js +217 -0
  2102. package/dist/src/ui/hooks/useBackgroundTaskView.js.map +1 -0
  2103. package/dist/src/ui/hooks/useBackgroundTaskView.test.d.ts +6 -0
  2104. package/dist/src/ui/hooks/useBackgroundTaskView.test.js +455 -0
  2105. package/dist/src/ui/hooks/useBackgroundTaskView.test.js.map +1 -0
  2106. package/dist/src/ui/hooks/useBatchedScroll.d.ts +14 -0
  2107. package/dist/src/ui/hooks/useBatchedScroll.js +25 -0
  2108. package/dist/src/ui/hooks/useBatchedScroll.js.map +1 -0
  2109. package/dist/src/ui/hooks/useBatchedScroll.test.d.ts +6 -0
  2110. package/dist/src/ui/hooks/useBatchedScroll.test.js +42 -0
  2111. package/dist/src/ui/hooks/useBatchedScroll.test.js.map +1 -0
  2112. package/dist/src/ui/hooks/useBracketedPaste.d.ts +12 -0
  2113. package/dist/src/ui/hooks/useBracketedPaste.js +32 -0
  2114. package/dist/src/ui/hooks/useBracketedPaste.js.map +1 -0
  2115. package/dist/src/ui/hooks/useBranchCommand.d.ts +33 -0
  2116. package/dist/src/ui/hooks/useBranchCommand.js +230 -0
  2117. package/dist/src/ui/hooks/useBranchCommand.js.map +1 -0
  2118. package/dist/src/ui/hooks/useBranchCommand.test.d.ts +6 -0
  2119. package/dist/src/ui/hooks/useBranchCommand.test.js +386 -0
  2120. package/dist/src/ui/hooks/useBranchCommand.test.js.map +1 -0
  2121. package/dist/src/ui/hooks/useCommandCompletion.d.ts +37 -0
  2122. package/dist/src/ui/hooks/useCommandCompletion.js +227 -0
  2123. package/dist/src/ui/hooks/useCommandCompletion.js.map +1 -0
  2124. package/dist/src/ui/hooks/useCommandMigration.d.ts +16 -0
  2125. package/dist/src/ui/hooks/useCommandMigration.js +40 -0
  2126. package/dist/src/ui/hooks/useCommandMigration.js.map +1 -0
  2127. package/dist/src/ui/hooks/useCompletion.d.ts +24 -0
  2128. package/dist/src/ui/hooks/useCompletion.js +88 -0
  2129. package/dist/src/ui/hooks/useCompletion.js.map +1 -0
  2130. package/dist/src/ui/hooks/useConfigInitMessage.d.ts +6 -0
  2131. package/dist/src/ui/hooks/useConfigInitMessage.js +45 -0
  2132. package/dist/src/ui/hooks/useConfigInitMessage.js.map +1 -0
  2133. package/dist/src/ui/hooks/useConfigInitMessage.test.d.ts +6 -0
  2134. package/dist/src/ui/hooks/useConfigInitMessage.test.js +80 -0
  2135. package/dist/src/ui/hooks/useConfigInitMessage.test.js.map +1 -0
  2136. package/dist/src/ui/hooks/useContextualTips.d.ts +19 -0
  2137. package/dist/src/ui/hooks/useContextualTips.js +65 -0
  2138. package/dist/src/ui/hooks/useContextualTips.js.map +1 -0
  2139. package/dist/src/ui/hooks/useDeleteCommand.d.ts +19 -0
  2140. package/dist/src/ui/hooks/useDeleteCommand.js +167 -0
  2141. package/dist/src/ui/hooks/useDeleteCommand.js.map +1 -0
  2142. package/dist/src/ui/hooks/useDeleteCommand.test.d.ts +6 -0
  2143. package/dist/src/ui/hooks/useDeleteCommand.test.js +391 -0
  2144. package/dist/src/ui/hooks/useDeleteCommand.test.js.map +1 -0
  2145. package/dist/src/ui/hooks/useDialogClose.d.ts +48 -0
  2146. package/dist/src/ui/hooks/useDialogClose.js +102 -0
  2147. package/dist/src/ui/hooks/useDialogClose.js.map +1 -0
  2148. package/dist/src/ui/hooks/useDiffData.d.ts +32 -0
  2149. package/dist/src/ui/hooks/useDiffData.js +72 -0
  2150. package/dist/src/ui/hooks/useDiffData.js.map +1 -0
  2151. package/dist/src/ui/hooks/useDoublePress.d.ts +18 -0
  2152. package/dist/src/ui/hooks/useDoublePress.js +47 -0
  2153. package/dist/src/ui/hooks/useDoublePress.js.map +1 -0
  2154. package/dist/src/ui/hooks/useEditorSettings.d.ts +16 -0
  2155. package/dist/src/ui/hooks/useEditorSettings.js +43 -0
  2156. package/dist/src/ui/hooks/useEditorSettings.js.map +1 -0
  2157. package/dist/src/ui/hooks/useEditorSettings.test.d.ts +6 -0
  2158. package/dist/src/ui/hooks/useEditorSettings.test.js +164 -0
  2159. package/dist/src/ui/hooks/useEditorSettings.test.js.map +1 -0
  2160. package/dist/src/ui/hooks/useExportCompletion.d.ts +70 -0
  2161. package/dist/src/ui/hooks/useExportCompletion.js +208 -0
  2162. package/dist/src/ui/hooks/useExportCompletion.js.map +1 -0
  2163. package/dist/src/ui/hooks/useExportCompletion.test.d.ts +6 -0
  2164. package/dist/src/ui/hooks/useExportCompletion.test.js +190 -0
  2165. package/dist/src/ui/hooks/useExportCompletion.test.js.map +1 -0
  2166. package/dist/src/ui/hooks/useExtensionUpdates.d.ts +71 -0
  2167. package/dist/src/ui/hooks/useExtensionUpdates.js +229 -0
  2168. package/dist/src/ui/hooks/useExtensionUpdates.js.map +1 -0
  2169. package/dist/src/ui/hooks/useExtensionUpdates.test.d.ts +6 -0
  2170. package/dist/src/ui/hooks/useExtensionUpdates.test.js +455 -0
  2171. package/dist/src/ui/hooks/useExtensionUpdates.test.js.map +1 -0
  2172. package/dist/src/ui/hooks/useExtensionsManagerDialog.d.ts +12 -0
  2173. package/dist/src/ui/hooks/useExtensionsManagerDialog.js +21 -0
  2174. package/dist/src/ui/hooks/useExtensionsManagerDialog.js.map +1 -0
  2175. package/dist/src/ui/hooks/useFeedbackDialog.d.ts +18 -0
  2176. package/dist/src/ui/hooks/useFeedbackDialog.js +130 -0
  2177. package/dist/src/ui/hooks/useFeedbackDialog.js.map +1 -0
  2178. package/dist/src/ui/hooks/useFocus.d.ts +10 -0
  2179. package/dist/src/ui/hooks/useFocus.js +51 -0
  2180. package/dist/src/ui/hooks/useFocus.js.map +1 -0
  2181. package/dist/src/ui/hooks/useFolderTrust.d.ts +13 -0
  2182. package/dist/src/ui/hooks/useFolderTrust.js +60 -0
  2183. package/dist/src/ui/hooks/useFolderTrust.js.map +1 -0
  2184. package/dist/src/ui/hooks/useFollowupSuggestions.d.ts +53 -0
  2185. package/dist/src/ui/hooks/useFollowupSuggestions.js +89 -0
  2186. package/dist/src/ui/hooks/useFollowupSuggestions.js.map +1 -0
  2187. package/dist/src/ui/hooks/useGeminiStream.d.ts +76 -0
  2188. package/dist/src/ui/hooks/useGeminiStream.js +1899 -0
  2189. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -0
  2190. package/dist/src/ui/hooks/useGitBranchName.d.ts +6 -0
  2191. package/dist/src/ui/hooks/useGitBranchName.js +61 -0
  2192. package/dist/src/ui/hooks/useGitBranchName.js.map +1 -0
  2193. package/dist/src/ui/hooks/useGitBranchName.test.d.ts +6 -0
  2194. package/dist/src/ui/hooks/useGitBranchName.test.js +192 -0
  2195. package/dist/src/ui/hooks/useGitBranchName.test.js.map +1 -0
  2196. package/dist/src/ui/hooks/useHistoryManager.d.ts +24 -0
  2197. package/dist/src/ui/hooks/useHistoryManager.js +183 -0
  2198. package/dist/src/ui/hooks/useHistoryManager.js.map +1 -0
  2199. package/dist/src/ui/hooks/useHistoryManager.test.d.ts +6 -0
  2200. package/dist/src/ui/hooks/useHistoryManager.test.js +495 -0
  2201. package/dist/src/ui/hooks/useHistoryManager.test.js.map +1 -0
  2202. package/dist/src/ui/hooks/useHooksDialog.d.ts +11 -0
  2203. package/dist/src/ui/hooks/useHooksDialog.js +21 -0
  2204. package/dist/src/ui/hooks/useHooksDialog.js.map +1 -0
  2205. package/dist/src/ui/hooks/useIdeTrustListener.d.ts +16 -0
  2206. package/dist/src/ui/hooks/useIdeTrustListener.js +65 -0
  2207. package/dist/src/ui/hooks/useIdeTrustListener.js.map +1 -0
  2208. package/dist/src/ui/hooks/useIdeTrustListener.test.d.ts +6 -0
  2209. package/dist/src/ui/hooks/useIdeTrustListener.test.js +183 -0
  2210. package/dist/src/ui/hooks/useIdeTrustListener.test.js.map +1 -0
  2211. package/dist/src/ui/hooks/useInitializationAuthError.d.ts +22 -0
  2212. package/dist/src/ui/hooks/useInitializationAuthError.js +40 -0
  2213. package/dist/src/ui/hooks/useInitializationAuthError.js.map +1 -0
  2214. package/dist/src/ui/hooks/useInputHistory.d.ts +20 -0
  2215. package/dist/src/ui/hooks/useInputHistory.js +85 -0
  2216. package/dist/src/ui/hooks/useInputHistory.js.map +1 -0
  2217. package/dist/src/ui/hooks/useInputHistory.test.d.ts +6 -0
  2218. package/dist/src/ui/hooks/useInputHistory.test.js +207 -0
  2219. package/dist/src/ui/hooks/useInputHistory.test.js.map +1 -0
  2220. package/dist/src/ui/hooks/useInputHistoryStore.d.ts +19 -0
  2221. package/dist/src/ui/hooks/useInputHistoryStore.js +83 -0
  2222. package/dist/src/ui/hooks/useInputHistoryStore.js.map +1 -0
  2223. package/dist/src/ui/hooks/useInputHistoryStore.test.d.ts +6 -0
  2224. package/dist/src/ui/hooks/useInputHistoryStore.test.js +231 -0
  2225. package/dist/src/ui/hooks/useInputHistoryStore.test.js.map +1 -0
  2226. package/dist/src/ui/hooks/useKeypress.d.ts +17 -0
  2227. package/dist/src/ui/hooks/useKeypress.js +27 -0
  2228. package/dist/src/ui/hooks/useKeypress.js.map +1 -0
  2229. package/dist/src/ui/hooks/useKittyKeyboardProtocol.d.ts +15 -0
  2230. package/dist/src/ui/hooks/useKittyKeyboardProtocol.js +20 -0
  2231. package/dist/src/ui/hooks/useKittyKeyboardProtocol.js.map +1 -0
  2232. package/dist/src/ui/hooks/useLaunchEditor.d.ts +5 -0
  2233. package/dist/src/ui/hooks/useLaunchEditor.js +75 -0
  2234. package/dist/src/ui/hooks/useLaunchEditor.js.map +1 -0
  2235. package/dist/src/ui/hooks/useLoadingIndicator.d.ts +11 -0
  2236. package/dist/src/ui/hooks/useLoadingIndicator.js +50 -0
  2237. package/dist/src/ui/hooks/useLoadingIndicator.js.map +1 -0
  2238. package/dist/src/ui/hooks/useLoadingIndicator.test.d.ts +6 -0
  2239. package/dist/src/ui/hooks/useLoadingIndicator.test.js +172 -0
  2240. package/dist/src/ui/hooks/useLoadingIndicator.test.js.map +1 -0
  2241. package/dist/src/ui/hooks/useLogger.d.ts +11 -0
  2242. package/dist/src/ui/hooks/useLogger.js +32 -0
  2243. package/dist/src/ui/hooks/useLogger.js.map +1 -0
  2244. package/dist/src/ui/hooks/useMCPHealth.d.ts +16 -0
  2245. package/dist/src/ui/hooks/useMCPHealth.js +56 -0
  2246. package/dist/src/ui/hooks/useMCPHealth.js.map +1 -0
  2247. package/dist/src/ui/hooks/useMcpDialog.d.ts +11 -0
  2248. package/dist/src/ui/hooks/useMcpDialog.js +21 -0
  2249. package/dist/src/ui/hooks/useMcpDialog.js.map +1 -0
  2250. package/dist/src/ui/hooks/useMemoryDialog.d.ts +11 -0
  2251. package/dist/src/ui/hooks/useMemoryDialog.js +21 -0
  2252. package/dist/src/ui/hooks/useMemoryDialog.js.map +1 -0
  2253. package/dist/src/ui/hooks/useMemoryMonitor.d.ts +17 -0
  2254. package/dist/src/ui/hooks/useMemoryMonitor.js +83 -0
  2255. package/dist/src/ui/hooks/useMemoryMonitor.js.map +1 -0
  2256. package/dist/src/ui/hooks/useMemoryMonitor.test.d.ts +6 -0
  2257. package/dist/src/ui/hooks/useMemoryMonitor.test.js +153 -0
  2258. package/dist/src/ui/hooks/useMemoryMonitor.test.js.map +1 -0
  2259. package/dist/src/ui/hooks/useMessageQueue.d.ts +18 -0
  2260. package/dist/src/ui/hooks/useMessageQueue.js +67 -0
  2261. package/dist/src/ui/hooks/useMessageQueue.js.map +1 -0
  2262. package/dist/src/ui/hooks/useMessageQueue.test.d.ts +6 -0
  2263. package/dist/src/ui/hooks/useMessageQueue.test.js +219 -0
  2264. package/dist/src/ui/hooks/useMessageQueue.test.js.map +1 -0
  2265. package/dist/src/ui/hooks/useModelCommand.d.ts +15 -0
  2266. package/dist/src/ui/hooks/useModelCommand.js +25 -0
  2267. package/dist/src/ui/hooks/useModelCommand.js.map +1 -0
  2268. package/dist/src/ui/hooks/useModelCommand.test.d.ts +6 -0
  2269. package/dist/src/ui/hooks/useModelCommand.test.js +35 -0
  2270. package/dist/src/ui/hooks/useModelCommand.test.js.map +1 -0
  2271. package/dist/src/ui/hooks/useMouseEvents.d.ts +44 -0
  2272. package/dist/src/ui/hooks/useMouseEvents.js +85 -0
  2273. package/dist/src/ui/hooks/useMouseEvents.js.map +1 -0
  2274. package/dist/src/ui/hooks/usePhraseCycler.d.ts +14 -0
  2275. package/dist/src/ui/hooks/usePhraseCycler.js +70 -0
  2276. package/dist/src/ui/hooks/usePhraseCycler.js.map +1 -0
  2277. package/dist/src/ui/hooks/usePreferredEditor.d.ts +7 -0
  2278. package/dist/src/ui/hooks/usePreferredEditor.js +25 -0
  2279. package/dist/src/ui/hooks/usePreferredEditor.js.map +1 -0
  2280. package/dist/src/ui/hooks/useProviderUpdates.d.ts +33 -0
  2281. package/dist/src/ui/hooks/useProviderUpdates.js +215 -0
  2282. package/dist/src/ui/hooks/useProviderUpdates.js.map +1 -0
  2283. package/dist/src/ui/hooks/useProviderUpdates.test.d.ts +6 -0
  2284. package/dist/src/ui/hooks/useProviderUpdates.test.js +293 -0
  2285. package/dist/src/ui/hooks/useProviderUpdates.test.js.map +1 -0
  2286. package/dist/src/ui/hooks/useQwenAuth.d.ts +20 -0
  2287. package/dist/src/ui/hooks/useQwenAuth.js +74 -0
  2288. package/dist/src/ui/hooks/useQwenAuth.js.map +1 -0
  2289. package/dist/src/ui/hooks/useQwenAuth.test.d.ts +6 -0
  2290. package/dist/src/ui/hooks/useQwenAuth.test.js +266 -0
  2291. package/dist/src/ui/hooks/useQwenAuth.test.js.map +1 -0
  2292. package/dist/src/ui/hooks/useReactToolScheduler.d.ts +33 -0
  2293. package/dist/src/ui/hooks/useReactToolScheduler.js +236 -0
  2294. package/dist/src/ui/hooks/useReactToolScheduler.js.map +1 -0
  2295. package/dist/src/ui/hooks/useRefreshMemoryCommand.d.ts +6 -0
  2296. package/dist/src/ui/hooks/useRefreshMemoryCommand.js +7 -0
  2297. package/dist/src/ui/hooks/useRefreshMemoryCommand.js.map +1 -0
  2298. package/dist/src/ui/hooks/useResumeCommand.d.ts +31 -0
  2299. package/dist/src/ui/hooks/useResumeCommand.js +114 -0
  2300. package/dist/src/ui/hooks/useResumeCommand.js.map +1 -0
  2301. package/dist/src/ui/hooks/useResumeCommand.test.d.ts +6 -0
  2302. package/dist/src/ui/hooks/useResumeCommand.test.js +349 -0
  2303. package/dist/src/ui/hooks/useResumeCommand.test.js.map +1 -0
  2304. package/dist/src/ui/hooks/useReverseSearchCompletion.d.ts +19 -0
  2305. package/dist/src/ui/hooks/useReverseSearchCompletion.js +103 -0
  2306. package/dist/src/ui/hooks/useReverseSearchCompletion.js.map +1 -0
  2307. package/dist/src/ui/hooks/useReverseSearchCompletion.test.d.ts +6 -0
  2308. package/dist/src/ui/hooks/useReverseSearchCompletion.test.js +163 -0
  2309. package/dist/src/ui/hooks/useReverseSearchCompletion.test.js.map +1 -0
  2310. package/dist/src/ui/hooks/useSelectionList.d.ts +41 -0
  2311. package/dist/src/ui/hooks/useSelectionList.js +276 -0
  2312. package/dist/src/ui/hooks/useSelectionList.js.map +1 -0
  2313. package/dist/src/ui/hooks/useSelectionList.test.d.ts +6 -0
  2314. package/dist/src/ui/hooks/useSelectionList.test.js +782 -0
  2315. package/dist/src/ui/hooks/useSelectionList.test.js.map +1 -0
  2316. package/dist/src/ui/hooks/useSessionPicker.d.ts +95 -0
  2317. package/dist/src/ui/hooks/useSessionPicker.js +383 -0
  2318. package/dist/src/ui/hooks/useSessionPicker.js.map +1 -0
  2319. package/dist/src/ui/hooks/useSessionPicker.test.d.ts +6 -0
  2320. package/dist/src/ui/hooks/useSessionPicker.test.js +94 -0
  2321. package/dist/src/ui/hooks/useSessionPicker.test.js.map +1 -0
  2322. package/dist/src/ui/hooks/useSessionSearchInput.d.ts +69 -0
  2323. package/dist/src/ui/hooks/useSessionSearchInput.js +124 -0
  2324. package/dist/src/ui/hooks/useSessionSearchInput.js.map +1 -0
  2325. package/dist/src/ui/hooks/useSessionSearchInput.test.d.ts +6 -0
  2326. package/dist/src/ui/hooks/useSessionSearchInput.test.js +342 -0
  2327. package/dist/src/ui/hooks/useSessionSearchInput.test.js.map +1 -0
  2328. package/dist/src/ui/hooks/useSettingsCommand.d.ts +10 -0
  2329. package/dist/src/ui/hooks/useSettingsCommand.js +21 -0
  2330. package/dist/src/ui/hooks/useSettingsCommand.js.map +1 -0
  2331. package/dist/src/ui/hooks/useShellHistory.d.ts +14 -0
  2332. package/dist/src/ui/hooks/useShellHistory.js +112 -0
  2333. package/dist/src/ui/hooks/useShellHistory.js.map +1 -0
  2334. package/dist/src/ui/hooks/useShellHistory.test.d.ts +6 -0
  2335. package/dist/src/ui/hooks/useShellHistory.test.js +193 -0
  2336. package/dist/src/ui/hooks/useShellHistory.test.js.map +1 -0
  2337. package/dist/src/ui/hooks/useShowMemoryCommand.d.ts +9 -0
  2338. package/dist/src/ui/hooks/useShowMemoryCommand.js +55 -0
  2339. package/dist/src/ui/hooks/useShowMemoryCommand.js.map +1 -0
  2340. package/dist/src/ui/hooks/useSkillsManagerDialog.d.ts +11 -0
  2341. package/dist/src/ui/hooks/useSkillsManagerDialog.js +21 -0
  2342. package/dist/src/ui/hooks/useSkillsManagerDialog.js.map +1 -0
  2343. package/dist/src/ui/hooks/useSlashCompletion.d.ts +27 -0
  2344. package/dist/src/ui/hooks/useSlashCompletion.integration.test.d.ts +6 -0
  2345. package/dist/src/ui/hooks/useSlashCompletion.integration.test.js +84 -0
  2346. package/dist/src/ui/hooks/useSlashCompletion.integration.test.js.map +1 -0
  2347. package/dist/src/ui/hooks/useSlashCompletion.js +490 -0
  2348. package/dist/src/ui/hooks/useSlashCompletion.js.map +1 -0
  2349. package/dist/src/ui/hooks/useSlashCompletion.test.d.ts +9 -0
  2350. package/dist/src/ui/hooks/useSlashCompletion.test.js +805 -0
  2351. package/dist/src/ui/hooks/useSlashCompletion.test.js.map +1 -0
  2352. package/dist/src/ui/hooks/useStateAndRef.d.ts +7 -0
  2353. package/dist/src/ui/hooks/useStateAndRef.js +26 -0
  2354. package/dist/src/ui/hooks/useStateAndRef.js.map +1 -0
  2355. package/dist/src/ui/hooks/useStatsDialog.d.ts +11 -0
  2356. package/dist/src/ui/hooks/useStatsDialog.js +13 -0
  2357. package/dist/src/ui/hooks/useStatsDialog.js.map +1 -0
  2358. package/dist/src/ui/hooks/useStatusLine.d.ts +84 -0
  2359. package/dist/src/ui/hooks/useStatusLine.js +528 -0
  2360. package/dist/src/ui/hooks/useStatusLine.js.map +1 -0
  2361. package/dist/src/ui/hooks/useStatusLine.test.d.ts +6 -0
  2362. package/dist/src/ui/hooks/useStatusLine.test.js +1039 -0
  2363. package/dist/src/ui/hooks/useStatusLine.test.js.map +1 -0
  2364. package/dist/src/ui/hooks/useSubagentCreateDialog.d.ts +10 -0
  2365. package/dist/src/ui/hooks/useSubagentCreateDialog.js +21 -0
  2366. package/dist/src/ui/hooks/useSubagentCreateDialog.js.map +1 -0
  2367. package/dist/src/ui/hooks/useTerminalNotification.d.ts +32 -0
  2368. package/dist/src/ui/hooks/useTerminalNotification.js +45 -0
  2369. package/dist/src/ui/hooks/useTerminalNotification.js.map +1 -0
  2370. package/dist/src/ui/hooks/useTerminalNotification.test.d.ts +6 -0
  2371. package/dist/src/ui/hooks/useTerminalNotification.test.js +69 -0
  2372. package/dist/src/ui/hooks/useTerminalNotification.test.js.map +1 -0
  2373. package/dist/src/ui/hooks/useTerminalProgress.d.ts +12 -0
  2374. package/dist/src/ui/hooks/useTerminalProgress.js +76 -0
  2375. package/dist/src/ui/hooks/useTerminalProgress.js.map +1 -0
  2376. package/dist/src/ui/hooks/useTerminalSize.d.ts +13 -0
  2377. package/dist/src/ui/hooks/useTerminalSize.js +30 -0
  2378. package/dist/src/ui/hooks/useTerminalSize.js.map +1 -0
  2379. package/dist/src/ui/hooks/useThemeCommand.d.ts +15 -0
  2380. package/dist/src/ui/hooks/useThemeCommand.js +85 -0
  2381. package/dist/src/ui/hooks/useThemeCommand.js.map +1 -0
  2382. package/dist/src/ui/hooks/useThemeCommand.test.d.ts +6 -0
  2383. package/dist/src/ui/hooks/useThemeCommand.test.js +42 -0
  2384. package/dist/src/ui/hooks/useThemeCommand.test.js.map +1 -0
  2385. package/dist/src/ui/hooks/useTimer.d.ts +12 -0
  2386. package/dist/src/ui/hooks/useTimer.js +58 -0
  2387. package/dist/src/ui/hooks/useTimer.js.map +1 -0
  2388. package/dist/src/ui/hooks/useTimer.test.d.ts +6 -0
  2389. package/dist/src/ui/hooks/useTimer.test.js +90 -0
  2390. package/dist/src/ui/hooks/useTimer.test.js.map +1 -0
  2391. package/dist/src/ui/hooks/useTomlMigration.d.ts +1 -0
  2392. package/dist/src/ui/hooks/useTomlMigration.js +2 -0
  2393. package/dist/src/ui/hooks/useTomlMigration.js.map +1 -0
  2394. package/dist/src/ui/hooks/useToolScheduler.test.d.ts +6 -0
  2395. package/dist/src/ui/hooks/useToolScheduler.test.js +624 -0
  2396. package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -0
  2397. package/dist/src/ui/hooks/useTrustModify.d.ts +17 -0
  2398. package/dist/src/ui/hooks/useTrustModify.js +78 -0
  2399. package/dist/src/ui/hooks/useTrustModify.js.map +1 -0
  2400. package/dist/src/ui/hooks/useTrustModify.test.d.ts +6 -0
  2401. package/dist/src/ui/hooks/useTrustModify.test.js +182 -0
  2402. package/dist/src/ui/hooks/useTrustModify.test.js.map +1 -0
  2403. package/dist/src/ui/hooks/useTurnDiffs.d.ts +34 -0
  2404. package/dist/src/ui/hooks/useTurnDiffs.js +130 -0
  2405. package/dist/src/ui/hooks/useTurnDiffs.js.map +1 -0
  2406. package/dist/src/ui/hooks/useTurnDiffs.test.d.ts +6 -0
  2407. package/dist/src/ui/hooks/useTurnDiffs.test.js +164 -0
  2408. package/dist/src/ui/hooks/useTurnDiffs.test.js.map +1 -0
  2409. package/dist/src/ui/hooks/useWelcomeBack.d.ts +23 -0
  2410. package/dist/src/ui/hooks/useWelcomeBack.js +99 -0
  2411. package/dist/src/ui/hooks/useWelcomeBack.js.map +1 -0
  2412. package/dist/src/ui/hooks/useWelcomeBack.test.d.ts +6 -0
  2413. package/dist/src/ui/hooks/useWelcomeBack.test.js +94 -0
  2414. package/dist/src/ui/hooks/useWelcomeBack.test.js.map +1 -0
  2415. package/dist/src/ui/hooks/useWorktreeSession.d.ts +26 -0
  2416. package/dist/src/ui/hooks/useWorktreeSession.js +92 -0
  2417. package/dist/src/ui/hooks/useWorktreeSession.js.map +1 -0
  2418. package/dist/src/ui/hooks/useWorktreeSession.test.d.ts +6 -0
  2419. package/dist/src/ui/hooks/useWorktreeSession.test.js +84 -0
  2420. package/dist/src/ui/hooks/useWorktreeSession.test.js.map +1 -0
  2421. package/dist/src/ui/hooks/vim.d.ts +13 -0
  2422. package/dist/src/ui/hooks/vim.js +1637 -0
  2423. package/dist/src/ui/hooks/vim.js.map +1 -0
  2424. package/dist/src/ui/hooks/vim.test.d.ts +6 -0
  2425. package/dist/src/ui/hooks/vim.test.js +1975 -0
  2426. package/dist/src/ui/hooks/vim.test.js.map +1 -0
  2427. package/dist/src/ui/keyMatchers.d.ts +27 -0
  2428. package/dist/src/ui/keyMatchers.js +71 -0
  2429. package/dist/src/ui/keyMatchers.js.map +1 -0
  2430. package/dist/src/ui/keyMatchers.test.d.ts +6 -0
  2431. package/dist/src/ui/keyMatchers.test.js +421 -0
  2432. package/dist/src/ui/keyMatchers.test.js.map +1 -0
  2433. package/dist/src/ui/layouts/DefaultAppLayout.d.ts +7 -0
  2434. package/dist/src/ui/layouts/DefaultAppLayout.js +49 -0
  2435. package/dist/src/ui/layouts/DefaultAppLayout.js.map +1 -0
  2436. package/dist/src/ui/layouts/DefaultAppLayout.test.d.ts +6 -0
  2437. package/dist/src/ui/layouts/DefaultAppLayout.test.js +185 -0
  2438. package/dist/src/ui/layouts/DefaultAppLayout.test.js.map +1 -0
  2439. package/dist/src/ui/layouts/ScreenReaderAppLayout.d.ts +7 -0
  2440. package/dist/src/ui/layouts/ScreenReaderAppLayout.js +27 -0
  2441. package/dist/src/ui/layouts/ScreenReaderAppLayout.js.map +1 -0
  2442. package/dist/src/ui/layouts/ScreenReaderAppLayout.test.d.ts +6 -0
  2443. package/dist/src/ui/layouts/ScreenReaderAppLayout.test.js +135 -0
  2444. package/dist/src/ui/layouts/ScreenReaderAppLayout.test.js.map +1 -0
  2445. package/dist/src/ui/models/availableModels.d.ts +30 -0
  2446. package/dist/src/ui/models/availableModels.js +103 -0
  2447. package/dist/src/ui/models/availableModels.js.map +1 -0
  2448. package/dist/src/ui/models/availableModels.test.d.ts +6 -0
  2449. package/dist/src/ui/models/availableModels.test.js +142 -0
  2450. package/dist/src/ui/models/availableModels.test.js.map +1 -0
  2451. package/dist/src/ui/noninteractive/nonInteractiveUi.d.ts +12 -0
  2452. package/dist/src/ui/noninteractive/nonInteractiveUi.js +33 -0
  2453. package/dist/src/ui/noninteractive/nonInteractiveUi.js.map +1 -0
  2454. package/dist/src/ui/semantic-colors.d.ts +7 -0
  2455. package/dist/src/ui/semantic-colors.js +24 -0
  2456. package/dist/src/ui/semantic-colors.js.map +1 -0
  2457. package/dist/src/ui/state/extensions.d.ts +43 -0
  2458. package/dist/src/ui/state/extensions.js +63 -0
  2459. package/dist/src/ui/state/extensions.js.map +1 -0
  2460. package/dist/src/ui/statusLinePresets.d.ts +79 -0
  2461. package/dist/src/ui/statusLinePresets.js +310 -0
  2462. package/dist/src/ui/statusLinePresets.js.map +1 -0
  2463. package/dist/src/ui/statusLinePresets.test.d.ts +6 -0
  2464. package/dist/src/ui/statusLinePresets.test.js +221 -0
  2465. package/dist/src/ui/statusLinePresets.test.js.map +1 -0
  2466. package/dist/src/ui/textConstants.d.ts +9 -0
  2467. package/dist/src/ui/textConstants.js +10 -0
  2468. package/dist/src/ui/textConstants.js.map +1 -0
  2469. package/dist/src/ui/themes/ansi-light.d.ts +7 -0
  2470. package/dist/src/ui/themes/ansi-light.js +144 -0
  2471. package/dist/src/ui/themes/ansi-light.js.map +1 -0
  2472. package/dist/src/ui/themes/ansi.d.ts +7 -0
  2473. package/dist/src/ui/themes/ansi.js +154 -0
  2474. package/dist/src/ui/themes/ansi.js.map +1 -0
  2475. package/dist/src/ui/themes/atom-one-dark.d.ts +7 -0
  2476. package/dist/src/ui/themes/atom-one-dark.js +140 -0
  2477. package/dist/src/ui/themes/atom-one-dark.js.map +1 -0
  2478. package/dist/src/ui/themes/ayu-light.d.ts +7 -0
  2479. package/dist/src/ui/themes/ayu-light.js +132 -0
  2480. package/dist/src/ui/themes/ayu-light.js.map +1 -0
  2481. package/dist/src/ui/themes/ayu.d.ts +7 -0
  2482. package/dist/src/ui/themes/ayu.js +106 -0
  2483. package/dist/src/ui/themes/ayu.js.map +1 -0
  2484. package/dist/src/ui/themes/color-utils.d.ts +21 -0
  2485. package/dist/src/ui/themes/color-utils.js +223 -0
  2486. package/dist/src/ui/themes/color-utils.js.map +1 -0
  2487. package/dist/src/ui/themes/color-utils.test.d.ts +6 -0
  2488. package/dist/src/ui/themes/color-utils.test.js +197 -0
  2489. package/dist/src/ui/themes/color-utils.test.js.map +1 -0
  2490. package/dist/src/ui/themes/default-light.d.ts +7 -0
  2491. package/dist/src/ui/themes/default-light.js +100 -0
  2492. package/dist/src/ui/themes/default-light.js.map +1 -0
  2493. package/dist/src/ui/themes/default.d.ts +7 -0
  2494. package/dist/src/ui/themes/default.js +143 -0
  2495. package/dist/src/ui/themes/default.js.map +1 -0
  2496. package/dist/src/ui/themes/detect-terminal-theme.d.ts +75 -0
  2497. package/dist/src/ui/themes/detect-terminal-theme.js +228 -0
  2498. package/dist/src/ui/themes/detect-terminal-theme.js.map +1 -0
  2499. package/dist/src/ui/themes/detect-terminal-theme.test.d.ts +6 -0
  2500. package/dist/src/ui/themes/detect-terminal-theme.test.js +269 -0
  2501. package/dist/src/ui/themes/detect-terminal-theme.test.js.map +1 -0
  2502. package/dist/src/ui/themes/dracula.d.ts +7 -0
  2503. package/dist/src/ui/themes/dracula.js +117 -0
  2504. package/dist/src/ui/themes/dracula.js.map +1 -0
  2505. package/dist/src/ui/themes/github-dark.d.ts +7 -0
  2506. package/dist/src/ui/themes/github-dark.js +140 -0
  2507. package/dist/src/ui/themes/github-dark.js.map +1 -0
  2508. package/dist/src/ui/themes/github-light.d.ts +7 -0
  2509. package/dist/src/ui/themes/github-light.js +142 -0
  2510. package/dist/src/ui/themes/github-light.js.map +1 -0
  2511. package/dist/src/ui/themes/googlecode.d.ts +7 -0
  2512. package/dist/src/ui/themes/googlecode.js +139 -0
  2513. package/dist/src/ui/themes/googlecode.js.map +1 -0
  2514. package/dist/src/ui/themes/no-color.d.ts +7 -0
  2515. package/dist/src/ui/themes/no-color.js +120 -0
  2516. package/dist/src/ui/themes/no-color.js.map +1 -0
  2517. package/dist/src/ui/themes/qwen-dark.d.ts +7 -0
  2518. package/dist/src/ui/themes/qwen-dark.js +107 -0
  2519. package/dist/src/ui/themes/qwen-dark.js.map +1 -0
  2520. package/dist/src/ui/themes/qwen-light.d.ts +7 -0
  2521. package/dist/src/ui/themes/qwen-light.js +133 -0
  2522. package/dist/src/ui/themes/qwen-light.js.map +1 -0
  2523. package/dist/src/ui/themes/semantic-tokens.d.ts +40 -0
  2524. package/dist/src/ui/themes/semantic-tokens.js +103 -0
  2525. package/dist/src/ui/themes/semantic-tokens.js.map +1 -0
  2526. package/dist/src/ui/themes/shades-of-purple.d.ts +11 -0
  2527. package/dist/src/ui/themes/shades-of-purple.js +306 -0
  2528. package/dist/src/ui/themes/shades-of-purple.js.map +1 -0
  2529. package/dist/src/ui/themes/theme-manager.d.ts +91 -0
  2530. package/dist/src/ui/themes/theme-manager.js +311 -0
  2531. package/dist/src/ui/themes/theme-manager.js.map +1 -0
  2532. package/dist/src/ui/themes/theme-manager.test.d.ts +6 -0
  2533. package/dist/src/ui/themes/theme-manager.test.js +188 -0
  2534. package/dist/src/ui/themes/theme-manager.test.js.map +1 -0
  2535. package/dist/src/ui/themes/theme.d.ts +137 -0
  2536. package/dist/src/ui/themes/theme.js +393 -0
  2537. package/dist/src/ui/themes/theme.js.map +1 -0
  2538. package/dist/src/ui/themes/xcode.d.ts +7 -0
  2539. package/dist/src/ui/themes/xcode.js +147 -0
  2540. package/dist/src/ui/themes/xcode.js.map +1 -0
  2541. package/dist/src/ui/types.d.ts +620 -0
  2542. package/dist/src/ui/types.js +77 -0
  2543. package/dist/src/ui/types.js.map +1 -0
  2544. package/dist/src/ui/utils/CodeColorizer.d.ts +18 -0
  2545. package/dist/src/ui/utils/CodeColorizer.js +155 -0
  2546. package/dist/src/ui/utils/CodeColorizer.js.map +1 -0
  2547. package/dist/src/ui/utils/InlineMarkdownRenderer.d.ts +18 -0
  2548. package/dist/src/ui/utils/InlineMarkdownRenderer.js +173 -0
  2549. package/dist/src/ui/utils/InlineMarkdownRenderer.js.map +1 -0
  2550. package/dist/src/ui/utils/InlineMarkdownRenderer.test.d.ts +6 -0
  2551. package/dist/src/ui/utils/InlineMarkdownRenderer.test.js +303 -0
  2552. package/dist/src/ui/utils/InlineMarkdownRenderer.test.js.map +1 -0
  2553. package/dist/src/ui/utils/MarkdownDisplay.d.ts +25 -0
  2554. package/dist/src/ui/utils/MarkdownDisplay.js +420 -0
  2555. package/dist/src/ui/utils/MarkdownDisplay.js.map +1 -0
  2556. package/dist/src/ui/utils/MarkdownDisplay.test.d.ts +6 -0
  2557. package/dist/src/ui/utils/MarkdownDisplay.test.js +702 -0
  2558. package/dist/src/ui/utils/MarkdownDisplay.test.js.map +1 -0
  2559. package/dist/src/ui/utils/MermaidDiagram.d.ts +15 -0
  2560. package/dist/src/ui/utils/MermaidDiagram.js +88 -0
  2561. package/dist/src/ui/utils/MermaidDiagram.js.map +1 -0
  2562. package/dist/src/ui/utils/MermaidDiagram.test.d.ts +6 -0
  2563. package/dist/src/ui/utils/MermaidDiagram.test.js +90 -0
  2564. package/dist/src/ui/utils/MermaidDiagram.test.js.map +1 -0
  2565. package/dist/src/ui/utils/TableRenderer.d.ts +30 -0
  2566. package/dist/src/ui/utils/TableRenderer.js +563 -0
  2567. package/dist/src/ui/utils/TableRenderer.js.map +1 -0
  2568. package/dist/src/ui/utils/TableRenderer.test.d.ts +6 -0
  2569. package/dist/src/ui/utils/TableRenderer.test.js +568 -0
  2570. package/dist/src/ui/utils/TableRenderer.test.js.map +1 -0
  2571. package/dist/src/ui/utils/approvalModeDisplay.d.ts +8 -0
  2572. package/dist/src/ui/utils/approvalModeDisplay.js +34 -0
  2573. package/dist/src/ui/utils/approvalModeDisplay.js.map +1 -0
  2574. package/dist/src/ui/utils/approvalModeDisplay.test.d.ts +6 -0
  2575. package/dist/src/ui/utils/approvalModeDisplay.test.js +35 -0
  2576. package/dist/src/ui/utils/approvalModeDisplay.test.js.map +1 -0
  2577. package/dist/src/ui/utils/asciiCharts.d.ts +44 -0
  2578. package/dist/src/ui/utils/asciiCharts.js +307 -0
  2579. package/dist/src/ui/utils/asciiCharts.js.map +1 -0
  2580. package/dist/src/ui/utils/asciiCharts.test.d.ts +6 -0
  2581. package/dist/src/ui/utils/asciiCharts.test.js +208 -0
  2582. package/dist/src/ui/utils/asciiCharts.test.js.map +1 -0
  2583. package/dist/src/ui/utils/backgroundWorkUtils.d.ts +8 -0
  2584. package/dist/src/ui/utils/backgroundWorkUtils.js +16 -0
  2585. package/dist/src/ui/utils/backgroundWorkUtils.js.map +1 -0
  2586. package/dist/src/ui/utils/backgroundWorkUtils.test.d.ts +6 -0
  2587. package/dist/src/ui/utils/backgroundWorkUtils.test.js +85 -0
  2588. package/dist/src/ui/utils/backgroundWorkUtils.test.js.map +1 -0
  2589. package/dist/src/ui/utils/clipboardUtils.d.ts +28 -0
  2590. package/dist/src/ui/utils/clipboardUtils.js +522 -0
  2591. package/dist/src/ui/utils/clipboardUtils.js.map +1 -0
  2592. package/dist/src/ui/utils/clipboardUtils.test.d.ts +6 -0
  2593. package/dist/src/ui/utils/clipboardUtils.test.js +465 -0
  2594. package/dist/src/ui/utils/clipboardUtils.test.js.map +1 -0
  2595. package/dist/src/ui/utils/commandUtils.d.ts +112 -0
  2596. package/dist/src/ui/utils/commandUtils.js +285 -0
  2597. package/dist/src/ui/utils/commandUtils.js.map +1 -0
  2598. package/dist/src/ui/utils/commandUtils.test.d.ts +6 -0
  2599. package/dist/src/ui/utils/commandUtils.test.js +560 -0
  2600. package/dist/src/ui/utils/commandUtils.test.js.map +1 -0
  2601. package/dist/src/ui/utils/computeStats.d.ts +10 -0
  2602. package/dist/src/ui/utils/computeStats.js +57 -0
  2603. package/dist/src/ui/utils/computeStats.js.map +1 -0
  2604. package/dist/src/ui/utils/customBanner.d.ts +35 -0
  2605. package/dist/src/ui/utils/customBanner.js +361 -0
  2606. package/dist/src/ui/utils/customBanner.js.map +1 -0
  2607. package/dist/src/ui/utils/customBanner.test.d.ts +6 -0
  2608. package/dist/src/ui/utils/customBanner.test.js +439 -0
  2609. package/dist/src/ui/utils/customBanner.test.js.map +1 -0
  2610. package/dist/src/ui/utils/displayUtils.d.ts +25 -0
  2611. package/dist/src/ui/utils/displayUtils.js +46 -0
  2612. package/dist/src/ui/utils/displayUtils.js.map +1 -0
  2613. package/dist/src/ui/utils/displayUtils.test.d.ts +6 -0
  2614. package/dist/src/ui/utils/displayUtils.test.js +61 -0
  2615. package/dist/src/ui/utils/displayUtils.test.js.map +1 -0
  2616. package/dist/src/ui/utils/export/collect.d.ts +16 -0
  2617. package/dist/src/ui/utils/export/collect.js +509 -0
  2618. package/dist/src/ui/utils/export/collect.js.map +1 -0
  2619. package/dist/src/ui/utils/export/collect.test.d.ts +6 -0
  2620. package/dist/src/ui/utils/export/collect.test.js +80 -0
  2621. package/dist/src/ui/utils/export/collect.test.js.map +1 -0
  2622. package/dist/src/ui/utils/export/formatters/html.d.ts +23 -0
  2623. package/dist/src/ui/utils/export/formatters/html.js +65 -0
  2624. package/dist/src/ui/utils/export/formatters/html.js.map +1 -0
  2625. package/dist/src/ui/utils/export/formatters/json.d.ts +11 -0
  2626. package/dist/src/ui/utils/export/formatters/json.js +13 -0
  2627. package/dist/src/ui/utils/export/formatters/json.js.map +1 -0
  2628. package/dist/src/ui/utils/export/formatters/jsonl.d.ts +11 -0
  2629. package/dist/src/ui/utils/export/formatters/jsonl.js +69 -0
  2630. package/dist/src/ui/utils/export/formatters/jsonl.js.map +1 -0
  2631. package/dist/src/ui/utils/export/formatters/markdown.d.ts +10 -0
  2632. package/dist/src/ui/utils/export/formatters/markdown.js +254 -0
  2633. package/dist/src/ui/utils/export/formatters/markdown.js.map +1 -0
  2634. package/dist/src/ui/utils/export/index.d.ts +13 -0
  2635. package/dist/src/ui/utils/export/index.js +13 -0
  2636. package/dist/src/ui/utils/export/index.js.map +1 -0
  2637. package/dist/src/ui/utils/export/normalize.d.ts +12 -0
  2638. package/dist/src/ui/utils/export/normalize.js +279 -0
  2639. package/dist/src/ui/utils/export/normalize.js.map +1 -0
  2640. package/dist/src/ui/utils/export/normalize.test.d.ts +6 -0
  2641. package/dist/src/ui/utils/export/normalize.test.js +62 -0
  2642. package/dist/src/ui/utils/export/normalize.test.js.map +1 -0
  2643. package/dist/src/ui/utils/export/types.d.ts +93 -0
  2644. package/dist/src/ui/utils/export/types.js +7 -0
  2645. package/dist/src/ui/utils/export/types.js.map +1 -0
  2646. package/dist/src/ui/utils/export/utils.d.ts +9 -0
  2647. package/dist/src/ui/utils/export/utils.js +13 -0
  2648. package/dist/src/ui/utils/export/utils.js.map +1 -0
  2649. package/dist/src/ui/utils/formatters.d.ts +28 -0
  2650. package/dist/src/ui/utils/formatters.js +100 -0
  2651. package/dist/src/ui/utils/formatters.js.map +1 -0
  2652. package/dist/src/ui/utils/formatters.test.d.ts +6 -0
  2653. package/dist/src/ui/utils/formatters.test.js +141 -0
  2654. package/dist/src/ui/utils/formatters.test.js.map +1 -0
  2655. package/dist/src/ui/utils/gradientUtils.d.ts +6 -0
  2656. package/dist/src/ui/utils/gradientUtils.js +11 -0
  2657. package/dist/src/ui/utils/gradientUtils.js.map +1 -0
  2658. package/dist/src/ui/utils/highlight.d.ts +12 -0
  2659. package/dist/src/ui/utils/highlight.js +90 -0
  2660. package/dist/src/ui/utils/highlight.js.map +1 -0
  2661. package/dist/src/ui/utils/highlight.test.d.ts +6 -0
  2662. package/dist/src/ui/utils/highlight.test.js +173 -0
  2663. package/dist/src/ui/utils/highlight.test.js.map +1 -0
  2664. package/dist/src/ui/utils/historyMapping.d.ts +44 -0
  2665. package/dist/src/ui/utils/historyMapping.js +110 -0
  2666. package/dist/src/ui/utils/historyMapping.js.map +1 -0
  2667. package/dist/src/ui/utils/historyMapping.test.d.ts +6 -0
  2668. package/dist/src/ui/utils/historyMapping.test.js +376 -0
  2669. package/dist/src/ui/utils/historyMapping.test.js.map +1 -0
  2670. package/dist/src/ui/utils/historyUtils.d.ts +34 -0
  2671. package/dist/src/ui/utils/historyUtils.js +117 -0
  2672. package/dist/src/ui/utils/historyUtils.js.map +1 -0
  2673. package/dist/src/ui/utils/historyUtils.test.d.ts +6 -0
  2674. package/dist/src/ui/utils/historyUtils.test.js +107 -0
  2675. package/dist/src/ui/utils/historyUtils.test.js.map +1 -0
  2676. package/dist/src/ui/utils/isNarrowWidth.d.ts +6 -0
  2677. package/dist/src/ui/utils/isNarrowWidth.js +9 -0
  2678. package/dist/src/ui/utils/isNarrowWidth.js.map +1 -0
  2679. package/dist/src/ui/utils/kittyProtocolDetector.d.ts +19 -0
  2680. package/dist/src/ui/utils/kittyProtocolDetector.js +115 -0
  2681. package/dist/src/ui/utils/kittyProtocolDetector.js.map +1 -0
  2682. package/dist/src/ui/utils/latexRenderer.d.ts +6 -0
  2683. package/dist/src/ui/utils/latexRenderer.js +187 -0
  2684. package/dist/src/ui/utils/latexRenderer.js.map +1 -0
  2685. package/dist/src/ui/utils/latexRenderer.test.d.ts +6 -0
  2686. package/dist/src/ui/utils/latexRenderer.test.js +27 -0
  2687. package/dist/src/ui/utils/latexRenderer.test.js.map +1 -0
  2688. package/dist/src/ui/utils/layoutUtils.d.ts +32 -0
  2689. package/dist/src/ui/utils/layoutUtils.js +46 -0
  2690. package/dist/src/ui/utils/layoutUtils.js.map +1 -0
  2691. package/dist/src/ui/utils/layoutUtils.test.d.ts +6 -0
  2692. package/dist/src/ui/utils/layoutUtils.test.js +30 -0
  2693. package/dist/src/ui/utils/layoutUtils.test.js.map +1 -0
  2694. package/dist/src/ui/utils/lowlightLoader.d.ts +43 -0
  2695. package/dist/src/ui/utils/lowlightLoader.js +88 -0
  2696. package/dist/src/ui/utils/lowlightLoader.js.map +1 -0
  2697. package/dist/src/ui/utils/lowlightLoader.test.d.ts +6 -0
  2698. package/dist/src/ui/utils/lowlightLoader.test.js +120 -0
  2699. package/dist/src/ui/utils/lowlightLoader.test.js.map +1 -0
  2700. package/dist/src/ui/utils/markdownUtilities.d.ts +6 -0
  2701. package/dist/src/ui/utils/markdownUtilities.js +110 -0
  2702. package/dist/src/ui/utils/markdownUtilities.js.map +1 -0
  2703. package/dist/src/ui/utils/markdownUtilities.test.d.ts +6 -0
  2704. package/dist/src/ui/utils/markdownUtilities.test.js +42 -0
  2705. package/dist/src/ui/utils/markdownUtilities.test.js.map +1 -0
  2706. package/dist/src/ui/utils/mergeCompactToolGroups.d.ts +62 -0
  2707. package/dist/src/ui/utils/mergeCompactToolGroups.js +212 -0
  2708. package/dist/src/ui/utils/mergeCompactToolGroups.js.map +1 -0
  2709. package/dist/src/ui/utils/mergeCompactToolGroups.test.d.ts +6 -0
  2710. package/dist/src/ui/utils/mergeCompactToolGroups.test.js +473 -0
  2711. package/dist/src/ui/utils/mergeCompactToolGroups.test.js.map +1 -0
  2712. package/dist/src/ui/utils/mermaidImageRenderer.d.ts +54 -0
  2713. package/dist/src/ui/utils/mermaidImageRenderer.js +955 -0
  2714. package/dist/src/ui/utils/mermaidImageRenderer.js.map +1 -0
  2715. package/dist/src/ui/utils/mermaidImageRenderer.test.d.ts +6 -0
  2716. package/dist/src/ui/utils/mermaidImageRenderer.test.js +528 -0
  2717. package/dist/src/ui/utils/mermaidImageRenderer.test.js.map +1 -0
  2718. package/dist/src/ui/utils/mermaidVisualRenderer.d.ts +12 -0
  2719. package/dist/src/ui/utils/mermaidVisualRenderer.js +1097 -0
  2720. package/dist/src/ui/utils/mermaidVisualRenderer.js.map +1 -0
  2721. package/dist/src/ui/utils/mermaidVisualRenderer.test.d.ts +6 -0
  2722. package/dist/src/ui/utils/mermaidVisualRenderer.test.js +69 -0
  2723. package/dist/src/ui/utils/mermaidVisualRenderer.test.js.map +1 -0
  2724. package/dist/src/ui/utils/modelsBySource.d.ts +47 -0
  2725. package/dist/src/ui/utils/modelsBySource.js +89 -0
  2726. package/dist/src/ui/utils/modelsBySource.js.map +1 -0
  2727. package/dist/src/ui/utils/modelsBySource.test.d.ts +6 -0
  2728. package/dist/src/ui/utils/modelsBySource.test.js +111 -0
  2729. package/dist/src/ui/utils/modelsBySource.test.js.map +1 -0
  2730. package/dist/src/ui/utils/mouse.d.ts +39 -0
  2731. package/dist/src/ui/utils/mouse.js +169 -0
  2732. package/dist/src/ui/utils/mouse.js.map +1 -0
  2733. package/dist/src/ui/utils/mouse.test.d.ts +6 -0
  2734. package/dist/src/ui/utils/mouse.test.js +117 -0
  2735. package/dist/src/ui/utils/mouse.test.js.map +1 -0
  2736. package/dist/src/ui/utils/osc8.d.ts +124 -0
  2737. package/dist/src/ui/utils/osc8.js +463 -0
  2738. package/dist/src/ui/utils/osc8.js.map +1 -0
  2739. package/dist/src/ui/utils/osc8.test.d.ts +6 -0
  2740. package/dist/src/ui/utils/osc8.test.js +494 -0
  2741. package/dist/src/ui/utils/osc8.test.js.map +1 -0
  2742. package/dist/src/ui/utils/platformConstants.d.ts +75 -0
  2743. package/dist/src/ui/utils/platformConstants.js +78 -0
  2744. package/dist/src/ui/utils/platformConstants.js.map +1 -0
  2745. package/dist/src/ui/utils/restoreGoal.d.ts +47 -0
  2746. package/dist/src/ui/utils/restoreGoal.js +124 -0
  2747. package/dist/src/ui/utils/restoreGoal.js.map +1 -0
  2748. package/dist/src/ui/utils/restoreGoal.test.d.ts +6 -0
  2749. package/dist/src/ui/utils/restoreGoal.test.js +220 -0
  2750. package/dist/src/ui/utils/restoreGoal.test.js.map +1 -0
  2751. package/dist/src/ui/utils/resumeHistoryUtils.d.ts +22 -0
  2752. package/dist/src/ui/utils/resumeHistoryUtils.js +410 -0
  2753. package/dist/src/ui/utils/resumeHistoryUtils.js.map +1 -0
  2754. package/dist/src/ui/utils/resumeHistoryUtils.test.d.ts +6 -0
  2755. package/dist/src/ui/utils/resumeHistoryUtils.test.js +378 -0
  2756. package/dist/src/ui/utils/resumeHistoryUtils.test.js.map +1 -0
  2757. package/dist/src/ui/utils/sessionPickerUtils.d.ts +35 -0
  2758. package/dist/src/ui/utils/sessionPickerUtils.js +69 -0
  2759. package/dist/src/ui/utils/sessionPickerUtils.js.map +1 -0
  2760. package/dist/src/ui/utils/sessionPickerUtils.test.d.ts +6 -0
  2761. package/dist/src/ui/utils/sessionPickerUtils.test.js +79 -0
  2762. package/dist/src/ui/utils/sessionPickerUtils.test.js.map +1 -0
  2763. package/dist/src/ui/utils/statsDataService.d.ts +49 -0
  2764. package/dist/src/ui/utils/statsDataService.js +221 -0
  2765. package/dist/src/ui/utils/statsDataService.js.map +1 -0
  2766. package/dist/src/ui/utils/statsDataService.test.d.ts +6 -0
  2767. package/dist/src/ui/utils/statsDataService.test.js +406 -0
  2768. package/dist/src/ui/utils/statsDataService.test.js.map +1 -0
  2769. package/dist/src/ui/utils/synchronizedOutput.d.ts +16 -0
  2770. package/dist/src/ui/utils/synchronizedOutput.js +88 -0
  2771. package/dist/src/ui/utils/synchronizedOutput.js.map +1 -0
  2772. package/dist/src/ui/utils/synchronizedOutput.test.d.ts +6 -0
  2773. package/dist/src/ui/utils/synchronizedOutput.test.js +154 -0
  2774. package/dist/src/ui/utils/synchronizedOutput.test.js.map +1 -0
  2775. package/dist/src/ui/utils/terminalRedrawOptimizer.d.ts +21 -0
  2776. package/dist/src/ui/utils/terminalRedrawOptimizer.js +108 -0
  2777. package/dist/src/ui/utils/terminalRedrawOptimizer.js.map +1 -0
  2778. package/dist/src/ui/utils/terminalRedrawOptimizer.test.d.ts +6 -0
  2779. package/dist/src/ui/utils/terminalRedrawOptimizer.test.js +85 -0
  2780. package/dist/src/ui/utils/terminalRedrawOptimizer.test.js.map +1 -0
  2781. package/dist/src/ui/utils/terminalSetup.d.ts +30 -0
  2782. package/dist/src/ui/utils/terminalSetup.js +310 -0
  2783. package/dist/src/ui/utils/terminalSetup.js.map +1 -0
  2784. package/dist/src/ui/utils/textUtils.d.ts +86 -0
  2785. package/dist/src/ui/utils/textUtils.js +360 -0
  2786. package/dist/src/ui/utils/textUtils.js.map +1 -0
  2787. package/dist/src/ui/utils/textUtils.test.d.ts +6 -0
  2788. package/dist/src/ui/utils/textUtils.test.js +269 -0
  2789. package/dist/src/ui/utils/textUtils.test.js.map +1 -0
  2790. package/dist/src/ui/utils/todoSnapshot.d.ts +13 -0
  2791. package/dist/src/ui/utils/todoSnapshot.js +133 -0
  2792. package/dist/src/ui/utils/todoSnapshot.js.map +1 -0
  2793. package/dist/src/ui/utils/todoSnapshot.test.d.ts +6 -0
  2794. package/dist/src/ui/utils/todoSnapshot.test.js +281 -0
  2795. package/dist/src/ui/utils/todoSnapshot.test.js.map +1 -0
  2796. package/dist/src/ui/utils/updateCheck.d.ts +12 -0
  2797. package/dist/src/ui/utils/updateCheck.js +80 -0
  2798. package/dist/src/ui/utils/updateCheck.js.map +1 -0
  2799. package/dist/src/ui/utils/updateCheck.test.d.ts +6 -0
  2800. package/dist/src/ui/utils/updateCheck.test.js +145 -0
  2801. package/dist/src/ui/utils/updateCheck.test.js.map +1 -0
  2802. package/dist/src/utils/acpModelUtils.d.ts +39 -0
  2803. package/dist/src/utils/acpModelUtils.js +61 -0
  2804. package/dist/src/utils/acpModelUtils.js.map +1 -0
  2805. package/dist/src/utils/acpModelUtils.test.d.ts +6 -0
  2806. package/dist/src/utils/acpModelUtils.test.js +31 -0
  2807. package/dist/src/utils/acpModelUtils.test.js.map +1 -0
  2808. package/dist/src/utils/apiPreconnect.d.ts +22 -0
  2809. package/dist/src/utils/apiPreconnect.js +188 -0
  2810. package/dist/src/utils/apiPreconnect.js.map +1 -0
  2811. package/dist/src/utils/apiPreconnect.test.d.ts +6 -0
  2812. package/dist/src/utils/apiPreconnect.test.js +252 -0
  2813. package/dist/src/utils/apiPreconnect.test.js.map +1 -0
  2814. package/dist/src/utils/checks.d.ts +19 -0
  2815. package/dist/src/utils/checks.js +24 -0
  2816. package/dist/src/utils/checks.js.map +1 -0
  2817. package/dist/src/utils/cleanup.d.ts +23 -0
  2818. package/dist/src/utils/cleanup.js +96 -0
  2819. package/dist/src/utils/cleanup.js.map +1 -0
  2820. package/dist/src/utils/commands.d.ts +20 -0
  2821. package/dist/src/utils/commands.js +53 -0
  2822. package/dist/src/utils/commands.js.map +1 -0
  2823. package/dist/src/utils/commands.test.d.ts +6 -0
  2824. package/dist/src/utils/commands.test.js +115 -0
  2825. package/dist/src/utils/commands.test.js.map +1 -0
  2826. package/dist/src/utils/commentJson.d.ts +25 -0
  2827. package/dist/src/utils/commentJson.js +113 -0
  2828. package/dist/src/utils/commentJson.js.map +1 -0
  2829. package/dist/src/utils/commentJson.test.d.ts +6 -0
  2830. package/dist/src/utils/commentJson.test.js +385 -0
  2831. package/dist/src/utils/commentJson.test.js.map +1 -0
  2832. package/dist/src/utils/costCalculator.d.ts +14 -0
  2833. package/dist/src/utils/costCalculator.js +19 -0
  2834. package/dist/src/utils/costCalculator.js.map +1 -0
  2835. package/dist/src/utils/costCalculator.test.d.ts +6 -0
  2836. package/dist/src/utils/costCalculator.test.js +177 -0
  2837. package/dist/src/utils/costCalculator.test.js.map +1 -0
  2838. package/dist/src/utils/cpuProfiler.d.ts +63 -0
  2839. package/dist/src/utils/cpuProfiler.js +341 -0
  2840. package/dist/src/utils/cpuProfiler.js.map +1 -0
  2841. package/dist/src/utils/cpuProfiler.test.d.ts +6 -0
  2842. package/dist/src/utils/cpuProfiler.test.js +293 -0
  2843. package/dist/src/utils/cpuProfiler.test.js.map +1 -0
  2844. package/dist/src/utils/deepMerge.d.ts +9 -0
  2845. package/dist/src/utils/deepMerge.js +58 -0
  2846. package/dist/src/utils/deepMerge.js.map +1 -0
  2847. package/dist/src/utils/deepMerge.test.d.ts +6 -0
  2848. package/dist/src/utils/deepMerge.test.js +143 -0
  2849. package/dist/src/utils/deepMerge.test.js.map +1 -0
  2850. package/dist/src/utils/dialogScopeUtils.d.ts +28 -0
  2851. package/dist/src/utils/dialogScopeUtils.js +51 -0
  2852. package/dist/src/utils/dialogScopeUtils.js.map +1 -0
  2853. package/dist/src/utils/doctorChecks.d.ts +11 -0
  2854. package/dist/src/utils/doctorChecks.js +351 -0
  2855. package/dist/src/utils/doctorChecks.js.map +1 -0
  2856. package/dist/src/utils/doctorChecks.test.d.ts +6 -0
  2857. package/dist/src/utils/doctorChecks.test.js +280 -0
  2858. package/dist/src/utils/doctorChecks.test.js.map +1 -0
  2859. package/dist/src/utils/earlyInputCapture.d.ts +33 -0
  2860. package/dist/src/utils/earlyInputCapture.js +311 -0
  2861. package/dist/src/utils/earlyInputCapture.js.map +1 -0
  2862. package/dist/src/utils/earlyInputCapture.test.d.ts +6 -0
  2863. package/dist/src/utils/earlyInputCapture.test.js +274 -0
  2864. package/dist/src/utils/earlyInputCapture.test.js.map +1 -0
  2865. package/dist/src/utils/envVarResolver.d.ts +39 -0
  2866. package/dist/src/utils/envVarResolver.js +100 -0
  2867. package/dist/src/utils/envVarResolver.js.map +1 -0
  2868. package/dist/src/utils/envVarResolver.test.d.ts +6 -0
  2869. package/dist/src/utils/envVarResolver.test.js +221 -0
  2870. package/dist/src/utils/envVarResolver.test.js.map +1 -0
  2871. package/dist/src/utils/errors.d.ts +76 -0
  2872. package/dist/src/utils/errors.js +237 -0
  2873. package/dist/src/utils/errors.js.map +1 -0
  2874. package/dist/src/utils/errors.test.d.ts +6 -0
  2875. package/dist/src/utils/errors.test.js +536 -0
  2876. package/dist/src/utils/errors.test.js.map +1 -0
  2877. package/dist/src/utils/events.d.ts +13 -0
  2878. package/dist/src/utils/events.js +15 -0
  2879. package/dist/src/utils/events.js.map +1 -0
  2880. package/dist/src/utils/gitUtils.d.ts +30 -0
  2881. package/dist/src/utils/gitUtils.js +108 -0
  2882. package/dist/src/utils/gitUtils.js.map +1 -0
  2883. package/dist/src/utils/gitUtils.test.d.ts +6 -0
  2884. package/dist/src/utils/gitUtils.test.js +172 -0
  2885. package/dist/src/utils/gitUtils.test.js.map +1 -0
  2886. package/dist/src/utils/handleAutoUpdate.d.ts +16 -0
  2887. package/dist/src/utils/handleAutoUpdate.js +144 -0
  2888. package/dist/src/utils/handleAutoUpdate.js.map +1 -0
  2889. package/dist/src/utils/headlessSafetyWarnings.d.ts +21 -0
  2890. package/dist/src/utils/headlessSafetyWarnings.js +45 -0
  2891. package/dist/src/utils/headlessSafetyWarnings.js.map +1 -0
  2892. package/dist/src/utils/headlessSafetyWarnings.test.d.ts +6 -0
  2893. package/dist/src/utils/headlessSafetyWarnings.test.js +66 -0
  2894. package/dist/src/utils/headlessSafetyWarnings.test.js.map +1 -0
  2895. package/dist/src/utils/housekeeping/cleanup.d.ts +15 -0
  2896. package/dist/src/utils/housekeeping/cleanup.js +69 -0
  2897. package/dist/src/utils/housekeeping/cleanup.js.map +1 -0
  2898. package/dist/src/utils/housekeeping/cleanup.test.d.ts +6 -0
  2899. package/dist/src/utils/housekeeping/cleanup.test.js +166 -0
  2900. package/dist/src/utils/housekeeping/cleanup.test.js.map +1 -0
  2901. package/dist/src/utils/housekeeping/lastInteractionAt.d.ts +9 -0
  2902. package/dist/src/utils/housekeeping/lastInteractionAt.js +22 -0
  2903. package/dist/src/utils/housekeeping/lastInteractionAt.js.map +1 -0
  2904. package/dist/src/utils/housekeeping/scheduler.d.ts +17 -0
  2905. package/dist/src/utils/housekeeping/scheduler.js +130 -0
  2906. package/dist/src/utils/housekeeping/scheduler.js.map +1 -0
  2907. package/dist/src/utils/housekeeping/scheduler.test.d.ts +6 -0
  2908. package/dist/src/utils/housekeeping/scheduler.test.js +190 -0
  2909. package/dist/src/utils/housekeeping/scheduler.test.js.map +1 -0
  2910. package/dist/src/utils/housekeeping/throttledOnce.d.ts +13 -0
  2911. package/dist/src/utils/housekeeping/throttledOnce.js +110 -0
  2912. package/dist/src/utils/housekeeping/throttledOnce.js.map +1 -0
  2913. package/dist/src/utils/housekeeping/throttledOnce.test.d.ts +6 -0
  2914. package/dist/src/utils/housekeeping/throttledOnce.test.js +94 -0
  2915. package/dist/src/utils/housekeeping/throttledOnce.test.js.map +1 -0
  2916. package/dist/src/utils/installationInfo.d.ts +26 -0
  2917. package/dist/src/utils/installationInfo.js +266 -0
  2918. package/dist/src/utils/installationInfo.js.map +1 -0
  2919. package/dist/src/utils/installationInfo.test.d.ts +6 -0
  2920. package/dist/src/utils/installationInfo.test.js +466 -0
  2921. package/dist/src/utils/installationInfo.test.js.map +1 -0
  2922. package/dist/src/utils/languageUtils.d.ts +40 -0
  2923. package/dist/src/utils/languageUtils.js +163 -0
  2924. package/dist/src/utils/languageUtils.js.map +1 -0
  2925. package/dist/src/utils/languageUtils.test.d.ts +6 -0
  2926. package/dist/src/utils/languageUtils.test.js +341 -0
  2927. package/dist/src/utils/languageUtils.test.js.map +1 -0
  2928. package/dist/src/utils/math.d.ts +13 -0
  2929. package/dist/src/utils/math.js +14 -0
  2930. package/dist/src/utils/math.js.map +1 -0
  2931. package/dist/src/utils/memoryDiagnostics.d.ts +65 -0
  2932. package/dist/src/utils/memoryDiagnostics.js +365 -0
  2933. package/dist/src/utils/memoryDiagnostics.js.map +1 -0
  2934. package/dist/src/utils/memoryDiagnostics.test.d.ts +6 -0
  2935. package/dist/src/utils/memoryDiagnostics.test.js +641 -0
  2936. package/dist/src/utils/memoryDiagnostics.test.js.map +1 -0
  2937. package/dist/src/utils/modelConfigUtils.d.ts +55 -0
  2938. package/dist/src/utils/modelConfigUtils.js +186 -0
  2939. package/dist/src/utils/modelConfigUtils.js.map +1 -0
  2940. package/dist/src/utils/modelConfigUtils.test.d.ts +6 -0
  2941. package/dist/src/utils/modelConfigUtils.test.js +1247 -0
  2942. package/dist/src/utils/modelConfigUtils.test.js.map +1 -0
  2943. package/dist/src/utils/nonInteractiveHelpers.d.ts +101 -0
  2944. package/dist/src/utils/nonInteractiveHelpers.js +479 -0
  2945. package/dist/src/utils/nonInteractiveHelpers.js.map +1 -0
  2946. package/dist/src/utils/nonInteractiveHelpers.test.d.ts +6 -0
  2947. package/dist/src/utils/nonInteractiveHelpers.test.js +1038 -0
  2948. package/dist/src/utils/nonInteractiveHelpers.test.js.map +1 -0
  2949. package/dist/src/utils/osc.d.ts +91 -0
  2950. package/dist/src/utils/osc.js +162 -0
  2951. package/dist/src/utils/osc.js.map +1 -0
  2952. package/dist/src/utils/osc.test.d.ts +6 -0
  2953. package/dist/src/utils/osc.test.js +217 -0
  2954. package/dist/src/utils/osc.test.js.map +1 -0
  2955. package/dist/src/utils/package.d.ts +12 -0
  2956. package/dist/src/utils/package.js +24 -0
  2957. package/dist/src/utils/package.js.map +1 -0
  2958. package/dist/src/utils/processUtils.d.ts +13 -0
  2959. package/dist/src/utils/processUtils.js +18 -0
  2960. package/dist/src/utils/processUtils.js.map +1 -0
  2961. package/dist/src/utils/processUtils.test.d.ts +6 -0
  2962. package/dist/src/utils/processUtils.test.js +20 -0
  2963. package/dist/src/utils/processUtils.test.js.map +1 -0
  2964. package/dist/src/utils/readStdin.d.ts +6 -0
  2965. package/dist/src/utils/readStdin.js +60 -0
  2966. package/dist/src/utils/readStdin.js.map +1 -0
  2967. package/dist/src/utils/readStdin.test.d.ts +6 -0
  2968. package/dist/src/utils/readStdin.test.js +88 -0
  2969. package/dist/src/utils/readStdin.test.js.map +1 -0
  2970. package/dist/src/utils/relaunch.d.ts +9 -0
  2971. package/dist/src/utils/relaunch.js +68 -0
  2972. package/dist/src/utils/relaunch.js.map +1 -0
  2973. package/dist/src/utils/relaunch.test.d.ts +6 -0
  2974. package/dist/src/utils/relaunch.test.js +291 -0
  2975. package/dist/src/utils/relaunch.test.js.map +1 -0
  2976. package/dist/src/utils/resolvePath.d.ts +6 -0
  2977. package/dist/src/utils/resolvePath.js +21 -0
  2978. package/dist/src/utils/resolvePath.js.map +1 -0
  2979. package/dist/src/utils/runBudget.d.ts +116 -0
  2980. package/dist/src/utils/runBudget.js +235 -0
  2981. package/dist/src/utils/runBudget.js.map +1 -0
  2982. package/dist/src/utils/runBudget.test.d.ts +6 -0
  2983. package/dist/src/utils/runBudget.test.js +187 -0
  2984. package/dist/src/utils/runBudget.test.js.map +1 -0
  2985. package/dist/src/utils/sandbox-macos-permissive-closed.sb +33 -0
  2986. package/dist/src/utils/sandbox-macos-permissive-open.sb +28 -0
  2987. package/dist/src/utils/sandbox-macos-permissive-proxied.sb +38 -0
  2988. package/dist/src/utils/sandbox-macos-restrictive-closed.sb +94 -0
  2989. package/dist/src/utils/sandbox-macos-restrictive-open.sb +97 -0
  2990. package/dist/src/utils/sandbox-macos-restrictive-proxied.sb +99 -0
  2991. package/dist/src/utils/sandbox.d.ts +7 -0
  2992. package/dist/src/utils/sandbox.js +788 -0
  2993. package/dist/src/utils/sandbox.js.map +1 -0
  2994. package/dist/src/utils/sessionPaths.d.ts +19 -0
  2995. package/dist/src/utils/sessionPaths.js +141 -0
  2996. package/dist/src/utils/sessionPaths.js.map +1 -0
  2997. package/dist/src/utils/sessionPaths.test.d.ts +6 -0
  2998. package/dist/src/utils/sessionPaths.test.js +249 -0
  2999. package/dist/src/utils/sessionPaths.test.js.map +1 -0
  3000. package/dist/src/utils/settingsUtils.d.ts +167 -0
  3001. package/dist/src/utils/settingsUtils.js +532 -0
  3002. package/dist/src/utils/settingsUtils.js.map +1 -0
  3003. package/dist/src/utils/settingsUtils.test.d.ts +6 -0
  3004. package/dist/src/utils/settingsUtils.test.js +849 -0
  3005. package/dist/src/utils/settingsUtils.test.js.map +1 -0
  3006. package/dist/src/utils/spawnWrapper.d.ts +7 -0
  3007. package/dist/src/utils/spawnWrapper.js +8 -0
  3008. package/dist/src/utils/spawnWrapper.js.map +1 -0
  3009. package/dist/src/utils/standalone-update-verify.d.ts +12 -0
  3010. package/dist/src/utils/standalone-update-verify.js +43 -0
  3011. package/dist/src/utils/standalone-update-verify.js.map +1 -0
  3012. package/dist/src/utils/standalone-update-verify.test.d.ts +6 -0
  3013. package/dist/src/utils/standalone-update-verify.test.js +27 -0
  3014. package/dist/src/utils/standalone-update-verify.test.js.map +1 -0
  3015. package/dist/src/utils/standalone-update.d.ts +27 -0
  3016. package/dist/src/utils/standalone-update.js +714 -0
  3017. package/dist/src/utils/standalone-update.js.map +1 -0
  3018. package/dist/src/utils/standalone-update.test.d.ts +6 -0
  3019. package/dist/src/utils/standalone-update.test.js +301 -0
  3020. package/dist/src/utils/standalone-update.test.js.map +1 -0
  3021. package/dist/src/utils/startupProfiler.d.ts +90 -0
  3022. package/dist/src/utils/startupProfiler.js +267 -0
  3023. package/dist/src/utils/startupProfiler.js.map +1 -0
  3024. package/dist/src/utils/startupProfiler.test.d.ts +1 -0
  3025. package/dist/src/utils/startupProfiler.test.js +293 -0
  3026. package/dist/src/utils/startupProfiler.test.js.map +1 -0
  3027. package/dist/src/utils/startupWarnings.d.ts +6 -0
  3028. package/dist/src/utils/startupWarnings.js +40 -0
  3029. package/dist/src/utils/startupWarnings.js.map +1 -0
  3030. package/dist/src/utils/stdioHelpers.d.ts +31 -0
  3031. package/dist/src/utils/stdioHelpers.js +38 -0
  3032. package/dist/src/utils/stdioHelpers.js.map +1 -0
  3033. package/dist/src/utils/systemInfo.d.ts +78 -0
  3034. package/dist/src/utils/systemInfo.js +208 -0
  3035. package/dist/src/utils/systemInfo.js.map +1 -0
  3036. package/dist/src/utils/systemInfo.test.d.ts +6 -0
  3037. package/dist/src/utils/systemInfo.test.js +380 -0
  3038. package/dist/src/utils/systemInfo.test.js.map +1 -0
  3039. package/dist/src/utils/systemInfoFields.d.ts +18 -0
  3040. package/dist/src/utils/systemInfoFields.js +102 -0
  3041. package/dist/src/utils/systemInfoFields.js.map +1 -0
  3042. package/dist/src/utils/systemInfoFields.test.d.ts +6 -0
  3043. package/dist/src/utils/systemInfoFields.test.js +74 -0
  3044. package/dist/src/utils/systemInfoFields.test.js.map +1 -0
  3045. package/dist/src/utils/terminalSequence.d.ts +21 -0
  3046. package/dist/src/utils/terminalSequence.js +124 -0
  3047. package/dist/src/utils/terminalSequence.js.map +1 -0
  3048. package/dist/src/utils/terminalSequence.test.d.ts +6 -0
  3049. package/dist/src/utils/terminalSequence.test.js +132 -0
  3050. package/dist/src/utils/terminalSequence.test.js.map +1 -0
  3051. package/dist/src/utils/truncatedDiffPreview.d.ts +6 -0
  3052. package/dist/src/utils/truncatedDiffPreview.js +18 -0
  3053. package/dist/src/utils/truncatedDiffPreview.js.map +1 -0
  3054. package/dist/src/utils/updateEventEmitter.d.ts +11 -0
  3055. package/dist/src/utils/updateEventEmitter.js +12 -0
  3056. package/dist/src/utils/updateEventEmitter.js.map +1 -0
  3057. package/dist/src/utils/userPromptExpansionHook.d.ts +9 -0
  3058. package/dist/src/utils/userPromptExpansionHook.js +30 -0
  3059. package/dist/src/utils/userPromptExpansionHook.js.map +1 -0
  3060. package/dist/src/utils/userPromptExpansionHook.test.d.ts +6 -0
  3061. package/dist/src/utils/userPromptExpansionHook.test.js +69 -0
  3062. package/dist/src/utils/userPromptExpansionHook.test.js.map +1 -0
  3063. package/dist/src/utils/userStartupWarnings.d.ts +12 -0
  3064. package/dist/src/utils/userStartupWarnings.js +74 -0
  3065. package/dist/src/utils/userStartupWarnings.js.map +1 -0
  3066. package/dist/src/utils/userStartupWarnings.test.d.ts +6 -0
  3067. package/dist/src/utils/userStartupWarnings.test.js +88 -0
  3068. package/dist/src/utils/userStartupWarnings.test.js.map +1 -0
  3069. package/dist/src/utils/version.d.ts +6 -0
  3070. package/dist/src/utils/version.js +11 -0
  3071. package/dist/src/utils/version.js.map +1 -0
  3072. package/dist/src/utils/warningHandler.d.ts +29 -0
  3073. package/dist/src/utils/warningHandler.js +100 -0
  3074. package/dist/src/utils/warningHandler.js.map +1 -0
  3075. package/dist/src/utils/warningHandler.test.d.ts +6 -0
  3076. package/dist/src/utils/warningHandler.test.js +185 -0
  3077. package/dist/src/utils/warningHandler.test.js.map +1 -0
  3078. package/dist/src/utils/windowTitle.d.ts +12 -0
  3079. package/dist/src/utils/windowTitle.js +19 -0
  3080. package/dist/src/utils/windowTitle.js.map +1 -0
  3081. package/dist/src/utils/windowTitle.test.d.ts +6 -0
  3082. package/dist/src/utils/windowTitle.test.js +49 -0
  3083. package/dist/src/utils/windowTitle.test.js.map +1 -0
  3084. package/dist/src/utils/writeWithBackup.d.ts +49 -0
  3085. package/dist/src/utils/writeWithBackup.js +136 -0
  3086. package/dist/src/utils/writeWithBackup.js.map +1 -0
  3087. package/dist/src/utils/writeWithBackup.test.d.ts +6 -0
  3088. package/dist/src/utils/writeWithBackup.test.js +177 -0
  3089. package/dist/src/utils/writeWithBackup.test.js.map +1 -0
  3090. package/dist/src/validateNonInterActiveAuth.d.ts +8 -0
  3091. package/dist/src/validateNonInterActiveAuth.js +66 -0
  3092. package/dist/src/validateNonInterActiveAuth.js.map +1 -0
  3093. package/dist/tsconfig.tsbuildinfo +1 -0
  3094. package/package.json +121 -0
@@ -0,0 +1,2381 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Qwen
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { AuthType, ApprovalMode, CompressionStatus, convertToFunctionResponse, createDebugLogger, DiscoveredMCPTool, StreamEventType, ToolConfirmationOutcome, logToolCall, logUserPrompt, getErrorStatus, UserPromptEvent, readManyFiles, Storage, ToolNames, fireNotificationHook, firePermissionRequestHook, firePreToolUseHook, firePostToolUseHook, firePostToolUseFailureHook, injectPermissionRulesIfMissing, NotificationType, persistPermissionOutcome, createHookOutput, generateToolUseId, MessageBusType, getPlanModeSystemReminder, getArenaSystemReminder, getStartupContextLength, isSystemReminderContent, evaluatePermissionFlow, getEffectivePermissionForConfirmation, needsConfirmation, isPlanModeBlocked, abortGoalForStopHookCap, formatStopHookBlockingCapWarning, applyAutoModeDecision, evaluateAutoMode, formatDenialStateLog, getAutoModePermissionDeniedReason, isApproveOutcome, isDenialFallbackReason, MAX_TRANSCRIPT_MESSAGES, recordAllow, recordFallbackApprove, shouldFallback, shouldForceAutoModeReviewForAllow, shouldFirePermissionDeniedForAutoMode, shouldRunAutoModeForCall, acquireSleepInhibitor, } from '@tulex-cli/tulex-cli-core';
7
+ import { getCommandSubcommandNames } from '../../services/commandMetadata.js';
8
+ import { getEffectiveSupportedModes } from '../../services/commandUtils.js';
9
+ import { RequestError } from '@agentclientprotocol/sdk';
10
+ import { z } from 'zod';
11
+ import { normalizePartList } from '../../utils/nonInteractiveHelpers.js';
12
+ import { handleSlashCommand, getAvailableCommands, } from '../../nonInteractiveCliCommands.js';
13
+ import { isSlashCommand } from '../../ui/utils/commandUtils.js';
14
+ import { CommandKind } from '../../ui/commands/types.js';
15
+ import { parseAcpModelOption } from '../../utils/acpModelUtils.js';
16
+ import { classifyApiError } from '../../ui/hooks/useGeminiStream.js';
17
+ import { getPersistScopeForModelSelection } from '../../config/modelProvidersScope.js';
18
+ import { HistoryReplayer } from './HistoryReplayer.js';
19
+ import { ToolCallEmitter } from './emitters/ToolCallEmitter.js';
20
+ import { PlanEmitter } from './emitters/PlanEmitter.js';
21
+ import { MessageEmitter } from './emitters/MessageEmitter.js';
22
+ import { SubAgentTracker } from './SubAgentTracker.js';
23
+ import { buildPermissionRequestContent, toPermissionOptions, } from './permissionUtils.js';
24
+ import { MessageRewriteMiddleware, loadRewriteConfig, } from './rewrite/index.js';
25
+ const debugLogger = createDebugLogger('SESSION');
26
+ const MID_TURN_QUEUE_DRAIN_METHOD = 'craft/drainMidTurnQueue';
27
+ // The drain is served from an in-memory queue, so a conforming client answers
28
+ // near-instantly (or rejects with -32601). No response within this window
29
+ // means the client silently drops unknown methods; without a deadline the
30
+ // await would wedge the prompt turn forever.
31
+ const MID_TURN_QUEUE_DRAIN_TIMEOUT_MS = 2_000;
32
+ // Latch the drain off only after this many consecutive timeouts: one slow
33
+ // answer must not permanently disable mid-turn messages for a
34
+ // conforming-but-busy client, while a client that never answers stops
35
+ // costing a stall per tool batch after a few batches.
36
+ const MID_TURN_QUEUE_DRAIN_MAX_TIMEOUT_STRIKES = 3;
37
+ class MidTurnDrainTimeoutError extends Error {
38
+ constructor() {
39
+ super(`mid-turn queue drain got no response within ${MID_TURN_QUEUE_DRAIN_TIMEOUT_MS}ms`);
40
+ }
41
+ }
42
+ const MAX_NOTIFICATION_QUEUE = 20;
43
+ export function computeInitialTurnFromHistory(records, sessionId) {
44
+ let maxPromptTurn = 0;
45
+ let userMessageCount = 0;
46
+ const promptIdPrefix = `${sessionId}########`;
47
+ for (const record of records) {
48
+ if (record.sessionId === sessionId && isUserPromptRecord(record)) {
49
+ userMessageCount += 1;
50
+ }
51
+ for (const promptId of getRecordPromptIds(record)) {
52
+ if (!promptId.startsWith(promptIdPrefix)) {
53
+ continue;
54
+ }
55
+ const suffix = promptId.slice(promptIdPrefix.length);
56
+ if (!/^\d+$/.test(suffix)) {
57
+ continue;
58
+ }
59
+ maxPromptTurn = Math.max(maxPromptTurn, Number(suffix));
60
+ }
61
+ }
62
+ return maxPromptTurn > 0 ? maxPromptTurn : userMessageCount;
63
+ }
64
+ export async function fireSessionPermissionDeniedForAutoMode(config, decision, outcome, toolName, toolParams, callId, signal) {
65
+ if (!config.getDisableAllHooks?.() &&
66
+ shouldFirePermissionDeniedForAutoMode(decision, outcome)) {
67
+ try {
68
+ await config
69
+ .getHookSystem?.()
70
+ ?.firePermissionDeniedEvent(toolName, toolParams, callId, getAutoModePermissionDeniedReason(decision), signal);
71
+ }
72
+ catch (hookError) {
73
+ debugLogger.warn(`PermissionDenied hook failed for tool ${callId}: ${hookError instanceof Error ? hookError.message : String(hookError)}`);
74
+ }
75
+ }
76
+ }
77
+ function getRecordPromptIds(record) {
78
+ const promptIds = [];
79
+ const recordPromptId = record.promptId;
80
+ if (typeof recordPromptId === 'string') {
81
+ promptIds.push(recordPromptId);
82
+ }
83
+ const telemetryPromptId = readTelemetryPromptId(record.systemPayload);
84
+ if (telemetryPromptId) {
85
+ promptIds.push(telemetryPromptId);
86
+ }
87
+ return promptIds;
88
+ }
89
+ function readTelemetryPromptId(payload) {
90
+ if (!payload || typeof payload !== 'object' || !('uiEvent' in payload)) {
91
+ return undefined;
92
+ }
93
+ const uiEvent = payload.uiEvent;
94
+ if (!uiEvent || typeof uiEvent !== 'object' || !('prompt_id' in uiEvent)) {
95
+ return undefined;
96
+ }
97
+ const promptId = uiEvent.prompt_id;
98
+ return typeof promptId === 'string' ? promptId : undefined;
99
+ }
100
+ function isUserPromptRecord(record) {
101
+ if (record.type !== 'user') {
102
+ return false;
103
+ }
104
+ return (record.message?.parts?.some((part) => typeof part.text === 'string' && part.text.trim().length > 0) ?? false);
105
+ }
106
+ export async function buildAvailableCommandsSnapshot(config, abortSignal = AbortSignal.timeout(10_000)) {
107
+ const slashCommands = await getAvailableCommands(config, abortSignal, 'acp');
108
+ const availableCommands = slashCommands.map((cmd) => {
109
+ const acceptsInput = cmd.acceptsInput ??
110
+ (cmd.kind !== CommandKind.BUILT_IN ||
111
+ cmd.completion != null ||
112
+ cmd.argumentHint != null ||
113
+ (cmd.subCommands != null && cmd.subCommands.length > 0));
114
+ return {
115
+ name: cmd.name,
116
+ description: cmd.description,
117
+ input: acceptsInput ? { hint: cmd.argumentHint ?? '' } : null,
118
+ _meta: {
119
+ argumentHint: cmd.argumentHint,
120
+ source: cmd.source,
121
+ sourceLabel: cmd.sourceLabel,
122
+ supportedModes: getEffectiveSupportedModes(cmd),
123
+ subcommands: getCommandSubcommandNames(cmd),
124
+ modelInvocable: cmd.modelInvocable === true,
125
+ },
126
+ };
127
+ });
128
+ let availableSkills;
129
+ const skillDetailsByName = new Map();
130
+ try {
131
+ const skillManager = config.getSkillManager();
132
+ if (skillManager) {
133
+ const skills = await skillManager.listSkills();
134
+ availableSkills = skills.map((skill) => skill.name);
135
+ for (const skill of skills) {
136
+ skillDetailsByName.set(skill.name, {
137
+ name: skill.name,
138
+ description: skill.description,
139
+ body: skill.body,
140
+ filePath: skill.filePath,
141
+ level: skill.level,
142
+ modelInvocable: skill.disableModelInvocation !== true,
143
+ });
144
+ }
145
+ }
146
+ }
147
+ catch (error) {
148
+ debugLogger.error('Error loading available skills:', error);
149
+ }
150
+ for (const command of slashCommands) {
151
+ if (command.kind !== CommandKind.SKILL || !command.skillDetail) {
152
+ continue;
153
+ }
154
+ const existing = skillDetailsByName.get(command.skillDetail.name);
155
+ skillDetailsByName.set(command.skillDetail.name, {
156
+ ...existing,
157
+ ...command.skillDetail,
158
+ modelInvocable: command.modelInvocable === true,
159
+ });
160
+ }
161
+ const availableSkillDetails = skillDetailsByName.size > 0
162
+ ? Array.from(skillDetailsByName.values())
163
+ : undefined;
164
+ // Always derive the name list from the details map so the two stay in sync.
165
+ // skillManager only contributes its own skills to `availableSkills`, but the
166
+ // slashCommands loop above also adds bundled skills to `skillDetailsByName`;
167
+ // a `??=` would leave bundled skills in details but missing from the name
168
+ // list whenever skillManager succeeded.
169
+ availableSkills = availableSkillDetails?.map((skill) => skill.name);
170
+ return {
171
+ availableCommands,
172
+ ...(availableSkills !== undefined ? { availableSkills } : {}),
173
+ ...(availableSkillDetails !== undefined ? { availableSkillDetails } : {}),
174
+ };
175
+ }
176
+ /**
177
+ * Session represents an active conversation session with the AI model.
178
+ * It uses modular components for consistent event emission:
179
+ * - HistoryReplayer for replaying past conversations
180
+ * - ToolCallEmitter for tool-related session updates
181
+ * - PlanEmitter for todo/plan updates
182
+ * - SubAgentTracker for tracking sub-agent tool calls
183
+ */
184
+ export class Session {
185
+ config;
186
+ client;
187
+ settings;
188
+ pendingPrompt = null;
189
+ /**
190
+ * Tracks the completion of the current prompt so that the next prompt
191
+ * can await it. This prevents a new prompt from reading chat history
192
+ * before the previous prompt's tool results have been added —
193
+ * a race condition that causes malformed history on Windows where
194
+ * process termination is slow.
195
+ */
196
+ pendingPromptCompletion = null;
197
+ turn = 0;
198
+ runtimeBaseDir;
199
+ // Cron scheduling state
200
+ cronQueue = [];
201
+ cronProcessing = false;
202
+ cronAbortController = null;
203
+ cronCompletion = null;
204
+ cronDisabledByTokenLimit = false;
205
+ lastPromptTokenCount = 0;
206
+ lastPromptTokenCountChat = null;
207
+ midTurnDrainUnavailable = false;
208
+ midTurnDrainTimeoutStrikes = 0;
209
+ // Background notification drain state. ACP does not have the TUI's idle
210
+ // hook, so the session serializes registry callbacks through this queue.
211
+ notificationQueue = [];
212
+ notificationProcessing = false;
213
+ notificationAbortController = null;
214
+ notificationCompletion = null;
215
+ // Set true in dispose(). Guards #drainCronQueue and #drainNotificationQueue
216
+ // against the race where #drainNotificationQueue's finally block kicks off
217
+ // #drainCronQueue after the session has already been disposed (e.g. /clear
218
+ // or session reload), which would otherwise execute orphaned cron prompts
219
+ // on a session whose registries are already unregistered.
220
+ disposed = false;
221
+ // Modular components
222
+ historyReplayer;
223
+ toolCallEmitter;
224
+ planEmitter;
225
+ messageEmitter;
226
+ // Message rewrite middleware (optional, installed after history replay)
227
+ messageRewriter;
228
+ /**
229
+ * Phase C worktree restore notice. Set by acpAgent.loadSession when a
230
+ * resumed session has a live worktree sidecar; prepended to the next
231
+ * #executePrompt call as a <system-reminder>, then cleared.
232
+ *
233
+ * One-shot by design — after the first prompt the worktree path is
234
+ * already in the conversation context (the reminder we just sent + any
235
+ * subsequent tool calls), so re-injecting on every turn would clutter
236
+ * the history without adding signal. TUI uses historyManager.addItem(INFO)
237
+ * for the equivalent UX hint and headless prepends to the single shot
238
+ * prompt; all three modes share the `restoreWorktreeContext` helper
239
+ * that produces this string.
240
+ */
241
+ pendingWorktreeNotice = null;
242
+ // Implement SessionContext interface
243
+ sessionId;
244
+ constructor(id, config, client, settings) {
245
+ this.config = config;
246
+ this.client = client;
247
+ this.settings = settings;
248
+ this.sessionId = id;
249
+ this.runtimeBaseDir = Storage.getRuntimeBaseDir();
250
+ // Initialize modular components with this session as context
251
+ this.toolCallEmitter = new ToolCallEmitter(this);
252
+ this.planEmitter = new PlanEmitter(this);
253
+ this.historyReplayer = new HistoryReplayer(this);
254
+ this.messageEmitter = new MessageEmitter(this);
255
+ this.#registerBackgroundNotificationCallbacks();
256
+ }
257
+ getId() {
258
+ return this.sessionId;
259
+ }
260
+ getConfig() {
261
+ return this.config;
262
+ }
263
+ dispose() {
264
+ this.disposed = true;
265
+ this.notificationQueue = [];
266
+ this.cronQueue = [];
267
+ this.notificationAbortController?.abort();
268
+ this.notificationAbortController = null;
269
+ this.notificationProcessing = false;
270
+ this.notificationCompletion = null;
271
+ if (this.cronAbortController) {
272
+ this.cronAbortController.abort();
273
+ this.cronAbortController = null;
274
+ }
275
+ this.cronProcessing = false;
276
+ this.cronCompletion = null;
277
+ this.config.getBackgroundTaskRegistry().setNotificationCallback(undefined);
278
+ this.config.getMonitorRegistry().setNotificationCallback(undefined);
279
+ this.config.getBackgroundShellRegistry().setNotificationCallback(undefined);
280
+ }
281
+ /**
282
+ * Install the message rewrite middleware if configured.
283
+ * Must be called AFTER history replay to avoid rewriting historical messages.
284
+ */
285
+ installRewriter() {
286
+ const rewriteConfig = loadRewriteConfig(this.settings);
287
+ if (rewriteConfig?.enabled) {
288
+ debugLogger.info('Message rewrite middleware enabled');
289
+ this.messageRewriter = new MessageRewriteMiddleware(this.config, rewriteConfig, (update) => this.sendUpdate(update));
290
+ }
291
+ }
292
+ /**
293
+ * Replays conversation history to the client using modular components.
294
+ * Delegates to HistoryReplayer for consistent event emission.
295
+ */
296
+ async replayHistory(records) {
297
+ this.turn = Math.max(this.turn, computeInitialTurnFromHistory(records, this.config.getSessionId()));
298
+ await this.historyReplayer.replay(records);
299
+ }
300
+ rewindToTurn(targetTurnIndex) {
301
+ if (!Number.isInteger(targetTurnIndex) || targetTurnIndex < 0) {
302
+ throw RequestError.invalidParams(undefined, 'targetTurnIndex must be a non-negative integer');
303
+ }
304
+ if (this.pendingPrompt ||
305
+ this.cronProcessing ||
306
+ this.cronAbortController ||
307
+ this.notificationProcessing ||
308
+ this.notificationAbortController) {
309
+ throw RequestError.invalidParams(undefined, 'Cannot rewind while a prompt is running');
310
+ }
311
+ const chat = this.config.getGeminiClient().getChat();
312
+ const apiHistory = chat.getHistoryShallow();
313
+ const apiTruncateIndex = this.#computeApiTruncationIndexForUserTurn(apiHistory, targetTurnIndex);
314
+ if (apiTruncateIndex < 0) {
315
+ throw RequestError.invalidParams(undefined, 'Cannot rewind to the requested turn. It may have been compressed or does not exist.');
316
+ }
317
+ chat.truncateHistory(apiTruncateIndex);
318
+ chat.stripThoughtsFromHistory();
319
+ this.config.getChatRecordingService()?.rewindRecording(targetTurnIndex, {
320
+ truncatedCount: Math.max(0, apiHistory.length - apiTruncateIndex),
321
+ });
322
+ return { targetTurnIndex, apiTruncateIndex };
323
+ }
324
+ captureHistorySnapshot() {
325
+ return this.config.getGeminiClient().getChat().getHistoryShallow();
326
+ }
327
+ restoreHistory(history) {
328
+ if (this.pendingPrompt ||
329
+ this.cronProcessing ||
330
+ this.cronAbortController ||
331
+ this.notificationProcessing ||
332
+ this.notificationAbortController) {
333
+ throw RequestError.invalidParams(undefined, 'Cannot restore history while a prompt is running');
334
+ }
335
+ this.config
336
+ .getGeminiClient()
337
+ .getChat()
338
+ .setHistory(structuredClone(history));
339
+ }
340
+ #computeApiTruncationIndexForUserTurn(apiHistory, targetTurnIndex) {
341
+ const startIndex = getStartupContextLength(apiHistory);
342
+ if (targetTurnIndex === 0) {
343
+ return startIndex;
344
+ }
345
+ let realUserPromptCount = 0;
346
+ for (let i = startIndex; i < apiHistory.length; i++) {
347
+ if (!this.#isUserTextContent(apiHistory[i])) {
348
+ continue;
349
+ }
350
+ if (realUserPromptCount === targetTurnIndex) {
351
+ return i;
352
+ }
353
+ realUserPromptCount += 1;
354
+ }
355
+ return -1;
356
+ }
357
+ #isUserTextContent(content) {
358
+ if (content.role !== 'user')
359
+ return false;
360
+ if (!content.parts || content.parts.length === 0)
361
+ return false;
362
+ const hasFunctionResponse = content.parts.some((part) => 'functionResponse' in part);
363
+ if (hasFunctionResponse)
364
+ return false;
365
+ // Exclude pure <system-reminder> entries (the startup prelude and the
366
+ // mid-history MCP added-tool reminders). They are structural, not real
367
+ // user prompts; counting them would shift the rewind truncation index and
368
+ // silently drop a real turn. A genuine user turn that merely has a
369
+ // per-turn reminder prepended still has a non-reminder prompt part, so it
370
+ // is NOT excluded.
371
+ if (isSystemReminderContent(content))
372
+ return false;
373
+ return content.parts.some((part) => 'text' in part && part.text);
374
+ }
375
+ async cancelPendingPrompt() {
376
+ const hadPrompt = !!this.pendingPrompt;
377
+ const hadCron = !!this.cronAbortController;
378
+ const hadNotification = !!this.notificationAbortController || this.notificationProcessing;
379
+ if (!hadPrompt && !hadCron && !hadNotification) {
380
+ throw new Error('Not currently generating');
381
+ }
382
+ if (this.pendingPrompt) {
383
+ this.pendingPrompt.abort();
384
+ this.pendingPrompt = null;
385
+ }
386
+ // Cancel any in-progress cron execution
387
+ if (this.cronAbortController) {
388
+ this.cronAbortController.abort();
389
+ this.cronAbortController = null;
390
+ this.cronQueue = [];
391
+ this.cronProcessing = false;
392
+ }
393
+ if (this.notificationAbortController) {
394
+ this.notificationAbortController.abort();
395
+ this.notificationAbortController = null;
396
+ }
397
+ this.notificationQueue = [];
398
+ this.notificationProcessing = false;
399
+ // Stop scheduler and emit exit summary
400
+ const scheduler = this.config.isCronEnabled()
401
+ ? this.config.getCronScheduler()
402
+ : null;
403
+ if (scheduler) {
404
+ const summary = scheduler.getExitSummary();
405
+ scheduler.stop();
406
+ if (summary) {
407
+ await this.messageEmitter.emitAgentMessage(summary);
408
+ }
409
+ }
410
+ }
411
+ async prompt(params) {
412
+ // Install this prompt's AbortController before awaiting the previous
413
+ // prompt, so that a session/cancel during the wait targets us.
414
+ this.pendingPrompt?.abort();
415
+ const pendingSend = new AbortController();
416
+ this.pendingPrompt = pendingSend;
417
+ // Abort any in-progress cron execution (user prompt takes priority)
418
+ if (this.cronAbortController) {
419
+ this.cronAbortController.abort();
420
+ this.cronAbortController = null;
421
+ this.cronQueue = [];
422
+ this.cronProcessing = false;
423
+ }
424
+ if (this.cronCompletion) {
425
+ try {
426
+ await this.cronCompletion;
427
+ }
428
+ catch {
429
+ // Expected: cron was aborted
430
+ }
431
+ this.cronCompletion = null;
432
+ }
433
+ // Wait for the previous prompt to finish so chat history is consistent.
434
+ if (this.pendingPromptCompletion) {
435
+ try {
436
+ await this.pendingPromptCompletion;
437
+ }
438
+ catch {
439
+ // Expected: previous prompt was cancelled or errored
440
+ }
441
+ }
442
+ // A background notification turn mutates the same chat history as a user
443
+ // prompt. Abort it before awaiting the drain so user input is not blocked
444
+ // behind notification tool calls.
445
+ if (this.notificationAbortController) {
446
+ this.notificationAbortController.abort();
447
+ this.notificationAbortController = null;
448
+ this.notificationQueue = [];
449
+ this.notificationProcessing = false;
450
+ }
451
+ if (this.notificationCompletion) {
452
+ try {
453
+ await this.notificationCompletion;
454
+ }
455
+ catch {
456
+ // Notification errors are surfaced through the session stream.
457
+ }
458
+ }
459
+ // Cancelled while waiting for the previous prompt to finish.
460
+ if (pendingSend.signal.aborted) {
461
+ return { stopReason: 'cancelled' };
462
+ }
463
+ // Track this prompt's completion for the next prompt to await
464
+ let resolveCompletion;
465
+ this.pendingPromptCompletion = new Promise((resolve) => {
466
+ resolveCompletion = resolve;
467
+ });
468
+ try {
469
+ const result = await this.#executePrompt(params, pendingSend);
470
+ this.pendingPrompt = null;
471
+ this.#startCronSchedulerIfNeeded();
472
+ // Drain any cron prompts that queued while the prompt was active
473
+ void this.#drainCronQueue();
474
+ void this.#drainNotificationQueue();
475
+ return result;
476
+ }
477
+ finally {
478
+ resolveCompletion();
479
+ }
480
+ }
481
+ async #executePrompt(params, pendingSend) {
482
+ return Storage.runWithRuntimeBaseDir(this.runtimeBaseDir, this.config.getWorkingDir(), async () => {
483
+ // Increment turn counter for each user prompt
484
+ this.turn += 1;
485
+ const promptId = this.config.getSessionId() + '########' + this.turn;
486
+ // Extract text from all text blocks to construct the full prompt text for logging
487
+ const promptText = params.prompt
488
+ .filter((block) => block.type === 'text')
489
+ .map((block) => (block.type === 'text' ? block.text : ''))
490
+ .join(' ');
491
+ // Log user prompt
492
+ logUserPrompt(this.config, new UserPromptEvent(promptText.length, promptId, this.config.getContentGeneratorConfig()?.authType, promptText));
493
+ // record user message for session management
494
+ this.config.getChatRecordingService()?.recordUserMessage(promptText);
495
+ // Check if the input contains a slash command
496
+ // Extract text from the first text block if present
497
+ const firstTextBlock = params.prompt.find((block) => block.type === 'text');
498
+ const inputText = firstTextBlock?.text || '';
499
+ let parts;
500
+ if (isSlashCommand(inputText)) {
501
+ // Handle slash command in ACP mode using capability-based filtering
502
+ const slashCommandResult = await handleSlashCommand(inputText, pendingSend, this.config, this.settings);
503
+ parts = await this.#processSlashCommandResult(slashCommandResult, params.prompt);
504
+ // If parts is null, the command was fully handled (e.g., /summary completed)
505
+ // Return early without sending to the model
506
+ if (parts === null) {
507
+ return { stopReason: 'end_turn' };
508
+ }
509
+ }
510
+ else {
511
+ // Normal processing for non-slash commands
512
+ parts = await this.#resolvePrompt(params.prompt, pendingSend.signal);
513
+ }
514
+ // Fire UserPromptSubmit hook through MessageBus (aligned with core path in client.ts)
515
+ const hooksEnabled = !this.config.getDisableAllHooks?.();
516
+ const messageBus = this.config.getMessageBus?.();
517
+ if (hooksEnabled &&
518
+ messageBus &&
519
+ this.config.hasHooksForEvent?.('UserPromptSubmit')) {
520
+ const response = await messageBus.request({
521
+ type: MessageBusType.HOOK_EXECUTION_REQUEST,
522
+ eventName: 'UserPromptSubmit',
523
+ input: {
524
+ prompt: promptText,
525
+ },
526
+ signal: pendingSend.signal,
527
+ }, MessageBusType.HOOK_EXECUTION_RESPONSE);
528
+ const hookOutput = response.output
529
+ ? createHookOutput('UserPromptSubmit', response.output)
530
+ : undefined;
531
+ if (hookOutput?.isBlockingDecision() ||
532
+ hookOutput?.shouldStopExecution()) {
533
+ // Hook blocked the prompt - send notification to UI and return
534
+ const blockReason = hookOutput?.getEffectiveReason() || 'No reason provided';
535
+ await this.messageEmitter.emitAgentMessage(`🚫 **UserPromptSubmit blocked**: ${blockReason}`);
536
+ return { stopReason: 'end_turn' };
537
+ }
538
+ // Add additional context from hooks to the request
539
+ const additionalContext = hookOutput?.getAdditionalContext();
540
+ if (additionalContext) {
541
+ parts = [...parts, { text: additionalContext }];
542
+ }
543
+ }
544
+ // Prepend session-level system reminders (plan mode / subagent /
545
+ // arena) so the model sees them, matching the behaviour of
546
+ // `GeminiClient.sendMessageStream` in the CLI/TUI path. Without this,
547
+ // plan mode in ACP has no effect because the model never learns it
548
+ // should avoid edits (#1151).
549
+ const systemReminders = await this.#buildInitialSystemReminders();
550
+ if (systemReminders.length > 0) {
551
+ parts = [...systemReminders, ...parts];
552
+ }
553
+ // Phase C: one-shot worktree restore notice, set by acpAgent on
554
+ // --resume / loadSession when the session's worktree is still alive.
555
+ // Prepended exactly once, then cleared so it doesn't repeat on
556
+ // subsequent turns.
557
+ if (this.pendingWorktreeNotice) {
558
+ parts = [
559
+ {
560
+ text: `<system-reminder>\n${this.pendingWorktreeNotice}\n</system-reminder>\n\n`,
561
+ },
562
+ ...parts,
563
+ ];
564
+ this.pendingWorktreeNotice = null;
565
+ }
566
+ let nextMessage = { role: 'user', parts };
567
+ while (nextMessage !== null) {
568
+ if (pendingSend.signal.aborted) {
569
+ this.#getCurrentChat().addHistory(nextMessage);
570
+ return { stopReason: 'cancelled' };
571
+ }
572
+ const functionCalls = [];
573
+ let usageMetadata = null;
574
+ const streamStartTime = Date.now();
575
+ try {
576
+ const sendResult = await this.#sendMessageStreamWithAutoCompression(promptId, nextMessage?.parts ?? [], pendingSend.signal);
577
+ if (!sendResult.responseStream) {
578
+ this.#preserveUnsentMessageHistory(nextMessage, sendResult.stopReason === 'cancelled');
579
+ return { stopReason: sendResult.stopReason };
580
+ }
581
+ const responseStream = sendResult.responseStream;
582
+ nextMessage = null;
583
+ for await (const resp of responseStream) {
584
+ if (pendingSend.signal.aborted) {
585
+ return { stopReason: 'cancelled' };
586
+ }
587
+ if (resp.type === StreamEventType.CHUNK &&
588
+ resp.value.candidates &&
589
+ resp.value.candidates.length > 0) {
590
+ const candidate = resp.value.candidates[0];
591
+ for (const part of candidate.content?.parts ?? []) {
592
+ if (!part.text) {
593
+ continue;
594
+ }
595
+ this.messageEmitter.emitMessage(part.text, 'assistant', part.thought);
596
+ }
597
+ }
598
+ if (resp.type === StreamEventType.CHUNK &&
599
+ resp.value.usageMetadata) {
600
+ usageMetadata = resp.value.usageMetadata;
601
+ }
602
+ if (resp.type === StreamEventType.CHUNK &&
603
+ resp.value.functionCalls) {
604
+ functionCalls.push(...resp.value.functionCalls);
605
+ }
606
+ }
607
+ }
608
+ catch (error) {
609
+ // Fire StopFailure hook (fire-and-forget, replaces Stop event for API errors)
610
+ // Aligned with useGeminiStream.ts handleFinishedWithErrorEvent
611
+ const errorStatus = getErrorStatus(error);
612
+ const errorMessage = error instanceof Error ? error.message : String(error);
613
+ const errorType = classifyApiError({
614
+ message: errorMessage,
615
+ status: errorStatus,
616
+ });
617
+ const hookSystem = this.config.getHookSystem?.();
618
+ const hooksEnabledForStopFailure = !this.config.getDisableAllHooks?.();
619
+ if (hooksEnabledForStopFailure &&
620
+ hookSystem &&
621
+ this.config.hasHooksForEvent?.('StopFailure')) {
622
+ // Fire-and-forget: don't wait for hook to complete
623
+ hookSystem
624
+ .fireStopFailureEvent(errorType, errorMessage)
625
+ .catch((err) => {
626
+ debugLogger.warn(`StopFailure hook failed: ${err}`);
627
+ });
628
+ }
629
+ if (errorStatus === 429) {
630
+ throw new RequestError(429, 'Rate limit exceeded. Try again later.');
631
+ }
632
+ throw error;
633
+ }
634
+ if (usageMetadata) {
635
+ this.#recordPromptTokenCount(usageMetadata);
636
+ // Kick off rewrite in background (non-blocking, runs parallel to tools)
637
+ if (this.messageRewriter) {
638
+ this.messageRewriter.flushTurn(pendingSend.signal);
639
+ }
640
+ const durationMs = Date.now() - streamStartTime;
641
+ await this.messageEmitter.emitUsageMetadata(usageMetadata, '', durationMs);
642
+ }
643
+ if (functionCalls.length > 0) {
644
+ const toolResponseParts = await this.runToolCalls(pendingSend.signal, promptId, functionCalls);
645
+ nextMessage = {
646
+ role: 'user',
647
+ parts: [
648
+ ...toolResponseParts,
649
+ ...(await this.#drainMidTurnUserMessages()),
650
+ ],
651
+ };
652
+ }
653
+ }
654
+ // Wait for any pending rewrite before returning
655
+ if (this.messageRewriter) {
656
+ await this.messageRewriter.waitForPendingRewrites();
657
+ }
658
+ // Fire Stop hook loop (aligned with core path in client.ts)
659
+ // This is triggered after model response completes with no pending tool calls
660
+ return this.#handleStopHookLoop(pendingSend, promptId, hooksEnabled, messageBus);
661
+ });
662
+ }
663
+ /**
664
+ * Handles the Stop hook iteration loop.
665
+ * This method processes Stop hooks after a model response completes with no pending tool calls.
666
+ * If a Stop hook requests continuation, it sends a follow-up message and loops back.
667
+ * Maximum iterations (100) prevent infinite loops.
668
+ *
669
+ * @param pendingSend - The abort controller for the current prompt
670
+ * @param promptId - The prompt ID for tracking
671
+ * @param hooksEnabled - Whether hooks are enabled
672
+ * @param messageBus - The MessageBus for hook communication (may be undefined)
673
+ * @returns The ACP stop reason for the prompt.
674
+ */
675
+ async #handleStopHookLoop(pendingSend, promptId, hooksEnabled, messageBus) {
676
+ const stopHookBlockingCap = this.config.getStopHookBlockingCap();
677
+ let stopHookIterationCount = 0;
678
+ let stopHookReasons = [];
679
+ while (stopHookIterationCount < stopHookBlockingCap) {
680
+ if (!hooksEnabled ||
681
+ !messageBus ||
682
+ pendingSend.signal.aborted ||
683
+ !this.config.hasHooksForEvent?.('Stop')) {
684
+ return { stopReason: 'end_turn' };
685
+ }
686
+ // Extract last model text without cloning the full history.
687
+ const responseText = this.#getCurrentChat().getLastModelMessageText?.() ||
688
+ '[no response text]';
689
+ const response = await messageBus.request({
690
+ type: MessageBusType.HOOK_EXECUTION_REQUEST,
691
+ eventName: 'Stop',
692
+ input: {
693
+ stop_hook_active: true,
694
+ last_assistant_message: responseText,
695
+ },
696
+ signal: pendingSend.signal,
697
+ }, MessageBusType.HOOK_EXECUTION_RESPONSE);
698
+ // Check if aborted after hook execution
699
+ if (pendingSend.signal.aborted) {
700
+ return { stopReason: 'cancelled' };
701
+ }
702
+ const hookOutput = response.output
703
+ ? createHookOutput('Stop', response.output)
704
+ : undefined;
705
+ const stopOutput = hookOutput;
706
+ // Emit system message if provided by hook
707
+ if (stopOutput?.systemMessage) {
708
+ await this.messageEmitter.emitAgentMessage(stopOutput.systemMessage);
709
+ }
710
+ // For Stop hooks, blocking/stop execution should force continuation
711
+ if (stopOutput?.isBlockingDecision() ||
712
+ stopOutput?.shouldStopExecution()) {
713
+ const continueReason = stopOutput.getEffectiveReason();
714
+ // Track Stop hook iterations
715
+ stopHookIterationCount++;
716
+ stopHookReasons = [...stopHookReasons, continueReason];
717
+ if (stopHookIterationCount >= stopHookBlockingCap) {
718
+ const warning = formatStopHookBlockingCapWarning('Stop', stopHookBlockingCap);
719
+ abortGoalForStopHookCap(this.config, this.config.getSessionId(), warning);
720
+ await this.messageEmitter.emitAgentMessage(warning);
721
+ debugLogger.warn(warning);
722
+ return { stopReason: 'end_turn' };
723
+ }
724
+ if (stopHookIterationCount > 1) {
725
+ await this.messageEmitter.emitStopHookLoop(stopHookIterationCount, stopHookReasons, response.stopHookCount ?? 1);
726
+ }
727
+ // Continue the conversation with the hook's reason
728
+ const continueParts = [{ text: continueReason }];
729
+ let nextMessage = {
730
+ role: 'user',
731
+ parts: continueParts,
732
+ };
733
+ // Process the follow-up message and any tool calls that result
734
+ while (nextMessage !== null) {
735
+ if (pendingSend.signal.aborted) {
736
+ return { stopReason: 'cancelled' };
737
+ }
738
+ const functionCalls = [];
739
+ let usageMetadata = null;
740
+ const streamStartTime = Date.now();
741
+ try {
742
+ const continueSendResult = await this.#sendMessageStreamWithAutoCompression(promptId + '_stop_hook_' + stopHookIterationCount, nextMessage?.parts ?? [], pendingSend.signal, { skipCompression: stopHookIterationCount > 1 });
743
+ if (!continueSendResult.responseStream) {
744
+ this.#preserveUnsentMessageHistory(nextMessage, continueSendResult.stopReason === 'cancelled');
745
+ return { stopReason: continueSendResult.stopReason };
746
+ }
747
+ const continueResponseStream = continueSendResult.responseStream;
748
+ nextMessage = null;
749
+ for await (const resp of continueResponseStream) {
750
+ if (pendingSend.signal.aborted) {
751
+ return { stopReason: 'cancelled' };
752
+ }
753
+ if (resp.type === StreamEventType.CHUNK &&
754
+ resp.value.candidates &&
755
+ resp.value.candidates.length > 0) {
756
+ const candidate = resp.value.candidates[0];
757
+ for (const part of candidate.content?.parts ?? []) {
758
+ if (!part.text)
759
+ continue;
760
+ this.messageEmitter.emitMessage(part.text, 'assistant', part.thought);
761
+ }
762
+ }
763
+ if (resp.type === StreamEventType.CHUNK &&
764
+ resp.value.usageMetadata) {
765
+ usageMetadata = resp.value.usageMetadata;
766
+ }
767
+ if (resp.type === StreamEventType.CHUNK &&
768
+ resp.value.functionCalls) {
769
+ functionCalls.push(...resp.value.functionCalls);
770
+ }
771
+ }
772
+ }
773
+ catch (error) {
774
+ // Fire StopFailure hook (fire-and-forget)
775
+ const errorStatus = getErrorStatus(error);
776
+ const errorMessage = error instanceof Error ? error.message : String(error);
777
+ const errorType = classifyApiError({
778
+ message: errorMessage,
779
+ status: errorStatus,
780
+ });
781
+ const hookSystem = this.config.getHookSystem?.();
782
+ const hooksEnabledForStopFailure = !this.config.getDisableAllHooks?.();
783
+ if (hooksEnabledForStopFailure &&
784
+ hookSystem &&
785
+ this.config.hasHooksForEvent?.('StopFailure')) {
786
+ hookSystem
787
+ .fireStopFailureEvent(errorType, errorMessage)
788
+ .catch((err) => {
789
+ debugLogger.warn(`StopFailure hook failed: ${err}`);
790
+ });
791
+ }
792
+ if (errorStatus === 429) {
793
+ throw new RequestError(429, 'Rate limit exceeded. Try again later.');
794
+ }
795
+ throw error;
796
+ }
797
+ if (usageMetadata) {
798
+ this.#recordPromptTokenCount(usageMetadata);
799
+ const durationMs = Date.now() - streamStartTime;
800
+ await this.messageEmitter.emitUsageMetadata(usageMetadata, '', durationMs);
801
+ }
802
+ // Process tool calls from the follow-up message
803
+ if (functionCalls.length > 0) {
804
+ const toolResponseParts = await this.runToolCalls(pendingSend.signal, promptId, functionCalls);
805
+ nextMessage = {
806
+ role: 'user',
807
+ parts: [
808
+ ...toolResponseParts,
809
+ ...(await this.#drainMidTurnUserMessages()),
810
+ ],
811
+ };
812
+ }
813
+ }
814
+ // Loop continues to check Stop hook again after processing the follow-up
815
+ continue;
816
+ }
817
+ // Stop hook allowed stopping, exit the loop
818
+ break;
819
+ }
820
+ return { stopReason: 'end_turn' };
821
+ }
822
+ async sendUpdate(update) {
823
+ const params = {
824
+ sessionId: this.sessionId,
825
+ update,
826
+ };
827
+ await this.client.sessionUpdate(params);
828
+ }
829
+ #getCurrentChat() {
830
+ return this.config.getGeminiClient().getChat();
831
+ }
832
+ /**
833
+ * Mirrors the core send path for ACP model sends.
834
+ *
835
+ * Attempts automatic chat compression first, checks the session token limit,
836
+ * emits an ACP-visible notice when compression succeeds, and returns the ACP
837
+ * stop reason when the provider send should be skipped because the request
838
+ * was cancelled or the session token limit was exceeded.
839
+ */
840
+ async #sendMessageStreamWithAutoCompression(promptId, message, abortSignal, options = {}) {
841
+ const geminiClient = this.config.getGeminiClient();
842
+ let compressionDiagnostic = null;
843
+ let compressionInfo = null;
844
+ if (!options.skipCompression) {
845
+ try {
846
+ const compressed = await geminiClient.tryCompressChat(promptId, false, abortSignal);
847
+ compressionInfo = compressed;
848
+ this.#recordCompressionTokenCount(compressed);
849
+ if (compressed.compressionStatus === CompressionStatus.COMPRESSED) {
850
+ const reasonClause = compressed.triggerReason === 'image_overflow'
851
+ ? `accumulated enough tool screenshots to trigger compaction for ${this.config.getModel()}`
852
+ : `approached the input token limit for ${this.config.getModel()}`;
853
+ compressionDiagnostic =
854
+ `IMPORTANT: This conversation ${reasonClause}. ` +
855
+ `A compressed context will be sent for future messages (compressed from: ` +
856
+ `${compressed.originalTokenCount ?? 'unknown'} to ` +
857
+ `${compressed.newTokenCount ?? 'unknown'} tokens).`;
858
+ }
859
+ }
860
+ catch (compressionError) {
861
+ if (abortSignal.aborted || this.#isAbortError(compressionError)) {
862
+ debugLogger.debug(`Auto-compression aborted for prompt ${promptId}`);
863
+ return { responseStream: null, stopReason: 'cancelled' };
864
+ }
865
+ debugLogger.warn(`Auto-compression failed for prompt ${promptId}; proceeding without compression: ` +
866
+ this.#formatError(compressionError));
867
+ }
868
+ }
869
+ if (abortSignal.aborted) {
870
+ debugLogger.debug(`Auto-compression aborted for prompt ${promptId}`);
871
+ return { responseStream: null, stopReason: 'cancelled' };
872
+ }
873
+ if (!compressionInfo) {
874
+ this.#syncPromptTokenCountWithCurrentChat();
875
+ }
876
+ const sessionTokenLimit = this.config.getSessionTokenLimit();
877
+ if (sessionTokenLimit > 0) {
878
+ const lastPromptTokenCount = this.#getPostCompressionTokenCount(compressionInfo);
879
+ if (lastPromptTokenCount > sessionTokenLimit) {
880
+ debugLogger.warn(`Session token limit exceeded for prompt ${promptId}: ` +
881
+ `${lastPromptTokenCount} > ${sessionTokenLimit}. Send dropped.`);
882
+ await this.#emitAgentDiagnosticMessageSafely(`Session token limit exceeded: ${lastPromptTokenCount} tokens > ${sessionTokenLimit} limit. ` +
883
+ 'Please start a new session or increase the sessionTokenLimit in your settings.json.', `Failed to emit token limit diagnostic for prompt ${promptId}`);
884
+ return { responseStream: null, stopReason: 'max_tokens' };
885
+ }
886
+ }
887
+ if (compressionDiagnostic) {
888
+ await this.#emitAgentDiagnosticMessageSafely(compressionDiagnostic, `Failed to emit compression notification for prompt ${promptId}`);
889
+ }
890
+ if (abortSignal.aborted) {
891
+ debugLogger.debug(`Send aborted after compression diagnostic for prompt ${promptId}`);
892
+ return { responseStream: null, stopReason: 'cancelled' };
893
+ }
894
+ const responseStream = await this.#getCurrentChat().sendMessageStream(this.config.getModel(), {
895
+ message,
896
+ config: {
897
+ abortSignal,
898
+ },
899
+ }, promptId);
900
+ return { responseStream };
901
+ }
902
+ #preserveUnsentMessageHistory(message, preserveFullMessage) {
903
+ if (!message)
904
+ return;
905
+ if (preserveFullMessage) {
906
+ this.#getCurrentChat().addHistory(message);
907
+ return;
908
+ }
909
+ const functionResponseParts = message.parts?.filter((part) => 'functionResponse' in part && part.functionResponse) ?? [];
910
+ const droppedParts = (message.parts?.length ?? 0) - functionResponseParts.length;
911
+ if (droppedParts > 0) {
912
+ debugLogger.debug(`Dropping ${droppedParts} non-functionResponse part(s) from unsent ACP message after send was skipped.`);
913
+ }
914
+ if (functionResponseParts.length > 0) {
915
+ this.#getCurrentChat().addHistory({
916
+ ...message,
917
+ parts: functionResponseParts,
918
+ });
919
+ }
920
+ }
921
+ #recordCompressionTokenCount(info) {
922
+ this.#syncPromptTokenCountWithCurrentChat();
923
+ const tokenCount = this.#extractCompressionTokenCount(info);
924
+ if (tokenCount !== null && tokenCount > 0) {
925
+ this.lastPromptTokenCount = tokenCount;
926
+ }
927
+ }
928
+ #recordPromptTokenCount(usageMetadata) {
929
+ this.#syncPromptTokenCountWithCurrentChat();
930
+ const tokenCount = usageMetadata.promptTokenCount ?? usageMetadata.totalTokenCount;
931
+ if (tokenCount !== undefined && tokenCount > 0) {
932
+ this.lastPromptTokenCount = tokenCount;
933
+ }
934
+ }
935
+ #getPostCompressionTokenCount(info) {
936
+ const tokenCount = this.#extractCompressionTokenCount(info);
937
+ if (tokenCount !== null) {
938
+ return tokenCount;
939
+ }
940
+ return this.lastPromptTokenCount;
941
+ }
942
+ #extractCompressionTokenCount(info) {
943
+ if (!info) {
944
+ return null;
945
+ }
946
+ if (info.compressionStatus === CompressionStatus.COMPRESSED) {
947
+ return info.newTokenCount > 0 ? info.newTokenCount : null;
948
+ }
949
+ const tokenCount = info.originalTokenCount ?? info.newTokenCount ?? null;
950
+ if (tokenCount === 0 && info.compressionStatus === CompressionStatus.NOOP) {
951
+ return null;
952
+ }
953
+ return tokenCount;
954
+ }
955
+ #syncPromptTokenCountWithCurrentChat() {
956
+ const chat = this.#getCurrentChat();
957
+ if (this.lastPromptTokenCountChat &&
958
+ this.lastPromptTokenCountChat !== chat) {
959
+ this.lastPromptTokenCount = 0;
960
+ }
961
+ this.lastPromptTokenCountChat = chat;
962
+ }
963
+ #isAbortError(error) {
964
+ return ((error instanceof Error && error.name === 'AbortError') ||
965
+ (typeof DOMException !== 'undefined' &&
966
+ error instanceof DOMException &&
967
+ error.name === 'AbortError') ||
968
+ (typeof error === 'object' &&
969
+ error !== null &&
970
+ 'name' in error &&
971
+ error.name === 'AbortError'));
972
+ }
973
+ #formatError(error) {
974
+ if (error instanceof Error) {
975
+ const parts = [error.message];
976
+ const cause = error.cause;
977
+ if (cause instanceof Error) {
978
+ parts.push(`cause: ${cause.message}`);
979
+ }
980
+ const status = error.status;
981
+ if (status !== undefined) {
982
+ parts.push(`status: ${String(status)}`);
983
+ }
984
+ return parts.join(' | ');
985
+ }
986
+ try {
987
+ return JSON.stringify(error) ?? String(error);
988
+ }
989
+ catch {
990
+ return String(error);
991
+ }
992
+ }
993
+ async #emitAgentDiagnosticMessageSafely(text, failureContext) {
994
+ try {
995
+ await this.#emitAgentDiagnosticMessage(text);
996
+ }
997
+ catch (notifyError) {
998
+ debugLogger.warn(`${failureContext}: ${this.#formatError(notifyError)}`);
999
+ }
1000
+ }
1001
+ async #emitAgentDiagnosticMessage(text) {
1002
+ await this.sendUpdate({
1003
+ sessionUpdate: 'agent_message_chunk',
1004
+ content: { type: 'text', text },
1005
+ });
1006
+ }
1007
+ async #drainMidTurnUserMessages() {
1008
+ if (this.midTurnDrainUnavailable)
1009
+ return [];
1010
+ let drainPromise;
1011
+ try {
1012
+ drainPromise = this.client.extMethod(MID_TURN_QUEUE_DRAIN_METHOD, {
1013
+ sessionId: this.sessionId,
1014
+ });
1015
+ let timeoutHandle;
1016
+ const timeoutPromise = new Promise((_, reject) => {
1017
+ timeoutHandle = setTimeout(() => reject(new MidTurnDrainTimeoutError()), MID_TURN_QUEUE_DRAIN_TIMEOUT_MS);
1018
+ });
1019
+ let response;
1020
+ try {
1021
+ response = await Promise.race([drainPromise, timeoutPromise]);
1022
+ }
1023
+ finally {
1024
+ clearTimeout(timeoutHandle);
1025
+ }
1026
+ this.midTurnDrainTimeoutStrikes = 0;
1027
+ // A client may legally resolve with `result: null` (passed through
1028
+ // unwrapped by the ACP SDK); guard the object access so that doesn't
1029
+ // throw a TypeError and get misclassified as a transient drain error.
1030
+ const messages = response &&
1031
+ typeof response === 'object' &&
1032
+ Array.isArray(response['messages'])
1033
+ ? response['messages'].filter((message) => typeof message === 'string' && message.trim().length > 0)
1034
+ : [];
1035
+ return messages.map((message) => {
1036
+ const part = {
1037
+ text: `\n[User message received during tool execution]: ${message}`,
1038
+ };
1039
+ this.config
1040
+ .getChatRecordingService()
1041
+ ?.recordMidTurnUserMessage([part], message);
1042
+ return part;
1043
+ });
1044
+ }
1045
+ catch (error) {
1046
+ // The ACP SDK rejects with the raw JSON-RPC error object
1047
+ // (`{ code, message, data }`), which is not an `Error` instance, so
1048
+ // classify on the JSON-RPC code (-32601 = "Method not found") and fall
1049
+ // back to the message. Otherwise the one-shot latch never trips and every
1050
+ // tool batch keeps paying a failed `extMethod` round-trip all session.
1051
+ const errorMessage = error instanceof Error
1052
+ ? error.message
1053
+ : error && typeof error === 'object' && 'message' in error
1054
+ ? String(error.message)
1055
+ : String(error);
1056
+ const errorCode = error && typeof error === 'object' && 'code' in error
1057
+ ? error.code
1058
+ : undefined;
1059
+ const isTimeout = error instanceof MidTurnDrainTimeoutError;
1060
+ if (isTimeout) {
1061
+ this.midTurnDrainTimeoutStrikes += 1;
1062
+ // The lost race leaves the request pending; if the client settles it
1063
+ // later, a rejection must not surface as an unhandled rejection.
1064
+ drainPromise?.catch(() => { });
1065
+ }
1066
+ // Repeated timeouts are also permanent: a conforming client answers
1067
+ // (or rejects with -32601) immediately, so sustained silence means the
1068
+ // client drops unknown methods and would stall every subsequent tool
1069
+ // batch the same way. A single timeout is treated as transient so one
1070
+ // slow answer doesn't disable the drain for the whole session.
1071
+ const isPermanentError = errorCode === -32601 ||
1072
+ /method not found/i.test(errorMessage) ||
1073
+ (isTimeout &&
1074
+ this.midTurnDrainTimeoutStrikes >=
1075
+ MID_TURN_QUEUE_DRAIN_MAX_TIMEOUT_STRIKES);
1076
+ if (isPermanentError) {
1077
+ this.midTurnDrainUnavailable = true;
1078
+ }
1079
+ debugLogger.warn(`Mid-turn queue drain ${isPermanentError ? 'permanently ' : ''}unavailable [session ${this.sessionId}]: ${errorMessage}`);
1080
+ return [];
1081
+ }
1082
+ }
1083
+ /**
1084
+ * Starts the cron scheduler if cron is enabled and jobs exist.
1085
+ * The scheduler runs in the background, pushing fired prompts into
1086
+ * `cronQueue` and triggering `#drainCronQueue`.
1087
+ */
1088
+ #startCronSchedulerIfNeeded() {
1089
+ if (!this.config.isCronEnabled())
1090
+ return;
1091
+ if (this.cronDisabledByTokenLimit)
1092
+ return;
1093
+ const scheduler = this.config.getCronScheduler();
1094
+ if (scheduler.size === 0)
1095
+ return;
1096
+ scheduler.start((job) => {
1097
+ if (this.cronDisabledByTokenLimit)
1098
+ return;
1099
+ this.cronQueue.push(job.prompt);
1100
+ void this.#drainCronQueue();
1101
+ });
1102
+ }
1103
+ /**
1104
+ * Processes queued cron prompts one at a time. Uses `cronProcessing`
1105
+ * as a mutex to prevent concurrent access to the chat.
1106
+ */
1107
+ async #drainCronQueue() {
1108
+ if (this.disposed)
1109
+ return;
1110
+ if (this.cronProcessing)
1111
+ return;
1112
+ // Don't process cron while a user prompt is active — the queue will be
1113
+ // drained after the prompt completes (see end of prompt()).
1114
+ if (this.pendingPrompt)
1115
+ return;
1116
+ if (this.notificationProcessing)
1117
+ return;
1118
+ this.cronProcessing = true;
1119
+ let resolveCompletion;
1120
+ this.cronCompletion = new Promise((resolve) => {
1121
+ resolveCompletion = resolve;
1122
+ });
1123
+ try {
1124
+ while (this.cronQueue.length > 0) {
1125
+ const prompt = this.cronQueue.shift();
1126
+ await this.#executeCronPrompt(prompt);
1127
+ }
1128
+ }
1129
+ finally {
1130
+ this.cronProcessing = false;
1131
+ resolveCompletion();
1132
+ this.cronCompletion = null;
1133
+ void this.#drainNotificationQueue();
1134
+ // Stop scheduler if all jobs were deleted during execution
1135
+ if (this.config.isCronEnabled()) {
1136
+ const scheduler = this.config.getCronScheduler();
1137
+ if (scheduler.size === 0) {
1138
+ scheduler.stop();
1139
+ }
1140
+ }
1141
+ }
1142
+ }
1143
+ /**
1144
+ * Executes a single cron-fired prompt: echoes it as a user message with
1145
+ * `_meta.source='cron'`, streams the model response, and handles tool calls.
1146
+ */
1147
+ async #executeCronPrompt(prompt) {
1148
+ return Storage.runWithRuntimeBaseDir(this.runtimeBaseDir, this.config.getWorkingDir(), async () => {
1149
+ const ac = new AbortController();
1150
+ this.cronAbortController = ac;
1151
+ const promptId = this.config.getSessionId() + '########cron' + Date.now();
1152
+ try {
1153
+ // Echo the cron prompt as a user message so the client sees it
1154
+ await this.sendUpdate({
1155
+ sessionUpdate: 'user_message_chunk',
1156
+ content: { type: 'text', text: prompt },
1157
+ _meta: { source: 'cron' },
1158
+ });
1159
+ // Prepend session-level system reminders (same rationale as the
1160
+ // user-query path in #executePrompt).
1161
+ const cronReminders = await this.#buildInitialSystemReminders();
1162
+ let nextMessage = {
1163
+ role: 'user',
1164
+ parts: [...cronReminders, { text: prompt }],
1165
+ };
1166
+ while (nextMessage !== null) {
1167
+ if (ac.signal.aborted)
1168
+ return;
1169
+ const functionCalls = [];
1170
+ let usageMetadata = null;
1171
+ const streamStartTime = Date.now();
1172
+ const sendResult = await this.#sendMessageStreamWithAutoCompression(promptId, nextMessage.parts ?? [], ac.signal);
1173
+ if (!sendResult.responseStream) {
1174
+ this.#preserveUnsentMessageHistory(nextMessage, sendResult.stopReason === 'cancelled');
1175
+ if (sendResult.stopReason === 'max_tokens') {
1176
+ this.#stopCronAfterTokenLimit();
1177
+ }
1178
+ return;
1179
+ }
1180
+ const responseStream = sendResult.responseStream;
1181
+ nextMessage = null;
1182
+ for await (const resp of responseStream) {
1183
+ if (ac.signal.aborted)
1184
+ return;
1185
+ if (resp.type === StreamEventType.CHUNK &&
1186
+ resp.value.candidates &&
1187
+ resp.value.candidates.length > 0) {
1188
+ const candidate = resp.value.candidates[0];
1189
+ for (const part of candidate.content?.parts ?? []) {
1190
+ if (!part.text)
1191
+ continue;
1192
+ this.messageEmitter.emitMessage(part.text, 'assistant', part.thought);
1193
+ }
1194
+ }
1195
+ if (resp.type === StreamEventType.CHUNK &&
1196
+ resp.value.usageMetadata) {
1197
+ usageMetadata = resp.value.usageMetadata;
1198
+ }
1199
+ if (resp.type === StreamEventType.CHUNK &&
1200
+ resp.value.functionCalls) {
1201
+ functionCalls.push(...resp.value.functionCalls);
1202
+ }
1203
+ }
1204
+ if (usageMetadata) {
1205
+ this.#recordPromptTokenCount(usageMetadata);
1206
+ // Kick off rewrite in background (non-blocking)
1207
+ if (this.messageRewriter) {
1208
+ this.messageRewriter.flushTurn(ac.signal);
1209
+ }
1210
+ const durationMs = Date.now() - streamStartTime;
1211
+ await this.messageEmitter.emitUsageMetadata(usageMetadata, '', durationMs);
1212
+ }
1213
+ if (functionCalls.length > 0) {
1214
+ const toolResponseParts = await this.runToolCalls(ac.signal, promptId, functionCalls);
1215
+ nextMessage = {
1216
+ role: 'user',
1217
+ parts: [
1218
+ ...toolResponseParts,
1219
+ ...(await this.#drainMidTurnUserMessages()),
1220
+ ],
1221
+ };
1222
+ }
1223
+ }
1224
+ }
1225
+ catch (error) {
1226
+ if (ac.signal.aborted)
1227
+ return;
1228
+ debugLogger.error('Error processing cron prompt:', error);
1229
+ const msg = error instanceof Error ? error.message : String(error);
1230
+ await this.messageEmitter.emitAgentMessage(`[cron error] ${msg}`);
1231
+ }
1232
+ finally {
1233
+ if (this.cronAbortController === ac) {
1234
+ this.cronAbortController = null;
1235
+ }
1236
+ }
1237
+ });
1238
+ }
1239
+ #stopCronAfterTokenLimit() {
1240
+ this.cronDisabledByTokenLimit = true;
1241
+ this.cronQueue = [];
1242
+ if (!this.config.isCronEnabled())
1243
+ return;
1244
+ this.config.getCronScheduler().stop();
1245
+ void this.#emitAgentDiagnosticMessageSafely('Cron jobs disabled for the rest of this session due to token limit. Restart the session to re-enable.', 'Failed to emit cron-disabled diagnostic');
1246
+ }
1247
+ #registerBackgroundNotificationCallbacks() {
1248
+ const backgroundRegistry = this.config.getBackgroundTaskRegistry();
1249
+ backgroundRegistry.setNotificationCallback((displayText, modelText, meta) => {
1250
+ this.#enqueueBackgroundNotification({
1251
+ displayText,
1252
+ modelText,
1253
+ taskId: meta.agentId,
1254
+ status: meta.status,
1255
+ kind: 'agent',
1256
+ toolUseId: meta.toolUseId,
1257
+ });
1258
+ });
1259
+ const monitorRegistry = this.config.getMonitorRegistry();
1260
+ monitorRegistry.setNotificationCallback((displayText, modelText, meta) => {
1261
+ if (meta.status === 'running') {
1262
+ return;
1263
+ }
1264
+ this.#enqueueBackgroundNotification({
1265
+ displayText,
1266
+ modelText,
1267
+ taskId: meta.monitorId,
1268
+ status: meta.status,
1269
+ kind: 'monitor',
1270
+ toolUseId: meta.toolUseId,
1271
+ });
1272
+ });
1273
+ const shellRegistry = this.config.getBackgroundShellRegistry();
1274
+ shellRegistry.setNotificationCallback((displayText, modelText, meta) => {
1275
+ this.#enqueueBackgroundNotification({
1276
+ displayText,
1277
+ modelText,
1278
+ taskId: meta.shellId,
1279
+ status: meta.status,
1280
+ kind: 'shell',
1281
+ });
1282
+ });
1283
+ }
1284
+ #enqueueBackgroundNotification(item) {
1285
+ while (this.notificationQueue.length >= MAX_NOTIFICATION_QUEUE) {
1286
+ const evicted = this.notificationQueue.shift();
1287
+ debugLogger.warn(`Notification queue overflow: evicting task=${evicted.taskId} kind=${evicted.kind}`);
1288
+ }
1289
+ this.notificationQueue.push(item);
1290
+ void this.#drainNotificationQueue();
1291
+ }
1292
+ async #drainNotificationQueue() {
1293
+ if (this.disposed)
1294
+ return;
1295
+ if (this.notificationProcessing)
1296
+ return;
1297
+ if (this.pendingPrompt || this.cronProcessing || this.cronAbortController) {
1298
+ return;
1299
+ }
1300
+ if (this.notificationQueue.length === 0)
1301
+ return;
1302
+ this.notificationProcessing = true;
1303
+ let resolveCompletion;
1304
+ this.notificationCompletion = new Promise((resolve) => {
1305
+ resolveCompletion = resolve;
1306
+ });
1307
+ try {
1308
+ while (this.notificationQueue.length > 0) {
1309
+ if (this.pendingPrompt ||
1310
+ this.cronProcessing ||
1311
+ this.cronAbortController) {
1312
+ break;
1313
+ }
1314
+ const item = this.notificationQueue.shift();
1315
+ await this.#executeBackgroundNotificationPrompt(item);
1316
+ }
1317
+ }
1318
+ finally {
1319
+ this.notificationProcessing = false;
1320
+ resolveCompletion();
1321
+ this.notificationCompletion = null;
1322
+ void this.#drainCronQueue();
1323
+ if (this.notificationQueue.length > 0 &&
1324
+ !this.pendingPrompt &&
1325
+ !this.cronProcessing &&
1326
+ !this.cronAbortController) {
1327
+ void this.#drainNotificationQueue();
1328
+ }
1329
+ }
1330
+ }
1331
+ async #executeBackgroundNotificationPrompt(item) {
1332
+ return Storage.runWithRuntimeBaseDir(this.runtimeBaseDir, this.config.getWorkingDir(), async () => {
1333
+ const ac = new AbortController();
1334
+ this.notificationAbortController = ac;
1335
+ const promptId = this.config.getSessionId() + '########notification' + Date.now();
1336
+ try {
1337
+ await this.#emitBackgroundNotificationDisplay(item);
1338
+ const notificationParts = [{ text: item.modelText }];
1339
+ this.config
1340
+ .getChatRecordingService()
1341
+ ?.recordNotification(notificationParts, item.displayText);
1342
+ const notificationReminders = await this.#buildInitialSystemReminders();
1343
+ let nextMessage = {
1344
+ role: 'user',
1345
+ parts: [...notificationReminders, ...notificationParts],
1346
+ };
1347
+ while (nextMessage !== null) {
1348
+ if (ac.signal.aborted) {
1349
+ await this.#emitBackgroundNotificationEndTurn('cancelled');
1350
+ return;
1351
+ }
1352
+ const functionCalls = [];
1353
+ let usageMetadata = null;
1354
+ let responseText = '';
1355
+ const streamStartTime = Date.now();
1356
+ const sendResult = await this.#sendMessageStreamWithAutoCompression(promptId, nextMessage.parts ?? [], ac.signal);
1357
+ if (!sendResult.responseStream) {
1358
+ this.#preserveUnsentMessageHistory(nextMessage, sendResult.stopReason === 'cancelled');
1359
+ await this.#emitBackgroundNotificationEndTurn(sendResult.stopReason);
1360
+ return;
1361
+ }
1362
+ const responseStream = sendResult.responseStream;
1363
+ nextMessage = null;
1364
+ for await (const resp of responseStream) {
1365
+ if (ac.signal.aborted) {
1366
+ await this.#emitBackgroundNotificationEndTurn('cancelled');
1367
+ return;
1368
+ }
1369
+ if (resp.type === StreamEventType.CHUNK &&
1370
+ resp.value.candidates &&
1371
+ resp.value.candidates.length > 0) {
1372
+ const candidate = resp.value.candidates[0];
1373
+ for (const part of candidate.content?.parts ?? []) {
1374
+ if (!part.text)
1375
+ continue;
1376
+ if (part.thought) {
1377
+ await this.messageEmitter.emitMessage(part.text, 'assistant', true);
1378
+ }
1379
+ else {
1380
+ responseText += part.text;
1381
+ }
1382
+ }
1383
+ }
1384
+ if (resp.type === StreamEventType.CHUNK &&
1385
+ resp.value.usageMetadata) {
1386
+ usageMetadata = resp.value.usageMetadata;
1387
+ }
1388
+ if (resp.type === StreamEventType.CHUNK &&
1389
+ resp.value.functionCalls) {
1390
+ functionCalls.push(...resp.value.functionCalls);
1391
+ }
1392
+ }
1393
+ if (responseText.length > 0) {
1394
+ await this.#emitBackgroundNotificationResponse(item, responseText, ac.signal);
1395
+ }
1396
+ if (this.messageRewriter) {
1397
+ await this.messageRewriter.flushTurn(ac.signal);
1398
+ }
1399
+ if (usageMetadata) {
1400
+ this.#recordPromptTokenCount(usageMetadata);
1401
+ const durationMs = Date.now() - streamStartTime;
1402
+ await this.messageEmitter.emitUsageMetadata(usageMetadata, '', durationMs);
1403
+ }
1404
+ if (functionCalls.length > 0) {
1405
+ const toolResponseParts = await this.runToolCalls(ac.signal, promptId, functionCalls);
1406
+ nextMessage = { role: 'user', parts: toolResponseParts };
1407
+ }
1408
+ }
1409
+ if (this.messageRewriter) {
1410
+ await this.messageRewriter.waitForPendingRewrites();
1411
+ }
1412
+ await this.#emitBackgroundNotificationEndTurn('end_turn');
1413
+ }
1414
+ catch (error) {
1415
+ if (ac.signal.aborted) {
1416
+ await this.#emitBackgroundNotificationEndTurn('cancelled');
1417
+ return;
1418
+ }
1419
+ debugLogger.error('Error processing background notification:', error);
1420
+ const msg = error instanceof Error ? error.message : String(error);
1421
+ try {
1422
+ await this.messageEmitter.emitAgentMessage(`[notification error] ${msg}`);
1423
+ }
1424
+ catch (emitError) {
1425
+ debugLogger.error('Failed to emit background notification error:', emitError);
1426
+ }
1427
+ finally {
1428
+ await this.#emitBackgroundNotificationEndTurn('end_turn');
1429
+ }
1430
+ }
1431
+ finally {
1432
+ if (this.notificationAbortController === ac) {
1433
+ this.notificationAbortController = null;
1434
+ }
1435
+ }
1436
+ });
1437
+ }
1438
+ async #emitBackgroundNotificationDisplay(item) {
1439
+ await this.sendUpdate({
1440
+ sessionUpdate: 'agent_message_chunk',
1441
+ content: { type: 'text', text: item.displayText },
1442
+ _meta: {
1443
+ source: 'background_notification',
1444
+ qwenDiscreteMessage: true,
1445
+ backgroundTask: {
1446
+ taskId: item.taskId,
1447
+ status: item.status,
1448
+ kind: item.kind,
1449
+ toolUseId: item.toolUseId,
1450
+ },
1451
+ },
1452
+ });
1453
+ }
1454
+ async #emitBackgroundNotificationResponse(item, text, signal) {
1455
+ const update = {
1456
+ sessionUpdate: 'agent_message_chunk',
1457
+ content: { type: 'text', text },
1458
+ _meta: {
1459
+ source: 'background_notification_response',
1460
+ qwenDiscreteMessage: true,
1461
+ backgroundTask: {
1462
+ taskId: item.taskId,
1463
+ status: item.status,
1464
+ kind: item.kind,
1465
+ toolUseId: item.toolUseId,
1466
+ },
1467
+ },
1468
+ };
1469
+ if (this.messageRewriter) {
1470
+ await this.messageRewriter.interceptUpdate(update, signal);
1471
+ return;
1472
+ }
1473
+ await this.sendUpdate(update);
1474
+ }
1475
+ async #emitBackgroundNotificationEndTurn(reason) {
1476
+ try {
1477
+ await this.client.extNotification('_qwencode/end_turn', {
1478
+ sessionId: this.sessionId,
1479
+ reason,
1480
+ source: 'background_notification',
1481
+ });
1482
+ }
1483
+ catch (error) {
1484
+ debugLogger.debug(`Background notification end-turn extNotification dropped: ${this.#formatError(error)}`);
1485
+ }
1486
+ }
1487
+ async sendAvailableCommandsUpdate() {
1488
+ try {
1489
+ const { availableCommands, availableSkills, availableSkillDetails } = await buildAvailableCommandsSnapshot(this.config);
1490
+ const update = {
1491
+ sessionUpdate: 'available_commands_update',
1492
+ availableCommands,
1493
+ ...(availableSkills !== undefined
1494
+ ? {
1495
+ _meta: {
1496
+ availableSkills,
1497
+ ...(availableSkillDetails ? { availableSkillDetails } : {}),
1498
+ },
1499
+ }
1500
+ : {}),
1501
+ };
1502
+ await this.sendUpdate(update);
1503
+ }
1504
+ catch (error) {
1505
+ // Log error but don't fail session creation
1506
+ debugLogger.error('Error sending available commands update:', error);
1507
+ }
1508
+ }
1509
+ /**
1510
+ * Requests permission from the client for a tool call.
1511
+ * Used by SubAgentTracker for sub-agent approval requests.
1512
+ */
1513
+ async requestPermission(params) {
1514
+ return this.client.requestPermission(params);
1515
+ }
1516
+ /**
1517
+ * Sets the approval mode for the current session.
1518
+ * Maps ACP approval mode values to core ApprovalMode enum.
1519
+ */
1520
+ async setMode(params) {
1521
+ const modeMap = {
1522
+ plan: ApprovalMode.PLAN,
1523
+ default: ApprovalMode.DEFAULT,
1524
+ 'auto-edit': ApprovalMode.AUTO_EDIT,
1525
+ auto: ApprovalMode.AUTO,
1526
+ yolo: ApprovalMode.YOLO,
1527
+ };
1528
+ const approvalMode = modeMap[params.modeId];
1529
+ this.config.setApprovalMode(approvalMode);
1530
+ }
1531
+ /**
1532
+ * Sets the model for the current session.
1533
+ * Validates the model ID and switches the model via Config.
1534
+ */
1535
+ async setModel(params, options = {}) {
1536
+ const rawModelId = params.modelId.trim();
1537
+ if (!rawModelId) {
1538
+ throw RequestError.invalidParams(undefined, 'modelId cannot be empty');
1539
+ }
1540
+ const parsed = parseAcpModelOption(rawModelId);
1541
+ const previousAuthType = this.config.getAuthType?.();
1542
+ const selectedAuthType = parsed.authType ?? previousAuthType;
1543
+ if (!selectedAuthType) {
1544
+ throw RequestError.invalidParams(undefined, `authType cannot be determined for modelId "${parsed.modelId}"`);
1545
+ }
1546
+ await this.config.switchModel(selectedAuthType, parsed.modelId, selectedAuthType !== previousAuthType &&
1547
+ selectedAuthType === AuthType.QWEN_OAUTH
1548
+ ? { requireCachedCredentials: true }
1549
+ : undefined);
1550
+ if (options.persistDefault ?? true) {
1551
+ const persistScope = getPersistScopeForModelSelection(this.settings);
1552
+ this.settings.setValue(persistScope, 'model.name', parsed.modelId);
1553
+ this.settings.setValue(persistScope, 'security.auth.selectedType', selectedAuthType);
1554
+ }
1555
+ }
1556
+ /**
1557
+ * Sends a current_mode_update notification to the client.
1558
+ * Called after the agent switches modes (e.g., from exit_plan_mode tool).
1559
+ */
1560
+ async sendCurrentModeUpdateNotification(outcome) {
1561
+ // Determine the new mode based on the approval outcome
1562
+ // This mirrors the logic in ExitPlanModeTool.onConfirm
1563
+ let newModeId;
1564
+ switch (outcome) {
1565
+ case ToolConfirmationOutcome.ProceedAlways:
1566
+ newModeId = 'auto-edit';
1567
+ break;
1568
+ case ToolConfirmationOutcome.RestorePrevious:
1569
+ // onConfirm has already restored the mode; read the actual current mode
1570
+ newModeId = this.config.getApprovalMode();
1571
+ break;
1572
+ case ToolConfirmationOutcome.ProceedOnce:
1573
+ default:
1574
+ newModeId = 'default';
1575
+ break;
1576
+ }
1577
+ const update = {
1578
+ sessionUpdate: 'current_mode_update',
1579
+ currentModeId: newModeId,
1580
+ };
1581
+ await this.sendUpdate(update);
1582
+ }
1583
+ /**
1584
+ * Execute a batch of model-returned tool calls, running Agent calls
1585
+ * concurrently while keeping other tools sequential.
1586
+ *
1587
+ * Mirrors the partition logic in `coreToolScheduler.partitionToolCalls`:
1588
+ * consecutive Agent calls form a parallel batch (they spawn independent
1589
+ * sub-agents with no shared mutable state); any other tool forms its own
1590
+ * sequential batch to preserve the implicit ordering the model may rely
1591
+ * on. Response-part ordering matches the original `functionCalls` order.
1592
+ */
1593
+ async runToolCalls(abortSignal, promptId, functionCalls) {
1594
+ const batches = [];
1595
+ for (const fc of functionCalls) {
1596
+ const isAgent = fc.name === ToolNames.AGENT;
1597
+ const last = batches[batches.length - 1];
1598
+ if (isAgent && last?.concurrent) {
1599
+ last.calls.push(fc);
1600
+ }
1601
+ else {
1602
+ batches.push({ concurrent: isAgent, calls: [fc] });
1603
+ }
1604
+ }
1605
+ // Bounded-concurrency runner: matches core's `runConcurrently`
1606
+ // behaviour (`coreToolScheduler.ts:1506`), capped by
1607
+ // `QWEN_CODE_MAX_TOOL_CONCURRENCY` (default 10). Results are returned
1608
+ // in input order regardless of resolution order.
1609
+ const runBounded = async (calls) => {
1610
+ const parsed = parseInt(process.env['QWEN_CODE_MAX_TOOL_CONCURRENCY'] || '', 10);
1611
+ const maxConcurrency = Number.isFinite(parsed) && parsed >= 1 ? parsed : 10;
1612
+ const results = new Array(calls.length);
1613
+ const executing = new Set();
1614
+ for (let i = 0; i < calls.length; i++) {
1615
+ const idx = i;
1616
+ const p = this.runTool(abortSignal, promptId, calls[idx])
1617
+ .then((r) => {
1618
+ results[idx] = r;
1619
+ })
1620
+ .finally(() => {
1621
+ executing.delete(p);
1622
+ });
1623
+ executing.add(p);
1624
+ if (executing.size >= maxConcurrency) {
1625
+ await Promise.race(executing);
1626
+ }
1627
+ }
1628
+ await Promise.all(executing);
1629
+ return results;
1630
+ };
1631
+ const parts = [];
1632
+ for (const batch of batches) {
1633
+ if (batch.concurrent && batch.calls.length > 1) {
1634
+ const results = await runBounded(batch.calls);
1635
+ for (const r of results)
1636
+ parts.push(...r);
1637
+ }
1638
+ else {
1639
+ for (const fc of batch.calls) {
1640
+ const r = await this.runTool(abortSignal, promptId, fc);
1641
+ parts.push(...r);
1642
+ }
1643
+ }
1644
+ }
1645
+ return parts;
1646
+ }
1647
+ /**
1648
+ * Assemble the per-turn system reminders the model needs to see at the
1649
+ * start of a user query or cron fire. Mirrors the subagent/plan/arena
1650
+ * branches in `GeminiClient.sendMessageStream` (`client.ts:848-878`) —
1651
+ * the ACP path bypasses that code, so without this helper plan mode is
1652
+ * silently inert (#1151) and subagent/arena sessions lose context.
1653
+ *
1654
+ * Scope note: the `relevantAutoMemory` reminder is intentionally NOT
1655
+ * included here. Managed auto-memory requires a prefetch pipeline that
1656
+ * lives in `GeminiClient`, and porting it into the ACP path is tracked
1657
+ * separately as part of the broader middleware-alignment work.
1658
+ */
1659
+ async #buildInitialSystemReminders() {
1660
+ const reminders = [];
1661
+ if (this.config.getApprovalMode() === ApprovalMode.PLAN) {
1662
+ reminders.push({
1663
+ text: getPlanModeSystemReminder(this.config.getSdkMode?.()),
1664
+ });
1665
+ }
1666
+ const arenaManager = this.config.getArenaManager?.();
1667
+ if (arenaManager) {
1668
+ try {
1669
+ const sessionDir = arenaManager.getArenaSessionDir();
1670
+ const configPath = `${sessionDir}/config.json`;
1671
+ reminders.push({ text: getArenaSystemReminder(configPath) });
1672
+ }
1673
+ catch {
1674
+ // Arena config not yet initialized — skip (matches client.ts).
1675
+ }
1676
+ }
1677
+ return reminders;
1678
+ }
1679
+ async runTool(abortSignal, promptId, fc) {
1680
+ const callId = fc.id ?? `${fc.name}-${Date.now()}`;
1681
+ let args = (fc.args ?? {});
1682
+ const startTime = Date.now();
1683
+ const errorResponse = (error) => {
1684
+ const durationMs = Date.now() - startTime;
1685
+ logToolCall(this.config, {
1686
+ 'event.name': 'tool_call',
1687
+ 'event.timestamp': new Date().toISOString(),
1688
+ prompt_id: promptId,
1689
+ function_name: fc.name ?? '',
1690
+ function_args: args,
1691
+ duration_ms: durationMs,
1692
+ status: 'error',
1693
+ success: false,
1694
+ error: error.message,
1695
+ tool_type: typeof tool !== 'undefined' && tool instanceof DiscoveredMCPTool
1696
+ ? 'mcp'
1697
+ : 'native',
1698
+ });
1699
+ return [
1700
+ {
1701
+ functionResponse: {
1702
+ id: callId,
1703
+ name: fc.name ?? '',
1704
+ response: { error: error.message },
1705
+ },
1706
+ },
1707
+ ];
1708
+ };
1709
+ const earlyErrorResponse = async (error, toolName = fc.name ?? 'unknown_tool') => {
1710
+ if (toolName !== ToolNames.TODO_WRITE) {
1711
+ await this.toolCallEmitter.emitError(callId, toolName, error);
1712
+ }
1713
+ const errorParts = errorResponse(error);
1714
+ this.config.getChatRecordingService()?.recordToolResult(errorParts, {
1715
+ callId,
1716
+ status: 'error',
1717
+ resultDisplay: undefined,
1718
+ error,
1719
+ errorType: undefined,
1720
+ });
1721
+ return errorParts;
1722
+ };
1723
+ if (!fc.name) {
1724
+ return earlyErrorResponse(new Error('Missing function name'));
1725
+ }
1726
+ const toolRegistry = this.config.getToolRegistry();
1727
+ const tool = toolRegistry.getTool(fc.name);
1728
+ if (!tool) {
1729
+ return earlyErrorResponse(new Error(`Tool "${fc.name}" not found in registry.`));
1730
+ }
1731
+ // ---- L1: Tool enablement check ----
1732
+ const pm = this.config.getPermissionManager?.();
1733
+ if (pm && !(await pm.isToolEnabled(fc.name))) {
1734
+ return earlyErrorResponse(new Error(`Qwen Code requires permission to use "${fc.name}", but that permission was declined.`), fc.name);
1735
+ }
1736
+ // Detect TodoWriteTool early - route to plan updates instead of tool_call events
1737
+ const isTodoWriteTool = tool.name === ToolNames.TODO_WRITE;
1738
+ const isAgentTool = tool.name === ToolNames.AGENT;
1739
+ const isExitPlanModeTool = tool.name === ToolNames.EXIT_PLAN_MODE;
1740
+ // Track cleanup functions for sub-agent event listeners
1741
+ let subAgentCleanupFunctions = [];
1742
+ // Generate tool_use_id for hook tracking (aligned with core path)
1743
+ const toolUseId = generateToolUseId();
1744
+ // Get approval mode for hook context (defined outside try for catch block access)
1745
+ const approvalMode = this.config.getApprovalMode();
1746
+ try {
1747
+ const invocation = tool.build(args);
1748
+ // Production AgentTool always initializes `eventEmitter` on its
1749
+ // invocation (`agent.ts:392`). Be defensive about the `undefined`
1750
+ // case too so an incomplete/custom AgentTool invocation degrades
1751
+ // gracefully (no sub-agent event forwarding) instead of throwing
1752
+ // inside SubAgentTracker.setup — the `'eventEmitter' in invocation`
1753
+ // key-presence check passed for `{ eventEmitter: undefined }` and
1754
+ // the ensuing `eventEmitter.on(...)` blew up.
1755
+ const taskEventEmitter = invocation.eventEmitter;
1756
+ if (isAgentTool && taskEventEmitter) {
1757
+ // Extract subagent metadata from AgentTool call
1758
+ const parentToolCallId = callId;
1759
+ const subagentType = args['subagent_type'] ?? '';
1760
+ // Create a SubAgentTracker for this tool execution
1761
+ const subSubAgentTracker = new SubAgentTracker(this, this.client, parentToolCallId, subagentType);
1762
+ // Set up sub-agent tool tracking
1763
+ subAgentCleanupFunctions = subSubAgentTracker.setup(taskEventEmitter, abortSignal);
1764
+ }
1765
+ // L3→L4→L5 Permission Flow (aligned with coreToolScheduler)
1766
+ //
1767
+ // L3: Tool's intrinsic default permission
1768
+ // L4: PermissionManager rule override
1769
+ // L5: ApprovalMode override (YOLO / AUTO_EDIT / PLAN)
1770
+ //
1771
+ // AUTO_EDIT auto-approval is handled HERE, same as coreToolScheduler.
1772
+ // The VS Code extension is just a UI layer for requestPermission.
1773
+ const isAskUserQuestionTool = fc.name === ToolNames.ASK_USER_QUESTION;
1774
+ // ---- L3→L4: Shared permission flow ----
1775
+ const toolParams = invocation.params;
1776
+ const flowResult = await evaluatePermissionFlow(this.config, invocation, fc.name, toolParams);
1777
+ const { finalPermission, pmForcedAsk, pmCtx, denyMessage } = flowResult;
1778
+ // ---- L5: ApprovalMode overrides ----
1779
+ const isPlanMode = approvalMode === ApprovalMode.PLAN;
1780
+ if (finalPermission === 'deny') {
1781
+ return earlyErrorResponse(new Error(denyMessage ?? `Tool "${fc.name}" is denied.`), fc.name);
1782
+ }
1783
+ // Explicit allow (user rule matched, or tool's L3 default is 'allow')
1784
+ // is authoritative for ordinary calls. In AUTO, protected
1785
+ // self-modification writes must still reach the classifier/fail-closed
1786
+ // path so allow rules cannot bypass AUTO mode's safety boundary.
1787
+ // Also resets the denialTracking streak so a following
1788
+ // classifier-eligible call doesn't surprise the user with a manual
1789
+ // prompt right after an allow-rule call just worked.
1790
+ const forceAutoReviewForAllow = approvalMode === ApprovalMode.AUTO &&
1791
+ shouldForceAutoModeReviewForAllow(pmCtx, this.config.getCwd());
1792
+ const confirmationPermission = getEffectivePermissionForConfirmation(finalPermission, forceAutoReviewForAllow);
1793
+ if (finalPermission === 'allow' && forceAutoReviewForAllow) {
1794
+ debugLogger.info(`Auto mode: L4 allow overridden by protected-write guard for ${fc.name}`);
1795
+ }
1796
+ let autoModeAllowed = finalPermission === 'allow' && !forceAutoReviewForAllow;
1797
+ if (autoModeAllowed && approvalMode === ApprovalMode.AUTO) {
1798
+ this.config.setAutoModeDenialState(recordAllow(this.config.getAutoModeDenialState()));
1799
+ }
1800
+ let wasAutoModeDenialFallback = false;
1801
+ // ── L5: AUTO mode three-layer filter (duplicated from
1802
+ // coreToolScheduler.ts; ACP routes through this Session path).
1803
+ // Returns 'allowed' / 'blocked' / 'fallback'. Blocked early-returns;
1804
+ // allowed skips requestPermission; fallback drops through to the
1805
+ // existing manual-approval flow below.
1806
+ if (!autoModeAllowed && shouldRunAutoModeForCall(approvalMode, fc.name)) {
1807
+ const denialState = this.config.getAutoModeDenialState();
1808
+ const fallback = shouldFallback(denialState);
1809
+ // `buildClassifierContents` retains only the most recent
1810
+ // MAX_TRANSCRIPT_MESSAGES messages; ask the chat client for
1811
+ // exactly that tail rather than triggering a `structuredClone`
1812
+ // of the whole session on every non-fast-path AUTO call.
1813
+ // Parallels coreToolScheduler.ts.
1814
+ const messages = this.config
1815
+ .getGeminiClient?.()
1816
+ ?.getHistoryTail(MAX_TRANSCRIPT_MESSAGES, false) ?? [];
1817
+ const decision = await evaluateAutoMode({
1818
+ ctx: pmCtx,
1819
+ pmForcedAsk,
1820
+ toolParams,
1821
+ messages,
1822
+ config: this.config,
1823
+ signal: abortSignal,
1824
+ skipClassifierReason: fallback.fallback ? fallback.reason : undefined,
1825
+ });
1826
+ // Apply decision via shared helper — eliminates ~40 lines of
1827
+ // line-for-line duplication with coreToolScheduler.ts and makes
1828
+ // the CLI / ACP paths share one source of truth for the
1829
+ // switch + denial-tracking state updates + exhaustiveness
1830
+ // guard.
1831
+ const outcome = applyAutoModeDecision(decision, this.config, denialState);
1832
+ await fireSessionPermissionDeniedForAutoMode(this.config, decision, outcome, fc.name, toolParams, callId, abortSignal);
1833
+ switch (outcome.kind) {
1834
+ case 'approved':
1835
+ autoModeAllowed = true;
1836
+ break;
1837
+ case 'blocked':
1838
+ debugLogger.warn(`Auto mode blocked (${outcome.reason}): tool=${fc.name}, ` +
1839
+ formatDenialStateLog(denialState));
1840
+ return earlyErrorResponse(new Error(outcome.errorMessage), fc.name);
1841
+ case 'fallback':
1842
+ // Drop through to the manual-approval flow below.
1843
+ wasAutoModeDenialFallback = isDenialFallbackReason(outcome.reason);
1844
+ if (wasAutoModeDenialFallback) {
1845
+ debugLogger.warn(`Auto mode fallback to manual approval (${outcome.reason}): ` +
1846
+ formatDenialStateLog(denialState));
1847
+ }
1848
+ break;
1849
+ default: {
1850
+ const _exhaustive = outcome;
1851
+ void _exhaustive;
1852
+ }
1853
+ }
1854
+ }
1855
+ let didRequestPermission = false;
1856
+ let confirmationDetails;
1857
+ const recordAutoModeFallbackResolution = (outcome) => {
1858
+ // Reset AUTO-mode fallback counters when approval resolves a prompt
1859
+ // raised because denialTracking forced fallback. This covers both ACP
1860
+ // requestPermission and PermissionRequest hook approvals.
1861
+ if (approvalMode === ApprovalMode.AUTO &&
1862
+ wasAutoModeDenialFallback &&
1863
+ isApproveOutcome(outcome)) {
1864
+ const before = this.config.getAutoModeDenialState();
1865
+ const after = recordFallbackApprove(before);
1866
+ if (after === before) {
1867
+ debugLogger.warn(`Auto mode denial counters already clear after fallback approval: ` +
1868
+ formatDenialStateLog(before));
1869
+ return;
1870
+ }
1871
+ debugLogger.warn(`Auto mode denial counters reset after fallback approval: ` +
1872
+ `${formatDenialStateLog(before)} -> ${formatDenialStateLog(after)}`);
1873
+ this.config.setAutoModeDenialState(after);
1874
+ }
1875
+ };
1876
+ if (!autoModeAllowed &&
1877
+ needsConfirmation(confirmationPermission, approvalMode, fc.name)) {
1878
+ confirmationDetails =
1879
+ await invocation.getConfirmationDetails(abortSignal);
1880
+ // Centralised rule injection (for display and persistence)
1881
+ injectPermissionRulesIfMissing(confirmationDetails, pmCtx);
1882
+ if (isPlanModeBlocked(isPlanMode, isExitPlanModeTool, isAskUserQuestionTool, confirmationDetails)) {
1883
+ return earlyErrorResponse(new Error(`Plan mode is active. The tool "${fc.name}" cannot be executed because it modifies the system. ` +
1884
+ 'Please use the exit_plan_mode tool to present your plan and exit plan mode before making changes.'), fc.name);
1885
+ }
1886
+ const messageBus = this.config.getMessageBus?.();
1887
+ const hooksEnabled = !this.config.getDisableAllHooks?.();
1888
+ let hookHandled = false;
1889
+ if (hooksEnabled && messageBus) {
1890
+ const hookResult = await firePermissionRequestHook(messageBus, fc.name, args, String(approvalMode));
1891
+ if (hookResult.hasDecision) {
1892
+ hookHandled = true;
1893
+ if (hookResult.shouldAllow) {
1894
+ if (hookResult.updatedInput) {
1895
+ args = hookResult.updatedInput;
1896
+ invocation.params =
1897
+ hookResult.updatedInput;
1898
+ }
1899
+ await confirmationDetails.onConfirm(ToolConfirmationOutcome.ProceedOnce);
1900
+ recordAutoModeFallbackResolution(ToolConfirmationOutcome.ProceedOnce);
1901
+ }
1902
+ else {
1903
+ return earlyErrorResponse(new Error(hookResult.denyMessage ||
1904
+ `Permission denied by hook for "${fc.name}"`), fc.name);
1905
+ }
1906
+ }
1907
+ }
1908
+ // AUTO_EDIT mode: auto-approve edit and info tools
1909
+ // (same as coreToolScheduler L5 — NOT delegated to the extension)
1910
+ if (approvalMode === ApprovalMode.AUTO_EDIT &&
1911
+ (confirmationDetails.type === 'edit' ||
1912
+ confirmationDetails.type === 'info')) {
1913
+ // Auto-approve, skip requestPermission.
1914
+ // didRequestPermission stays false → emitStart below.
1915
+ }
1916
+ else if (!hookHandled) {
1917
+ // Show permission dialog via ACP requestPermission
1918
+ didRequestPermission = true;
1919
+ const content = buildPermissionRequestContent(confirmationDetails);
1920
+ // Map tool kind, using switch_mode for exit_plan_mode per ACP spec
1921
+ const mappedKind = this.toolCallEmitter.mapToolKind(tool.kind, fc.name);
1922
+ if (hooksEnabled && messageBus) {
1923
+ this.fireNotificationHookWithTerminalSequence(messageBus, `Qwen Code needs your permission to use ${fc.name}`, NotificationType.PermissionPrompt, 'Permission needed');
1924
+ }
1925
+ const params = {
1926
+ sessionId: this.sessionId,
1927
+ options: toPermissionOptions(confirmationDetails, pmForcedAsk),
1928
+ toolCall: {
1929
+ toolCallId: callId,
1930
+ status: 'pending',
1931
+ title: invocation.getDescription(),
1932
+ content,
1933
+ locations: invocation.toolLocations(),
1934
+ kind: mappedKind,
1935
+ rawInput: args,
1936
+ },
1937
+ };
1938
+ const output = (await this.client.requestPermission(params));
1939
+ const outcome = output.outcome.outcome === 'cancelled'
1940
+ ? ToolConfirmationOutcome.Cancel
1941
+ : z
1942
+ .nativeEnum(ToolConfirmationOutcome)
1943
+ .parse(output.outcome.optionId);
1944
+ recordAutoModeFallbackResolution(outcome);
1945
+ await confirmationDetails.onConfirm(outcome, {
1946
+ answers: output.answers,
1947
+ });
1948
+ // Persist permission rules when user explicitly chose "Always Allow".
1949
+ // This branch is only reached for tools that went through
1950
+ // requestPermission (user saw dialog and made a choice).
1951
+ // AUTO_EDIT auto-approved tools never reach here.
1952
+ if (outcome === ToolConfirmationOutcome.ProceedAlways ||
1953
+ outcome === ToolConfirmationOutcome.ProceedAlwaysProject ||
1954
+ outcome === ToolConfirmationOutcome.ProceedAlwaysUser) {
1955
+ await persistPermissionOutcome(outcome, confirmationDetails, this.config.getOnPersistPermissionRule?.(), this.config.getPermissionManager?.(), { answers: output.answers });
1956
+ }
1957
+ // After exit_plan_mode confirmation, send current_mode_update
1958
+ if (isExitPlanModeTool &&
1959
+ outcome !== ToolConfirmationOutcome.Cancel) {
1960
+ await this.sendCurrentModeUpdateNotification(outcome);
1961
+ }
1962
+ // After edit tool ProceedAlways, notify the client about mode change
1963
+ if (confirmationDetails.type === 'edit' &&
1964
+ outcome === ToolConfirmationOutcome.ProceedAlways) {
1965
+ await this.sendCurrentModeUpdateNotification(outcome);
1966
+ }
1967
+ switch (outcome) {
1968
+ case ToolConfirmationOutcome.Cancel:
1969
+ return errorResponse(new Error(`Tool "${fc.name}" was canceled by the user.`));
1970
+ case ToolConfirmationOutcome.ProceedOnce:
1971
+ case ToolConfirmationOutcome.ProceedAlways:
1972
+ case ToolConfirmationOutcome.ProceedAlwaysProject:
1973
+ case ToolConfirmationOutcome.ProceedAlwaysUser:
1974
+ case ToolConfirmationOutcome.ProceedAlwaysServer:
1975
+ case ToolConfirmationOutcome.ProceedAlwaysTool:
1976
+ case ToolConfirmationOutcome.ModifyWithEditor:
1977
+ case ToolConfirmationOutcome.RestorePrevious:
1978
+ break;
1979
+ default: {
1980
+ const resultOutcome = outcome;
1981
+ throw new Error(`Unexpected: ${resultOutcome}`);
1982
+ }
1983
+ }
1984
+ }
1985
+ }
1986
+ if (!didRequestPermission && !isTodoWriteTool) {
1987
+ // Auto-approved (L3 allow / L4 PM allow / L5 YOLO|AUTO_EDIT)
1988
+ // → emit tool_call start notification
1989
+ const startParams = {
1990
+ callId,
1991
+ toolName: fc.name,
1992
+ args,
1993
+ status: 'in_progress',
1994
+ };
1995
+ await this.toolCallEmitter.emitStart(startParams);
1996
+ }
1997
+ // Fire PreToolUse hook (aligned with core path in coreToolScheduler.ts)
1998
+ const hooksEnabledForTool = !this.config.getDisableAllHooks?.();
1999
+ const messageBusForTool = this.config.getMessageBus?.();
2000
+ const permissionMode = String(approvalMode);
2001
+ if (hooksEnabledForTool && messageBusForTool) {
2002
+ const preHookResult = await firePreToolUseHook(messageBusForTool, fc.name, args, toolUseId, permissionMode, abortSignal);
2003
+ if (!preHookResult.shouldProceed) {
2004
+ // Hook blocked the tool execution - send notification to UI
2005
+ const blockReason = preHookResult.blockReason || 'Blocked by PreToolUse hook';
2006
+ await this.messageEmitter.emitAgentMessage(`🚫 **PreToolUse blocked**: ${fc.name} - ${blockReason}`);
2007
+ return earlyErrorResponse(new Error(blockReason), fc.name);
2008
+ }
2009
+ // Add additional context from PreToolUse hook if provided
2010
+ // Note: This context would need to be passed to the tool invocation
2011
+ // For now, we just log it as the tool execution proceeds
2012
+ if (preHookResult.additionalContext) {
2013
+ debugLogger.debug(`PreToolUse hook additional context for ${fc.name}: ${preHookResult.additionalContext}`);
2014
+ }
2015
+ }
2016
+ const sleepInhibitorHandle = acquireSleepInhibitor(this.config, `Qwen Code is executing tool ${fc.name}`);
2017
+ let toolResult;
2018
+ try {
2019
+ toolResult = await invocation.execute(abortSignal);
2020
+ }
2021
+ finally {
2022
+ sleepInhibitorHandle.release();
2023
+ }
2024
+ // Clean up event listeners
2025
+ subAgentCleanupFunctions.forEach((cleanup) => cleanup());
2026
+ // Create response parts first (needed for emitResult and recordToolResult)
2027
+ const responseParts = convertToFunctionResponse(fc.name, callId, toolResult.llmContent);
2028
+ // Fire PostToolUse hook on successful execution (aligned with core path)
2029
+ if (hooksEnabledForTool && messageBusForTool && !toolResult.error) {
2030
+ // Use the same response shape as core (llmContent/returnDisplay)
2031
+ const toolResponse = {
2032
+ llmContent: toolResult.llmContent,
2033
+ returnDisplay: toolResult.returnDisplay,
2034
+ };
2035
+ const postHookResult = await firePostToolUseHook(messageBusForTool, fc.name, args, toolResponse, toolUseId, permissionMode, abortSignal);
2036
+ // If hook indicates to stop, return an error response
2037
+ if (postHookResult.shouldStop) {
2038
+ const stopMessage = postHookResult.stopReason ||
2039
+ 'Execution stopped by PostToolUse hook';
2040
+ debugLogger.info(`PostToolUse hook requested stop for ${fc.name}: ${stopMessage}`);
2041
+ return earlyErrorResponse(new Error(stopMessage), fc.name);
2042
+ }
2043
+ // Add additional context from PostToolUse hook if provided
2044
+ if (postHookResult.additionalContext) {
2045
+ // Append additional context to the tool response
2046
+ const contextPart = { text: postHookResult.additionalContext };
2047
+ responseParts.push(contextPart);
2048
+ }
2049
+ }
2050
+ else if (hooksEnabledForTool && messageBusForTool && toolResult.error) {
2051
+ // Fire PostToolUseFailure hook when tool returns an error (aligned with core path)
2052
+ const failureHookResult = await firePostToolUseFailureHook(messageBusForTool, toolUseId, fc.name ?? 'unknown_tool', args, toolResult.error.message, false, // not an interrupt
2053
+ permissionMode, abortSignal);
2054
+ // Log additional context if provided
2055
+ if (failureHookResult.additionalContext) {
2056
+ debugLogger.debug(`PostToolUseFailure hook additional context for ${fc.name}: ${failureHookResult.additionalContext}`);
2057
+ }
2058
+ }
2059
+ // Handle TodoWriteTool: extract todos and send plan update
2060
+ if (isTodoWriteTool) {
2061
+ const todos = this.planEmitter.extractTodos(toolResult.returnDisplay, args);
2062
+ // Match original logic: emit plan if todos.length > 0 OR if args had todos
2063
+ if ((todos && todos.length > 0) || Array.isArray(args['todos'])) {
2064
+ await this.planEmitter.emitPlan(todos ?? []);
2065
+ }
2066
+ // Skip tool_call_update event for TodoWriteTool
2067
+ // Still log and return function response for LLM
2068
+ }
2069
+ else {
2070
+ // Normal tool handling: emit result using ToolCallEmitter
2071
+ // Convert toolResult.error to Error type if present
2072
+ const error = toolResult.error
2073
+ ? new Error(toolResult.error.message)
2074
+ : undefined;
2075
+ await this.toolCallEmitter.emitResult({
2076
+ callId,
2077
+ toolName: fc.name,
2078
+ args,
2079
+ message: responseParts,
2080
+ resultDisplay: toolResult.returnDisplay,
2081
+ error,
2082
+ success: !toolResult.error,
2083
+ });
2084
+ }
2085
+ const durationMs = Date.now() - startTime;
2086
+ logToolCall(this.config, {
2087
+ 'event.name': 'tool_call',
2088
+ 'event.timestamp': new Date().toISOString(),
2089
+ function_name: fc.name,
2090
+ function_args: args,
2091
+ duration_ms: durationMs,
2092
+ status: 'success',
2093
+ success: true,
2094
+ prompt_id: promptId,
2095
+ tool_type: typeof tool !== 'undefined' && tool instanceof DiscoveredMCPTool
2096
+ ? 'mcp'
2097
+ : 'native',
2098
+ });
2099
+ // Record tool result for session management
2100
+ this.config.getChatRecordingService()?.recordToolResult(responseParts, {
2101
+ callId,
2102
+ status: 'success',
2103
+ resultDisplay: toolResult.returnDisplay,
2104
+ error: undefined,
2105
+ errorType: undefined,
2106
+ });
2107
+ return responseParts;
2108
+ }
2109
+ catch (e) {
2110
+ // Ensure cleanup on error
2111
+ subAgentCleanupFunctions.forEach((cleanup) => cleanup());
2112
+ const error = e instanceof Error ? e : new Error(String(e));
2113
+ // Fire PostToolUseFailure hook (aligned with core path in coreToolScheduler.ts)
2114
+ const hooksEnabledForError = !this.config.getDisableAllHooks?.();
2115
+ const messageBusForError = this.config.getMessageBus?.();
2116
+ const isInterrupt = abortSignal.aborted;
2117
+ if (hooksEnabledForError && messageBusForError) {
2118
+ const failureHookResult = await firePostToolUseFailureHook(messageBusForError, toolUseId, fc.name ?? 'unknown_tool', args, error.message, isInterrupt, String(approvalMode), abortSignal);
2119
+ // Log additional context if provided
2120
+ if (failureHookResult.additionalContext) {
2121
+ debugLogger.debug(`PostToolUseFailure hook additional context for ${fc.name}: ${failureHookResult.additionalContext}`);
2122
+ }
2123
+ }
2124
+ // Use ToolCallEmitter for error handling
2125
+ await this.toolCallEmitter.emitError(callId, fc.name ?? 'unknown_tool', error);
2126
+ // Record tool error for session management
2127
+ const errorParts = [
2128
+ {
2129
+ functionResponse: {
2130
+ id: callId,
2131
+ name: fc.name ?? '',
2132
+ response: { error: error.message },
2133
+ },
2134
+ },
2135
+ ];
2136
+ this.config.getChatRecordingService()?.recordToolResult(errorParts, {
2137
+ callId,
2138
+ status: 'error',
2139
+ resultDisplay: undefined,
2140
+ error,
2141
+ errorType: undefined,
2142
+ });
2143
+ return errorResponse(error);
2144
+ }
2145
+ }
2146
+ /**
2147
+ * Processes the result of a slash command execution.
2148
+ *
2149
+ * Supported result types in ACP mode:
2150
+ * - submit_prompt: Submits content to the model
2151
+ * - stream_messages: Streams multiple messages to the client (ACP-specific)
2152
+ * - unsupported: Command cannot be executed in ACP mode
2153
+ * - no_command: No command was found, use original prompt
2154
+ *
2155
+ * Note: 'message' type is not supported in ACP mode - commands should use
2156
+ * 'stream_messages' instead for consistent async handling.
2157
+ *
2158
+ * @param result The result from handleSlashCommand
2159
+ * @param originalPrompt The original prompt blocks
2160
+ * @returns Parts to use for the prompt, or null if command was handled without needing model interaction
2161
+ */
2162
+ async #processSlashCommandResult(result, originalPrompt) {
2163
+ switch (result.type) {
2164
+ case 'submit_prompt':
2165
+ // Command wants to submit a prompt to the model
2166
+ // Convert PartListUnion to Part[]
2167
+ return normalizePartList(result.content);
2168
+ case 'message': {
2169
+ if (result.messageType === 'error') {
2170
+ // Throw error to stop execution
2171
+ throw new Error(result.content || 'Slash command failed.');
2172
+ }
2173
+ // Emit the message as an agent message chunk so Zed renders it in the
2174
+ // chat UI. extNotification only goes to the ACP debug log and is not
2175
+ // rendered by Zed.
2176
+ // Replace bare \n with Markdown hard line-breaks (two trailing spaces)
2177
+ // so Zed's Markdown renderer preserves the line structure.
2178
+ const rendered = (result.content || '').replace(/\n/g, ' \n');
2179
+ await this.messageEmitter.emitAgentMessage(rendered);
2180
+ // Write a system/slash_command record so history replay on restart can
2181
+ // re-emit this message. system records are skipped by
2182
+ // buildApiHistoryFromConversation, so this won't pollute model context.
2183
+ this.config.getChatRecordingService()?.recordSlashCommand({
2184
+ phase: 'result',
2185
+ rawCommand: originalPrompt
2186
+ .filter((b) => b.type === 'text')
2187
+ .map((b) => (b.type === 'text' ? b.text : ''))
2188
+ .join(' '),
2189
+ outputHistoryItems: [
2190
+ { type: 'assistant', text: result.content || '' },
2191
+ ],
2192
+ });
2193
+ return null;
2194
+ }
2195
+ case 'stream_messages': {
2196
+ // Command returns multiple messages via async generator (ACP-preferred)
2197
+ // Stream all messages to the client as agent message chunks.
2198
+ const chunks = [];
2199
+ for await (const msg of result.messages) {
2200
+ if (msg.messageType === 'error') {
2201
+ throw new Error(msg.content || 'Slash command failed.');
2202
+ }
2203
+ await this.messageEmitter.emitAgentMessage((msg.content || '').replace(/\n/g, ' \n'));
2204
+ chunks.push(msg.content || '');
2205
+ }
2206
+ // Write a system/slash_command record for history replay (same reason as
2207
+ // 'message' case — system records are invisible to model history).
2208
+ if (chunks.length > 0) {
2209
+ this.config.getChatRecordingService()?.recordSlashCommand({
2210
+ phase: 'result',
2211
+ rawCommand: originalPrompt
2212
+ .filter((b) => b.type === 'text')
2213
+ .map((b) => (b.type === 'text' ? b.text : ''))
2214
+ .join(' '),
2215
+ outputHistoryItems: [
2216
+ { type: 'assistant', text: chunks.join('\n') },
2217
+ ],
2218
+ });
2219
+ }
2220
+ // All messages sent successfully, return null to indicate command was handled
2221
+ return null;
2222
+ }
2223
+ case 'unsupported': {
2224
+ // Command returned an unsupported result type
2225
+ const unsupportedError = `Slash command not supported in ACP integration: ${result.reason}`;
2226
+ throw new Error(unsupportedError);
2227
+ }
2228
+ case 'no_command':
2229
+ // No command was found or executed, resolve the original prompt
2230
+ // through the standard path that handles all block types
2231
+ return this.#resolvePrompt(originalPrompt, new AbortController().signal);
2232
+ default: {
2233
+ // Exhaustiveness check
2234
+ const _exhaustive = result;
2235
+ const unknownError = `Unknown slash command result type: ${_exhaustive.type}`;
2236
+ throw new Error(unknownError);
2237
+ }
2238
+ }
2239
+ }
2240
+ async #resolvePrompt(message, abortSignal) {
2241
+ const FILE_URI_SCHEME = 'file://';
2242
+ const embeddedContext = [];
2243
+ const parts = message.map((part) => {
2244
+ switch (part.type) {
2245
+ case 'text':
2246
+ return { text: part.text };
2247
+ case 'image':
2248
+ case 'audio':
2249
+ return {
2250
+ inlineData: {
2251
+ mimeType: part.mimeType,
2252
+ data: part.data,
2253
+ },
2254
+ };
2255
+ case 'resource_link': {
2256
+ if (part.uri.startsWith(FILE_URI_SCHEME)) {
2257
+ return {
2258
+ fileData: {
2259
+ mimeData: part.mimeType,
2260
+ name: part.name,
2261
+ fileUri: part.uri.slice(FILE_URI_SCHEME.length),
2262
+ },
2263
+ };
2264
+ }
2265
+ else {
2266
+ return { text: `@${part.uri}` };
2267
+ }
2268
+ }
2269
+ case 'resource': {
2270
+ embeddedContext.push(part.resource);
2271
+ return { text: `@${part.resource.uri}` };
2272
+ }
2273
+ default: {
2274
+ const unreachable = part;
2275
+ throw new Error(`Unexpected chunk type: '${unreachable}'`);
2276
+ }
2277
+ }
2278
+ });
2279
+ const atPathCommandParts = parts.filter((part) => 'fileData' in part);
2280
+ if (atPathCommandParts.length === 0 && embeddedContext.length === 0) {
2281
+ return parts;
2282
+ }
2283
+ // Extract paths from @ commands - pass directly to readManyFiles without filtering
2284
+ // since this is user-triggered behavior, not LLM-triggered
2285
+ const pathSpecsToRead = atPathCommandParts.map((part) => part.fileData.fileUri);
2286
+ // Construct the initial part of the query for the LLM
2287
+ let initialQueryText = '';
2288
+ for (let i = 0; i < parts.length; i++) {
2289
+ const chunk = parts[i];
2290
+ if ('text' in chunk) {
2291
+ initialQueryText += chunk.text;
2292
+ }
2293
+ else if ('fileData' in chunk) {
2294
+ const pathName = chunk.fileData.fileUri;
2295
+ if (i > 0 &&
2296
+ initialQueryText.length > 0 &&
2297
+ !initialQueryText.endsWith(' ')) {
2298
+ initialQueryText += ' ';
2299
+ }
2300
+ initialQueryText += `@${pathName}`;
2301
+ }
2302
+ }
2303
+ const processedQueryParts = [];
2304
+ // Read files using readManyFiles utility
2305
+ if (pathSpecsToRead.length > 0) {
2306
+ const readResult = await readManyFiles(this.config, {
2307
+ paths: pathSpecsToRead,
2308
+ signal: abortSignal,
2309
+ });
2310
+ const contentParts = Array.isArray(readResult.contentParts)
2311
+ ? readResult.contentParts
2312
+ : [readResult.contentParts];
2313
+ // Add initial query text first
2314
+ processedQueryParts.push({ text: initialQueryText });
2315
+ // Then add content parts (preserving binary files as inlineData)
2316
+ for (const part of contentParts) {
2317
+ if (typeof part === 'string') {
2318
+ processedQueryParts.push({ text: part });
2319
+ }
2320
+ else {
2321
+ processedQueryParts.push(part);
2322
+ }
2323
+ }
2324
+ }
2325
+ else if (embeddedContext.length > 0) {
2326
+ // No @path files to read, but we have embedded context
2327
+ processedQueryParts.push({ text: initialQueryText.trim() });
2328
+ }
2329
+ else {
2330
+ // No @path files found
2331
+ processedQueryParts.push({ text: initialQueryText.trim() });
2332
+ }
2333
+ // Process embedded context from resource blocks
2334
+ for (const contextPart of embeddedContext) {
2335
+ // Type guard for text resources
2336
+ if ('text' in contextPart && contextPart.text) {
2337
+ processedQueryParts.push({
2338
+ text: `File: ${contextPart.uri}\n${contextPart.text}`,
2339
+ });
2340
+ }
2341
+ // Type guard for blob resources
2342
+ if ('blob' in contextPart && contextPart.blob) {
2343
+ processedQueryParts.push({
2344
+ inlineData: {
2345
+ mimeType: contextPart.mimeType ?? 'application/octet-stream',
2346
+ data: contextPart.blob,
2347
+ },
2348
+ });
2349
+ }
2350
+ }
2351
+ return processedQueryParts;
2352
+ }
2353
+ debug(msg) {
2354
+ if (this.config.getDebugMode()) {
2355
+ debugLogger.warn(msg);
2356
+ }
2357
+ }
2358
+ /**
2359
+ * Fire a notification hook and forward any terminalSequence to the ACP
2360
+ * client as an extNotification. Fire-and-forget — errors are logged at
2361
+ * debug level.
2362
+ */
2363
+ fireNotificationHookWithTerminalSequence(messageBus, message, notificationType, title) {
2364
+ void fireNotificationHook(messageBus, message, notificationType, title)
2365
+ .then((hookResult) => {
2366
+ if (!hookResult.terminalSequence)
2367
+ return;
2368
+ return this.client.extNotification('qwen/notify/session/terminal-sequence', {
2369
+ v: 1,
2370
+ sessionId: this.sessionId,
2371
+ terminalSequence: hookResult.terminalSequence,
2372
+ });
2373
+ })
2374
+ .catch((err) => {
2375
+ debugLogger.debug(`ACP terminalSequence notification dropped ` +
2376
+ `(session=${this.sessionId}): ` +
2377
+ `${err instanceof Error ? err.message : String(err)}`);
2378
+ });
2379
+ }
2380
+ }
2381
+ //# sourceMappingURL=Session.js.map