autor3search-typescript 0.1.5 → 0.1.7

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.
@@ -142,7 +142,18 @@ export async function runChild(o) {
142
142
  // than left to propagate out of `finally` and clobber the return value
143
143
  // (or the rejection) above.
144
144
  try {
145
- await rm(dir, { recursive: true, force: true });
145
+ // maxRetries/retryDelay are insurance for Windows, where killing a
146
+ // timed-out child means `taskkill /T /F` and the OS can briefly hold
147
+ // the dead process's handles on this directory -- long enough for an
148
+ // immediate rm to fail with EBUSY/EPERM and, because the failure is
149
+ // (correctly) swallowed below, leak it silently.
150
+ //
151
+ // Kept as defence, NOT as a fix for anything observed: the leak this
152
+ // was first added for turned out not to be a leak at all, but a test
153
+ // helper that failed to isolate on Windows (it set TMPDIR, which
154
+ // `os.tmpdir()` ignores there). Node retries these errno values when
155
+ // asked, and the cost when there is nothing to retry is zero.
156
+ await rm(dir, { recursive: true, force: true, maxRetries: 10, retryDelay: 100 });
146
157
  }
147
158
  catch {
148
159
  /* leak the directory rather than discard the result */
@@ -1 +1 @@
1
- {"version":3,"file":"invoke.js","sourceRoot":"","sources":["../../src/benchrun/invoke.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"invoke.js","sourceRoot":"","sources":["../../src/benchrun/invoke.ts"],"names":[],"mappings":"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"}
@@ -169,6 +169,24 @@ export async function cmdBaseline(ctx, argv) {
169
169
  // switches away from the branch it creates). There is nothing to
170
170
  // recreate -- proceed with the existing checkout, at whatever commit
171
171
  // it is already on.
172
+ //
173
+ // That last clause is the whole of `-force`'s semantics, and it is
174
+ // deliberate: the branch is NOT rewound to the commit the previous
175
+ // baseline pinned. `head` is read below, after this block, so a
176
+ // branch the agent has since advanced re-pins `frozenCommit` and
177
+ // `measureCommit` at its CURRENT tip and re-derives the freeze
178
+ // manifest from that commit's tree. `-force` means "the state of the
179
+ // repository right now is the new contract," which is exactly what
180
+ // you want when re-baselining on top of work you have reviewed and
181
+ // decided to keep.
182
+ //
183
+ // It is also why nothing in the harness may reach for `-force` on
184
+ // its own. Run automatically after an interrupted advance, it would
185
+ // adopt the agent's own commits as the correctness contract without
186
+ // a human ever seeing them -- so `eval`'s gate 8 self-heals that
187
+ // case itself instead of advising `-force` (see
188
+ // `checkWorktreeIntegrity` in `pipeline/eval.ts`). `-force` is a
189
+ // human's deliberate act, and stays one.
172
190
  // - It exists but is checked out nowhere here (a stale branch left
173
191
  // over some other way): safe to delete outright, with no need to
174
192
  // check out away from it first, and recreate fresh below.
@@ -1 +1 @@
1
- {"version":3,"file":"cmd-baseline.js","sourceRoot":"","sources":["../../src/cli/cmd-baseline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cmd-baseline.js","sourceRoot":"","sources":["../../src/cli/cmd-baseline.ts"],"names":[],"mappings":"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"}
@@ -99,6 +99,35 @@ export async function runEval(opts) {
99
99
  await release();
100
100
  }
101
101
  }
102
+ /**
103
+ * One shell-command gate (typecheck, build, test).
104
+ *
105
+ * These were three near-identical blocks differing only in the command, the
106
+ * gate name, and whether an empty command means "skip". Sharing them means a
107
+ * fix to one -- the message, the timeout, which stream gets reported --
108
+ * cannot silently miss the other two.
109
+ *
110
+ * `required` is not cosmetic. typecheck and build are legitimately optional,
111
+ * and an empty command skips them. The test command must always run: config
112
+ * validation refuses an empty one, and folding all three into a single
113
+ * "skip when empty" rule would quietly turn any future gap in that
114
+ * validation into a SKIPPED test gate -- the one gate the entire verdict
115
+ * depends on. Stated as a flag so the difference survives the merge.
116
+ *
117
+ * Returns null when the gate passes or is skipped, otherwise the failure to
118
+ * report; the caller owns `finish` and the exit code.
119
+ */
120
+ async function runCommandGate(o) {
121
+ if (!o.required && o.command.trim() === '')
122
+ return null;
123
+ const r = await runShell(o.command, { cwd: o.cwd, timeoutMs: o.timeoutMs, log: o.log });
124
+ if (ok(r))
125
+ return null;
126
+ return {
127
+ gate: o.name,
128
+ message: `${o.name} command failed (${o.command}, exit ${r.exitCode}): ${tail(r.stderr || r.stdout, 40)}`,
129
+ };
130
+ }
102
131
  async function evaluate(opts, dir) {
103
132
  const log = opts.log ?? (() => { });
104
133
  const worktreeDir = path.join(dir, WORKTREE_DIRNAME);
@@ -274,26 +303,18 @@ async function evaluate(opts, dir) {
274
303
  return finish(noVerdict('fail'), [], 'unmanifested', `new test/bench/runner-config file(s) not present at baseline: ${extra.join(', ')}`);
275
304
  }
276
305
  const timeoutMs = parseDuration(config.timeout);
277
- // --- Gate 5: typecheck (skipped when empty).
278
- if (config.typecheckCommand.trim() !== '') {
279
- const r = await runShell(config.typecheckCommand, { cwd: opts.ctx.repoRoot, timeoutMs, log });
280
- if (!ok(r)) {
281
- return finish(noVerdict('fail'), [], 'typecheck', `typecheck command failed (${config.typecheckCommand}, exit ${r.exitCode}): ${tail(r.stderr || r.stdout, 40)}`);
282
- }
283
- }
284
- // --- Gate 6: build (skipped when empty).
285
- if (config.buildCommand.trim() !== '') {
286
- const r = await runShell(config.buildCommand, { cwd: opts.ctx.repoRoot, timeoutMs, log });
287
- if (!ok(r)) {
288
- return finish(noVerdict('fail'), [], 'build', `build command failed (${config.buildCommand}, exit ${r.exitCode}): ${tail(r.stderr || r.stdout, 40)}`);
289
- }
290
- }
291
- // --- Gate 7: test (never empty -- enforced by config validation).
292
- {
293
- const r = await runShell(config.testCommand, { cwd: opts.ctx.repoRoot, timeoutMs, log });
294
- if (!ok(r)) {
295
- return finish(noVerdict('fail'), [], 'test', `test command failed (${config.testCommand}, exit ${r.exitCode}): ${tail(r.stderr || r.stdout, 40)}`);
296
- }
306
+ // --- Gates 5, 6, 7: typecheck, build, test. Order is load-bearing: a
307
+ // change that does not compile should be reported as a typecheck failure,
308
+ // not as whatever the test command makes of it.
309
+ const commandGates = [
310
+ { name: 'typecheck', command: config.typecheckCommand, required: false },
311
+ { name: 'build', command: config.buildCommand, required: false },
312
+ { name: 'test', command: config.testCommand, required: true },
313
+ ];
314
+ for (const gate of commandGates) {
315
+ const failure = await runCommandGate({ ...gate, cwd: opts.ctx.repoRoot, timeoutMs, log });
316
+ if (failure !== null)
317
+ return finish(noVerdict('fail'), [], failure.gate, failure.message);
297
318
  }
298
319
  // --- Gate 8: worktree integrity.
299
320
  //
@@ -1 +1 @@
1
- {"version":3,"file":"eval.js","sourceRoot":"","sources":["../../src/pipeline/eval.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eval.js","sourceRoot":"","sources":["../../src/pipeline/eval.ts"],"names":[],"mappings":"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"}
@@ -46,21 +46,14 @@ export declare class Capture {
46
46
  toString(): string;
47
47
  }
48
48
  /**
49
- * Signals a process group, refusing to signal pid 1's group.
49
+ * Quotes one argument for a Windows command line.
50
50
  *
51
- * On Linux a process whose group leader has exited can report ppid 1, and
52
- * `kill(-1, ...)` means "every process the user may signal" which in a
53
- * container is everything. Refusing is strictly better than the alternative.
54
- *
55
- * Exported: `cli/cmd-stop.ts`'s `stop -force` needs this exact same refusal
56
- * to signal the pid recorded in `eval.lock`. That is the same function, not
57
- * two views of one enumeration (contrast the lockfile `switch` in
58
- * `pm/detect.ts`, which genuinely cannot be imported across a `switch`) --
59
- * so the duplication is eliminated by importing this rather than guarded by
60
- * a second copy plus a comment. A future edit to the pid-1 refusal (e.g.
61
- * hardening it for a new edge case) now cannot diverge between the two call
62
- * sites by simply being forgotten in one of them.
51
+ * Windows does not pass an argv array to a process: it passes ONE string,
52
+ * and each program parses it. These are the rules the C runtime documents
53
+ * and that `CommandLineToArgvW` implements -- backslashes are literal
54
+ * except when they precede a quote, where they must be doubled.
63
55
  */
56
+ export declare function quoteForWindows(arg: string): string;
64
57
  export declare function killGroup(pid: number | undefined, signal: NodeJS.Signals): void;
65
58
  /** Signals every currently-active child's process group, best effort. */
66
59
  export declare function killActiveChildren(signal: NodeJS.Signals): void;
@@ -1,4 +1,6 @@
1
- import { spawn } from 'node:child_process';
1
+ import { spawn, spawnSync } from 'node:child_process';
2
+ import { statSync } from 'node:fs';
3
+ import path from 'node:path';
2
4
  /**
3
5
  * Largest output we retain per stream, in characters (UTF-16 code units),
4
6
  * not bytes. The cap exists to bound retained *memory*, and these are
@@ -75,9 +77,116 @@ export class Capture {
75
77
  * hardening it for a new edge case) now cannot diverge between the two call
76
78
  * sites by simply being forgotten in one of them.
77
79
  */
80
+ /**
81
+ * The executable to hand `spawn`, resolved for Windows.
82
+ *
83
+ * On Windows `npm` is `npm.cmd`, and CreateProcess does not consult PATHEXT
84
+ * the way a shell does -- so `spawn('npm', args)` fails with ENOENT and the
85
+ * tool could not install, build, typecheck or detect a package manager
86
+ * there at all. The README documented Windows support the whole time; a CI
87
+ * matrix covering it is what finally said otherwise.
88
+ *
89
+ * Resolved by searching PATH ourselves rather than by passing
90
+ * `shell: true`. A shell would fix the ENOENT and simultaneously undo the
91
+ * reason `run` takes an argv ARRAY: with a shell, every argument is
92
+ * re-parsed as shell syntax, and arguments here include repository paths
93
+ * and benchmark ids. `runShell` exists for the config-supplied command
94
+ * strings that are meant to be shell syntax; this path must stay literal.
95
+ *
96
+ * A no-op on POSIX, and on any command already carrying a path or an
97
+ * extension.
98
+ */
99
+ function resolveExecutable(cmd) {
100
+ if (process.platform !== 'win32')
101
+ return cmd;
102
+ if (cmd.includes('/') || cmd.includes('\\') || path.extname(cmd) !== '')
103
+ return cmd;
104
+ const exts = (process.env['PATHEXT'] ?? '.COM;.EXE;.BAT;.CMD')
105
+ .split(';')
106
+ .map((e) => e.trim())
107
+ .filter((e) => e !== '');
108
+ for (const dir of (process.env['PATH'] ?? '').split(path.delimiter).filter((d) => d !== '')) {
109
+ for (const ext of exts) {
110
+ const candidate = path.join(dir, cmd + ext);
111
+ try {
112
+ if (statSync(candidate).isFile())
113
+ return candidate;
114
+ }
115
+ catch {
116
+ // Not here; keep looking. A PATH entry that does not exist is
117
+ // ordinary on Windows, not an error worth surfacing.
118
+ }
119
+ }
120
+ }
121
+ // Unresolved: hand back the original so spawn reports its own ENOENT,
122
+ // which names the command the caller asked for.
123
+ return cmd;
124
+ }
125
+ /**
126
+ * Quotes one argument for a Windows command line.
127
+ *
128
+ * Windows does not pass an argv array to a process: it passes ONE string,
129
+ * and each program parses it. These are the rules the C runtime documents
130
+ * and that `CommandLineToArgvW` implements -- backslashes are literal
131
+ * except when they precede a quote, where they must be doubled.
132
+ */
133
+ export function quoteForWindows(arg) {
134
+ if (arg !== '' && !/[\s"^&|<>()%!]/.test(arg))
135
+ return arg;
136
+ // Double only the backslashes that run up against a quote (or the end),
137
+ // then wrap. Doubling every backslash would corrupt ordinary paths.
138
+ const escaped = arg.replace(/(\\*)("|$)/g, (_m, slashes, quote) => quote === '"' ? `${slashes}${slashes}\\"` : `${slashes}${slashes}`);
139
+ return `"${escaped}"`;
140
+ }
141
+ /**
142
+ * How to actually launch `cmd` with `args` on this platform.
143
+ *
144
+ * The awkward case is Windows batch wrappers. npm, npx, yarn and pnpm are
145
+ * all `.cmd` files there, and since CVE-2024-27980 Node REFUSES to spawn a
146
+ * `.cmd` or `.bat` without a shell -- `spawn` fails with EINVAL. So they
147
+ * must go through `cmd.exe` explicitly.
148
+ *
149
+ * Not `shell: true`, which would be the one-line version: with that option
150
+ * Node concatenates the command and arguments into one string with no
151
+ * quoting at all, so any argument containing a space, a quote or a cmd
152
+ * metacharacter is re-parsed as syntax. Arguments here are repository
153
+ * paths, benchmark ids and config-derived strings; "C:\\Users\\Some One\\repo"
154
+ * alone would break, and `&` in a path would execute. Instead each argument
155
+ * is quoted for the Windows convention and handed to `cmd.exe /d /s /c`
156
+ * with `windowsVerbatimArguments`, which tells Node to pass the line
157
+ * through exactly as built rather than re-quoting it.
158
+ *
159
+ * `/d` skips AutoRun commands from the registry -- otherwise whatever a
160
+ * machine has configured there runs before every measurement.
161
+ */
162
+ function launchSpec(cmd, args) {
163
+ const resolved = resolveExecutable(cmd);
164
+ const isBatch = process.platform === 'win32' && /\.(cmd|bat)$/i.test(resolved);
165
+ if (!isBatch)
166
+ return { file: resolved, args: [...args], verbatim: false };
167
+ const line = [resolved, ...args].map(quoteForWindows).join(' ');
168
+ return {
169
+ file: process.env['ComSpec'] ?? 'cmd.exe',
170
+ // The outer quotes around the whole line are cmd's own convention for
171
+ // /c: with them, cmd strips them and runs the rest verbatim.
172
+ args: ['/d', '/s', '/c', `"${line}"`],
173
+ verbatim: true,
174
+ };
175
+ }
78
176
  export function killGroup(pid, signal) {
79
177
  if (pid === undefined || pid <= 1)
80
178
  return;
179
+ // Windows has no process groups and no POSIX signals: `process.kill(-pid)`
180
+ // throws, and the single-process fallback below would leave every
181
+ // grandchild running -- a benchmark spawned by a test runner surviving a
182
+ // timeout is precisely the orphan that corrupts later measurements.
183
+ // `taskkill /T` walks the tree; `/F` is required because there is no
184
+ // graceful signal to send. Synchronous so it completes before the caller
185
+ // moves on, matching `process.kill`'s semantics on POSIX.
186
+ if (process.platform === 'win32') {
187
+ spawnSync('taskkill', ['/pid', String(pid), '/T', '/F'], { stdio: 'ignore' });
188
+ return;
189
+ }
81
190
  try {
82
191
  process.kill(-pid, signal);
83
192
  }
@@ -114,10 +223,17 @@ function exec(cmd, args, opts, useShell) {
114
223
  const stderr = new Capture();
115
224
  let timedOut = false;
116
225
  let settled = false;
117
- const child = spawn(cmd, args, {
226
+ // `useShell` commands are shell syntax by contract and must not be
227
+ // path-resolved or quoted; everything else is a literal executable
228
+ // name with a literal argv.
229
+ const spec = useShell
230
+ ? { file: cmd, args: [...args], verbatim: false }
231
+ : launchSpec(cmd, args);
232
+ const child = spawn(spec.file, spec.args, {
118
233
  cwd: opts.cwd,
119
234
  env: opts.env ?? process.env,
120
235
  shell: useShell,
236
+ windowsVerbatimArguments: spec.verbatim,
121
237
  // A new process group is what makes killGroup able to reach
122
238
  // grandchildren. Without it, a benchmark spawned by a test runner
123
239
  // survives the timeout and corrupts every later measurement.
@@ -1 +1 @@
1
- {"version":3,"file":"exec.js","sourceRoot":"","sources":["../../src/runner/exec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exec.js","sourceRoot":"","sources":["../../src/runner/exec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAClC,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAA;AAmBjD,sFAAsF;AACtF,MAAM,UAAU,EAAE,CAAC,CAAa;IAC9B,OAAO,CAAC,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAA;AAC7D,CAAC;AAED,qCAAqC;AACrC,MAAM,UAAU,IAAI,CAAC,CAAS,EAAE,KAAa;IAC3C,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC3B,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAClE,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,OAAO,OAAO;IACV,MAAM,GAAa,EAAE,CAAA;IACrB,IAAI,GAAG,CAAC,CAAA;IAChB,SAAS,GAAG,KAAK,CAAA;IAEjB,IAAI,CAAC,CAAS;QACZ,IAAI,CAAC,CAAC,MAAM,GAAG,kBAAkB,EAAE,CAAC;YAClC,oEAAoE;YACpE,sEAAsE;YACtE,qEAAqE;YACrE,oEAAoE;YACpE,qEAAqE;YACrE,sEAAsE;YACtE,sEAAsE;YACtE,8CAA8C;YAC9C,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,GAAG,kBAAkB,CAAC,CAAC,CAAA;YACtD,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAA;YAC9B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;YACrB,OAAM;QACR,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACnB,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,CAAA;QACrB,OAAO,IAAI,CAAC,IAAI,GAAG,kBAAkB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAG,CAAC,MAAM,CAAA;YACxC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;QACvB,CAAC;IACH,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC7B,CAAC;CACF;AAED;;;;;;;;;;;;;;;GAeG;AACH;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAS,iBAAiB,CAAC,GAAW;IACpC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;QAAE,OAAO,GAAG,CAAA;IAC5C,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE;QAAE,OAAO,GAAG,CAAA;IAEnF,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,qBAAqB,CAAC;SAC3D,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;IAC1B,KAAK,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC;QAC5F,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,CAAA;YAC3C,IAAI,CAAC;gBACH,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE;oBAAE,OAAO,SAAS,CAAA;YACpD,CAAC;YAAC,MAAM,CAAC;gBACP,8DAA8D;gBAC9D,qDAAqD;YACvD,CAAC;QACH,CAAC;IACH,CAAC;IACD,sEAAsE;IACtE,gDAAgD;IAChD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,IAAI,GAAG,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAA;IACzD,wEAAwE;IACxE,oEAAoE;IACpE,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,EAAE,EAAE,OAAe,EAAE,KAAa,EAAE,EAAE,CAChF,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,OAAO,EAAE,CACnE,CAAA;IACD,OAAO,IAAI,OAAO,GAAG,CAAA;AACvB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,SAAS,UAAU,CACjB,GAAW,EACX,IAAuB;IAEvB,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAA;IACvC,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC9E,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAA;IAEzE,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC/D,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,SAAS;QACzC,sEAAsE;QACtE,6DAA6D;QAC7D,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,GAAG,CAAC;QACrC,QAAQ,EAAE,IAAI;KACf,CAAA;AACH,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,GAAuB,EAAE,MAAsB;IACvE,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,IAAI,CAAC;QAAE,OAAM;IAEzC,2EAA2E;IAC3E,kEAAkE;IAClE,yEAAyE;IACzE,oEAAoE;IACpE,qEAAqE;IACrE,yEAAyE;IACzE,0DAA0D;IAC1D,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,SAAS,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;QAC7E,OAAM;IACR,CAAC;IAED,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,8DAA8D;QAC9D,IAAI,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,kBAAkB;QACpB,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAA;AAEzC,yEAAyE;AACzE,MAAM,UAAU,kBAAkB,CAAC,MAAsB;IACvD,KAAK,MAAM,GAAG,IAAI,eAAe;QAAE,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;AAC3D,CAAC;AAED,SAAS,IAAI,CACX,GAAW,EACX,IAAc,EACd,IAAiB,EACjB,QAAiB;IAEjB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,MAAM,GAAG,IAAI,OAAO,EAAE,CAAA;QAC5B,MAAM,MAAM,GAAG,IAAI,OAAO,EAAE,CAAA;QAC5B,IAAI,QAAQ,GAAG,KAAK,CAAA;QACpB,IAAI,OAAO,GAAG,KAAK,CAAA;QAEnB,mEAAmE;QACnE,mEAAmE;QACnE,4BAA4B;QAC5B,MAAM,IAAI,GAAG,QAAQ;YACnB,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;YACjD,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QACzB,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;YACxC,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG;YAC5B,KAAK,EAAE,QAAQ;YACf,wBAAwB,EAAE,IAAI,CAAC,QAAQ;YACvC,4DAA4D;YAC5D,kEAAkE;YAClE,6DAA6D;YAC7D,QAAQ,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO;YACtC,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;SAClC,CAAC,CAAA;QAEF,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS;YAAE,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAE3D,oEAAoE;QACpE,iEAAiE;QACjE,yCAAyC;QACzC,MAAM,OAAO,GAAG,CAAC,CAAS,EAAQ,EAAE;YAClC,IAAI,CAAC;gBACH,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;YACf,CAAC;YAAC,MAAM,CAAC;gBACP,iEAAiE;YACnE,CAAC;QACH,CAAC,CAAA;QAED,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;QACjC,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;QACjC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE;YACrC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACd,OAAO,CAAC,CAAC,CAAC,CAAA;QACZ,CAAC,CAAC,CAAA;QACF,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE;YACrC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACd,OAAO,CAAC,CAAC,CAAC,CAAA;QACZ,CAAC,CAAC,CAAA;QAEF,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,QAAQ,GAAG,IAAI,CAAA;YACf,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;QACjC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;QAElB,MAAM,MAAM,GAAG,CAAC,QAAgB,EAAE,MAA6B,EAAQ,EAAE;YACvE,IAAI,OAAO;gBAAE,OAAM;YACnB,OAAO,GAAG,IAAI,CAAA;YACd,YAAY,CAAC,KAAK,CAAC,CAAA;YACnB,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS;gBAAE,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAC9D,OAAO,CAAC;gBACN,QAAQ;gBACR,MAAM;gBACN,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE;gBACzB,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE;gBACzB,QAAQ;gBACR,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS;aAChD,CAAC,CAAA;QACJ,CAAC,CAAA;QAED,sEAAsE;QACtE,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAQ,EAAE,EAAE;YAC7B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;YACtB,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QACnB,CAAC,CAAC,CAAA;QACF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAAA;IAChE,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,IAAc,EAAE,IAAiB;IAChE,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;AACrC,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,QAAQ,CAAC,OAAe,EAAE,IAAiB;IACzD,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AACtC,CAAC"}
@@ -3,11 +3,24 @@ export interface ScopeViolation {
3
3
  reason: 'immutable' | 'out-of-scope';
4
4
  }
5
5
  /**
6
- * Compiles a glob to an anchored regexp.
6
+ * Whether `p` matches `pattern`, anchored at both ends.
7
7
  *
8
- * `**` crosses directory separators, `*` and `?` do not. Everything else is
9
- * escaped: a pattern is data from a config file, and a stray `.` or `+`
10
- * silently widening the scope is exactly the failure this gate must not have.
8
+ * This used to compile the pattern to a regexp, which was correct and
9
+ * exponentially slow: several `**` groups can each match the same text, so
10
+ * JavaScript's backtracking engine explores every division of the subject
11
+ * between them. Measured on this machine, `src/` + `**\/` x10 + `*.ts`
12
+ * against a 30-deep path took **18.7 seconds**, and 10 `**\/` groups with
13
+ * no separator between them took **88 seconds** -- a single call, inside the
14
+ * gate that runs on every changed file of every experiment. Config is
15
+ * human-owned and hash-gated, so this was never agent-reachable; it was a
16
+ * silent multi-minute hang waiting for whoever wrote one pattern too many
17
+ * into their scope list, on a run designed to be left unattended.
18
+ *
19
+ * The search below is the same semantics with the backtracking removed:
20
+ * `seen` memoizes each (token, position) pair, so a pair is explored once
21
+ * instead of once per path that reaches it. That bounds the work at
22
+ * O(tokens x length) states rather than exponential, and the pathological
23
+ * patterns above now return in under a millisecond.
11
24
  */
12
25
  export declare function matchGlob(pattern: string, p: string): boolean;
13
26
  /**
@@ -1,49 +1,139 @@
1
1
  import { CONFIG_PATH, IMMUTABLE_FILES } from '../config/schema.js';
2
2
  /**
3
- * Compiles a glob to an anchored regexp.
3
+ * Splits a glob into tokens.
4
4
  *
5
- * `**` crosses directory separators, `*` and `?` do not. Everything else is
6
- * escaped: a pattern is data from a config file, and a stray `.` or `+`
7
- * silently widening the scope is exactly the failure this gate must not have.
5
+ * `**` crosses directory separators, `*` and `?` do not. Every other
6
+ * character is a literal: a pattern is data from a config file, and a stray
7
+ * `.` or `+` acquiring regexp meaning and silently widening the scope is
8
+ * exactly the failure this gate must not have. Tokenizing (rather than
9
+ * building a regexp source and escaping into it) removes that risk by
10
+ * construction -- there is no metacharacter left to escape.
8
11
  */
9
- export function matchGlob(pattern, p) {
10
- let re = '';
12
+ function tokenize(pattern) {
13
+ const out = [];
11
14
  for (let i = 0; i < pattern.length; i++) {
12
15
  const c = pattern[i];
13
16
  if (c === '*') {
14
17
  if (pattern[i + 1] === '*') {
15
18
  if (pattern[i + 2] === '/') {
16
- // `**/` in the MIDDLE of a pattern. `(?:.*/)?` makes the whole
17
- // group optional so it also matches ZERO directories: `src/**/a.ts`
18
- // matches `src/a.ts` as well as `src/x/y/a.ts`.
19
- re += '(?:.*/)?';
19
+ // `**/` in the MIDDLE of a pattern: zero or more whole segments,
20
+ // so `src/**/a.ts` matches `src/a.ts` as well as `src/x/y/a.ts`.
21
+ out.push({ kind: 'globstarSlash' });
20
22
  i += 2;
21
23
  }
22
24
  else {
23
25
  // `**` NOT followed by `/` -- trailing (`src/**`) or bare (`**`).
24
- // `.*` crosses separators, so `src/**` matches `src/a.ts` and
25
- // `src/x/y/a.ts` alike. Note this branch also absorbs a `**`
26
- // written mid-pattern without a slash after it (`src/**x`), which
27
- // degrades to "anything, including separators, then x" rather than
28
- // being rejected -- deliberately permissive, since the gate's job
29
- // is to be conservative about what it ADMITS, and a widened
30
- // pattern here is one the config author wrote explicitly.
31
- re += '.*';
26
+ // Crosses separators, so `src/**` matches `src/a.ts` and
27
+ // `src/x/y/a.ts` alike. This branch also absorbs a `**` written
28
+ // mid-pattern without a slash after it (`src/**x`), which degrades
29
+ // to "anything, including separators, then x" rather than being
30
+ // rejected -- deliberately permissive, since the gate's job is to
31
+ // be conservative about what it ADMITS, and a widened pattern here
32
+ // is one the config author wrote explicitly.
33
+ out.push({ kind: 'globstar' });
32
34
  i += 1;
33
35
  }
34
36
  }
35
37
  else {
36
- re += '[^/]*';
38
+ out.push({ kind: 'star' });
37
39
  }
38
40
  }
39
41
  else if (c === '?') {
40
- re += '[^/]';
42
+ out.push({ kind: 'any1' });
41
43
  }
42
44
  else {
43
- re += c.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
45
+ out.push({ kind: 'lit', ch: c });
46
+ }
47
+ }
48
+ return out;
49
+ }
50
+ /**
51
+ * Whether `p` matches `pattern`, anchored at both ends.
52
+ *
53
+ * This used to compile the pattern to a regexp, which was correct and
54
+ * exponentially slow: several `**` groups can each match the same text, so
55
+ * JavaScript's backtracking engine explores every division of the subject
56
+ * between them. Measured on this machine, `src/` + `**\/` x10 + `*.ts`
57
+ * against a 30-deep path took **18.7 seconds**, and 10 `**\/` groups with
58
+ * no separator between them took **88 seconds** -- a single call, inside the
59
+ * gate that runs on every changed file of every experiment. Config is
60
+ * human-owned and hash-gated, so this was never agent-reachable; it was a
61
+ * silent multi-minute hang waiting for whoever wrote one pattern too many
62
+ * into their scope list, on a run designed to be left unattended.
63
+ *
64
+ * The search below is the same semantics with the backtracking removed:
65
+ * `seen` memoizes each (token, position) pair, so a pair is explored once
66
+ * instead of once per path that reaches it. That bounds the work at
67
+ * O(tokens x length) states rather than exponential, and the pathological
68
+ * patterns above now return in under a millisecond.
69
+ */
70
+ export function matchGlob(pattern, p) {
71
+ const tokens = tokenize(pattern);
72
+ const n = p.length;
73
+ const accept = tokens.length * (n + 1) + n;
74
+ // Reachability over (token index, subject offset) states, explored with an
75
+ // explicit stack rather than recursion. `seen` is what removes the
76
+ // backtracking: each state is expanded once instead of once per path that
77
+ // reaches it, which is the difference between bounded and exponential.
78
+ //
79
+ // The stack is explicit rather than a recursive helper because recursion
80
+ // depth here is driven by the PATTERN's token count, and patterns come
81
+ // from config with no length limit. A recursive version overflowed the
82
+ // stack (RangeError, not a clean refusal) at around 8k tokens -- above any
83
+ // real path, but reachable by a config nobody would notice was hostile,
84
+ // and thrown from the middle of the gate that decides what the agent may
85
+ // edit. An explicit stack has no such ceiling.
86
+ const seen = new Uint8Array((tokens.length + 1) * (n + 1));
87
+ const stack = [0];
88
+ seen[0] = 1;
89
+ const push = (t, j) => {
90
+ const key = t * (n + 1) + j;
91
+ if (seen[key] === 0) {
92
+ seen[key] = 1;
93
+ stack.push(key);
94
+ }
95
+ };
96
+ while (stack.length > 0) {
97
+ const key = stack.pop();
98
+ if (key === accept)
99
+ return true;
100
+ const t = (key / (n + 1)) | 0;
101
+ const j = key % (n + 1);
102
+ if (t === tokens.length)
103
+ continue; // a full pattern that did not consume all of `p`
104
+ const tok = tokens[t];
105
+ switch (tok.kind) {
106
+ case 'lit':
107
+ if (j < n && p[j] === tok.ch)
108
+ push(t + 1, j + 1);
109
+ break;
110
+ case 'any1':
111
+ if (j < n && p[j] !== '/')
112
+ push(t + 1, j + 1);
113
+ break;
114
+ case 'star':
115
+ // Stops at a separator: `*` never leaves its segment.
116
+ for (let k = j; k <= n; k++) {
117
+ push(t + 1, k);
118
+ if (k < n && p[k] === '/')
119
+ break;
120
+ }
121
+ break;
122
+ case 'globstar':
123
+ for (let k = j; k <= n; k++)
124
+ push(t + 1, k);
125
+ break;
126
+ case 'globstarSlash':
127
+ // Zero segments...
128
+ push(t + 1, j);
129
+ // ...or any number of whole ones, each ending at a separator.
130
+ for (let k = j; k < n; k++)
131
+ if (p[k] === '/')
132
+ push(t + 1, k + 1);
133
+ break;
44
134
  }
45
135
  }
46
- return new RegExp(`^${re}$`).test(p);
136
+ return false;
47
137
  }
48
138
  const IMMUTABLE = new Set(IMMUTABLE_FILES);
49
139
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"scope.js","sourceRoot":"","sources":["../../src/scope/scope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAOlE;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAC,OAAe,EAAE,CAAS;IAClD,IAAI,EAAE,GAAG,EAAE,CAAA;IACX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAE,CAAA;QACrB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YACd,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBAC3B,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;oBAC3B,+DAA+D;oBAC/D,oEAAoE;oBACpE,gDAAgD;oBAChD,EAAE,IAAI,UAAU,CAAA;oBAChB,CAAC,IAAI,CAAC,CAAA;gBACR,CAAC;qBAAM,CAAC;oBACN,kEAAkE;oBAClE,8DAA8D;oBAC9D,6DAA6D;oBAC7D,kEAAkE;oBAClE,mEAAmE;oBACnE,kEAAkE;oBAClE,4DAA4D;oBAC5D,0DAA0D;oBAC1D,EAAE,IAAI,IAAI,CAAA;oBACV,CAAC,IAAI,CAAC,CAAA;gBACR,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,EAAE,IAAI,OAAO,CAAA;YACf,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YACrB,EAAE,IAAI,MAAM,CAAA;QACd,CAAC;aAAM,CAAC;YACN,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAA;QAChD,CAAC;IACH,CAAC;IACD,OAAO,IAAI,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACtC,CAAC;AAED,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,CAAA;AAE1C;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,OAAiB,EAAE,KAAe;IAC3D,MAAM,GAAG,GAAqB,EAAE,CAAA;IAChC,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,qEAAqE;QACrE,uEAAuE;QACvE,oEAAoE;QACpE,wEAAwE;QACxE,gEAAgE;QAChE,sEAAsE;QACtE,sEAAsE;QACtE,uEAAuE;QACvE,8BAA8B;QAC9B,IAAI,IAAI,KAAK,WAAW;YAAE,SAAQ;QAClC,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAA;YACvC,SAAQ;QACV,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;YAC/C,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAA;QAC5C,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC"}
1
+ {"version":3,"file":"scope.js","sourceRoot":"","sources":["../../src/scope/scope.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "autor3search-typescript",
3
- "version": "0.1.5",
3
+ "version": "0.1.7",
4
4
  "description": "Autonomous AI-driven performance optimization for any TypeScript repository.",
5
5
  "type": "module",
6
6
  "license": "MIT",