@outerlayer/cli 0.28.4 → 0.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +24 -0
- package/README.md +9 -1
- package/dist/{agent-setup-IDF3EXM4.js → agent-setup-ZNYAXAWI.js} +14 -14
- package/dist/{artifact-link-cmd-LEI6EOZE.js → artifact-link-cmd-VY6OM7S5.js} +2 -2
- package/dist/{bridge-JN3VJ23L.js → bridge-FI7OF2H3.js} +2 -2
- package/dist/{build-JCYOHPLL.js → build-PXRDWSN4.js} +4 -4
- package/dist/build-info.json +1 -1
- package/dist/{builder-HCTVP2O7.js → builder-UNVHUZL7.js} +6 -6
- package/dist/{check-WJ4X2Q44.js → check-BKONE55O.js} +42 -41
- package/dist/{chunk-YYGXCRIW.js → chunk-2ZMJFGOZ.js} +1 -1
- package/dist/{chunk-JYVBEWBC.js → chunk-3F7RC3UA.js} +3 -3
- package/dist/{chunk-JZJLKTZT.js → chunk-3IDNLZPR.js} +5 -5
- package/dist/{chunk-QFNFBQCG.js → chunk-3YLHIXLR.js} +7 -7
- package/dist/{chunk-QBF462QH.js → chunk-44CGGHJF.js} +1 -1
- package/dist/{chunk-AV5MJY45.js → chunk-5HZDPOJI.js} +3 -3
- package/dist/{chunk-OO6OADZN.js → chunk-6CNNRO53.js} +3 -3
- package/dist/{chunk-MFI55TNI.js → chunk-7YSR636F.js} +22 -6
- package/dist/{chunk-JGML2VUN.js → chunk-AKKVPUGK.js} +1 -1
- package/dist/{chunk-KJIUFOC4.js → chunk-AM3GMWQK.js} +1 -1
- package/dist/{emit-finding-cmd-W2FU4CCF.js → chunk-B5CQJBZ2.js} +5 -23
- package/dist/{chunk-KBB3CQTW.js → chunk-B6OYEP3K.js} +5 -5
- package/dist/{chunk-ITAIEJ2T.js → chunk-BCWVTWS7.js} +4 -4
- package/dist/{chunk-O47BTZSN.js → chunk-D3LS7E7U.js} +1 -1
- package/dist/{chunk-2BZTGJII.js → chunk-DBELICD6.js} +7 -7
- package/dist/{chunk-NVUO52YW.js → chunk-DBENBGVF.js} +55 -47
- package/dist/{chunk-X7SFJZIG.js → chunk-DBRB26R7.js} +29 -10
- package/dist/{chunk-TG7FAHRP.js → chunk-DLY22KHX.js} +5 -5
- package/dist/{chunk-UHU7H57K.js → chunk-FTGJ3DPV.js} +202 -35
- package/dist/{chunk-HOU33DW5.js → chunk-G2RRBBOX.js} +1 -1
- package/dist/{chunk-VWFOKRYS.js → chunk-HJUGOAM7.js} +1 -1
- package/dist/{chunk-BUP5N3X6.js → chunk-HSUUTD4E.js} +1 -1
- package/dist/chunk-I3LTIAOR.js +11 -0
- package/dist/{chunk-UXLLWIA2.js → chunk-I3WLYIIW.js} +7 -7
- package/dist/{chunk-R7TMTFJP.js → chunk-IRF2FKB5.js} +1 -1
- package/dist/{chunk-M6NNXKRM.js → chunk-IRTZYDZO.js} +1 -1
- package/dist/{chunk-6P2Z5AUY.js → chunk-ISKWFUEQ.js} +360 -74
- package/dist/{chunk-QZBXLLTV.js → chunk-IWFYKNAO.js} +88 -2
- package/dist/{chunk-ERVZGWUR.js → chunk-JGOMMFNX.js} +7 -7
- package/dist/{chunk-6NFXOQKZ.js → chunk-LJIFCG4G.js} +1 -1
- package/dist/{chunk-WL3QF3QF.js → chunk-MBVSVQVH.js} +18 -16
- package/dist/{chunk-TOHKSZKI.js → chunk-MBZTX4V2.js} +7 -7
- package/dist/{chunk-VM6BX2WJ.js → chunk-PS3AHE6C.js} +5 -5
- package/dist/{chunk-5B7BEQPR.js → chunk-QDDPVBIS.js} +2 -2
- package/dist/{chunk-5Q4NDYQP.js → chunk-QQJGL7LG.js} +25 -24
- package/dist/{chunk-HWOU2HDH.js → chunk-QWJBTFAF.js} +1 -1
- package/dist/{chunk-OOUHNKKX.js → chunk-RJDJFRRY.js} +2 -2
- package/dist/{chunk-NMIYK2G2.js → chunk-SJ4DX2AD.js} +3 -3
- package/dist/{chunk-DWVAG73B.js → chunk-SOWXLIDN.js} +1 -1
- package/dist/{chunk-NKD5BNRX.js → chunk-TGUWHA27.js} +3 -3
- package/dist/{chunk-DIQN5SEL.js → chunk-TKJISBV6.js} +1 -1
- package/dist/{chunk-FTNCNEWE.js → chunk-TKX23NFV.js} +12 -12
- package/dist/{chunk-RXFKXZJS.js → chunk-TN2XMMD7.js} +1 -1
- package/dist/{chunk-TCBVV2JK.js → chunk-U5DC57AF.js} +3 -3
- package/dist/{chunk-DQYMQ47E.js → chunk-UAFMC3PL.js} +1 -1
- package/dist/{chunk-P2RWZCV7.js → chunk-V6IYYQU3.js} +2 -2
- package/dist/{chunk-DSKOHPXN.js → chunk-VL3CF4DZ.js} +1 -1
- package/dist/{chunk-N5EEEKT6.js → chunk-WHCDULC4.js} +7 -3
- package/dist/{chunk-QKXF7CLR.js → chunk-XB7TRWI2.js} +4 -4
- package/dist/{chunk-W3K6GBXY.js → chunk-XRRSFHKV.js} +2 -2
- package/dist/{chunk-SATUCMAJ.js → chunk-XTKH5VAC.js} +2 -2
- package/dist/{chunk-EZ3DZXUH.js → chunk-YVY3IVYV.js} +3 -3
- package/dist/{chunk-YTR435DO.js → chunk-ZNMVBHGJ.js} +3 -3
- package/dist/{chunk-RKOTJQVG.js → chunk-ZUOPFE22.js} +10 -4
- package/dist/{claude-launcher-LVYZ4YJI.js → claude-launcher-ZDZQXW76.js} +5 -5
- package/dist/{cli-X3JGBH2D.js → cli-6NI7WJFP.js} +189 -121
- package/dist/{command-NLWZT7KR.js → command-EFYTEHPF.js} +30 -30
- package/dist/{config-TNV5HHLO.js → config-VM6GKCCE.js} +2 -2
- package/dist/{connect-cmd-43IWARIV.js → connect-cmd-U2DY4OZU.js} +12 -12
- package/dist/{container-start-3MXIUNE2.js → container-start-C3CGPEXA.js} +32 -31
- package/dist/{context-cleanup-LTH77FC3.js → context-cleanup-D5EGQHQV.js} +3 -3
- package/dist/{control-plane-launch-TIK265OT.js → control-plane-launch-2AC4BTWL.js} +10 -10
- package/dist/{dist-JFVKLUHL.js → dist-IDP7Q53A.js} +2 -2
- package/dist/{docker-2IIRBQAB.js → docker-K442NGCS.js} +6 -6
- package/dist/{doctor-PKMAUDTU.js → doctor-RGTHY56D.js} +32 -32
- package/dist/{emit-artifact-cmd-RM2X3PBJ.js → emit-artifact-cmd-IK7GAS7V.js} +16 -16
- package/dist/{emit-cmd-QUABLVO6.js → emit-cmd-PSD7AAKJ.js} +6 -6
- package/dist/{emit-criteria-cmd-ZUI7DFND.js → emit-criteria-cmd-TGBRMX3P.js} +13 -13
- package/dist/emit-finding-cmd-KXCNLJLK.js +34 -0
- package/dist/{emit-result-cmd-JINMQ7QG.js → emit-result-cmd-WJBLCVDL.js} +52 -25
- package/dist/{emit-step-cmd-7FZWQTV3.js → emit-step-cmd-OYX5X65A.js} +14 -14
- package/dist/{exec-client-6ZJJ4KVH.js → exec-client-RMGGSTGR.js} +3 -3
- package/dist/findings-cmd-HFDOB6AC.js +135 -0
- package/dist/{fleet-readiness-3A67MUAU.js → fleet-readiness-5S2GCWZE.js} +12 -12
- package/dist/{governing-source-KQMKM5CI.js → governing-source-LVTBDQIM.js} +17 -17
- package/dist/{guest-init-A4HHI2UR.js → guest-init-O7INUZWE.js} +4 -4
- package/dist/{hook-fast-UJPAWDAO.js → hook-fast-A2N3PSXI.js} +1 -1
- package/dist/{host-key-NGRCMJZ7.js → host-key-HJ66C6MD.js} +3 -3
- package/dist/{image-tag-TEOKZVD5.js → image-tag-LLXOFXKP.js} +3 -3
- package/dist/index.js +4 -4
- package/dist/{init-Q6JV7IGF.js → init-NO5PJEPZ.js} +29 -29
- package/dist/{init-HENNITCI.js → init-VY6J7MAY.js} +29 -29
- package/dist/{init-cmd-GJR37XGU.js → init-cmd-FW67JGI7.js} +22 -22
- package/dist/{init-update-MZ4IRFC7.js → init-update-RN2PZ3MT.js} +21 -21
- package/dist/{install-NPTR35MG.js → install-GZ27NW6U.js} +4 -4
- package/dist/{install-cmd-4PXPAFQX.js → install-cmd-26OY23ZZ.js} +5 -5
- package/dist/{layout-BBTQPS6V.js → layout-3ISIED6A.js} +4 -4
- package/dist/{login-browser-WSOSQH2T.js → login-browser-NTVVDJF7.js} +2 -2
- package/dist/{logs-Z4L4I3OR.js → logs-7O3ELY35.js} +2 -2
- package/dist/loop-SY636F7D.js +81 -0
- package/dist/{machine-HZGUBOUH.js → machine-IJ2QP3FO.js} +25 -25
- package/dist/{machine-skills-O7W6NMWB.js → machine-skills-I4DB2CP3.js} +4 -4
- package/dist/{mcp-serve-cmd-NQM2WDYI.js → mcp-serve-cmd-AT7G6J5V.js} +4 -4
- package/dist/{paths-2VSGK6E2.js → paths-32THAYBB.js} +2 -2
- package/dist/{pending-SFZ2AYSK.js → pending-6CMYQHFL.js} +3 -3
- package/dist/{pidfile-3FT5OLUE.js → pidfile-3BH6WPOA.js} +3 -3
- package/dist/{record-7SSRLSI2.js → record-WHPJCC6Y.js} +3 -3
- package/dist/{runner-env-2Z2DVSUJ.js → runner-env-6Q45P3IE.js} +5 -5
- package/dist/{runner-identity-B37HHOZR.js → runner-identity-KH7HADNF.js} +6 -6
- package/dist/{runner-key-UP5YBUHR.js → runner-key-L6B5CNDG.js} +29 -29
- package/dist/{session-sender-7MSVJZ6Q.js → session-sender-N4DOGRTN.js} +17 -17
- package/dist/{spec-cmd-KAQ7MX4O.js → spec-cmd-7KOT4IQO.js} +14 -14
- package/dist/{starter-pack-5SOT5V4I.js → starter-pack-2WFNRGFA.js} +5 -5
- package/dist/{status-2ICTDC2R.js → status-LOQ2RHWX.js} +33 -32
- package/dist/{sync-cmd-7K3WVQKO.js → sync-cmd-E5VRZ5DK.js} +16 -16
- package/dist/{watch-NCYESLO2.js → watch-P6XAYDM2.js} +16 -16
- package/dist/{work-claim-cmd-IOUEHYIY.js → work-claim-cmd-7YQ5CJ3R.js} +17 -17
- package/dist/{work-cmd-FOI74X5B.js → work-cmd-RRHDQDOX.js} +14 -14
- package/dist/{work-comment-cmd-3C44H4CG.js → work-comment-cmd-XYAPMQYC.js} +14 -14
- package/dist/{work-logs-cmd-YGAWCX3X.js → work-logs-cmd-TTLUEWVX.js} +14 -14
- package/dist/{work-open-pr-cmd-HUG5HAVC.js → work-open-pr-cmd-A63YGIBW.js} +15 -15
- package/dist/{work-pr-cmd-L2EDOYXH.js → work-pr-cmd-HOS5ZHJI.js} +14 -14
- package/dist/{work-stop-cmd-GGDVKC67.js → work-stop-cmd-7KIKIZPO.js} +14 -14
- package/package.json +3 -3
- package/skill-pack/maintained/outerlayer-amend/SKILL.md +40 -39
- package/skill-pack/maintained/outerlayer-build/SKILL.md +9 -10
- package/skill-pack/maintained/outerlayer-build/references/criteria-judge.md +15 -12
- package/skill-pack/maintained/outerlayer-build/references/release.md +11 -6
- package/skill-pack/maintained/outerlayer-findings/SKILL.md +14 -10
- package/skill-pack/shipped.json +2 -0
- package/skill-pack/template/build/SKILL.md +3 -1
- package/skill-pack/validators/acceptance-criteria.yaml +7 -2
- package/dist/loop-DO46LFUH.js +0 -80
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { uploadSpooledSteps } from './chunk-
|
|
3
|
+
import { uploadSpooledSteps } from './chunk-PS3AHE6C.js';
|
|
4
4
|
import { LaunchFilter } from './chunk-ESVW4MJY.js';
|
|
5
5
|
import { RepoFilter } from './chunk-TBT347UY.js';
|
|
6
|
-
import { migrateLegacyArtifactSidecars, planArtifactUpload, artifactsStatePath, sanitizeTerminal, acquireArtifactSpoolLock, artifactBlobsDir, resolveArtifactTurnIndex, isArtifactTombstoned, ARTIFACT_RETRY_MAX_AGE_MS, writeArtifactSpoolState, reclaimUnneededArtifactBlobs, neededArtifactShas } from './chunk-
|
|
7
|
-
import { setCustomScrubbers, setLocalIdentity, tailTranscript, enrichSessionRepo, scanAll, setRepoRoot, resolveRepoIdentity, sessionIdFromPath, scrubDeep, SOURCE_ADAPTERS } from './chunk-
|
|
6
|
+
import { migrateLegacyArtifactSidecars, planArtifactUpload, artifactsStatePath, sanitizeTerminal, acquireArtifactSpoolLock, artifactBlobsDir, resolveArtifactTurnIndex, isArtifactTombstoned, ARTIFACT_RETRY_MAX_AGE_MS, writeArtifactSpoolState, reclaimUnneededArtifactBlobs, neededArtifactShas } from './chunk-HSUUTD4E.js';
|
|
7
|
+
import { setCustomScrubbers, setLocalIdentity, tailTranscript, enrichSessionRepo, scanAll, setRepoRoot, resolveRepoIdentity, sessionIdFromPath, scrubDeep, SOURCE_ADAPTERS } from './chunk-FTGJ3DPV.js';
|
|
8
8
|
import { C } from './chunk-ANPNT6PM.js';
|
|
9
|
-
import { cliFetch, resolveGatewayCredentials, defaultFetch, unauthorizedMessage } from './chunk-
|
|
9
|
+
import { cliFetch, resolveGatewayCredentials, defaultFetch, unauthorizedMessage } from './chunk-AM3GMWQK.js';
|
|
10
10
|
import { readCloudConfig, cloudConfigPath, writeCloudConfig } from './chunk-PJDQPF5N.js';
|
|
11
|
-
import { signerFor, signRunnerRequest } from './chunk-
|
|
12
|
-
import { writeSyncStatus, spoolDir } from './chunk-
|
|
11
|
+
import { signerFor, signRunnerRequest } from './chunk-IRF2FKB5.js';
|
|
12
|
+
import { writeSyncStatus, spoolDir } from './chunk-RJDJFRRY.js';
|
|
13
13
|
import { readLatestProvenanceForSession, readContextProvenance } from './chunk-ZJSNLVCE.js';
|
|
14
14
|
import { hookExecSpoolPath } from './chunk-2O5KA67H.js';
|
|
15
15
|
import { applyReportedCost } from './chunk-BKO6JEZI.js';
|
|
@@ -17,7 +17,7 @@ import { readRepoConnection, findGitDirs } from './chunk-BJ3KTMDH.js';
|
|
|
17
17
|
import { readLaunchSpoolState, launchStatusIsDecisive, launchedItemsBySession, launchesPath } from './chunk-T2Q7ISPE.js';
|
|
18
18
|
import { cliInvocation } from './chunk-CRB3POP4.js';
|
|
19
19
|
import { removeJournalHooks } from './chunk-TUSYOL2O.js';
|
|
20
|
-
import { CAPTURE_TIERS, inferArtifactKind, bannedPathsForTier, downconvertSession, isHumanUserTurn, turnCountBound, EVENT_TYPES } from './chunk-
|
|
20
|
+
import { CAPTURE_TIERS, inferArtifactKind, bannedPathsForTier, downconvertSession, isHumanUserTurn, turnCountBound, EVENT_TYPES } from './chunk-IWFYKNAO.js';
|
|
21
21
|
import { homeFromEnv } from './chunk-VNVZDWO3.js';
|
|
22
22
|
import { dirname, basename, join, sep } from 'path';
|
|
23
23
|
import { statSync, readFileSync, readdirSync, mkdirSync, writeFileSync, renameSync, existsSync, rmSync } from 'fs';
|
|
@@ -1,30 +1,30 @@
|
|
|
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-ISKWFUEQ.js';
|
|
4
4
|
import { decideInstalledSwitch } from './chunk-3JVYMD4G.js';
|
|
5
5
|
import { fetchVersionMeta, npmVersion, npmSupportsProvenance, fetchTarballDigest, fetchProvenance, installVersion, auditSignatures } from './chunk-E7R2GIAW.js';
|
|
6
6
|
import { RUNNER_PROTOCOL } from './chunk-TPKYTORP.js';
|
|
7
|
-
import { writePendingUpdate } from './chunk-
|
|
7
|
+
import { writePendingUpdate } from './chunk-QWJBTFAF.js';
|
|
8
8
|
import { JOB_STATE_FORMAT, readsJobState, jobStateFormatOf } from './chunk-ZVB57WI6.js';
|
|
9
|
-
import { readHousekeepingRecord, writeHousekeepingRecord } from './chunk-
|
|
10
|
-
import { currentSkillCommand, formerSkillProblem, placeholderQueues, placeholderProblem } from './chunk-
|
|
9
|
+
import { readHousekeepingRecord, writeHousekeepingRecord } from './chunk-44CGGHJF.js';
|
|
10
|
+
import { currentSkillCommand, formerSkillProblem, placeholderQueues, placeholderProblem } from './chunk-JGOMMFNX.js';
|
|
11
11
|
import { freeBytes, formatBytes } from './chunk-YYYRBYWG.js';
|
|
12
|
-
import { writeMarker, readMarker, currentVersion, removeMarker, entryIn, versionDir, startedThroughCurrent, switchCurrent, isInLayout, cleanVersions, stagingDir } from './chunk-
|
|
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-
|
|
16
|
-
import { tagToPull, pullInstruction, imageTag, writeUpdateStatus } 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-QQJGL7LG.js';
|
|
15
|
+
import { describeCallFailure, retrySend, shortClaim, relativeToRunner, formatDuration, BuildTokens, classifyRefusal, refusalCode, createRunnerLog, formatClock } from './chunk-3IDNLZPR.js';
|
|
16
|
+
import { tagToPull, pullInstruction, imageTag, writeUpdateStatus } from './chunk-D3LS7E7U.js';
|
|
17
17
|
import { isVersion, compareVersions, satisfiesRange } from './chunk-TQMI335S.js';
|
|
18
|
-
import { checkFit } from './chunk-
|
|
19
|
-
import { isBuiltinContainer, isBuiltinVm, isBuiltinProcess, loadRunnerConfig, checkHooks, builtinKind, DEFAULT_UPDATE_MAX_WAIT_HOURS } from './chunk-
|
|
20
|
-
import { claimPidFile, writePidFile, readPidFile, releasePidFile } from './chunk-
|
|
18
|
+
import { checkFit } from './chunk-3F7RC3UA.js';
|
|
19
|
+
import { isBuiltinContainer, isBuiltinVm, isBuiltinProcess, loadRunnerConfig, checkHooks, builtinKind, DEFAULT_UPDATE_MAX_WAIT_HOURS } from './chunk-2ZMJFGOZ.js';
|
|
20
|
+
import { claimPidFile, writePidFile, readPidFile, releasePidFile } from './chunk-IRTZYDZO.js';
|
|
21
21
|
import { startTimeOf, isSameProcess } from './chunk-JBJTC3UU.js';
|
|
22
|
-
import { writeJobFile, ensureRunnerIdentity, readJobFile, builderName, runnerLabelValue, ensureFailureCount, builderSpec, ensureBuilder, spawnRun, BUILD_LABEL, RUNNER_LABEL, readJobFileChecked } from './chunk-
|
|
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-
|
|
25
|
-
import { loadHostKey, ensureHostKey, signerFor } from './chunk-
|
|
26
|
-
import { RUNNER_DIR_MODE, runnerDir, buildDir, attemptStamp, jobDir, RUNNER_FILE_MODE, jobsDir, pidFilePath, spoolDir, rootfsDir } from './chunk-
|
|
27
|
-
import { parseClaimIdentity, parseClaimedRepositories, parseUnreachable, repositoriesOf, primaryOf, sharedUserEnvironment, JOB_MOUNT, takeClaudeCredential, heldClaudeCredential, claudeCredential, currentClaudeCredential } from './chunk-
|
|
24
|
+
import { isSignatureRefusal, WorkCommandError, getJson, postJson } from './chunk-DBRB26R7.js';
|
|
25
|
+
import { loadHostKey, ensureHostKey, signerFor } from './chunk-IRF2FKB5.js';
|
|
26
|
+
import { RUNNER_DIR_MODE, runnerDir, buildDir, attemptStamp, jobDir, RUNNER_FILE_MODE, jobsDir, pidFilePath, spoolDir, rootfsDir } from './chunk-SOWXLIDN.js';
|
|
27
|
+
import { parseClaimIdentity, parseClaimedRepositories, parseUnreachable, repositoriesOf, primaryOf, sharedUserEnvironment, JOB_MOUNT, takeClaudeCredential, heldClaudeCredential, claudeCredential, currentClaudeCredential } from './chunk-WHCDULC4.js';
|
|
28
28
|
import { resolveVersion } from './chunk-RA3O54FC.js';
|
|
29
29
|
import { fdName } from './chunk-XD4ZCMA4.js';
|
|
30
30
|
import { COMMAND_LOST_REASON, CONTAINER_STOPPED_REASON } from './chunk-MESOOLF4.js';
|
|
@@ -1140,17 +1140,21 @@ function deriveRepo(item) {
|
|
|
1140
1140
|
const repoPart = hash === -1 ? item.trackerKey : item.trackerKey.slice(0, hash);
|
|
1141
1141
|
return repoPart === "" ? void 0 : `${host}/${repoPart}`;
|
|
1142
1142
|
}
|
|
1143
|
-
async function listStartable(config, queue, fetchImpl) {
|
|
1143
|
+
async function listStartable(config, queue, fetchImpl, cursor = null) {
|
|
1144
1144
|
const query = queue === "amend" ? "needs=amend&startable=true" : "startable=true";
|
|
1145
1145
|
const page = await getJson(
|
|
1146
1146
|
config.url,
|
|
1147
|
-
`/v1/work-items?${query}`,
|
|
1147
|
+
`/v1/work-items?${query}${cursor === null ? "" : `&cursor=${encodeURIComponent(cursor)}`}`,
|
|
1148
1148
|
config.apiKey,
|
|
1149
1149
|
config.appId,
|
|
1150
1150
|
fetchImpl,
|
|
1151
1151
|
await signerFor(config.configPath)
|
|
1152
1152
|
);
|
|
1153
|
-
|
|
1153
|
+
const next = page.pagination?.cursor;
|
|
1154
|
+
return {
|
|
1155
|
+
items: Array.isArray(page.data) ? page.data : [],
|
|
1156
|
+
cursor: typeof next === "string" && next !== "" && next !== cursor ? next : null
|
|
1157
|
+
};
|
|
1154
1158
|
}
|
|
1155
1159
|
function reloadConfig(state) {
|
|
1156
1160
|
let mtimeMs;
|
|
@@ -1735,35 +1739,39 @@ async function runTick(state) {
|
|
|
1735
1739
|
let claimed = false;
|
|
1736
1740
|
for (const queue of QUEUE_ORDER) {
|
|
1737
1741
|
if (!state.config.queues.includes(queue)) continue;
|
|
1738
|
-
let
|
|
1739
|
-
|
|
1740
|
-
|
|
1741
|
-
|
|
1742
|
-
|
|
1743
|
-
|
|
1744
|
-
|
|
1745
|
-
|
|
1746
|
-
|
|
1747
|
-
|
|
1748
|
-
for (const item of items) {
|
|
1749
|
-
if (item.startable === false) continue;
|
|
1750
|
-
if (!repoFilter.allows(deriveRepo(item))) {
|
|
1751
|
-
filtered++;
|
|
1752
|
-
continue;
|
|
1753
|
-
}
|
|
1754
|
-
const attempt = await tryClaimAndStart(state, item, queue);
|
|
1755
|
-
if (attempt.kind === "started") {
|
|
1756
|
-
claimed = true;
|
|
1757
|
-
break;
|
|
1758
|
-
}
|
|
1759
|
-
if (attempt.kind === "outdated" || attempt.kind === "signature" || attempt.kind === "no_item_key" || attempt.kind === "no_branch" || attempt.kind === "unreadable_repositories") {
|
|
1742
|
+
let cursor = null;
|
|
1743
|
+
do {
|
|
1744
|
+
let page;
|
|
1745
|
+
try {
|
|
1746
|
+
page = await listStartable(state.config, queue, state.deps.fetchImpl, cursor);
|
|
1747
|
+
reportRepeating(state, "the work item list", void 0);
|
|
1748
|
+
state.lastWorkRequest = { ok: true };
|
|
1749
|
+
} catch (err) {
|
|
1750
|
+
state.lastWorkRequest = workRequestFromFailure(err);
|
|
1751
|
+
reportRepeating(state, "the work item list", `list failed: ${describeCallFailure(err)} \xB7 retrying next tick`);
|
|
1760
1752
|
return;
|
|
1761
1753
|
}
|
|
1762
|
-
|
|
1763
|
-
|
|
1764
|
-
|
|
1754
|
+
cursor = page.cursor;
|
|
1755
|
+
for (const item of page.items) {
|
|
1756
|
+
if (item.startable === false) continue;
|
|
1757
|
+
if (!repoFilter.allows(deriveRepo(item))) {
|
|
1758
|
+
filtered++;
|
|
1759
|
+
continue;
|
|
1760
|
+
}
|
|
1761
|
+
const attempt = await tryClaimAndStart(state, item, queue);
|
|
1762
|
+
if (attempt.kind === "started") {
|
|
1763
|
+
claimed = true;
|
|
1764
|
+
break;
|
|
1765
|
+
}
|
|
1766
|
+
if (attempt.kind === "outdated" || attempt.kind === "signature" || attempt.kind === "no_item_key" || attempt.kind === "no_branch" || attempt.kind === "unreadable_repositories") {
|
|
1767
|
+
return;
|
|
1768
|
+
}
|
|
1769
|
+
if (attempt.kind === "error") {
|
|
1770
|
+
log.error(`claim for #${item.number} failed: ${attempt.reason} \xB7 retrying next tick`);
|
|
1771
|
+
return;
|
|
1772
|
+
}
|
|
1765
1773
|
}
|
|
1766
|
-
}
|
|
1774
|
+
} while (!claimed && cursor !== null);
|
|
1767
1775
|
if (claimed) break;
|
|
1768
1776
|
}
|
|
1769
1777
|
if (!claimed) break;
|
|
@@ -1779,7 +1787,7 @@ var CLAIM_REFUSAL_CODES = new Set(
|
|
|
1779
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(" ")
|
|
1780
1788
|
);
|
|
1781
1789
|
async function tryClaimAndStart(state, item, queue) {
|
|
1782
|
-
const { postJson: postJson2 } = await import('./work-cmd-
|
|
1790
|
+
const { postJson: postJson2 } = await import('./work-cmd-RRHDQDOX.js');
|
|
1783
1791
|
const log = logOf(state);
|
|
1784
1792
|
const hostKey = await loadHostKey(state.config.configPath);
|
|
1785
1793
|
const claim = await retrySend(
|
|
@@ -2955,7 +2963,7 @@ async function start(configPath, deps = { fetchImpl: fetch }) {
|
|
|
2955
2963
|
check: update.check ? () => update.check(configPath) : async () => {
|
|
2956
2964
|
const held = heldClaudeCredential();
|
|
2957
2965
|
const env = held === void 0 ? process.env : { ...process.env, [held.variable]: held.value };
|
|
2958
|
-
return (await import('./check-
|
|
2966
|
+
return (await import('./check-BKONE55O.js')).runRunnerCheck(configPath, { fetchImpl: deps.fetchImpl, env });
|
|
2959
2967
|
},
|
|
2960
2968
|
now: () => (deps.now ?? (() => /* @__PURE__ */ new Date()))().getTime(),
|
|
2961
2969
|
log
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { detectActiveSession, autoConnect } from './chunk-
|
|
4
|
-
import { workPageUrl } from './chunk-
|
|
5
|
-
import { sanitizeTerminal } from './chunk-
|
|
6
|
-
import { resolveRepoIdentity } from './chunk-
|
|
3
|
+
import { detectActiveSession, autoConnect } from './chunk-SJ4DX2AD.js';
|
|
4
|
+
import { workPageUrl } from './chunk-3YLHIXLR.js';
|
|
5
|
+
import { sanitizeTerminal } from './chunk-HSUUTD4E.js';
|
|
6
|
+
import { resolveRepoIdentity } from './chunk-FTGJ3DPV.js';
|
|
7
7
|
import { C } from './chunk-ANPNT6PM.js';
|
|
8
|
-
import { resolveGatewayCredentials, unauthorizedMessage, defaultFetch } from './chunk-
|
|
9
|
-
import { signRunnerRequest } from './chunk-
|
|
8
|
+
import { resolveGatewayCredentials, unauthorizedMessage, defaultFetch } from './chunk-AM3GMWQK.js';
|
|
9
|
+
import { signRunnerRequest } from './chunk-IRF2FKB5.js';
|
|
10
10
|
import { readRepoConnection } from './chunk-BJ3KTMDH.js';
|
|
11
11
|
import { parseTrackerNumber, trackerNumberError } from './chunk-WZBHBH3J.js';
|
|
12
12
|
import { homeFromEnv } from './chunk-VNVZDWO3.js';
|
|
@@ -428,7 +428,7 @@ async function runWorkLinkSession(opts) {
|
|
|
428
428
|
return await linkSession(opts);
|
|
429
429
|
} catch (err) {
|
|
430
430
|
if (opts.logFailures) {
|
|
431
|
-
const { logHookError } = await import('./hook-fast-
|
|
431
|
+
const { logHookError } = await import('./hook-fast-A2N3PSXI.js');
|
|
432
432
|
const reason = err instanceof Error ? err.message : String(err);
|
|
433
433
|
logHookError(opts.home ?? homeFromEnv(opts.env ?? process.env), new Error(`work link-session #${opts.number} failed: ${reason}`));
|
|
434
434
|
}
|
|
@@ -534,14 +534,33 @@ function repositoryDisconnectedLine(data) {
|
|
|
534
534
|
|
|
535
535
|
`;
|
|
536
536
|
}
|
|
537
|
+
function failingChecksSection(data) {
|
|
538
|
+
const checks = data.checks;
|
|
539
|
+
if (!Array.isArray(checks)) return "";
|
|
540
|
+
const failing = checks.filter((check) => check.result === "fail");
|
|
541
|
+
if (failing.length === 0) return "";
|
|
542
|
+
const lines = failing.flatMap((check) => {
|
|
543
|
+
const body = typeof check.body === "string" && check.body !== "" ? `: ${sanitizeTerminal(check.body)}` : "";
|
|
544
|
+
const items = Array.isArray(check.items) ? check.items : [];
|
|
545
|
+
return [
|
|
546
|
+
` ${sanitizeTerminal(String(check.name))}${body}`,
|
|
547
|
+
...items.filter((item) => item.result === "fail").map((item) => ` ${sanitizeTerminal(String(item.id))}${typeof item.reason === "string" ? ` ${C.dim}${sanitizeTerminal(item.reason)}${C.reset}` : ""}`)
|
|
548
|
+
];
|
|
549
|
+
});
|
|
550
|
+
return `
|
|
551
|
+
|
|
552
|
+
Failing checks
|
|
553
|
+
${lines.join("\n")}`;
|
|
554
|
+
}
|
|
537
555
|
function statusOutput(data, json) {
|
|
538
556
|
if (json) return JSON.stringify(data);
|
|
539
557
|
const document = mergedUnverifiedLine(data) + repositoryDisconnectedLine(data) + JSON.stringify(data, null, 2);
|
|
558
|
+
const checks = failingChecksSection(data);
|
|
540
559
|
const criteria = data.criteria;
|
|
541
|
-
if (criteria === void 0) return document
|
|
560
|
+
if (criteria === void 0) return `${document}${checks}`;
|
|
542
561
|
if (criteria === null || !Array.isArray(criteria.items)) return `${document}
|
|
543
562
|
|
|
544
|
-
Criteria: none recorded`;
|
|
563
|
+
Criteria: none recorded${checks}`;
|
|
545
564
|
const mark = criteria.drafted === true ? ` ${C.dim}(drafted by the build)${C.reset}` : "";
|
|
546
565
|
const lines = criteria.items.map((item) => {
|
|
547
566
|
const proof = typeof item.proof === "string" ? ` ${C.dim}[proof: ${sanitizeTerminal(item.proof)}]${C.reset}` : "";
|
|
@@ -550,7 +569,7 @@ Criteria: none recorded`;
|
|
|
550
569
|
return `${document}
|
|
551
570
|
|
|
552
571
|
Criteria${mark}
|
|
553
|
-
${lines.join("\n")}`;
|
|
572
|
+
${lines.join("\n")}${checks}`;
|
|
554
573
|
}
|
|
555
574
|
async function runWorkStatus(opts) {
|
|
556
575
|
const cwd = opts.cwd ?? process.cwd();
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { removeRetiredSkills } from './chunk-
|
|
4
|
-
import { defaultFetch, resolveGatewayCredentials } from './chunk-
|
|
5
|
-
import { withTokenHeader } from './chunk-
|
|
3
|
+
import { removeRetiredSkills } from './chunk-V6IYYQU3.js';
|
|
4
|
+
import { defaultFetch, resolveGatewayCredentials } from './chunk-AM3GMWQK.js';
|
|
5
|
+
import { withTokenHeader } from './chunk-WHCDULC4.js';
|
|
6
6
|
import { appendContextProvenance } from './chunk-ZJSNLVCE.js';
|
|
7
|
-
import { loadMaintainedFiles, writeMaintainedFiles } from './chunk-
|
|
7
|
+
import { loadMaintainedFiles, writeMaintainedFiles } from './chunk-AKKVPUGK.js';
|
|
8
8
|
import { cliInvocation } from './chunk-CRB3POP4.js';
|
|
9
9
|
import { writeDegraded, writeSourceCache, SOURCE_CACHE_TTL_RETRY_MS, writeContextManifest, SOURCE_CACHE_TTL_SUCCESS_MS, readSourceCache, isSourceCacheFresh, clearDegraded } from './chunk-YQR6E6OV.js';
|
|
10
|
-
import { normalizeRepoName, parseOuterlayerConfig, classifyTree, emitTree } from './chunk-
|
|
10
|
+
import { normalizeRepoName, parseOuterlayerConfig, classifyTree, emitTree } from './chunk-ZUOPFE22.js';
|
|
11
11
|
import { homeFromEnv } from './chunk-VNVZDWO3.js';
|
|
12
12
|
import { execFileSync } from 'child_process';
|
|
13
13
|
import { existsSync, mkdirSync, writeFileSync, chmodSync, lstatSync, readFileSync, copyFileSync } from 'fs';
|