@kenkaiiii/ggcoder 4.3.231 → 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 (406) hide show
  1. package/README.md +1 -2
  2. package/dist/cli.d.ts.map +1 -1
  3. package/dist/cli.js +10 -89
  4. package/dist/cli.js.map +1 -1
  5. package/dist/config.d.ts +1 -0
  6. package/dist/config.d.ts.map +1 -1
  7. package/dist/config.js +7 -1
  8. package/dist/config.js.map +1 -1
  9. package/dist/config.test.d.ts +2 -0
  10. package/dist/config.test.d.ts.map +1 -0
  11. package/dist/config.test.js +29 -0
  12. package/dist/config.test.js.map +1 -0
  13. package/dist/core/agent-session.d.ts.map +1 -1
  14. package/dist/core/agent-session.js +2 -2
  15. package/dist/core/agent-session.js.map +1 -1
  16. package/dist/core/ideal-review.d.ts +20 -0
  17. package/dist/core/ideal-review.d.ts.map +1 -0
  18. package/dist/core/ideal-review.js +55 -0
  19. package/dist/core/ideal-review.js.map +1 -0
  20. package/dist/core/ideal-review.test.d.ts +2 -0
  21. package/dist/core/ideal-review.test.d.ts.map +1 -0
  22. package/dist/core/ideal-review.test.js +59 -0
  23. package/dist/core/ideal-review.test.js.map +1 -0
  24. package/dist/core/prompt-commands.d.ts.map +1 -1
  25. package/dist/core/prompt-commands.js +8 -16
  26. package/dist/core/prompt-commands.js.map +1 -1
  27. package/dist/core/prompt-commands.test.js +14 -44
  28. package/dist/core/prompt-commands.test.js.map +1 -1
  29. package/dist/core/runtime-mode.d.ts +0 -11
  30. package/dist/core/runtime-mode.d.ts.map +1 -1
  31. package/dist/core/runtime-mode.js +0 -9
  32. package/dist/core/runtime-mode.js.map +1 -1
  33. package/dist/core/session-restore-display.test.js +4 -110
  34. package/dist/core/session-restore-display.test.js.map +1 -1
  35. package/dist/core/settings-manager.d.ts +1 -0
  36. package/dist/core/settings-manager.d.ts.map +1 -1
  37. package/dist/core/settings-manager.js +2 -0
  38. package/dist/core/settings-manager.js.map +1 -1
  39. package/dist/interactive.d.ts.map +1 -1
  40. package/dist/interactive.js +1 -1
  41. package/dist/interactive.js.map +1 -1
  42. package/dist/system-prompt.d.ts +1 -2
  43. package/dist/system-prompt.d.ts.map +1 -1
  44. package/dist/system-prompt.js +11 -58
  45. package/dist/system-prompt.js.map +1 -1
  46. package/dist/system-prompt.test.js +3 -158
  47. package/dist/system-prompt.test.js.map +1 -1
  48. package/dist/tools/bash.d.ts +1 -4
  49. package/dist/tools/bash.d.ts.map +1 -1
  50. package/dist/tools/bash.js +3 -12
  51. package/dist/tools/bash.js.map +1 -1
  52. package/dist/tools/checkpoint-hook.test.js +3 -3
  53. package/dist/tools/checkpoint-hook.test.js.map +1 -1
  54. package/dist/tools/edit.d.ts +1 -4
  55. package/dist/tools/edit.d.ts.map +1 -1
  56. package/dist/tools/edit.js +5 -13
  57. package/dist/tools/edit.js.map +1 -1
  58. package/dist/tools/enter-plan.js +1 -1
  59. package/dist/tools/enter-plan.js.map +1 -1
  60. package/dist/tools/html-extract.d.ts +58 -0
  61. package/dist/tools/html-extract.d.ts.map +1 -0
  62. package/dist/tools/html-extract.js +130 -0
  63. package/dist/tools/html-extract.js.map +1 -0
  64. package/dist/tools/html-extract.test.d.ts +2 -0
  65. package/dist/tools/html-extract.test.d.ts.map +1 -0
  66. package/dist/tools/html-extract.test.js +60 -0
  67. package/dist/tools/html-extract.test.js.map +1 -0
  68. package/dist/tools/index.d.ts +0 -9
  69. package/dist/tools/index.d.ts.map +1 -1
  70. package/dist/tools/index.js +4 -8
  71. package/dist/tools/index.js.map +1 -1
  72. package/dist/tools/pdf-extract.d.ts +18 -0
  73. package/dist/tools/pdf-extract.d.ts.map +1 -0
  74. package/dist/tools/pdf-extract.js +43 -0
  75. package/dist/tools/pdf-extract.js.map +1 -0
  76. package/dist/tools/pdf-extract.test.d.ts +2 -0
  77. package/dist/tools/pdf-extract.test.d.ts.map +1 -0
  78. package/dist/tools/pdf-extract.test.js +15 -0
  79. package/dist/tools/pdf-extract.test.js.map +1 -0
  80. package/dist/tools/prompt-hints.d.ts.map +1 -1
  81. package/dist/tools/prompt-hints.js +2 -3
  82. package/dist/tools/prompt-hints.js.map +1 -1
  83. package/dist/tools/screenshot.d.ts +1 -1
  84. package/dist/tools/subagent.d.ts +1 -4
  85. package/dist/tools/subagent.d.ts.map +1 -1
  86. package/dist/tools/subagent.js +2 -5
  87. package/dist/tools/subagent.js.map +1 -1
  88. package/dist/tools/web-fetch.d.ts +16 -1
  89. package/dist/tools/web-fetch.d.ts.map +1 -1
  90. package/dist/tools/web-fetch.js +357 -45
  91. package/dist/tools/web-fetch.js.map +1 -1
  92. package/dist/tools/web-fetch.test.js +263 -2
  93. package/dist/tools/web-fetch.test.js.map +1 -1
  94. package/dist/tools/web-search.d.ts +14 -0
  95. package/dist/tools/web-search.d.ts.map +1 -1
  96. package/dist/tools/web-search.js +321 -35
  97. package/dist/tools/web-search.js.map +1 -1
  98. package/dist/tools/web-search.test.js +144 -1
  99. package/dist/tools/web-search.test.js.map +1 -1
  100. package/dist/tools/write.d.ts +1 -4
  101. package/dist/tools/write.d.ts.map +1 -1
  102. package/dist/tools/write.js +5 -13
  103. package/dist/tools/write.js.map +1 -1
  104. package/dist/ui/App.d.ts +7 -20
  105. package/dist/ui/App.d.ts.map +1 -1
  106. package/dist/ui/App.js +124 -309
  107. package/dist/ui/App.js.map +1 -1
  108. package/dist/ui/app-items.d.ts +36 -25
  109. package/dist/ui/app-items.d.ts.map +1 -1
  110. package/dist/ui/app-items.js +39 -0
  111. package/dist/ui/app-items.js.map +1 -1
  112. package/dist/ui/app-items.test.d.ts +2 -0
  113. package/dist/ui/app-items.test.d.ts.map +1 -0
  114. package/dist/ui/app-items.test.js +38 -0
  115. package/dist/ui/app-items.test.js.map +1 -0
  116. package/dist/ui/app-state-persistence.test.js +14 -318
  117. package/dist/ui/app-state-persistence.test.js.map +1 -1
  118. package/dist/ui/chat-layout-pinning.test.js +74 -4
  119. package/dist/ui/chat-layout-pinning.test.js.map +1 -1
  120. package/dist/ui/components/AssistantMessage.test.js +6 -9
  121. package/dist/ui/components/AssistantMessage.test.js.map +1 -1
  122. package/dist/ui/components/Banner.js +1 -1
  123. package/dist/ui/components/Banner.js.map +1 -1
  124. package/dist/ui/components/ChatFooterPane.d.ts +1 -5
  125. package/dist/ui/components/ChatFooterPane.d.ts.map +1 -1
  126. package/dist/ui/components/ChatFooterPane.js +3 -4
  127. package/dist/ui/components/ChatFooterPane.js.map +1 -1
  128. package/dist/ui/components/ChatInputStack.d.ts +3 -1
  129. package/dist/ui/components/ChatInputStack.d.ts.map +1 -1
  130. package/dist/ui/components/ChatInputStack.js +4 -3
  131. package/dist/ui/components/ChatInputStack.js.map +1 -1
  132. package/dist/ui/components/ChatScreen.d.ts +3 -16
  133. package/dist/ui/components/ChatScreen.d.ts.map +1 -1
  134. package/dist/ui/components/ChatScreen.js +2 -3
  135. package/dist/ui/components/ChatScreen.js.map +1 -1
  136. package/dist/ui/components/Footer.d.ts +3 -8
  137. package/dist/ui/components/Footer.d.ts.map +1 -1
  138. package/dist/ui/components/Footer.js +5 -25
  139. package/dist/ui/components/Footer.js.map +1 -1
  140. package/dist/ui/components/IdealHookMessage.d.ts +12 -0
  141. package/dist/ui/components/IdealHookMessage.d.ts.map +1 -0
  142. package/dist/ui/components/IdealHookMessage.js +24 -0
  143. package/dist/ui/components/IdealHookMessage.js.map +1 -0
  144. package/dist/ui/components/InputArea.d.ts +1 -9
  145. package/dist/ui/components/InputArea.d.ts.map +1 -1
  146. package/dist/ui/components/InputArea.js +2 -44
  147. package/dist/ui/components/InputArea.js.map +1 -1
  148. package/dist/ui/components/LiveToolPanel.d.ts +30 -0
  149. package/dist/ui/components/LiveToolPanel.d.ts.map +1 -0
  150. package/dist/ui/components/LiveToolPanel.js +66 -0
  151. package/dist/ui/components/LiveToolPanel.js.map +1 -0
  152. package/dist/ui/components/ToolExecution.js +0 -2
  153. package/dist/ui/components/ToolExecution.js.map +1 -1
  154. package/dist/ui/components/TranscriptViewport.d.ts +1 -1
  155. package/dist/ui/components/TranscriptViewport.js +1 -1
  156. package/dist/ui/footer-jump-regression.test.js +12 -2
  157. package/dist/ui/footer-jump-regression.test.js.map +1 -1
  158. package/dist/ui/footer-status-layout.test.js +4 -12
  159. package/dist/ui/footer-status-layout.test.js.map +1 -1
  160. package/dist/ui/hooks/useAgentLoop.d.ts +2 -0
  161. package/dist/ui/hooks/useAgentLoop.d.ts.map +1 -1
  162. package/dist/ui/hooks/useAgentLoop.js +45 -1
  163. package/dist/ui/hooks/useAgentLoop.js.map +1 -1
  164. package/dist/ui/hooks/useChatLayoutMeasurements.d.ts +3 -4
  165. package/dist/ui/hooks/useChatLayoutMeasurements.d.ts.map +1 -1
  166. package/dist/ui/hooks/useChatLayoutMeasurements.js +26 -4
  167. package/dist/ui/hooks/useChatLayoutMeasurements.js.map +1 -1
  168. package/dist/ui/hooks/useModeState.d.ts +4 -19
  169. package/dist/ui/hooks/useModeState.d.ts.map +1 -1
  170. package/dist/ui/hooks/useModeState.js +5 -45
  171. package/dist/ui/hooks/useModeState.js.map +1 -1
  172. package/dist/ui/hooks/usePixelFixFlow.js +2 -2
  173. package/dist/ui/layout-decisions.d.ts +11 -34
  174. package/dist/ui/layout-decisions.d.ts.map +1 -1
  175. package/dist/ui/layout-decisions.js +15 -42
  176. package/dist/ui/layout-decisions.js.map +1 -1
  177. package/dist/ui/live-area-height.d.ts.map +1 -1
  178. package/dist/ui/live-area-height.js +6 -1
  179. package/dist/ui/live-area-height.js.map +1 -1
  180. package/dist/ui/live-frame-height.test.js +26 -1
  181. package/dist/ui/live-frame-height.test.js.map +1 -1
  182. package/dist/ui/plan-overlay.test.js +1 -1
  183. package/dist/ui/plan-overlay.test.js.map +1 -1
  184. package/dist/ui/prompt-routing.d.ts +1 -19
  185. package/dist/ui/prompt-routing.d.ts.map +1 -1
  186. package/dist/ui/prompt-routing.js +1 -79
  187. package/dist/ui/prompt-routing.js.map +1 -1
  188. package/dist/ui/render.d.ts +6 -18
  189. package/dist/ui/render.d.ts.map +1 -1
  190. package/dist/ui/render.js +2 -10
  191. package/dist/ui/render.js.map +1 -1
  192. package/dist/ui/scroll-stabilization.test.js +1 -7
  193. package/dist/ui/scroll-stabilization.test.js.map +1 -1
  194. package/dist/ui/slash-command-images.test.js +11 -86
  195. package/dist/ui/slash-command-images.test.js.map +1 -1
  196. package/dist/ui/streaming-flush-bounce.test.d.ts +2 -0
  197. package/dist/ui/streaming-flush-bounce.test.d.ts.map +1 -0
  198. package/dist/ui/streaming-flush-bounce.test.js +156 -0
  199. package/dist/ui/streaming-flush-bounce.test.js.map +1 -0
  200. package/dist/ui/submit-prompt-command.d.ts +1 -16
  201. package/dist/ui/submit-prompt-command.d.ts.map +1 -1
  202. package/dist/ui/submit-prompt-command.js +4 -54
  203. package/dist/ui/submit-prompt-command.js.map +1 -1
  204. package/dist/ui/submit-slash-commands.d.ts +0 -1
  205. package/dist/ui/submit-slash-commands.d.ts.map +1 -1
  206. package/dist/ui/submit-slash-commands.js +0 -4
  207. package/dist/ui/submit-slash-commands.js.map +1 -1
  208. package/dist/ui/terminal-history-status-renderers.d.ts +0 -1
  209. package/dist/ui/terminal-history-status-renderers.d.ts.map +1 -1
  210. package/dist/ui/terminal-history-status-renderers.js +0 -3
  211. package/dist/ui/terminal-history-status-renderers.js.map +1 -1
  212. package/dist/ui/terminal-history.d.ts.map +1 -1
  213. package/dist/ui/terminal-history.js +19 -56
  214. package/dist/ui/terminal-history.js.map +1 -1
  215. package/dist/ui/terminal-history.test.js +6 -33
  216. package/dist/ui/terminal-history.test.js.map +1 -1
  217. package/dist/ui/tool-line-summary.d.ts +29 -0
  218. package/dist/ui/tool-line-summary.d.ts.map +1 -0
  219. package/dist/ui/tool-line-summary.js +153 -0
  220. package/dist/ui/tool-line-summary.js.map +1 -0
  221. package/dist/ui/transcript/TranscriptRenderer.d.ts +1 -1
  222. package/dist/ui/transcript/TranscriptRenderer.d.ts.map +1 -1
  223. package/dist/ui/transcript/TranscriptRenderer.js +21 -12
  224. package/dist/ui/transcript/TranscriptRenderer.js.map +1 -1
  225. package/dist/ui/transcript/presentation.d.ts +1 -17
  226. package/dist/ui/transcript/presentation.d.ts.map +1 -1
  227. package/dist/ui/transcript/presentation.js +0 -26
  228. package/dist/ui/transcript/presentation.js.map +1 -1
  229. package/dist/ui/transcript/spacing.d.ts +2 -2
  230. package/dist/ui/transcript/spacing.d.ts.map +1 -1
  231. package/dist/ui/transcript/spacing.js +15 -9
  232. package/dist/ui/transcript/spacing.js.map +1 -1
  233. package/dist/ui/transcript/spacing.test.js +7 -8
  234. package/dist/ui/transcript/spacing.test.js.map +1 -1
  235. package/dist/ui/transcript/tool-presentation.js +1 -1
  236. package/dist/ui/transcript/tool-presentation.js.map +1 -1
  237. package/dist/ui/transcript/transcript-lines.d.ts.map +1 -1
  238. package/dist/ui/transcript/transcript-lines.js +4 -0
  239. package/dist/ui/transcript/transcript-lines.js.map +1 -1
  240. package/dist/ui/tui-history-parity.test.js +8 -47
  241. package/dist/ui/tui-history-parity.test.js.map +1 -1
  242. package/dist/ui/tui-simulation.test.js +2 -1
  243. package/dist/ui/tui-simulation.test.js.map +1 -1
  244. package/dist/utils/format.js +7 -0
  245. package/dist/utils/format.js.map +1 -1
  246. package/package.json +11 -5
  247. package/dist/core/goal-controller.d.ts +0 -82
  248. package/dist/core/goal-controller.d.ts.map +0 -1
  249. package/dist/core/goal-controller.js +0 -838
  250. package/dist/core/goal-controller.js.map +0 -1
  251. package/dist/core/goal-controller.test.d.ts +0 -2
  252. package/dist/core/goal-controller.test.d.ts.map +0 -1
  253. package/dist/core/goal-controller.test.js +0 -1279
  254. package/dist/core/goal-controller.test.js.map +0 -1
  255. package/dist/core/goal-engine.d.ts +0 -61
  256. package/dist/core/goal-engine.d.ts.map +0 -1
  257. package/dist/core/goal-engine.js +0 -123
  258. package/dist/core/goal-engine.js.map +0 -1
  259. package/dist/core/goal-engine.test.d.ts +0 -2
  260. package/dist/core/goal-engine.test.d.ts.map +0 -1
  261. package/dist/core/goal-engine.test.js +0 -295
  262. package/dist/core/goal-engine.test.js.map +0 -1
  263. package/dist/core/goal-integration.d.ts +0 -80
  264. package/dist/core/goal-integration.d.ts.map +0 -1
  265. package/dist/core/goal-integration.js +0 -296
  266. package/dist/core/goal-integration.js.map +0 -1
  267. package/dist/core/goal-integration.test.d.ts +0 -2
  268. package/dist/core/goal-integration.test.d.ts.map +0 -1
  269. package/dist/core/goal-integration.test.js +0 -369
  270. package/dist/core/goal-integration.test.js.map +0 -1
  271. package/dist/core/goal-lifecycle-smoke.test.d.ts +0 -2
  272. package/dist/core/goal-lifecycle-smoke.test.d.ts.map +0 -1
  273. package/dist/core/goal-lifecycle-smoke.test.js +0 -248
  274. package/dist/core/goal-lifecycle-smoke.test.js.map +0 -1
  275. package/dist/core/goal-overhead-harness.d.ts +0 -33
  276. package/dist/core/goal-overhead-harness.d.ts.map +0 -1
  277. package/dist/core/goal-overhead-harness.js +0 -268
  278. package/dist/core/goal-overhead-harness.js.map +0 -1
  279. package/dist/core/goal-prerequisites.d.ts +0 -23
  280. package/dist/core/goal-prerequisites.d.ts.map +0 -1
  281. package/dist/core/goal-prerequisites.js +0 -114
  282. package/dist/core/goal-prerequisites.js.map +0 -1
  283. package/dist/core/goal-prerequisites.test.d.ts +0 -2
  284. package/dist/core/goal-prerequisites.test.d.ts.map +0 -1
  285. package/dist/core/goal-prerequisites.test.js +0 -154
  286. package/dist/core/goal-prerequisites.test.js.map +0 -1
  287. package/dist/core/goal-references.d.ts +0 -14
  288. package/dist/core/goal-references.d.ts.map +0 -1
  289. package/dist/core/goal-references.js +0 -153
  290. package/dist/core/goal-references.js.map +0 -1
  291. package/dist/core/goal-references.test.d.ts +0 -2
  292. package/dist/core/goal-references.test.d.ts.map +0 -1
  293. package/dist/core/goal-references.test.js +0 -77
  294. package/dist/core/goal-references.test.js.map +0 -1
  295. package/dist/core/goal-store.d.ts +0 -289
  296. package/dist/core/goal-store.d.ts.map +0 -1
  297. package/dist/core/goal-store.js +0 -1156
  298. package/dist/core/goal-store.js.map +0 -1
  299. package/dist/core/goal-store.test.d.ts +0 -2
  300. package/dist/core/goal-store.test.d.ts.map +0 -1
  301. package/dist/core/goal-store.test.js +0 -530
  302. package/dist/core/goal-store.test.js.map +0 -1
  303. package/dist/core/goal-verifier.d.ts +0 -17
  304. package/dist/core/goal-verifier.d.ts.map +0 -1
  305. package/dist/core/goal-verifier.js +0 -87
  306. package/dist/core/goal-verifier.js.map +0 -1
  307. package/dist/core/goal-verifier.test.d.ts +0 -2
  308. package/dist/core/goal-verifier.test.d.ts.map +0 -1
  309. package/dist/core/goal-verifier.test.js +0 -131
  310. package/dist/core/goal-verifier.test.js.map +0 -1
  311. package/dist/core/goal-worker-dev-server-lifecycle.test.d.ts +0 -2
  312. package/dist/core/goal-worker-dev-server-lifecycle.test.d.ts.map +0 -1
  313. package/dist/core/goal-worker-dev-server-lifecycle.test.js +0 -68
  314. package/dist/core/goal-worker-dev-server-lifecycle.test.js.map +0 -1
  315. package/dist/core/goal-worker.d.ts +0 -61
  316. package/dist/core/goal-worker.d.ts.map +0 -1
  317. package/dist/core/goal-worker.js +0 -467
  318. package/dist/core/goal-worker.js.map +0 -1
  319. package/dist/core/goal-worker.test.d.ts +0 -2
  320. package/dist/core/goal-worker.test.d.ts.map +0 -1
  321. package/dist/core/goal-worker.test.js +0 -493
  322. package/dist/core/goal-worker.test.js.map +0 -1
  323. package/dist/core/goal-worktree.d.ts +0 -108
  324. package/dist/core/goal-worktree.d.ts.map +0 -1
  325. package/dist/core/goal-worktree.js +0 -300
  326. package/dist/core/goal-worktree.js.map +0 -1
  327. package/dist/core/goal-worktree.test.d.ts +0 -2
  328. package/dist/core/goal-worktree.test.d.ts.map +0 -1
  329. package/dist/core/goal-worktree.test.js +0 -448
  330. package/dist/core/goal-worktree.test.js.map +0 -1
  331. package/dist/tools/goal-mode.test.d.ts +0 -2
  332. package/dist/tools/goal-mode.test.d.ts.map +0 -1
  333. package/dist/tools/goal-mode.test.js +0 -121
  334. package/dist/tools/goal-mode.test.js.map +0 -1
  335. package/dist/tools/goals.d.ts +0 -143
  336. package/dist/tools/goals.d.ts.map +0 -1
  337. package/dist/tools/goals.js +0 -1038
  338. package/dist/tools/goals.js.map +0 -1
  339. package/dist/tools/goals.test.d.ts +0 -2
  340. package/dist/tools/goals.test.d.ts.map +0 -1
  341. package/dist/tools/goals.test.js +0 -1444
  342. package/dist/tools/goals.test.js.map +0 -1
  343. package/dist/ui/components/GoalOverlay.d.ts +0 -83
  344. package/dist/ui/components/GoalOverlay.d.ts.map +0 -1
  345. package/dist/ui/components/GoalOverlay.js +0 -710
  346. package/dist/ui/components/GoalOverlay.js.map +0 -1
  347. package/dist/ui/components/GoalPickerMenu.d.ts +0 -9
  348. package/dist/ui/components/GoalPickerMenu.d.ts.map +0 -1
  349. package/dist/ui/components/GoalPickerMenu.js +0 -37
  350. package/dist/ui/components/GoalPickerMenu.js.map +0 -1
  351. package/dist/ui/components/GoalStatusBar.d.ts +0 -26
  352. package/dist/ui/components/GoalStatusBar.d.ts.map +0 -1
  353. package/dist/ui/components/GoalStatusBar.js +0 -130
  354. package/dist/ui/components/GoalStatusBar.js.map +0 -1
  355. package/dist/ui/components/GoalStatusBar.test.d.ts +0 -2
  356. package/dist/ui/components/GoalStatusBar.test.d.ts.map +0 -1
  357. package/dist/ui/components/GoalStatusBar.test.js +0 -17
  358. package/dist/ui/components/GoalStatusBar.test.js.map +0 -1
  359. package/dist/ui/goal-events.d.ts +0 -125
  360. package/dist/ui/goal-events.d.ts.map +0 -1
  361. package/dist/ui/goal-events.js +0 -407
  362. package/dist/ui/goal-events.js.map +0 -1
  363. package/dist/ui/goal-events.test.d.ts +0 -2
  364. package/dist/ui/goal-events.test.d.ts.map +0 -1
  365. package/dist/ui/goal-events.test.js +0 -416
  366. package/dist/ui/goal-events.test.js.map +0 -1
  367. package/dist/ui/goal-lifecycle-orchestration.test.d.ts +0 -2
  368. package/dist/ui/goal-lifecycle-orchestration.test.d.ts.map +0 -1
  369. package/dist/ui/goal-lifecycle-orchestration.test.js +0 -555
  370. package/dist/ui/goal-lifecycle-orchestration.test.js.map +0 -1
  371. package/dist/ui/goal-overlay.test.d.ts +0 -2
  372. package/dist/ui/goal-overlay.test.d.ts.map +0 -1
  373. package/dist/ui/goal-overlay.test.js +0 -384
  374. package/dist/ui/goal-overlay.test.js.map +0 -1
  375. package/dist/ui/goal-progress.d.ts +0 -31
  376. package/dist/ui/goal-progress.d.ts.map +0 -1
  377. package/dist/ui/goal-progress.js +0 -149
  378. package/dist/ui/goal-progress.js.map +0 -1
  379. package/dist/ui/goal-run-helpers.d.ts +0 -12
  380. package/dist/ui/goal-run-helpers.d.ts.map +0 -1
  381. package/dist/ui/goal-run-helpers.js +0 -42
  382. package/dist/ui/goal-run-helpers.js.map +0 -1
  383. package/dist/ui/goal-status-bar.test.d.ts +0 -2
  384. package/dist/ui/goal-status-bar.test.d.ts.map +0 -1
  385. package/dist/ui/goal-status-bar.test.js +0 -174
  386. package/dist/ui/goal-status-bar.test.js.map +0 -1
  387. package/dist/ui/goal-summary.d.ts +0 -14
  388. package/dist/ui/goal-summary.d.ts.map +0 -1
  389. package/dist/ui/goal-summary.js +0 -194
  390. package/dist/ui/goal-summary.js.map +0 -1
  391. package/dist/ui/hooks/useGoalOrchestration.d.ts +0 -82
  392. package/dist/ui/hooks/useGoalOrchestration.d.ts.map +0 -1
  393. package/dist/ui/hooks/useGoalOrchestration.js +0 -863
  394. package/dist/ui/hooks/useGoalOrchestration.js.map +0 -1
  395. package/dist/ui/hooks/useGoalPickerController.d.ts +0 -22
  396. package/dist/ui/hooks/useGoalPickerController.d.ts.map +0 -1
  397. package/dist/ui/hooks/useGoalPickerController.js +0 -35
  398. package/dist/ui/hooks/useGoalPickerController.js.map +0 -1
  399. package/dist/ui/prompt-routing.test.d.ts +0 -2
  400. package/dist/ui/prompt-routing.test.d.ts.map +0 -1
  401. package/dist/ui/prompt-routing.test.js +0 -48
  402. package/dist/ui/prompt-routing.test.js.map +0 -1
  403. package/dist/ui/transcript/GoalRows.d.ts +0 -10
  404. package/dist/ui/transcript/GoalRows.d.ts.map +0 -1
  405. package/dist/ui/transcript/GoalRows.js +0 -35
  406. package/dist/ui/transcript/GoalRows.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import { afterEach, describe, expect, it, vi } from "vitest";
2
- import { createWebSearchTool, isAdSearchResultUrl } from "./web-search.js";
2
+ import { canonicalSearchResultUrl, createWebSearchTool, isAdSearchResultUrl, normalizeDomain, } from "./web-search.js";
3
3
  const originalFetch = globalThis.fetch;
4
4
  function context() {
5
5
  return { signal: new AbortController().signal, toolCallId: "test" };
@@ -8,6 +8,16 @@ afterEach(() => {
8
8
  globalThis.fetch = originalFetch;
9
9
  vi.restoreAllMocks();
10
10
  });
11
+ describe("canonicalSearchResultUrl", () => {
12
+ it("strips tracking params and fragments while sorting remaining params", () => {
13
+ expect(canonicalSearchResultUrl("https://example.com/docs?utm_source=x&b=2&a=1&fbclid=abc#section")).toBe("https://example.com/docs?a=1&b=2");
14
+ });
15
+ it("unwraps nested redirect params safely", () => {
16
+ expect(canonicalSearchResultUrl("/l/?url=https%3A%2F%2Fexample.com%2Fguide%3Futm_medium%3Dcpc%26x%3D1")).toBe("https://example.com/guide?x=1");
17
+ expect(canonicalSearchResultUrl("https://duckduckgo.com/y.js?u3=https%3A%2F%2Fwww.bing.com%2Faclick%3Fld%3Dabc")).toBeNull();
18
+ expect(canonicalSearchResultUrl("javascript:alert(1)")).toBeNull();
19
+ });
20
+ });
11
21
  describe("isAdSearchResultUrl", () => {
12
22
  it("blocks DuckDuckGo ad redirects", () => {
13
23
  const url = "https://duckduckgo.com/y.js?ad_domain=nordvpn.com&ad_provider=bingv7aa&ad_type=txad&u3=https%3A%2F%2Fwww.bing.com%2Faclick%3Fld%3Dabc";
@@ -17,11 +27,32 @@ describe("isAdSearchResultUrl", () => {
17
27
  expect(isAdSearchResultUrl("https://www.bing.com/aclick?ld=abc&msclkid=123")).toBe(true);
18
28
  expect(isAdSearchResultUrl("https://www.google.com/aclk?sa=l&adurl=https%3A%2F%2Fexample.com")).toBe(true);
19
29
  });
30
+ it("blocks affiliate and ad network hosts", () => {
31
+ expect(isAdSearchResultUrl("https://awin1.com/cread.php?awinmid=1")).toBe(true);
32
+ expect(isAdSearchResultUrl("https://ads.linkedin.com/click?id=1")).toBe(true);
33
+ });
20
34
  it("allows ordinary organic result URLs", () => {
21
35
  expect(isAdSearchResultUrl("https://developer.mozilla.org/en-US/docs/Web/API/fetch")).toBe(false);
22
36
  expect(isAdSearchResultUrl("/l/?uddg=https%3A%2F%2Fwww.typescriptlang.org%2Fdocs%2F")).toBe(false);
23
37
  });
24
38
  });
39
+ describe("normalizeDomain", () => {
40
+ it("lowercases and strips scheme and wildcard prefixes", () => {
41
+ expect(normalizeDomain("https://Docs.Python.ORG")).toBe("docs.python.org");
42
+ expect(normalizeDomain("*.example.com")).toBe("example.com");
43
+ expect(normalizeDomain(" github.com ")).toBe("github.com");
44
+ });
45
+ it("converts Unicode homographs to punycode", () => {
46
+ // "аррӏе" uses Cyrillic look-alikes; hostname normalizes to xn-- punycode.
47
+ const result = normalizeDomain("аррӏе.com");
48
+ expect(result).toMatch(/^xn--/);
49
+ expect(result).not.toBe("apple.com");
50
+ });
51
+ it("returns null for un-parseable input", () => {
52
+ expect(normalizeDomain("")).toBeNull();
53
+ expect(normalizeDomain(" ")).toBeNull();
54
+ });
55
+ });
25
56
  describe("createWebSearchTool", () => {
26
57
  it("filters ad results from live parser output before returning organic results", async () => {
27
58
  const html = `
@@ -95,6 +126,118 @@ describe("createWebSearchTool", () => {
95
126
  expect(result).toContain("from Brave");
96
127
  expect(result).not.toContain("Cheap laptops for sale");
97
128
  });
129
+ it("applies time_range and include_domains to the request", async () => {
130
+ let capturedUrl = "";
131
+ globalThis.fetch = vi.fn(async (input) => {
132
+ capturedUrl = String(input);
133
+ // Return organic result only on the Google branch.
134
+ if (capturedUrl.includes("google.com")) {
135
+ return new Response(`<div class="g"><a href="https://docs.python.org/3/"><h3>Python Docs</h3></a><div class="VwiC3b">Official Python documentation.</div></div>`, { status: 200 });
136
+ }
137
+ return new Response("<html></html>", { status: 200 });
138
+ });
139
+ const result = await createWebSearchTool().execute({
140
+ query: "asyncio",
141
+ include_domains: ["docs.python.org"],
142
+ time_range: "week",
143
+ max_results: 5,
144
+ }, context());
145
+ // Last captured URL is the Google branch with recency + site scoping.
146
+ expect(capturedUrl).toContain("tbs=qdr:w");
147
+ expect(decodeURIComponent(capturedUrl)).toContain("site:docs.python.org");
148
+ expect(result).toContain("Python Docs");
149
+ expect(result).toContain("past week");
150
+ });
151
+ it("drops results from excluded domains client-side", async () => {
152
+ const html = `
153
+ <a class="result__a" href="/l/?uddg=https%3A%2F%2Fw3schools.com%2Ffetch">W3Schools Fetch</a>
154
+ <a class="result__snippet">Tutorial content.</a>
155
+ <a class="result__a" href="/l/?uddg=https%3A%2F%2Fdeveloper.mozilla.org%2Fen-US%2Fdocs%2FWeb%2FAPI%2FFetch_API">Fetch API - MDN</a>
156
+ <a class="result__snippet">MDN reference.</a>
157
+ `;
158
+ globalThis.fetch = vi.fn(async () => new Response(html, { status: 200 }));
159
+ const result = await createWebSearchTool().execute({ query: "fetch api", exclude_domains: ["w3schools.com"], max_results: 5 }, context());
160
+ expect(result).toContain("Fetch API - MDN");
161
+ expect(result).not.toContain("W3Schools");
162
+ expect(result).toContain("-site:w3schools.com");
163
+ });
164
+ it("filters coupon spam for non-commerce queries but keeps it for commerce queries", async () => {
165
+ const html = `
166
+ <a class="result__a" href="https://coupon.example.com/typescript">TypeScript coupon code</a>
167
+ <a class="result__snippet">Exclusive deal and discount code for docs.</a>
168
+ <a class="result__a" href="https://www.typescriptlang.org/docs/">TypeScript Documentation</a>
169
+ <a class="result__snippet">Official TypeScript docs.</a>
170
+ `;
171
+ globalThis.fetch = vi.fn(async () => new Response(html, { status: 200 }));
172
+ const docsResult = await createWebSearchTool().execute({ query: "typescript docs", max_results: 5 }, context());
173
+ expect(docsResult).toContain("TypeScript Documentation");
174
+ expect(docsResult).not.toContain("TypeScript coupon code");
175
+ expect(docsResult).toContain("filtered 1 spam result");
176
+ globalThis.fetch = vi.fn(async () => new Response(html, { status: 200 }));
177
+ const commerceResult = await createWebSearchTool().execute({ query: "best typescript coupon", max_results: 5 }, context());
178
+ expect(commerceResult).toContain("TypeScript coupon code");
179
+ });
180
+ it("collapses duplicate canonical URLs and reports duplicate count", async () => {
181
+ const html = `
182
+ <a class="result__a" href="https://example.com/docs?utm_source=a&b=2&a=1#top">Docs first</a>
183
+ <a class="result__snippet">First snippet.</a>
184
+ <a class="result__a" href="https://example.com/docs?a=1&b=2">Docs duplicate</a>
185
+ <a class="result__snippet">Duplicate snippet.</a>
186
+ `;
187
+ globalThis.fetch = vi.fn(async () => new Response(html, { status: 200 }));
188
+ const result = await createWebSearchTool().execute({ query: "example docs", max_results: 5 }, context());
189
+ expect(result).toContain("Docs first");
190
+ expect(result).not.toContain("Docs duplicate");
191
+ expect(result).toContain("1 duplicate");
192
+ });
193
+ it("skips sponsored parser blocks and returns organic results", async () => {
194
+ const html = `
195
+ <li class="b_algo b_ad">
196
+ <h2><a href="https://example-ad.com/offer">Sponsored offer</a></h2>
197
+ <div class="b_adlabel">Ad</div><p>Buy now.</p>
198
+ </li>
199
+ <li class="b_algo">
200
+ <h2><a href="https://developer.mozilla.org/docs/Web/API/Fetch_API">Fetch API - MDN</a></h2>
201
+ <div class="b_caption"><p>Useful organic snippet.</p></div>
202
+ </li>
203
+ `;
204
+ globalThis.fetch = vi
205
+ .fn()
206
+ .mockResolvedValueOnce(new Response("<html></html>", { status: 200 }))
207
+ .mockResolvedValueOnce(new Response("<html></html>", { status: 200 }))
208
+ .mockResolvedValueOnce(new Response("<html></html>", { status: 200 }))
209
+ .mockResolvedValueOnce(new Response(html, { status: 200 }));
210
+ const result = await createWebSearchTool().execute({ query: "fetch api mdn", max_results: 5 }, context());
211
+ expect(result).toContain("Fetch API - MDN");
212
+ expect(result).not.toContain("Sponsored offer");
213
+ expect(result).toContain("from Bing");
214
+ });
215
+ it("reports filtered ad counts only when non-zero", async () => {
216
+ const html = `
217
+ <a class="result__a" href="https://googleadservices.com/pagead/aclk">Cloud hosting</a>
218
+ <a class="result__snippet">Fast platform overview.</a>
219
+ <a class="result__a" href="https://example.com/docs">Docs</a>
220
+ <a class="result__snippet">Organic docs.</a>
221
+ `;
222
+ globalThis.fetch = vi.fn(async () => new Response(html, { status: 200 }));
223
+ const filtered = await createWebSearchTool().execute({ query: "example docs", max_results: 5 }, context());
224
+ expect(filtered).toContain("filtered 1 ad");
225
+ globalThis.fetch = vi.fn(async () => new Response(`<a class="result__a" href="https://example.com/docs">Docs</a><a class="result__snippet">Organic docs.</a>`, { status: 200 }));
226
+ const clean = await createWebSearchTool().execute({ query: "example docs", max_results: 5 }, context());
227
+ expect(clean).not.toContain("filtered");
228
+ });
229
+ it("rejects setting both include_domains and exclude_domains via the schema", () => {
230
+ const tool = createWebSearchTool();
231
+ const parsed = tool.parameters.safeParse({
232
+ query: "x",
233
+ include_domains: ["a.com"],
234
+ exclude_domains: ["b.com"],
235
+ });
236
+ expect(parsed.success).toBe(false);
237
+ if (!parsed.success) {
238
+ expect(parsed.error.issues.some((i) => /mutually exclusive/i.test(i.message))).toBe(true);
239
+ }
240
+ });
98
241
  it("uses Bing as a fallback and unwraps Bing redirect URLs", async () => {
99
242
  const blockedHtml = "<html>captcha blocked challenge-form</html>";
100
243
  const bingURL = `https://www.bing.com/ck/a?u=a1${Buffer.from("https://www.typescriptlang.org/docs/", "utf8").toString("base64url")}`;
@@ -1 +1 @@
1
- {"version":3,"file":"web-search.test.js","sourceRoot":"","sources":["../../src/tools/web-search.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"web-search.test.js","sourceRoot":"","sources":["../../src/tools/web-search.test.ts"],"names":[],"mappings":"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"}
@@ -2,15 +2,12 @@ import { z } from "zod";
2
2
  import type { AgentTool } from "@kenkaiiii/gg-agent";
3
3
  import { type ToolOperations } from "./operations.js";
4
4
  import { type ReadTracker } from "./read-tracker.js";
5
- import { type GoalMode } from "../core/runtime-mode.js";
6
5
  type MutationCallback = (filePath: string) => void | Promise<void>;
7
6
  declare const WriteParams: z.ZodObject<{
8
7
  file_path: z.ZodString;
9
8
  content: z.ZodString;
10
9
  }, z.core.$strip>;
11
- export declare function createWriteTool(cwd: string, readFiles?: ReadTracker, ops?: ToolOperations, goalModeRefOrOnFileMutated?: {
12
- current: GoalMode;
13
- } | MutationCallback, planModeRefOrOnFileMutated?: {
10
+ export declare function createWriteTool(cwd: string, readFiles?: ReadTracker, ops?: ToolOperations, planModeRefOrOnFileMutated?: {
14
11
  current: boolean;
15
12
  } | MutationCallback, onFileMutated?: MutationCallback, onPreFileMutation?: MutationCallback): AgentTool<typeof WriteParams>;
16
13
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"write.d.ts","sourceRoot":"","sources":["../../src/tools/write.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAmB,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAA4B,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAIL,KAAK,QAAQ,EACd,MAAM,yBAAyB,CAAC;AAEjC,KAAK,gBAAgB,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAcnE,QAAA,MAAM,WAAW;;;iBAGf,CAAC;AAEH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,EACX,SAAS,CAAC,EAAE,WAAW,EACvB,GAAG,GAAE,cAAgC,EACrC,0BAA0B,CAAC,EAAE;IAAE,OAAO,EAAE,QAAQ,CAAA;CAAE,GAAG,gBAAgB,EACrE,0BAA0B,CAAC,EAAE;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG,gBAAgB,EACpE,aAAa,CAAC,EAAE,gBAAgB,EAChC,iBAAiB,CAAC,EAAE,gBAAgB,GACnC,SAAS,CAAC,OAAO,WAAW,CAAC,CAuD/B"}
1
+ {"version":3,"file":"write.d.ts","sourceRoot":"","sources":["../../src/tools/write.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAmB,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAA4B,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAG/E,KAAK,gBAAgB,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAcnE,QAAA,MAAM,WAAW;;;iBAGf,CAAC;AAEH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,EACX,SAAS,CAAC,EAAE,WAAW,EACvB,GAAG,GAAE,cAAgC,EACrC,0BAA0B,CAAC,EAAE;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG,gBAAgB,EACpE,aAAa,CAAC,EAAE,gBAAgB,EAChC,iBAAiB,CAAC,EAAE,gBAAgB,GACnC,SAAS,CAAC,OAAO,WAAW,CAAC,CA+C/B"}
@@ -4,7 +4,7 @@ import { z } from "zod";
4
4
  import { resolvePath, rejectSymlink } from "./path-utils.js";
5
5
  import { localOperations } from "./operations.js";
6
6
  import { assertFresh, recordWrite } from "./read-tracker.js";
7
- import { goalModeRestriction, isGoalModeActive, isPlanModeActive, } from "../core/runtime-mode.js";
7
+ import { isPlanModeActive } from "../core/runtime-mode.js";
8
8
  function isMutationCallback(value) {
9
9
  return typeof value === "function";
10
10
  }
@@ -17,18 +17,13 @@ const WriteParams = z.object({
17
17
  file_path: z.string().describe("The file path to write to"),
18
18
  content: z.string().describe("The content to write"),
19
19
  });
20
- export function createWriteTool(cwd, readFiles, ops = localOperations, goalModeRefOrOnFileMutated, planModeRefOrOnFileMutated, onFileMutated, onPreFileMutation) {
21
- const goalModeRef = isMutationCallback(goalModeRefOrOnFileMutated)
22
- ? undefined
23
- : goalModeRefOrOnFileMutated;
20
+ export function createWriteTool(cwd, readFiles, ops = localOperations, planModeRefOrOnFileMutated, onFileMutated, onPreFileMutation) {
24
21
  const planModeRef = isPlanModeRef(planModeRefOrOnFileMutated)
25
22
  ? planModeRefOrOnFileMutated
26
23
  : undefined;
27
- const mutationCallback = isMutationCallback(goalModeRefOrOnFileMutated)
28
- ? goalModeRefOrOnFileMutated
29
- : isMutationCallback(planModeRefOrOnFileMutated)
30
- ? planModeRefOrOnFileMutated
31
- : onFileMutated;
24
+ const mutationCallback = isMutationCallback(planModeRefOrOnFileMutated)
25
+ ? planModeRefOrOnFileMutated
26
+ : onFileMutated;
32
27
  return {
33
28
  name: "write",
34
29
  description: "Write content to a file. Creates parent directories if needed. " +
@@ -38,9 +33,6 @@ export function createWriteTool(cwd, readFiles, ops = localOperations, goalModeR
38
33
  async execute({ file_path, content }) {
39
34
  const resolved = resolvePath(cwd, file_path);
40
35
  await rejectSymlink(resolved);
41
- if (isGoalModeActive(goalModeRef)) {
42
- return goalModeRestriction("write", "Goal metadata, evidence plans, and task creation");
43
- }
44
36
  if (isPlanModeActive(planModeRef)) {
45
37
  const plansDir = path.join(cwd, ".gg", "plans");
46
38
  const relative = path.relative(plansDir, resolved);
@@ -1 +1 @@
1
- {"version":3,"file":"write.js","sourceRoot":"","sources":["../../src/tools/write.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"write.js","sourceRoot":"","sources":["../../src/tools/write.ts"],"names":[],"mappings":"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"}
package/dist/ui/App.d.ts CHANGED
@@ -1,26 +1,21 @@
1
1
  import { type Message, type Provider, type ThinkingLevel } from "@kenkaiiii/gg-ai";
2
2
  import type { AgentTool } from "@kenkaiiii/gg-agent";
3
- import { type GoalStatusEntry } from "./components/GoalStatusBar.js";
4
3
  import type { ProcessManager } from "../core/process-manager.js";
5
4
  import type { Skill } from "../core/skills.js";
6
5
  import type { CheckpointStore } from "../core/checkpoint-store.js";
7
6
  import { type PlanStep } from "../utils/plan-steps.js";
8
7
  import type { MCPClientManager } from "../core/mcp/index.js";
9
8
  import type { AuthStorage } from "../core/auth-storage.js";
10
- import { type GoalReference, type GoalRun } from "../core/goal-store.js";
11
- import type { GoalMode } from "../core/runtime-mode.js";
12
9
  import type { TerminalHistoryPrinter } from "./terminal-history.js";
13
10
  import { type DoneStatus } from "./layout-decisions.js";
14
11
  import { type SessionStats } from "./session-summary.js";
15
12
  import type { CompletedItem } from "./app-items.js";
16
- export type { CompletedItem, GoalProgressDraft, GoalProgressItem, ToolGroupItem, } from "./app-items.js";
13
+ export type { CompletedItem, ToolGroupItem } from "./app-items.js";
17
14
  export type { DoneStatus } from "./layout-decisions.js";
18
- export { buildGoalSetupPromptFromPlanner, buildUserContentWithAttachments, collectAssistantTextSince, isGoalPromptCommandName, routePromptCommandInput, runGoalPromptSetupSequence, } from "./prompt-routing.js";
15
+ export { buildUserContentWithAttachments, routePromptCommandInput } from "./prompt-routing.js";
19
16
  export { getNextThinkingLevel } from "./thinking-level.js";
20
- export { appendGoalProgressDraft, completedItemsWithDurableGoalTerminalProgress, formatGoalTerminalProgress, getGoalContinuationChoiceKey, routeGoalSyntheticEvent, truncateGoalProgressText, } from "./goal-progress.js";
21
- export { getChatControlsLayoutDecision, getDoneFlushDecision, getGoalActivationPaneTransition, getGoalSetupFinishedPaneTransition, getGoalSetupPaneTransitionAfterRun, getScrollStabilizationDecision, getStaticHistoryKey, hasParagraphBreakLiveUserMessage, isTallLiveUserMessage, nextGoalModeAfterAgentDone, shouldHideHistoryForOverlayView, shouldHideStaticItemsForOverlayView, shouldResetUIForGoalSetupPaneTransition, shouldStabilizeOverlayPaneRerender, shouldTopSpaceAfterPrintedAgentBoundary, shouldTopSpaceAssistantAfterToolBoundary, shouldTopSpaceStreamingAssistant, } from "./layout-decisions.js";
17
+ export { getChatControlsLayoutDecision, getDoneFlushDecision, getScrollStabilizationDecision, getStaticHistoryKey, hasParagraphBreakLiveUserMessage, isTallLiveUserMessage, shouldHideHistoryForOverlayView, shouldHideStaticItemsForOverlayView, shouldStabilizeOverlayPaneRerender, shouldTopSpaceAfterPrintedAgentBoundary, shouldTopSpaceAssistantAfterToolBoundary, shouldTopSpaceStreamingAssistant, } from "./layout-decisions.js";
22
18
  export { getNextGeneratedItemId, isActiveItem, partitionCompleted, pinStreamingTextBeforeToolBoundary, } from "./item-helpers.js";
23
- export { buildGoalUserPauseRun, goalRunNeedsExplicitContinuationAfterWorker, shouldKeepGoalRunTrackedAfterDecision, shouldRunGoalTaskInMainCheckout, } from "./goal-run-helpers.js";
24
19
  export interface AppProps {
25
20
  provider: Provider;
26
21
  model: string;
@@ -36,6 +31,7 @@ export interface AppProps {
36
31
  cwd: string;
37
32
  version: string;
38
33
  showTokenUsage?: boolean;
34
+ idealReviewEnabled?: boolean;
39
35
  onSlashCommand?: (input: string) => Promise<string | null>;
40
36
  loggedInProviders?: Provider[];
41
37
  credentialsByProvider?: Record<string, {
@@ -52,20 +48,14 @@ export interface AppProps {
52
48
  settingsFile?: string;
53
49
  mcpManager?: MCPClientManager;
54
50
  authStorage?: AuthStorage;
55
- goalModeRef?: {
56
- current: GoalMode;
57
- };
58
51
  planModeRef?: {
59
52
  current: boolean;
60
53
  };
61
54
  skills?: Skill[];
62
55
  /** Per-session file checkpoint store backing the /rewind command. */
63
56
  checkpointStore?: CheckpointStore;
64
- initialOverlay?: "pixel" | "goal";
57
+ initialOverlay?: "pixel";
65
58
  rebuildToolsForCwd?: (cwd: string) => AgentTool[];
66
- goalReferencesRef?: {
67
- current: readonly GoalReference[] | undefined;
68
- };
69
59
  connectInitialMcpTools?: () => Promise<AgentTool[]>;
70
60
  planCallbacks?: {
71
61
  onEnterPlan?: (reason?: string) => void | Promise<void>;
@@ -136,9 +126,8 @@ export interface AppProps {
136
126
  sessionId?: string;
137
127
  sessionTitle?: string;
138
128
  sessionTitleGenerated: boolean;
139
- overlay?: "model" | "goal" | "skills" | "plan" | "theme" | "pixel" | null;
129
+ overlay?: "model" | "skills" | "plan" | "theme" | "pixel" | null;
140
130
  planAutoExpand?: boolean;
141
- goalAutoExpand?: boolean;
142
131
  pendingAction?: {
143
132
  prompt: string;
144
133
  infoText?: string;
@@ -147,15 +136,13 @@ export interface AppProps {
147
136
  detail?: string;
148
137
  };
149
138
  };
150
- pendingGoalRun?: GoalRun;
151
139
  isAgentRunning?: boolean;
152
140
  pendingResetUI?: boolean;
153
141
  runAllTasks?: boolean;
154
142
  runAllPixel?: boolean;
155
- goalStatusEntries?: GoalStatusEntry[];
156
- goalMode?: GoalMode;
157
143
  planMode?: boolean;
158
144
  sessionStats?: SessionStats;
145
+ idealReviewEnabled?: boolean;
159
146
  };
160
147
  }
161
148
  export declare function App(props: AppProps): import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../src/ui/App.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../src/ui/App.tsx"],"names":[],"mappings":"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"}