ridgeline 0.3.12 → 0.3.15

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/cli.js CHANGED
@@ -8,6 +8,12 @@ const spec_1 = require("./commands/spec");
8
8
  const plan_1 = require("./commands/plan");
9
9
  const dry_run_1 = require("./commands/dry-run");
10
10
  const build_1 = require("./commands/build");
11
+ const claude_exec_1 = require("./engine/claude/claude.exec");
12
+ // Kill all Claude subprocesses on Ctrl+C before exiting
13
+ process.on("SIGINT", () => {
14
+ (0, claude_exec_1.killAllClaude)();
15
+ setTimeout(() => process.exit(130), 2500);
16
+ });
11
17
  const withConfig = (fn) => async (buildName, opts) => {
12
18
  if (!buildName)
13
19
  buildName = await (0, prompt_1.askBuildName)();
@@ -16,7 +22,7 @@ const withConfig = (fn) => async (buildName, opts) => {
16
22
  await fn(config);
17
23
  }
18
24
  catch (err) {
19
- console.error(`Error: ${err}`);
25
+ console.error(err instanceof Error ? err.message : String(err));
20
26
  process.exit(1);
21
27
  }
22
28
  };
@@ -45,7 +51,7 @@ program
45
51
  });
46
52
  }
47
53
  catch (err) {
48
- console.error(`Error: ${err}`);
54
+ console.error(err instanceof Error ? err.message : String(err));
49
55
  process.exit(1);
50
56
  }
51
57
  });
@@ -88,7 +94,7 @@ program
88
94
  runClean(process.cwd());
89
95
  }
90
96
  catch (err) {
91
- console.error(`Error: ${err}`);
97
+ console.error(err instanceof Error ? err.message : String(err));
92
98
  process.exit(1);
93
99
  }
94
100
  });
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;AAEA,yCAAmC;AACnC,qCAAqD;AAErD,wCAA0C;AAC1C,0CAAyC;AACzC,0CAAyC;AACzC,gDAA8C;AAC9C,4CAA2C;AAC3C,6DAA2D;AAE3D,wDAAwD;AACxD,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;IACxB,IAAA,2BAAa,GAAE,CAAA;IACf,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAA;AAC3C,CAAC,CAAC,CAAA;AAIF,MAAM,UAAU,GAAG,CAAC,EAA8C,EAAE,EAAE,CACpE,KAAK,EAAE,SAA6B,EAAE,IAAU,EAAE,EAAE;IAClD,IAAI,CAAC,SAAS;QAAE,SAAS,GAAG,MAAM,IAAA,qBAAY,GAAE,CAAA;IAChD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAA,sBAAa,EAAC,SAAU,EAAE,IAAI,CAAC,CAAA;QAC9C,MAAM,EAAE,CAAC,MAAM,CAAC,CAAA;IAClB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;QAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;AACH,CAAC,CAAA;AAEH,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAA;AAE7B,OAAO;KACJ,IAAI,CAAC,WAAW,CAAC;KACjB,WAAW,CAAC,mDAAmD,CAAC;KAChE,OAAO,CAAC,IAAA,oBAAW,GAAE,CAAC,CAAA;AAEzB,OAAO;KACJ,OAAO,CAAC,2BAA2B,CAAC;KACpC,WAAW,CAAC,gEAAgE,CAAC;KAC7E,MAAM,CAAC,gBAAgB,EAAE,0BAA0B,EAAE,MAAM,CAAC;KAC5D,MAAM,CAAC,qBAAqB,EAAE,kCAAkC,EAAE,IAAI,CAAC;KACvE,MAAM,CAAC,KAAK,EAAE,SAA6B,EAAE,KAAyB,EAAE,IAAU,EAAE,EAAE;IACrF,IAAI,CAAC,SAAS;QAAE,SAAS,GAAG,MAAM,IAAA,qBAAY,GAAE,CAAA;IAChD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAA;QACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IACD,IAAI,CAAC;QACH,MAAM,IAAA,cAAO,EAAC,SAAS,EAAE;YACvB,KAAK,EAAG,IAAI,CAAC,KAAgB,IAAI,MAAM;YACvC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACnD,KAAK;SACN,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;QAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;AACH,CAAC,CAAC,CAAA;AAEJ,OAAO;KACJ,OAAO,CAAC,mBAAmB,CAAC;KAC5B,WAAW,CAAC,sDAAsD,CAAC;KACnE,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,CAAC;KACrD,MAAM,CAAC,qBAAqB,EAAE,2BAA2B,EAAE,KAAK,CAAC;KACjE,MAAM,CAAC,sBAAsB,EAAE,wBAAwB,CAAC;KACxD,MAAM,CAAC,gBAAgB,EAAE,kBAAkB,CAAC;KAC5C,MAAM,CAAC,UAAU,CAAC,cAAO,CAAC,CAAC,CAAA;AAE9B,OAAO;KACJ,OAAO,CAAC,sBAAsB,CAAC;KAC/B,WAAW,CAAC,oCAAoC,CAAC;KACjD,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,CAAC;KACrD,MAAM,CAAC,qBAAqB,EAAE,2BAA2B,EAAE,KAAK,CAAC;KACjE,MAAM,CAAC,sBAAsB,EAAE,wBAAwB,CAAC;KACxD,MAAM,CAAC,gBAAgB,EAAE,kBAAkB,CAAC;KAC5C,MAAM,CAAC,UAAU,CAAC,mBAAS,CAAC,CAAC,CAAA;AAEhC,OAAO;KACJ,OAAO,CAAC,oBAAoB,CAAC;KAC7B,WAAW,CAAC,+EAA+E,CAAC;KAC5F,MAAM,CAAC,qBAAqB,EAAE,mCAAmC,EAAE,KAAK,CAAC;KACzE,MAAM,CAAC,2BAA2B,EAAE,2CAA2C,EAAE,MAAM,CAAC;KACxF,MAAM,CAAC,mBAAmB,EAAE,oCAAoC,EAAE,GAAG,CAAC;KACtE,MAAM,CAAC,mBAAmB,EAAE,mDAAmD,CAAC;KAChF,MAAM,CAAC,gBAAgB,EAAE,gCAAgC,EAAE,MAAM,CAAC;KAClE,MAAM,CAAC,sBAAsB,EAAE,6CAA6C,CAAC;KAC7E,MAAM,CAAC,sBAAsB,EAAE,wBAAwB,CAAC;KACxD,MAAM,CAAC,gBAAgB,EAAE,kBAAkB,CAAC;KAC5C,MAAM,CAAC,kBAAkB,EAAE,uDAAuD,CAAC;KACnF,MAAM,CAAC,UAAU,EAAE,gCAAgC,CAAC;KACpD,MAAM,CAAC,UAAU,CAAC,gBAAQ,CAAC,CAAC,CAAA;AAE/B,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,6CAA6C,CAAC;KAC1D,MAAM,CAAC,GAAG,EAAE;IACX,IAAI,CAAC;QACH,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAA;QAChD,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;IACzB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;QAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;AACH,CAAC,CAAC,CAAA;AAEJ,OAAO,CAAC,KAAK,EAAE,CAAA"}
@@ -42,6 +42,7 @@ const state_1 = require("../store/state");
42
42
  const budget_1 = require("../store/budget");
43
43
  const tags_1 = require("../store/tags");
44
44
  const git_1 = require("../git");
45
+ const claude_exec_1 = require("../engine/claude/claude.exec");
45
46
  const plan_1 = require("./plan");
46
47
  const worktree_1 = require("../engine/worktree");
47
48
  const fs = __importStar(require("node:fs"));
@@ -52,7 +53,7 @@ const formatDuration = (ms) => {
52
53
  return `${seconds}s`;
53
54
  const minutes = Math.floor(seconds / 60);
54
55
  const remaining = seconds % 60;
55
- return remaining > 0 ? `${minutes}m ${remaining}s` : `${minutes}m`;
56
+ return remaining > 0 ? `${minutes}m ${remaining.toString().padStart(2, "0")}s` : `${minutes}m`;
56
57
  };
57
58
  const readSpecDescription = (buildDir) => {
58
59
  const specPath = path.join(buildDir, "..", "spec.md");
@@ -114,7 +115,7 @@ const printSummaryTable = (config, completed, failed, totalPhases) => {
114
115
  console.log(` Phases: ${completed} passed, ${failed} failed, ${totalPhases} total`);
115
116
  console.log(sep);
116
117
  // Breakdown table
117
- const formatRow = (name, attempts, build, review, cost) => ` ${name.padEnd(24)} ${attempts.padStart(4)} ${build.padStart(8)} ${review.padStart(8)} ${cost.padStart(8)}`;
118
+ const formatRow = (name, attempts, build, review, cost) => ` ${name.padEnd(24)} ${attempts.padStart(8)} ${build.padStart(8)} ${review.padStart(8)} ${cost.padStart(8)}`;
118
119
  console.log("");
119
120
  console.log(formatRow("", "Attempts", "Build", "Review", "Cost"));
120
121
  console.log(div);
@@ -174,6 +175,41 @@ const setupWorktree = (repoRoot, config) => {
174
175
  (0, output_1.printInfo)(`Worktree: ${config.worktreePath}`);
175
176
  }
176
177
  };
178
+ /** Merge a completed phase's worktree commits into main. Returns true on success. */
179
+ const mergePhaseIntoMain = (repoRoot, config, state, phaseId) => {
180
+ if (config.worktreePath && (0, git_1.isWorkingTreeDirty)(config.worktreePath)) {
181
+ (0, git_1.commitAll)(`ridgeline: ${phaseId}`, config.worktreePath);
182
+ }
183
+ (0, output_1.printInfo)("Merging phase into main...");
184
+ try {
185
+ (0, worktree_1.reflectCommits)(repoRoot, config.buildName);
186
+ (0, state_1.updatePhaseStatus)(config.buildDir, state, phaseId, { isMerged: true });
187
+ return true;
188
+ }
189
+ catch (err) {
190
+ (0, output_1.printError)(`Merge failed: ${err instanceof Error ? err.message : err}`);
191
+ return false;
192
+ }
193
+ };
194
+ /** Retry merges for complete-but-unmerged phases (from a previous interrupted run). Returns failure count. */
195
+ const retryUnmergedPhases = (repoRoot, config, state) => {
196
+ let failures = 0;
197
+ let unmerged = (0, state_1.getNextUnmergedPhase)(state);
198
+ while (unmerged) {
199
+ (0, output_1.printInfo)(`Merging previously completed phase: ${unmerged.id}`);
200
+ try {
201
+ (0, worktree_1.reflectCommits)(repoRoot, config.buildName);
202
+ (0, state_1.updatePhaseStatus)(config.buildDir, state, unmerged.id, { isMerged: true });
203
+ }
204
+ catch (err) {
205
+ (0, output_1.printError)(`Merge failed: ${err instanceof Error ? err.message : err}`);
206
+ failures++;
207
+ break;
208
+ }
209
+ unmerged = (0, state_1.getNextUnmergedPhase)(state);
210
+ }
211
+ return failures;
212
+ };
177
213
  const runBuild = async (config) => {
178
214
  const phases = await (0, exports.ensurePhases)(config);
179
215
  // Load or init state
@@ -194,43 +230,51 @@ const runBuild = async (config) => {
194
230
  setupWorktree(repoRoot, config);
195
231
  let completed = 0;
196
232
  let failed = 0;
197
- // Run phases
198
- let nextPhaseState = (0, state_1.getNextIncompletePhase)(state);
199
- while (nextPhaseState) {
200
- const phase = phases.find((p) => p.id === nextPhaseState.id);
201
- if (!phase) {
202
- (0, output_1.printError)(`Phase ${nextPhaseState.id} not found in filesystem`);
203
- failed++;
204
- break;
205
- }
206
- const result = await (0, phase_sequence_1.runPhase)(phase, config, state);
207
- if (result === "passed") {
208
- completed++;
209
- if (config.worktreePath && (0, git_1.isWorkingTreeDirty)(config.worktreePath)) {
210
- (0, git_1.commitAll)(`ridgeline: ${phase.id}`, config.worktreePath);
233
+ try {
234
+ let nextPhaseState = (0, state_1.getNextIncompletePhase)(state);
235
+ while (nextPhaseState) {
236
+ const phase = phases.find((p) => p.id === nextPhaseState.id);
237
+ if (!phase) {
238
+ (0, output_1.printError)(`Phase ${nextPhaseState.id} not found in filesystem`);
239
+ failed++;
240
+ break;
211
241
  }
212
- (0, worktree_1.reflectCommits)(repoRoot, config.buildName);
213
- }
214
- else {
215
- failed++;
216
- break;
217
- }
218
- if (config.maxBudgetUsd) {
219
- const budget = (0, budget_1.loadBudget)(config.buildDir);
220
- if (budget.totalCostUsd > config.maxBudgetUsd) {
221
- (0, output_1.printInfo)(`Budget limit reached: $${budget.totalCostUsd.toFixed(2)} > $${config.maxBudgetUsd}`);
242
+ const phaseIndex = phases.findIndex((p) => p.id === nextPhaseState.id) + 1;
243
+ (0, output_1.printPhaseHeader)(phaseIndex, phases.length, phase.id);
244
+ const result = await (0, phase_sequence_1.runPhase)(phase, config, state);
245
+ if (result !== "passed") {
246
+ failed++;
247
+ break;
248
+ }
249
+ completed++;
250
+ if (!mergePhaseIntoMain(repoRoot, config, state, phase.id)) {
251
+ failed++;
222
252
  break;
223
253
  }
254
+ if (config.maxBudgetUsd) {
255
+ const budget = (0, budget_1.loadBudget)(config.buildDir);
256
+ if (budget.totalCostUsd > config.maxBudgetUsd) {
257
+ (0, output_1.printInfo)(`Budget limit reached: $${budget.totalCostUsd.toFixed(2)} > $${config.maxBudgetUsd}`);
258
+ break;
259
+ }
260
+ }
261
+ nextPhaseState = (0, state_1.getNextIncompletePhase)(state);
224
262
  }
225
- nextPhaseState = (0, state_1.getNextIncompletePhase)(state);
263
+ failed += retryUnmergedPhases(repoRoot, config, state);
264
+ }
265
+ catch (err) {
266
+ (0, output_1.printError)(`Unexpected error: ${err instanceof Error ? err.message : err}`);
267
+ failed++;
226
268
  }
227
- // Summary
269
+ // Summary — always printed, even on failure
228
270
  const totalCompleted = state.phases.filter((p) => p.status === "complete").length;
229
271
  printSummaryTable(config, totalCompleted, failed, phases.length);
230
272
  if (failed > 0) {
273
+ (0, claude_exec_1.killAllClaudeSync)();
231
274
  process.exit(1);
232
275
  }
233
- if (totalCompleted === phases.length) {
276
+ const isFullyDone = state.phases.every((p) => p.status === "complete" && p.isMerged);
277
+ if (isFullyDone) {
234
278
  console.log("");
235
279
  console.log(" All phases complete!");
236
280
  console.log(" Cleaning up...");
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,9 @@
1
1
  import { ClaudeResult } from "../../types";
2
2
  import { SandboxProvider } from "./sandbox";
3
+ /** Graceful kill: SIGTERM all process groups, then SIGKILL after 2s. */
4
+ export declare const killAllClaude: () => void;
5
+ /** Immediate kill: SIGKILL all process groups. Use before process.exit(). */
6
+ export declare const killAllClaudeSync: () => void;
3
7
  export type InvokeOptions = {
4
8
  systemPrompt: string;
5
9
  userPrompt: string;
@@ -1,12 +1,48 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.invokeClaude = void 0;
3
+ exports.invokeClaude = exports.killAllClaudeSync = exports.killAllClaude = void 0;
4
4
  const node_child_process_1 = require("node:child_process");
5
5
  const stream_decode_1 = require("./stream.decode");
6
6
  /** Default: kill if no stdout arrives within 2 minutes of spawn. */
7
7
  const DEFAULT_STARTUP_TIMEOUT_MS = 2 * 60 * 1000;
8
8
  /** Default: kill if no stdout arrives for 5 minutes during execution. */
9
9
  const DEFAULT_STALL_TIMEOUT_MS = 5 * 60 * 1000;
10
+ // --- Process registry: track all live Claude subprocesses ---
11
+ const liveProcs = new Set();
12
+ /** Graceful kill: SIGTERM all process groups, then SIGKILL after 2s. */
13
+ const killAllClaude = () => {
14
+ for (const proc of liveProcs) {
15
+ if (proc.pid) {
16
+ try {
17
+ process.kill(-proc.pid, "SIGTERM");
18
+ }
19
+ catch { /* already dead */ }
20
+ }
21
+ }
22
+ setTimeout(() => {
23
+ for (const proc of liveProcs) {
24
+ if (proc.pid) {
25
+ try {
26
+ process.kill(-proc.pid, "SIGKILL");
27
+ }
28
+ catch { /* already dead */ }
29
+ }
30
+ }
31
+ }, 2000);
32
+ };
33
+ exports.killAllClaude = killAllClaude;
34
+ /** Immediate kill: SIGKILL all process groups. Use before process.exit(). */
35
+ const killAllClaudeSync = () => {
36
+ for (const proc of liveProcs) {
37
+ if (proc.pid) {
38
+ try {
39
+ process.kill(-proc.pid, "SIGKILL");
40
+ }
41
+ catch { /* already dead */ }
42
+ }
43
+ }
44
+ };
45
+ exports.killAllClaudeSync = killAllClaudeSync;
10
46
  const invokeClaude = async (opts) => {
11
47
  const provider = opts.sandboxProvider ?? null;
12
48
  if (provider?.syncRules) {
@@ -45,7 +81,9 @@ const invokeClaude = async (opts) => {
45
81
  const proc = (0, node_child_process_1.spawn)(spawnCmd, spawnArgs, {
46
82
  cwd: opts.cwd,
47
83
  stdio: ["pipe", "pipe", "pipe"],
84
+ detached: true,
48
85
  });
86
+ liveProcs.add(proc);
49
87
  let stdoutData = "";
50
88
  let stderrData = "";
51
89
  // --- Stall / startup detection ---
@@ -53,11 +91,19 @@ const invokeClaude = async (opts) => {
53
91
  let stallReason = "";
54
92
  const startupMs = opts.startupTimeoutMs ?? DEFAULT_STARTUP_TIMEOUT_MS;
55
93
  const stallMs = opts.stallTimeoutMs ?? DEFAULT_STALL_TIMEOUT_MS;
94
+ const killProc = (signal) => {
95
+ if (proc.pid) {
96
+ try {
97
+ process.kill(-proc.pid, signal);
98
+ }
99
+ catch { /* already dead */ }
100
+ }
101
+ };
56
102
  const killOnStall = (reason) => {
57
103
  stalled = true;
58
104
  stallReason = reason;
59
- proc.kill("SIGTERM");
60
- setTimeout(() => proc.kill("SIGKILL"), 5000);
105
+ killProc("SIGTERM");
106
+ setTimeout(() => killProc("SIGKILL"), 5000);
61
107
  };
62
108
  // Startup probe: short fuse for the very first stdout event
63
109
  let stallTimer = setTimeout(() => {
@@ -89,11 +135,12 @@ const invokeClaude = async (opts) => {
89
135
  if (opts.timeoutMs) {
90
136
  timer = setTimeout(() => {
91
137
  timedOut = true;
92
- proc.kill("SIGTERM");
93
- setTimeout(() => proc.kill("SIGKILL"), 5000);
138
+ killProc("SIGTERM");
139
+ setTimeout(() => killProc("SIGKILL"), 5000);
94
140
  }, opts.timeoutMs);
95
141
  }
96
142
  proc.on("close", (code) => {
143
+ liveProcs.delete(proc);
97
144
  if (timer)
98
145
  clearTimeout(timer);
99
146
  if (stallTimer)
@@ -107,6 +154,13 @@ const invokeClaude = async (opts) => {
107
154
  return;
108
155
  }
109
156
  if (code !== 0 && !stdoutData.trim()) {
157
+ const lower = stderrData.toLowerCase();
158
+ if (lower.includes("authentication") || lower.includes("unauthorized") ||
159
+ lower.includes("forbidden") || lower.includes("oauth token has expired") ||
160
+ lower.includes("invalid_api_key")) {
161
+ reject(new Error("Authentication failed. Refresh your OAuth token or API key and resume."));
162
+ return;
163
+ }
110
164
  reject(new Error(`claude exited with code ${code}: ${stderrData}`));
111
165
  return;
112
166
  }
@@ -1 +1 @@
1
- {"version":3,"file":"claude.exec.js","sourceRoot":"","sources":["../../../src/engine/claude/claude.exec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude.exec.js","sourceRoot":"","sources":["../../../src/engine/claude/claude.exec.ts"],"names":[],"mappings":"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"}
@@ -98,6 +98,28 @@ const createStreamHandler = (onEvent) => {
98
98
  };
99
99
  };
100
100
  exports.createStreamHandler = createStreamHandler;
101
+ const collectContentFallbacks = (parsed, acc) => {
102
+ // Check for StructuredOutput tool_use in assistant messages
103
+ if (parsed.type === "assistant" && parsed.message) {
104
+ const content = parsed.message.content;
105
+ if (Array.isArray(content)) {
106
+ for (const block of content) {
107
+ if (block.type === "tool_use" && block.name === "StructuredOutput" && block.input != null) {
108
+ acc.structuredOutput = typeof block.input === "string"
109
+ ? block.input
110
+ : JSON.stringify(block.input);
111
+ }
112
+ if (block.type === "text" && typeof block.text === "string") {
113
+ acc.textParts.push(block.text);
114
+ }
115
+ }
116
+ }
117
+ }
118
+ // Legacy format text
119
+ if (parsed.type === "assistant" && parsed.subtype === "text" && typeof parsed.text === "string") {
120
+ acc.textParts.push(parsed.text);
121
+ }
122
+ };
101
123
  /**
102
124
  * Scan accumulated NDJSON stdout for the final `type: "result"` event
103
125
  * and return a parsed ClaudeResult.
@@ -107,8 +129,7 @@ const extractResult = (ndjsonStdout) => {
107
129
  // Collect fallback content for when result field is empty.
108
130
  // --json-schema uses a synthetic StructuredOutput tool_use whose input IS the JSON.
109
131
  // Text content is also collected as a secondary fallback.
110
- const textParts = [];
111
- let structuredOutput = null;
132
+ const fallbacks = { textParts: [], structuredOutput: null };
112
133
  let resultEvent = null;
113
134
  for (const line of lines) {
114
135
  try {
@@ -117,26 +138,7 @@ const extractResult = (ndjsonStdout) => {
117
138
  resultEvent = parseClaudeResult(parsed);
118
139
  continue;
119
140
  }
120
- // Check for StructuredOutput tool_use in assistant messages
121
- if (parsed.type === "assistant" && parsed.message) {
122
- const content = parsed.message.content;
123
- if (Array.isArray(content)) {
124
- for (const block of content) {
125
- if (block.type === "tool_use" && block.name === "StructuredOutput" && block.input != null) {
126
- structuredOutput = typeof block.input === "string"
127
- ? block.input
128
- : JSON.stringify(block.input);
129
- }
130
- if (block.type === "text" && typeof block.text === "string") {
131
- textParts.push(block.text);
132
- }
133
- }
134
- }
135
- }
136
- // Legacy format text
137
- if (parsed.type === "assistant" && parsed.subtype === "text" && typeof parsed.text === "string") {
138
- textParts.push(parsed.text);
139
- }
141
+ collectContentFallbacks(parsed, fallbacks);
140
142
  }
141
143
  catch {
142
144
  // Not valid JSON, skip
@@ -147,7 +149,7 @@ const extractResult = (ndjsonStdout) => {
147
149
  }
148
150
  // Populate result from fallbacks: StructuredOutput first, then text content
149
151
  if (!resultEvent.result) {
150
- resultEvent.result = structuredOutput ?? (textParts.length > 0 ? textParts.join("") : "");
152
+ resultEvent.result = fallbacks.structuredOutput ?? (fallbacks.textParts.length > 0 ? fallbacks.textParts.join("") : "");
151
153
  }
152
154
  return resultEvent;
153
155
  };
@@ -163,6 +165,7 @@ const createDisplayCallbacks = (opts) => {
163
165
  let hasStreamedText = false;
164
166
  let lastCharWasNewline = true;
165
167
  let jsonSuppressed = false;
168
+ let lastEventWasTool = false;
166
169
  let resumeTimer = null;
167
170
  const spinner = (0, spinner_1.startSpinner)();
168
171
  const scheduleResume = () => {
@@ -210,6 +213,10 @@ const createDisplayCallbacks = (opts) => {
210
213
  spinner.pause();
211
214
  if (resumeTimer)
212
215
  clearTimeout(resumeTimer);
216
+ if (lastEventWasTool) {
217
+ process.stdout.write("\n");
218
+ lastEventWasTool = false;
219
+ }
213
220
  writeText(event.text);
214
221
  scheduleResume();
215
222
  }
@@ -224,6 +231,7 @@ const createDisplayCallbacks = (opts) => {
224
231
  : `[${event.tool}]`;
225
232
  spinner.printAbove(line);
226
233
  spinner.setDetail(event.tool);
234
+ lastEventWasTool = true;
227
235
  }
228
236
  });
229
237
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"stream.decode.js","sourceRoot":"","sources":["../../../src/engine/claude/stream.decode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stream.decode.js","sourceRoot":"","sources":["../../../src/engine/claude/stream.decode.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,26 @@ const output_1 = require("../../ui/output");
11
11
  const git_1 = require("../../git");
12
12
  const build_exec_1 = require("./build.exec");
13
13
  const review_exec_1 = require("./review.exec");
14
+ const handleInvokeError = (err, step, phase, config, state) => {
15
+ const label = step === "build" ? "Build" : "Review";
16
+ const event = step === "build" ? "build_complete" : "review_complete";
17
+ const msg = String(err);
18
+ (0, output_1.printPhase)(phase.id, `${label} failed: ${msg}`);
19
+ (0, trajectory_1.logTrajectory)(config.buildDir, (0, trajectory_1.makeTrajectoryEntry)(event, phase.id, `${label} error: ${msg}`));
20
+ if (msg.includes("Authentication failed")) {
21
+ (0, state_1.updatePhaseStatus)(config.buildDir, state, phase.id, { status: "failed", failedAt: new Date().toISOString() });
22
+ return "fatal";
23
+ }
24
+ return "retry";
25
+ };
26
+ const isBudgetExceeded = (totalCostUsd, config, phase, state) => {
27
+ if (!config.maxBudgetUsd || totalCostUsd <= config.maxBudgetUsd)
28
+ return false;
29
+ (0, output_1.printPhase)(phase.id, `Budget exceeded: $${totalCostUsd.toFixed(2)} > $${config.maxBudgetUsd}`);
30
+ (0, trajectory_1.logTrajectory)(config.buildDir, (0, trajectory_1.makeTrajectoryEntry)("budget_exceeded", phase.id, `Total cost $${totalCostUsd.toFixed(2)} exceeds budget $${config.maxBudgetUsd}`));
31
+ (0, state_1.updatePhaseStatus)(config.buildDir, state, phase.id, { status: "failed", failedAt: new Date().toISOString() });
32
+ return true;
33
+ };
14
34
  const runPhase = async (phase, config, state) => {
15
35
  const phaseState = state.phases.find((p) => p.id === phase.id);
16
36
  if (!phaseState)
@@ -36,8 +56,8 @@ const runPhase = async (phase, config, state) => {
36
56
  buildResult = await (0, build_exec_1.invokeBuilder)(config, phase, feedbackFilePath);
37
57
  }
38
58
  catch (err) {
39
- (0, output_1.printPhase)(phase.id, `Build failed: ${err}`);
40
- (0, trajectory_1.logTrajectory)(config.buildDir, (0, trajectory_1.makeTrajectoryEntry)("build_complete", phase.id, `Build error: ${err}`));
59
+ if (handleInvokeError(err, "build", phase, config, state) === "fatal")
60
+ return "failed";
41
61
  attempt++;
42
62
  continue;
43
63
  }
@@ -47,13 +67,8 @@ const runPhase = async (phase, config, state) => {
47
67
  costUsd: buildResult.costUsd,
48
68
  }));
49
69
  const budget = (0, budget_1.recordCost)(config.buildDir, phase.id, "builder", attempt, buildResult);
50
- // Budget check
51
- if (config.maxBudgetUsd && budget.totalCostUsd > config.maxBudgetUsd) {
52
- (0, output_1.printPhase)(phase.id, `Budget exceeded: $${budget.totalCostUsd.toFixed(2)} > $${config.maxBudgetUsd}`);
53
- (0, trajectory_1.logTrajectory)(config.buildDir, (0, trajectory_1.makeTrajectoryEntry)("budget_exceeded", phase.id, `Total cost $${budget.totalCostUsd.toFixed(2)} exceeds budget $${config.maxBudgetUsd}`));
54
- (0, state_1.updatePhaseStatus)(config.buildDir, state, phase.id, { status: "failed", failedAt: new Date().toISOString() });
70
+ if (isBudgetExceeded(budget.totalCostUsd, config, phase, state))
55
71
  return "failed";
56
- }
57
72
  // Commit builder work so the reviewer can see the diff
58
73
  const worktreeCwd = config.worktreePath ?? undefined;
59
74
  if ((0, git_1.isWorkingTreeDirty)(worktreeCwd)) {
@@ -68,8 +83,8 @@ const runPhase = async (phase, config, state) => {
68
83
  reviewResult = await (0, review_exec_1.invokeReviewer)(config, phase, checkpointTag);
69
84
  }
70
85
  catch (err) {
71
- (0, output_1.printPhase)(phase.id, `Review failed: ${err}`);
72
- (0, trajectory_1.logTrajectory)(config.buildDir, (0, trajectory_1.makeTrajectoryEntry)("review_complete", phase.id, `Review error: ${err}`));
86
+ if (handleInvokeError(err, "review", phase, config, state) === "fatal")
87
+ return "failed";
73
88
  attempt++;
74
89
  continue;
75
90
  }
@@ -105,7 +120,7 @@ const runPhase = async (phase, config, state) => {
105
120
  (0, feedback_1.writeFeedback)(phase.filepath, phase.id, verdict);
106
121
  attempt++;
107
122
  if (attempt < maxAttempts) {
108
- (0, output_1.printPhase)(phase.id, `Retrying (${attempt}/${config.maxRetries})...`);
123
+ (0, output_1.printPhase)(phase.id, `Retrying (${attempt}/${config.maxRetries}) — ${verdict.summary}`);
109
124
  }
110
125
  }
111
126
  // Retries exhausted
@@ -1 +1 @@
1
- {"version":3,"file":"phase.sequence.js","sourceRoot":"","sources":["../../../src/engine/pipeline/phase.sequence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"phase.sequence.js","sourceRoot":"","sources":["../../../src/engine/pipeline/phase.sequence.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ export declare const wipBranch: (buildName: string) => string;
3
3
  export declare const ensureGitRepo: (repoRoot: string) => boolean;
4
4
  export declare const createWorktree: (repoRoot: string, buildName: string) => string;
5
5
  export declare const validateWorktree: (repoRoot: string, buildName: string) => boolean;
6
+ export declare const abortStaleMerge: (repoRoot: string) => void;
6
7
  export declare const reflectCommits: (repoRoot: string, buildName: string) => void;
7
8
  export declare const removeWorktree: (repoRoot: string, buildName: string) => void;
8
9
  export declare const cleanAllWorktrees: (repoRoot: string) => void;
@@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.cleanAllWorktrees = exports.removeWorktree = exports.reflectCommits = exports.validateWorktree = exports.createWorktree = exports.ensureGitRepo = exports.wipBranch = exports.worktreePath = void 0;
36
+ exports.cleanAllWorktrees = exports.removeWorktree = exports.reflectCommits = exports.abortStaleMerge = exports.validateWorktree = exports.createWorktree = exports.ensureGitRepo = exports.wipBranch = exports.worktreePath = void 0;
37
37
  const node_child_process_1 = require("node:child_process");
38
38
  const fs = __importStar(require("node:fs"));
39
39
  const path = __importStar(require("node:path"));
@@ -150,8 +150,19 @@ const validateWorktree = (repoRoot, buildName) => {
150
150
  }
151
151
  };
152
152
  exports.validateWorktree = validateWorktree;
153
+ const abortStaleMerge = (repoRoot) => {
154
+ try {
155
+ run("git merge --abort", repoRoot);
156
+ }
157
+ catch {
158
+ // No merge in progress — nothing to abort
159
+ }
160
+ };
161
+ exports.abortStaleMerge = abortStaleMerge;
153
162
  const reflectCommits = (repoRoot, buildName) => {
154
163
  const branch = (0, exports.wipBranch)(buildName);
164
+ // Abort any stale merge left from a previous interrupted run
165
+ (0, exports.abortStaleMerge)(repoRoot);
155
166
  // Remove untracked files that would conflict with the merge.
156
167
  // The WIP branch is authoritative, so its versions always win.
157
168
  // This commonly happens with package-lock.json, build metadata, etc.
@@ -183,8 +194,22 @@ const reflectCommits = (repoRoot, buildName) => {
183
194
  run(`git merge --ff-only ${branch}`, repoRoot);
184
195
  }
185
196
  catch {
186
- // Fall back to regular merge if user's branch diverged
187
- run(`git merge ${branch} -m "ridgeline: merge ${buildName} phase"`, repoRoot);
197
+ // Main diverged rebase WIP onto main so builder work layers on top of user changes.
198
+ // This preserves user edits (e.g. version bumps) while applying builder additions on top.
199
+ const wtPath = (0, exports.worktreePath)(repoRoot, buildName);
200
+ try {
201
+ run("git rebase main", wtPath);
202
+ }
203
+ catch {
204
+ try {
205
+ run("git rebase --abort", wtPath);
206
+ }
207
+ catch { /* best effort */ }
208
+ throw new Error(`Cannot auto-merge: both main and the build modified the same lines.\n` +
209
+ `Resolve manually in ${wtPath} and re-run.`);
210
+ }
211
+ // Rebase succeeded — now fast-forward main
212
+ run(`git merge --ff-only ${branch}`, repoRoot);
188
213
  }
189
214
  };
190
215
  exports.reflectCommits = reflectCommits;
@@ -1 +1 @@
1
- {"version":3,"file":"worktree.js","sourceRoot":"","sources":["../../src/engine/worktree.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worktree.js","sourceRoot":"","sources":["../../src/engine/worktree.ts"],"names":[],"mappings":"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"}
@@ -4,4 +4,5 @@ export declare const saveState: (buildDir: string, state: BuildState) => void;
4
4
  export declare const initState: (buildName: string, phases: PhaseInfo[]) => BuildState;
5
5
  export declare const updatePhaseStatus: (buildDir: string, state: BuildState, phaseId: string, update: Partial<PhaseState>) => void;
6
6
  export declare const resetRetries: (buildDir: string, state: BuildState) => void;
7
+ export declare const getNextUnmergedPhase: (state: BuildState) => PhaseState | null;
7
8
  export declare const getNextIncompletePhase: (state: BuildState, cwd?: string) => PhaseState | null;
@@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.getNextIncompletePhase = exports.resetRetries = exports.updatePhaseStatus = exports.initState = exports.saveState = exports.loadState = void 0;
36
+ exports.getNextIncompletePhase = exports.getNextUnmergedPhase = exports.resetRetries = exports.updatePhaseStatus = exports.initState = exports.saveState = exports.loadState = void 0;
37
37
  const fs = __importStar(require("node:fs"));
38
38
  const path = __importStar(require("node:path"));
39
39
  const tags_1 = require("./tags");
@@ -41,7 +41,14 @@ const statePath = (buildDir) => path.join(buildDir, "state.json");
41
41
  const loadState = (buildDir) => {
42
42
  const fp = statePath(buildDir);
43
43
  if (fs.existsSync(fp)) {
44
- return JSON.parse(fs.readFileSync(fp, "utf-8"));
44
+ const state = JSON.parse(fs.readFileSync(fp, "utf-8"));
45
+ // Backfill isMerged for legacy state files
46
+ for (const phase of state.phases) {
47
+ if (phase.isMerged === undefined) {
48
+ phase.isMerged = false;
49
+ }
50
+ }
51
+ return state;
45
52
  }
46
53
  return null;
47
54
  };
@@ -58,6 +65,7 @@ const initState = (buildName, phases) => ({
58
65
  status: "pending",
59
66
  checkpointTag: (0, tags_1.checkpointTagName)(buildName, p.id),
60
67
  completionTag: null,
68
+ isMerged: false,
61
69
  retries: 0,
62
70
  duration: null,
63
71
  completedAt: null,
@@ -84,6 +92,15 @@ const resetRetries = (buildDir, state) => {
84
92
  (0, exports.saveState)(buildDir, state);
85
93
  };
86
94
  exports.resetRetries = resetRetries;
95
+ const getNextUnmergedPhase = (state) => {
96
+ for (const phase of state.phases) {
97
+ if (phase.status === "complete" && !phase.isMerged) {
98
+ return phase;
99
+ }
100
+ }
101
+ return null;
102
+ };
103
+ exports.getNextUnmergedPhase = getNextUnmergedPhase;
87
104
  const getNextIncompletePhase = (state, cwd) => {
88
105
  for (const phase of state.phases) {
89
106
  if (phase.status === "complete") {
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/store/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/store/state.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -30,6 +30,7 @@ export type PhaseState = {
30
30
  status: "pending" | "building" | "reviewing" | "complete" | "failed";
31
31
  checkpointTag: string;
32
32
  completionTag: string | null;
33
+ isMerged: boolean;
33
34
  retries: number;
34
35
  duration: number | null;
35
36
  completedAt: string | null;
@@ -1,3 +1,4 @@
1
1
  export declare const printInfo: (msg: string) => void;
2
2
  export declare const printError: (msg: string) => void;
3
3
  export declare const printPhase: (phaseId: string, msg: string) => void;
4
+ export declare const printPhaseHeader: (index: number, total: number, phaseId: string) => void;
package/dist/ui/output.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.printPhase = exports.printError = exports.printInfo = void 0;
3
+ exports.printPhaseHeader = exports.printPhase = exports.printError = exports.printInfo = void 0;
4
4
  const printInfo = (msg) => {
5
5
  console.log(`[ridgeline] ${msg}`);
6
6
  };
@@ -13,4 +13,8 @@ const printPhase = (phaseId, msg) => {
13
13
  console.log(`[ridgeline] [${phaseId}] ${msg}`);
14
14
  };
15
15
  exports.printPhase = printPhase;
16
+ const printPhaseHeader = (index, total, phaseId) => {
17
+ console.log(`\n[ridgeline] ${"─".repeat(2)} Phase ${index}/${total}: ${phaseId} ${"─".repeat(2)}`);
18
+ };
19
+ exports.printPhaseHeader = printPhaseHeader;
16
20
  //# sourceMappingURL=output.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/ui/output.ts"],"names":[],"mappings":";;;AAAO,MAAM,SAAS,GAAG,CAAC,GAAW,EAAQ,EAAE;IAC7C,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,EAAE,CAAC,CAAA;AACnC,CAAC,CAAA;AAFY,QAAA,SAAS,aAErB;AAEM,MAAM,UAAU,GAAG,CAAC,GAAW,EAAQ,EAAE;IAC9C,OAAO,CAAC,KAAK,CAAC,sBAAsB,GAAG,EAAE,CAAC,CAAA;AAC5C,CAAC,CAAA;AAFY,QAAA,UAAU,cAEtB;AAEM,MAAM,UAAU,GAAG,CAAC,OAAe,EAAE,GAAW,EAAQ,EAAE;IAC/D,OAAO,CAAC,GAAG,CAAC,gBAAgB,OAAO,KAAK,GAAG,EAAE,CAAC,CAAA;AAChD,CAAC,CAAA;AAFY,QAAA,UAAU,cAEtB"}
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/ui/output.ts"],"names":[],"mappings":";;;AAAO,MAAM,SAAS,GAAG,CAAC,GAAW,EAAQ,EAAE;IAC7C,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,EAAE,CAAC,CAAA;AACnC,CAAC,CAAA;AAFY,QAAA,SAAS,aAErB;AAEM,MAAM,UAAU,GAAG,CAAC,GAAW,EAAQ,EAAE;IAC9C,OAAO,CAAC,KAAK,CAAC,sBAAsB,GAAG,EAAE,CAAC,CAAA;AAC5C,CAAC,CAAA;AAFY,QAAA,UAAU,cAEtB;AAEM,MAAM,UAAU,GAAG,CAAC,OAAe,EAAE,GAAW,EAAQ,EAAE;IAC/D,OAAO,CAAC,GAAG,CAAC,gBAAgB,OAAO,KAAK,GAAG,EAAE,CAAC,CAAA;AAChD,CAAC,CAAA;AAFY,QAAA,UAAU,cAEtB;AAEM,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAE,KAAa,EAAE,OAAe,EAAQ,EAAE;IACtF,OAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,KAAK,IAAI,KAAK,KAAK,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;AACpG,CAAC,CAAA;AAFY,QAAA,gBAAgB,oBAE5B"}
@@ -148,7 +148,7 @@ const startSpinner = (verb) => {
148
148
  if (stopped || !timer)
149
149
  return;
150
150
  clearLine();
151
- process.stderr.write(line + "\n");
151
+ process.stderr.write(`\x1b[90m${line}\x1b[0m\n`);
152
152
  tick();
153
153
  },
154
154
  };
@@ -1 +1 @@
1
- {"version":3,"file":"spinner.js","sourceRoot":"","sources":["../../src/ui/spinner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spinner.js","sourceRoot":"","sources":["../../src/ui/spinner.ts"],"names":[],"mappings":";AAAA,kEAAkE;AAClE,EAAE;AACF,0EAA0E;AAC1E,4EAA4E;;;AAE5E,MAAM,MAAM,GAAG;IACb,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;CACT,CAAA;AAED,MAAM,mBAAmB,GAAG,GAAG,CAAA;AAE/B,MAAM,KAAK,GAAG;IACZ,YAAY;IACZ,YAAY;IACZ,aAAa;IACb,kBAAkB;IAClB,eAAe;IACf,WAAW;IACX,aAAa;IACb,iBAAiB;IACjB,aAAa;IACb,UAAU;IACV,QAAQ;IACR,YAAY;IACZ,YAAY;IACZ,WAAW;IACX,YAAY;IACZ,YAAY;IACZ,gBAAgB;IAChB,eAAe;IACf,YAAY;IACZ,cAAc;IACd,aAAa;IACb,YAAY;IACZ,aAAa;IACb,cAAc;IACd,eAAe;IACf,cAAc;IACd,aAAa;IACb,kBAAkB;IAClB,QAAQ;IACR,aAAa;IACb,cAAc;IACd,aAAa;IACb,aAAa;IACb,eAAe;IACf,WAAW;IACX,aAAa;IACb,aAAa;IACb,YAAY;IACZ,eAAe;IACf,aAAa;IACb,aAAa;IACb,eAAe;IACf,aAAa;IACb,eAAe;IACf,aAAa;IACb,eAAe;IACf,WAAW;IACX,iBAAiB;IACjB,eAAe;IACf,eAAe;CAChB,CAAA;AAeM,MAAM,QAAQ,GAAG,GAAW,EAAE,CACnC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;AADpC,QAAA,QAAQ,YAC4B;AAE1C,MAAM,aAAa,GAAG,CAAC,EAAU,EAAU,EAAE;IAClD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,CAAA;IAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC,CAAA;IAC7C,MAAM,OAAO,GAAG,YAAY,GAAG,EAAE,CAAA;IACjC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QAChB,OAAO,GAAG,OAAO,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAA;IAC9D,CAAC;IACD,OAAO,GAAG,OAAO,GAAG,CAAA;AACtB,CAAC,CAAA;AARY,QAAA,aAAa,iBAQzB;AAED;;;;;GAKG;AACI,MAAM,YAAY,GAAG,CAAC,IAAa,EAAW,EAAE;IACrD,0EAA0E;IAC1E,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAC1B,OAAO,EAAE,IAAI,KAAI,CAAC,EAAE,KAAK,KAAI,CAAC,EAAE,MAAM,KAAI,CAAC,EAAE,SAAS,KAAI,CAAC,EAAE,UAAU,KAAI,CAAC,EAAE,CAAA;IAChF,CAAC;IAED,IAAI,UAAU,GAAG,CAAC,CAAA;IAClB,IAAI,SAAS,GAAG,CAAC,CAAA;IACjB,IAAI,WAAW,GAAG,CAAC,CAAA;IACnB,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,MAAM,KAAK,GAAG,IAAI,IAAI,IAAA,gBAAQ,GAAE,CAAA;IAChC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IAE5B,MAAM,IAAI,GAAG,GAAG,EAAE;QAChB,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,CAAA;QAChC,MAAM,OAAO,GAAG,IAAA,qBAAa,EAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAA;QACrD,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;QAC3C,0EAA0E;QAC1E,8EAA8E;QAC9E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,KAAK,IAAI,KAAK,QAAQ,OAAO,IAAI,MAAM,EAAE,CAAC,CAAA;QAC1E,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;YACpB,WAAW,EAAE,CAAA;YACb,OAAM;QACR,CAAC;QACD,UAAU,IAAI,SAAS,CAAA;QACvB,IAAI,UAAU,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;YACvD,SAAS,IAAI,CAAC,CAAC,CAAA;YACf,WAAW,GAAG,CAAC,CAAA;QACjB,CAAC;IACH,CAAC,CAAA;IAED,IAAI,KAAK,GAA0C,WAAW,CAC5D,IAAI,EACJ,mBAAmB,CACpB,CAAA;IAED,MAAM,SAAS,GAAG,GAAG,EAAE;QACrB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;IAClC,CAAC,CAAA;IAED,OAAO;QACL,IAAI;YACF,IAAI,OAAO;gBAAE,OAAM;YACnB,OAAO,GAAG,IAAI,CAAA;YACd,IAAI,KAAK,EAAE,CAAC;gBACV,aAAa,CAAC,KAAK,CAAC,CAAA;gBACpB,KAAK,GAAG,IAAI,CAAA;YACd,CAAC;YACD,SAAS,EAAE,CAAA;QACb,CAAC;QACD,KAAK;YACH,IAAI,OAAO,IAAI,CAAC,KAAK;gBAAE,OAAM;YAC7B,aAAa,CAAC,KAAK,CAAC,CAAA;YACpB,KAAK,GAAG,IAAI,CAAA;YACZ,SAAS,EAAE,CAAA;QACb,CAAC;QACD,MAAM;YACJ,IAAI,OAAO,IAAI,KAAK;gBAAE,OAAM;YAC5B,KAAK,GAAG,WAAW,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAA;QAChD,CAAC;QACD,SAAS,CAAC,IAAY;YACpB,MAAM,GAAG,IAAI,CAAA;QACf,CAAC;QACD,UAAU,CAAC,IAAY;YACrB,IAAI,OAAO,IAAI,CAAC,KAAK;gBAAE,OAAM;YAC7B,SAAS,EAAE,CAAA;YACX,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,IAAI,WAAW,CAAC,CAAA;YAChD,IAAI,EAAE,CAAA;QACR,CAAC;KACF,CAAA;AACH,CAAC,CAAA;AAvEY,QAAA,YAAY,gBAuExB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ridgeline",
3
- "version": "0.3.12",
3
+ "version": "0.3.15",
4
4
  "description": "Build harness for long-horizon software execution",
5
5
  "license": "MIT",
6
6
  "bin": {