@outerlayer/cli 0.33.0-next.20261022195547 → 0.33.0-next.20261023003700
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -0
- package/dist/{agent-setup-RJOVRRHK.js → agent-setup-55ZDEXCS.js} +6 -6
- package/dist/{bridge-BCG2EB7F.js → bridge-NBCXFTT4.js} +2 -2
- package/dist/{build-GKCVFHF4.js → build-SEAQVLD5.js} +5 -5
- package/dist/build-disk-JHTMPRAA.js +16 -0
- package/dist/build-info.json +1 -1
- package/dist/{builder-DPNHJXG3.js → builder-Y4P7QARW.js} +5 -6
- package/dist/{check-64UX323V.js → check-MRYFTLOO.js} +36 -40
- package/dist/{chunk-D3HRAPNF.js → chunk-2EGCI2VW.js} +3424 -2700
- package/dist/{chunk-3MXPS7ED.js → chunk-2N67C6IV.js} +5 -4
- package/dist/{chunk-ZQOSIMKU.js → chunk-2WMZPJVE.js} +6 -3
- package/dist/{chunk-ZXBQ6E72.js → chunk-3RIFVLPO.js} +15 -10
- package/dist/{chunk-UOFBHIOZ.js → chunk-57L2YAJA.js} +1 -1
- package/dist/{chunk-6NWS455T.js → chunk-5THSC6BD.js} +1 -1
- package/dist/{chunk-QL3LPZ67.js → chunk-6LBSAW6I.js} +1 -1
- package/dist/{chunk-WPGBDY73.js → chunk-6RKD7YZ6.js} +1 -1
- package/dist/{chunk-77B36F5K.js → chunk-6Z4SZHV2.js} +4 -3
- package/dist/chunk-7HHNGZS5.js +146 -0
- package/dist/{chunk-DETKDTNL.js → chunk-AU346ENF.js} +3 -2
- package/dist/chunk-B2JURP6A.js +41 -0
- package/dist/{chunk-BCCI32ME.js → chunk-BALIE3BA.js} +36 -7
- package/dist/{chunk-BY36DVJV.js → chunk-BKADJZ7F.js} +3 -2
- package/dist/{chunk-CUBIZBMF.js → chunk-DISTLL2Q.js} +3 -3
- package/dist/{chunk-GN2R5Z7G.js → chunk-DXJTBU7A.js} +3 -3
- package/dist/{chunk-WCELNMXT.js → chunk-EUVE2EAE.js} +2 -2
- package/dist/{chunk-DDS2ISML.js → chunk-F5UL23I2.js} +1 -1
- package/dist/{chunk-43PV5KDB.js → chunk-FR7HWWCF.js} +37 -6
- package/dist/{chunk-JEKENLLA.js → chunk-GH246BGV.js} +1 -1
- package/dist/{chunk-ZRRUWNJS.js → chunk-HE4FBF4T.js} +4 -4
- package/dist/{chunk-W5DOK7BL.js → chunk-HVRQQOMH.js} +3 -3
- package/dist/{chunk-6IKSUAIA.js → chunk-HXA5GIHK.js} +61 -3
- package/dist/{chunk-2QT4JUW3.js → chunk-IP7BIBXJ.js} +1 -35
- package/dist/{chunk-LWTBE5J6.js → chunk-L26V6ILJ.js} +1 -1
- package/dist/{chunk-SK4TWCN3.js → chunk-MZBQTVFG.js} +1 -1
- package/dist/{chunk-YKYCE4HY.js → chunk-MZYOUIY5.js} +1 -1
- package/dist/{chunk-OWDSO3PE.js → chunk-NBZ7XBT6.js} +1 -1
- package/dist/{chunk-TGHBOXKJ.js → chunk-NE63JADS.js} +2 -2
- package/dist/{chunk-AGZNCIIJ.js → chunk-PA6CK6WQ.js} +1 -1
- package/dist/{chunk-L6JFFP3Q.js → chunk-PWH3BEZF.js} +55 -283
- package/dist/{chunk-QDMMW5PC.js → chunk-Q2CMEQV7.js} +2 -2
- package/dist/{chunk-DJWKUQLO.js → chunk-QPWFVE3X.js} +1 -1
- package/dist/{chunk-5BNWAIHN.js → chunk-RQJMN5TJ.js} +47 -7
- package/dist/{chunk-H7A3IQH5.js → chunk-SDU2IE22.js} +72 -28
- package/dist/{chunk-AA6LYZC4.js → chunk-SOI6K5DY.js} +1 -1
- package/dist/{chunk-35IY5HQY.js → chunk-SVDOA4W2.js} +1 -1
- package/dist/{chunk-RBJG5MM4.js → chunk-T5REPMNL.js} +5 -5
- package/dist/{chunk-6KLPC4U7.js → chunk-ULBNTSAD.js} +3 -2
- package/dist/{chunk-CMKY36NV.js → chunk-VT4TTJPG.js} +6 -5
- package/dist/chunk-W2AEL4BJ.js +179 -0
- package/dist/{chunk-6C2YWM6N.js → chunk-XHHTMFCX.js} +1 -1
- package/dist/{chunk-FAZDYI2D.js → chunk-XL2XWWU7.js} +3 -2
- package/dist/{chunk-KLXWS5Z7.js → chunk-YXHKCHWG.js} +4 -4
- package/dist/{chunk-GWDS42JC.js → chunk-Z5IW4DHH.js} +1 -1
- package/dist/{claude-launcher-66GKNIRZ.js → claude-launcher-NTYHJUJM.js} +1 -1
- package/dist/{cli-WICFAKFW.js → cli-K6XGL4EZ.js} +126 -102
- package/dist/{command-VGR24IPI.js → command-7FAIIQGF.js} +25 -26
- package/dist/{config-DUY2PT7K.js → config-QXMUWJAQ.js} +10 -4
- package/dist/{connect-cmd-ADRPR6ES.js → connect-cmd-P5GASVAF.js} +5 -5
- package/dist/{container-start-QX53HKXW.js → container-start-CVP3NTDG.js} +23 -26
- package/dist/context-show-cmd-3EPJ7CJC.js +115 -0
- package/dist/{control-plane-launch-SMHL6MWW.js → control-plane-launch-A3YCHQNQ.js} +5 -5
- package/dist/{docker-GGRJHHBP.js → docker-ANW76BNW.js} +5 -6
- package/dist/{doctor-N3CDJ66I.js → doctor-GJAHI3KU.js} +32 -39
- package/dist/{emit-artifact-cmd-73OWUBH6.js → emit-artifact-cmd-FDPJKGOO.js} +11 -10
- package/dist/{emit-criteria-cmd-D7OR356Y.js → emit-criteria-cmd-3SVGCMJN.js} +8 -7
- package/dist/{emit-demo-cmd-4AV74GMZ.js → emit-demo-cmd-6DF2QIAS.js} +12 -11
- package/dist/{emit-finding-cmd-GEPRJ6KO.js → emit-finding-cmd-TLJWBGQE.js} +8 -7
- package/dist/{emit-result-cmd-N52IABK6.js → emit-result-cmd-CJNVDV5V.js} +10 -9
- package/dist/{emit-step-cmd-CC6MUJ2S.js → emit-step-cmd-347CZO7Y.js} +8 -7
- package/dist/{exec-client-KLI262IX.js → exec-client-7PT4W7JR.js} +3 -3
- package/dist/{findings-cmd-7I72XX2H.js → findings-cmd-LHTYEHYB.js} +8 -7
- package/dist/{fleet-readiness-EZAGL32M.js → fleet-readiness-KGR5AC2J.js} +5 -5
- package/dist/{governing-source-M7ZRJCGY.js → governing-source-JZQZUTMA.js} +10 -9
- package/dist/{guest-init-ZJIE6MU3.js → guest-init-J3F3AEEY.js} +4 -4
- package/dist/{hook-fast-WNKICZ6E.js → hook-fast-6WDMNZG5.js} +1 -1
- package/dist/{pending-I5TY6SQH.js → host-key-UERIQRE6.js} +3 -3
- package/dist/{image-tag-MORUQ4LF.js → image-tag-ADSLWXBA.js} +3 -3
- package/dist/index.js +4 -4
- package/dist/{init-VCWDBOT4.js → init-XDOKWBL2.js} +22 -25
- package/dist/{init-XG4NRZX4.js → init-ZQ5B3TJZ.js} +22 -25
- package/dist/{init-cmd-2CAMWMRP.js → init-cmd-YMGW2WXJ.js} +11 -10
- package/dist/{init-update-NCM4GA3S.js → init-update-X7YLZL6H.js} +8 -8
- package/dist/install-QPA7DQHO.js +19 -0
- package/dist/{install-cmd-HFGINYEE.js → install-cmd-FV7IZ7XF.js} +5 -5
- package/dist/{logs-QSKJ4G6M.js → logs-HI46FO6Z.js} +2 -2
- package/dist/{loop-PXALY3VY.js → loop-UJL2UCUM.js} +36 -40
- package/dist/{machine-AZRL432D.js → machine-2YPAFFCH.js} +22 -21
- package/dist/{mcp-serve-cmd-DQSO6MOL.js → mcp-serve-cmd-7ABBV2QE.js} +4 -4
- package/dist/{paths-KHDFSBEI.js → paths-7HVTDE6J.js} +2 -2
- package/dist/{host-key-REZADWAM.js → pending-5HZACM2V.js} +3 -3
- package/dist/{pidfile-BSY63HIC.js → pidfile-5UDLYPMC.js} +3 -3
- package/dist/{record-7CNTGRLD.js → record-PPZEXAVA.js} +3 -3
- package/dist/runner-env-HOUXKWIJ.js +20 -0
- package/dist/{runner-identity-WGH73DTV.js → runner-identity-KPUVTRLS.js} +5 -6
- package/dist/{runner-key-6BIULOR4.js → runner-key-FUJD66R6.js} +22 -25
- package/dist/{session-sender-MSHKJSBG.js → session-sender-7B3ZDWMC.js} +11 -10
- package/dist/{spec-cmd-AWIMO32E.js → spec-cmd-Q26NE22H.js} +9 -8
- package/dist/{status-BILERIXB.js → status-2KNTILGQ.js} +29 -28
- package/dist/{sync-cmd-BSUZ65CU.js → sync-cmd-SSUYTMLJ.js} +10 -9
- package/dist/{watch-UF6XCGSI.js → watch-L5NCO46E.js} +10 -9
- package/dist/{work-claim-cmd-4FXVAZWF.js → work-claim-cmd-NJNOQFQE.js} +16 -13
- package/dist/{work-cmd-NCP4637R.js → work-cmd-W7WEHMQJ.js} +8 -7
- package/dist/{work-comment-cmd-YNQYVHYS.js → work-comment-cmd-SSUOGVDD.js} +8 -7
- package/dist/{work-logs-cmd-HHWVYQBG.js → work-logs-cmd-WPMWMDX6.js} +8 -7
- package/dist/{work-open-pr-cmd-ALVD7KLY.js → work-open-pr-cmd-NO5YLOXD.js} +9 -8
- package/dist/{work-pr-cmd-KBNFVRB4.js → work-pr-cmd-37B5KECR.js} +8 -7
- package/dist/{work-stop-cmd-DBWNHZJO.js → work-stop-cmd-3BJLXUJ3.js} +8 -7
- package/package.json +1 -1
- package/skill-pack/maintained/outerlayer-build/SKILL.md +4 -2
- package/dist/build-disk-6QAXMA2J.js +0 -18
- package/dist/chunk-DNKUSXQU.js +0 -241
- package/dist/chunk-I5LGKZ4M.js +0 -107
- package/dist/chunk-P5FC7VUO.js +0 -111
- package/dist/chunk-UXYLWVTQ.js +0 -43
- package/dist/chunk-WBZJWVT2.js +0 -146
- package/dist/chunk-YJLHUKYS.js +0 -38
- package/dist/chunk-YYYRBYWG.js +0 -32
- package/dist/install-NLVYISAV.js +0 -14
- package/dist/runner-env-26NLQI35.js +0 -15
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
3
|
import { RecipeError } from './chunk-3Z3MPR55.js';
|
|
4
|
-
import { BUILDKIT_IMAGE } from './chunk-
|
|
5
|
-
import { parseSize } from './chunk-YJLHUKYS.js';
|
|
4
|
+
import { BUILDKIT_IMAGE } from './chunk-NE63JADS.js';
|
|
6
5
|
import { compareVersions } from './chunk-5DNCFOXA.js';
|
|
7
|
-
import { ensureHostKey } from './chunk-
|
|
8
|
-
import { RUNNER_DIR_MODE, RUNNER_FILE_MODE, runnerDir, jobsDir } from './chunk-
|
|
9
|
-
import { CLAUDE_PORT, JOB_MOUNT, GATEWAY_PORT, GATEWAY_SOCKET, CLAUDE_SOCKET, RELAY_PORT, DESTINATION_BASE_PORT } from './chunk-
|
|
6
|
+
import { ensureHostKey } from './chunk-SOI6K5DY.js';
|
|
7
|
+
import { RUNNER_DIR_MODE, RUNNER_FILE_MODE, runnerDir, jobsDir } from './chunk-PA6CK6WQ.js';
|
|
8
|
+
import { CLAUDE_PORT, JOB_MOUNT, GATEWAY_PORT, GATEWAY_SOCKET, CLAUDE_SOCKET, RELAY_PORT, DESTINATION_BASE_PORT } from './chunk-BALIE3BA.js';
|
|
10
9
|
import { JOIN_DIR, RELAY_ID, JOIN_SOCKET, TARGET_GATEWAY, TARGET_CLAUDE, destinationTarget, RELAY_USER } from './chunk-MESOOLF4.js';
|
|
11
10
|
import { createHash } from 'crypto';
|
|
12
11
|
import { existsSync, mkdirSync, createWriteStream, rmSync, readFileSync, chmodSync, writeFileSync, realpathSync, readdirSync, renameSync } from 'fs';
|
|
@@ -17,6 +16,38 @@ import { createRequire as createRequire$1 } from 'module';
|
|
|
17
16
|
import { fileURLToPath } from 'url';
|
|
18
17
|
|
|
19
18
|
createRequire(import.meta.url);
|
|
19
|
+
|
|
20
|
+
// src/runner/container/disk.ts
|
|
21
|
+
var UNITS = { "": 1, k: 1024, m: 1024 ** 2, g: 1024 ** 3 };
|
|
22
|
+
function parseSize(text) {
|
|
23
|
+
const match = /^(\d+(?:\.\d+)?)([kKmMgG]?)$/.exec(text);
|
|
24
|
+
if (match === null) return void 0;
|
|
25
|
+
const bytes = Number(match[1]) * UNITS[match[2].toLowerCase()];
|
|
26
|
+
return bytes > 0 ? bytes : void 0;
|
|
27
|
+
}
|
|
28
|
+
function exceedsDisk(usedKilobytes, limit) {
|
|
29
|
+
const bytes = parseSize(limit);
|
|
30
|
+
return usedKilobytes * 1024 > (bytes ?? Number.POSITIVE_INFINITY);
|
|
31
|
+
}
|
|
32
|
+
var TOTAL = /^(\d+)\t\/build$/;
|
|
33
|
+
var GONE = /: No such file or directory$/;
|
|
34
|
+
var LINE_MAX = 200;
|
|
35
|
+
function readDu(result) {
|
|
36
|
+
const stdoutLines = result.stdout.split("\n");
|
|
37
|
+
const totalAt = stdoutLines.map((line) => TOTAL.test(line)).lastIndexOf(true);
|
|
38
|
+
const kib = totalAt === -1 ? void 0 : Number(TOTAL.exec(stdoutLines[totalAt])[1]);
|
|
39
|
+
const lines2 = [...result.stderr.split("\n"), ...stdoutLines.filter((_, index) => index !== totalAt)].map((line) => line.trim()).filter((line) => line !== "");
|
|
40
|
+
const other = lines2.find((line) => !GONE.test(line));
|
|
41
|
+
if (kib !== void 0 && result.status === 0) return { kib };
|
|
42
|
+
if (kib !== void 0 && other === void 0 && lines2.length > 0) return { kib };
|
|
43
|
+
const detail = other === void 0 ? "" : `: ${cut(other.replace(/[\u0000-\u001f\u007f]/g, " "))}`;
|
|
44
|
+
return { ...kib === void 0 ? {} : { kib }, failure: `docker exec exited ${result.status}${detail}` };
|
|
45
|
+
}
|
|
46
|
+
function cut(line) {
|
|
47
|
+
const head = line.slice(0, LINE_MAX);
|
|
48
|
+
const last = head.charCodeAt(head.length - 1);
|
|
49
|
+
return last >= 55296 && last <= 56319 ? head.slice(0, -1) : head;
|
|
50
|
+
}
|
|
20
51
|
var PACKAGE = "@devcontainers/cli";
|
|
21
52
|
function buildRootFromDist(moduleDir = dirname(fileURLToPath(import.meta.url))) {
|
|
22
53
|
try {
|
|
@@ -732,4 +763,4 @@ function ensureBuilder(rawRun, spec, options = {}) {
|
|
|
732
763
|
);
|
|
733
764
|
}
|
|
734
765
|
|
|
735
|
-
export { BUILD_LABEL, COMMAND_DIR, HASH_ARGV, JUDGE_DIR, JUDGE_ITEMS, JUDGE_MAX_TURNS, JUDGE_PROGRAM, JUDGE_REPORT, MAX_ITEMS_BYTES, MAX_REPORT_BYTES, MIN_BUILDX_VERSION, RUNNER_LABEL, builderName, builderNameFor, builderSpec, buildxState, childEnvironment, containerExecArgs, containerRunArgs, createDockerHost, dockerIdentity, ensureBuilder, ensureFailureCount, ensureRunnerIdentity, isOutOfMemory, judgeCommand, parseProgramHash, pathLabelValue, prepareRunArgs, proxyEnvironment, readJobFile, readJobFileChecked, readRunnerIdentity, resolveDevcontainerCli, runnerLabelValue, spawnRun, trackImageBuild, withAnswerProtocol, writeJobFile };
|
|
766
|
+
export { BUILD_LABEL, COMMAND_DIR, HASH_ARGV, JUDGE_DIR, JUDGE_ITEMS, JUDGE_MAX_TURNS, JUDGE_PROGRAM, JUDGE_REPORT, MAX_ITEMS_BYTES, MAX_REPORT_BYTES, MIN_BUILDX_VERSION, RUNNER_LABEL, builderName, builderNameFor, builderSpec, buildxState, childEnvironment, containerExecArgs, containerRunArgs, createDockerHost, dockerIdentity, ensureBuilder, ensureFailureCount, ensureRunnerIdentity, exceedsDisk, isOutOfMemory, judgeCommand, parseProgramHash, parseSize, pathLabelValue, prepareRunArgs, proxyEnvironment, readDu, readJobFile, readJobFileChecked, readRunnerIdentity, resolveDevcontainerCli, runnerLabelValue, spawnRun, trackImageBuild, withAnswerProtocol, writeJobFile };
|
|
@@ -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-PA6CK6WQ.js';
|
|
4
4
|
import { readFileSync, existsSync, rmSync, mkdirSync, writeFileSync, renameSync } from 'fs';
|
|
5
5
|
import { join } from 'path';
|
|
6
6
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { builtinKind } from './chunk-
|
|
4
|
-
import { parseSize } from './chunk-
|
|
5
|
-
import { runnerDir } from './chunk-
|
|
6
|
-
import { CLAUDE_CREDENTIAL_ID, CLAUDE_ENV_FILE, credentialLineIn, withoutCredentialLines } from './chunk-
|
|
3
|
+
import { builtinKind } from './chunk-RQJMN5TJ.js';
|
|
4
|
+
import { parseSize } from './chunk-FR7HWWCF.js';
|
|
5
|
+
import { runnerDir } from './chunk-PA6CK6WQ.js';
|
|
6
|
+
import { CLAUDE_CREDENTIAL_ID, CLAUDE_ENV_FILE, credentialLineIn, withoutCredentialLines } from './chunk-BALIE3BA.js';
|
|
7
7
|
import { FD_SLOTS_PER_BUILD, FD_STORE_ENV } from './chunk-HACGUL52.js';
|
|
8
8
|
import { existsSync, readFileSync, writeFileSync, chmodSync, renameSync } from 'fs';
|
|
9
9
|
import { dirname, join } from 'path';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { TUNNEL_PORT, BRIDGE_ADDRESS, BRIDGE_CIDR } from './chunk-
|
|
3
|
+
import { TUNNEL_PORT, BRIDGE_ADDRESS, BRIDGE_CIDR } from './chunk-6LBSAW6I.js';
|
|
4
4
|
import { startTimeOf } from './chunk-JBJTC3UU.js';
|
|
5
|
-
import { EXEC_PORT } from './chunk-
|
|
6
|
-
import { RELAY_PORT } from './chunk-
|
|
5
|
+
import { EXEC_PORT } from './chunk-L26V6ILJ.js';
|
|
6
|
+
import { RELAY_PORT } from './chunk-BALIE3BA.js';
|
|
7
7
|
import { spawn, spawnSync } from 'child_process';
|
|
8
8
|
import { symlinkSync, lstatSync, writeFileSync, chmodSync, mkdirSync, existsSync } from 'fs';
|
|
9
9
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
3
|
import { sanitizeTerminal } from './chunk-EWVYQLD3.js';
|
|
4
4
|
import { isAgentsMdLayout } from './chunk-HJYBWJAS.js';
|
|
5
|
-
import { resolveGatewayCredentials, defaultFetch } from './chunk-
|
|
5
|
+
import { resolveGatewayCredentials, defaultFetch } from './chunk-6RKD7YZ6.js';
|
|
6
6
|
import { versionAtLeast } from './chunk-HCVLP7XA.js';
|
|
7
7
|
import { findGitDirs } from './chunk-BJ3KTMDH.js';
|
|
8
8
|
import { machineSkillsState, staleClaudeSkills } from './chunk-GFYEMCPP.js';
|
|
@@ -11,8 +11,9 @@ import { MAINTAINED_SKILLS } from './chunk-CDDED64E.js';
|
|
|
11
11
|
import { cliInvocation } from './chunk-CRB3POP4.js';
|
|
12
12
|
import { hasSymlinkComponent } from './chunk-AVTI3FL5.js';
|
|
13
13
|
import { emitTree, ALL_TARGET_IDS, classifyTree, splitRawFile } from './chunk-LJG6EMLJ.js';
|
|
14
|
+
import { execFileSync } from 'child_process';
|
|
14
15
|
import { existsSync, readFileSync, writeFileSync, realpathSync, readdirSync } from 'fs';
|
|
15
|
-
import { join, dirname, posix } from 'path';
|
|
16
|
+
import { join, dirname, posix, basename, isAbsolute, relative } from 'path';
|
|
16
17
|
|
|
17
18
|
createRequire(import.meta.url);
|
|
18
19
|
var PROSE_FILE = /\.mdc?$/;
|
|
@@ -220,6 +221,63 @@ function checkMachineSkills(opts) {
|
|
|
220
221
|
}
|
|
221
222
|
];
|
|
222
223
|
}
|
|
224
|
+
var SKILL_BASES2 = [".agents/skills", ".claude/skills"];
|
|
225
|
+
function ignoreRuleFor(repoRoot, path) {
|
|
226
|
+
let out;
|
|
227
|
+
try {
|
|
228
|
+
out = execFileSync("git", ["-C", repoRoot, "check-ignore", "-v", "--", path], { encoding: "utf8", stdio: ["ignore", "pipe", "ignore"], timeout: 5e3 });
|
|
229
|
+
} catch {
|
|
230
|
+
return void 0;
|
|
231
|
+
}
|
|
232
|
+
const match = /^(.*?):(\d+):([^\t]*)\t/.exec(out);
|
|
233
|
+
if (match === null || match[3].startsWith("!")) return void 0;
|
|
234
|
+
return { source: match[1], line: match[2], pattern: match[3] };
|
|
235
|
+
}
|
|
236
|
+
function ignoredSkillFolders(repoRoot) {
|
|
237
|
+
const found = [];
|
|
238
|
+
let any = false;
|
|
239
|
+
const ruleFor = (path) => ignoreRuleFor(repoRoot, path);
|
|
240
|
+
for (const base of SKILL_BASES2) {
|
|
241
|
+
let names;
|
|
242
|
+
try {
|
|
243
|
+
names = readdirSync(join(repoRoot, base), { withFileTypes: true }).filter((entry) => entry.isDirectory() || entry.isSymbolicLink()).map((entry) => entry.name).sort();
|
|
244
|
+
} catch {
|
|
245
|
+
continue;
|
|
246
|
+
}
|
|
247
|
+
for (const name of names) {
|
|
248
|
+
const folder = `${base}/${name}`;
|
|
249
|
+
any = true;
|
|
250
|
+
const file = existsSync(join(repoRoot, folder, "SKILL.md")) ? `${folder}/SKILL.md` : folder;
|
|
251
|
+
if (ruleFor(file) === void 0) continue;
|
|
252
|
+
const parts = file.split("/");
|
|
253
|
+
const ignored = parts.map((_, i) => parts.slice(0, i + 1).join("/")).find((path) => ruleFor(path) !== void 0);
|
|
254
|
+
found.push({ folder, ignored, ...ruleFor(ignored) });
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
return { found, any };
|
|
258
|
+
}
|
|
259
|
+
function ignoredSkillFix({ folder, ignored, source, line }) {
|
|
260
|
+
if (folder.startsWith(`${ignored}/`)) {
|
|
261
|
+
return `${ignored}/ is ignored as a whole, and git cannot bring back a folder inside an ignored one: change line ${line} of ${source} so it no longer matches ${ignored}/, or run \`git add -f ${folder}\`, then commit.`;
|
|
262
|
+
}
|
|
263
|
+
const target = ignored === folder ? `${folder}/` : ignored;
|
|
264
|
+
if (basename(source) !== ".gitignore" || isAbsolute(source)) return `Add the line \`!${target}\` to .gitignore, then commit the folder.`;
|
|
265
|
+
const path = relative(dirname(source), target) + (target.endsWith("/") ? "/" : "");
|
|
266
|
+
const anchored = path.slice(0, -1).includes("/") ? path : `/${path}`;
|
|
267
|
+
return `Add the line \`!${anchored}\` to ${source} below line ${line}, then commit the folder.`;
|
|
268
|
+
}
|
|
269
|
+
function checkIgnoredSkillFolders(repoRoot) {
|
|
270
|
+
const { found, any } = ignoredSkillFolders(repoRoot);
|
|
271
|
+
if (found.length === 0) {
|
|
272
|
+
return !any ? [] : [{ name: "Skills", status: "pass", detail: `no folder under ${SKILL_BASES2.join(" or ")} is ignored by git` }];
|
|
273
|
+
}
|
|
274
|
+
return found.map((ignored) => ({
|
|
275
|
+
name: "Skills",
|
|
276
|
+
status: "warn",
|
|
277
|
+
detail: `${ignored.folder} is ignored by ${ignored.source} line ${ignored.line} (\`${ignored.pattern}\`), so git never commits it and a build's clone has no ${ignored.folder.split("/").at(-1)} skill`,
|
|
278
|
+
fix: ignoredSkillFix(ignored)
|
|
279
|
+
}));
|
|
280
|
+
}
|
|
223
281
|
|
|
224
282
|
// src/fleet-readiness.ts
|
|
225
283
|
var FIRST_VERSION_WITH_MACHINE_SKILLS = "0.27.0";
|
|
@@ -297,4 +355,4 @@ async function fleetCheck(opts = {}) {
|
|
|
297
355
|
return [{ name: CHECK_NAME, status: "pass", detail }];
|
|
298
356
|
}
|
|
299
357
|
|
|
300
|
-
export { applyReferenceRewrites, checkBuildSkill, checkCommittedMaintainedSkills, checkMachineSkills, checkMaintainedReferences, committedMaintainedFolders, describeFleet, fleetCheck, fleetReadiness, maintainedReferenceRewrites, skillsFolders };
|
|
358
|
+
export { applyReferenceRewrites, checkBuildSkill, checkCommittedMaintainedSkills, checkIgnoredSkillFolders, checkMachineSkills, checkMaintainedReferences, committedMaintainedFolders, describeFleet, fleetCheck, fleetReadiness, maintainedReferenceRewrites, skillsFolders };
|
|
@@ -1,11 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { fetchFactories, selectFactory, saveFactoryConnection, autoConnectedLine } from './chunk-ZQOSIMKU.js';
|
|
4
|
-
import { resolveRepoIdentity } from './chunk-5DNCFOXA.js';
|
|
5
|
-
import { resolveGatewayCredentials } from './chunk-WPGBDY73.js';
|
|
6
|
-
import { findGitDirs, readRepoConnection } from './chunk-BJ3KTMDH.js';
|
|
7
|
-
import { cliInvocation } from './chunk-CRB3POP4.js';
|
|
8
|
-
import { homeFromEnv } from './chunk-VNVZDWO3.js';
|
|
9
3
|
import { openSync, fstatSync, readSync, closeSync } from 'fs';
|
|
10
4
|
import { join } from 'path';
|
|
11
5
|
|
|
@@ -82,32 +76,4 @@ function transcriptPathForSession(sessionId, home, readTailImpl = readTail) {
|
|
|
82
76
|
return found;
|
|
83
77
|
}
|
|
84
78
|
|
|
85
|
-
|
|
86
|
-
async function autoConnect(opts) {
|
|
87
|
-
const env = opts.env ?? process.env;
|
|
88
|
-
const home = opts.home ?? homeFromEnv(env);
|
|
89
|
-
const cwd = opts.cwd ?? process.cwd();
|
|
90
|
-
const resolved = resolveGatewayCredentials({ url: opts.url, apiKey: opts.apiKey, appId: opts.appId, home, env, cwd });
|
|
91
|
-
if (resolved.ok || resolved.kind !== "login" || !resolved.credential || !resolved.url) return void 0;
|
|
92
|
-
const dirs = findGitDirs(cwd);
|
|
93
|
-
const repository = opts.repository ?? resolveRepoIdentity(cwd).gitRepo;
|
|
94
|
-
if (dirs === void 0 || repository === void 0) return void 0;
|
|
95
|
-
const listed = await fetchFactories(opts.fetchImpl ?? fetch, resolved.url, resolved.credential, repository);
|
|
96
|
-
if (!listed.ok || listed.factories.length === 0) return void 0;
|
|
97
|
-
const chosen = selectFactory(listed.factories, readRepoConnection(cwd), repository);
|
|
98
|
-
if (chosen.factory === void 0) {
|
|
99
|
-
return `you are logged in, but no factory is chosen for this repository, and more than one fits. Run \`${cliInvocation()} connect --factory <org>/<factory>\` with one of:
|
|
100
|
-
${chosen.text}
|
|
101
|
-
Or pass --app-id / set OUTERLAYER_APP_ID.`;
|
|
102
|
-
}
|
|
103
|
-
try {
|
|
104
|
-
saveFactoryConnection(dirs.gitCommonDir, void 0, chosen.factory, /* @__PURE__ */ new Date());
|
|
105
|
-
} catch {
|
|
106
|
-
return void 0;
|
|
107
|
-
}
|
|
108
|
-
process.stderr.write(`${autoConnectedLine(repository, chosen.factory, chosen.reason)}
|
|
109
|
-
`);
|
|
110
|
-
return void 0;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
export { autoConnect, detectActiveSession, transcriptPathForSession };
|
|
79
|
+
export { detectActiveSession, transcriptPathForSession };
|
|
@@ -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-BALIE3BA.js';
|
|
4
4
|
import { symlinkSync, unlinkSync } from 'fs';
|
|
5
5
|
import { join } from 'path';
|
|
6
6
|
|
|
@@ -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-PA6CK6WQ.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 { runnerDir, RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-
|
|
3
|
+
import { runnerDir, RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-PA6CK6WQ.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
|
|
|
@@ -44,10 +44,10 @@ function guestAssetsPinned(arch) {
|
|
|
44
44
|
var JAILER_BINARY_SHA256 = {
|
|
45
45
|
x86_64: "65ef226e96f0ceda55ba643f445801ef2cc0ea667ef67cad8ac4f406c9c8434f"
|
|
46
46
|
};
|
|
47
|
-
var HOST_HELPER_ASSETS_VERSION = "
|
|
47
|
+
var HOST_HELPER_ASSETS_VERSION = "13";
|
|
48
48
|
var HOST_HELPER_BASE_URL = `https://github.com/outerlayerai/guest-assets/releases/download/guest-${HOST_HELPER_ASSETS_VERSION}`;
|
|
49
49
|
var HOST_HELPER_SHA256 = {
|
|
50
|
-
x86_64: "
|
|
50
|
+
x86_64: "0d6cdbce1e5a5e084726b1d1b1cc0bc208f6662fe8d10a1d7a91e8573035505f"
|
|
51
51
|
};
|
|
52
52
|
function hostHelperPinned(arch = "x86_64", hashes = HOST_HELPER_SHA256) {
|
|
53
53
|
return hashes[arch] !== "0".repeat(64);
|