autor3search-typescript 0.1.6 → 0.2.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.
package/README.md CHANGED
@@ -127,7 +127,7 @@ npx autor3search-typescript stop -tag <tag> -clear # cancel a pending stop
127
127
  |---|---|
128
128
  | `init` | Discover benchmarks and write `.autor3search/config.yaml` and `program.md` |
129
129
  | `doctor` | Report whether this machine can measure reliably (informational, always exits 0) |
130
- | `baseline` | Freeze tests/benchmarks, pin a worktree at HEAD, install and prove it can measure |
130
+ | `baseline` | Freeze tests/benchmarks, pin two worktrees at HEAD, install and prove it can measure |
131
131
  | `eval` | Run one experiment through the gate chain and report a verdict (0 KEEP, 1 DISCARD, 2 FAIL, 3 CRASH) |
132
132
  | `status` | Report where a run is: branch, commits, worktree, experiment counts, in-flight eval, pending stop |
133
133
  | `stop` | Ask the agent to stop after its current experiment; `-clear` cancels, `-force` also signals the running eval |
@@ -141,6 +141,10 @@ Every command accepts a leading `-C <dir>` to run as if invoked from `<dir>` (it
141
141
 
142
142
  Everything the verdict depends on — the frozen manifest, the baseline record, the eval lock, stop requests — lives under the OS cache directory (`~/Library/Caches` on macOS, `$XDG_CACHE_HOME` or `~/.cache` on Linux, `%LOCALAPPDATA%` on Windows), keyed by the repository's own canonical path and the `-tag` you chose, never inside the repository itself. `results.tsv` and `run.log` also live in the repository but are gitignored and untracked — plain, human-readable output, not gated artifacts. `.autor3search/config.yaml` is the one exception: `init` writes `.autor3search/*` to `.gitignore` with a `!.autor3search/config.yaml` negation, so the run configuration itself is committed to version history (a KEEP has to stay reproducible and auditable later), while only its hash — not its content — is what the gate chain actually trusts; a hand-edit to it fails the next `eval` rather than silently loosening it.
143
143
 
144
+ Two git worktrees live there too, both detached and both pinned by the harness: `baseline-worktree` holds the side every candidate is compared against, and `candidate-worktree` is checked out to the commit currently under evaluation. Each has its own installed `node_modules`, so one side's dependencies can never decide the other side's timings — which is the reason for the main cost of a run: dependencies are installed twice, once per worktree, when `baseline` runs. That is sound for the whole run because `package.json` and the lockfile are immutable while it lasts, so no commit the agent makes can invalidate either install.
145
+
146
+ **Your own checkout is never written to.** `eval` restores the frozen test and benchmark files into the candidate worktree, not into your working tree, so a change the agent committed to a bench file stays visible on disk where you can review it while the frozen bytes are what actually get measured. Measuring a detached checkout rather than the live tree is also what makes the measurement and the commit it is credited to the same thing by construction: nothing can edit the measured directory midway through a timing round.
147
+
144
148
  ## Worked example
145
149
 
146
150
  This is one real, unmodified run of this tool against the demo fixture shipped in `testdata/demo/`: a `countWords` function whose hot loop rebuilds a whole new array on every character —
@@ -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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"}
@@ -13,7 +13,7 @@ import { detect } from '../pm/detect.js';
13
13
  import { ok, run, runShell, tail } from '../runner/exec.js';
14
14
  import { writeBaseline } from '../state/baseline.js';
15
15
  import { runDir } from '../state/home.js';
16
- import { BRANCH_PREFIX, FROZEN_DIRNAME, WORKTREE_DIRNAME } from '../state/runnaming.js';
16
+ import { BRANCH_PREFIX, CANDIDATE_WORKTREE_DIRNAME, FROZEN_DIRNAME, WORKTREE_DIRNAME } from '../state/runnaming.js';
17
17
  const CHECKOUT_TIMEOUT_MS = 60_000;
18
18
  /**
19
19
  * Duration of the smoke measurement run in the worktree. This is
@@ -125,10 +125,12 @@ export async function cmdBaseline(ctx, argv) {
125
125
  // With -force, tear down whatever the earlier run left behind before
126
126
  // anything new is created: removeWorktree first, or git keeps a
127
127
  // stale worktree registration and addWorktree below fails.
128
- const worktreeDir = path.join(dir, WORKTREE_DIRNAME);
129
- if (await exists(worktreeDir)) {
128
+ for (const name of [WORKTREE_DIRNAME, CANDIDATE_WORKTREE_DIRNAME]) {
129
+ const wt = path.join(dir, name);
130
+ if (!(await exists(wt)))
131
+ continue;
130
132
  try {
131
- await removeWorktree(ctx.repoRoot, worktreeDir);
133
+ await removeWorktree(ctx.repoRoot, wt);
132
134
  }
133
135
  catch {
134
136
  // Not a registered worktree (e.g. a previous attempt failed
@@ -208,8 +210,9 @@ export async function cmdBaseline(ctx, argv) {
208
210
  createdBranch = true;
209
211
  }
210
212
  const worktreeDir = path.join(dir, WORKTREE_DIRNAME);
213
+ const candidateWorktreeDir = path.join(dir, CANDIDATE_WORKTREE_DIRNAME);
211
214
  const frozenDir = path.join(dir, FROZEN_DIRNAME);
212
- let worktreeAdded = false;
215
+ const addedWorktrees = [];
213
216
  try {
214
217
  const head = await headCommit(ctx.repoRoot);
215
218
  // `config.unfreeze` names test/bench files deliberately exempted from
@@ -221,12 +224,24 @@ export async function cmdBaseline(ctx, argv) {
221
224
  const freezable = (await freezableFiles(ctx.repoRoot)).filter((f) => !unfreeze.has(f));
222
225
  const manifest = await snapshot(ctx.repoRoot, freezable, frozenDir);
223
226
  await addWorktree(ctx.repoRoot, worktreeDir, head);
224
- worktreeAdded = true;
227
+ addedWorktrees.push(worktreeDir);
228
+ // The candidate side gets its own worktree, created here rather than
229
+ // per-eval so its dependencies are installed exactly once. That is
230
+ // sound because `package.json` and the lockfile are immutable for the
231
+ // life of a run (IMMUTABLE_FILES), so no commit the agent makes can
232
+ // invalidate this install. It costs a second node_modules on disk;
233
+ // the alternative -- measuring the candidate in the user's live
234
+ // working tree -- is what let a measurement and the commit it was
235
+ // credited to disagree.
236
+ await addWorktree(ctx.repoRoot, candidateWorktreeDir, head);
237
+ addedWorktrees.push(candidateWorktreeDir);
225
238
  const timeoutMs = parseDuration(config.timeout);
226
- const install = await runShell(detected.installCommand, { cwd: worktreeDir, timeoutMs });
227
- if (!ok(install)) {
228
- throw new Error(`installing dependencies in the worktree failed (${detected.installCommand}, exit ` +
229
- `${install.exitCode}): ${tail(install.stderr || install.stdout, 40)}`);
239
+ for (const wt of [worktreeDir, candidateWorktreeDir]) {
240
+ const install = await runShell(detected.installCommand, { cwd: wt, timeoutMs });
241
+ if (!ok(install)) {
242
+ throw new Error(`installing dependencies in ${path.basename(wt)} failed (${detected.installCommand}, exit ` +
243
+ `${install.exitCode}): ${tail(install.stderr || install.stdout, 40)}`);
244
+ }
230
245
  }
231
246
  // The smoke run: prove every declared benchmark actually runs in the
232
247
  // worktree before this baseline is declared successful. Without
@@ -275,9 +290,13 @@ export async function cmdBaseline(ctx, argv) {
275
290
  }
276
291
  catch (e) {
277
292
  const reason = messageOf(e);
278
- if (worktreeAdded) {
293
+ // Unwind every worktree this invocation actually registered, in
294
+ // reverse order. Tracked as a list rather than a boolean because
295
+ // there are now two, and a failure between the two `addWorktree`
296
+ // calls must not leave the first one registered with git.
297
+ for (const wt of [...addedWorktrees].reverse()) {
279
298
  try {
280
- await removeWorktree(ctx.repoRoot, worktreeDir);
299
+ await removeWorktree(ctx.repoRoot, wt);
281
300
  }
282
301
  catch {
283
302
  // Best effort -- the directory removal below still gets rid of
@@ -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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"}
@@ -42,16 +42,17 @@ import { loadConfig, parseDuration } from '../config/load.js';
42
42
  import { freezableFiles } from '../discover/files.js';
43
43
  import { findUnmanifested, restore } from '../freeze/freeze.js';
44
44
  import { hashString } from '../freeze/manifest.js';
45
- import { changedFiles, headCommit, repointWorktree } from '../gitx/git.js';
45
+ import { addWorktree, changedFiles, headCommit, repointWorktree } from '../gitx/git.js';
46
46
  import { interleave } from '../measure/interleave.js';
47
47
  import { appendRow, loadRows } from '../results/results.js';
48
+ import { detect } from '../pm/detect.js';
48
49
  import { checkScope } from '../scope/scope.js';
49
50
  import { ALPHA, compareAll } from '../stats/delta.js';
50
51
  import { readBaseline, writeBaseline } from '../state/baseline.js';
51
52
  import { acquireEvalLock } from '../state/lock.js';
52
53
  import { runDir } from '../state/home.js';
53
54
  import { readStop } from '../state/stop.js';
54
- import { FROZEN_DIRNAME, WORKTREE_DIRNAME } from '../state/runnaming.js';
55
+ import { CANDIDATE_WORKTREE_DIRNAME, FROZEN_DIRNAME, WORKTREE_DIRNAME } from '../state/runnaming.js';
55
56
  import { ok, runShell, tail } from '../runner/exec.js';
56
57
  import { decide } from '../verdict/verdict.js';
57
58
  function messageOf(e) {
@@ -99,9 +100,39 @@ export async function runEval(opts) {
99
100
  await release();
100
101
  }
101
102
  }
103
+ /**
104
+ * One shell-command gate (typecheck, build, test).
105
+ *
106
+ * These were three near-identical blocks differing only in the command, the
107
+ * gate name, and whether an empty command means "skip". Sharing them means a
108
+ * fix to one -- the message, the timeout, which stream gets reported --
109
+ * cannot silently miss the other two.
110
+ *
111
+ * `required` is not cosmetic. typecheck and build are legitimately optional,
112
+ * and an empty command skips them. The test command must always run: config
113
+ * validation refuses an empty one, and folding all three into a single
114
+ * "skip when empty" rule would quietly turn any future gap in that
115
+ * validation into a SKIPPED test gate -- the one gate the entire verdict
116
+ * depends on. Stated as a flag so the difference survives the merge.
117
+ *
118
+ * Returns null when the gate passes or is skipped, otherwise the failure to
119
+ * report; the caller owns `finish` and the exit code.
120
+ */
121
+ async function runCommandGate(o) {
122
+ if (!o.required && o.command.trim() === '')
123
+ return null;
124
+ const r = await runShell(o.command, { cwd: o.cwd, timeoutMs: o.timeoutMs, log: o.log });
125
+ if (ok(r))
126
+ return null;
127
+ return {
128
+ gate: o.name,
129
+ message: `${o.name} command failed (${o.command}, exit ${r.exitCode}): ${tail(r.stderr || r.stdout, 40)}`,
130
+ };
131
+ }
102
132
  async function evaluate(opts, dir) {
103
133
  const log = opts.log ?? (() => { });
104
134
  const worktreeDir = path.join(dir, WORKTREE_DIRNAME);
135
+ const candidateWorktreeDir = path.join(dir, CANDIDATE_WORKTREE_DIRNAME);
105
136
  const frozenDir = path.join(dir, FROZEN_DIRNAME);
106
137
  const stopRequested = (await readStop(dir)) !== null;
107
138
  let candidateCommit = 'unknown';
@@ -214,14 +245,14 @@ async function evaluate(opts, dir) {
214
245
  if (hashString(configText) !== baseline.configHash) {
215
246
  return finish(noVerdict('fail'), [], 'config-integrity', `${path.basename(opts.ctx.configPath)} has changed since baseline: the run configuration is frozen`);
216
247
  }
217
- // Captured HERE, before gate 3 ever touches the working tree: gate 3's own
218
- // restore intentionally leaves tracked frozen files differing from HEAD
219
- // (that is the whole point -- the measured content must be the frozen
220
- // bytes, not whatever the agent committed), which makes the tree dirty on
221
- // its own. Checking cleanliness after that would misreport every
222
- // legitimate restore as an uncommitted-change violation. What gate 8 must
223
- // police is whether the AGENT's own commit left the tree clean, which is
224
- // exactly what this snapshot -- taken before any harness mutation -- answers.
248
+ // Gate 3 no longer writes into the user's working tree -- the restore
249
+ // lands in the candidate worktree -- so this no longer has to be captured
250
+ // before it to avoid misreading a legitimate restore as an uncommitted
251
+ // change. It is still taken here, and still matters, for a different
252
+ // reason: uncommitted work is NOT what gets measured any more (the
253
+ // candidate worktree is a checkout of the commit), so an agent that
254
+ // forgot to commit would otherwise have its edit silently ignored rather
255
+ // than evaluated. Telling it so is the point.
225
256
  //
226
257
  // Deliberately `changedFiles(repoRoot, candidateCommit)` (HEAD), NOT
227
258
  // `isClean` (`git status --porcelain`): `isClean` respects whatever
@@ -236,20 +267,65 @@ async function evaluate(opts, dir) {
236
267
  // `changedFiles` is already immune to this (see its own doc comment) --
237
268
  // reusing it here means gate 8 inherits that immunity by construction,
238
269
  // not by remembering to reimplement it a second time.
239
- let treeWasCleanBeforeRestore = true;
270
+ let treeWasClean = true;
240
271
  try {
241
- treeWasCleanBeforeRestore = (await changedFiles(opts.ctx.repoRoot, candidateCommit)).length === 0;
272
+ treeWasClean = (await changedFiles(opts.ctx.repoRoot, candidateCommit)).length === 0;
242
273
  }
243
274
  catch (e) {
244
275
  return finish(noVerdict('crash'), [], 'worktree-integrity', `could not check working tree cleanliness: ${messageOf(e)}`);
245
276
  }
277
+ // Hoisted above gate 3a, which may have to run an install of its own.
278
+ const timeoutMs = parseDuration(config.timeout);
279
+ // --- Gate 3a: prepare the candidate worktree.
280
+ //
281
+ // The candidate is measured in its own detached checkout of
282
+ // `candidateCommit`, not in the user's working tree. Both sides are then
283
+ // the same kind of thing: a worktree pinned to a commit, with frozen
284
+ // files restored over it. What that buys, concretely --
285
+ //
286
+ // * the measurement can no longer disagree with the commit it is
287
+ // credited to, because there is no window in which the measured
288
+ // directory can change under us;
289
+ // * `eval` stops writing into the checkout the human and the agent are
290
+ // both using -- the frozen-file restore lands here instead;
291
+ // * the agent may keep editing while a measurement runs.
292
+ //
293
+ // A baseline created before this existed has no candidate worktree.
294
+ // Rather than demand `baseline -force` -- which re-derives the freeze
295
+ // manifest from whatever is at HEAD by then, silently adopting the
296
+ // agent's own commits as the correctness contract -- it is created here,
297
+ // once, and the run continues.
298
+ try {
299
+ if (!(await exists(candidateWorktreeDir))) {
300
+ await addWorktree(opts.ctx.repoRoot, candidateWorktreeDir, candidateCommit);
301
+ const detected = await detect(opts.ctx.repoRoot);
302
+ const install = await runShell(detected.installCommand, {
303
+ cwd: candidateWorktreeDir,
304
+ timeoutMs,
305
+ log,
306
+ });
307
+ if (!ok(install)) {
308
+ throw new Error(`installing dependencies in the candidate worktree failed ` +
309
+ `(${detected.installCommand}, exit ${install.exitCode}): ` +
310
+ `${tail(install.stderr || install.stdout, 40)}`);
311
+ }
312
+ warnings.push('created the candidate worktree for a baseline that predates it; ' +
313
+ 'no re-baseline was needed');
314
+ }
315
+ else {
316
+ await repointWorktree(candidateWorktreeDir, candidateCommit);
317
+ }
318
+ }
319
+ catch (e) {
320
+ return finish(noVerdict('crash'), [], 'worktree-integrity', `could not prepare the candidate worktree: ${messageOf(e)}`);
321
+ }
246
322
  // --- Gate 3: restore. Frozen files are put back exactly as they were,
247
323
  // whether or not the agent's edit to them was "in scope" -- a test file
248
324
  // edit is legal to make, but its content is not legal to keep. A failure
249
325
  // here (e.g. the frozen snapshot itself is missing or unreadable) is a
250
326
  // harness-state problem, not something the agent's change did -- CRASH.
251
327
  try {
252
- const changedByRestore = await restore(opts.ctx.repoRoot, frozenDir, baseline.manifest);
328
+ const changedByRestore = await restore(candidateWorktreeDir, frozenDir, baseline.manifest);
253
329
  restoredFiles.push(...changedByRestore);
254
330
  if (changedByRestore.length > 0) {
255
331
  warnings.push(`restored ${changedByRestore.length} frozen file(s) modified since baseline: ${changedByRestore.join(', ')}`);
@@ -273,27 +349,18 @@ async function evaluate(opts, dir) {
273
349
  if (extra.length > 0) {
274
350
  return finish(noVerdict('fail'), [], 'unmanifested', `new test/bench/runner-config file(s) not present at baseline: ${extra.join(', ')}`);
275
351
  }
276
- 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
- }
352
+ // --- Gates 5, 6, 7: typecheck, build, test. Order is load-bearing: a
353
+ // change that does not compile should be reported as a typecheck failure,
354
+ // not as whatever the test command makes of it.
355
+ const commandGates = [
356
+ { name: 'typecheck', command: config.typecheckCommand, required: false },
357
+ { name: 'build', command: config.buildCommand, required: false },
358
+ { name: 'test', command: config.testCommand, required: true },
359
+ ];
360
+ for (const gate of commandGates) {
361
+ const failure = await runCommandGate({ ...gate, cwd: candidateWorktreeDir, timeoutMs, log });
362
+ if (failure !== null)
363
+ return finish(noVerdict('fail'), [], failure.gate, failure.message);
297
364
  }
298
365
  // --- Gate 8: worktree integrity.
299
366
  //
@@ -305,7 +372,7 @@ async function evaluate(opts, dir) {
305
372
  // same uncommitted edit can be measured and credited indefinitely. Both
306
373
  // checks below are FAIL, not CRASH: they describe the agent's own change
307
374
  // (or lack of one), not a harness malfunction.
308
- if (!treeWasCleanBeforeRestore) {
375
+ if (!treeWasClean) {
309
376
  return finish(noVerdict('fail'), [], 'worktree-integrity', 'the working tree is not clean (uncommitted changes or untracked files): the candidate is ' +
310
377
  'measured from this working tree, and crediting an uncommitted edit to a commit that never ' +
311
378
  'contained it would let the same edit be measured and kept forever without ever landing. ' +
@@ -351,7 +418,7 @@ async function evaluate(opts, dir) {
351
418
  rounds: config.count,
352
419
  benchmarks,
353
420
  baseDir: worktreeDir,
354
- candDir: opts.ctx.repoRoot,
421
+ candDir: candidateWorktreeDir,
355
422
  measureOne,
356
423
  }));
357
424
  }
@@ -1 +1 @@
1
- {"version":3,"file":"eval.js","sourceRoot":"","sources":["../../src/pipeline/eval.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAG7D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAC1E,OAAO,EAAE,UAAU,EAAqB,MAAM,0BAA0B,CAAA;AACxE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAY,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,KAAK,EAAE,UAAU,EAAc,MAAM,mBAAmB,CAAA;AACjE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAuB,MAAM,sBAAsB,CAAA;AACvF,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,MAAM,EAAgB,MAAM,uBAAuB,CAAA;AAsE5D,SAAS,SAAS,CAAC,CAAU;IAC3B,OAAO,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;AACnD,CAAC;AAED,KAAK,UAAU,MAAM,CAAC,CAAS;IAC7B,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,CAAC,CAAC,CAAA;QACf,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED,iGAAiG;AACjG,SAAS,gBAAgB,CAAC,EAAU;IAClC,MAAM,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;IAC/B,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,8CAA8C,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;IACrF,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAA;AAC9D,CAAC;AAED,SAAS,SAAS,CAAC,MAAwB;IACzC,mEAAmE;IACnE,yEAAyE;IACzE,2EAA2E;IAC3E,0CAA0C;IAC1C,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAA;AACnF,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,IAAiB;IAC7C,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;IAC/C,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,GAAG,CAAC,CAAA;IAC1C,IAAI,CAAC;QACH,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAClC,CAAC;YAAS,CAAC;QACT,MAAM,OAAO,EAAE,CAAA;IACjB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,IAAiB,EAAE,GAAW;IACpD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAS,EAAE,GAAE,CAAC,CAAC,CAAA;IACxC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAA;IACpD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAA;IAEhD,MAAM,aAAa,GAAG,CAAC,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAA;IAEpD,IAAI,eAAe,GAAG,SAAS,CAAA;IAC/B,IAAI,CAAC;QACH,eAAe,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IACvD,CAAC;IAAC,MAAM,CAAC;QACP,oEAAoE;QACpE,6DAA6D;IAC/D,CAAC;IAED,MAAM,QAAQ,GAAa,EAAE,CAAA;IAC7B,MAAM,aAAa,GAAa,EAAE,CAAA;IAElC,IAAI,QAAoC,CAAA;IACxC,IAAI,MAA0B,CAAA;IAE9B;;;;;OAKG;IACH,KAAK,UAAU,MAAM,CACnB,OAAgB,EAChB,MAAe,EACf,UAAgC,EAChC,OAAe;QAEf,MAAM,YAAY,GAAG,QAAQ,EAAE,YAAY,IAAI,SAAS,CAAA;QACxD,MAAM,aAAa,GAAG,QAAQ,EAAE,aAAa,IAAI,SAAS,CAAA;QAC1D,MAAM,WAAW,GAAG,CAAC,GAAG,QAAQ,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;QAEtD,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QACtD,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAA;QAEvC,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC1F,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACxE,wEAAwE;QACxE,yEAAyE;QACzE,qEAAqE;QACrE,yEAAyE;QACzE,uEAAuE;QACvE,yEAAyE;QACzE,6BAA6B;QAC7B,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,CAAA;QACzE,MAAM,WAAW,GAAG,SAAS;YAC3B,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;gBAC3B,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,KAAK,OAAO,EAAE;gBACnC,CAAC,CAAC,OAAO;YACX,CAAC,CAAC,IAAI,CAAC,WAAW,CAAA;QACpB,MAAM,GAAG,GAAQ;YACf,MAAM,EAAE,eAAe;YACvB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,cAAc;YACd,IAAI;YACJ,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;YAC5B,WAAW;SACZ,CAAA;QACD,MAAM,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,CAAA;QAE1C,OAAO;YACL,OAAO;YACP,MAAM;YACN,aAAa;YACb,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnD,OAAO;YACP,QAAQ,EAAE,WAAW;YACrB,aAAa;YACb,eAAe;YACf,YAAY;YACZ,aAAa;YACb,UAAU;SACX,CAAA;IACH,CAAC;IAED,wEAAwE;IACxE,uEAAuE;IACvE,wEAAwE;IACxE,qEAAqE;IACrE,qEAAqE;IACrE,wDAAwD;IACxD,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAA;IACpC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;IAC9D,CAAC;IACD,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IAChD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;IAC9D,CAAC;IAED,2EAA2E;IAC3E,oEAAoE;IACpE,qEAAqE;IACrE,2CAA2C;IAC3C,IAAI,OAAiB,CAAA;IACrB,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAA;IACxE,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,oCAAoC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IACpG,CAAC;IACD,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;IACpD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACxE,OAAO,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,oBAAoB,IAAI,EAAE,CAAC,CAAA;IAC3E,CAAC;IAED,yEAAyE;IACzE,mEAAmE;IACnE,mCAAmC;IACnC,IAAI,UAAkB,CAAA;IACtB,IAAI,CAAC;QACH,UAAU,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;IAC1D,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,kBAAkB,EAAE,0BAA0B,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IACrG,CAAC;IACD,IAAI,UAAU,CAAC,UAAU,CAAC,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC;QACnD,OAAO,MAAM,CACX,SAAS,CAAC,MAAM,CAAC,EACjB,EAAE,EACF,kBAAkB,EAClB,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,8DAA8D,CACpG,CAAA;IACH,CAAC;IAED,2EAA2E;IAC3E,wEAAwE;IACxE,sEAAsE;IACtE,0EAA0E;IAC1E,iEAAiE;IACjE,0EAA0E;IAC1E,yEAAyE;IACzE,8EAA8E;IAC9E,EAAE;IACF,qEAAqE;IACrE,oEAAoE;IACpE,iEAAiE;IACjE,0EAA0E;IAC1E,qEAAqE;IACrE,uEAAuE;IACvE,wEAAwE;IACxE,0EAA0E;IAC1E,0EAA0E;IAC1E,sEAAsE;IACtE,wEAAwE;IACxE,uEAAuE;IACvE,sDAAsD;IACtD,IAAI,yBAAyB,GAAG,IAAI,CAAA;IACpC,IAAI,CAAC;QACH,yBAAyB,GAAG,CAAC,MAAM,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAA;IACnG,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,oBAAoB,EAAE,6CAA6C,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IAC1H,CAAC;IAED,uEAAuE;IACvE,wEAAwE;IACxE,yEAAyE;IACzE,uEAAuE;IACvE,wEAAwE;IACxE,IAAI,CAAC;QACH,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;QACvF,aAAa,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,CAAA;QACvC,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,QAAQ,CAAC,IAAI,CACX,YAAY,gBAAgB,CAAC,MAAM,4CAA4C,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC7G,CAAA;QACH,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,mCAAmC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IACrG,CAAC;IAED,uEAAuE;IACvE,uEAAuE;IACvE,wEAAwE;IACxE,6DAA6D;IAC7D,IAAI,UAAoB,CAAA;IACxB,IAAI,CAAC;QACH,UAAU,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IACtD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,mCAAmC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IAC1G,CAAC;IACD,MAAM,KAAK,GAAG,gBAAgB,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;IAC9E,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,MAAM,CACX,SAAS,CAAC,MAAM,CAAC,EACjB,EAAE,EACF,cAAc,EACd,iEAAiE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACpF,CAAA;IACH,CAAC;IAED,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAE/C,8CAA8C;IAC9C,IAAI,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC1C,MAAM,CAAC,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,gBAAgB,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAA;QAC7F,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACX,OAAO,MAAM,CACX,SAAS,CAAC,MAAM,CAAC,EACjB,EAAE,EACF,WAAW,EACX,6BAA6B,MAAM,CAAC,gBAAgB,UAAU,CAAC,CAAC,QAAQ,MAAM,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAC/G,CAAA;QACH,CAAC;IACH,CAAC;IAED,0CAA0C;IAC1C,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACtC,MAAM,CAAC,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAA;QACzF,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACX,OAAO,MAAM,CACX,SAAS,CAAC,MAAM,CAAC,EACjB,EAAE,EACF,OAAO,EACP,yBAAyB,MAAM,CAAC,YAAY,UAAU,CAAC,CAAC,QAAQ,MAAM,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CACvG,CAAA;QACH,CAAC;IACH,CAAC;IAED,mEAAmE;IACnE,CAAC;QACC,MAAM,CAAC,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAA;QACxF,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACX,OAAO,MAAM,CACX,SAAS,CAAC,MAAM,CAAC,EACjB,EAAE,EACF,MAAM,EACN,wBAAwB,MAAM,CAAC,WAAW,UAAU,CAAC,CAAC,QAAQ,MAAM,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CACrG,CAAA;QACH,CAAC;IACH,CAAC;IAED,kCAAkC;IAClC,EAAE;IACF,yEAAyE;IACzE,2EAA2E;IAC3E,kEAAkE;IAClE,wEAAwE;IACxE,yEAAyE;IACzE,wEAAwE;IACxE,yEAAyE;IACzE,+CAA+C;IAC/C,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAC/B,OAAO,MAAM,CACX,SAAS,CAAC,MAAM,CAAC,EACjB,EAAE,EACF,oBAAoB,EACpB,2FAA2F;YACzF,4FAA4F;YAC5F,0FAA0F;YAC1F,oCAAoC,CACvC,CAAA;IACH,CAAC;IACD,IAAI,eAAe,KAAK,QAAQ,CAAC,aAAa,EAAE,CAAC;QAC/C,OAAO,MAAM,CACX,SAAS,CAAC,MAAM,CAAC,EACjB,EAAE,EACF,oBAAoB,EACpB,SAAS,eAAe,mEAAmE;YACzF,6DAA6D,CAChE,CAAA;IACH,CAAC;IACD,MAAM,cAAc,GAAG,MAAM,sBAAsB,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;IACrF,IAAI,cAAc,CAAC,OAAO,KAAK,IAAI;QAAE,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;IAC1E,IAAI,cAAc,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QAClC,OAAO,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,oBAAoB,EAAE,cAAc,CAAC,KAAK,CAAC,CAAA;IAClF,CAAC;IAED,uBAAuB;IACvB,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;IAC5D,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IACnD,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAE7C,MAAM,iBAAiB,GAAG,KAAK,EAAE,UAAkB,EAAE,CAAY,EAAmB,EAAE;QACpF,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC;YAC5B,GAAG,EAAE,UAAU;YACf,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC;YAC3C,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,WAAW;YACX,QAAQ;YACR,SAAS;YACT,QAAQ,EAAE,MAAO,CAAC,QAAQ;YAC1B,GAAG;SACJ,CAAC,CAAA;QACF,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,eAAe,UAAU,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,CAAA;QAChF,CAAC;QACD,OAAO,MAAM,CAAC,OAAO,CAAA;IACvB,CAAC,CAAA;IACD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,iBAAiB,CAAA;IAEvD,IAAI,IAAkB,CAAA;IACtB,IAAI,IAAkB,CAAA;IACtB,IAAI,CAAC;QACH,CAAC;QAAA,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,UAAU,CAAC;YAClC,MAAM,EAAE,MAAM,CAAC,KAAK;YACpB,UAAU;YACV,OAAO,EAAE,WAAW;YACpB,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ;YAC1B,UAAU;SACX,CAAC,CAAC,CAAA;IACL,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;IAChE,CAAC;IAED,sBAAsB;IACtB,IAAI,MAAe,CAAA;IACnB,IAAI,CAAC;QACH,MAAM,GAAG,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IACjC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;IAChE,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC;QACrB,MAAM;QACN,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,MAAM,EAAE,MAAM,CAAC,KAAK;KACrB,CAAC,CAAA;IAEF,oEAAoE;IACpE,wEAAwE;IACxE,6BAA6B;IAC7B,EAAE;IACF,kEAAkE;IAClE,kEAAkE;IAClE,oEAAoE;IACpE,sEAAsE;IACtE,qEAAqE;IACrE,uEAAuE;IACvE,uEAAuE;IACvE,oDAAoD;IACpD,0EAA0E;IAC1E,6DAA6D;IAC7D,EAAE;IACF,wEAAwE;IACxE,wEAAwE;IACxE,sEAAsE;IACtE,qEAAqE;IACrE,uEAAuE;IACvE,oEAAoE;IACpE,sEAAsE;IACtE,uEAAuE;IACvE,yEAAyE;IACzE,oEAAoE;IACpE,qEAAqE;IACrE,uEAAuE;IACvE,qEAAqE;IACrE,8DAA8D;IAC9D,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAmB,EAAE,GAAG,QAAQ,EAAE,aAAa,EAAE,eAAe,EAAE,CAAA;YAChF,MAAM,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;YAClC,QAAQ,GAAG,QAAQ,CAAA;YACnB,MAAM,eAAe,CAAC,WAAW,EAAE,eAAe,CAAC,CAAA;YACnD,MAAM,OAAO,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;QAC1D,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,kEAAkE;YAClE,mEAAmE;YACnE,qEAAqE;YACrE,qEAAqE;YACrE,2DAA2D;YAC3D,OAAO,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;QACpE,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AAC9G,CAAC;AASD;;;;;;;;;;GAUG;AACH,KAAK,UAAU,sBAAsB,CACnC,WAAmB,EACnB,SAAiB,EACjB,QAAwB;IAExB,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;QACjC,OAAO;YACL,KAAK,EACH,kBAAkB,WAAW,4DAA4D;gBACzF,wFAAwF;gBACxF,0FAA0F;gBAC1F,0CAA0C;YAC5C,OAAO,EAAE,IAAI;SACd,CAAA;IACH,CAAC;IACD,IAAI,QAAgB,CAAA;IACpB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,CAAA;IAC1C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,EAAE,KAAK,EAAE,uCAAuC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IACxF,CAAC;IAED,IAAI,OAAO,GAAkB,IAAI,CAAA;IACjC,IAAI,QAAQ,KAAK,QAAQ,CAAC,aAAa,EAAE,CAAC;QACxC,kEAAkE;QAClE,gEAAgE;QAChE,oEAAoE;QACpE,uEAAuE;QACvE,mEAAmE;QACnE,oEAAoE;QACpE,uEAAuE;QACvE,kEAAkE;QAClE,IAAI,CAAC;YACH,MAAM,eAAe,CAAC,WAAW,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAA;YAC1D,MAAM,OAAO,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;QAC1D,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO;gBACL,KAAK,EACH,sBAAsB,QAAQ,kCAAkC,QAAQ,CAAC,aAAa,IAAI;oBAC1F,0CAA0C,SAAS,CAAC,CAAC,CAAC,EAAE;gBAC1D,OAAO,EAAE,IAAI;aACd,CAAA;QACH,CAAC;QACD,OAAO;YACL,gCAAgC,QAAQ,kCAAkC;gBAC1E,IAAI,QAAQ,CAAC,aAAa,qEAAqE;gBAC/F,8CAA8C,CAAA;IAClD,CAAC;IAED,IAAI,YAAoB,CAAA;IACxB,IAAI,CAAC;QACH,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,CAAA;IACtF,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,EAAE,KAAK,EAAE,2CAA2C,QAAQ,CAAC,YAAY,MAAM,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,CAAA;IACjH,CAAC;IACD,IAAI,UAAU,CAAC,YAAY,CAAC,KAAK,QAAQ,CAAC,YAAY,EAAE,CAAC;QACvD,OAAO;YACL,KAAK,EACH,4BAA4B,QAAQ,CAAC,YAAY,6CAA6C;gBAC9F,2FAA2F;gBAC3F,0FAA0F;gBAC1F,2FAA2F;YAC7F,OAAO;SACR,CAAA;IACH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;AACjC,CAAC"}
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":"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"}
@@ -16,6 +16,22 @@
16
16
  export declare const BRANCH_PREFIX = "autor3search-typescript/";
17
17
  /** Directory name, under the per-run state dir, of the pinned baseline worktree. */
18
18
  export declare const WORKTREE_DIRNAME = "baseline-worktree";
19
+ /**
20
+ * The candidate side's own worktree, sibling to the baseline's.
21
+ *
22
+ * `eval` used to measure the candidate in the USER'S working tree while the
23
+ * baseline side measured an isolated worktree. That asymmetry is what made
24
+ * a clean-tree gate necessary at all (a working tree can change between the
25
+ * check and the measurement), what forced the frozen-file restore to write
26
+ * into the user's own checkout, and what let one uncommitted edit be
27
+ * measured while a different commit was credited. Giving the candidate its
28
+ * own detached worktree makes both sides the same kind of thing.
29
+ *
30
+ * Its dependencies are installed once, by `baseline`, and stay valid for
31
+ * the whole run: `package.json` and the lockfile are immutable (see
32
+ * IMMUTABLE_FILES), so no commit the agent makes can change them.
33
+ */
34
+ export declare const CANDIDATE_WORKTREE_DIRNAME = "candidate-worktree";
19
35
  /** Directory name, under the per-run state dir, of the frozen test/bench snapshot. */
20
36
  export declare const FROZEN_DIRNAME = "frozen";
21
37
  /**
@@ -17,6 +17,22 @@ import { currentBranch } from '../gitx/git.js';
17
17
  export const BRANCH_PREFIX = 'autor3search-typescript/';
18
18
  /** Directory name, under the per-run state dir, of the pinned baseline worktree. */
19
19
  export const WORKTREE_DIRNAME = 'baseline-worktree';
20
+ /**
21
+ * The candidate side's own worktree, sibling to the baseline's.
22
+ *
23
+ * `eval` used to measure the candidate in the USER'S working tree while the
24
+ * baseline side measured an isolated worktree. That asymmetry is what made
25
+ * a clean-tree gate necessary at all (a working tree can change between the
26
+ * check and the measurement), what forced the frozen-file restore to write
27
+ * into the user's own checkout, and what let one uncommitted edit be
28
+ * measured while a different commit was credited. Giving the candidate its
29
+ * own detached worktree makes both sides the same kind of thing.
30
+ *
31
+ * Its dependencies are installed once, by `baseline`, and stay valid for
32
+ * the whole run: `package.json` and the lockfile are immutable (see
33
+ * IMMUTABLE_FILES), so no commit the agent makes can change them.
34
+ */
35
+ export const CANDIDATE_WORKTREE_DIRNAME = 'candidate-worktree';
20
36
  /** Directory name, under the per-run state dir, of the frozen test/bench snapshot. */
21
37
  export const FROZEN_DIRNAME = 'frozen';
22
38
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"runnaming.js","sourceRoot":"","sources":["../../src/state/runnaming.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAE9C;;;;;;;;;;;;;GAaG;AAEH,6EAA6E;AAC7E,MAAM,CAAC,MAAM,aAAa,GAAG,0BAA0B,CAAA;AAEvD,oFAAoF;AACpF,MAAM,CAAC,MAAM,gBAAgB,GAAG,mBAAmB,CAAA;AAEnD,sFAAsF;AACtF,MAAM,CAAC,MAAM,cAAc,GAAG,QAAQ,CAAA;AAEtC;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,QAAgB;IACvD,IAAI,MAAc,CAAA;IAClB,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAA;IACxC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,OAAO,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QAC1D,MAAM,IAAI,KAAK,CAAC,uEAAuE,OAAO,EAAE,CAAC,CAAA;IACnG,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CACb,+CAA+C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,wBAAwB;YAC3F,cAAc,aAAa,sCAAsC,CACpE,CAAA;IACH,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;IAC9C,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,+CAA+C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;IACxG,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC"}
1
+ {"version":3,"file":"runnaming.js","sourceRoot":"","sources":["../../src/state/runnaming.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAE9C;;;;;;;;;;;;;GAaG;AAEH,6EAA6E;AAC7E,MAAM,CAAC,MAAM,aAAa,GAAG,0BAA0B,CAAA;AAEvD,oFAAoF;AACpF,MAAM,CAAC,MAAM,gBAAgB,GAAG,mBAAmB,CAAA;AAEnD;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,oBAAoB,CAAA;AAE9D,sFAAsF;AACtF,MAAM,CAAC,MAAM,cAAc,GAAG,QAAQ,CAAA;AAEtC;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,QAAgB;IACvD,IAAI,MAAc,CAAA;IAClB,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAA;IACxC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,OAAO,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QAC1D,MAAM,IAAI,KAAK,CAAC,uEAAuE,OAAO,EAAE,CAAC,CAAA;IACnG,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CACb,+CAA+C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,wBAAwB;YAC3F,cAAc,aAAa,sCAAsC,CACpE,CAAA;IACH,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;IAC9C,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,+CAA+C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;IACxG,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "autor3search-typescript",
3
- "version": "0.1.6",
3
+ "version": "0.2.0",
4
4
  "description": "Autonomous AI-driven performance optimization for any TypeScript repository.",
5
5
  "type": "module",
6
6
  "license": "MIT",