@outerlayer/cli 0.33.0-next.20261021171625 → 0.33.0-next.20261021223634
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/README.md +6 -2
- package/dist/{agent-setup-NSUX64RU.js → agent-setup-UY5NBT7C.js} +13 -13
- package/dist/{artifact-link-cmd-IGVFGHC2.js → artifact-link-cmd-2MBHG3PO.js} +2 -2
- package/dist/{build-HU24C46Z.js → build-SK5BYBER.js} +4 -4
- package/dist/build-info.json +1 -1
- package/dist/{builder-QECLC243.js → builder-K2XIVSSZ.js} +6 -6
- package/dist/{check-4BL6XRWJ.js → check-AXDPZJU4.js} +39 -39
- package/dist/chunk-2PGI6RDE.js +90 -0
- package/dist/{chunk-ZZSQYOY5.js → chunk-3VGDZ23W.js} +1 -1
- package/dist/{chunk-ZAJKEHIE.js → chunk-4IG6EZHU.js} +2 -2
- package/dist/{chunk-NJS7JJYN.js → chunk-52C3SSNF.js} +2 -2
- package/dist/{chunk-IWYS4ERC.js → chunk-533QGXGZ.js} +1 -1
- package/dist/{chunk-LESWVXRE.js → chunk-5RUH3PCG.js} +5 -5
- package/dist/{chunk-X2Y3B4JH.js → chunk-6TFTRVOA.js} +3 -3
- package/dist/{chunk-YGXKXL4Q.js → chunk-72YES3RL.js} +61 -93
- package/dist/{chunk-ZBN4JGTJ.js → chunk-A3H27SYX.js} +1 -1
- package/dist/{chunk-3WW2TL7V.js → chunk-AKHGQKNR.js} +64 -4
- package/dist/{chunk-XT5SOJRC.js → chunk-AKR32WHV.js} +1 -1
- package/dist/{chunk-P7BEZAEU.js → chunk-ALSE7YKX.js} +11 -3
- package/dist/{chunk-5T2VOSIL.js → chunk-CHXYLCMA.js} +4 -4
- package/dist/{chunk-GXKWPOK6.js → chunk-CMU6QJHE.js} +3 -3
- package/dist/{chunk-TZQIEUDE.js → chunk-CNRMP6EN.js} +1 -1
- package/dist/{chunk-UJIG5BU7.js → chunk-CV2S5L4J.js} +42 -18
- package/dist/{chunk-OF4TFWKR.js → chunk-DE7YSNDX.js} +3 -3
- package/dist/{chunk-3H7NZPYG.js → chunk-DM4EGXDO.js} +1 -1
- package/dist/{chunk-H6Y5D6J7.js → chunk-EG7KPSSP.js} +7 -7
- package/dist/{chunk-KP6R7CV3.js → chunk-ESP5VZBD.js} +4 -1
- package/dist/{chunk-RQGHHEM7.js → chunk-HBBCQ5NE.js} +2 -2
- package/dist/{chunk-NHXJU7CM.js → chunk-HT7LVCTX.js} +2 -2
- package/dist/{chunk-T5TBGOT6.js → chunk-IPJ6HR7E.js} +1 -1
- package/dist/{chunk-APSYTJ6I.js → chunk-JT3YO5MH.js} +1 -1
- package/dist/{chunk-QNVIGO5X.js → chunk-KDM77TVX.js} +5 -5
- package/dist/{chunk-YW4PEGLN.js → chunk-KUTZ6XLS.js} +1 -1
- package/dist/{chunk-RHBFNZ7J.js → chunk-LBPK2TPR.js} +24 -8
- package/dist/{chunk-X7UUIHGH.js → chunk-LH3KULPL.js} +1 -1
- package/dist/{chunk-LK2S5XZH.js → chunk-LHYO4RDP.js} +9 -1
- package/dist/{chunk-WXEPMPHK.js → chunk-LN4WDONI.js} +1 -1
- package/dist/{chunk-FE3RTGJN.js → chunk-M5OBRUQE.js} +2 -2
- package/dist/{chunk-WHSYPR3U.js → chunk-M5ZXOQYS.js} +1 -1
- package/dist/{chunk-OX7CHZTJ.js → chunk-N3KK5BKF.js} +7 -7
- package/dist/{chunk-4LU7MFJO.js → chunk-NOXK3QW6.js} +4 -4
- package/dist/{chunk-2FPEB36J.js → chunk-O6NG67Y7.js} +5 -5
- package/dist/{chunk-JUXATN46.js → chunk-OGCG5LOX.js} +1 -1
- package/dist/{chunk-XRQ7DABQ.js → chunk-Q2D4M3GC.js} +1 -1
- package/dist/{chunk-3RS3RNGH.js → chunk-Q4YVHYHT.js} +3 -3
- package/dist/{chunk-INCKTGMM.js → chunk-RQKQTRXM.js} +5 -5
- package/dist/{chunk-D73OLAYE.js → chunk-RVWADVBN.js} +4 -4
- package/dist/{chunk-6C3ZVE62.js → chunk-RW52CUFX.js} +1 -1
- package/dist/{chunk-XFS2TMOB.js → chunk-SFJD4MRY.js} +7 -7
- package/dist/{chunk-77F7NGAZ.js → chunk-TA6TFYAN.js} +3 -3
- package/dist/{chunk-GI6LOIHS.js → chunk-TNJXCNQ6.js} +4 -4
- package/dist/{chunk-BSHUTMXV.js → chunk-TPGHCH2H.js} +45 -19
- package/dist/{chunk-X7ML37UF.js → chunk-UIBTEDLA.js} +7 -7
- package/dist/{chunk-QCDVKCHA.js → chunk-UWEJ6HGB.js} +2 -2
- package/dist/{chunk-F3EF56LQ.js → chunk-VQ2JGZSC.js} +1 -1
- package/dist/{chunk-MV52FCSG.js → chunk-X5LFLYSD.js} +1258 -591
- package/dist/{chunk-KURUM765.js → chunk-Y3LIJIRH.js} +4 -4
- package/dist/{chunk-LRBOBYQI.js → chunk-YH2632RT.js} +6 -6
- package/dist/{chunk-JJ4W5LVF.js → chunk-ZRTMS4C7.js} +13 -13
- package/dist/{claude-launcher-RNMUZZ3Y.js → claude-launcher-STSKZNW3.js} +5 -5
- package/dist/{cli-PNQX4HRX.js → cli-LYJEJTQG.js} +124 -119
- package/dist/{command-LA7T5YFX.js → command-2JEY6X6U.js} +29 -28
- package/dist/{config-3JRFDYZL.js → config-CUJ3Q4L2.js} +1 -1
- package/dist/{connect-cmd-2AXEPDT2.js → connect-cmd-WFHAPGCZ.js} +11 -11
- package/dist/{container-start-4LIRN2LX.js → container-start-TTEHOSJK.js} +29 -28
- package/dist/{context-cleanup-VSDT77BZ.js → context-cleanup-UBOJHGQM.js} +3 -3
- package/dist/{control-plane-launch-DHMD5WBU.js → control-plane-launch-R4X63DYW.js} +9 -9
- package/dist/{dist-DY2ZNEBS.js → dist-ADFLG3AY.js} +2 -2
- package/dist/{docker-EOP32YLH.js → docker-UYS5N5B7.js} +6 -6
- package/dist/{doctor-FDXHHPDJ.js → doctor-3XPT5F2Y.js} +38 -35
- package/dist/{emit-artifact-cmd-JY5V6WQI.js → emit-artifact-cmd-FR5PUUJR.js} +16 -16
- package/dist/{emit-cmd-T7NIBSF3.js → emit-cmd-JOO6ZTEI.js} +6 -6
- package/dist/{emit-criteria-cmd-XRFBNFN7.js → emit-criteria-cmd-DKPZJTIN.js} +12 -12
- package/dist/emit-demo-cmd-IVLL6OWZ.js +3027 -0
- package/dist/{emit-finding-cmd-5RHKQHE6.js → emit-finding-cmd-VM4KIVEM.js} +13 -13
- package/dist/{emit-result-cmd-65KJQ2UM.js → emit-result-cmd-SEKL6HUU.js} +15 -15
- package/dist/{emit-step-cmd-YZIN6B6P.js → emit-step-cmd-4YAWK4VE.js} +13 -13
- package/dist/{findings-cmd-Z6CKWAG4.js → findings-cmd-RXYIWXY4.js} +13 -13
- package/dist/{fleet-readiness-7ROJ54ZF.js → fleet-readiness-VIX76RNL.js} +11 -11
- package/dist/{governing-source-NMGGSA6Q.js → governing-source-APGCKDTS.js} +16 -16
- package/dist/{hook-fast-WQQYEXO5.js → hook-fast-NVBMSE3N.js} +1 -1
- package/dist/{host-key-KAYMYRO3.js → host-key-UEWE4PXB.js} +2 -2
- package/dist/{image-tag-NM2YT2J2.js → image-tag-V2LXTKK7.js} +2 -2
- package/dist/index.js +4 -4
- package/dist/{init-UBDZRWNE.js → init-BR4Z4T2Q.js} +28 -27
- package/dist/{init-OV6IOD2G.js → init-XWQJEW6H.js} +28 -27
- package/dist/{init-cmd-YP4TVN2S.js → init-cmd-IEMYX6KA.js} +21 -21
- package/dist/{init-update-24K7ZZWX.js → init-update-HOTJISWA.js} +20 -20
- package/dist/{install-OIRIEOS7.js → install-3DBYJITP.js} +3 -3
- package/dist/{install-cmd-IYWVR6WX.js → install-cmd-EELSKBSZ.js} +4 -4
- package/dist/{layout-OQ7EJUMH.js → layout-ZI4RJ6MT.js} +4 -4
- package/dist/{login-browser-KP7YVYTN.js → login-browser-WUSIVD5E.js} +2 -2
- package/dist/{logs-C3RJ3ZTC.js → logs-ET75ZUCN.js} +1 -1
- package/dist/{loop-4FEA6E2S.js → loop-3NRAMJA4.js} +39 -39
- package/dist/{machine-3BMBF33L.js → machine-LUXL7SFT.js} +24 -23
- package/dist/{machine-skills-XWWYFNOZ.js → machine-skills-REHDWINX.js} +4 -4
- package/dist/{mcp-serve-cmd-PB4UOTGL.js → mcp-serve-cmd-WYUP263T.js} +3 -3
- package/dist/paths-BN7X2YPM.js +9 -0
- package/dist/{pending-RKVRYOTF.js → pending-ROAIK5WO.js} +2 -2
- package/dist/{pidfile-BMFAUQAI.js → pidfile-52TGLGQH.js} +2 -2
- package/dist/{record-26AH6WDB.js → record-BSY4BKJ5.js} +2 -2
- package/dist/{runner-env-66RAFIDJ.js → runner-env-H6XLACTG.js} +4 -4
- package/dist/{runner-identity-HTQNM5AG.js → runner-identity-DR5I3NBT.js} +6 -6
- package/dist/{runner-key-7I5FDQKR.js → runner-key-OLMCAOTD.js} +28 -27
- package/dist/{session-sender-MKDKMZJD.js → session-sender-PLQ5NOEW.js} +16 -16
- package/dist/{spec-cmd-V7W3UV6X.js → spec-cmd-NIAQWMLE.js} +13 -13
- package/dist/{starter-pack-6O7F6P7C.js → starter-pack-OESK7UX2.js} +5 -5
- package/dist/{status-TJDVDR4H.js → status-4HNX45UZ.js} +29 -29
- package/dist/{sync-cmd-AI4KTJ56.js → sync-cmd-UTESQMDU.js} +15 -15
- package/dist/{watch-C7IS6VNS.js → watch-4UC4FGI5.js} +15 -15
- package/dist/{work-claim-cmd-GFXIZWMU.js → work-claim-cmd-ODYRE44S.js} +16 -16
- package/dist/{work-cmd-UTD4Y7W3.js → work-cmd-QQDUI3YX.js} +13 -13
- package/dist/{work-comment-cmd-J3SRBK6A.js → work-comment-cmd-FIOMDPIZ.js} +13 -13
- package/dist/{work-logs-cmd-SH7MQPA3.js → work-logs-cmd-DA6MPQ6O.js} +13 -13
- package/dist/{work-open-pr-cmd-FIX5QLK7.js → work-open-pr-cmd-QG2FT7OW.js} +14 -14
- package/dist/{work-pr-cmd-S4IBR7DE.js → work-pr-cmd-XNXWWLS5.js} +13 -13
- package/dist/{work-stop-cmd-NECXJEJN.js → work-stop-cmd-2KLZ2UH2.js} +13 -13
- package/package.json +3 -1
- package/dist/chunk-YYYRBYWG.js +0 -32
- package/dist/emit-demo-cmd-JOVCVXIS.js +0 -888
- package/dist/paths-OK2EZS7W.js +0 -9
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { currentLink } from './chunk-
|
|
3
|
+
import { currentLink } from './chunk-3VGDZ23W.js';
|
|
4
4
|
import { readFileSync, statSync, chmodSync, mkdirSync, writeFileSync, renameSync, rmSync, existsSync, lstatSync, accessSync, constants, realpathSync } from 'fs';
|
|
5
5
|
import { randomBytes } from 'crypto';
|
|
6
6
|
import { join, dirname, delimiter, resolve } from 'path';
|
|
@@ -22661,12 +22661,47 @@ var DemoChapterSchema = external_exports.strictObject(chapterFields).refine((cha
|
|
|
22661
22661
|
message: "a chapter must end after it starts",
|
|
22662
22662
|
path: ["end"]
|
|
22663
22663
|
});
|
|
22664
|
-
var
|
|
22665
|
-
|
|
22664
|
+
var DemoStillSchema = external_exports.strictObject({
|
|
22665
|
+
/** The index, in the chapter's checks, of the check the still follows. */
|
|
22666
|
+
check: external_exports.number().int().min(0),
|
|
22667
|
+
/** The PNG file, as a path relative to the manifest's folder. */
|
|
22668
|
+
file: external_exports.string().min(1).max(500),
|
|
22669
|
+
/** SHA-256 of the PNG file's bytes, in lower-case hex. */
|
|
22670
|
+
sha256: external_exports.string().regex(/^[0-9a-f]{64}$/)
|
|
22671
|
+
});
|
|
22672
|
+
var chapterWithStillsFields = {
|
|
22673
|
+
...chapterFields,
|
|
22674
|
+
stills: external_exports.array(DemoStillSchema).max(DEMO_CHECKS_MAX)
|
|
22675
|
+
};
|
|
22676
|
+
function stillsFollowPassedChecks(chapter, context) {
|
|
22677
|
+
let previous = -1;
|
|
22678
|
+
for (const [index, still] of chapter.stills.entries()) {
|
|
22679
|
+
const check2 = chapter.checks[still.check];
|
|
22680
|
+
if (check2 === void 0 || !check2.passed) {
|
|
22681
|
+
context.addIssue({ code: "custom", path: ["stills", index, "check"], message: "a still must follow a check that passed" });
|
|
22682
|
+
} else if (still.check <= previous) {
|
|
22683
|
+
context.addIssue({ code: "custom", path: ["stills", index, "check"], message: "stills must follow distinct checks, in order" });
|
|
22684
|
+
}
|
|
22685
|
+
previous = still.check;
|
|
22686
|
+
}
|
|
22687
|
+
}
|
|
22688
|
+
var endsAfterStart = (chapter) => chapter.end > chapter.start;
|
|
22689
|
+
var DemoChapterV2Schema = external_exports.strictObject(chapterWithStillsFields).refine(endsAfterStart, { message: "a chapter must end after it starts", path: ["end"] }).superRefine(stillsFollowPassedChecks);
|
|
22690
|
+
var manifestFields = {
|
|
22666
22691
|
/** The recorded video, as a path relative to the manifest's folder. */
|
|
22667
|
-
video: external_exports.string().min(1).max(500)
|
|
22692
|
+
video: external_exports.string().min(1).max(500)
|
|
22693
|
+
};
|
|
22694
|
+
var DemoManifestV1Schema = external_exports.strictObject({
|
|
22695
|
+
schemaVersion: external_exports.literal(1),
|
|
22696
|
+
...manifestFields,
|
|
22668
22697
|
chapters: external_exports.array(DemoChapterSchema).min(1).max(DEMO_CHAPTERS_MAX)
|
|
22669
22698
|
});
|
|
22699
|
+
var DemoManifestV2Schema = external_exports.strictObject({
|
|
22700
|
+
schemaVersion: external_exports.literal(2),
|
|
22701
|
+
...manifestFields,
|
|
22702
|
+
chapters: external_exports.array(DemoChapterV2Schema).min(1).max(DEMO_CHAPTERS_MAX)
|
|
22703
|
+
});
|
|
22704
|
+
var DemoManifestSchema = external_exports.discriminatedUnion("schemaVersion", [DemoManifestV1Schema, DemoManifestV2Schema]);
|
|
22670
22705
|
var DemoRecordChapterSchema = external_exports.strictObject({
|
|
22671
22706
|
...chapterFields,
|
|
22672
22707
|
/** The `clientArtifactId` of the chapter's clip. */
|
|
@@ -22674,10 +22709,35 @@ var DemoRecordChapterSchema = external_exports.strictObject({
|
|
|
22674
22709
|
/** True when the clip was bound to the chapter's criterion: every check passed. */
|
|
22675
22710
|
bound: external_exports.boolean()
|
|
22676
22711
|
});
|
|
22677
|
-
external_exports.
|
|
22712
|
+
var DemoComparableSchema = external_exports.enum(["yes", "no", "not checked"]);
|
|
22713
|
+
var DemoRegionSchema = external_exports.strictObject({
|
|
22714
|
+
x: external_exports.number().int().min(0),
|
|
22715
|
+
y: external_exports.number().int().min(0),
|
|
22716
|
+
width: external_exports.number().int().positive(),
|
|
22717
|
+
height: external_exports.number().int().positive()
|
|
22718
|
+
});
|
|
22719
|
+
var DemoRecordChapterV2Schema = external_exports.strictObject({
|
|
22720
|
+
...chapterFields,
|
|
22721
|
+
clipArtifactId: external_exports.string().min(1).max(64),
|
|
22722
|
+
bound: external_exports.boolean(),
|
|
22723
|
+
comparable: DemoComparableSchema,
|
|
22724
|
+
/** The first run's stills: the check each follows and the SHA-256 of its file. */
|
|
22725
|
+
stills: external_exports.array(DemoStillSchema.pick({ check: true, sha256: true })).max(DEMO_CHECKS_MAX),
|
|
22726
|
+
/** The first still that differs between the runs. Present exactly when `comparable` is `no`. */
|
|
22727
|
+
difference: external_exports.strictObject({ check: external_exports.number().int().min(0), region: DemoRegionSchema }).optional()
|
|
22728
|
+
}).refine((chapter) => chapter.end > chapter.start, { message: "a chapter must end after it starts", path: ["end"] }).refine((chapter) => chapter.comparable === "no" === (chapter.difference !== void 0), {
|
|
22729
|
+
message: "a chapter has a difference exactly when it is not comparable",
|
|
22730
|
+
path: ["difference"]
|
|
22731
|
+
});
|
|
22732
|
+
var DemoRecordV1Schema = external_exports.strictObject({
|
|
22678
22733
|
schemaVersion: external_exports.literal(1),
|
|
22679
22734
|
chapters: external_exports.array(DemoRecordChapterSchema).min(1).max(DEMO_CHAPTERS_MAX)
|
|
22680
22735
|
});
|
|
22736
|
+
var DemoRecordV2Schema = external_exports.strictObject({
|
|
22737
|
+
schemaVersion: external_exports.literal(2),
|
|
22738
|
+
chapters: external_exports.array(DemoRecordChapterV2Schema).min(1).max(DEMO_CHAPTERS_MAX)
|
|
22739
|
+
});
|
|
22740
|
+
external_exports.discriminatedUnion("schemaVersion", [DemoRecordV1Schema, DemoRecordV2Schema]);
|
|
22681
22741
|
/*! Bundled license information:
|
|
22682
22742
|
|
|
22683
22743
|
xmlchars/xml/1.0/ed5.js:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { EVENT_TYPES, isHumanUserTurn, INPUT_BAND_BOUNDARIES, parseAgentSession, SCHEMA_VERSION, SPEED_MAX_LENGTH, inputBandOf, BUCKET_MODEL_MAX_LENGTH } from './chunk-
|
|
3
|
+
import { EVENT_TYPES, isHumanUserTurn, INPUT_BAND_BOUNDARIES, parseAgentSession, SCHEMA_VERSION, SPEED_MAX_LENGTH, inputBandOf, BUCKET_MODEL_MAX_LENGTH } from './chunk-AKHGQKNR.js';
|
|
4
4
|
import { createHash } from 'crypto';
|
|
5
5
|
import { readFileSync, readdirSync, statSync, mkdirSync, copyFileSync, renameSync, unlinkSync, writeFileSync, stat as stat$1, unwatchFile, watchFile, watch as watch$1 } from 'fs';
|
|
6
6
|
import { type, homedir } from 'os';
|
|
@@ -35,7 +35,11 @@ var DEFAULT_CHECK_TIME_LIMIT_MINUTES = 10;
|
|
|
35
35
|
var CHECKS_KEYS = ["timeLimitMinutes"];
|
|
36
36
|
var MAX_CHECK_TIME_LIMIT_MINUTES = 240;
|
|
37
37
|
var DEFAULT_BUILD = { memory: "8g", cpus: 4, pids: 4096, disk: "40g", variables: [] };
|
|
38
|
-
|
|
38
|
+
function imageBuildOf(config) {
|
|
39
|
+
if (builtinKind(config.hooks.provision) !== "vm") return "host";
|
|
40
|
+
return config.build?.imageBuild ?? "vm";
|
|
41
|
+
}
|
|
42
|
+
var BUILD_KEYS = ["memory", "cpus", "pids", "disk", "variables", "destinations", "allowHosts", "imageBuild"];
|
|
39
43
|
var HOUSEKEEPING_KEYS = ["jobsKeepDays", "buildCacheMax", "minFreeDisk"];
|
|
40
44
|
var DEFAULT_JOBS_KEEP_DAYS = 30;
|
|
41
45
|
var DEFAULT_BUILD_CACHE_MAX = "20g";
|
|
@@ -396,6 +400,9 @@ function resolveBuild(configPath, block) {
|
|
|
396
400
|
if (!allowHosts.includes(host)) allowHosts.push(host);
|
|
397
401
|
}
|
|
398
402
|
}
|
|
403
|
+
if (given.imageBuild !== void 0 && given.imageBuild !== "vm" && given.imageBuild !== "host") {
|
|
404
|
+
fail(configPath, "runner.build.imageBuild", "must be vm or host");
|
|
405
|
+
}
|
|
399
406
|
return {
|
|
400
407
|
memory: given.memory ?? DEFAULT_BUILD.memory,
|
|
401
408
|
cpus: given.cpus ?? DEFAULT_BUILD.cpus,
|
|
@@ -403,8 +410,9 @@ function resolveBuild(configPath, block) {
|
|
|
403
410
|
disk: given.disk ?? DEFAULT_BUILD.disk,
|
|
404
411
|
variables,
|
|
405
412
|
...destinations.length === 0 ? {} : { destinations },
|
|
406
|
-
...allowHosts === void 0 ? {} : { allowHosts }
|
|
413
|
+
...allowHosts === void 0 ? {} : { allowHosts },
|
|
414
|
+
...given.imageBuild === void 0 ? {} : { imageBuild: given.imageBuild }
|
|
407
415
|
};
|
|
408
416
|
}
|
|
409
417
|
|
|
410
|
-
export { DEFAULT_CHECK_TIME_LIMIT_MINUTES, DEFAULT_UPDATE_MAX_WAIT_HOURS, RunnerConfigError, builtinKind, checkHooks, defaultRunnerConfigPath, hasRunnerBlock, isBuiltinContainer, isBuiltinProcess, isBuiltinVm, loadRunnerConfig, resolveBuild, resolveHousekeeping, runnerCredentialProblem, runnerVmOf };
|
|
418
|
+
export { DEFAULT_CHECK_TIME_LIMIT_MINUTES, DEFAULT_UPDATE_MAX_WAIT_HOURS, RunnerConfigError, builtinKind, checkHooks, defaultRunnerConfigPath, hasRunnerBlock, imageBuildOf, isBuiltinContainer, isBuiltinProcess, isBuiltinVm, loadRunnerConfig, resolveBuild, resolveHousekeeping, runnerCredentialProblem, runnerVmOf };
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
3
|
import { parseSize } from './chunk-YJLHUKYS.js';
|
|
4
4
|
import { RecipeError } from './chunk-3Z3MPR55.js';
|
|
5
|
-
import { BUILDKIT_IMAGE } from './chunk-
|
|
6
|
-
import { compareVersions } from './chunk-
|
|
7
|
-
import { ensureHostKey } from './chunk-
|
|
8
|
-
import { RUNNER_DIR_MODE, RUNNER_FILE_MODE, runnerDir, jobsDir } from './chunk-
|
|
5
|
+
import { BUILDKIT_IMAGE } from './chunk-LHYO4RDP.js';
|
|
6
|
+
import { compareVersions } from './chunk-AKR32WHV.js';
|
|
7
|
+
import { ensureHostKey } from './chunk-JT3YO5MH.js';
|
|
8
|
+
import { RUNNER_DIR_MODE, RUNNER_FILE_MODE, runnerDir, jobsDir } from './chunk-ESP5VZBD.js';
|
|
9
9
|
import { CLAUDE_PORT, JOB_MOUNT, GATEWAY_PORT, GATEWAY_SOCKET, CLAUDE_SOCKET, RELAY_PORT, DESTINATION_BASE_PORT } from './chunk-HDSDUTX4.js';
|
|
10
10
|
import { JOIN_DIR, RELAY_ID, JOIN_SOCKET, TARGET_GATEWAY, TARGET_CLAUDE, destinationTarget, RELAY_USER } from './chunk-MESOOLF4.js';
|
|
11
11
|
import { StringDecoder } from 'string_decoder';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { MIN_ENGINE_MAJOR } from './chunk-
|
|
4
|
-
import { runnerImageVersion } from './chunk-
|
|
5
|
-
import { firecrackerArch, MICROVM_ARCHES, guestAssetsPinned } from './chunk-
|
|
3
|
+
import { MIN_ENGINE_MAJOR } from './chunk-X5LFLYSD.js';
|
|
4
|
+
import { runnerImageVersion } from './chunk-533QGXGZ.js';
|
|
5
|
+
import { firecrackerArch, MICROVM_ARCHES, guestAssetsPinned } from './chunk-LHYO4RDP.js';
|
|
6
6
|
import { spawnSync } from 'child_process';
|
|
7
7
|
import { existsSync, accessSync, constants, statSync, readFileSync } from 'fs';
|
|
8
8
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-
|
|
3
|
+
import { RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-ESP5VZBD.js';
|
|
4
4
|
import { readFileSync, existsSync, rmSync, mkdirSync, writeFileSync, renameSync } from 'fs';
|
|
5
5
|
import { join } from 'path';
|
|
6
6
|
|
|
@@ -1,29 +1,28 @@
|
|
|
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, sampleGuest, foldSample, isContainerTracked, isMicroVmTracked, probeMicroVmCommand, probeCommand, appendCommandLog, judgeProbe, EXIT_CODE_FILE, isTracked, isGroupAlive, outcomeFromExitCode, isTimedOut, readCpuUsec, isIdle, stopOrphanedMicroVms, unfinishedJobs, listUnreadableJobs, listAdoptableJobs, retryFailedReleases, recoverLostJobs, GUEST_USAGE_INTERVAL_MS, hookLimitsFor, AttemptLogBook, microVmOomKills, needsRenew, renewLease, RENEW_INTERVAL_SECONDS, listTrackedJobs, restartSender, serveLease, vmAlive, writeGuestGhConfig, ALREADY_RELEASED, inTeardown } from './chunk-
|
|
4
|
-
import { readHousekeepingRecord, writeHousekeepingRecord } 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, sampleGuest, foldSample, isContainerTracked, isMicroVmTracked, probeMicroVmCommand, probeCommand, appendCommandLog, judgeProbe, EXIT_CODE_FILE, isTracked, isGroupAlive, outcomeFromExitCode, isTimedOut, readCpuUsec, isIdle, stopOrphanedMicroVms, unfinishedJobs, listUnreadableJobs, listAdoptableJobs, retryFailedReleases, recoverLostJobs, GUEST_USAGE_INTERVAL_MS, hookLimitsFor, AttemptLogBook, microVmOomKills, needsRenew, renewLease, RENEW_INTERVAL_SECONDS, listTrackedJobs, restartSender, serveLease, vmAlive, writeGuestGhConfig, ALREADY_RELEASED, inTeardown } from './chunk-72YES3RL.js';
|
|
4
|
+
import { readHousekeepingRecord, writeHousekeepingRecord } from './chunk-LH3KULPL.js';
|
|
5
5
|
import { decideInstalledSwitch } from './chunk-3JVYMD4G.js';
|
|
6
6
|
import { fetchVersionMeta, npmVersion, npmSupportsProvenance, fetchTarballDigest, fetchProvenance, installVersion, auditSignatures } from './chunk-E7R2GIAW.js';
|
|
7
|
-
import { fitImageBuildMemory } from './chunk-
|
|
7
|
+
import { fitImageBuildMemory } from './chunk-M5ZXOQYS.js';
|
|
8
8
|
import { RUNNER_PROTOCOL } from './chunk-YKYCE4HY.js';
|
|
9
|
-
import { writePendingUpdate } from './chunk-
|
|
9
|
+
import { writePendingUpdate } from './chunk-CNRMP6EN.js';
|
|
10
10
|
import { JOB_STATE_FORMAT, readsJobState, jobStateFormatOf } from './chunk-ZVB57WI6.js';
|
|
11
|
-
import { currentSkillCommand, formerSkillProblem, realBlockedProbes, checkBlocked } from './chunk-
|
|
12
|
-
import {
|
|
13
|
-
import { writeMarker, readMarker, currentVersion, removeMarker, entryIn, versionDir, startedThroughCurrent, switchCurrent, isInLayout, cleanVersions, stagingDir } from './chunk-ZZSQYOY5.js';
|
|
11
|
+
import { currentSkillCommand, formerSkillProblem, realBlockedProbes, checkBlocked } from './chunk-LBPK2TPR.js';
|
|
12
|
+
import { writeMarker, readMarker, currentVersion, removeMarker, entryIn, versionDir, startedThroughCurrent, switchCurrent, isInLayout, cleanVersions, stagingDir } from './chunk-3VGDZ23W.js';
|
|
14
13
|
import { RepoFilter } from './chunk-TBT347UY.js';
|
|
15
|
-
import { leaseTimeLeftMs, createContainerRuntime, withTunnelLog, LEASE_SECONDS, provisionContainer, leaseExpiresAtMs, deliverContainerHooks, lifecycleSteps, lifecycleFailureReason, prepareBranch, containerCommandExec, setUpRunnerCgroup, measureDisk, parseCpuList, ensureTunnel, keepGhConfigCurrent, filesAreCopied, gitRemoteFor, startServicesFor, createLeaseChannel } from './chunk-
|
|
16
|
-
import { describeCallFailure, retrySend, shortClaim, relativeToRunner, formatDuration, BuildTokens, classifyRefusal, refusalCode, createRunnerLog, formatClock } from './chunk-
|
|
17
|
-
import { tagToPull, pullInstruction, imageTag, writeUpdateStatus } from './chunk-
|
|
14
|
+
import { leaseTimeLeftMs, createContainerRuntime, withTunnelLog, LEASE_SECONDS, provisionContainer, leaseExpiresAtMs, deliverContainerHooks, lifecycleSteps, lifecycleFailureReason, prepareBranch, containerCommandExec, setUpRunnerCgroup, sweepImageBuilders, freeBytes, formatBytes, measureDisk, parseCpuList, ensureTunnel, keepGhConfigCurrent, filesAreCopied, gitRemoteFor, startServicesFor, createLeaseChannel } from './chunk-X5LFLYSD.js';
|
|
15
|
+
import { describeCallFailure, retrySend, shortClaim, relativeToRunner, formatDuration, BuildTokens, classifyRefusal, refusalCode, createRunnerLog, formatClock } from './chunk-KDM77TVX.js';
|
|
16
|
+
import { tagToPull, pullInstruction, imageTag, writeUpdateStatus } from './chunk-533QGXGZ.js';
|
|
18
17
|
import { isVersion, compareVersions, satisfiesRange } from './chunk-TQMI335S.js';
|
|
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 { isBuiltinContainer, isBuiltinVm, isBuiltinProcess, loadRunnerConfig, checkHooks, builtinKind, DEFAULT_UPDATE_MAX_WAIT_HOURS } from './chunk-ALSE7YKX.js';
|
|
19
|
+
import { claimPidFile, writePidFile, readPidFile, releasePidFile } from './chunk-IPJ6HR7E.js';
|
|
21
20
|
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-
|
|
21
|
+
import { writeJobFile, ensureRunnerIdentity, readJobFile, builderName, runnerLabelValue, ensureFailureCount, builderSpec, ensureBuilder, spawnRun, BUILD_LABEL, RUNNER_LABEL, readJobFileChecked } from './chunk-CHXYLCMA.js';
|
|
23
22
|
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-
|
|
23
|
+
import { isSignatureRefusal, WorkCommandError, getJson, postJson } from './chunk-UIBTEDLA.js';
|
|
24
|
+
import { loadHostKey, ensureHostKey, signerFor } from './chunk-JT3YO5MH.js';
|
|
25
|
+
import { RUNNER_DIR_MODE, runnerDir, buildDir, attemptStamp, jobDir, RUNNER_FILE_MODE, jobsDir, pidFilePath, spoolDir, rootfsDir, imagesDir, builderCacheDiskPath } from './chunk-ESP5VZBD.js';
|
|
27
26
|
import { parseClaimIdentity, parseClaimedRepositories, parseUnreachable, repositoriesOf, primaryOf, sharedUserEnvironment, JOB_MOUNT, takeClaudeCredential, heldClaudeCredential, currentClaudeCredential } from './chunk-HDSDUTX4.js';
|
|
28
27
|
import { resolveVersion } from './chunk-RA3O54FC.js';
|
|
29
28
|
import { fdName } from './chunk-XD4ZCMA4.js';
|
|
@@ -817,6 +816,7 @@ async function runHousekeeping(options) {
|
|
|
817
816
|
}
|
|
818
817
|
}
|
|
819
818
|
}
|
|
819
|
+
freed += removeStaleBuilderCaches(options, nowMs);
|
|
820
820
|
const spoolPath = spoolDir(root);
|
|
821
821
|
const spoolFiles = listDir(spoolPath).flatMap((name) => {
|
|
822
822
|
const mtimeMs = mtimeOf(join(spoolPath, name));
|
|
@@ -857,6 +857,25 @@ async function removeStaleRootDisks(root, unfinished, options) {
|
|
|
857
857
|
}
|
|
858
858
|
return freed;
|
|
859
859
|
}
|
|
860
|
+
function removeStaleBuilderCaches(options, nowMs) {
|
|
861
|
+
let freed = 0;
|
|
862
|
+
for (const owner of listDir(imagesDir(options.configPath))) {
|
|
863
|
+
for (const name of listDir(join(imagesDir(options.configPath), owner))) {
|
|
864
|
+
const path = builderCacheDiskPath(options.configPath, owner, name);
|
|
865
|
+
const mtimeMs = mtimeOf(path);
|
|
866
|
+
if (mtimeMs === void 0 || nowMs - mtimeMs < options.keepDays * 864e5) continue;
|
|
867
|
+
const size = sizeOf(path);
|
|
868
|
+
try {
|
|
869
|
+
rmSync(path, { force: true });
|
|
870
|
+
freed += size;
|
|
871
|
+
options.log.line(`housekeeping: removed the builder cache disk of ${owner}/${name} (${formatBytes(size)}), last used ${formatDuration(nowMs - mtimeMs)} ago`);
|
|
872
|
+
} catch (err) {
|
|
873
|
+
options.log.error(`housekeeping: could not remove the builder cache disk of ${owner}/${name}: ${describeCallFailure(err)}`);
|
|
874
|
+
}
|
|
875
|
+
}
|
|
876
|
+
}
|
|
877
|
+
return freed;
|
|
878
|
+
}
|
|
860
879
|
var HOOKS_DIR_NAME = "git-hooks";
|
|
861
880
|
var CO_AUTHOR_FILE = "co-author";
|
|
862
881
|
var HOOKS = [
|
|
@@ -1751,7 +1770,7 @@ var CLAIM_REFUSAL_CODES = new Set(
|
|
|
1751
1770
|
"pull_request_from_fork pull_request_on_default_branch pull_request_ambiguous pull_request_repository_not_connected repository_not_reachable branch_claimed_elsewhere".split(" ")
|
|
1752
1771
|
);
|
|
1753
1772
|
async function tryClaimAndStart(state, item, queue) {
|
|
1754
|
-
const { postJson: postJson2 } = await import('./work-cmd-
|
|
1773
|
+
const { postJson: postJson2 } = await import('./work-cmd-QQDUI3YX.js');
|
|
1755
1774
|
const log = logOf(state);
|
|
1756
1775
|
const hostKey = await loadHostKey(state.config.configPath);
|
|
1757
1776
|
const claim = await retrySend(
|
|
@@ -2947,7 +2966,7 @@ async function start(configPath, deps = { fetchImpl: fetch }) {
|
|
|
2947
2966
|
check: update.check ? () => update.check(configPath) : async () => {
|
|
2948
2967
|
const held = heldClaudeCredential();
|
|
2949
2968
|
const env = held === void 0 ? process.env : { ...process.env, [held.variable]: held.value };
|
|
2950
|
-
return (await import('./check-
|
|
2969
|
+
return (await import('./check-AXDPZJU4.js')).runRunnerCheck(configPath, { fetchImpl: deps.fetchImpl, env });
|
|
2951
2970
|
},
|
|
2952
2971
|
now: () => (deps.now ?? (() => /* @__PURE__ */ new Date()))().getTime(),
|
|
2953
2972
|
log
|
|
@@ -3015,6 +3034,11 @@ async function start(configPath, deps = { fetchImpl: fetch }) {
|
|
|
3015
3034
|
return [];
|
|
3016
3035
|
});
|
|
3017
3036
|
for (const buildId of runningMicroVms) log.line(`stopped microVM build ${buildId}, left running by an earlier runner`);
|
|
3037
|
+
const sweptBuilders = await sweepImageBuilders(configPath, runtimeOf(state).vm, (line) => log.error(line)).catch((err) => {
|
|
3038
|
+
log.error(`a builder microVM an earlier runner left could not be removed: ${describeCallFailure(err)}`);
|
|
3039
|
+
return [];
|
|
3040
|
+
});
|
|
3041
|
+
for (const buildId of sweptBuilders) log.line(`removed builder microVM ${buildId}, left by an earlier runner`);
|
|
3018
3042
|
const attemptLogs = attemptLogsOf(state);
|
|
3019
3043
|
for (const { job, format } of listUnreadableJobs(jobsDir(configPath))) {
|
|
3020
3044
|
log.error(`leaving job ${job.queue} #${job.item} alone: its job-state format ${format} is not one this version reads`);
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { autoConnect, detectActiveSession } from './chunk-
|
|
4
|
-
import { resolveRepoIdentity } from './chunk-
|
|
3
|
+
import { autoConnect, detectActiveSession } from './chunk-6TFTRVOA.js';
|
|
4
|
+
import { resolveRepoIdentity } from './chunk-AKR32WHV.js';
|
|
5
5
|
import { C } from './chunk-ANPNT6PM.js';
|
|
6
|
-
import { defaultFetch, unauthorizedMessage, resolveGatewayCredentials } from './chunk-
|
|
6
|
+
import { defaultFetch, unauthorizedMessage, resolveGatewayCredentials } from './chunk-VQ2JGZSC.js';
|
|
7
7
|
import { parseWorkItemEnv } from './chunk-T2Q7ISPE.js';
|
|
8
8
|
import { parseTrackerNumber, trackerNumberError } from './chunk-WZBHBH3J.js';
|
|
9
9
|
import { homeFromEnv } from './chunk-VNVZDWO3.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { ArtifactTombstoneRecordSchema, ArtifactSpoolRecordSchema } from './chunk-
|
|
3
|
+
import { ArtifactTombstoneRecordSchema, ArtifactSpoolRecordSchema } from './chunk-AKHGQKNR.js';
|
|
4
4
|
import { homeFromEnv } from './chunk-VNVZDWO3.js';
|
|
5
5
|
import { mkdirSync, appendFileSync, writeFileSync, renameSync, unlinkSync, existsSync, readdirSync, readFileSync, statSync } from 'fs';
|
|
6
6
|
import { join, dirname } from 'path';
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { sanitizeTerminal } from './chunk-
|
|
4
|
-
import { isAgentsMdLayout } from './chunk-
|
|
5
|
-
import { resolveGatewayCredentials, defaultFetch } from './chunk-
|
|
3
|
+
import { sanitizeTerminal } from './chunk-DM4EGXDO.js';
|
|
4
|
+
import { isAgentsMdLayout } from './chunk-4IG6EZHU.js';
|
|
5
|
+
import { resolveGatewayCredentials, defaultFetch } from './chunk-VQ2JGZSC.js';
|
|
6
6
|
import { versionAtLeast } from './chunk-HCVLP7XA.js';
|
|
7
7
|
import { findGitDirs } from './chunk-BJ3KTMDH.js';
|
|
8
|
-
import { machineSkillsState, staleClaudeSkills } from './chunk-
|
|
9
|
-
import { AGENTS_SKILLS_BASE, skillDir, namesCore, MACHINE_SKILL_PATH, isMaintainedCopy, loadTemplateFiles } from './chunk-
|
|
8
|
+
import { machineSkillsState, staleClaudeSkills } from './chunk-Q2D4M3GC.js';
|
|
9
|
+
import { AGENTS_SKILLS_BASE, skillDir, namesCore, MACHINE_SKILL_PATH, isMaintainedCopy, loadTemplateFiles } from './chunk-KUTZ6XLS.js';
|
|
10
10
|
import { MAINTAINED_SKILLS } from './chunk-CDDED64E.js';
|
|
11
11
|
import { cliInvocation } from './chunk-CRB3POP4.js';
|
|
12
|
-
import { hasSymlinkComponent } from './chunk-
|
|
13
|
-
import { emitTree, ALL_TARGET_IDS, classifyTree, splitRawFile } from './chunk-
|
|
12
|
+
import { hasSymlinkComponent } from './chunk-LN4WDONI.js';
|
|
13
|
+
import { emitTree, ALL_TARGET_IDS, classifyTree, splitRawFile } from './chunk-OGCG5LOX.js';
|
|
14
14
|
import { existsSync, readFileSync, writeFileSync, realpathSync, readdirSync } from 'fs';
|
|
15
15
|
import { join, dirname, posix } from 'path';
|
|
16
16
|
|
|
@@ -31,6 +31,9 @@ function imagesDir(configPath) {
|
|
|
31
31
|
function repoCacheDir(configPath, owner, name) {
|
|
32
32
|
return join(runnerDir(configPath), "repos", owner, name);
|
|
33
33
|
}
|
|
34
|
+
function builderCacheDiskPath(configPath, owner, name) {
|
|
35
|
+
return join(imagesDir(configPath), owner, name, "builder-cache.ext4");
|
|
36
|
+
}
|
|
34
37
|
function buildsDir(configPath) {
|
|
35
38
|
return join(runnerDir(configPath), "builds");
|
|
36
39
|
}
|
|
@@ -84,4 +87,4 @@ function deliveryDir(repository, sha) {
|
|
|
84
87
|
return `${BUILD_HOME}/.outerlayer/context/${repository}/${sha}`;
|
|
85
88
|
}
|
|
86
89
|
|
|
87
|
-
export { RUNNER_DIR_MODE, RUNNER_FILE_MODE, SHIM_DIR, attemptStamp, buildDir, buildsDir, contextHomeDir, deliveryDir, diskTemplatesDir, ghConfigDir, hostKeyPath, imagesDir, jobDir, jobsDir, keptContextDir, mirrorDir, pidFilePath, repoCacheDir, rootfsDir, rootfsPathFor, runnerDir, runnerDirOfBuild, spoolDir, stagedContextDir, vmAssetsDir, vsockPath };
|
|
90
|
+
export { RUNNER_DIR_MODE, RUNNER_FILE_MODE, SHIM_DIR, attemptStamp, buildDir, builderCacheDiskPath, buildsDir, contextHomeDir, deliveryDir, diskTemplatesDir, ghConfigDir, hostKeyPath, imagesDir, jobDir, jobsDir, keptContextDir, mirrorDir, pidFilePath, repoCacheDir, rootfsDir, rootfsPathFor, runnerDir, runnerDirOfBuild, spoolDir, stagedContextDir, vmAssetsDir, vsockPath };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { builtinKind } from './chunk-
|
|
3
|
+
import { builtinKind } from './chunk-ALSE7YKX.js';
|
|
4
4
|
import { parseSize } from './chunk-YJLHUKYS.js';
|
|
5
|
-
import { runnerDir } from './chunk-
|
|
5
|
+
import { runnerDir } from './chunk-ESP5VZBD.js';
|
|
6
6
|
import { CLAUDE_CREDENTIAL_ID, CLAUDE_ENV_FILE, credentialLineIn, withoutCredentialLines } from './chunk-HDSDUTX4.js';
|
|
7
7
|
import { FD_SLOTS_PER_BUILD, FD_STORE_ENV } from './chunk-XD4ZCMA4.js';
|
|
8
8
|
import { existsSync, readFileSync, writeFileSync, chmodSync, renameSync } from 'fs';
|
|
@@ -680,11 +680,11 @@ async function missingControlPlane(cwd, sessionId, home, env) {
|
|
|
680
680
|
const dirs = findGitDirs(cwd);
|
|
681
681
|
if (dirs === void 0) return void 0;
|
|
682
682
|
if (existsSync(join(dirs.gitCommonDir, "outerlayer", "materialized.json")) || hasExcludeBlock(dirs.gitCommonDir)) {
|
|
683
|
-
const { cleanupEarlierCopies } = await import('./context-cleanup-
|
|
683
|
+
const { cleanupEarlierCopies } = await import('./context-cleanup-UBOJHGQM.js');
|
|
684
684
|
cleanupEarlierCopies(dirs);
|
|
685
685
|
}
|
|
686
686
|
if (!contextPossiblyGoverned(cwd, home)) return void 0;
|
|
687
|
-
const { governanceOf } = await import('./control-plane-launch-
|
|
687
|
+
const { governanceOf } = await import('./control-plane-launch-R4X63DYW.js');
|
|
688
688
|
if (await governanceOf({ cwd, env, home }) !== "governed") return void 0;
|
|
689
689
|
recordMissingContext(dirs, sessionId, home);
|
|
690
690
|
const launcher = `${cliInvocation()} claude`;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
3
|
import { isSameProcess } from './chunk-JBJTC3UU.js';
|
|
4
|
-
import { RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-
|
|
4
|
+
import { RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-ESP5VZBD.js';
|
|
5
5
|
import { existsSync, readFileSync, mkdirSync, writeFileSync, rmSync } from 'fs';
|
|
6
6
|
import { dirname } from 'path';
|
|
7
7
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { hostKeyPath, runnerDir, RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-
|
|
3
|
+
import { hostKeyPath, runnerDir, RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-ESP5VZBD.js';
|
|
4
4
|
import { generateKeyPairSync, createPrivateKey, createPublicKey, sign } from 'crypto';
|
|
5
5
|
import { existsSync, mkdirSync, writeFileSync, readFileSync } from 'fs';
|
|
6
6
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { WorkCommandError, postJson } from './chunk-
|
|
4
|
-
import { defaultGitRunner, materializeContext, isStagingWriteFault, lookupGoverningSource } from './chunk-
|
|
5
|
-
import { signingFetchFor } from './chunk-
|
|
6
|
-
import { signerFor } from './chunk-
|
|
7
|
-
import { SHIM_DIR, stagedContextDir, contextHomeDir, deliveryDir, keptContextDir } from './chunk-
|
|
3
|
+
import { WorkCommandError, postJson } from './chunk-UIBTEDLA.js';
|
|
4
|
+
import { defaultGitRunner, materializeContext, isStagingWriteFault, lookupGoverningSource } from './chunk-RVWADVBN.js';
|
|
5
|
+
import { signingFetchFor } from './chunk-VQ2JGZSC.js';
|
|
6
|
+
import { signerFor } from './chunk-JT3YO5MH.js';
|
|
7
|
+
import { SHIM_DIR, stagedContextDir, contextHomeDir, deliveryDir, keptContextDir } from './chunk-ESP5VZBD.js';
|
|
8
8
|
import { unsupportedLayout, layoutRefusalReason, composeDelivery } from './chunk-FGF52V4V.js';
|
|
9
9
|
import { SHIM_SCRIPT, GOVERNANCE_VARIABLE } from './chunk-HCVLP7XA.js';
|
|
10
10
|
import { readDegraded, readContextManifest, readSourceCache } from './chunk-YQR6E6OV.js';
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
3
|
import { MAINTAINED_SKILLS } from './chunk-CDDED64E.js';
|
|
4
4
|
import { resolvePackageVersion } from './chunk-RA3O54FC.js';
|
|
5
|
-
import { splitRawFile } from './chunk-
|
|
5
|
+
import { splitRawFile } from './chunk-OGCG5LOX.js';
|
|
6
6
|
import { existsSync, readFileSync, mkdirSync, writeFileSync, readdirSync } from 'fs';
|
|
7
7
|
import { join, dirname } from 'path';
|
|
8
8
|
import { fileURLToPath } from 'url';
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { isPlaceholderCommand } from './chunk-
|
|
4
|
-
import { describeCallFailure } from './chunk-
|
|
5
|
-
import { checkFit } from './chunk-
|
|
6
|
-
import { builtinKind } from './chunk-
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
3
|
+
import { isPlaceholderCommand } from './chunk-O6NG67Y7.js';
|
|
4
|
+
import { describeCallFailure } from './chunk-KDM77TVX.js';
|
|
5
|
+
import { checkFit } from './chunk-HBBCQ5NE.js';
|
|
6
|
+
import { builtinKind, imageBuildOf } from './chunk-ALSE7YKX.js';
|
|
7
|
+
import { builderDiskPinned } from './chunk-LHYO4RDP.js';
|
|
8
|
+
import { WorkCommandError, getJson } from './chunk-UIBTEDLA.js';
|
|
9
|
+
import { sanitizeTerminal } from './chunk-DM4EGXDO.js';
|
|
10
|
+
import { signerFor } from './chunk-JT3YO5MH.js';
|
|
10
11
|
import { CLAUDE_CREDENTIAL_VARIABLES, claudeCredential, claudeCredentialVariablesSet } from './chunk-HDSDUTX4.js';
|
|
11
12
|
import { closeSync, openSync, constants } from 'fs';
|
|
12
13
|
import { totalmem } from 'os';
|
|
@@ -158,6 +159,19 @@ function managedProblems(facts) {
|
|
|
158
159
|
reason: "runner.build.allowHosts is not set, and a managed runner needs it so that a build reaches only the public hosts it lists. List the hosts your builds need; an empty list allows none"
|
|
159
160
|
});
|
|
160
161
|
}
|
|
162
|
+
if (builtinKind(facts.provision) === "vm") {
|
|
163
|
+
if (facts.imageBuild === "host") {
|
|
164
|
+
problems.push({
|
|
165
|
+
condition: "imageBuild",
|
|
166
|
+
reason: "runner.build.imageBuild is host, and a managed runner builds its images in a builder microVM, because a recipe step on the host could reach the host's own services and network. Remove runner.build.imageBuild or set it to vm"
|
|
167
|
+
});
|
|
168
|
+
} else if (!facts.builderDiskPinned) {
|
|
169
|
+
problems.push({
|
|
170
|
+
condition: "imageBuild",
|
|
171
|
+
reason: "this release of the CLI pins no builder root disk, so it cannot build images in a builder microVM, which a managed runner needs for runner.build.imageBuild. Update the CLI to a release that pins one"
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
}
|
|
161
175
|
return problems;
|
|
162
176
|
}
|
|
163
177
|
function managedFactsOf(config, probes) {
|
|
@@ -165,7 +179,9 @@ function managedFactsOf(config, probes) {
|
|
|
165
179
|
provision: config.hooks.provision,
|
|
166
180
|
jailer: probes.jailer ?? "unknown",
|
|
167
181
|
credentials: claudeCredentialVariablesSet(probes.env),
|
|
168
|
-
allowHosts: config.build?.allowHosts
|
|
182
|
+
allowHosts: config.build?.allowHosts,
|
|
183
|
+
imageBuild: imageBuildOf(config),
|
|
184
|
+
builderDiskPinned: probes.builderDiskPinned ?? builderDiskPinned()
|
|
169
185
|
};
|
|
170
186
|
}
|
|
171
187
|
function checkBlocked(config, probes) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-
|
|
3
|
+
import { RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-ESP5VZBD.js';
|
|
4
4
|
import { readFileSync, mkdirSync, writeFileSync, renameSync } from 'fs';
|
|
5
5
|
import { join } from 'path';
|
|
6
6
|
|
|
@@ -52,6 +52,14 @@ var HOST_HELPER_SHA256 = {
|
|
|
52
52
|
function hostHelperPinned(arch = "x86_64", hashes = HOST_HELPER_SHA256) {
|
|
53
53
|
return hashes[arch] !== "0".repeat(64);
|
|
54
54
|
}
|
|
55
|
+
var BUILDER_DISK_VERSION = "1";
|
|
56
|
+
var BUILDER_DISK_BASE_URL = `https://github.com/outerlayerai/guest-assets/releases/download/builder-${BUILDER_DISK_VERSION}`;
|
|
57
|
+
var BUILDER_DISK_SHA256 = {
|
|
58
|
+
x86_64: "fb581f3cc5a7329b2f65b5d62e42be8a53cf845596a76d7ad938ba4c2598dc37"
|
|
59
|
+
};
|
|
60
|
+
function builderDiskPinned(arch = "x86_64", hashes = BUILDER_DISK_SHA256) {
|
|
61
|
+
return hashes[arch] !== "0".repeat(64);
|
|
62
|
+
}
|
|
55
63
|
var VOICE_PACK_VERSION = "kokoro-82m-v1.0-ort-1.21.0";
|
|
56
64
|
var KOKORO_REVISION = "1939ad2a8e416c0acfeecc08a694d14ef25f2231";
|
|
57
65
|
var KOKORO_BASE_URL = `https://huggingface.co/onnx-community/Kokoro-82M-v1.0-ONNX/resolve/${KOKORO_REVISION}`;
|
|
@@ -96,4 +104,4 @@ var FFMPEG_STATIC = {
|
|
|
96
104
|
};
|
|
97
105
|
var MEDIA_PINS = `${VOICE_PACK_VERSION}+${FFMPEG_BUILD_TAG}`;
|
|
98
106
|
|
|
99
|
-
export { BUILDKIT_IMAGE, CLAUDE_CODE_VERSION, DEFAULT_BASE_IMAGE, FFMPEG_BUILD_TAG, FFMPEG_STATIC, FIRECRACKER_BINARY_SHA256, FIRECRACKER_SHA256, FIRECRACKER_VERSION, GH_SHA256, GH_VERSION, GUEST_ASSETS_BASE_URL, GUEST_ASSETS_VERSION, GUEST_HELPER_SHA256, GUEST_KERNEL_SHA256, HOST_HELPER_ASSETS_VERSION, HOST_HELPER_BASE_URL, HOST_HELPER_SHA256, JAILER_BINARY_SHA256, MEDIA_PINS, MICROVM_ARCHES, NODE_IMAGE, TINI_SHA256, TINI_VERSION, VOICE_PACK_FILES, VOICE_PACK_VERSION, firecrackerArch, guestAssetsPinned, hostHelperPinned };
|
|
107
|
+
export { BUILDER_DISK_BASE_URL, BUILDER_DISK_SHA256, BUILDER_DISK_VERSION, BUILDKIT_IMAGE, CLAUDE_CODE_VERSION, DEFAULT_BASE_IMAGE, FFMPEG_BUILD_TAG, FFMPEG_STATIC, FIRECRACKER_BINARY_SHA256, FIRECRACKER_SHA256, FIRECRACKER_VERSION, GH_SHA256, GH_VERSION, GUEST_ASSETS_BASE_URL, GUEST_ASSETS_VERSION, GUEST_HELPER_SHA256, GUEST_KERNEL_SHA256, HOST_HELPER_ASSETS_VERSION, HOST_HELPER_BASE_URL, HOST_HELPER_SHA256, JAILER_BINARY_SHA256, MEDIA_PINS, MICROVM_ARCHES, NODE_IMAGE, TINI_SHA256, TINI_VERSION, VOICE_PACK_FILES, VOICE_PACK_VERSION, builderDiskPinned, firecrackerArch, guestAssetsPinned, hostHelperPinned };
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
3
|
import { readContextManifest, removeContextManifest } from './chunk-YQR6E6OV.js';
|
|
4
4
|
import { removePreCommitGuardHook } from './chunk-TUSYOL2O.js';
|
|
5
|
-
import { CONTEXT_PIN_FILENAME } from './chunk-
|
|
5
|
+
import { CONTEXT_PIN_FILENAME } from './chunk-OGCG5LOX.js';
|
|
6
6
|
import { execFileSync } from 'child_process';
|
|
7
7
|
import { lstatSync, existsSync, unlinkSync, readdirSync, rmdirSync, readFileSync, mkdirSync, writeFileSync } from 'fs';
|
|
8
8
|
import { join, dirname, isAbsolute } from 'path';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { skillDir, FORMER_MAINTAINED_NAMES, isMaintainedCopy } from './chunk-
|
|
3
|
+
import { skillDir, FORMER_MAINTAINED_NAMES, isMaintainedCopy } from './chunk-KUTZ6XLS.js';
|
|
4
4
|
import { cliInvocation } from './chunk-CRB3POP4.js';
|
|
5
|
-
import { emitTree, ALL_TARGET_IDS, classifyTree } from './chunk-
|
|
5
|
+
import { emitTree, ALL_TARGET_IDS, classifyTree } from './chunk-OGCG5LOX.js';
|
|
6
6
|
import { readFileSync, existsSync, unlinkSync, rmdirSync, readdirSync } from 'fs';
|
|
7
7
|
import { join, dirname, relative, sep } from 'path';
|
|
8
8
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { checkFit, RUNNER_RESERVE_BYTES } from './chunk-
|
|
3
|
+
import { checkFit, RUNNER_RESERVE_BYTES } from './chunk-HBBCQ5NE.js';
|
|
4
4
|
import { readFileSync } from 'fs';
|
|
5
5
|
|
|
6
6
|
createRequire(import.meta.url);
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { runEmit } from './chunk-
|
|
3
|
+
import { runEmit } from './chunk-TNJXCNQ6.js';
|
|
4
4
|
import { addStdioMcpEntryIfAbsent, addDocsMcpEntryIfAbsent, DOCS_MCP_SERVER_NAME } from './chunk-KT4CN6OU.js';
|
|
5
|
-
import { installStarterPack } from './chunk-
|
|
6
|
-
import { AGENTS_MD_LAYOUT, declareAgentsMdLayout, linkClaudeSkills, SKILLS_LINK_PATH, describeSkillsLink, isAgentsMdLayout, holdsTodaysLayoutSources, discoverOuterlayerPaths } from './chunk-
|
|
5
|
+
import { installStarterPack } from './chunk-UWEJ6HGB.js';
|
|
6
|
+
import { AGENTS_MD_LAYOUT, declareAgentsMdLayout, linkClaudeSkills, SKILLS_LINK_PATH, describeSkillsLink, isAgentsMdLayout, holdsTodaysLayoutSources, discoverOuterlayerPaths } from './chunk-4IG6EZHU.js';
|
|
7
7
|
import { C } from './chunk-ANPNT6PM.js';
|
|
8
|
-
import { resolveGitCommonDir, defaultGitRunner } from './chunk-
|
|
9
|
-
import { loadTemplateFiles, loadMaintainedFiles, skillDir, AGENTS_SKILLS_BASE } from './chunk-
|
|
8
|
+
import { resolveGitCommonDir, defaultGitRunner } from './chunk-RVWADVBN.js';
|
|
9
|
+
import { loadTemplateFiles, loadMaintainedFiles, skillDir, AGENTS_SKILLS_BASE } from './chunk-KUTZ6XLS.js';
|
|
10
10
|
import { cliInvocation } from './chunk-CRB3POP4.js';
|
|
11
|
-
import { linkedAgentsPath } from './chunk-
|
|
11
|
+
import { linkedAgentsPath } from './chunk-LN4WDONI.js';
|
|
12
12
|
import { cloneIsGoverned } from './chunk-YQR6E6OV.js';
|
|
13
|
-
import { generatedHeaderSource } from './chunk-
|
|
13
|
+
import { generatedHeaderSource } from './chunk-OGCG5LOX.js';
|
|
14
14
|
import { execFileSync } from 'child_process';
|
|
15
15
|
import { existsSync, mkdirSync, writeFileSync } from 'fs';
|
|
16
16
|
import { join, dirname } from 'path';
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
3
|
import { launchRefusalForSession } from './chunk-ESVW4MJY.js';
|
|
4
|
-
import { detectActiveSession, autoConnect, transcriptPathForSession } from './chunk-
|
|
5
|
-
import { resolveRepoIdentity, defaultProjectsDir, findTranscripts, sessionIdFromPath, scrubText } from './chunk-
|
|
4
|
+
import { detectActiveSession, autoConnect, transcriptPathForSession } from './chunk-6TFTRVOA.js';
|
|
5
|
+
import { resolveRepoIdentity, defaultProjectsDir, findTranscripts, sessionIdFromPath, scrubText } from './chunk-AKR32WHV.js';
|
|
6
6
|
import { C } from './chunk-ANPNT6PM.js';
|
|
7
|
-
import { resolveGatewayCredentials, defaultFetch, unauthorizedMessage } from './chunk-
|
|
7
|
+
import { resolveGatewayCredentials, defaultFetch, unauthorizedMessage } from './chunk-VQ2JGZSC.js';
|
|
8
8
|
import { readLatestProvenanceForSession } from './chunk-ZJSNLVCE.js';
|
|
9
9
|
import { launchedItemForSession } from './chunk-T2Q7ISPE.js';
|
|
10
10
|
import { parseTrackerNumber, trackerNumberError } from './chunk-WZBHBH3J.js';
|
|
11
11
|
import { cliInvocation } from './chunk-CRB3POP4.js';
|
|
12
|
-
import { FindingBatchSchema, FindingsResponseSchema, SAME_PROBLEM_RULES } from './chunk-
|
|
12
|
+
import { FindingBatchSchema, FindingsResponseSchema, SAME_PROBLEM_RULES } from './chunk-AKHGQKNR.js';
|
|
13
13
|
import { homeFromEnv } from './chunk-VNVZDWO3.js';
|
|
14
14
|
import { readFileSync, existsSync } from 'fs';
|
|
15
15
|
import { join, dirname, basename } from 'path';
|
|
@@ -1,10 +1,10 @@
|
|
|
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-
|
|
5
|
-
import { hasStoredCredential, AGENT_COMMANDS, storeClaudeCredential, credentialFromStdin, isAgentName } from './chunk-
|
|
6
|
-
import { runnerCredentialProblem } from './chunk-
|
|
7
|
-
import { runnerDir, RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-
|
|
3
|
+
import { detectMachine, supportsContainerBuilds, reachDockerStep, describeMachineDocker, supportsMicroVmBuilds } from './chunk-CMU6QJHE.js';
|
|
4
|
+
import { MIN_ENGINE_MAJOR } from './chunk-X5LFLYSD.js';
|
|
5
|
+
import { hasStoredCredential, AGENT_COMMANDS, storeClaudeCredential, credentialFromStdin, isAgentName } from './chunk-52C3SSNF.js';
|
|
6
|
+
import { runnerCredentialProblem } from './chunk-ALSE7YKX.js';
|
|
7
|
+
import { runnerDir, RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-ESP5VZBD.js';
|
|
8
8
|
import { existsSync, readFileSync, mkdirSync, writeFileSync } from 'fs';
|
|
9
9
|
import { dirname } from 'path';
|
|
10
10
|
|