@outerlayer/cli 0.32.0-next.20261020183646 → 0.32.0-next.20261020194118

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/dist/build-info.json +1 -1
  2. package/dist/{check-OL7QVTHJ.js → check-LKB5L6SJ.js} +13 -13
  3. package/dist/{chunk-4EU4X2ML.js → chunk-3DSC2FN3.js} +1 -1
  4. package/dist/{chunk-5FHNQST3.js → chunk-4I3ZDQFU.js} +1 -1
  5. package/dist/{chunk-4NOO2ZFW.js → chunk-4TIZUKGG.js} +2 -2
  6. package/dist/{chunk-ETVHXBCZ.js → chunk-C4C34DUG.js} +1 -1
  7. package/dist/{chunk-7UD5ONVI.js → chunk-IGIGNYZK.js} +61 -2
  8. package/dist/{chunk-E3XOQJKZ.js → chunk-ITOWHQSZ.js} +3 -3
  9. package/dist/{chunk-W4ICX5WW.js → chunk-JFLVUA43.js} +1 -1
  10. package/dist/{chunk-IBG2ESJX.js → chunk-KCB6V5XH.js} +1 -1
  11. package/dist/{chunk-KHINKAHX.js → chunk-NMF4EUVS.js} +3 -3
  12. package/dist/{chunk-NYZAIBNV.js → chunk-ORLL2A45.js} +7 -7
  13. package/dist/{chunk-76QNSSOZ.js → chunk-OYSZGHJF.js} +2 -3
  14. package/dist/{chunk-CWAZNCFQ.js → chunk-P7RX33YS.js} +14 -7
  15. package/dist/{chunk-WWHWF3KZ.js → chunk-SXJVL7NS.js} +3 -2
  16. package/dist/{chunk-GPRIHEGQ.js → chunk-U4HMGT3L.js} +2 -2
  17. package/dist/{chunk-JCCUTTRI.js → chunk-XKZPL3GE.js} +1 -1
  18. package/dist/{chunk-YQTQQTYK.js → chunk-ZWBRHH3L.js} +1 -1
  19. package/dist/{cli-PYG5SDEC.js → cli-C6PUAMNE.js} +58 -58
  20. package/dist/{command-CB2I3WJ5.js → command-OUIWHVFD.js} +6 -6
  21. package/dist/{connect-cmd-SCAZ2RIS.js → connect-cmd-K73AOVUR.js} +1 -1
  22. package/dist/{container-start-J3ZZQED4.js → container-start-7I7AVIZB.js} +7 -7
  23. package/dist/{doctor-KCEZ7EFR.js → doctor-NGBSBISG.js} +8 -8
  24. package/dist/{emit-artifact-cmd-ADBJJDTU.js → emit-artifact-cmd-NCK3VCDM.js} +4 -4
  25. package/dist/{emit-criteria-cmd-ZGTK2YAR.js → emit-criteria-cmd-GTCZWV4B.js} +2 -2
  26. package/dist/{emit-finding-cmd-VLUMTZV7.js → emit-finding-cmd-OUG72OQA.js} +3 -3
  27. package/dist/{emit-result-cmd-ZUH5P6OY.js → emit-result-cmd-YQ5DZMMR.js} +4 -4
  28. package/dist/{emit-step-cmd-J5APMMJ3.js → emit-step-cmd-QJXSHSQF.js} +3 -3
  29. package/dist/{findings-cmd-A3N3MW2C.js → findings-cmd-DYDEHJFI.js} +3 -3
  30. package/dist/{governing-source-QGWOWLCT.js → governing-source-JSYW4RCL.js} +4 -4
  31. package/dist/index.js +1 -1
  32. package/dist/{init-7KFXASFJ.js → init-5BSNNTP2.js} +7 -7
  33. package/dist/{init-LKTOGLUS.js → init-6FHIUU4M.js} +7 -7
  34. package/dist/{init-cmd-WHLP52BW.js → init-cmd-KD2XQYAL.js} +8 -7
  35. package/dist/{init-update-N6UBQH2K.js → init-update-PMDRKPA2.js} +1 -1
  36. package/dist/{loop-U4SWVDRP.js → loop-O5L6X3EM.js} +13 -13
  37. package/dist/{machine-YDVVWZEB.js → machine-2PKCFQN7.js} +6 -6
  38. package/dist/{runner-key-GNGP3CUO.js → runner-key-SQBHTUGH.js} +7 -7
  39. package/dist/{session-sender-KD2MDPZ7.js → session-sender-S6KG6VOM.js} +5 -5
  40. package/dist/{spec-cmd-COQYDQES.js → spec-cmd-4RD3A55B.js} +3 -3
  41. package/dist/{status-QVRUCO6L.js → status-AMA4IOL4.js} +9 -9
  42. package/dist/{sync-cmd-RXUKCJDG.js → sync-cmd-NISS7HJJ.js} +4 -4
  43. package/dist/{watch-F6ZWVYJ5.js → watch-VSTJUIRH.js} +4 -4
  44. package/dist/{work-claim-cmd-YAJZJF6L.js → work-claim-cmd-RRRH73HD.js} +4 -4
  45. package/dist/{work-cmd-I37TTGHI.js → work-cmd-B7YCAK5M.js} +3 -3
  46. package/dist/{work-comment-cmd-C7JGN64M.js → work-comment-cmd-2X55NLNL.js} +3 -3
  47. package/dist/{work-logs-cmd-LL6BSU5H.js → work-logs-cmd-2CE5B2DP.js} +3 -3
  48. package/dist/{work-open-pr-cmd-K6KESE3Q.js → work-open-pr-cmd-Q3HZJPSD.js} +4 -4
  49. package/dist/{work-pr-cmd-TLIB4AJK.js → work-pr-cmd-MT246E2A.js} +3 -3
  50. package/dist/{work-stop-cmd-CVFSGSZK.js → work-stop-cmd-CWNLRQKE.js} +3 -3
  51. package/package.json +1 -1
  52. package/skill-pack/maintained/outerlayer-build/SKILL.md +5 -1
@@ -1 +1 @@
1
- {"id":"2026-10-20T18:47:15.319Z+d39f74e","root":"/home/runner/_work/outerlayer/outerlayer","pkg":"outerlayer"}
1
+ {"id":"2026-10-20T19:43:21.965Z+8773b66","root":"/home/runner/_work/outerlayer/outerlayer","pkg":"outerlayer"}
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { probeCredentials } from './chunk-NYZAIBNV.js';
4
- import './chunk-CWAZNCFQ.js';
3
+ import { probeCredentials } from './chunk-ORLL2A45.js';
4
+ import './chunk-P7RX33YS.js';
5
5
  import './chunk-3JVYMD4G.js';
6
6
  import './chunk-WHSYPR3U.js';
7
7
  import './chunk-E7R2GIAW.js';
@@ -11,21 +11,21 @@ import './chunk-ZVB57WI6.js';
11
11
  import './chunk-X7UUIHGH.js';
12
12
  import './chunk-RJYKTWUP.js';
13
13
  import './chunk-I3LTIAOR.js';
14
- import './chunk-W4ICX5WW.js';
15
- import './chunk-IBG2ESJX.js';
16
- import './chunk-JCCUTTRI.js';
14
+ import './chunk-JFLVUA43.js';
15
+ import './chunk-KCB6V5XH.js';
16
+ import './chunk-XKZPL3GE.js';
17
17
  import './chunk-ESVW4MJY.js';
18
18
  import './chunk-XTNMIV77.js';
19
- import { placeholderQueues, placeholderProblem, permissionModeProblems, permissionModeProblem, managedProblems, managedFactsOf, needsClaudeCredential, claudeCredentialCheck, claimPermissionProblem, formerSkillQueues, formerSkillProblem } from './chunk-KHINKAHX.js';
19
+ import { placeholderQueues, placeholderProblem, permissionModeProblems, permissionModeProblem, managedProblems, managedFactsOf, needsClaudeCredential, claudeCredentialCheck, claimPermissionProblem, formerSkillQueues, formerSkillProblem } from './chunk-NMF4EUVS.js';
20
20
  import './chunk-YYYRBYWG.js';
21
21
  import './chunk-ZZSQYOY5.js';
22
22
  import './chunk-TBT347UY.js';
23
- import './chunk-4NOO2ZFW.js';
24
- import './chunk-ETVHXBCZ.js';
25
- import { probeHelper, HELPER_ENV, helperSocketPath } from './chunk-76QNSSOZ.js';
23
+ import './chunk-4TIZUKGG.js';
24
+ import './chunk-C4C34DUG.js';
25
+ import { probeHelper, HELPER_ENV, helperSocketPath } from './chunk-OYSZGHJF.js';
26
26
  import './chunk-QQGZ5THT.js';
27
27
  import './chunk-HIGJTX5U.js';
28
- import './chunk-WWHWF3KZ.js';
28
+ import './chunk-SXJVL7NS.js';
29
29
  import './chunk-YV7WULXQ.js';
30
30
  import './chunk-TQMI335S.js';
31
31
  import './chunk-NJS7JJYN.js';
@@ -39,9 +39,9 @@ import './chunk-OGFGZQA3.js';
39
39
  import './chunk-2JPVI45I.js';
40
40
  import './chunk-YJLHUKYS.js';
41
41
  import './chunk-SJZL5F3F.js';
42
- import './chunk-GPRIHEGQ.js';
43
- import './chunk-4EU4X2ML.js';
44
- import './chunk-7UD5ONVI.js';
42
+ import './chunk-U4HMGT3L.js';
43
+ import './chunk-3DSC2FN3.js';
44
+ import './chunk-IGIGNYZK.js';
45
45
  import './chunk-HSUUTD4E.js';
46
46
  import './chunk-V36AOTBP.js';
47
47
  import './chunk-QDDPVBIS.js';
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { fetchFactories, selectFactory, saveFactoryConnection, autoConnectedLine } from './chunk-7UD5ONVI.js';
3
+ import { fetchFactories, selectFactory, saveFactoryConnection, autoConnectedLine } from './chunk-IGIGNYZK.js';
4
4
  import { resolveRepoIdentity } from './chunk-V36AOTBP.js';
5
5
  import { resolveGatewayCredentials } from './chunk-F3EF56LQ.js';
6
6
  import { findGitDirs, readRepoConnection } from './chunk-BJ3KTMDH.js';
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { autoConnect, detectActiveSession } from './chunk-4EU4X2ML.js';
3
+ import { autoConnect, detectActiveSession } from './chunk-3DSC2FN3.js';
4
4
  import { resolveRepoIdentity } from './chunk-V36AOTBP.js';
5
5
  import { C } from './chunk-ANPNT6PM.js';
6
6
  import { defaultFetch, unauthorizedMessage, resolveGatewayCredentials } from './chunk-F3EF56LQ.js';
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { detectMachine, supportsContainerBuilds, reachDockerStep, describeMachineDocker, supportsMicroVmBuilds } from './chunk-ETVHXBCZ.js';
4
- import { MIN_ENGINE_MAJOR } from './chunk-76QNSSOZ.js';
3
+ import { detectMachine, supportsContainerBuilds, reachDockerStep, describeMachineDocker, supportsMicroVmBuilds } from './chunk-C4C34DUG.js';
4
+ import { MIN_ENGINE_MAJOR } from './chunk-OYSZGHJF.js';
5
5
  import { hasStoredCredential, AGENT_COMMANDS, storeClaudeCredential, credentialFromStdin, isAgentName } from './chunk-NJS7JJYN.js';
6
6
  import { runnerCredentialProblem } from './chunk-P7BEZAEU.js';
7
7
  import { runnerDir, RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-KP6R7CV3.js';
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { MIN_ENGINE_MAJOR } from './chunk-76QNSSOZ.js';
3
+ import { MIN_ENGINE_MAJOR } from './chunk-OYSZGHJF.js';
4
4
  import { runnerImageVersion } from './chunk-YV7WULXQ.js';
5
5
  import { firecrackerArch, MICROVM_ARCHES, guestAssetsPinned } from './chunk-SJZL5F3F.js';
6
6
  import { spawnSync } from 'child_process';
@@ -6,9 +6,11 @@ import { isAgentsMdLayout } from './chunk-QDDPVBIS.js';
6
6
  import { DEFAULT_DASHBOARD } from './chunk-G2RRBBOX.js';
7
7
  import { cliFetch, resolveGatewayCredentials } from './chunk-F3EF56LQ.js';
8
8
  import { readCloudConfig } from './chunk-PJDQPF5N.js';
9
- import { writeRepoConnection, findGitDirs, readRepoConnection } from './chunk-BJ3KTMDH.js';
9
+ import { findGitDirs, writeRepoConnection, readRepoConnection } from './chunk-BJ3KTMDH.js';
10
10
  import { cliInvocation } from './chunk-CRB3POP4.js';
11
11
  import { execFileSync } from 'child_process';
12
+ import { lstatSync } from 'fs';
13
+ import { join, relative } from 'path';
12
14
  import { createInterface } from 'readline/promises';
13
15
 
14
16
  createRequire(import.meta.url);
@@ -72,6 +74,63 @@ function inAgentsMdLayout(cwd) {
72
74
  function commitLineFor(cwd) {
73
75
  return inAgentsMdLayout(cwd) ? AGENTS_LAYOUT_COMMIT_LINE : COMMIT_LINE;
74
76
  }
77
+ function setupPathsFor(root) {
78
+ return isAgentsMdLayout(root) ? ["AGENTS.md", ".agents", ".claude/skills", ".mcp.json", ".outerlayer"] : [".outerlayer"];
79
+ }
80
+ var MAX_IGNORED_NAMED = 10;
81
+ function gitOutput(root, args) {
82
+ try {
83
+ return execFileSync("git", args, { cwd: root, encoding: "utf8", stdio: "pipe", timeout: REQUEST_TIMEOUT_MS, maxBuffer: 256 * 1024 * 1024 });
84
+ } catch {
85
+ return "";
86
+ }
87
+ }
88
+ function isGitIgnored(root, path) {
89
+ return gitOutput(root, ["check-ignore", "--", path]) !== "";
90
+ }
91
+ function ignoredFilesIn(root, path) {
92
+ return gitOutput(root, ["ls-files", "--others", "--ignored", "--exclude-standard", "--directory", "--", path]).split("\n").filter((line) => line !== "");
93
+ }
94
+ function existsOnDisk(path) {
95
+ try {
96
+ lstatSync(path);
97
+ return true;
98
+ } catch {
99
+ return false;
100
+ }
101
+ }
102
+ function commitCommandsFor(cwd) {
103
+ const dirs = findGitDirs(cwd);
104
+ if (dirs === void 0) return commitLineFor(cwd);
105
+ const root = dirs.repoRoot;
106
+ const ignored = [];
107
+ const add = [];
108
+ const omitted = [];
109
+ for (const path of setupPathsFor(root)) {
110
+ if (!existsOnDisk(join(root, path))) continue;
111
+ if (isGitIgnored(root, path)) ignored.push(path);
112
+ else {
113
+ add.push(relative(cwd, join(root, path)));
114
+ const inside = ignoredFilesIn(root, path);
115
+ ignored.push(...inside.slice(0, MAX_IGNORED_NAMED));
116
+ if (inside.length > MAX_IGNORED_NAMED) {
117
+ omitted.push(`Git ignores ${inside.length - MAX_IGNORED_NAMED} more files or folders in ${path}, so the commit leaves them out.`);
118
+ }
119
+ }
120
+ }
121
+ const lines = ignored.map(
122
+ (path) => `Git ignores ${path}, so the commit leaves it out. A build reads the repository from the git host, so a file that is never committed never reaches a build.`
123
+ );
124
+ lines.push(...omitted);
125
+ if (add.length === 0) return lines.join("\n");
126
+ lines.push(
127
+ "Commit and push the setup so the factory reads your policy and skills. No checks run on a pull request until the policy is on the branch it targets.",
128
+ ` git add ${add.join(" ")}`,
129
+ ' git commit -m "Add OuterLayer setup"',
130
+ " git push"
131
+ );
132
+ return lines.join("\n");
133
+ }
75
134
  function hasUncommittedPolicy(cwd) {
76
135
  const paths = inAgentsMdLayout(cwd) ? AGENTS_LAYOUT_COMMIT_PATHS : COMMIT_PATHS;
77
136
  try {
@@ -327,4 +386,4 @@ ${commitLineFor(deps.cwd)}
327
386
  return r.code;
328
387
  }
329
388
 
330
- export { AGENTS_LAYOUT_COMMIT_LINE, COMMIT_LINE, autoConnectedLine, commitLineFor, dashboardBase, fetchFactories, hasUncommittedPolicy, isLinkedRepository, listText, promptOnTerminal, realConnectDeps, runConnect, runConnectCommand, saveFactoryConnection, selectFactory, slug, workPageUrl };
389
+ export { AGENTS_LAYOUT_COMMIT_LINE, COMMIT_LINE, autoConnectedLine, commitCommandsFor, commitLineFor, dashboardBase, fetchFactories, hasUncommittedPolicy, isLinkedRepository, listText, promptOnTerminal, realConnectDeps, runConnect, runConnectCommand, saveFactoryConnection, selectFactory, slug, workPageUrl };
@@ -2,8 +2,8 @@
2
2
  import { createRequire } from 'node:module';
3
3
  import { checkStarterFiles, contextIsGoverned } from './chunk-BCWVTWS7.js';
4
4
  import { fleetCheck, checkBuildSkill, checkMachineSkills, checkCommittedMaintainedSkills, checkMaintainedReferences } from './chunk-4XPAQXJF.js';
5
- import { resolveCredentials, getJson, WorkCommandError } from './chunk-GPRIHEGQ.js';
6
- import { isLinkedRepository } from './chunk-7UD5ONVI.js';
5
+ import { resolveCredentials, getJson, WorkCommandError } from './chunk-U4HMGT3L.js';
6
+ import { isLinkedRepository } from './chunk-IGIGNYZK.js';
7
7
  import { sanitizeTerminal } from './chunk-HSUUTD4E.js';
8
8
  import { resolveRepoIdentity, compareVersions, SUPPORTED_VERSIONS } from './chunk-V36AOTBP.js';
9
9
  import { C } from './chunk-ANPNT6PM.js';
@@ -1211,7 +1211,7 @@ async function gatherDoctorChecks() {
1211
1211
  const { runnerVmCheck } = await import('./doctor-53F2PYY7.js');
1212
1212
  checks.push(runnerVmCheck(configPath, { lima: realLima(), home: homeFromEnv(), instance: runnerVm.instance }));
1213
1213
  } else if (hasRunnerBlock(configPath)) {
1214
- const { runnerHostChecks } = await import('./doctor-KCEZ7EFR.js');
1214
+ const { runnerHostChecks } = await import('./doctor-NGBSBISG.js');
1215
1215
  const gateway = (() => {
1216
1216
  try {
1217
1217
  const { url, apiKey, appId } = loadRunnerConfig(configPath);
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { LiveUploader } from './chunk-IBG2ESJX.js';
3
+ import { LiveUploader } from './chunk-KCB6V5XH.js';
4
4
  import { CaptureDaemon } from './chunk-V36AOTBP.js';
5
5
  import { spoolDir } from './chunk-WRW6QCI6.js';
6
6
  import { parseWorkItemEnv } from './chunk-T2Q7ISPE.js';
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { uploadSpooledSteps } from './chunk-JCCUTTRI.js';
3
+ import { uploadSpooledSteps } from './chunk-XKZPL3GE.js';
4
4
  import { LaunchFilter } from './chunk-ESVW4MJY.js';
5
5
  import { RepoFilter } from './chunk-TBT347UY.js';
6
6
  import { migrateLegacyArtifactSidecars, planArtifactUpload, artifactsStatePath, sanitizeTerminal, acquireArtifactSpoolLock, artifactBlobsDir, resolveArtifactTurnIndex, isArtifactTombstoned, ARTIFACT_RETRY_MAX_AGE_MS, writeArtifactSpoolState, reclaimUnneededArtifactBlobs, neededArtifactShas } from './chunk-HSUUTD4E.js';
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { isPlaceholderCommand } from './chunk-4NOO2ZFW.js';
4
- import { describeCallFailure } from './chunk-WWHWF3KZ.js';
3
+ import { isPlaceholderCommand } from './chunk-4TIZUKGG.js';
4
+ import { describeCallFailure } from './chunk-SXJVL7NS.js';
5
5
  import { checkFit } from './chunk-RQGHHEM7.js';
6
6
  import { builtinKind } from './chunk-P7BEZAEU.js';
7
- import { WorkCommandError, getJson } from './chunk-GPRIHEGQ.js';
7
+ import { WorkCommandError, getJson } from './chunk-U4HMGT3L.js';
8
8
  import { sanitizeTerminal } from './chunk-HSUUTD4E.js';
9
9
  import { signerFor } from './chunk-APSYTJ6I.js';
10
10
  import { CLAUDE_CREDENTIAL_VARIABLES, claudeCredential, claudeCredentialVariablesSet } from './chunk-HDSDUTX4.js';
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { releaseLease, isUnfinished, setStage, jobEnv, runHook, describeHookEnd, provisionMicroVm, deliverCommitHooks, provisionProcess, provisionEnvironment, readProvisionOut, resolveHostBuild, workdirProblem, listenOnBroker, hostEnvironment, hostCommandEnvironment, execArgv, MICROVM_COMMAND_DIR, commandLogOffset, startMicroVmCommand, microVmCommandLine, runCommand, execCommandLine, startSender, startHostServices, finishJob, isContainerTracked, isMicroVmTracked, probeMicroVmCommand, probeCommand, appendCommandLog, judgeProbe, EXIT_CODE_FILE, isTracked, isGroupAlive, outcomeFromExitCode, isTimedOut, readCpuUsec, isIdle, stopOrphanedMicroVms, unfinishedJobs, listUnreadableJobs, listAdoptableJobs, retryFailedReleases, recoverLostJobs, hookLimitsFor, AttemptLogBook, microVmOomKills, needsRenew, renewLease, RENEW_INTERVAL_SECONDS, listTrackedJobs, restartSender, serveLease, vmAlive, writeGuestGhConfig, ALREADY_RELEASED, inTeardown } from './chunk-CWAZNCFQ.js';
3
+ import { releaseLease, isUnfinished, setStage, jobEnv, runHook, describeHookEnd, provisionMicroVm, deliverCommitHooks, provisionProcess, provisionEnvironment, readProvisionOut, resolveHostBuild, workdirProblem, listenOnBroker, hostEnvironment, hostCommandEnvironment, execArgv, MICROVM_COMMAND_DIR, commandLogOffset, startMicroVmCommand, microVmCommandLine, runCommand, execCommandLine, startSender, startHostServices, finishJob, isContainerTracked, isMicroVmTracked, probeMicroVmCommand, probeCommand, appendCommandLog, judgeProbe, EXIT_CODE_FILE, isTracked, isGroupAlive, outcomeFromExitCode, isTimedOut, readCpuUsec, isIdle, stopOrphanedMicroVms, unfinishedJobs, listUnreadableJobs, listAdoptableJobs, retryFailedReleases, recoverLostJobs, hookLimitsFor, AttemptLogBook, microVmOomKills, needsRenew, renewLease, RENEW_INTERVAL_SECONDS, listTrackedJobs, restartSender, serveLease, vmAlive, writeGuestGhConfig, ALREADY_RELEASED, inTeardown } from './chunk-P7RX33YS.js';
4
4
  import { decideInstalledSwitch } from './chunk-3JVYMD4G.js';
5
5
  import { fitImageBuildMemory } from './chunk-WHSYPR3U.js';
6
6
  import { fetchVersionMeta, npmVersion, npmSupportsProvenance, fetchTarballDigest, fetchProvenance, installVersion, auditSignatures } from './chunk-E7R2GIAW.js';
@@ -8,12 +8,12 @@ import { RUNNER_PROTOCOL } from './chunk-WRU3K5AN.js';
8
8
  import { writePendingUpdate } from './chunk-TZQIEUDE.js';
9
9
  import { JOB_STATE_FORMAT, readsJobState, jobStateFormatOf } from './chunk-ZVB57WI6.js';
10
10
  import { readHousekeepingRecord, writeHousekeepingRecord } from './chunk-X7UUIHGH.js';
11
- import { currentSkillCommand, formerSkillProblem, realBlockedProbes, checkBlocked } from './chunk-KHINKAHX.js';
11
+ import { currentSkillCommand, formerSkillProblem, realBlockedProbes, checkBlocked } from './chunk-NMF4EUVS.js';
12
12
  import { freeBytes, formatBytes } from './chunk-YYYRBYWG.js';
13
13
  import { writeMarker, readMarker, currentVersion, removeMarker, entryIn, versionDir, startedThroughCurrent, switchCurrent, isInLayout, cleanVersions, stagingDir } from './chunk-ZZSQYOY5.js';
14
14
  import { RepoFilter } from './chunk-TBT347UY.js';
15
- import { leaseTimeLeftMs, createContainerRuntime, withTunnelLog, LEASE_SECONDS, provisionContainer, leaseExpiresAtMs, deliverContainerHooks, lifecycleSteps, lifecycleFailureReason, prepareBranch, containerCommandExec, setUpRunnerCgroup, measureDisk, parseCpuList, ensureTunnel, keepGhConfigCurrent, filesAreCopied, gitRemoteFor, startServicesFor, createLeaseChannel } from './chunk-76QNSSOZ.js';
16
- import { describeCallFailure, retrySend, shortClaim, relativeToRunner, formatDuration, BuildTokens, classifyRefusal, refusalCode, createRunnerLog, formatClock } from './chunk-WWHWF3KZ.js';
15
+ import { leaseTimeLeftMs, createContainerRuntime, withTunnelLog, LEASE_SECONDS, provisionContainer, leaseExpiresAtMs, deliverContainerHooks, lifecycleSteps, lifecycleFailureReason, prepareBranch, containerCommandExec, setUpRunnerCgroup, measureDisk, parseCpuList, ensureTunnel, keepGhConfigCurrent, filesAreCopied, gitRemoteFor, startServicesFor, createLeaseChannel } from './chunk-OYSZGHJF.js';
16
+ import { describeCallFailure, retrySend, shortClaim, relativeToRunner, formatDuration, BuildTokens, classifyRefusal, refusalCode, createRunnerLog, formatClock } from './chunk-SXJVL7NS.js';
17
17
  import { tagToPull, pullInstruction, imageTag, writeUpdateStatus } from './chunk-YV7WULXQ.js';
18
18
  import { isVersion, compareVersions, satisfiesRange } from './chunk-TQMI335S.js';
19
19
  import { isBuiltinContainer, isBuiltinVm, isBuiltinProcess, loadRunnerConfig, checkHooks, builtinKind, DEFAULT_UPDATE_MAX_WAIT_HOURS } from './chunk-P7BEZAEU.js';
@@ -21,7 +21,7 @@ import { claimPidFile, writePidFile, readPidFile, releasePidFile } from './chunk
21
21
  import { startTimeOf, isSameProcess } from './chunk-JBJTC3UU.js';
22
22
  import { writeJobFile, ensureRunnerIdentity, readJobFile, builderName, runnerLabelValue, ensureFailureCount, builderSpec, ensureBuilder, spawnRun, BUILD_LABEL, RUNNER_LABEL, readJobFileChecked } from './chunk-2JPVI45I.js';
23
23
  import { exceedsDisk } from './chunk-YJLHUKYS.js';
24
- import { isSignatureRefusal, WorkCommandError, getJson, postJson } from './chunk-GPRIHEGQ.js';
24
+ import { isSignatureRefusal, WorkCommandError, getJson, postJson } from './chunk-U4HMGT3L.js';
25
25
  import { loadHostKey, ensureHostKey, signerFor } from './chunk-APSYTJ6I.js';
26
26
  import { RUNNER_DIR_MODE, runnerDir, buildDir, attemptStamp, jobDir, RUNNER_FILE_MODE, jobsDir, pidFilePath, spoolDir, rootfsDir } from './chunk-KP6R7CV3.js';
27
27
  import { parseClaimIdentity, parseClaimedRepositories, parseUnreachable, repositoriesOf, primaryOf, sharedUserEnvironment, JOB_MOUNT, takeClaudeCredential, heldClaudeCredential, currentClaudeCredential } from './chunk-HDSDUTX4.js';
@@ -1751,7 +1751,7 @@ var CLAIM_REFUSAL_CODES = new Set(
1751
1751
  "pull_request_from_fork pull_request_on_default_branch pull_request_ambiguous pull_request_repository_not_connected repository_not_reachable branch_claimed_elsewhere".split(" ")
1752
1752
  );
1753
1753
  async function tryClaimAndStart(state, item, queue) {
1754
- const { postJson: postJson2 } = await import('./work-cmd-I37TTGHI.js');
1754
+ const { postJson: postJson2 } = await import('./work-cmd-B7YCAK5M.js');
1755
1755
  const log = logOf(state);
1756
1756
  const hostKey = await loadHostKey(state.config.configPath);
1757
1757
  const claim = await retrySend(
@@ -2932,7 +2932,7 @@ async function start(configPath, deps = { fetchImpl: fetch }) {
2932
2932
  check: update.check ? () => update.check(configPath) : async () => {
2933
2933
  const held = heldClaudeCredential();
2934
2934
  const env = held === void 0 ? process.env : { ...process.env, [held.variable]: held.value };
2935
- return (await import('./check-OL7QVTHJ.js')).runRunnerCheck(configPath, { fetchImpl: deps.fetchImpl, env });
2935
+ return (await import('./check-LKB5L6SJ.js')).runRunnerCheck(configPath, { fetchImpl: deps.fetchImpl, env });
2936
2936
  },
2937
2937
  now: () => (deps.now ?? (() => /* @__PURE__ */ new Date()))().getTime(),
2938
2938
  log
@@ -2,7 +2,7 @@
2
2
  import { createRequire } from 'node:module';
3
3
  import { execCapture } from './chunk-QQGZ5THT.js';
4
4
  import { GUEST_CID } from './chunk-HIGJTX5U.js';
5
- import { keepStagedContext, describeCallFailure, controlPlaneTokenFailure, refusalCode, resolveGoverningSource, removeStagedContext, stageGovernedContext, pinnedSourceOf, commandWithShim, shimScript } from './chunk-WWHWF3KZ.js';
5
+ import { keepStagedContext, describeCallFailure, controlPlaneTokenFailure, refusalCode, resolveGoverningSource, removeStagedContext, stageGovernedContext, pinnedSourceOf, commandWithShim, shimScript, WORKFLOW_PERMISSION_REASON } from './chunk-SXJVL7NS.js';
6
6
  import { runnerImageVersion } from './chunk-YV7WULXQ.js';
7
7
  import { hostAllowed } from './chunk-UXYLWVTQ.js';
8
8
  import { readDefaultBranchHead, cloneRepository, buildRepositoryImage } from './chunk-Z7HAIZ6X.js';
@@ -11,7 +11,7 @@ import { currentCliBuild } from './chunk-OGFGZQA3.js';
11
11
  import { createDockerHost, builderSpec, runnerLabelValue, RUNNER_LABEL, BUILD_LABEL, prepareRunArgs, containerRunArgs, HASH_ARGV, parseProgramHash, JUDGE_PROGRAM, containerExecArgs, childEnvironment, JUDGE_DIR, MAX_ITEMS_BYTES, JUDGE_ITEMS, MAX_REPORT_BYTES, JUDGE_REPORT, spawnRun } from './chunk-2JPVI45I.js';
12
12
  import { readDu } from './chunk-YJLHUKYS.js';
13
13
  import { FIRECRACKER_VERSION, hostHelperPinned, firecrackerArch, MICROVM_ARCHES, RecipeError, DOCKER_FEATURE, CLAUDE_CODE_VERSION, GUEST_HELPER_SHA256, GUEST_ASSETS_BASE_URL, GUEST_KERNEL_SHA256, JAILER_BINARY_SHA256, FIRECRACKER_BINARY_SHA256, FIRECRACKER_SHA256, GUEST_ASSETS_VERSION, DEFAULT_BASE_IMAGE } from './chunk-SJZL5F3F.js';
14
- import { WorkCommandError } from './chunk-GPRIHEGQ.js';
14
+ import { WorkCommandError } from './chunk-U4HMGT3L.js';
15
15
  import { setCustomScrubbers, setLocalIdentity, setRepoRoot, parseTranscript, scrubDeep, scrubText } from './chunk-V36AOTBP.js';
16
16
  import { vmAssetsDir, RUNNER_DIR_MODE, rootfsPathFor, diskTemplatesDir, RUNNER_FILE_MODE, deliveryDir, ghConfigDir, runnerDirOfBuild, spoolDir, mirrorDir, buildDir, SHIM_DIR } from './chunk-KP6R7CV3.js';
17
17
  import { repositoriesOf, primaryOf, RELAY_PORT, repositoryPath, CHECKOUT_DIR, lifecycleWorkdir, claudeCredential, buildEnvironment, startBuildServices, checkEnvironment, AGENT_CREDENTIAL_MISSING, checkoutPath, JOB_MOUNT } from './chunk-HDSDUTX4.js';
@@ -2684,7 +2684,6 @@ var RELAY_ATTEMPTS = 20;
2684
2684
  var RELAY_WAIT_MS = 500;
2685
2685
  var BUSY_IMAGE_WAIT_MS = 5e3;
2686
2686
  var VOLUME_REMOVE_ATTEMPTS = 4;
2687
- var WORKFLOW_PERMISSION_REASON = "workflow_permission_required";
2688
2687
  function withTunnelLog(opts, log) {
2689
2688
  return { ...opts, tunnelOptions: { log, ...opts?.tunnelOptions } };
2690
2689
  }
@@ -3,20 +3,20 @@ import { createRequire } from 'node:module';
3
3
  import { readsJobState, READ_JOB_STATE_FORMATS, jobStateFormatOf } from './chunk-ZVB57WI6.js';
4
4
  import { DOCKERD_LOG, HELPER_PATH, HELPER_RECORD } from './chunk-RJYKTWUP.js';
5
5
  import { zodProblem } from './chunk-I3LTIAOR.js';
6
- import { senderPidfile } from './chunk-W4ICX5WW.js';
7
- import { installScrubContext } from './chunk-IBG2ESJX.js';
6
+ import { senderPidfile } from './chunk-JFLVUA43.js';
7
+ import { installScrubContext } from './chunk-KCB6V5XH.js';
8
8
  import { writeDockerClientConfig } from './chunk-XTNMIV77.js';
9
- import { ADDED_USER, shellQuote, GH_CONFIG_YML, ghHostsYml, AssetError, obtainImage, ensureRootfs, gitRemoteFor, startServicesFor, createLeaseChannel, createBuildDisk, machineConfig, resolveAgentUser, AgentUserError, runBuildSteps, LEASE_SECONDS, createContainerRuntime, stopContainer, cleanupContainer, outOfMemoryReason, containerSenderCommand, signalInContainer, syncInContainer, copyTranscriptsFromContainer, senderAliveScript, helperFirecrackerNote, HelperRefusal, isLiteralAddress, deleteBuildDisk, startCheckContainer, lifecycleSteps, lifecycleFailureReason, writeEvalInput, DeliveryFailure, EVAL_INPUT_NAME, copyTranscripts, senderSignalScript, containerJudgeEnvironment, copyJudgeTree } from './chunk-76QNSSOZ.js';
9
+ import { ADDED_USER, shellQuote, GH_CONFIG_YML, ghHostsYml, AssetError, obtainImage, ensureRootfs, gitRemoteFor, startServicesFor, createLeaseChannel, createBuildDisk, machineConfig, resolveAgentUser, AgentUserError, runBuildSteps, LEASE_SECONDS, createContainerRuntime, stopContainer, cleanupContainer, outOfMemoryReason, containerSenderCommand, signalInContainer, syncInContainer, copyTranscriptsFromContainer, senderAliveScript, helperFirecrackerNote, HelperRefusal, isLiteralAddress, deleteBuildDisk, startCheckContainer, lifecycleSteps, lifecycleFailureReason, writeEvalInput, DeliveryFailure, EVAL_INPUT_NAME, copyTranscripts, senderSignalScript, containerJudgeEnvironment, copyJudgeTree } from './chunk-OYSZGHJF.js';
10
10
  import { waitForAgent, vmExecArgs } from './chunk-QQGZ5THT.js';
11
11
  import { socketPathProblem, vsockLinks, LEASE_LINK, linkVsockSockets } from './chunk-HIGJTX5U.js';
12
- import { describeCallFailure, resolveGoverningSource, refusalCode, removeStagedContext, stageGovernedContext, pinnedSourceOf, commandWithShim, logStamp, createRunnerLog, removeKeptContext, formatDuration, retrySend, formatClock, keptContextTree } from './chunk-WWHWF3KZ.js';
12
+ import { describeCallFailure, resolveGoverningSource, refusalCode, removeStagedContext, stageGovernedContext, pinnedSourceOf, commandWithShim, logStamp, createRunnerLog, removeKeptContext, formatDuration, retrySend, formatClock, WORKFLOW_PERMISSION_REASON, keptContextTree } from './chunk-SXJVL7NS.js';
13
13
  import { isBuiltinContainer, isBuiltinProcess, isBuiltinVm, DEFAULT_CHECK_TIME_LIMIT_MINUTES } from './chunk-P7BEZAEU.js';
14
14
  import { readBranchHead, fetchCommit, diffBetween } from './chunk-Z7HAIZ6X.js';
15
15
  import { isSameProcess, startTimeOf } from './chunk-JBJTC3UU.js';
16
16
  import { HASH_ARGV, parseProgramHash, JUDGE_PROGRAM, writeJobFile, readJobFile, childEnvironment, withAnswerProtocol, judgeCommand, MAX_REPORT_BYTES, JUDGE_MAX_TURNS, JUDGE_DIR, COMMAND_DIR, MAX_ITEMS_BYTES } from './chunk-2JPVI45I.js';
17
17
  import { parseSize } from './chunk-YJLHUKYS.js';
18
18
  import { CLAUDE_CODE_VERSION, FIRECRACKER_VERSION } from './chunk-SJZL5F3F.js';
19
- import { WorkCommandError, postJson, isSignatureRefusal, getJson } from './chunk-GPRIHEGQ.js';
19
+ import { WorkCommandError, postJson, isSignatureRefusal, getJson } from './chunk-U4HMGT3L.js';
20
20
  import { planArtifactUpload } from './chunk-HSUUTD4E.js';
21
21
  import { scrubText } from './chunk-V36AOTBP.js';
22
22
  import { readCloudConfig } from './chunk-PJDQPF5N.js';
@@ -1378,6 +1378,9 @@ function decideFromEvaluation(read) {
1378
1378
  function incompleteReason(reason, judgeNotRun) {
1379
1379
  return judgeNotRun === void 0 ? reason : `the judge did not run (${judgeNotRun}) \xB7 ${reason}`;
1380
1380
  }
1381
+ function unfinishedRelease(verdictReason, learned) {
1382
+ return learned === WORKFLOW_PERMISSION_REASON ? { outcome: "failed", reason: WORKFLOW_PERMISSION_REASON } : { outcome: "incomplete", reason: verdictReason };
1383
+ }
1381
1384
  function waitMs(ms) {
1382
1385
  return new Promise((resolve) => setTimeout(resolve, ms));
1383
1386
  }
@@ -3229,8 +3232,12 @@ async function finishJob(job, jobDirPath, outcome, config, deps, ending) {
3229
3232
  sleep: deps.sleep ?? waitMs
3230
3233
  });
3231
3234
  if (decision.outcome === "incomplete") {
3232
- outcome = "incomplete";
3233
- verdictReason = scrubReason(incompleteReason(decision.reason, job.judgeNotRun), config);
3235
+ const release2 = unfinishedRelease(
3236
+ scrubReason(incompleteReason(decision.reason, job.judgeNotRun), config),
3237
+ deps.container?.credentials.get(jobDirPath)?.reason
3238
+ );
3239
+ outcome = release2.outcome;
3240
+ verdictReason = release2.reason;
3234
3241
  log.error(`${tag} the command exited 0 but the item is not done: ${verdictReason}`);
3235
3242
  }
3236
3243
  }
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { WorkCommandError, postJson } from './chunk-GPRIHEGQ.js';
3
+ import { WorkCommandError, postJson } from './chunk-U4HMGT3L.js';
4
4
  import { defaultGitRunner, materializeContext, isStagingWriteFault, lookupGoverningSource } from './chunk-NIS2PIS4.js';
5
5
  import { signingFetchFor } from './chunk-F3EF56LQ.js';
6
6
  import { signerFor } from './chunk-APSYTJ6I.js';
@@ -107,6 +107,7 @@ var REVOKE_TIMEOUT_MS = 15e3;
107
107
  function isDue(expiresAtMs, nowMs) {
108
108
  return nowMs >= expiresAtMs - 10 * 6e4;
109
109
  }
110
+ var WORKFLOW_PERMISSION_REASON = "workflow_permission_required";
110
111
  function classifyRefusal(err) {
111
112
  if (!(err instanceof WorkCommandError)) return { kind: "retry" };
112
113
  if (err.status === 401 || err.code === "claim_expired" || err.code === "claim_not_held") return { kind: "lease_lost" };
@@ -515,4 +516,4 @@ async function imageTargetFor(input) {
515
516
  return { ok: true, repository: resolved.source.repository, pinned: { commit: resolved.source.sha, ref: resolved.source.ref } };
516
517
  }
517
518
 
518
- export { BuildTokens, classifyRefusal, commandWithShim, controlPlaneTokenFailure, createRunnerLog, describeCallFailure, formatClock, formatDuration, imageTargetFor, keepStagedContext, keptContextTree, logStamp, pinnedSourceOf, refusalCode, relativeToRunner, removeKeptContext, removeStagedContext, resolveGoverningSource, retrySend, shimScript, shortClaim, stageGovernedContext };
519
+ export { BuildTokens, WORKFLOW_PERMISSION_REASON, classifyRefusal, commandWithShim, controlPlaneTokenFailure, createRunnerLog, describeCallFailure, formatClock, formatDuration, imageTargetFor, keepStagedContext, keptContextTree, logStamp, pinnedSourceOf, refusalCode, relativeToRunner, removeKeptContext, removeStagedContext, resolveGoverningSource, retrySend, shimScript, shortClaim, stageGovernedContext };
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { detectActiveSession, autoConnect } from './chunk-4EU4X2ML.js';
4
- import { workPageUrl } from './chunk-7UD5ONVI.js';
3
+ import { detectActiveSession, autoConnect } from './chunk-3DSC2FN3.js';
4
+ import { workPageUrl } from './chunk-IGIGNYZK.js';
5
5
  import { sanitizeTerminal } from './chunk-HSUUTD4E.js';
6
6
  import { resolveRepoIdentity } from './chunk-V36AOTBP.js';
7
7
  import { C } from './chunk-ANPNT6PM.js';
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
3
  import { launchRefusalForSession } from './chunk-ESVW4MJY.js';
4
- import { autoConnect, detectActiveSession } from './chunk-4EU4X2ML.js';
4
+ import { autoConnect, detectActiveSession } from './chunk-3DSC2FN3.js';
5
5
  import { acquireSpoolLockAt } from './chunk-HSUUTD4E.js';
6
6
  import { resolveRepoIdentity } from './chunk-V36AOTBP.js';
7
7
  import { C } from './chunk-ANPNT6PM.js';
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
3
  import { launchRefusalForSession } from './chunk-ESVW4MJY.js';
4
- import { detectActiveSession, autoConnect, transcriptPathForSession } from './chunk-4EU4X2ML.js';
4
+ import { detectActiveSession, autoConnect, transcriptPathForSession } from './chunk-3DSC2FN3.js';
5
5
  import { resolveRepoIdentity, defaultProjectsDir, findTranscripts, sessionIdFromPath, scrubText } from './chunk-V36AOTBP.js';
6
6
  import { C } from './chunk-ANPNT6PM.js';
7
7
  import { resolveGatewayCredentials, defaultFetch, unauthorizedMessage } from './chunk-F3EF56LQ.js';