@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,17 @@
1
+ /**
2
+ * Body for a test fixture process that must stay running until a test kills
3
+ * it, yet must not outlive the test run itself.
4
+ *
5
+ * A bare `setInterval(() => {}, 1000)` runs forever: if the test runner is
6
+ * killed mid-test (Ctrl+C, an agent's timeout, a crashed worker), cleanup in
7
+ * `finally`/`afterEach` never runs and the fixture is orphaned for good. This
8
+ * one exits as soon as the owning test process is gone, which never changes
9
+ * a test's outcome because the owner is alive for the whole test.
10
+ *
11
+ * Contains no quotes, `$` or backslashes, so it can be embedded in a
12
+ * double-quoted shell argument or a JS string literal unchanged.
13
+ */
14
+ export function keepAliveWhileOwnerLives(ownerPid = process.pid) {
15
+ return `setInterval(()=>{try{process.kill(${ownerPid},0)}catch{process.exit(0)}},1000);`;
16
+ }
17
+ //# sourceMappingURL=keep-alive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keep-alive.js","sourceRoot":"","sources":["../../src/test-support/keep-alive.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,wBAAwB,CAAC,WAAmB,OAAO,CAAC,GAAG;IACrE,OAAO,qCAAqC,QAAQ,oCAAoC,CAAC;AAC3F,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { ToolCall, ToolResult } from "@kenkaiiii/gg-ai";
2
+ import { type ReadTracker } from "./read-tracker.js";
3
+ import type { ToolOperations } from "./operations.js";
4
+ /** Paths a command prints in full, or [] when it is not a pure file dump. */
5
+ export declare function catTargets(command: string): string[];
6
+ /**
7
+ * Record reads proven by one step's bash calls. Call with the tool results
8
+ * exactly as appended to the transcript (post-trim).
9
+ */
10
+ export declare function recordBashReads(tracker: ReadTracker, cwd: string, ops: ToolOperations, toolCalls: readonly ToolCall[], toolResults: readonly ToolResult[]): Promise<string[]>;
@@ -0,0 +1,133 @@
1
+ import path from "node:path";
2
+ import { recordRead } from "./read-tracker.js";
3
+ import { resolvePath } from "./path-utils.js";
4
+ /**
5
+ * Credit `bash` file dumps as reads, so `edit`/`write` after `cat src/a.ts`
6
+ * does not force a second read of the same bytes.
7
+ *
8
+ * Fail-closed by construction: a file counts only when the command is a plain
9
+ * listing of file paths or one-directory globs (`cat`, `cat -n`, or the
10
+ * `for f in …; do cat …; done` idiom), the tool succeeded, and the CURRENT
11
+ * file content appears verbatim in the output the model actually received
12
+ * (after per-turn trimming). Anything the model did not literally see is
13
+ * never recorded.
14
+ */
15
+ /** Literal paths, optionally with a `*` in the last segment (`src/*.js`).
16
+ * No variables, substitutions, redirections, or recursive globs. */
17
+ const SAFE_PATH = /^[\w./@+-]*(?:\*[\w.@+-]*)?$/;
18
+ const MAX_FILE_BYTES = 256 * 1024;
19
+ const MAX_GLOB_MATCHES = 64;
20
+ /** Paths a command prints in full, or [] when it is not a pure file dump. */
21
+ export function catTargets(command) {
22
+ const segments = command
23
+ .split(/;|&&|\n/)
24
+ .map((s) => s.trim())
25
+ .filter(Boolean);
26
+ const targets = [];
27
+ const literal = (a) => SAFE_PATH.test(a) && a.length > 0 && !a.startsWith("-");
28
+ for (const seg of segments) {
29
+ const cat = /^cat(?:\s+-n)?\s+(.+)$/.exec(seg);
30
+ if (cat?.[1]) {
31
+ const args = cat[1].split(/\s+/);
32
+ if (args.every(literal))
33
+ targets.push(...args);
34
+ }
35
+ }
36
+ // `for f in a b; do echo "== $f"; cat -n $f; done` — explicit word list only.
37
+ const forLoop = /\bfor (\w+) in ([^;\n]+?)\s*;\s*do\b([\s\S]*?)\bdone\b/.exec(command);
38
+ if (forLoop?.[1] && forLoop[2] && forLoop[3]) {
39
+ const v = forLoop[1];
40
+ const body = forLoop[3];
41
+ const catsVar = new RegExp(`\\bcat(?:\\s+-n)?\\s+"?\\$\\{?${v}\\}?"?(?=\\s*(?:;|$|\\n))`).test(body);
42
+ const words = forLoop[2].trim().split(/\s+/);
43
+ if (catsVar && words.every(literal))
44
+ targets.push(...words);
45
+ }
46
+ return [...new Set(targets)];
47
+ }
48
+ /**
49
+ * Expand one target to concrete files. A `*` is matched within its own
50
+ * directory only (shell semantics, dotfiles excluded); a glob that matches
51
+ * nothing yields nothing.
52
+ */
53
+ async function expandTarget(cwd, target, ops) {
54
+ if (!target.includes("*"))
55
+ return [resolvePath(cwd, target)];
56
+ const slash = target.lastIndexOf("/");
57
+ const dir = resolvePath(cwd, slash >= 0 ? target.slice(0, slash) || "/" : ".");
58
+ const pattern = target.slice(slash + 1);
59
+ const [head = "", tail = ""] = pattern.split("*");
60
+ const entries = await ops.readdir(dir, { withFileTypes: true });
61
+ return entries
62
+ .filter((e) => e.isFile() &&
63
+ !e.name.startsWith(".") &&
64
+ e.name.length >= head.length + tail.length &&
65
+ e.name.startsWith(head) &&
66
+ e.name.endsWith(tail))
67
+ .map((e) => path.join(dir, e.name))
68
+ .sort()
69
+ .slice(0, MAX_GLOB_MATCHES);
70
+ }
71
+ /** `cat -n` prefixes each line with a right-aligned number and a tab. */
72
+ function numbered(content) {
73
+ const lines = content.split("\n");
74
+ if (content.endsWith("\n"))
75
+ lines.pop();
76
+ return lines.map((line, i) => `${String(i + 1).padStart(6)}\t${line}`).join("\n");
77
+ }
78
+ function resultText(result) {
79
+ if (typeof result.content === "string")
80
+ return result.content;
81
+ return result.content.map((part) => (part.type === "text" ? part.text : "")).join("");
82
+ }
83
+ /**
84
+ * Record reads proven by one step's bash calls. Call with the tool results
85
+ * exactly as appended to the transcript (post-trim).
86
+ */
87
+ export async function recordBashReads(tracker, cwd, ops, toolCalls, toolResults) {
88
+ const recorded = [];
89
+ const byId = new Map(toolResults.map((r) => [r.toolCallId, r]));
90
+ for (const call of toolCalls) {
91
+ if (call.name !== "bash")
92
+ continue;
93
+ const result = byId.get(call.id);
94
+ const command = call.args["command"];
95
+ if (!result || result.isError || typeof command !== "string")
96
+ continue;
97
+ const targets = catTargets(command);
98
+ if (targets.length === 0)
99
+ continue;
100
+ const output = resultText(result);
101
+ const files = [];
102
+ for (const target of targets) {
103
+ try {
104
+ files.push(...(await expandTarget(cwd, target, ops)));
105
+ }
106
+ catch {
107
+ // Unresolvable path or unreadable directory: nothing was proven.
108
+ }
109
+ }
110
+ // Always re-record: an older full read may be stale (the file changed since),
111
+ // and this output is what the model saw most recently.
112
+ for (const resolved of new Set(files)) {
113
+ try {
114
+ const stat = await ops.stat(resolved);
115
+ if (!stat.isFile() || stat.size > MAX_FILE_BYTES)
116
+ continue;
117
+ const content = await ops.readFile(resolved);
118
+ const body = content.endsWith("\n") ? content.slice(0, -1) : content;
119
+ if (body.length === 0)
120
+ continue;
121
+ if (!output.includes(body) && !output.includes(numbered(content)))
122
+ continue;
123
+ recordRead(tracker, resolved, content, stat.mtimeMs);
124
+ recorded.push(resolved);
125
+ }
126
+ catch {
127
+ // Missing or unreadable: nothing was proven.
128
+ }
129
+ }
130
+ }
131
+ return recorded;
132
+ }
133
+ //# sourceMappingURL=bash-read-evidence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bash-read-evidence.js","sourceRoot":"","sources":["../../src/tools/bash-read-evidence.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,13 @@ import { type ToolOperations } from "./operations.js";
5
5
  import { type ResolveShellOpts } from "../core/shell.js";
6
6
  import { type GetNetworkPolicy } from "../core/network-guard.js";
7
7
  import { type SandboxPolicy } from "../core/sandbox.js";
8
+ /**
9
+ * Background process id when a bash result reports that a foreground command
10
+ * outlived its default budget and was handed to the process manager. Such a
11
+ * command has no exit code yet: its outcome arrives later, like an explicit
12
+ * `run_in_background` run, so callers must not read the result as a failure.
13
+ */
14
+ export declare function autoBackgroundedId(result: string): string | undefined;
8
15
  /**
9
16
  * Render command output for the tool result. Over-limit output is compressed
10
17
  * (keeps errors + head/tail, collapses repeats) rather than blindly
@@ -26,5 +33,7 @@ declare const BashParams: z.ZodObject<{
26
33
  }, z.core.$strip>;
27
34
  export declare function createBashTool(cwd: string, processManager: ProcessManager, ops?: ToolOperations, planModeRef?: {
28
35
  current: boolean;
29
- }, shellOpts?: ResolveShellOpts, getNetworkPolicy?: GetNetworkPolicy, getSandboxPolicy?: () => SandboxPolicy): AgentTool<typeof BashParams>;
36
+ }, shellOpts?: ResolveShellOpts, getNetworkPolicy?: GetNetworkPolicy, getSandboxPolicy?: () => SandboxPolicy,
37
+ /** Default foreground budget; injectable so tests need not wait 120s. */
38
+ defaultTimeoutMs?: number): AgentTool<typeof BashParams>;
30
39
  export {};
@@ -22,6 +22,18 @@ function sandboxAwareEnv(sandboxed) {
22
22
  return sandboxed ? { ...env, ...SANDBOX_ENV_PATCH } : env;
23
23
  }
24
24
  const DEFAULT_TIMEOUT = 120_000; // 120 seconds
25
+ const AUTO_BACKGROUND_RE = /^Still running after \d+(?:\.\d+)?s, so it was moved to the background\b/;
26
+ /**
27
+ * Background process id when a bash result reports that a foreground command
28
+ * outlived its default budget and was handed to the process manager. Such a
29
+ * command has no exit code yet: its outcome arrives later, like an explicit
30
+ * `run_in_background` run, so callers must not read the result as a failure.
31
+ */
32
+ export function autoBackgroundedId(result) {
33
+ if (!AUTO_BACKGROUND_RE.test(result))
34
+ return undefined;
35
+ return /^ID:\s*(\S+)$/m.exec(result)?.[1];
36
+ }
25
37
  const MAX_OUTPUT_BYTES = 10 * 1024 * 1024; // 10 MB — cap buffered output to prevent OOM
26
38
  /**
27
39
  * How long to keep collecting output after the shell exits while something it
@@ -85,7 +97,8 @@ const BashParams = z.object({
85
97
  .int()
86
98
  .min(1000)
87
99
  .optional()
88
- .describe("Timeout in milliseconds (default: 120000)"),
100
+ .describe("Stop the command after this many milliseconds. Without it, a command still " +
101
+ "running after 120000ms moves to the background instead of being stopped."),
89
102
  run_in_background: z
90
103
  .boolean()
91
104
  .optional()
@@ -124,7 +137,9 @@ const BashParams = z.object({
124
137
  "notified automatically the instant one holds, instead of polling " +
125
138
  "task_output. Each condition fires once; exit always notifies regardless."),
126
139
  });
127
- export function createBashTool(cwd, processManager, ops = localOperations, planModeRef, shellOpts, getNetworkPolicy, getSandboxPolicy) {
140
+ export function createBashTool(cwd, processManager, ops = localOperations, planModeRef, shellOpts, getNetworkPolicy, getSandboxPolicy,
141
+ /** Default foreground budget; injectable so tests need not wait 120s. */
142
+ defaultTimeoutMs = DEFAULT_TIMEOUT) {
128
143
  // Lazily created on the first persist:true call; one session per tool
129
144
  // instance (i.e. per agent session), killed when the process exits.
130
145
  let sessionShell = null;
@@ -334,7 +349,7 @@ export function createBashTool(cwd, processManager, ops = localOperations, planM
334
349
  `Use task_output with id="${result.id}" to read output, ` +
335
350
  `task_send to type input/answer prompts, task_stop to stop it.`);
336
351
  }
337
- const effectiveTimeout = timeoutMs ?? DEFAULT_TIMEOUT;
352
+ const effectiveTimeout = timeoutMs ?? defaultTimeoutMs;
338
353
  // Cross-platform shell: bash on macOS/Linux, Git Bash on Windows (or
339
354
  // cmd.exe fallback), wrapped by the OS sandbox before any child starts.
340
355
  const shell = resolveShell(command, shellOpts);
@@ -381,8 +396,51 @@ export function createBashTool(cwd, processManager, ops = localOperations, planM
381
396
  child.stderr?.on("data", onData);
382
397
  let killed = false;
383
398
  let timedOut = false;
399
+ let backgrounded = false;
400
+ const startedAt = Date.now();
401
+ /**
402
+ * Hand a still-running command to the process manager instead of
403
+ * killing it, so a slow build or test run keeps going (same process,
404
+ * same cwd) while the agent moves on. Only for the default budget: an
405
+ * explicit `timeout` is the model saying when to give up. Returns
406
+ * false when adoption is not possible, leaving the kill path to run.
407
+ */
408
+ const moveToBackground = () => {
409
+ // The shell already exited and only leftovers hold the pipes; the
410
+ // drain path owns that case.
411
+ if (timeoutMs !== undefined || child.exitCode !== null || !child.pid)
412
+ return false;
413
+ child.stdout?.off("data", onData);
414
+ child.stderr?.off("data", onData);
415
+ let adopted;
416
+ try {
417
+ adopted = processManager.adopt(child, command, startedAt, Buffer.concat(chunks));
418
+ }
419
+ catch {
420
+ child.stdout?.on("data", onData);
421
+ child.stderr?.on("data", onData);
422
+ return false;
423
+ }
424
+ backgrounded = true;
425
+ context.signal.removeEventListener("abort", onAbort);
426
+ void (async () => {
427
+ const soFar = await renderBashOutput(Buffer.concat(chunks).toString("utf-8"));
428
+ resolve(`Still running after ${effectiveTimeout / 1000}s, so it was moved to the background ` +
429
+ `instead of being stopped. It keeps its working directory and output.\n` +
430
+ `ID: ${adopted.id}\n` +
431
+ `PID: ${adopted.pid}\n` +
432
+ `Log: ${adopted.logFile}\n` +
433
+ `You will be notified when it exits. Use task_output with id="${adopted.id}" ` +
434
+ `(wait_ms to block until it exits) to read output, task_stop to stop it. ` +
435
+ `Pass an explicit timeout to have a command stopped instead.\n` +
436
+ (soFar ? `Output so far:\n${soFar}` : "No output so far."));
437
+ })();
438
+ return true;
439
+ };
384
440
  // Timeout handling
385
441
  const timer = setTimeout(() => {
442
+ if (moveToBackground())
443
+ return;
386
444
  timedOut = true;
387
445
  killed = true;
388
446
  if (child.pid)
@@ -413,6 +471,9 @@ export function createBashTool(cwd, processManager, ops = localOperations, planM
413
471
  clearTimeout(timer);
414
472
  clearTimeout(drainTimer);
415
473
  context.signal.removeEventListener("abort", onAbort);
474
+ // The process manager owns an adopted command's exit.
475
+ if (backgrounded)
476
+ return;
416
477
  const rawOutput = Buffer.concat(chunks).toString("utf-8");
417
478
  let output = await renderBashOutput(rawOutput);
418
479
  if (outputCapped) {
@@ -448,6 +509,8 @@ export function createBashTool(cwd, processManager, ops = localOperations, planM
448
509
  resolve(annotateSandboxDenial(`Exit code: ${exitCode}\n${output}`, launch.sandboxed));
449
510
  });
450
511
  child.on("error", (err) => {
512
+ if (backgrounded)
513
+ return;
451
514
  clearTimeout(timer);
452
515
  clearTimeout(drainTimer);
453
516
  context.signal.removeEventListener("abort", onAbort);
@@ -1 +1 @@
1
- {"version":3,"file":"bash.js","sourceRoot":"","sources":["../../src/tools/bash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAuB,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAyB,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAyB,MAAM,0BAA0B,CAAC;AACrF,OAAO,EACL,oBAAoB,EACpB,iBAAiB,GAGlB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEpE,4EAA4E;AAC5E,SAAS,eAAe,CAAC,SAAkB;IACzC,MAAM,GAAG,GAAG,cAAc,EAAE,CAAC;IAC7B,OAAO,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,iBAAiB,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;AAC5D,CAAC;AAED,MAAM,eAAe,GAAG,OAAO,CAAC,CAAC,cAAc;AAC/C,MAAM,gBAAgB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,6CAA6C;AACxF;;;GAGG;AACH,MAAM,iBAAiB,GAAG,KAAK,CAAC;AAEhC;;;;GAIG;AACH,MAAM,sBAAsB,GAC1B,mGAAmG,CAAC;AAEtG;;;;;;GAMG;AACH,SAAS,iBAAiB,CAAC,GAAW;IACpC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IAC/C,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,wEAAwE;QACxE,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AACD;+DAC+D;AAC/D,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAEhC;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,SAAiB;IACtD,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IACvC,IAAI,CAAC,MAAM,CAAC,SAAS;QAAE,OAAO,MAAM,CAAC,OAAO,CAAC;IAC7C,MAAM,YAAY,GAChB,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,SAAS;QAC/C,CAAC,CAAC,MAAM,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;QAC1D,CAAC,CAAC,IAAI,CAAC;IACX,MAAM,cAAc,GAAG,YAAY;QACjC,CAAC,CAAC,yBAAyB,YAAY,yCAAyC;QAChF,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,CAAC,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,kBAAkB,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;IACtD,OAAO,IAAI,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,cAAc,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;AACjF,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IAC3D,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,IAAI,CAAC;SACT,QAAQ,EAAE;SACV,QAAQ,CAAC,2CAA2C,CAAC;IACxD,iBAAiB,EAAE,CAAC;SACjB,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CACP,uEAAuE;QACrE,0DAA0D,CAC7D;IACH,OAAO,EAAE,CAAC;SACP,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CACP,8EAA8E;QAC5E,6EAA6E;QAC7E,+EAA+E,CAClF;IACH,IAAI,EAAE,CAAC;SACJ,MAAM,CAAC;QACN,OAAO,EAAE,CAAC;aACP,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,GAAG,CAAC;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,4EAA4E;YAC1E,0EAA0E;YAC1E,yEAAyE,CAC5E;QACH,eAAe,EAAE,CAAC;aACf,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,EAAE,CAAC;aACP,GAAG,CAAC,IAAI,CAAC;aACT,QAAQ,EAAE;aACV,QAAQ,CACP,4EAA4E;YAC1E,2EAA2E,CAC9E;KACJ,CAAC;SACD,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,eAAe,KAAK,SAAS,EAAE;QACrF,OAAO,EAAE,sDAAsD;KAChE,CAAC;SACD,QAAQ,EAAE;SACV,QAAQ,CACP,0EAA0E;QACxE,mEAAmE;QACnE,0EAA0E,CAC7E;CACJ,CAAC,CAAC;AAEH,MAAM,UAAU,cAAc,CAC5B,GAAW,EACX,cAA8B,EAC9B,MAAsB,eAAe,EACrC,WAAkC,EAClC,SAA4B,EAC5B,gBAAmC,EACnC,gBAAsC;IAEtC,sEAAsE;IACtE,oEAAoE;IACpE,IAAI,YAAY,GAA2B,IAAI,CAAC;IAChD,mEAAmE;IACnE,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC5C,IAAI,iBAAiB,GAAkB,IAAI,CAAC;IAC5C,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAC7B,yEAAyE;IACzE,0EAA0E;IAC1E,4EAA4E;IAC5E,0EAA0E;IAC1E,gCAAgC;IAChC,MAAM,aAAa,GAAG,YAAY,CAAC,EAAE,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC;IACtE,MAAM,WAAW,GAAG,aAAa;QAC/B,CAAC,CAAC,8EAA8E;YAC9E,6DAA6D;YAC7D,iFAAiF;YACjF,gDAAgD;YAChD,+EAA+E;YAC/E,0FAA0F;YAC1F,wCAAwC;YACxC,uEAAuE;YACvE,+EAA+E;YAC/E,8EAA8E;YAC9E,0CAA0C;YAC1C,mFAAmF;YACnF,yEAAyE;QAC3E,CAAC,CAAC,6FAA6F;YAC7F,iFAAiF;YACjF,gDAAgD;YAChD,iFAAiF;YACjF,iEAAiE;YACjE,+DAA+D;YAC/D,wCAAwC;YACxC,uEAAuE;YACvE,+EAA+E;YAC/E,8EAA8E;YAC9E,0CAA0C;YAC1C,mFAAmF;YACnF,yFAAyF;YACzF,wEAAwE;YACxE,gFAAgF;YAChF,sBAAsB;YACtB,+EAA+E;YAC/E,2EAA2E;YAC3E,kFAAkF;YAClF,yCAAyC,CAAC;IAC9C,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,WAAW,EACT,WAAW;YACX,gFAAgF;YAChF,+DAA+D;YAC/D,qEAAqE;QACvE,UAAU,EAAE,UAAU;QACtB,aAAa,EAAE,YAAY;QAC3B,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,OAAO;YACtF,IAAI,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC/B,OAAO,yGAAyG,CAAC;YACnH,CAAC;YACD,IAAI,SAAgC,CAAC;YACrC,IAAI,IAAI,EAAE,OAAO,EAAE,CAAC;gBAClB,IAAI,CAAC;oBACH,qEAAqE;oBACrE,SAAS,GAAG,EAAE,OAAO,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBACpD,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,6CAA8C,KAAe,CAAC,OAAO,+BAA+B,CAAC;gBAC9G,CAAC;YACH,CAAC;YACD,IAAI,IAAI,EAAE,eAAe,EAAE,CAAC;gBAC1B,SAAS,GAAG,EAAE,GAAG,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,eAAe,GAAG,IAAI,EAAE,CAAC;YACvE,CAAC;YACD,gEAAgE;YAChE,yEAAyE;YACzE,sEAAsE;YACtE,wEAAwE;YACxE,wEAAwE;YACxE,8BAA8B;YAC9B,MAAM,UAAU,GAAG,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YACxE,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,IAAI,oBAAoB,EAAE,CAAC;gBAC9D,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC;gBAC/E,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACtD,OAAO,CACL,4BAA4B,UAAU,WAAW,OAAO,CAAC,MAAM,cAAc;wBAC7E,4BAA4B,GAAG,6CAA6C;wBAC5E,iFAAiF;wBACjF,2EAA2E;wBAC3E,iCAAiC,CAClC,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,IAAI,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;gBACjE,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC;YACrC,CAAC;YACD,wEAAwE;YACxE,yDAAyD;YACzD,MAAM,YAAY,GAAG,qBAAqB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACzD,IAAI,YAAY,EAAE,CAAC;gBACjB,OAAO,UAAU,YAAY,EAAE,CAAC;YAClC,CAAC;YACD,yEAAyE;YACzE,0EAA0E;YAC1E,oEAAoE;YACpE,MAAM,SAAS,GAAG,OAAO,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;YAChF,MAAM,UAAU,GAAG,MAAM,mBAAmB,CAAC,OAAO,EAAE;gBACpD,GAAG;gBACH,UAAU,EACR,SAAS,IAAI,CAAC,SAAS,CAAC,MAAM;oBAC5B,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,IAAI;oBACvF,CAAC,CAAC,SAAS;aAChB,CAAC,CAAC;YACH,IAAI,UAAU,EAAE,CAAC;gBACf,OAAO,UAAU,UAAU,EAAE,CAAC;YAChC,CAAC;YACD,2EAA2E;YAC3E,sEAAsE;YACtE,MAAM,aAAa,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;YACvD,IAAI,aAAa,EAAE,CAAC;gBAClB,OAAO,UAAU,aAAa,EAAE,CAAC;YACnC,CAAC;YACD,oEAAoE;YACpE,wEAAwE;YACxE,MAAM,cAAc,GAAG,MAAM,mBAAmB,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YACtF,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;YAC7E,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,2CAA2C,OAAO,CAAC,IAAI,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;YACvF,CAAC;YACD,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC;YACjF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC7D,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC/B,OAAO,CACL,oBAAoB,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;oBAC5E,2EAA2E,CAC5E,CAAC;YACJ,CAAC;YACD,0EAA0E;YAC1E,gEAAgE;YAChE,wDAAwD;YACxD,MAAM,cAAc,GAAG,kBAAkB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;YACrE,IAAI,cAAc,EAAE,CAAC;gBACnB,OAAO,UAAU,cAAc,EAAE,CAAC;YACpC,CAAC;YACD,MAAM,aAAa,GAAG,gBAAgB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC;YAClF,MAAM,aAAa,GAAG,KAAK,EACzB,KAAsC,EACd,EAAE,CAAC,oBAAoB,CAAC,KAAK,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;YAE7E,2EAA2E;YAC3E,qDAAqD;YACrD,IAAI,OAAO,IAAI,CAAC,iBAAiB,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,aAAa,EAAE,CAAC;gBACrF,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;gBACjD,IAAI,YAAY,IAAI,iBAAiB,KAAK,UAAU,EAAE,CAAC;oBACrD,YAAY,CAAC,IAAI,EAAE,CAAC;oBACpB,YAAY,GAAG,IAAI,CAAC;gBACtB,CAAC;gBACD,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClB,IAAI,CAAC;wBACH,MAAM,KAAK,GAAG,YAAY,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;wBAC1C,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC;4BACjC,GAAG,KAAK;4BACR,IAAI,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,CAAC;yBAClD,CAAC,CAAC;wBACH,YAAY,GAAG,IAAI,eAAe,CAChC,GAAG,EACH,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,EACjC,gBAAgB,EAChB,SAAS,EACT,MAAM,CACP,CAAC;wBACF,iBAAiB,GAAG,UAAU,CAAC;wBAC/B,gBAAgB,GAAG,MAAM,CAAC,SAAS,CAAC;oBACtC,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,OAAO,uDAAwD,KAAe,CAAC,OAAO,EAAE,CAAC;oBAC3F,CAAC;gBACH,CAAC;gBACD,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO;oBAAE,OAAO,sBAAsB,CAAC;gBAC1D,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,GAAG,CAChC,OAAO,EACP,SAAS,IAAI,eAAe,EAC5B,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,QAAQ;oBACd,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;oBACtF,CAAC,CAAC,SAAS,CACd,CAAC;gBACF,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAClD,MAAM,QAAQ,GACZ,GAAG,CAAC,QAAQ,KAAK,SAAS;oBACxB,CAAC,CAAC,YAAY,SAAS,IAAI,eAAe,KAAK;wBAC7C,CAAC,GAAG,CAAC,SAAS;4BACZ,CAAC,CAAC,gEAAgE;4BAClE,CAAC,CAAC,EAAE,CAAC;oBACT,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC3B,uEAAuE;gBACvE,qBAAqB;gBACrB,MAAM,WAAW,GAAG,YAAY,CAAC,eAAe,EAAE,CAAC;gBACnD,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnD,OAAO,qBAAqB,CAAC,cAAc,QAAQ,KAAK,IAAI,GAAG,MAAM,EAAE,EAAE,gBAAgB,CAAC,CAAC;YAC7F,CAAC;YACD,IAAI,iBAAiB,EAAE,CAAC;gBACtB,IAAI,MAAqB,CAAC;gBAC1B,IAAI,CAAC;oBACH,MAAM,GAAG,MAAM,aAAa,CAAC,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;gBACjE,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,uDAAwD,KAAe,CAAC,OAAO,EAAE,CAAC;gBAC3F,CAAC;gBACD,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO;oBAAE,OAAO,sBAAsB,CAAC;gBAC1D,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;gBAC3E,OAAO,CACL,+BAA+B;oBAC/B,OAAO,MAAM,CAAC,EAAE,IAAI;oBACpB,QAAQ,MAAM,CAAC,GAAG,IAAI;oBACtB,QAAQ,MAAM,CAAC,OAAO,IAAI;oBAC1B,CAAC,SAAS;wBACR,CAAC,CAAC,MAAM,CAAC,SAAS;4BAChB,CAAC,CAAC,qBAAqB;gCACnB,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI;gCAClE,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,SAAS,CAAC,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI;6BACtE;iCACE,MAAM,CAAC,OAAO,CAAC;iCACf,IAAI,CACH,KAAK,CACN,6EAA6E;4BAClF,CAAC,CAAC,yJAAyJ;wBAC7J,CAAC,CAAC,EAAE,CAAC;oBACP,4BAA4B,MAAM,CAAC,EAAE,oBAAoB;oBACzD,+DAA+D,CAChE,CAAC;YACJ,CAAC;YAED,MAAM,gBAAgB,GAAG,SAAS,IAAI,eAAe,CAAC;YAEtD,qEAAqE;YACrE,wEAAwE;YACxE,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAC/C,IAAI,MAAqB,CAAC;YAC1B,IAAI,CAAC;gBACH,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,CAAC;YACtC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,8DAA+D,KAAe,CAAC,OAAO,EAAE,CAAC;YAClG,CAAC;YACD,sEAAsE;YACtE,iEAAiE;YACjE,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO;gBAAE,OAAO,sBAAsB,CAAC;YAE1D,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC7C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE;oBAChD,GAAG;oBACH,QAAQ,EAAE,IAAI;oBACd,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;oBACjC,GAAG,EAAE,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC;iBACvC,CAAC,CAAC;gBAEH,MAAM,MAAM,GAAa,EAAE,CAAC;gBAC5B,IAAI,UAAU,GAAG,CAAC,CAAC;gBACnB,IAAI,YAAY,GAAG,KAAK,CAAC;gBAEzB,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,EAAE;oBAC9B,IAAI,YAAY;wBAAE,OAAO;oBACzB,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC;oBAC1B,IAAI,UAAU,GAAG,gBAAgB,EAAE,CAAC;wBAClC,YAAY,GAAG,IAAI,CAAC;wBACpB,OAAO;oBACT,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAElB,gDAAgD;oBAChD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;wBACrB,OAAO,CAAC,QAAQ,CAAC;4BACf,IAAI,EAAE,eAAe;4BACrB,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;4BAC9B,UAAU;yBACX,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC,CAAC;gBACF,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBACjC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAEjC,IAAI,MAAM,GAAG,KAAK,CAAC;gBACnB,IAAI,QAAQ,GAAG,KAAK,CAAC;gBAErB,mBAAmB;gBACnB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC5B,QAAQ,GAAG,IAAI,CAAC;oBAChB,MAAM,GAAG,IAAI,CAAC;oBACd,IAAI,KAAK,CAAC,GAAG;wBAAE,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC5C,CAAC,EAAE,gBAAgB,CAAC,CAAC;gBAErB,wBAAwB;gBACxB,MAAM,OAAO,GAAG,GAAG,EAAE;oBACnB,MAAM,GAAG,IAAI,CAAC;oBACd,IAAI,KAAK,CAAC,GAAG;wBAAE,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC5C,CAAC,CAAC;gBACF,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBAElE,mEAAmE;gBACnE,yEAAyE;gBACzE,mEAAmE;gBACnE,uEAAuE;gBACvE,0CAA0C;gBAC1C,IAAI,QAA4C,CAAC;gBACjD,IAAI,UAAqD,CAAC;gBAC1D,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;oBACpB,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE;wBAC3B,QAAQ,GAAG,KAAK,CAAC,GAAG,IAAI,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;wBAC9E,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;wBACxB,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;oBAC1B,CAAC,EAAE,iBAAiB,CAAC,CAAC;gBACxB,CAAC,CAAC,CAAC;gBAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;oBAC/B,YAAY,CAAC,KAAK,CAAC,CAAC;oBACpB,YAAY,CAAC,UAAU,CAAC,CAAC;oBACzB,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;oBAErD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;oBAC1D,IAAI,MAAM,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAAC,CAAC;oBAC/C,IAAI,YAAY,EAAE,CAAC;wBACjB,MAAM;4BACJ,qBAAqB,gBAAgB,GAAG,IAAI,GAAG,IAAI,qCAAqC;gCACxF,MAAM,CAAC;oBACX,CAAC;oBACD,uEAAuE;oBACvE,uEAAuE;oBACvE,mEAAmE;oBACnE,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;wBACxB,MAAM;4BACJ,mEAAmE;gCACnE,8DAA8D;gCAC9D,yCAAyC;gCACzC,MAAM,CAAC;oBACX,CAAC;oBACD,IAAI,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;wBACxB,MAAM,IAAI,GACR,QAAQ,KAAK,SAAS;4BACpB,CAAC,CAAC,mBAAmB;4BACrB,CAAC,CAAC,+DAA+D,CAAC;wBACtE,MAAM;4BACJ,uEAAuE;gCACvE,sCAAsC,iBAAiB,GAAG,IAAI,YAAY,IAAI,IAAI;gCAClF,sEAAsE;gCACtE,MAAM,CAAC;oBACX,CAAC;oBAED,MAAM,QAAQ,GAAG,QAAQ;wBACvB,CAAC,CAAC,YAAY,gBAAgB,KAAK;wBACnC,CAAC,CAAC,MAAM;4BACN,CAAC,CAAC,QAAQ;4BACV,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;oBAExB,OAAO,CAAC,qBAAqB,CAAC,cAAc,QAAQ,KAAK,MAAM,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;gBACxF,CAAC,CAAC,CAAC;gBAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;oBACxB,YAAY,CAAC,KAAK,CAAC,CAAC;oBACpB,YAAY,CAAC,UAAU,CAAC,CAAC;oBACzB,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;oBACrD,MAAM,CAAC,IAAI,KAAK,CAAC,kCAAkC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBACrE,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"bash.js","sourceRoot":"","sources":["../../src/tools/bash.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ import { z } from "zod";
2
+ import type { AgentTool } from "@kenkaiiii/gg-agent";
3
+ import { NodeDebugSession } from "../core/node-debugger.js";
4
+ import type { SandboxPolicy } from "../core/sandbox.js";
5
+ import { type ToolOperations } from "./operations.js";
6
+ declare const DebugParams: z.ZodObject<{
7
+ action: z.ZodEnum<{
8
+ output: "output";
9
+ pause: "pause";
10
+ stop: "stop";
11
+ stack: "stack";
12
+ continue: "continue";
13
+ step_over: "step_over";
14
+ step_into: "step_into";
15
+ step_out: "step_out";
16
+ launch: "launch";
17
+ set_breakpoint: "set_breakpoint";
18
+ remove_breakpoint: "remove_breakpoint";
19
+ variables: "variables";
20
+ evaluate: "evaluate";
21
+ }>;
22
+ program: z.ZodOptional<z.ZodString>;
23
+ args: z.ZodOptional<z.ZodArray<z.ZodString>>;
24
+ node_args: z.ZodOptional<z.ZodArray<z.ZodString>>;
25
+ breakpoints: z.ZodOptional<z.ZodArray<z.ZodObject<{
26
+ file: z.ZodString;
27
+ line: z.ZodNumber;
28
+ condition: z.ZodOptional<z.ZodString>;
29
+ }, z.core.$strip>>>;
30
+ stop_on_entry: z.ZodOptional<z.ZodBoolean>;
31
+ pause_on_exceptions: z.ZodOptional<z.ZodEnum<{
32
+ none: "none";
33
+ all: "all";
34
+ uncaught: "uncaught";
35
+ }>>;
36
+ file: z.ZodOptional<z.ZodString>;
37
+ line: z.ZodOptional<z.ZodNumber>;
38
+ condition: z.ZodOptional<z.ZodString>;
39
+ breakpoint_id: z.ZodOptional<z.ZodString>;
40
+ frame: z.ZodOptional<z.ZodNumber>;
41
+ expression: z.ZodOptional<z.ZodString>;
42
+ timeout_ms: z.ZodOptional<z.ZodNumber>;
43
+ }, z.core.$strip>;
44
+ /** Holds the one live debug session of an agent session; `shutdown` on dispose. */
45
+ export declare class DebugManager {
46
+ private session;
47
+ get current(): NodeDebugSession | undefined;
48
+ replace(next: NodeDebugSession | undefined): boolean;
49
+ shutdown(): void;
50
+ }
51
+ export declare function createDebugTool(cwd: string, manager: DebugManager, ops?: ToolOperations, planModeRef?: {
52
+ current: boolean;
53
+ }, getSandboxPolicy?: () => SandboxPolicy): AgentTool<typeof DebugParams>;
54
+ export {};