@outerlayer/cli 0.20.0 → 0.22.1
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 +33 -0
- package/README.md +15 -5
- package/dist/{agent-setup-AM42SA2D.js → agent-setup-LTSLXPS3.js} +13 -12
- package/dist/build-6WRNZPVR.js +12 -0
- package/dist/build-command-ND2ENDBS.js +50 -0
- package/dist/build-info.json +1 -1
- package/dist/{builder-C4QNTYMS.js → builder-G3MLDMTI.js} +7 -5
- package/dist/{check-BR5D27CX.js → check-UYKEMQNR.js} +48 -50
- package/dist/{chunk-AMFWYESY.js → chunk-276D7BJ7.js} +1 -1
- package/dist/{chunk-X5H2WYMB.js → chunk-2Q3PZ42G.js} +1 -1
- package/dist/{chunk-3CWUOFV6.js → chunk-3AZYLAJC.js} +13 -8
- package/dist/{chunk-LRG3ZMZD.js → chunk-3V5C64Y5.js} +4 -4
- package/dist/{chunk-QOZKPLVJ.js → chunk-3W333NFO.js} +40 -1
- package/dist/{chunk-7YP7T6GV.js → chunk-4AVDD7VX.js} +2 -2
- package/dist/{chunk-KYS3TQAG.js → chunk-56X5TOJY.js} +4 -4
- package/dist/{chunk-3ZR7Y23Y.js → chunk-5NJIWKD4.js} +650 -70
- package/dist/{chunk-NNLA7LLQ.js → chunk-5OCIHFGE.js} +29 -5
- package/dist/{chunk-EAEELQVQ.js → chunk-6YBLN4TR.js} +5 -5
- package/dist/{chunk-AD3EYI7P.js → chunk-7FEY33MY.js} +259 -56
- package/dist/{chunk-QNLX477Q.js → chunk-AEKSX4EY.js} +165 -72
- package/dist/{chunk-FBTGMSQF.js → chunk-BET347JZ.js} +16 -9
- package/dist/{chunk-JHGEBPLE.js → chunk-BOMRFYTZ.js} +3 -3
- package/dist/{chunk-MTP2QEVO.js → chunk-CQAEV3Z5.js} +1 -1
- package/dist/{chunk-XZ4H4X5F.js → chunk-CUFFDEF3.js} +15 -8
- package/dist/{chunk-BM63HB2M.js → chunk-EAQSOE62.js} +2 -2
- package/dist/{chunk-VYAL7PUE.js → chunk-EFB3FGLC.js} +1 -1
- package/dist/{chunk-GEMQLBMW.js → chunk-ENTHEUKT.js} +6 -6
- package/dist/{chunk-B6SCN5NY.js → chunk-FOCML5FI.js} +175 -44
- package/dist/{chunk-LW7G5TJB.js → chunk-FRNYCJ4W.js} +2 -2
- package/dist/chunk-GISNHSYL.js +41 -0
- package/dist/{chunk-G2YNJIGF.js → chunk-HCVLP7XA.js} +10 -1
- package/dist/{chunk-N2PXGQRL.js → chunk-IHNQWF6F.js} +1 -1
- package/dist/{chunk-CG36IONK.js → chunk-JRCSET55.js} +2 -2
- package/dist/{chunk-MLAAT4S6.js → chunk-JV4YGAAW.js} +3 -3
- package/dist/{chunk-XNGMQ27R.js → chunk-JZGFDTNC.js} +2 -2
- package/dist/{chunk-GGOMT6KF.js → chunk-NYTZ7HVN.js} +1 -1
- package/dist/{chunk-CGGPS7SI.js → chunk-O6RJ3QMU.js} +5 -5
- package/dist/{chunk-QEFKA2QD.js → chunk-OBCFK4QD.js} +2 -2
- package/dist/{chunk-HOKXGFDR.js → chunk-ORNJJ7XN.js} +22 -16
- package/dist/{chunk-M2ZWWTWZ.js → chunk-OW52QLK3.js} +1 -1
- package/dist/{chunk-PSN33ERW.js → chunk-QC72I5GQ.js} +3 -3
- package/dist/{chunk-FVMYKL6L.js → chunk-QF7WZUU6.js} +1 -1
- package/dist/{chunk-IF2OSI5T.js → chunk-QOALB6ZD.js} +2 -2
- package/dist/{chunk-ZX4I2MEK.js → chunk-TPKYTORP.js} +1 -1
- package/dist/{chunk-S5PCA3SN.js → chunk-UF5L4BAI.js} +1 -1
- package/dist/{chunk-R22NZSGA.js → chunk-URAKVDSI.js} +9 -9
- package/dist/{chunk-BQXFBI7T.js → chunk-URWYRAIC.js} +32 -7
- package/dist/{chunk-7UWVLZXD.js → chunk-USWVXQIH.js} +1 -1
- package/dist/{chunk-P53VEAOF.js → chunk-V5CG75NX.js} +1 -1
- package/dist/{chunk-6X4SQ5MY.js → chunk-V7SAQ645.js} +1 -1
- package/dist/{chunk-TWF3RICI.js → chunk-VSUXCMMH.js} +110 -11
- package/dist/{chunk-Z7K3L4FC.js → chunk-W3SWJ2TD.js} +2 -2
- package/dist/{chunk-ECODQ7II.js → chunk-XACXXKQ5.js} +1 -1
- package/dist/{chunk-5VML45HH.js → chunk-XCRZTXRL.js} +2 -2
- package/dist/chunk-XR56WEA5.js +718 -0
- package/dist/chunk-ZNPE7FW5.js +137 -0
- package/dist/{chunk-PIZRPNKR.js → chunk-ZPSLJFGL.js} +5 -5
- package/dist/claude-launcher-TBWV3YL3.js +267 -0
- package/dist/{cli-MKF7TU7X.js → cli-U253V422.js} +161 -120
- package/dist/{command-ZQNEPDS6.js → command-IQTPFSXY.js} +32 -34
- package/dist/{config-CLSGABD5.js → config-H4QS332G.js} +3 -2
- package/dist/{connect-cmd-UNYKGDAL.js → connect-cmd-ZFOK6HEL.js} +5 -5
- package/dist/{context-cleanup-CHEWNYU6.js → context-cleanup-DSA3HGQU.js} +1 -1
- package/dist/{control-plane-launch-34LNRJWR.js → control-plane-launch-OWSNH6YA.js} +62 -28
- package/dist/{dist-WO7NOJNG.js → dist-7IH56ELA.js} +1 -1
- package/dist/{docker-BFU3AQGY.js → docker-JU422JL7.js} +7 -7
- package/dist/{doctor-DHUM5DBB.js → doctor-FZTS57ZO.js} +35 -36
- package/dist/{emit-artifact-cmd-XBHM647X.js → emit-artifact-cmd-YLZ5WLSF.js} +19 -18
- package/dist/{emit-cmd-W55AEBCA.js → emit-cmd-3W5IO5ET.js} +3 -3
- package/dist/{emit-criteria-cmd-UNMWHOUY.js → emit-criteria-cmd-MF6TVE7C.js} +13 -12
- package/dist/{emit-finding-cmd-7JHVRYOP.js → emit-finding-cmd-S3YMFTZT.js} +13 -12
- package/dist/{emit-result-cmd-5NZMLCJK.js → emit-result-cmd-JHEUFTPX.js} +19 -18
- package/dist/{emit-step-cmd-347XNGPQ.js → emit-step-cmd-TUI2T3DS.js} +14 -13
- package/dist/{exec-client-7UMESIE2.js → exec-client-ATPF2DDB.js} +4 -3
- package/dist/{governing-source-HAA4OW57.js → governing-source-XSEIRSBE.js} +19 -18
- package/dist/{guest-init-KPBQOFE5.js → guest-init-DF7V5D2R.js} +4 -3
- package/dist/{hook-fast-RL5E5OXE.js → hook-fast-O3UUN6SO.js} +2 -2
- package/dist/host-key-ATB23GI3.js +9 -0
- package/dist/{import-capture-cmd-TK4XY7RD.js → import-capture-cmd-Q56DDZVO.js} +1 -1
- package/dist/index.js +5 -5
- package/dist/init-VZE72CR4.js +52 -0
- package/dist/{init-V6FOMD2V.js → init-ZZZPYGUH.js} +32 -33
- package/dist/{init-cmd-Z4O4PPLZ.js → init-cmd-W5VV62ZN.js} +25 -23
- package/dist/{init-update-7DVAKWW3.js → init-update-YFPIQS5G.js} +69 -24
- package/dist/{install-4SEFIIW2.js → install-SFACZU7E.js} +5 -4
- package/dist/{install-cmd-QDOTR4OM.js → install-cmd-6HTP7I43.js} +6 -5
- package/dist/{login-browser-DX35MARZ.js → login-browser-BN5UKPHS.js} +3 -3
- package/dist/{logout-cmd-5V5MMBSY.js → logout-cmd-RZFWTNYD.js} +2 -2
- package/dist/{logs-AMLKC3VP.js → logs-N3ZX7HFV.js} +3 -2
- package/dist/loop-6WENRS5S.js +75 -0
- package/dist/machine-M4MQBV5A.js +47 -0
- package/dist/{mcp-install-cmd-GGWB3JJ2.js → mcp-install-cmd-GD4QUP7Z.js} +2 -2
- package/dist/{mcp-serve-cmd-N3UTY6EE.js → mcp-serve-cmd-SBW7HYKD.js} +6 -5
- package/dist/{paths-7XP63OAX.js → paths-AKX2OOLF.js} +3 -2
- package/dist/pending-7SGWZCEH.js +9 -0
- package/dist/{pidfile-3DM4OBKO.js → pidfile-G2J5WBQS.js} +4 -3
- package/dist/receive-files-T2BIUBQL.js +254 -0
- package/dist/{record-3WP6V2K5.js → record-Q4IEYIVV.js} +4 -3
- package/dist/relay-PSZ4LGMW.js +210 -0
- package/dist/relay-protocol-K7KP2SPI.js +6 -0
- package/dist/{runner-env-FRZFFHDF.js → runner-env-GZHXM27A.js} +6 -5
- package/dist/runner-identity-FTHZFMGY.js +14 -0
- package/dist/{runner-key-5FOWCW7J.js → runner-key-QT7GKGEE.js} +32 -33
- package/dist/{session-sender-U2BBUWNO.js → session-sender-BK6TGNVO.js} +20 -19
- package/dist/{spec-cmd-FVLJOFGC.js → spec-cmd-ZNJ3GXWC.js} +13 -12
- package/dist/{starter-pack-6LQVLBIA.js → starter-pack-5EQYGSJF.js} +2 -2
- package/dist/{status-BINH7MBG.js → status-JOO7MGIC.js} +36 -38
- package/dist/{statusline-fast-KN3BX67H.js → statusline-fast-2OK3DVAA.js} +2 -2
- package/dist/{sync-cmd-VXOUFS4I.js → sync-cmd-W2FPY3T5.js} +19 -18
- package/dist/{watch-OH645CV2.js → watch-WLH5ZUZU.js} +19 -18
- package/dist/{work-claim-cmd-DRQCHCOK.js → work-claim-cmd-4PLDTEZR.js} +17 -16
- package/dist/{work-cmd-5I3J2XQQ.js → work-cmd-KWHAYUYB.js} +13 -12
- package/dist/{work-comment-cmd-UCCPWUSR.js → work-comment-cmd-4CUI7ZDE.js} +13 -12
- package/dist/{work-logs-cmd-7352CJPG.js → work-logs-cmd-AF253WLM.js} +13 -12
- package/dist/{work-open-pr-cmd-LSH4VHJM.js → work-open-pr-cmd-JETE6HRL.js} +15 -14
- package/dist/{work-pr-cmd-H4OQR26N.js → work-pr-cmd-V5G4CPMG.js} +14 -13
- package/dist/{work-stop-cmd-CRDHXQVW.js → work-stop-cmd-FIEKUDGE.js} +13 -12
- package/package.json +2 -2
- package/skill-pack/maintained/outerlayer-amend/SKILL.md +17 -6
- package/skill-pack/maintained/outerlayer-build/SKILL.md +347 -0
- package/skill-pack/{template/build → maintained/outerlayer-build}/references/evidence.md +2 -2
- package/skill-pack/{template/build → maintained/outerlayer-build}/references/release.md +4 -4
- package/skill-pack/{template/build → maintained/outerlayer-build}/references/review-loop.md +3 -1
- package/skill-pack/shipped.json +2 -0
- package/skill-pack/template/build/SKILL.md +4 -253
- package/skill-pack/validators/acceptance-criteria.yaml +1 -1
- package/dist/build-TQ6X5PYN.js +0 -12
- package/dist/chunk-3UZTIRLF.js +0 -320
- package/dist/chunk-CX22S5BA.js +0 -45
- package/dist/chunk-LLM3I5YU.js +0 -89
- package/dist/chunk-SADUQSO4.js +0 -50
- package/dist/chunk-VMJPFQNE.js +0 -261
- package/dist/claude-launcher-J5M44PFS.js +0 -115
- package/dist/host-key-U4B5QETR.js +0 -8
- package/dist/init-XG47KCI4.js +0 -53
- package/dist/loop-EAZQMAE2.js +0 -77
- package/dist/machine-TRHBT5NE.js +0 -48
- package/dist/pending-532ABZYC.js +0 -8
- package/dist/relay-L76HDX72.js +0 -46
- package/dist/{chunk-YVZJ6GKF.js → chunk-DIB2WLBL.js} +1 -1
- package/dist/{chunk-GOSFARMS.js → chunk-F35VMF5M.js} +1 -1
- package/dist/{chunk-DSF2FWAZ.js → chunk-IZSVXRDR.js} +1 -1
- /package/skill-pack/{template/build → maintained/outerlayer-build}/references/agent-briefs.md +0 -0
- /package/skill-pack/{template/build → maintained/outerlayer-build}/references/criteria-judge.md +0 -0
- /package/skill-pack/{template/build → maintained/outerlayer-build}/references/review-briefs.md +0 -0
- /package/skill-pack/{template/build → maintained/outerlayer-build}/scripts/criterion-citations.mjs +0 -0
- /package/skill-pack/{template/build → maintained/outerlayer-build}/scripts/record-criteria.mjs +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,38 @@
|
|
|
1
1
|
# @outerlayer/cli
|
|
2
2
|
|
|
3
|
+
## 0.22.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 53b61f7: The `outerlayer-amend` skill watches the pull request's checks after it pushes. It fixes a failed check its own change caused, at most twice, and names any check still red in its report.
|
|
8
|
+
- 75f786b: The runner's image build downloads tini and gh through the proxy your Docker client is set up to use. Before, those two downloads ignored the proxy. The image build then failed on a host that reaches the internet only through one.
|
|
9
|
+
|
|
10
|
+
## 0.22.0
|
|
11
|
+
|
|
12
|
+
### Minor Changes
|
|
13
|
+
|
|
14
|
+
- 520123a: The build process now ships as a maintained `outerlayer-build` skill that `outerlayer init --update` rewrites with each CLI release. Your repository's `build` skill keeps only your own changes to it, and `outerlayer doctor` reports a `build` skill that no longer points at the maintained one. Run `outerlayer init --update` after upgrading to move to the new layout.
|
|
15
|
+
|
|
16
|
+
### Patch Changes
|
|
17
|
+
|
|
18
|
+
- 807c89d: `outerlayer work build --instructions <text>` gives the agent that runs a host build instructions from you, up to 2000 characters. The build skill reads them at intake as guidance; the issue and its criteria win when the two disagree. With `--local`, the command refuses `--instructions` before any network call.
|
|
19
|
+
- 540fd26: A container build keeps running when its runner restarts or crashes, and the runner picks it up when it comes back.
|
|
20
|
+
- 1a8d9ac: `outerlayer doctor` names its checks `Control plane` and `Control plane degradation`, the term the dashboard uses.
|
|
21
|
+
- 5301041: On a macOS runner, a container build's session that breaks HTTP/2 framing now ends at once and counts toward ending the build. Before, the session stayed open, so a build that kept breaking framing was never ended.
|
|
22
|
+
- 8697753: A container or microVM build whose command fails at once ends without a 30-second wait for its session sender. The runner asks the sender to stop again each second until the request reaches it.
|
|
23
|
+
- 5301041: The runner logs a line for each repository a claim left out because its GitHub organization's App installation is suspended, and builds in the repositories it was given. It now reports runner protocol 22.
|
|
24
|
+
|
|
25
|
+
## 0.21.0
|
|
26
|
+
|
|
27
|
+
### Minor Changes
|
|
28
|
+
|
|
29
|
+
- befe174: A container build receives its gh configuration, commit hooks, staged context and check input through `docker exec`, into `/outerlayer/job` inside the container. Nothing from the runner's disk is mounted into it. A build an older runner started keeps its mount until it ends.
|
|
30
|
+
- 5481fcb: A container build reaches the runner through `docker exec`, with no socket shared through the runner's disk. The relay in the build runs as its own user, which the agent cannot be. A build an older runner started keeps working after the runner updates.
|
|
31
|
+
|
|
32
|
+
### Patch Changes
|
|
33
|
+
|
|
34
|
+
- f046dea: A control plane or repository can keep its skills in `.agents/skills/`. `outerlayer claude` and host builds give them to Claude Code under their own names. Every host build now starts its agent through `outerlayer claude`.
|
|
35
|
+
|
|
3
36
|
## 0.20.0
|
|
4
37
|
|
|
5
38
|
### Minor Changes
|
package/README.md
CHANGED
|
@@ -225,10 +225,20 @@ content:
|
|
|
225
225
|
connections from the host only, and the runner runs every step of the build
|
|
226
226
|
through it, including the build's command (`outerlayer vm-exec` on the host).
|
|
227
227
|
- **`outerlayer runner start` with `builtin:container` hooks** runs each
|
|
228
|
-
build in its own Docker container, which has no network but loopback.
|
|
229
|
-
build reaches the
|
|
230
|
-
|
|
231
|
-
|
|
228
|
+
build in its own Docker container, which has no network but loopback. A
|
|
229
|
+
container build reaches the runner through `docker exec`: the runner starts
|
|
230
|
+
`outerlayer broker-relay join` in the container and serves one HTTP/2
|
|
231
|
+
session over that process's standard input and output. The container's own
|
|
232
|
+
`outerlayer broker-relay` process, which runs as a separate unprivileged
|
|
233
|
+
user, sends each loopback connection to the runner as one stream, and no
|
|
234
|
+
socket file is shared between the runner and the container. The build's
|
|
235
|
+
files (gh's configuration with the read token, the commit hooks, the staged
|
|
236
|
+
context, a check's input) are copied into `/outerlayer/job` by piping a tar
|
|
237
|
+
stream into `docker exec -i` running `outerlayer receive-files` as that
|
|
238
|
+
unprivileged user, so nothing from the runner's disk is mounted into the
|
|
239
|
+
container and the agent cannot change what it reads. (A build an older
|
|
240
|
+
runner started keeps its mounted folder and its Unix sockets until it ends.) The build
|
|
241
|
+
reaches the network only through a tunnel the runner serves. The tunnel refuses loopback, private, link-local,
|
|
232
242
|
shared-address, multicast and unique-local addresses and the host's own,
|
|
233
243
|
and it terminates no TLS. The tunnel also serves the build a local git
|
|
234
244
|
remote. Git in the container still shows
|
|
@@ -438,7 +448,7 @@ before it gives up.
|
|
|
438
448
|
| `outerlayer runner check [--config <path>]` | Validates the config, the hooks and the key, prints the settings the runner would use, and exits non-zero on a problem. Takes no work and writes no pid file. |
|
|
439
449
|
| `outerlayer runner start [--config <path>]` | Runs the loop: claim work, run it, sync, clean up, report, release with an outcome. Repeat. Reads the `runner` block from the config file (default `~/.outerlayer/config.json`). Refuses to start on a bad config, an unrunnable hook, or a refused key. |
|
|
440
450
|
| `outerlayer runner image --repository <owner/name> [--remote <url>] [--config <path>] [--json]` | Builds the image a repository's builds run in. Fetches the head of the default branch into the runner's cache, builds its `.devcontainer/devcontainer.json` with the devcontainer CLI, ignores every setting that reaches the host or widens the container's privileges, and adds this CLI and a pinned Claude Code. Reuses the image until the recipe or the tools change, keeps the newest three, and writes `recipe.json` beside the image record. Refuses a Compose recipe (`recipe_needs_docker`) and a repository with only named configurations (`recipe_ambiguous`). |
|
|
441
|
-
| `outerlayer runner stop [--config <path>] [--now]` | Takes no more work and waits for running jobs to finish, naming each every five seconds. `--now` ends them immediately with outcome `stopped`. Ctrl-C on a foreground runner drains; a second one stops now. |
|
|
451
|
+
| `outerlayer runner stop [--config <path>] [--now]` | Takes no more work and waits for running jobs to finish, naming each every five seconds. `--now` ends them immediately with outcome `stopped`. Ctrl-C on a foreground runner drains; a second one stops now. A container build keeps running when its runner restarts or crashes, and stops when its lease expires with no runner. |
|
|
442
452
|
| `outerlayer runner status [--config <path>] [--recent] [--json]` | A header naming the runner's own state, then a row per running job — item, queue, stage, elapsed, started, lease, job directory. `--recent` adds finished jobs, newest first, capped at 20, with their outcomes. |
|
|
443
453
|
| `outerlayer runner logs <item> [--config <path>] [-f]` | Prints the newest attempt's log for one item, following it with `-f`. |
|
|
444
454
|
|
|
@@ -1,27 +1,28 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
export { keepHandWritten, runAgentSetup } from './chunk-
|
|
4
|
-
import './chunk-
|
|
5
|
-
import './chunk-
|
|
6
|
-
import './chunk-
|
|
7
|
-
import './chunk-
|
|
8
|
-
import './chunk-EAEELQVQ.js';
|
|
9
|
-
import './chunk-7UWVLZXD.js';
|
|
10
|
-
import './chunk-FVMYKL6L.js';
|
|
3
|
+
export { keepHandWritten, runAgentSetup } from './chunk-O6RJ3QMU.js';
|
|
4
|
+
import './chunk-XCRZTXRL.js';
|
|
5
|
+
import './chunk-6YBLN4TR.js';
|
|
6
|
+
import './chunk-USWVXQIH.js';
|
|
7
|
+
import './chunk-QF7WZUU6.js';
|
|
11
8
|
import './chunk-NTRCK4NH.js';
|
|
12
9
|
import './chunk-ZJSNLVCE.js';
|
|
13
10
|
import './chunk-BJ3KTMDH.js';
|
|
14
|
-
import './chunk-
|
|
11
|
+
import './chunk-DIB2WLBL.js';
|
|
15
12
|
import './chunk-EABW6AJQ.js';
|
|
13
|
+
import './chunk-V7SAQ645.js';
|
|
14
|
+
import './chunk-5OCIHFGE.js';
|
|
15
|
+
import './chunk-ANPNT6PM.js';
|
|
16
16
|
import './chunk-CRB3POP4.js';
|
|
17
17
|
import './chunk-YQR6E6OV.js';
|
|
18
18
|
import './chunk-WFSUUUAN.js';
|
|
19
19
|
import './chunk-7VUK5RFS.js';
|
|
20
20
|
import './chunk-VNVZDWO3.js';
|
|
21
21
|
import './chunk-RA3O54FC.js';
|
|
22
|
-
import './chunk-
|
|
23
|
-
import './chunk-
|
|
24
|
-
import './chunk-
|
|
22
|
+
import './chunk-OW52QLK3.js';
|
|
23
|
+
import './chunk-IHNQWF6F.js';
|
|
24
|
+
import './chunk-URWYRAIC.js';
|
|
25
|
+
import './chunk-GISNHSYL.js';
|
|
25
26
|
import './chunk-Z5GEFMRW.js';
|
|
26
27
|
|
|
27
28
|
createRequire(import.meta.url);
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { createRequire } from 'node:module';
|
|
3
|
+
export { buildRepositoryImage } from './chunk-3AZYLAJC.js';
|
|
4
|
+
export { RecipeError } from './chunk-3W333NFO.js';
|
|
5
|
+
import './chunk-XACXXKQ5.js';
|
|
6
|
+
import './chunk-JBJTC3UU.js';
|
|
7
|
+
import './chunk-IHNQWF6F.js';
|
|
8
|
+
import './chunk-URWYRAIC.js';
|
|
9
|
+
import './chunk-GISNHSYL.js';
|
|
10
|
+
import './chunk-Z5GEFMRW.js';
|
|
11
|
+
|
|
12
|
+
createRequire(import.meta.url);
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { createRequire } from 'node:module';
|
|
3
|
+
import './chunk-Z5GEFMRW.js';
|
|
4
|
+
import { spawn } from 'child_process';
|
|
5
|
+
import { mkdirSync, openSync, closeSync, writeFileSync, renameSync } from 'fs';
|
|
6
|
+
import { constants } from 'os';
|
|
7
|
+
import { join } from 'path';
|
|
8
|
+
|
|
9
|
+
createRequire(import.meta.url);
|
|
10
|
+
var COMMAND_LOG_FILE = "command.log";
|
|
11
|
+
var COMMAND_PID_FILE = "command.pid";
|
|
12
|
+
var COMMAND_EXIT_FILE = "exit-code";
|
|
13
|
+
var NOT_FOUND = 127;
|
|
14
|
+
var NOT_RUNNABLE = 126;
|
|
15
|
+
function writeWhole(dir, name, text) {
|
|
16
|
+
const partial = join(dir, `${name}.partial`);
|
|
17
|
+
writeFileSync(partial, text);
|
|
18
|
+
renameSync(partial, join(dir, name));
|
|
19
|
+
}
|
|
20
|
+
function runBuildCommand(input) {
|
|
21
|
+
const { dir, argv } = input;
|
|
22
|
+
mkdirSync(dir, { recursive: true });
|
|
23
|
+
writeWhole(dir, COMMAND_PID_FILE, `${process.pid}
|
|
24
|
+
`);
|
|
25
|
+
const log = openSync(join(dir, COMMAND_LOG_FILE), "a");
|
|
26
|
+
return new Promise((resolve) => {
|
|
27
|
+
const [program, ...args] = argv;
|
|
28
|
+
const child = spawn(program, args, { stdio: ["ignore", log, log], env: process.env });
|
|
29
|
+
const forwarded = ["SIGTERM", "SIGINT", "SIGHUP"];
|
|
30
|
+
const forward = (signal) => void child.kill(signal);
|
|
31
|
+
for (const signal of forwarded) process.on(signal, forward);
|
|
32
|
+
let settled = false;
|
|
33
|
+
const finish = (status) => {
|
|
34
|
+
if (settled) return;
|
|
35
|
+
settled = true;
|
|
36
|
+
for (const signal of forwarded) process.off(signal, forward);
|
|
37
|
+
closeSync(log);
|
|
38
|
+
try {
|
|
39
|
+
writeWhole(dir, COMMAND_EXIT_FILE, `${status}
|
|
40
|
+
`);
|
|
41
|
+
} catch {
|
|
42
|
+
}
|
|
43
|
+
resolve(status);
|
|
44
|
+
};
|
|
45
|
+
child.once("error", (err) => finish(err.code === "ENOENT" ? NOT_FOUND : NOT_RUNNABLE));
|
|
46
|
+
child.once("close", (code, signal) => finish(code ?? 128 + (signal === null ? 0 : constants.signals[signal] ?? 0)));
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export { runBuildCommand };
|
package/dist/build-info.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"id":"2026-10-
|
|
1
|
+
{"id":"2026-10-14T20:11:05.380Z+7c03e06","root":"/home/runner/_work/outerlayer/outerlayer","pkg":"outerlayer"}
|
|
@@ -1,12 +1,14 @@
|
|
|
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-XR56WEA5.js';
|
|
4
|
+
import './chunk-3W333NFO.js';
|
|
4
5
|
import './chunk-7RQ73DLO.js';
|
|
5
|
-
import './chunk-
|
|
6
|
-
import './chunk-QNLX477Q.js';
|
|
6
|
+
import './chunk-AEKSX4EY.js';
|
|
7
7
|
import './chunk-7VUK5RFS.js';
|
|
8
|
-
import './chunk-
|
|
9
|
-
import './chunk-
|
|
8
|
+
import './chunk-OW52QLK3.js';
|
|
9
|
+
import './chunk-IHNQWF6F.js';
|
|
10
|
+
import './chunk-URWYRAIC.js';
|
|
11
|
+
import './chunk-GISNHSYL.js';
|
|
10
12
|
import './chunk-Z5GEFMRW.js';
|
|
11
13
|
|
|
12
14
|
createRequire(import.meta.url);
|
|
@@ -1,77 +1,75 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { probeCredentials } from './chunk-
|
|
4
|
-
import './chunk-
|
|
5
|
-
import './chunk-SADUQSO4.js';
|
|
6
|
-
import './chunk-MTP2QEVO.js';
|
|
7
|
-
import './chunk-S5PCA3SN.js';
|
|
3
|
+
import { probeCredentials } from './chunk-7FEY33MY.js';
|
|
4
|
+
import './chunk-FOCML5FI.js';
|
|
8
5
|
import './chunk-3JVYMD4G.js';
|
|
9
|
-
import './chunk-YETTWTAY.js';
|
|
10
6
|
import './chunk-I2UOAV7X.js';
|
|
11
|
-
import './chunk-
|
|
12
|
-
import './chunk-
|
|
13
|
-
import './chunk-
|
|
14
|
-
import './chunk-
|
|
15
|
-
import './chunk-
|
|
7
|
+
import './chunk-YETTWTAY.js';
|
|
8
|
+
import './chunk-TPKYTORP.js';
|
|
9
|
+
import './chunk-CQAEV3Z5.js';
|
|
10
|
+
import './chunk-UF5L4BAI.js';
|
|
11
|
+
import './chunk-BOMRFYTZ.js';
|
|
12
|
+
import './chunk-JZGFDTNC.js';
|
|
13
|
+
import './chunk-URAKVDSI.js';
|
|
14
|
+
import './chunk-56X5TOJY.js';
|
|
16
15
|
import './chunk-ESVW4MJY.js';
|
|
17
|
-
import { placeholderQueues, placeholderProblem, permissionModeProblems, permissionModeProblem, needsClaudeCredential, claudeCredentialCheck, claimPermissionProblem, formerSkillQueues, formerSkillProblem } from './chunk-
|
|
16
|
+
import { placeholderQueues, placeholderProblem, permissionModeProblems, permissionModeProblem, needsClaudeCredential, claudeCredentialCheck, claimPermissionProblem, formerSkillQueues, formerSkillProblem } from './chunk-ENTHEUKT.js';
|
|
18
17
|
import './chunk-YYYRBYWG.js';
|
|
19
|
-
import './chunk-
|
|
18
|
+
import './chunk-276D7BJ7.js';
|
|
20
19
|
import './chunk-TBT347UY.js';
|
|
21
|
-
import './chunk-
|
|
22
|
-
import './chunk-
|
|
23
|
-
import './chunk-
|
|
24
|
-
import './chunk-3ZR7Y23Y.js';
|
|
25
|
-
import './chunk-OGFGZQA3.js';
|
|
26
|
-
import './chunk-VMJPFQNE.js';
|
|
27
|
-
import './chunk-3UZTIRLF.js';
|
|
28
|
-
import './chunk-GGOMT6KF.js';
|
|
29
|
-
import './chunk-X5H2WYMB.js';
|
|
30
|
-
import './chunk-XZ4H4X5F.js';
|
|
31
|
-
import './chunk-QEFKA2QD.js';
|
|
20
|
+
import './chunk-ZPSLJFGL.js';
|
|
21
|
+
import './chunk-4AVDD7VX.js';
|
|
22
|
+
import './chunk-OBCFK4QD.js';
|
|
32
23
|
import { parseRunnerEnv } from './chunk-6MZSX4M7.js';
|
|
33
|
-
import './chunk-
|
|
34
|
-
import './chunk-
|
|
35
|
-
import './chunk-
|
|
24
|
+
import './chunk-FRNYCJ4W.js';
|
|
25
|
+
import './chunk-5NJIWKD4.js';
|
|
26
|
+
import './chunk-3AZYLAJC.js';
|
|
27
|
+
import './chunk-OGFGZQA3.js';
|
|
28
|
+
import './chunk-XR56WEA5.js';
|
|
29
|
+
import './chunk-3W333NFO.js';
|
|
30
|
+
import './chunk-NYTZ7HVN.js';
|
|
31
|
+
import './chunk-2Q3PZ42G.js';
|
|
32
|
+
import './chunk-CUFFDEF3.js';
|
|
33
|
+
import './chunk-BET347JZ.js';
|
|
34
|
+
import './chunk-QOALB6ZD.js';
|
|
35
|
+
import './chunk-JRCSET55.js';
|
|
36
36
|
import './chunk-G3IJ3N6F.js';
|
|
37
|
-
import './chunk-
|
|
38
|
-
import
|
|
37
|
+
import './chunk-EAQSOE62.js';
|
|
38
|
+
import './chunk-F35VMF5M.js';
|
|
39
|
+
import { loadRunnerConfig, RunnerConfigError, checkHooks } from './chunk-V5CG75NX.js';
|
|
39
40
|
import './chunk-UXYLWVTQ.js';
|
|
40
41
|
import './chunk-7RQ73DLO.js';
|
|
41
|
-
import './chunk-
|
|
42
|
-
import './chunk-QOZKPLVJ.js';
|
|
43
|
-
import './chunk-CX22S5BA.js';
|
|
44
|
-
import './chunk-ECODQ7II.js';
|
|
42
|
+
import './chunk-XACXXKQ5.js';
|
|
45
43
|
import './chunk-JBJTC3UU.js';
|
|
46
|
-
import './chunk-
|
|
44
|
+
import './chunk-6YBLN4TR.js';
|
|
45
|
+
import './chunk-USWVXQIH.js';
|
|
46
|
+
import './chunk-QF7WZUU6.js';
|
|
47
|
+
import './chunk-NTRCK4NH.js';
|
|
48
|
+
import './chunk-QC72I5GQ.js';
|
|
49
|
+
import './chunk-ZJSNLVCE.js';
|
|
47
50
|
import './chunk-F7CU5ABH.js';
|
|
48
51
|
import './chunk-BKO6JEZI.js';
|
|
49
|
-
import './chunk-
|
|
50
|
-
import './chunk-
|
|
52
|
+
import './chunk-ZNPE7FW5.js';
|
|
53
|
+
import './chunk-HCVLP7XA.js';
|
|
54
|
+
import './chunk-BJ3KTMDH.js';
|
|
55
|
+
import './chunk-AEKSX4EY.js';
|
|
56
|
+
import './chunk-EABW6AJQ.js';
|
|
57
|
+
import './chunk-5OCIHFGE.js';
|
|
51
58
|
import './chunk-ANPNT6PM.js';
|
|
52
59
|
import './chunk-T2Q7ISPE.js';
|
|
53
60
|
import './chunk-WZBHBH3J.js';
|
|
54
|
-
import './chunk-5QRP3MVS.js';
|
|
55
|
-
import './chunk-LLM3I5YU.js';
|
|
56
|
-
import './chunk-EAEELQVQ.js';
|
|
57
|
-
import './chunk-7UWVLZXD.js';
|
|
58
|
-
import './chunk-FVMYKL6L.js';
|
|
59
|
-
import './chunk-NTRCK4NH.js';
|
|
60
|
-
import './chunk-ZJSNLVCE.js';
|
|
61
|
-
import './chunk-BJ3KTMDH.js';
|
|
62
|
-
import './chunk-G2YNJIGF.js';
|
|
63
|
-
import './chunk-NNLA7LLQ.js';
|
|
64
|
-
import './chunk-EABW6AJQ.js';
|
|
65
61
|
import './chunk-CRB3POP4.js';
|
|
62
|
+
import './chunk-5QRP3MVS.js';
|
|
66
63
|
import './chunk-YQR6E6OV.js';
|
|
67
64
|
import './chunk-TUSYOL2O.js';
|
|
68
65
|
import './chunk-WFSUUUAN.js';
|
|
69
66
|
import './chunk-7VUK5RFS.js';
|
|
70
67
|
import './chunk-VNVZDWO3.js';
|
|
71
68
|
import './chunk-RA3O54FC.js';
|
|
72
|
-
import './chunk-
|
|
73
|
-
import './chunk-
|
|
74
|
-
import './chunk-
|
|
69
|
+
import './chunk-OW52QLK3.js';
|
|
70
|
+
import './chunk-IHNQWF6F.js';
|
|
71
|
+
import './chunk-URWYRAIC.js';
|
|
72
|
+
import './chunk-GISNHSYL.js';
|
|
75
73
|
import './chunk-Z5GEFMRW.js';
|
|
76
74
|
import { readFileSync } from 'fs';
|
|
77
75
|
import { join, dirname } from 'path';
|
|
@@ -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-IHNQWF6F.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,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { RELAY_PORT, GATEWAY_SOCKET, GATEWAY_PORT, CLAUDE_SOCKET, CLAUDE_PORT, DESTINATION_BASE_PORT } from './chunk-
|
|
3
|
+
import { RELAY_PORT, GATEWAY_SOCKET, GATEWAY_PORT, CLAUDE_SOCKET, CLAUDE_PORT, DESTINATION_BASE_PORT } from './chunk-URWYRAIC.js';
|
|
4
4
|
import { symlinkSync, unlinkSync } from 'fs';
|
|
5
5
|
import { join } from 'path';
|
|
6
6
|
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { RecipeError, locateRecipe, readRecipe, assertBuildable, writeSanitizedRecipe, classifyProperties, SANITIZED_NAME } from './chunk-
|
|
4
|
-
import {
|
|
5
|
-
import { claimPidFile, RunnerAlreadyRunningError, releasePidFile } from './chunk-ECODQ7II.js';
|
|
3
|
+
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-3W333NFO.js';
|
|
4
|
+
import { claimPidFile, RunnerAlreadyRunningError, releasePidFile } from './chunk-XACXXKQ5.js';
|
|
6
5
|
import { startTimeOf } from './chunk-JBJTC3UU.js';
|
|
7
|
-
import { RUNNER_DIR_MODE, repoCacheDir, imagesDir, attemptStamp, runnerDir, rootfsPathFor, RUNNER_FILE_MODE } from './chunk-
|
|
8
|
-
import { withGitConfig, tokenHeader } from './chunk-
|
|
6
|
+
import { RUNNER_DIR_MODE, repoCacheDir, imagesDir, attemptStamp, runnerDir, rootfsPathFor, RUNNER_FILE_MODE } from './chunk-IHNQWF6F.js';
|
|
7
|
+
import { withGitConfig, tokenHeader, PROXY_WARNING_FLAG } from './chunk-URWYRAIC.js';
|
|
8
|
+
import { RELAY_ID, RELAY_USER } from './chunk-GISNHSYL.js';
|
|
9
9
|
import { mkdirSync, rmSync, existsSync, mkdtempSync, cpSync, readFileSync, writeFileSync, readdirSync, lstatSync, readlinkSync } from 'fs';
|
|
10
10
|
import { tmpdir } from 'os';
|
|
11
11
|
import { dirname, join } from 'path';
|
|
@@ -176,7 +176,7 @@ function toolsDockerfile(parts) {
|
|
|
176
176
|
["SessionStart", "SessionEnd", "Stop", "PostToolUse"].map((event) => [event, [{ hooks: [{ type: "command", command: `outerlayer hook ${event}` }] }]])
|
|
177
177
|
)
|
|
178
178
|
});
|
|
179
|
-
const download = `node -e 'fetch(process.argv[1]).then((r)=>{if(!r.ok)throw new Error(process.argv[1]+" "+r.status);return r.arrayBuffer()}).then((b)=>require("fs").writeFileSync(process.argv[2],Buffer.from(b)))'`;
|
|
179
|
+
const download = `NODE_USE_ENV_PROXY=1 node ${PROXY_WARNING_FLAG} -e 'fetch(process.argv[1]).then((r)=>{if(!r.ok)throw new Error(process.argv[1]+" "+r.status);return r.arrayBuffer()}).then((b)=>require("fs").writeFileSync(process.argv[2],Buffer.from(b)))'`;
|
|
180
180
|
return [
|
|
181
181
|
`FROM ${recipeImage} AS recipe`,
|
|
182
182
|
`FROM ${nodeImage} AS stage`,
|
|
@@ -216,10 +216,15 @@ function toolsDockerfile(parts) {
|
|
|
216
216
|
"COPY --from=recipe /etc/group /tmp/recipe-group",
|
|
217
217
|
`RUN uid=$(awk -F: 'BEGIN{m=1499} $3>=1500 && $3<60000 && $3>m{m=$3} END{print m+1}' /tmp/recipe-passwd) \\`,
|
|
218
218
|
` && gid=$(awk -F: 'BEGIN{m=1499} $3>=1500 && $3<60000 && $3>m{m=$3} END{print m+1}' /tmp/recipe-group) \\`,
|
|
219
|
-
" && { grep -v '^ol-agent:' /tmp/recipe-passwd > /out/etc/passwd || true; } \\",
|
|
220
|
-
" && { grep -v '^ol-agent:' /tmp/recipe-group > /out/etc/group || true; } \\",
|
|
219
|
+
" && { grep -v -e '^ol-agent:' -e '^ol-relay:' /tmp/recipe-passwd > /out/etc/passwd || true; } \\",
|
|
220
|
+
" && { grep -v -e '^ol-agent:' -e '^ol-relay:' /tmp/recipe-group > /out/etc/group || true; } \\",
|
|
221
|
+
// The relay's id is fixed because the runner names it in the container's `--tmpfs` options before the container exists.
|
|
222
|
+
` && if awk -F: '$3==${RELAY_ID}{found=1} END{exit !found}' /out/etc/passwd; then echo "uid ${RELAY_ID} is taken by a user of the recipe image, and the relay needs it" >&2; exit 1; fi \\`,
|
|
223
|
+
` && if awk -F: '$3==${RELAY_ID}{found=1} END{exit !found}' /out/etc/group; then echo "gid ${RELAY_ID} is taken by a group of the recipe image, and the relay needs it" >&2; exit 1; fi \\`,
|
|
221
224
|
` && printf '%s\\n' "ol-agent:x:$uid:$gid::/build/home:/bin/sh" >> /out/etc/passwd \\`,
|
|
222
225
|
` && printf '%s\\n' "ol-agent:x:$gid:" >> /out/etc/group \\`,
|
|
226
|
+
` && printf '%s\\n' "${RELAY_USER}:x:${RELAY_ID}:${RELAY_ID}::/nonexistent:/usr/sbin/nologin" >> /out/etc/passwd \\`,
|
|
227
|
+
` && printf '%s\\n' "${RELAY_USER}:x:${RELAY_ID}:" >> /out/etc/group \\`,
|
|
223
228
|
" && chmod 0644 /out/etc/passwd /out/etc/group \\",
|
|
224
229
|
" && chmod -R a+rX /out",
|
|
225
230
|
`FROM ${recipeImage}`,
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { autoConnect, detectActiveSession } from './chunk-
|
|
4
|
-
import {
|
|
3
|
+
import { autoConnect, detectActiveSession } from './chunk-QOALB6ZD.js';
|
|
4
|
+
import { defaultFetch } from './chunk-QF7WZUU6.js';
|
|
5
|
+
import { unauthorizedMessage, resolveGatewayCredentials } from './chunk-NTRCK4NH.js';
|
|
6
|
+
import { resolveRepoIdentity } from './chunk-AEKSX4EY.js';
|
|
5
7
|
import { C } from './chunk-ANPNT6PM.js';
|
|
6
8
|
import { parseWorkItemEnv } from './chunk-T2Q7ISPE.js';
|
|
7
9
|
import { parseTrackerNumber, trackerNumberError } from './chunk-WZBHBH3J.js';
|
|
8
|
-
import { defaultFetch } from './chunk-FVMYKL6L.js';
|
|
9
|
-
import { unauthorizedMessage, resolveGatewayCredentials } from './chunk-NTRCK4NH.js';
|
|
10
10
|
import { homeFromEnv } from './chunk-VNVZDWO3.js';
|
|
11
11
|
|
|
12
12
|
createRequire(import.meta.url);
|
|
@@ -223,4 +223,43 @@ function writeSanitizedRecipe(checkoutDir, location, recipe) {
|
|
|
223
223
|
}
|
|
224
224
|
var SANITIZED_NAME = "outerlayer-recipe.json";
|
|
225
225
|
|
|
226
|
-
|
|
226
|
+
// src/runner/image/pins.ts
|
|
227
|
+
var CLAUDE_CODE_VERSION = "2.1.284";
|
|
228
|
+
var DEFAULT_BASE_IMAGE = "ubuntu:24.04@sha256:008173c23f95b170204355c12626cb5a965d779a7e1283b09e9cffbb1bf33ca3";
|
|
229
|
+
var NODE_IMAGE = "node:22-bookworm-slim@sha256:43ac6c60b8f89723f746e8a92ce91abd5017e627ce1ddfe4238355d3a30b772c";
|
|
230
|
+
var BUILDKIT_IMAGE = "moby/buildkit:v0.33.1@sha256:cec9f139f45e93c5c69c60f8b07cfad9f43f4ef6b6a6cd917527fea5ff2e3dea";
|
|
231
|
+
var GH_VERSION = "2.101.0";
|
|
232
|
+
var GH_SHA256 = {
|
|
233
|
+
amd64: "9bca2d1c16825f109907a23307628a2f0698fbf99662b73a5cf0b020293072b8",
|
|
234
|
+
arm64: "b57e8063f18862647c9d22727c32e9da1b963f8bf9db648fe123a6975695640f"
|
|
235
|
+
};
|
|
236
|
+
var TINI_VERSION = "0.19.0";
|
|
237
|
+
var TINI_SHA256 = {
|
|
238
|
+
amd64: "c5b0666b4cb676901f90dfcb37106783c5fe2077b04590973b885950611b30ee",
|
|
239
|
+
arm64: "eae1d3aa50c48fb23b8cbdf4e369d0910dfc538566bfd09df89a774aa84a48b9"
|
|
240
|
+
};
|
|
241
|
+
var MICROVM_ARCHES = ["x86_64"];
|
|
242
|
+
function firecrackerArch(nodeArch) {
|
|
243
|
+
return nodeArch === "x64" ? "x86_64" : nodeArch === "arm64" ? "aarch64" : nodeArch;
|
|
244
|
+
}
|
|
245
|
+
var FIRECRACKER_VERSION = "1.13.1";
|
|
246
|
+
var FIRECRACKER_SHA256 = {
|
|
247
|
+
x86_64: "59450b9171ff2ebdf2f9a25be3a248a7ba79fb6371aec51a9d6d8eefca7b4faf"
|
|
248
|
+
};
|
|
249
|
+
var FIRECRACKER_BINARY_SHA256 = {
|
|
250
|
+
x86_64: "7d3924e0c8761edafbf85cb2a94c268ffad249644a40fd02d4e15cde4c206f6e"
|
|
251
|
+
};
|
|
252
|
+
var GUEST_ASSETS_VERSION = "1";
|
|
253
|
+
var GUEST_ASSETS_BASE_URL = `https://github.com/outerlayerai/guest-assets/releases/download/guest-${GUEST_ASSETS_VERSION}`;
|
|
254
|
+
var GUEST_KERNEL_SHA256 = {
|
|
255
|
+
x86_64: "5a2d716d301615c69fefc2f9574954e838269f14d5e8b0d1bad88b680cd372ee"
|
|
256
|
+
};
|
|
257
|
+
var GUEST_HELPER_SHA256 = {
|
|
258
|
+
x86_64: "4175e89ae8cb633113b5f69ef8b6e206093954411fe53edf86357bc1b7e822f9"
|
|
259
|
+
};
|
|
260
|
+
function guestAssetsPinned(arch) {
|
|
261
|
+
const zero = "0".repeat(64);
|
|
262
|
+
return GUEST_KERNEL_SHA256[arch] !== zero && GUEST_HELPER_SHA256[arch] !== zero;
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
export { BUILDKIT_IMAGE, CLAUDE_CODE_VERSION, DEFAULT_BASE_IMAGE, FIRECRACKER_BINARY_SHA256, FIRECRACKER_SHA256, FIRECRACKER_VERSION, GH_SHA256, GH_VERSION, GUEST_ASSETS_BASE_URL, GUEST_ASSETS_VERSION, GUEST_HELPER_SHA256, GUEST_KERNEL_SHA256, MICROVM_ARCHES, NODE_IMAGE, RecipeError, SANITIZED_NAME, TINI_SHA256, TINI_VERSION, assertBuildable, classifyProperties, firecrackerArch, guestAssetsPinned, locateRecipe, readRecipe, writeSanitizedRecipe };
|
|
@@ -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-OBCFK4QD.js';
|
|
4
4
|
import { parseRunnerEnv } from './chunk-6MZSX4M7.js';
|
|
5
|
-
import { RUNNER_FILE_MODE } from './chunk-
|
|
5
|
+
import { RUNNER_FILE_MODE } from './chunk-IHNQWF6F.js';
|
|
6
6
|
import { existsSync, readFileSync, writeFileSync, renameSync, rmSync } from 'fs';
|
|
7
7
|
import { join, dirname } from 'path';
|
|
8
8
|
|
|
@@ -1,14 +1,14 @@
|
|
|
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-QOALB6ZD.js';
|
|
5
5
|
import { acquireSpoolLockAt } from './chunk-G3IJ3N6F.js';
|
|
6
|
-
import {
|
|
6
|
+
import { defaultFetch } from './chunk-QF7WZUU6.js';
|
|
7
|
+
import { resolveGatewayCredentials, unauthorizedMessage } from './chunk-NTRCK4NH.js';
|
|
8
|
+
import { resolveRepoIdentity } from './chunk-AEKSX4EY.js';
|
|
7
9
|
import { C } from './chunk-ANPNT6PM.js';
|
|
8
10
|
import { launchedItemForSession } from './chunk-T2Q7ISPE.js';
|
|
9
11
|
import { parseTrackerNumber, trackerNumberError } from './chunk-WZBHBH3J.js';
|
|
10
|
-
import { defaultFetch } from './chunk-FVMYKL6L.js';
|
|
11
|
-
import { resolveGatewayCredentials, unauthorizedMessage } from './chunk-NTRCK4NH.js';
|
|
12
12
|
import { StepNameSchema, StepBodySchema } from './chunk-7VUK5RFS.js';
|
|
13
13
|
import { homeFromEnv } from './chunk-VNVZDWO3.js';
|
|
14
14
|
import { randomUUID } from 'crypto';
|