@outerlayer/cli 0.30.0 → 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.
- package/CHANGELOG.md +6 -0
- package/dist/build-info.json +1 -1
- package/dist/{check-BKONE55O.js → check-Y6D7C66D.js} +9 -9
- package/dist/{chunk-XRRSFHKV.js → chunk-3XUZPSBV.js} +1 -1
- package/dist/{chunk-DBRB26R7.js → chunk-4OKXGZM3.js} +14 -1
- package/dist/{chunk-3IDNLZPR.js → chunk-4SE6GXQA.js} +1 -1
- package/dist/{chunk-QQJGL7LG.js → chunk-5VWKCY2E.js} +2 -2
- package/dist/{chunk-ISKWFUEQ.js → chunk-B7NT4YZ3.js} +3 -3
- package/dist/{chunk-JGOMMFNX.js → chunk-ERXY3FXG.js} +3 -3
- package/dist/{chunk-TKX23NFV.js → chunk-HMAYAMOQ.js} +2 -2
- package/dist/{chunk-B6OYEP3K.js → chunk-IUV6MUQB.js} +2 -2
- package/dist/{chunk-TPKYTORP.js → chunk-PP3CGEQZ.js} +1 -1
- package/dist/{chunk-DBENBGVF.js → chunk-TR5T5Z2L.js} +14 -9
- package/dist/{cli-6NI7WJFP.js → cli-HRXHEXFE.js} +40 -40
- package/dist/{command-EFYTEHPF.js → command-2MHSC5AE.js} +4 -4
- package/dist/{container-start-C3CGPEXA.js → container-start-XMY3VOZB.js} +5 -5
- package/dist/{doctor-RGTHY56D.js → doctor-5K4UTAT3.js} +6 -6
- package/dist/{governing-source-LVTBDQIM.js → governing-source-WM3WQ6J2.js} +2 -2
- package/dist/index.js +1 -1
- package/dist/{init-NO5PJEPZ.js → init-IADOHXZR.js} +5 -5
- package/dist/{init-VY6J7MAY.js → init-WEFM7P2Y.js} +5 -5
- package/dist/{init-cmd-FW67JGI7.js → init-cmd-6UPRZDCC.js} +2 -2
- package/dist/{loop-SY636F7D.js → loop-RL5F3GPY.js} +9 -9
- package/dist/{machine-IJ2QP3FO.js → machine-NESBHOCL.js} +4 -4
- package/dist/{runner-key-L6B5CNDG.js → runner-key-C4ZWPXYD.js} +5 -5
- package/dist/{spec-cmd-7KOT4IQO.js → spec-cmd-2ISEEZVA.js} +1 -1
- package/dist/{status-LOQ2RHWX.js → status-GDI44URF.js} +4 -4
- package/dist/{work-claim-cmd-7YQ5CJ3R.js → work-claim-cmd-HNNEYMXW.js} +3 -3
- package/dist/{work-cmd-RRHDQDOX.js → work-cmd-LXDWHKMQ.js} +1 -1
- package/dist/{work-comment-cmd-XYAPMQYC.js → work-comment-cmd-2HSY4JA7.js} +1 -1
- package/dist/{work-logs-cmd-TTLUEWVX.js → work-logs-cmd-2MQR4JHN.js} +1 -1
- package/dist/{work-open-pr-cmd-A63YGIBW.js → work-open-pr-cmd-QUJVL4TF.js} +1 -1
- package/dist/{work-stop-cmd-7KIKIZPO.js → work-stop-cmd-4J2NJ7KL.js} +1 -1
- package/package.json +1 -1
- package/skill-pack/shipped.json +1 -0
- package/skill-pack/template/spec/SKILL.md +6 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# @outerlayer/cli
|
|
2
2
|
|
|
3
|
+
## 0.30.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 9de15e4: `outerlayer spec` can file in GitHub beside a Linear or Jira connection when the factory links a repository. With more than one tracker, pass `--tracker`. The `/spec` skill asks you which one to use.
|
|
8
|
+
|
|
3
9
|
## 0.30.0
|
|
4
10
|
|
|
5
11
|
### Minor Changes
|
package/dist/build-info.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"id":"2026-10-
|
|
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-
|
|
4
|
-
import './chunk-
|
|
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-
|
|
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-
|
|
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-
|
|
23
|
-
import './chunk-
|
|
24
|
-
import './chunk-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
4
|
-
import { describeCallFailure } from './chunk-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
4
|
-
import { MIN_ENGINE_MAJOR } from './chunk-
|
|
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';
|
|
@@ -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-
|
|
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-
|
|
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-
|
|
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-
|
|
15
|
-
import { describeCallFailure, retrySend, shortClaim, relativeToRunner, formatDuration, BuildTokens, classifyRefusal, refusalCode, createRunnerLog, formatClock } from './chunk-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
4568
|
+
const { WorkCommandError } = await import('./work-cmd-LXDWHKMQ.js');
|
|
4569
4569
|
try {
|
|
4570
|
-
await action(await import('./spec-cmd-
|
|
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-
|
|
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-
|
|
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-
|
|
4722
|
-
const { WorkCommandError } = await import('./work-cmd-
|
|
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-
|
|
4744
|
-
const { WorkCommandError } = await import('./work-cmd-
|
|
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-
|
|
4769
|
-
const { WorkCommandError } = await import('./work-cmd-
|
|
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-
|
|
4793
|
-
const { WorkCommandError } = await import('./work-cmd-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
4964
|
-
const { WorkCommandError } = await import('./work-cmd-
|
|
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-
|
|
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-
|
|
5001
|
-
const { start, RunnerStartError } = await import('./loop-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
5140
|
-
const { obtainRunnerKey, runnerKeyLogin } = await import('./runner-key-
|
|
5141
|
-
const { detectMachine } = await import('./machine-
|
|
5142
|
-
const { chooseVm, runVmInit, VmInitError } = await import('./init-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
5430
|
-
const { renderStatus } = await import('./status-
|
|
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-
|
|
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-
|
|
7
|
-
import { helperSocketPath, ensureFirecrackerAndJailer } from './chunk-
|
|
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-
|
|
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-
|
|
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-
|
|
4
|
-
import { detectMachine, supportsContainerBuilds, describeMachineDocker } from './chunk-
|
|
5
|
-
import { MIN_ENGINE_MAJOR } from './chunk-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
9
|
-
import { detectMachine, supportsContainerBuilds, describeMachineDocker, reachDockerStep, supportsMicroVmBuilds, microVmArchSupported, microVmAssetsPinned } from './chunk-
|
|
10
|
-
import { MIN_ENGINE_MAJOR, helperFirecrackerNote, probeHelper, helperSocketPath } from './chunk-
|
|
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-
|
|
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-
|
|
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-
|
|
4
|
-
import './chunk-
|
|
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-
|
|
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-
|
|
4
|
-
import './chunk-
|
|
5
|
-
import './chunk-
|
|
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-
|
|
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-
|
|
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-
|
|
5
|
-
import './chunk-
|
|
6
|
-
import './chunk-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
4
|
-
import './chunk-
|
|
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-
|
|
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-
|
|
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-
|
|
23
|
-
import './chunk-
|
|
24
|
-
import './chunk-
|
|
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-
|
|
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-
|
|
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-
|
|
4
|
-
import './chunk-
|
|
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-
|
|
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-
|
|
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-
|
|
4
|
-
import './chunk-
|
|
5
|
-
import './chunk-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
8
|
-
export { WorkCommandError } from './chunk-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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.
|
|
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.",
|
package/skill-pack/shipped.json
CHANGED
|
@@ -78,6 +78,7 @@
|
|
|
78
78
|
],
|
|
79
79
|
".outerlayer/skills/spec/SKILL.md": [
|
|
80
80
|
"1dcc8d22e037b6cd93a5e3f0cb3f3bf97cf634313e2668c08bfded376cd5d01b",
|
|
81
|
+
"290edbe7d4107ec84eb77bff1f57759adff48d330bb2fd382509fce01e9a7713",
|
|
81
82
|
"5848f2424fbd071d6097a736408b6d7c462a5c1b7c141b5e81ed3e5a60b717be",
|
|
82
83
|
"71e81fabf353ad6117c54e061868538bf00066b78c2528f5a8364445d1def02e",
|
|
83
84
|
"7676c9a19f8ea8741ffbe8f09e4600764cb3f98c2c6bce15ee5a90b4c5f1d41e",
|
|
@@ -74,10 +74,12 @@ Run them in order. Do not skip the approval.
|
|
|
74
74
|
rejects leaves no issue behind.
|
|
75
75
|
7. **File it.** Run `outerlayer spec target` first. It prints the tracker, its
|
|
76
76
|
sources, the repositories and whether the factory can file there. If it
|
|
77
|
-
prints `
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
77
|
+
prints `tracker: none chosen` and lists more than one tracker, ask the user
|
|
78
|
+
which one, then run `outerlayer spec target --tracker <name>`. If it
|
|
79
|
+
prints `can file: no` for a chosen tracker, tell the user what is missing,
|
|
80
|
+
show the approved spec so it is not lost, and stop. For GitHub the usual
|
|
81
|
+
cause is that an organization admin has not approved the OuterLayer App's
|
|
82
|
+
Issues write permission yet.
|
|
81
83
|
|
|
82
84
|
Otherwise save the approved body, with the full criteria, to a file and run
|
|
83
85
|
`outerlayer spec file --title "<title>" --body-file <path>`. Add
|