@kenkaiiii/ggcoder 5.69.0 → 5.71.0

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 (226) hide show
  1. package/assets/motion/bin/contact-sheet.mjs +9 -3
  2. package/assets/motion/bin/cues.mjs +337 -0
  3. package/assets/motion/bin/library.mjs +53 -10
  4. package/assets/motion/bin/motion-blur.mjs +943 -0
  5. package/assets/motion/bin/motion-check.mjs +354 -3
  6. package/assets/motion/bin/music-fit.mjs +436 -0
  7. package/assets/motion/bin/pdf-extract.mjs +22 -10
  8. package/assets/motion/bin/reference-study.mjs +346 -0
  9. package/assets/motion/bin/score-synth.mjs +1052 -93
  10. package/assets/motion/library/README.md +50 -14
  11. package/assets/motion/library/kit/moves.js +1981 -0
  12. package/assets/motion/library/library.json +232 -0
  13. package/assets/motion/library/pieces/camera-rig/meta.json +13 -0
  14. package/assets/motion/library/pieces/camera-rig/piece.html +153 -0
  15. package/assets/motion/library/pieces/camera-rig/preview.jpg +0 -0
  16. package/assets/motion/library/pieces/chain-knock/meta.json +13 -0
  17. package/assets/motion/library/pieces/chain-knock/piece.html +195 -0
  18. package/assets/motion/library/pieces/chain-knock/preview.jpg +0 -0
  19. package/assets/motion/library/pieces/gather-to-logo/meta.json +13 -0
  20. package/assets/motion/library/pieces/gather-to-logo/piece.html +159 -0
  21. package/assets/motion/library/pieces/gather-to-logo/preview.jpg +0 -0
  22. package/assets/motion/library/pieces/morph-carry/meta.json +13 -0
  23. package/assets/motion/library/pieces/morph-carry/piece.html +173 -0
  24. package/assets/motion/library/pieces/morph-carry/preview.jpg +0 -0
  25. package/assets/motion/library/pieces/one-shape-journey/meta.json +13 -0
  26. package/assets/motion/library/pieces/one-shape-journey/piece.html +195 -0
  27. package/assets/motion/library/pieces/one-shape-journey/preview.jpg +0 -0
  28. package/assets/motion/library/pieces/open-from-subject/meta.json +13 -0
  29. package/assets/motion/library/pieces/open-from-subject/piece.html +168 -0
  30. package/assets/motion/library/pieces/open-from-subject/preview.jpg +0 -0
  31. package/assets/motion/library/pieces/request-to-result/meta.json +13 -0
  32. package/assets/motion/library/pieces/request-to-result/piece.html +212 -0
  33. package/assets/motion/library/pieces/request-to-result/preview.jpg +0 -0
  34. package/assets/motion/library/pieces/scale-dive/meta.json +13 -0
  35. package/assets/motion/library/pieces/scale-dive/piece.html +321 -0
  36. package/assets/motion/library/pieces/scale-dive/preview.jpg +0 -0
  37. package/assets/motion/library/pieces/screen-replica-steps/meta.json +13 -0
  38. package/assets/motion/library/pieces/screen-replica-steps/piece.html +366 -0
  39. package/assets/motion/library/pieces/screen-replica-steps/preview.jpg +0 -0
  40. package/assets/motion/library/pieces/zoom-into-card/meta.json +13 -0
  41. package/assets/motion/library/pieces/zoom-into-card/piece.html +179 -0
  42. package/assets/motion/library/pieces/zoom-into-card/preview.jpg +0 -0
  43. package/assets/motion/library/sheets/diagram.jpg +0 -0
  44. package/assets/motion/library/sheets/frame.jpg +0 -0
  45. package/assets/motion/library/sheets/transition.jpg +0 -0
  46. package/assets/motion/library/sheets/ui.jpg +0 -0
  47. package/assets/motion/references/build-sheet.md +206 -0
  48. package/assets/motion/references/runtime/determinism-rules.md +1 -1
  49. package/assets/motion/references/runtime/gsap-easing-and-stagger.md +29 -29
  50. package/assets/motion/references/runtime/inputs-and-assets.md +7 -12
  51. package/assets/motion/references/runtime/lint-validate-inspect.md +3 -3
  52. package/assets/motion/references/runtime/minimal-composition.md +1 -1
  53. package/assets/motion/references/runtime/preview-render.md +3 -3
  54. package/assets/motion/skills/app-walkthrough/SKILL.md +66 -0
  55. package/assets/motion/skills/before-after/SKILL.md +53 -0
  56. package/assets/motion/skills/brand-kit/SKILL.md +3 -3
  57. package/assets/motion/skills/dev-tool-video/SKILL.md +57 -0
  58. package/assets/motion/skills/launch-video/SKILL.md +62 -0
  59. package/assets/motion/skills/match-reference/SKILL.md +58 -0
  60. package/assets/motion/skills/motion/SKILL.md +78 -85
  61. package/assets/motion/skills/source-ingest/SKILL.md +17 -6
  62. package/assets/motion/skills/website-video/SKILL.md +59 -0
  63. package/assets/skills/bulletproof/SKILL.md +36 -11
  64. package/assets/skills/bulletproof/references/agent-surface.md +19 -9
  65. package/assets/skills/bulletproof/references/audit-protocol.md +20 -5
  66. package/assets/skills/bulletproof/references/platform-playbooks.md +5 -4
  67. package/assets/skills/bulletproof/references/provenance.md +26 -1
  68. package/assets/skills/bulletproof/references/secure-defaults.md +6 -5
  69. package/assets/skills/bulletproof/references/supply-chain.md +21 -17
  70. package/assets/skills/bulletproof/references/threat-landscape.md +28 -26
  71. package/assets/skills/bulletproof/references/verification.md +2 -0
  72. package/assets/skills/clarify/SKILL.md +25 -16
  73. package/assets/skills/code-review/SKILL.md +71 -13
  74. package/assets/skills/code-review/references/agent-diffs.md +27 -0
  75. package/assets/skills/code-review/references/tests.md +19 -0
  76. package/assets/skills/compliance-guard/SKILL.md +20 -5
  77. package/assets/skills/compliance-guard/references/artifacts.md +1 -1
  78. package/assets/skills/compliance-guard/references/eu-uk.md +16 -16
  79. package/assets/skills/compliance-guard/references/lawsuit-vectors.md +5 -5
  80. package/assets/skills/compliance-guard/references/provenance.md +41 -2
  81. package/assets/skills/compliance-guard/references/sector-gates.md +3 -3
  82. package/assets/skills/compliance-guard/references/security-baseline.md +2 -2
  83. package/assets/skills/compliance-guard/references/trigger-map.md +5 -5
  84. package/assets/skills/compliance-guard/references/us.md +27 -21
  85. package/assets/skills/durable/SKILL.md +87 -79
  86. package/assets/skills/durable/references/agent-db-safety.md +69 -0
  87. package/assets/skills/durable/references/backups-and-runtime.md +19 -12
  88. package/assets/skills/durable/references/migrations-and-schema.md +13 -6
  89. package/assets/skills/evidence-led-ui/SKILL.md +69 -127
  90. package/assets/skills/evidence-led-ui/references/anti-defaults.md +107 -208
  91. package/assets/skills/evidence-led-ui/references/direction.md +124 -0
  92. package/assets/skills/evidence-led-ui/references/production-contract.md +8 -0
  93. package/assets/skills/evidence-led-ui/references/provenance.md +24 -1
  94. package/assets/skills/lean/SKILL.md +90 -71
  95. package/assets/skills/lean/references/memory-and-processes.md +3 -2
  96. package/assets/skills/lean/references/playbooks.md +37 -12
  97. package/assets/skills/refactoring/SKILL.md +24 -3
  98. package/assets/skills/refactoring/references/agent-pitfalls.md +4 -1
  99. package/assets/skills/refactoring/references/legacy.md +21 -0
  100. package/assets/skills/root-cause/SKILL.md +20 -10
  101. package/assets/skills/shared-language/SKILL.md +16 -14
  102. package/assets/skills/tdd/SKILL.md +27 -15
  103. package/dist/app-sidecar.js +56 -33
  104. package/dist/app-sidecar.js.map +1 -1
  105. package/dist/cli.js +2 -11
  106. package/dist/cli.js.map +1 -1
  107. package/dist/core/acceptance-checks.d.ts +48 -0
  108. package/dist/core/acceptance-checks.js +144 -0
  109. package/dist/core/acceptance-checks.js.map +1 -0
  110. package/dist/core/agent-session.d.ts +32 -70
  111. package/dist/core/agent-session.js +92 -413
  112. package/dist/core/agent-session.js.map +1 -1
  113. package/dist/core/agents.d.ts +6 -5
  114. package/dist/core/agents.js.map +1 -1
  115. package/dist/core/bundled-agents.js +1 -3
  116. package/dist/core/bundled-agents.js.map +1 -1
  117. package/dist/core/compaction/compactor.js +78 -48
  118. package/dist/core/compaction/compactor.js.map +1 -1
  119. package/dist/core/mcp/content.js +6 -2
  120. package/dist/core/mcp/content.js.map +1 -1
  121. package/dist/core/model-unavailable.d.ts +14 -0
  122. package/dist/core/model-unavailable.js +23 -0
  123. package/dist/core/model-unavailable.js.map +1 -0
  124. package/dist/core/node-debugger.d.ts +148 -0
  125. package/dist/core/node-debugger.js +642 -0
  126. package/dist/core/node-debugger.js.map +1 -0
  127. package/dist/core/process-manager.d.ts +14 -0
  128. package/dist/core/process-manager.js +61 -0
  129. package/dist/core/process-manager.js.map +1 -1
  130. package/dist/core/session-history.d.ts +12 -0
  131. package/dist/core/session-history.js +27 -0
  132. package/dist/core/session-history.js.map +1 -1
  133. package/dist/core/settings-manager.d.ts +0 -1
  134. package/dist/core/settings-manager.js +2 -5
  135. package/dist/core/settings-manager.js.map +1 -1
  136. package/dist/core/skills.js +3 -1
  137. package/dist/core/skills.js.map +1 -1
  138. package/dist/core/subagent-manager.d.ts +11 -5
  139. package/dist/core/subagent-manager.js +15 -7
  140. package/dist/core/subagent-manager.js.map +1 -1
  141. package/dist/core/test-impact.d.ts +73 -0
  142. package/dist/core/test-impact.js +467 -0
  143. package/dist/core/test-impact.js.map +1 -0
  144. package/dist/core/thinking-level.d.ts +1 -1
  145. package/dist/core/thinking-level.js +1 -1
  146. package/dist/core/thinking-level.js.map +1 -1
  147. package/dist/core/verification-gate.d.ts +8 -98
  148. package/dist/core/verification-gate.js +26 -256
  149. package/dist/core/verification-gate.js.map +1 -1
  150. package/dist/interactive.js +2 -1
  151. package/dist/interactive.js.map +1 -1
  152. package/dist/modes/subagent-worker-mode.js +17 -5
  153. package/dist/modes/subagent-worker-mode.js.map +1 -1
  154. package/dist/motion-agent/motion-agent.d.ts +6 -2
  155. package/dist/motion-agent/motion-agent.js +5 -7
  156. package/dist/motion-agent/motion-agent.js.map +1 -1
  157. package/dist/motion-agent/motion-prompt.d.ts +1 -1
  158. package/dist/motion-agent/motion-prompt.js +14 -19
  159. package/dist/motion-agent/motion-prompt.js.map +1 -1
  160. package/dist/motion-agent/motion-review.d.ts +5 -1
  161. package/dist/motion-agent/motion-review.js +8 -3
  162. package/dist/motion-agent/motion-review.js.map +1 -1
  163. package/dist/motion-agent/motion-studio-context.js +1 -1
  164. package/dist/motion-agent/motion-studio-context.js.map +1 -1
  165. package/dist/system-prompt.js +3 -1
  166. package/dist/system-prompt.js.map +1 -1
  167. package/dist/test-support/keep-alive.d.ts +14 -0
  168. package/dist/test-support/keep-alive.js +17 -0
  169. package/dist/test-support/keep-alive.js.map +1 -0
  170. package/dist/tools/bash-read-evidence.d.ts +10 -0
  171. package/dist/tools/bash-read-evidence.js +133 -0
  172. package/dist/tools/bash-read-evidence.js.map +1 -0
  173. package/dist/tools/bash.d.ts +10 -1
  174. package/dist/tools/bash.js +66 -3
  175. package/dist/tools/bash.js.map +1 -1
  176. package/dist/tools/debug.d.ts +54 -0
  177. package/dist/tools/debug.js +233 -0
  178. package/dist/tools/debug.js.map +1 -0
  179. package/dist/tools/edit.js +12 -4
  180. package/dist/tools/edit.js.map +1 -1
  181. package/dist/tools/index.d.ts +19 -2
  182. package/dist/tools/index.js +46 -6
  183. package/dist/tools/index.js.map +1 -1
  184. package/dist/tools/prompt-hints.js +2 -0
  185. package/dist/tools/prompt-hints.js.map +1 -1
  186. package/dist/tools/read-tracker.d.ts +5 -0
  187. package/dist/tools/read-tracker.js +19 -9
  188. package/dist/tools/read-tracker.js.map +1 -1
  189. package/dist/tools/skill.js +5 -0
  190. package/dist/tools/skill.js.map +1 -1
  191. package/dist/tools/steroids.d.ts +1 -1
  192. package/dist/tools/subagent-control.js +11 -3
  193. package/dist/tools/subagent-control.js.map +1 -1
  194. package/dist/tools/subagent-shared.d.ts +16 -8
  195. package/dist/tools/subagent-shared.js +21 -15
  196. package/dist/tools/subagent-shared.js.map +1 -1
  197. package/dist/tools/subagent.d.ts +8 -2
  198. package/dist/tools/subagent.js +16 -9
  199. package/dist/tools/subagent.js.map +1 -1
  200. package/dist/tools/tool-tiers.d.ts +2 -2
  201. package/dist/tools/tool-tiers.js +3 -2
  202. package/dist/tools/tool-tiers.js.map +1 -1
  203. package/dist/ui/App.d.ts +0 -7
  204. package/dist/ui/App.js +6 -79
  205. package/dist/ui/App.js.map +1 -1
  206. package/dist/ui/hooks/useAgentLoop.d.ts +0 -7
  207. package/dist/ui/hooks/useAgentLoop.js +1 -119
  208. package/dist/ui/hooks/useAgentLoop.js.map +1 -1
  209. package/dist/ui/render.d.ts +0 -4
  210. package/dist/ui/render.js +0 -2
  211. package/dist/ui/render.js.map +1 -1
  212. package/dist/utils/image.d.ts +14 -0
  213. package/dist/utils/image.js +16 -0
  214. package/dist/utils/image.js.map +1 -1
  215. package/package.json +4 -4
  216. package/assets/motion/references/motion-language.md +0 -128
  217. package/assets/motion/skills/video-qa/SKILL.md +0 -89
  218. package/dist/core/ideal-review-subagent.d.ts +0 -56
  219. package/dist/core/ideal-review-subagent.js +0 -112
  220. package/dist/core/ideal-review-subagent.js.map +0 -1
  221. package/dist/core/ideal-review.d.ts +0 -82
  222. package/dist/core/ideal-review.js +0 -242
  223. package/dist/core/ideal-review.js.map +0 -1
  224. package/dist/motion-agent/motion-check-tool.d.ts +0 -42
  225. package/dist/motion-agent/motion-check-tool.js +0 -564
  226. package/dist/motion-agent/motion-check-tool.js.map +0 -1
@@ -0,0 +1,233 @@
1
+ import { z } from "zod";
2
+ import { NodeDebugSession } from "../core/node-debugger.js";
3
+ import { isPlanModeActive, planModeRestriction } from "../core/runtime-mode.js";
4
+ import { localOperations } from "./operations.js";
5
+ import { truncateTail } from "./truncate.js";
6
+ const DEFAULT_WAIT_MS = 15_000;
7
+ const MAX_WAIT_MS = 120_000;
8
+ const BreakpointSpec = z.object({
9
+ file: z.string().min(1),
10
+ line: z.number().int().positive(),
11
+ condition: z.string().optional().describe("JS expression; pause only when it is truthy"),
12
+ });
13
+ const DebugParams = z.object({
14
+ action: z
15
+ .enum([
16
+ "launch",
17
+ "set_breakpoint",
18
+ "remove_breakpoint",
19
+ "continue",
20
+ "step_over",
21
+ "step_into",
22
+ "step_out",
23
+ "pause",
24
+ "stack",
25
+ "variables",
26
+ "evaluate",
27
+ "output",
28
+ "stop",
29
+ ])
30
+ .describe("What to do. Every action that runs code returns where the program stopped."),
31
+ program: z.string().optional().describe("launch: script to run (.js/.mjs/.cjs/.ts)"),
32
+ args: z.array(z.string()).optional().describe("launch: arguments passed to the script"),
33
+ node_args: z
34
+ .array(z.string())
35
+ .optional()
36
+ .describe('launch: extra node flags, e.g. ["--test", "--test-isolation=none"]'),
37
+ breakpoints: z
38
+ .array(BreakpointSpec)
39
+ .max(50)
40
+ .optional()
41
+ .describe("launch: breakpoints armed before the first line runs"),
42
+ stop_on_entry: z.boolean().optional().describe("launch: stay paused on the first line"),
43
+ pause_on_exceptions: z
44
+ .enum(["none", "uncaught", "all"])
45
+ .optional()
46
+ .describe("launch: when to pause on a throw (default uncaught)"),
47
+ file: z.string().optional().describe("set_breakpoint: file path"),
48
+ line: z.number().int().positive().optional().describe("set_breakpoint: 1-based line"),
49
+ condition: z.string().optional().describe("set_breakpoint: JS condition"),
50
+ breakpoint_id: z.string().optional().describe("remove_breakpoint: id such as bp1"),
51
+ frame: z
52
+ .number()
53
+ .int()
54
+ .min(0)
55
+ .optional()
56
+ .describe("variables/evaluate: stack frame index (0 = innermost)"),
57
+ expression: z.string().optional().describe("evaluate: JS expression"),
58
+ timeout_ms: z
59
+ .number()
60
+ .int()
61
+ .min(100)
62
+ .max(MAX_WAIT_MS)
63
+ .optional()
64
+ .describe(`launch/continue/step/pause: how long to wait for a stop (default ${DEFAULT_WAIT_MS})`),
65
+ });
66
+ /** Holds the one live debug session of an agent session; `shutdown` on dispose. */
67
+ export class DebugManager {
68
+ session;
69
+ get current() {
70
+ return this.session;
71
+ }
72
+ replace(next) {
73
+ const replaced = this.session !== undefined && !this.session.hasExited;
74
+ this.session?.stop();
75
+ this.session = next;
76
+ return replaced;
77
+ }
78
+ shutdown() {
79
+ this.replace(undefined);
80
+ }
81
+ }
82
+ function describeStop(session, state, waitedMs) {
83
+ const parts = [];
84
+ if (state.kind === "paused") {
85
+ parts.push(session.pauseSummary());
86
+ const snippet = session.sourceSnippet();
87
+ if (snippet)
88
+ parts.push(snippet);
89
+ }
90
+ else if (state.kind === "exited") {
91
+ parts.push(`The program exited (code ${state.code ?? "unknown"}). The debug session is over.`);
92
+ }
93
+ else {
94
+ parts.push(`Still running after ${waitedMs / 1000}s with no breakpoint hit. ` +
95
+ "Use pause to stop it where it is, continue to keep waiting, or stop to end it.");
96
+ }
97
+ const output = session.readNewOutput();
98
+ if (output)
99
+ parts.push(`Program output:\n${truncateTail(output).content}`);
100
+ return parts.join("\n\n");
101
+ }
102
+ async function withLocals(session, text) {
103
+ if (!session.isPaused)
104
+ return text;
105
+ try {
106
+ return `${text}\n\nVariables:\n${await session.variables(0)}`;
107
+ }
108
+ catch {
109
+ return text;
110
+ }
111
+ }
112
+ function need(value, name, action) {
113
+ if (value === undefined)
114
+ throw new Error(`${action} needs \`${name}\``);
115
+ return value;
116
+ }
117
+ export function createDebugTool(cwd, manager, ops = localOperations, planModeRef, getSandboxPolicy) {
118
+ return {
119
+ name: "debug",
120
+ description: "Debug a Node.js program (JS, or TS run by Node's type stripping) with real breakpoints. " +
121
+ "Use it when a bug depends on runtime state: launch with breakpoints, read variables at the " +
122
+ "stop, step, and evaluate expressions in the paused frame — instead of adding prints and re-running. " +
123
+ "launch, continue, step_* and pause return where it stopped, the source around it and the " +
124
+ "local variables. It pauses on uncaught exceptions by default. One session at a time; " +
125
+ "launching again stops the previous program. To debug a node:test file, launch it with " +
126
+ 'node_args ["--test", "--test-isolation=none"]. Test runners that run tests in worker ' +
127
+ "processes (vitest, jest) do not reach breakpoints this way.",
128
+ parameters: DebugParams,
129
+ async execute(args, context) {
130
+ const waitMs = args.timeout_ms ?? DEFAULT_WAIT_MS;
131
+ const session = manager.current;
132
+ if (args.action === "launch") {
133
+ if (isPlanModeActive(planModeRef))
134
+ return planModeRestriction("debug launch");
135
+ const program = need(args.program, "program", "launch");
136
+ let next;
137
+ try {
138
+ next = await NodeDebugSession.launch({
139
+ cwd,
140
+ program,
141
+ ...(args.args && { args: args.args }),
142
+ ...(args.node_args && { nodeArgs: args.node_args }),
143
+ ...(args.breakpoints && { breakpoints: args.breakpoints }),
144
+ ...(args.pause_on_exceptions && { pauseOnExceptions: args.pause_on_exceptions }),
145
+ ...(getSandboxPolicy && { sandboxPolicy: getSandboxPolicy() }),
146
+ ops,
147
+ });
148
+ }
149
+ catch (error) {
150
+ return `Error: could not start the debugger: ${error.message}`;
151
+ }
152
+ const replaced = manager.replace(next);
153
+ // The first stop is always "Break on start", after breakpoints are armed.
154
+ let state = await next.waitForStop(waitMs, context.signal);
155
+ if (state.kind === "paused" && !args.stop_on_entry) {
156
+ state = await next.resume("continue", waitMs, context.signal);
157
+ }
158
+ const armed = next
159
+ .listBreakpoints()
160
+ .map((bp) => `${bp.id} ${bp.file}:${bp.line}`)
161
+ .join(", ");
162
+ const header = (replaced ? "Stopped the previous debug session.\n" : "") +
163
+ `Launched ${program} under the debugger.` +
164
+ (armed ? ` Breakpoints: ${armed}.` : "");
165
+ return withLocals(next, `${header}\n\n${describeStop(next, state, waitMs)}`);
166
+ }
167
+ if (!session)
168
+ return 'Error: no debug session. Start one with action "launch".';
169
+ if (args.action === "output") {
170
+ return session.readNewOutput() || "(no new output)";
171
+ }
172
+ if (args.action === "stop") {
173
+ manager.replace(undefined);
174
+ const output = session.readNewOutput();
175
+ return `Debug session stopped.${output ? `\n\nProgram output:\n${truncateTail(output).content}` : ""}`;
176
+ }
177
+ if (session.hasExited) {
178
+ return `Error: the program already exited (${describeStop(session, session.state(), 0)}). Launch it again.`;
179
+ }
180
+ try {
181
+ switch (args.action) {
182
+ case "set_breakpoint": {
183
+ const file = need(args.file, "file", "set_breakpoint");
184
+ const line = need(args.line, "line", "set_breakpoint");
185
+ const bp = await session.setBreakpoint(file, line, args.condition);
186
+ const where = bp.boundLines.length > 0
187
+ ? `bound at line ${bp.boundLines.join(", ")}`
188
+ : "pending until the file loads (check the path if it never hits)";
189
+ return `Breakpoint ${bp.id} set at ${file}:${line}, ${where}.`;
190
+ }
191
+ case "remove_breakpoint": {
192
+ const id = need(args.breakpoint_id, "breakpoint_id", "remove_breakpoint");
193
+ return (await session.removeBreakpoint(id))
194
+ ? `Removed ${id}.`
195
+ : `Error: no breakpoint ${id}. Set: ${session
196
+ .listBreakpoints()
197
+ .map((b) => b.id)
198
+ .join(", ") || "none"}.`;
199
+ }
200
+ case "continue":
201
+ case "step_over":
202
+ case "step_into":
203
+ case "step_out": {
204
+ if (!session.isPaused) {
205
+ return "Error: the program is running, not paused. Use pause first, or wait for a breakpoint.";
206
+ }
207
+ const state = await session.resume(args.action, waitMs, context.signal);
208
+ return withLocals(session, describeStop(session, state, waitMs));
209
+ }
210
+ case "pause": {
211
+ const state = await session.pause(waitMs, context.signal);
212
+ return withLocals(session, describeStop(session, state, waitMs));
213
+ }
214
+ case "stack":
215
+ if (!session.isPaused)
216
+ return "Error: the program is running; there is no stack to show.";
217
+ return session.stack();
218
+ case "variables":
219
+ if (!session.isPaused)
220
+ return "Error: the program is running; pause it first.";
221
+ return session.variables(args.frame ?? 0);
222
+ case "evaluate":
223
+ return session.evaluate(need(args.expression, "expression", "evaluate"), args.frame ?? 0);
224
+ }
225
+ }
226
+ catch (error) {
227
+ return `Error: ${error.message}`;
228
+ }
229
+ return "Error: unknown action";
230
+ },
231
+ };
232
+ }
233
+ //# sourceMappingURL=debug.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug.js","sourceRoot":"","sources":["../../src/tools/debug.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { z } from "zod";
3
3
  import { resolvePath, rejectSymlink } from "./path-utils.js";
4
4
  import { fuzzyFindText, normalizeForFuzzyMatch, countOccurrences, generateDiff, findClosestSnippet, findOccurrenceLines, stripBlankEdges, applyDotdotdots, applyMissingLeadingWhitespace, } from "./edit-diff.js";
5
5
  import { localOperations } from "./operations.js";
6
- import { assertFresh, recordWrite } from "./read-tracker.js";
6
+ import { isFresh, recordWrite } from "./read-tracker.js";
7
7
  import { resolveAnchoredEdit } from "../core/hashline.js";
8
8
  import { isPlanModeActive, planModeRestriction } from "../core/runtime-mode.js";
9
9
  import { resolveWriteGuard } from "../core/workspace-guard.js";
@@ -181,7 +181,15 @@ export function createEditTool(cwd, readFiles, ops = localOperations, planModeRe
181
181
  if (!guard.allowed) {
182
182
  return `Error: ${guard.reason}`;
183
183
  }
184
- await assertFresh(readFiles, resolved, ops);
184
+ // No prior read is required: every old_text, span and anchor is matched
185
+ // against the live content below, which proves the model knows the text
186
+ // it replaces (it may have seen it via `cat`, or changed the file itself
187
+ // with a script). A read that no longer matches disk is forgotten, so the
188
+ // file counts as unread again: the edit still validates against live
189
+ // content, but a later full-file `write` needs a fresh read.
190
+ if (readFiles?.has(resolved) && !(await isFresh(readFiles, resolved, ops))) {
191
+ readFiles.delete(resolved);
192
+ }
185
193
  const original = await ops.readFile(resolved);
186
194
  const hasCRLF = original.includes("\r\n");
187
195
  const originalNormalized = hasCRLF ? original.replace(/\r\n/g, "\n") : original;
@@ -433,8 +441,8 @@ export function createEditTool(cwd, readFiles, ops = localOperations, planModeRe
433
441
  // the read tracker stays valid. We deliberately do NOT invalidate it
434
442
  // here: doing so turned a precise "old_text not found (closest match
435
443
  // below)" error into a misleading "File must be read first" on every
436
- // following edit, hiding the real fix from the model. assertFresh still
437
- // catches genuine on-disk changes (formatter/external edit).
444
+ // following edit, hiding the real fix from the model. A genuine on-disk
445
+ // change (formatter/external edit) is caught by the freshness check.
438
446
  const header = atomic && failures.length > 0
439
447
  ? `${failures.length} of ${edits.length} edit${edits.length === 1 ? "" : "s"} failed; no changes written (atomic).\n\n`
440
448
  : edits.length > 1
@@ -1 +1 @@
1
- {"version":3,"file":"edit.js","sourceRoot":"","sources":["../../src/tools/edit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"edit.js","sourceRoot":"","sources":["../../src/tools/edit.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,11 @@
1
1
  import type { AgentTool } from "@kenkaiiii/gg-agent";
2
- import type { Provider, ThinkingLevel } from "@kenkaiiii/gg-ai";
2
+ import type { Provider, ToolCall, ToolResult } from "@kenkaiiii/gg-ai";
3
3
  import type { ContextLimits } from "../core/context-limits.js";
4
4
  import { SubAgentManager, type SubAgentSnapshot } from "../core/subagent-manager.js";
5
5
  import { ProcessManager } from "../core/process-manager.js";
6
6
  import { LspManager } from "../core/lsp/manager.js";
7
+ import { TestImpactIndex } from "../core/test-impact.js";
8
+ import { DebugManager } from "./debug.js";
7
9
  import { type GenerateImageAuth } from "./generate-image.js";
8
10
  import { type ToolOperations } from "./operations.js";
9
11
  import type { WriteGuardSettings } from "../core/workspace-guard.js";
@@ -52,7 +54,6 @@ export interface CreateToolsOptions {
52
54
  /** Current parent provider/model, evaluated lazily when spawning a sub-agent. */
53
55
  getProvider?: () => Provider;
54
56
  getModel?: () => string;
55
- getThinkingLevel?: () => ThinkingLevel | undefined;
56
57
  getBaseUrl?: () => string | undefined;
57
58
  /** Optional per-model subagent concurrency cap (subagentMaxPerModel). */
58
59
  getMaxPerModel?: () => number | undefined;
@@ -67,6 +68,12 @@ export interface CreateToolsOptions {
67
68
  lspDiagnostics?: boolean;
68
69
  /** Only hosts that drain diagnostics during steering and flush before completion may opt in. */
69
70
  deferLspDiagnostics?: boolean;
71
+ /**
72
+ * After each edit/write of a JS/TS file, name the tests that import it (with
73
+ * the command running exactly those) and importers left using a removed
74
+ * export. Local filesystem only. Default: true.
75
+ */
76
+ editImpact?: boolean;
70
77
  /**
71
78
  * Auth storage for conditional tool registration. When provided AND the user
72
79
  * has OpenAI connected, the `generate_image` tool is registered — letting the
@@ -126,12 +133,22 @@ export interface CreateToolsResult {
126
133
  * the model must read a file again before editing or overwriting it.
127
134
  */
128
135
  clearReadTracker: () => void;
136
+ /**
137
+ * Credit full-file `cat` output from one finished step as reads. Pass the
138
+ * step's tool calls and results exactly as appended to the transcript, so
139
+ * only bytes the model actually received count.
140
+ */
141
+ recordBashReads: (toolCalls: readonly ToolCall[], toolResults: readonly ToolResult[]) => Promise<void>;
129
142
  /**
130
143
  * Language-server pool backing edit/write diagnostics. Present only when
131
144
  * enabled and running against the local filesystem; callers wire
132
145
  * `shutdownAll()` into their exit/cleanup paths alongside processManager.
133
146
  */
134
147
  lspManager?: LspManager;
148
+ /** Import-graph index behind the edit-impact notes; absent when disabled or remote. */
149
+ testImpact?: TestImpactIndex;
150
+ /** Owner of the live `debug` session; callers `shutdown()` it on exit. Local only. */
151
+ debugManager?: DebugManager;
135
152
  subAgentManager?: SubAgentManager;
136
153
  }
137
154
  export declare function createTools(cwd: string, opts?: CreateToolsOptions): Promise<CreateToolsResult>;
@@ -1,6 +1,8 @@
1
1
  import { SubAgentManager } from "../core/subagent-manager.js";
2
2
  import { ProcessManager } from "../core/process-manager.js";
3
3
  import { LspManager } from "../core/lsp/manager.js";
4
+ import { TestImpactIndex } from "../core/test-impact.js";
5
+ import { createDebugTool, DebugManager } from "./debug.js";
4
6
  import { createReadTool } from "./read.js";
5
7
  import { getVideoByteLimit } from "../core/model-registry.js";
6
8
  import { createWriteTool } from "./write.js";
@@ -10,6 +12,7 @@ import { createUiRegistryTool } from "./ui-registry.js";
10
12
  import { createUiAdoptTool } from "./ui-adopt.js";
11
13
  import { createEditTool } from "./edit.js";
12
14
  import { createBashTool } from "./bash.js";
15
+ import { recordBashReads } from "./bash-read-evidence.js";
13
16
  import { createFindTool } from "./find.js";
14
17
  import { createGrepTool } from "./grep.js";
15
18
  import { createSearchCodeTool } from "./search-code.js";
@@ -46,11 +49,31 @@ export async function createTools(cwd, opts) {
46
49
  // don't exist here. Lazy: no server spawns until the first matching edit.
47
50
  const lspEnabled = (opts?.lspDiagnostics ?? true) && ops === localOperations;
48
51
  const lspManager = lspEnabled ? new LspManager(cwd) : undefined;
49
- const getDiagnostics = lspManager
52
+ const lspDiagnostics = lspManager
50
53
  ? async (filePath, content, source) => opts?.deferLspDiagnostics
51
54
  ? lspManager.queueDiagnosticsAfterWrite(filePath, content, source)
52
55
  : lspManager.diagnosticsAfterWrite(filePath, content, source)
53
56
  : undefined;
57
+ // Same local-only reasoning as LSP: the index reads the workspace from disk.
58
+ const testImpact = (opts?.editImpact ?? true) && ops === localOperations ? new TestImpactIndex(cwd) : undefined;
59
+ const debugManager = ops === localOperations ? new DebugManager() : undefined;
60
+ const getDiagnostics = lspDiagnostics || testImpact
61
+ ? async (filePath, content, source) => {
62
+ const [lspNote, impactNote] = await Promise.all([
63
+ lspDiagnostics?.(filePath, content, source) ?? "",
64
+ testImpact?.noteAfterWrite(filePath, content) ?? "",
65
+ ]);
66
+ return lspNote + impactNote;
67
+ }
68
+ : undefined;
69
+ // Snapshot exports before a tool overwrites a file, so a removed export can
70
+ // be traced to the importers it breaks.
71
+ const onPreFileMutation = testImpact
72
+ ? async (filePath) => {
73
+ await testImpact.beforeWrite(filePath);
74
+ await opts?.onPreFileMutation?.(filePath);
75
+ }
76
+ : opts?.onPreFileMutation;
54
77
  // Enable native video returns from the read tool for any video-capable model
55
78
  // (Kimi/Moonshot, Gemini, MiniMax), each with its own per-model byte cap that
56
79
  // drives auto-compression. Non-video models get `undefined` — video falls back
@@ -58,8 +81,8 @@ export async function createTools(cwd, opts) {
58
81
  const videoByteLimit = opts?.model ? getVideoByteLimit(opts.model) : undefined;
59
82
  const tools = [
60
83
  createReadTool(cwd, readFiles, ops, opts?.onFileRead, videoByteLimit),
61
- createWriteTool(cwd, readFiles, ops, planModeRef, opts?.onFileMutated, opts?.onPreFileMutation, getDiagnostics, opts?.getWriteGuardSettings),
62
- createEditTool(cwd, readFiles, ops, planModeRef, opts?.onFileMutated, opts?.onPreFileMutation, getDiagnostics, opts?.getWriteGuardSettings),
84
+ createWriteTool(cwd, readFiles, ops, planModeRef, opts?.onFileMutated, onPreFileMutation, getDiagnostics, opts?.getWriteGuardSettings),
85
+ createEditTool(cwd, readFiles, ops, planModeRef, opts?.onFileMutated, onPreFileMutation, getDiagnostics, opts?.getWriteGuardSettings),
63
86
  createBashTool(cwd, processManager, ops, planModeRef, undefined, opts?.getNetworkPolicy, ops === localOperations ? opts?.getSandboxPolicy : undefined),
64
87
  createFindTool(cwd),
65
88
  createGrepTool(cwd, ops, { useExternalScanner: opts?.getUseExternalGrep }),
@@ -73,6 +96,11 @@ export async function createTools(cwd, opts) {
73
96
  createTaskStopTool(processManager),
74
97
  createTasksTool(cwd),
75
98
  createScreenshotTool(cwd),
99
+ // The debugger connects to a loopback inspector port, so the program must
100
+ // run on this machine: local operations only, like LSP.
101
+ ...(debugManager
102
+ ? [createDebugTool(cwd, debugManager, ops, planModeRef, opts?.getSandboxPolicy)]
103
+ : []),
76
104
  ];
77
105
  // Local corpus of real repos; only when the CLI is actually on this machine.
78
106
  const steroidsBin = opts?.steroidsBin === undefined ? findSteroidsBinary() : opts.steroidsBin;
@@ -94,7 +122,6 @@ export async function createTools(cwd, opts) {
94
122
  agents: opts.agents,
95
123
  getProvider: () => opts.getProvider?.() ?? opts.provider,
96
124
  getModel: () => opts.getModel?.() ?? opts.model,
97
- getThinkingLevel: () => opts.getThinkingLevel?.(),
98
125
  getCacheKey: opts.getCacheKey,
99
126
  getBaseUrl: opts.getBaseUrl,
100
127
  getMaxPerModel: () => opts.getMaxPerModel?.(),
@@ -130,11 +157,24 @@ export async function createTools(cwd, opts) {
130
157
  // Adoption currently supports the local filesystem only. Never silently write
131
158
  // locally when a host supplied remote operations.
132
159
  if (ops === localOperations) {
133
- tools.push(createUiAdoptTool(cwd, uiRegistry, createWriteTool(cwd, readFiles, adoptionOperations(cwd), planModeRef, opts?.onFileMutated, opts?.onPreFileMutation, getDiagnostics, opts?.getWriteGuardSettings), planModeRef));
160
+ tools.push(createUiAdoptTool(cwd, uiRegistry, createWriteTool(cwd, readFiles, adoptionOperations(cwd), planModeRef, opts?.onFileMutated, onPreFileMutation, getDiagnostics, opts?.getWriteGuardSettings), planModeRef));
134
161
  }
135
162
  const rebuildReadTool = (model) => createReadTool(cwd, readFiles, ops, opts?.onFileRead, getVideoByteLimit(model));
136
163
  const clearReadTracker = () => readFiles.clear();
137
- return { tools, processManager, rebuildReadTool, clearReadTracker, lspManager, subAgentManager };
164
+ const recordStepBashReads = async (toolCalls, toolResults) => {
165
+ await recordBashReads(readFiles, cwd, ops, toolCalls, toolResults);
166
+ };
167
+ return {
168
+ tools,
169
+ processManager,
170
+ rebuildReadTool,
171
+ clearReadTracker,
172
+ recordBashReads: recordStepBashReads,
173
+ lspManager,
174
+ ...(testImpact && { testImpact }),
175
+ ...(debugManager && { debugManager }),
176
+ subAgentManager,
177
+ };
138
178
  }
139
179
  export { createReadTool } from "./read.js";
140
180
  export { createWriteTool } from "./write.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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"}
@@ -24,6 +24,7 @@ export const TOOL_PROMPT_HINTS = {
24
24
  task_output: "Read new output from a background process by id; wait_ms blocks until it exits.",
25
25
  task_stop: "Stop a background process by id.",
26
26
  screenshot: "Verify rendered UI with browser screenshots, click/type actions and viewport controls.",
27
+ debug: "Node.js breakpoints, stepping and live variables.",
27
28
  send_message: "Queue steering into a running child agent without starting another turn.",
28
29
  followup_task: "Start another turn in an idle child agent, preserving its context.",
29
30
  wait_agent: "Block until named child agents finish and return their snapshots; child agents " +
@@ -94,6 +95,7 @@ export const BUILTIN_TOOL_NAMES = [
94
95
  "bash",
95
96
  "code_nav",
96
97
  "code_search",
98
+ "debug",
97
99
  "edit",
98
100
  "enter_plan",
99
101
  "exit_plan",
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-hints.js","sourceRoot":"","sources":["../../src/tools/prompt-hints.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt-hints.js","sourceRoot":"","sources":["../../src/tools/prompt-hints.ts"],"names":[],"mappings":"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"}
@@ -35,6 +35,11 @@ export declare function recordWrite(tracker: ReadTracker | undefined, resolvedPa
35
35
  * formatters can rewrite a file with the same mtime; we re-hash on mtime miss.
36
36
  */
37
37
  export declare function assertFresh(tracker: ReadTracker | undefined, resolvedPath: string, ops: ToolOperations): Promise<void>;
38
+ /**
39
+ * True when the recorded read still matches disk (mtime, else content hash).
40
+ * A hash match after an mtime-only change refreshes the recorded mtime.
41
+ */
42
+ export declare function isFresh(tracker: ReadTracker, resolvedPath: string, ops: ToolOperations): Promise<boolean>;
38
43
  /**
39
44
  * Throw unless the model has been shown every line of the file as it is now.
40
45
  * `write` replaces the whole file, so after a read cut short by offset/limit or