@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
@@ -0,0 +1,58 @@
1
+ import type { Options as TurndownOptions } from "turndown";
2
+ /** Raised when one of the optional extraction dependencies is not installed. */
3
+ export declare class ExtractorUnavailable extends Error {
4
+ constructor(message: string);
5
+ }
6
+ interface LinkedomModule {
7
+ parseHTML(html: string): {
8
+ document: Document;
9
+ };
10
+ }
11
+ interface ReadabilityArticle {
12
+ title?: string | null;
13
+ content?: string | null;
14
+ textContent?: string | null;
15
+ length?: number | null;
16
+ }
17
+ interface ReadabilityModule {
18
+ Readability: new (doc: Document, options?: {
19
+ charThreshold?: number;
20
+ }) => {
21
+ parse(): ReadabilityArticle | null;
22
+ };
23
+ }
24
+ interface TurndownInstance {
25
+ turndown(html: string): string;
26
+ use(plugin: unknown): TurndownInstance;
27
+ addRule(key: string, rule: unknown): TurndownInstance;
28
+ remove(filter: string | string[]): TurndownInstance;
29
+ }
30
+ interface TurndownModule {
31
+ default: new (options?: TurndownOptions) => TurndownInstance;
32
+ }
33
+ interface ExtractorModules {
34
+ parseHTML: LinkedomModule["parseHTML"];
35
+ Readability: ReadabilityModule["Readability"];
36
+ TurndownService: TurndownModule["default"];
37
+ gfm: unknown;
38
+ }
39
+ /**
40
+ * Lazily resolve the HTML→Markdown extraction stack (linkedom, Readability,
41
+ * Turndown + GFM plugin). Mirrors `loadChromium()` in screenshot.ts: dynamic
42
+ * imports behind a non-literal specifier so `tsc` does not statically require
43
+ * the optional dependencies, with results cached. Throws `ExtractorUnavailable`
44
+ * if any are missing so callers can degrade to the regex path.
45
+ */
46
+ export declare function loadExtractor(): Promise<ExtractorModules>;
47
+ /**
48
+ * Run Readability over the page HTML and convert the extracted main content to
49
+ * clean Markdown (headings, lists, GFM tables, fenced code preserved). Returns
50
+ * `null` when extraction fails or the article is too short, so the caller can
51
+ * fall back to `htmlToCleanText`.
52
+ */
53
+ export declare function extractToMarkdown(html: string, url: string): Promise<{
54
+ markdown: string;
55
+ title?: string;
56
+ } | null>;
57
+ export {};
58
+ //# sourceMappingURL=html-extract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html-extract.d.ts","sourceRoot":"","sources":["../../src/tools/html-extract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,UAAU,CAAC;AAS3D,gFAAgF;AAChF,qBAAa,oBAAqB,SAAQ,KAAK;gBACjC,OAAO,EAAE,MAAM;CAI5B;AAED,UAAU,cAAc;IACtB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG;QAAE,QAAQ,EAAE,QAAQ,CAAA;KAAE,CAAC;CACjD;AAED,UAAU,kBAAkB;IAC1B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,UAAU,iBAAiB;IACzB,WAAW,EAAE,KACX,GAAG,EAAE,QAAQ,EACb,OAAO,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,KACjC;QAAE,KAAK,IAAI,kBAAkB,GAAG,IAAI,CAAA;KAAE,CAAC;CAC7C;AAED,UAAU,gBAAgB;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B,GAAG,CAAC,MAAM,EAAE,OAAO,GAAG,gBAAgB,CAAC;IACvC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,gBAAgB,CAAC;IACtD,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,gBAAgB,CAAC;CACrD;AAED,UAAU,cAAc;IACtB,OAAO,EAAE,KAAK,OAAO,CAAC,EAAE,eAAe,KAAK,gBAAgB,CAAC;CAC9D;AAMD,UAAU,gBAAgB;IACxB,SAAS,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;IACvC,WAAW,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC;IAC9C,eAAe,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IAC3C,GAAG,EAAE,OAAO,CAAC;CACd;AAID;;;;;;GAMG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAiC/D;AA8BD;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GACV,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CA2CtD"}
@@ -0,0 +1,130 @@
1
+ /**
2
+ * Minimum article length (in characters, per Readability's `length` field)
3
+ * required before we trust the extraction. Below this we fall back to the
4
+ * regex-based `htmlToCleanText` so short/empty pages don't degrade output.
5
+ */
6
+ const CHAR_THRESHOLD = 250;
7
+ /** Raised when one of the optional extraction dependencies is not installed. */
8
+ export class ExtractorUnavailable extends Error {
9
+ constructor(message) {
10
+ super(message);
11
+ this.name = "ExtractorUnavailable";
12
+ }
13
+ }
14
+ let cached = null;
15
+ /**
16
+ * Lazily resolve the HTML→Markdown extraction stack (linkedom, Readability,
17
+ * Turndown + GFM plugin). Mirrors `loadChromium()` in screenshot.ts: dynamic
18
+ * imports behind a non-literal specifier so `tsc` does not statically require
19
+ * the optional dependencies, with results cached. Throws `ExtractorUnavailable`
20
+ * if any are missing so callers can degrade to the regex path.
21
+ */
22
+ export async function loadExtractor() {
23
+ if (cached)
24
+ return cached;
25
+ const linkedomName = "linkedom";
26
+ const readabilityName = "@mozilla/readability";
27
+ const turndownName = "turndown";
28
+ const gfmName = "turndown-plugin-gfm";
29
+ try {
30
+ const [linkedom, readability, turndown, gfmMod] = (await Promise.all([
31
+ import(linkedomName),
32
+ import(readabilityName),
33
+ import(turndownName),
34
+ import(gfmName),
35
+ ]));
36
+ if (!linkedom.parseHTML || !readability.Readability || !turndown.default || !gfmMod.gfm) {
37
+ throw new ExtractorUnavailable("extraction modules loaded but expected exports are missing");
38
+ }
39
+ cached = {
40
+ parseHTML: linkedom.parseHTML,
41
+ Readability: readability.Readability,
42
+ TurndownService: turndown.default,
43
+ gfm: gfmMod.gfm,
44
+ };
45
+ return cached;
46
+ }
47
+ catch (err) {
48
+ if (err instanceof ExtractorUnavailable)
49
+ throw err;
50
+ throw new ExtractorUnavailable(err instanceof Error ? err.message : "failed to load extraction modules");
51
+ }
52
+ }
53
+ function buildTurndown(mods) {
54
+ const service = new mods.TurndownService({
55
+ headingStyle: "atx",
56
+ codeBlockStyle: "fenced",
57
+ bulletListMarker: "-",
58
+ });
59
+ service.use(mods.gfm);
60
+ // Preserve fenced code blocks: keep <pre>/<code> structure intact rather
61
+ // than collapsing whitespace inside them.
62
+ service.addRule("fencedPre", {
63
+ filter: ["pre"],
64
+ replacement(_content, node) {
65
+ const code = (node.textContent ?? "").replace(/\n$/, "");
66
+ return `\n\n\`\`\`\n${code}\n\`\`\`\n\n`;
67
+ },
68
+ });
69
+ // Drop anchors without an href (navigation/JS noise) — keep their text only.
70
+ service.addRule("bareAnchor", {
71
+ filter(node) {
72
+ return node.nodeName === "A" && !node.getAttribute("href");
73
+ },
74
+ replacement(content) {
75
+ return content;
76
+ },
77
+ });
78
+ return service;
79
+ }
80
+ /**
81
+ * Run Readability over the page HTML and convert the extracted main content to
82
+ * clean Markdown (headings, lists, GFM tables, fenced code preserved). Returns
83
+ * `null` when extraction fails or the article is too short, so the caller can
84
+ * fall back to `htmlToCleanText`.
85
+ */
86
+ export async function extractToMarkdown(html, url) {
87
+ const mods = await loadExtractor();
88
+ let document;
89
+ try {
90
+ document = mods.parseHTML(html).document;
91
+ }
92
+ catch {
93
+ return null;
94
+ }
95
+ // Readability reads <base>/document URL for resolving links; set a baseURI
96
+ // hint via a <base> tag when none is present so relative links resolve.
97
+ try {
98
+ if (!document.querySelector("base")) {
99
+ const base = document.createElement("base");
100
+ base.setAttribute("href", url);
101
+ document.head?.appendChild(base);
102
+ }
103
+ }
104
+ catch {
105
+ // best-effort; ignore if the DOM shim disallows it
106
+ }
107
+ let article;
108
+ try {
109
+ article = new mods.Readability(document, { charThreshold: CHAR_THRESHOLD }).parse();
110
+ }
111
+ catch {
112
+ return null;
113
+ }
114
+ if (!article || !article.content)
115
+ return null;
116
+ if ((article.length ?? 0) < CHAR_THRESHOLD)
117
+ return null;
118
+ let markdown;
119
+ try {
120
+ markdown = buildTurndown(mods).turndown(article.content);
121
+ }
122
+ catch {
123
+ return null;
124
+ }
125
+ markdown = markdown.replace(/\n{3,}/g, "\n\n").trim();
126
+ if (!markdown)
127
+ return null;
128
+ return { markdown, title: article.title ?? undefined };
129
+ }
130
+ //# sourceMappingURL=html-extract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html-extract.js","sourceRoot":"","sources":["../../src/tools/html-extract.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=html-extract.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html-extract.test.d.ts","sourceRoot":"","sources":["../../src/tools/html-extract.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,60 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { extractToMarkdown, loadExtractor } from "./html-extract.js";
3
+ // Probe at module load so describe.skipIf sees the real value at collection time.
4
+ const extractorInstalled = await loadExtractor()
5
+ .then(() => true)
6
+ .catch(() => false);
7
+ const ARTICLE_HTML = `
8
+ <html>
9
+ <head><title>Test Article</title></head>
10
+ <body>
11
+ <nav>Home Products Pricing Docs</nav>
12
+ <aside class="advert">Sponsored: buy now</aside>
13
+ <article>
14
+ <h1>Understanding the Fetch API</h1>
15
+ <p>The Fetch API provides a modern interface for making HTTP requests in
16
+ JavaScript. It returns promises and is widely supported across browsers.
17
+ This paragraph is intentionally long enough to clear the Readability
18
+ content-length threshold so extraction succeeds in tests reliably.</p>
19
+ <h2>Example</h2>
20
+ <pre><code>const res = await fetch(url);
21
+ const data = await res.json();</code></pre>
22
+ <h2>Comparison</h2>
23
+ <table>
24
+ <thead><tr><th>Method</th><th>Returns</th></tr></thead>
25
+ <tbody>
26
+ <tr><td>fetch</td><td>Promise</td></tr>
27
+ <tr><td>XHR</td><td>callback</td></tr>
28
+ </tbody>
29
+ </table>
30
+ <ul><li>First item</li><li>Second item</li></ul>
31
+ <p>A closing paragraph with more substantial body text so the article
32
+ comfortably exceeds the minimum length that Readability requires before it
33
+ is considered a real article worth extracting.</p>
34
+ </article>
35
+ <footer>Legal links and copyright</footer>
36
+ </body>
37
+ </html>
38
+ `;
39
+ describe.skipIf(!extractorInstalled)("extractToMarkdown", () => {
40
+ it("extracts main content as markdown with title, code fence, and table", async () => {
41
+ const result = await extractToMarkdown(ARTICLE_HTML, "https://example.com/article");
42
+ expect(result).not.toBeNull();
43
+ const md = result?.markdown ?? "";
44
+ expect(result?.title).toBe("Test Article");
45
+ expect(md).toContain("Understanding the Fetch API");
46
+ expect(md).toContain("```");
47
+ expect(md).toContain("await fetch(url)");
48
+ // GFM table rendered with pipe separators.
49
+ expect(md).toMatch(/\|\s*Method\s*\|/);
50
+ expect(md).toContain("First item");
51
+ // Nav, ads, and footer boilerplate dropped.
52
+ expect(md).not.toContain("Sponsored: buy now");
53
+ expect(md).not.toContain("Home Products Pricing");
54
+ });
55
+ it("returns null for trivially short content", async () => {
56
+ const result = await extractToMarkdown("<html><body><p>Too short.</p></body></html>", "https://example.com/short");
57
+ expect(result).toBeNull();
58
+ });
59
+ });
60
+ //# sourceMappingURL=html-extract.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html-extract.test.js","sourceRoot":"","sources":["../../src/tools/html-extract.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAErE,kFAAkF;AAClF,MAAM,kBAAkB,GAAG,MAAM,aAAa,EAAE;KAC7C,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;KAChB,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;AAEtB,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BpB,CAAC;AAEF,QAAQ,CAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC,mBAAmB,EAAE,GAAG,EAAE;IAC7D,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;QACnF,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,YAAY,EAAE,6BAA6B,CAAC,CAAC;QACpF,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC9B,MAAM,EAAE,GAAG,MAAM,EAAE,QAAQ,IAAI,EAAE,CAAC;QAElC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC3C,MAAM,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,6BAA6B,CAAC,CAAC;QACpD,MAAM,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC5B,MAAM,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;QACzC,2CAA2C;QAC3C,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QACvC,MAAM,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACnC,4CAA4C;QAC5C,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;QAC/C,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,MAAM,GAAG,MAAM,iBAAiB,CACpC,6CAA6C,EAC7C,2BAA2B,CAC5B,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC5B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -3,8 +3,6 @@ import { ProcessManager } from "../core/process-manager.js";
3
3
  import { type ToolOperations } from "./operations.js";
4
4
  import type { AgentDefinition } from "../core/agents.js";
5
5
  import type { Skill } from "../core/skills.js";
6
- import type { GoalReference } from "../core/goal-store.js";
7
- import type { GoalMode } from "../core/runtime-mode.js";
8
6
  export interface CreateToolsOptions {
9
7
  agents?: AgentDefinition[];
10
8
  skills?: Skill[];
@@ -12,10 +10,6 @@ export interface CreateToolsOptions {
12
10
  model?: string;
13
11
  /** Custom I/O operations for remote execution (SSH, Docker, etc.). Defaults to local filesystem. */
14
12
  operations?: ToolOperations;
15
- /** Ref for checking Goal orchestration mode inside tool execute functions. */
16
- goalModeRef?: {
17
- current: GoalMode;
18
- };
19
13
  /** Ref for checking plan mode inside tool execute functions. */
20
14
  planModeRef?: {
21
15
  current: boolean;
@@ -34,8 +28,6 @@ export interface CreateToolsOptions {
34
28
  * absolute path.
35
29
  */
36
30
  onPreFileMutation?: (filePath: string) => void | Promise<void>;
37
- /** Getter for active /goal reference context while setup persists durable Goal state. */
38
- getGoalReferences?: () => readonly GoalReference[] | undefined;
39
31
  /**
40
32
  * Getter for parent's prompt-cache routing key, evaluated lazily at
41
33
  * sub-agent spawn time. Returning a stable key from this getter lets every
@@ -64,7 +56,6 @@ export { createSourcePathTool } from "./source-path.js";
64
56
  export { createTaskOutputTool } from "./task-output.js";
65
57
  export { createTaskStopTool } from "./task-stop.js";
66
58
  export { createTasksTool } from "./tasks.js";
67
- export { createGoalsTool } from "./goals.js";
68
59
  export { createSkillTool } from "./skill.js";
69
60
  export { createScreenshotTool } from "./screenshot.js";
70
61
  export { createEnterPlanTool } from "./enter-plan.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,6 @@ import { createSourcePathTool } from "./source-path.js";
13
13
  import { createTaskOutputTool } from "./task-output.js";
14
14
  import { createTaskStopTool } from "./task-stop.js";
15
15
  import { createTasksTool } from "./tasks.js";
16
- import { createGoalsTool } from "./goals.js";
17
16
  import { createSkillTool } from "./skill.js";
18
17
  import { createScreenshotTool } from "./screenshot.js";
19
18
  import { createEnterPlanTool } from "./enter-plan.js";
@@ -23,13 +22,12 @@ export function createTools(cwd, opts) {
23
22
  const readFiles = new Map();
24
23
  const processManager = new ProcessManager();
25
24
  const ops = opts?.operations ?? localOperations;
26
- const goalModeRef = opts?.goalModeRef;
27
25
  const planModeRef = opts?.planModeRef;
28
26
  const tools = [
29
27
  createReadTool(cwd, readFiles, ops, opts?.onFileRead),
30
- createWriteTool(cwd, readFiles, ops, goalModeRef, planModeRef, opts?.onFileMutated, opts?.onPreFileMutation),
31
- createEditTool(cwd, readFiles, ops, goalModeRef, planModeRef, opts?.onFileMutated, opts?.onPreFileMutation),
32
- createBashTool(cwd, processManager, ops, goalModeRef, planModeRef),
28
+ createWriteTool(cwd, readFiles, ops, planModeRef, opts?.onFileMutated, opts?.onPreFileMutation),
29
+ createEditTool(cwd, readFiles, ops, planModeRef, opts?.onFileMutated, opts?.onPreFileMutation),
30
+ createBashTool(cwd, processManager, ops, planModeRef),
33
31
  createFindTool(cwd),
34
32
  createGrepTool(cwd, ops),
35
33
  createLsTool(cwd, ops),
@@ -38,7 +36,6 @@ export function createTools(cwd, opts) {
38
36
  createTaskOutputTool(processManager),
39
37
  createTaskStopTool(processManager),
40
38
  createTasksTool(cwd),
41
- createGoalsTool(cwd, goalModeRef, opts?.getGoalReferences),
42
39
  createScreenshotTool(cwd),
43
40
  ];
44
41
  // Add web search tool for providers without reliable native web search
@@ -46,7 +43,7 @@ export function createTools(cwd, opts) {
46
43
  tools.push(createWebSearchTool());
47
44
  }
48
45
  if (opts?.agents && opts.agents.length > 0 && opts.provider && opts.model) {
49
- tools.push(createSubAgentTool(cwd, opts.agents, opts.provider, opts.model, goalModeRef, opts.getCacheKey, planModeRef));
46
+ tools.push(createSubAgentTool(cwd, opts.agents, opts.provider, opts.model, opts.getCacheKey, planModeRef));
50
47
  }
51
48
  if (opts?.skills && opts.skills.length > 0) {
52
49
  tools.push(createSkillTool(opts.skills));
@@ -72,7 +69,6 @@ export { createSourcePathTool } from "./source-path.js";
72
69
  export { createTaskOutputTool } from "./task-output.js";
73
70
  export { createTaskStopTool } from "./task-stop.js";
74
71
  export { createTasksTool } from "./tasks.js";
75
- export { createGoalsTool } from "./goals.js";
76
72
  export { createSkillTool } from "./skill.js";
77
73
  export { createScreenshotTool } from "./screenshot.js";
78
74
  export { createEnterPlanTool } from "./enter-plan.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * PDF text extraction via the optional `unpdf` dependency (bundles pdf.js,
3
+ * zero-config). Lazy-loaded behind a function so the base install works without
4
+ * it; callers degrade to an install-hint string when it is absent.
5
+ */
6
+ /** Raised when the optional `unpdf` dependency is not installed. */
7
+ export declare class PdfExtractorUnavailable extends Error {
8
+ constructor(message: string);
9
+ }
10
+ /**
11
+ * Extract merged page text from a PDF buffer. Returns the concatenated text and
12
+ * total page count. Throws `PdfExtractorUnavailable` if `unpdf` is not present.
13
+ */
14
+ export declare function extractPdfText(bytes: Uint8Array): Promise<{
15
+ text: string;
16
+ pages: number;
17
+ }>;
18
+ //# sourceMappingURL=pdf-extract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pdf-extract.d.ts","sourceRoot":"","sources":["../../src/tools/pdf-extract.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,oEAAoE;AACpE,qBAAa,uBAAwB,SAAQ,KAAK;gBACpC,OAAO,EAAE,MAAM;CAI5B;AA6BD;;;GAGG;AACH,wBAAsB,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAKhG"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * PDF text extraction via the optional `unpdf` dependency (bundles pdf.js,
3
+ * zero-config). Lazy-loaded behind a function so the base install works without
4
+ * it; callers degrade to an install-hint string when it is absent.
5
+ */
6
+ /** Raised when the optional `unpdf` dependency is not installed. */
7
+ export class PdfExtractorUnavailable extends Error {
8
+ constructor(message) {
9
+ super(message);
10
+ this.name = "PdfExtractorUnavailable";
11
+ }
12
+ }
13
+ let cached = null;
14
+ async function loadUnpdf() {
15
+ if (cached)
16
+ return cached;
17
+ // Non-literal specifier so tsc does not statically resolve the optional dep.
18
+ const moduleName = "unpdf";
19
+ try {
20
+ const mod = (await import(moduleName));
21
+ if (!mod.getDocumentProxy || !mod.extractText) {
22
+ throw new PdfExtractorUnavailable("unpdf loaded but expected exports are missing");
23
+ }
24
+ cached = mod;
25
+ return cached;
26
+ }
27
+ catch (err) {
28
+ if (err instanceof PdfExtractorUnavailable)
29
+ throw err;
30
+ throw new PdfExtractorUnavailable(err instanceof Error ? err.message : "failed to load unpdf");
31
+ }
32
+ }
33
+ /**
34
+ * Extract merged page text from a PDF buffer. Returns the concatenated text and
35
+ * total page count. Throws `PdfExtractorUnavailable` if `unpdf` is not present.
36
+ */
37
+ export async function extractPdfText(bytes) {
38
+ const unpdf = await loadUnpdf();
39
+ const pdf = await unpdf.getDocumentProxy(bytes);
40
+ const { totalPages, text } = await unpdf.extractText(pdf, { mergePages: true });
41
+ return { text, pages: totalPages };
42
+ }
43
+ //# sourceMappingURL=pdf-extract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pdf-extract.js","sourceRoot":"","sources":["../../src/tools/pdf-extract.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,oEAAoE;AACpE,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAChD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;CACF;AAUD,IAAI,MAAM,GAAuB,IAAI,CAAC;AAEtC,KAAK,UAAU,SAAS;IACtB,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,6EAA6E;IAC7E,MAAM,UAAU,GAAW,OAAO,CAAC;IACnC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,CAAC,MAAM,MAAM,CAAC,UAAU,CAAC,CAA2B,CAAC;QACjE,IAAI,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;YAC9C,MAAM,IAAI,uBAAuB,CAAC,+CAA+C,CAAC,CAAC;QACrF,CAAC;QACD,MAAM,GAAG,GAAG,CAAC;QACb,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,uBAAuB;YAAE,MAAM,GAAG,CAAC;QACtD,MAAM,IAAI,uBAAuB,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC;IACjG,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,KAAiB;IACpD,MAAM,KAAK,GAAG,MAAM,SAAS,EAAE,CAAC;IAChC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IAChF,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AACrC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=pdf-extract.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pdf-extract.test.d.ts","sourceRoot":"","sources":["../../src/tools/pdf-extract.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,15 @@
1
+ import { readFile } from "node:fs/promises";
2
+ import { fileURLToPath } from "node:url";
3
+ import { describe, expect, it } from "vitest";
4
+ import { extractPdfText } from "./pdf-extract.js";
5
+ const fixturePath = fileURLToPath(new URL("./__fixtures__/sample.pdf", import.meta.url));
6
+ const unpdfInstalled = await import("unpdf").then(() => true).catch(() => false);
7
+ describe.skipIf(!unpdfInstalled)("extractPdfText", () => {
8
+ it("extracts text and page count from a minimal PDF", async () => {
9
+ const bytes = new Uint8Array(await readFile(fixturePath));
10
+ const { text, pages } = await extractPdfText(bytes);
11
+ expect(text).toContain("Hello PDF World");
12
+ expect(pages).toBe(1);
13
+ });
14
+ });
15
+ //# sourceMappingURL=pdf-extract.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pdf-extract.test.js","sourceRoot":"","sources":["../../src/tools/pdf-extract.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,2BAA2B,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAEzF,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;AAEjF,QAAQ,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC,gBAAgB,EAAE,GAAG,EAAE;IACtD,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;QAC1D,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,CAAC;QAEpD,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;QAC1C,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-hints.d.ts","sourceRoot":"","sources":["../../src/tools/prompt-hints.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAyBpD,CAAC;AAEF,oEAAoE;AACpE,eAAO,MAAM,kBAAkB,EAAE,SAAS,MAAM,EAoB/C,CAAC"}
1
+ {"version":3,"file":"prompt-hints.d.ts","sourceRoot":"","sources":["../../src/tools/prompt-hints.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA0BpD,CAAC;AAEF,oEAAoE;AACpE,eAAO,MAAM,kBAAkB,EAAE,SAAS,MAAM,EAmB/C,CAAC"}
@@ -12,10 +12,10 @@ export const TOOL_PROMPT_HINTS = {
12
12
  find: "Find files/dirs by name pattern. Faster than bash find, respects .gitignore.",
13
13
  grep: "Regex search across files. Use for usages, definitions, imports.",
14
14
  source_path: "Resolve installed package/repo source via opensrc. Use before assuming dependency APIs; inspect returned absolute path with read/grep/find/ls.",
15
- web_search: "Search the web. Use before web_fetch to find pages.",
15
+ web_search: "Search the web. Use before web_fetch to find pages; supports include/exclude_domains and a time_range recency filter.",
16
+ web_fetch: "Fetch page content as Markdown (or text/html). Pass `urls` to fetch many at once; reads PDFs, follows safe redirects, and prefers a site's /llms.txt for docs.",
16
17
  task_output: "Read new output from a background process by id.",
17
18
  task_stop: "Stop a background process by id.",
18
- goals: "Manage durable Goal runs for /goal and Ctrl+G workflows. Use for Goal setup, coordinator evidence, worker tasks, verifier records, final completion audits, blockers, and completion state.",
19
19
  enter_plan: "Enter read-only plan mode for complex/risky tasks before implementation; draft a plan under .gg/plans/.",
20
20
  exit_plan: "Submit a .gg/plans/ markdown plan for user approval and leave plan mode.",
21
21
  subagent: "Delegate focused, isolated subtasks (research, parallel exploration).",
@@ -37,7 +37,6 @@ export const DEFAULT_TOOL_NAMES = [
37
37
  "web_fetch",
38
38
  "task_output",
39
39
  "task_stop",
40
- "goals",
41
40
  "enter_plan",
42
41
  "exit_plan",
43
42
  "subagent",
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-hints.js","sourceRoot":"","sources":["../../src/tools/prompt-hints.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAA2B;IACvD,IAAI,EAAE,uDAAuD;IAC7D,KAAK,EAAE,gFAAgF;IACvF,IAAI,EAAE,kIAAkI;IACxI,IAAI,EAAE,oHAAoH;IAC1H,IAAI,EAAE,8EAA8E;IACpF,IAAI,EAAE,kEAAkE;IACxE,WAAW,EACT,gJAAgJ;IAClJ,UAAU,EAAE,qDAAqD;IACjE,WAAW,EAAE,kDAAkD;IAC/D,SAAS,EAAE,kCAAkC;IAC7C,KAAK,EACH,6LAA6L;IAC/L,UAAU,EACR,yGAAyG;IAC3G,SAAS,EAAE,0EAA0E;IACrF,QAAQ,EAAE,uEAAuE;IACjF,KAAK,EAAE,oDAAoD;IAC3D,uCAAuC,EACrC,qNAAqN;IACvN,oCAAoC,EAClC,6LAA6L;IAC/L,iCAAiC,EAC/B,+OAA+O;CAClP,CAAC;AAEF,oEAAoE;AACpE,MAAM,CAAC,MAAM,kBAAkB,GAAsB;IACnD,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,IAAI;IACJ,aAAa;IACb,WAAW;IACX,aAAa;IACb,WAAW;IACX,OAAO;IACP,YAAY;IACZ,WAAW;IACX,UAAU;IACV,OAAO;IACP,uCAAuC;IACvC,oCAAoC;IACpC,iCAAiC;CAClC,CAAC"}
1
+ {"version":3,"file":"prompt-hints.js","sourceRoot":"","sources":["../../src/tools/prompt-hints.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAA2B;IACvD,IAAI,EAAE,uDAAuD;IAC7D,KAAK,EAAE,gFAAgF;IACvF,IAAI,EAAE,kIAAkI;IACxI,IAAI,EAAE,oHAAoH;IAC1H,IAAI,EAAE,8EAA8E;IACpF,IAAI,EAAE,kEAAkE;IACxE,WAAW,EACT,gJAAgJ;IAClJ,UAAU,EACR,uHAAuH;IACzH,SAAS,EACP,gKAAgK;IAClK,WAAW,EAAE,kDAAkD;IAC/D,SAAS,EAAE,kCAAkC;IAC7C,UAAU,EACR,yGAAyG;IAC3G,SAAS,EAAE,0EAA0E;IACrF,QAAQ,EAAE,uEAAuE;IACjF,KAAK,EAAE,oDAAoD;IAC3D,uCAAuC,EACrC,qNAAqN;IACvN,oCAAoC,EAClC,6LAA6L;IAC/L,iCAAiC,EAC/B,+OAA+O;CAClP,CAAC;AAEF,oEAAoE;AACpE,MAAM,CAAC,MAAM,kBAAkB,GAAsB;IACnD,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,IAAI;IACJ,aAAa;IACb,WAAW;IACX,aAAa;IACb,WAAW;IACX,YAAY;IACZ,WAAW;IACX,UAAU;IACV,OAAO;IACP,uCAAuC;IACvC,oCAAoC;IACpC,iCAAiC;CAClC,CAAC"}
@@ -12,8 +12,8 @@ declare const ScreenshotParams: z.ZodObject<{
12
12
  actions: z.ZodOptional<z.ZodArray<z.ZodObject<{
13
13
  type: z.ZodEnum<{
14
14
  type: "type";
15
- wait: "wait";
16
15
  click: "click";
16
+ wait: "wait";
17
17
  }>;
18
18
  selector: z.ZodOptional<z.ZodString>;
19
19
  text: z.ZodOptional<z.ZodString>;
@@ -1,7 +1,6 @@
1
1
  import { z } from "zod";
2
2
  import type { AgentTool } from "@kenkaiiii/gg-agent";
3
3
  import type { AgentDefinition } from "../core/agents.js";
4
- import { type GoalMode } from "../core/runtime-mode.js";
5
4
  declare const SubAgentParams: z.ZodObject<{
6
5
  task: z.ZodString;
7
6
  agent: z.ZodOptional<z.ZodString>;
@@ -22,9 +21,7 @@ export interface SubAgentDetails {
22
21
  };
23
22
  durationMs: number;
24
23
  }
25
- export declare function createSubAgentTool(cwd: string, agents: AgentDefinition[], parentProvider: string, parentModel: string, goalModeRef?: {
26
- current: GoalMode;
27
- }, getParentCacheKey?: () => string | undefined, planModeRef?: {
24
+ export declare function createSubAgentTool(cwd: string, agents: AgentDefinition[], parentProvider: string, parentModel: string, getParentCacheKey?: () => string | undefined, planModeRef?: {
28
25
  current: boolean;
29
26
  }): AgentTool<typeof SubAgentParams>;
30
27
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"subagent.d.ts","sourceRoot":"","sources":["../../src/tools/subagent.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGzD,OAAO,EAKL,KAAK,QAAQ,EACd,MAAM,yBAAyB,CAAC;AAQjC,QAAA,MAAM,cAAc;;;iBAMlB,CAAC;AAEH,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,eAAe,EAAE,EACzB,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE;IAAE,OAAO,EAAE,QAAQ,CAAA;CAAE,EACnC,iBAAiB,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,EAC5C,WAAW,CAAC,EAAE;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,GACjC,SAAS,CAAC,OAAO,cAAc,CAAC,CA+PlC"}
1
+ {"version":3,"file":"subagent.d.ts","sourceRoot":"","sources":["../../src/tools/subagent.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAWzD,QAAA,MAAM,cAAc;;;iBAMlB,CAAC;AAEH,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,eAAe,EAAE,EACzB,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,MAAM,EACnB,iBAAiB,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,EAC5C,WAAW,CAAC,EAAE;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,GACjC,SAAS,CAAC,OAAO,cAAc,CAAC,CA4PlC"}
@@ -3,7 +3,7 @@ import { createInterface } from "node:readline";
3
3
  import { z } from "zod";
4
4
  import { log } from "../core/logger.js";
5
5
  import { truncateTail } from "./truncate.js";
6
- import { goalModeRestriction, isGoalModeActive, isPlanModeActive, planModeRestriction, } from "../core/runtime-mode.js";
6
+ import { isPlanModeActive, planModeRestriction } from "../core/runtime-mode.js";
7
7
  const SUB_AGENT_MAX_TURNS = 10;
8
8
  const SUB_AGENT_MAX_OUTPUT_CHARS = 100_000; // ~25k tokens, matches other tool limits
9
9
  const SUB_AGENT_MAX_OUTPUT_LINES = 500;
@@ -16,7 +16,7 @@ const SubAgentParams = z.object({
16
16
  .optional()
17
17
  .describe("Named agent definition to use (from ~/.gg/agents/ or .gg/agents/)"),
18
18
  });
19
- export function createSubAgentTool(cwd, agents, parentProvider, parentModel, goalModeRef, getParentCacheKey, planModeRef) {
19
+ export function createSubAgentTool(cwd, agents, parentProvider, parentModel, getParentCacheKey, planModeRef) {
20
20
  const agentList = agents.map((a) => `- ${a.name}: ${a.description}`).join("\n");
21
21
  const agentDesc = agentList
22
22
  ? `\n\nAvailable named agents:\n${agentList}`
@@ -33,9 +33,6 @@ export function createSubAgentTool(cwd, agents, parentProvider, parentModel, goa
33
33
  // sequential, so this only fans out when every call in the turn is parallel.
34
34
  executionMode: "parallel",
35
35
  async execute(args, context) {
36
- if (isGoalModeActive(goalModeRef)) {
37
- return goalModeRestriction("subagent", "Goal task creation through the goals tool");
38
- }
39
36
  if (isPlanModeActive(planModeRef)) {
40
37
  return planModeRestriction("subagent");
41
38
  }