@outerlayer/cli 0.30.1 → 0.30.2-next.20261020101955

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 (33) hide show
  1. package/dist/build-info.json +1 -1
  2. package/dist/{check-BKONE55O.js → check-Y6D7C66D.js} +9 -9
  3. package/dist/{chunk-XRRSFHKV.js → chunk-3XUZPSBV.js} +1 -1
  4. package/dist/{chunk-DBRB26R7.js → chunk-4OKXGZM3.js} +14 -1
  5. package/dist/{chunk-3IDNLZPR.js → chunk-4SE6GXQA.js} +1 -1
  6. package/dist/{chunk-QQJGL7LG.js → chunk-5VWKCY2E.js} +2 -2
  7. package/dist/{chunk-ISKWFUEQ.js → chunk-B7NT4YZ3.js} +3 -3
  8. package/dist/{chunk-JGOMMFNX.js → chunk-ERXY3FXG.js} +3 -3
  9. package/dist/{chunk-TKX23NFV.js → chunk-HMAYAMOQ.js} +2 -2
  10. package/dist/{chunk-B6OYEP3K.js → chunk-IUV6MUQB.js} +2 -2
  11. package/dist/{chunk-TPKYTORP.js → chunk-PP3CGEQZ.js} +1 -1
  12. package/dist/{chunk-DBENBGVF.js → chunk-TR5T5Z2L.js} +14 -9
  13. package/dist/{cli-6NI7WJFP.js → cli-HRXHEXFE.js} +40 -40
  14. package/dist/{command-EFYTEHPF.js → command-2MHSC5AE.js} +4 -4
  15. package/dist/{container-start-C3CGPEXA.js → container-start-XMY3VOZB.js} +5 -5
  16. package/dist/{doctor-RGTHY56D.js → doctor-5K4UTAT3.js} +6 -6
  17. package/dist/{governing-source-LVTBDQIM.js → governing-source-WM3WQ6J2.js} +2 -2
  18. package/dist/index.js +1 -1
  19. package/dist/{init-NO5PJEPZ.js → init-IADOHXZR.js} +5 -5
  20. package/dist/{init-VY6J7MAY.js → init-WEFM7P2Y.js} +5 -5
  21. package/dist/{init-cmd-FW67JGI7.js → init-cmd-6UPRZDCC.js} +2 -2
  22. package/dist/{loop-SY636F7D.js → loop-RL5F3GPY.js} +9 -9
  23. package/dist/{machine-IJ2QP3FO.js → machine-NESBHOCL.js} +4 -4
  24. package/dist/{runner-key-L6B5CNDG.js → runner-key-C4ZWPXYD.js} +5 -5
  25. package/dist/{spec-cmd-7KOT4IQO.js → spec-cmd-2ISEEZVA.js} +1 -1
  26. package/dist/{status-LOQ2RHWX.js → status-GDI44URF.js} +4 -4
  27. package/dist/{work-claim-cmd-7YQ5CJ3R.js → work-claim-cmd-HNNEYMXW.js} +3 -3
  28. package/dist/{work-cmd-RRHDQDOX.js → work-cmd-LXDWHKMQ.js} +1 -1
  29. package/dist/{work-comment-cmd-XYAPMQYC.js → work-comment-cmd-2HSY4JA7.js} +1 -1
  30. package/dist/{work-logs-cmd-TTLUEWVX.js → work-logs-cmd-2MQR4JHN.js} +1 -1
  31. package/dist/{work-open-pr-cmd-A63YGIBW.js → work-open-pr-cmd-QUJVL4TF.js} +1 -1
  32. package/dist/{work-stop-cmd-7KIKIZPO.js → work-stop-cmd-4J2NJ7KL.js} +1 -1
  33. package/package.json +1 -1
@@ -1 +1 @@
1
- {"id":"2026-10-19T23:00:19.648Z+aeb3c0b","root":"/home/runner/_work/outerlayer/outerlayer","pkg":"outerlayer"}
1
+ {"id":"2026-10-20T10:21:23.434Z+743c2ac","root":"/home/runner/_work/outerlayer/outerlayer","pkg":"outerlayer"}
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { probeCredentials } from './chunk-DBENBGVF.js';
4
- import './chunk-ISKWFUEQ.js';
3
+ import { probeCredentials } from './chunk-TR5T5Z2L.js';
4
+ import './chunk-B7NT4YZ3.js';
5
5
  import './chunk-3JVYMD4G.js';
6
6
  import './chunk-E7R2GIAW.js';
7
- import './chunk-TPKYTORP.js';
7
+ import './chunk-PP3CGEQZ.js';
8
8
  import './chunk-QWJBTFAF.js';
9
9
  import './chunk-ZVB57WI6.js';
10
10
  import './chunk-44CGGHJF.js';
@@ -15,16 +15,16 @@ import './chunk-DBELICD6.js';
15
15
  import './chunk-PS3AHE6C.js';
16
16
  import './chunk-ESVW4MJY.js';
17
17
  import './chunk-TN2XMMD7.js';
18
- import { placeholderQueues, placeholderProblem, permissionModeProblems, permissionModeProblem, needsClaudeCredential, claudeCredentialCheck, claimPermissionProblem, formerSkillQueues, formerSkillProblem } from './chunk-JGOMMFNX.js';
18
+ import { placeholderQueues, placeholderProblem, permissionModeProblems, permissionModeProblem, needsClaudeCredential, claudeCredentialCheck, claimPermissionProblem, formerSkillQueues, formerSkillProblem } from './chunk-ERXY3FXG.js';
19
19
  import './chunk-YYYRBYWG.js';
20
20
  import './chunk-LJIFCG4G.js';
21
21
  import './chunk-TBT347UY.js';
22
- import './chunk-B6OYEP3K.js';
23
- import './chunk-XRRSFHKV.js';
24
- import './chunk-QQJGL7LG.js';
22
+ import './chunk-IUV6MUQB.js';
23
+ import './chunk-3XUZPSBV.js';
24
+ import './chunk-5VWKCY2E.js';
25
25
  import './chunk-MBVSVQVH.js';
26
26
  import './chunk-TKJISBV6.js';
27
- import './chunk-3IDNLZPR.js';
27
+ import './chunk-4SE6GXQA.js';
28
28
  import './chunk-D3LS7E7U.js';
29
29
  import './chunk-TQMI335S.js';
30
30
  import './chunk-5HZDPOJI.js';
@@ -38,7 +38,7 @@ import './chunk-OGFGZQA3.js';
38
38
  import './chunk-7YSR636F.js';
39
39
  import './chunk-YJLHUKYS.js';
40
40
  import './chunk-SJZL5F3F.js';
41
- import './chunk-DBRB26R7.js';
41
+ import './chunk-4OKXGZM3.js';
42
42
  import './chunk-SJ4DX2AD.js';
43
43
  import './chunk-3YLHIXLR.js';
44
44
  import './chunk-HSUUTD4E.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-QQJGL7LG.js';
3
+ import { MIN_ENGINE_MAJOR } from './chunk-5VWKCY2E.js';
4
4
  import { runnerImageVersion } from './chunk-D3LS7E7U.js';
5
5
  import { firecrackerArch, MICROVM_ARCHES, guestAssetsPinned } from './chunk-SJZL5F3F.js';
6
6
  import { spawnSync } from 'child_process';
@@ -114,11 +114,13 @@ var WorkCommandError = class extends Error {
114
114
  * reached a response. A caller that has to tell one refusal from another —
115
115
  * a claim lost to another host from a key that no longer works — reads it
116
116
  * rather than matching on the message. */
117
- constructor(message, retryable = false, status, code) {
117
+ constructor(message, retryable = false, status, code, reason, billingUrl) {
118
118
  super(message);
119
119
  this.retryable = retryable;
120
120
  this.status = status;
121
121
  this.code = code;
122
+ this.reason = reason;
123
+ this.billingUrl = billingUrl;
122
124
  }
123
125
  };
124
126
  var WORK_LINK_RETRY_DELAYS_MS = [1e3, 5e3, 15e3, 6e4];
@@ -229,6 +231,17 @@ async function sendJsonBefore(method, url, path, apiKey, appId, body, fetchImpl,
229
231
  );
230
232
  }
231
233
  if (!response.ok) {
234
+ const { reason, billingUrl } = json.error ?? {};
235
+ if (json.error?.code === "billing_read_only" && reason !== void 0 && billingUrl !== void 0) {
236
+ throw new WorkCommandError(
237
+ `${json.error.message ?? `This organization is read-only (${reason}).`} Open ${billingUrl} to subscribe.`,
238
+ false,
239
+ response.status,
240
+ json.error.code,
241
+ reason,
242
+ billingUrl
243
+ );
244
+ }
232
245
  throw new WorkCommandError(
233
246
  json.error?.message ?? `request failed (${response.status})`,
234
247
  response.status >= 500 || response.status === 429,
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { WorkCommandError, postJson } from './chunk-DBRB26R7.js';
3
+ import { WorkCommandError, postJson } from './chunk-4OKXGZM3.js';
4
4
  import { defaultGitRunner, materializeContext, isStagingWriteFault, lookupGoverningSource } from './chunk-DLY22KHX.js';
5
5
  import { signingFetchFor } from './chunk-AM3GMWQK.js';
6
6
  import { signerFor } from './chunk-IRF2FKB5.js';
@@ -2,7 +2,7 @@
2
2
  import { createRequire } from 'node:module';
3
3
  import { execCapture } from './chunk-MBVSVQVH.js';
4
4
  import { GUEST_CID } from './chunk-TKJISBV6.js';
5
- import { keepStagedContext, describeCallFailure, controlPlaneTokenFailure, refusalCode, resolveGoverningSource, removeStagedContext, stageGovernedContext, pinnedSourceOf, commandWithShim, shimScript } from './chunk-3IDNLZPR.js';
5
+ import { keepStagedContext, describeCallFailure, controlPlaneTokenFailure, refusalCode, resolveGoverningSource, removeStagedContext, stageGovernedContext, pinnedSourceOf, commandWithShim, shimScript } from './chunk-4SE6GXQA.js';
6
6
  import { runnerImageVersion } from './chunk-D3LS7E7U.js';
7
7
  import { hostAllowed } from './chunk-UXYLWVTQ.js';
8
8
  import { readDefaultBranchHead, cloneRepository, buildRepositoryImage } from './chunk-U5DC57AF.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-7YSR636F.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-DBRB26R7.js';
14
+ import { WorkCommandError } from './chunk-4OKXGZM3.js';
15
15
  import { setCustomScrubbers, setLocalIdentity, setRepoRoot, parseTranscript, scrubDeep, scrubText } from './chunk-FTGJ3DPV.js';
16
16
  import { vmAssetsDir, RUNNER_DIR_MODE, rootfsPathFor, diskTemplatesDir, RUNNER_FILE_MODE, deliveryDir, ghConfigDir, runnerDirOfBuild, spoolDir, mirrorDir, buildDir, SHIM_DIR } from './chunk-SOWXLIDN.js';
17
17
  import { repositoriesOf, primaryOf, RELAY_PORT, repositoryPath, CHECKOUT_DIR, lifecycleWorkdir, claudeCredential, buildEnvironment, startBuildServices, checkEnvironment, AGENT_CREDENTIAL_MISSING, checkoutPath, JOB_MOUNT } from './chunk-WHCDULC4.js';
@@ -6,17 +6,17 @@ import { zodProblem } from './chunk-I3LTIAOR.js';
6
6
  import { senderPidfile } from './chunk-ZNMVBHGJ.js';
7
7
  import { installScrubContext } from './chunk-DBELICD6.js';
8
8
  import { writeDockerClientConfig } from './chunk-TN2XMMD7.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-QQJGL7LG.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-5VWKCY2E.js';
10
10
  import { waitForAgent, vmExecArgs } from './chunk-MBVSVQVH.js';
11
11
  import { socketPathProblem, vsockLinks, LEASE_LINK, linkVsockSockets } from './chunk-TKJISBV6.js';
12
- import { describeCallFailure, resolveGoverningSource, refusalCode, removeStagedContext, stageGovernedContext, pinnedSourceOf, commandWithShim, logStamp, createRunnerLog, removeKeptContext, formatDuration, retrySend, formatClock, keptContextTree } from './chunk-3IDNLZPR.js';
12
+ import { describeCallFailure, resolveGoverningSource, refusalCode, removeStagedContext, stageGovernedContext, pinnedSourceOf, commandWithShim, logStamp, createRunnerLog, removeKeptContext, formatDuration, retrySend, formatClock, keptContextTree } from './chunk-4SE6GXQA.js';
13
13
  import { isBuiltinContainer, isBuiltinProcess, isBuiltinVm, DEFAULT_CHECK_TIME_LIMIT_MINUTES } from './chunk-2ZMJFGOZ.js';
14
14
  import { readBranchHead, fetchCommit, diffBetween } from './chunk-U5DC57AF.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-7YSR636F.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-DBRB26R7.js';
19
+ import { WorkCommandError, postJson, isSignatureRefusal, getJson } from './chunk-4OKXGZM3.js';
20
20
  import { planArtifactUpload } from './chunk-HSUUTD4E.js';
21
21
  import { scrubText } from './chunk-FTGJ3DPV.js';
22
22
  import { readCloudConfig } from './chunk-PJDQPF5N.js';
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { isPlaceholderCommand } from './chunk-B6OYEP3K.js';
4
- import { describeCallFailure } from './chunk-3IDNLZPR.js';
3
+ import { isPlaceholderCommand } from './chunk-IUV6MUQB.js';
4
+ import { describeCallFailure } from './chunk-4SE6GXQA.js';
5
5
  import { builtinKind } from './chunk-2ZMJFGOZ.js';
6
- import { WorkCommandError, getJson } from './chunk-DBRB26R7.js';
6
+ import { WorkCommandError, getJson } from './chunk-4OKXGZM3.js';
7
7
  import { sanitizeTerminal } from './chunk-HSUUTD4E.js';
8
8
  import { signerFor } from './chunk-IRF2FKB5.js';
9
9
  import { CLAUDE_CREDENTIAL_VARIABLES, claudeCredential } from './chunk-WHCDULC4.js';
@@ -2,7 +2,7 @@
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-MBZTX4V2.js';
5
- import { resolveCredentials, getJson, WorkCommandError } from './chunk-DBRB26R7.js';
5
+ import { resolveCredentials, getJson, WorkCommandError } from './chunk-4OKXGZM3.js';
6
6
  import { isLinkedRepository } from './chunk-3YLHIXLR.js';
7
7
  import { sanitizeTerminal } from './chunk-HSUUTD4E.js';
8
8
  import { resolveRepoIdentity, compareVersions, SUPPORTED_VERSIONS } from './chunk-FTGJ3DPV.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-RGTHY56D.js');
1214
+ const { runnerHostChecks } = await import('./doctor-5K4UTAT3.js');
1215
1215
  const gateway = (() => {
1216
1216
  try {
1217
1217
  const { url, apiKey, appId } = loadRunnerConfig(configPath);
@@ -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-XRRSFHKV.js';
4
- import { MIN_ENGINE_MAJOR } from './chunk-QQJGL7LG.js';
3
+ import { detectMachine, supportsContainerBuilds, reachDockerStep, describeMachineDocker, supportsMicroVmBuilds } from './chunk-3XUZPSBV.js';
4
+ import { MIN_ENGINE_MAJOR } from './chunk-5VWKCY2E.js';
5
5
  import { hasStoredCredential, AGENT_COMMANDS, storeClaudeCredential, credentialFromStdin, isAgentName } from './chunk-5HZDPOJI.js';
6
6
  import { runnerCredentialProblem } from './chunk-2ZMJFGOZ.js';
7
7
  import { runnerDir, RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-SOWXLIDN.js';
@@ -4,6 +4,6 @@ import { createRequire } from 'node:module';
4
4
  createRequire(import.meta.url);
5
5
 
6
6
  // src/runner/protocol.ts
7
- var RUNNER_PROTOCOL = 22;
7
+ var RUNNER_PROTOCOL = 23;
8
8
 
9
9
  export { RUNNER_PROTOCOL };
@@ -1,18 +1,18 @@
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-ISKWFUEQ.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-B7NT4YZ3.js';
4
4
  import { decideInstalledSwitch } from './chunk-3JVYMD4G.js';
5
5
  import { fetchVersionMeta, npmVersion, npmSupportsProvenance, fetchTarballDigest, fetchProvenance, installVersion, auditSignatures } from './chunk-E7R2GIAW.js';
6
- import { RUNNER_PROTOCOL } from './chunk-TPKYTORP.js';
6
+ import { RUNNER_PROTOCOL } from './chunk-PP3CGEQZ.js';
7
7
  import { writePendingUpdate } from './chunk-QWJBTFAF.js';
8
8
  import { JOB_STATE_FORMAT, readsJobState, jobStateFormatOf } from './chunk-ZVB57WI6.js';
9
9
  import { readHousekeepingRecord, writeHousekeepingRecord } from './chunk-44CGGHJF.js';
10
- import { currentSkillCommand, formerSkillProblem, placeholderQueues, placeholderProblem } from './chunk-JGOMMFNX.js';
10
+ import { currentSkillCommand, formerSkillProblem, placeholderQueues, placeholderProblem } from './chunk-ERXY3FXG.js';
11
11
  import { freeBytes, formatBytes } from './chunk-YYYRBYWG.js';
12
12
  import { writeMarker, readMarker, currentVersion, removeMarker, entryIn, versionDir, startedThroughCurrent, switchCurrent, isInLayout, cleanVersions, stagingDir } from './chunk-LJIFCG4G.js';
13
13
  import { RepoFilter } from './chunk-TBT347UY.js';
14
- import { leaseTimeLeftMs, createContainerRuntime, withTunnelLog, LEASE_SECONDS, provisionContainer, leaseExpiresAtMs, deliverContainerHooks, lifecycleSteps, lifecycleFailureReason, prepareBranch, containerCommandExec, setUpRunnerCgroup, measureDisk, parseCpuList, ensureTunnel, keepGhConfigCurrent, filesAreCopied, gitRemoteFor, startServicesFor, createLeaseChannel } from './chunk-QQJGL7LG.js';
15
- import { describeCallFailure, retrySend, shortClaim, relativeToRunner, formatDuration, BuildTokens, classifyRefusal, refusalCode, createRunnerLog, formatClock } from './chunk-3IDNLZPR.js';
14
+ import { leaseTimeLeftMs, createContainerRuntime, withTunnelLog, LEASE_SECONDS, provisionContainer, leaseExpiresAtMs, deliverContainerHooks, lifecycleSteps, lifecycleFailureReason, prepareBranch, containerCommandExec, setUpRunnerCgroup, measureDisk, parseCpuList, ensureTunnel, keepGhConfigCurrent, filesAreCopied, gitRemoteFor, startServicesFor, createLeaseChannel } from './chunk-5VWKCY2E.js';
15
+ import { describeCallFailure, retrySend, shortClaim, relativeToRunner, formatDuration, BuildTokens, classifyRefusal, refusalCode, createRunnerLog, formatClock } from './chunk-4SE6GXQA.js';
16
16
  import { tagToPull, pullInstruction, imageTag, writeUpdateStatus } from './chunk-D3LS7E7U.js';
17
17
  import { isVersion, compareVersions, satisfiesRange } from './chunk-TQMI335S.js';
18
18
  import { checkFit } from './chunk-3F7RC3UA.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-7YSR636F.js';
23
23
  import { exceedsDisk } from './chunk-YJLHUKYS.js';
24
- import { isSignatureRefusal, WorkCommandError, getJson, postJson } from './chunk-DBRB26R7.js';
24
+ import { isSignatureRefusal, WorkCommandError, getJson, postJson } from './chunk-4OKXGZM3.js';
25
25
  import { loadHostKey, ensureHostKey, signerFor } from './chunk-IRF2FKB5.js';
26
26
  import { RUNNER_DIR_MODE, runnerDir, buildDir, attemptStamp, jobDir, RUNNER_FILE_MODE, jobsDir, pidFilePath, spoolDir, rootfsDir } from './chunk-SOWXLIDN.js';
27
27
  import { parseClaimIdentity, parseClaimedRepositories, parseUnreachable, repositoriesOf, primaryOf, sharedUserEnvironment, JOB_MOUNT, takeClaudeCredential, heldClaudeCredential, claudeCredential, currentClaudeCredential } from './chunk-WHCDULC4.js';
@@ -1763,7 +1763,7 @@ async function runTick(state) {
1763
1763
  claimed = true;
1764
1764
  break;
1765
1765
  }
1766
- if (attempt.kind === "outdated" || attempt.kind === "signature" || attempt.kind === "no_item_key" || attempt.kind === "no_branch" || attempt.kind === "unreadable_repositories") {
1766
+ if (attempt.kind === "outdated" || attempt.kind === "read_only" || attempt.kind === "signature" || attempt.kind === "no_item_key" || attempt.kind === "no_branch" || attempt.kind === "unreadable_repositories") {
1767
1767
  return;
1768
1768
  }
1769
1769
  if (attempt.kind === "error") {
@@ -1787,7 +1787,7 @@ var CLAIM_REFUSAL_CODES = new Set(
1787
1787
  "pull_request_from_fork pull_request_on_default_branch pull_request_ambiguous pull_request_repository_not_connected repository_not_reachable branch_claimed_elsewhere".split(" ")
1788
1788
  );
1789
1789
  async function tryClaimAndStart(state, item, queue) {
1790
- const { postJson: postJson2 } = await import('./work-cmd-RRHDQDOX.js');
1790
+ const { postJson: postJson2 } = await import('./work-cmd-LXDWHKMQ.js');
1791
1791
  const log = logOf(state);
1792
1792
  const hostKey = await loadHostKey(state.config.configPath);
1793
1793
  const claim = await retrySend(
@@ -1823,6 +1823,10 @@ async function tryClaimAndStart(state, item, queue) {
1823
1823
  reportRepeating(state, "the request signature", claim.message ?? claim.reason);
1824
1824
  return { kind: "signature" };
1825
1825
  }
1826
+ if (claim.code === "billing_read_only") {
1827
+ reportRepeating(state, "the organization's billing", claim.message ?? claim.reason);
1828
+ return { kind: "read_only" };
1829
+ }
1826
1830
  if (claim.code === "runner_upgrade_required") {
1827
1831
  const tag = tagToPull(state.imageNamed);
1828
1832
  reportRepeating(
@@ -1836,6 +1840,7 @@ async function tryClaimAndStart(state, item, queue) {
1836
1840
  }
1837
1841
  return { kind: "error", reason: `${claim.reason} (${claim.attempts} attempt(s))` };
1838
1842
  }
1843
+ reportRepeating(state, "the organization's billing", void 0);
1839
1844
  reportRepeating(state, "the runner protocol", void 0);
1840
1845
  state.upgradeRefused = false;
1841
1846
  recordImageStatus(state);
@@ -2963,7 +2968,7 @@ async function start(configPath, deps = { fetchImpl: fetch }) {
2963
2968
  check: update.check ? () => update.check(configPath) : async () => {
2964
2969
  const held = heldClaudeCredential();
2965
2970
  const env = held === void 0 ? process.env : { ...process.env, [held.variable]: held.value };
2966
- return (await import('./check-BKONE55O.js')).runRunnerCheck(configPath, { fetchImpl: deps.fetchImpl, env });
2971
+ return (await import('./check-Y6D7C66D.js')).runRunnerCheck(configPath, { fetchImpl: deps.fetchImpl, env });
2967
2972
  },
2968
2973
  now: () => (deps.now ?? (() => /* @__PURE__ */ new Date()))().getTime(),
2969
2974
  log
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { gatherDoctorChecks, doctorExitCode, summarizeChecks, renderDoctorText, recordWrapped, recordUnwrapped, recordRemoval, readManifest, recordInstall, recordStatusline } from './chunk-TKX23NFV.js';
3
+ import { gatherDoctorChecks, doctorExitCode, summarizeChecks, renderDoctorText, recordWrapped, recordUnwrapped, recordRemoval, readManifest, recordInstall, recordStatusline } from './chunk-HMAYAMOQ.js';
4
4
  import './chunk-BCWVTWS7.js';
5
5
  import './chunk-MBZTX4V2.js';
6
6
  import './chunk-KT4CN6OU.js';
7
7
  import './chunk-XTKH5VAC.js';
8
- import { verifiedTrackerNames, TRACKERS } from './chunk-DBRB26R7.js';
8
+ import { verifiedTrackerNames, TRACKERS } from './chunk-4OKXGZM3.js';
9
9
  import './chunk-SJ4DX2AD.js';
10
10
  import './chunk-3YLHIXLR.js';
11
11
  import './chunk-HSUUTD4E.js';
@@ -3926,13 +3926,13 @@ what CLIs older than ${FIRST_VERSION_READING_AGENTS_SKILLS} do. \`` + cliInvocat
3926
3926
  if (changed.length > 0 && !opts.json) process.stdout.write(`Removed the claude function from ${changed.join(", ")}.
3927
3927
  `);
3928
3928
  }
3929
- const shell = !opts.remove && opts.shellFunction !== void 0 ? (await import('./init-cmd-FW67JGI7.js')).applyShellFunctionFlag(opts.shellFunction, { home: homeFromEnv(), shellPath: process.env.SHELL }) : void 0;
3929
+ const shell = !opts.remove && opts.shellFunction !== void 0 ? (await import('./init-cmd-6UPRZDCC.js')).applyShellFunctionFlag(opts.shellFunction, { home: homeFromEnv(), shellPath: process.env.SHELL }) : void 0;
3930
3930
  if (opts.json) writeJson(shell === void 0 ? outcome.result : { ...outcome.result, shellFunction: { outcome: shell.outcome, reason: shell.reason } });
3931
3931
  else process.stdout.write(outcome.text + skillsLine + (shell?.text ?? ""));
3932
3932
  return;
3933
3933
  }
3934
3934
  await installMachineSkillsForSetup();
3935
- const { runInitCommand } = await import('./init-cmd-FW67JGI7.js');
3935
+ const { runInitCommand } = await import('./init-cmd-6UPRZDCC.js');
3936
3936
  const code = await runInitCommand(
3937
3937
  { json: opts.json, factory: opts.factory, shellFunction: opts.shellFunction },
3938
3938
  {
@@ -4565,9 +4565,9 @@ function registerSpecCommands(program2) {
4565
4565
  const specCmd = program2.command("spec").description("Find, file and edit the issue a spec lives in, in your factory's tracker");
4566
4566
  const credentialOptions = (command) => command.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)");
4567
4567
  const run = async (action) => {
4568
- const { WorkCommandError } = await import('./work-cmd-RRHDQDOX.js');
4568
+ const { WorkCommandError } = await import('./work-cmd-LXDWHKMQ.js');
4569
4569
  try {
4570
- await action(await import('./spec-cmd-7KOT4IQO.js'));
4570
+ await action(await import('./spec-cmd-2ISEEZVA.js'));
4571
4571
  } catch (err) {
4572
4572
  if (err instanceof WorkCommandError) {
4573
4573
  fail(err.message);
@@ -4671,7 +4671,7 @@ takes it, and prints the line that starts your session on it. That
4671
4671
  session links itself and holds the item's lease while it works.
4672
4672
  `
4673
4673
  ).action(async (opts) => {
4674
- const { runWorkBuild, WorkCommandError } = await import('./work-cmd-RRHDQDOX.js');
4674
+ const { runWorkBuild, WorkCommandError } = await import('./work-cmd-LXDWHKMQ.js');
4675
4675
  try {
4676
4676
  await runWorkBuild(opts);
4677
4677
  } catch (err) {
@@ -4694,7 +4694,7 @@ renews that session's own 20-minute lease, unless --no-lease or
4694
4694
  --ended is given, or another worker already holds a live one.
4695
4695
  `
4696
4696
  ).action(async (number, opts) => {
4697
- const { runWorkLinkSession, WorkCommandError } = await import('./work-cmd-RRHDQDOX.js');
4697
+ const { runWorkLinkSession, WorkCommandError } = await import('./work-cmd-LXDWHKMQ.js');
4698
4698
  try {
4699
4699
  await runWorkLinkSession({ ...opts, number, noLease: opts.lease === false, logFailures: opts.logFailures === true });
4700
4700
  } catch (err) {
@@ -4718,8 +4718,8 @@ criterion's new proof; --ready hands the thread back to a person. At
4718
4718
  most one action flag may be given.
4719
4719
  `
4720
4720
  ).action(async (opts) => {
4721
- const { runWorkComment, WorkCommentCommandError } = await import('./work-comment-cmd-XYAPMQYC.js');
4722
- const { WorkCommandError } = await import('./work-cmd-RRHDQDOX.js');
4721
+ const { runWorkComment, WorkCommentCommandError } = await import('./work-comment-cmd-2HSY4JA7.js');
4722
+ const { WorkCommandError } = await import('./work-cmd-LXDWHKMQ.js');
4723
4723
  try {
4724
4724
  await runWorkComment(opts);
4725
4725
  } catch (err) {
@@ -4740,8 +4740,8 @@ criterion that carries proof or a comment, each with who is waiting
4740
4740
  on whom next.
4741
4741
  `
4742
4742
  ).action(async (opts) => {
4743
- const { runWorkThreads, WorkCommentCommandError } = await import('./work-comment-cmd-XYAPMQYC.js');
4744
- const { WorkCommandError } = await import('./work-cmd-RRHDQDOX.js');
4743
+ const { runWorkThreads, WorkCommentCommandError } = await import('./work-comment-cmd-2HSY4JA7.js');
4744
+ const { WorkCommandError } = await import('./work-cmd-LXDWHKMQ.js');
4745
4745
  try {
4746
4746
  await runWorkThreads(opts);
4747
4747
  } catch (err) {
@@ -4765,8 +4765,8 @@ still running, or that an older runner released, has no log and the
4765
4765
  command exits 1.
4766
4766
  `
4767
4767
  ).action(async (opts) => {
4768
- const { runWorkLogs, WorkLogsCommandError } = await import('./work-logs-cmd-TTLUEWVX.js');
4769
- const { WorkCommandError } = await import('./work-cmd-RRHDQDOX.js');
4768
+ const { runWorkLogs, WorkLogsCommandError } = await import('./work-logs-cmd-2MQR4JHN.js');
4769
+ const { WorkCommandError } = await import('./work-cmd-LXDWHKMQ.js');
4770
4770
  try {
4771
4771
  await runWorkLogs(opts);
4772
4772
  } catch (err) {
@@ -4789,8 +4789,8 @@ item is not built again until a new build request. Exits 1 when no host
4789
4789
  build is running for the item.
4790
4790
  `
4791
4791
  ).action(async (opts) => {
4792
- const { runWorkStop, WorkStopCommandError } = await import('./work-stop-cmd-7KIKIZPO.js');
4793
- const { WorkCommandError } = await import('./work-cmd-RRHDQDOX.js');
4792
+ const { runWorkStop, WorkStopCommandError } = await import('./work-stop-cmd-4J2NJ7KL.js');
4793
+ const { WorkCommandError } = await import('./work-cmd-LXDWHKMQ.js');
4794
4794
  try {
4795
4795
  await runWorkStop(opts);
4796
4796
  } catch (err) {
@@ -4811,7 +4811,7 @@ deletes anything \u2014 the item is removed from Work only once no
4811
4811
  live addition remains on it.
4812
4812
  `
4813
4813
  ).action(async (opts) => {
4814
- const { runWorkRemove, WorkCommandError } = await import('./work-cmd-RRHDQDOX.js');
4814
+ const { runWorkRemove, WorkCommandError } = await import('./work-cmd-LXDWHKMQ.js');
4815
4815
  try {
4816
4816
  await runWorkRemove(opts);
4817
4817
  } catch (err) {
@@ -4823,7 +4823,7 @@ live addition remains on it.
4823
4823
  }
4824
4824
  });
4825
4825
  workCmd.command("status").description("Show one item's stage, gate ledger, and additions").option("--item <number>", "the item's number inside this factory").option("--issue <number>", "issue number, or a Linear/Jira key like ENG-123").option(TRACKER_OPTION_FLAG, "tracker for a keyed --issue, when both hold the key").option("--repo <owner/name>", "repository for an issue number (default: the checkout's remote)").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) => {
4826
- const { runWorkStatus, WorkCommandError } = await import('./work-cmd-RRHDQDOX.js');
4826
+ const { runWorkStatus, WorkCommandError } = await import('./work-cmd-LXDWHKMQ.js');
4827
4827
  try {
4828
4828
  await runWorkStatus(opts);
4829
4829
  } catch (err) {
@@ -4835,7 +4835,7 @@ live addition remains on it.
4835
4835
  }
4836
4836
  });
4837
4837
  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) => {
4838
- const { runWorkList, WorkCommandError } = await import('./work-cmd-RRHDQDOX.js');
4838
+ const { runWorkList, WorkCommandError } = await import('./work-cmd-LXDWHKMQ.js');
4839
4839
  try {
4840
4840
  await runWorkList(opts);
4841
4841
  } catch (err) {
@@ -4856,7 +4856,7 @@ by a different key is refused; claiming again with the same key extends
4856
4856
  it. --host is a label only.
4857
4857
  `
4858
4858
  ).action(async (opts) => {
4859
- const { runWorkClaim, WorkCommandError } = await import('./work-claim-cmd-7YQ5CJ3R.js');
4859
+ const { runWorkClaim, WorkCommandError } = await import('./work-claim-cmd-HNNEYMXW.js');
4860
4860
  try {
4861
4861
  await runWorkClaim(opts);
4862
4862
  } catch (err) {
@@ -4876,7 +4876,7 @@ Extends the live lease this API key holds. Refused with a 410 if the
4876
4876
  lease has expired, or a 403 if a different key holds it.
4877
4877
  `
4878
4878
  ).action(async (opts) => {
4879
- const { runWorkRenew, WorkCommandError } = await import('./work-claim-cmd-7YQ5CJ3R.js');
4879
+ const { runWorkRenew, WorkCommandError } = await import('./work-claim-cmd-HNNEYMXW.js');
4880
4880
  try {
4881
4881
  await runWorkRenew(opts);
4882
4882
  } catch (err) {
@@ -4908,7 +4908,7 @@ applies to a host's lease only. A later tool call in the session
4908
4908
  takes the lease again.
4909
4909
  `
4910
4910
  ).action(async (opts) => {
4911
- const { runWorkRelease, WorkCommandError } = await import('./work-claim-cmd-7YQ5CJ3R.js');
4911
+ const { runWorkRelease, WorkCommandError } = await import('./work-claim-cmd-HNNEYMXW.js');
4912
4912
  try {
4913
4913
  await runWorkRelease(opts);
4914
4914
  } catch (err) {
@@ -4960,8 +4960,8 @@ login, then declares the pull request on the item, as \`work pr\` does.
4960
4960
  Run it again after a change to the title or description.
4961
4961
  `
4962
4962
  ).action(async (opts) => {
4963
- const { runWorkOpenPr, WorkOpenPrCommandError } = await import('./work-open-pr-cmd-A63YGIBW.js');
4964
- const { WorkCommandError } = await import('./work-cmd-RRHDQDOX.js');
4963
+ const { runWorkOpenPr, WorkOpenPrCommandError } = await import('./work-open-pr-cmd-QUJVL4TF.js');
4964
+ const { WorkCommandError } = await import('./work-cmd-LXDWHKMQ.js');
4965
4965
  try {
4966
4966
  await runWorkOpenPr(opts);
4967
4967
  } catch (err) {
@@ -4978,7 +4978,7 @@ function registerRunnerCommands(program2) {
4978
4978
  const configOption = "the cloud config file to run against (default: ~/.outerlayer/config.json)";
4979
4979
  runnerCmd.command("start").description("Run the loop: claim work, run it, report, clean up, repeat").option("--config <path>", configOption).action(async (opts) => {
4980
4980
  const { defaultRunnerConfigPath, RunnerConfigError } = await import('./config-VM6GKCCE.js');
4981
- const { start, RunnerStartError } = await import('./loop-SY636F7D.js');
4981
+ const { start, RunnerStartError } = await import('./loop-RL5F3GPY.js');
4982
4982
  const { RunnerAlreadyRunningError } = await import('./pidfile-3BH6WPOA.js');
4983
4983
  const configPath = opts.config ?? defaultRunnerConfigPath();
4984
4984
  try {
@@ -4997,8 +4997,8 @@ function registerRunnerCommands(program2) {
4997
4997
  "\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"
4998
4998
  ).action(async () => {
4999
4999
  const { defaultRunnerConfigPath, RunnerConfigError } = await import('./config-VM6GKCCE.js');
5000
- const { containerStart } = await import('./container-start-C3CGPEXA.js');
5001
- const { start, RunnerStartError } = await import('./loop-SY636F7D.js');
5000
+ const { containerStart } = await import('./container-start-XMY3VOZB.js');
5001
+ const { start, RunnerStartError } = await import('./loop-RL5F3GPY.js');
5002
5002
  const { RunnerAlreadyRunningError } = await import('./pidfile-3BH6WPOA.js');
5003
5003
  try {
5004
5004
  const result = await containerStart({
@@ -5018,7 +5018,7 @@ function registerRunnerCommands(program2) {
5018
5018
  });
5019
5019
  runnerCmd.command("check").description("Validate the config, the hooks and the key, and print the effective settings").option("--config <path>", configOption).action(async (opts) => {
5020
5020
  const { defaultRunnerConfigPath } = await import('./config-VM6GKCCE.js');
5021
- const { runRunnerCheck } = await import('./check-BKONE55O.js');
5021
+ const { runRunnerCheck } = await import('./check-Y6D7C66D.js');
5022
5022
  const configPath = opts.config ?? defaultRunnerConfigPath();
5023
5023
  const result = await runRunnerCheck(configPath);
5024
5024
  if (!result.ok) {
@@ -5052,7 +5052,7 @@ function registerRunnerCommands(program2) {
5052
5052
  }
5053
5053
  try {
5054
5054
  if (opts.service === true) {
5055
- const { installServiceCommand } = await import('./command-EFYTEHPF.js');
5055
+ const { installServiceCommand } = await import('./command-2MHSC5AE.js');
5056
5056
  const result2 = await installServiceCommand({
5057
5057
  configPath,
5058
5058
  print: opts.print,
@@ -5108,7 +5108,7 @@ To keep it running, run ${C.yellow}${cliInvocation()} runner install --service${
5108
5108
  return;
5109
5109
  }
5110
5110
  const { defaultRunnerConfigPath } = await import('./config-VM6GKCCE.js');
5111
- const { uninstallServiceCommand } = await import('./command-EFYTEHPF.js');
5111
+ const { uninstallServiceCommand } = await import('./command-2MHSC5AE.js');
5112
5112
  const result = await uninstallServiceCommand({ configPath: opts.config ?? defaultRunnerConfigPath(), unitName: opts.unitName, home: homeFromEnv() });
5113
5113
  if (result.ok) for (const line of result.lines) process.stdout.write(`${C.green}\u2713${C.reset} ${line}
5114
5114
  `);
@@ -5136,10 +5136,10 @@ already in claude.env is used.
5136
5136
  `
5137
5137
  ).action(async (opts) => {
5138
5138
  const { defaultRunnerConfigPath, RunnerConfigError } = await import('./config-VM6GKCCE.js');
5139
- const { prepareRunnerInit, runRunnerInit, RunnerInitError, writeRunnerInit } = await import('./init-NO5PJEPZ.js');
5140
- const { obtainRunnerKey, runnerKeyLogin } = await import('./runner-key-L6B5CNDG.js');
5141
- const { detectMachine } = await import('./machine-IJ2QP3FO.js');
5142
- const { chooseVm, runVmInit, VmInitError } = await import('./init-VY6J7MAY.js');
5139
+ const { prepareRunnerInit, runRunnerInit, RunnerInitError, writeRunnerInit } = await import('./init-IADOHXZR.js');
5140
+ const { obtainRunnerKey, runnerKeyLogin } = await import('./runner-key-C4ZWPXYD.js');
5141
+ const { detectMachine } = await import('./machine-NESBHOCL.js');
5142
+ const { chooseVm, runVmInit, VmInitError } = await import('./init-WEFM7P2Y.js');
5143
5143
  const { AGENT_COMMANDS, credentialFromStdin, isAgentName, restartForCredential, RunnerEnvError } = await import('./runner-env-6Q45P3IE.js');
5144
5144
  const configPath = opts.config ?? defaultRunnerConfigPath();
5145
5145
  if (opts.agent !== void 0 && !isAgentName(opts.agent)) {
@@ -5290,7 +5290,7 @@ ${C.yellow}The runner will not update itself: ${installErr.message}${C.reset}
5290
5290
  let serviceUp = false;
5291
5291
  let restart;
5292
5292
  if (installedLayout) {
5293
- const { installServiceCommand } = await import('./command-EFYTEHPF.js');
5293
+ const { installServiceCommand } = await import('./command-2MHSC5AE.js');
5294
5294
  const service = await installServiceCommand({
5295
5295
  configPath,
5296
5296
  entryPath: process.argv[1] ?? "",
@@ -5354,7 +5354,7 @@ Next:
5354
5354
  await ensureRunnerIdentity(configPath, { log: (line) => console.error(line) }).catch((err) => {
5355
5355
  console.error(`the runner's Docker identity could not be stored: ${err instanceof Error ? err.message : String(err)}`);
5356
5356
  });
5357
- const { imageTargetFor } = await import('./governing-source-LVTBDQIM.js');
5357
+ const { imageTargetFor } = await import('./governing-source-WM3WQ6J2.js');
5358
5358
  const target = await imageTargetFor({ config: loaded, repository: opts.repository, fetchImpl: fetch });
5359
5359
  if (!target.ok) {
5360
5360
  if (opts.json) {
@@ -5418,7 +5418,7 @@ Next:
5418
5418
  });
5419
5419
  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) => {
5420
5420
  const { defaultRunnerConfigPath } = await import('./config-VM6GKCCE.js');
5421
- const { requestStop } = await import('./loop-SY636F7D.js');
5421
+ const { requestStop } = await import('./loop-RL5F3GPY.js');
5422
5422
  const configPath = opts.config ?? defaultRunnerConfigPath();
5423
5423
  const { runnerImageVersion } = await import('./image-tag-LLXOFXKP.js');
5424
5424
  await requestStop(configPath, Boolean(opts.now), void 0, { image: runnerImageVersion() !== void 0 });
@@ -5426,8 +5426,8 @@ Next:
5426
5426
  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) => {
5427
5427
  const { defaultRunnerConfigPath, loadRunnerConfig } = await import('./config-VM6GKCCE.js');
5428
5428
  const { jobsDir, runnerDir } = await import('./paths-32THAYBB.js');
5429
- const { listJobFiles, runnerProcessState } = await import('./loop-SY636F7D.js');
5430
- const { renderStatus } = await import('./status-LOQ2RHWX.js');
5429
+ const { listJobFiles, runnerProcessState } = await import('./loop-RL5F3GPY.js');
5430
+ const { renderStatus } = await import('./status-GDI44URF.js');
5431
5431
  const { readHousekeepingRecord } = await import('./record-WHPJCC6Y.js');
5432
5432
  const path2 = await import('path');
5433
5433
  const configPath = opts.config ?? defaultRunnerConfigPath();
@@ -5487,7 +5487,7 @@ Next:
5487
5487
  });
5488
5488
  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) => {
5489
5489
  const { defaultRunnerConfigPath } = await import('./config-VM6GKCCE.js');
5490
- const { listJobFiles } = await import('./loop-SY636F7D.js');
5490
+ const { listJobFiles } = await import('./loop-RL5F3GPY.js');
5491
5491
  const { newestAttempt, logPathFor, tail, RunnerLogsError } = await import('./logs-7O3ELY35.js');
5492
5492
  const configPath = opts.config ?? defaultRunnerConfigPath();
5493
5493
  const item = parseTrackerNumber(itemArg);
@@ -3,11 +3,11 @@ import { createRequire } from 'node:module';
3
3
  import { runRunnerInstall, launcherSummary, restartNote } from './chunk-YVY3IVYV.js';
4
4
  import './chunk-VL3CF4DZ.js';
5
5
  import { currentLink, execStartCommand } from './chunk-LJIFCG4G.js';
6
- import { detectMachine } from './chunk-XRRSFHKV.js';
7
- import { helperSocketPath, ensureFirecrackerAndJailer } from './chunk-QQJGL7LG.js';
6
+ import { detectMachine } from './chunk-3XUZPSBV.js';
7
+ import { helperSocketPath, ensureFirecrackerAndJailer } from './chunk-5VWKCY2E.js';
8
8
  import './chunk-MBVSVQVH.js';
9
9
  import './chunk-TKJISBV6.js';
10
- import './chunk-3IDNLZPR.js';
10
+ import './chunk-4SE6GXQA.js';
11
11
  import './chunk-D3LS7E7U.js';
12
12
  import './chunk-TQMI335S.js';
13
13
  import { DEFAULT_UNIT_NAME, installService, uninstallService, realTaskScheduler, UNIT_MARKER } from './chunk-3F7RC3UA.js';
@@ -22,7 +22,7 @@ import './chunk-OGFGZQA3.js';
22
22
  import { readJobFile } from './chunk-7YSR636F.js';
23
23
  import './chunk-YJLHUKYS.js';
24
24
  import { firecrackerArch, MICROVM_ARCHES, FIRECRACKER_VERSION, FIRECRACKER_BINARY_SHA256, JAILER_BINARY_SHA256, HOST_HELPER_SHA256, HOST_HELPER_BASE_URL, HOST_HELPER_ASSETS_VERSION, hostHelperPinned } from './chunk-SJZL5F3F.js';
25
- import './chunk-DBRB26R7.js';
25
+ import './chunk-4OKXGZM3.js';
26
26
  import './chunk-SJ4DX2AD.js';
27
27
  import './chunk-3YLHIXLR.js';
28
28
  import './chunk-HSUUTD4E.js';
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { RunnerInitError, prepareRunnerInit, writeRunnerInit } from './chunk-B6OYEP3K.js';
4
- import { detectMachine, supportsContainerBuilds, describeMachineDocker } from './chunk-XRRSFHKV.js';
5
- import { MIN_ENGINE_MAJOR } from './chunk-QQJGL7LG.js';
3
+ import { RunnerInitError, prepareRunnerInit, writeRunnerInit } from './chunk-IUV6MUQB.js';
4
+ import { detectMachine, supportsContainerBuilds, describeMachineDocker } from './chunk-3XUZPSBV.js';
5
+ import { MIN_ENGINE_MAJOR } from './chunk-5VWKCY2E.js';
6
6
  import './chunk-MBVSVQVH.js';
7
7
  import './chunk-TKJISBV6.js';
8
- import './chunk-3IDNLZPR.js';
8
+ import './chunk-4SE6GXQA.js';
9
9
  import { runnerImageVersion, IMAGE_VERSION_VARIABLE } from './chunk-D3LS7E7U.js';
10
10
  import './chunk-TQMI335S.js';
11
11
  import { isAgentName, AGENT_COMMANDS } from './chunk-5HZDPOJI.js';
@@ -19,7 +19,7 @@ import './chunk-OGFGZQA3.js';
19
19
  import './chunk-7YSR636F.js';
20
20
  import './chunk-YJLHUKYS.js';
21
21
  import './chunk-SJZL5F3F.js';
22
- import './chunk-DBRB26R7.js';
22
+ import './chunk-4OKXGZM3.js';
23
23
  import './chunk-SJ4DX2AD.js';
24
24
  import './chunk-3YLHIXLR.js';
25
25
  import './chunk-HSUUTD4E.js';
@@ -1,16 +1,16 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { needsClaudeCredential, claudeCredentialCheck, missingPermissionOf, missingPermissionFix } from './chunk-JGOMMFNX.js';
3
+ import { needsClaudeCredential, claudeCredentialCheck, missingPermissionOf, missingPermissionFix } from './chunk-ERXY3FXG.js';
4
4
  import { freeBytes, formatBytes } from './chunk-YYYRBYWG.js';
5
5
  import { launcherCheck } from './chunk-VL3CF4DZ.js';
6
6
  import './chunk-LJIFCG4G.js';
7
7
  import { RepoFilter } from './chunk-TBT347UY.js';
8
- import './chunk-B6OYEP3K.js';
9
- import { detectMachine, supportsContainerBuilds, describeMachineDocker, reachDockerStep, supportsMicroVmBuilds, microVmArchSupported, microVmAssetsPinned } from './chunk-XRRSFHKV.js';
10
- import { MIN_ENGINE_MAJOR, helperFirecrackerNote, probeHelper, helperSocketPath } from './chunk-QQJGL7LG.js';
8
+ import './chunk-IUV6MUQB.js';
9
+ import { detectMachine, supportsContainerBuilds, describeMachineDocker, reachDockerStep, supportsMicroVmBuilds, microVmArchSupported, microVmAssetsPinned } from './chunk-3XUZPSBV.js';
10
+ import { MIN_ENGINE_MAJOR, helperFirecrackerNote, probeHelper, helperSocketPath } from './chunk-5VWKCY2E.js';
11
11
  import './chunk-MBVSVQVH.js';
12
12
  import './chunk-TKJISBV6.js';
13
- import './chunk-3IDNLZPR.js';
13
+ import './chunk-4SE6GXQA.js';
14
14
  import { runnerImageVersion, imageAdvice, readUpdateStatus, imageTag, pullInstruction } from './chunk-D3LS7E7U.js';
15
15
  import './chunk-TQMI335S.js';
16
16
  import './chunk-5HZDPOJI.js';
@@ -24,7 +24,7 @@ import './chunk-OGFGZQA3.js';
24
24
  import { resolveDevcontainerCli, buildxState, spawnRun } from './chunk-7YSR636F.js';
25
25
  import { parseSize } from './chunk-YJLHUKYS.js';
26
26
  import { locateRecipe, assertBuildable, readRecipe, RecipeError, FIRECRACKER_VERSION, CLAUDE_CODE_VERSION } from './chunk-SJZL5F3F.js';
27
- import { getJson, WorkCommandError, signatureRefusalMessage } from './chunk-DBRB26R7.js';
27
+ import { getJson, WorkCommandError, signatureRefusalMessage } from './chunk-4OKXGZM3.js';
28
28
  import './chunk-SJ4DX2AD.js';
29
29
  import './chunk-3YLHIXLR.js';
30
30
  import './chunk-HSUUTD4E.js';
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { imageTargetFor, pinnedSourceOf, resolveGoverningSource } from './chunk-3IDNLZPR.js';
4
- import './chunk-DBRB26R7.js';
3
+ export { imageTargetFor, pinnedSourceOf, resolveGoverningSource } from './chunk-4SE6GXQA.js';
4
+ import './chunk-4OKXGZM3.js';
5
5
  import './chunk-SJ4DX2AD.js';
6
6
  import './chunk-3YLHIXLR.js';
7
7
  import './chunk-HSUUTD4E.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-A2N3PSXI.js')).recordLinkExitFailure(argv);
29
- var { runCli } = await import('./cli-6NI7WJFP.js');
29
+ var { runCli } = await import('./cli-HRXHEXFE.js');
30
30
  await runCli(process.argv);
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { PLACEHOLDER_MARKER, RunnerInitError, isPlaceholderCommand, prepareRunnerInit, readConfigObject, runRunnerInit, writeRunnerInit } from './chunk-B6OYEP3K.js';
4
- import './chunk-XRRSFHKV.js';
5
- import './chunk-QQJGL7LG.js';
3
+ export { PLACEHOLDER_MARKER, RunnerInitError, isPlaceholderCommand, prepareRunnerInit, readConfigObject, runRunnerInit, writeRunnerInit } from './chunk-IUV6MUQB.js';
4
+ import './chunk-3XUZPSBV.js';
5
+ import './chunk-5VWKCY2E.js';
6
6
  import './chunk-MBVSVQVH.js';
7
7
  import './chunk-TKJISBV6.js';
8
- import './chunk-3IDNLZPR.js';
8
+ import './chunk-4SE6GXQA.js';
9
9
  import './chunk-D3LS7E7U.js';
10
10
  import './chunk-TQMI335S.js';
11
11
  import './chunk-5HZDPOJI.js';
@@ -19,7 +19,7 @@ import './chunk-OGFGZQA3.js';
19
19
  import './chunk-7YSR636F.js';
20
20
  import './chunk-YJLHUKYS.js';
21
21
  import './chunk-SJZL5F3F.js';
22
- import './chunk-DBRB26R7.js';
22
+ import './chunk-4OKXGZM3.js';
23
23
  import './chunk-SJ4DX2AD.js';
24
24
  import './chunk-3YLHIXLR.js';
25
25
  import './chunk-HSUUTD4E.js';
@@ -1,12 +1,12 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
3
  import { npmSupportsProvenance } from './chunk-E7R2GIAW.js';
4
- import { RunnerInitError, readConfigObject } from './chunk-B6OYEP3K.js';
5
- import './chunk-XRRSFHKV.js';
6
- import './chunk-QQJGL7LG.js';
4
+ import { RunnerInitError, readConfigObject } from './chunk-IUV6MUQB.js';
5
+ import './chunk-3XUZPSBV.js';
6
+ import './chunk-5VWKCY2E.js';
7
7
  import './chunk-MBVSVQVH.js';
8
8
  import './chunk-TKJISBV6.js';
9
- import './chunk-3IDNLZPR.js';
9
+ import './chunk-4SE6GXQA.js';
10
10
  import './chunk-D3LS7E7U.js';
11
11
  import './chunk-TQMI335S.js';
12
12
  import './chunk-5HZDPOJI.js';
@@ -21,7 +21,7 @@ import './chunk-OGFGZQA3.js';
21
21
  import './chunk-7YSR636F.js';
22
22
  import { parseSize } from './chunk-YJLHUKYS.js';
23
23
  import './chunk-SJZL5F3F.js';
24
- import './chunk-DBRB26R7.js';
24
+ import './chunk-4OKXGZM3.js';
25
25
  import './chunk-SJ4DX2AD.js';
26
26
  import './chunk-3YLHIXLR.js';
27
27
  import './chunk-HSUUTD4E.js';
@@ -1,12 +1,12 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { summarizeChecks, summaryText, renderDoctorText } from './chunk-TKX23NFV.js';
3
+ import { summarizeChecks, summaryText, renderDoctorText } from './chunk-HMAYAMOQ.js';
4
4
  import './chunk-BCWVTWS7.js';
5
5
  import { shellFunctionInstalled, removeShellFunction, installShellFunction, SHELL_FUNCTION_LINE } from './chunk-CJJDJ7AT.js';
6
6
  import './chunk-MBZTX4V2.js';
7
7
  import './chunk-KT4CN6OU.js';
8
8
  import './chunk-XTKH5VAC.js';
9
- import './chunk-DBRB26R7.js';
9
+ import './chunk-4OKXGZM3.js';
10
10
  import './chunk-SJ4DX2AD.js';
11
11
  import { runConnect, hasUncommittedPolicy, commitLineFor } from './chunk-3YLHIXLR.js';
12
12
  import './chunk-HSUUTD4E.js';
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { RunnerStartError, leaseTimeLeftFor, listJobFiles, logUnusableHelper, probeBuild, probeCredentials, requestStop, runnerProcessState, runtimeOf, start, tick, watchTick } from './chunk-DBENBGVF.js';
4
- import './chunk-ISKWFUEQ.js';
3
+ export { RunnerStartError, leaseTimeLeftFor, listJobFiles, logUnusableHelper, probeBuild, probeCredentials, requestStop, runnerProcessState, runtimeOf, start, tick, watchTick } from './chunk-TR5T5Z2L.js';
4
+ import './chunk-B7NT4YZ3.js';
5
5
  import './chunk-3JVYMD4G.js';
6
6
  import './chunk-E7R2GIAW.js';
7
- import './chunk-TPKYTORP.js';
7
+ import './chunk-PP3CGEQZ.js';
8
8
  import './chunk-QWJBTFAF.js';
9
9
  import './chunk-ZVB57WI6.js';
10
10
  import './chunk-44CGGHJF.js';
@@ -15,16 +15,16 @@ import './chunk-DBELICD6.js';
15
15
  import './chunk-PS3AHE6C.js';
16
16
  import './chunk-ESVW4MJY.js';
17
17
  import './chunk-TN2XMMD7.js';
18
- import './chunk-JGOMMFNX.js';
18
+ import './chunk-ERXY3FXG.js';
19
19
  import './chunk-YYYRBYWG.js';
20
20
  import './chunk-LJIFCG4G.js';
21
21
  import './chunk-TBT347UY.js';
22
- import './chunk-B6OYEP3K.js';
23
- import './chunk-XRRSFHKV.js';
24
- import './chunk-QQJGL7LG.js';
22
+ import './chunk-IUV6MUQB.js';
23
+ import './chunk-3XUZPSBV.js';
24
+ import './chunk-5VWKCY2E.js';
25
25
  import './chunk-MBVSVQVH.js';
26
26
  import './chunk-TKJISBV6.js';
27
- import './chunk-3IDNLZPR.js';
27
+ import './chunk-4SE6GXQA.js';
28
28
  import './chunk-D3LS7E7U.js';
29
29
  import './chunk-TQMI335S.js';
30
30
  import './chunk-5HZDPOJI.js';
@@ -38,7 +38,7 @@ import './chunk-OGFGZQA3.js';
38
38
  import './chunk-7YSR636F.js';
39
39
  import './chunk-YJLHUKYS.js';
40
40
  import './chunk-SJZL5F3F.js';
41
- import './chunk-DBRB26R7.js';
41
+ import './chunk-4OKXGZM3.js';
42
42
  import './chunk-SJ4DX2AD.js';
43
43
  import './chunk-3YLHIXLR.js';
44
44
  import './chunk-HSUUTD4E.js';
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { describeMachineDocker, detectMachine, microVmArchSupported, microVmAssetsPinned, reachDockerStep, supportsContainerBuilds, supportsMicroVmBuilds } from './chunk-XRRSFHKV.js';
4
- import './chunk-QQJGL7LG.js';
3
+ export { describeMachineDocker, detectMachine, microVmArchSupported, microVmAssetsPinned, reachDockerStep, supportsContainerBuilds, supportsMicroVmBuilds } from './chunk-3XUZPSBV.js';
4
+ import './chunk-5VWKCY2E.js';
5
5
  import './chunk-MBVSVQVH.js';
6
6
  import './chunk-TKJISBV6.js';
7
- import './chunk-3IDNLZPR.js';
7
+ import './chunk-4SE6GXQA.js';
8
8
  import './chunk-D3LS7E7U.js';
9
9
  import './chunk-TQMI335S.js';
10
10
  import './chunk-UXYLWVTQ.js';
@@ -15,7 +15,7 @@ import './chunk-OGFGZQA3.js';
15
15
  import './chunk-7YSR636F.js';
16
16
  import './chunk-YJLHUKYS.js';
17
17
  import './chunk-SJZL5F3F.js';
18
- import './chunk-DBRB26R7.js';
18
+ import './chunk-4OKXGZM3.js';
19
19
  import './chunk-SJ4DX2AD.js';
20
20
  import './chunk-3YLHIXLR.js';
21
21
  import './chunk-HSUUTD4E.js';
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { readConfigObject, RunnerInitError } from './chunk-B6OYEP3K.js';
4
- import './chunk-XRRSFHKV.js';
5
- import './chunk-QQJGL7LG.js';
3
+ import { readConfigObject, RunnerInitError } from './chunk-IUV6MUQB.js';
4
+ import './chunk-3XUZPSBV.js';
5
+ import './chunk-5VWKCY2E.js';
6
6
  import './chunk-MBVSVQVH.js';
7
7
  import './chunk-TKJISBV6.js';
8
- import './chunk-3IDNLZPR.js';
8
+ import './chunk-4SE6GXQA.js';
9
9
  import './chunk-D3LS7E7U.js';
10
10
  import './chunk-TQMI335S.js';
11
11
  import './chunk-5HZDPOJI.js';
@@ -19,7 +19,7 @@ import './chunk-OGFGZQA3.js';
19
19
  import './chunk-7YSR636F.js';
20
20
  import './chunk-YJLHUKYS.js';
21
21
  import './chunk-SJZL5F3F.js';
22
- import { getJson } from './chunk-DBRB26R7.js';
22
+ import { getJson } from './chunk-4OKXGZM3.js';
23
23
  import './chunk-SJ4DX2AD.js';
24
24
  import { fetchFactories, slug, dashboardBase, listText } from './chunk-3YLHIXLR.js';
25
25
  import './chunk-HSUUTD4E.js';
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { getJson, postJson, patchJson, WorkCommandError, resolveCredentials } from './chunk-DBRB26R7.js';
3
+ import { getJson, postJson, patchJson, WorkCommandError, resolveCredentials } from './chunk-4OKXGZM3.js';
4
4
  import { autoConnect } from './chunk-SJ4DX2AD.js';
5
5
  import './chunk-3YLHIXLR.js';
6
6
  import './chunk-HSUUTD4E.js';
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { isReadable, ALREADY_RELEASED, RENEW_INTERVAL_SECONDS } from './chunk-ISKWFUEQ.js';
3
+ import { isReadable, ALREADY_RELEASED, RENEW_INTERVAL_SECONDS } from './chunk-B7NT4YZ3.js';
4
4
  import { jobStateFormatOf } from './chunk-ZVB57WI6.js';
5
5
  import './chunk-6CNNRO53.js';
6
6
  import './chunk-I3LTIAOR.js';
@@ -11,10 +11,10 @@ import './chunk-ESVW4MJY.js';
11
11
  import './chunk-TN2XMMD7.js';
12
12
  import { formatBytes } from './chunk-YYYRBYWG.js';
13
13
  import './chunk-TBT347UY.js';
14
- import { LEASE_SECONDS } from './chunk-QQJGL7LG.js';
14
+ import { LEASE_SECONDS } from './chunk-5VWKCY2E.js';
15
15
  import './chunk-MBVSVQVH.js';
16
16
  import './chunk-TKJISBV6.js';
17
- import { formatDuration, formatClock, relativeToRunner } from './chunk-3IDNLZPR.js';
17
+ import { formatDuration, formatClock, relativeToRunner } from './chunk-4SE6GXQA.js';
18
18
  import { pullInstruction } from './chunk-D3LS7E7U.js';
19
19
  import './chunk-TQMI335S.js';
20
20
  import './chunk-2ZMJFGOZ.js';
@@ -26,7 +26,7 @@ import './chunk-OGFGZQA3.js';
26
26
  import './chunk-7YSR636F.js';
27
27
  import './chunk-YJLHUKYS.js';
28
28
  import './chunk-SJZL5F3F.js';
29
- import './chunk-DBRB26R7.js';
29
+ import './chunk-4OKXGZM3.js';
30
30
  import './chunk-SJ4DX2AD.js';
31
31
  import './chunk-3YLHIXLR.js';
32
32
  import './chunk-HSUUTD4E.js';
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { RUNNER_PROTOCOL } from './chunk-TPKYTORP.js';
3
+ import { RUNNER_PROTOCOL } from './chunk-PP3CGEQZ.js';
4
4
  import { defaultRunnerConfigPath } from './chunk-2ZMJFGOZ.js';
5
5
  import './chunk-UXYLWVTQ.js';
6
6
  import './chunk-YJLHUKYS.js';
7
- import { resolveCredentials, WorkCommandError, parsePositiveInt, postJson, environmentFacts, findLiveItemForIssue } from './chunk-DBRB26R7.js';
8
- export { WorkCommandError } from './chunk-DBRB26R7.js';
7
+ import { resolveCredentials, WorkCommandError, parsePositiveInt, postJson, environmentFacts, findLiveItemForIssue } from './chunk-4OKXGZM3.js';
8
+ export { WorkCommandError } from './chunk-4OKXGZM3.js';
9
9
  import './chunk-SJ4DX2AD.js';
10
10
  import './chunk-3YLHIXLR.js';
11
11
  import './chunk-HSUUTD4E.js';
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { WorkCommandError, environmentFacts, findLiveItemForIssue, getJson, parsePositiveInt, patchJson, postJson, resolveCredentials, runWorkBuild, runWorkLinkSession, runWorkList, runWorkRemove, runWorkStatus } from './chunk-DBRB26R7.js';
3
+ export { WorkCommandError, environmentFacts, findLiveItemForIssue, getJson, parsePositiveInt, patchJson, postJson, resolveCredentials, runWorkBuild, runWorkLinkSession, runWorkList, runWorkRemove, runWorkStatus } from './chunk-4OKXGZM3.js';
4
4
  import './chunk-SJ4DX2AD.js';
5
5
  import './chunk-3YLHIXLR.js';
6
6
  import './chunk-HSUUTD4E.js';
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { resolveCredentials, postJson, getJson } from './chunk-DBRB26R7.js';
3
+ import { resolveCredentials, postJson, getJson } from './chunk-4OKXGZM3.js';
4
4
  import { detectActiveSession } from './chunk-SJ4DX2AD.js';
5
5
  import './chunk-3YLHIXLR.js';
6
6
  import { sanitizeTerminal } from './chunk-HSUUTD4E.js';
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { resolveCredentials, getJson } from './chunk-DBRB26R7.js';
3
+ import { resolveCredentials, getJson } from './chunk-4OKXGZM3.js';
4
4
  import './chunk-SJ4DX2AD.js';
5
5
  import './chunk-3YLHIXLR.js';
6
6
  import './chunk-HSUUTD4E.js';
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
3
  import { itemLabel, runWorkPr, WorkPrCommandError } from './chunk-TGUWHA27.js';
4
- import { resolveCredentials } from './chunk-DBRB26R7.js';
4
+ import { resolveCredentials } from './chunk-4OKXGZM3.js';
5
5
  import './chunk-SJ4DX2AD.js';
6
6
  import './chunk-3YLHIXLR.js';
7
7
  import './chunk-HSUUTD4E.js';
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { resolveCredentials, postJson, WorkCommandError } from './chunk-DBRB26R7.js';
3
+ import { resolveCredentials, postJson, WorkCommandError } from './chunk-4OKXGZM3.js';
4
4
  import './chunk-SJ4DX2AD.js';
5
5
  import './chunk-3YLHIXLR.js';
6
6
  import './chunk-HSUUTD4E.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@outerlayer/cli",
3
- "version": "0.30.1",
3
+ "version": "0.30.2-next.20261020101955",
4
4
  "description": "OuterLayer CLI — commands: init, claude, connect, doctor, login, logout, sync, daemon (alias: watch), emit, findings, work, spec, runner, hooks, mcp, context. Capture and sync coding-agent sessions, and record proof of factory work.",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Magu Studios, Inc.",