@kenkaiiii/ggcoder 4.3.232 → 4.3.233

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 (348) hide show
  1. package/README.md +1 -2
  2. package/dist/cli.d.ts.map +1 -1
  3. package/dist/cli.js +7 -89
  4. package/dist/cli.js.map +1 -1
  5. package/dist/core/agent-session.d.ts.map +1 -1
  6. package/dist/core/agent-session.js +2 -2
  7. package/dist/core/agent-session.js.map +1 -1
  8. package/dist/core/prompt-commands.d.ts.map +1 -1
  9. package/dist/core/prompt-commands.js +8 -16
  10. package/dist/core/prompt-commands.js.map +1 -1
  11. package/dist/core/prompt-commands.test.js +14 -44
  12. package/dist/core/prompt-commands.test.js.map +1 -1
  13. package/dist/core/runtime-mode.d.ts +0 -11
  14. package/dist/core/runtime-mode.d.ts.map +1 -1
  15. package/dist/core/runtime-mode.js +0 -9
  16. package/dist/core/runtime-mode.js.map +1 -1
  17. package/dist/core/session-restore-display.test.js +4 -110
  18. package/dist/core/session-restore-display.test.js.map +1 -1
  19. package/dist/interactive.d.ts.map +1 -1
  20. package/dist/interactive.js +1 -1
  21. package/dist/interactive.js.map +1 -1
  22. package/dist/system-prompt.d.ts +1 -2
  23. package/dist/system-prompt.d.ts.map +1 -1
  24. package/dist/system-prompt.js +11 -58
  25. package/dist/system-prompt.js.map +1 -1
  26. package/dist/system-prompt.test.js +3 -158
  27. package/dist/system-prompt.test.js.map +1 -1
  28. package/dist/tools/bash.d.ts +1 -4
  29. package/dist/tools/bash.d.ts.map +1 -1
  30. package/dist/tools/bash.js +3 -12
  31. package/dist/tools/bash.js.map +1 -1
  32. package/dist/tools/checkpoint-hook.test.js +3 -3
  33. package/dist/tools/checkpoint-hook.test.js.map +1 -1
  34. package/dist/tools/edit.d.ts +1 -4
  35. package/dist/tools/edit.d.ts.map +1 -1
  36. package/dist/tools/edit.js +5 -13
  37. package/dist/tools/edit.js.map +1 -1
  38. package/dist/tools/enter-plan.js +1 -1
  39. package/dist/tools/enter-plan.js.map +1 -1
  40. package/dist/tools/index.d.ts +0 -9
  41. package/dist/tools/index.d.ts.map +1 -1
  42. package/dist/tools/index.js +4 -8
  43. package/dist/tools/index.js.map +1 -1
  44. package/dist/tools/prompt-hints.d.ts.map +1 -1
  45. package/dist/tools/prompt-hints.js +0 -2
  46. package/dist/tools/prompt-hints.js.map +1 -1
  47. package/dist/tools/screenshot.d.ts +1 -1
  48. package/dist/tools/subagent.d.ts +1 -4
  49. package/dist/tools/subagent.d.ts.map +1 -1
  50. package/dist/tools/subagent.js +2 -5
  51. package/dist/tools/subagent.js.map +1 -1
  52. package/dist/tools/write.d.ts +1 -4
  53. package/dist/tools/write.d.ts.map +1 -1
  54. package/dist/tools/write.js +5 -13
  55. package/dist/tools/write.js.map +1 -1
  56. package/dist/ui/App.d.ts +5 -20
  57. package/dist/ui/App.d.ts.map +1 -1
  58. package/dist/ui/App.js +71 -309
  59. package/dist/ui/App.js.map +1 -1
  60. package/dist/ui/app-items.d.ts +23 -25
  61. package/dist/ui/app-items.d.ts.map +1 -1
  62. package/dist/ui/app-items.js +37 -0
  63. package/dist/ui/app-items.js.map +1 -1
  64. package/dist/ui/app-items.test.d.ts +2 -0
  65. package/dist/ui/app-items.test.d.ts.map +1 -0
  66. package/dist/ui/app-items.test.js +38 -0
  67. package/dist/ui/app-items.test.js.map +1 -0
  68. package/dist/ui/app-state-persistence.test.js +14 -318
  69. package/dist/ui/app-state-persistence.test.js.map +1 -1
  70. package/dist/ui/chat-layout-pinning.test.js +74 -4
  71. package/dist/ui/chat-layout-pinning.test.js.map +1 -1
  72. package/dist/ui/components/AssistantMessage.test.js +6 -9
  73. package/dist/ui/components/AssistantMessage.test.js.map +1 -1
  74. package/dist/ui/components/Banner.js +1 -1
  75. package/dist/ui/components/Banner.js.map +1 -1
  76. package/dist/ui/components/ChatFooterPane.d.ts +1 -5
  77. package/dist/ui/components/ChatFooterPane.d.ts.map +1 -1
  78. package/dist/ui/components/ChatFooterPane.js +3 -4
  79. package/dist/ui/components/ChatFooterPane.js.map +1 -1
  80. package/dist/ui/components/ChatInputStack.d.ts +3 -1
  81. package/dist/ui/components/ChatInputStack.d.ts.map +1 -1
  82. package/dist/ui/components/ChatInputStack.js +4 -3
  83. package/dist/ui/components/ChatInputStack.js.map +1 -1
  84. package/dist/ui/components/ChatScreen.d.ts +3 -16
  85. package/dist/ui/components/ChatScreen.d.ts.map +1 -1
  86. package/dist/ui/components/ChatScreen.js +2 -3
  87. package/dist/ui/components/ChatScreen.js.map +1 -1
  88. package/dist/ui/components/Footer.d.ts +3 -8
  89. package/dist/ui/components/Footer.d.ts.map +1 -1
  90. package/dist/ui/components/Footer.js +5 -25
  91. package/dist/ui/components/Footer.js.map +1 -1
  92. package/dist/ui/components/InputArea.d.ts +1 -9
  93. package/dist/ui/components/InputArea.d.ts.map +1 -1
  94. package/dist/ui/components/InputArea.js +2 -44
  95. package/dist/ui/components/InputArea.js.map +1 -1
  96. package/dist/ui/components/LiveToolPanel.d.ts +30 -0
  97. package/dist/ui/components/LiveToolPanel.d.ts.map +1 -0
  98. package/dist/ui/components/LiveToolPanel.js +66 -0
  99. package/dist/ui/components/LiveToolPanel.js.map +1 -0
  100. package/dist/ui/components/ToolExecution.js +0 -2
  101. package/dist/ui/components/ToolExecution.js.map +1 -1
  102. package/dist/ui/components/TranscriptViewport.d.ts +1 -1
  103. package/dist/ui/components/TranscriptViewport.js +1 -1
  104. package/dist/ui/footer-jump-regression.test.js +12 -2
  105. package/dist/ui/footer-jump-regression.test.js.map +1 -1
  106. package/dist/ui/footer-status-layout.test.js +4 -12
  107. package/dist/ui/footer-status-layout.test.js.map +1 -1
  108. package/dist/ui/hooks/useChatLayoutMeasurements.d.ts +3 -4
  109. package/dist/ui/hooks/useChatLayoutMeasurements.d.ts.map +1 -1
  110. package/dist/ui/hooks/useChatLayoutMeasurements.js +26 -4
  111. package/dist/ui/hooks/useChatLayoutMeasurements.js.map +1 -1
  112. package/dist/ui/hooks/useModeState.d.ts +4 -19
  113. package/dist/ui/hooks/useModeState.d.ts.map +1 -1
  114. package/dist/ui/hooks/useModeState.js +5 -45
  115. package/dist/ui/hooks/useModeState.js.map +1 -1
  116. package/dist/ui/hooks/usePixelFixFlow.js +2 -2
  117. package/dist/ui/layout-decisions.d.ts +11 -34
  118. package/dist/ui/layout-decisions.d.ts.map +1 -1
  119. package/dist/ui/layout-decisions.js +15 -42
  120. package/dist/ui/layout-decisions.js.map +1 -1
  121. package/dist/ui/live-area-height.d.ts.map +1 -1
  122. package/dist/ui/live-area-height.js +6 -1
  123. package/dist/ui/live-area-height.js.map +1 -1
  124. package/dist/ui/live-frame-height.test.js +26 -1
  125. package/dist/ui/live-frame-height.test.js.map +1 -1
  126. package/dist/ui/plan-overlay.test.js +1 -1
  127. package/dist/ui/plan-overlay.test.js.map +1 -1
  128. package/dist/ui/prompt-routing.d.ts +1 -19
  129. package/dist/ui/prompt-routing.d.ts.map +1 -1
  130. package/dist/ui/prompt-routing.js +1 -79
  131. package/dist/ui/prompt-routing.js.map +1 -1
  132. package/dist/ui/render.d.ts +3 -18
  133. package/dist/ui/render.d.ts.map +1 -1
  134. package/dist/ui/render.js +0 -10
  135. package/dist/ui/render.js.map +1 -1
  136. package/dist/ui/scroll-stabilization.test.js +1 -7
  137. package/dist/ui/scroll-stabilization.test.js.map +1 -1
  138. package/dist/ui/slash-command-images.test.js +11 -86
  139. package/dist/ui/slash-command-images.test.js.map +1 -1
  140. package/dist/ui/streaming-flush-bounce.test.d.ts +2 -0
  141. package/dist/ui/streaming-flush-bounce.test.d.ts.map +1 -0
  142. package/dist/ui/streaming-flush-bounce.test.js +156 -0
  143. package/dist/ui/streaming-flush-bounce.test.js.map +1 -0
  144. package/dist/ui/submit-prompt-command.d.ts +1 -16
  145. package/dist/ui/submit-prompt-command.d.ts.map +1 -1
  146. package/dist/ui/submit-prompt-command.js +4 -54
  147. package/dist/ui/submit-prompt-command.js.map +1 -1
  148. package/dist/ui/submit-slash-commands.d.ts +0 -1
  149. package/dist/ui/submit-slash-commands.d.ts.map +1 -1
  150. package/dist/ui/submit-slash-commands.js +0 -4
  151. package/dist/ui/submit-slash-commands.js.map +1 -1
  152. package/dist/ui/terminal-history-status-renderers.d.ts +0 -1
  153. package/dist/ui/terminal-history-status-renderers.d.ts.map +1 -1
  154. package/dist/ui/terminal-history-status-renderers.js +0 -3
  155. package/dist/ui/terminal-history-status-renderers.js.map +1 -1
  156. package/dist/ui/terminal-history.d.ts.map +1 -1
  157. package/dist/ui/terminal-history.js +11 -56
  158. package/dist/ui/terminal-history.js.map +1 -1
  159. package/dist/ui/terminal-history.test.js +6 -33
  160. package/dist/ui/terminal-history.test.js.map +1 -1
  161. package/dist/ui/tool-line-summary.d.ts +29 -0
  162. package/dist/ui/tool-line-summary.d.ts.map +1 -0
  163. package/dist/ui/tool-line-summary.js +153 -0
  164. package/dist/ui/tool-line-summary.js.map +1 -0
  165. package/dist/ui/transcript/TranscriptRenderer.d.ts +1 -1
  166. package/dist/ui/transcript/TranscriptRenderer.d.ts.map +1 -1
  167. package/dist/ui/transcript/TranscriptRenderer.js +18 -12
  168. package/dist/ui/transcript/TranscriptRenderer.js.map +1 -1
  169. package/dist/ui/transcript/presentation.d.ts +1 -17
  170. package/dist/ui/transcript/presentation.d.ts.map +1 -1
  171. package/dist/ui/transcript/presentation.js +0 -26
  172. package/dist/ui/transcript/presentation.js.map +1 -1
  173. package/dist/ui/transcript/spacing.d.ts +2 -2
  174. package/dist/ui/transcript/spacing.d.ts.map +1 -1
  175. package/dist/ui/transcript/spacing.js +14 -9
  176. package/dist/ui/transcript/spacing.js.map +1 -1
  177. package/dist/ui/transcript/spacing.test.js +5 -8
  178. package/dist/ui/transcript/spacing.test.js.map +1 -1
  179. package/dist/ui/transcript/tool-presentation.js +1 -1
  180. package/dist/ui/transcript/tool-presentation.js.map +1 -1
  181. package/dist/ui/transcript/transcript-lines.d.ts.map +1 -1
  182. package/dist/ui/transcript/transcript-lines.js +4 -0
  183. package/dist/ui/transcript/transcript-lines.js.map +1 -1
  184. package/dist/ui/tui-history-parity.test.js +0 -47
  185. package/dist/ui/tui-history-parity.test.js.map +1 -1
  186. package/dist/ui/tui-simulation.test.js +2 -1
  187. package/dist/ui/tui-simulation.test.js.map +1 -1
  188. package/package.json +4 -4
  189. package/dist/core/goal-controller.d.ts +0 -82
  190. package/dist/core/goal-controller.d.ts.map +0 -1
  191. package/dist/core/goal-controller.js +0 -838
  192. package/dist/core/goal-controller.js.map +0 -1
  193. package/dist/core/goal-controller.test.d.ts +0 -2
  194. package/dist/core/goal-controller.test.d.ts.map +0 -1
  195. package/dist/core/goal-controller.test.js +0 -1279
  196. package/dist/core/goal-controller.test.js.map +0 -1
  197. package/dist/core/goal-engine.d.ts +0 -61
  198. package/dist/core/goal-engine.d.ts.map +0 -1
  199. package/dist/core/goal-engine.js +0 -123
  200. package/dist/core/goal-engine.js.map +0 -1
  201. package/dist/core/goal-engine.test.d.ts +0 -2
  202. package/dist/core/goal-engine.test.d.ts.map +0 -1
  203. package/dist/core/goal-engine.test.js +0 -295
  204. package/dist/core/goal-engine.test.js.map +0 -1
  205. package/dist/core/goal-integration.d.ts +0 -80
  206. package/dist/core/goal-integration.d.ts.map +0 -1
  207. package/dist/core/goal-integration.js +0 -296
  208. package/dist/core/goal-integration.js.map +0 -1
  209. package/dist/core/goal-integration.test.d.ts +0 -2
  210. package/dist/core/goal-integration.test.d.ts.map +0 -1
  211. package/dist/core/goal-integration.test.js +0 -369
  212. package/dist/core/goal-integration.test.js.map +0 -1
  213. package/dist/core/goal-lifecycle-smoke.test.d.ts +0 -2
  214. package/dist/core/goal-lifecycle-smoke.test.d.ts.map +0 -1
  215. package/dist/core/goal-lifecycle-smoke.test.js +0 -248
  216. package/dist/core/goal-lifecycle-smoke.test.js.map +0 -1
  217. package/dist/core/goal-overhead-harness.d.ts +0 -33
  218. package/dist/core/goal-overhead-harness.d.ts.map +0 -1
  219. package/dist/core/goal-overhead-harness.js +0 -268
  220. package/dist/core/goal-overhead-harness.js.map +0 -1
  221. package/dist/core/goal-prerequisites.d.ts +0 -23
  222. package/dist/core/goal-prerequisites.d.ts.map +0 -1
  223. package/dist/core/goal-prerequisites.js +0 -114
  224. package/dist/core/goal-prerequisites.js.map +0 -1
  225. package/dist/core/goal-prerequisites.test.d.ts +0 -2
  226. package/dist/core/goal-prerequisites.test.d.ts.map +0 -1
  227. package/dist/core/goal-prerequisites.test.js +0 -154
  228. package/dist/core/goal-prerequisites.test.js.map +0 -1
  229. package/dist/core/goal-references.d.ts +0 -14
  230. package/dist/core/goal-references.d.ts.map +0 -1
  231. package/dist/core/goal-references.js +0 -153
  232. package/dist/core/goal-references.js.map +0 -1
  233. package/dist/core/goal-references.test.d.ts +0 -2
  234. package/dist/core/goal-references.test.d.ts.map +0 -1
  235. package/dist/core/goal-references.test.js +0 -77
  236. package/dist/core/goal-references.test.js.map +0 -1
  237. package/dist/core/goal-store.d.ts +0 -289
  238. package/dist/core/goal-store.d.ts.map +0 -1
  239. package/dist/core/goal-store.js +0 -1156
  240. package/dist/core/goal-store.js.map +0 -1
  241. package/dist/core/goal-store.test.d.ts +0 -2
  242. package/dist/core/goal-store.test.d.ts.map +0 -1
  243. package/dist/core/goal-store.test.js +0 -530
  244. package/dist/core/goal-store.test.js.map +0 -1
  245. package/dist/core/goal-verifier.d.ts +0 -17
  246. package/dist/core/goal-verifier.d.ts.map +0 -1
  247. package/dist/core/goal-verifier.js +0 -87
  248. package/dist/core/goal-verifier.js.map +0 -1
  249. package/dist/core/goal-verifier.test.d.ts +0 -2
  250. package/dist/core/goal-verifier.test.d.ts.map +0 -1
  251. package/dist/core/goal-verifier.test.js +0 -131
  252. package/dist/core/goal-verifier.test.js.map +0 -1
  253. package/dist/core/goal-worker-dev-server-lifecycle.test.d.ts +0 -2
  254. package/dist/core/goal-worker-dev-server-lifecycle.test.d.ts.map +0 -1
  255. package/dist/core/goal-worker-dev-server-lifecycle.test.js +0 -68
  256. package/dist/core/goal-worker-dev-server-lifecycle.test.js.map +0 -1
  257. package/dist/core/goal-worker.d.ts +0 -61
  258. package/dist/core/goal-worker.d.ts.map +0 -1
  259. package/dist/core/goal-worker.js +0 -467
  260. package/dist/core/goal-worker.js.map +0 -1
  261. package/dist/core/goal-worker.test.d.ts +0 -2
  262. package/dist/core/goal-worker.test.d.ts.map +0 -1
  263. package/dist/core/goal-worker.test.js +0 -493
  264. package/dist/core/goal-worker.test.js.map +0 -1
  265. package/dist/core/goal-worktree.d.ts +0 -108
  266. package/dist/core/goal-worktree.d.ts.map +0 -1
  267. package/dist/core/goal-worktree.js +0 -300
  268. package/dist/core/goal-worktree.js.map +0 -1
  269. package/dist/core/goal-worktree.test.d.ts +0 -2
  270. package/dist/core/goal-worktree.test.d.ts.map +0 -1
  271. package/dist/core/goal-worktree.test.js +0 -448
  272. package/dist/core/goal-worktree.test.js.map +0 -1
  273. package/dist/tools/goal-mode.test.d.ts +0 -2
  274. package/dist/tools/goal-mode.test.d.ts.map +0 -1
  275. package/dist/tools/goal-mode.test.js +0 -121
  276. package/dist/tools/goal-mode.test.js.map +0 -1
  277. package/dist/tools/goals.d.ts +0 -143
  278. package/dist/tools/goals.d.ts.map +0 -1
  279. package/dist/tools/goals.js +0 -1038
  280. package/dist/tools/goals.js.map +0 -1
  281. package/dist/tools/goals.test.d.ts +0 -2
  282. package/dist/tools/goals.test.d.ts.map +0 -1
  283. package/dist/tools/goals.test.js +0 -1444
  284. package/dist/tools/goals.test.js.map +0 -1
  285. package/dist/ui/components/GoalOverlay.d.ts +0 -83
  286. package/dist/ui/components/GoalOverlay.d.ts.map +0 -1
  287. package/dist/ui/components/GoalOverlay.js +0 -710
  288. package/dist/ui/components/GoalOverlay.js.map +0 -1
  289. package/dist/ui/components/GoalPickerMenu.d.ts +0 -9
  290. package/dist/ui/components/GoalPickerMenu.d.ts.map +0 -1
  291. package/dist/ui/components/GoalPickerMenu.js +0 -37
  292. package/dist/ui/components/GoalPickerMenu.js.map +0 -1
  293. package/dist/ui/components/GoalStatusBar.d.ts +0 -26
  294. package/dist/ui/components/GoalStatusBar.d.ts.map +0 -1
  295. package/dist/ui/components/GoalStatusBar.js +0 -130
  296. package/dist/ui/components/GoalStatusBar.js.map +0 -1
  297. package/dist/ui/components/GoalStatusBar.test.d.ts +0 -2
  298. package/dist/ui/components/GoalStatusBar.test.d.ts.map +0 -1
  299. package/dist/ui/components/GoalStatusBar.test.js +0 -17
  300. package/dist/ui/components/GoalStatusBar.test.js.map +0 -1
  301. package/dist/ui/goal-events.d.ts +0 -125
  302. package/dist/ui/goal-events.d.ts.map +0 -1
  303. package/dist/ui/goal-events.js +0 -407
  304. package/dist/ui/goal-events.js.map +0 -1
  305. package/dist/ui/goal-events.test.d.ts +0 -2
  306. package/dist/ui/goal-events.test.d.ts.map +0 -1
  307. package/dist/ui/goal-events.test.js +0 -416
  308. package/dist/ui/goal-events.test.js.map +0 -1
  309. package/dist/ui/goal-lifecycle-orchestration.test.d.ts +0 -2
  310. package/dist/ui/goal-lifecycle-orchestration.test.d.ts.map +0 -1
  311. package/dist/ui/goal-lifecycle-orchestration.test.js +0 -555
  312. package/dist/ui/goal-lifecycle-orchestration.test.js.map +0 -1
  313. package/dist/ui/goal-overlay.test.d.ts +0 -2
  314. package/dist/ui/goal-overlay.test.d.ts.map +0 -1
  315. package/dist/ui/goal-overlay.test.js +0 -384
  316. package/dist/ui/goal-overlay.test.js.map +0 -1
  317. package/dist/ui/goal-progress.d.ts +0 -31
  318. package/dist/ui/goal-progress.d.ts.map +0 -1
  319. package/dist/ui/goal-progress.js +0 -149
  320. package/dist/ui/goal-progress.js.map +0 -1
  321. package/dist/ui/goal-run-helpers.d.ts +0 -12
  322. package/dist/ui/goal-run-helpers.d.ts.map +0 -1
  323. package/dist/ui/goal-run-helpers.js +0 -42
  324. package/dist/ui/goal-run-helpers.js.map +0 -1
  325. package/dist/ui/goal-status-bar.test.d.ts +0 -2
  326. package/dist/ui/goal-status-bar.test.d.ts.map +0 -1
  327. package/dist/ui/goal-status-bar.test.js +0 -174
  328. package/dist/ui/goal-status-bar.test.js.map +0 -1
  329. package/dist/ui/goal-summary.d.ts +0 -14
  330. package/dist/ui/goal-summary.d.ts.map +0 -1
  331. package/dist/ui/goal-summary.js +0 -194
  332. package/dist/ui/goal-summary.js.map +0 -1
  333. package/dist/ui/hooks/useGoalOrchestration.d.ts +0 -82
  334. package/dist/ui/hooks/useGoalOrchestration.d.ts.map +0 -1
  335. package/dist/ui/hooks/useGoalOrchestration.js +0 -863
  336. package/dist/ui/hooks/useGoalOrchestration.js.map +0 -1
  337. package/dist/ui/hooks/useGoalPickerController.d.ts +0 -22
  338. package/dist/ui/hooks/useGoalPickerController.d.ts.map +0 -1
  339. package/dist/ui/hooks/useGoalPickerController.js +0 -35
  340. package/dist/ui/hooks/useGoalPickerController.js.map +0 -1
  341. package/dist/ui/prompt-routing.test.d.ts +0 -2
  342. package/dist/ui/prompt-routing.test.d.ts.map +0 -1
  343. package/dist/ui/prompt-routing.test.js +0 -48
  344. package/dist/ui/prompt-routing.test.js.map +0 -1
  345. package/dist/ui/transcript/GoalRows.d.ts +0 -10
  346. package/dist/ui/transcript/GoalRows.d.ts.map +0 -1
  347. package/dist/ui/transcript/GoalRows.js +0 -35
  348. package/dist/ui/transcript/GoalRows.js.map +0 -1
@@ -1,42 +0,0 @@
1
- import { formatGoalReferencesForPrompt } from "../core/goal-references.js";
2
- import { goalHasBlockingPrerequisites } from "../core/goal-store.js";
3
- import { APPLY_INTEGRATION_TO_MAIN_TASK_TITLE } from "../core/goal-controller.js";
4
- export function buildGoalTaskPromptWithReferences(run, taskPrompt) {
5
- if (taskPrompt.includes("## Goal References (MANDATORY)"))
6
- return taskPrompt;
7
- const references = formatGoalReferencesForPrompt(run.references ?? []);
8
- return references ? `${references}\n\n${taskPrompt}` : taskPrompt;
9
- }
10
- export function shouldRunGoalTaskInMainCheckout(taskTitle) {
11
- return taskTitle === APPLY_INTEGRATION_TO_MAIN_TASK_TITLE;
12
- }
13
- export function goalTaskProgress(run, task) {
14
- if (!task)
15
- return undefined;
16
- const taskIndex = run.tasks.findIndex((item) => item.id === task.id);
17
- if (taskIndex < 0 || run.tasks.length === 0)
18
- return undefined;
19
- return { taskNumber: taskIndex + 1, taskTotal: run.tasks.length };
20
- }
21
- function buildGoalPauseRun(run, blocker) {
22
- return {
23
- ...run,
24
- status: "paused",
25
- activeWorkerId: undefined,
26
- continueRequestedAt: undefined,
27
- blockers: Array.from(new Set([...run.blockers, blocker])),
28
- };
29
- }
30
- export function buildGoalUserPauseRun(run) {
31
- return buildGoalPauseRun(run, "Goal paused by user from the mini TUI; auto-continuation is stopped until resumed.");
32
- }
33
- export function goalRunNeedsExplicitContinuationAfterWorker(run) {
34
- return !!run?.continueRequestedAt && !goalHasBlockingPrerequisites(run);
35
- }
36
- export function shouldKeepGoalRunTrackedAfterDecision(decision) {
37
- return (decision.kind === "start_worker" ||
38
- decision.kind === "run_verifier" ||
39
- decision.kind === "create_task" ||
40
- (decision.kind === "wait" && decision.workerId !== undefined));
41
- }
42
- //# sourceMappingURL=goal-run-helpers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"goal-run-helpers.js","sourceRoot":"","sources":["../../src/ui/goal-run-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAE,4BAA4B,EAAgB,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAE,oCAAoC,EAAE,MAAM,4BAA4B,CAAC;AAGlF,MAAM,UAAU,iCAAiC,CAAC,GAAY,EAAE,UAAkB;IAChF,IAAI,UAAU,CAAC,QAAQ,CAAC,gCAAgC,CAAC;QAAE,OAAO,UAAU,CAAC;IAC7E,MAAM,UAAU,GAAG,6BAA6B,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;IACvE,OAAO,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,OAAO,UAAU,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,SAAiB;IAC/D,OAAO,SAAS,KAAK,oCAAoC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,GAAY,EACZ,IAA0C;IAE1C,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;IACrE,IAAI,SAAS,GAAG,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC9D,OAAO,EAAE,UAAU,EAAE,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;AACpE,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAY,EAAE,OAAe;IACtD,OAAO;QACL,GAAG,GAAG;QACN,MAAM,EAAE,QAAQ;QAChB,cAAc,EAAE,SAAS;QACzB,mBAAmB,EAAE,SAAS;QAC9B,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;KAC1D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,GAAY;IAChD,OAAO,iBAAiB,CACtB,GAAG,EACH,oFAAoF,CACrF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2CAA2C,CAAC,GAAwB;IAClF,OAAO,CAAC,CAAC,GAAG,EAAE,mBAAmB,IAAI,CAAC,4BAA4B,CAAC,GAAG,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,qCAAqC,CACnD,QAAiD;IAEjD,OAAO,CACL,QAAQ,CAAC,IAAI,KAAK,cAAc;QAChC,QAAQ,CAAC,IAAI,KAAK,cAAc;QAChC,QAAQ,CAAC,IAAI,KAAK,aAAa;QAC/B,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS,CAAC,CAC9D,CAAC;AACJ,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=goal-status-bar.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"goal-status-bar.test.d.ts","sourceRoot":"","sources":["../../src/ui/goal-status-bar.test.ts"],"names":[],"mappings":""}
@@ -1,174 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import { formatGoalElapsed, formatGoalStatusActiveText, reconcileGoalStatusEntriesWithRuns, removeGoalStatusEntry, syncGoalStatusEntries, } from "./components/GoalStatusBar.js";
3
- function goalRun(overrides = {}) {
4
- return {
5
- id: "run-1",
6
- title: "Goal title",
7
- goal: "Goal body",
8
- status: "ready",
9
- createdAt: "2024-01-01T00:00:00.000Z",
10
- updatedAt: "2024-01-01T00:00:00.000Z",
11
- projectPath: "/tmp/project",
12
- successCriteria: [],
13
- prerequisites: [],
14
- harness: [],
15
- evidencePlan: [],
16
- tasks: [],
17
- evidence: [],
18
- blockers: [],
19
- ...overrides,
20
- };
21
- }
22
- describe("GoalStatusBar helpers", () => {
23
- it("formats elapsed goal runtime as minutes and seconds", () => {
24
- expect(formatGoalElapsed(-100)).toBe("0:00");
25
- expect(formatGoalElapsed(999)).toBe("0:00");
26
- expect(formatGoalElapsed(1_000)).toBe("0:01");
27
- expect(formatGoalElapsed(65_400)).toBe("1:05");
28
- });
29
- it("formats active worker text with the running task number and goal title", () => {
30
- expect(formatGoalStatusActiveText({
31
- runId: "run-1",
32
- label: "Fix Codex reasoning leaks",
33
- phase: "worker",
34
- startedAt: 0,
35
- workerId: "worker-secret",
36
- goalNumber: 1,
37
- taskNumber: 2,
38
- taskTotal: 3,
39
- })).toBe("(2/3) Goal in progress: Fix Codex reasoning lea…");
40
- });
41
- it("formats verifier text with goal-in-progress copy", () => {
42
- expect(formatGoalStatusActiveText({
43
- runId: "run-2",
44
- label: "Long verification title",
45
- phase: "verifier",
46
- startedAt: 0,
47
- detail: "pnpm test",
48
- goalNumber: 2,
49
- })).toBe("Goal in progress: Long verification title");
50
- });
51
- it("mirrors upsert and clear changes through a sessionStore-shaped snapshot", () => {
52
- const sessionStore = { goalStatusEntries: [] };
53
- const first = {
54
- runId: "run-1",
55
- label: "Implement goal lifecycle persistence",
56
- phase: "worker",
57
- startedAt: Date.now(),
58
- };
59
- sessionStore.goalStatusEntries = syncGoalStatusEntries(sessionStore.goalStatusEntries ?? [], first);
60
- expect(sessionStore.goalStatusEntries).toHaveLength(1);
61
- expect(sessionStore.goalStatusEntries[0]?.goalNumber).toBe(1);
62
- const remountedEntries = sessionStore.goalStatusEntries ?? [];
63
- const updated = syncGoalStatusEntries(remountedEntries, { ...first, phase: "verifier" });
64
- sessionStore.goalStatusEntries = updated;
65
- expect(sessionStore.goalStatusEntries).toHaveLength(1);
66
- expect(sessionStore.goalStatusEntries[0]).toMatchObject({
67
- runId: "run-1",
68
- phase: "verifier",
69
- goalNumber: 1,
70
- });
71
- sessionStore.goalStatusEntries = removeGoalStatusEntry(sessionStore.goalStatusEntries, "run-1");
72
- expect(sessionStore.goalStatusEntries).toEqual([]);
73
- });
74
- it("cleans stale persisted entries when durable run state is inactive after remount", () => {
75
- const entries = [
76
- {
77
- runId: "run-ready",
78
- label: "Stale ready goal",
79
- phase: "reviewing",
80
- startedAt: Date.now() - 10 * 60_000,
81
- },
82
- {
83
- runId: "run-failed",
84
- label: "Stale failed goal",
85
- phase: "worker",
86
- startedAt: Date.now() - 10 * 60_000,
87
- },
88
- ];
89
- expect(reconcileGoalStatusEntriesWithRuns(entries, [
90
- goalRun({ id: "run-ready", status: "ready" }),
91
- goalRun({ id: "run-failed", status: "failed" }),
92
- ])).toEqual([]);
93
- });
94
- it("keeps the same entry array when active reconciliation is a no-op", () => {
95
- const entries = [
96
- {
97
- runId: "run-worker",
98
- label: "Active worker goal",
99
- phase: "worker",
100
- workerId: "worker-1",
101
- startedAt: Date.now(),
102
- },
103
- ];
104
- const reconciled = reconcileGoalStatusEntriesWithRuns(entries, [
105
- goalRun({
106
- id: "run-worker",
107
- status: "running",
108
- activeWorkerId: "worker-1",
109
- tasks: [
110
- {
111
- id: "task-1",
112
- title: "Task",
113
- prompt: "Do it",
114
- status: "running",
115
- attempts: 1,
116
- workerId: "worker-1",
117
- },
118
- ],
119
- }),
120
- ], { isWorkerActive: (workerId) => workerId === "worker-1" });
121
- expect(reconciled).toBe(entries);
122
- });
123
- it("preserves legitimate active worker and verifier entries", () => {
124
- const entries = [
125
- {
126
- runId: "run-worker",
127
- label: "Active worker goal",
128
- phase: "worker",
129
- workerId: "worker-1",
130
- startedAt: Date.now(),
131
- },
132
- {
133
- runId: "run-verifier",
134
- label: "Active verifier goal",
135
- phase: "verifier",
136
- startedAt: Date.now(),
137
- },
138
- ];
139
- expect(reconcileGoalStatusEntriesWithRuns(entries, [
140
- goalRun({
141
- id: "run-worker",
142
- status: "running",
143
- activeWorkerId: "worker-1",
144
- tasks: [
145
- {
146
- id: "task-1",
147
- title: "Task",
148
- prompt: "Do it",
149
- status: "running",
150
- attempts: 1,
151
- workerId: "worker-1",
152
- },
153
- ],
154
- }),
155
- goalRun({ id: "run-verifier", status: "verifying" }),
156
- ], {
157
- isWorkerActive: (workerId) => workerId === "worker-1",
158
- isVerifierActive: (run) => run.id === "run-verifier",
159
- }).map((entry) => entry.runId)).toEqual(["run-worker", "run-verifier"]);
160
- });
161
- it("restores non-empty entries from a sessionStore remount snapshot", () => {
162
- const sessionStore = { goalStatusEntries: [] };
163
- sessionStore.goalStatusEntries = syncGoalStatusEntries(sessionStore.goalStatusEntries ?? [], {
164
- runId: "run-1",
165
- label: "Implement status persistence",
166
- phase: "worker",
167
- startedAt: Date.now(),
168
- });
169
- const remountedEntries = sessionStore.goalStatusEntries ?? [];
170
- expect(remountedEntries).toHaveLength(1);
171
- expect(remountedEntries.map(formatGoalStatusActiveText)).toContain("Goal in progress: Implement status persis…");
172
- });
173
- });
174
- //# sourceMappingURL=goal-status-bar.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"goal-status-bar.test.js","sourceRoot":"","sources":["../../src/ui/goal-status-bar.test.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- import { type GoalRun } from "../core/goal-store.js";
2
- export interface GoalSummaryRow {
3
- label: string;
4
- value: string;
5
- detail?: string;
6
- }
7
- export interface GoalSummarySection {
8
- title: string;
9
- lines: string[];
10
- }
11
- export declare function goalPassedDetail(run: GoalRun): string;
12
- export declare function buildGoalFinalSummarySections(run: GoalRun): GoalSummarySection[];
13
- export declare function buildGoalSummaryRows(run: GoalRun): GoalSummaryRow[];
14
- //# sourceMappingURL=goal-summary.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"goal-summary.d.ts","sourceRoot":"","sources":["../../src/ui/goal-summary.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,OAAO,EAEb,MAAM,uBAAuB,CAAC;AAE/B,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAuFD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAcrD;AA4CD,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,OAAO,GAAG,kBAAkB,EAAE,CAmBhF;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,cAAc,EAAE,CA4DnE"}
@@ -1,194 +0,0 @@
1
- import { formatGoalBlockingPrerequisites, goalHasBlockingPrerequisites, } from "../core/goal-store.js";
2
- function countGoalTasksByStatus(tasks, status) {
3
- return tasks.filter((task) => task.status === status).length;
4
- }
5
- function firstText(values) {
6
- return values.find((value) => value !== undefined && value.trim().length > 0)?.trim();
7
- }
8
- function normalizeGoalSummaryText(value) {
9
- return value.replace(/\s+/g, " ").trim();
10
- }
11
- function truncateGoalSummary(value, maxLength = 90) {
12
- const normalized = normalizeGoalSummaryText(value);
13
- if (normalized.length <= maxLength)
14
- return normalized;
15
- return `${normalized.slice(0, maxLength - 1)}…`;
16
- }
17
- function goalSummarySentences(value) {
18
- return (normalizeGoalSummaryText(value)
19
- .match(/[^.!?]+[.!?]?/g)
20
- ?.map((sentence) => sentence.trim())
21
- .filter(Boolean) ?? []);
22
- }
23
- function significantGoalSentence(value, pattern) {
24
- const sentences = goalSummarySentences(value);
25
- return sentences.find((sentence) => pattern.test(sentence)) ?? sentences[0];
26
- }
27
- function cleanGoalCompletionAuditSummary(summary) {
28
- return normalizeGoalSummaryText(summary)
29
- .replace(/^FINAL_AUDIT_PASS\b\s*/i, "")
30
- .replace(/\bverifier_checked_at=\S+\s*/gi, "")
31
- .replace(/\boutput_path=\S+\s*/gi, "")
32
- .replace(/^[;:,.\s]+/, "")
33
- .trim();
34
- }
35
- function formatListWithOverflow(items, limit) {
36
- const visible = items.slice(0, limit);
37
- const remaining = items.length - visible.length;
38
- return `${visible.join("; ")}${remaining > 0 ? `; +${remaining} more` : ""}`;
39
- }
40
- function truncateGoalLine(value, maxLength = 180) {
41
- return truncateGoalSummary(value.replace(/^[-*]\s*/, ""), maxLength);
42
- }
43
- function goalTaskOutcomeLines(run) {
44
- return run.tasks
45
- .filter((task) => task.status === "done")
46
- .map((task) => {
47
- const summary = task.lastSummary
48
- ? significantGoalSentence(task.lastSummary, /fixed|implemented|created|updated|verified|passed|recorded|changed|added/i)
49
- : undefined;
50
- return summary
51
- ? `${task.title}: ${truncateGoalLine(summary, 200)}`
52
- : `${task.title}: completed.`;
53
- })
54
- .slice(0, 8);
55
- }
56
- function goalEvidenceOutcomeLines(run) {
57
- return run.evidencePlan
58
- .filter((item) => item.status === "ready")
59
- .map((item) => {
60
- const proof = firstText([item.evidence, item.path, item.command]);
61
- return proof ? `${item.label}: ${truncateGoalLine(proof, 200)}` : `${item.label}: ready.`;
62
- })
63
- .slice(0, 8);
64
- }
65
- function goalManualReviewLines(run) {
66
- const residual = goalResidualSummary(run);
67
- const blockerLines = run.blockers.map((blocker) => truncateGoalLine(blocker, 200));
68
- const residualLines = residual ? [residual] : [];
69
- return [...blockerLines, ...residualLines].slice(0, 4);
70
- }
71
- export function goalPassedDetail(run) {
72
- const auditSummary = run.completionAudit?.status === "pass"
73
- ? cleanGoalCompletionAuditSummary(run.completionAudit.summary)
74
- : undefined;
75
- const auditOutcome = auditSummary
76
- ? significantGoalSentence(auditSummary, /criteria|evidence|verified|passed|satisfied|fixed/i)
77
- : undefined;
78
- if (auditOutcome)
79
- return truncateGoalSummary(auditOutcome, 180);
80
- const verifierPath = run.verifier?.lastResult?.outputPath;
81
- if (verifierPath)
82
- return `Final audit passed; verifier log: ${truncateGoalSummary(verifierPath, 110)}`;
83
- return "Verifier evidence and final audit passed; auto-continuation stopped.";
84
- }
85
- function goalFindingsSummary(run) {
86
- const priorityEvidence = [...run.evidence]
87
- .reverse()
88
- .find((item) => /close production gaps|source-backed.*gap|quality audit|findings|final completion audit/i.test(item.label));
89
- const content = priorityEvidence?.content ?? run.completionAudit?.summary;
90
- const finding = content
91
- ? significantGoalSentence(content, /fix|finding|gap|residual|accepted|blocked|risk/i)
92
- : undefined;
93
- return finding ? truncateGoalSummary(finding, 120) : undefined;
94
- }
95
- function goalWorkSummary(run) {
96
- const doneTaskTitles = run.tasks
97
- .filter((task) => task.status === "done")
98
- .map((task) => task.title.trim())
99
- .filter(Boolean);
100
- return doneTaskTitles.length > 0
101
- ? truncateGoalSummary(formatListWithOverflow(doneTaskTitles, 3), 120)
102
- : undefined;
103
- }
104
- function goalResidualSummary(run) {
105
- const residualPlan = run.evidencePlan.find((item) => {
106
- const text = `${item.label} ${item.description} ${item.evidence ?? ""}`;
107
- return /residual|optional|canary|accepted risk|approval/i.test(text) && !!item.evidence?.trim();
108
- });
109
- const residualEvidence = [...run.evidence]
110
- .reverse()
111
- .find((item) => /residual|optional.*canary|blocked pending approval|accepted risk/i.test(item.label));
112
- const content = residualPlan?.evidence ?? residualEvidence?.content;
113
- const residual = content
114
- ? significantGoalSentence(content, /residual|optional|accepted|approval|not run|blocked/i)
115
- : undefined;
116
- return residual ? truncateGoalSummary(residual, 120) : undefined;
117
- }
118
- export function buildGoalFinalSummarySections(run) {
119
- if (run.status !== "passed")
120
- return [];
121
- const sections = [];
122
- const outcome = goalPassedDetail(run);
123
- if (outcome)
124
- sections.push({ title: "Outcome", lines: [outcome] });
125
- const taskLines = goalTaskOutcomeLines(run);
126
- if (taskLines.length > 0)
127
- sections.push({ title: "What changed", lines: taskLines });
128
- const evidenceLines = goalEvidenceOutcomeLines(run);
129
- if (evidenceLines.length > 0)
130
- sections.push({ title: "Proof", lines: evidenceLines });
131
- const manualReviewLines = goalManualReviewLines(run);
132
- if (manualReviewLines.length > 0) {
133
- sections.push({ title: "Manual review / residual", lines: manualReviewLines });
134
- }
135
- return sections;
136
- }
137
- export function buildGoalSummaryRows(run) {
138
- const rows = [];
139
- if (run.status === "passed") {
140
- const findings = goalFindingsSummary(run);
141
- if (findings)
142
- rows.push({ label: "Findings", value: findings });
143
- const work = goalWorkSummary(run);
144
- if (work)
145
- rows.push({ label: "Work", value: work });
146
- const residual = goalResidualSummary(run);
147
- if (residual)
148
- rows.push({ label: "Residual", value: residual });
149
- }
150
- const doneTasks = countGoalTasksByStatus(run.tasks, "done");
151
- const failedTasks = countGoalTasksByStatus(run.tasks, "failed");
152
- const blockedTasks = countGoalTasksByStatus(run.tasks, "blocked");
153
- const taskSuffix = [
154
- failedTasks > 0 ? `${failedTasks} failed` : undefined,
155
- blockedTasks > 0 ? `${blockedTasks} blocked` : undefined,
156
- ].filter((item) => item !== undefined);
157
- rows.push({
158
- label: "Tasks",
159
- value: run.tasks.length > 0 ? `${doneTasks}/${run.tasks.length} done` : "none",
160
- ...(taskSuffix.length > 0 ? { detail: taskSuffix.join(", ") } : {}),
161
- });
162
- const verifierResult = run.verifier?.lastResult;
163
- const verifierDetail = firstText([verifierResult?.outputPath, run.verifier?.command]);
164
- rows.push({
165
- label: "Verifier",
166
- value: verifierResult?.status ?? (run.verifier?.command ? "ready" : "missing"),
167
- ...(verifierDetail ? { detail: truncateGoalSummary(verifierDetail) } : {}),
168
- });
169
- const latestEvidence = run.evidence.at(-1);
170
- rows.push({
171
- label: "Evidence",
172
- value: `${run.evidence.length} recorded`,
173
- ...(latestEvidence
174
- ? { detail: truncateGoalSummary(latestEvidence.path ?? latestEvidence.label) }
175
- : {}),
176
- });
177
- if (run.status === "blocked" || run.status === "paused" || run.blockers.length > 0) {
178
- rows.push({
179
- label: run.status === "paused" ? "Paused on" : "Blocked on",
180
- value: truncateGoalSummary(goalHasBlockingPrerequisites(run)
181
- ? formatGoalBlockingPrerequisites(run)
182
- : (run.blockers[0] ?? "manual review"), 110),
183
- });
184
- }
185
- else if (run.successCriteria.length > 0) {
186
- rows.push({
187
- label: "Criteria",
188
- value: `${run.successCriteria.length} checked`,
189
- detail: truncateGoalSummary(run.successCriteria[0] ?? "", 80),
190
- });
191
- }
192
- return rows.slice(0, run.status === "passed" ? 8 : 4);
193
- }
194
- //# sourceMappingURL=goal-summary.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"goal-summary.js","sourceRoot":"","sources":["../../src/ui/goal-summary.ts"],"names":[],"mappings":"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"}
@@ -1,82 +0,0 @@
1
- import { type Dispatch, type MutableRefObject, type SetStateAction } from "react";
2
- import type { Message, Provider, ThinkingLevel } from "@kenkaiiii/gg-ai";
3
- import { type GoalRun } from "../../core/goal-store.js";
4
- import { type GoalStagedContext } from "../../core/goal-integration.js";
5
- import { type GoalWorkerCompletion } from "../../core/goal-worker.js";
6
- import type { SessionManager } from "../../core/session-manager.js";
7
- import type { CompletedItem, GoalProgressDraft } from "../app-items.js";
8
- import type { DoneStatus } from "../layout-decisions.js";
9
- import type { GoalStatusEntry } from "../components/GoalStatusBar.js";
10
- import type { UseAgentLoopReturn } from "./useAgentLoop.js";
11
- /** Subset of App's resetUI used by the task launcher. */
12
- type ResetUI = (options?: {
13
- messages?: Message[];
14
- wipeSession?: boolean;
15
- history?: CompletedItem[];
16
- sessionPath?: string;
17
- pendingAction?: {
18
- prompt: string;
19
- infoText?: string;
20
- planEvent?: {
21
- event: "approved" | "rejected" | "dismissed";
22
- detail?: string;
23
- };
24
- };
25
- }) => void;
26
- /** Minimal session-store surface the orchestration touches. */
27
- interface GoalSessionStore {
28
- overlay?: "model" | "goal" | "skills" | "plan" | "theme" | "pixel" | null;
29
- }
30
- interface UseGoalOrchestrationOptions {
31
- cwd: string;
32
- resetUI?: ResetUI;
33
- sessionStore?: GoalSessionStore;
34
- currentProvider: Provider;
35
- currentModel: string;
36
- thinkingLevel: ThinkingLevel | undefined;
37
- agentLoop: UseAgentLoopReturn;
38
- appendGoalProgress: (item: GoalProgressDraft) => void;
39
- goalNumberForRun: (runId: string) => number;
40
- clearGoalStatusEntry: (runId: string) => void;
41
- upsertGoalStatusEntry: (entry: GoalStatusEntry) => void;
42
- setGoalModeAndPrompt: (nextMode: "off" | "planner" | "setup" | "coordinator") => Promise<void>;
43
- clearGoalModeIfIdle: () => void;
44
- agentRunningRef: MutableRefObject<boolean>;
45
- runningGoalIdsRef: MutableRefObject<Set<string>>;
46
- activeVerifierRunIdsRef: MutableRefObject<Set<string>>;
47
- queuedGoalSyntheticEventsRef: MutableRefObject<number>;
48
- goalContinuationFlightsRef: MutableRefObject<Set<string>>;
49
- goalContinuationRecentChoicesRef: MutableRefObject<Map<string, number>>;
50
- startGoalRunRef: MutableRefObject<(run: GoalRun) => void>;
51
- startTaskRef: MutableRefObject<(title: string, prompt: string, taskId: string) => void>;
52
- messagesRef: MutableRefObject<Message[]>;
53
- persistedIndexRef: MutableRefObject<number>;
54
- sessionManagerRef: MutableRefObject<SessionManager | null>;
55
- sessionPathRef: MutableRefObject<string | undefined>;
56
- cwdRef: MutableRefObject<string>;
57
- setLiveItems: Dispatch<SetStateAction<CompletedItem[]>>;
58
- setHistory: Dispatch<SetStateAction<CompletedItem[]>>;
59
- setLastUserMessage: Dispatch<SetStateAction<string>>;
60
- setDoneStatus: Dispatch<SetStateAction<DoneStatus | null>>;
61
- getId: () => string;
62
- clearPendingHistory: () => void;
63
- }
64
- export interface GoalOrchestration {
65
- runGoalSyntheticEvent: (eventText: string) => void;
66
- continueGoalRun: (runId: string) => void;
67
- handleGoalWorkerComplete: (run: GoalRun, completion: GoalWorkerCompletion) => void;
68
- startGoalRun: (run: GoalRun) => void;
69
- verifyGoalRun: (run: GoalRun, staging?: GoalStagedContext) => Promise<void>;
70
- pauseGoalRun: (run: GoalRun) => void;
71
- startTask: (title: string, prompt: string, taskId: string) => void;
72
- }
73
- /**
74
- * Owns the entire Goal orchestration lifecycle — synthetic-event routing,
75
- * continuation, worker-completion handling, the worker-completion subscription,
76
- * starting runs/tasks/workers, verifier execution, and pausing. Extracted
77
- * verbatim from `App.tsx`; the mutual recursion between these callbacks is
78
- * preserved via `startGoalRunRef`/`startTaskRef`.
79
- */
80
- export declare function useGoalOrchestration({ cwd, resetUI, sessionStore, currentProvider, currentModel, thinkingLevel, agentLoop, appendGoalProgress, goalNumberForRun, clearGoalStatusEntry, upsertGoalStatusEntry, setGoalModeAndPrompt, clearGoalModeIfIdle, agentRunningRef, runningGoalIdsRef, activeVerifierRunIdsRef, queuedGoalSyntheticEventsRef, goalContinuationFlightsRef, goalContinuationRecentChoicesRef, startGoalRunRef, startTaskRef, messagesRef, persistedIndexRef, sessionManagerRef, sessionPathRef, cwdRef, setLiveItems, setHistory, setLastUserMessage, setDoneStatus, getId, clearPendingHistory, }: UseGoalOrchestrationOptions): GoalOrchestration;
81
- export {};
82
- //# sourceMappingURL=useGoalOrchestration.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useGoalOrchestration.d.ts","sourceRoot":"","sources":["../../../src/ui/hooks/useGoalOrchestration.ts"],"names":[],"mappings":"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"}