@outerlayer/cli 0.33.0-next.20261021171323 → 0.33.0-next.20261021194303
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 +5 -1
- package/dist/{agent-setup-NSUX64RU.js → agent-setup-P5PWEGZM.js} +5 -5
- package/dist/{build-HU24C46Z.js → build-SK5BYBER.js} +4 -4
- package/dist/build-info.json +1 -1
- package/dist/{builder-VFREWHZA.js → builder-X4PIGYS6.js} +5 -5
- package/dist/{check-3TQJDGKM.js → check-DPVNDAQQ.js} +32 -32
- package/dist/chunk-2PGI6RDE.js +90 -0
- package/dist/{chunk-ZZSQYOY5.js → chunk-3VGDZ23W.js} +1 -1
- package/dist/{chunk-7LP3F2QH.js → chunk-4OKOLFPH.js} +3 -3
- package/dist/{chunk-NJS7JJYN.js → chunk-52C3SSNF.js} +2 -2
- package/dist/{chunk-IWYS4ERC.js → chunk-533QGXGZ.js} +1 -1
- package/dist/{chunk-54GBOMDW.js → chunk-543ZX5TM.js} +3 -3
- package/dist/{chunk-OX7CHZTJ.js → chunk-5ZUT3IK3.js} +1 -1
- package/dist/{chunk-ZBN4JGTJ.js → chunk-A3H27SYX.js} +1 -1
- package/dist/{chunk-P7BEZAEU.js → chunk-ALSE7YKX.js} +11 -3
- package/dist/{chunk-G7QBSH3X.js → chunk-BBK62GXM.js} +1256 -589
- package/dist/{chunk-NYKZC6HU.js → chunk-C4N5QRQJ.js} +3 -3
- package/dist/{chunk-CI6PRMWZ.js → chunk-CG5TWQ23.js} +5 -5
- package/dist/{chunk-TZQIEUDE.js → chunk-CNRMP6EN.js} +1 -1
- package/dist/{chunk-LAS3DOTW.js → chunk-ENV3AIWQ.js} +42 -18
- package/dist/{chunk-KP6R7CV3.js → chunk-ESP5VZBD.js} +4 -1
- package/dist/{chunk-RQGHHEM7.js → chunk-HBBCQ5NE.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-ZZWWKBLL.js → chunk-KUOY5UIR.js} +4 -4
- package/dist/{chunk-X7UUIHGH.js → chunk-LH3KULPL.js} +1 -1
- package/dist/{chunk-LK2S5XZH.js → chunk-LHYO4RDP.js} +9 -1
- package/dist/{chunk-LSMF3EET.js → chunk-LPIUIRHA.js} +10 -10
- package/dist/{chunk-BXA6JLHQ.js → chunk-LTZVMKQS.js} +5 -5
- package/dist/{chunk-WHSYPR3U.js → chunk-M5ZXOQYS.js} +1 -1
- package/dist/{chunk-VXYPD33W.js → chunk-NNNUME4Y.js} +5 -5
- package/dist/{chunk-KQON2T4A.js → chunk-OVSUSOHL.js} +23 -7
- package/dist/{chunk-NHXJU7CM.js → chunk-OXSFOLWE.js} +1 -1
- package/dist/{chunk-77F7NGAZ.js → chunk-TA6TFYAN.js} +3 -3
- package/dist/{chunk-EKMMX5A5.js → chunk-TAZJDD2U.js} +4 -4
- package/dist/{chunk-TI5Y242B.js → chunk-TGXYNEI7.js} +57 -89
- package/dist/{chunk-BSHUTMXV.js → chunk-TPGHCH2H.js} +45 -19
- package/dist/{chunk-AR6UB2BP.js → chunk-UVZ43SW3.js} +3 -3
- package/dist/{chunk-HPOW2VCB.js → chunk-VFW6I4GG.js} +2 -2
- package/dist/{chunk-F3EF56LQ.js → chunk-VQ2JGZSC.js} +1 -1
- package/dist/{chunk-D73OLAYE.js → chunk-WRX2MCDV.js} +1 -1
- package/dist/{chunk-LQFDTQC2.js → chunk-XQTT3222.js} +3 -3
- package/dist/{chunk-SOTJ2V3A.js → chunk-XRZGT54P.js} +6 -6
- package/dist/{chunk-GKNF4D62.js → chunk-XT5SOJRC.js} +48 -25
- package/dist/{chunk-H6Y5D6J7.js → chunk-YZIC5JXC.js} +1 -1
- package/dist/{chunk-JKXTG3BV.js → chunk-ZPW6PUNK.js} +3 -3
- package/dist/{claude-launcher-RNMUZZ3Y.js → claude-launcher-Q7YAPLY2.js} +1 -1
- package/dist/{cli-YQ64SSV3.js → cli-OGX6JNIN.js} +98 -98
- package/dist/{command-RFVCDSJV.js → command-UIAQUHHU.js} +22 -21
- package/dist/{config-3JRFDYZL.js → config-CUJ3Q4L2.js} +1 -1
- package/dist/{connect-cmd-HVHPNVAJ.js → connect-cmd-OLESV5O3.js} +5 -5
- package/dist/{container-start-DP3N72CK.js → container-start-MGY5VFHW.js} +22 -21
- package/dist/{control-plane-launch-DHMD5WBU.js → control-plane-launch-7PXJSMVM.js} +4 -4
- package/dist/{dist-MKY2BSYN.js → dist-DY2ZNEBS.js} +1 -1
- package/dist/{docker-6G6IF4YO.js → docker-XRUAUQIG.js} +5 -5
- package/dist/{doctor-ZE4LA7EZ.js → doctor-ZMKO3F7I.js} +31 -28
- package/dist/{emit-artifact-cmd-YRRXCZAI.js → emit-artifact-cmd-RI7HA37S.js} +10 -10
- package/dist/{emit-criteria-cmd-PSQORVHS.js → emit-criteria-cmd-T5HZZ7XJ.js} +6 -6
- package/dist/{emit-demo-cmd-RJPSISCC.js → emit-demo-cmd-MWRFZHSX.js} +13 -93
- package/dist/{emit-finding-cmd-6FVW3GGK.js → emit-finding-cmd-RN7LSGJ7.js} +7 -7
- package/dist/{emit-result-cmd-PFQ6HSVN.js → emit-result-cmd-72STGWMP.js} +9 -9
- package/dist/{emit-step-cmd-U32Y4PZJ.js → emit-step-cmd-POFAEM7G.js} +7 -7
- package/dist/{findings-cmd-AMYNXO3S.js → findings-cmd-TMURLT3A.js} +7 -7
- package/dist/{fleet-readiness-7ROJ54ZF.js → fleet-readiness-N6Y3F7R6.js} +4 -4
- package/dist/{governing-source-DYJQCHKU.js → governing-source-2R7IS7LZ.js} +9 -9
- package/dist/{hook-fast-WQQYEXO5.js → hook-fast-GO7UTNN5.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-QDUIHSTK.js → init-E3VWTJFQ.js} +21 -20
- package/dist/{init-CHWFDK23.js → init-YMU4QFRV.js} +21 -20
- package/dist/{init-cmd-STCU6RGY.js → init-cmd-WBPE3X7T.js} +10 -10
- package/dist/{init-update-OIFOUIAN.js → init-update-MONZSG7L.js} +8 -8
- package/dist/{install-OIRIEOS7.js → install-3DBYJITP.js} +3 -3
- package/dist/{install-cmd-IYWVR6WX.js → install-cmd-EELSKBSZ.js} +4 -4
- package/dist/{logs-C3RJ3ZTC.js → logs-ET75ZUCN.js} +1 -1
- package/dist/{loop-NUW7SSZY.js → loop-N3IUN4F3.js} +32 -32
- package/dist/{machine-BJ7TT3B7.js → machine-J7QFINBX.js} +17 -16
- 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-FL67WQIA.js → runner-identity-MSMI2PD4.js} +5 -5
- package/dist/{runner-key-YHAJFEGN.js → runner-key-QTNYQ2I7.js} +21 -20
- package/dist/{session-sender-PHQ6PJVD.js → session-sender-USH6NOZL.js} +10 -10
- package/dist/{spec-cmd-SAMHN5FU.js → spec-cmd-ABGR2ZDH.js} +7 -7
- package/dist/{status-QWLX2CCV.js → status-FHEVPRWN.js} +22 -22
- package/dist/{sync-cmd-O6UIF4QJ.js → sync-cmd-GC2TBSUO.js} +9 -9
- package/dist/{watch-5HMOSQ4Z.js → watch-F3LCBTNO.js} +9 -9
- package/dist/{work-claim-cmd-6W7BW4O6.js → work-claim-cmd-X7KNYGU7.js} +10 -10
- package/dist/{work-cmd-3G26E3NL.js → work-cmd-AI3ZPCP7.js} +7 -7
- package/dist/{work-comment-cmd-S6EGHGHL.js → work-comment-cmd-6UXS342S.js} +7 -7
- package/dist/{work-logs-cmd-RQILRNHS.js → work-logs-cmd-TVKWMDOW.js} +7 -7
- package/dist/{work-open-pr-cmd-5CDP6KOF.js → work-open-pr-cmd-WZ7W2HZ7.js} +8 -8
- package/dist/{work-pr-cmd-D3PJJQOX.js → work-pr-cmd-KTNNR46X.js} +7 -7
- package/dist/{work-stop-cmd-AGZWXGRP.js → work-stop-cmd-2BUDSXUU.js} +7 -7
- package/package.json +1 -1
- package/dist/chunk-YYYRBYWG.js +0 -32
- package/dist/paths-OK2EZS7W.js +0 -9
package/README.md
CHANGED
|
@@ -228,7 +228,11 @@ content:
|
|
|
228
228
|
downloads a guest kernel and a guest helper from the releases of the public
|
|
229
229
|
repository `outerlayerai/guest-assets` on github.com. The runner checks each
|
|
230
230
|
file against a sha256 pinned in the CLI, and the requests send nothing about
|
|
231
|
-
the host.
|
|
231
|
+
the host. An image build in a builder microVM also needs the files of the
|
|
232
|
+
runner's tools layer, which the runner downloads on the host. It gets `gh`,
|
|
233
|
+
`tini` and FFmpeg from github.com. It gets the narration voice pack from
|
|
234
|
+
huggingface.co and registry.npmjs.org. Each file is checked against a sha256
|
|
235
|
+
pinned in the CLI. The microVM reaches the network only
|
|
232
236
|
through the same tunnel a container build uses, which the runner serves on
|
|
233
237
|
Unix sockets and the guest reaches over vsock. In a build with Docker, the
|
|
234
238
|
guest forwards the proxy connections of containers and `docker build` steps
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
export { keepHandWritten, runAgentSetup } from './chunk-
|
|
3
|
+
export { keepHandWritten, runAgentSetup } from './chunk-5ZUT3IK3.js';
|
|
4
4
|
import './chunk-GI6LOIHS.js';
|
|
5
5
|
import './chunk-KT4CN6OU.js';
|
|
6
6
|
import './chunk-QCDVKCHA.js';
|
|
7
7
|
import './chunk-ZAJKEHIE.js';
|
|
8
8
|
import './chunk-ANPNT6PM.js';
|
|
9
|
-
import './chunk-
|
|
9
|
+
import './chunk-WRX2MCDV.js';
|
|
10
10
|
import './chunk-FE3RTGJN.js';
|
|
11
|
-
import './chunk-
|
|
11
|
+
import './chunk-VQ2JGZSC.js';
|
|
12
12
|
import './chunk-PJDQPF5N.js';
|
|
13
|
-
import './chunk-
|
|
14
|
-
import './chunk-
|
|
13
|
+
import './chunk-JT3YO5MH.js';
|
|
14
|
+
import './chunk-ESP5VZBD.js';
|
|
15
15
|
import './chunk-HDSDUTX4.js';
|
|
16
16
|
import './chunk-ZJSNLVCE.js';
|
|
17
17
|
import './chunk-BJ3KTMDH.js';
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
export { buildRepositoryImage } from './chunk-
|
|
4
|
-
import './chunk-
|
|
3
|
+
export { KEY_PREFIX, TAG_HOST, buildRepositoryImage, metadataFromLabels, prepareImageBuild, writeRecord } from './chunk-TPGHCH2H.js';
|
|
4
|
+
import './chunk-IPJ6HR7E.js';
|
|
5
5
|
import './chunk-JBJTC3UU.js';
|
|
6
6
|
export { RecipeError } from './chunk-3Z3MPR55.js';
|
|
7
|
-
import './chunk-
|
|
8
|
-
import './chunk-
|
|
7
|
+
import './chunk-LHYO4RDP.js';
|
|
8
|
+
import './chunk-ESP5VZBD.js';
|
|
9
9
|
import './chunk-HDSDUTX4.js';
|
|
10
10
|
import './chunk-XD4ZCMA4.js';
|
|
11
11
|
import './chunk-MESOOLF4.js';
|
package/dist/build-info.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"id":"2026-10-
|
|
1
|
+
{"id":"2026-10-21T19:45:38.796Z+9eb87e9","root":"/home/runner/_work/outerlayer/outerlayer","pkg":"outerlayer"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
export { MIN_BUILDX_VERSION, builderName, builderSpec, buildxState, ensureBuilder, ensureFailureCount, isOutOfMemory, proxyEnvironment, trackImageBuild } from './chunk-
|
|
3
|
+
export { MIN_BUILDX_VERSION, builderName, builderSpec, buildxState, ensureBuilder, ensureFailureCount, isOutOfMemory, proxyEnvironment, trackImageBuild } from './chunk-KUOY5UIR.js';
|
|
4
4
|
import './chunk-YJLHUKYS.js';
|
|
5
5
|
import './chunk-3Z3MPR55.js';
|
|
6
|
-
import './chunk-
|
|
7
|
-
import './chunk-
|
|
8
|
-
import './chunk-
|
|
9
|
-
import './chunk-
|
|
6
|
+
import './chunk-LHYO4RDP.js';
|
|
7
|
+
import './chunk-XT5SOJRC.js';
|
|
8
|
+
import './chunk-JT3YO5MH.js';
|
|
9
|
+
import './chunk-ESP5VZBD.js';
|
|
10
10
|
import './chunk-HDSDUTX4.js';
|
|
11
11
|
import './chunk-3WW2TL7V.js';
|
|
12
12
|
import './chunk-XD4ZCMA4.js';
|
|
@@ -1,62 +1,62 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { probeCredentials } from './chunk-
|
|
4
|
-
import './chunk-
|
|
5
|
-
import './chunk-
|
|
3
|
+
import { probeCredentials } from './chunk-ENV3AIWQ.js';
|
|
4
|
+
import './chunk-TGXYNEI7.js';
|
|
5
|
+
import './chunk-LH3KULPL.js';
|
|
6
6
|
import './chunk-3JVYMD4G.js';
|
|
7
7
|
import './chunk-E7R2GIAW.js';
|
|
8
|
-
import './chunk-
|
|
8
|
+
import './chunk-M5ZXOQYS.js';
|
|
9
9
|
import './chunk-YKYCE4HY.js';
|
|
10
|
-
import './chunk-
|
|
10
|
+
import './chunk-CNRMP6EN.js';
|
|
11
11
|
import './chunk-ZVB57WI6.js';
|
|
12
12
|
import './chunk-RJYKTWUP.js';
|
|
13
13
|
import './chunk-I3LTIAOR.js';
|
|
14
|
-
import './chunk-
|
|
15
|
-
import './chunk-
|
|
16
|
-
import './chunk-
|
|
14
|
+
import './chunk-UVZ43SW3.js';
|
|
15
|
+
import './chunk-NNNUME4Y.js';
|
|
16
|
+
import './chunk-4OKOLFPH.js';
|
|
17
17
|
import './chunk-ESVW4MJY.js';
|
|
18
18
|
import './chunk-XTNMIV77.js';
|
|
19
|
-
import { placeholderQueues, placeholderProblem, permissionModeProblems, permissionModeProblem, managedProblems, managedFactsOf, needsClaudeCredential, claudeCredentialCheck, claimPermissionProblem, formerSkillQueues, formerSkillProblem } from './chunk-
|
|
20
|
-
import './chunk-
|
|
21
|
-
import './chunk-ZZSQYOY5.js';
|
|
19
|
+
import { placeholderQueues, placeholderProblem, permissionModeProblems, permissionModeProblem, managedProblems, managedFactsOf, needsClaudeCredential, claudeCredentialCheck, claimPermissionProblem, formerSkillQueues, formerSkillProblem } from './chunk-OVSUSOHL.js';
|
|
20
|
+
import './chunk-3VGDZ23W.js';
|
|
22
21
|
import './chunk-TBT347UY.js';
|
|
23
|
-
import './chunk-
|
|
24
|
-
import './chunk-
|
|
25
|
-
import { probeHelper, HELPER_ENV, helperSocketPath } from './chunk-
|
|
22
|
+
import './chunk-CG5TWQ23.js';
|
|
23
|
+
import './chunk-XQTT3222.js';
|
|
24
|
+
import { probeHelper, HELPER_ENV, helperSocketPath } from './chunk-BBK62GXM.js';
|
|
25
|
+
import './chunk-2PGI6RDE.js';
|
|
26
26
|
import './chunk-QQGZ5THT.js';
|
|
27
27
|
import './chunk-HIGJTX5U.js';
|
|
28
|
-
import './chunk-
|
|
29
|
-
import './chunk-
|
|
28
|
+
import './chunk-LTZVMKQS.js';
|
|
29
|
+
import './chunk-533QGXGZ.js';
|
|
30
30
|
import './chunk-TQMI335S.js';
|
|
31
|
-
import './chunk-
|
|
32
|
-
import { DEFAULT_UNIT_NAME } from './chunk-
|
|
33
|
-
import { loadRunnerConfig, RunnerConfigError, checkHooks } from './chunk-
|
|
31
|
+
import './chunk-52C3SSNF.js';
|
|
32
|
+
import { DEFAULT_UNIT_NAME } from './chunk-HBBCQ5NE.js';
|
|
33
|
+
import { loadRunnerConfig, RunnerConfigError, checkHooks } from './chunk-ALSE7YKX.js';
|
|
34
34
|
import './chunk-UXYLWVTQ.js';
|
|
35
|
-
import './chunk-
|
|
36
|
-
import './chunk-
|
|
35
|
+
import './chunk-TPGHCH2H.js';
|
|
36
|
+
import './chunk-IPJ6HR7E.js';
|
|
37
37
|
import './chunk-JBJTC3UU.js';
|
|
38
38
|
import './chunk-OGFGZQA3.js';
|
|
39
|
-
import './chunk-
|
|
39
|
+
import './chunk-KUOY5UIR.js';
|
|
40
40
|
import './chunk-YJLHUKYS.js';
|
|
41
41
|
import './chunk-3Z3MPR55.js';
|
|
42
|
-
import './chunk-
|
|
43
|
-
import './chunk-
|
|
44
|
-
import './chunk-
|
|
45
|
-
import './chunk-
|
|
42
|
+
import './chunk-LHYO4RDP.js';
|
|
43
|
+
import './chunk-XRZGT54P.js';
|
|
44
|
+
import './chunk-ZPW6PUNK.js';
|
|
45
|
+
import './chunk-VFW6I4GG.js';
|
|
46
46
|
import './chunk-3H7NZPYG.js';
|
|
47
|
-
import './chunk-
|
|
47
|
+
import './chunk-XT5SOJRC.js';
|
|
48
48
|
import './chunk-ZAJKEHIE.js';
|
|
49
49
|
import './chunk-6C3ZVE62.js';
|
|
50
50
|
import './chunk-G2JWZDFA.js';
|
|
51
51
|
import './chunk-ANPNT6PM.js';
|
|
52
|
-
import './chunk-
|
|
52
|
+
import './chunk-WRX2MCDV.js';
|
|
53
53
|
import './chunk-FE3RTGJN.js';
|
|
54
|
-
import './chunk-
|
|
54
|
+
import './chunk-VQ2JGZSC.js';
|
|
55
55
|
import './chunk-PJDQPF5N.js';
|
|
56
|
-
import './chunk-
|
|
57
|
-
import './chunk-
|
|
56
|
+
import './chunk-JT3YO5MH.js';
|
|
57
|
+
import './chunk-ESP5VZBD.js';
|
|
58
58
|
import { claudeEnvPath } from './chunk-HDSDUTX4.js';
|
|
59
|
-
import './chunk-
|
|
59
|
+
import './chunk-OXSFOLWE.js';
|
|
60
60
|
import './chunk-ZJSNLVCE.js';
|
|
61
61
|
import './chunk-2O5KA67H.js';
|
|
62
62
|
import './chunk-BKO6JEZI.js';
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { createRequire } from 'node:module';
|
|
3
|
+
import { createHash } from 'crypto';
|
|
4
|
+
import { createReadStream, mkdirSync, rmSync, renameSync, existsSync, statSync, createWriteStream } from 'fs';
|
|
5
|
+
import { dirname } from 'path';
|
|
6
|
+
import { once } from 'events';
|
|
7
|
+
|
|
8
|
+
createRequire(import.meta.url);
|
|
9
|
+
var VoiceDownloadError = class extends Error {
|
|
10
|
+
constructor(message, retryable = false) {
|
|
11
|
+
super(message);
|
|
12
|
+
this.retryable = retryable;
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
async function sha256OfFile(path) {
|
|
16
|
+
const hash = createHash("sha256");
|
|
17
|
+
for await (const chunk of createReadStream(path)) hash.update(chunk);
|
|
18
|
+
return hash.digest("hex");
|
|
19
|
+
}
|
|
20
|
+
function withoutCredentials(url) {
|
|
21
|
+
try {
|
|
22
|
+
const parsed = new URL(url);
|
|
23
|
+
parsed.username = "";
|
|
24
|
+
parsed.password = "";
|
|
25
|
+
return parsed.toString();
|
|
26
|
+
} catch {
|
|
27
|
+
return "(an invalid URL)";
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
var ATTEMPTS = 3;
|
|
31
|
+
async function requestRest(params) {
|
|
32
|
+
const { url, part, name, fetchImpl, progress } = params;
|
|
33
|
+
const offset = existsSync(part) ? statSync(part).size : 0;
|
|
34
|
+
const response = await fetchImpl(url, offset > 0 ? { headers: { range: `bytes=${offset}-` } } : {});
|
|
35
|
+
if (response.status === 416 && offset > 0) {
|
|
36
|
+
await response.body?.cancel();
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
if (!response.ok || response.body === null) {
|
|
40
|
+
await response.body?.cancel();
|
|
41
|
+
throw new VoiceDownloadError(`cannot download ${name} from ${withoutCredentials(url)}: the server answered ${response.status}`, response.status >= 500);
|
|
42
|
+
}
|
|
43
|
+
const resumed = response.status === 206;
|
|
44
|
+
const start = resumed ? offset : 0;
|
|
45
|
+
const total = Number(response.headers.get("content-length") ?? 0) + start;
|
|
46
|
+
const out = createWriteStream(part, { flags: resumed ? "a" : "w" });
|
|
47
|
+
let written = start;
|
|
48
|
+
let lastReport = 0;
|
|
49
|
+
try {
|
|
50
|
+
for await (const chunk of response.body) {
|
|
51
|
+
if (!out.write(chunk)) await once(out, "drain");
|
|
52
|
+
written += chunk.length;
|
|
53
|
+
const now = Date.now();
|
|
54
|
+
if (progress !== void 0 && now - lastReport >= 1e3) {
|
|
55
|
+
lastReport = now;
|
|
56
|
+
progress(` downloading ${name}: ${(written / 1048576).toFixed(0)}${total > start ? ` of ${(total / 1048576).toFixed(0)}` : ""} MiB`);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
} finally {
|
|
60
|
+
out.end();
|
|
61
|
+
await once(out, "close");
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
async function downloadPinned(params) {
|
|
65
|
+
const { url, dest, sha256, name } = params;
|
|
66
|
+
mkdirSync(dirname(dest), { recursive: true });
|
|
67
|
+
const part = `${dest}.part`;
|
|
68
|
+
for (let attempt = 1; ; attempt += 1) {
|
|
69
|
+
try {
|
|
70
|
+
await requestRest({ ...params, part });
|
|
71
|
+
break;
|
|
72
|
+
} catch (err) {
|
|
73
|
+
const refused = err instanceof VoiceDownloadError && !err.retryable;
|
|
74
|
+
if (refused || attempt === ATTEMPTS) {
|
|
75
|
+
throw err instanceof VoiceDownloadError ? err : new VoiceDownloadError(`cannot download ${name} from ${withoutCredentials(url)}: ${String(err)}`);
|
|
76
|
+
}
|
|
77
|
+
await new Promise((resolve) => setTimeout(resolve, params.retryDelayMs ?? 500));
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
const digest = await sha256OfFile(part);
|
|
81
|
+
if (digest !== sha256) {
|
|
82
|
+
rmSync(part, { force: true });
|
|
83
|
+
throw new VoiceDownloadError(
|
|
84
|
+
`the downloaded ${name} has sha256 ${digest}, not the pinned ${sha256} \u2014 it was discarded and ${params.stopped ?? "nothing was spoken"}`
|
|
85
|
+
);
|
|
86
|
+
}
|
|
87
|
+
renameSync(part, dest);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
export { VoiceDownloadError, downloadPinned, sha256OfFile };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { runnerDir, RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-
|
|
3
|
+
import { runnerDir, RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-ESP5VZBD.js';
|
|
4
4
|
import { readlinkSync, realpathSync, mkdirSync, unlinkSync, symlinkSync, renameSync, readFileSync, writeFileSync, rmSync, existsSync, readdirSync } from 'fs';
|
|
5
5
|
import { join, basename, sep, resolve } from 'path';
|
|
6
6
|
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
3
|
import { launchRefusalForSession } from './chunk-ESVW4MJY.js';
|
|
4
|
-
import { autoConnect, detectActiveSession } from './chunk-
|
|
4
|
+
import { autoConnect, detectActiveSession } from './chunk-ZPW6PUNK.js';
|
|
5
5
|
import { acquireSpoolLockAt } from './chunk-3H7NZPYG.js';
|
|
6
|
-
import { resolveRepoIdentity } from './chunk-
|
|
6
|
+
import { resolveRepoIdentity } from './chunk-XT5SOJRC.js';
|
|
7
7
|
import { C } from './chunk-ANPNT6PM.js';
|
|
8
|
-
import { resolveGatewayCredentials, defaultFetch, unauthorizedMessage } from './chunk-
|
|
8
|
+
import { resolveGatewayCredentials, defaultFetch, unauthorizedMessage } from './chunk-VQ2JGZSC.js';
|
|
9
9
|
import { launchedItemForSession } from './chunk-T2Q7ISPE.js';
|
|
10
10
|
import { parseTrackerNumber, trackerNumberError } from './chunk-WZBHBH3J.js';
|
|
11
11
|
import { StepNameSchema, StepBodySchema } from './chunk-3WW2TL7V.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { DEFAULT_UNIT_NAME } from './chunk-
|
|
4
|
-
import { RUNNER_FILE_MODE } from './chunk-
|
|
3
|
+
import { DEFAULT_UNIT_NAME } from './chunk-HBBCQ5NE.js';
|
|
4
|
+
import { RUNNER_FILE_MODE } from './chunk-ESP5VZBD.js';
|
|
5
5
|
import { claudeEnvPath, withoutCredentialLines } from './chunk-HDSDUTX4.js';
|
|
6
6
|
import { parseRunnerEnv } from './chunk-XD4ZCMA4.js';
|
|
7
7
|
import { existsSync, readFileSync, writeFileSync, renameSync, rmSync } from 'fs';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
3
|
import { isVersion, compareVersions } from './chunk-TQMI335S.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 { readFileSync, mkdirSync, writeFileSync, renameSync } from 'fs';
|
|
6
6
|
import { join } from 'path';
|
|
7
7
|
|
|
@@ -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-ZPW6PUNK.js';
|
|
4
|
+
import { resolveRepoIdentity } from './chunk-XT5SOJRC.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';
|
|
@@ -5,7 +5,7 @@ import { addStdioMcpEntryIfAbsent, addDocsMcpEntryIfAbsent, DOCS_MCP_SERVER_NAME
|
|
|
5
5
|
import { installStarterPack } from './chunk-QCDVKCHA.js';
|
|
6
6
|
import { AGENTS_MD_LAYOUT, declareAgentsMdLayout, linkClaudeSkills, SKILLS_LINK_PATH, describeSkillsLink, isAgentsMdLayout, holdsTodaysLayoutSources, discoverOuterlayerPaths } from './chunk-ZAJKEHIE.js';
|
|
7
7
|
import { C } from './chunk-ANPNT6PM.js';
|
|
8
|
-
import { resolveGitCommonDir, defaultGitRunner } from './chunk-
|
|
8
|
+
import { resolveGitCommonDir, defaultGitRunner } from './chunk-WRX2MCDV.js';
|
|
9
9
|
import { loadTemplateFiles, loadMaintainedFiles, skillDir, AGENTS_SKILLS_BASE } from './chunk-YW4PEGLN.js';
|
|
10
10
|
import { cliInvocation } from './chunk-CRB3POP4.js';
|
|
11
11
|
import { linkedAgentsPath } from './chunk-WXEPMPHK.js';
|
|
@@ -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';
|
|
@@ -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 };
|