ridgeline 0.2.17 → 0.2.19
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/commands/build.js +56 -32
- package/dist/commands/build.js.map +1 -1
- package/dist/engine/claude/stream.decode.d.ts +9 -4
- package/dist/engine/claude/stream.decode.js +56 -8
- package/dist/engine/claude/stream.decode.js.map +1 -1
- package/dist/engine/pipeline/phase.sequence.js +2 -2
- package/dist/engine/pipeline/phase.sequence.js.map +1 -1
- package/dist/engine/pipeline/review.exec.js +2 -2
- package/dist/engine/pipeline/review.exec.js.map +1 -1
- package/dist/store/budget.js +2 -0
- package/dist/store/budget.js.map +1 -1
- package/dist/types.d.ts +2 -0
- package/package.json +6 -4
package/dist/commands/build.js
CHANGED
|
@@ -44,6 +44,7 @@ const tags_1 = require("../store/tags");
|
|
|
44
44
|
const plan_1 = require("./plan");
|
|
45
45
|
const worktree_1 = require("../engine/worktree");
|
|
46
46
|
const fs = __importStar(require("node:fs"));
|
|
47
|
+
const path = __importStar(require("node:path"));
|
|
47
48
|
const formatDuration = (ms) => {
|
|
48
49
|
const seconds = Math.round(ms / 1000);
|
|
49
50
|
if (seconds < 60)
|
|
@@ -52,7 +53,18 @@ const formatDuration = (ms) => {
|
|
|
52
53
|
const remaining = seconds % 60;
|
|
53
54
|
return remaining > 0 ? `${minutes}m ${remaining}s` : `${minutes}m`;
|
|
54
55
|
};
|
|
55
|
-
const
|
|
56
|
+
const readSpecDescription = (buildDir) => {
|
|
57
|
+
const specPath = path.join(buildDir, "..", "spec.md");
|
|
58
|
+
try {
|
|
59
|
+
const content = fs.readFileSync(specPath, "utf-8");
|
|
60
|
+
const match = content.match(/^#\s+(.+)/m);
|
|
61
|
+
return match ? match[1].trim() : null;
|
|
62
|
+
}
|
|
63
|
+
catch {
|
|
64
|
+
return null;
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
const printSummaryTable = (config, completed, failed, totalPhases) => {
|
|
56
68
|
const budget = (0, budget_1.loadBudget)(config.buildDir);
|
|
57
69
|
// Build per-phase stats from budget entries
|
|
58
70
|
const phaseStats = new Map();
|
|
@@ -77,34 +89,48 @@ const printSummaryTable = (config, completed, failed, totalPhases, durationMs) =
|
|
|
77
89
|
const planCost = budget.entries
|
|
78
90
|
.filter((e) => e.phase === "plan")
|
|
79
91
|
.reduce((sum, e) => sum + e.costUsd, 0);
|
|
92
|
+
// Totals
|
|
93
|
+
let totalAttempts = 0;
|
|
94
|
+
let totalBuildTime = 0;
|
|
95
|
+
let totalReviewTime = 0;
|
|
96
|
+
let totalCost = planCost;
|
|
97
|
+
for (const stats of phaseStats.values()) {
|
|
98
|
+
totalAttempts += stats.attempts;
|
|
99
|
+
totalBuildTime += stats.buildTime;
|
|
100
|
+
totalReviewTime += stats.reviewTime;
|
|
101
|
+
totalCost += stats.cost;
|
|
102
|
+
}
|
|
103
|
+
const sep = " " + "=".repeat(60);
|
|
104
|
+
const div = " " + "-".repeat(60);
|
|
105
|
+
// Header
|
|
80
106
|
console.log("");
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
(
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
console.log(divider2);
|
|
105
|
-
console.log(` ${"Planning".padEnd(24)} ${"".padStart(8)} ${"".padStart(8)} ${`$${planCost.toFixed(2)}`.padStart(8)}`);
|
|
106
|
-
}
|
|
107
|
+
console.log(sep);
|
|
108
|
+
console.log(` Build: ${config.buildName}`);
|
|
109
|
+
const description = readSpecDescription(config.buildDir);
|
|
110
|
+
if (description) {
|
|
111
|
+
console.log(` ${description}`);
|
|
112
|
+
}
|
|
113
|
+
console.log(` Phases: ${completed} passed, ${failed} failed, ${totalPhases} total`);
|
|
114
|
+
console.log(sep);
|
|
115
|
+
// Breakdown table
|
|
116
|
+
console.log("");
|
|
117
|
+
console.log(" Attempts Build Review Cost");
|
|
118
|
+
console.log(div);
|
|
119
|
+
// Planning row
|
|
120
|
+
console.log(` ${"Planning".padEnd(24)} ${`$${planCost.toFixed(2)}`.padStart(8)}`);
|
|
121
|
+
console.log(div);
|
|
122
|
+
// Per-phase rows
|
|
123
|
+
for (const [phaseId, stats] of phaseStats) {
|
|
124
|
+
const name = phaseId.padEnd(24);
|
|
125
|
+
const attempts = String(stats.attempts).padStart(4);
|
|
126
|
+
const buildTime = formatDuration(stats.buildTime).padStart(8);
|
|
127
|
+
const reviewTime = formatDuration(stats.reviewTime).padStart(8);
|
|
128
|
+
const cost = `$${stats.cost.toFixed(2)}`.padStart(8);
|
|
129
|
+
console.log(` ${name} ${attempts} ${buildTime} ${reviewTime} ${cost}`);
|
|
107
130
|
}
|
|
131
|
+
console.log(div);
|
|
132
|
+
// Total row
|
|
133
|
+
console.log(` ${"Total".padEnd(24)} ${String(totalAttempts).padStart(4)} ${formatDuration(totalBuildTime).padStart(8)} ${formatDuration(totalReviewTime).padStart(8)} ${`$${totalCost.toFixed(2)}`.padStart(8)}`);
|
|
108
134
|
};
|
|
109
135
|
const runBuild = async (config) => {
|
|
110
136
|
let phases = (0, phases_1.scanPhases)(config.phasesDir);
|
|
@@ -144,7 +170,6 @@ const runBuild = async (config) => {
|
|
|
144
170
|
(0, output_1.printInfo)("Warning: no sandbox available (install greywall or bwrap)");
|
|
145
171
|
}
|
|
146
172
|
}
|
|
147
|
-
const startTime = Date.now();
|
|
148
173
|
let completed = 0;
|
|
149
174
|
let failed = 0;
|
|
150
175
|
(0, output_1.printInfo)(`Starting build: ${config.buildName} (${phases.length} phases)\n`);
|
|
@@ -192,16 +217,15 @@ const runBuild = async (config) => {
|
|
|
192
217
|
nextPhaseState = (0, state_1.getNextIncompletePhase)(state);
|
|
193
218
|
}
|
|
194
219
|
// Summary
|
|
195
|
-
const duration = Date.now() - startTime;
|
|
196
220
|
const totalCompleted = state.phases.filter((p) => p.status === "complete").length;
|
|
197
|
-
printSummaryTable(config, totalCompleted, failed, phases.length
|
|
221
|
+
printSummaryTable(config, totalCompleted, failed, phases.length);
|
|
198
222
|
if (failed > 0) {
|
|
199
223
|
process.exit(1);
|
|
200
224
|
}
|
|
201
225
|
if (totalCompleted === phases.length) {
|
|
202
226
|
console.log("");
|
|
203
|
-
|
|
204
|
-
|
|
227
|
+
console.log(" All phases complete!");
|
|
228
|
+
console.log(" Cleaning up...");
|
|
205
229
|
(0, tags_1.cleanupBuildTags)(config.buildName);
|
|
206
230
|
(0, worktree_1.removeWorktree)(repoRoot, config.buildName);
|
|
207
231
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,yCAAoD;AACpD,sDAAwD;AACxD,4CAA4C;AAC5C,sEAA4D;AAC5D,0CAAsG;AACtG,4CAA4C;AAC5C,wCAAgD;AAChD,iCAAgC;AAChC,iDAM2B;AAC3B,4CAA6B;
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,12 +29,17 @@ export declare const createStreamHandler: (onEvent: (event: StreamEvent) => void
|
|
|
29
29
|
* and return a parsed ClaudeResult.
|
|
30
30
|
*/
|
|
31
31
|
export declare const extractResult: (ndjsonStdout: string) => ClaudeResult;
|
|
32
|
+
export interface DisplayCallbackOptions {
|
|
33
|
+
/** Suppress fenced JSON blocks (```json ... ```) from display output. */
|
|
34
|
+
suppressJsonBlock?: boolean;
|
|
35
|
+
}
|
|
32
36
|
/**
|
|
33
|
-
* Create an onStdout callback that streams assistant text to stdout
|
|
34
|
-
*
|
|
35
|
-
*
|
|
37
|
+
* Create an onStdout callback that streams assistant text to stdout.
|
|
38
|
+
* The spinner pauses while text is streaming and resumes after a
|
|
39
|
+
* debounce period of inactivity, keeping it visible during tool-use pauses.
|
|
40
|
+
* Returns the callback and a flush function to finalize output.
|
|
36
41
|
*/
|
|
37
|
-
export declare const createDisplayCallbacks: () => {
|
|
42
|
+
export declare const createDisplayCallbacks: (opts?: DisplayCallbackOptions) => {
|
|
38
43
|
onStdout: (chunk: string) => void;
|
|
39
44
|
flush: () => void;
|
|
40
45
|
};
|
|
@@ -100,22 +100,66 @@ const extractResult = (ndjsonStdout) => {
|
|
|
100
100
|
throw new Error("No result event found in stream-json output");
|
|
101
101
|
};
|
|
102
102
|
exports.extractResult = extractResult;
|
|
103
|
+
const RESUME_DEBOUNCE_MS = 200;
|
|
103
104
|
/**
|
|
104
|
-
* Create an onStdout callback that streams assistant text to stdout
|
|
105
|
-
*
|
|
106
|
-
*
|
|
105
|
+
* Create an onStdout callback that streams assistant text to stdout.
|
|
106
|
+
* The spinner pauses while text is streaming and resumes after a
|
|
107
|
+
* debounce period of inactivity, keeping it visible during tool-use pauses.
|
|
108
|
+
* Returns the callback and a flush function to finalize output.
|
|
107
109
|
*/
|
|
108
|
-
const createDisplayCallbacks = () => {
|
|
110
|
+
const createDisplayCallbacks = (opts) => {
|
|
109
111
|
let hasStreamedText = false;
|
|
112
|
+
let lastCharWasNewline = true;
|
|
113
|
+
let jsonSuppressed = false;
|
|
114
|
+
let resumeTimer = null;
|
|
110
115
|
const spinner = (0, spinner_1.startSpinner)();
|
|
116
|
+
const scheduleResume = () => {
|
|
117
|
+
if (resumeTimer)
|
|
118
|
+
clearTimeout(resumeTimer);
|
|
119
|
+
resumeTimer = setTimeout(() => {
|
|
120
|
+
resumeTimer = null;
|
|
121
|
+
if (!lastCharWasNewline) {
|
|
122
|
+
process.stdout.write("\n");
|
|
123
|
+
lastCharWasNewline = true;
|
|
124
|
+
}
|
|
125
|
+
spinner.resume();
|
|
126
|
+
}, RESUME_DEBOUNCE_MS);
|
|
127
|
+
};
|
|
128
|
+
const writeText = (text) => {
|
|
129
|
+
if (opts?.suppressJsonBlock) {
|
|
130
|
+
const lines = text.split("\n");
|
|
131
|
+
const output = [];
|
|
132
|
+
for (const line of lines) {
|
|
133
|
+
if (!jsonSuppressed && /^\s*```json\s*$/.test(line)) {
|
|
134
|
+
jsonSuppressed = true;
|
|
135
|
+
continue;
|
|
136
|
+
}
|
|
137
|
+
if (jsonSuppressed)
|
|
138
|
+
continue;
|
|
139
|
+
output.push(line);
|
|
140
|
+
}
|
|
141
|
+
if (output.length === 0)
|
|
142
|
+
return;
|
|
143
|
+
text = output.join("\n");
|
|
144
|
+
if (text.length === 0)
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
if (!lastCharWasNewline) {
|
|
148
|
+
process.stdout.write("\n");
|
|
149
|
+
}
|
|
150
|
+
process.stdout.write(text);
|
|
151
|
+
lastCharWasNewline = text.endsWith("\n");
|
|
152
|
+
};
|
|
111
153
|
const handler = (0, exports.createStreamHandler)((event) => {
|
|
112
154
|
if (event.type === "text") {
|
|
113
155
|
if (!hasStreamedText) {
|
|
114
|
-
spinner.stop();
|
|
115
|
-
process.stdout.write("\n");
|
|
116
156
|
hasStreamedText = true;
|
|
117
157
|
}
|
|
118
|
-
|
|
158
|
+
spinner.pause();
|
|
159
|
+
if (resumeTimer)
|
|
160
|
+
clearTimeout(resumeTimer);
|
|
161
|
+
writeText(event.text);
|
|
162
|
+
scheduleResume();
|
|
119
163
|
}
|
|
120
164
|
else if (event.type === "tool_use") {
|
|
121
165
|
spinner.setDetail(event.tool);
|
|
@@ -124,8 +168,12 @@ const createDisplayCallbacks = () => {
|
|
|
124
168
|
return {
|
|
125
169
|
onStdout: handler,
|
|
126
170
|
flush: () => {
|
|
171
|
+
if (resumeTimer) {
|
|
172
|
+
clearTimeout(resumeTimer);
|
|
173
|
+
resumeTimer = null;
|
|
174
|
+
}
|
|
127
175
|
spinner.stop();
|
|
128
|
-
if (hasStreamedText) {
|
|
176
|
+
if (hasStreamedText && !lastCharWasNewline) {
|
|
129
177
|
process.stdout.write("\n");
|
|
130
178
|
}
|
|
131
179
|
},
|
|
@@ -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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"}
|
|
@@ -17,7 +17,7 @@ const runPhase = async (phase, config, state) => {
|
|
|
17
17
|
const checkpointTag = phaseState.checkpointTag;
|
|
18
18
|
const startTime = Date.now();
|
|
19
19
|
// Pre-phase: create git checkpoint
|
|
20
|
-
(0, tags_1.createCheckpoint)(checkpointTag, phase.id);
|
|
20
|
+
(0, tags_1.createCheckpoint)(checkpointTag, phase.id, config.worktreePath ?? undefined);
|
|
21
21
|
(0, handoff_1.ensureHandoffExists)(config.buildDir);
|
|
22
22
|
let attempt = phaseState.retries;
|
|
23
23
|
const maxAttempts = config.maxRetries + 1; // retries + initial attempt
|
|
@@ -77,7 +77,7 @@ const runPhase = async (phase, config, state) => {
|
|
|
77
77
|
// Verdict handling
|
|
78
78
|
if (verdict.passed) {
|
|
79
79
|
const duration = Date.now() - startTime;
|
|
80
|
-
const completionTag = (0, tags_1.createCompletionTag)(config.buildName, phase.id);
|
|
80
|
+
const completionTag = (0, tags_1.createCompletionTag)(config.buildName, phase.id, config.worktreePath ?? undefined);
|
|
81
81
|
(0, state_1.updatePhaseStatus)(config.buildDir, state, phase.id, {
|
|
82
82
|
status: "complete",
|
|
83
83
|
completionTag,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"phase.sequence.js","sourceRoot":"","sources":["../../../src/engine/pipeline/phase.sequence.ts"],"names":[],"mappings":";;;AACA,2CAAwE;AACxE,+CAA+C;AAC/C,iDAAyD;AACzD,mDAAkF;AAClF,uDAA2E;AAC3E,6CAAqD;AACrD,4CAA4C;AAC5C,6CAA4C;AAC5C,+CAA8C;AAEvC,MAAM,QAAQ,GAAG,KAAK,EAC3B,KAAgB,EAChB,MAAuB,EACvB,KAAiB,EACa,EAAE;IAChC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,CAAA;IAC9D,IAAI,CAAC,UAAU;QAAE,MAAM,IAAI,KAAK,CAAC,SAAS,KAAK,CAAC,EAAE,qBAAqB,CAAC,CAAA;IAExE,MAAM,aAAa,GAAG,UAAU,CAAC,aAAa,CAAA;IAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IAE5B,mCAAmC;IACnC,IAAA,uBAAgB,EAAC,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"phase.sequence.js","sourceRoot":"","sources":["../../../src/engine/pipeline/phase.sequence.ts"],"names":[],"mappings":"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"}
|
|
@@ -47,7 +47,7 @@ const assembleUserPrompt = (config, phase, checkpointTag) => {
|
|
|
47
47
|
sections.push("## Phase Spec\n");
|
|
48
48
|
sections.push(fs.readFileSync(phase.filepath, "utf-8"));
|
|
49
49
|
sections.push("");
|
|
50
|
-
const diff = (0, git_1.getDiff)(checkpointTag);
|
|
50
|
+
const diff = (0, git_1.getDiff)(checkpointTag, config.worktreePath ?? undefined);
|
|
51
51
|
sections.push("## Git Diff (checkpoint to HEAD)\n");
|
|
52
52
|
if (diff) {
|
|
53
53
|
sections.push("```diff");
|
|
@@ -66,7 +66,7 @@ const assembleUserPrompt = (config, phase, checkpointTag) => {
|
|
|
66
66
|
const invokeReviewer = async (config, phase, checkpointTag) => {
|
|
67
67
|
const systemPrompt = (0, agent_prompt_1.resolveAgentPrompt)("reviewer.md");
|
|
68
68
|
const userPrompt = assembleUserPrompt(config, phase, checkpointTag);
|
|
69
|
-
const { onStdout, flush } = (0, stream_decode_1.createDisplayCallbacks)();
|
|
69
|
+
const { onStdout, flush } = (0, stream_decode_1.createDisplayCallbacks)({ suppressJsonBlock: true });
|
|
70
70
|
const builtinAgents = (0, agent_scan_1.discoverBuiltinAgents)();
|
|
71
71
|
const agents = (0, agent_scan_1.buildAgentsFlag)(builtinAgents);
|
|
72
72
|
const pluginDirs = (0, plugin_scan_1.discoverPluginDirs)(config);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review.exec.js","sourceRoot":"","sources":["../../../src/engine/pipeline/review.exec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAA6B;AAE7B,uDAAoD;AACpD,yDAA2D;AAC3D,2DAAgE;AAChE,mCAAmC;AACnC,wDAAgF;AAChF,0DAAkG;AAClG,mDAAmD;AAEnD,MAAM,kBAAkB,GAAG,CACzB,MAAuB,EACvB,KAAgB,EAChB,aAAqB,EACb,EAAE;IACV,MAAM,QAAQ,GAAa,EAAE,CAAA;IAE7B,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;IAChC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAA;IACvD,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEjB,MAAM,IAAI,GAAG,IAAA,aAAO,EAAC,aAAa,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"review.exec.js","sourceRoot":"","sources":["../../../src/engine/pipeline/review.exec.ts"],"names":[],"mappings":"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"}
|
package/dist/store/budget.js
CHANGED
|
@@ -58,6 +58,8 @@ const recordCost = (buildDir, phase, role, attempt, result) => {
|
|
|
58
58
|
costUsd: result.costUsd,
|
|
59
59
|
inputTokens: result.usage.inputTokens,
|
|
60
60
|
outputTokens: result.usage.outputTokens,
|
|
61
|
+
cacheReadInputTokens: result.usage.cacheReadInputTokens,
|
|
62
|
+
cacheCreationInputTokens: result.usage.cacheCreationInputTokens,
|
|
61
63
|
durationMs: result.durationMs,
|
|
62
64
|
timestamp: new Date().toISOString(),
|
|
63
65
|
};
|
package/dist/store/budget.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"budget.js","sourceRoot":"","sources":["../../src/store/budget.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAA6B;AAC7B,gDAAiC;AAGjC,MAAM,UAAU,GAAG,CAAC,QAAgB,EAAU,EAAE,CAC9C,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAA;AAE7B,MAAM,UAAU,GAAG,CAAC,QAAgB,EAAe,EAAE;IAC1D,MAAM,EAAE,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;IAC/B,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAA;IACjD,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,CAAA;AACzC,CAAC,CAAA;AANY,QAAA,UAAU,cAMtB;AAEM,MAAM,UAAU,GAAG,CAAC,QAAgB,EAAE,MAAmB,EAAQ,EAAE;IACxE,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;AAChF,CAAC,CAAA;AAFY,QAAA,UAAU,cAEtB;AAEM,MAAM,UAAU,GAAG,CACxB,QAAgB,EAChB,KAAa,EACb,IAAyB,EACzB,OAAe,EACf,MAAoB,EACP,EAAE;IACf,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,QAAQ,CAAC,CAAA;IACnC,MAAM,KAAK,GAAgB;QACzB,KAAK;QACL,IAAI;QACJ,OAAO;QACP,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW;QACrC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,YAAY;QACvC,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAA;IACD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC1B,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;IAC3E,IAAA,kBAAU,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IAC5B,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"budget.js","sourceRoot":"","sources":["../../src/store/budget.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAA6B;AAC7B,gDAAiC;AAGjC,MAAM,UAAU,GAAG,CAAC,QAAgB,EAAU,EAAE,CAC9C,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAA;AAE7B,MAAM,UAAU,GAAG,CAAC,QAAgB,EAAe,EAAE;IAC1D,MAAM,EAAE,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;IAC/B,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAA;IACjD,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,CAAA;AACzC,CAAC,CAAA;AANY,QAAA,UAAU,cAMtB;AAEM,MAAM,UAAU,GAAG,CAAC,QAAgB,EAAE,MAAmB,EAAQ,EAAE;IACxE,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;AAChF,CAAC,CAAA;AAFY,QAAA,UAAU,cAEtB;AAEM,MAAM,UAAU,GAAG,CACxB,QAAgB,EAChB,KAAa,EACb,IAAyB,EACzB,OAAe,EACf,MAAoB,EACP,EAAE;IACf,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,QAAQ,CAAC,CAAA;IACnC,MAAM,KAAK,GAAgB;QACzB,KAAK;QACL,IAAI;QACJ,OAAO;QACP,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW;QACrC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,YAAY;QACvC,oBAAoB,EAAE,MAAM,CAAC,KAAK,CAAC,oBAAoB;QACvD,wBAAwB,EAAE,MAAM,CAAC,KAAK,CAAC,wBAAwB;QAC/D,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAA;IACD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC1B,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;IAC3E,IAAA,kBAAU,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IAC5B,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAxBY,QAAA,UAAU,cAwBtB;AAEM,MAAM,YAAY,GAAG,CAAC,QAAgB,EAAU,EAAE,CACvD,IAAA,kBAAU,EAAC,QAAQ,CAAC,CAAC,YAAY,CAAA;AADtB,QAAA,YAAY,gBACU"}
|
package/dist/types.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ridgeline",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.19",
|
|
4
4
|
"description": "Build harness for long-horizon software execution",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"bin": {
|
|
@@ -9,10 +9,11 @@
|
|
|
9
9
|
"scripts": {
|
|
10
10
|
"build": "tsc && rm -rf dist/agents && cp -r src/agents dist/agents",
|
|
11
11
|
"dev": "tsc --watch",
|
|
12
|
-
"lint": "npm run lint:code && npm run lint:markdown && npm run lint:agents",
|
|
12
|
+
"lint": "npm run lint:code && npm run lint:markdown && npm run lint:agents && npm run lint:fallow",
|
|
13
13
|
"lint:code": "oxlint --ignore-pattern examples",
|
|
14
14
|
"lint:markdown": "markdownlint-cli2 '**/*.md'",
|
|
15
15
|
"lint:agents": "agnix",
|
|
16
|
+
"lint:fallow": "npx fallow || true",
|
|
16
17
|
"typecheck": "tsc --noEmit --pretty",
|
|
17
18
|
"prepublishOnly": "npm run build",
|
|
18
19
|
"test": "npm run typecheck && npm run lint && npm run test:unit",
|
|
@@ -27,9 +28,10 @@
|
|
|
27
28
|
"commander": "13.0.0"
|
|
28
29
|
},
|
|
29
30
|
"devDependencies": {
|
|
30
|
-
"@types/node": "22.
|
|
31
|
+
"@types/node": "22.19.17",
|
|
31
32
|
"agnix": "0.17.0",
|
|
32
|
-
"
|
|
33
|
+
"fallow": "2.13.0",
|
|
34
|
+
"markdownlint-cli2": "0.21.0",
|
|
33
35
|
"oxlint": "1.58.0",
|
|
34
36
|
"typescript": "5.9.3",
|
|
35
37
|
"vitest": "4.1.2"
|