@outerlayer/cli 0.12.0 → 0.13.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 +12 -0
- package/README.md +9 -4
- package/dist/{agent-setup-52LRZ6AY.js → agent-setup-QE6PSCEZ.js} +8 -8
- package/dist/build-info.json +1 -1
- package/dist/{builder-OF67QKDS.js → builder-UUS4ORDH.js} +3 -3
- package/dist/{check-RJOJU2WA.js → check-63IDCEEV.js} +27 -27
- package/dist/{chunk-XR3BJN33.js → chunk-22RMZBGW.js} +20 -1
- package/dist/{chunk-AHZQBGD2.js → chunk-2M63GG56.js} +1 -1
- package/dist/{chunk-27Y7AX2O.js → chunk-3D4OYFCD.js} +4 -4
- package/dist/{chunk-GGMRZPEA.js → chunk-3KTA5UU2.js} +1 -1
- package/dist/{chunk-USO2DKBD.js → chunk-4KSQKQXE.js} +8 -2
- package/dist/{chunk-C7N4TDHW.js → chunk-4QVZCVWT.js} +5 -5
- package/dist/{chunk-NPXQXYVA.js → chunk-6S3H3J6H.js} +2 -2
- package/dist/{chunk-DVT73QJO.js → chunk-C6IV5BV7.js} +10 -10
- package/dist/{chunk-JOXYKGUV.js → chunk-CNFVHDHG.js} +1 -1
- package/dist/{chunk-ANW7VHMH.js → chunk-DPKX26LT.js} +92 -16
- package/dist/{chunk-ZQUCTFXC.js → chunk-DXQ5MHCO.js} +1 -1
- package/dist/{chunk-GATMPAMK.js → chunk-EFZLAYPE.js} +2 -2
- package/dist/{chunk-SZOVKFWB.js → chunk-GI4XXD4I.js} +3 -3
- package/dist/{chunk-G5XY6CVG.js → chunk-HDTVTA6I.js} +2 -2
- package/dist/{chunk-325272HM.js → chunk-J5M7BSJQ.js} +11 -4
- package/dist/{chunk-3ZPYPFNM.js → chunk-JXYVA45C.js} +1 -1
- package/dist/{chunk-G5IEVZGI.js → chunk-LCEXHCHD.js} +1 -1
- package/dist/{chunk-GEBQXUFY.js → chunk-MJXXRX4M.js} +24 -10
- package/dist/{chunk-SKHN72JO.js → chunk-MZN7AQOB.js} +8 -8
- package/dist/{chunk-QEESCZ26.js → chunk-NX57IBNK.js} +1 -1
- package/dist/{chunk-6FH2AHJY.js → chunk-P4MM66C6.js} +30 -17
- package/dist/{chunk-IBB4D4KE.js → chunk-P6FX4D43.js} +1 -1
- package/dist/{chunk-A56PYPDF.js → chunk-R7OQTKWT.js} +2 -1
- package/dist/{chunk-2KLBKHT4.js → chunk-RLYZLUQ7.js} +1 -1
- package/dist/chunk-RMWLBUCJ.js +50 -0
- package/dist/{chunk-YEQL54G5.js → chunk-SFFHGX3G.js} +1 -1
- package/dist/{chunk-G4RXNF2L.js → chunk-SVEP7PVH.js} +12 -12
- package/dist/{chunk-VK25O2ZM.js → chunk-T5VPP6H7.js} +1 -1
- package/dist/{chunk-FO7KKPYG.js → chunk-TCIW27FM.js} +1 -1
- package/dist/{chunk-PDRYXERC.js → chunk-TOPDNXHZ.js} +5 -5
- package/dist/{chunk-5TGQHOUX.js → chunk-XJKL4BNU.js} +3 -3
- package/dist/{cli-JSSRGA6V.js → cli-WSBIAVZU.js} +116 -80
- package/dist/{command-3WYZ2ML5.js → command-N7BAB4XJ.js} +18 -18
- package/dist/{config-MKBX2ZQD.js → config-N3C6DFQA.js} +1 -1
- package/dist/{connect-cmd-A5NGODCJ.js → connect-cmd-FGYRLLXL.js} +5 -5
- package/dist/{context-adopt-BAHGXJZV.js → context-adopt-B3PWGFHL.js} +5 -5
- package/dist/{context-materialize-45OVRRK2.js → context-materialize-7S6NLLRO.js} +5 -5
- package/dist/{dist-EQDW7MZW.js → dist-LKDWQWZ7.js} +2 -2
- package/dist/{docker-VGWEJWI7.js → docker-BZ55BMBJ.js} +4 -4
- package/dist/{doctor-4FFXTQJ2.js → doctor-3H25Q7WT.js} +20 -20
- package/dist/{emit-artifact-cmd-QS7XNKBT.js → emit-artifact-cmd-IQCRXOH7.js} +8 -8
- package/dist/{emit-cmd-LXEIDKLT.js → emit-cmd-KDSM5VAO.js} +4 -4
- package/dist/{emit-criteria-cmd-XN6AKA53.js → emit-criteria-cmd-EYUXME26.js} +6 -6
- package/dist/{emit-finding-cmd-SQJSEHYS.js → emit-finding-cmd-P4RKBPBB.js} +6 -6
- package/dist/{emit-result-cmd-56RHPHOA.js → emit-result-cmd-6XYENU6H.js} +8 -8
- package/dist/{hook-fast-HLESEJAL.js → hook-fast-PXWKQPN6.js} +1 -1
- package/dist/{import-capture-cmd-NHMAFDM6.js → import-capture-cmd-2BKM5I2N.js} +3 -3
- package/dist/{import-ruler-cmd-UYB32YUT.js → import-ruler-cmd-IXR7YK47.js} +2 -2
- package/dist/index.js +3 -3
- package/dist/{init-UZKD4RY7.js → init-2LWVS4AH.js} +19 -19
- package/dist/{init-6AY5T3P6.js → init-ZL7ORPTF.js} +38 -28
- package/dist/{init-cmd-XGSX2BCC.js → init-cmd-JXOBCOIB.js} +14 -12
- package/dist/{install-VXXI7UR6.js → install-HDBIPHTX.js} +2 -2
- package/dist/{login-browser-7XGSV7MA.js → login-browser-QZCS3WW6.js} +2 -1
- package/dist/{loop-4NMI2USY.js → loop-XOAE6ZIY.js} +27 -27
- package/dist/{machine-4JX2D4TS.js → machine-G6PY2J2J.js} +15 -15
- package/dist/{mcp-install-cmd-XZARXNYT.js → mcp-install-cmd-VXVIH7PH.js} +1 -1
- package/dist/{runner-env-WAXTJXZK.js → runner-env-XTC53CHN.js} +3 -3
- package/dist/runner-key-TDTLNAKJ.js +154 -0
- package/dist/{session-sender-T7PN4YRC.js → session-sender-XVGZFWRK.js} +6 -6
- package/dist/{starter-pack-Z22VRFPF.js → starter-pack-B7JPGEDO.js} +4 -4
- package/dist/{status-OXBIRWJ7.js → status-MRTPG34B.js} +20 -20
- package/dist/{sync-cmd-EVXNR47N.js → sync-cmd-UBUZMMDN.js} +5 -5
- package/dist/{watch-7NSFOAL5.js → watch-STNPEWD6.js} +5 -5
- package/dist/{work-claim-cmd-KR7UR2AB.js → work-claim-cmd-CWGYEIJE.js} +10 -10
- package/dist/{work-cmd-JPM37MLF.js → work-cmd-X7NMJDFL.js} +7 -7
- package/dist/{work-comment-cmd-3DC6BC34.js → work-comment-cmd-FI2TMAYQ.js} +7 -7
- package/dist/{work-open-pr-cmd-XZQRJBNZ.js → work-open-pr-cmd-OVHJ5I5H.js} +8 -8
- package/dist/{work-pr-cmd-WHGZOP22.js → work-pr-cmd-Y5TDMQ4O.js} +7 -7
- package/package.json +1 -1
- package/skill-pack/template/build/SKILL.md +60 -33
- package/skill-pack/template/build/references/agent-briefs.md +4 -2
- package/skill-pack/template/build/references/release.md +1 -1
- package/skill-pack/template/build/references/review-loop.md +6 -2
- package/skill-pack/template/build/scripts/record-criteria.mjs +109 -143
- package/skill-pack/validators/code-review.yaml +4 -2
- package/dist/chunk-T6OIJQRT.js +0 -31
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { maintainedFilesForExistingSkills, loadMaintainedFiles, writeMaintainedFiles } from './chunk-
|
|
4
|
-
import { emitTree, parseOuterlayerConfig, classifyTree, generatedHeaderSource, CONTEXT_PIN_FILENAME, normalizePath } from './chunk-
|
|
3
|
+
import { maintainedFilesForExistingSkills, loadMaintainedFiles, writeMaintainedFiles } from './chunk-TCIW27FM.js';
|
|
4
|
+
import { emitTree, parseOuterlayerConfig, classifyTree, generatedHeaderSource, CONTEXT_PIN_FILENAME, normalizePath } from './chunk-2M63GG56.js';
|
|
5
5
|
import { existsSync, readFileSync, mkdirSync, writeFileSync, copyFileSync, readdirSync } from 'fs';
|
|
6
6
|
import { join, dirname, relative, sep } from 'path';
|
|
7
7
|
|
|
@@ -22273,9 +22273,14 @@ var ArtifactTombstoneRecordSchema = external_exports.looseObject({
|
|
|
22273
22273
|
});
|
|
22274
22274
|
external_exports.union([ArtifactSpoolRecordSchema, ArtifactTombstoneRecordSchema]);
|
|
22275
22275
|
var EMITTED_RESULTS = ["pass", "fail"];
|
|
22276
|
-
var RESERVED_EMIT_NAMES = ["criteria"];
|
|
22277
|
-
var EmittedNameSchema = external_exports.string().regex(/^[a-z][a-z0-9._-]{0,63}$/).
|
|
22278
|
-
|
|
22276
|
+
var RESERVED_EMIT_NAMES = ["artifact", "criteria", "finding", "findings"];
|
|
22277
|
+
var EmittedNameSchema = external_exports.string().regex(/^[a-z][a-z0-9._-]{0,63}$/).superRefine((name, ctx) => {
|
|
22278
|
+
if (RESERVED_EMIT_NAMES.includes(name)) {
|
|
22279
|
+
ctx.addIssue({
|
|
22280
|
+
code: "custom",
|
|
22281
|
+
message: `is reserved: \`outerlayer emit ${name}\` is a subcommand, so a check cannot be recorded under that name`
|
|
22282
|
+
});
|
|
22283
|
+
}
|
|
22279
22284
|
});
|
|
22280
22285
|
var EMITTED_RESULT_MAX_LINK_LENGTH = 500;
|
|
22281
22286
|
var EMITTED_RESULT_MAX_BODY_LENGTH = 2e3;
|
|
@@ -22292,6 +22297,7 @@ var CriterionSchema = external_exports.object({
|
|
|
22292
22297
|
proof: external_exports.enum(ARTIFACT_KINDS).nullable()
|
|
22293
22298
|
}).strict();
|
|
22294
22299
|
var CriteriaArraySchema = external_exports.array(CriterionSchema).min(1).max(CRITERIA_MAX);
|
|
22300
|
+
var DraftedSchema = external_exports.boolean().optional();
|
|
22295
22301
|
function refuseDuplicateIds(criteria, ctx) {
|
|
22296
22302
|
const seen = /* @__PURE__ */ new Set();
|
|
22297
22303
|
criteria.forEach((criterion, index) => {
|
|
@@ -22305,9 +22311,10 @@ function refuseDuplicateIds(criteria, ctx) {
|
|
|
22305
22311
|
seen.add(criterion.id);
|
|
22306
22312
|
});
|
|
22307
22313
|
}
|
|
22308
|
-
var CriteriaListSchema = external_exports.object({ criteria: CriteriaArraySchema }).strict().superRefine((list, ctx) => refuseDuplicateIds(list.criteria, ctx));
|
|
22314
|
+
var CriteriaListSchema = external_exports.object({ criteria: CriteriaArraySchema, drafted: DraftedSchema }).strict().superRefine((list, ctx) => refuseDuplicateIds(list.criteria, ctx));
|
|
22309
22315
|
external_exports.object({
|
|
22310
22316
|
criteria: CriteriaArraySchema,
|
|
22317
|
+
drafted: DraftedSchema,
|
|
22311
22318
|
item: external_exports.object({ number: external_exports.number().int().positive() }).optional(),
|
|
22312
22319
|
sessionId: external_exports.string().optional()
|
|
22313
22320
|
}).superRefine((request, ctx) => refuseDuplicateIds(request.criteria, ctx));
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { EVENT_TYPES, isHumanUserTurn, parseAgentSession, SCHEMA_VERSION, SPEED_MAX_LENGTH, inputBandOf, BUCKET_MODEL_MAX_LENGTH } from './chunk-
|
|
3
|
+
import { EVENT_TYPES, isHumanUserTurn, parseAgentSession, SCHEMA_VERSION, SPEED_MAX_LENGTH, inputBandOf, BUCKET_MODEL_MAX_LENGTH } from './chunk-J5M7BSJQ.js';
|
|
4
4
|
import { createHash } from 'crypto';
|
|
5
5
|
import { readFileSync, readdirSync, statSync, mkdirSync, copyFileSync, renameSync, unlinkSync, writeFileSync, stat as stat$1, unwatchFile, watchFile, watch as watch$1 } from 'fs';
|
|
6
6
|
import { type, homedir } from 'os';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { CONTEXT_PIN_SCHEMA_VERSION, CONTEXT_PIN_FILENAME } from './chunk-
|
|
3
|
+
import { CONTEXT_PIN_SCHEMA_VERSION, CONTEXT_PIN_FILENAME } from './chunk-2M63GG56.js';
|
|
4
4
|
import { readFileSync, existsSync, writeFileSync, mkdirSync, utimesSync, statSync, unlinkSync } from 'fs';
|
|
5
5
|
import { join, dirname } from 'path';
|
|
6
6
|
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { detectMachine, supportsContainerBuilds, reachDockerStep, describeMachineDocker, supportsMicroVmBuilds } from './chunk-
|
|
4
|
-
import { MIN_ENGINE_MAJOR } from './chunk-
|
|
5
|
-
import { hasStoredCredential, AGENT_COMMANDS, storeClaudeCredential, credentialFromStdin, isAgentName } from './chunk-
|
|
6
|
-
import {
|
|
3
|
+
import { detectMachine, supportsContainerBuilds, reachDockerStep, describeMachineDocker, supportsMicroVmBuilds } from './chunk-P6FX4D43.js';
|
|
4
|
+
import { MIN_ENGINE_MAJOR } from './chunk-MZN7AQOB.js';
|
|
5
|
+
import { hasStoredCredential, AGENT_COMMANDS, storeClaudeCredential, credentialFromStdin, isAgentName } from './chunk-T5VPP6H7.js';
|
|
6
|
+
import { runnerCredentialProblem } from './chunk-22RMZBGW.js';
|
|
7
|
+
import { runnerDir, RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-ZM2IMMYN.js';
|
|
7
8
|
import { existsSync, readFileSync, mkdirSync, writeFileSync } from 'fs';
|
|
8
9
|
import { dirname } from 'path';
|
|
9
10
|
|
|
@@ -61,9 +62,8 @@ function parseStdinConfig(configPath, text) {
|
|
|
61
62
|
} catch (err) {
|
|
62
63
|
throw new RunnerInitError(`the config on stdin is not valid JSON (${err instanceof Error ? err.message : String(err)})`);
|
|
63
64
|
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
}
|
|
65
|
+
const problem = runnerCredentialProblem(config);
|
|
66
|
+
if (problem !== void 0) throw new RunnerInitError(`the config on stdin: ${problem.field} ${problem.reason}.`);
|
|
67
67
|
const carried = config.runner;
|
|
68
68
|
const credential = handedCredential(config.claudeCredential);
|
|
69
69
|
const agent = handedAgent(config.agent);
|
|
@@ -73,15 +73,22 @@ function parseStdinConfig(configPath, text) {
|
|
|
73
73
|
return { config, carried, credential, agent };
|
|
74
74
|
}
|
|
75
75
|
function runRunnerInit(configPath, opts = {}) {
|
|
76
|
+
return writeRunnerInit(prepareRunnerInit(configPath, opts));
|
|
77
|
+
}
|
|
78
|
+
function prepareRunnerInit(configPath, opts = {}) {
|
|
76
79
|
let config;
|
|
77
80
|
let carried;
|
|
78
81
|
let credential = opts.credential;
|
|
79
82
|
let agent = opts.agent;
|
|
83
|
+
let needsKey = false;
|
|
80
84
|
if (opts.configFromStdin === void 0) {
|
|
81
|
-
config = readConfigObject(configPath);
|
|
85
|
+
config = opts.keyFromLogin === true && !existsSync(configPath) ? {} : readConfigObject(configPath);
|
|
82
86
|
if (config.runner !== void 0) {
|
|
83
87
|
throw new RunnerInitError(`${configPath}: a runner block is already here. Edit it, or remove it and run this again.`);
|
|
84
88
|
}
|
|
89
|
+
needsKey = opts.keyFromLogin === true && config.apiKey === void 0;
|
|
90
|
+
const problem = needsKey ? void 0 : runnerCredentialProblem(config);
|
|
91
|
+
if (problem !== void 0) throw new RunnerInitError(`${configPath}: ${problem.field} ${problem.reason}.`);
|
|
85
92
|
} else {
|
|
86
93
|
const handed = parseStdinConfig(configPath, opts.configFromStdin);
|
|
87
94
|
({ config, carried } = handed);
|
|
@@ -100,7 +107,14 @@ function runRunnerInit(configPath, opts = {}) {
|
|
|
100
107
|
"--agent claude needs Claude's credential, and none was piped on stdin or is in the runner.env beside the config. Pipe a token from `claude setup-token`, or an Anthropic API key: printf '%s' \"$CLAUDE_CODE_OAUTH_TOKEN\" | outerlayer runner init --agent claude"
|
|
101
108
|
);
|
|
102
109
|
}
|
|
103
|
-
|
|
110
|
+
return { configPath, config, carried, credential, agent, machine, hooks, needsKey };
|
|
111
|
+
}
|
|
112
|
+
function writeRunnerInit(prepared, runnerKey) {
|
|
113
|
+
const { configPath, config, carried, credential, agent, machine, hooks } = prepared;
|
|
114
|
+
if (prepared.needsKey && runnerKey === void 0) {
|
|
115
|
+
throw new RunnerInitError(`${configPath}: apiKey is missing, and no runner key was created from the login.`);
|
|
116
|
+
}
|
|
117
|
+
if (runnerKey !== void 0) Object.assign(config, { url: runnerKey.url, apiKey: runnerKey.apiKey, appId: runnerKey.appId });
|
|
104
118
|
mkdirSync(runnerDir(configPath), { recursive: true, mode: RUNNER_DIR_MODE });
|
|
105
119
|
config.runner = {
|
|
106
120
|
queues: ["implement", "amend"],
|
|
@@ -127,4 +141,4 @@ function runRunnerInit(configPath, opts = {}) {
|
|
|
127
141
|
return { configPath, hooks, ...hooks === "builtin:process" ? { note: isolationNote(machine) } : {}, credential: stored };
|
|
128
142
|
}
|
|
129
143
|
|
|
130
|
-
export { PLACEHOLDER_MARKER, RunnerInitError, isPlaceholderCommand, readConfigObject, runRunnerInit };
|
|
144
|
+
export { PLACEHOLDER_MARKER, RunnerInitError, isPlaceholderCommand, prepareRunnerInit, readConfigObject, runRunnerInit, writeRunnerInit };
|
|
@@ -3,22 +3,22 @@ import { createRequire } from 'node:module';
|
|
|
3
3
|
import { readDefaultBranchHead, cloneRepository, buildRepositoryImage } from './chunk-3FMPZPJQ.js';
|
|
4
4
|
import { startTimeOf, isSameProcess } from './chunk-N5FOE5PS.js';
|
|
5
5
|
import { currentCliBuild } from './chunk-OGFGZQA3.js';
|
|
6
|
-
import { createDockerHost, childEnvironment, spawnRun } from './chunk-
|
|
6
|
+
import { createDockerHost, childEnvironment, spawnRun } from './chunk-3KTA5UU2.js';
|
|
7
7
|
import { RecipeError } from './chunk-QOZKPLVJ.js';
|
|
8
|
-
import { builderSpec, runnerLabelValue, RUNNER_LABEL, BUILD_LABEL, prepareRunArgs, containerRunArgs, containerExecArgs } from './chunk-
|
|
8
|
+
import { builderSpec, runnerLabelValue, RUNNER_LABEL, BUILD_LABEL, prepareRunArgs, containerRunArgs, containerExecArgs } from './chunk-NX57IBNK.js';
|
|
9
9
|
import { CLAUDE_CODE_VERSION, firecrackerArch, MICROVM_ARCHES, DEFAULT_BASE_IMAGE, GUEST_HELPER_SHA256, GUEST_ASSETS_BASE_URL, GUEST_KERNEL_SHA256, FIRECRACKER_BINARY_SHA256, FIRECRACKER_SHA256, FIRECRACKER_VERSION, GUEST_ASSETS_VERSION } from './chunk-CX22S5BA.js';
|
|
10
10
|
import { execCapture } from './chunk-QKFB4K7X.js';
|
|
11
11
|
import { GUEST_CID } from './chunk-RSNSZ2LJ.js';
|
|
12
|
-
import { WorkCommandError, postJson } from './chunk-
|
|
13
|
-
import { setCustomScrubbers, setLocalIdentity, setRepoRoot, parseTranscript, scrubDeep, scrubText } from './chunk-
|
|
12
|
+
import { WorkCommandError, postJson } from './chunk-P4MM66C6.js';
|
|
13
|
+
import { setCustomScrubbers, setLocalIdentity, setRepoRoot, parseTranscript, scrubDeep, scrubText } from './chunk-JXYVA45C.js';
|
|
14
14
|
import { hostAllowed } from './chunk-UXYLWVTQ.js';
|
|
15
15
|
import { parseDuKilobytes } from './chunk-7RQ73DLO.js';
|
|
16
16
|
import { repositoriesOf, primaryOf, RELAY_PORT, CHECKOUT_DIR, JOB_MOUNT, claudeCredential, buildEnvironment, startBuildServices, checkEnvironment, AGENT_CREDENTIAL_MISSING, checkoutPath } from './chunk-4Q7OMKAT.js';
|
|
17
|
-
import { defaultGitRunner, materializeContext } from './chunk-
|
|
18
|
-
import { readContextManifest, readSourceCache } from './chunk-
|
|
19
|
-
import { orderSessions, extractFacts, sessionsToTimeline } from './chunk-
|
|
17
|
+
import { defaultGitRunner, materializeContext } from './chunk-GI4XXD4I.js';
|
|
18
|
+
import { readContextManifest, readSourceCache } from './chunk-LCEXHCHD.js';
|
|
19
|
+
import { orderSessions, extractFacts, sessionsToTimeline } from './chunk-2M63GG56.js';
|
|
20
20
|
import { signingFetchFor } from './chunk-YO4PSLVB.js';
|
|
21
|
-
import { downconvertSession } from './chunk-
|
|
21
|
+
import { downconvertSession } from './chunk-J5M7BSJQ.js';
|
|
22
22
|
import { signerFor } from './chunk-V7NIVOFD.js';
|
|
23
23
|
import { rootfsPathFor, diskTemplatesDir, RUNNER_FILE_MODE, stagedContextDir, contextHomeDir, ghConfigDir, runnerDirOfBuild, spoolDir, mirrorDir, buildDir, RUNNER_DIR_MODE, vmAssetsDir } from './chunk-ZM2IMMYN.js';
|
|
24
24
|
import { relative, join, dirname, basename } from 'path';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
3
|
import { BUILDKIT_IMAGE } from './chunk-CX22S5BA.js';
|
|
4
|
-
import { compareVersions } from './chunk-
|
|
4
|
+
import { compareVersions } from './chunk-JXYVA45C.js';
|
|
5
5
|
import { parseSize } from './chunk-7RQ73DLO.js';
|
|
6
6
|
import { JOB_MOUNT, GATEWAY_PORT, GATEWAY_SOCKET, CLAUDE_PORT, CLAUDE_SOCKET, RELAY_PORT, DESTINATION_BASE_PORT } from './chunk-4Q7OMKAT.js';
|
|
7
7
|
import { runnerDir } from './chunk-ZM2IMMYN.js';
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { autoConnect } from './chunk-
|
|
3
|
+
import { autoConnect } from './chunk-EFZLAYPE.js';
|
|
4
4
|
import { detectActiveSession } from './chunk-IP7BIBXJ.js';
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
5
|
+
import { workPageUrl } from './chunk-4QVZCVWT.js';
|
|
6
|
+
import { sanitizeTerminal } from './chunk-CNFVHDHG.js';
|
|
7
|
+
import { resolveRepoIdentity } from './chunk-JXYVA45C.js';
|
|
8
|
+
import { C } from './chunk-YRYMNBGQ.js';
|
|
7
9
|
import { parseTrackerNumber, trackerNumberError } from './chunk-WZBHBH3J.js';
|
|
8
10
|
import { defaultFetch } from './chunk-YO4PSLVB.js';
|
|
9
11
|
import { resolveGatewayCredentials, unauthorizedMessage } from './chunk-PLMTLGYH.js';
|
|
10
12
|
import { signRunnerRequest } from './chunk-V7NIVOFD.js';
|
|
13
|
+
import { readRepoConnection } from './chunk-BJ3KTMDH.js';
|
|
11
14
|
import { homeFromEnv } from './chunk-VNVZDWO3.js';
|
|
12
15
|
|
|
13
16
|
createRequire(import.meta.url);
|
|
@@ -39,10 +42,6 @@ function isSignatureRefusal(code) {
|
|
|
39
42
|
}
|
|
40
43
|
|
|
41
44
|
// src/work-cmd.ts
|
|
42
|
-
var GREEN = "\x1B[32m";
|
|
43
|
-
var YELLOW = "\x1B[33m";
|
|
44
|
-
var DIM = "\x1B[2m";
|
|
45
|
-
var RESET = "\x1B[0m";
|
|
46
45
|
async function signatureHeaders(method, endpoint, payload, signer) {
|
|
47
46
|
if (signer === void 0) return {};
|
|
48
47
|
return { ...await signRunnerRequest({ method, url: endpoint, body: new TextEncoder().encode(payload), signer }) };
|
|
@@ -298,7 +297,19 @@ function tokenWarning(data) {
|
|
|
298
297
|
if (tokens === void 0 || tokens === null || tokens.earnable !== false) return "";
|
|
299
298
|
const why = typeof tokens.message === "string" ? sanitizeTerminal(tokens.message) : "the gateway named no reason";
|
|
300
299
|
return `
|
|
301
|
-
${
|
|
300
|
+
${C.yellow}!${C.reset} a container host will fail this build: ${why}`;
|
|
301
|
+
}
|
|
302
|
+
function itemLabel(data) {
|
|
303
|
+
return data.number != null ? `item #${data.number}` : `item ${sanitizeTerminal(String(data.workItemId))}`;
|
|
304
|
+
}
|
|
305
|
+
function issueLabel(subject) {
|
|
306
|
+
if ("issue" in subject) return `issue ${sanitizeTerminal(subject.repository)}#${subject.issue}`;
|
|
307
|
+
return `issue ${sanitizeTerminal(subject.key)}`;
|
|
308
|
+
}
|
|
309
|
+
function itemPageUrl(home, cwd, appId, workItemId) {
|
|
310
|
+
const connection = readRepoConnection(cwd);
|
|
311
|
+
if (connection === void 0 || connection.appId !== appId || typeof workItemId !== "string" || workItemId === "") return void 0;
|
|
312
|
+
return `${workPageUrl(home, connection.organization.name, connection.factory.name)}/${encodeURIComponent(workItemId)}`;
|
|
302
313
|
}
|
|
303
314
|
async function runWorkBuild(opts) {
|
|
304
315
|
const cwd = opts.cwd ?? process.cwd();
|
|
@@ -326,7 +337,7 @@ async function runWorkBuild(opts) {
|
|
|
326
337
|
const label = data2.number != null ? `#${data2.number}` : String(data2.workItemId);
|
|
327
338
|
const launch = data2.number != null ? `OUTERLAYER_WORK=${data2.number} claude` : null;
|
|
328
339
|
const branch = typeof data2.branch === "string" && data2.branch !== "" ? data2.branch : null;
|
|
329
|
-
const output2 = opts.json ? JSON.stringify({ ...data2, ...launch !== null ? { launchCommand: launch } : {} }) : `${
|
|
340
|
+
const output2 = opts.json ? JSON.stringify({ ...data2, ...launch !== null ? { launchCommand: launch } : {} }) : `${C.green}\u2713${C.reset} on Work for you to build ${C.dim}\xB7${C.reset} ${label} ${C.dim}\xB7${C.reset} no host will take it` + (branch !== null ? `
|
|
330
341
|
branch: ${branch}` : "") + (launch !== null ? `
|
|
331
342
|
start your session with: ${launch}` : "");
|
|
332
343
|
if (!opts.quiet) process.stdout.write(output2 + "\n");
|
|
@@ -338,7 +349,9 @@ async function runWorkBuild(opts) {
|
|
|
338
349
|
...facts
|
|
339
350
|
};
|
|
340
351
|
const { data } = await postJsonWithRetry(url, "/v1/work-items/build", apiKey, appId, body, fetchImpl, retries, sleep);
|
|
341
|
-
const
|
|
352
|
+
const page = itemPageUrl(home, cwd, appId, data.workItemId);
|
|
353
|
+
const output = opts.json ? JSON.stringify(data) : `${C.green}\u2713${C.reset} build requested ${C.dim}\xB7${C.reset} ${itemLabel(data)}${"subject" in body ? ` (${issueLabel(body.subject)})` : ""} ${C.dim}\xB7${C.reset} by ${data.attestor}` + (page !== void 0 ? `
|
|
354
|
+
${page}` : "") + tokenWarning(data);
|
|
342
355
|
if (!opts.quiet) process.stdout.write(output + "\n");
|
|
343
356
|
return { data, output };
|
|
344
357
|
}
|
|
@@ -347,7 +360,7 @@ async function runWorkLinkSession(opts) {
|
|
|
347
360
|
return await linkSession(opts);
|
|
348
361
|
} catch (err) {
|
|
349
362
|
if (opts.logFailures) {
|
|
350
|
-
const { logHookError } = await import('./hook-fast-
|
|
363
|
+
const { logHookError } = await import('./hook-fast-PXWKQPN6.js');
|
|
351
364
|
const reason = err instanceof Error ? err.message : String(err);
|
|
352
365
|
logHookError(opts.home ?? homeFromEnv(opts.env ?? process.env), new Error(`work link-session #${opts.number} failed: ${reason}`));
|
|
353
366
|
}
|
|
@@ -387,7 +400,7 @@ async function linkSession(opts) {
|
|
|
387
400
|
}
|
|
388
401
|
const heldBy = typeof data.heldBy === "string" ? data.heldBy : void 0;
|
|
389
402
|
const linked = data.linked === true;
|
|
390
|
-
const output = opts.json ? JSON.stringify(data) : opts.ended ? linked ? `${
|
|
403
|
+
const output = opts.json ? JSON.stringify(data) : opts.ended ? linked ? `${C.green}\u2713${C.reset} ended ${C.dim}\xB7${C.reset} session ${sessionId} ${C.dim}\xB7${C.reset} #${number}` : `${C.dim}\xB7${C.reset} session ${sessionId} was not linked to #${number}` : heldBy ? `${C.dim}\xB7${C.reset} session ${sessionId} linked to #${number}, held by ${sanitizeTerminal(heldBy)} \u2014 no lease taken` : `${C.green}\u2713${C.reset} linked ${C.dim}\xB7${C.reset} session ${sessionId} ${C.dim}\xB7${C.reset} #${number}`;
|
|
391
404
|
if (!opts.quiet) process.stdout.write(output + "\n");
|
|
392
405
|
return { data, output };
|
|
393
406
|
}
|
|
@@ -411,7 +424,7 @@ async function runWorkRemove(opts) {
|
|
|
411
424
|
{ reason: opts.reason, ...environmentFacts({ cwd, env, home }) },
|
|
412
425
|
fetchImpl
|
|
413
426
|
);
|
|
414
|
-
const output2 = opts.json ? JSON.stringify(data2) : `${
|
|
427
|
+
const output2 = opts.json ? JSON.stringify(data2) : `${C.green}\u2713${C.reset} removed ${C.dim}\xB7${C.reset} ${data2.workItemId} ${C.dim}\xB7${C.reset} withdrawn ${data2.itemWithdrawn}`;
|
|
415
428
|
if (!opts.quiet) process.stdout.write(output2 + "\n");
|
|
416
429
|
return { data: data2, output: output2 };
|
|
417
430
|
}
|
|
@@ -421,7 +434,7 @@ async function runWorkRemove(opts) {
|
|
|
421
434
|
const item = await findLiveItem(creds, repository, subject, fetchImpl);
|
|
422
435
|
if (!item) {
|
|
423
436
|
const data2 = { workItemId: null, removed: true, itemWithdrawn: false, noLiveAddition: true };
|
|
424
|
-
const output2 = opts.json ? JSON.stringify(data2) : `${
|
|
437
|
+
const output2 = opts.json ? JSON.stringify(data2) : `${C.green}\u2713${C.reset} nothing to remove ${C.dim}\xB7${C.reset} no live addition on ${repository}#${number}`;
|
|
425
438
|
if (!opts.quiet) process.stdout.write(output2 + "\n");
|
|
426
439
|
return { data: data2, output: output2 };
|
|
427
440
|
}
|
|
@@ -433,7 +446,7 @@ async function runWorkRemove(opts) {
|
|
|
433
446
|
{ reason: opts.reason, ...environmentFacts({ cwd, env, home }) },
|
|
434
447
|
fetchImpl
|
|
435
448
|
);
|
|
436
|
-
const output = opts.json ? JSON.stringify(data) : `${
|
|
449
|
+
const output = opts.json ? JSON.stringify(data) : `${C.green}\u2713${C.reset} removed ${C.dim}\xB7${C.reset} ${data.workItemId} ${C.dim}\xB7${C.reset} withdrawn ${data.itemWithdrawn}`;
|
|
437
450
|
if (!opts.quiet) process.stdout.write(output + "\n");
|
|
438
451
|
return { data, output };
|
|
439
452
|
}
|
|
@@ -496,10 +509,10 @@ async function runWorkList(opts) {
|
|
|
496
509
|
const claimSuffix = (claim) => {
|
|
497
510
|
if (!claim) return "";
|
|
498
511
|
const holder = claim.holderKind === "session" ? `${claim.memberName || "a member"} (local session` : `${sanitizeTerminal(claim.host)} (${claim.kind}`;
|
|
499
|
-
return ` ${
|
|
512
|
+
return ` ${C.dim}\xB7${C.reset} claimed by ${holder}, since ${claim.createdAt}, until ${claim.expiresAt})`;
|
|
500
513
|
};
|
|
501
514
|
const output = opts.json ? JSON.stringify(data) : items.length === 0 ? "no live work items" : items.map(
|
|
502
|
-
(i) => `${i.trackerKey} ${
|
|
515
|
+
(i) => `${i.trackerKey} ${C.dim}\xB7${C.reset} ${i.stage} ${C.dim}\xB7${C.reset} ${i.section} ${C.dim}\xB7${C.reset} ${i.title}${claimSuffix(i.claim)}`
|
|
503
516
|
).join("\n");
|
|
504
517
|
if (!opts.quiet) process.stdout.write(output + "\n");
|
|
505
518
|
return { data, output };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { MIN_ENGINE_MAJOR } from './chunk-
|
|
3
|
+
import { MIN_ENGINE_MAJOR } from './chunk-MZN7AQOB.js';
|
|
4
4
|
import { firecrackerArch, MICROVM_ARCHES, guestAssetsPinned } from './chunk-CX22S5BA.js';
|
|
5
5
|
import { spawnSync } from 'child_process';
|
|
6
6
|
import { existsSync, accessSync, constants, statSync, readFileSync } from 'fs';
|
|
@@ -62,8 +62,9 @@ function addMcpEntryIfAbsent(repoRoot, name, entry) {
|
|
|
62
62
|
`);
|
|
63
63
|
return { path: relPath, added: true };
|
|
64
64
|
}
|
|
65
|
+
var INIT_STDIO_ENTRY = { type: "stdio", command: "npx", args: ["-y", "@outerlayer/cli", "mcp", "serve"] };
|
|
65
66
|
function addStdioMcpEntryIfAbsent(repoRoot, name = "outerlayer") {
|
|
66
|
-
return addMcpEntryIfAbsent(repoRoot, name,
|
|
67
|
+
return addMcpEntryIfAbsent(repoRoot, name, { ...INIT_STDIO_ENTRY, args: [...INIT_STDIO_ENTRY.args] });
|
|
67
68
|
}
|
|
68
69
|
var DOCS_MCP_SERVER_NAME = "outerlayer-docs";
|
|
69
70
|
var DOCS_MCP_URL = "https://docs.outerlayer.ai/mcp";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { builtinKind } from './chunk-
|
|
3
|
+
import { builtinKind } from './chunk-22RMZBGW.js';
|
|
4
4
|
import { parseSize } from './chunk-7RQ73DLO.js';
|
|
5
5
|
import { runnerDir } from './chunk-ZM2IMMYN.js';
|
|
6
6
|
import { dirname } from 'path';
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { createRequire } from 'node:module';
|
|
3
|
+
import { RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-ZM2IMMYN.js';
|
|
4
|
+
import { existsSync, readFileSync, mkdirSync, chmodSync, writeFileSync } from 'fs';
|
|
5
|
+
import { dirname, join } from 'path';
|
|
6
|
+
|
|
7
|
+
createRequire(import.meta.url);
|
|
8
|
+
var ITEM_KEY_FILE = "item-key";
|
|
9
|
+
function itemKeyPath(jobPath) {
|
|
10
|
+
return join(dirname(jobPath), ITEM_KEY_FILE);
|
|
11
|
+
}
|
|
12
|
+
function withItemKey(jobPath, job) {
|
|
13
|
+
let key;
|
|
14
|
+
try {
|
|
15
|
+
key = readFileSync(itemKeyPath(jobPath), "utf8").trim();
|
|
16
|
+
} catch {
|
|
17
|
+
return job;
|
|
18
|
+
}
|
|
19
|
+
return key === "" ? job : { ...job, itemKey: key };
|
|
20
|
+
}
|
|
21
|
+
function writeOwnerOnly(path, content) {
|
|
22
|
+
if (existsSync(path)) chmodSync(path, RUNNER_FILE_MODE);
|
|
23
|
+
writeFileSync(path, content, { mode: RUNNER_FILE_MODE });
|
|
24
|
+
}
|
|
25
|
+
function readJobFile(path) {
|
|
26
|
+
if (!existsSync(path)) return null;
|
|
27
|
+
try {
|
|
28
|
+
return withItemKey(path, JSON.parse(readFileSync(path, "utf8")));
|
|
29
|
+
} catch {
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
function readJobFileChecked(path) {
|
|
34
|
+
if (!existsSync(path)) return { kind: "missing" };
|
|
35
|
+
try {
|
|
36
|
+
const parsed = JSON.parse(readFileSync(path, "utf8"));
|
|
37
|
+
if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed)) return { kind: "unreadable" };
|
|
38
|
+
return { kind: "ok", job: withItemKey(path, parsed) };
|
|
39
|
+
} catch {
|
|
40
|
+
return { kind: "unreadable" };
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
function writeJobFile(path, job) {
|
|
44
|
+
mkdirSync(dirname(path), { recursive: true, mode: RUNNER_DIR_MODE });
|
|
45
|
+
const { itemKey, ...rest } = job;
|
|
46
|
+
if (itemKey !== void 0) writeOwnerOnly(itemKeyPath(path), itemKey);
|
|
47
|
+
writeOwnerOnly(path, JSON.stringify(rest, null, 2));
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export { readJobFile, readJobFileChecked, writeJobFile };
|
|
@@ -634,7 +634,7 @@ async function runHookFast(event, home = homeFromEnv(), read = readStdin, env =
|
|
|
634
634
|
recordHookErrorsSeen(home, hookErrorsBytes);
|
|
635
635
|
if (contextPossiblyGoverned(sessionCwd, home)) {
|
|
636
636
|
try {
|
|
637
|
-
const { materializeContext: materialize } = await import('./context-materialize-
|
|
637
|
+
const { materializeContext: materialize } = await import('./context-materialize-7S6NLLRO.js');
|
|
638
638
|
const sessionId = typeof payload.session_id === "string" ? payload.session_id : "unknown";
|
|
639
639
|
const result = await materialize({ cwd: sessionCwd, sessionId, home });
|
|
640
640
|
materializeMessage = result.message;
|
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { LEASE_SECONDS, releaseLease, isUnfinished, setStage, jobEnv, runHook, describeHookEnd, provisionMicroVm, deliverCommitHooks, provisionProcess, provisionEnvironment, readProvisionOut, resolveHostBuild, workdirProblem, listenOnBroker, hostEnvironment, hostCommandEnvironment, execArgv, microVmCommandLine, runCommand, execCommandLine, startSender, startHostServices, finishJob, isGroupAlive, outcomeFromExitCode, isTimedOut, readCpuUsec, isIdle, stopOrphanedMicroVms, unfinishedJobs, listAdoptableJobs, retryFailedReleases, recoverLostJobs, hookLimitsFor, needsRenew, renewLease, RENEW_INTERVAL_SECONDS, ALREADY_RELEASED } from './chunk-
|
|
3
|
+
import { LEASE_SECONDS, releaseLease, isUnfinished, setStage, jobEnv, runHook, describeHookEnd, provisionMicroVm, deliverCommitHooks, provisionProcess, provisionEnvironment, readProvisionOut, resolveHostBuild, workdirProblem, listenOnBroker, hostEnvironment, hostCommandEnvironment, execArgv, microVmCommandLine, runCommand, execCommandLine, startSender, startHostServices, finishJob, isGroupAlive, outcomeFromExitCode, isTimedOut, readCpuUsec, isIdle, stopOrphanedMicroVms, unfinishedJobs, listAdoptableJobs, retryFailedReleases, recoverLostJobs, hookLimitsFor, needsRenew, renewLease, RENEW_INTERVAL_SECONDS, ALREADY_RELEASED } from './chunk-C6IV5BV7.js';
|
|
4
4
|
import { writePendingUpdate } from './chunk-O765JR4W.js';
|
|
5
5
|
import { readHousekeepingRecord, writeHousekeepingRecord } from './chunk-UGP76IZ5.js';
|
|
6
6
|
import { decideInstalledSwitch } from './chunk-3JVYMD4G.js';
|
|
7
|
-
import { writeJobFile, readJobFile, readJobFileChecked } from './chunk-T6OIJQRT.js';
|
|
8
|
-
import { compareVersions, satisfiesRange } from './chunk-I2UOAV7X.js';
|
|
9
7
|
import { fetchVersionMeta, npmVersion, npmSupportsProvenance, fetchTarballDigest, fetchProvenance, installVersion, auditSignatures } from './chunk-YETTWTAY.js';
|
|
8
|
+
import { writeJobFile, readJobFile, readJobFileChecked } from './chunk-RMWLBUCJ.js';
|
|
9
|
+
import { compareVersions, satisfiesRange } from './chunk-I2UOAV7X.js';
|
|
10
10
|
import { RUNNER_PROTOCOL } from './chunk-FI5UYJMQ.js';
|
|
11
|
-
import { placeholderQueues, placeholderProblem } from './chunk-
|
|
11
|
+
import { placeholderQueues, placeholderProblem } from './chunk-TOPDNXHZ.js';
|
|
12
12
|
import { freeBytes, formatBytes } from './chunk-YYYRBYWG.js';
|
|
13
13
|
import { writeMarker, readMarker, currentVersion, removeMarker, entryIn, versionDir, startedThroughCurrent, switchCurrent, cleanVersions, isInLayout, stagingDir } from './chunk-TI7B7UEO.js';
|
|
14
14
|
import { RepoFilter } from './chunk-TBT347UY.js';
|
|
15
|
-
import { describeCallFailure, retrySend, shortClaim, relativeToRunner, formatDuration, provisionContainer, lifecycleSteps, lifecycleFailureReason, prepareBranch, containerCommandLine, BuildTokens, classifyRefusal, refusalCode, measureDisk, createRunnerLog, setUpRunnerCgroup, parseCpuList, ensureTunnel, keepGhConfigCurrent, createContainerRuntime, formatClock } from './chunk-
|
|
16
|
-
import { checkFit } from './chunk-
|
|
15
|
+
import { describeCallFailure, retrySend, shortClaim, relativeToRunner, formatDuration, provisionContainer, lifecycleSteps, lifecycleFailureReason, prepareBranch, containerCommandLine, BuildTokens, classifyRefusal, refusalCode, measureDisk, createRunnerLog, setUpRunnerCgroup, parseCpuList, ensureTunnel, keepGhConfigCurrent, createContainerRuntime, formatClock } from './chunk-MZN7AQOB.js';
|
|
16
|
+
import { checkFit } from './chunk-RLYZLUQ7.js';
|
|
17
17
|
import { startTimeOf, claimPidFile, readPidFile, isSameProcess, releasePidFile } from './chunk-N5FOE5PS.js';
|
|
18
|
-
import { spawnRun } from './chunk-
|
|
19
|
-
import { builderName, runnerLabelValue, ensureFailureCount, builderSpec, ensureBuilder, BUILD_LABEL, RUNNER_LABEL } from './chunk-
|
|
20
|
-
import { isSignatureRefusal, WorkCommandError, getJson, postJson } from './chunk-
|
|
21
|
-
import { isBuiltinContainer, isBuiltinVm, isBuiltinProcess, loadRunnerConfig, checkHooks, builtinKind, DEFAULT_UPDATE_MAX_WAIT_HOURS } from './chunk-
|
|
18
|
+
import { spawnRun } from './chunk-3KTA5UU2.js';
|
|
19
|
+
import { builderName, runnerLabelValue, ensureFailureCount, builderSpec, ensureBuilder, BUILD_LABEL, RUNNER_LABEL } from './chunk-NX57IBNK.js';
|
|
20
|
+
import { isSignatureRefusal, WorkCommandError, getJson, postJson } from './chunk-P4MM66C6.js';
|
|
21
|
+
import { isBuiltinContainer, isBuiltinVm, isBuiltinProcess, loadRunnerConfig, checkHooks, builtinKind, DEFAULT_UPDATE_MAX_WAIT_HOURS } from './chunk-22RMZBGW.js';
|
|
22
22
|
import { exceedsDisk } from './chunk-7RQ73DLO.js';
|
|
23
23
|
import { parseClaimedRepositories, repositoriesOf, primaryOf, sharedUserEnvironment, JOB_MOUNT, claudeCredential } from './chunk-4Q7OMKAT.js';
|
|
24
24
|
import { parseClaimIdentity } from './chunk-BYT5O5RV.js';
|
|
@@ -1315,7 +1315,7 @@ var CLAIM_REFUSAL_CODES = new Set(
|
|
|
1315
1315
|
"pull_request_from_fork pull_request_on_default_branch pull_request_ambiguous pull_request_repository_not_connected branch_claimed_elsewhere".split(" ")
|
|
1316
1316
|
);
|
|
1317
1317
|
async function tryClaimAndStart(state, item, queue) {
|
|
1318
|
-
const { postJson: postJson2 } = await import('./work-cmd-
|
|
1318
|
+
const { postJson: postJson2 } = await import('./work-cmd-X7NMJDFL.js');
|
|
1319
1319
|
const log = logOf(state);
|
|
1320
1320
|
const hostKey = await loadHostKey(state.config.configPath);
|
|
1321
1321
|
const claim = await retrySend(
|
|
@@ -2072,7 +2072,7 @@ async function start(configPath, deps = { fetchImpl: fetch }) {
|
|
|
2072
2072
|
const outcome = await onStartUnderMarker({
|
|
2073
2073
|
configPath,
|
|
2074
2074
|
own: ownVersionOf(deps),
|
|
2075
|
-
check: update.check ? () => update.check(configPath) : async () => (await import('./check-
|
|
2075
|
+
check: update.check ? () => update.check(configPath) : async () => (await import('./check-63IDCEEV.js')).runRunnerCheck(configPath, { fetchImpl: deps.fetchImpl }),
|
|
2076
2076
|
now: () => (deps.now ?? (() => /* @__PURE__ */ new Date()))().getTime(),
|
|
2077
2077
|
log
|
|
2078
2078
|
});
|
|
@@ -1,6 +1,6 @@
|
|
|
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-RLYZLUQ7.js';
|
|
4
4
|
import { parseRunnerEnv } from './chunk-6MZSX4M7.js';
|
|
5
5
|
import { RUNNER_FILE_MODE } from './chunk-ZM2IMMYN.js';
|
|
6
6
|
import { existsSync, readFileSync, writeFileSync, renameSync, rmSync } from 'fs';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { splitRawFile } from './chunk-
|
|
3
|
+
import { splitRawFile } from './chunk-2M63GG56.js';
|
|
4
4
|
import { resolvePackageVersion } from './chunk-RA3O54FC.js';
|
|
5
5
|
import { existsSync, readFileSync, mkdirSync, writeFileSync, readdirSync } from 'fs';
|
|
6
6
|
import { join, dirname } from 'path';
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { isPlaceholderCommand } from './chunk-
|
|
4
|
-
import { describeCallFailure } from './chunk-
|
|
5
|
-
import { WorkCommandError, getJson } from './chunk-
|
|
6
|
-
import { sanitizeTerminal } from './chunk-
|
|
7
|
-
import { builtinKind } from './chunk-
|
|
3
|
+
import { isPlaceholderCommand } from './chunk-MJXXRX4M.js';
|
|
4
|
+
import { describeCallFailure } from './chunk-MZN7AQOB.js';
|
|
5
|
+
import { WorkCommandError, getJson } from './chunk-P4MM66C6.js';
|
|
6
|
+
import { sanitizeTerminal } from './chunk-CNFVHDHG.js';
|
|
7
|
+
import { builtinKind } from './chunk-22RMZBGW.js';
|
|
8
8
|
import { CLAUDE_CREDENTIAL_VARIABLES, claudeCredential } from './chunk-4Q7OMKAT.js';
|
|
9
9
|
import { signerFor } from './chunk-V7NIVOFD.js';
|
|
10
10
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { LiveUploader } from './chunk-
|
|
4
|
-
import { CaptureDaemon } from './chunk-
|
|
3
|
+
import { LiveUploader } from './chunk-3D4OYFCD.js';
|
|
4
|
+
import { CaptureDaemon } from './chunk-JXYVA45C.js';
|
|
5
5
|
import { parseWorkItemEnv } from './chunk-GQD22KKN.js';
|
|
6
|
-
import { spoolDir } from './chunk-
|
|
6
|
+
import { spoolDir } from './chunk-SFFHGX3G.js';
|
|
7
7
|
import { homeFromEnv } from './chunk-VNVZDWO3.js';
|
|
8
8
|
import { mkdirSync, writeFileSync, rmSync } from 'fs';
|
|
9
9
|
import { join } from 'path';
|