@unimatrix27/ralph-harness 1.0.2 → 1.0.4
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/dist/bin/ralph-fire.js +7 -0
- package/dist/bin/ralph-fire.js.map +1 -1
- package/dist/lib/claude-runner.d.ts.map +1 -1
- package/dist/lib/claude-runner.js +7 -1
- package/dist/lib/claude-runner.js.map +1 -1
- package/dist/lib/fire-launcher.d.ts +1 -0
- package/dist/lib/fire-launcher.d.ts.map +1 -1
- package/dist/lib/fire-launcher.js +56 -0
- package/dist/lib/fire-launcher.js.map +1 -1
- package/dist/lib/ralph-fire-wizard.d.ts +16 -0
- package/dist/lib/ralph-fire-wizard.d.ts.map +1 -0
- package/dist/lib/ralph-fire-wizard.js +166 -0
- package/dist/lib/ralph-fire-wizard.js.map +1 -0
- package/dist/lib/target-config-schema.d.ts +3 -0
- package/dist/lib/target-config-schema.d.ts.map +1 -1
- package/dist/lib/target-config-schema.js +35 -0
- package/dist/lib/target-config-schema.js.map +1 -1
- package/dist/lib/user-data-renderer.d.ts.map +1 -1
- package/dist/lib/user-data-renderer.js +12 -2
- package/dist/lib/user-data-renderer.js.map +1 -1
- package/package.json +1 -1
package/dist/bin/ralph-fire.js
CHANGED
|
@@ -18,6 +18,7 @@ import { spawnSync } from "node:child_process";
|
|
|
18
18
|
import { createRequire } from "node:module";
|
|
19
19
|
import { loadDotenv } from "../lib/env-loader.js";
|
|
20
20
|
import { LauncherError, run } from "../lib/fire-launcher.js";
|
|
21
|
+
import { runWizard } from "../lib/ralph-fire-wizard.js";
|
|
21
22
|
const require = createRequire(import.meta.url);
|
|
22
23
|
const pkg = require("../../package.json");
|
|
23
24
|
async function main() {
|
|
@@ -31,6 +32,12 @@ async function main() {
|
|
|
31
32
|
process.exit(2);
|
|
32
33
|
}
|
|
33
34
|
loadDotenv();
|
|
35
|
+
// Issue #36: when invoked from a TTY with required env unset, walk the
|
|
36
|
+
// operator through to a launch (auto-discover RALPH_TARGET_REPO from
|
|
37
|
+
// `git remote get-url origin`, prompt for missing fields, validate the
|
|
38
|
+
// local .ralph/config.yaml schema version). No-op on non-TTY callers
|
|
39
|
+
// (CI, EC2 user-data) — the launcher's existing fail-fast still fires.
|
|
40
|
+
await runWizard({ env: process.env });
|
|
34
41
|
if (process.env.RALPH_SKIP_BOOTSTRAP !== "1") {
|
|
35
42
|
const r = spawnSync("ralph-bootstrap-aws", [], {
|
|
36
43
|
stdio: "inherit",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ralph-fire.js","sourceRoot":"","sources":["../../src/bin/ralph-fire.ts"],"names":[],"mappings":";AACA,EAAE;AACF,+DAA+D;AAC/D,0EAA0E;AAC1E,yEAAyE;AACzE,qDAAqD;AACrD,EAAE;AACF,SAAS;AACT,iDAAiD;AACjD,gEAAgE;AAChE,EAAE;AACF,0EAA0E;AAC1E,2DAA2D;AAC3D,EAAE;AACF,uEAAuE;AACvE,4DAA4D;AAE5D,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"ralph-fire.js","sourceRoot":"","sources":["../../src/bin/ralph-fire.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-runner.d.ts","sourceRoot":"","sources":["../../src/lib/claude-runner.ts"],"names":[],"mappings":"AA4BA,eAAO,MAAM,aAAa,kBAAkB,CAAC;AAM7C,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IAGxB,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;CAChC;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,iBAAkB,SAAQ,KAAK;aACd,KAAK,EAAE,OAAO;gBAAd,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM;CAI5D;AAMD,wBAAgB,YAAY,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAKzE;AAED,wBAAgB,UAAU,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAIvE;AAED,wBAAgB,SAAS,CACvB,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM,GACb,MAAM,EAAE,CAMV;AAYD,wBAAsB,SAAS,CAC7B,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,gBAAqB,GAC1B,OAAO,CAAC,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"claude-runner.d.ts","sourceRoot":"","sources":["../../src/lib/claude-runner.ts"],"names":[],"mappings":"AA4BA,eAAO,MAAM,aAAa,kBAAkB,CAAC;AAM7C,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IAGxB,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;CAChC;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,iBAAkB,SAAQ,KAAK;aACd,KAAK,EAAE,OAAO;gBAAd,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM;CAI5D;AAMD,wBAAgB,YAAY,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAKzE;AAED,wBAAgB,UAAU,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAIvE;AAED,wBAAgB,SAAS,CACvB,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM,GACb,MAAM,EAAE,CAMV;AAYD,wBAAsB,SAAS,CAC7B,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,gBAAqB,GAC1B,OAAO,CAAC,YAAY,CAAC,CAmDvB"}
|
|
@@ -78,8 +78,14 @@ export async function runClaude(prompt, opts = {}) {
|
|
|
78
78
|
return new Promise((resolve, reject) => {
|
|
79
79
|
let child;
|
|
80
80
|
try {
|
|
81
|
+
// The harness always runs claude inside a throwaway worker (cloud-init
|
|
82
|
+
// EC2 or equivalent). Cloud-init runs as root; without IS_SANDBOX=1
|
|
83
|
+
// claude refuses --permission-mode bypassPermissions / --dangerously-
|
|
84
|
+
// skip-permissions and exits 1. Setting it here keeps the contract
|
|
85
|
+
// self-contained — system-setup.sh's own export does not propagate
|
|
86
|
+
// back to ralph-orchestrate's process env.
|
|
81
87
|
child = spawn(bin, argv, {
|
|
82
|
-
env: { ...env },
|
|
88
|
+
env: { IS_SANDBOX: "1", ...env },
|
|
83
89
|
stdio: ["pipe", "pipe", "pipe"],
|
|
84
90
|
});
|
|
85
91
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-runner.js","sourceRoot":"","sources":["../../src/lib/claude-runner.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"claude-runner.js","sourceRoot":"","sources":["../../src/lib/claude-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -44,6 +44,7 @@ interface WaitOptions {
|
|
|
44
44
|
now?: Clock;
|
|
45
45
|
sleep?: Sleeper;
|
|
46
46
|
}
|
|
47
|
+
export declare function detectEarlyExit(clients: AwsClients, logGroup: string, instanceId: string): Promise<string | null>;
|
|
47
48
|
export declare function waitForTerminated(clients: AwsClients, opts: WaitOptions): Promise<number>;
|
|
48
49
|
export interface RunOptions {
|
|
49
50
|
env?: NodeJS.ProcessEnv;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fire-launcher.d.ts","sourceRoot":"","sources":["../../src/lib/fire-launcher.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fire-launcher.d.ts","sourceRoot":"","sources":["../../src/lib/fire-launcher.ts"],"names":[],"mappings":"AA6CA,OAAO,EAEL,KAAK,UAAU,EAChB,MAAM,kBAAkB,CAAC;AAI1B,eAAO,MAAM,aAAa,kBAAkB,CAAC;AAE7C,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,QAAQ;;;;;;;;;;;;;CAcX,CAAC;AAEX,qBAAa,aAAc,SAAQ,KAAK;aACV,QAAQ,EAAE,MAAM;gBAAhB,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAI9D;AAqBD,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,qBAAqB,EAAE,MAAM,GAC5B,cAAc,CAoChB;AAiKD,MAAM,MAAM,OAAO,GAAG,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAGpD,MAAM,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC;AAGjC,UAAU,WAAW;IACnB,MAAM,EAAE,cAAc,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,GAAG,CAAC,EAAE,KAAK,CAAC;IACZ,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAWD,wBAAsB,eAAe,CACnC,OAAO,EAAE,UAAU,EACnB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAyBxB;AAWD,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,UAAU,EACnB,IAAI,EAAE,WAAW,GAChB,OAAO,CAAC,MAAM,CAAC,CAoEjB;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IAGxB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAG9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,GAAG,CAAC,EAAE,KAAK,CAAC;IACZ,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAMD,wBAAsB,GAAG,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAwF3D"}
|
|
@@ -31,6 +31,7 @@
|
|
|
31
31
|
// 0 instance terminated cleanly within the ceiling
|
|
32
32
|
// 2 missing AWS-side resource OR missing required env
|
|
33
33
|
// 3 wall-clock ceiling breached; force terminate-instances was issued
|
|
34
|
+
import { FilterLogEventsCommand } from "@aws-sdk/client-cloudwatch-logs";
|
|
34
35
|
import { DescribeInstancesCommand, DescribeSecurityGroupsCommand, DescribeSubnetsCommand, DescribeVpcsCommand, RunInstancesCommand, TerminateInstancesCommand, } from "@aws-sdk/client-ec2";
|
|
35
36
|
import { GetParameterCommand } from "@aws-sdk/client-ssm";
|
|
36
37
|
import { defaultAwsClients, } from "./aws-clients.js";
|
|
@@ -215,13 +216,52 @@ async function runInstance(clients, p) {
|
|
|
215
216
|
}
|
|
216
217
|
const realSleep = (ms) => new Promise((r) => setTimeout(r, ms));
|
|
217
218
|
const realNow = () => Date.now();
|
|
219
|
+
// detectEarlyExit — issue #37 backstop. Looks at the per-instance
|
|
220
|
+
// CloudWatch stream for sentinel lines that prove the orchestrator is
|
|
221
|
+
// done (`ORCHESTRATOR_EXITED rc=N`) or has reached a terminal outcome
|
|
222
|
+
// (`OUTCOME=...`). The trap-shutdown in user-data is the primary
|
|
223
|
+
// mechanism; this check covers the case where the orchestrator process
|
|
224
|
+
// itself was killed (OOM, signal) before its trap could fire. Returns
|
|
225
|
+
// the matching log line on hit, null otherwise. Any read failure is
|
|
226
|
+
// treated as "no signal" — callers fall back to the describe-instances
|
|
227
|
+
// poll + wall-clock ceiling.
|
|
228
|
+
export async function detectEarlyExit(clients, logGroup, instanceId) {
|
|
229
|
+
try {
|
|
230
|
+
const r = await clients.logs.send(new FilterLogEventsCommand({
|
|
231
|
+
logGroupName: logGroup,
|
|
232
|
+
logStreamNames: [instanceId],
|
|
233
|
+
// Match either marker. The CloudWatch filter pattern grammar uses
|
|
234
|
+
// ?-prefixed terms for OR; quoted string literals match anywhere
|
|
235
|
+
// in the message.
|
|
236
|
+
filterPattern: '?"ORCHESTRATOR_EXITED rc=" ?"OUTCOME="',
|
|
237
|
+
}));
|
|
238
|
+
for (const ev of r.events ?? []) {
|
|
239
|
+
const msg = (ev.message ?? "").trim();
|
|
240
|
+
if (msg.includes("ORCHESTRATOR_EXITED rc=") ||
|
|
241
|
+
msg.includes("OUTCOME=")) {
|
|
242
|
+
return msg;
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
return null;
|
|
246
|
+
}
|
|
247
|
+
catch {
|
|
248
|
+
return null;
|
|
249
|
+
}
|
|
250
|
+
}
|
|
218
251
|
// waitForTerminated — polls describe-instances until State.Name=terminated.
|
|
219
252
|
// Returns 0 on clean termination, 3 on wall-clock ceiling breach (after
|
|
220
253
|
// firing terminate-instances on best-effort).
|
|
254
|
+
//
|
|
255
|
+
// Each tick also checks CloudWatch for an early-exit sentinel (issue
|
|
256
|
+
// #37). On hit, terminate-instances is fired immediately and the
|
|
257
|
+
// describe-instances loop continues until the state actually flips to
|
|
258
|
+
// `terminated` — that way callers always see a real terminal state and
|
|
259
|
+
// the post-hoc checker still has time to read the stream.
|
|
221
260
|
export async function waitForTerminated(clients, opts) {
|
|
222
261
|
const now = opts.now ?? realNow;
|
|
223
262
|
const sleep = opts.sleep ?? realSleep;
|
|
224
263
|
const deadline = now() + opts.config.maxLifetimeMin * 60_000;
|
|
264
|
+
let earlyExitForced = false;
|
|
225
265
|
for (;;) {
|
|
226
266
|
let state = "";
|
|
227
267
|
try {
|
|
@@ -241,6 +281,22 @@ export async function waitForTerminated(clients, opts) {
|
|
|
241
281
|
else {
|
|
242
282
|
opts.info(moduleInfo(`instance ${opts.instanceId} state=${state}`));
|
|
243
283
|
}
|
|
284
|
+
// CloudWatch backstop — only fire terminate-instances once. Once the
|
|
285
|
+
// describe-instances loop sees the resulting `terminated` state we
|
|
286
|
+
// exit cleanly.
|
|
287
|
+
if (!earlyExitForced) {
|
|
288
|
+
const marker = await detectEarlyExit(clients, opts.config.logGroup, opts.instanceId);
|
|
289
|
+
if (marker !== null) {
|
|
290
|
+
opts.info(moduleInfo(`early-exit signal observed in CloudWatch: ${marker}; forcing terminate`));
|
|
291
|
+
try {
|
|
292
|
+
await clients.ec2.send(new TerminateInstancesCommand({ InstanceIds: [opts.instanceId] }));
|
|
293
|
+
}
|
|
294
|
+
catch {
|
|
295
|
+
// best-effort
|
|
296
|
+
}
|
|
297
|
+
earlyExitForced = true;
|
|
298
|
+
}
|
|
299
|
+
}
|
|
244
300
|
if (now() >= deadline) {
|
|
245
301
|
opts.info(`${MODULE_PREFIX}: error: wall-clock ceiling (${opts.config.maxLifetimeMin}m) breached; forcing terminate`);
|
|
246
302
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fire-launcher.js","sourceRoot":"","sources":["../../src/lib/fire-launcher.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fire-launcher.js","sourceRoot":"","sources":["../../src/lib/fire-launcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export declare const MODULE_PREFIX = "ralph-fire-wizard";
|
|
2
|
+
export declare function parseGithubRepoFromGitUrl(url: string): string | null;
|
|
3
|
+
export declare function gitRemoteOriginUrl(cwd: string): string | null;
|
|
4
|
+
export interface WizardIO {
|
|
5
|
+
ask: (question: string) => Promise<string>;
|
|
6
|
+
info: (line: string) => void;
|
|
7
|
+
}
|
|
8
|
+
export interface WizardOptions {
|
|
9
|
+
env: NodeJS.ProcessEnv;
|
|
10
|
+
cwd?: string;
|
|
11
|
+
isTty?: boolean;
|
|
12
|
+
io?: WizardIO;
|
|
13
|
+
gitRemote?: (cwd: string) => string | null;
|
|
14
|
+
}
|
|
15
|
+
export declare function runWizard(opts: WizardOptions): Promise<void>;
|
|
16
|
+
//# sourceMappingURL=ralph-fire-wizard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ralph-fire-wizard.d.ts","sourceRoot":"","sources":["../../src/lib/ralph-fire-wizard.ts"],"names":[],"mappings":"AAoCA,eAAO,MAAM,aAAa,sBAAsB,CAAC;AAUjD,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAcpE;AAKD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAY7D;AAED,MAAM,WAAW,QAAQ;IAEvB,GAAG,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAE3C,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9B;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,EAAE,CAAC,EAAE,QAAQ,CAAC;IAEd,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;CAC5C;AA8BD,wBAAsB,SAAS,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAclE"}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
// ralph-fire-wizard — interactive UX for `ralph-fire` when run from a TTY.
|
|
2
|
+
//
|
|
3
|
+
// Issue #36: when an operator runs `ralph-fire` from a clone of the
|
|
4
|
+
// target repo with no env vars set, walk them through the launch.
|
|
5
|
+
// Auto-discover RALPH_TARGET_REPO from `git remote get-url origin`,
|
|
6
|
+
// confirm with the operator, prompt for any other missing required
|
|
7
|
+
// fields, and validate the local `.ralph/config.yaml` schema version
|
|
8
|
+
// before handing off to the launcher.
|
|
9
|
+
//
|
|
10
|
+
// Design constraints:
|
|
11
|
+
// - Non-TTY callers (CI, EC2 user-data, the fire-launcher subprocessing
|
|
12
|
+
// `ralph-bootstrap-aws`) MUST NOT block on prompts. We do nothing
|
|
13
|
+
// when stdin or stdout is not a TTY — the launcher's existing fail-
|
|
14
|
+
// fast on missing env still fires downstream, byte-identical to the
|
|
15
|
+
// pre-wizard behaviour.
|
|
16
|
+
// - Operator-typed values always win over auto-discovered ones. If
|
|
17
|
+
// `RALPH_TARGET_REPO` is already set in env, we never overwrite it.
|
|
18
|
+
// - The wizard is purely additive — `ralph-fire` keeps working with
|
|
19
|
+
// no TTY exactly as before.
|
|
20
|
+
//
|
|
21
|
+
// Public surface:
|
|
22
|
+
// parseGithubRepoFromGitUrl(url) — pure, tested in isolation.
|
|
23
|
+
// runWizard(opts) — async; mutates the supplied env.
|
|
24
|
+
import { execFileSync } from "node:child_process";
|
|
25
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
26
|
+
import { resolve as resolvePath } from "node:path";
|
|
27
|
+
import { createInterface } from "node:readline/promises";
|
|
28
|
+
import { CURRENT_SCHEMA_VERSION, validate as validateTargetConfig, ValidateError, readSchemaVersion, } from "./target-config-schema.js";
|
|
29
|
+
export const MODULE_PREFIX = "ralph-fire-wizard";
|
|
30
|
+
// parseGithubRepoFromGitUrl — extract `owner/repo` from a git remote
|
|
31
|
+
// URL. Accepts the three forms `git remote get-url origin` can return:
|
|
32
|
+
// https://github.com/owner/repo(.git)?
|
|
33
|
+
// https://x-access-token:<pat>@github.com/owner/repo(.git)?
|
|
34
|
+
// git@github.com:owner/repo(.git)?
|
|
35
|
+
// Returns null for anything else (gitlab, custom hosts, malformed input).
|
|
36
|
+
// The launcher only knows how to talk to github.com via the gh CLI, so
|
|
37
|
+
// we restrict to that host.
|
|
38
|
+
export function parseGithubRepoFromGitUrl(url) {
|
|
39
|
+
const trimmed = url.trim();
|
|
40
|
+
if (trimmed.length === 0)
|
|
41
|
+
return null;
|
|
42
|
+
// SSH form
|
|
43
|
+
const ssh = trimmed.match(/^[A-Za-z0-9._-]+@github\.com:([A-Za-z0-9._-]+)\/([A-Za-z0-9._-]+?)(?:\.git)?$/);
|
|
44
|
+
if (ssh)
|
|
45
|
+
return `${ssh[1]}/${ssh[2]}`;
|
|
46
|
+
// HTTPS form (with or without auth prefix)
|
|
47
|
+
const https = trimmed.match(/^https?:\/\/(?:[^/@]+@)?github\.com\/([A-Za-z0-9._-]+)\/([A-Za-z0-9._-]+?)(?:\.git)?\/?$/);
|
|
48
|
+
if (https)
|
|
49
|
+
return `${https[1]}/${https[2]}`;
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
// gitRemoteOriginUrl — best-effort `git -C <cwd> remote get-url origin`.
|
|
53
|
+
// Returns null if cwd is not in a git repo, the remote doesn't exist,
|
|
54
|
+
// or git isn't installed. Never throws.
|
|
55
|
+
export function gitRemoteOriginUrl(cwd) {
|
|
56
|
+
try {
|
|
57
|
+
const out = execFileSync("git", ["-C", cwd, "remote", "get-url", "origin"], { stdio: ["ignore", "pipe", "ignore"], encoding: "utf8", timeout: 2_000 });
|
|
58
|
+
const trimmed = out.trim();
|
|
59
|
+
return trimmed.length > 0 ? trimmed : null;
|
|
60
|
+
}
|
|
61
|
+
catch {
|
|
62
|
+
return null;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
const DEFAULT_REGION = "eu-central-1";
|
|
66
|
+
function defaultIo() {
|
|
67
|
+
// Lazy readline construction — only wired up when we actually need to
|
|
68
|
+
// prompt, so unit tests that supply their own io stay free of fd leaks.
|
|
69
|
+
let rl = null;
|
|
70
|
+
return {
|
|
71
|
+
ask: async (q) => {
|
|
72
|
+
if (rl === null) {
|
|
73
|
+
rl = createInterface({ input: process.stdin, output: process.stdout });
|
|
74
|
+
}
|
|
75
|
+
const answer = await rl.question(q);
|
|
76
|
+
return answer.trim();
|
|
77
|
+
},
|
|
78
|
+
info: (line) => process.stdout.write(`${line}\n`),
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
// confirmYes — Y/n prompt that defaults to yes on empty input.
|
|
82
|
+
async function confirmYes(io, q) {
|
|
83
|
+
const a = (await io.ask(`${q} [Y/n] `)).toLowerCase();
|
|
84
|
+
if (a.length === 0)
|
|
85
|
+
return true;
|
|
86
|
+
return a === "y" || a === "yes";
|
|
87
|
+
}
|
|
88
|
+
// runWizard — interactive prompt path. No-op when not on a TTY. Mutates
|
|
89
|
+
// `opts.env` in place. Operator-typed env always wins; we never override
|
|
90
|
+
// a value the operator already set.
|
|
91
|
+
export async function runWizard(opts) {
|
|
92
|
+
const env = opts.env;
|
|
93
|
+
const cwd = opts.cwd ?? process.cwd();
|
|
94
|
+
const isTty = opts.isTty ??
|
|
95
|
+
(process.stdin.isTTY === true && process.stdout.isTTY === true);
|
|
96
|
+
if (!isTty)
|
|
97
|
+
return;
|
|
98
|
+
const io = opts.io ?? defaultIo();
|
|
99
|
+
const gitRemote = opts.gitRemote ?? gitRemoteOriginUrl;
|
|
100
|
+
await populateTargetRepo(env, cwd, io, gitRemote);
|
|
101
|
+
await populateAwsRegion(env, io);
|
|
102
|
+
await maybeValidateLocalConfig(cwd, io);
|
|
103
|
+
}
|
|
104
|
+
async function populateTargetRepo(env, cwd, io, gitRemote) {
|
|
105
|
+
if (env.RALPH_TARGET_REPO && env.RALPH_TARGET_REPO.length > 0)
|
|
106
|
+
return;
|
|
107
|
+
const remote = gitRemote(cwd);
|
|
108
|
+
const discovered = remote ? parseGithubRepoFromGitUrl(remote) : null;
|
|
109
|
+
if (discovered) {
|
|
110
|
+
if (await confirmYes(io, `Use ${discovered} as RALPH_TARGET_REPO?`)) {
|
|
111
|
+
env.RALPH_TARGET_REPO = discovered;
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
const fallbackHint = discovered ?? "owner/repo";
|
|
116
|
+
for (;;) {
|
|
117
|
+
const typed = await io.ask(`RALPH_TARGET_REPO (${fallbackHint}): `);
|
|
118
|
+
if (typed.length > 0 && /^[A-Za-z0-9._-]+\/[A-Za-z0-9._-]+$/.test(typed)) {
|
|
119
|
+
env.RALPH_TARGET_REPO = typed;
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
io.info(`${MODULE_PREFIX}: expected the form owner/repo (got ${JSON.stringify(typed)})`);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
async function populateAwsRegion(env, io) {
|
|
126
|
+
if (env.RALPH_AWS_REGION && env.RALPH_AWS_REGION.length > 0)
|
|
127
|
+
return;
|
|
128
|
+
const typed = await io.ask(`RALPH_AWS_REGION (${DEFAULT_REGION}): `);
|
|
129
|
+
env.RALPH_AWS_REGION = typed.length > 0 ? typed : DEFAULT_REGION;
|
|
130
|
+
}
|
|
131
|
+
// maybeValidateLocalConfig — when the operator is standing in a clone
|
|
132
|
+
// that already has a `.ralph/config.yaml`, surface schema-version
|
|
133
|
+
// mismatches up-front rather than waiting for system-setup.sh to fail
|
|
134
|
+
// on the EC2 worker. We do NOT block the launch — the authoritative
|
|
135
|
+
// validator runs on the worker against the target's tip-of-default-
|
|
136
|
+
// branch, which may differ from the operator's clone — but we warn so
|
|
137
|
+
// the operator can decide whether to fix it locally first.
|
|
138
|
+
async function maybeValidateLocalConfig(cwd, io) {
|
|
139
|
+
const cfgPath = resolvePath(cwd, ".ralph", "config.yaml");
|
|
140
|
+
if (!existsSync(cfgPath))
|
|
141
|
+
return;
|
|
142
|
+
let raw;
|
|
143
|
+
try {
|
|
144
|
+
raw = readFileSync(cfgPath, "utf8");
|
|
145
|
+
}
|
|
146
|
+
catch {
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
const localVersion = readSchemaVersion(raw);
|
|
150
|
+
if (localVersion === undefined) {
|
|
151
|
+
io.info(`${MODULE_PREFIX}: ${cfgPath} has no schema_version; harness expects ${CURRENT_SCHEMA_VERSION}. Add 'schema_version: ${CURRENT_SCHEMA_VERSION}' to silence this warning.`);
|
|
152
|
+
}
|
|
153
|
+
else if (localVersion !== CURRENT_SCHEMA_VERSION) {
|
|
154
|
+
io.info(`${MODULE_PREFIX}: ${cfgPath} declares schema_version=${localVersion}; harness expects ${CURRENT_SCHEMA_VERSION}. The on-EC2 validator will reject this — update the file before launching.`);
|
|
155
|
+
return;
|
|
156
|
+
}
|
|
157
|
+
try {
|
|
158
|
+
validateTargetConfig(raw);
|
|
159
|
+
}
|
|
160
|
+
catch (err) {
|
|
161
|
+
if (err instanceof ValidateError) {
|
|
162
|
+
io.info(`${MODULE_PREFIX}: ${cfgPath} failed local schema validation (code ${err.code}): ${err.message}`);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
//# sourceMappingURL=ralph-fire-wizard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ralph-fire-wizard.js","sourceRoot":"","sources":["../../src/lib/ralph-fire-wizard.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,9 @@ export declare class ValidateError extends Error {
|
|
|
4
4
|
readonly code: ValidateExitCode;
|
|
5
5
|
constructor(code: ValidateExitCode, message: string);
|
|
6
6
|
}
|
|
7
|
+
export declare const CURRENT_SCHEMA_VERSION = 1;
|
|
7
8
|
export declare const TargetConfigSchema: z.ZodObject<{
|
|
9
|
+
schema_version: z.ZodOptional<z.ZodLiteral<1>>;
|
|
8
10
|
build_cmd: z.ZodString;
|
|
9
11
|
test_cmd: z.ZodString;
|
|
10
12
|
branch_prefix: z.ZodString;
|
|
@@ -25,4 +27,5 @@ export declare const TargetConfigSchema: z.ZodObject<{
|
|
|
25
27
|
export type TargetConfig = z.infer<typeof TargetConfigSchema>;
|
|
26
28
|
export declare function validate(yamlString: string): TargetConfig;
|
|
27
29
|
export declare function moduleErr(message: string): string;
|
|
30
|
+
export declare function readSchemaVersion(yamlString: string): number | undefined;
|
|
28
31
|
//# sourceMappingURL=target-config-schema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"target-config-schema.d.ts","sourceRoot":"","sources":["../../src/lib/target-config-schema.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,MAAM,gBAAgB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAE7C,qBAAa,aAAc,SAAQ,KAAK;aAEpB,IAAI,EAAE,gBAAgB;gBAAtB,IAAI,EAAE,gBAAgB,EACtC,OAAO,EAAE,MAAM;CAKlB;
|
|
1
|
+
{"version":3,"file":"target-config-schema.d.ts","sourceRoot":"","sources":["../../src/lib/target-config-schema.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,MAAM,gBAAgB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAE7C,qBAAa,aAAc,SAAQ,KAAK;aAEpB,IAAI,EAAE,gBAAgB;gBAAtB,IAAI,EAAE,gBAAgB,EACtC,OAAO,EAAE,MAAM;CAKlB;AAYD,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAwBxC,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;kBAUpB,CAAC;AAEZ,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,wBAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,CAqBzD;AAmGD,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEjD;AAQD,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAiBxE"}
|
|
@@ -25,6 +25,17 @@ export class ValidateError extends Error {
|
|
|
25
25
|
this.name = "ValidateError";
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
|
+
// CURRENT_SCHEMA_VERSION — the schema major number the harness expects.
|
|
29
|
+
// Bumped when a breaking change is made to TargetConfigSchema. v1 was the
|
|
30
|
+
// first explicit version; configs with no `schema_version` field are
|
|
31
|
+
// treated as v1 (the implicit shape that shipped through 1.0.x).
|
|
32
|
+
//
|
|
33
|
+
// Migration story: when CURRENT bumps to N, configs declaring 1..N-1 will
|
|
34
|
+
// fail validate() with ValidateError(6). Operators bump the field after
|
|
35
|
+
// applying any field renames the new version requires. The wizard
|
|
36
|
+
// (issue #36) surfaces the mismatch up-front so the operator does not
|
|
37
|
+
// have to wait for the on-EC2 validator to fail.
|
|
38
|
+
export const CURRENT_SCHEMA_VERSION = 1;
|
|
28
39
|
const NonEmptyString = z.string().min(1);
|
|
29
40
|
const ReviewBotSchema = z
|
|
30
41
|
.object({
|
|
@@ -42,6 +53,7 @@ const PromptExtensionsSchema = z
|
|
|
42
53
|
const BranchPrefixSchema = NonEmptyString.refine((v) => !v.includes("/") && !/\s/.test(v), { message: "branch_prefix must not contain '/' or whitespace" });
|
|
43
54
|
export const TargetConfigSchema = z
|
|
44
55
|
.object({
|
|
56
|
+
schema_version: z.literal(CURRENT_SCHEMA_VERSION).optional(),
|
|
45
57
|
build_cmd: NonEmptyString,
|
|
46
58
|
test_cmd: NonEmptyString,
|
|
47
59
|
branch_prefix: BranchPrefixSchema,
|
|
@@ -154,4 +166,27 @@ function formatReceived(received) {
|
|
|
154
166
|
export function moduleErr(message) {
|
|
155
167
|
return `${MODULE_PREFIX}: error: ${message}`;
|
|
156
168
|
}
|
|
169
|
+
// readSchemaVersion — best-effort lookup of the `schema_version` top-
|
|
170
|
+
// level key. Returns undefined when the key is absent OR the document is
|
|
171
|
+
// malformed; callers (e.g. the wizard) treat those as "unspecified" and
|
|
172
|
+
// surface a separate diagnostic. We do not throw — the authoritative
|
|
173
|
+
// validator (`validate`) is the gate, and reading the version here is a
|
|
174
|
+
// pure inspection.
|
|
175
|
+
export function readSchemaVersion(yamlString) {
|
|
176
|
+
let parsed;
|
|
177
|
+
try {
|
|
178
|
+
parsed = parseYaml(yamlString, { prettyErrors: false });
|
|
179
|
+
}
|
|
180
|
+
catch {
|
|
181
|
+
return undefined;
|
|
182
|
+
}
|
|
183
|
+
if (parsed === null ||
|
|
184
|
+
parsed === undefined ||
|
|
185
|
+
typeof parsed !== "object" ||
|
|
186
|
+
Array.isArray(parsed)) {
|
|
187
|
+
return undefined;
|
|
188
|
+
}
|
|
189
|
+
const v = parsed.schema_version;
|
|
190
|
+
return typeof v === "number" ? v : undefined;
|
|
191
|
+
}
|
|
157
192
|
//# sourceMappingURL=target-config-schema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"target-config-schema.js","sourceRoot":"","sources":["../../src/lib/target-config-schema.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"target-config-schema.js","sourceRoot":"","sources":["../../src/lib/target-config-schema.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,EAAE;AACF,0EAA0E;AAC1E,wEAAwE;AACxE,EAAE;AACF,4EAA4E;AAC5E,+DAA+D;AAC/D,kEAAkE;AAClE,uFAAuF;AACvF,sBAAsB;AACtB,8BAA8B;AAC9B,qBAAqB;AACrB,mCAAmC;AACnC,6EAA6E;AAC7E,EAAE;AACF,qCAAqC;AAErC,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,aAAa,GAAG,sBAAsB,CAAC;AAI7C,MAAM,OAAO,aAAc,SAAQ,KAAK;IAEpB;IADlB,YACkB,IAAsB,EACtC,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,SAAI,GAAJ,IAAI,CAAkB;QAItC,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AAED,wEAAwE;AACxE,0EAA0E;AAC1E,qEAAqE;AACrE,iEAAiE;AACjE,EAAE;AACF,0EAA0E;AAC1E,wEAAwE;AACxE,kEAAkE;AAClE,sEAAsE;AACtE,iDAAiD;AACjD,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAExC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAEzC,MAAM,eAAe,GAAG,CAAC;KACtB,MAAM,CAAC;IACN,QAAQ,EAAE,cAAc;IACxB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;CACtC,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,sBAAsB,GAAG,CAAC;KAC7B,MAAM,CAAC;IACN,SAAS,EAAE,cAAc,CAAC,QAAQ,EAAE;IACpC,cAAc,EAAE,cAAc,CAAC,QAAQ,EAAE;IACzC,MAAM,EAAE,cAAc,CAAC,QAAQ,EAAE;CAClC,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,kBAAkB,GAAG,cAAc,CAAC,MAAM,CAC9C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EACxC,EAAE,OAAO,EAAE,kDAAkD,EAAE,CAChE,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC;KAChC,MAAM,CAAC;IACN,cAAc,EAAE,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,QAAQ,EAAE;IAC5D,SAAS,EAAE,cAAc;IACzB,QAAQ,EAAE,cAAc;IACxB,aAAa,EAAE,kBAAkB;IACjC,UAAU,EAAE,eAAe;IAC3B,iBAAiB,EAAE,cAAc,CAAC,QAAQ,EAAE;IAC5C,iBAAiB,EAAE,sBAAsB,CAAC,QAAQ,EAAE;CACrD,CAAC;KACD,MAAM,EAAE,CAAC;AAIZ,MAAM,UAAU,QAAQ,CAAC,UAAkB;IACzC,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,SAAS,CAAC,UAAU,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChE,MAAM,IAAI,aAAa,CAAC,CAAC,EAAE,mBAAmB,MAAM,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAC5C,MAAM,IAAI,aAAa,CAAC,CAAC,EAAE,wCAAwC,CAAC,CAAC;IACvE,CAAC;IACD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACxD,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC;QAC5D,MAAM,IAAI,aAAa,CAAC,CAAC,EAAE,oCAAoC,GAAG,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,MAAM,GAAG,kBAAkB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACpD,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC;IAEvC,MAAM,oBAAoB,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,oBAAoB,CAC3B,GAAe,EACf,KAAc;IAEd,yEAAyE;IACzE,qEAAqE;IACrE,0EAA0E;IAC1E,oCAAoC;IACpC,MAAM,MAAM,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CACjC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CACpD,CAAC;IACF,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC;IACzB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAE5D,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;QACvC,MAAM,IAAI,GAAI,KAAwC,CAAC,IAAI,IAAI,EAAE,CAAC;QAClE,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;QAC5D,OAAO,IAAI,aAAa,CAAC,CAAC,EAAE,kBAAkB,OAAO,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QAClC,MAAM,QAAQ,GACX,KAA0C,CAAC,QAAQ,IAAI,aAAa,CAAC;QACxE,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,OAAO,IAAI,aAAa,CAAC,CAAC,EAAE,2BAA2B,OAAO,EAAE,CAAC,CAAC;QACpE,CAAC;QACD,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5C,OAAO,IAAI,aAAa,CACtB,CAAC,EACD,GAAG,OAAO,cAAc,QAAQ,SAAS,GAAG,EAAE,CAC/C,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC3D,OAAO,IAAI,aAAa,CAAC,CAAC,EAAE,GAAG,OAAO,6BAA6B,CAAC,CAAC;IACvE,CAAC;IAED,gFAAgF;IAChF,IACG,KAAK,CAAC,IAAe,KAAK,eAAe;QACzC,KAAK,CAAC,IAAe,KAAK,oBAAoB,EAC/C,CAAC;QACD,MAAM,IAAI,GACP,KAAqD,CAAC,OAAO;YAC7D,KAAoD,CAAC,MAAM;YAC5D,EAAE,CAAC;QACL,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/D,MAAM,QAAQ,GAAI,KAA2C,CAAC,QAAQ,CAAC;QACvE,OAAO,IAAI,aAAa,CACtB,CAAC,EACD,GAAG,OAAO,YAAY,OAAO,IAAI,eAAe,UAAU,cAAc,CAAC,QAAQ,CAAC,GAAG,CACtF,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,IAAI,aAAa,CAAC,CAAC,EAAE,GAAG,OAAO,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO,IAAI,aAAa,CAAC,CAAC,EAAE,GAAG,OAAO,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,SAAS,CAAC,KAAiB,EAAE,KAAc;IAClD,kFAAkF;IAClF,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB;QAAE,OAAO,CAAC,CAAC;IACjD,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IAC9E,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,UAAU,CAAC,KAAc,EAAE,IAA4B;IAC9D,IAAI,GAAG,GAAY,KAAK,CAAC;IACzB,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC/E,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QAChE,GAAG,GAAI,GAA+B,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,YAAY,CAAC,KAAc,EAAE,IAA4B;IAChE,IAAI,GAAG,GAAY,KAAK,CAAC;IACzB,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,OAAO,WAAW,CAAC;QACrF,GAAG,GAAI,GAA+B,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,OAAO,CAAC;IACvC,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC;IAChC,OAAO,OAAO,GAAG,CAAC;AACpB,CAAC;AAED,SAAS,cAAc,CAAC,QAAiB;IACvC,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,WAAW,CAAC;IAC/C,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAClD,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,OAAe;IACvC,OAAO,GAAG,aAAa,YAAY,OAAO,EAAE,CAAC;AAC/C,CAAC;AAED,sEAAsE;AACtE,yEAAyE;AACzE,wEAAwE;AACxE,qEAAqE;AACrE,wEAAwE;AACxE,mBAAmB;AACnB,MAAM,UAAU,iBAAiB,CAAC,UAAkB;IAClD,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,SAAS,CAAC,UAAU,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IACE,MAAM,KAAK,IAAI;QACf,MAAM,KAAK,SAAS;QACpB,OAAO,MAAM,KAAK,QAAQ;QAC1B,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EACrB,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,CAAC,GAAI,MAAkC,CAAC,cAAc,CAAC;IAC7D,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-data-renderer.d.ts","sourceRoot":"","sources":["../../src/lib/user-data-renderer.ts"],"names":[],"mappings":"AAoBA,eAAO,MAAM,aAAa,uBAAuB,CAAC;AAIlD,eAAO,MAAM,mBAAmB,QAAS,CAAC;AAE1C,qBAAa,oBAAqB,SAAQ,KAAK;aACjB,KAAK,EAAE,MAAM;gBAAb,KAAK,EAAE,MAAM;CAM1C;AAED,MAAM,WAAW,aAAa;IAE5B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IAGxB,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAG5C,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAOD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"user-data-renderer.d.ts","sourceRoot":"","sources":["../../src/lib/user-data-renderer.ts"],"names":[],"mappings":"AAoBA,eAAO,MAAM,aAAa,uBAAuB,CAAC;AAIlD,eAAO,MAAM,mBAAmB,QAAS,CAAC;AAE1C,qBAAa,oBAAqB,SAAQ,KAAK;aACjB,KAAK,EAAE,MAAM;gBAAb,KAAK,EAAE,MAAM;CAM1C;AAED,MAAM,WAAW,aAAa;IAE5B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IAGxB,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAG5C,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAOD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CA+C3D"}
|
|
@@ -57,14 +57,24 @@ export function renderUserData(input) {
|
|
|
57
57
|
// 15-line target — keep this tight. Anything heavyweight goes in
|
|
58
58
|
// `lib/cloud-init/system-setup.sh` (shipped inside the npm package and
|
|
59
59
|
// invoked by `ralph-orchestrate` as its first step).
|
|
60
|
+
//
|
|
61
|
+
// The `trap … EXIT` hook (issue #37) emits a sentinel line for the
|
|
62
|
+
// launcher's CloudWatch backstop and runs `shutdown -h now` on any
|
|
63
|
+
// exit so the EC2 instance terminates immediately on orchestrator
|
|
64
|
+
// failure instead of sitting idle until the wall-clock ceiling. The
|
|
65
|
+
// body uses double-quoted single quotes so $rc is expanded by the
|
|
66
|
+
// shell at trap-fire time, not at template render time. We do NOT
|
|
67
|
+
// `exec ralph-orchestrate` because exec replaces the shell and the
|
|
68
|
+
// trap would never fire.
|
|
60
69
|
const stub = `#!/bin/bash
|
|
61
|
-
set -
|
|
70
|
+
set -uo pipefail
|
|
62
71
|
exec > >(tee -a /var/log/ralph.log) 2>&1
|
|
72
|
+
trap 'rc=$?; printf "ORCHESTRATOR_EXITED rc=%s\\n" "$rc"; shutdown -h now' EXIT
|
|
63
73
|
${exports}
|
|
64
74
|
curl -fsSL https://rpm.nodesource.com/setup_24.x | bash -
|
|
65
75
|
dnf install -y nodejs git jq awscli
|
|
66
76
|
npm install -g ${pkg}@${input.harnessVersion}
|
|
67
|
-
|
|
77
|
+
ralph-orchestrate
|
|
68
78
|
`;
|
|
69
79
|
const bytes = Buffer.byteLength(stub, "utf8");
|
|
70
80
|
if (bytes > USER_DATA_CAP_BYTES) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-data-renderer.js","sourceRoot":"","sources":["../../src/lib/user-data-renderer.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,6EAA6E;AAC7E,2EAA2E;AAC3E,6EAA6E;AAC7E,4EAA4E;AAC5E,kDAAkD;AAClD,EAAE;AACF,sEAAsE;AACtE,0EAA0E;AAC1E,yEAAyE;AACzE,2EAA2E;AAC3E,yEAAyE;AACzE,sEAAsE;AACtE,+DAA+D;AAC/D,EAAE;AACF,kBAAkB;AAClB,oEAAoE;AACpE,kEAAkE;AAClE,mFAAmF;AAEnF,MAAM,CAAC,MAAM,aAAa,GAAG,oBAAoB,CAAC;AAElD,sDAAsD;AACtD,6DAA6D;AAC7D,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAE1C,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IACjB;IAA5B,YAA4B,KAAa;QACvC,KAAK,CACH,GAAG,aAAa,2BAA2B,KAAK,kCAAkC,mBAAmB,YAAY,CAClH,CAAC;QAHwB,UAAK,GAAL,KAAK,CAAQ;QAIvC,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AAmBD,MAAM,oBAAoB,GAAG,4BAA4B,CAAC;AAE1D,uEAAuE;AACvE,uEAAuE;AACvE,6BAA6B;AAC7B,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAoB;IACjD,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,IAAI,oBAAoB,CAAC;IACtD,kEAAkE;IAClE,uDAAuD;IACvD,MAAM,OAAO,GAA2B;QACtC,iBAAiB,EAAE,KAAK,CAAC,UAAU;QACnC,gBAAgB,EAAE,KAAK,CAAC,SAAS;QACjC,eAAe,EAAE,KAAK,CAAC,QAAQ;QAC/B,0BAA0B,EAAE,KAAK,CAAC,iBAAiB;QACnD,0BAA0B,EAAE,KAAK,CAAC,iBAAiB;QACnD,uBAAuB,EAAE,KAAK,CAAC,eAAe;QAC9C,qBAAqB,EAAE,KAAK,CAAC,cAAc;KAC5C,CAAC;IACF,MAAM,MAAM,GAA2B,EAAE,GAAG,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,CAAC;IACjF,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9C,MAAM,OAAO,GAAG,UAAU;SACvB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,EAAE,CAAC;SACzD,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,iEAAiE;IACjE,uEAAuE;IACvE,qDAAqD;IACrD,MAAM,IAAI,GAAG
|
|
1
|
+
{"version":3,"file":"user-data-renderer.js","sourceRoot":"","sources":["../../src/lib/user-data-renderer.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,6EAA6E;AAC7E,2EAA2E;AAC3E,6EAA6E;AAC7E,4EAA4E;AAC5E,kDAAkD;AAClD,EAAE;AACF,sEAAsE;AACtE,0EAA0E;AAC1E,yEAAyE;AACzE,2EAA2E;AAC3E,yEAAyE;AACzE,sEAAsE;AACtE,+DAA+D;AAC/D,EAAE;AACF,kBAAkB;AAClB,oEAAoE;AACpE,kEAAkE;AAClE,mFAAmF;AAEnF,MAAM,CAAC,MAAM,aAAa,GAAG,oBAAoB,CAAC;AAElD,sDAAsD;AACtD,6DAA6D;AAC7D,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAE1C,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IACjB;IAA5B,YAA4B,KAAa;QACvC,KAAK,CACH,GAAG,aAAa,2BAA2B,KAAK,kCAAkC,mBAAmB,YAAY,CAClH,CAAC;QAHwB,UAAK,GAAL,KAAK,CAAQ;QAIvC,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AAmBD,MAAM,oBAAoB,GAAG,4BAA4B,CAAC;AAE1D,uEAAuE;AACvE,uEAAuE;AACvE,6BAA6B;AAC7B,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAoB;IACjD,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,IAAI,oBAAoB,CAAC;IACtD,kEAAkE;IAClE,uDAAuD;IACvD,MAAM,OAAO,GAA2B;QACtC,iBAAiB,EAAE,KAAK,CAAC,UAAU;QACnC,gBAAgB,EAAE,KAAK,CAAC,SAAS;QACjC,eAAe,EAAE,KAAK,CAAC,QAAQ;QAC/B,0BAA0B,EAAE,KAAK,CAAC,iBAAiB;QACnD,0BAA0B,EAAE,KAAK,CAAC,iBAAiB;QACnD,uBAAuB,EAAE,KAAK,CAAC,eAAe;QAC9C,qBAAqB,EAAE,KAAK,CAAC,cAAc;KAC5C,CAAC;IACF,MAAM,MAAM,GAA2B,EAAE,GAAG,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,CAAC;IACjF,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9C,MAAM,OAAO,GAAG,UAAU;SACvB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,EAAE,CAAC;SACzD,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,iEAAiE;IACjE,uEAAuE;IACvE,qDAAqD;IACrD,EAAE;IACF,mEAAmE;IACnE,mEAAmE;IACnE,kEAAkE;IAClE,oEAAoE;IACpE,kEAAkE;IAClE,kEAAkE;IAClE,mEAAmE;IACnE,yBAAyB;IACzB,MAAM,IAAI,GAAG;;;;EAIb,OAAO;;;iBAGQ,GAAG,IAAI,KAAK,CAAC,cAAc;;CAE3C,CAAC;IAEA,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC9C,IAAI,KAAK,GAAG,mBAAmB,EAAE,CAAC;QAChC,MAAM,IAAI,oBAAoB,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@unimatrix27/ralph-harness",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.4",
|
|
4
4
|
"description": "Throwaway-EC2 loop that picks one ready-for-agent GitHub issue, implements it, opens a PR, runs one auto-review pass, then terminates.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|