@outerlayer/cli 0.25.1 → 0.26.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 +17 -0
- package/README.md +0 -1
- package/dist/{agent-setup-PDIIGMKE.js → agent-setup-YHFZB2BC.js} +5 -5
- package/dist/{build-YYVAJ75G.js → build-JK2DLT6X.js} +4 -4
- package/dist/build-info.json +1 -1
- package/dist/{builder-MNUJS4RG.js → builder-TMA25KRR.js} +4 -4
- package/dist/{check-C6HEFW6R.js → check-FAGTKWHT.js} +28 -28
- package/dist/{chunk-QMQC6JCO.js → chunk-4IFKLYMM.js} +1 -1
- package/dist/{chunk-A6ORKBVJ.js → chunk-4QKHBDEN.js} +20 -11
- package/dist/{chunk-APBTVIM4.js → chunk-4R24DSL2.js} +4 -4
- package/dist/{chunk-ZGMQQWCV.js → chunk-5PMQDQFV.js} +2 -2
- package/dist/{chunk-5222PA6S.js → chunk-665QWBNW.js} +1 -1
- package/dist/{chunk-O2WYUIK7.js → chunk-6FAP657M.js} +1 -1
- package/dist/{chunk-S6AWZKJN.js → chunk-6S3UEBLB.js} +3 -3
- package/dist/{chunk-ENFBARQP.js → chunk-6WZKI6LQ.js} +18 -11
- package/dist/{chunk-N3VSI5ZI.js → chunk-7I6GZSN3.js} +3 -3
- package/dist/{chunk-Q435LWVN.js → chunk-AINUN2TT.js} +3 -3
- package/dist/{chunk-OEU4JSDE.js → chunk-ARMZI56S.js} +4 -4
- package/dist/{chunk-K5WVK7IC.js → chunk-C3AMVSMS.js} +1 -1
- package/dist/{chunk-23SPSYXZ.js → chunk-CLUUAX6O.js} +2 -2
- package/dist/{chunk-FXUVXSY2.js → chunk-D4UDE2AP.js} +1 -1
- package/dist/{chunk-F57CLUH7.js → chunk-DVAAATJP.js} +16 -16
- package/dist/{chunk-CQRIZNE6.js → chunk-DZUANBKP.js} +5 -5
- package/dist/{chunk-ZODVSFI4.js → chunk-F6DIHHBS.js} +1 -1
- package/dist/{chunk-3WZ5ECSM.js → chunk-FQCLEH34.js} +2 -2
- package/dist/{chunk-SNQR2EYI.js → chunk-G2T4HCGT.js} +1 -1
- package/dist/{chunk-M4B6QKNZ.js → chunk-GJZEUQ6D.js} +1 -1
- package/dist/{chunk-4S4VBDSO.js → chunk-H3AEZIYB.js} +1 -1
- package/dist/{chunk-C36EOUUU.js → chunk-ITP76BST.js} +4 -4
- package/dist/{chunk-QXNJWSTM.js → chunk-JF572PM5.js} +3 -3
- package/dist/{chunk-ATGHVEU4.js → chunk-KDDFI5MR.js} +1 -1
- package/dist/{chunk-ZI2ZVWKT.js → chunk-L4CW6LZQ.js} +1 -1
- package/dist/{chunk-IGRRD7PX.js → chunk-MLD2NA7N.js} +1 -1
- package/dist/{chunk-H6ZFLIX3.js → chunk-P7UQZFNY.js} +2 -2
- package/dist/{chunk-DEBOL6ON.js → chunk-PYSKSROG.js} +1 -1
- package/dist/{chunk-24LQ34XL.js → chunk-TI33WRBT.js} +4 -4
- package/dist/{chunk-XRYUJTAT.js → chunk-TKL74NLB.js} +1 -1
- package/dist/{chunk-3FNPTQRH.js → chunk-WVM6PM2N.js} +5 -5
- package/dist/{chunk-VAMUWK55.js → chunk-XBCJI6SV.js} +2 -2
- package/dist/{chunk-I25F6YVP.js → chunk-XK7FRM5J.js} +6 -6
- package/dist/{claude-launcher-WGOCLTG6.js → claude-launcher-FXFXYW2E.js} +1 -1
- package/dist/{cli-YMTNHR4W.js → cli-CD4UNXBY.js} +80 -129
- package/dist/{command-DKYZC7PH.js → command-A54TSZWD.js} +19 -19
- package/dist/{connect-cmd-F7T4LNKX.js → connect-cmd-HAFFAVEO.js} +4 -4
- package/dist/{container-start-AX7QXJMR.js → container-start-NRPEMKKE.js} +18 -18
- package/dist/{control-plane-launch-ZFT6SI4N.js → control-plane-launch-FRK5IZXC.js} +4 -4
- package/dist/{docker-5EC5TE3Y.js → docker-4X2A5HDY.js} +4 -4
- package/dist/{doctor-S6YCZGUU.js → doctor-AXJQQBKY.js} +36 -22
- package/dist/{emit-artifact-cmd-DJO475VZ.js → emit-artifact-cmd-Y2GMWCSD.js} +8 -8
- package/dist/{emit-criteria-cmd-EULQ2MLI.js → emit-criteria-cmd-LI7OLHEC.js} +5 -5
- package/dist/{emit-finding-cmd-QIIKMITO.js → emit-finding-cmd-3LU7C356.js} +5 -5
- package/dist/{emit-result-cmd-NMCLTA47.js → emit-result-cmd-NKAKRBW2.js} +8 -8
- package/dist/{emit-step-cmd-72OX5P6M.js → emit-step-cmd-JQ23TRF5.js} +6 -6
- package/dist/{governing-source-JNQ6PX2A.js → governing-source-73APROH6.js} +8 -8
- package/dist/{hook-fast-NEELST6G.js → hook-fast-GD7F2EBL.js} +1 -1
- package/dist/{pending-BGLMTB5Q.js → host-key-5TKBNUZ4.js} +2 -2
- package/dist/{image-tag-6KJOGBQK.js → image-tag-5SJ6ZKT7.js} +2 -2
- package/dist/index.js +4 -4
- package/dist/{init-G7XC5WWL.js → init-5WVPLO3G.js} +18 -18
- package/dist/{init-624F4JIP.js → init-IFQCZKY6.js} +18 -18
- package/dist/{init-cmd-UUYA57VO.js → init-cmd-KNYXSA6O.js} +8 -8
- package/dist/{init-update-MMV33PLM.js → init-update-HTHYQOHU.js} +6 -6
- package/dist/{install-MPEJJ7X6.js → install-QSTTBUHX.js} +2 -2
- package/dist/{install-cmd-SE6NCTJK.js → install-cmd-3DXJJUAA.js} +4 -4
- package/dist/{logs-T4ERSOQ4.js → logs-VN2HKDSH.js} +1 -1
- package/dist/{loop-K5B2A3VW.js → loop-HTWKPG3J.js} +28 -28
- package/dist/{machine-J4IFVIKU.js → machine-AYYL2WXW.js} +15 -15
- package/dist/{mcp-serve-cmd-7M4VLNI4.js → mcp-serve-cmd-QBFQN553.js} +3 -3
- package/dist/paths-ZC6BMWMT.js +8 -0
- package/dist/{host-key-ICJEQBWH.js → pending-54HC7MM3.js} +2 -2
- package/dist/{pidfile-VYBH3IMN.js → pidfile-BY5Z6YH7.js} +2 -2
- package/dist/{record-GNOHDJ2O.js → record-K23IN6QN.js} +2 -2
- package/dist/{runner-env-GUFV544G.js → runner-env-2D7MPOIJ.js} +3 -3
- package/dist/{runner-identity-HZ6CBM2R.js → runner-identity-NH6RLVMI.js} +4 -4
- package/dist/{runner-key-FFVZUEHE.js → runner-key-3HAVHQZI.js} +18 -18
- package/dist/{session-sender-3SUWNNVP.js → session-sender-535VA2CA.js} +9 -9
- package/dist/{spec-cmd-VZDE6FFH.js → spec-cmd-KERLZ6GJ.js} +6 -6
- package/dist/{status-GXTD44DX.js → status-IAXWRX7B.js} +19 -19
- package/dist/{sync-cmd-VFB3NEJ6.js → sync-cmd-EIRKU5FA.js} +8 -8
- package/dist/{watch-LWMTDD3L.js → watch-SMF5CW5T.js} +8 -8
- package/dist/{work-claim-cmd-FOBTDQVR.js → work-claim-cmd-JCUBRZKN.js} +8 -8
- package/dist/{work-cmd-6HARIBMW.js → work-cmd-C3CFJZYD.js} +6 -6
- package/dist/{work-comment-cmd-BITPALHR.js → work-comment-cmd-NDE3O7PN.js} +6 -6
- package/dist/{work-logs-cmd-VGB3O2LZ.js → work-logs-cmd-KUGBBJAO.js} +6 -6
- package/dist/{work-open-pr-cmd-SVZCNOIM.js → work-open-pr-cmd-TFIGKPRL.js} +7 -7
- package/dist/{work-pr-cmd-SJT46GN4.js → work-pr-cmd-KKCLXRJL.js} +6 -6
- package/dist/{work-stop-cmd-WXKVVA4S.js → work-stop-cmd-QUEDBM4Q.js} +6 -6
- package/package.json +2 -2
- package/dist/import-capture-cmd-TCOKNVBM.js +0 -73
- package/dist/import-ruler-cmd-VJOHOJQ7.js +0 -173
- package/dist/paths-2KGM2LZV.js +0 -8
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
# @outerlayer/cli
|
|
2
2
|
|
|
3
|
+
## 0.26.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 9dab934: Remove `outerlayer import capture`, `outerlayer import ruler` and `outerlayer hooks install-git`. `outerlayer init` installs the maintained skills, and `outerlayer init --update` refreshes them. `outerlayer init` and `outerlayer sync` remove the git hooks that an earlier version installed.
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- 847b8eb: MicroVM builds use Firecracker 1.17.0. On a host with the root helper, run `outerlayer runner install --service --replace` so its builds use it too. Until then, `outerlayer doctor` and each build's log say the helper runs an older Firecracker.
|
|
12
|
+
- 0405fed: MicroVM builds no longer stop after a CLI update that pins a new Firecracker, guest kernel or guest helper. The runner keeps each file under its pinned hash and downloads the new one.
|
|
13
|
+
|
|
14
|
+
## 0.25.2
|
|
15
|
+
|
|
16
|
+
### Patch Changes
|
|
17
|
+
|
|
18
|
+
- 73ce466: MicroVM builds under the jailer no longer fail when an earlier release left the runner's build directory writable by its group. The runner makes that directory private first, and `outerlayer doctor` reports it.
|
|
19
|
+
|
|
3
20
|
## 0.25.1
|
|
4
21
|
|
|
5
22
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -437,7 +437,6 @@ before it gives up.
|
|
|
437
437
|
| `outerlayer daemon` | Run the copy-out daemon in the foreground (`--once` for a single sweep, which uploads nothing). Once cloud credentials exist, it also streams a launched session's new turns as they land — see Privacy, above. `outerlayer watch` is the former name and still works, with a warning. |
|
|
438
438
|
| `outerlayer doctor` | Check the installation: hooks, status-line freshness, sync health and, with a factory key, the GitHub App access builds need. `--json` prints the checks and a summary for scripts. |
|
|
439
439
|
| `outerlayer context emit [--check]` | Compile `.outerlayer/` into each configured target tool's native files (targets come from `.outerlayer/config.json`). `--check` computes outputs and diffs against disk without writing (CI mode). Bare `outerlayer emit` with no name still compiles, with a deprecation warning. |
|
|
440
|
-
| `outerlayer import ruler` | Port a `.ruler/` tree ([Ruler](https://github.com/intellectronica/ruler)) into the equivalent `.outerlayer/` tree — mostly a rename; never overwrites an existing `.outerlayer/`. |
|
|
441
440
|
| `outerlayer hooks wrap` / `outerlayer hooks unwrap` | Auto-wrap (or undo wrapping) `PreToolUse`/`PostToolUse` hooks for execution evidence — one spawn per firing. |
|
|
442
441
|
| `outerlayer emit artifact <file> --caption <text> [--for <criterion-id>] [--pr <n>]` | Upload a proof artifact — screenshot, recording, report, or log — with its caption. Inside a recorded session it spools locally and ships on the next `sync`; otherwise it uploads immediately, anchored to a pull request or the current checkout. `--replaces` retires artifacts an earlier run uploaded. A JUnit XML file bound with `--for` proves a criterion that declares `test` proof; `--test <name[=path:line]>` binds only the named tests. |
|
|
443
442
|
| `outerlayer emit <name> --result <pass\|fail> [--link <url>] [--body <text>\|--body-file <path>] --item <number>` | Record one named check's outcome on a work item. A check that ran carries the run URL as its proof (`--link`); a judgment you are making yourself carries one sentence (`--body`, or `--body-file` to read it from a file — `-` reads standard input). A `fail` needs at least one of the two; a `pass` needs neither. `--item` names the work item by the number printed when the item was created — always required, in or out of a recorded session; a session records checks on its own item like any other, stored as the session's, but cannot clear a person's fail. Prints the recorded check's id. Who recorded it comes from your API key, never from what you send. |
|
|
@@ -1,11 +1,11 @@
|
|
|
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-H3AEZIYB.js';
|
|
4
4
|
import './chunk-WX2WEERU.js';
|
|
5
5
|
import './chunk-VJBFQP3H.js';
|
|
6
|
-
import './chunk-
|
|
6
|
+
import './chunk-D4UDE2AP.js';
|
|
7
7
|
import './chunk-MQ743JX3.js';
|
|
8
|
-
import './chunk-
|
|
8
|
+
import './chunk-GJZEUQ6D.js';
|
|
9
9
|
import './chunk-ZJSNLVCE.js';
|
|
10
10
|
import './chunk-BJ3KTMDH.js';
|
|
11
11
|
import './chunk-YVZJ6GKF.js';
|
|
@@ -21,8 +21,8 @@ import './chunk-RKOTJQVG.js';
|
|
|
21
21
|
import './chunk-QZBXLLTV.js';
|
|
22
22
|
import './chunk-VNVZDWO3.js';
|
|
23
23
|
import './chunk-RA3O54FC.js';
|
|
24
|
-
import './chunk-
|
|
25
|
-
import './chunk-
|
|
24
|
+
import './chunk-F6DIHHBS.js';
|
|
25
|
+
import './chunk-L4CW6LZQ.js';
|
|
26
26
|
import './chunk-2K3TCQHW.js';
|
|
27
27
|
import './chunk-JGD5TWQ2.js';
|
|
28
28
|
import './chunk-Z5GEFMRW.js';
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
export { buildRepositoryImage } from './chunk-
|
|
4
|
-
import './chunk-
|
|
3
|
+
export { buildRepositoryImage } from './chunk-AINUN2TT.js';
|
|
4
|
+
import './chunk-PYSKSROG.js';
|
|
5
5
|
import './chunk-JBJTC3UU.js';
|
|
6
|
-
export { RecipeError } from './chunk-
|
|
7
|
-
import './chunk-
|
|
6
|
+
export { RecipeError } from './chunk-4R24DSL2.js';
|
|
7
|
+
import './chunk-L4CW6LZQ.js';
|
|
8
8
|
import './chunk-2K3TCQHW.js';
|
|
9
9
|
import './chunk-JGD5TWQ2.js';
|
|
10
10
|
import './chunk-Z5GEFMRW.js';
|
package/dist/build-info.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"id":"2026-10-
|
|
1
|
+
{"id":"2026-10-16T14:55:16.789Z+b8b6796","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-
|
|
4
|
-
import './chunk-
|
|
3
|
+
export { MIN_BUILDX_VERSION, builderName, builderSpec, buildxState, ensureBuilder, ensureFailureCount, isOutOfMemory, proxyEnvironment, trackImageBuild } from './chunk-7I6GZSN3.js';
|
|
4
|
+
import './chunk-4R24DSL2.js';
|
|
5
5
|
import './chunk-7RQ73DLO.js';
|
|
6
6
|
import './chunk-QE3UQAHK.js';
|
|
7
7
|
import './chunk-QZBXLLTV.js';
|
|
8
|
-
import './chunk-
|
|
9
|
-
import './chunk-
|
|
8
|
+
import './chunk-F6DIHHBS.js';
|
|
9
|
+
import './chunk-L4CW6LZQ.js';
|
|
10
10
|
import './chunk-2K3TCQHW.js';
|
|
11
11
|
import './chunk-JGD5TWQ2.js';
|
|
12
12
|
import './chunk-Z5GEFMRW.js';
|
|
@@ -1,53 +1,53 @@
|
|
|
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-DVAAATJP.js';
|
|
4
|
+
import './chunk-4QKHBDEN.js';
|
|
5
|
+
import './chunk-TKL74NLB.js';
|
|
6
6
|
import './chunk-ZVB57WI6.js';
|
|
7
|
-
import './chunk-
|
|
7
|
+
import './chunk-6FAP657M.js';
|
|
8
8
|
import './chunk-3JVYMD4G.js';
|
|
9
9
|
import './chunk-YETTWTAY.js';
|
|
10
10
|
import './chunk-TPKYTORP.js';
|
|
11
|
-
import './chunk-
|
|
11
|
+
import './chunk-XBCJI6SV.js';
|
|
12
12
|
import './chunk-2N72GPS2.js';
|
|
13
13
|
import './chunk-UNF7MWEL.js';
|
|
14
|
-
import './chunk-
|
|
15
|
-
import './chunk-
|
|
14
|
+
import './chunk-ITP76BST.js';
|
|
15
|
+
import './chunk-P7UQZFNY.js';
|
|
16
16
|
import './chunk-ESVW4MJY.js';
|
|
17
|
-
import { placeholderQueues, placeholderProblem, permissionModeProblems, permissionModeProblem, needsClaudeCredential, claudeCredentialCheck, claimPermissionProblem, formerSkillQueues, formerSkillProblem } from './chunk-
|
|
18
|
-
import './chunk-
|
|
17
|
+
import { placeholderQueues, placeholderProblem, permissionModeProblems, permissionModeProblem, needsClaudeCredential, claudeCredentialCheck, claimPermissionProblem, formerSkillQueues, formerSkillProblem } from './chunk-TI33WRBT.js';
|
|
18
|
+
import './chunk-4IFKLYMM.js';
|
|
19
19
|
import './chunk-YYYRBYWG.js';
|
|
20
20
|
import './chunk-TBT347UY.js';
|
|
21
|
-
import './chunk-
|
|
22
|
-
import './chunk-
|
|
23
|
-
import './chunk-
|
|
24
|
-
import './chunk-
|
|
21
|
+
import './chunk-ARMZI56S.js';
|
|
22
|
+
import './chunk-6S3UEBLB.js';
|
|
23
|
+
import './chunk-6WZKI6LQ.js';
|
|
24
|
+
import './chunk-665QWBNW.js';
|
|
25
25
|
import './chunk-TQMI335S.js';
|
|
26
|
-
import './chunk-
|
|
27
|
-
import './chunk-
|
|
26
|
+
import './chunk-5PMQDQFV.js';
|
|
27
|
+
import './chunk-MLD2NA7N.js';
|
|
28
28
|
import { parseRunnerEnv } from './chunk-6MZSX4M7.js';
|
|
29
|
-
import './chunk-
|
|
30
|
-
import './chunk-
|
|
29
|
+
import './chunk-AINUN2TT.js';
|
|
30
|
+
import './chunk-PYSKSROG.js';
|
|
31
31
|
import './chunk-JBJTC3UU.js';
|
|
32
32
|
import './chunk-OGFGZQA3.js';
|
|
33
|
-
import './chunk-
|
|
34
|
-
import './chunk-
|
|
33
|
+
import './chunk-7I6GZSN3.js';
|
|
34
|
+
import './chunk-4R24DSL2.js';
|
|
35
35
|
import './chunk-HPOEVC2V.js';
|
|
36
36
|
import './chunk-XGJUNNXL.js';
|
|
37
|
-
import './chunk-
|
|
38
|
-
import './chunk-
|
|
39
|
-
import './chunk-
|
|
40
|
-
import './chunk-
|
|
37
|
+
import './chunk-WVM6PM2N.js';
|
|
38
|
+
import './chunk-DZUANBKP.js';
|
|
39
|
+
import './chunk-FQCLEH34.js';
|
|
40
|
+
import './chunk-G2T4HCGT.js';
|
|
41
41
|
import './chunk-BUP5N3X6.js';
|
|
42
42
|
import './chunk-XSPA5ODY.js';
|
|
43
43
|
import './chunk-GOSFARMS.js';
|
|
44
44
|
import { loadRunnerConfig, RunnerConfigError, checkHooks } from './chunk-JWRX5ZTT.js';
|
|
45
45
|
import './chunk-UXYLWVTQ.js';
|
|
46
46
|
import './chunk-7RQ73DLO.js';
|
|
47
|
-
import './chunk-
|
|
47
|
+
import './chunk-D4UDE2AP.js';
|
|
48
48
|
import './chunk-MQ743JX3.js';
|
|
49
|
-
import './chunk-
|
|
50
|
-
import './chunk-
|
|
49
|
+
import './chunk-GJZEUQ6D.js';
|
|
50
|
+
import './chunk-C3AMVSMS.js';
|
|
51
51
|
import './chunk-ZJSNLVCE.js';
|
|
52
52
|
import './chunk-DYEFPYME.js';
|
|
53
53
|
import './chunk-BKO6JEZI.js';
|
|
@@ -69,8 +69,8 @@ import './chunk-RKOTJQVG.js';
|
|
|
69
69
|
import './chunk-QZBXLLTV.js';
|
|
70
70
|
import './chunk-VNVZDWO3.js';
|
|
71
71
|
import './chunk-RA3O54FC.js';
|
|
72
|
-
import './chunk-
|
|
73
|
-
import './chunk-
|
|
72
|
+
import './chunk-F6DIHHBS.js';
|
|
73
|
+
import './chunk-L4CW6LZQ.js';
|
|
74
74
|
import './chunk-2K3TCQHW.js';
|
|
75
75
|
import './chunk-JGD5TWQ2.js';
|
|
76
76
|
import './chunk-Z5GEFMRW.js';
|
|
@@ -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-L4CW6LZQ.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,19 +1,19 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
3
|
import { readsJobState, READ_JOB_STATE_FORMATS, jobStateFormatOf } from './chunk-ZVB57WI6.js';
|
|
4
|
-
import { senderPidfile } from './chunk-
|
|
4
|
+
import { senderPidfile } from './chunk-XBCJI6SV.js';
|
|
5
5
|
import { DOCKERD_LOG, HELPER_PATH, HELPER_RECORD } from './chunk-2N72GPS2.js';
|
|
6
6
|
import { writeDockerClientConfig } from './chunk-UNF7MWEL.js';
|
|
7
|
-
import { installScrubContext } from './chunk-
|
|
8
|
-
import { ADDED_USER, AssetError, obtainImage, ensureRootfs, gitRemoteFor, startServicesFor, createBuildDisk, machineConfig, resolveAgentUser, AgentUserError, runBuildSteps, shellQuote, LEASE_SECONDS, createContainerRuntime, stopContainer, cleanupContainer, outOfMemoryReason, containerSenderCommand, signalInContainer, syncInContainer, copyTranscriptsFromContainer, senderAliveScript, HelperRefusal, GH_CONFIG_YML, ghHostsYml, isLiteralAddress, deleteBuildDisk, startCheckContainer, lifecycleSteps, lifecycleFailureReason, writeEvalInput, DeliveryFailure, EVAL_INPUT_NAME, copyTranscripts, senderSignalScript, containerJudgeEnvironment, copyJudgeTree } from './chunk-
|
|
9
|
-
import { readBranchHead, fetchCommit, diffBetween } from './chunk-
|
|
7
|
+
import { installScrubContext } from './chunk-ITP76BST.js';
|
|
8
|
+
import { ADDED_USER, AssetError, obtainImage, ensureRootfs, gitRemoteFor, startServicesFor, createBuildDisk, machineConfig, resolveAgentUser, AgentUserError, runBuildSteps, shellQuote, LEASE_SECONDS, createContainerRuntime, stopContainer, cleanupContainer, outOfMemoryReason, containerSenderCommand, signalInContainer, syncInContainer, copyTranscriptsFromContainer, senderAliveScript, helperFirecrackerNote, HelperRefusal, GH_CONFIG_YML, ghHostsYml, isLiteralAddress, deleteBuildDisk, startCheckContainer, lifecycleSteps, lifecycleFailureReason, writeEvalInput, DeliveryFailure, EVAL_INPUT_NAME, copyTranscripts, senderSignalScript, containerJudgeEnvironment, copyJudgeTree } from './chunk-6WZKI6LQ.js';
|
|
9
|
+
import { readBranchHead, fetchCommit, diffBetween } from './chunk-AINUN2TT.js';
|
|
10
10
|
import { isSameProcess, startTimeOf } from './chunk-JBJTC3UU.js';
|
|
11
|
-
import { HASH_ARGV, parseProgramHash, JUDGE_PROGRAM, writeJobFile, readJobFile, COMMAND_DIR, childEnvironment, judgeCommand, JUDGE_MAX_TURNS, MAX_REPORT_BYTES, JUDGE_DIR } from './chunk-
|
|
12
|
-
import { CLAUDE_CODE_VERSION } from './chunk-
|
|
11
|
+
import { HASH_ARGV, parseProgramHash, JUDGE_PROGRAM, writeJobFile, readJobFile, COMMAND_DIR, childEnvironment, judgeCommand, JUDGE_MAX_TURNS, MAX_REPORT_BYTES, JUDGE_DIR } from './chunk-7I6GZSN3.js';
|
|
12
|
+
import { CLAUDE_CODE_VERSION, FIRECRACKER_VERSION } from './chunk-4R24DSL2.js';
|
|
13
13
|
import { waitForAgent, vmExecArgs } from './chunk-HPOEVC2V.js';
|
|
14
14
|
import { socketPathProblem, vsockLinks, linkVsockSockets } from './chunk-XGJUNNXL.js';
|
|
15
|
-
import { describeCallFailure, resolveGoverningSource, refusalCode, removeStagedContext, stageGovernedContext, pinnedSourceOf, commandWithShim, logStamp, createRunnerLog, formatDuration, retrySend, formatClock } from './chunk-
|
|
16
|
-
import { WorkCommandError, postJson, isSignatureRefusal, getJson } from './chunk-
|
|
15
|
+
import { describeCallFailure, resolveGoverningSource, refusalCode, removeStagedContext, stageGovernedContext, pinnedSourceOf, commandWithShim, logStamp, createRunnerLog, formatDuration, retrySend, formatClock } from './chunk-WVM6PM2N.js';
|
|
16
|
+
import { WorkCommandError, postJson, isSignatureRefusal, getJson } from './chunk-DZUANBKP.js';
|
|
17
17
|
import { planArtifactUpload } from './chunk-BUP5N3X6.js';
|
|
18
18
|
import { isBuiltinContainer, isBuiltinProcess, isBuiltinVm, DEFAULT_CHECK_TIME_LIMIT_MINUTES } from './chunk-JWRX5ZTT.js';
|
|
19
19
|
import { parseSize } from './chunk-7RQ73DLO.js';
|
|
@@ -23,8 +23,8 @@ import { resolvePackRoot } from './chunk-HBISTTG3.js';
|
|
|
23
23
|
import { parsePolicy } from './chunk-RKOTJQVG.js';
|
|
24
24
|
import { homeFromEnv } from './chunk-VNVZDWO3.js';
|
|
25
25
|
import { resolveVersion } from './chunk-RA3O54FC.js';
|
|
26
|
-
import { signerFor } from './chunk-
|
|
27
|
-
import { RUNNER_FILE_MODE, runnerDir, buildDir, vsockPath } from './chunk-
|
|
26
|
+
import { signerFor } from './chunk-F6DIHHBS.js';
|
|
27
|
+
import { RUNNER_FILE_MODE, runnerDir, buildDir, vsockPath } from './chunk-L4CW6LZQ.js';
|
|
28
28
|
import { claudeCredential, repositoriesOf, primaryOf, buildEnvironment, JOB_MOUNT, CHECKOUT_DIR, parseIsolation, proxyEnvironment, withProxyWarningHidden, containerLocalAddress, destinationEnvironment, CLAUDE_CREDENTIAL_VARIABLES, builtInEnvironment, withHooksPath, startBuildServices, BUILT_IN_NAMES, AGENT_CREDENTIAL_MISSING, sharedUserEnvironment, headerVariables, authorEnvironment, withTunnelRecord, commitIdentityRecord, RELAY_PORT, repositoryPath, lifecycleWorkdir, checkEnvironment, EVAL_INPUT_DIR } from './chunk-2K3TCQHW.js';
|
|
29
29
|
import { RUNNER_WORDED_REASONS, UNKNOWN_TRACKING_REASON } from './chunk-JGD5TWQ2.js';
|
|
30
30
|
import { existsSync, statSync, appendFileSync, mkdirSync, chmodSync, writeFileSync, accessSync, constants, openSync, readFileSync, closeSync, rmSync, readdirSync, linkSync, lstatSync, fstatSync, readSync, realpathSync } from 'fs';
|
|
@@ -207,9 +207,17 @@ function vmAlive(runtime, state) {
|
|
|
207
207
|
if (state.jailed !== void 0) return runtime.vm.helper.alive(state.jailed.unit);
|
|
208
208
|
return state.firecracker !== void 0 && runtime.vm.firecracker.alive(state.firecracker);
|
|
209
209
|
}
|
|
210
|
+
function makeBuildsDirPrivate(buildDir2) {
|
|
211
|
+
const builds = dirname(buildDir2);
|
|
212
|
+
const stat = statSync(builds);
|
|
213
|
+
if (stat.uid === process.getuid?.() && (stat.mode & 18) !== 0) chmodSync(builds, 448);
|
|
214
|
+
}
|
|
210
215
|
async function helperFor(runtime, log) {
|
|
211
216
|
const probe = await runtime.vm.helper.probe();
|
|
212
|
-
if (probe.ok)
|
|
217
|
+
if (probe.ok) {
|
|
218
|
+
if (probe.firecracker !== FIRECRACKER_VERSION) log(`${helperFirecrackerNote(probe.firecracker)}; run \`outerlayer runner install --service --replace\` to update it`);
|
|
219
|
+
return probe.client;
|
|
220
|
+
}
|
|
213
221
|
if (probe.reason === "unsupported") log(probe.detail);
|
|
214
222
|
else if (probe.unreachable === true) log(`${probe.detail}, so this build runs without the jailer`);
|
|
215
223
|
return void 0;
|
|
@@ -337,6 +345,7 @@ async function provisionMicroVm(input) {
|
|
|
337
345
|
if (input.aborted()) return bail("", true);
|
|
338
346
|
mkdirSync(buildDir2, { recursive: true, mode: 448 });
|
|
339
347
|
chmodSync(buildDir2, 448);
|
|
348
|
+
makeBuildsDirPrivate(buildDir2);
|
|
340
349
|
try {
|
|
341
350
|
const gitRemote = gitRemoteFor(runtime, { repositories, tokens, buildDir: buildDir2, log: (line) => log.line(`${tag} ${line}`) });
|
|
342
351
|
runtime.tunnels.set(buildId, await startServicesFor(runtime, config, buildDir2, jobDir, itemKey, true, gitRemote));
|
|
@@ -242,12 +242,12 @@ var MICROVM_ARCHES = ["x86_64"];
|
|
|
242
242
|
function firecrackerArch(nodeArch) {
|
|
243
243
|
return nodeArch === "x64" ? "x86_64" : nodeArch === "arm64" ? "aarch64" : nodeArch;
|
|
244
244
|
}
|
|
245
|
-
var FIRECRACKER_VERSION = "1.
|
|
245
|
+
var FIRECRACKER_VERSION = "1.17.0";
|
|
246
246
|
var FIRECRACKER_SHA256 = {
|
|
247
|
-
x86_64: "
|
|
247
|
+
x86_64: "06094a1108ae9e82aa4c23a775aa92758f53f1175d422270d9d6162cb9ade558"
|
|
248
248
|
};
|
|
249
249
|
var FIRECRACKER_BINARY_SHA256 = {
|
|
250
|
-
x86_64: "
|
|
250
|
+
x86_64: "99ad0f5cd0514a88aad0e9ae8cfdb3cc3b4ab9d190e1194602406c786b5de7a5"
|
|
251
251
|
};
|
|
252
252
|
var GUEST_ASSETS_VERSION = "1";
|
|
253
253
|
var GUEST_ASSETS_BASE_URL = `https://github.com/outerlayerai/guest-assets/releases/download/guest-${GUEST_ASSETS_VERSION}`;
|
|
@@ -262,7 +262,7 @@ function guestAssetsPinned(arch) {
|
|
|
262
262
|
return GUEST_KERNEL_SHA256[arch] !== zero && GUEST_HELPER_SHA256[arch] !== zero;
|
|
263
263
|
}
|
|
264
264
|
var JAILER_BINARY_SHA256 = {
|
|
265
|
-
x86_64: "
|
|
265
|
+
x86_64: "65ef226e96f0ceda55ba643f445801ef2cc0ea667ef67cad8ac4f406c9c8434f"
|
|
266
266
|
};
|
|
267
267
|
var HOST_HELPER_ASSETS_VERSION = "4";
|
|
268
268
|
var HOST_HELPER_BASE_URL = `https://github.com/outerlayerai/guest-assets/releases/download/guest-${HOST_HELPER_ASSETS_VERSION}`;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { DEFAULT_UNIT_NAME } from './chunk-
|
|
3
|
+
import { DEFAULT_UNIT_NAME } from './chunk-MLD2NA7N.js';
|
|
4
4
|
import { parseRunnerEnv } from './chunk-6MZSX4M7.js';
|
|
5
|
-
import { RUNNER_FILE_MODE } from './chunk-
|
|
5
|
+
import { RUNNER_FILE_MODE } from './chunk-L4CW6LZQ.js';
|
|
6
6
|
import { existsSync, readFileSync, writeFileSync, renameSync, rmSync } from 'fs';
|
|
7
7
|
import { join, dirname } from 'path';
|
|
8
8
|
|
|
@@ -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-L4CW6LZQ.js';
|
|
5
5
|
import { readFileSync, mkdirSync, writeFileSync, renameSync } from 'fs';
|
|
6
6
|
import { join } from 'path';
|
|
7
7
|
|
|
@@ -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-L4CW6LZQ.js';
|
|
4
4
|
import { readFileSync, mkdirSync, writeFileSync, renameSync } from 'fs';
|
|
5
5
|
import { join } from 'path';
|
|
6
6
|
|
|
@@ -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-6WZKI6LQ.js';
|
|
4
|
+
import { runnerImageVersion } from './chunk-665QWBNW.js';
|
|
5
|
+
import { firecrackerArch, MICROVM_ARCHES, guestAssetsPinned } from './chunk-4R24DSL2.js';
|
|
6
6
|
import { spawnSync } from 'child_process';
|
|
7
7
|
import { existsSync, accessSync, constants, statSync, readFileSync } from 'fs';
|
|
8
8
|
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { runnerImageVersion } from './chunk-
|
|
4
|
-
import { readDefaultBranchHead, cloneRepository, buildRepositoryImage } from './chunk-
|
|
3
|
+
import { runnerImageVersion } from './chunk-665QWBNW.js';
|
|
4
|
+
import { readDefaultBranchHead, cloneRepository, buildRepositoryImage } from './chunk-AINUN2TT.js';
|
|
5
5
|
import { startTimeOf, isSameProcess } from './chunk-JBJTC3UU.js';
|
|
6
6
|
import { currentCliBuild } from './chunk-OGFGZQA3.js';
|
|
7
|
-
import { createDockerHost, builderSpec, runnerLabelValue, RUNNER_LABEL, BUILD_LABEL, prepareRunArgs, containerRunArgs, HASH_ARGV, parseProgramHash, JUDGE_PROGRAM, containerExecArgs, childEnvironment, JUDGE_DIR, JUDGE_REPORT, MAX_REPORT_BYTES, spawnRun } from './chunk-
|
|
8
|
-
import { hostHelperPinned, firecrackerArch, MICROVM_ARCHES, RecipeError, DOCKER_FEATURE, CLAUDE_CODE_VERSION, GUEST_HELPER_SHA256, GUEST_ASSETS_BASE_URL, GUEST_KERNEL_SHA256, JAILER_BINARY_SHA256, FIRECRACKER_BINARY_SHA256, FIRECRACKER_SHA256,
|
|
7
|
+
import { createDockerHost, builderSpec, runnerLabelValue, RUNNER_LABEL, BUILD_LABEL, prepareRunArgs, containerRunArgs, HASH_ARGV, parseProgramHash, JUDGE_PROGRAM, containerExecArgs, childEnvironment, JUDGE_DIR, JUDGE_REPORT, MAX_REPORT_BYTES, spawnRun } from './chunk-7I6GZSN3.js';
|
|
8
|
+
import { FIRECRACKER_VERSION, hostHelperPinned, firecrackerArch, MICROVM_ARCHES, RecipeError, DOCKER_FEATURE, CLAUDE_CODE_VERSION, GUEST_HELPER_SHA256, GUEST_ASSETS_BASE_URL, GUEST_KERNEL_SHA256, JAILER_BINARY_SHA256, FIRECRACKER_BINARY_SHA256, FIRECRACKER_SHA256, GUEST_ASSETS_VERSION, DEFAULT_BASE_IMAGE } from './chunk-4R24DSL2.js';
|
|
9
9
|
import { execCapture } from './chunk-HPOEVC2V.js';
|
|
10
10
|
import { GUEST_CID } from './chunk-XGJUNNXL.js';
|
|
11
|
-
import { describeCallFailure, controlPlaneTokenFailure, refusalCode, resolveGoverningSource, removeStagedContext, stageGovernedContext, pinnedSourceOf, commandWithShim, shimScript } from './chunk-
|
|
12
|
-
import { WorkCommandError } from './chunk-
|
|
11
|
+
import { describeCallFailure, controlPlaneTokenFailure, refusalCode, resolveGoverningSource, removeStagedContext, stageGovernedContext, pinnedSourceOf, commandWithShim, shimScript } from './chunk-WVM6PM2N.js';
|
|
12
|
+
import { WorkCommandError } from './chunk-DZUANBKP.js';
|
|
13
13
|
import { hostAllowed } from './chunk-UXYLWVTQ.js';
|
|
14
14
|
import { parseDuKilobytes } from './chunk-7RQ73DLO.js';
|
|
15
15
|
import { sharedSkillNames, skillConflictMessage } from './chunk-VPEGE3QZ.js';
|
|
@@ -17,7 +17,7 @@ import { versionAtLeast, MINIMUM_CLAUDE_VERSION } from './chunk-HCVLP7XA.js';
|
|
|
17
17
|
import { setCustomScrubbers, setLocalIdentity, setRepoRoot, parseTranscript, scrubDeep, scrubText } from './chunk-QE3UQAHK.js';
|
|
18
18
|
import { orderSessions, extractFacts, sessionsToTimeline } from './chunk-RKOTJQVG.js';
|
|
19
19
|
import { downconvertSession } from './chunk-QZBXLLTV.js';
|
|
20
|
-
import { vmAssetsDir, RUNNER_DIR_MODE, rootfsPathFor, diskTemplatesDir, RUNNER_FILE_MODE, deliveryDir, ghConfigDir, runnerDirOfBuild, spoolDir, mirrorDir, buildDir, SHIM_DIR } from './chunk-
|
|
20
|
+
import { vmAssetsDir, RUNNER_DIR_MODE, rootfsPathFor, diskTemplatesDir, RUNNER_FILE_MODE, deliveryDir, ghConfigDir, runnerDirOfBuild, spoolDir, mirrorDir, buildDir, SHIM_DIR } from './chunk-L4CW6LZQ.js';
|
|
21
21
|
import { repositoriesOf, primaryOf, RELAY_PORT, repositoryPath, CHECKOUT_DIR, lifecycleWorkdir, claudeCredential, buildEnvironment, startBuildServices, checkEnvironment, AGENT_CREDENTIAL_MISSING, checkoutPath, JOB_MOUNT } from './chunk-2K3TCQHW.js';
|
|
22
22
|
import { RELAY_USER, RELAY_ID, UNKNOWN_TRANSPORT_REASON, DOCKER_DESKTOP_REASON, MAX_MALFORMED_SESSIONS, MALFORMED_REASON, MAX_OPEN_STREAMS, STREAM_WINDOW, SESSION_WINDOW, targetOfPath } from './chunk-JGD5TWQ2.js';
|
|
23
23
|
import { readFileSync, mkdirSync, existsSync, mkdtempSync, rmSync, chmodSync, truncateSync, writeFileSync, readdirSync, lstatSync, copyFileSync, accessSync, constants, statSync, rmdirSync, renameSync, unlinkSync, openSync, closeSync, createWriteStream, createReadStream } from 'fs';
|
|
@@ -213,6 +213,9 @@ function helperClient(socketPath, options = {}) {
|
|
|
213
213
|
}
|
|
214
214
|
};
|
|
215
215
|
}
|
|
216
|
+
function helperFirecrackerNote(helperFirecracker) {
|
|
217
|
+
return `the root helper runs Firecracker ${helperFirecracker}, not the ${FIRECRACKER_VERSION} this release pins, so microVM builds run under the jailer with Firecracker ${helperFirecracker}`;
|
|
218
|
+
}
|
|
216
219
|
function reinstallMessage(protocol) {
|
|
217
220
|
const spoken = protocol === void 0 ? "a protocol it does not name" : `protocol ${protocol}`;
|
|
218
221
|
return `the root helper speaks ${spoken}, which this runner does not support, so microVM builds run without the jailer; run \`outerlayer runner install --service --replace\` to install the helper that goes with this release`;
|
|
@@ -476,8 +479,12 @@ async function download(file, url, fetchImpl) {
|
|
|
476
479
|
if (!response.ok) throw new AssetError(file, `${file} could not be downloaded from ${url}: the server answered ${response.status}`);
|
|
477
480
|
return Buffer.from(await response.arrayBuffer());
|
|
478
481
|
}
|
|
482
|
+
function keptPath(dir, sha256, name) {
|
|
483
|
+
mkdirSync(join(dir, sha256), { recursive: true, mode: RUNNER_DIR_MODE });
|
|
484
|
+
return join(dir, sha256, name);
|
|
485
|
+
}
|
|
479
486
|
async function ensureFile(dir, file, pin, fetchImpl, mode) {
|
|
480
|
-
const path =
|
|
487
|
+
const path = keptPath(dir, pin.sha256, file);
|
|
481
488
|
if (existsSync(path)) {
|
|
482
489
|
const actual2 = sha256Of(readFileSync(path));
|
|
483
490
|
if (actual2 !== pin.sha256) throw pinProblem(file, pin.sha256, actual2, `at ${path}`);
|
|
@@ -499,7 +506,7 @@ function extractWithTar(arch, program = "firecracker") {
|
|
|
499
506
|
}
|
|
500
507
|
async function ensureFirecracker(input) {
|
|
501
508
|
const { dir, arch, pins, fetchImpl } = input;
|
|
502
|
-
const firecracker =
|
|
509
|
+
const firecracker = keptPath(dir, pins.firecracker.binarySha256, "firecracker");
|
|
503
510
|
if (existsSync(firecracker)) {
|
|
504
511
|
const actual = sha256Of(readFileSync(firecracker));
|
|
505
512
|
if (actual !== pins.firecracker.binarySha256) throw pinProblem("firecracker", pins.firecracker.binarySha256, actual, `at ${firecracker}`);
|
|
@@ -549,7 +556,7 @@ async function ensureJailer(options) {
|
|
|
549
556
|
const fetchImpl = options.fetchImpl ?? fetch;
|
|
550
557
|
const dir = vmAssetsDir(options.runnerDir);
|
|
551
558
|
mkdirSync(dir, { recursive: true, mode: RUNNER_DIR_MODE });
|
|
552
|
-
const jailer =
|
|
559
|
+
const jailer = keptPath(dir, expected, "jailer");
|
|
553
560
|
if (existsSync(jailer)) {
|
|
554
561
|
const actual = sha256Of(readFileSync(jailer));
|
|
555
562
|
if (actual !== expected) throw pinProblem("jailer", expected, actual, `at ${jailer}`);
|
|
@@ -3304,4 +3311,4 @@ async function startCheckContainer(input) {
|
|
|
3304
3311
|
};
|
|
3305
3312
|
}
|
|
3306
3313
|
|
|
3307
|
-
export { ADDED_USER, AgentUserError, AssetError, DeliveryFailure, EVAL_INPUT_NAME, GH_CONFIG_YML, HelperRefusal, LEASE_SECONDS, MIN_ENGINE_MAJOR, cleanupContainer, containerCommandExec, containerJudgeEnvironment, containerSenderCommand, copyJudgeTree, copyTranscripts, copyTranscriptsFromContainer, createBuildDisk, createContainerRuntime, deleteBuildDisk, deliverContainerHooks, ensureFirecrackerAndJailer, ensureRootfs, ensureTunnel, filesAreCopied, ghHostsYml, gitRemoteFor, helperSocketPath, isLiteralAddress, keepGhConfigCurrent, leaseExpiresAtMs, lifecycleFailureReason, lifecycleSteps, machineConfig, measureDisk, obtainImage, outOfMemoryReason, parseCpuList, prepareBranch, probeHelper, provisionContainer, resolveAgentUser, runBuildSteps, senderAliveScript, senderSignalScript, setUpRunnerCgroup, shellQuote, signalInContainer, startCheckContainer, startServicesFor, stopContainer, syncInContainer, writeEvalInput };
|
|
3314
|
+
export { ADDED_USER, AgentUserError, AssetError, DeliveryFailure, EVAL_INPUT_NAME, GH_CONFIG_YML, HelperRefusal, LEASE_SECONDS, MIN_ENGINE_MAJOR, cleanupContainer, containerCommandExec, containerJudgeEnvironment, containerSenderCommand, copyJudgeTree, copyTranscripts, copyTranscriptsFromContainer, createBuildDisk, createContainerRuntime, deleteBuildDisk, deliverContainerHooks, ensureFirecrackerAndJailer, ensureRootfs, ensureTunnel, filesAreCopied, ghHostsYml, gitRemoteFor, helperFirecrackerNote, helperSocketPath, isLiteralAddress, keepGhConfigCurrent, leaseExpiresAtMs, lifecycleFailureReason, lifecycleSteps, machineConfig, measureDisk, obtainImage, outOfMemoryReason, parseCpuList, prepareBranch, probeHelper, provisionContainer, resolveAgentUser, runBuildSteps, senderAliveScript, senderSignalScript, setUpRunnerCgroup, shellQuote, signalInContainer, startCheckContainer, startServicesFor, stopContainer, syncInContainer, writeEvalInput };
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { RecipeError, BUILDKIT_IMAGE } from './chunk-
|
|
3
|
+
import { RecipeError, BUILDKIT_IMAGE } from './chunk-4R24DSL2.js';
|
|
4
4
|
import { parseSize } from './chunk-7RQ73DLO.js';
|
|
5
5
|
import { compareVersions } from './chunk-QE3UQAHK.js';
|
|
6
|
-
import { ensureHostKey } from './chunk-
|
|
7
|
-
import { RUNNER_DIR_MODE, RUNNER_FILE_MODE, runnerDir, jobsDir } from './chunk-
|
|
6
|
+
import { ensureHostKey } from './chunk-F6DIHHBS.js';
|
|
7
|
+
import { RUNNER_DIR_MODE, RUNNER_FILE_MODE, runnerDir, jobsDir } from './chunk-L4CW6LZQ.js';
|
|
8
8
|
import { CLAUDE_PORT, JOB_MOUNT, GATEWAY_PORT, GATEWAY_SOCKET, CLAUDE_SOCKET, RELAY_PORT, DESTINATION_BASE_PORT } from './chunk-2K3TCQHW.js';
|
|
9
9
|
import { JOIN_DIR, RELAY_ID, JOIN_SOCKET, TARGET_GATEWAY, TARGET_CLAUDE, destinationTarget, RELAY_USER } from './chunk-JGD5TWQ2.js';
|
|
10
10
|
import { StringDecoder } from 'string_decoder';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { claimPidFile, RunnerAlreadyRunningError, releasePidFile } from './chunk-
|
|
3
|
+
import { claimPidFile, RunnerAlreadyRunningError, releasePidFile } from './chunk-PYSKSROG.js';
|
|
4
4
|
import { startTimeOf } from './chunk-JBJTC3UU.js';
|
|
5
|
-
import { CLAUDE_CODE_VERSION, NODE_IMAGE, DEFAULT_BASE_IMAGE, RecipeError, locateRecipe, readRecipe, assertBuildable, TINI_VERSION, GH_VERSION, writeSanitizedRecipe, classifyProperties, GH_SHA256, TINI_SHA256, SANITIZED_NAME } from './chunk-
|
|
6
|
-
import { RUNNER_DIR_MODE, repoCacheDir, imagesDir, attemptStamp, runnerDir, rootfsPathFor, RUNNER_FILE_MODE } from './chunk-
|
|
5
|
+
import { CLAUDE_CODE_VERSION, NODE_IMAGE, DEFAULT_BASE_IMAGE, RecipeError, locateRecipe, readRecipe, assertBuildable, TINI_VERSION, GH_VERSION, writeSanitizedRecipe, classifyProperties, GH_SHA256, TINI_SHA256, SANITIZED_NAME } from './chunk-4R24DSL2.js';
|
|
6
|
+
import { RUNNER_DIR_MODE, repoCacheDir, imagesDir, attemptStamp, runnerDir, rootfsPathFor, RUNNER_FILE_MODE } from './chunk-L4CW6LZQ.js';
|
|
7
7
|
import { withGitConfig, tokenHeader, PROXY_WARNING_FLAG } from './chunk-2K3TCQHW.js';
|
|
8
8
|
import { RELAY_ID, RELAY_USER } from './chunk-JGD5TWQ2.js';
|
|
9
9
|
import { mkdirSync, rmSync, existsSync, mkdtempSync, cpSync, readFileSync, writeFileSync, readdirSync, lstatSync, readlinkSync } from 'fs';
|
|
@@ -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-
|
|
3
|
+
import { detectMachine, supportsContainerBuilds, reachDockerStep, describeMachineDocker, supportsMicroVmBuilds } from './chunk-6S3UEBLB.js';
|
|
4
|
+
import { MIN_ENGINE_MAJOR } from './chunk-6WZKI6LQ.js';
|
|
5
|
+
import { hasStoredCredential, AGENT_COMMANDS, storeClaudeCredential, credentialFromStdin, isAgentName } from './chunk-5PMQDQFV.js';
|
|
6
6
|
import { runnerCredentialProblem } from './chunk-JWRX5ZTT.js';
|
|
7
|
-
import { runnerDir, RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-
|
|
7
|
+
import { runnerDir, RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-L4CW6LZQ.js';
|
|
8
8
|
import { existsSync, readFileSync, mkdirSync, writeFileSync } from 'fs';
|
|
9
9
|
import { dirname } from 'path';
|
|
10
10
|
|
|
@@ -628,7 +628,7 @@ async function missingControlPlane(cwd, sessionId, home, env) {
|
|
|
628
628
|
cleanupEarlierCopies(dirs);
|
|
629
629
|
}
|
|
630
630
|
if (!contextPossiblyGoverned(cwd, home)) return void 0;
|
|
631
|
-
const { governanceOf } = await import('./control-plane-launch-
|
|
631
|
+
const { governanceOf } = await import('./control-plane-launch-FRK5IZXC.js');
|
|
632
632
|
if (await governanceOf({ cwd, env, home }) !== "governed") return void 0;
|
|
633
633
|
recordMissingContext(dirs, sessionId, home);
|
|
634
634
|
const launcher = `${cliInvocation()} claude`;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { autoConnect, detectActiveSession } from './chunk-
|
|
4
|
-
import { defaultFetch, unauthorizedMessage, resolveGatewayCredentials } from './chunk-
|
|
3
|
+
import { autoConnect, detectActiveSession } from './chunk-FQCLEH34.js';
|
|
4
|
+
import { defaultFetch, unauthorizedMessage, resolveGatewayCredentials } from './chunk-GJZEUQ6D.js';
|
|
5
5
|
import { resolveRepoIdentity } from './chunk-QE3UQAHK.js';
|
|
6
6
|
import { C } from './chunk-ANPNT6PM.js';
|
|
7
7
|
import { parseWorkItemEnv } from './chunk-T2Q7ISPE.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
3
|
import { removeRetiredSkills } from './chunk-MQ743JX3.js';
|
|
4
|
-
import { defaultFetch, resolveGatewayCredentials } from './chunk-
|
|
4
|
+
import { defaultFetch, resolveGatewayCredentials } from './chunk-GJZEUQ6D.js';
|
|
5
5
|
import { appendContextProvenance } from './chunk-ZJSNLVCE.js';
|
|
6
6
|
import { loadMaintainedFiles, writeMaintainedFiles } from './chunk-HBISTTG3.js';
|
|
7
7
|
import { cliInvocation } from './chunk-CRB3POP4.js';
|
|
@@ -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, microVmCommandLine, runCommand, commandLogOffset, execCommandLine, startSender, startHostServices, finishJob, isContainerTracked, probeCommand, appendCommandLog, judgeProbe, EXIT_CODE_FILE, isGroupAlive, outcomeFromExitCode, isTimedOut, readCpuUsec, isIdle, stopOrphanedMicroVms, unfinishedJobs, listUnreadableJobs, listAdoptableJobs, retryFailedReleases, recoverLostJobs, hookLimitsFor, AttemptLogBook, needsRenew, renewLease, RENEW_INTERVAL_SECONDS, listTrackedJobs, restartSender, ALREADY_RELEASED, inTeardown } from './chunk-
|
|
4
|
-
import { writePendingUpdate } from './chunk-
|
|
3
|
+
import { releaseLease, isUnfinished, setStage, jobEnv, runHook, describeHookEnd, provisionMicroVm, deliverCommitHooks, provisionProcess, provisionEnvironment, readProvisionOut, resolveHostBuild, workdirProblem, listenOnBroker, hostEnvironment, hostCommandEnvironment, execArgv, microVmCommandLine, runCommand, commandLogOffset, execCommandLine, startSender, startHostServices, finishJob, isContainerTracked, probeCommand, appendCommandLog, judgeProbe, EXIT_CODE_FILE, isGroupAlive, outcomeFromExitCode, isTimedOut, readCpuUsec, isIdle, stopOrphanedMicroVms, unfinishedJobs, listUnreadableJobs, listAdoptableJobs, retryFailedReleases, recoverLostJobs, hookLimitsFor, AttemptLogBook, needsRenew, renewLease, RENEW_INTERVAL_SECONDS, listTrackedJobs, restartSender, ALREADY_RELEASED, inTeardown } from './chunk-4QKHBDEN.js';
|
|
4
|
+
import { writePendingUpdate } from './chunk-TKL74NLB.js';
|
|
5
5
|
import { JOB_STATE_FORMAT, readsJobState, jobStateFormatOf } from './chunk-ZVB57WI6.js';
|
|
6
|
-
import { readHousekeepingRecord, writeHousekeepingRecord } from './chunk-
|
|
6
|
+
import { readHousekeepingRecord, writeHousekeepingRecord } from './chunk-6FAP657M.js';
|
|
7
7
|
import { decideInstalledSwitch } from './chunk-3JVYMD4G.js';
|
|
8
8
|
import { fetchVersionMeta, npmVersion, npmSupportsProvenance, fetchTarballDigest, fetchProvenance, installVersion, auditSignatures } from './chunk-YETTWTAY.js';
|
|
9
9
|
import { RUNNER_PROTOCOL } from './chunk-TPKYTORP.js';
|
|
10
|
-
import { currentSkillCommand, formerSkillProblem, placeholderQueues, placeholderProblem } from './chunk-
|
|
11
|
-
import { writeMarker, readMarker, currentVersion, removeMarker, entryIn, versionDir, startedThroughCurrent, switchCurrent, isInLayout, cleanVersions, stagingDir } from './chunk-
|
|
10
|
+
import { currentSkillCommand, formerSkillProblem, placeholderQueues, placeholderProblem } from './chunk-TI33WRBT.js';
|
|
11
|
+
import { writeMarker, readMarker, currentVersion, removeMarker, entryIn, versionDir, startedThroughCurrent, switchCurrent, isInLayout, cleanVersions, stagingDir } from './chunk-4IFKLYMM.js';
|
|
12
12
|
import { freeBytes, formatBytes } from './chunk-YYYRBYWG.js';
|
|
13
13
|
import { RepoFilter } from './chunk-TBT347UY.js';
|
|
14
|
-
import { LEASE_SECONDS, provisionContainer, leaseExpiresAtMs, deliverContainerHooks, lifecycleSteps, lifecycleFailureReason, prepareBranch, containerCommandExec, measureDisk, setUpRunnerCgroup, createContainerRuntime, parseCpuList, ensureTunnel, keepGhConfigCurrent, filesAreCopied } from './chunk-
|
|
15
|
-
import { tagToPull, pullInstruction, imageTag, writeUpdateStatus } from './chunk-
|
|
14
|
+
import { LEASE_SECONDS, provisionContainer, leaseExpiresAtMs, deliverContainerHooks, lifecycleSteps, lifecycleFailureReason, prepareBranch, containerCommandExec, measureDisk, setUpRunnerCgroup, createContainerRuntime, parseCpuList, ensureTunnel, keepGhConfigCurrent, filesAreCopied } from './chunk-6WZKI6LQ.js';
|
|
15
|
+
import { tagToPull, pullInstruction, imageTag, writeUpdateStatus } from './chunk-665QWBNW.js';
|
|
16
16
|
import { isVersion, compareVersions, satisfiesRange } from './chunk-TQMI335S.js';
|
|
17
|
-
import { checkFit } from './chunk-
|
|
18
|
-
import { claimPidFile, readPidFile, releasePidFile } from './chunk-
|
|
17
|
+
import { checkFit } from './chunk-MLD2NA7N.js';
|
|
18
|
+
import { claimPidFile, readPidFile, releasePidFile } from './chunk-PYSKSROG.js';
|
|
19
19
|
import { startTimeOf, isSameProcess } from './chunk-JBJTC3UU.js';
|
|
20
|
-
import { writeJobFile, ensureRunnerIdentity, readJobFile, builderName, runnerLabelValue, ensureFailureCount, builderSpec, ensureBuilder, spawnRun, BUILD_LABEL, RUNNER_LABEL, readJobFileChecked } from './chunk-
|
|
21
|
-
import { describeCallFailure, retrySend, shortClaim, relativeToRunner, formatDuration, BuildTokens, classifyRefusal, refusalCode, createRunnerLog, formatClock } from './chunk-
|
|
22
|
-
import { isSignatureRefusal, WorkCommandError, getJson, postJson } from './chunk-
|
|
20
|
+
import { writeJobFile, ensureRunnerIdentity, readJobFile, builderName, runnerLabelValue, ensureFailureCount, builderSpec, ensureBuilder, spawnRun, BUILD_LABEL, RUNNER_LABEL, readJobFileChecked } from './chunk-7I6GZSN3.js';
|
|
21
|
+
import { describeCallFailure, retrySend, shortClaim, relativeToRunner, formatDuration, BuildTokens, classifyRefusal, refusalCode, createRunnerLog, formatClock } from './chunk-WVM6PM2N.js';
|
|
22
|
+
import { isSignatureRefusal, WorkCommandError, getJson, postJson } from './chunk-DZUANBKP.js';
|
|
23
23
|
import { isBuiltinContainer, isBuiltinVm, isBuiltinProcess, loadRunnerConfig, checkHooks, builtinKind, DEFAULT_UPDATE_MAX_WAIT_HOURS } from './chunk-JWRX5ZTT.js';
|
|
24
24
|
import { exceedsDisk } from './chunk-7RQ73DLO.js';
|
|
25
25
|
import { resolveVersion } from './chunk-RA3O54FC.js';
|
|
26
|
-
import { loadHostKey, ensureHostKey, signerFor } from './chunk-
|
|
27
|
-
import { RUNNER_DIR_MODE, runnerDir, buildDir, attemptStamp, jobDir, RUNNER_FILE_MODE, jobsDir, pidFilePath, spoolDir, rootfsDir } from './chunk-
|
|
26
|
+
import { loadHostKey, ensureHostKey, signerFor } from './chunk-F6DIHHBS.js';
|
|
27
|
+
import { RUNNER_DIR_MODE, runnerDir, buildDir, attemptStamp, jobDir, RUNNER_FILE_MODE, jobsDir, pidFilePath, spoolDir, rootfsDir } from './chunk-L4CW6LZQ.js';
|
|
28
28
|
import { parseClaimIdentity, parseClaimedRepositories, parseUnreachable, repositoriesOf, primaryOf, sharedUserEnvironment, JOB_MOUNT, claudeCredential } from './chunk-2K3TCQHW.js';
|
|
29
29
|
import { COMMAND_LOST_REASON, CONTAINER_STOPPED_REASON } from './chunk-JGD5TWQ2.js';
|
|
30
30
|
import { randomBytes } from 'crypto';
|
|
@@ -1746,7 +1746,7 @@ var CLAIM_REFUSAL_CODES = new Set(
|
|
|
1746
1746
|
"pull_request_from_fork pull_request_on_default_branch pull_request_ambiguous pull_request_repository_not_connected repository_not_reachable branch_claimed_elsewhere".split(" ")
|
|
1747
1747
|
);
|
|
1748
1748
|
async function tryClaimAndStart(state, item, queue) {
|
|
1749
|
-
const { postJson: postJson2 } = await import('./work-cmd-
|
|
1749
|
+
const { postJson: postJson2 } = await import('./work-cmd-C3CFJZYD.js');
|
|
1750
1750
|
const log = logOf(state);
|
|
1751
1751
|
const hostKey = await loadHostKey(state.config.configPath);
|
|
1752
1752
|
const claim = await retrySend(
|
|
@@ -2730,7 +2730,7 @@ async function start(configPath, deps = { fetchImpl: fetch }) {
|
|
|
2730
2730
|
const outcome = await onStartUnderMarker({
|
|
2731
2731
|
configPath,
|
|
2732
2732
|
own: ownVersionOf(deps),
|
|
2733
|
-
check: update.check ? () => update.check(configPath) : async () => (await import('./check-
|
|
2733
|
+
check: update.check ? () => update.check(configPath) : async () => (await import('./check-FAGTKWHT.js')).runRunnerCheck(configPath, { fetchImpl: deps.fetchImpl }),
|
|
2734
2734
|
now: () => (deps.now ?? (() => /* @__PURE__ */ new Date()))().getTime(),
|
|
2735
2735
|
log
|
|
2736
2736
|
});
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { detectActiveSession, autoConnect } from './chunk-
|
|
4
|
-
import { workPageUrl } from './chunk-
|
|
3
|
+
import { detectActiveSession, autoConnect } from './chunk-FQCLEH34.js';
|
|
4
|
+
import { workPageUrl } from './chunk-G2T4HCGT.js';
|
|
5
5
|
import { sanitizeTerminal } from './chunk-BUP5N3X6.js';
|
|
6
|
-
import { resolveGatewayCredentials, unauthorizedMessage, defaultFetch } from './chunk-
|
|
6
|
+
import { resolveGatewayCredentials, unauthorizedMessage, defaultFetch } from './chunk-GJZEUQ6D.js';
|
|
7
7
|
import { readRepoConnection } from './chunk-BJ3KTMDH.js';
|
|
8
8
|
import { resolveRepoIdentity } from './chunk-QE3UQAHK.js';
|
|
9
9
|
import { C } from './chunk-ANPNT6PM.js';
|
|
10
10
|
import { parseTrackerNumber, trackerNumberError } from './chunk-WZBHBH3J.js';
|
|
11
11
|
import { homeFromEnv } from './chunk-VNVZDWO3.js';
|
|
12
|
-
import { signRunnerRequest } from './chunk-
|
|
12
|
+
import { signRunnerRequest } from './chunk-F6DIHHBS.js';
|
|
13
13
|
|
|
14
14
|
createRequire(import.meta.url);
|
|
15
15
|
|
|
@@ -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-GD7F2EBL.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
|
}
|
|
@@ -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-L4CW6LZQ.js';
|
|
4
4
|
import { generateKeyPairSync, createPrivateKey, createPublicKey, sign } from 'crypto';
|
|
5
5
|
import { existsSync, mkdirSync, writeFileSync, readFileSync } from 'fs';
|
|
6
6
|
|