experimental-ash 0.3.0-alpha.1 → 0.3.0-alpha.2

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 (43) hide show
  1. package/dist/src/execution/sandboxes/bindings/local.js +6 -5
  2. package/dist/src/execution/sandboxes/bindings/local.js.map +1 -1
  3. package/dist/src/execution/sandboxes/bindings/vercel.d.ts.map +1 -1
  4. package/dist/src/execution/sandboxes/bindings/vercel.js +55 -20
  5. package/dist/src/execution/sandboxes/bindings/vercel.js.map +1 -1
  6. package/dist/src/execution/sandboxes/glob-tool.d.ts +7 -2
  7. package/dist/src/execution/sandboxes/glob-tool.d.ts.map +1 -1
  8. package/dist/src/execution/sandboxes/glob-tool.js +113 -22
  9. package/dist/src/execution/sandboxes/glob-tool.js.map +1 -1
  10. package/dist/src/execution/sandboxes/grep-tool.d.ts +10 -4
  11. package/dist/src/execution/sandboxes/grep-tool.d.ts.map +1 -1
  12. package/dist/src/execution/sandboxes/grep-tool.js +134 -50
  13. package/dist/src/execution/sandboxes/grep-tool.js.map +1 -1
  14. package/dist/src/execution/sandboxes/ripgrep-probe.d.ts +10 -0
  15. package/dist/src/execution/sandboxes/ripgrep-probe.d.ts.map +1 -0
  16. package/dist/src/execution/sandboxes/ripgrep-probe.js +45 -0
  17. package/dist/src/execution/sandboxes/ripgrep-probe.js.map +1 -0
  18. package/dist/src/execution/sandboxes/session.d.ts +9 -0
  19. package/dist/src/execution/sandboxes/session.d.ts.map +1 -1
  20. package/dist/src/execution/sandboxes/session.js +1 -0
  21. package/dist/src/execution/sandboxes/session.js.map +1 -1
  22. package/dist/src/internal/application/package.js +1 -1
  23. package/dist/src/public/definitions/sandbox.d.ts +37 -17
  24. package/dist/src/public/definitions/sandbox.d.ts.map +1 -1
  25. package/dist/src/public/definitions/sandbox.js.map +1 -1
  26. package/dist/src/public/sandboxes/index.d.ts +4 -1
  27. package/dist/src/public/sandboxes/index.d.ts.map +1 -1
  28. package/dist/src/public/sandboxes/index.js +4 -1
  29. package/dist/src/public/sandboxes/index.js.map +1 -1
  30. package/dist/src/runtime/workspace/spec.d.ts.map +1 -1
  31. package/dist/src/runtime/workspace/spec.js +4 -6
  32. package/dist/src/runtime/workspace/spec.js.map +1 -1
  33. package/dist/src/runtime/workspace/types.d.ts +7 -24
  34. package/dist/src/runtime/workspace/types.d.ts.map +1 -1
  35. package/dist/src/runtime/workspace/types.js +6 -18
  36. package/dist/src/runtime/workspace/types.js.map +1 -1
  37. package/docs/public/sandboxes.md +14 -10
  38. package/docs/public/workspace.md +8 -14
  39. package/package.json +1 -1
  40. package/dist/src/execution/sandboxes/logical-path.d.ts +0 -36
  41. package/dist/src/execution/sandboxes/logical-path.d.ts.map +0 -1
  42. package/dist/src/execution/sandboxes/logical-path.js +0 -56
  43. package/dist/src/execution/sandboxes/logical-path.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  import { access, mkdir, readFile, writeFile } from "node:fs/promises";
2
2
  import { dirname, join } from "node:path";
3
3
  import { resolveSandboxCacheDirectory } from "../../../internal/application/paths.js";
4
- import { LOCAL_WORKSPACE_CWD as LOCAL_SANDBOX_CWD } from "../../../runtime/workspace/types.js";
4
+ import { WORKSPACE_ROOT } from "../../../runtime/workspace/types.js";
5
5
  import { buildSandboxSession } from "../session.js";
6
6
  const LOCAL_SANDBOX_SNAPSHOT_VERSION = 1;
7
7
  /**
@@ -127,7 +127,7 @@ async function createBashSandbox(input) {
127
127
  await ensureLocalSandboxDirectories(filesystem);
128
128
  await restoreLocalSandboxDirectories(filesystem, snapshot?.entries ?? []);
129
129
  const bash = new Bash({
130
- cwd: LOCAL_SANDBOX_CWD,
130
+ cwd: WORKSPACE_ROOT,
131
131
  env: snapshot?.env,
132
132
  fs: filesystem,
133
133
  network: {
@@ -192,6 +192,7 @@ function createHandle(sandbox, sandboxName) {
192
192
  }
193
193
  function createLocalSessionPrimitives(sandbox) {
194
194
  return {
195
+ id: sandbox.sessionKey,
195
196
  readFileRaw: (path) => sandbox.readFileText(path),
196
197
  resolvePath: resolveLocalPath,
197
198
  runCommand: (command) => sandbox.executeCommand(command),
@@ -202,7 +203,7 @@ function resolveLocalPath(path) {
202
203
  if (path.startsWith("/")) {
203
204
  return path;
204
205
  }
205
- return `${LOCAL_SANDBOX_CWD}/${path}`;
206
+ return `${WORKSPACE_ROOT}/${path}`;
206
207
  }
207
208
  function resolveTemplateSnapshotPath(cacheDirectory, templateKey) {
208
209
  return join(cacheDirectory, "local", "templates", `${templateKey}.json`);
@@ -221,7 +222,7 @@ function createInitialFiles(snapshot) {
221
222
  return files;
222
223
  }
223
224
  async function ensureLocalSandboxDirectories(filesystem) {
224
- await filesystem.mkdir(LOCAL_SANDBOX_CWD, {
225
+ await filesystem.mkdir(WORKSPACE_ROOT, {
225
226
  recursive: true,
226
227
  });
227
228
  }
@@ -231,7 +232,7 @@ async function restoreLocalSandboxDirectories(filesystem, entries) {
231
232
  .map((entry) => entry.path)
232
233
  .sort((left, right) => left.localeCompare(right));
233
234
  for (const directoryPath of directoryPaths) {
234
- if (directoryPath === LOCAL_SANDBOX_CWD) {
235
+ if (directoryPath === WORKSPACE_ROOT) {
235
236
  continue;
236
237
  }
237
238
  await filesystem.mkdir(directoryPath, {
@@ -1 +1 @@
1
- {"version":3,"file":"local.js","sourceRoot":"","sources":["../../../../../src/execution/sandboxes/bindings/local.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local.js","sourceRoot":"","sources":["../../../../../src/execution/sandboxes/bindings/local.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"vercel.d.ts","sourceRoot":"","sources":["../../../../../src/execution/sandboxes/bindings/vercel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,gBAAgB,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAQhE,OAAO,KAAK,EACV,cAAc,EAKf,MAAM,aAAa,CAAC;AAErB,KAAK,mBAAmB,GAAG,OAAO,gBAAgB,CAAC;AAEnD;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,0BAA0B,GAAG,IAAI,CAC3C,WAAW,CAAC,UAAU,CAAC,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EACvD,MAAM,GAAG,YAAY,GAAG,QAAQ,GAAG,QAAQ,CAC5C,CAAC;AAEF;;;;GAIG;AACH,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,aAAa,CAAC,EAAE,0BAA0B,CAAC;IACpD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACjE;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,GAAE,+BAAoC,GAC1C,cAAc,CA4DhB"}
1
+ {"version":3,"file":"vercel.d.ts","sourceRoot":"","sources":["../../../../../src/execution/sandboxes/bindings/vercel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,gBAAgB,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAKhE,OAAO,KAAK,EACV,cAAc,EAKf,MAAM,aAAa,CAAC;AAErB,KAAK,mBAAmB,GAAG,OAAO,gBAAgB,CAAC;AAEnD;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,0BAA0B,GAAG,IAAI,CAC3C,WAAW,CAAC,UAAU,CAAC,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EACvD,MAAM,GAAG,YAAY,GAAG,QAAQ,GAAG,QAAQ,CAC5C,CAAC;AAEF;;;;GAIG;AACH,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,aAAa,CAAC,EAAE,0BAA0B,CAAC;IACpD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACjE;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,GAAE,+BAAoC,GAC1C,cAAc,CA4DhB"}
@@ -1,4 +1,4 @@
1
- import { VERCEL_WORKSPACE_CWD as VERCEL_SANDBOX_CWD, WORKSPACE_ROOT, } from "../../../runtime/workspace/types.js";
1
+ import { WORKSPACE_ROOT } from "../../../runtime/workspace/types.js";
2
2
  import { buildSandboxSession } from "../session.js";
3
3
  /**
4
4
  * Creates the Vercel-backed sandbox backend.
@@ -35,7 +35,7 @@ export function createVercelSandboxBackend(input = {}) {
35
35
  catch (error) {
36
36
  throw new Error(`Failed to create sandbox session "${createInput.sessionKey}": ${errorMessage(error)}`, { cause: error });
37
37
  }
38
- await ensureSandboxWorkingDirectory(sandbox);
38
+ await ensureSandboxWorkingDirectory(sandbox, createOptions);
39
39
  return createHandle(sandbox, createInput.sandboxName, createInput.sessionKey);
40
40
  },
41
41
  async prewarm(prewarmInput) {
@@ -75,8 +75,8 @@ async function ensureTemplate(input) {
75
75
  templateKey: input.templateKey,
76
76
  };
77
77
  }
78
- await ensureSandboxWorkingDirectory(sandbox);
79
- const templateSession = buildSandboxSession(createVercelSessionPrimitives(sandbox));
78
+ await ensureSandboxWorkingDirectory(sandbox, input.createOptions);
79
+ const templateSession = buildSandboxSession(createVercelSessionPrimitives(sandbox, input.templateKey));
80
80
  if (input.bootstrap !== undefined) {
81
81
  await input.bootstrap(templateSession);
82
82
  }
@@ -120,7 +120,7 @@ async function ensureSession(input) {
120
120
  }
121
121
  function createHandle(sandbox, sandboxName, sessionKey) {
122
122
  return {
123
- session: buildSandboxSession(createVercelSessionPrimitives(sandbox)),
123
+ session: buildSandboxSession(createVercelSessionPrimitives(sandbox, sessionKey)),
124
124
  async captureState() {
125
125
  return {
126
126
  backendName: "vercel",
@@ -132,8 +132,9 @@ function createHandle(sandbox, sandboxName, sessionKey) {
132
132
  async dispose() { },
133
133
  };
134
134
  }
135
- function createVercelSessionPrimitives(sandbox) {
135
+ function createVercelSessionPrimitives(sandbox, id) {
136
136
  return {
137
+ id,
137
138
  async readFileRaw(resolvedPath) {
138
139
  const buffer = await sandbox.readFileToBuffer({ path: resolvedPath });
139
140
  if (buffer === null) {
@@ -141,12 +142,12 @@ function createVercelSessionPrimitives(sandbox) {
141
142
  }
142
143
  return new TextDecoder("utf-8", { fatal: true }).decode(buffer);
143
144
  },
144
- resolvePath: toVercelSandboxPath,
145
+ resolvePath: resolveVercelSandboxPath,
145
146
  async runCommand(command) {
146
147
  const result = await sandbox.runCommand({
147
148
  args: ["-lc", command],
148
149
  cmd: "bash",
149
- cwd: VERCEL_SANDBOX_CWD,
150
+ cwd: WORKSPACE_ROOT,
150
151
  });
151
152
  const [stdout, stderr] = await Promise.all([result.stdout(), result.stderr()]);
152
153
  return { exitCode: result.exitCode, stderr, stdout };
@@ -157,28 +158,62 @@ function createVercelSessionPrimitives(sandbox) {
157
158
  },
158
159
  };
159
160
  }
160
- function toVercelSandboxPath(path) {
161
- if (path === WORKSPACE_ROOT) {
162
- return VERCEL_SANDBOX_CWD;
163
- }
164
- if (path.startsWith(`${WORKSPACE_ROOT}/`)) {
165
- return `${VERCEL_SANDBOX_CWD}${path.slice(WORKSPACE_ROOT.length)}`;
166
- }
161
+ function resolveVercelSandboxPath(path) {
167
162
  if (path.startsWith("/")) {
168
163
  return path;
169
164
  }
170
- return `${VERCEL_SANDBOX_CWD}/${path}`;
165
+ return `${WORKSPACE_ROOT}/${path}`;
166
+ }
167
+ /**
168
+ * Prepares a fresh Vercel sandbox for use by the framework.
169
+ *
170
+ * Runs two privileged steps:
171
+ *
172
+ * 1. Creates the workspace directory ({@link WORKSPACE_ROOT}) and
173
+ * hands ownership to `vercel-sandbox` so subsequent non-sudo
174
+ * commands can read and write it without escalation.
175
+ * 2. Installs `rg` (ripgrep) for the `grep` and `glob` framework
176
+ * tools. Amazon Linux 2023 does not ship ripgrep in its core
177
+ * repos but does ship it in SPAL, so we enable SPAL and install
178
+ * ripgrep from there.
179
+ *
180
+ * Skipped entirely when the author has configured a `deny-all`
181
+ * network policy — the `dnf` commands need to reach
182
+ * `cdn.amazonlinux.com`. When skipped, the framework
183
+ * `grep`/`glob` tools transparently fall back to POSIX
184
+ * `grep -rn` / `find`. When attempted, a failure is fatal.
185
+ */
186
+ async function ensureSandboxWorkingDirectory(sandbox, createOptions) {
187
+ await runSandboxBootstrapStep(sandbox, {
188
+ failureMessage: "Failed to initialize Vercel sandbox workspace.",
189
+ script: `mkdir -p ${WORKSPACE_ROOT} && chown ${SANDBOX_USER}:${SANDBOX_USER} ${WORKSPACE_ROOT}`,
190
+ });
191
+ if (createOptions.networkPolicy === "deny-all") {
192
+ return;
193
+ }
194
+ await runSandboxBootstrapStep(sandbox, {
195
+ failureMessage: "Failed to install ripgrep in Vercel sandbox.",
196
+ script: "command -v rg >/dev/null 2>&1 || { dnf install -y spal-release && dnf install -y ripgrep; }",
197
+ });
171
198
  }
172
- async function ensureSandboxWorkingDirectory(sandbox) {
199
+ async function runSandboxBootstrapStep(sandbox, input) {
173
200
  const result = await sandbox.runCommand({
174
- args: ["-p", VERCEL_SANDBOX_CWD],
175
- cmd: "mkdir",
201
+ args: ["-lc", input.script],
202
+ cmd: "bash",
203
+ sudo: true,
176
204
  });
177
205
  if (result.exitCode !== 0) {
178
206
  const stderr = await result.stderr();
179
- throw new Error(`Failed to initialize Vercel sandbox working directory. ${stderr}`);
207
+ throw new Error(`${input.failureMessage} ${stderr}`.trim());
180
208
  }
181
209
  }
210
+ /**
211
+ * The non-root user that Vercel Sandbox executes user code as. Documented
212
+ * in the `@vercel/sandbox` README under "System". Used to hand ownership
213
+ * of the framework-managed workspace directory back to the user after
214
+ * creating it with `sudo`.
215
+ */
216
+ const SANDBOX_USER = "vercel-sandbox";
182
217
  async function getNamedSandbox(sandboxModule, sandboxName) {
183
218
  try {
184
219
  return await sandboxModule.Sandbox.get({ name: sandboxName });
@@ -1 +1 @@
1
- {"version":3,"file":"vercel.js","sourceRoot":"","sources":["../../../../../src/execution/sandboxes/bindings/vercel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vercel.js","sourceRoot":"","sources":["../../../../../src/execution/sandboxes/bindings/vercel.ts"],"names":[],"mappings":"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"}
@@ -16,8 +16,13 @@ export interface GlobResult {
16
16
  readonly truncated: boolean;
17
17
  }
18
18
  /**
19
- * Searches for files matching a glob pattern inside the sandbox using
20
- * `rg --files`. Returns logical `/workspace/...` paths.
19
+ * Searches for files matching a glob pattern inside the sandbox.
20
+ *
21
+ * Uses `rg --files` when ripgrep is available on the sandbox PATH.
22
+ * When ripgrep is not present — for example, because the author
23
+ * configured a network policy that prevented the framework from
24
+ * installing it during bootstrap — falls back to POSIX `find`, which
25
+ * ships as part of `findutils` in the Amazon Linux 2023 base image.
21
26
  *
22
27
  * Results are bounded by both the count limit and a byte cap
23
28
  * ({@link MAX_OUTPUT_BYTES}) to prevent unbounded output when a workspace
@@ -1 +1 @@
1
- {"version":3,"file":"glob-tool.d.ts","sourceRoot":"","sources":["../../../../src/execution/sandboxes/glob-tool.ts"],"names":[],"mappings":"AAkBA;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAMD;;;;;;;;;;GAUG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAiF/E"}
1
+ {"version":3,"file":"glob-tool.d.ts","sourceRoot":"","sources":["../../../../src/execution/sandboxes/glob-tool.ts"],"names":[],"mappings":"AAkBA;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAMD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CA+E/E"}
@@ -1,6 +1,6 @@
1
1
  import { normalizeModelPath } from "../../runtime/framework-tools/file-state.js";
2
- import { toLogicalPath } from "./logical-path.js";
3
2
  import { requireSandboxSession, validateAbsoluteFilePath } from "./require-sandbox.js";
3
+ import { ripgrepIsAvailable } from "./ripgrep-probe.js";
4
4
  import { shellQuote } from "./shell-quote.js";
5
5
  import { MAX_OUTPUT_BYTES } from "./truncate-output.js";
6
6
  // ---------------------------------------------------------------------------
@@ -13,8 +13,13 @@ const DEFAULT_PATH = "/workspace";
13
13
  // Executor
14
14
  // ---------------------------------------------------------------------------
15
15
  /**
16
- * Searches for files matching a glob pattern inside the sandbox using
17
- * `rg --files`. Returns logical `/workspace/...` paths.
16
+ * Searches for files matching a glob pattern inside the sandbox.
17
+ *
18
+ * Uses `rg --files` when ripgrep is available on the sandbox PATH.
19
+ * When ripgrep is not present — for example, because the author
20
+ * configured a network policy that prevented the framework from
21
+ * installing it during bootstrap — falls back to POSIX `find`, which
22
+ * ships as part of `findutils` in the Amazon Linux 2023 base image.
18
23
  *
19
24
  * Results are bounded by both the count limit and a byte cap
20
25
  * ({@link MAX_OUTPUT_BYTES}) to prevent unbounded output when a workspace
@@ -29,34 +34,32 @@ export async function executeGlobOnSandbox(args) {
29
34
  const normalizedPath = normalizeModelPath(effectivePath);
30
35
  const effectiveLimit = Math.min(Math.max(1, args.limit ?? DEFAULT_GLOB_LIMIT), MAX_GLOB_LIMIT);
31
36
  const sandbox = await requireSandboxSession();
32
- // Resolve the logical path to the backend-native path so the rg
33
- // command targets the correct directory (e.g. `/vercel/sandbox/workspace`
34
- // on the Vercel backend instead of the logical `/workspace`).
35
- const resolvedPath = sandbox.resolvePath(normalizedPath);
36
- // Build ripgrep command to list files matching the glob pattern.
37
- // `head -n <limit+1>` bounds output so we can detect truncation.
38
- const command = [
39
- "rg --files --hidden",
40
- "--glob '!.git/*'",
41
- `--glob ${shellQuote(args.pattern)}`,
42
- `-- ${shellQuote(resolvedPath)}`,
43
- `| head -n ${effectiveLimit + 1}`,
44
- ].join(" ");
37
+ const command = (await ripgrepIsAvailable(sandbox))
38
+ ? buildRipgrepCommand({ normalizedPath, pattern: args.pattern })
39
+ : buildPosixFindCommand({ normalizedPath, pattern: args.pattern });
45
40
  const result = await sandbox.runCommand(command);
41
+ // Both ripgrep and POSIX find use conventional exit code semantics:
42
+ // 0 — operation succeeded (results may be empty for find)
43
+ // 1 — ripgrep-specific: no matches found (legitimate empty result)
44
+ // >1 — error occurred
45
+ // Any unexpected exit code (e.g. 127 from bash when the tool is
46
+ // missing) indicates a real failure. Surface these as structured
47
+ // errors rather than silently pretending the search returned zero
48
+ // files.
49
+ if (result.exitCode !== 0 && result.exitCode !== 1) {
50
+ throw buildGlobExecutionError(command, result.exitCode, result.stderr);
51
+ }
46
52
  // Parse stdout into file paths.
47
53
  const rawLines = result.stdout.split("\n").filter((line) => line.length > 0);
48
- // Detect truncation: if we got more lines than the limit, rg had more results.
54
+ // Detect truncation: if we got more lines than the limit, the tool had more results.
49
55
  const truncatedByCount = rawLines.length > effectiveLimit;
50
56
  const boundedLines = truncatedByCount ? rawLines.slice(0, effectiveLimit) : rawLines;
51
- // Normalize each path to ensure logical workspace paths, and enforce byte cap.
52
- // Output paths from rg use the resolved backend-native prefix; map them
53
- // back to the logical prefix so the model always sees `/workspace/...`.
57
+ // Normalize each path and enforce byte cap.
54
58
  const paths = [];
55
59
  let outputBytes = 0;
56
60
  let truncatedByBytes = false;
57
61
  for (const line of boundedLines) {
58
- const logicalLine = toLogicalPath(line, resolvedPath, normalizedPath);
59
- const normalized = normalizeModelPath(logicalLine);
62
+ const normalized = normalizeModelPath(line);
60
63
  const lineBytes = Buffer.byteLength(normalized, "utf8") + 1;
61
64
  if (outputBytes + lineBytes > MAX_OUTPUT_BYTES && paths.length > 0) {
62
65
  truncatedByBytes = true;
@@ -87,4 +90,92 @@ export async function executeGlobOnSandbox(args) {
87
90
  truncated,
88
91
  };
89
92
  }
93
+ /**
94
+ * Builds the ripgrep form of the glob command. Preferred whenever
95
+ * `rg` is on PATH.
96
+ *
97
+ * Truncation is enforced in JavaScript rather than via a shell `| head`
98
+ * pipe: piping would mask ripgrep's exit code (the pipeline would adopt
99
+ * `head`'s exit code, which is typically 0), making a missing `rg`
100
+ * binary or a real IO failure indistinguishable from a successful
101
+ * search with no results.
102
+ */
103
+ function buildRipgrepCommand(input) {
104
+ return [
105
+ "rg --files --hidden",
106
+ "--glob '!.git/*'",
107
+ `--glob ${shellQuote(input.pattern)}`,
108
+ `-- ${shellQuote(input.normalizedPath)}`,
109
+ ].join(" ");
110
+ }
111
+ // Builds the POSIX fallback form of the glob command using `find`.
112
+ // Used when ripgrep is not installed in the sandbox — typically
113
+ // because the author configured a network policy that blocked the
114
+ // framework bootstrap from `dnf install`-ing it.
115
+ //
116
+ // Ripgrep-style globstars (two `*` in a row) are translated to POSIX
117
+ // `find -path` patterns. GNU `find`'s single `*` already matches
118
+ // across `/` boundaries, so a globstar collapses to one `*`. When
119
+ // the pattern has no directory component we use `-name` rather than
120
+ // `-path` for efficiency.
121
+ //
122
+ // Limitations compared to ripgrep:
123
+ //
124
+ // - Brace expansion (for example `*.{ts,tsx}`) is not supported.
125
+ // Authors who need brace patterns should allow the framework
126
+ // bootstrap to install ripgrep by lifting the network policy on
127
+ // `cdn.amazonlinux.com`, or run two separate globs.
128
+ // - POSIX find does not read `.gitignore`, so extremely large
129
+ // `node_modules` or `dist` trees will slow this path down. Pass
130
+ // a more specific `path` to narrow the search.
131
+ //
132
+ // `.git` is excluded explicitly with a `-not -path` predicate to
133
+ // match the ripgrep branch's `.git` glob exclusion.
134
+ function buildPosixFindCommand(input) {
135
+ const translatedPattern = translateGlobToFindPattern(input.pattern);
136
+ // If the translated pattern has no slash after translation, it is
137
+ // a basename-only pattern — match against `-name` which is faster
138
+ // and semantically cleaner than `-path`. Otherwise match against
139
+ // the full path with `-path` (note: `-path` requires the full path
140
+ // prefix to match, so we include `*/` to anchor anywhere in the
141
+ // tree).
142
+ const isBasenameOnly = !translatedPattern.includes("/");
143
+ const matchExpression = isBasenameOnly
144
+ ? `-name ${shellQuote(translatedPattern)}`
145
+ : `-path ${shellQuote(`*/${translatedPattern}`)}`;
146
+ return [
147
+ `find ${shellQuote(input.normalizedPath)}`,
148
+ "-type f",
149
+ "-not -path '*/.git/*'",
150
+ matchExpression,
151
+ ].join(" ");
152
+ }
153
+ // Translates a ripgrep-style glob pattern to a POSIX `find`-compatible
154
+ // pattern.
155
+ //
156
+ // - A globstar (two `*` in a row) matches any number of directory
157
+ // segments. POSIX `find`'s single `*` also crosses `/` boundaries
158
+ // (unlike bash globs), so a globstar collapses to one `*`.
159
+ // - A leading globstar-slash prefix is equivalent to "at any
160
+ // depth". When the rest of the pattern has no directory
161
+ // component we return just the basename, letting the caller use
162
+ // `-name` for efficiency.
163
+ function translateGlobToFindPattern(pattern) {
164
+ // Collapse `**` to `*` since find's `*` already crosses `/`.
165
+ let translated = pattern.replaceAll("**", "*");
166
+ // Strip a leading `*/` so a globstar-prefixed pattern like
167
+ // `**/*.ts` becomes `*.ts` (basename match).
168
+ while (translated.startsWith("*/")) {
169
+ translated = translated.slice(2);
170
+ }
171
+ return translated;
172
+ }
173
+ // ---------------------------------------------------------------------------
174
+ // Error helpers
175
+ // ---------------------------------------------------------------------------
176
+ function buildGlobExecutionError(command, exitCode, stderr) {
177
+ const trimmed = stderr.trim();
178
+ const detail = trimmed.length > 0 ? trimmed : "no stderr output";
179
+ return new Error(`glob failed (exit ${exitCode}): ${detail}\nCommand: ${command}`);
180
+ }
90
181
  //# sourceMappingURL=glob-tool.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"glob-tool.js","sourceRoot":"","sources":["../../../../src/execution/sandboxes/glob-tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"glob-tool.js","sourceRoot":"","sources":["../../../../src/execution/sandboxes/glob-tool.ts"],"names":[],"mappings":"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"}
@@ -20,11 +20,17 @@ export interface GrepResult {
20
20
  readonly truncated: boolean;
21
21
  }
22
22
  /**
23
- * Searches file contents for a pattern inside the sandbox using
24
- * ripgrep. Returns matching lines with file paths and line numbers.
23
+ * Searches file contents for a pattern inside the sandbox.
25
24
  *
26
- * Used by the framework `grep` tool and by author tools constructed via
27
- * `defineGrepTool`.
25
+ * Uses ripgrep when it is available on the sandbox PATH. When ripgrep
26
+ * is not present — for example, because the author configured a
27
+ * network policy that prevented the framework from installing it
28
+ * during bootstrap — falls back to POSIX `grep -rn`, which ships in
29
+ * the Amazon Linux 2023 base image (`findutils` / `grep` are always
30
+ * available).
31
+ *
32
+ * Used by the framework `grep` tool and by author tools constructed
33
+ * via `defineGrepTool`.
28
34
  */
29
35
  export declare function executeGrepOnSandbox(args: GrepInput): Promise<GrepResult>;
30
36
  //# sourceMappingURL=grep-tool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"grep-tool.d.ts","sourceRoot":"","sources":["../../../../src/execution/sandboxes/grep-tool.ts"],"names":[],"mappings":"AAkBA;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAMD;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CA8H/E"}
1
+ {"version":3,"file":"grep-tool.d.ts","sourceRoot":"","sources":["../../../../src/execution/sandboxes/grep-tool.ts"],"names":[],"mappings":"AAkBA;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAwD/E"}