@kenkaiiii/ggcoder 4.3.230 → 4.3.232

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 (255) hide show
  1. package/dist/cli.d.ts.map +1 -1
  2. package/dist/cli.js +3 -0
  3. package/dist/cli.js.map +1 -1
  4. package/dist/config.d.ts +1 -0
  5. package/dist/config.d.ts.map +1 -1
  6. package/dist/config.js +7 -1
  7. package/dist/config.js.map +1 -1
  8. package/dist/config.test.d.ts +2 -0
  9. package/dist/config.test.d.ts.map +1 -0
  10. package/dist/config.test.js +29 -0
  11. package/dist/config.test.js.map +1 -0
  12. package/dist/core/goal-controller.d.ts +27 -6
  13. package/dist/core/goal-controller.d.ts.map +1 -1
  14. package/dist/core/goal-controller.js +246 -141
  15. package/dist/core/goal-controller.js.map +1 -1
  16. package/dist/core/goal-controller.test.js +210 -79
  17. package/dist/core/goal-controller.test.js.map +1 -1
  18. package/dist/core/goal-engine.d.ts +61 -0
  19. package/dist/core/goal-engine.d.ts.map +1 -0
  20. package/dist/core/goal-engine.js +123 -0
  21. package/dist/core/goal-engine.js.map +1 -0
  22. package/dist/core/goal-engine.test.d.ts +2 -0
  23. package/dist/core/goal-engine.test.d.ts.map +1 -0
  24. package/dist/core/goal-engine.test.js +295 -0
  25. package/dist/core/goal-engine.test.js.map +1 -0
  26. package/dist/core/goal-integration.d.ts +80 -0
  27. package/dist/core/goal-integration.d.ts.map +1 -0
  28. package/dist/core/goal-integration.js +296 -0
  29. package/dist/core/goal-integration.js.map +1 -0
  30. package/dist/core/goal-integration.test.d.ts +2 -0
  31. package/dist/core/goal-integration.test.d.ts.map +1 -0
  32. package/dist/core/goal-integration.test.js +369 -0
  33. package/dist/core/goal-integration.test.js.map +1 -0
  34. package/dist/core/goal-prerequisites.test.js +37 -1
  35. package/dist/core/goal-prerequisites.test.js.map +1 -1
  36. package/dist/core/goal-store.d.ts +80 -1
  37. package/dist/core/goal-store.d.ts.map +1 -1
  38. package/dist/core/goal-store.js +232 -65
  39. package/dist/core/goal-store.js.map +1 -1
  40. package/dist/core/goal-store.test.js +111 -2
  41. package/dist/core/goal-store.test.js.map +1 -1
  42. package/dist/core/goal-worker.d.ts.map +1 -1
  43. package/dist/core/goal-worker.js +55 -4
  44. package/dist/core/goal-worker.js.map +1 -1
  45. package/dist/core/goal-worker.test.js +75 -6
  46. package/dist/core/goal-worker.test.js.map +1 -1
  47. package/dist/core/goal-worktree.d.ts +55 -1
  48. package/dist/core/goal-worktree.d.ts.map +1 -1
  49. package/dist/core/goal-worktree.js +164 -1
  50. package/dist/core/goal-worktree.js.map +1 -1
  51. package/dist/core/goal-worktree.test.js +226 -4
  52. package/dist/core/goal-worktree.test.js.map +1 -1
  53. package/dist/core/ideal-review.d.ts +20 -0
  54. package/dist/core/ideal-review.d.ts.map +1 -0
  55. package/dist/core/ideal-review.js +55 -0
  56. package/dist/core/ideal-review.js.map +1 -0
  57. package/dist/core/ideal-review.test.d.ts +2 -0
  58. package/dist/core/ideal-review.test.d.ts.map +1 -0
  59. package/dist/core/ideal-review.test.js +59 -0
  60. package/dist/core/ideal-review.test.js.map +1 -0
  61. package/dist/core/settings-manager.d.ts +1 -0
  62. package/dist/core/settings-manager.d.ts.map +1 -1
  63. package/dist/core/settings-manager.js +2 -0
  64. package/dist/core/settings-manager.js.map +1 -1
  65. package/dist/system-prompt.d.ts.map +1 -1
  66. package/dist/system-prompt.js +9 -6
  67. package/dist/system-prompt.js.map +1 -1
  68. package/dist/system-prompt.test.js +1 -1
  69. package/dist/system-prompt.test.js.map +1 -1
  70. package/dist/tools/edit-diff.d.ts +17 -4
  71. package/dist/tools/edit-diff.d.ts.map +1 -1
  72. package/dist/tools/edit-diff.js +78 -16
  73. package/dist/tools/edit-diff.js.map +1 -1
  74. package/dist/tools/edit-diff.test.js +31 -1
  75. package/dist/tools/edit-diff.test.js.map +1 -1
  76. package/dist/tools/edit-robustness.test.d.ts +2 -0
  77. package/dist/tools/edit-robustness.test.d.ts.map +1 -0
  78. package/dist/tools/edit-robustness.test.js +415 -0
  79. package/dist/tools/edit-robustness.test.js.map +1 -0
  80. package/dist/tools/edit.d.ts.map +1 -1
  81. package/dist/tools/edit.js +15 -16
  82. package/dist/tools/edit.js.map +1 -1
  83. package/dist/tools/edit.test.js +23 -12
  84. package/dist/tools/edit.test.js.map +1 -1
  85. package/dist/tools/goals.d.ts +9 -1
  86. package/dist/tools/goals.d.ts.map +1 -1
  87. package/dist/tools/goals.js +78 -25
  88. package/dist/tools/goals.js.map +1 -1
  89. package/dist/tools/goals.test.js +142 -11
  90. package/dist/tools/goals.test.js.map +1 -1
  91. package/dist/tools/html-extract.d.ts +58 -0
  92. package/dist/tools/html-extract.d.ts.map +1 -0
  93. package/dist/tools/html-extract.js +130 -0
  94. package/dist/tools/html-extract.js.map +1 -0
  95. package/dist/tools/html-extract.test.d.ts +2 -0
  96. package/dist/tools/html-extract.test.d.ts.map +1 -0
  97. package/dist/tools/html-extract.test.js +60 -0
  98. package/dist/tools/html-extract.test.js.map +1 -0
  99. package/dist/tools/pdf-extract.d.ts +18 -0
  100. package/dist/tools/pdf-extract.d.ts.map +1 -0
  101. package/dist/tools/pdf-extract.js +43 -0
  102. package/dist/tools/pdf-extract.js.map +1 -0
  103. package/dist/tools/pdf-extract.test.d.ts +2 -0
  104. package/dist/tools/pdf-extract.test.d.ts.map +1 -0
  105. package/dist/tools/pdf-extract.test.js +15 -0
  106. package/dist/tools/pdf-extract.test.js.map +1 -0
  107. package/dist/tools/prompt-hints.d.ts.map +1 -1
  108. package/dist/tools/prompt-hints.js +2 -1
  109. package/dist/tools/prompt-hints.js.map +1 -1
  110. package/dist/tools/web-fetch.d.ts +16 -1
  111. package/dist/tools/web-fetch.d.ts.map +1 -1
  112. package/dist/tools/web-fetch.js +357 -45
  113. package/dist/tools/web-fetch.js.map +1 -1
  114. package/dist/tools/web-fetch.test.js +263 -2
  115. package/dist/tools/web-fetch.test.js.map +1 -1
  116. package/dist/tools/web-search.d.ts +14 -0
  117. package/dist/tools/web-search.d.ts.map +1 -1
  118. package/dist/tools/web-search.js +321 -35
  119. package/dist/tools/web-search.js.map +1 -1
  120. package/dist/tools/web-search.test.js +144 -1
  121. package/dist/tools/web-search.test.js.map +1 -1
  122. package/dist/ui/App.d.ts +11 -1
  123. package/dist/ui/App.d.ts.map +1 -1
  124. package/dist/ui/App.js +132 -17
  125. package/dist/ui/App.js.map +1 -1
  126. package/dist/ui/app-items.d.ts +14 -1
  127. package/dist/ui/app-items.d.ts.map +1 -1
  128. package/dist/ui/app-items.js +2 -0
  129. package/dist/ui/app-items.js.map +1 -1
  130. package/dist/ui/components/ChatLayout.d.ts +8 -1
  131. package/dist/ui/components/ChatLayout.d.ts.map +1 -1
  132. package/dist/ui/components/ChatLayout.js +4 -1
  133. package/dist/ui/components/ChatLayout.js.map +1 -1
  134. package/dist/ui/components/ChatScreen.d.ts +14 -1
  135. package/dist/ui/components/ChatScreen.d.ts.map +1 -1
  136. package/dist/ui/components/ChatScreen.js +3 -2
  137. package/dist/ui/components/ChatScreen.js.map +1 -1
  138. package/dist/ui/components/IdealHookMessage.d.ts +12 -0
  139. package/dist/ui/components/IdealHookMessage.d.ts.map +1 -0
  140. package/dist/ui/components/IdealHookMessage.js +24 -0
  141. package/dist/ui/components/IdealHookMessage.js.map +1 -0
  142. package/dist/ui/components/InputArea.d.ts +13 -1
  143. package/dist/ui/components/InputArea.d.ts.map +1 -1
  144. package/dist/ui/components/InputArea.js +96 -12
  145. package/dist/ui/components/InputArea.js.map +1 -1
  146. package/dist/ui/components/TranscriptViewport.d.ts +34 -0
  147. package/dist/ui/components/TranscriptViewport.d.ts.map +1 -0
  148. package/dist/ui/components/TranscriptViewport.js +45 -0
  149. package/dist/ui/components/TranscriptViewport.js.map +1 -0
  150. package/dist/ui/footer-jump-regression.test.d.ts +2 -0
  151. package/dist/ui/footer-jump-regression.test.d.ts.map +1 -0
  152. package/dist/ui/footer-jump-regression.test.js +167 -0
  153. package/dist/ui/footer-jump-regression.test.js.map +1 -0
  154. package/dist/ui/goal-events.d.ts +1 -1
  155. package/dist/ui/goal-events.d.ts.map +1 -1
  156. package/dist/ui/goal-events.js +2 -2
  157. package/dist/ui/goal-events.js.map +1 -1
  158. package/dist/ui/goal-events.test.js +2 -2
  159. package/dist/ui/goal-events.test.js.map +1 -1
  160. package/dist/ui/goal-lifecycle-orchestration.test.js +13 -97
  161. package/dist/ui/goal-lifecycle-orchestration.test.js.map +1 -1
  162. package/dist/ui/goal-progress.d.ts.map +1 -1
  163. package/dist/ui/goal-progress.js +0 -1
  164. package/dist/ui/goal-progress.js.map +1 -1
  165. package/dist/ui/goal-run-helpers.d.ts +0 -4
  166. package/dist/ui/goal-run-helpers.d.ts.map +1 -1
  167. package/dist/ui/goal-run-helpers.js +2 -21
  168. package/dist/ui/goal-run-helpers.js.map +1 -1
  169. package/dist/ui/hooks/useAgentLoop.d.ts +2 -0
  170. package/dist/ui/hooks/useAgentLoop.d.ts.map +1 -1
  171. package/dist/ui/hooks/useAgentLoop.js +45 -1
  172. package/dist/ui/hooks/useAgentLoop.js.map +1 -1
  173. package/dist/ui/hooks/useChatLayoutMeasurements.d.ts +8 -0
  174. package/dist/ui/hooks/useChatLayoutMeasurements.d.ts.map +1 -1
  175. package/dist/ui/hooks/useChatLayoutMeasurements.js +2 -0
  176. package/dist/ui/hooks/useChatLayoutMeasurements.js.map +1 -1
  177. package/dist/ui/hooks/useGoalOrchestration.d.ts +2 -1
  178. package/dist/ui/hooks/useGoalOrchestration.d.ts.map +1 -1
  179. package/dist/ui/hooks/useGoalOrchestration.js +198 -80
  180. package/dist/ui/hooks/useGoalOrchestration.js.map +1 -1
  181. package/dist/ui/hooks/useTerminalSize.d.ts +8 -1
  182. package/dist/ui/hooks/useTerminalSize.d.ts.map +1 -1
  183. package/dist/ui/hooks/useTerminalSize.js +12 -2
  184. package/dist/ui/hooks/useTerminalSize.js.map +1 -1
  185. package/dist/ui/hooks/useTranscriptHistory.d.ts +1 -1
  186. package/dist/ui/hooks/useTranscriptHistory.d.ts.map +1 -1
  187. package/dist/ui/hooks/useTranscriptHistory.js +23 -9
  188. package/dist/ui/hooks/useTranscriptHistory.js.map +1 -1
  189. package/dist/ui/hooks/useTranscriptHistory.test.d.ts +2 -0
  190. package/dist/ui/hooks/useTranscriptHistory.test.d.ts.map +1 -0
  191. package/dist/ui/hooks/useTranscriptHistory.test.js +61 -0
  192. package/dist/ui/hooks/useTranscriptHistory.test.js.map +1 -0
  193. package/dist/ui/hooks/useTranscriptScroll.d.ts +30 -0
  194. package/dist/ui/hooks/useTranscriptScroll.d.ts.map +1 -0
  195. package/dist/ui/hooks/useTranscriptScroll.js +44 -0
  196. package/dist/ui/hooks/useTranscriptScroll.js.map +1 -0
  197. package/dist/ui/hooks/useTranscriptScroll.test.d.ts +2 -0
  198. package/dist/ui/hooks/useTranscriptScroll.test.d.ts.map +1 -0
  199. package/dist/ui/hooks/useTranscriptScroll.test.js +119 -0
  200. package/dist/ui/hooks/useTranscriptScroll.test.js.map +1 -0
  201. package/dist/ui/live-area-clamp.test.js +11 -2
  202. package/dist/ui/live-area-clamp.test.js.map +1 -1
  203. package/dist/ui/render.d.ts +11 -0
  204. package/dist/ui/render.d.ts.map +1 -1
  205. package/dist/ui/render.js +71 -7
  206. package/dist/ui/render.js.map +1 -1
  207. package/dist/ui/stores/transcript-scroll-store.d.ts +27 -0
  208. package/dist/ui/stores/transcript-scroll-store.d.ts.map +1 -0
  209. package/dist/ui/stores/transcript-scroll-store.js +73 -0
  210. package/dist/ui/stores/transcript-scroll-store.js.map +1 -0
  211. package/dist/ui/stores/transcript-scroll-store.test.d.ts +2 -0
  212. package/dist/ui/stores/transcript-scroll-store.test.d.ts.map +1 -0
  213. package/dist/ui/stores/transcript-scroll-store.test.js +73 -0
  214. package/dist/ui/stores/transcript-scroll-store.test.js.map +1 -0
  215. package/dist/ui/terminal-history.d.ts.map +1 -1
  216. package/dist/ui/terminal-history.js +8 -0
  217. package/dist/ui/terminal-history.js.map +1 -1
  218. package/dist/ui/testing/screen-recorder.d.ts +29 -0
  219. package/dist/ui/testing/screen-recorder.d.ts.map +1 -0
  220. package/dist/ui/testing/screen-recorder.js +179 -0
  221. package/dist/ui/testing/screen-recorder.js.map +1 -0
  222. package/dist/ui/transcript/TranscriptRenderer.d.ts.map +1 -1
  223. package/dist/ui/transcript/TranscriptRenderer.js +4 -1
  224. package/dist/ui/transcript/TranscriptRenderer.js.map +1 -1
  225. package/dist/ui/transcript/spacing.d.ts +3 -2
  226. package/dist/ui/transcript/spacing.d.ts.map +1 -1
  227. package/dist/ui/transcript/spacing.js +8 -0
  228. package/dist/ui/transcript/spacing.js.map +1 -1
  229. package/dist/ui/transcript/spacing.test.js +31 -0
  230. package/dist/ui/transcript/spacing.test.js.map +1 -1
  231. package/dist/ui/transcript/transcript-lines.d.ts +32 -0
  232. package/dist/ui/transcript/transcript-lines.d.ts.map +1 -0
  233. package/dist/ui/transcript/transcript-lines.js +82 -0
  234. package/dist/ui/transcript/transcript-lines.js.map +1 -0
  235. package/dist/ui/transcript/transcript-lines.test.d.ts +2 -0
  236. package/dist/ui/transcript/transcript-lines.test.d.ts.map +1 -0
  237. package/dist/ui/transcript/transcript-lines.test.js +76 -0
  238. package/dist/ui/transcript/transcript-lines.test.js.map +1 -0
  239. package/dist/ui/transcript-viewport-pinning.test.d.ts +2 -0
  240. package/dist/ui/transcript-viewport-pinning.test.d.ts.map +1 -0
  241. package/dist/ui/transcript-viewport-pinning.test.js +148 -0
  242. package/dist/ui/transcript-viewport-pinning.test.js.map +1 -0
  243. package/dist/ui/tui-history-parity.test.js +8 -0
  244. package/dist/ui/tui-history-parity.test.js.map +1 -1
  245. package/dist/ui/tui-simulation.test.d.ts +2 -0
  246. package/dist/ui/tui-simulation.test.d.ts.map +1 -0
  247. package/dist/ui/tui-simulation.test.js +138 -0
  248. package/dist/ui/tui-simulation.test.js.map +1 -0
  249. package/dist/ui/tui-terminal-recorder.test.d.ts +2 -0
  250. package/dist/ui/tui-terminal-recorder.test.d.ts.map +1 -0
  251. package/dist/ui/tui-terminal-recorder.test.js +134 -0
  252. package/dist/ui/tui-terminal-recorder.test.js.map +1 -0
  253. package/dist/utils/format.js +7 -0
  254. package/dist/utils/format.js.map +1 -1
  255. package/package.json +12 -6
@@ -0,0 +1 @@
1
+ {"version":3,"file":"goal-engine.test.js","sourceRoot":"","sources":["../../src/core/goal-engine.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,80 @@
1
+ import type { GoalRun, GoalTask } from "./goal-store.js";
2
+ import { type GoalWorktreeCommandRunner } from "./goal-worktree.js";
3
+ export interface GoalMainIntegrationConfirmation {
4
+ applied: boolean;
5
+ committed: boolean;
6
+ sha?: string;
7
+ files: string[];
8
+ reason: string;
9
+ }
10
+ /**
11
+ * Deterministically confirm — and finalize — that the user's main checkout now
12
+ * contains the accepted integration, WITHOUT trusting any LLM worker to emit
13
+ * exact evidence labels. Commits whatever an apply worker left uncommitted, then
14
+ * checks that main advanced beyond the candidate integration base. The
15
+ * orchestrator records canonical applied/committed evidence from this result, so
16
+ * the completion gates can never silently stall on a worker that phrased its
17
+ * evidence differently.
18
+ */
19
+ export declare function confirmAndCommitMainIntegration(options: {
20
+ projectPath: string;
21
+ baseRef: string;
22
+ message: string;
23
+ commandRunner?: GoalWorktreeCommandRunner;
24
+ }): Promise<GoalMainIntegrationConfirmation>;
25
+ /** Identity of a staged-but-not-yet-applied integration. */
26
+ export interface GoalStagedContext {
27
+ stagingBranch: string;
28
+ stagingPath: string;
29
+ mainBase: string;
30
+ integratedTaskIds: string[];
31
+ changedFiles: string[];
32
+ }
33
+ export type GoalStageResult = ({
34
+ status: "staged";
35
+ } & GoalStagedContext) | {
36
+ status: "fallback" | "noop";
37
+ reason: string;
38
+ };
39
+ /**
40
+ * Done worktree tasks whose committed candidate changes must reach main.
41
+ * Ordering is expressed by dependsOn; this gate only excludes tasks explicitly
42
+ * marked integration="manual". Read-only tasks (no candidate changes) are
43
+ * excluded.
44
+ */
45
+ export declare function integrableWorktreeTasks(run: GoalRun): GoalTask[];
46
+ export declare function fileMatchesScope(file: string, scope: readonly string[]): boolean;
47
+ /**
48
+ * Build the integration on a dedicated staging worktree/branch from the current
49
+ * main HEAD WITHOUT touching the user's checkout. The caller verifies the
50
+ * staged result and only then fast-forwards main (see {@link finalizeStagedIntegration}),
51
+ * so main never holds unverified changes. Any ambiguity returns `fallback`/`noop`
52
+ * and the staging worktree is cleaned up.
53
+ *
54
+ * Disable deterministic integration entirely with `GG_GOAL_AUTO_INTEGRATE=0`.
55
+ */
56
+ export declare function stageGoalIntegration(options: {
57
+ projectPath: string;
58
+ run: GoalRun;
59
+ stagingRoot?: string;
60
+ commandRunner?: GoalWorktreeCommandRunner;
61
+ }): Promise<GoalStageResult>;
62
+ /**
63
+ * Fast-forward main to a verified staging branch and clean up the staging
64
+ * worktree. Throws if main cannot fast-forward (e.g. it moved), so the caller
65
+ * can discard the staging and fall back without ever leaving main half-applied.
66
+ */
67
+ export declare function finalizeStagedIntegration(options: {
68
+ projectPath: string;
69
+ staging: GoalStagedContext;
70
+ commandRunner?: GoalWorktreeCommandRunner;
71
+ }): Promise<{
72
+ commitSha: string;
73
+ }>;
74
+ /** Discard a staged integration (verifier failed or unusable); main untouched. */
75
+ export declare function discardStagedIntegration(options: {
76
+ projectPath: string;
77
+ staging: GoalStagedContext;
78
+ commandRunner?: GoalWorktreeCommandRunner;
79
+ }): Promise<void>;
80
+ //# sourceMappingURL=goal-integration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"goal-integration.d.ts","sourceRoot":"","sources":["../../src/core/goal-integration.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAOL,KAAK,yBAAyB,EAC/B,MAAM,oBAAoB,CAAC;AAI5B,MAAM,WAAW,+BAA+B;IAC9C,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;GAQG;AACH,wBAAsB,+BAA+B,CAAC,OAAO,EAAE;IAC7D,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,yBAAyB,CAAC;CAC3C,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAyB3C;AASD,4DAA4D;AAC5D,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,MAAM,eAAe,GACvB,CAAC;IAAE,MAAM,EAAE,QAAQ,CAAA;CAAE,GAAG,iBAAiB,CAAC,GAC1C;IAAE,MAAM,EAAE,UAAU,GAAG,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,QAAQ,EAAE,CAQhE;AA8BD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAEhF;AA8JD;;;;;;;;GAQG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE;IAClD,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,OAAO,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,yBAAyB,CAAC;CAC3C,GAAG,OAAO,CAAC,eAAe,CAAC,CAoE3B;AAED;;;;GAIG;AACH,wBAAsB,yBAAyB,CAAC,OAAO,EAAE;IACvD,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,aAAa,CAAC,EAAE,yBAAyB,CAAC;CAC3C,GAAG,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAOjC;AAED,kFAAkF;AAClF,wBAAsB,wBAAwB,CAAC,OAAO,EAAE;IACtD,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,aAAa,CAAC,EAAE,yBAAyB,CAAC;CAC3C,GAAG,OAAO,CAAC,IAAI,CAAC,CAIhB"}
@@ -0,0 +1,296 @@
1
+ import { join } from "node:path";
2
+ import { checkpointGoalWorkingTree, defaultGoalWorktreeCommandRunner, formatGitError, goalCommitterArgs, goalWorktreeRoot, sanitizeWorktreeToken, } from "./goal-worktree.js";
3
+ const MAX_INTEGRATION_OUTPUT = 2000;
4
+ /**
5
+ * Deterministically confirm — and finalize — that the user's main checkout now
6
+ * contains the accepted integration, WITHOUT trusting any LLM worker to emit
7
+ * exact evidence labels. Commits whatever an apply worker left uncommitted, then
8
+ * checks that main advanced beyond the candidate integration base. The
9
+ * orchestrator records canonical applied/committed evidence from this result, so
10
+ * the completion gates can never silently stall on a worker that phrased its
11
+ * evidence differently.
12
+ */
13
+ export async function confirmAndCommitMainIntegration(options) {
14
+ const { projectPath, baseRef, message } = options;
15
+ const runner = options.commandRunner ?? { execFile: defaultGoalWorktreeCommandRunner };
16
+ const checkpoint = await checkpointGoalWorkingTree({
17
+ projectPath,
18
+ message,
19
+ ...(options.commandRunner ? { commandRunner: options.commandRunner } : {}),
20
+ });
21
+ const head = await git(runner, projectPath, ["rev-parse", "HEAD"]);
22
+ const applied = head !== baseRef;
23
+ const files = checkpoint.files && checkpoint.files.length > 0
24
+ ? checkpoint.files
25
+ : applied
26
+ ? parseNameOnly(await git(runner, projectPath, ["diff", "--name-only", baseRef, "HEAD"]))
27
+ : [];
28
+ return {
29
+ applied,
30
+ committed: checkpoint.committed,
31
+ ...(applied ? { sha: head } : {}),
32
+ files,
33
+ reason: applied
34
+ ? "Main advanced beyond the integration base."
35
+ : "Main is unchanged versus the integration base; nothing was integrated.",
36
+ };
37
+ }
38
+ /**
39
+ * Done worktree tasks whose committed candidate changes must reach main.
40
+ * Ordering is expressed by dependsOn; this gate only excludes tasks explicitly
41
+ * marked integration="manual". Read-only tasks (no candidate changes) are
42
+ * excluded.
43
+ */
44
+ export function integrableWorktreeTasks(run) {
45
+ return run.tasks.filter((task) => task.status === "done" &&
46
+ !!task.worktree &&
47
+ task.integration !== "manual" &&
48
+ (task.candidate?.changedFiles?.length ?? 0) > 0);
49
+ }
50
+ /**
51
+ * Translate a single `expected_changed_scope` glob into an anchored RegExp.
52
+ * `**` matches across path separators; `*`/`?` stay within a single segment.
53
+ * Intentionally conservative: anything it cannot confidently match falls back
54
+ * to the guarded LLM apply task rather than risking an out-of-scope merge.
55
+ */
56
+ function globToRegExp(glob) {
57
+ let pattern = "";
58
+ for (let index = 0; index < glob.length; index += 1) {
59
+ const char = glob[index];
60
+ if (char === "*") {
61
+ if (glob[index + 1] === "*") {
62
+ pattern += ".*";
63
+ index += 1;
64
+ }
65
+ else {
66
+ pattern += "[^/]*";
67
+ }
68
+ }
69
+ else if (char === "?") {
70
+ pattern += "[^/]";
71
+ }
72
+ else if ("\\^$.|+()[]{}".includes(char)) {
73
+ pattern += `\\${char}`;
74
+ }
75
+ else {
76
+ pattern += char;
77
+ }
78
+ }
79
+ return new RegExp(`^${pattern}$`, "u");
80
+ }
81
+ export function fileMatchesScope(file, scope) {
82
+ return scope.some((glob) => globToRegExp(glob).test(file));
83
+ }
84
+ async function git(runner, cwd, args) {
85
+ const out = await runner.execFile("git", args, { cwd });
86
+ return out.stdout.trim();
87
+ }
88
+ function parseNameOnly(output) {
89
+ return output
90
+ .split("\n")
91
+ .map((line) => line.trim())
92
+ .filter(Boolean)
93
+ .sort((a, b) => a.localeCompare(b));
94
+ }
95
+ /**
96
+ * Decide which candidate tasks can be integrated deterministically (committed
97
+ * packet, in scope, non-overlapping) against a clean main checkout.
98
+ * Returns `fallback`/`noop` for anything ambiguous so the guarded LLM apply task
99
+ * runs instead — never a risky merge.
100
+ */
101
+ async function planGoalIntegrationCandidates(runner, projectPath, run) {
102
+ const tasks = integrableWorktreeTasks(run);
103
+ if (tasks.length === 0) {
104
+ return { status: "noop", reason: "No candidate worktree tasks to integrate." };
105
+ }
106
+ const mainStatus = await git(runner, projectPath, ["status", "--porcelain"]);
107
+ if (mainStatus.length > 0) {
108
+ return {
109
+ status: "fallback",
110
+ reason: "Main checkout has uncommitted changes; deferring to the guarded apply task.",
111
+ };
112
+ }
113
+ const candidates = [];
114
+ for (const task of tasks) {
115
+ const worktree = task.worktree;
116
+ const scope = task.expectedChangedScope ?? [];
117
+ if (scope.length === 0) {
118
+ return {
119
+ status: "fallback",
120
+ reason: `Task "${task.title}" has no expected_changed_scope; cannot verify deterministic integration scope.`,
121
+ };
122
+ }
123
+ // Prefer the worker's typed, committed candidate packet (no archaeology).
124
+ let branchName = worktree.branchName;
125
+ let baseRef = worktree.baseRef;
126
+ let changedFiles;
127
+ if (task.candidate) {
128
+ branchName = task.candidate.branchName;
129
+ baseRef = task.candidate.baseRef;
130
+ changedFiles = task.candidate.changedFiles;
131
+ }
132
+ else {
133
+ await git(runner, worktree.path, ["add", "-A"]);
134
+ let hasStagedChanges = false;
135
+ try {
136
+ await git(runner, worktree.path, ["diff", "--cached", "--quiet"]);
137
+ }
138
+ catch {
139
+ hasStagedChanges = true;
140
+ }
141
+ if (hasStagedChanges) {
142
+ await git(runner, worktree.path, ["commit", "-m", `goal(${run.id}): candidate ${task.id}`]);
143
+ }
144
+ changedFiles = parseNameOnly(await git(runner, worktree.path, ["diff", "--name-only", worktree.baseRef, "HEAD"]));
145
+ }
146
+ if (changedFiles.length === 0)
147
+ continue; // worker produced no changes; nothing to apply
148
+ const outOfScope = changedFiles.filter((file) => !fileMatchesScope(file, scope));
149
+ if (outOfScope.length > 0) {
150
+ return {
151
+ status: "fallback",
152
+ reason: `Task "${task.title}" changed files outside expected_changed_scope: ${outOfScope.join(", ")}.`,
153
+ };
154
+ }
155
+ candidates.push({ task, branchName, baseRef, changedFiles });
156
+ }
157
+ if (candidates.length === 0) {
158
+ return { status: "noop", reason: "Candidate worktrees contained no changes to integrate." };
159
+ }
160
+ const seen = new Map();
161
+ for (const candidate of candidates) {
162
+ for (const file of candidate.changedFiles) {
163
+ const owner = seen.get(file);
164
+ if (owner) {
165
+ return {
166
+ status: "fallback",
167
+ reason: `Candidates overlap on ${file} (tasks ${owner} and ${candidate.task.id}); deferring to the guarded apply task.`,
168
+ };
169
+ }
170
+ seen.set(file, candidate.task.id);
171
+ }
172
+ }
173
+ return {
174
+ status: "eligible",
175
+ candidates,
176
+ changedFiles: [...seen.keys()].sort((a, b) => a.localeCompare(b)),
177
+ };
178
+ }
179
+ function stagingRefs(projectPath, run, stagingRoot) {
180
+ const token = sanitizeWorktreeToken(run.id);
181
+ return {
182
+ stagingBranch: `goal/${token}/integration`,
183
+ stagingPath: join(stagingRoot ?? goalWorktreeRoot(projectPath), `integration-${token}`),
184
+ };
185
+ }
186
+ async function removeStagingWorktree(runner, projectPath, stagingPath, stagingBranch) {
187
+ try {
188
+ await runner.execFile("git", ["worktree", "remove", "--force", stagingPath], {
189
+ cwd: projectPath,
190
+ });
191
+ }
192
+ catch {
193
+ // Already gone.
194
+ }
195
+ try {
196
+ await runner.execFile("git", ["branch", "-D", stagingBranch], { cwd: projectPath });
197
+ }
198
+ catch {
199
+ // Already gone.
200
+ }
201
+ try {
202
+ await runner.execFile("git", ["worktree", "prune"], { cwd: projectPath });
203
+ }
204
+ catch {
205
+ // Best-effort.
206
+ }
207
+ }
208
+ /**
209
+ * Build the integration on a dedicated staging worktree/branch from the current
210
+ * main HEAD WITHOUT touching the user's checkout. The caller verifies the
211
+ * staged result and only then fast-forwards main (see {@link finalizeStagedIntegration}),
212
+ * so main never holds unverified changes. Any ambiguity returns `fallback`/`noop`
213
+ * and the staging worktree is cleaned up.
214
+ *
215
+ * Disable deterministic integration entirely with `GG_GOAL_AUTO_INTEGRATE=0`.
216
+ */
217
+ export async function stageGoalIntegration(options) {
218
+ const { projectPath, run } = options;
219
+ const runner = options.commandRunner ?? { execFile: defaultGoalWorktreeCommandRunner };
220
+ if (process.env.GG_GOAL_AUTO_INTEGRATE === "0") {
221
+ return {
222
+ status: "fallback",
223
+ reason: "Deterministic integration disabled via GG_GOAL_AUTO_INTEGRATE=0.",
224
+ };
225
+ }
226
+ const { stagingBranch, stagingPath } = stagingRefs(projectPath, run, options.stagingRoot);
227
+ try {
228
+ const plan = await planGoalIntegrationCandidates(runner, projectPath, run);
229
+ if (plan.status !== "eligible")
230
+ return plan;
231
+ const mainBase = await git(runner, projectPath, ["rev-parse", "HEAD"]);
232
+ // Clear any leftover staging worktree/branch from a prior crashed attempt.
233
+ await removeStagingWorktree(runner, projectPath, stagingPath, stagingBranch);
234
+ await git(runner, projectPath, ["worktree", "add", "-b", stagingBranch, stagingPath, mainBase]);
235
+ const committer = await goalCommitterArgs(runner, stagingPath);
236
+ const integratedTaskIds = [];
237
+ try {
238
+ for (const candidate of plan.candidates) {
239
+ await git(runner, stagingPath, [
240
+ ...committer,
241
+ "cherry-pick",
242
+ `${candidate.baseRef}..${candidate.branchName}`,
243
+ ]);
244
+ integratedTaskIds.push(candidate.task.id);
245
+ }
246
+ }
247
+ catch (error) {
248
+ try {
249
+ await git(runner, stagingPath, ["cherry-pick", "--abort"]);
250
+ }
251
+ catch {
252
+ // No cherry-pick in progress.
253
+ }
254
+ await removeStagingWorktree(runner, projectPath, stagingPath, stagingBranch);
255
+ return {
256
+ status: "fallback",
257
+ reason: `Cherry-pick conflict while staging integration; deferring to the guarded apply task: ${formatGitError(error)}`.slice(0, MAX_INTEGRATION_OUTPUT),
258
+ };
259
+ }
260
+ return {
261
+ status: "staged",
262
+ stagingBranch,
263
+ stagingPath,
264
+ mainBase,
265
+ integratedTaskIds,
266
+ changedFiles: plan.changedFiles,
267
+ };
268
+ }
269
+ catch (error) {
270
+ await removeStagingWorktree(runner, projectPath, stagingPath, stagingBranch);
271
+ return {
272
+ status: "fallback",
273
+ reason: `Could not stage deterministic integration; deferring to the guarded apply task: ${formatGitError(error)}`.slice(0, MAX_INTEGRATION_OUTPUT),
274
+ };
275
+ }
276
+ }
277
+ /**
278
+ * Fast-forward main to a verified staging branch and clean up the staging
279
+ * worktree. Throws if main cannot fast-forward (e.g. it moved), so the caller
280
+ * can discard the staging and fall back without ever leaving main half-applied.
281
+ */
282
+ export async function finalizeStagedIntegration(options) {
283
+ const { projectPath, staging } = options;
284
+ const runner = options.commandRunner ?? { execFile: defaultGoalWorktreeCommandRunner };
285
+ await git(runner, projectPath, ["merge", "--ff-only", staging.stagingBranch]);
286
+ const commitSha = await git(runner, projectPath, ["rev-parse", "HEAD"]);
287
+ await removeStagingWorktree(runner, projectPath, staging.stagingPath, staging.stagingBranch);
288
+ return { commitSha };
289
+ }
290
+ /** Discard a staged integration (verifier failed or unusable); main untouched. */
291
+ export async function discardStagedIntegration(options) {
292
+ const { projectPath, staging } = options;
293
+ const runner = options.commandRunner ?? { execFile: defaultGoalWorktreeCommandRunner };
294
+ await removeStagingWorktree(runner, projectPath, staging.stagingPath, staging.stagingBranch);
295
+ }
296
+ //# sourceMappingURL=goal-integration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"goal-integration.js","sourceRoot":"","sources":["../../src/core/goal-integration.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=goal-integration.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"goal-integration.test.d.ts","sourceRoot":"","sources":["../../src/core/goal-integration.test.ts"],"names":[],"mappings":""}