@pentoshi/clai 3.18.2 → 4.0.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 (1074) hide show
  1. package/README.md +44 -24
  2. package/bin/postinstall-policy.mjs +3 -0
  3. package/bin/postinstall.mjs +6 -3
  4. package/dist/agent/confirm-port.d.ts +5 -17
  5. package/dist/agent/confirm-port.js +8 -65
  6. package/dist/agent/confirm-port.js.map +1 -1
  7. package/dist/agent/evidence-governor.d.ts +1 -1
  8. package/dist/agent/evidence-governor.js +2 -2
  9. package/dist/agent/evidence-governor.js.map +1 -1
  10. package/dist/agent/loop-guard.d.ts +1 -0
  11. package/dist/agent/loop-guard.js +34 -1
  12. package/dist/agent/loop-guard.js.map +1 -1
  13. package/dist/agent/plan-decision.d.ts +0 -29
  14. package/dist/agent/plan-decision.js +0 -96
  15. package/dist/agent/plan-decision.js.map +1 -1
  16. package/dist/agent/plan-tool.js +19 -14
  17. package/dist/agent/plan-tool.js.map +1 -1
  18. package/dist/agent/progress-pause-policy.d.ts +0 -15
  19. package/dist/agent/progress-pause-policy.js +0 -15
  20. package/dist/agent/progress-pause-policy.js.map +1 -1
  21. package/dist/agent/runner.js +152 -392
  22. package/dist/agent/runner.js.map +1 -1
  23. package/dist/agent/task-evidence.d.ts +6 -0
  24. package/dist/agent/task-evidence.js +48 -3
  25. package/dist/agent/task-evidence.js.map +1 -1
  26. package/dist/agent/tool-history.js +11 -4
  27. package/dist/agent/tool-history.js.map +1 -1
  28. package/dist/app/commands/catalog.js +397 -0
  29. package/dist/app/commands/catalog.js.map +1 -0
  30. package/dist/app/commands/registry.js +1 -1
  31. package/dist/app/commands/registry.js.map +1 -1
  32. package/dist/app/confirm-prompt-text.d.ts +17 -0
  33. package/dist/app/confirm-prompt-text.js +34 -0
  34. package/dist/app/confirm-prompt-text.js.map +1 -0
  35. package/dist/app/controllers/session-controller.d.ts +1 -1
  36. package/dist/app/controllers/session-controller.js +3 -1
  37. package/dist/app/controllers/session-controller.js.map +1 -1
  38. package/dist/app/controllers/session-prompt-queue.d.ts +5 -1
  39. package/dist/app/controllers/session-prompt-queue.js +47 -30
  40. package/dist/app/controllers/session-prompt-queue.js.map +1 -1
  41. package/dist/app/controllers/turn-controller.js +41 -3
  42. package/dist/app/controllers/turn-controller.js.map +1 -1
  43. package/dist/app/ports/confirm-port.d.ts +0 -1
  44. package/dist/app/ports/persistence-port.d.ts +1 -1
  45. package/dist/app/ports/transcript-item.d.ts +63 -0
  46. package/dist/app/ports/transcript-item.js +2 -0
  47. package/dist/app/ports/transcript-item.js.map +1 -0
  48. package/dist/classic/app/ClassicApp.d.ts +12 -0
  49. package/dist/classic/app/ClassicApp.js +117 -0
  50. package/dist/classic/app/ClassicApp.js.map +1 -0
  51. package/dist/classic/app/action-handlers.d.ts +45 -0
  52. package/dist/classic/app/action-handlers.js +280 -0
  53. package/dist/classic/app/action-handlers.js.map +1 -0
  54. package/dist/classic/app/app-wiring.d.ts +133 -0
  55. package/dist/classic/app/app-wiring.js +383 -0
  56. package/dist/classic/app/app-wiring.js.map +1 -0
  57. package/dist/classic/app/use-feed.d.ts +40 -0
  58. package/dist/classic/app/use-feed.js +52 -0
  59. package/dist/classic/app/use-feed.js.map +1 -0
  60. package/dist/classic/app/wiring-interactions.d.ts +40 -0
  61. package/dist/classic/app/wiring-interactions.js +430 -0
  62. package/dist/classic/app/wiring-interactions.js.map +1 -0
  63. package/dist/classic/app/wiring-lifecycle.d.ts +10 -0
  64. package/dist/classic/app/wiring-lifecycle.js +240 -0
  65. package/dist/classic/app/wiring-lifecycle.js.map +1 -0
  66. package/dist/classic/app/wiring-selection.d.ts +3 -0
  67. package/dist/classic/app/wiring-selection.js +113 -0
  68. package/dist/classic/app/wiring-selection.js.map +1 -0
  69. package/dist/classic/app/wiring-types.d.ts +157 -0
  70. package/dist/classic/app/wiring-types.js +2 -0
  71. package/dist/classic/app/wiring-types.js.map +1 -0
  72. package/dist/classic/blocks/AssistantBlock.d.ts +3 -0
  73. package/dist/classic/blocks/AssistantBlock.js +6 -0
  74. package/dist/classic/blocks/AssistantBlock.js.map +1 -0
  75. package/dist/classic/blocks/BatchBlock.d.ts +3 -0
  76. package/dist/classic/blocks/BatchBlock.js +6 -0
  77. package/dist/classic/blocks/BatchBlock.js.map +1 -0
  78. package/dist/classic/blocks/CompactedBlock.d.ts +3 -0
  79. package/dist/classic/blocks/CompactedBlock.js +6 -0
  80. package/dist/classic/blocks/CompactedBlock.js.map +1 -0
  81. package/dist/classic/blocks/DiffBlock.d.ts +3 -0
  82. package/dist/classic/blocks/DiffBlock.js +6 -0
  83. package/dist/classic/blocks/DiffBlock.js.map +1 -0
  84. package/dist/classic/blocks/IntroBlock.d.ts +3 -0
  85. package/dist/classic/blocks/IntroBlock.js +6 -0
  86. package/dist/classic/blocks/IntroBlock.js.map +1 -0
  87. package/dist/classic/blocks/NoticeBlock.d.ts +3 -0
  88. package/dist/classic/blocks/NoticeBlock.js +6 -0
  89. package/dist/classic/blocks/NoticeBlock.js.map +1 -0
  90. package/dist/classic/blocks/ThinkingBlock.d.ts +3 -0
  91. package/dist/classic/blocks/ThinkingBlock.js +6 -0
  92. package/dist/classic/blocks/ThinkingBlock.js.map +1 -0
  93. package/dist/classic/blocks/ToolBlock.d.ts +3 -0
  94. package/dist/classic/blocks/ToolBlock.js +6 -0
  95. package/dist/classic/blocks/ToolBlock.js.map +1 -0
  96. package/dist/classic/blocks/UserBlock.d.ts +3 -0
  97. package/dist/classic/blocks/UserBlock.js +6 -0
  98. package/dist/classic/blocks/UserBlock.js.map +1 -0
  99. package/dist/classic/blocks/assistant-lines.d.ts +10 -0
  100. package/dist/classic/blocks/assistant-lines.js +43 -0
  101. package/dist/classic/blocks/assistant-lines.js.map +1 -0
  102. package/dist/classic/blocks/batch-lines.d.ts +7 -0
  103. package/dist/classic/blocks/batch-lines.js +79 -0
  104. package/dist/classic/blocks/batch-lines.js.map +1 -0
  105. package/dist/classic/blocks/block-context.d.ts +33 -0
  106. package/dist/classic/blocks/block-context.js +41 -0
  107. package/dist/classic/blocks/block-context.js.map +1 -0
  108. package/dist/classic/blocks/compacted-lines.d.ts +5 -0
  109. package/dist/classic/blocks/compacted-lines.js +54 -0
  110. package/dist/classic/blocks/compacted-lines.js.map +1 -0
  111. package/dist/classic/blocks/diff-lines.d.ts +13 -0
  112. package/dist/classic/blocks/diff-lines.js +116 -0
  113. package/dist/classic/blocks/diff-lines.js.map +1 -0
  114. package/dist/classic/blocks/intro-lines.d.ts +16 -0
  115. package/dist/classic/blocks/intro-lines.js +23 -0
  116. package/dist/classic/blocks/intro-lines.js.map +1 -0
  117. package/dist/classic/blocks/notice-lines.d.ts +7 -0
  118. package/dist/classic/blocks/notice-lines.js +28 -0
  119. package/dist/classic/blocks/notice-lines.js.map +1 -0
  120. package/dist/classic/blocks/thinking-lines.d.ts +5 -0
  121. package/dist/classic/blocks/thinking-lines.js +34 -0
  122. package/dist/classic/blocks/thinking-lines.js.map +1 -0
  123. package/dist/classic/blocks/tool-lines.d.ts +22 -0
  124. package/dist/classic/blocks/tool-lines.js +135 -0
  125. package/dist/classic/blocks/tool-lines.js.map +1 -0
  126. package/dist/classic/blocks/user-lines.d.ts +5 -0
  127. package/dist/classic/blocks/user-lines.js +26 -0
  128. package/dist/classic/blocks/user-lines.js.map +1 -0
  129. package/dist/classic/bootstrap/osc52-renderer.d.ts +10 -0
  130. package/dist/classic/bootstrap/osc52-renderer.js +38 -0
  131. package/dist/classic/bootstrap/osc52-renderer.js.map +1 -0
  132. package/dist/classic/bootstrap/renderer-handle.d.ts +15 -0
  133. package/dist/classic/bootstrap/renderer-handle.js +22 -0
  134. package/dist/classic/bootstrap/renderer-handle.js.map +1 -0
  135. package/dist/classic/bootstrap/start-classic.d.ts +8 -0
  136. package/dist/classic/bootstrap/start-classic.js +130 -0
  137. package/dist/classic/bootstrap/start-classic.js.map +1 -0
  138. package/dist/classic/bootstrap/suspend-port.d.ts +14 -0
  139. package/dist/classic/bootstrap/suspend-port.js +29 -0
  140. package/dist/classic/bootstrap/suspend-port.js.map +1 -0
  141. package/dist/classic/bootstrap/terminal-session.d.ts +58 -0
  142. package/dist/classic/bootstrap/terminal-session.js +136 -0
  143. package/dist/classic/bootstrap/terminal-session.js.map +1 -0
  144. package/dist/classic/chrome/Chrome.d.ts +19 -0
  145. package/dist/classic/chrome/Chrome.js +30 -0
  146. package/dist/classic/chrome/Chrome.js.map +1 -0
  147. package/dist/classic/chrome/Composer.d.ts +12 -0
  148. package/dist/classic/chrome/Composer.js +61 -0
  149. package/dist/classic/chrome/Composer.js.map +1 -0
  150. package/dist/classic/chrome/QueuePanel.d.ts +3 -0
  151. package/dist/classic/chrome/QueuePanel.js +10 -0
  152. package/dist/classic/chrome/QueuePanel.js.map +1 -0
  153. package/dist/classic/chrome/ResponderStrip.d.ts +3 -0
  154. package/dist/classic/chrome/ResponderStrip.js +9 -0
  155. package/dist/classic/chrome/ResponderStrip.js.map +1 -0
  156. package/dist/classic/chrome/StatusBar.d.ts +3 -0
  157. package/dist/classic/chrome/StatusBar.js +7 -0
  158. package/dist/classic/chrome/StatusBar.js.map +1 -0
  159. package/dist/classic/chrome/ToastRow.d.ts +3 -0
  160. package/dist/classic/chrome/ToastRow.js +10 -0
  161. package/dist/classic/chrome/ToastRow.js.map +1 -0
  162. package/dist/classic/chrome/composer-controller.d.ts +57 -0
  163. package/dist/classic/chrome/composer-controller.js +345 -0
  164. package/dist/classic/chrome/composer-controller.js.map +1 -0
  165. package/dist/classic/chrome/composer-frame.d.ts +35 -0
  166. package/dist/classic/chrome/composer-frame.js +46 -0
  167. package/dist/classic/chrome/composer-frame.js.map +1 -0
  168. package/dist/classic/chrome/composer-keys.d.ts +4 -0
  169. package/dist/classic/chrome/composer-keys.js +45 -0
  170. package/dist/classic/chrome/composer-keys.js.map +1 -0
  171. package/dist/classic/chrome/context-limit-editor.d.ts +7 -0
  172. package/dist/classic/chrome/context-limit-editor.js +13 -0
  173. package/dist/classic/chrome/context-limit-editor.js.map +1 -0
  174. package/dist/classic/chrome/directory-row.d.ts +14 -0
  175. package/dist/classic/chrome/directory-row.js +26 -0
  176. package/dist/classic/chrome/directory-row.js.map +1 -0
  177. package/dist/classic/chrome/editor-model.d.ts +37 -0
  178. package/dist/classic/chrome/editor-model.js +195 -0
  179. package/dist/classic/chrome/editor-model.js.map +1 -0
  180. package/dist/classic/chrome/editor-view.d.ts +34 -0
  181. package/dist/classic/chrome/editor-view.js +133 -0
  182. package/dist/classic/chrome/editor-view.js.map +1 -0
  183. package/dist/classic/chrome/queue-rows.d.ts +10 -0
  184. package/dist/classic/chrome/queue-rows.js +32 -0
  185. package/dist/classic/chrome/queue-rows.js.map +1 -0
  186. package/dist/classic/chrome/responder-row.d.ts +9 -0
  187. package/dist/classic/chrome/responder-row.js +17 -0
  188. package/dist/classic/chrome/responder-row.js.map +1 -0
  189. package/dist/classic/chrome/row-budget.d.ts +43 -0
  190. package/dist/classic/chrome/row-budget.js +78 -0
  191. package/dist/classic/chrome/row-budget.js.map +1 -0
  192. package/dist/classic/chrome/status-rows.d.ts +44 -0
  193. package/dist/classic/chrome/status-rows.js +165 -0
  194. package/dist/classic/chrome/status-rows.js.map +1 -0
  195. package/dist/classic/chrome/toast-rows.d.ts +14 -0
  196. package/dist/classic/chrome/toast-rows.js +82 -0
  197. package/dist/classic/chrome/toast-rows.js.map +1 -0
  198. package/dist/classic/chrome/use-terminal-size.d.ts +14 -0
  199. package/dist/classic/chrome/use-terminal-size.js +38 -0
  200. package/dist/classic/chrome/use-terminal-size.js.map +1 -0
  201. package/dist/classic/feed/Feed.d.ts +17 -0
  202. package/dist/classic/feed/Feed.js +37 -0
  203. package/dist/classic/feed/Feed.js.map +1 -0
  204. package/dist/classic/feed/FeedStatic.d.ts +13 -0
  205. package/dist/classic/feed/FeedStatic.js +15 -0
  206. package/dist/classic/feed/FeedStatic.js.map +1 -0
  207. package/dist/classic/feed/LiveTail.d.ts +10 -0
  208. package/dist/classic/feed/LiveTail.js +20 -0
  209. package/dist/classic/feed/LiveTail.js.map +1 -0
  210. package/dist/classic/feed/ScrollbarGutter.d.ts +9 -0
  211. package/dist/classic/feed/ScrollbarGutter.js +42 -0
  212. package/dist/classic/feed/ScrollbarGutter.js.map +1 -0
  213. package/dist/classic/feed/block-height.d.ts +12 -0
  214. package/dist/classic/feed/block-height.js +34 -0
  215. package/dist/classic/feed/block-height.js.map +1 -0
  216. package/dist/classic/feed/commit-ledger.d.ts +26 -0
  217. package/dist/classic/feed/commit-ledger.js +52 -0
  218. package/dist/classic/feed/commit-ledger.js.map +1 -0
  219. package/dist/classic/feed/feed-blocks.d.ts +39 -0
  220. package/dist/classic/feed/feed-blocks.js +124 -0
  221. package/dist/classic/feed/feed-blocks.js.map +1 -0
  222. package/dist/classic/feed/live-tail-policy.d.ts +35 -0
  223. package/dist/classic/feed/live-tail-policy.js +80 -0
  224. package/dist/classic/feed/live-tail-policy.js.map +1 -0
  225. package/dist/classic/feed/scrollbar-rows.d.ts +6 -0
  226. package/dist/classic/feed/scrollbar-rows.js +18 -0
  227. package/dist/classic/feed/scrollbar-rows.js.map +1 -0
  228. package/dist/classic/feed/transcript-selection.d.ts +16 -0
  229. package/dist/classic/feed/transcript-selection.js +92 -0
  230. package/dist/classic/feed/transcript-selection.js.map +1 -0
  231. package/dist/classic/feed/transcript-window.d.ts +33 -0
  232. package/dist/classic/feed/transcript-window.js +53 -0
  233. package/dist/classic/feed/transcript-window.js.map +1 -0
  234. package/dist/classic/input/cancel-ladder.d.ts +47 -0
  235. package/dist/classic/input/cancel-ladder.js +100 -0
  236. package/dist/classic/input/cancel-ladder.js.map +1 -0
  237. package/dist/classic/input/chord-from-key.d.ts +2 -0
  238. package/dist/classic/input/chord-from-key.js +25 -0
  239. package/dist/classic/input/chord-from-key.js.map +1 -0
  240. package/dist/classic/input/input-router.d.ts +33 -0
  241. package/dist/classic/input/input-router.js +146 -0
  242. package/dist/classic/input/input-router.js.map +1 -0
  243. package/dist/classic/input/key-event.d.ts +39 -0
  244. package/dist/classic/input/key-event.js +12 -0
  245. package/dist/classic/input/key-event.js.map +1 -0
  246. package/dist/classic/input/paste-decoder.d.ts +1 -0
  247. package/dist/classic/input/paste-decoder.js +9 -0
  248. package/dist/classic/input/paste-decoder.js.map +1 -0
  249. package/dist/classic/input/raw-decoder.d.ts +31 -0
  250. package/dist/classic/input/raw-decoder.js +325 -0
  251. package/dist/classic/input/raw-decoder.js.map +1 -0
  252. package/dist/classic/input/sgr-mouse.d.ts +2 -0
  253. package/dist/classic/input/sgr-mouse.js +37 -0
  254. package/dist/classic/input/sgr-mouse.js.map +1 -0
  255. package/dist/classic/input/terminal-sequences.d.ts +38 -0
  256. package/dist/classic/input/terminal-sequences.js +111 -0
  257. package/dist/classic/input/terminal-sequences.js.map +1 -0
  258. package/dist/classic/panels/CompletionPanel.d.ts +3 -0
  259. package/dist/classic/panels/CompletionPanel.js +10 -0
  260. package/dist/classic/panels/CompletionPanel.js.map +1 -0
  261. package/dist/classic/panels/ConfirmPanel.d.ts +3 -0
  262. package/dist/classic/panels/ConfirmPanel.js +7 -0
  263. package/dist/classic/panels/ConfirmPanel.js.map +1 -0
  264. package/dist/classic/panels/JobsPanel.d.ts +3 -0
  265. package/dist/classic/panels/JobsPanel.js +7 -0
  266. package/dist/classic/panels/JobsPanel.js.map +1 -0
  267. package/dist/classic/panels/KeysPanel.d.ts +3 -0
  268. package/dist/classic/panels/KeysPanel.js +7 -0
  269. package/dist/classic/panels/KeysPanel.js.map +1 -0
  270. package/dist/classic/panels/PagerPanel.d.ts +3 -0
  271. package/dist/classic/panels/PagerPanel.js +7 -0
  272. package/dist/classic/panels/PagerPanel.js.map +1 -0
  273. package/dist/classic/panels/PanelFrame.d.ts +3 -0
  274. package/dist/classic/panels/PanelFrame.js +8 -0
  275. package/dist/classic/panels/PanelFrame.js.map +1 -0
  276. package/dist/classic/panels/PickerPanel.d.ts +3 -0
  277. package/dist/classic/panels/PickerPanel.js +7 -0
  278. package/dist/classic/panels/PickerPanel.js.map +1 -0
  279. package/dist/classic/panels/PlanPanel.d.ts +3 -0
  280. package/dist/classic/panels/PlanPanel.js +7 -0
  281. package/dist/classic/panels/PlanPanel.js.map +1 -0
  282. package/dist/classic/panels/PromptActionsPanel.d.ts +3 -0
  283. package/dist/classic/panels/PromptActionsPanel.js +7 -0
  284. package/dist/classic/panels/PromptActionsPanel.js.map +1 -0
  285. package/dist/classic/panels/ScopePanel.d.ts +3 -0
  286. package/dist/classic/panels/ScopePanel.js +7 -0
  287. package/dist/classic/panels/ScopePanel.js.map +1 -0
  288. package/dist/classic/panels/SearchPanel.d.ts +3 -0
  289. package/dist/classic/panels/SearchPanel.js +7 -0
  290. package/dist/classic/panels/SearchPanel.js.map +1 -0
  291. package/dist/classic/panels/SecretPanel.d.ts +3 -0
  292. package/dist/classic/panels/SecretPanel.js +7 -0
  293. package/dist/classic/panels/SecretPanel.js.map +1 -0
  294. package/dist/classic/panels/completion-accept.d.ts +17 -0
  295. package/dist/classic/panels/completion-accept.js +58 -0
  296. package/dist/classic/panels/completion-accept.js.map +1 -0
  297. package/dist/classic/panels/completion-rows.d.ts +29 -0
  298. package/dist/classic/panels/completion-rows.js +135 -0
  299. package/dist/classic/panels/completion-rows.js.map +1 -0
  300. package/dist/classic/panels/confirm-panel.d.ts +24 -0
  301. package/dist/classic/panels/confirm-panel.js +115 -0
  302. package/dist/classic/panels/confirm-panel.js.map +1 -0
  303. package/dist/classic/panels/jobs-panel.d.ts +32 -0
  304. package/dist/classic/panels/jobs-panel.js +116 -0
  305. package/dist/classic/panels/jobs-panel.js.map +1 -0
  306. package/dist/classic/panels/keys-panel.d.ts +40 -0
  307. package/dist/classic/panels/keys-panel.js +174 -0
  308. package/dist/classic/panels/keys-panel.js.map +1 -0
  309. package/dist/classic/panels/list-rows.d.ts +27 -0
  310. package/dist/classic/panels/list-rows.js +42 -0
  311. package/dist/classic/panels/list-rows.js.map +1 -0
  312. package/dist/classic/panels/list-window.d.ts +15 -0
  313. package/dist/classic/panels/list-window.js +25 -0
  314. package/dist/classic/panels/list-window.js.map +1 -0
  315. package/dist/classic/panels/pager-panel.d.ts +50 -0
  316. package/dist/classic/panels/pager-panel.js +238 -0
  317. package/dist/classic/panels/pager-panel.js.map +1 -0
  318. package/dist/classic/panels/panel-controller.d.ts +29 -0
  319. package/dist/classic/panels/panel-controller.js +320 -0
  320. package/dist/classic/panels/panel-controller.js.map +1 -0
  321. package/dist/classic/panels/panel-effect.d.ts +74 -0
  322. package/dist/classic/panels/panel-effect.js +7 -0
  323. package/dist/classic/panels/panel-effect.js.map +1 -0
  324. package/dist/classic/panels/panel-effects.d.ts +11 -0
  325. package/dist/classic/panels/panel-effects.js +105 -0
  326. package/dist/classic/panels/panel-effects.js.map +1 -0
  327. package/dist/classic/panels/panel-frame.d.ts +20 -0
  328. package/dist/classic/panels/panel-frame.js +47 -0
  329. package/dist/classic/panels/panel-frame.js.map +1 -0
  330. package/dist/classic/panels/panel-host.d.ts +16 -0
  331. package/dist/classic/panels/panel-host.js +49 -0
  332. package/dist/classic/panels/panel-host.js.map +1 -0
  333. package/dist/classic/panels/panel-initial-states.d.ts +18 -0
  334. package/dist/classic/panels/panel-initial-states.js +33 -0
  335. package/dist/classic/panels/panel-initial-states.js.map +1 -0
  336. package/dist/classic/panels/panel-types.d.ts +47 -0
  337. package/dist/classic/panels/panel-types.js +2 -0
  338. package/dist/classic/panels/panel-types.js.map +1 -0
  339. package/dist/classic/panels/panel-wheel.d.ts +20 -0
  340. package/dist/classic/panels/panel-wheel.js +82 -0
  341. package/dist/classic/panels/panel-wheel.js.map +1 -0
  342. package/dist/classic/panels/picker-panel.d.ts +35 -0
  343. package/dist/classic/panels/picker-panel.js +150 -0
  344. package/dist/classic/panels/picker-panel.js.map +1 -0
  345. package/dist/classic/panels/plan-panel.d.ts +27 -0
  346. package/dist/classic/panels/plan-panel.js +98 -0
  347. package/dist/classic/panels/plan-panel.js.map +1 -0
  348. package/dist/classic/panels/prompt-actions-panel.d.ts +25 -0
  349. package/dist/classic/panels/prompt-actions-panel.js +57 -0
  350. package/dist/classic/panels/prompt-actions-panel.js.map +1 -0
  351. package/dist/classic/panels/scope-panel.d.ts +27 -0
  352. package/dist/classic/panels/scope-panel.js +122 -0
  353. package/dist/classic/panels/scope-panel.js.map +1 -0
  354. package/dist/classic/panels/search-panel.d.ts +32 -0
  355. package/dist/classic/panels/search-panel.js +126 -0
  356. package/dist/classic/panels/search-panel.js.map +1 -0
  357. package/dist/classic/panels/secret-panel.d.ts +28 -0
  358. package/dist/classic/panels/secret-panel.js +70 -0
  359. package/dist/classic/panels/secret-panel.js.map +1 -0
  360. package/dist/classic/render/ansi-text.d.ts +36 -0
  361. package/dist/classic/render/ansi-text.js +234 -0
  362. package/dist/classic/render/ansi-text.js.map +1 -0
  363. package/dist/classic/render/glyphs.d.ts +49 -0
  364. package/dist/classic/render/glyphs.js +111 -0
  365. package/dist/classic/render/glyphs.js.map +1 -0
  366. package/dist/classic/render/ink-theme.d.ts +49 -0
  367. package/dist/classic/render/ink-theme.js +73 -0
  368. package/dist/classic/render/ink-theme.js.map +1 -0
  369. package/dist/classic/render/measure.d.ts +17 -0
  370. package/dist/classic/render/measure.js +33 -0
  371. package/dist/classic/render/measure.js.map +1 -0
  372. package/dist/classic/render/shell-width.d.ts +12 -0
  373. package/dist/classic/render/shell-width.js +23 -0
  374. package/dist/classic/render/shell-width.js.map +1 -0
  375. package/dist/classic/render/wrap.d.ts +19 -0
  376. package/dist/classic/render/wrap.js +102 -0
  377. package/dist/classic/render/wrap.js.map +1 -0
  378. package/dist/commands/doctor.js +9 -8
  379. package/dist/commands/doctor.js.map +1 -1
  380. package/dist/commands/providers.js +43 -50
  381. package/dist/commands/providers.js.map +1 -1
  382. package/dist/commands/search-providers.js +3 -5
  383. package/dist/commands/search-providers.js.map +1 -1
  384. package/dist/index.js +76 -84
  385. package/dist/index.js.map +1 -1
  386. package/dist/llm/capabilities.js +5 -2
  387. package/dist/llm/capabilities.js.map +1 -1
  388. package/dist/llm/custom-providers.js +16 -3
  389. package/dist/llm/custom-providers.js.map +1 -1
  390. package/dist/llm/http.d.ts +5 -0
  391. package/dist/llm/http.js +38 -8
  392. package/dist/llm/http.js.map +1 -1
  393. package/dist/llm/meta.js +56 -24
  394. package/dist/llm/meta.js.map +1 -1
  395. package/dist/llm/modal.js +3 -2
  396. package/dist/llm/modal.js.map +1 -1
  397. package/dist/llm/router.js +36 -23
  398. package/dist/llm/router.js.map +1 -1
  399. package/dist/llm/system-messages.d.ts +1 -0
  400. package/dist/llm/system-messages.js +6 -0
  401. package/dist/llm/system-messages.js.map +1 -1
  402. package/dist/llm/token-usage.js +11 -1
  403. package/dist/llm/token-usage.js.map +1 -1
  404. package/dist/llm/tool-protocol.js +10 -3
  405. package/dist/llm/tool-protocol.js.map +1 -1
  406. package/dist/modes/agent.d.ts +3 -0
  407. package/dist/modes/agent.js +10 -3
  408. package/dist/modes/agent.js.map +1 -1
  409. package/dist/modes/ask.js +2 -2
  410. package/dist/modes/ask.js.map +1 -1
  411. package/dist/noninteractive/read-stdin.d.ts +1 -0
  412. package/dist/noninteractive/read-stdin.js +8 -0
  413. package/dist/noninteractive/read-stdin.js.map +1 -0
  414. package/dist/noninteractive/readline-prompts.d.ts +47 -0
  415. package/dist/noninteractive/readline-prompts.js +201 -0
  416. package/dist/noninteractive/readline-prompts.js.map +1 -0
  417. package/dist/noninteractive/start-noninteractive.d.ts +32 -0
  418. package/dist/noninteractive/start-noninteractive.js +100 -0
  419. package/dist/noninteractive/start-noninteractive.js.map +1 -0
  420. package/dist/noninteractive/stdio-confirm-port.d.ts +15 -0
  421. package/dist/noninteractive/stdio-confirm-port.js +45 -0
  422. package/dist/noninteractive/stdio-confirm-port.js.map +1 -0
  423. package/dist/noninteractive/stream-blocks.d.ts +117 -0
  424. package/dist/noninteractive/stream-blocks.js +445 -0
  425. package/dist/noninteractive/stream-blocks.js.map +1 -0
  426. package/dist/noninteractive/stream-renderer.d.ts +40 -0
  427. package/dist/noninteractive/stream-renderer.js +164 -0
  428. package/dist/noninteractive/stream-renderer.js.map +1 -0
  429. package/dist/noninteractive/stream-spinner.d.ts +28 -0
  430. package/dist/noninteractive/stream-spinner.js +45 -0
  431. package/dist/noninteractive/stream-spinner.js.map +1 -0
  432. package/dist/os/bun-runtime.js +207 -0
  433. package/dist/os/bun-runtime.js.map +1 -0
  434. package/dist/prompts/embedded.js +1 -1
  435. package/dist/prompts/embedded.js.map +1 -1
  436. package/dist/prompts/system.agent.md +11 -7
  437. package/dist/store/config.d.ts +3 -1
  438. package/dist/store/config.js +37 -5
  439. package/dist/store/config.js.map +1 -1
  440. package/dist/store/history.d.ts +1 -1
  441. package/dist/store/history.js +3 -0
  442. package/dist/store/history.js.map +1 -1
  443. package/dist/store/keys.d.ts +5 -2
  444. package/dist/store/keys.js +97 -14
  445. package/dist/store/keys.js.map +1 -1
  446. package/dist/tools/definitions.js +1 -1
  447. package/dist/tools/definitions.js.map +1 -1
  448. package/dist/tools/registry.js +27 -4
  449. package/dist/tools/registry.js.map +1 -1
  450. package/dist/tools/web/providers/duckduckgo.js +1 -1
  451. package/dist/tools/web/providers/duckduckgo.js.map +1 -1
  452. package/dist/tools/web/readable.js +1 -1
  453. package/dist/tools/web/readable.js.map +1 -1
  454. package/dist/tui-v2/app/App.js +20 -28
  455. package/dist/tui-v2/app/App.js.map +1 -1
  456. package/dist/tui-v2/bootstrap/pager-export.d.ts +9 -18
  457. package/dist/tui-v2/bootstrap/pager-export.js +15 -72
  458. package/dist/tui-v2/bootstrap/pager-export.js.map +1 -1
  459. package/dist/tui-v2/bootstrap/start-tui-v2.js +8 -8
  460. package/dist/tui-v2/bootstrap/start-tui-v2.js.map +1 -1
  461. package/dist/tui-v2/components/completion/completion-menu.d.ts +2 -2
  462. package/dist/tui-v2/components/composer/composer-input-box.d.ts +1 -1
  463. package/dist/tui-v2/components/composer/paste-chip.d.ts +2 -2
  464. package/dist/tui-v2/components/composer/paste-chip.js +1 -1
  465. package/dist/tui-v2/components/composer/paste-chip.js.map +1 -1
  466. package/dist/tui-v2/components/jobs/jobs-panel.d.ts +2 -2
  467. package/dist/tui-v2/components/jobs/jobs-panel.js +4 -4
  468. package/dist/tui-v2/components/jobs/jobs-panel.js.map +1 -1
  469. package/dist/tui-v2/components/modal/confirm-modal.d.ts +3 -3
  470. package/dist/tui-v2/components/modal/confirm-modal.js +6 -6
  471. package/dist/tui-v2/components/modal/confirm-modal.js.map +1 -1
  472. package/dist/tui-v2/components/modal/keys-modal.d.ts +3 -3
  473. package/dist/tui-v2/components/modal/keys-modal.js +24 -9
  474. package/dist/tui-v2/components/modal/keys-modal.js.map +1 -1
  475. package/dist/tui-v2/components/modal/prompt-actions-modal.d.ts +3 -3
  476. package/dist/tui-v2/components/modal/prompt-actions-modal.js +2 -2
  477. package/dist/tui-v2/components/modal/prompt-actions-modal.js.map +1 -1
  478. package/dist/tui-v2/components/modal/scope-modal.d.ts +3 -3
  479. package/dist/tui-v2/components/modal/scope-modal.js +1 -1
  480. package/dist/tui-v2/components/modal/scope-modal.js.map +1 -1
  481. package/dist/tui-v2/components/modal/secret-modal.d.ts +3 -3
  482. package/dist/tui-v2/components/modal/secret-modal.js +2 -2
  483. package/dist/tui-v2/components/modal/secret-modal.js.map +1 -1
  484. package/dist/tui-v2/components/overlay/overlay-host.d.ts +2 -2
  485. package/dist/tui-v2/components/overlay/overlay-host.js +1 -1
  486. package/dist/tui-v2/components/overlay/overlay-host.js.map +1 -1
  487. package/dist/tui-v2/components/pager/pager-line.d.ts +3 -3
  488. package/dist/tui-v2/components/pager/pager-line.js +3 -3
  489. package/dist/tui-v2/components/pager/pager-line.js.map +1 -1
  490. package/dist/tui-v2/components/pager/pager.d.ts +3 -3
  491. package/dist/tui-v2/components/pager/pager.js +6 -5
  492. package/dist/tui-v2/components/pager/pager.js.map +1 -1
  493. package/dist/tui-v2/components/picker/picker.d.ts +3 -3
  494. package/dist/tui-v2/components/picker/picker.js +2 -2
  495. package/dist/tui-v2/components/picker/picker.js.map +1 -1
  496. package/dist/tui-v2/components/plan/plan-pane-anim.js +1 -1
  497. package/dist/tui-v2/components/plan/plan-pane-anim.js.map +1 -1
  498. package/dist/tui-v2/components/plan/plan-view.d.ts +2 -2
  499. package/dist/tui-v2/components/plan/plan-view.js +2 -2
  500. package/dist/tui-v2/components/plan/plan-view.js.map +1 -1
  501. package/dist/tui-v2/components/queue/queue-panel.d.ts +2 -2
  502. package/dist/tui-v2/components/queue/queue-panel.js +3 -3
  503. package/dist/tui-v2/components/queue/queue-panel.js.map +1 -1
  504. package/dist/tui-v2/components/status/context-limit-chip.d.ts +1 -5
  505. package/dist/tui-v2/components/status/context-limit-chip.js +1 -38
  506. package/dist/tui-v2/components/status/context-limit-chip.js.map +1 -1
  507. package/dist/tui-v2/components/status/status-line.d.ts +5 -34
  508. package/dist/tui-v2/components/status/status-line.js +7 -99
  509. package/dist/tui-v2/components/status/status-line.js.map +1 -1
  510. package/dist/tui-v2/components/toast/toast-anim.d.ts +0 -1
  511. package/dist/tui-v2/components/toast/toast-anim.js +2 -3
  512. package/dist/tui-v2/components/toast/toast-anim.js.map +1 -1
  513. package/dist/tui-v2/components/toast/toast-host.d.ts +2 -2
  514. package/dist/tui-v2/components/toast/toast-host.js +2 -2
  515. package/dist/tui-v2/components/toast/toast-host.js.map +1 -1
  516. package/dist/tui-v2/components/transcript/assistant-message.d.ts +2 -2
  517. package/dist/tui-v2/components/transcript/assistant-message.js +3 -2
  518. package/dist/tui-v2/components/transcript/assistant-message.js.map +1 -1
  519. package/dist/tui-v2/components/transcript/compacted-row.d.ts +3 -3
  520. package/dist/tui-v2/components/transcript/compacted-row.js +6 -5
  521. package/dist/tui-v2/components/transcript/compacted-row.js.map +1 -1
  522. package/dist/tui-v2/components/transcript/file-diff-card.d.ts +1 -1
  523. package/dist/tui-v2/components/transcript/file-diff-card.js +1 -1
  524. package/dist/tui-v2/components/transcript/file-diff-card.js.map +1 -1
  525. package/dist/tui-v2/components/transcript/intro-card.d.ts +2 -2
  526. package/dist/tui-v2/components/transcript/intro-card.js +1 -1
  527. package/dist/tui-v2/components/transcript/intro-card.js.map +1 -1
  528. package/dist/tui-v2/components/transcript/linkable-text.d.ts +1 -1
  529. package/dist/tui-v2/components/transcript/linkable-text.js +1 -1
  530. package/dist/tui-v2/components/transcript/linkable-text.js.map +1 -1
  531. package/dist/tui-v2/components/transcript/notice-row.d.ts +2 -2
  532. package/dist/tui-v2/components/transcript/search-bar.d.ts +1 -1
  533. package/dist/tui-v2/components/transcript/thinking-block.d.ts +2 -2
  534. package/dist/tui-v2/components/transcript/thinking-block.js +3 -3
  535. package/dist/tui-v2/components/transcript/thinking-block.js.map +1 -1
  536. package/dist/tui-v2/components/transcript/tool-card.d.ts +3 -3
  537. package/dist/tui-v2/components/transcript/tool-card.js +7 -7
  538. package/dist/tui-v2/components/transcript/tool-card.js.map +1 -1
  539. package/dist/tui-v2/components/transcript/transcript-row.d.ts +4 -4
  540. package/dist/tui-v2/components/transcript/transcript-scrollbar.d.ts +1 -1
  541. package/dist/tui-v2/components/transcript/transcript-scrollbar.js +42 -9
  542. package/dist/tui-v2/components/transcript/transcript-scrollbar.js.map +1 -1
  543. package/dist/tui-v2/components/transcript/transcript-view.d.ts +3 -3
  544. package/dist/tui-v2/components/transcript/transcript-view.js +6 -6
  545. package/dist/tui-v2/components/transcript/transcript-view.js.map +1 -1
  546. package/dist/tui-v2/components/transcript/use-native-selection-copy.d.ts +1 -1
  547. package/dist/tui-v2/components/transcript/use-transcript-selection.d.ts +2 -2
  548. package/dist/tui-v2/components/transcript/use-transcript-selection.js +3 -3
  549. package/dist/tui-v2/components/transcript/use-transcript-selection.js.map +1 -1
  550. package/dist/tui-v2/components/transcript/user-message.d.ts +2 -2
  551. package/dist/tui-v2/components/transcript/user-message.js +1 -1
  552. package/dist/tui-v2/components/transcript/user-message.js.map +1 -1
  553. package/dist/tui-v2/composer/composer-editor.d.ts +2 -2
  554. package/dist/tui-v2/composer/composer-editor.js +21 -20
  555. package/dist/tui-v2/composer/composer-editor.js.map +1 -1
  556. package/dist/tui-v2/composer/composer-image-paste.d.ts +1 -1
  557. package/dist/tui-v2/composer/composer-image-paste.js +1 -1
  558. package/dist/tui-v2/composer/composer-image-paste.js.map +1 -1
  559. package/dist/tui-v2/composer/use-draft-actions.d.ts +2 -2
  560. package/dist/tui-v2/composer/use-draft-actions.js +2 -2
  561. package/dist/tui-v2/composer/use-draft-actions.js.map +1 -1
  562. package/dist/tui-v2/input/chord-from-opentui-key.d.ts +20 -0
  563. package/dist/tui-v2/input/chord-from-opentui-key.js +51 -0
  564. package/dist/tui-v2/input/chord-from-opentui-key.js.map +1 -0
  565. package/dist/tui-v2/rendering/pager-markdown.d.ts +2 -22
  566. package/dist/tui-v2/rendering/pager-markdown.js +4 -103
  567. package/dist/tui-v2/rendering/pager-markdown.js.map +1 -1
  568. package/dist/tui-v2/rendering/styled-markdown.d.ts +20 -0
  569. package/dist/tui-v2/rendering/styled-markdown.js +35 -0
  570. package/dist/tui-v2/rendering/styled-markdown.js.map +1 -0
  571. package/dist/types.d.ts +2 -0
  572. package/dist/ui/mentions.d.ts +5 -8
  573. package/dist/ui/mentions.js +26 -8
  574. package/dist/ui/mentions.js.map +1 -1
  575. package/dist/ui/warn-once.d.ts +2 -0
  576. package/dist/ui/warn-once.js +13 -0
  577. package/dist/ui/warn-once.js.map +1 -0
  578. package/dist/ui-core/actions/action-id.d.ts +14 -0
  579. package/dist/ui-core/actions/action-id.js +123 -0
  580. package/dist/ui-core/actions/action-id.js.map +1 -0
  581. package/dist/ui-core/actions/action-router.js.map +1 -0
  582. package/dist/ui-core/actions/chord.d.ts +20 -0
  583. package/dist/ui-core/actions/chord.js +28 -0
  584. package/dist/ui-core/actions/chord.js.map +1 -0
  585. package/dist/ui-core/actions/format-shortcuts.js +267 -0
  586. package/dist/ui-core/actions/format-shortcuts.js.map +1 -0
  587. package/dist/ui-core/actions/keymap.d.ts +23 -0
  588. package/dist/ui-core/actions/keymap.js +147 -0
  589. package/dist/ui-core/actions/keymap.js.map +1 -0
  590. package/dist/ui-core/actions/mode-cycle.js.map +1 -0
  591. package/dist/ui-core/bootstrap/can-use-tui.js.map +1 -0
  592. package/dist/ui-core/bootstrap/capabilities.js +96 -0
  593. package/dist/ui-core/bootstrap/capabilities.js.map +1 -0
  594. package/dist/ui-core/bootstrap/composition-root.d.ts +92 -0
  595. package/dist/ui-core/bootstrap/composition-root.js.map +1 -0
  596. package/dist/ui-core/bootstrap/console-guard.js.map +1 -0
  597. package/dist/ui-core/bootstrap/console-suppress.js.map +1 -0
  598. package/dist/ui-core/bootstrap/lifecycle.js.map +1 -0
  599. package/dist/ui-core/bootstrap/overlay-ports.js +92 -0
  600. package/dist/ui-core/bootstrap/overlay-ports.js.map +1 -0
  601. package/dist/ui-core/bootstrap/ui-selection.d.ts +27 -0
  602. package/dist/ui-core/bootstrap/ui-selection.js +109 -0
  603. package/dist/ui-core/bootstrap/ui-selection.js.map +1 -0
  604. package/dist/ui-core/commands/command-handlers.js +86 -0
  605. package/dist/ui-core/commands/command-handlers.js.map +1 -0
  606. package/dist/ui-core/commands/config-commands.d.ts +14 -0
  607. package/dist/ui-core/commands/config-commands.js +315 -0
  608. package/dist/ui-core/commands/config-commands.js.map +1 -0
  609. package/dist/ui-core/commands/key-commands.d.ts +9 -0
  610. package/dist/ui-core/commands/key-commands.js +532 -0
  611. package/dist/ui-core/commands/key-commands.js.map +1 -0
  612. package/dist/ui-core/commands/picker-commands.d.ts +25 -0
  613. package/dist/ui-core/commands/picker-commands.js +1045 -0
  614. package/dist/ui-core/commands/picker-commands.js.map +1 -0
  615. package/dist/ui-core/commands/session-commands.d.ts +19 -0
  616. package/dist/ui-core/commands/session-commands.js +183 -0
  617. package/dist/ui-core/commands/session-commands.js.map +1 -0
  618. package/dist/ui-core/commands/startup-update.js.map +1 -0
  619. package/dist/ui-core/composer/arrow-intent.js.map +1 -0
  620. package/dist/ui-core/composer/completion.js.map +1 -0
  621. package/dist/ui-core/composer/composer-action-port.js.map +1 -0
  622. package/dist/ui-core/composer/composer-height.js +29 -0
  623. package/dist/ui-core/composer/composer-height.js.map +1 -0
  624. package/dist/ui-core/composer/composer-image-paste.d.ts +20 -0
  625. package/dist/ui-core/composer/composer-image-paste.js +77 -0
  626. package/dist/ui-core/composer/composer-image-paste.js.map +1 -0
  627. package/dist/ui-core/composer/composer-meta.d.ts +2 -0
  628. package/dist/ui-core/composer/composer-meta.js +31 -0
  629. package/dist/ui-core/composer/composer-meta.js.map +1 -0
  630. package/dist/ui-core/composer/composer-wheel.d.ts +58 -0
  631. package/dist/ui-core/composer/composer-wheel.js +108 -0
  632. package/dist/ui-core/composer/composer-wheel.js.map +1 -0
  633. package/dist/ui-core/composer/draft-actions.d.ts +31 -0
  634. package/dist/ui-core/composer/draft-actions.js +45 -0
  635. package/dist/ui-core/composer/draft-actions.js.map +1 -0
  636. package/dist/ui-core/composer/history-nav.js.map +1 -0
  637. package/dist/ui-core/composer/input-history.js +9 -0
  638. package/dist/ui-core/composer/input-history.js.map +1 -0
  639. package/dist/ui-core/composer/newline-hint.d.ts +13 -0
  640. package/dist/ui-core/composer/newline-hint.js.map +1 -0
  641. package/dist/ui-core/composer/paste-placeholder.js.map +1 -0
  642. package/dist/ui-core/composer/prompt-history.js.map +1 -0
  643. package/dist/ui-core/composer/secret-buffer.js.map +1 -0
  644. package/dist/ui-core/composer/textarea-keybindings.d.ts +25 -0
  645. package/dist/ui-core/composer/textarea-keybindings.js +84 -0
  646. package/dist/ui-core/composer/textarea-keybindings.js.map +1 -0
  647. package/dist/ui-core/controllers/focus-controller.js.map +1 -0
  648. package/dist/ui-core/controllers/interruptible-controller.js.map +1 -0
  649. package/dist/ui-core/controllers/overlay-controller.d.ts +211 -0
  650. package/dist/ui-core/controllers/overlay-controller.js.map +1 -0
  651. package/dist/ui-core/controllers/selection-controller.js.map +1 -0
  652. package/dist/ui-core/controllers/toast-controller.js.map +1 -0
  653. package/dist/ui-core/layout/compute-layout.js.map +1 -0
  654. package/dist/ui-core/motion/ease.js.map +1 -0
  655. package/dist/ui-core/notify.js.map +1 -0
  656. package/dist/ui-core/plan/plan-lifecycle.js.map +1 -0
  657. package/dist/ui-core/ports/clipboard-osc52.js +44 -0
  658. package/dist/ui-core/ports/clipboard-osc52.js.map +1 -0
  659. package/dist/ui-core/ports/pager-export-port.d.ts +16 -0
  660. package/dist/ui-core/ports/pager-export-port.js +70 -0
  661. package/dist/ui-core/ports/pager-export-port.js.map +1 -0
  662. package/dist/ui-core/ports/renderer-port.d.ts +10 -0
  663. package/dist/ui-core/ports/renderer-port.js +2 -0
  664. package/dist/ui-core/ports/renderer-port.js.map +1 -0
  665. package/dist/ui-core/react/providers.d.ts +16 -0
  666. package/dist/ui-core/react/providers.js +31 -0
  667. package/dist/ui-core/react/providers.js.map +1 -0
  668. package/dist/ui-core/react/use-has-draft.js.map +1 -0
  669. package/dist/ui-core/react/use-overlay.js.map +1 -0
  670. package/dist/ui-core/react/use-plan.js.map +1 -0
  671. package/dist/ui-core/react/use-session-state.js.map +1 -0
  672. package/dist/ui-core/react/use-toast.js.map +1 -0
  673. package/dist/ui-core/react/use-transcript-store.d.ts +10 -0
  674. package/dist/ui-core/react/use-transcript-store.js.map +1 -0
  675. package/dist/ui-core/rendering/artifact-pager-source.js.map +1 -0
  676. package/dist/ui-core/rendering/batch-sections.js.map +1 -0
  677. package/dist/ui-core/rendering/code-block.d.ts +48 -0
  678. package/dist/ui-core/rendering/code-block.js +407 -0
  679. package/dist/ui-core/rendering/code-block.js.map +1 -0
  680. package/dist/ui-core/rendering/context-limit.d.ts +8 -0
  681. package/dist/ui-core/rendering/context-limit.js +49 -0
  682. package/dist/ui-core/rendering/context-limit.js.map +1 -0
  683. package/dist/ui-core/rendering/file-diff-view.js.map +1 -0
  684. package/dist/ui-core/rendering/format-help.js.map +1 -0
  685. package/dist/ui-core/rendering/format-keys.d.ts +14 -0
  686. package/dist/ui-core/rendering/format-keys.js +78 -0
  687. package/dist/ui-core/rendering/format-keys.js.map +1 -0
  688. package/dist/ui-core/rendering/incremental-strip.js.map +1 -0
  689. package/dist/ui-core/rendering/intro-header.d.ts +11 -0
  690. package/dist/ui-core/rendering/intro-header.js +208 -0
  691. package/dist/ui-core/rendering/intro-header.js.map +1 -0
  692. package/dist/ui-core/rendering/job-tail-source.js.map +1 -0
  693. package/dist/ui-core/rendering/link-detector.js.map +1 -0
  694. package/dist/ui-core/rendering/markdown.js.map +1 -0
  695. package/dist/ui-core/rendering/open-tool-output.js +346 -0
  696. package/dist/ui-core/rendering/open-tool-output.js.map +1 -0
  697. package/dist/ui-core/rendering/pager-chrome.js +119 -0
  698. package/dist/ui-core/rendering/pager-chrome.js.map +1 -0
  699. package/dist/ui-core/rendering/pager-source.d.ts +20 -0
  700. package/dist/ui-core/rendering/pager-source.js +101 -0
  701. package/dist/ui-core/rendering/pager-source.js.map +1 -0
  702. package/dist/ui-core/rendering/pager-text.d.ts +24 -0
  703. package/dist/ui-core/rendering/pager-text.js +105 -0
  704. package/dist/ui-core/rendering/pager-text.js.map +1 -0
  705. package/dist/ui-core/rendering/pager-view-policy.js +98 -0
  706. package/dist/ui-core/rendering/pager-view-policy.js.map +1 -0
  707. package/dist/ui-core/rendering/picker-filter.js.map +1 -0
  708. package/dist/ui-core/rendering/plan-view.js.map +1 -0
  709. package/dist/ui-core/rendering/prompt-preview.js.map +1 -0
  710. package/dist/ui-core/rendering/render-markdown-lines.d.ts +7 -0
  711. package/dist/ui-core/rendering/render-markdown-lines.js +26 -0
  712. package/dist/ui-core/rendering/render-markdown-lines.js.map +1 -0
  713. package/dist/ui-core/rendering/sanitize-display.js.map +1 -0
  714. package/dist/ui-core/rendering/status-segments.d.ts +25 -0
  715. package/dist/ui-core/rendering/status-segments.js +88 -0
  716. package/dist/ui-core/rendering/status-segments.js.map +1 -0
  717. package/dist/ui-core/rendering/streaming-markdown.d.ts +23 -0
  718. package/dist/ui-core/rendering/streaming-markdown.js +118 -0
  719. package/dist/ui-core/rendering/streaming-markdown.js.map +1 -0
  720. package/dist/ui-core/rendering/strip-tool-surfaces.js.map +1 -0
  721. package/dist/ui-core/rendering/syntax-highlight.js.map +1 -0
  722. package/dist/ui-core/rendering/text-format.js.map +1 -0
  723. package/dist/ui-core/rendering/text-width.js.map +1 -0
  724. package/dist/ui-core/rendering/theme.js.map +1 -0
  725. package/dist/ui-core/rendering/thinking-tail.js.map +1 -0
  726. package/dist/ui-core/rendering/tool-presenter.d.ts +68 -0
  727. package/dist/ui-core/rendering/tool-presenter.js +371 -0
  728. package/dist/ui-core/rendering/tool-presenter.js.map +1 -0
  729. package/dist/ui-core/rendering/transcript-export.d.ts +11 -0
  730. package/dist/ui-core/rendering/transcript-export.js +18 -0
  731. package/dist/ui-core/rendering/transcript-export.js.map +1 -0
  732. package/dist/ui-core/rendering/transcript-semantic.js.map +1 -0
  733. package/dist/ui-core/rendering/user-message-wrap.d.ts +18 -0
  734. package/dist/ui-core/rendering/user-message-wrap.js +23 -0
  735. package/dist/ui-core/rendering/user-message-wrap.js.map +1 -0
  736. package/dist/ui-core/rendering/wordmark.js.map +1 -0
  737. package/dist/ui-core/state/pager-search.js.map +1 -0
  738. package/dist/ui-core/state/semantic-document.js.map +1 -0
  739. package/dist/ui-core/state/transcript-compaction.js.map +1 -0
  740. package/dist/ui-core/state/transcript-hydrate.d.ts +67 -0
  741. package/dist/ui-core/state/transcript-hydrate.js +665 -0
  742. package/dist/ui-core/state/transcript-hydrate.js.map +1 -0
  743. package/dist/ui-core/state/transcript-reducer.js +484 -0
  744. package/dist/ui-core/state/transcript-reducer.js.map +1 -0
  745. package/dist/ui-core/state/transcript-search.js.map +1 -0
  746. package/dist/ui-core/state/transcript-store.js.map +1 -0
  747. package/dist/ui-core/state/transcript-struct.js.map +1 -0
  748. package/dist/ui-core/state/transcript-types.d.ts +103 -0
  749. package/dist/ui-core/state/transcript-types.js.map +1 -0
  750. package/dist/version.generated.d.ts +2 -2
  751. package/dist/version.generated.js +2 -2
  752. package/dist/version.generated.js.map +1 -1
  753. package/package.json +17 -13
  754. package/dist/agent/classic-renderer.d.ts +0 -5
  755. package/dist/agent/classic-renderer.js +0 -136
  756. package/dist/agent/classic-renderer.js.map +0 -1
  757. package/dist/app/adapters/current-terminal-adapter.d.ts +0 -2
  758. package/dist/app/adapters/current-terminal-adapter.js +0 -24
  759. package/dist/app/adapters/current-terminal-adapter.js.map +0 -1
  760. package/dist/app/controllers/job-controller.d.ts +0 -28
  761. package/dist/app/controllers/job-controller.js +0 -70
  762. package/dist/app/controllers/job-controller.js.map +0 -1
  763. package/dist/repl/prompt-line.d.ts +0 -24
  764. package/dist/repl/prompt-line.js +0 -558
  765. package/dist/repl/prompt-line.js.map +0 -1
  766. package/dist/repl/slash-commands.js +0 -392
  767. package/dist/repl/slash-commands.js.map +0 -1
  768. package/dist/repl.d.ts +0 -18
  769. package/dist/repl.js +0 -1868
  770. package/dist/repl.js.map +0 -1
  771. package/dist/safety/path-permissions.d.ts +0 -14
  772. package/dist/safety/path-permissions.js +0 -43
  773. package/dist/safety/path-permissions.js.map +0 -1
  774. package/dist/tools/reducers/generic.d.ts +0 -14
  775. package/dist/tools/reducers/generic.js +0 -5
  776. package/dist/tools/reducers/generic.js.map +0 -1
  777. package/dist/tui/can-use-tui.js.map +0 -1
  778. package/dist/tui/format-keys.d.ts +0 -13
  779. package/dist/tui/format-keys.js +0 -78
  780. package/dist/tui/format-keys.js.map +0 -1
  781. package/dist/tui/input-history.js +0 -9
  782. package/dist/tui/input-history.js.map +0 -1
  783. package/dist/tui/runtime.js +0 -207
  784. package/dist/tui/runtime.js.map +0 -1
  785. package/dist/tui/state.d.ts +0 -124
  786. package/dist/tui/state.js +0 -496
  787. package/dist/tui/state.js.map +0 -1
  788. package/dist/tui/text-format.js.map +0 -1
  789. package/dist/tui-v2/actions/action-id.d.ts +0 -14
  790. package/dist/tui-v2/actions/action-id.js +0 -117
  791. package/dist/tui-v2/actions/action-id.js.map +0 -1
  792. package/dist/tui-v2/actions/action-router.js.map +0 -1
  793. package/dist/tui-v2/actions/chord-from-key.d.ts +0 -26
  794. package/dist/tui-v2/actions/chord-from-key.js +0 -47
  795. package/dist/tui-v2/actions/chord-from-key.js.map +0 -1
  796. package/dist/tui-v2/actions/format-shortcuts.js +0 -267
  797. package/dist/tui-v2/actions/format-shortcuts.js.map +0 -1
  798. package/dist/tui-v2/actions/keymap.d.ts +0 -24
  799. package/dist/tui-v2/actions/keymap.js +0 -151
  800. package/dist/tui-v2/actions/keymap.js.map +0 -1
  801. package/dist/tui-v2/app/command-handlers.js +0 -86
  802. package/dist/tui-v2/app/command-handlers.js.map +0 -1
  803. package/dist/tui-v2/app/commands/config-commands.d.ts +0 -14
  804. package/dist/tui-v2/app/commands/config-commands.js +0 -315
  805. package/dist/tui-v2/app/commands/config-commands.js.map +0 -1
  806. package/dist/tui-v2/app/commands/key-commands.d.ts +0 -9
  807. package/dist/tui-v2/app/commands/key-commands.js +0 -496
  808. package/dist/tui-v2/app/commands/key-commands.js.map +0 -1
  809. package/dist/tui-v2/app/commands/picker-commands.d.ts +0 -25
  810. package/dist/tui-v2/app/commands/picker-commands.js +0 -1006
  811. package/dist/tui-v2/app/commands/picker-commands.js.map +0 -1
  812. package/dist/tui-v2/app/commands/session-commands.d.ts +0 -19
  813. package/dist/tui-v2/app/commands/session-commands.js +0 -183
  814. package/dist/tui-v2/app/commands/session-commands.js.map +0 -1
  815. package/dist/tui-v2/app/mode-cycle.js.map +0 -1
  816. package/dist/tui-v2/app/plan-lifecycle.js.map +0 -1
  817. package/dist/tui-v2/app/providers.d.ts +0 -17
  818. package/dist/tui-v2/app/providers.js +0 -32
  819. package/dist/tui-v2/app/providers.js.map +0 -1
  820. package/dist/tui-v2/app/startup-update.js.map +0 -1
  821. package/dist/tui-v2/bootstrap/capabilities.js +0 -93
  822. package/dist/tui-v2/bootstrap/capabilities.js.map +0 -1
  823. package/dist/tui-v2/bootstrap/composition-root.d.ts +0 -92
  824. package/dist/tui-v2/bootstrap/composition-root.js.map +0 -1
  825. package/dist/tui-v2/bootstrap/console-guard.js.map +0 -1
  826. package/dist/tui-v2/bootstrap/console-suppress.js.map +0 -1
  827. package/dist/tui-v2/bootstrap/disable-native-selection.d.ts +0 -11
  828. package/dist/tui-v2/bootstrap/disable-native-selection.js +0 -13
  829. package/dist/tui-v2/bootstrap/disable-native-selection.js.map +0 -1
  830. package/dist/tui-v2/bootstrap/lifecycle.js.map +0 -1
  831. package/dist/tui-v2/bootstrap/osc52-clipboard.js +0 -44
  832. package/dist/tui-v2/bootstrap/osc52-clipboard.js.map +0 -1
  833. package/dist/tui-v2/bootstrap/overlay-ports.js +0 -114
  834. package/dist/tui-v2/bootstrap/overlay-ports.js.map +0 -1
  835. package/dist/tui-v2/bootstrap/ui-selection.d.ts +0 -30
  836. package/dist/tui-v2/bootstrap/ui-selection.js +0 -59
  837. package/dist/tui-v2/bootstrap/ui-selection.js.map +0 -1
  838. package/dist/tui-v2/composer/arrow-intent.js.map +0 -1
  839. package/dist/tui-v2/composer/completion.js.map +0 -1
  840. package/dist/tui-v2/composer/composer-action-port.js.map +0 -1
  841. package/dist/tui-v2/composer/composer-height.js +0 -29
  842. package/dist/tui-v2/composer/composer-height.js.map +0 -1
  843. package/dist/tui-v2/composer/composer-meta.d.ts +0 -9
  844. package/dist/tui-v2/composer/composer-meta.js +0 -38
  845. package/dist/tui-v2/composer/composer-meta.js.map +0 -1
  846. package/dist/tui-v2/composer/draft-actions.d.ts +0 -31
  847. package/dist/tui-v2/composer/draft-actions.js +0 -45
  848. package/dist/tui-v2/composer/draft-actions.js.map +0 -1
  849. package/dist/tui-v2/composer/history-nav.js.map +0 -1
  850. package/dist/tui-v2/composer/newline-hint.d.ts +0 -13
  851. package/dist/tui-v2/composer/newline-hint.js.map +0 -1
  852. package/dist/tui-v2/composer/paste-placeholder.js.map +0 -1
  853. package/dist/tui-v2/composer/prompt-history.js.map +0 -1
  854. package/dist/tui-v2/composer/secret-buffer.js.map +0 -1
  855. package/dist/tui-v2/controllers/focus-controller.js.map +0 -1
  856. package/dist/tui-v2/controllers/interruptible-controller.js.map +0 -1
  857. package/dist/tui-v2/controllers/overlay-controller.d.ts +0 -209
  858. package/dist/tui-v2/controllers/overlay-controller.js.map +0 -1
  859. package/dist/tui-v2/controllers/selection-controller.js.map +0 -1
  860. package/dist/tui-v2/controllers/toast-controller.js.map +0 -1
  861. package/dist/tui-v2/layout/compute-layout.js.map +0 -1
  862. package/dist/tui-v2/motion/ease.js.map +0 -1
  863. package/dist/tui-v2/notify.js.map +0 -1
  864. package/dist/tui-v2/rendering/artifact-pager-source.js.map +0 -1
  865. package/dist/tui-v2/rendering/batch-sections.js.map +0 -1
  866. package/dist/tui-v2/rendering/file-diff-view.js.map +0 -1
  867. package/dist/tui-v2/rendering/format-help.js.map +0 -1
  868. package/dist/tui-v2/rendering/incremental-strip.js.map +0 -1
  869. package/dist/tui-v2/rendering/job-tail-source.js.map +0 -1
  870. package/dist/tui-v2/rendering/link-detector.js.map +0 -1
  871. package/dist/tui-v2/rendering/open-tool-output.js +0 -346
  872. package/dist/tui-v2/rendering/open-tool-output.js.map +0 -1
  873. package/dist/tui-v2/rendering/pager-chrome.js +0 -119
  874. package/dist/tui-v2/rendering/pager-chrome.js.map +0 -1
  875. package/dist/tui-v2/rendering/pager-view-policy.js +0 -98
  876. package/dist/tui-v2/rendering/pager-view-policy.js.map +0 -1
  877. package/dist/tui-v2/rendering/picker-filter.js.map +0 -1
  878. package/dist/tui-v2/rendering/plan-view.js.map +0 -1
  879. package/dist/tui-v2/rendering/prompt-preview.js.map +0 -1
  880. package/dist/tui-v2/rendering/render-markdown-lines.d.ts +0 -29
  881. package/dist/tui-v2/rendering/render-markdown-lines.js +0 -46
  882. package/dist/tui-v2/rendering/render-markdown-lines.js.map +0 -1
  883. package/dist/tui-v2/rendering/sanitize-display.js.map +0 -1
  884. package/dist/tui-v2/rendering/streaming-markdown.d.ts +0 -25
  885. package/dist/tui-v2/rendering/streaming-markdown.js +0 -117
  886. package/dist/tui-v2/rendering/streaming-markdown.js.map +0 -1
  887. package/dist/tui-v2/rendering/strip-tool-surfaces.js.map +0 -1
  888. package/dist/tui-v2/rendering/syntax-highlight.js.map +0 -1
  889. package/dist/tui-v2/rendering/theme.js.map +0 -1
  890. package/dist/tui-v2/rendering/thinking-tail.js.map +0 -1
  891. package/dist/tui-v2/rendering/tool-presenter.d.ts +0 -63
  892. package/dist/tui-v2/rendering/tool-presenter.js +0 -376
  893. package/dist/tui-v2/rendering/tool-presenter.js.map +0 -1
  894. package/dist/tui-v2/rendering/transcript-export.d.ts +0 -11
  895. package/dist/tui-v2/rendering/transcript-export.js +0 -18
  896. package/dist/tui-v2/rendering/transcript-export.js.map +0 -1
  897. package/dist/tui-v2/rendering/transcript-semantic.js.map +0 -1
  898. package/dist/tui-v2/rendering/user-message-wrap.d.ts +0 -16
  899. package/dist/tui-v2/rendering/user-message-wrap.js +0 -21
  900. package/dist/tui-v2/rendering/user-message-wrap.js.map +0 -1
  901. package/dist/tui-v2/state/pager-search.js.map +0 -1
  902. package/dist/tui-v2/state/semantic-document.js.map +0 -1
  903. package/dist/tui-v2/state/transcript-compaction.js.map +0 -1
  904. package/dist/tui-v2/state/transcript-hydrate.d.ts +0 -67
  905. package/dist/tui-v2/state/transcript-hydrate.js +0 -648
  906. package/dist/tui-v2/state/transcript-hydrate.js.map +0 -1
  907. package/dist/tui-v2/state/transcript-reducer.js +0 -482
  908. package/dist/tui-v2/state/transcript-reducer.js.map +0 -1
  909. package/dist/tui-v2/state/transcript-search.js.map +0 -1
  910. package/dist/tui-v2/state/transcript-store.js.map +0 -1
  911. package/dist/tui-v2/state/transcript-struct.js.map +0 -1
  912. package/dist/tui-v2/state/transcript-types.d.ts +0 -101
  913. package/dist/tui-v2/state/transcript-types.js.map +0 -1
  914. package/dist/tui-v2/state/use-has-draft.js.map +0 -1
  915. package/dist/tui-v2/state/use-overlay.js.map +0 -1
  916. package/dist/tui-v2/state/use-plan.js.map +0 -1
  917. package/dist/tui-v2/state/use-session-state.js.map +0 -1
  918. package/dist/tui-v2/state/use-toast.js.map +0 -1
  919. package/dist/tui-v2/state/use-transcript-store.d.ts +0 -10
  920. package/dist/tui-v2/state/use-transcript-store.js.map +0 -1
  921. package/dist/ui/ansi-box.d.ts +0 -9
  922. package/dist/ui/ansi-box.js +0 -25
  923. package/dist/ui/ansi-box.js.map +0 -1
  924. package/dist/ui/banner.d.ts +0 -3
  925. package/dist/ui/banner.js +0 -13
  926. package/dist/ui/banner.js.map +0 -1
  927. package/dist/ui/code-block.d.ts +0 -48
  928. package/dist/ui/code-block.js +0 -407
  929. package/dist/ui/code-block.js.map +0 -1
  930. package/dist/ui/intro-card.d.ts +0 -11
  931. package/dist/ui/intro-card.js +0 -74
  932. package/dist/ui/intro-card.js.map +0 -1
  933. package/dist/ui/intro-header.d.ts +0 -24
  934. package/dist/ui/intro-header.js +0 -233
  935. package/dist/ui/intro-header.js.map +0 -1
  936. package/dist/ui/keys.d.ts +0 -23
  937. package/dist/ui/keys.js +0 -23
  938. package/dist/ui/keys.js.map +0 -1
  939. package/dist/ui/markdown.js.map +0 -1
  940. package/dist/ui/output-pane.d.ts +0 -59
  941. package/dist/ui/output-pane.js +0 -398
  942. package/dist/ui/output-pane.js.map +0 -1
  943. package/dist/ui/spinner.d.ts +0 -8
  944. package/dist/ui/spinner.js +0 -185
  945. package/dist/ui/spinner.js.map +0 -1
  946. package/dist/ui/task-pane.d.ts +0 -17
  947. package/dist/ui/task-pane.js +0 -80
  948. package/dist/ui/task-pane.js.map +0 -1
  949. package/dist/ui/text-width.js.map +0 -1
  950. package/dist/ui/wordmark.js.map +0 -1
  951. /package/dist/{repl/slash-commands.d.ts → app/commands/catalog.d.ts} +0 -0
  952. /package/dist/{tui/runtime.d.ts → os/bun-runtime.d.ts} +0 -0
  953. /package/dist/{tui-v2 → ui-core}/actions/action-router.d.ts +0 -0
  954. /package/dist/{tui-v2 → ui-core}/actions/action-router.js +0 -0
  955. /package/dist/{tui-v2 → ui-core}/actions/format-shortcuts.d.ts +0 -0
  956. /package/dist/{tui-v2/app → ui-core/actions}/mode-cycle.d.ts +0 -0
  957. /package/dist/{tui-v2/app → ui-core/actions}/mode-cycle.js +0 -0
  958. /package/dist/{tui → ui-core/bootstrap}/can-use-tui.d.ts +0 -0
  959. /package/dist/{tui → ui-core/bootstrap}/can-use-tui.js +0 -0
  960. /package/dist/{tui-v2 → ui-core}/bootstrap/capabilities.d.ts +0 -0
  961. /package/dist/{tui-v2 → ui-core}/bootstrap/composition-root.js +0 -0
  962. /package/dist/{tui-v2 → ui-core}/bootstrap/console-guard.d.ts +0 -0
  963. /package/dist/{tui-v2 → ui-core}/bootstrap/console-guard.js +0 -0
  964. /package/dist/{tui-v2 → ui-core}/bootstrap/console-suppress.d.ts +0 -0
  965. /package/dist/{tui-v2 → ui-core}/bootstrap/console-suppress.js +0 -0
  966. /package/dist/{tui-v2 → ui-core}/bootstrap/lifecycle.d.ts +0 -0
  967. /package/dist/{tui-v2 → ui-core}/bootstrap/lifecycle.js +0 -0
  968. /package/dist/{tui-v2 → ui-core}/bootstrap/overlay-ports.d.ts +0 -0
  969. /package/dist/{tui-v2/app → ui-core/commands}/command-handlers.d.ts +0 -0
  970. /package/dist/{tui-v2/app → ui-core/commands}/startup-update.d.ts +0 -0
  971. /package/dist/{tui-v2/app → ui-core/commands}/startup-update.js +0 -0
  972. /package/dist/{tui-v2 → ui-core}/composer/arrow-intent.d.ts +0 -0
  973. /package/dist/{tui-v2 → ui-core}/composer/arrow-intent.js +0 -0
  974. /package/dist/{tui-v2 → ui-core}/composer/completion.d.ts +0 -0
  975. /package/dist/{tui-v2 → ui-core}/composer/completion.js +0 -0
  976. /package/dist/{tui-v2 → ui-core}/composer/composer-action-port.d.ts +0 -0
  977. /package/dist/{tui-v2 → ui-core}/composer/composer-action-port.js +0 -0
  978. /package/dist/{tui-v2 → ui-core}/composer/composer-height.d.ts +0 -0
  979. /package/dist/{tui-v2 → ui-core}/composer/history-nav.d.ts +0 -0
  980. /package/dist/{tui-v2 → ui-core}/composer/history-nav.js +0 -0
  981. /package/dist/{tui → ui-core/composer}/input-history.d.ts +0 -0
  982. /package/dist/{tui-v2 → ui-core}/composer/newline-hint.js +0 -0
  983. /package/dist/{tui-v2 → ui-core}/composer/paste-placeholder.d.ts +0 -0
  984. /package/dist/{tui-v2 → ui-core}/composer/paste-placeholder.js +0 -0
  985. /package/dist/{tui-v2 → ui-core}/composer/prompt-history.d.ts +0 -0
  986. /package/dist/{tui-v2 → ui-core}/composer/prompt-history.js +0 -0
  987. /package/dist/{tui-v2 → ui-core}/composer/secret-buffer.d.ts +0 -0
  988. /package/dist/{tui-v2 → ui-core}/composer/secret-buffer.js +0 -0
  989. /package/dist/{tui-v2 → ui-core}/controllers/focus-controller.d.ts +0 -0
  990. /package/dist/{tui-v2 → ui-core}/controllers/focus-controller.js +0 -0
  991. /package/dist/{tui-v2 → ui-core}/controllers/interruptible-controller.d.ts +0 -0
  992. /package/dist/{tui-v2 → ui-core}/controllers/interruptible-controller.js +0 -0
  993. /package/dist/{tui-v2 → ui-core}/controllers/overlay-controller.js +0 -0
  994. /package/dist/{tui-v2 → ui-core}/controllers/selection-controller.d.ts +0 -0
  995. /package/dist/{tui-v2 → ui-core}/controllers/selection-controller.js +0 -0
  996. /package/dist/{tui-v2 → ui-core}/controllers/toast-controller.d.ts +0 -0
  997. /package/dist/{tui-v2 → ui-core}/controllers/toast-controller.js +0 -0
  998. /package/dist/{tui-v2 → ui-core}/layout/compute-layout.d.ts +0 -0
  999. /package/dist/{tui-v2 → ui-core}/layout/compute-layout.js +0 -0
  1000. /package/dist/{tui-v2 → ui-core}/motion/ease.d.ts +0 -0
  1001. /package/dist/{tui-v2 → ui-core}/motion/ease.js +0 -0
  1002. /package/dist/{tui-v2 → ui-core}/notify.d.ts +0 -0
  1003. /package/dist/{tui-v2 → ui-core}/notify.js +0 -0
  1004. /package/dist/{tui-v2/app → ui-core/plan}/plan-lifecycle.d.ts +0 -0
  1005. /package/dist/{tui-v2/app → ui-core/plan}/plan-lifecycle.js +0 -0
  1006. /package/dist/{tui-v2/bootstrap/osc52-clipboard.d.ts → ui-core/ports/clipboard-osc52.d.ts} +0 -0
  1007. /package/dist/{tui-v2/state → ui-core/react}/use-has-draft.d.ts +0 -0
  1008. /package/dist/{tui-v2/state → ui-core/react}/use-has-draft.js +0 -0
  1009. /package/dist/{tui-v2/state → ui-core/react}/use-overlay.d.ts +0 -0
  1010. /package/dist/{tui-v2/state → ui-core/react}/use-overlay.js +0 -0
  1011. /package/dist/{tui-v2/state → ui-core/react}/use-plan.d.ts +0 -0
  1012. /package/dist/{tui-v2/state → ui-core/react}/use-plan.js +0 -0
  1013. /package/dist/{tui-v2/state → ui-core/react}/use-session-state.d.ts +0 -0
  1014. /package/dist/{tui-v2/state → ui-core/react}/use-session-state.js +0 -0
  1015. /package/dist/{tui-v2/state → ui-core/react}/use-toast.d.ts +0 -0
  1016. /package/dist/{tui-v2/state → ui-core/react}/use-toast.js +0 -0
  1017. /package/dist/{tui-v2/state → ui-core/react}/use-transcript-store.js +0 -0
  1018. /package/dist/{tui-v2 → ui-core}/rendering/artifact-pager-source.d.ts +0 -0
  1019. /package/dist/{tui-v2 → ui-core}/rendering/artifact-pager-source.js +0 -0
  1020. /package/dist/{tui-v2 → ui-core}/rendering/batch-sections.d.ts +0 -0
  1021. /package/dist/{tui-v2 → ui-core}/rendering/batch-sections.js +0 -0
  1022. /package/dist/{tui-v2 → ui-core}/rendering/file-diff-view.d.ts +0 -0
  1023. /package/dist/{tui-v2 → ui-core}/rendering/file-diff-view.js +0 -0
  1024. /package/dist/{tui-v2 → ui-core}/rendering/format-help.d.ts +0 -0
  1025. /package/dist/{tui-v2 → ui-core}/rendering/format-help.js +0 -0
  1026. /package/dist/{tui-v2 → ui-core}/rendering/incremental-strip.d.ts +0 -0
  1027. /package/dist/{tui-v2 → ui-core}/rendering/incremental-strip.js +0 -0
  1028. /package/dist/{tui-v2 → ui-core}/rendering/job-tail-source.d.ts +0 -0
  1029. /package/dist/{tui-v2 → ui-core}/rendering/job-tail-source.js +0 -0
  1030. /package/dist/{tui-v2 → ui-core}/rendering/link-detector.d.ts +0 -0
  1031. /package/dist/{tui-v2 → ui-core}/rendering/link-detector.js +0 -0
  1032. /package/dist/{ui → ui-core/rendering}/markdown.d.ts +0 -0
  1033. /package/dist/{ui → ui-core/rendering}/markdown.js +0 -0
  1034. /package/dist/{tui-v2 → ui-core}/rendering/open-tool-output.d.ts +0 -0
  1035. /package/dist/{tui-v2 → ui-core}/rendering/pager-chrome.d.ts +0 -0
  1036. /package/dist/{tui-v2 → ui-core}/rendering/pager-view-policy.d.ts +0 -0
  1037. /package/dist/{tui-v2 → ui-core}/rendering/picker-filter.d.ts +0 -0
  1038. /package/dist/{tui-v2 → ui-core}/rendering/picker-filter.js +0 -0
  1039. /package/dist/{tui-v2 → ui-core}/rendering/plan-view.d.ts +0 -0
  1040. /package/dist/{tui-v2 → ui-core}/rendering/plan-view.js +0 -0
  1041. /package/dist/{tui-v2 → ui-core}/rendering/prompt-preview.d.ts +0 -0
  1042. /package/dist/{tui-v2 → ui-core}/rendering/prompt-preview.js +0 -0
  1043. /package/dist/{tui-v2 → ui-core}/rendering/sanitize-display.d.ts +0 -0
  1044. /package/dist/{tui-v2 → ui-core}/rendering/sanitize-display.js +0 -0
  1045. /package/dist/{tui-v2 → ui-core}/rendering/strip-tool-surfaces.d.ts +0 -0
  1046. /package/dist/{tui-v2 → ui-core}/rendering/strip-tool-surfaces.js +0 -0
  1047. /package/dist/{tui-v2 → ui-core}/rendering/syntax-highlight.d.ts +0 -0
  1048. /package/dist/{tui-v2 → ui-core}/rendering/syntax-highlight.js +0 -0
  1049. /package/dist/{tui → ui-core/rendering}/text-format.d.ts +0 -0
  1050. /package/dist/{tui → ui-core/rendering}/text-format.js +0 -0
  1051. /package/dist/{ui → ui-core/rendering}/text-width.d.ts +0 -0
  1052. /package/dist/{ui → ui-core/rendering}/text-width.js +0 -0
  1053. /package/dist/{tui-v2 → ui-core}/rendering/theme.d.ts +0 -0
  1054. /package/dist/{tui-v2 → ui-core}/rendering/theme.js +0 -0
  1055. /package/dist/{tui-v2 → ui-core}/rendering/thinking-tail.d.ts +0 -0
  1056. /package/dist/{tui-v2 → ui-core}/rendering/thinking-tail.js +0 -0
  1057. /package/dist/{tui-v2 → ui-core}/rendering/transcript-semantic.d.ts +0 -0
  1058. /package/dist/{tui-v2 → ui-core}/rendering/transcript-semantic.js +0 -0
  1059. /package/dist/{ui → ui-core/rendering}/wordmark.d.ts +0 -0
  1060. /package/dist/{ui → ui-core/rendering}/wordmark.js +0 -0
  1061. /package/dist/{tui-v2 → ui-core}/state/pager-search.d.ts +0 -0
  1062. /package/dist/{tui-v2 → ui-core}/state/pager-search.js +0 -0
  1063. /package/dist/{tui-v2 → ui-core}/state/semantic-document.d.ts +0 -0
  1064. /package/dist/{tui-v2 → ui-core}/state/semantic-document.js +0 -0
  1065. /package/dist/{tui-v2 → ui-core}/state/transcript-compaction.d.ts +0 -0
  1066. /package/dist/{tui-v2 → ui-core}/state/transcript-compaction.js +0 -0
  1067. /package/dist/{tui-v2 → ui-core}/state/transcript-reducer.d.ts +0 -0
  1068. /package/dist/{tui-v2 → ui-core}/state/transcript-search.d.ts +0 -0
  1069. /package/dist/{tui-v2 → ui-core}/state/transcript-search.js +0 -0
  1070. /package/dist/{tui-v2 → ui-core}/state/transcript-store.d.ts +0 -0
  1071. /package/dist/{tui-v2 → ui-core}/state/transcript-store.js +0 -0
  1072. /package/dist/{tui-v2 → ui-core}/state/transcript-struct.d.ts +0 -0
  1073. /package/dist/{tui-v2 → ui-core}/state/transcript-struct.js +0 -0
  1074. /package/dist/{tui-v2 → ui-core}/state/transcript-types.js +0 -0
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  > A fast, terminal-native AI agent that runs real tools — built to run on **free API tiers**, stay alive across rate limits with **multi-key + multi-provider switching**, and do serious work: **building, debugging, and scope-based pentesting / bug bounty**.
4
4
 
5
- `clai` is an agentic CLI. It doesn't just describe what to do — it edits files, runs shell commands, scans hosts, fetches HTTP evidence, keeps a durable task plan, and verifies its own work before claiming success. It runs entirely in your terminal with a full-screen console UI (and a classic line REPL fallback).
5
+ `clai` is an agentic CLI. It doesn't just describe what to do — it edits files, runs shell commands, scans hosts, fetches HTTP evidence, keeps a durable task plan, and verifies its own work before claiming success. It runs in your terminal with three full surfaces — an OpenTUI full-screen console (default on macOS/Linux), a classic Ink UI (default on Windows), and a noninteractive stream renderer for prompts and pipes. The original line-by-line REPL is gone: every interactive surface is a full-screen app sharing the same features, commands, and session state.
6
6
 
7
7
  Two things make it practical for everyday use:
8
8
 
@@ -14,7 +14,7 @@ Two things make it practical for everyday use:
14
14
  ## Highlights
15
15
 
16
16
  - **Free-tier first.** 17 providers wired in, 7 cloud free tiers + local Ollama. The default provider is the **keyless Free** gateway (`free-1/deepseek-v4-flash-free`) so a fresh install runs at no cost with zero setup — no API key required.
17
- - **Multi-key smart switching.** Up to 10 keys per provider with a *sticky* active key and circular rotation on rate-limit / auth / quota / transient / 5xx / empty-response errors. Optional cross-provider fallback and a free-only filter.
17
+ - **Multi-key smart switching.** Up to 10 keys per provider with a *sticky* active key and circular rotation on rate-limit / auth / quota / transient / 5xx / empty-response errors. Disable any key or endpoint row to skip it without deleting it. Optional cross-provider fallback and a free-only filter.
18
18
  - **Bring your own endpoint.** Deploy Kimi K3 (or Qwen / DeepSeek / GLM / GPT-OSS / your own fine-tune) to a [Modal](#modal--run-kimi-k3-on-your-own-endpoint-on-30month-of-free-credit) endpoint and drive it from clai on **$30/month of free compute credit**. Modal, Lightning AI and TokenRouter each keep a list of up to 10 base URLs with a sticky active one, so several deployments live side by side and you switch with one command — same editor, same ★ active row as keys.
19
19
  - **Scope-based pentesting.** Opt-in engagement scope with authorized/excluded targets, allowed phases, rate and concurrency ceilings, redirect and DNS-rebinding escape detection, and out-of-scope flagging — designed for authorized pentests and bug-bounty programs.
20
20
  - **Real building & debugging.** Scaffolds apps, edits code surgically, installs packages, runs builds/tests, starts dev servers as background jobs, and probes them before reporting success.
@@ -54,23 +54,21 @@ git clone https://github.com/pentoshi007/clai.git
54
54
  cd clai && npm install && npm run build && npm start
55
55
  ```
56
56
 
57
- Node.js ≥ 20. Type `clai` in any terminal to start.
57
+ Node.js ≥ 22. Type `clai` in any terminal to start.
58
58
 
59
59
  ### Platform notes
60
60
 
61
- <table>
62
- <tr><th>Platform</th><th>Full-screen TUI (OpenTUI)</th><th>Classic REPL (<code>--classic</code>)</th></tr>
63
- <tr><td>macOS</td><td>✅ Full support</td><td>✅</td></tr>
64
- <tr><td>Linux</td><td>✅ Full support</td><td>✅</td></tr>
65
- <tr><td>Windows</td><td>❌ Not available yet</td><td>✅ Automatic fallback</td></tr>
66
- </table>
61
+ | Environment | Default surface | Explicit alternative |
62
+ |---|---|---|
63
+ | Interactive macOS/Linux terminal at least 60×14 | OpenTUI full-screen console | `clai --classic` for the Ink UI |
64
+ | Interactive Windows terminal | Classic Ink UI | `--ui classic` / `--classic` |
65
+ | stdin or stdout is not a TTY | Noninteractive stream renderer | use a prompt or pipe stdin |
67
66
 
68
- **Windows:** OpenTUI's native renderer does not ship Windows binaries yet, so clai automatically starts in classic REPL mode no extra flags needed. All core features (ask, agent, multi-key rotation, pentesting, plans, history) work identically; only the full-screen UI is absent.
69
-
70
- > **Note:** The standalone Windows binary (`clai.exe` via `install.ps1` / Scoop) may crash silently on some Windows builds. If `clai` returns without output after the raw-URL install, use the **npm method** instead — it is the most reliable way to run clai on Windows:
71
- > ```powershell
72
- > npm i -g @pentoshi/clai
73
- > ```
67
+ **Windows:** the platform-selection code chooses the classic Ink UI before any Bun/OpenTUI
68
+ startup probe. This repository's macOS validation does not claim Windows Terminal,
69
+ PowerShell, cmd.exe/conhost, VS Code terminal, ConPTY, or Windows-binary runtime evidence;
70
+ those target-host checks remain release gates. Use `clai --classic` explicitly when you want
71
+ the same selection on any platform.
74
72
 
75
73
  **Linux — terminal recommendations for full mouse & hover support:**
76
74
 
@@ -200,7 +198,7 @@ clai unset modal --url # clear the URLs, keep the token pairs
200
198
  clai keys # every URL listed, ★ marks the active one
201
199
  ```
202
200
 
203
- Token pairs rotate on failure like any other provider's keys (the pair is stored as one `id:secret` string). Endpoints do **not** auto-rotate: a different Modal endpoint serves a different model, so switching is always an explicit choice. `MODAL_BASE_URL` overrides the stored list entirely.
201
+ Token pairs rotate on failure like any other provider's keys (the pair is stored as one `id:secret` string). Endpoints fail over alongside them: on a rate limit, workspace/auth mismatch, quota error, or 5xx, clai tries the next stored endpoint with the next key, and the ★ active endpoint sticks to the one that worked, so the next run starts on the healthy URL. `MODAL_BASE_URL` overrides the stored list entirely.
204
202
 
205
203
  From inside the console, `/provider modal` walks the same setup in two prompts — endpoint URL first (shown in full, since it isn't a secret), then the token pair — and leaves the active provider untouched if you cancel.
206
204
 
@@ -253,11 +251,12 @@ clai provider # interactive provider/model picker
253
251
  clai unset groq # remove ALL keys for a provider
254
252
  ```
255
253
 
256
- In the console, **`/set`** opens a multi-row editor: add rows with `+`, remove rows, star a row to make it the active one, **Save**, or **Reset all**. Providers with their own base URL (Modal, Lightning AI, TokenRouter) get a second **endpoints** row in the `/set` picker that edits their URL list the same way — URLs are shown in full rather than masked, since they aren't secrets. `/set <provider> https://…` adds and activates one URL directly. **`/keys`** lists keys masked plus the active endpoint; **`/unset`** clears a provider.
254
+ In the console, **`/set`** opens a multi-row editor: add rows with `+`, remove rows, star a row to make it the active one, or disable a row to skip it in rotation without deleting it (`d` in the classic UI, `Ctrl+D` or the ○ marker in OpenTUI) — then **Save**, or **Reset all**. Providers with their own base URL (Modal, Lightning AI, TokenRouter) get a second **endpoints** row in the `/set` picker that edits their URL list the same way — URLs are shown in full rather than masked, since they aren't secrets. `/set <provider> https://…` adds and activates one URL directly. **`/keys`** lists keys masked plus the active endpoint, marking disabled rows `(disabled)`; **`/unset`** clears a provider. Disabled entries are never tried until re-enabled, and disabling every key for a provider fails fast with a clear error instead of burning requests.
257
255
 
258
256
  ### Smart switching (how it stays up)
259
257
 
260
- - **Multi-key rotation** — up to **10 keys per provider**. The last key that worked is *sticky*; on failure clai rotates circularly to the next key.
258
+ - **Multi-key rotation** — up to **10 keys per provider**. The last key that worked is *sticky*; on failure clai rotates circularly to the next key. Endpoint providers (Modal, Lightning AI, TokenRouter) fail over their stored endpoints alongside the keys, and the ★ active endpoint follows the one that worked.
259
+ - **Disable without deleting** — toggle any key or endpoint row disabled in the `/set` editor and rotation skips it until you re-enable it.
261
260
  - **What triggers a switch** — HTTP 429 (rate limit), 401/403 (auth), 402 / quota / billing text, transient network errors, 500–504, and empty completions. Auth and quota errors switch **immediately** (no backoff wait); rate limits back off briefly first.
262
261
  - **Cross-provider fallback** *(opt-in)* — `/fallback on` lets clai try other configured providers after the active one is exhausted (only when running a provider's default model).
263
262
  - **Free-only mode** *(opt-in)* — `/freeonly on` excludes paid-cloud providers from the fallback chain, so you never accidentally spend.
@@ -353,7 +352,7 @@ You own authorization; clai still gates risk on every action:
353
352
 
354
353
  ## Terminal UI
355
354
 
356
- A full-screen console by default: streaming chat, nested tool cards (including `tool.batch` sub-calls), file diffs, a live plan pane, pickers, history, and secure masked key prompts. It falls back to a classic REPL when the terminal can't host the UI.
355
+ The old line REPL has been removed — there are only full surfaces now. An OpenTUI full-screen console is selected for a sufficiently large interactive POSIX terminal. The classic Ink UI is selected on Windows, on smaller terminals, or with `--classic`; non-TTY prompts use the noninteractive stream renderer. In the classic UI, mouse reporting is on by default so wheel swipes scroll the live tail and panels instead of being misread as prompt-history keys; native text selection stays one modifier away (Shift/Option/Fn), and `CLAI_CLASSIC_MOUSE=0` turns mouse reporting off. The interactive surfaces provide streaming chat, nested tool cards (including `tool.batch` sub-calls), file diffs, a live plan pane, pickers, history, and secure masked key prompts.
357
356
 
358
357
  | Action | Key |
359
358
  |--------|-----|
@@ -400,9 +399,12 @@ Tool cards show the command/input clearly and keep long scan tails in an expanda
400
399
  ## CLI commands
401
400
 
402
401
  ```sh
403
- clai [prompt...] # interactive console, or one-shot with a prompt
402
+ clai [prompt...] # interactive UI, or one-shot with a prompt
404
403
  --mode <ask|agent|plan> --provider <p> --model <m>
405
- -y/--yes --no-history --classic --ui <legacy|tui|v2>
404
+ -y/--yes --no-history
405
+ --show-thinking --verbose --quiet # one-shot stream controls
406
+ --tui --classic
407
+ --ui <tui|v2|opentui|classic|legacy|ink> # aliases; ignored with a prompt
406
408
 
407
409
  clai set <provider> [key] # --from-env <VAR> | --stdin | --url <url> (repeatable) | --skip-ping
408
410
  clai unset <provider> # remove all keys for a provider (--url = endpoint URLs instead)
@@ -422,6 +424,18 @@ clai scope <show|new|add|clear> # engagement scope (new: --targets --excl
422
424
  clai privacy <status|on|off|retention|clear-history|clear-logs|clear-artifacts|clear-all>
423
425
  ```
424
426
 
427
+ ### One-shot output and exit status
428
+
429
+ `clai "prompt"` and piped prompts use the noninteractive stream renderer. The final
430
+ assistant answer is written to **stdout**; progress, tool cards, diffs, thinking (when
431
+ `--show-thinking` is enabled), confirmations, and errors are written to **stderr**. `--quiet`
432
+ suppresses progress while retaining the final answer on stdout, and `--verbose` expands tool
433
+ output and diff hunks. `--no-history` disables persistence for that run.
434
+
435
+ A completed, partially completed, blocked, or failed turn returns exit code `0`; an aborted
436
+ turn returns `130`; an unhandled or loader error returns `1`. `--show-thinking` can also be
437
+ enabled with `CLAI_SHOW_THINKING=1`.
438
+
425
439
  ---
426
440
 
427
441
  ## Built-in tools
@@ -514,8 +528,11 @@ npm install
514
528
  npm run dev # run from source
515
529
  npm run typecheck
516
530
  npm run build
517
- npm test # full vitest suite
531
+ npm test # full Vitest suite
532
+ npm run test:classic:pty # provider-independent POSIX PTY smoke
518
533
  npm run compile # native binaries (Bun)
534
+ npm run release:verify
535
+ npm pack --dry-run
519
536
  ```
520
537
 
521
538
  ---
@@ -547,8 +564,11 @@ clai/
547
564
  │ ├─ tools/ # fs, shell, net, http, web, pentest, batch, plan
548
565
  │ ├─ safety/ # risk classifier + engagement (scope) policy
549
566
  │ ├─ store/ # config, history, keys, plans, scope
550
- │ ├─ tui-v2/ # full-screen OpenTUI console (primary)
551
- │ ├─ app/ # session controllers, commands, events
567
+ │ ├─ ui-core/ # renderer-neutral state, actions, layout, rendering, and ports
568
+ │ ├─ classic/ # React + Ink classic UI and POSIX terminal bootstrap
569
+ │ ├─ tui-v2/ # OpenTUI full-screen renderer
570
+ │ ├─ noninteractive/ # stdout/stderr-split one-shot stream renderer
571
+ │ ├─ app/ # session controllers, commands, events, and ports
552
572
  │ └─ prompts/ # agent methodology (embedded for the compiled binary)
553
573
  ├─ install/ · manifests/
554
574
  └─ package.json
@@ -0,0 +1,3 @@
1
+ export function shouldSkipBunInstall(platform = process.platform) {
2
+ return platform === "win32";
3
+ }
@@ -2,12 +2,13 @@
2
2
  /**
3
3
  * Postinstall script for @pentoshi/clai.
4
4
  * Automatically checks for Bun (required by OpenTUI) and installs it into
5
- * ~/.clai/bin/bun across Linux, macOS, and Windows if missing.
5
+ * ~/.clai/bin/bun across Linux and macOS if missing.
6
6
  */
7
7
  import { spawnSync } from "node:child_process";
8
8
  import { accessSync, chmodSync, constants, existsSync, mkdirSync } from "node:fs";
9
9
  import { homedir } from "node:os";
10
10
  import { delimiter, join } from "node:path";
11
+ import { shouldSkipBunInstall } from "./postinstall-policy.mjs";
11
12
 
12
13
  function findBun() {
13
14
  const binName = process.platform === "win32" ? "bun.exe" : "bun";
@@ -40,7 +41,9 @@ function findBun() {
40
41
  return undefined;
41
42
  }
42
43
 
43
- if (!findBun() && process.env.CLAI_NO_BUN_AUTO_INSTALL !== "1") {
44
+ const skipBunInstall = shouldSkipBunInstall();
45
+
46
+ if (!skipBunInstall && !findBun() && process.env.CLAI_NO_BUN_AUTO_INSTALL !== "1") {
44
47
  const targetDir = join(homedir(), ".clai");
45
48
  const binName = process.platform === "win32" ? "bun.exe" : "bun";
46
49
  const targetBin = join(targetDir, "bin", binName);
@@ -106,7 +109,7 @@ if (!findBun() && process.env.CLAI_NO_BUN_AUTO_INSTALL !== "1") {
106
109
  }
107
110
  }
108
111
 
109
- if (!findBun()) {
112
+ if (!skipBunInstall && !findBun()) {
110
113
  console.log(`
111
114
  Note: Bun was not installed during postinstall.
112
115
  clai will automatically install Bun on first launch.
@@ -1,13 +1,10 @@
1
+ import { restoreInteractiveStdin } from "../noninteractive/readline-prompts.js";
1
2
  import type { ToolCall } from "../types.js";
2
3
  import type { SessionPolicy } from "./session-policy.js";
4
+ export { restoreInteractiveStdin };
3
5
  export interface ConfirmPort {
4
6
  confirmTool(call: ToolCall): Promise<boolean>;
5
7
  confirmPentest(): Promise<boolean>;
6
- /**
7
- * Ask whether to continue after a progress-governor pause (or similar).
8
- * `reason` is shown when present so the user knows why work stalled.
9
- */
10
- confirmContinue?(steps: number, reason?: string): Promise<boolean>;
11
8
  /**
12
9
  * Ask whether to leave ask mode and run an action task in agent mode.
13
10
  * Optional so existing ports keep working; ask-mode handoff falls back to a
@@ -18,18 +15,9 @@ export interface ConfirmPort {
18
15
  tools: string[];
19
16
  }): Promise<boolean>;
20
17
  }
21
- /**
22
- * Re-assert raw mode AND resume stdin after an inquirer prompt
23
- * (confirm/password). inquirer's readline interface pauses stdin and
24
- * switches it to cooked mode when it closes; if we only flip raw mode back
25
- * on but leave stdin paused, no `keypress`/`data` events flow to the REPL's
26
- * ESC/Ctrl+C abort handler — so a long-running tool launched right after a
27
- * confirmation can no longer be aborted (the user had to kill the terminal).
28
- * Calling resume() restores the event flow.
29
- */
30
- export declare function restoreInteractiveStdin(): void;
31
- export declare const inquirerConfirmPort: ConfirmPort;
32
- export declare function inquirerSecretRequester(request: {
18
+ /** Default port: readline prompts on the process stdio (06-ONESHOT.md §4). */
19
+ export declare const stdioConfirmPort: ConfirmPort;
20
+ export declare function stdioSecretRequester(request: {
33
21
  title: string;
34
22
  prompt: string;
35
23
  }): Promise<string | undefined>;
@@ -1,70 +1,13 @@
1
- import { confirm, password } from "@inquirer/prompts";
2
- import chalk from "chalk";
3
1
  import { getConfig } from "../store/config.js";
4
2
  import { isPentestToolCall } from "../safety/classifier.js";
5
- import { formatToolArgs } from "./tool-call-parser.js";
6
- /**
7
- * Re-assert raw mode AND resume stdin after an inquirer prompt
8
- * (confirm/password). inquirer's readline interface pauses stdin and
9
- * switches it to cooked mode when it closes; if we only flip raw mode back
10
- * on but leave stdin paused, no `keypress`/`data` events flow to the REPL's
11
- * ESC/Ctrl+C abort handler — so a long-running tool launched right after a
12
- * confirmation can no longer be aborted (the user had to kill the terminal).
13
- * Calling resume() restores the event flow.
14
- */
15
- export function restoreInteractiveStdin() {
16
- if (!process.stdin.isTTY)
17
- return;
18
- try {
19
- if (!process.stdin.isRaw) {
20
- process.stdin.setRawMode(true);
21
- }
22
- process.stdin.resume();
23
- }
24
- catch {
25
- /* ignore */
26
- }
27
- }
28
- export const inquirerConfirmPort = {
29
- async confirmTool(call) {
30
- return confirm({
31
- message: chalk.yellow(` run ${call.name}: ${formatToolArgs(call)}?`),
32
- default: true,
33
- });
34
- },
35
- async confirmPentest() {
36
- return confirm({
37
- message: chalk.red("clai only assists with security testing on systems you own or have written permission to test. Confirm for this session?"),
38
- default: false,
39
- });
40
- },
41
- async confirmContinue(steps, reason) {
42
- const why = reason?.trim() ? ` (${reason.trim()})` : "";
43
- try {
44
- return await confirm({
45
- message: chalk.yellow(` pause after ${steps} step${steps === 1 ? "" : "s"}${why} — continue or stop?`),
46
- default: true,
47
- });
48
- }
49
- finally {
50
- restoreInteractiveStdin();
51
- }
52
- },
53
- async confirmAgentSwitch(info) {
54
- const tools = info.tools.length > 0 ? ` (${info.tools.join(", ")})` : "";
55
- return confirm({
56
- message: chalk.yellow(` this needs agent mode${tools} — switch and run it?`),
57
- default: true,
58
- });
59
- },
60
- };
61
- export async function inquirerSecretRequester(request) {
62
- try {
63
- return await password({ message: request.prompt || request.title });
64
- }
65
- finally {
66
- restoreInteractiveStdin();
67
- }
3
+ import { createStdioConfirmPort, createStdioSecretPort, } from "../noninteractive/stdio-confirm-port.js";
4
+ import { restoreInteractiveStdin } from "../noninteractive/readline-prompts.js";
5
+ export { restoreInteractiveStdin };
6
+ /** Default port: readline prompts on the process stdio (06-ONESHOT.md §4). */
7
+ export const stdioConfirmPort = createStdioConfirmPort();
8
+ const requestStdioSecret = createStdioSecretPort();
9
+ export async function stdioSecretRequester(request) {
10
+ return requestStdioSecret(request);
68
11
  }
69
12
  export async function ensurePentestAuthorization(call, autoConfirm, session, confirmPort) {
70
13
  if (!isPentestToolCall(call))
@@ -1 +1 @@
1
- {"version":3,"file":"confirm-port.js","sourceRoot":"","sources":["../../src/agent/confirm-port.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"confirm-port.js","sourceRoot":"","sources":["../../src/agent/confirm-port.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EACL,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAIhF,OAAO,EAAE,uBAAuB,EAAE,CAAC;AAgBnC,8EAA8E;AAC9E,MAAM,CAAC,MAAM,gBAAgB,GAAgB,sBAAsB,EAAE,CAAC;AAEtE,MAAM,kBAAkB,GAAG,qBAAqB,EAAE,CAAC;AAEnD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,OAG1C;IACC,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,IAAc,EACd,WAAoB,EACpB,OAAsB,EACtB,WAAwB;IAExB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,MAAM,CAAC,WAAW,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IACpD,6DAA6D;IAC7D,IAAI,MAAM,CAAC,iBAAiB;QAAE,OAAO,IAAI,CAAC;IAC1C,+DAA+D;IAC/D,IAAI,OAAO,CAAC,iBAAiB,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAEjD,IAAI,WAAW,EAAE,CAAC;QAChB,sEAAsE;QACtE,oEAAoE;QACpE,OAAO,CAAC,iBAAiB,CAAC,KAAK,GAAG,IAAI,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC,cAAc,EAAE,CAAC;IAC9C,IAAI,CAAC,EAAE;QAAE,OAAO,KAAK,CAAC;IACtB,OAAO,CAAC,iBAAiB,CAAC,KAAK,GAAG,IAAI,CAAC;IACvC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,IAAc,EACd,WAAoB,EACpB,OAAsB,EACtB,WAAwB,EACxB,OAAgD;IAEhD,6EAA6E;IAC7E,gDAAgD;IAChD,IAAI,OAAO,EAAE,YAAY,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QACvD,OAAO,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IACD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,MAAM,CAAC,WAAW,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IACpD,IAAI,WAAW;QAAE,OAAO,IAAI,CAAC;IAC7B,IAAI,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9C,uEAAuE;IACvE,wEAAwE;IACxE,qDAAqD;IACrD,IAAI,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAE7D,OAAO,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AACvC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  export type ProgressSignal = "none" | "activity" | "evidence" | "completion";
2
- export type GovernorRecommendation = "continue" | "reflect" | "paused_budget" | "succeeded";
2
+ export type GovernorRecommendation = "continue" | "reflect" | "succeeded";
3
3
  export interface GovernorState {
4
4
  readonly schemaVersion: 2;
5
5
  readonly steps: number;
@@ -48,7 +48,7 @@ export function governProgress(state, signal, metrics = {}) {
48
48
  resourcesUsed: state.resourcesUsed + resourceCost,
49
49
  };
50
50
  if (next.resourcesUsed >= policy.emergencyCeiling) {
51
- return { state: next, shouldContinue: false, requireEvidence: true, recommendation: "paused_budget", reason: "emergency resource ceiling reached" };
51
+ return { state: next, shouldContinue: true, requireEvidence: true, recommendation: "reflect", reason: "resource ceiling reached; reassess before continuing" };
52
52
  }
53
53
  if (signal === "completion" && evidenceDelta > 0) {
54
54
  return { state: next, shouldContinue: false, requireEvidence: false, recommendation: "succeeded", reason: "completion supported by new evidence" };
@@ -57,7 +57,7 @@ export function governProgress(state, signal, metrics = {}) {
57
57
  return { state: next, shouldContinue: true, requireEvidence: true, recommendation: "reflect", reason: "completion requires new evidence" };
58
58
  }
59
59
  if (repetitiveNoDelta && next.consecutiveNoDelta >= policy.pauseAfterNoDelta) {
60
- return { state: next, shouldContinue: false, requireEvidence: true, recommendation: "paused_budget", reason: "repetitive work produced no evidence or hypothesis progress" };
60
+ return { state: next, shouldContinue: true, requireEvidence: true, recommendation: "reflect", reason: "repetitive work produced no evidence or hypothesis progress; change approach" };
61
61
  }
62
62
  if (repetitiveNoDelta && next.consecutiveNoDelta >= policy.reflectionAfterNoDelta) {
63
63
  return { state: next, shouldContinue: true, requireEvidence: true, recommendation: "reflect", reason: "repetitive work requires reflection" };
@@ -1 +1 @@
1
- {"version":3,"file":"evidence-governor.js","sourceRoot":"","sources":["../../src/agent/evidence-governor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evidence-governor.js","sourceRoot":"","sources":["../../src/agent/evidence-governor.ts"],"names":[],"mappings":"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"}
@@ -48,6 +48,7 @@ export declare class LoopGuard {
48
48
  private consecutiveSequenceRepeats;
49
49
  private totalSequenceSuppressions;
50
50
  private sequenceRunCounts;
51
+ private sequenceOutcomes;
51
52
  private emptySuccessfulCalls;
52
53
  private failedReadRetryUsed;
53
54
  private successfulOutputs;
@@ -64,6 +64,7 @@ export class LoopGuard {
64
64
  consecutiveSequenceRepeats = 0;
65
65
  totalSequenceSuppressions = 0;
66
66
  sequenceRunCounts = new Map();
67
+ sequenceOutcomes = new Map();
67
68
  emptySuccessfulCalls = new Map();
68
69
  failedReadRetryUsed = new Set();
69
70
  successfulOutputs = new Map();
@@ -181,6 +182,29 @@ export class LoopGuard {
181
182
  this.lastActionSequenceOutcome = undefined;
182
183
  this.unchangedActionSequenceRuns = 0;
183
184
  this.consecutiveSequenceRepeats = 0;
185
+ const prior = this.sequenceOutcomes.get(signature);
186
+ if (prior && prior.unchangedRuns >= 3) {
187
+ this.totalSequenceSuppressions += 1;
188
+ return {
189
+ suppress: true,
190
+ terminal: this.totalSequenceSuppressions >= 4,
191
+ repetitions: prior.unchangedRuns,
192
+ totalSuppressions: this.totalSequenceSuppressions,
193
+ oscillation: true,
194
+ warn: false,
195
+ };
196
+ }
197
+ if (prior && prior.unchangedRuns >= 2) {
198
+ return {
199
+ suppress: false,
200
+ terminal: false,
201
+ repetitions: prior.unchangedRuns,
202
+ totalSuppressions: this.totalSequenceSuppressions,
203
+ oscillation: true,
204
+ warn: true,
205
+ warnMessage: "This action sequence has returned after intervening actions and produced the same observable result repeatedly. Use the existing result or take a materially different action; another unchanged cycle will be blocked.",
206
+ };
207
+ }
184
208
  return none;
185
209
  }
186
210
  if (!this.lastActionSequenceEligible) {
@@ -260,6 +284,7 @@ export class LoopGuard {
260
284
  this.actionSequenceRepetitions = 0;
261
285
  this.lastActionSequenceOutcome = undefined;
262
286
  this.unchangedActionSequenceRuns = 0;
287
+ this.sequenceOutcomes.delete(signature);
263
288
  return;
264
289
  }
265
290
  if (this.sequenceNeedsOutcomeComparison(calls)) {
@@ -269,6 +294,11 @@ export class LoopGuard {
269
294
  ? this.unchangedActionSequenceRuns + 1
270
295
  : 1;
271
296
  this.lastActionSequenceOutcome = comparableOutcome;
297
+ const prior = this.sequenceOutcomes.get(signature);
298
+ this.sequenceOutcomes.set(signature, {
299
+ fingerprint: comparableOutcome,
300
+ unchangedRuns: prior?.fingerprint === comparableOutcome ? prior.unchangedRuns + 1 : 1,
301
+ });
272
302
  }
273
303
  this.sequenceRunCounts.set(signature, (this.sequenceRunCounts.get(signature) ?? 0) + 1);
274
304
  }
@@ -279,15 +309,18 @@ export class LoopGuard {
279
309
  return this.resetSequenceCountBySignature(signature);
280
310
  }
281
311
  resetSequenceCountBySignature(signature) {
282
- if (!this.sequenceRunCounts.has(signature))
312
+ if (!this.sequenceRunCounts.has(signature) &&
313
+ !this.sequenceOutcomes.has(signature))
283
314
  return false;
284
315
  this.sequenceRunCounts.delete(signature);
316
+ this.sequenceOutcomes.delete(signature);
285
317
  this.actionSequenceRepetitions = 0;
286
318
  this.consecutiveSequenceRepeats = 0;
287
319
  return true;
288
320
  }
289
321
  resetAllSequenceCounts() {
290
322
  this.sequenceRunCounts.clear();
323
+ this.sequenceOutcomes.clear();
291
324
  this.actionSequenceRepetitions = 0;
292
325
  this.consecutiveSequenceRepeats = 0;
293
326
  this.lastActionSequenceOutcome = undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"loop-guard.js","sourceRoot":"","sources":["../../src/agent/loop-guard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loop-guard.js","sourceRoot":"","sources":["../../src/agent/loop-guard.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EACL,mCAAmC,EACnC,2BAA2B,EAC3B,sBAAsB,GAEvB,MAAM,eAAe,CAAC;AAWvB,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAEhC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IAC9B,WAAW;IACX,YAAY;IACZ,YAAY;IACZ,YAAY;IACZ,cAAc;IACd,SAAS;IACT,SAAS;IACT,WAAW;IACX,SAAS;IACT,aAAa;IACb,YAAY;IACZ,eAAe;IACf,WAAW;IACX,UAAU;CACX,CAAC,CAAC;AAyBH,MAAM,uBAAuB,GAAG,CAAC,CAAC;AAClC,MAAM,wBAAwB,GAAG,CAAC,CAAC;AACnC,MAAM,8BAA8B,GAAG,CAAC,CAAC;AACzC,MAAM,wBAAwB,GAAG,CAAC,CAAC;AAEnC,MAAM,oCAAoC,GAAG,IAAI,GAAG,CAAC;IACnD,UAAU;IACV,cAAc;IACd,SAAS;IACT,iBAAiB;IACjB,WAAW;IACX,WAAW;IACX,aAAa;IACb,YAAY;IACZ,aAAa;IACb,aAAa;IACb,UAAU;IACV,WAAW;IACX,UAAU;IACV,WAAW;IACX,aAAa;IACb,eAAe;IACf,YAAY;IACZ,gBAAgB;IAChB,eAAe;IACf,iBAAiB;IACjB,gBAAgB;CACjB,CAAC,CAAC;AAEH,MAAM,4BAA4B,GAAG,IAAI,GAAG,CAAC;IAC3C,WAAW;IACX,aAAa;IACb,UAAU;IACV,eAAe;IACf,gBAAgB;IAChB,eAAe;CAChB,CAAC,CAAC;AAYH,MAAM,OAAO,SAAS;IACZ,QAAQ,GAAkB,EAAE,CAAC;IAC7B,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC3C,gBAAgB,GAAG,IAAI,GAAG,EAAmB,CAAC;IAC9C,kBAAkB,CAAqB;IACvC,0BAA0B,GAAG,KAAK,CAAC;IACnC,yBAAyB,GAAG,CAAC,CAAC;IAC9B,yBAAyB,CAAqB;IAC9C,2BAA2B,GAAG,CAAC,CAAC;IAChC,0BAA0B,GAAG,CAAC,CAAC;IAC/B,yBAAyB,GAAG,CAAC,CAAC;IAC9B,iBAAiB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC9C,gBAAgB,GAAG,IAAI,GAAG,EAG/B,CAAC;IACI,oBAAoB,GAAG,IAAI,GAAG,EAGnC,CAAC;IACI,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;IACxC,iBAAiB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC9C,gBAAgB,GAAG,IAAI,GAAG,EAU/B,CAAC;IACI,YAAY,GAAG,IAAI,GAAG,EAS3B,CAAC;IACI,yBAAyB,GAAG,CAAC,CAAC,CAAC;IAEvC,YAAY,WAA6B,EAAE,IAAG,CAAC;IAE/C,0BAA0B,CAAC,UAAyC;QAClE,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,IAAI,SAAS,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC;gBAC3B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE;oBACzC,GAAG,CAAC,SAAS,CAAC,iBAAiB;wBAC7B,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,iBAAiB,EAAE;wBACzC,CAAC,CAAC,EAAE,CAAC;oBACP,gBAAgB,EAAE,SAAS,CAAC,gBAAgB,IAAI,CAAC;oBACjD,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC/D,mBAAmB,EAAE,IAAI;iBAC1B,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YACD,IAAI,CAAC,SAAS,CAAC,iBAAiB;gBAAE,SAAS;YAC3C,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE;gBAC7C,MAAM,EAAE,SAAS,CAAC,iBAAiB;gBACnC,WAAW,EAAE,SAAS,CAAC,WAAW;gBAClC,gBAAgB,EAAE,SAAS,CAAC,gBAAgB,IAAI,CAAC;gBACjD,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/D,mBAAmB,EAAE,IAAI;aAC1B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,YAAY,CAAC,IAAY,EAAE,IAA6B;QACtD,MAAM,OAAO,GAAG,YAAY,CAAC,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QACjE,IACE,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,KAAK,aAAa,CAAC;YACjD,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,EACnC,CAAC;YACD,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,GAAG,IAAI,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;IAC/C,CAAC;IAEO,iBAAiB,CACvB,KAIG;QAEH,OAAO,KAAK;aACT,GAAG,CACF,CAAC,IAAI,EAAE,EAAE,CACP,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAE,CAC7E;aACA,IAAI,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;IAEO,0BAA0B,CAAC,IAGlC;QACC,IAAI,oCAAoC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QACtE,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY;YAAE,OAAO,IAAI,CAAC;QAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;QAClC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACpE,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YAC9B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,OAAO,KAAK,CAAC;YACtD,MAAM,MAAM,GAAG,KAAgC,CAAC;YAChD,OAAO,CACL,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;gBAC/B,IAAI,CAAC,0BAA0B,CAAC;oBAC9B,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,IAAI,EACF,MAAM,CAAC,IAAI,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;wBAC5C,CAAC,CAAE,MAAM,CAAC,IAAgC;wBAC1C,CAAC,CAAC,EAAE;iBACT,CAAC,CACH,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,8BAA8B,CACpC,KAAkE;QAElE,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC;IACtE,CAAC;IAEO,2BAA2B,CAAC,IAGnC;QACC,IAAI,4BAA4B,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAC7D,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY;YAAE,OAAO,KAAK,CAAC;QAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;QAClC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;QAC1C,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;YAC7B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,OAAO,IAAI,CAAC;YACrD,MAAM,MAAM,GAAG,KAAgC,CAAC;YAChD,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;gBAAE,OAAO,IAAI,CAAC;YACjD,OAAO,IAAI,CAAC,2BAA2B,CAAC;gBACtC,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,IAAI,EACF,MAAM,CAAC,IAAI,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;oBAC5C,CAAC,CAAE,MAAM,CAAC,IAAgC;oBAC1C,CAAC,CAAC,EAAE;aACT,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qBAAqB,CACnB,KAIG;QAEH,MAAM,IAAI,GAA2B;YACnC,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,KAAK;YACf,WAAW,EAAE,CAAC;YACd,iBAAiB,EAAE,IAAI,CAAC,yBAAyB;YACjD,WAAW,EAAE,KAAK;YAClB,IAAI,EAAE,KAAK;SACZ,CAAC;QACF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;YACpC,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;YACxC,IAAI,CAAC,yBAAyB,GAAG,CAAC,CAAC;YACnC,IAAI,CAAC,yBAAyB,GAAG,SAAS,CAAC;YAC3C,IAAI,CAAC,2BAA2B,GAAG,CAAC,CAAC;YACrC,IAAI,CAAC,0BAA0B,GAAG,CAAC,CAAC;YACpC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAEhE,IAAI,SAAS,KAAK,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1C,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;YACpC,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;YACxC,IAAI,CAAC,yBAAyB,GAAG,CAAC,CAAC;YACnC,IAAI,CAAC,yBAAyB,GAAG,SAAS,CAAC;YAC3C,IAAI,CAAC,2BAA2B,GAAG,CAAC,CAAC;YACrC,IAAI,CAAC,0BAA0B,GAAG,CAAC,CAAC;YACpC,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACnD,IAAI,KAAK,IAAI,KAAK,CAAC,aAAa,IAAI,CAAC,EAAE,CAAC;gBACtC,IAAI,CAAC,yBAAyB,IAAI,CAAC,CAAC;gBACpC,OAAO;oBACL,QAAQ,EAAE,IAAI;oBACd,QAAQ,EAAE,IAAI,CAAC,yBAAyB,IAAI,CAAC;oBAC7C,WAAW,EAAE,KAAK,CAAC,aAAa;oBAChC,iBAAiB,EAAE,IAAI,CAAC,yBAAyB;oBACjD,WAAW,EAAE,IAAI;oBACjB,IAAI,EAAE,KAAK;iBACZ,CAAC;YACJ,CAAC;YACD,IAAI,KAAK,IAAI,KAAK,CAAC,aAAa,IAAI,CAAC,EAAE,CAAC;gBACtC,OAAO;oBACL,QAAQ,EAAE,KAAK;oBACf,QAAQ,EAAE,KAAK;oBACf,WAAW,EAAE,KAAK,CAAC,aAAa;oBAChC,iBAAiB,EAAE,IAAI,CAAC,yBAAyB;oBACjD,WAAW,EAAE,IAAI;oBACjB,IAAI,EAAE,IAAI;oBACV,WAAW,EACT,yNAAyN;iBAC5N,CAAC;YACJ,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,0BAA0B,IAAI,CAAC,CAAC;QAErC,IAAI,IAAI,CAAC,8BAA8B,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/C,IAAI,IAAI,CAAC,2BAA2B,GAAG,CAAC,EAAE,CAAC;gBACzC,IAAI,IAAI,CAAC,0BAA0B,GAAG,8BAA8B,EAAE,CAAC;oBACrE,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,IAAI,IAAI,CAAC,0BAA0B,GAAG,wBAAwB,EAAE,CAAC;oBAC/D,OAAO;wBACL,QAAQ,EAAE,KAAK;wBACf,QAAQ,EAAE,KAAK;wBACf,WAAW,EAAE,IAAI,CAAC,0BAA0B;wBAC5C,iBAAiB,EAAE,IAAI,CAAC,yBAAyB;wBACjD,WAAW,EAAE,KAAK;wBAClB,IAAI,EAAE,IAAI;wBACV,WAAW,EACT,4EAA4E,IAAI,CAAC,0BAA0B,GAAG,CAAC,mCAAmC;4BAClJ,4LAA4L;4BAC5L,gDAAgD;qBACnD,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,IAAI,IAAI,CAAC,2BAA2B,KAAK,CAAC,EAAE,CAAC;gBAClD,OAAO;oBACL,QAAQ,EAAE,KAAK;oBACf,QAAQ,EAAE,KAAK;oBACf,WAAW,EAAE,CAAC;oBACd,iBAAiB,EAAE,IAAI,CAAC,yBAAyB;oBACjD,WAAW,EAAE,KAAK;oBAClB,IAAI,EAAE,IAAI;oBACV,WAAW,EACT,iFAAiF;wBACjF,8KAA8K;iBACjL,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,CAAC,yBAAyB,IAAI,CAAC,CAAC;QACpC,MAAM,SAAS,GAAG,YAAY,GAAG,CAAC,CAAC;QAEnC,IAAI,SAAS,IAAI,wBAAwB,EAAE,CAAC;YAC1C,IAAI,CAAC,yBAAyB,IAAI,CAAC,CAAC;YACpC,OAAO;gBACL,QAAQ,EAAE,IAAI;gBACd,QAAQ,EACN,IAAI,CAAC,yBAAyB,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC5D,IAAI,CAAC,yBAAyB,IAAI,CAAC;gBACrC,WAAW,EAAE,IAAI,CAAC,yBAAyB;gBAC3C,iBAAiB,EAAE,IAAI,CAAC,yBAAyB;gBACjD,WAAW,EAAE,KAAK;gBAClB,IAAI,EAAE,KAAK;aACZ,CAAC;QACJ,CAAC;QAED,IAAI,SAAS,IAAI,uBAAuB,EAAE,CAAC;YACzC,OAAO;gBACL,QAAQ,EAAE,KAAK;gBACf,QAAQ,EAAE,KAAK;gBACf,WAAW,EAAE,IAAI,CAAC,yBAAyB;gBAC3C,iBAAiB,EAAE,IAAI,CAAC,yBAAyB;gBACjD,WAAW,EAAE,KAAK;gBAClB,IAAI,EAAE,IAAI;gBACV,WAAW,EACT,2CAA2C,SAAS,uBAAuB;oBAC3E,4FAA4F;oBAC5F,qIAAqI;oBACrI,kCAAkC,wBAAwB,eAAe;aAC5E,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,sBAAsB,CACpB,KAIG,EACH,QAAiB,EACjB,kBAAuC;QAEvC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,SAAS,KAAK,IAAI,CAAC,kBAAkB;YAAE,OAAO;QAClD,IAAI,CAAC,0BAA0B,GAAG,QAAQ,CAAC;QAC3C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,IAAI,CAAC,yBAAyB,GAAG,CAAC,CAAC;YACnC,IAAI,CAAC,yBAAyB,GAAG,SAAS,CAAC;YAC3C,IAAI,CAAC,2BAA2B,GAAG,CAAC,CAAC;YACrC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACxC,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,8BAA8B,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/C,MAAM,iBAAiB,GAAG,kBAAkB,IAAI,gBAAgB,CAAC;YACjE,MAAM,SAAS,GAAG,iBAAiB,KAAK,IAAI,CAAC,yBAAyB,CAAC;YACvE,IAAI,CAAC,2BAA2B,GAAG,SAAS;gBAC1C,CAAC,CAAC,IAAI,CAAC,2BAA2B,GAAG,CAAC;gBACtC,CAAC,CAAC,CAAC,CAAC;YACN,IAAI,CAAC,yBAAyB,GAAG,iBAAiB,CAAC;YACnD,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACnD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,EAAE;gBACnC,WAAW,EAAE,iBAAiB;gBAC9B,aAAa,EACX,KAAK,EAAE,WAAW,KAAK,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aACzE,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1F,CAAC;IAED,kBAAkB,CAChB,KAIG;QAEH,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC,6BAA6B,CAAC,SAAS,CAAC,CAAC;IACvD,CAAC;IAED,6BAA6B,CAAC,SAAiB;QAC7C,IACE,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC;YACtC,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC;YACrC,OAAO,KAAK,CAAC;QACf,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,CAAC,yBAAyB,GAAG,CAAC,CAAC;QACnC,IAAI,CAAC,0BAA0B,GAAG,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,sBAAsB;QACpB,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,CAAC,yBAAyB,GAAG,CAAC,CAAC;QACnC,IAAI,CAAC,0BAA0B,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,yBAAyB,GAAG,SAAS,CAAC;QAC3C,IAAI,CAAC,2BAA2B,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,yBAAyB,GAAG,CAAC,CAAC;QACnC,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;QACpC,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;QACxC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAC5B,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;QAClC,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;QACjC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;IAED,mBAAmB,CACjB,KAIG;QAEH,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;IACxE,CAAC;IAED,8BAA8B;QAC5B,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IAED,aAAa,CACX,IAAY,EACZ,IAAY,EACZ,IAA6B,EAC7B,EAAW,EACX,QAA6B,EAC7B,MAA2B,EAC3B,OAAkC;QAElC,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC1C,MAAM,iBAAiB,GACrB,MAAM,KAAK,SAAS;YAClB,CAAC,CAAC,mCAAmC,CAAC,IAAI,EAAE,MAAM,CAAC;YACnD,CAAC,CAAC,SAAS,CAAC;QAChB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjB,IAAI;YACJ,QAAQ,EAAE,IAAI;YACd,kBAAkB,EAAE,GAAG;YACvB,EAAE;YACF,QAAQ;YACR,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpD,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,mBAAmB,EAAE,CAAC;YAC/C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,mBAAmB,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACtE,IAAI,EAAE,EAAE,CAAC;YACP,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACrC,IAAI,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;gBACnB,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACnC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;gBAC/D,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,GAAG,mBAAmB,EAAE,CAAC;oBACtD,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;oBAC1D,IAAI,MAAM,KAAK,SAAS;wBAAE,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAClE,CAAC;YACH,CAAC;YACD,IAAI,IAAI,KAAK,aAAa,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;gBACrD,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;YACxC,CAAC;YACD,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC1C,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACxC,CAAC;iBAAM,IAAI,IAAI,KAAK,aAAa,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;gBAC5D,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,GAAG,EAAE;oBACjC,IAAI;oBACJ,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC7D,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC7E,CAAC;QAED,MAAM,cAAc,GAAG,2BAA2B,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC/D,IAAI,EAAE,IAAI,MAAM,KAAK,SAAS,IAAI,cAAc,EAAE,CAAC;YACjD,MAAM,MAAM,GAAG,mCAAmC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACjE,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YACxD,MAAM,SAAS,GACb,KAAK,EAAE,MAAM,KAAK,MAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,OAAO,EAAE,QAAQ,CAAC;YACnE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,cAAc,EAAE;gBACxC,MAAM;gBACN,WAAW,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;gBAC1C,gBAAgB,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,gBAAgB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpE,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5D,mBAAmB,EAAE,KAAK;gBAC1B,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAClE,CAAC,CAAC;QACL,CAAC;QAED,IAAI,cAAc,EAAE,CAAC;YACnB,IAAI,EAAE,EAAE,CAAC;gBACP,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YAC3C,CAAC;iBAAM,CAAC;gBACN,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBAC3D,MAAM,SAAS,GACb,iBAAiB,KAAK,SAAS;oBAC/B,YAAY,EAAE,MAAM,KAAK,iBAAiB;oBAC1C,YAAY,CAAC,QAAQ,KAAK,OAAO,EAAE,QAAQ,CAAC;gBAC9C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,EAAE;oBACpC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3D,gBAAgB,EAAE,SAAS;wBACzB,CAAC,CAAC,CAAC,YAAY,EAAE,gBAAgB,IAAI,CAAC,CAAC,GAAG,CAAC;wBAC3C,CAAC,CAAC,CAAC;oBACL,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC5D,mBAAmB,EAAE,KAAK;oBAC1B,GAAG,CAAC,YAAY,EAAE,WAAW;wBAC3B,CAAC,CAAC,EAAE,WAAW,EAAE,YAAY,CAAC,WAAW,EAAE;wBAC3C,CAAC,CAAC,EAAE,CAAC;iBACR,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,IAAI,EAAE,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,CAAC,2BAA2B,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAEO,kBAAkB,CAAC,IAAY;QACrC,OAAO,CACL,IAAI,KAAK,UAAU;YACnB,IAAI,KAAK,cAAc;YACvB,IAAI,KAAK,SAAS;YAClB,IAAI,KAAK,iBAAiB;YAC1B,IAAI,KAAK,WAAW;YACpB,IAAI,KAAK,WAAW;YACpB,IAAI,KAAK,YAAY;YACrB,IAAI,KAAK,aAAa,CACvB,CAAC;IACJ,CAAC;IAEO,2BAA2B,CACjC,IAAY,EACZ,IAA6B;QAE7B,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;YAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,IAAI,IAAI,KAAK,cAAc,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACzD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC3B,IACE,CAAC;oBACD,OAAO,CAAC,KAAK,QAAQ;oBACrB,OAAQ,CAAuB,CAAC,IAAI,KAAK,QAAQ,EACjD,CAAC;oBACD,KAAK,CAAC,IAAI,CAAE,CAAsB,CAAC,IAAI,CAAC,CAAC;gBAC3C,CAAC;YACH,CAAC;QACH,CAAC;QACD,IACE,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,KAAK,aAAa,CAAC;YACjD,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,EAChC,CAAC;YACD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;YACzB,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ,CAC1B,oFAAoF,CACrF,EAAE,CAAC;gBACF,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG;oBAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,CAAC;YACD,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ;gBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC/B,KAAK,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YAClD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC;gBAAE,SAAS;YAC3E,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvD,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAChC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAClC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACnC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;IACH,CAAC;IAED,mBAAmB,CAAC,IAAY,EAAE,IAA6B;QAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QACzE,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAC1B,MAAM,cAAc,GAAG,2BAA2B,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC/D,OAAO,cAAc;YACnB,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,WAAW;YACxD,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAEO,qBAAqB,CAAC,SAAiB;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,OAAO,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,kBAAkB,KAAK,SAAS,CAAC;IACzE,CAAC;IAEO,4BAA4B,CAClC,SAAiB,EACjB,EAAW;QAEX,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,OAAO,OAAO,CACZ,MAAM;YACJ,QAAQ;YACR,MAAM,CAAC,kBAAkB,KAAK,SAAS;YACvC,QAAQ,CAAC,kBAAkB,KAAK,SAAS;YACzC,MAAM,CAAC,EAAE,KAAK,EAAE;YAChB,QAAQ,CAAC,EAAE,KAAK,EAAE;YAClB,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ;YACrC,MAAM,CAAC,iBAAiB,KAAK,QAAQ,CAAC,iBAAiB,CAC1D,CAAC;IACJ,CAAC;IAEO,0BAA0B,CAChC,SAAiB,EACjB,EAAW;QAEX,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACrC,OAAO,OAAO,CACZ,MAAM;YACJ,QAAQ;YACR,OAAO;YACP,MAAM,CAAC,kBAAkB,KAAK,SAAS;YACvC,QAAQ,CAAC,kBAAkB,KAAK,SAAS;YACzC,OAAO,CAAC,kBAAkB,KAAK,SAAS;YACxC,MAAM,CAAC,EAAE,KAAK,EAAE;YAChB,QAAQ,CAAC,EAAE,KAAK,EAAE;YAClB,OAAO,CAAC,EAAE,KAAK,EAAE;YACjB,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ;YACrC,QAAQ,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ;YACtC,MAAM,CAAC,iBAAiB,KAAK,QAAQ,CAAC,iBAAiB;YACvD,QAAQ,CAAC,iBAAiB,KAAK,OAAO,CAAC,iBAAiB,CAC3D,CAAC;IACJ,CAAC;IAED,WAAW,CACT,IAAY,EACZ,IAA6B,EAC7B,YAA2B;QAE3B,IAAI,IAAI,KAAK,aAAa,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;YACrD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QAC1B,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACxD,IAAI,YAAY,EAAE,CAAC;YACjB,IACE,YAAY,EAAE,QAAQ,KAAK,SAAS;gBACpC,YAAY,CAAC,QAAQ,KAAK,YAAY,CAAC,QAAQ,EAC/C,CAAC;gBACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;YAC1B,CAAC;YACD,IACE,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC;gBAC/B,CAAC,YAAY,CAAC,QAAQ,KAAK,SAAS;oBAClC,IAAI,CAAC,yBAAyB,GAAG,YAAY,CAAC,IAAI,CAAC,EACrD,CAAC;gBACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;YAC1B,CAAC;YACD,IACE,IAAI,CAAC,0BAA0B,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;gBAC/C,CAAC,IAAI,CAAC,0BAA0B,CAAC,GAAG,EAAE,IAAI,CAAC,EAC3C,CAAC;gBACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;YAC1B,CAAC;YACD,MAAM,WAAW,GAAG,YAAY,EAAE,WAAW,CAAC;YAC9C,MAAM,SAAS,GACb,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE;gBACnD,CAAC,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE;gBAC5D,CAAC,CAAC,SAAS,CAAC;YAChB,IAAI,SAAS,IAAI,SAAS,KAAK,YAAY,CAAC,WAAW,EAAE,CAAC;gBACxD,YAAY,CAAC,WAAW,GAAG,SAAS,CAAC;gBACrC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;YAC1B,CAAC;YACD,OAAO;gBACL,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,mBAAmB;gBACzB,MAAM,EACJ,GAAG,IAAI,2DAA2D;oBAClE,sIAAsI;aACzI,CAAC;QACJ,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,IACE,CAAC,IAAI,CAAC,0BAA0B,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YAChD,aAAa,EAAE,kBAAkB,KAAK,GAAG;YACzC,aAAa,CAAC,EAAE,EAChB,CAAC;YACD,OAAO;gBACL,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,mBAAmB;gBACzB,MAAM,EACJ,GAAG,IAAI,+CAA+C;oBACtD,0EAA0E;aAC7E,CAAC;QACJ,CAAC;QAED,MAAM,cAAc,GAAG,2BAA2B,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC/D,MAAM,KAAK,GAAG,cAAc;YAC1B,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,cAAc,CAAC;YAC3C,CAAC,CAAC,SAAS,CAAC;QACd,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,KAAK,CAAC,mBAAmB,EAAE,CAAC;gBAC9B,KAAK,CAAC,mBAAmB,GAAG,KAAK,CAAC;gBAClC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;YAC1B,CAAC;YACD,IACE,YAAY,EAAE,QAAQ,KAAK,SAAS;gBACpC,YAAY,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,EACxC,CAAC;gBACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;YAC1B,CAAC;YACD,IAAI,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;YAC1B,CAAC;YACD,IAAI,KAAK,CAAC,gBAAgB,GAAG,CAAC,EAAE,CAAC;gBAC/B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;YAC1B,CAAC;YACD,MAAM,WAAW,GAAG,YAAY,EAAE,WAAW,CAAC;YAC9C,MAAM,SAAS,GACb,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE;gBACnD,CAAC,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE;gBAC5D,CAAC,CAAC,SAAS,CAAC;YAChB,IAAI,SAAS,IAAI,SAAS,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC;gBACjD,KAAK,CAAC,WAAW,GAAG,SAAS,CAAC;gBAC9B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;YAC1B,CAAC;YACD,OAAO;gBACL,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,mBAAmB;gBACzB,MAAM,EACJ,GAAG,IAAI,4EAA4E;oBACnF,kHAAkH;aACrH,CAAC;QACJ,CAAC;QAED,MAAM,eAAe,GAAG,cAAc;YACpC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC;YACvC,CAAC,CAAC,SAAS,CAAC;QACd,IAAI,eAAe,EAAE,CAAC;YACpB,IACE,YAAY,EAAE,mBAAmB,KAAK,IAAI;gBAC1C,YAAY,EAAE,kBAAkB,KAAK,IAAI;gBACzC,CAAC,YAAY,EAAE,QAAQ,KAAK,SAAS;oBACnC,YAAY,CAAC,QAAQ,KAAK,eAAe,CAAC,QAAQ,CAAC,EACrD,CAAC;gBACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;YAC1B,CAAC;YACD,IAAI,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;YAC1B,CAAC;YACD,IAAI,eAAe,CAAC,mBAAmB,EAAE,CAAC;gBACxC,eAAe,CAAC,mBAAmB,GAAG,KAAK,CAAC;gBAC5C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;YAC1B,CAAC;YACD,IAAI,eAAe,CAAC,gBAAgB,GAAG,CAAC,EAAE,CAAC;gBACzC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;YAC1B,CAAC;YACD,IAAI,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpE,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;qBACpC,OAAO,EAAE;qBACT,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,kBAAkB,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC;gBAC9E,IACE,YAAY,KAAK,SAAS;oBAC1B,IAAI,CAAC,yBAAyB,GAAG,YAAY,EAC7C,CAAC;oBACD,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBAClC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;gBAC1B,CAAC;YACH,CAAC;YACD,MAAM,WAAW,GAAG,YAAY,EAAE,WAAW,CAAC;YAC9C,MAAM,SAAS,GACb,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE;gBACnD,CAAC,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE;gBAC5D,CAAC,CAAC,SAAS,CAAC;YAChB,IAAI,SAAS,IAAI,SAAS,KAAK,eAAe,CAAC,WAAW,EAAE,CAAC;gBAC3D,eAAe,CAAC,WAAW,GAAG,SAAS,CAAC;gBACxC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;YAC1B,CAAC;YACD,OAAO;gBACL,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,cAAc;gBACpB,MAAM,EACJ,GAAG,IAAI,iFAAiF;oBACxF,2FAA2F;aAC9F,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC;YAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QAE5E,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC;YAC7C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QAC1B,CAAC;QAED,MAAM,gBAAgB,GAAG,YAAY,EAAE,WAAW,CAAC;QACnD,MAAM,UAAU,GACd,YAAY,EAAE,mBAAmB,KAAK,IAAI;YAC1C,YAAY,EAAE,kBAAkB,KAAK,IAAI;YACzC,OAAO,CACL,gBAAgB,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,gBAAgB,CAAC,MAAM,CAAC,IAAI,EAAE,CAChE,CAAC;QACJ,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QAC1B,CAAC;QACD,IAAI,IAAI,CAAC,2BAA2B,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YACrD,OAAO;gBACL,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,cAAc;gBACpB,MAAM,EACJ,GAAG,IAAI,qFAAqF;oBAC5F,oFAAoF;aACvF,CAAC;QACJ,CAAC;QACD,IAAI,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACpE,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;iBACpC,OAAO,EAAE;iBACT,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC;YAC5D,IACE,YAAY,KAAK,SAAS;gBAC1B,IAAI,CAAC,yBAAyB,GAAG,YAAY,EAC7C,CAAC;gBACD,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAClC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAChC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAClC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;YAC1B,CAAC;QACH,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC;YACnD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QAC1B,CAAC;QACD,OAAO;YACL,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,GAAG,IAAI,kIAAkI;SAClJ,CAAC;IACJ,CAAC;IAED,eAAe,CAAC,IAAY,EAAE,IAA6B;QACzD,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,mBAAmB,CAAC,SAAS,GAAG,CAAC;QAC/B,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,SAAS;YAAE,OAAO,KAAK,CAAC;QACnD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC;QAC/C,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,uBAAuB;QACrB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACnD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,EAAE;gBAAE,KAAK,EAAE,CAAC;;gBAC9B,MAAM;QACb,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,oBAAoB;QAClB,MAAM,mBAAmB,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC3D,IAAI,mBAAmB,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAEzC,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,mBAAmB,CAAC,CAAC;QAC9D,MAAM,WAAW,GAAG,WAAW;aAC5B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;aACtE,KAAK,CAAC,CAAC,CAAC,CAAC;aACT,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,MAAM,QAAQ,GAAG,mBAAmB,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;QAEnE,OAAO,mCAAmC,QAAQ,OAAO,mBAAmB;;;EAG9E,WAAW;;;;;;;;;;;;gHAYmG,CAAC;IAC/G,CAAC;IAED,aAAa;QACX,KAAK,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YAClD,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACtC,IAAI,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9B,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAChC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAClC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAClC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CACxC,CAAC;IACJ,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC9B,CAAC;CACF"}
@@ -1,33 +1,4 @@
1
- import type { SessionPlan } from "../store/plan.js";
2
- export type PlanDecision = "accept" | "discard" | "view" | "suggest";
3
- export declare const IMPLEMENT_DIRECTIVE: string;
4
- /** User feedback → plan mode revision turn (shared classic TUI + v2). */
5
1
  export declare function buildPlanRevisionPrompt(feedback: string, opts?: {
6
2
  planVersion?: number | undefined;
7
3
  }): string;
8
- /**
9
- * Plan-mode gather-only should block project mutation only while the plan is
10
- * still awaiting accept. Once approved, mutates must run even if mode string
11
- * briefly lags behind (defense in depth for implement).
12
- */
13
4
  export declare function shouldBlockPlanModeMutate(isPlanMode: boolean, planApproved: boolean): boolean;
14
- export declare function promptPlanDecision(): Promise<PlanDecision>;
15
- export declare function promptPlanSuggestion(): Promise<string>;
16
- export declare function handleDraftPlanDecision(opts: {
17
- plan: SessionPlan;
18
- sessionId: string;
19
- setModeAgent: () => void;
20
- planApproved: {
21
- value: boolean;
22
- };
23
- }): Promise<{
24
- action: "implement";
25
- line: string;
26
- } | {
27
- action: "suggest";
28
- line: string;
29
- } | {
30
- action: "discard";
31
- } | {
32
- action: "none";
33
- }>;