@outerlayer/cli 0.34.0-next.20261028105453 → 0.34.0-next.20261028122415

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.
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { stripTerminalControls } from './chunk-ITS67SH7.js';
3
+ import { stripTerminalControls } from './chunk-YGU43DH4.js';
4
4
  import { tagToPull, imageTag, pullInstruction, readUpdateStatus, runnerImageVersion } from './chunk-ORENXMHA.js';
5
5
  import { readFileSync } from 'fs';
6
6
 
@@ -1,13 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
3
  import { decideInstalledSwitch } from './chunk-3JVYMD4G.js';
4
- import { reportFailedStart, fitImageBuildMemory } from './chunk-6UHU7DHT.js';
4
+ import { reportFailedStart, fitImageBuildMemory } from './chunk-UDMFRKFJ.js';
5
5
  import { fetchVersionMeta, npmVersion, npmSupportsProvenance, fetchTarballDigest, fetchProvenance, installVersion, auditSignatures } from './chunk-E7R2GIAW.js';
6
6
  import { RUNNER_PROTOCOL } from './chunk-MH6QLXUO.js';
7
7
  import { writePendingUpdate } from './chunk-TZXJSNN4.js';
8
- import { renderUpdateSteps } from './chunk-6WU2D2CY.js';
8
+ import { renderUpdateSteps } from './chunk-SX3LYSWR.js';
9
9
  import { readHousekeepingRecord, writeHousekeepingRecord } from './chunk-JDQBJUXQ.js';
10
- import { releaseLease, isUnfinished, setStage, jobEnv, runHook, describeHookEnd, provisionMicroVm, deliverCommitHooks, provisionProcess, readProvisionOut, workdirProblem, MICROVM_COMMAND_DIR, commandLogOffset, startMicroVmCommand, microVmCommandLine, runCommand, startSender, finishJob, sampleGuest, foldSample, isContainerTracked, isMicroVmTracked, probeMicroVmCommand, probeCommand, appendCommandLog, judgeProbe, EXIT_CODE_FILE, isTracked, isGroupAlive, outcomeFromExitCode, isTimedOut, readCpuUsec, isIdle, stopOrphanedMicroVms, unfinishedJobs, listUnreadableJobs, listAdoptableJobs, retryFailedReleases, recoverLostJobs, GUEST_USAGE_INTERVAL_MS, hookLimitsFor, AttemptLogBook, microVmOomKills, needsRenew, renewLease, RENEW_INTERVAL_SECONDS, listTrackedJobs, restartSender, serveLease, vmAlive, writeGuestGhConfig, ALREADY_RELEASED, inTeardown } from './chunk-ITS67SH7.js';
10
+ import { releaseLease, isUnfinished, setStage, jobEnv, runHook, describeHookEnd, provisionMicroVm, deliverCommitHooks, provisionProcess, readProvisionOut, workdirProblem, MICROVM_COMMAND_DIR, commandLogOffset, startMicroVmCommand, microVmCommandLine, runCommand, startSender, finishJob, sampleGuest, foldSample, isContainerTracked, isMicroVmTracked, probeMicroVmCommand, probeCommand, appendCommandLog, judgeProbe, EXIT_CODE_FILE, isTracked, isGroupAlive, outcomeFromExitCode, isTimedOut, readCpuUsec, isIdle, stopOrphanedMicroVms, unfinishedJobs, listUnreadableJobs, listAdoptableJobs, retryFailedReleases, recoverLostJobs, GUEST_USAGE_INTERVAL_MS, hookLimitsFor, AttemptLogBook, microVmOomKills, needsRenew, renewLease, RENEW_INTERVAL_SECONDS, listTrackedJobs, restartSender, serveLease, vmAlive, writeGuestGhConfig, ALREADY_RELEASED, inTeardown } from './chunk-YGU43DH4.js';
11
11
  import { JOB_STATE_FORMAT, readsJobState, jobStateFormatOf } from './chunk-ZVB57WI6.js';
12
12
  import { realBlockedProbes, checkBlockedWithSlots, largeBuildMemoryBytes, LARGE_BUILD_DISK_BYTES, checkManagedRoom, sliceMemoryOf, createHousekeepingDocker, housekeepingDockerIfReachable, KIND_LABEL, RECIPE_KEY_LABEL } from './chunk-OFKM35MX.js';
13
13
  import { writeMarker, readMarker, currentVersion, removeMarker, isInLayout, startedThroughCurrent, entryIn, versionDir, switchCurrent, cleanVersions, stagingDir } from './chunk-E3GX4WVJ.js';
@@ -3189,7 +3189,7 @@ async function startRunner(configPath, deps, startup) {
3189
3189
  check: update.check ? () => update.check(configPath) : async () => {
3190
3190
  const held = heldClaudeCredential();
3191
3191
  const env = held === void 0 ? process.env : { ...process.env, [held.variable]: held.value };
3192
- return (await import('./check-LMUTXMTY.js')).runRunnerCheck(configPath, { fetchImpl: deps.fetchImpl, env });
3192
+ return (await import('./check-FWRVWOVY.js')).runRunnerCheck(configPath, { fetchImpl: deps.fetchImpl, env });
3193
3193
  },
3194
3194
  now: () => (deps.now ?? (() => /* @__PURE__ */ new Date()))().getTime(),
3195
3195
  log
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { scrubReason, stripTerminalControls } from './chunk-ITS67SH7.js';
3
+ import { scrubReason, stripTerminalControls } from './chunk-YGU43DH4.js';
4
4
  import { checkFit, RUNNER_RESERVE_BYTES } from './chunk-N4KQMGEZ.js';
5
5
  import { RunnerAlreadyRunningError, readPidFile } from './chunk-64LLUVJR.js';
6
6
  import { isSameProcess } from './chunk-JBJTC3UU.js';
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { criteriaOf, loadCitationFinder, hostItemsOf, MAX_TEST_FILE_BYTES, MAX_TEST_FILES, criterionInputs, NO_CITING_TEST_REASON, NO_VERDICT_REASON, planCriteria } from './chunk-6CK2OC4Q.js';
3
+ import { criteriaOf, loadCitationFinder, hostItemsOf, testFileMatcher, criterionInputs, NO_CITING_TEST_REASON, NO_VERDICT_REASON, planCriteria, NO_TEST_FILES_REASON, MAX_TEST_FILE_BYTES, MAX_TEST_FILES } from './chunk-BEGMZKMG.js';
4
4
  import { WorkCommandError, resolveCredentials, getJson } from './chunk-72N7GOLM.js';
5
5
  import { C } from './chunk-ANPNT6PM.js';
6
6
  import { sanitizeTerminal } from './chunk-IXPH4EXK.js';
@@ -87,13 +87,13 @@ function unprovenCriteria(input) {
87
87
  commits.set(item.id, commit);
88
88
  previous.set(item.id, { ...item, inputs: criterionInputs({ brief: NO_BRIEF, criterion, citations: judgedCitations, testFiles: judged }) });
89
89
  }
90
- const plan = planCriteria({ criteria, citations, inputs, previous: [...previous.values()] });
90
+ const plan = planCriteria({ criteria, citations, inputs, previous: [...previous.values()], noTestFiles: input.headFiles.length === 0 });
91
91
  const settled = new Map(plan.settled.map((item) => [item.id, item]));
92
92
  const entries = [];
93
93
  for (const criterion of criteria) {
94
94
  const item = settled.get(criterion.id);
95
95
  if (item === void 0 || item.result !== "fail") continue;
96
- if (item.refs === void 0) entries.push({ id: criterion.id, proof: null, state: "uncited" });
96
+ if (item.refs === void 0) entries.push({ id: criterion.id, proof: null, state: "uncited", ...item.reason === NO_TEST_FILES_REASON ? { noTestFiles: true } : {} });
97
97
  else entries.push({ id: criterion.id, proof: null, state: "failed", commit: commits.get(criterion.id) ?? "", reason: item.reason ?? "no reason recorded" });
98
98
  }
99
99
  return { entries, notes };
@@ -129,7 +129,7 @@ function testFilesAt(cwd, head, isTest) {
129
129
  const picked = /* @__PURE__ */ new Map();
130
130
  for (const entry of listing.toString("utf8").split("\0")) {
131
131
  const match = /^(\d+) blob ([0-9a-f]+)\s+(\d+)\t(.*)$/s.exec(entry);
132
- if (match === null || !match[1].startsWith("100") || Number(match[3]) > MAX_TEST_FILE_BYTES || !isTest.test(match[4])) continue;
132
+ if (match === null || !match[1].startsWith("100") || Number(match[3]) > MAX_TEST_FILE_BYTES || !isTest(match[4])) continue;
133
133
  if (picked.size >= MAX_TEST_FILES) break;
134
134
  picked.set(match[4], match[2]);
135
135
  }
@@ -140,6 +140,16 @@ function testFilesAt(cwd, head, isTest) {
140
140
  return void 0;
141
141
  }
142
142
  }
143
+ function proofsFileAt(cwd, commit) {
144
+ try {
145
+ return git(cwd, ["show", `${commit}:.outerlayer-proofs.yaml`]).toString("utf8");
146
+ } catch {
147
+ return void 0;
148
+ }
149
+ }
150
+ function testFilesOf(cwd, commit, finder) {
151
+ return testFilesAt(cwd, commit, testFileMatcher(finder, proofsFileAt(cwd, commit)));
152
+ }
143
153
  function checkoutPlaces(cwd) {
144
154
  for (let dir = resolve(cwd); ; dir = dirname(dir)) {
145
155
  const dotGit = resolve(dir, ".git");
@@ -167,14 +177,14 @@ function governingDir(cwd) {
167
177
  async function testProofMode(cwd) {
168
178
  const dir = governingDir(cwd);
169
179
  if (dir === void 0) return "any";
170
- const { testProofIn } = await import('./host-checks-77FAAR2A.js');
180
+ const { testProofIn } = await import('./host-checks-L4GX6F3H.js');
171
181
  return testProofIn(dir);
172
182
  }
173
183
  async function judgeCheckName(cwd) {
174
184
  const dir = governingDir(cwd);
175
185
  if (dir === void 0) return {};
176
186
  if (!existsSync(dir)) return { note: `the governed context at ${dir} is not readable` };
177
- const { checksIn, isJudgeCheck } = await import('./host-checks-77FAAR2A.js');
187
+ const { checksIn, isJudgeCheck } = await import('./host-checks-L4GX6F3H.js');
178
188
  const quiet = { line: () => void 0, error: () => void 0 };
179
189
  const check = checksIn(dir, quiet, "").checks.find((c) => isJudgeCheck(c) && c.judge.subjects === "criteria");
180
190
  return check === void 0 ? {} : { name: check.name };
@@ -186,7 +196,7 @@ async function findUnproven(input) {
186
196
  const criteria = criteriaOf(input.item);
187
197
  if (criteria === void 0) return { entries: [], notes: [] };
188
198
  const finder = await loadCitationFinder();
189
- const headFiles = testFilesAt(input.cwd, input.head, finder.TEST_FILE);
199
+ const headFiles = testFilesOf(input.cwd, input.head, finder);
190
200
  if (headFiles === void 0) return { entries: [], notes: [`the test files at ${input.head.slice(0, 7)} cannot be read`] };
191
201
  const items = hostItemsOf(input.item, found.name);
192
202
  const result = unprovenCriteria({
@@ -194,7 +204,7 @@ async function findUnproven(input) {
194
204
  finder,
195
205
  headFiles,
196
206
  items,
197
- testFilesAt: (commit) => testFilesAt(input.cwd, commit, finder.TEST_FILE)
207
+ testFilesAt: (commit) => testFilesOf(input.cwd, commit, finder)
198
208
  });
199
209
  const check = Object(input.item).checks?.find((c) => Object(c).name === found.name);
200
210
  if (check?.source === "host" && check.result === "fail" && items.length === 0) result.notes.unshift("the gateway returned no check items for the judge's result");
@@ -248,6 +258,9 @@ var STATE_LABEL = { current: "current", "out-of-date": "out of date", missing: "
248
258
  function renderEntry(e) {
249
259
  const id = sanitizeTerminal(e.id);
250
260
  if (e.state === "uncited") {
261
+ if (e.noTestFiles === true) {
262
+ return `${id} none uncited No file at this commit is recognized as a test. Name the repository's test files with a runner glob in \`.outerlayer-proofs.yaml\`.`;
263
+ }
251
264
  return `${id} none uncited No test at HEAD cites it. Put ${id} in a test's title or in a comment above the test, as in // proves ${id}`;
252
265
  }
253
266
  if (e.state === "failed") {
@@ -314,7 +327,7 @@ async function runWorkProofs(opts) {
314
327
  async function runWorkProofsCommand(opts) {
315
328
  try {
316
329
  if (opts.record) {
317
- const { runWorkProofsRecord } = await import('./work-proofs-record-BCY52YK3.js');
330
+ const { runWorkProofsRecord } = await import('./work-proofs-record-IC3RWDDQ.js');
318
331
  const result2 = await runWorkProofsRecord(opts);
319
332
  process.exitCode = result2.exitCode;
320
333
  return;
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { itemsSentence, criteriaOf, hostItemsOf, loadCitationFinder, MAX_TEST_FILE_BYTES, MAX_TEST_FILES, criterionInputs, planCriteria, parseJudgeAnswer, inCriteriaOrder, oneLineReason, judgedItems } from './chunk-6CK2OC4Q.js';
3
+ import { itemsSentence, criteriaOf, hostItemsOf, loadCitationFinder, MAX_TEST_FILE_BYTES, MAX_TEST_FILES, testFileMatcher, criterionInputs, planCriteria, parseJudgeAnswer, inCriteriaOrder, oneLineReason, judgedItems } from './chunk-BEGMZKMG.js';
4
4
  import { readsJobState, READ_JOB_STATE_FORMATS, jobStateFormatOf } from './chunk-ZVB57WI6.js';
5
5
  import { HELPER_PATH, DOCKERD_LOG, HELPER_RECORD } from './chunk-XDCD4GD5.js';
6
6
  import { zodProblem } from './chunk-I3LTIAOR.js';
@@ -1782,12 +1782,21 @@ function testFilesIn(root, isTest, limits = { files: MAX_TEST_FILES, bytes: MAX_
1782
1782
  const rel = prefix === "" ? name : `${prefix}/${name}`;
1783
1783
  const stat = lstatSync(path);
1784
1784
  if (stat.isDirectory()) walk(path, rel);
1785
- else if (stat.isFile() && isTest.test(rel) && stat.size <= limits.bytes) files.push({ path: rel, contents: readFileSync(path, "utf8") });
1785
+ else if (stat.isFile() && isTest(rel) && stat.size <= limits.bytes) files.push({ path: rel, contents: readFileSync(path, "utf8") });
1786
1786
  }
1787
1787
  };
1788
1788
  walk(root, "");
1789
1789
  return files;
1790
1790
  }
1791
+ function proofsFileIn(root) {
1792
+ const path = join(root, ".outerlayer-proofs.yaml");
1793
+ try {
1794
+ const stat = lstatSync(path);
1795
+ return stat.isFile() && stat.size <= MAX_TEST_FILE_BYTES ? readFileSync(path, "utf8") : void 0;
1796
+ } catch {
1797
+ return void 0;
1798
+ }
1799
+ }
1791
1800
  async function hostPassedNames(config, item, fetchImpl) {
1792
1801
  const workItemId = Object(await readWorkItem(config, item, fetchImpl)).workItemId;
1793
1802
  if (typeof workItemId !== "string") throw new WorkCommandError("the work item read named no id");
@@ -1922,11 +1931,11 @@ async function runJudge(input) {
1922
1931
  if (!fetched.ok) return await fail(check, `the build's tests could not be fetched: ${fetched.reason}`);
1923
1932
  const finder = await loadCitationFinder();
1924
1933
  const list = criteria ?? [];
1925
- const testFiles = testFilesIn(branchDir, finder.TEST_FILE);
1934
+ const testFiles = testFilesIn(branchDir, testFileMatcher(finder, proofsFileIn(branchDir)));
1926
1935
  const citations = finder.buildCitations({ ids: list.map((criterion) => criterion.id), files: testFiles, repository: repo, sha: head });
1927
1936
  const testFileText = new Map(testFiles.map((file) => [file.path, file.contents]));
1928
1937
  const inputs = new Map(list.map((criterion) => [criterion.id, criterionInputs({ brief, criterion, citations, testFiles: testFileText })]));
1929
- const plan = planCriteria({ criteria: list, citations, inputs, previous });
1938
+ const plan = planCriteria({ criteria: list, citations, inputs, previous, noTestFiles: testFiles.length === 0 });
1930
1939
  if (plan.toJudge.length < list.length) {
1931
1940
  log.line(`${tag} judge: ${plan.toJudge.length} of ${list.length} criteria to judge, ${list.length - plan.toJudge.length} settled without the judge`);
1932
1941
  }
@@ -4999,7 +4999,7 @@ differs from HEAD.
4999
4999
  fail(trackerNumberError("--pr", opts.pr));
5000
5000
  return;
5001
5001
  }
5002
- const { runWorkProofsCommand } = await import('./work-proofs-cmd-R53HHZJB.js');
5002
+ const { runWorkProofsCommand } = await import('./work-proofs-cmd-RYQ7Y6KO.js');
5003
5003
  await runWorkProofsCommand({ ...opts, ...pr === void 0 ? {} : { pr } });
5004
5004
  });
5005
5005
  workCmd.command("list").description("List live work items for this factory").option("--stage <spec|build|review>", "filter by stage").option("--section <attention|waiting|flowing>", "filter by Queue section").option("--repo <owner/name>", "repository (default: the current checkout's remote)").option("--unclaimed", "only items with no live lease").option("--claimed", "only items with a live lease, held by a host or a local session").option("--startable", "only items a host can start: a build request, no open PR, no live lease").option("--needs <amend>", "only items with a thread waiting on an agent").option("--json", "machine-readable JSON output").option("--url <url>", "cloud base URL (or OUTERLAYER_URL / config)").addOption(apiKeyOption()).option("--app-id <id>", "factory id the key is bound to (or OUTERLAYER_APP_ID / config)").action(async (opts) => {
@@ -5146,7 +5146,7 @@ function registerRunnerCommands(program2) {
5146
5146
  const configOption = "the cloud config file to run against (default: ~/.outerlayer/config.json)";
5147
5147
  runnerCmd.command("start").description("Run the loop: claim work, run it, report, clean up, repeat").option("--config <path>", configOption).action(async (opts) => {
5148
5148
  const { defaultRunnerConfigPath, RunnerConfigError } = await import('./config-AB5Y73BU.js');
5149
- const { start, RunnerStartError } = await import('./loop-QZV7AR3F.js');
5149
+ const { start, RunnerStartError } = await import('./loop-GQLSSBQB.js');
5150
5150
  const { RunnerAlreadyRunningError } = await import('./pidfile-AVJFRZZT.js');
5151
5151
  const configPath = opts.config ?? defaultRunnerConfigPath();
5152
5152
  try {
@@ -5165,8 +5165,8 @@ function registerRunnerCommands(program2) {
5165
5165
  "\nReads OUTERLAYER_URL, OUTERLAYER_APP_ID, OUTERLAYER_API_KEY, OUTERLAYER_RUNNER_NAME and one Claude credential\n(CLAUDE_CODE_OAUTH_TOKEN or ANTHROPIC_API_KEY) from the environment. OUTERLAYER_AGENT\nis optional and defaults to claude. On a later start it refuses variables that disagree with the config in the volume.\nThe image sets OUTERLAYER_RUNNER_IMAGE; outside the image, use `runner start`.\n"
5166
5166
  ).action(async () => {
5167
5167
  const { defaultRunnerConfigPath, RunnerConfigError } = await import('./config-AB5Y73BU.js');
5168
- const { containerStart } = await import('./container-start-RWW7L5LC.js');
5169
- const { start, RunnerStartError } = await import('./loop-QZV7AR3F.js');
5168
+ const { containerStart } = await import('./container-start-XGKAKLUD.js');
5169
+ const { start, RunnerStartError } = await import('./loop-GQLSSBQB.js');
5170
5170
  const { RunnerAlreadyRunningError } = await import('./pidfile-AVJFRZZT.js');
5171
5171
  try {
5172
5172
  const result = await containerStart({
@@ -5190,14 +5190,14 @@ function registerRunnerCommands(program2) {
5190
5190
  ).action(async (opts) => {
5191
5191
  const { defaultRunnerConfigPath } = await import('./config-AB5Y73BU.js');
5192
5192
  const { runnerDir } = await import('./paths-VQ3ALYZ3.js');
5193
- const { runUpdateSteps } = await import('./update-steps-YY3DZ5NW.js');
5193
+ const { runUpdateSteps } = await import('./update-steps-BJB7NL6L.js');
5194
5194
  const text = await runUpdateSteps({ runnerDirPath: runnerDir(opts.config ?? defaultRunnerConfigPath()) });
5195
5195
  process.stdout.write(`${text}
5196
5196
  `);
5197
5197
  });
5198
5198
  runnerCmd.command("check").description("Validate the config, the hooks and the key, and print the effective settings").option("--config <path>", configOption).action(async (opts) => {
5199
5199
  const { defaultRunnerConfigPath } = await import('./config-AB5Y73BU.js');
5200
- const { runRunnerCheck } = await import('./check-LMUTXMTY.js');
5200
+ const { runRunnerCheck } = await import('./check-FWRVWOVY.js');
5201
5201
  const configPath = opts.config ?? defaultRunnerConfigPath();
5202
5202
  const result = await runRunnerCheck(configPath);
5203
5203
  if (!result.ok) {
@@ -5606,7 +5606,7 @@ Next:
5606
5606
  });
5607
5607
  runnerCmd.command("stop").description("Take no more work; finish running jobs, then exit").option("--config <path>", "the cloud config file naming the runner to stop").option("--now", "end running jobs immediately, with outcome stopped").action(async (opts) => {
5608
5608
  const { defaultRunnerConfigPath } = await import('./config-AB5Y73BU.js');
5609
- const { requestStop } = await import('./loop-QZV7AR3F.js');
5609
+ const { requestStop } = await import('./loop-GQLSSBQB.js');
5610
5610
  const configPath = opts.config ?? defaultRunnerConfigPath();
5611
5611
  const { runnerImageVersion } = await import('./image-tag-3KPTSRB4.js');
5612
5612
  await requestStop(configPath, Boolean(opts.now), void 0, { image: runnerImageVersion() !== void 0 });
@@ -5614,8 +5614,8 @@ Next:
5614
5614
  runnerCmd.command("status").description("List running jobs; with --recent, finished ones too").option("--config <path>", "the cloud config file naming the runner to inspect").option("--recent", "also list finished jobs, newest first, capped at 20").option("--json", "machine-readable JSON output").action(async (opts) => {
5615
5615
  const { defaultRunnerConfigPath, loadRunnerConfig } = await import('./config-AB5Y73BU.js');
5616
5616
  const { jobsDir, runnerDir } = await import('./paths-VQ3ALYZ3.js');
5617
- const { listJobFiles, runnerProcessState } = await import('./loop-QZV7AR3F.js');
5618
- const { renderStatus } = await import('./status-QPV75ZNS.js');
5617
+ const { listJobFiles, runnerProcessState } = await import('./loop-GQLSSBQB.js');
5618
+ const { renderStatus } = await import('./status-EP6QSFRY.js');
5619
5619
  const { readHousekeepingRecord } = await import('./record-XE7Z3QGF.js');
5620
5620
  const path2 = await import('path');
5621
5621
  const configPath = opts.config ?? defaultRunnerConfigPath();
@@ -5674,7 +5674,7 @@ Next:
5674
5674
  });
5675
5675
  runnerCmd.command("logs").argument("<item>", "the work item's number in the factory").description("Print the newest attempt's log for one item").option("--config <path>", "the cloud config file naming the runner to inspect").option("-f, --follow", "keep printing as the log grows").action(async (itemArg, opts) => {
5676
5676
  const { defaultRunnerConfigPath } = await import('./config-AB5Y73BU.js');
5677
- const { listJobFiles } = await import('./loop-QZV7AR3F.js');
5677
+ const { listJobFiles } = await import('./loop-GQLSSBQB.js');
5678
5678
  const { newestAttempt, logPathFor, tail, RunnerLogsError } = await import('./logs-E2O53NUI.js');
5679
5679
  const configPath = opts.config ?? defaultRunnerConfigPath();
5680
5680
  const item = parseTrackerNumber(itemArg);
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { reportFailedStart, BUILD_MEMORY_VARIABLE } from './chunk-6UHU7DHT.js';
4
- import { readOwnContainer } from './chunk-6WU2D2CY.js';
5
- import './chunk-ITS67SH7.js';
6
- import './chunk-6CK2OC4Q.js';
3
+ import { reportFailedStart, BUILD_MEMORY_VARIABLE } from './chunk-UDMFRKFJ.js';
4
+ import { readOwnContainer } from './chunk-SX3LYSWR.js';
5
+ import './chunk-YGU43DH4.js';
6
+ import './chunk-BEGMZKMG.js';
7
7
  import './chunk-ZVB57WI6.js';
8
8
  import './chunk-XDCD4GD5.js';
9
9
  import './chunk-I3LTIAOR.js';
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { MAX_CHECK_ITEMS_BYTES, checksIn, commandItems, isJudgeCheck, makeRecorder, readDefinitions, runHostChecks, testProofIn, timeoutAfter } from './chunk-ITS67SH7.js';
4
- import './chunk-6CK2OC4Q.js';
3
+ export { MAX_CHECK_ITEMS_BYTES, checksIn, commandItems, isJudgeCheck, makeRecorder, readDefinitions, runHostChecks, testProofIn, timeoutAfter } from './chunk-YGU43DH4.js';
4
+ import './chunk-BEGMZKMG.js';
5
5
  import './chunk-ZVB57WI6.js';
6
6
  import './chunk-XDCD4GD5.js';
7
7
  import './chunk-I3LTIAOR.js';
package/dist/index.js CHANGED
@@ -26,5 +26,5 @@ if (argv[0] === "claude") {
26
26
  process.exit(await runClaudeLauncher(argv.slice(1)));
27
27
  }
28
28
  (await import('./hook-fast-5C4MQ5ZS.js')).recordLinkExitFailure(argv);
29
- var { runCli } = await import('./cli-6YAN2USY.js');
29
+ var { runCli } = await import('./cli-K7AWWU6C.js');
30
30
  await runCli(process.argv);
@@ -1,15 +1,15 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { RunnerStartError, leaseTimeLeftFor, listJobFiles, logUnusableHelper, probeBuild, probeCredentials, requestStop, runnerProcessState, runtimeOf, sampleUsage, start, tick, watchTick } from './chunk-JNFLO6DA.js';
3
+ export { RunnerStartError, leaseTimeLeftFor, listJobFiles, logUnusableHelper, probeBuild, probeCredentials, requestStop, runnerProcessState, runtimeOf, sampleUsage, start, tick, watchTick } from './chunk-U3O7MULV.js';
4
4
  import './chunk-3JVYMD4G.js';
5
- import './chunk-6UHU7DHT.js';
5
+ import './chunk-UDMFRKFJ.js';
6
6
  import './chunk-E7R2GIAW.js';
7
7
  import './chunk-MH6QLXUO.js';
8
8
  import './chunk-TZXJSNN4.js';
9
- import './chunk-6WU2D2CY.js';
9
+ import './chunk-SX3LYSWR.js';
10
10
  import './chunk-JDQBJUXQ.js';
11
- import './chunk-ITS67SH7.js';
12
- import './chunk-6CK2OC4Q.js';
11
+ import './chunk-YGU43DH4.js';
12
+ import './chunk-BEGMZKMG.js';
13
13
  import './chunk-ZVB57WI6.js';
14
14
  import './chunk-XDCD4GD5.js';
15
15
  import './chunk-I3LTIAOR.js';
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { isReadable, ALREADY_RELEASED, RENEW_INTERVAL_SECONDS } from './chunk-ITS67SH7.js';
4
- import './chunk-6CK2OC4Q.js';
3
+ import { isReadable, ALREADY_RELEASED, RENEW_INTERVAL_SECONDS } from './chunk-YGU43DH4.js';
4
+ import './chunk-BEGMZKMG.js';
5
5
  import { jobStateFormatOf } from './chunk-ZVB57WI6.js';
6
6
  import './chunk-XDCD4GD5.js';
7
7
  import './chunk-I3LTIAOR.js';
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { readOwnContainer, renderUpdateSteps, runUpdateSteps } from './chunk-6WU2D2CY.js';
4
- import './chunk-ITS67SH7.js';
5
- import './chunk-6CK2OC4Q.js';
3
+ export { readOwnContainer, renderUpdateSteps, runUpdateSteps } from './chunk-SX3LYSWR.js';
4
+ import './chunk-YGU43DH4.js';
5
+ import './chunk-BEGMZKMG.js';
6
6
  import './chunk-ZVB57WI6.js';
7
7
  import './chunk-XDCD4GD5.js';
8
8
  import './chunk-I3LTIAOR.js';
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { classifyProofs, classifyProofsAt, otherPullRequestHeads, resolveProofsItem, runWorkProofs, runWorkProofsCommand } from './chunk-6YIWAOHM.js';
4
- import './chunk-6CK2OC4Q.js';
3
+ export { classifyProofs, classifyProofsAt, otherPullRequestHeads, resolveProofsItem, runWorkProofs, runWorkProofsCommand } from './chunk-UKEIJKCH.js';
4
+ import './chunk-BEGMZKMG.js';
5
5
  import './chunk-72N7GOLM.js';
6
6
  import './chunk-IP7BIBXJ.js';
7
7
  import './chunk-GJHOU5V3.js';