@outerlayer/cli 0.17.0 → 0.19.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 +72 -0
- package/README.md +36 -2
- package/dist/agent-setup-TPR4BBFV.js +27 -0
- package/dist/{artifact-link-cmd-2F47LT7F.js → artifact-link-cmd-W7XF5BFB.js} +4 -3
- package/dist/{build-BG2YENGK.js → build-TQ6X5PYN.js} +5 -4
- package/dist/build-info.json +1 -1
- package/dist/{builder-2D3WSOOY.js → builder-C4QNTYMS.js} +5 -6
- package/dist/{check-5XE7XMC4.js → check-UWQAL2MN.js} +56 -52
- package/dist/{chunk-R7PF5OOU.js → chunk-3CWUOFV6.js} +21 -14
- package/dist/{chunk-4NPZVMJU.js → chunk-3UZTIRLF.js} +60 -4
- package/dist/chunk-452TM7J4.js +502 -0
- package/dist/{chunk-NNRTPG7X.js → chunk-5GHGAF6P.js} +4 -4
- package/dist/{chunk-WVUIRTWA.js → chunk-5MYFOW5V.js} +196 -37
- package/dist/{chunk-HGECYFEI.js → chunk-5TN7GLYX.js} +138 -109
- package/dist/{chunk-VQYBXPI7.js → chunk-6D7GT22T.js} +5 -5
- package/dist/{chunk-G5NPRL2K.js → chunk-6U3MV7TZ.js} +687 -76
- package/dist/{chunk-42ZI52JW.js → chunk-6X4SQ5MY.js} +4 -3
- package/dist/{chunk-MAK5LYRF.js → chunk-7KSSBQTS.js} +278 -535
- package/dist/{chunk-NWQTTSBB.js → chunk-7SJPQWBM.js} +41 -16
- package/dist/{chunk-J5M7BSJQ.js → chunk-7VUK5RFS.js} +23 -4
- package/dist/{chunk-OZGHL5Y5.js → chunk-7YP7T6GV.js} +2 -2
- package/dist/{chunk-TI7B7UEO.js → chunk-AMFWYESY.js} +1 -1
- package/dist/{chunk-YRYMNBGQ.js → chunk-ANPNT6PM.js} +2 -1
- package/dist/{chunk-4KSQKQXE.js → chunk-BM63HB2M.js} +20 -16
- package/dist/{chunk-4Q7OMKAT.js → chunk-BQXFBI7T.js} +81 -5
- package/dist/{chunk-ADJRGVZC.js → chunk-BWSUPRDK.js} +1 -1
- package/dist/{chunk-3NSNIIBE.js → chunk-CG36IONK.js} +18 -17
- package/dist/chunk-CJJDJ7AT.js +56 -0
- package/dist/chunk-CRB3POP4.js +34 -0
- package/dist/{chunk-LWSJQJC6.js → chunk-DADWEUH3.js} +7 -7
- package/dist/{chunk-KG5ECZGJ.js → chunk-DJ3ZUSC3.js} +11 -11
- package/dist/{chunk-F47JBIAW.js → chunk-DSF2FWAZ.js} +2 -1
- package/dist/{chunk-N5FOE5PS.js → chunk-ECODQ7II.js} +4 -33
- package/dist/{chunk-HHJDN6AU.js → chunk-ESVW4MJY.js} +1 -1
- package/dist/{chunk-YO4PSLVB.js → chunk-FVMYKL6L.js} +1 -1
- package/dist/chunk-G2YNJIGF.js +44 -0
- package/dist/{chunk-WUYTWNMA.js → chunk-G3IJ3N6F.js} +5 -3
- package/dist/{chunk-QKFB4K7X.js → chunk-GGOMT6KF.js} +1 -1
- package/dist/{chunk-N6LURUEF.js → chunk-GOSFARMS.js} +1 -1
- package/dist/{chunk-S3NYLI2P.js → chunk-HPJNLETG.js} +93 -38
- package/dist/{chunk-IP7BIBXJ.js → chunk-IF2OSI5T.js} +35 -1
- package/dist/{chunk-C5Y5ZJJZ.js → chunk-IXYZUUYQ.js} +5 -4
- package/dist/chunk-JBJTC3UU.js +35 -0
- package/dist/chunk-KYS3TQAG.js +296 -0
- package/dist/chunk-LLM3I5YU.js +89 -0
- package/dist/{chunk-YU3VKZ5F.js → chunk-LRG3ZMZD.js} +6 -7
- package/dist/{chunk-V7NIVOFD.js → chunk-M2ZWWTWZ.js} +1 -1
- package/dist/{chunk-ERI5GBNI.js → chunk-MLAAT4S6.js} +3 -3
- package/dist/{chunk-O765JR4W.js → chunk-MTP2QEVO.js} +1 -1
- package/dist/{chunk-ZM2IMMYN.js → chunk-N2PXGQRL.js} +9 -1
- package/dist/{chunk-BWQ66M6N.js → chunk-NFIR3GEE.js} +98 -24
- package/dist/{chunk-POJMEEJJ.js → chunk-NNLA7LLQ.js} +1 -1
- package/dist/{chunk-PLMTLGYH.js → chunk-NTRCK4NH.js} +5 -4
- package/dist/{chunk-22RMZBGW.js → chunk-P53VEAOF.js} +1 -1
- package/dist/{chunk-RLYZLUQ7.js → chunk-QEFKA2QD.js} +2 -2
- package/dist/{chunk-JXYVA45C.js → chunk-QNLX477Q.js} +1200 -322
- package/dist/{chunk-UGP76IZ5.js → chunk-S5PCA3SN.js} +1 -1
- package/dist/{chunk-RMWLBUCJ.js → chunk-SADUQSO4.js} +1 -1
- package/dist/{chunk-GQD22KKN.js → chunk-T2Q7ISPE.js} +2 -1
- package/dist/chunk-TUSYOL2O.js +113 -0
- package/dist/{chunk-NBGDBTO2.js → chunk-TWF3RICI.js} +9 -8
- package/dist/{chunk-ONKJUM6R.js → chunk-UVG35MWF.js} +1 -1
- package/dist/{chunk-KMDLFI4P.js → chunk-VMJPFQNE.js} +1 -1
- package/dist/chunk-VRRGENS4.js +144 -0
- package/dist/{chunk-PTW6W5NR.js → chunk-VYAL7PUE.js} +1 -1
- package/dist/{chunk-OHVJA253.js → chunk-WFSUUUAN.js} +47 -30
- package/dist/{chunk-RSNSZ2LJ.js → chunk-X5H2WYMB.js} +1 -1
- package/dist/{chunk-HYZRY4KZ.js → chunk-XNGMQ27R.js} +16 -6
- package/dist/chunk-XSZD4AZ6.js +490 -0
- package/dist/chunk-YQR6E6OV.js +109 -0
- package/dist/{chunk-XCK2YAY5.js → chunk-YVZJ6GKF.js} +3 -2
- package/dist/{chunk-2MNPHL23.js → chunk-ZHAUSEEN.js} +38 -15
- package/dist/claude-launcher-FPPHZPMR.js +115 -0
- package/dist/{cli-A76AXELQ.js → cli-HROW5T7X.js} +567 -285
- package/dist/{command-R2QCVX55.js → command-OEAV7BVX.js} +42 -40
- package/dist/{config-N3C6DFQA.js → config-CLSGABD5.js} +2 -3
- package/dist/{connect-cmd-JBKAQNSF.js → connect-cmd-UNYKGDAL.js} +10 -9
- package/dist/context-cleanup-HSVYDGMI.js +9 -0
- package/dist/control-plane-launch-NYVDJESK.js +216 -0
- package/dist/{dist-LKDWQWZ7.js → dist-WO7NOJNG.js} +2 -2
- package/dist/{docker-4J77Q2BF.js → docker-BFU3AQGY.js} +7 -8
- package/dist/{doctor-4TAIARIG.js → doctor-23BBJWBX.js} +48 -42
- package/dist/{emit-artifact-cmd-MPZVR56N.js → emit-artifact-cmd-O6SCM7TV.js} +27 -24
- package/dist/emit-cmd-7SP3I6UZ.js +14 -0
- package/dist/{emit-criteria-cmd-EFGYI23V.js → emit-criteria-cmd-LQNERZRV.js} +17 -16
- package/dist/{emit-finding-cmd-5GF3V4LR.js → emit-finding-cmd-AJPKHIOV.js} +18 -17
- package/dist/{emit-result-cmd-I4OADKMD.js → emit-result-cmd-RUICOKWQ.js} +22 -19
- package/dist/emit-step-cmd-347XNGPQ.js +26 -0
- package/dist/{exec-client-CQV746UF.js → exec-client-7UMESIE2.js} +3 -4
- package/dist/governing-source-V5EEGPTA.js +34 -0
- package/dist/guest-init-KPBQOFE5.js +9 -0
- package/dist/{hook-fast-R4FVSZ2H.js → hook-fast-YAZG5MDX.js} +5 -2
- package/dist/host-key-U4B5QETR.js +8 -0
- package/dist/{import-capture-cmd-EQ35EARA.js → import-capture-cmd-KKFFOGWP.js} +7 -5
- package/dist/{import-ruler-cmd-BGAZXCQM.js → import-ruler-cmd-5P6JOXQN.js} +5 -3
- package/dist/index.js +8 -4
- package/dist/{init-PWU5YVL7.js → init-LWHDMZQG.js} +40 -38
- package/dist/init-MOINY2DD.js +53 -0
- package/dist/{init-cmd-XAVO7HYZ.js → init-cmd-HSMRID6A.js} +75 -30
- package/dist/{init-update-CVCWD6VS.js → init-update-LWX5MPPR.js} +29 -29
- package/dist/{install-HDBIPHTX.js → install-4SEFIIW2.js} +4 -5
- package/dist/{install-cmd-5HYMXLEW.js → install-cmd-QDOTR4OM.js} +5 -4
- package/dist/{login-browser-QZCS3WW6.js → login-browser-DX35MARZ.js} +5 -4
- package/dist/{logout-cmd-QAUFDJ6J.js → logout-cmd-5V5MMBSY.js} +3 -2
- package/dist/{logs-H55NWW4H.js → logs-AMLKC3VP.js} +3 -1
- package/dist/loop-SYYPVFYW.js +77 -0
- package/dist/machine-6X63G2KH.js +48 -0
- package/dist/{mcp-install-cmd-FDTPQQS6.js → mcp-install-cmd-GGWB3JJ2.js} +3 -2
- package/dist/{mcp-serve-cmd-3KVYEUXG.js → mcp-serve-cmd-N3UTY6EE.js} +11 -9
- package/dist/paths-7XP63OAX.js +7 -0
- package/dist/pending-532ABZYC.js +8 -0
- package/dist/{pidfile-UZRH774M.js → pidfile-3DM4OBKO.js} +4 -2
- package/dist/{record-C43U4PKS.js → record-3WP6V2K5.js} +3 -2
- package/dist/{runner-env-EN7YE7QX.js → runner-env-FRZFFHDF.js} +5 -6
- package/dist/{runner-key-6SLBI7PP.js → runner-key-276SJU5R.js} +40 -38
- package/dist/session-sender-GGIY5OAX.js +36 -0
- package/dist/{pending-MXLSRYMO.js → shell-function-NRD4KVUK.js} +1 -2
- package/dist/spec-cmd-SIZBRN7D.js +115 -0
- package/dist/{starter-pack-KF66HGZR.js → starter-pack-6LQVLBIA.js} +7 -5
- package/dist/{status-7VNQN5PW.js → status-NAK6DYSF.js} +46 -42
- package/dist/{statusline-fast-SVTMBMD7.js → statusline-fast-KN3BX67H.js} +2 -1
- package/dist/sync-cmd-G7GF4UTW.js +35 -0
- package/dist/{watch-23HSAEI6.js → watch-EVM5GSMP.js} +22 -15
- package/dist/{work-claim-cmd-LKL3GHFQ.js → work-claim-cmd-3J3QW56U.js} +26 -29
- package/dist/work-cmd-5EPPD33Y.js +24 -0
- package/dist/{work-comment-cmd-AWHP56M2.js → work-comment-cmd-2ACOZQAE.js} +16 -15
- package/dist/{work-launch-R5HTAP6X.js → work-launch-LEQ2MPM3.js} +3 -1
- package/dist/work-logs-cmd-QDD2NMJL.js +60 -0
- package/dist/{work-open-pr-cmd-IOM4AVQQ.js → work-open-pr-cmd-XNCEI4ZM.js} +18 -17
- package/dist/work-pr-cmd-H4OQR26N.js +25 -0
- package/package.json +3 -2
- package/skill-pack/maintained/outerlayer-amend/SKILL.md +4 -2
- package/skill-pack/maintained/outerlayer-cli/SKILL.md +9 -2
- package/skill-pack/maintained/outerlayer-cli/references/find-out-why-a-build-ended.md +76 -0
- package/skill-pack/shipped.json +18 -2
- package/skill-pack/template/build/SKILL.md +23 -10
- package/skill-pack/template/build/references/agent-briefs.md +3 -1
- package/skill-pack/template/build/references/criteria-judge.md +27 -0
- package/skill-pack/template/build/references/release.md +22 -29
- package/skill-pack/template/spec/SKILL.md +35 -10
- package/skill-pack/validators/acceptance-criteria.yaml +25 -26
- package/dist/agent-setup-T624CWPD.js +0 -27
- package/dist/chunk-6Y5RUTHO.js +0 -39
- package/dist/chunk-BYT5O5RV.js +0 -61
- package/dist/chunk-WTE3MQML.js +0 -133
- package/dist/chunk-XCCLFVXM.js +0 -401
- package/dist/chunk-YZ5F4PIS.js +0 -797
- package/dist/context-adopt-NFHCLVUB.js +0 -108
- package/dist/context-materialize-IV2TUUFO.js +0 -22
- package/dist/emit-cmd-IJ3GVRFD.js +0 -12
- package/dist/guest-init-LJP5GPZF.js +0 -9
- package/dist/host-key-YMLXY6QB.js +0 -7
- package/dist/init-6XPDRDTC.js +0 -51
- package/dist/loop-FK3LPMMZ.js +0 -73
- package/dist/machine-SQXEBAM2.js +0 -46
- package/dist/paths-OYKMVYJP.js +0 -6
- package/dist/session-sender-FO3LCREV.js +0 -29
- package/dist/sync-cmd-GVPPFZ3G.js +0 -28
- package/dist/work-cmd-Z2WXLZPH.js +0 -23
- package/dist/work-pr-cmd-HNEUIEN7.js +0 -24
|
@@ -1,55 +1,57 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { readJobFile } from './chunk-
|
|
4
|
-
import { runRunnerInstall, launcherSummary, restartNote } from './chunk-
|
|
3
|
+
import { readJobFile } from './chunk-SADUQSO4.js';
|
|
4
|
+
import { runRunnerInstall, launcherSummary, restartNote } from './chunk-MLAAT4S6.js';
|
|
5
5
|
import './chunk-I2UOAV7X.js';
|
|
6
|
-
import './chunk-
|
|
7
|
-
import { currentLink, execStartCommand } from './chunk-
|
|
8
|
-
import { detectMachine } from './chunk-
|
|
9
|
-
import './chunk-
|
|
10
|
-
import './chunk-
|
|
11
|
-
import './chunk-
|
|
12
|
-
import './chunk-
|
|
13
|
-
import
|
|
14
|
-
import './chunk-
|
|
15
|
-
import './chunk-
|
|
16
|
-
import './chunk-
|
|
17
|
-
import
|
|
6
|
+
import './chunk-VYAL7PUE.js';
|
|
7
|
+
import { currentLink, execStartCommand } from './chunk-AMFWYESY.js';
|
|
8
|
+
import { detectMachine } from './chunk-UVG35MWF.js';
|
|
9
|
+
import './chunk-7KSSBQTS.js';
|
|
10
|
+
import './chunk-OGFGZQA3.js';
|
|
11
|
+
import './chunk-VMJPFQNE.js';
|
|
12
|
+
import './chunk-3UZTIRLF.js';
|
|
13
|
+
import './chunk-GGOMT6KF.js';
|
|
14
|
+
import './chunk-X5H2WYMB.js';
|
|
15
|
+
import './chunk-XSZD4AZ6.js';
|
|
16
|
+
import { installService, uninstallService, realTaskScheduler } from './chunk-QEFKA2QD.js';
|
|
17
|
+
import './chunk-HPJNLETG.js';
|
|
18
|
+
import './chunk-IF2OSI5T.js';
|
|
19
|
+
import './chunk-CG36IONK.js';
|
|
20
|
+
import './chunk-G3IJ3N6F.js';
|
|
21
|
+
import './chunk-BM63HB2M.js';
|
|
22
|
+
import { runnerVmOf, loadRunnerConfig } from './chunk-P53VEAOF.js';
|
|
18
23
|
import './chunk-UXYLWVTQ.js';
|
|
24
|
+
import './chunk-7RQ73DLO.js';
|
|
19
25
|
import { realLima } from './chunk-77MM5RYD.js';
|
|
20
26
|
import { writeLaunchAgent, launchAgentPath } from './chunk-LF6MLJCY.js';
|
|
21
|
-
import './chunk-
|
|
27
|
+
import './chunk-3CWUOFV6.js';
|
|
22
28
|
import './chunk-QOZKPLVJ.js';
|
|
23
|
-
import './chunk-N5FOE5PS.js';
|
|
24
|
-
import './chunk-OGFGZQA3.js';
|
|
25
|
-
import './chunk-4NPZVMJU.js';
|
|
26
|
-
import './chunk-7RQ73DLO.js';
|
|
27
|
-
import './chunk-4Q7OMKAT.js';
|
|
28
29
|
import './chunk-CX22S5BA.js';
|
|
29
|
-
import './chunk-
|
|
30
|
-
import './chunk-
|
|
31
|
-
import './chunk-
|
|
32
|
-
import './chunk-
|
|
33
|
-
import './chunk-
|
|
34
|
-
import './chunk-YRYMNBGQ.js';
|
|
30
|
+
import './chunk-ECODQ7II.js';
|
|
31
|
+
import './chunk-JBJTC3UU.js';
|
|
32
|
+
import './chunk-QNLX477Q.js';
|
|
33
|
+
import './chunk-GOSFARMS.js';
|
|
34
|
+
import './chunk-ANPNT6PM.js';
|
|
35
35
|
import './chunk-WZBHBH3J.js';
|
|
36
|
-
import './chunk-
|
|
37
|
-
import './chunk-
|
|
38
|
-
import './chunk-
|
|
36
|
+
import './chunk-LLM3I5YU.js';
|
|
37
|
+
import './chunk-452TM7J4.js';
|
|
38
|
+
import './chunk-IXYZUUYQ.js';
|
|
39
|
+
import './chunk-FVMYKL6L.js';
|
|
40
|
+
import './chunk-NTRCK4NH.js';
|
|
39
41
|
import './chunk-ZJSNLVCE.js';
|
|
40
|
-
import './chunk-YO4PSLVB.js';
|
|
41
|
-
import './chunk-BYT5O5RV.js';
|
|
42
|
-
import './chunk-POJMEEJJ.js';
|
|
43
|
-
import './chunk-OHVJA253.js';
|
|
44
|
-
import './chunk-PLMTLGYH.js';
|
|
45
|
-
import './chunk-J5M7BSJQ.js';
|
|
46
|
-
import './chunk-EABW6AJQ.js';
|
|
47
|
-
import './chunk-RA3O54FC.js';
|
|
48
|
-
import './chunk-V7NIVOFD.js';
|
|
49
|
-
import './chunk-ZM2IMMYN.js';
|
|
50
|
-
import './chunk-XCCLFVXM.js';
|
|
51
42
|
import './chunk-BJ3KTMDH.js';
|
|
43
|
+
import './chunk-G2YNJIGF.js';
|
|
44
|
+
import './chunk-NNLA7LLQ.js';
|
|
45
|
+
import './chunk-WFSUUUAN.js';
|
|
46
|
+
import './chunk-7VUK5RFS.js';
|
|
47
|
+
import './chunk-EABW6AJQ.js';
|
|
48
|
+
import './chunk-CRB3POP4.js';
|
|
49
|
+
import './chunk-YQR6E6OV.js';
|
|
52
50
|
import './chunk-VNVZDWO3.js';
|
|
51
|
+
import './chunk-RA3O54FC.js';
|
|
52
|
+
import './chunk-M2ZWWTWZ.js';
|
|
53
|
+
import './chunk-N2PXGQRL.js';
|
|
54
|
+
import './chunk-BQXFBI7T.js';
|
|
53
55
|
import './chunk-Z5GEFMRW.js';
|
|
54
56
|
import { userInfo, totalmem } from 'os';
|
|
55
57
|
import { join } from 'path';
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
export { DEFAULT_CHECK_TIME_LIMIT_MINUTES, DEFAULT_UPDATE_MAX_WAIT_HOURS, RunnerConfigError, builtinKind, checkHooks, defaultRunnerConfigPath, hasRunnerBlock, isBuiltinContainer, isBuiltinProcess, isBuiltinVm, loadRunnerConfig, resolveBuild, resolveHousekeeping, runnerCredentialProblem, runnerVmOf } from './chunk-
|
|
3
|
+
export { DEFAULT_CHECK_TIME_LIMIT_MINUTES, DEFAULT_UPDATE_MAX_WAIT_HOURS, RunnerConfigError, builtinKind, checkHooks, defaultRunnerConfigPath, hasRunnerBlock, isBuiltinContainer, isBuiltinProcess, isBuiltinVm, loadRunnerConfig, resolveBuild, resolveHousekeeping, runnerCredentialProblem, runnerVmOf } from './chunk-P53VEAOF.js';
|
|
4
4
|
import './chunk-UXYLWVTQ.js';
|
|
5
5
|
import './chunk-7RQ73DLO.js';
|
|
6
|
-
import './chunk-4Q7OMKAT.js';
|
|
7
|
-
import './chunk-BYT5O5RV.js';
|
|
8
6
|
import './chunk-VNVZDWO3.js';
|
|
7
|
+
import './chunk-BQXFBI7T.js';
|
|
9
8
|
import './chunk-Z5GEFMRW.js';
|
|
10
9
|
|
|
11
10
|
createRequire(import.meta.url);
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
export { COMMIT_LINE, autoConnectedLine, listText as factoryListText, slug as factorySlug, fetchFactories, promptOnTerminal, realConnectDeps, runConnect, runConnectCommand, saveFactoryConnection, selectFactory } from './chunk-
|
|
4
|
-
import './chunk-
|
|
5
|
-
import './chunk-
|
|
6
|
-
import './chunk-
|
|
7
|
-
import './chunk-
|
|
8
|
-
import './chunk-
|
|
9
|
-
import './chunk-
|
|
10
|
-
import './chunk-J5M7BSJQ.js';
|
|
11
|
-
import './chunk-EABW6AJQ.js';
|
|
3
|
+
export { COMMIT_LINE, autoConnectedLine, listText as factoryListText, slug as factorySlug, fetchFactories, promptOnTerminal, realConnectDeps, runConnect, runConnectCommand, saveFactoryConnection, selectFactory } from './chunk-CG36IONK.js';
|
|
4
|
+
import './chunk-G3IJ3N6F.js';
|
|
5
|
+
import './chunk-BM63HB2M.js';
|
|
6
|
+
import './chunk-QNLX477Q.js';
|
|
7
|
+
import './chunk-GOSFARMS.js';
|
|
8
|
+
import './chunk-ANPNT6PM.js';
|
|
9
|
+
import './chunk-NTRCK4NH.js';
|
|
12
10
|
import './chunk-BJ3KTMDH.js';
|
|
11
|
+
import './chunk-7VUK5RFS.js';
|
|
12
|
+
import './chunk-EABW6AJQ.js';
|
|
13
|
+
import './chunk-CRB3POP4.js';
|
|
13
14
|
import './chunk-VNVZDWO3.js';
|
|
14
15
|
import './chunk-Z5GEFMRW.js';
|
|
15
16
|
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { createRequire } from 'node:module';
|
|
3
|
+
export { cleanupEarlierCopies } from './chunk-VRRGENS4.js';
|
|
4
|
+
import './chunk-YQR6E6OV.js';
|
|
5
|
+
import './chunk-TUSYOL2O.js';
|
|
6
|
+
import './chunk-VNVZDWO3.js';
|
|
7
|
+
import './chunk-Z5GEFMRW.js';
|
|
8
|
+
|
|
9
|
+
createRequire(import.meta.url);
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { createRequire } from 'node:module';
|
|
3
|
+
import { sharedSkillNames, skillConflictMessage, composeDelivery } from './chunk-LLM3I5YU.js';
|
|
4
|
+
import { parseOwnerRepo, lookupGoverningSource, defaultGitRunner, materializeContext } from './chunk-452TM7J4.js';
|
|
5
|
+
import './chunk-IXYZUUYQ.js';
|
|
6
|
+
import { defaultFetch } from './chunk-FVMYKL6L.js';
|
|
7
|
+
import { resolveGatewayCredentials } from './chunk-NTRCK4NH.js';
|
|
8
|
+
import './chunk-ZJSNLVCE.js';
|
|
9
|
+
import { findGitDirs } from './chunk-BJ3KTMDH.js';
|
|
10
|
+
import './chunk-G2YNJIGF.js';
|
|
11
|
+
import './chunk-NNLA7LLQ.js';
|
|
12
|
+
import './chunk-WFSUUUAN.js';
|
|
13
|
+
import './chunk-7VUK5RFS.js';
|
|
14
|
+
import './chunk-EABW6AJQ.js';
|
|
15
|
+
import './chunk-CRB3POP4.js';
|
|
16
|
+
import { cleanupEarlierCopies } from './chunk-VRRGENS4.js';
|
|
17
|
+
import { readSourceCache, readDeliveryRecord, isSourceCacheFresh, writeDeliveryRecord, writeSourceCache, SOURCE_CACHE_TTL_SUCCESS_MS, clearDegraded, removeLauncherDeliveryRecord } from './chunk-YQR6E6OV.js';
|
|
18
|
+
import './chunk-TUSYOL2O.js';
|
|
19
|
+
import './chunk-VNVZDWO3.js';
|
|
20
|
+
import './chunk-RA3O54FC.js';
|
|
21
|
+
import './chunk-M2ZWWTWZ.js';
|
|
22
|
+
import './chunk-N2PXGQRL.js';
|
|
23
|
+
import './chunk-BQXFBI7T.js';
|
|
24
|
+
import './chunk-Z5GEFMRW.js';
|
|
25
|
+
import { execFileSync } from 'child_process';
|
|
26
|
+
import { existsSync, mkdirSync, mkdtempSync, cpSync, renameSync, rmSync, readdirSync } from 'fs';
|
|
27
|
+
import { join } from 'path';
|
|
28
|
+
|
|
29
|
+
createRequire(import.meta.url);
|
|
30
|
+
var GOVERNANCE_LOOKUP = { timeoutMs: 5e3, attempts: 1 };
|
|
31
|
+
function laptopDeliveryDir(home, repository, sha) {
|
|
32
|
+
if (!/^[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+$/.test(repository) || repository.split("/").some((part) => part === "." || part === "..") || !/^[0-9a-f]{7,64}$/.test(sha)) {
|
|
33
|
+
throw new Error(`cannot name a directory for ${repository} at ${sha}`);
|
|
34
|
+
}
|
|
35
|
+
return join(home, ".outerlayer", "context", ...repository.split("/"), sha);
|
|
36
|
+
}
|
|
37
|
+
function gitOutput(cwd, args) {
|
|
38
|
+
try {
|
|
39
|
+
return execFileSync("git", args, { cwd, encoding: "utf8", stdio: ["ignore", "pipe", "ignore"], timeout: 5e3 }).trim();
|
|
40
|
+
} catch {
|
|
41
|
+
return void 0;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
function committedSkillNames(repoRoot) {
|
|
45
|
+
const entry = gitOutput(repoRoot, ["ls-files", "-s", "--", ".claude/skills"]) ?? "";
|
|
46
|
+
if (entry.startsWith("120000 ")) {
|
|
47
|
+
try {
|
|
48
|
+
return new Set(readdirSync(join(repoRoot, ".claude", "skills")));
|
|
49
|
+
} catch {
|
|
50
|
+
return /* @__PURE__ */ new Set();
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
const out = gitOutput(repoRoot, ["ls-files", "-z", "--", ".claude/skills"]) ?? "";
|
|
54
|
+
const names = /* @__PURE__ */ new Set();
|
|
55
|
+
for (const path of out.split("\0")) {
|
|
56
|
+
const name = path.split("/")[2];
|
|
57
|
+
if (name !== void 0 && name !== "") names.add(name);
|
|
58
|
+
}
|
|
59
|
+
return names;
|
|
60
|
+
}
|
|
61
|
+
async function storeCopy(input) {
|
|
62
|
+
const staging = join(input.home, ".outerlayer", "context", ".staging");
|
|
63
|
+
mkdirSync(staging, { recursive: true });
|
|
64
|
+
const work = mkdtempSync(join(staging, "launch-"));
|
|
65
|
+
try {
|
|
66
|
+
const tree = join(work, "tree");
|
|
67
|
+
mkdirSync(tree);
|
|
68
|
+
for (const args of [
|
|
69
|
+
["init", "-q", "--initial-branch=main", tree],
|
|
70
|
+
["-C", tree, "remote", "add", "origin", input.originUrl]
|
|
71
|
+
]) {
|
|
72
|
+
const done = defaultGitRunner(args, { cwd: work, timeoutMs: 1e4 });
|
|
73
|
+
if (!done.ok) return `the scratch directory could not be prepared: ${done.stderr.trim().split("\n")[0] ?? ""}`;
|
|
74
|
+
}
|
|
75
|
+
const result = await materializeContext({ cwd: tree, home: input.home, pinnedSource: input.source, fetchImpl: input.fetchImpl });
|
|
76
|
+
if (result.status !== "materialized") return result.message ?? `the control plane was not fetched (${result.status})`;
|
|
77
|
+
composeDelivery({ tree, dir: input.dir });
|
|
78
|
+
const composed = join(work, "composed");
|
|
79
|
+
mkdirSync(composed);
|
|
80
|
+
for (const entry of ["AGENTS.md", "CLAUDE.md", "settings.json", ".claude", ".outerlayer"]) {
|
|
81
|
+
if (existsSync(join(tree, entry))) cpSync(join(tree, entry), join(composed, entry), { recursive: true });
|
|
82
|
+
}
|
|
83
|
+
mkdirSync(join(input.dir, ".."), { recursive: true });
|
|
84
|
+
try {
|
|
85
|
+
renameSync(composed, input.dir);
|
|
86
|
+
} catch (err) {
|
|
87
|
+
if (!existsSync(join(input.dir, "settings.json"))) throw err;
|
|
88
|
+
}
|
|
89
|
+
return void 0;
|
|
90
|
+
} catch (err) {
|
|
91
|
+
return err instanceof Error ? err.message : String(err);
|
|
92
|
+
} finally {
|
|
93
|
+
rmSync(work, { recursive: true, force: true });
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
async function askGovernance(input) {
|
|
97
|
+
const { gitCommonDir, credentials, now } = input;
|
|
98
|
+
const answer = await lookupGoverningSource({ url: credentials.url, apiKey: credentials.credential, appId: credentials.appId }, input.ownName, input.fetchImpl, input.lookup);
|
|
99
|
+
const named = answer.kind === "answered" ? answer.source : void 0;
|
|
100
|
+
if (named === null) {
|
|
101
|
+
writeSourceCache(gitCommonDir, { checkedAt: new Date(now).toISOString(), status: "self", ttlMs: SOURCE_CACHE_TTL_SUCCESS_MS });
|
|
102
|
+
clearDegraded(gitCommonDir);
|
|
103
|
+
removeLauncherDeliveryRecord(gitCommonDir);
|
|
104
|
+
return { kind: "self" };
|
|
105
|
+
}
|
|
106
|
+
if (named !== void 0) {
|
|
107
|
+
writeSourceCache(gitCommonDir, { checkedAt: new Date(now).toISOString(), status: "governed", repository: named.repository, ref: named.ref, sha: named.sha, ttlMs: SOURCE_CACHE_TTL_SUCCESS_MS });
|
|
108
|
+
clearDegraded(gitCommonDir);
|
|
109
|
+
return { kind: "governed", source: named };
|
|
110
|
+
}
|
|
111
|
+
if (answer.kind === "answered") return { kind: "unknown", why: "the gateway is too old to name the control plane" };
|
|
112
|
+
if (answer.kind === "rejected") return { kind: "unknown", why: "the gateway rejected the saved login or key" };
|
|
113
|
+
return { kind: "unknown", why: describeFailure(answer.failure) };
|
|
114
|
+
}
|
|
115
|
+
async function governanceOf(input) {
|
|
116
|
+
const dirs = findGitDirs(input.cwd);
|
|
117
|
+
if (dirs === void 0) return "self";
|
|
118
|
+
const cache = readSourceCache(dirs.gitCommonDir);
|
|
119
|
+
if (cache?.status === "governed" || readDeliveryRecord(dirs.gitCommonDir) !== void 0) return "governed";
|
|
120
|
+
if (cache?.status === "self" && cache.unanswered === void 0 && isSourceCacheFresh(cache, Date.now())) return "self";
|
|
121
|
+
const credentials = resolveGatewayCredentials({ home: input.home, env: input.env, cwd: dirs.repoRoot });
|
|
122
|
+
const originUrl = gitOutput(dirs.repoRoot, ["config", "--get", "remote.origin.url"]);
|
|
123
|
+
const ownName = originUrl === void 0 ? void 0 : parseOwnerRepo(originUrl);
|
|
124
|
+
if (!credentials.ok || ownName === void 0) return "self";
|
|
125
|
+
const governance = await askGovernance({
|
|
126
|
+
gitCommonDir: dirs.gitCommonDir,
|
|
127
|
+
credentials,
|
|
128
|
+
ownName,
|
|
129
|
+
fetchImpl: input.fetchImpl ?? defaultFetch,
|
|
130
|
+
lookup: input.lookup ?? { timeoutMs: 2e3, attempts: 1 },
|
|
131
|
+
now: Date.now()
|
|
132
|
+
});
|
|
133
|
+
return governance.kind;
|
|
134
|
+
}
|
|
135
|
+
async function resolveLaunchPlane(deps) {
|
|
136
|
+
const dirs = findGitDirs(deps.cwd);
|
|
137
|
+
if (dirs === void 0) return { kind: "none" };
|
|
138
|
+
const { repoRoot, gitCommonDir } = dirs;
|
|
139
|
+
cleanupEarlierCopies({ repoRoot, gitCommonDir });
|
|
140
|
+
const credentials = resolveGatewayCredentials({ home: deps.home, env: deps.env, cwd: repoRoot });
|
|
141
|
+
if (!credentials.ok) return { kind: "none" };
|
|
142
|
+
const originUrl = gitOutput(repoRoot, ["config", "--get", "remote.origin.url"]);
|
|
143
|
+
const ownName = originUrl === void 0 ? void 0 : parseOwnerRepo(originUrl);
|
|
144
|
+
if (originUrl === void 0 || ownName === void 0) return { kind: "none" };
|
|
145
|
+
const now = Date.now();
|
|
146
|
+
const cache = readSourceCache(gitCommonDir);
|
|
147
|
+
if (cache?.status === "self" && cache.unanswered === void 0 && isSourceCacheFresh(cache, now)) return { kind: "none" };
|
|
148
|
+
const fetchImpl = deps.fetchImpl ?? defaultFetch;
|
|
149
|
+
const governance = await askGovernance({ gitCommonDir, credentials, ownName, fetchImpl, lookup: GOVERNANCE_LOOKUP, now });
|
|
150
|
+
if (governance.kind === "self") {
|
|
151
|
+
if (existsSync(join(repoRoot, ".outerlayer-pin.json"))) {
|
|
152
|
+
deps.stderr(`outerlayer claude: no control plane governs ${ownName} any more; starting Claude Code without one. The committed .outerlayer-pin.json is no longer used and can be deleted
|
|
153
|
+
`);
|
|
154
|
+
}
|
|
155
|
+
return { kind: "none" };
|
|
156
|
+
}
|
|
157
|
+
const source = governance.kind === "governed" ? governance.source : void 0;
|
|
158
|
+
const whyNoAnswer = governance.kind === "unknown" ? governance.why : "";
|
|
159
|
+
const last = readDeliveryRecord(gitCommonDir);
|
|
160
|
+
if (source === void 0) {
|
|
161
|
+
const lastCopy = last !== void 0 && existsSync(last.dir) ? last : void 0;
|
|
162
|
+
const knownGoverned = cache?.status === "governed" || last !== void 0;
|
|
163
|
+
if (!knownGoverned) {
|
|
164
|
+
deps.stderr(`outerlayer claude: ${whyNoAnswer}, so whether a control plane governs this repository is unknown; starting Claude Code without one
|
|
165
|
+
`);
|
|
166
|
+
return { kind: "none" };
|
|
167
|
+
}
|
|
168
|
+
if (lastCopy === void 0) {
|
|
169
|
+
return { kind: "refused", message: `outerlayer claude: the control plane could not be fetched: ${whyNoAnswer}, and no copy of it is stored on this machine
|
|
170
|
+
` };
|
|
171
|
+
}
|
|
172
|
+
deps.stderr(`outerlayer claude: ${whyNoAnswer}; starting with the control plane copy from ${lastCopy.sha.slice(0, 7)}, which may be out of date
|
|
173
|
+
`);
|
|
174
|
+
return finish(lastCopy, repoRoot, gitCommonDir, ownName);
|
|
175
|
+
}
|
|
176
|
+
let dir;
|
|
177
|
+
try {
|
|
178
|
+
dir = laptopDeliveryDir(deps.home, source.repository, source.sha);
|
|
179
|
+
} catch (err) {
|
|
180
|
+
return { kind: "refused", message: `outerlayer claude: the control plane could not be fetched: ${err instanceof Error ? err.message : String(err)}
|
|
181
|
+
` };
|
|
182
|
+
}
|
|
183
|
+
if (!existsSync(join(dir, "settings.json"))) {
|
|
184
|
+
const problem = await storeCopy({ home: deps.home, dir, originUrl, source, fetchImpl });
|
|
185
|
+
if (problem !== void 0) {
|
|
186
|
+
if (last !== void 0 && existsSync(last.dir)) {
|
|
187
|
+
deps.stderr(`outerlayer claude: the control plane could not be fetched (${problem}); starting with the copy from ${last.sha.slice(0, 7)}, which may be out of date
|
|
188
|
+
`);
|
|
189
|
+
return finish(last, repoRoot, gitCommonDir, ownName);
|
|
190
|
+
}
|
|
191
|
+
return { kind: "refused", message: `outerlayer claude: the control plane could not be fetched: ${problem}
|
|
192
|
+
` };
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
return finish({ schemaVersion: 1, repository: source.repository, ref: source.ref, sha: source.sha, dir }, repoRoot, gitCommonDir, ownName);
|
|
196
|
+
}
|
|
197
|
+
function describeFailure(failure) {
|
|
198
|
+
if (failure.kind === "timeout") return `the gateway did not answer within ${(failure.timeoutMs ?? 0) / 1e3} seconds`;
|
|
199
|
+
if (failure.kind === "status") return `the gateway answered ${failure.status}`;
|
|
200
|
+
return `the gateway could not be reached (${failure.message ?? "network error"})`;
|
|
201
|
+
}
|
|
202
|
+
function finish(record, repoRoot, gitCommonDir, ownName) {
|
|
203
|
+
const own = committedSkillNames(repoRoot);
|
|
204
|
+
const clash = sharedSkillNames(record.dir).find((name) => own.has(name));
|
|
205
|
+
if (clash !== void 0) {
|
|
206
|
+
return {
|
|
207
|
+
kind: "refused",
|
|
208
|
+
message: `outerlayer claude: ${skillConflictMessage({ skill: clash, repository: ownName, controlPlane: record.repository })}, and would replace it in this session; rename or remove it from the repository
|
|
209
|
+
`
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
writeDeliveryRecord(gitCommonDir, { ...record, launcher: true });
|
|
213
|
+
return { kind: "attach", dir: record.dir };
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
export { governanceOf, resolveLaunchPlane };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
export { CaptureDaemon, PRICE_TABLE_SOURCE, SECRET_PATTERNS, SOURCE_ADAPTERS, SUPPORTED_VERSIONS, StatuslineAggregator, WARNING_CODES, claudeCodeAdapter, codexAdapter, codexSessionIdFromPath, compareVersions, completePrefix, computeStatuslineState, costOfUsage, cursorAdapter, cursorChatIdFromPath, defaultCodexSessionsDir, defaultCursorChatsDir, defaultCursorProjectsDir, defaultProjectsDir, defaultRawDir, enrichSessionRepo, findCodexRollouts, findCursorChats, findTranscripts, isNewerThanSupported, isPriceKnown, normalizeErrorSignature, normalizeRemote, parseCodexRollout, parseCursorChat, parseTranscript, readStatuslineState, readSyncWatermarkMs, remoteLookupFailed, resolvePrice, resolveRepoIdentity, rootChildIds, scanAll, scrubDeep, scrubText, sessionIdFromPath, setCustomScrubbers, setLocalIdentity, setRepoRoot, statuslineStatePath, tailTranscript, workspacesByHash, writeStatuslineState } from './chunk-
|
|
4
|
-
import './chunk-
|
|
3
|
+
export { CaptureDaemon, PRICE_TABLE_SOURCE, SECRET_PATTERNS, SOURCE_ADAPTERS, SUPPORTED_VERSIONS, StatuslineAggregator, WARNING_CODES, claudeCodeAdapter, codexAdapter, codexSessionIdFromPath, compareVersions, completePrefix, computeStatuslineState, costOfUsage, cursorAdapter, cursorChatIdFromPath, defaultCodexSessionsDir, defaultCursorChatsDir, defaultCursorProjectsDir, defaultProjectsDir, defaultRawDir, enrichSessionRepo, findCodexRollouts, findCursorChats, findTranscripts, isNewerThanSupported, isPriceKnown, normalizeErrorSignature, normalizeRemote, parseCodexRollout, parseCursorChat, parseTranscript, readStatuslineState, readSyncWatermarkMs, remoteLookupFailed, resolvePrice, resolveRepoIdentity, rootChildIds, scanAll, scrubDeep, scrubText, sessionIdFromPath, setCustomScrubbers, setLocalIdentity, setRepoRoot, statuslineStatePath, tailTranscript, workspacesByHash, writeStatuslineState } from './chunk-QNLX477Q.js';
|
|
4
|
+
import './chunk-7VUK5RFS.js';
|
|
5
5
|
import './chunk-Z5GEFMRW.js';
|
|
6
6
|
|
|
7
7
|
createRequire(import.meta.url);
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
export { childEnvironment, createDockerHost, spawnRun } from './chunk-
|
|
4
|
-
import './chunk-
|
|
5
|
-
import './chunk-4NPZVMJU.js';
|
|
3
|
+
export { childEnvironment, createDockerHost, spawnRun } from './chunk-VMJPFQNE.js';
|
|
4
|
+
import './chunk-3UZTIRLF.js';
|
|
6
5
|
import './chunk-7RQ73DLO.js';
|
|
7
|
-
import './chunk-
|
|
6
|
+
import './chunk-QOZKPLVJ.js';
|
|
8
7
|
import './chunk-CX22S5BA.js';
|
|
9
|
-
import './chunk-
|
|
10
|
-
import './chunk-
|
|
11
|
-
import './chunk-
|
|
12
|
-
import './chunk-
|
|
8
|
+
import './chunk-QNLX477Q.js';
|
|
9
|
+
import './chunk-7VUK5RFS.js';
|
|
10
|
+
import './chunk-N2PXGQRL.js';
|
|
11
|
+
import './chunk-BQXFBI7T.js';
|
|
13
12
|
import './chunk-Z5GEFMRW.js';
|
|
14
13
|
|
|
15
14
|
createRequire(import.meta.url);
|
|
@@ -1,56 +1,58 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { needsClaudeCredential, claudeCredentialCheck, missingPermissionOf, missingPermissionFix } from './chunk-
|
|
3
|
+
import { needsClaudeCredential, claudeCredentialCheck, missingPermissionOf, missingPermissionFix } from './chunk-DADWEUH3.js';
|
|
4
4
|
import { freeBytes, formatBytes } from './chunk-YYYRBYWG.js';
|
|
5
|
-
import { launcherCheck } from './chunk-
|
|
6
|
-
import './chunk-
|
|
5
|
+
import { launcherCheck } from './chunk-VYAL7PUE.js';
|
|
6
|
+
import './chunk-AMFWYESY.js';
|
|
7
7
|
import { RepoFilter } from './chunk-TBT347UY.js';
|
|
8
|
-
import './chunk-
|
|
9
|
-
import
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import './chunk-
|
|
13
|
-
import './chunk-
|
|
14
|
-
import './chunk-
|
|
15
|
-
import './chunk-
|
|
8
|
+
import './chunk-6D7GT22T.js';
|
|
9
|
+
import './chunk-7YP7T6GV.js';
|
|
10
|
+
import { detectMachine, supportsContainerBuilds, describeMachineDocker, reachDockerStep, supportsMicroVmBuilds, microVmArchSupported, microVmAssetsPinned } from './chunk-UVG35MWF.js';
|
|
11
|
+
import { MIN_ENGINE_MAJOR } from './chunk-7KSSBQTS.js';
|
|
12
|
+
import './chunk-OGFGZQA3.js';
|
|
13
|
+
import { resolveDevcontainerCli, spawnRun } from './chunk-VMJPFQNE.js';
|
|
14
|
+
import { buildxState } from './chunk-3UZTIRLF.js';
|
|
15
|
+
import './chunk-GGOMT6KF.js';
|
|
16
|
+
import './chunk-X5H2WYMB.js';
|
|
17
|
+
import './chunk-XSZD4AZ6.js';
|
|
18
|
+
import './chunk-QEFKA2QD.js';
|
|
16
19
|
import './chunk-6MZSX4M7.js';
|
|
17
|
-
import { getJson, WorkCommandError, signatureRefusalMessage } from './chunk-
|
|
18
|
-
import './chunk-
|
|
19
|
-
import './chunk-
|
|
20
|
-
import
|
|
20
|
+
import { getJson, WorkCommandError, signatureRefusalMessage } from './chunk-HPJNLETG.js';
|
|
21
|
+
import './chunk-IF2OSI5T.js';
|
|
22
|
+
import './chunk-CG36IONK.js';
|
|
23
|
+
import './chunk-G3IJ3N6F.js';
|
|
24
|
+
import './chunk-BM63HB2M.js';
|
|
25
|
+
import { builtinKind } from './chunk-P53VEAOF.js';
|
|
21
26
|
import { allowHostProblem, MAX_ALLOW_HOSTS } from './chunk-UXYLWVTQ.js';
|
|
22
|
-
import './chunk-R7PF5OOU.js';
|
|
23
|
-
import { locateRecipe, assertBuildable, readRecipe, RecipeError } from './chunk-QOZKPLVJ.js';
|
|
24
|
-
import './chunk-N5FOE5PS.js';
|
|
25
|
-
import './chunk-OGFGZQA3.js';
|
|
26
|
-
import { buildxState } from './chunk-4NPZVMJU.js';
|
|
27
27
|
import { parseSize } from './chunk-7RQ73DLO.js';
|
|
28
|
-
import './chunk-
|
|
28
|
+
import './chunk-3CWUOFV6.js';
|
|
29
|
+
import { locateRecipe, assertBuildable, readRecipe, RecipeError } from './chunk-QOZKPLVJ.js';
|
|
29
30
|
import { CLAUDE_CODE_VERSION } from './chunk-CX22S5BA.js';
|
|
30
|
-
import './chunk-
|
|
31
|
-
import './chunk-
|
|
32
|
-
import { compareVersions } from './chunk-
|
|
33
|
-
import './chunk-
|
|
34
|
-
import './chunk-
|
|
35
|
-
import './chunk-YRYMNBGQ.js';
|
|
31
|
+
import './chunk-ECODQ7II.js';
|
|
32
|
+
import './chunk-JBJTC3UU.js';
|
|
33
|
+
import { compareVersions } from './chunk-QNLX477Q.js';
|
|
34
|
+
import './chunk-GOSFARMS.js';
|
|
35
|
+
import './chunk-ANPNT6PM.js';
|
|
36
36
|
import './chunk-WZBHBH3J.js';
|
|
37
|
-
import
|
|
38
|
-
import './chunk-
|
|
39
|
-
import './chunk-
|
|
37
|
+
import './chunk-LLM3I5YU.js';
|
|
38
|
+
import { defaultGitRunner } from './chunk-452TM7J4.js';
|
|
39
|
+
import './chunk-IXYZUUYQ.js';
|
|
40
|
+
import { defaultFetch } from './chunk-FVMYKL6L.js';
|
|
41
|
+
import './chunk-NTRCK4NH.js';
|
|
40
42
|
import './chunk-ZJSNLVCE.js';
|
|
41
|
-
import { defaultFetch } from './chunk-YO4PSLVB.js';
|
|
42
|
-
import './chunk-BYT5O5RV.js';
|
|
43
|
-
import './chunk-POJMEEJJ.js';
|
|
44
|
-
import './chunk-OHVJA253.js';
|
|
45
|
-
import './chunk-PLMTLGYH.js';
|
|
46
|
-
import './chunk-J5M7BSJQ.js';
|
|
47
|
-
import './chunk-EABW6AJQ.js';
|
|
48
|
-
import './chunk-RA3O54FC.js';
|
|
49
|
-
import { loadHostKey } from './chunk-V7NIVOFD.js';
|
|
50
|
-
import { runnerDir, hostKeyPath, jobsDir } from './chunk-ZM2IMMYN.js';
|
|
51
|
-
import './chunk-XCCLFVXM.js';
|
|
52
43
|
import './chunk-BJ3KTMDH.js';
|
|
44
|
+
import './chunk-G2YNJIGF.js';
|
|
45
|
+
import './chunk-NNLA7LLQ.js';
|
|
46
|
+
import './chunk-WFSUUUAN.js';
|
|
47
|
+
import './chunk-7VUK5RFS.js';
|
|
48
|
+
import './chunk-EABW6AJQ.js';
|
|
49
|
+
import './chunk-CRB3POP4.js';
|
|
50
|
+
import './chunk-YQR6E6OV.js';
|
|
53
51
|
import { homeFromEnv } from './chunk-VNVZDWO3.js';
|
|
52
|
+
import './chunk-RA3O54FC.js';
|
|
53
|
+
import { loadHostKey } from './chunk-M2ZWWTWZ.js';
|
|
54
|
+
import { runnerDir, hostKeyPath, jobsDir } from './chunk-N2PXGQRL.js';
|
|
55
|
+
import './chunk-BQXFBI7T.js';
|
|
54
56
|
import './chunk-Z5GEFMRW.js';
|
|
55
57
|
import { spawnSync } from 'child_process';
|
|
56
58
|
import { existsSync, readdirSync, statSync, readFileSync } from 'fs';
|
|
@@ -404,7 +406,11 @@ async function controlPlaneAccessCheck(env, fetchImpl) {
|
|
|
404
406
|
try {
|
|
405
407
|
const { data } = await getJson(env.gateway.url, `/v1/context/source?repo=${encodeURIComponent(repository)}`, env.gateway.apiKey, env.gateway.appId, fetchImpl, signer);
|
|
406
408
|
const answer = data;
|
|
407
|
-
|
|
409
|
+
if (answer.source === void 0) {
|
|
410
|
+
warnings.push(`the gateway is too old to say which repository governs ${repository}`);
|
|
411
|
+
continue;
|
|
412
|
+
}
|
|
413
|
+
sources = answer.source === null ? [] : [{ repository: answer.source.repository, ref: answer.source.ref }];
|
|
408
414
|
} catch (err) {
|
|
409
415
|
warnings.push(`could not ask the gateway which repository governs ${repository}: ${err instanceof Error ? err.message : String(err)}`);
|
|
410
416
|
continue;
|
|
@@ -1,32 +1,35 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { staleBuildRefusal, staleBuildWarning, detectCi } from './chunk-
|
|
4
|
-
import
|
|
3
|
+
import { staleBuildRefusal, staleBuildWarning, detectCi } from './chunk-7SJPQWBM.js';
|
|
4
|
+
import './chunk-KYS3TQAG.js';
|
|
5
|
+
import { launchRefusalForSession } from './chunk-ESVW4MJY.js';
|
|
5
6
|
import './chunk-TBT347UY.js';
|
|
6
|
-
import { autoConnect } from './chunk-
|
|
7
|
-
import
|
|
7
|
+
import { detectActiveSession, autoConnect } from './chunk-IF2OSI5T.js';
|
|
8
|
+
import './chunk-CG36IONK.js';
|
|
9
|
+
import { readEffectiveArtifactSpoolState, localArtifactIds, isArtifactTombstoned, artifactBlobsDir, appendArtifactRecord, artifactsSpoolPath, findPendingArtifactRecord, sanitizeTerminal, appendArtifactTombstone } from './chunk-G3IJ3N6F.js';
|
|
10
|
+
import './chunk-BM63HB2M.js';
|
|
11
|
+
import './chunk-NFIR3GEE.js';
|
|
8
12
|
import './chunk-F7CU5ABH.js';
|
|
9
13
|
import './chunk-BKO6JEZI.js';
|
|
10
|
-
import './chunk-
|
|
11
|
-
import
|
|
12
|
-
import {
|
|
13
|
-
import './chunk-
|
|
14
|
-
import './chunk-N6LURUEF.js';
|
|
15
|
-
import { C } from './chunk-YRYMNBGQ.js';
|
|
16
|
-
import './chunk-GQD22KKN.js';
|
|
14
|
+
import { resolveRepoIdentity } from './chunk-QNLX477Q.js';
|
|
15
|
+
import './chunk-GOSFARMS.js';
|
|
16
|
+
import { C } from './chunk-ANPNT6PM.js';
|
|
17
|
+
import './chunk-T2Q7ISPE.js';
|
|
17
18
|
import { parseTrackerNumber, trackerNumberError } from './chunk-WZBHBH3J.js';
|
|
18
19
|
import './chunk-5QRP3MVS.js';
|
|
20
|
+
import { defaultFetch } from './chunk-FVMYKL6L.js';
|
|
21
|
+
import { resolveGatewayCredentials, unauthorizedMessage } from './chunk-NTRCK4NH.js';
|
|
19
22
|
import './chunk-ZJSNLVCE.js';
|
|
20
|
-
import { defaultFetch } from './chunk-YO4PSLVB.js';
|
|
21
|
-
import { resolveGatewayCredentials, unauthorizedMessage } from './chunk-PLMTLGYH.js';
|
|
22
|
-
import { ARTIFACT_MAX_CAPTION_LENGTH, ArtifactCriterionIdSchema, ARTIFACT_MAX_FILENAME_LENGTH, mediaTypeForArtifactPath, inferArtifactKind, ARTIFACT_MAX_REPLACES_TARGETS, parseTestSelector, parseJunit, bindTests } from './chunk-J5M7BSJQ.js';
|
|
23
|
-
import './chunk-EABW6AJQ.js';
|
|
24
|
-
import './chunk-V7NIVOFD.js';
|
|
25
|
-
import './chunk-ZM2IMMYN.js';
|
|
26
|
-
import './chunk-BWQ66M6N.js';
|
|
27
|
-
import './chunk-XCCLFVXM.js';
|
|
28
23
|
import './chunk-BJ3KTMDH.js';
|
|
24
|
+
import './chunk-G2YNJIGF.js';
|
|
25
|
+
import { ARTIFACT_MAX_CAPTION_LENGTH, ArtifactCriterionIdSchema, ARTIFACT_MAX_FILENAME_LENGTH, mediaTypeForArtifactPath, inferArtifactKind, ARTIFACT_MAX_REPLACES_TARGETS, parseTestSelector, parseJunit, bindTests } from './chunk-7VUK5RFS.js';
|
|
26
|
+
import './chunk-EABW6AJQ.js';
|
|
27
|
+
import { cliInvocation } from './chunk-CRB3POP4.js';
|
|
28
|
+
import './chunk-TUSYOL2O.js';
|
|
29
29
|
import { homeFromEnv } from './chunk-VNVZDWO3.js';
|
|
30
|
+
import './chunk-M2ZWWTWZ.js';
|
|
31
|
+
import './chunk-N2PXGQRL.js';
|
|
32
|
+
import './chunk-BQXFBI7T.js';
|
|
30
33
|
import './chunk-Z5GEFMRW.js';
|
|
31
34
|
import { createHash, randomUUID } from 'crypto';
|
|
32
35
|
import { statSync, readFileSync, mkdirSync, existsSync, writeFileSync, renameSync, unlinkSync } from 'fs';
|
|
@@ -174,7 +177,7 @@ async function runEmitArtifact(opts) {
|
|
|
174
177
|
appendArtifactTombstone(targetId, home, now);
|
|
175
178
|
} catch (err) {
|
|
176
179
|
if (!opts.quiet) {
|
|
177
|
-
const consequence = correctionCarriesReplaces ? "the correction still names it, so the server supersedes it once both upload" :
|
|
180
|
+
const consequence = correctionCarriesReplaces ? "the correction still names it, so the server supersedes it once both upload" : `it is still queued locally and will upload on the next ${cliInvocation()} sync \u2014 nothing on the wire links it to this correction`;
|
|
178
181
|
process.stderr.write(
|
|
179
182
|
`${C.yellow}!${C.reset} could not cancel replaced artifact ${targetId} locally: ${String(err)} \u2014 ${consequence}
|
|
180
183
|
`
|
|
@@ -210,20 +213,20 @@ async function runEmitArtifact(opts) {
|
|
|
210
213
|
if (entry === void 0) {
|
|
211
214
|
if (localIds.has(target)) {
|
|
212
215
|
throw new EmitArtifactError(
|
|
213
|
-
`--replaces "${target}" is still waiting in the local spool \u2014 run
|
|
216
|
+
`--replaces "${target}" is still waiting in the local spool \u2014 run \`${cliInvocation()} sync\` first, then retry the correction.`
|
|
214
217
|
);
|
|
215
218
|
}
|
|
216
219
|
continue;
|
|
217
220
|
}
|
|
218
221
|
if (entry.state === "held" || entry.state === "pending") {
|
|
219
222
|
throw new EmitArtifactError(
|
|
220
|
-
`--replaces "${target}" is still waiting in the local spool \u2014 run
|
|
223
|
+
`--replaces "${target}" is still waiting in the local spool \u2014 run \`${cliInvocation()} sync\` first, then retry the correction.`
|
|
221
224
|
);
|
|
222
225
|
}
|
|
223
226
|
if (entry.state === "dropped" && !entry.reachedServer) {
|
|
224
227
|
if (isArtifactTombstoned(target, home)) {
|
|
225
228
|
throw new EmitArtifactError(
|
|
226
|
-
`--replaces "${target}" has already been dropped locally, or its upload was never confirmed \u2014 run
|
|
229
|
+
`--replaces "${target}" has already been dropped locally, or its upload was never confirmed \u2014 run \`${cliInvocation()} sync\` first, then retry the correction.`
|
|
227
230
|
);
|
|
228
231
|
}
|
|
229
232
|
throw new EmitArtifactError(
|
|
@@ -303,7 +306,7 @@ async function runEmitArtifact(opts) {
|
|
|
303
306
|
cancelReplacedTargetLocally(target, true);
|
|
304
307
|
}
|
|
305
308
|
}
|
|
306
|
-
const output2 = opts.json ? JSON.stringify({ spooled: true, record }) : `${C.green}\u2713${C.reset} artifact spooled ${C.dim}\xB7${C.reset} id ${record.artifactId} ${C.dim}\xB7${C.reset} ${kind} ${filename} ${C.dim}\xB7${C.reset} session ${sessionId.slice(0, 8)}${replacesSuffix(replacesTargets)} ${C.dim}\xB7${C.reset} uploads on the next ${C.yellow}
|
|
309
|
+
const output2 = opts.json ? JSON.stringify({ spooled: true, record }) : `${C.green}\u2713${C.reset} artifact spooled ${C.dim}\xB7${C.reset} id ${record.artifactId} ${C.dim}\xB7${C.reset} ${kind} ${filename} ${C.dim}\xB7${C.reset} session ${sessionId.slice(0, 8)}${replacesSuffix(replacesTargets)} ${C.dim}\xB7${C.reset} uploads on the next ${C.yellow}${cliInvocation()} sync${C.reset}, which prints its link`;
|
|
307
310
|
if (!opts.quiet) process.stdout.write(output2 + "\n");
|
|
308
311
|
return { spooled: true, record, output: output2 };
|
|
309
312
|
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { createRequire } from 'node:module';
|
|
3
|
+
export { EmitError, runEmit } from './chunk-ZHAUSEEN.js';
|
|
4
|
+
import './chunk-ANPNT6PM.js';
|
|
5
|
+
import './chunk-IXYZUUYQ.js';
|
|
6
|
+
import './chunk-NNLA7LLQ.js';
|
|
7
|
+
import './chunk-WFSUUUAN.js';
|
|
8
|
+
import './chunk-7VUK5RFS.js';
|
|
9
|
+
import './chunk-CRB3POP4.js';
|
|
10
|
+
import './chunk-VNVZDWO3.js';
|
|
11
|
+
import './chunk-RA3O54FC.js';
|
|
12
|
+
import './chunk-Z5GEFMRW.js';
|
|
13
|
+
|
|
14
|
+
createRequire(import.meta.url);
|