ridgeline 0.6.0 → 0.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -5
- package/dist/agents/core/designer.md +131 -0
- package/dist/agents/core/refiner.md +28 -1
- package/dist/agents/core/researcher.md +30 -11
- package/dist/agents/core/specifier.md +16 -0
- package/dist/agents/researchers/gaps.md +67 -0
- package/dist/agents/specifiers/visual-coherence.md +55 -0
- package/dist/cli.js +39 -8
- package/dist/cli.js.map +1 -1
- package/dist/commands/create.js +16 -1
- package/dist/commands/create.js.map +1 -1
- package/dist/commands/design.d.ts +8 -0
- package/dist/commands/design.js +130 -0
- package/dist/commands/design.js.map +1 -0
- package/dist/commands/index.d.ts +1 -0
- package/dist/commands/index.js +3 -1
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/plan.js +3 -3
- package/dist/commands/plan.js.map +1 -1
- package/dist/commands/qa-workflow.d.ts +33 -0
- package/dist/commands/qa-workflow.js +139 -0
- package/dist/commands/qa-workflow.js.map +1 -0
- package/dist/commands/refine.d.ts +1 -0
- package/dist/commands/refine.js +17 -4
- package/dist/commands/refine.js.map +1 -1
- package/dist/commands/research.js +22 -8
- package/dist/commands/research.js.map +1 -1
- package/dist/commands/rewind.js +2 -2
- package/dist/commands/rewind.js.map +1 -1
- package/dist/commands/shape.js +36 -121
- package/dist/commands/shape.js.map +1 -1
- package/dist/commands/spec.js +1 -0
- package/dist/commands/spec.js.map +1 -1
- package/dist/engine/claude/stream.display.js +0 -1
- package/dist/engine/claude/stream.display.js.map +1 -1
- package/dist/engine/claude/stream.parse.d.ts +1 -15
- package/dist/engine/claude/stream.parse.js +3 -21
- package/dist/engine/claude/stream.parse.js.map +1 -1
- package/dist/engine/claude/stream.result.js +2 -2
- package/dist/engine/claude/stream.types.d.ts +15 -0
- package/dist/engine/claude/stream.types.js +23 -0
- package/dist/engine/claude/stream.types.js.map +1 -0
- package/dist/engine/discovery/agent.registry.d.ts +4 -0
- package/dist/engine/discovery/agent.registry.js +46 -18
- package/dist/engine/discovery/agent.registry.js.map +1 -1
- package/dist/engine/discovery/flavour.config.d.ts +9 -0
- package/dist/engine/discovery/flavour.config.js +61 -0
- package/dist/engine/discovery/flavour.config.js.map +1 -0
- package/dist/engine/discovery/plugin.scan.d.ts +1 -0
- package/dist/engine/discovery/plugin.scan.js +29 -1
- package/dist/engine/discovery/plugin.scan.js.map +1 -1
- package/dist/engine/discovery/skill.check.d.ts +19 -0
- package/dist/engine/discovery/skill.check.js +145 -0
- package/dist/engine/discovery/skill.check.js.map +1 -0
- package/dist/engine/pipeline/build.exec.js +1 -0
- package/dist/engine/pipeline/build.exec.js.map +1 -1
- package/dist/engine/pipeline/phase.sequence.js +10 -10
- package/dist/engine/pipeline/phase.sequence.js.map +1 -1
- package/dist/engine/pipeline/pipeline.shared.d.ts +6 -0
- package/dist/engine/pipeline/pipeline.shared.js +24 -1
- package/dist/engine/pipeline/pipeline.shared.js.map +1 -1
- package/dist/engine/pipeline/plan.exec.js +1 -0
- package/dist/engine/pipeline/plan.exec.js.map +1 -1
- package/dist/engine/pipeline/refine.exec.d.ts +2 -0
- package/dist/engine/pipeline/refine.exec.js +13 -2
- package/dist/engine/pipeline/refine.exec.js.map +1 -1
- package/dist/engine/pipeline/research.exec.d.ts +3 -0
- package/dist/engine/pipeline/research.exec.js +74 -5
- package/dist/engine/pipeline/research.exec.js.map +1 -1
- package/dist/engine/pipeline/review.exec.js +23 -0
- package/dist/engine/pipeline/review.exec.js.map +1 -1
- package/dist/engine/pipeline/specify.exec.d.ts +1 -0
- package/dist/engine/pipeline/specify.exec.js +114 -44
- package/dist/engine/pipeline/specify.exec.js.map +1 -1
- package/dist/flavours/data-analysis/core/refiner.md +28 -1
- package/dist/flavours/data-analysis/core/researcher.md +30 -11
- package/dist/flavours/data-analysis/researchers/gaps.md +59 -0
- package/dist/flavours/game-dev/core/refiner.md +28 -1
- package/dist/flavours/game-dev/core/researcher.md +30 -11
- package/dist/flavours/game-dev/researchers/gaps.md +59 -0
- package/dist/flavours/legal-drafting/core/refiner.md +28 -1
- package/dist/flavours/legal-drafting/core/researcher.md +30 -11
- package/dist/flavours/legal-drafting/researchers/gaps.md +59 -0
- package/dist/flavours/machine-learning/core/refiner.md +28 -1
- package/dist/flavours/machine-learning/core/researcher.md +30 -11
- package/dist/flavours/machine-learning/researchers/gaps.md +59 -0
- package/dist/flavours/mobile-app/core/refiner.md +28 -1
- package/dist/flavours/mobile-app/core/researcher.md +30 -11
- package/dist/flavours/mobile-app/researchers/gaps.md +59 -0
- package/dist/flavours/music-composition/core/refiner.md +28 -1
- package/dist/flavours/music-composition/core/researcher.md +30 -11
- package/dist/flavours/music-composition/researchers/gaps.md +59 -0
- package/dist/flavours/novel-writing/core/refiner.md +28 -1
- package/dist/flavours/novel-writing/core/researcher.md +30 -11
- package/dist/flavours/novel-writing/researchers/gaps.md +59 -0
- package/dist/flavours/screenwriting/core/refiner.md +28 -1
- package/dist/flavours/screenwriting/core/researcher.md +30 -11
- package/dist/flavours/screenwriting/researchers/gaps.md +59 -0
- package/dist/flavours/security-audit/core/refiner.md +28 -1
- package/dist/flavours/security-audit/core/researcher.md +30 -11
- package/dist/flavours/security-audit/researchers/gaps.md +59 -0
- package/dist/flavours/software-engineering/core/builder.md +2 -0
- package/dist/flavours/software-engineering/core/refiner.md +28 -1
- package/dist/flavours/software-engineering/core/researcher.md +30 -11
- package/dist/flavours/software-engineering/core/reviewer.md +2 -0
- package/dist/flavours/software-engineering/flavour.json +7 -0
- package/dist/flavours/software-engineering/researchers/gaps.md +59 -0
- package/dist/flavours/technical-writing/core/refiner.md +28 -1
- package/dist/flavours/technical-writing/core/researcher.md +30 -11
- package/dist/flavours/technical-writing/researchers/gaps.md +59 -0
- package/dist/flavours/test-suite/core/refiner.md +28 -1
- package/dist/flavours/test-suite/core/researcher.md +30 -11
- package/dist/flavours/test-suite/researchers/gaps.md +59 -0
- package/dist/flavours/translation/core/refiner.md +28 -1
- package/dist/flavours/translation/core/researcher.md +30 -11
- package/dist/flavours/translation/researchers/gaps.md +59 -0
- package/dist/flavours/web-game/core/builder.md +123 -0
- package/dist/flavours/web-game/core/reviewer.md +159 -0
- package/dist/flavours/web-game/flavour.json +9 -0
- package/dist/flavours/web-ui/core/builder.md +117 -0
- package/dist/flavours/web-ui/core/reviewer.md +155 -0
- package/dist/flavours/web-ui/flavour.json +10 -0
- package/dist/plugin/visual-tools/plugin.json +4 -0
- package/dist/plugin/visual-tools/skills/a11y-audit/SKILL.md +57 -0
- package/dist/plugin/visual-tools/skills/agent-browser/SKILL.md +56 -0
- package/dist/plugin/visual-tools/skills/agent-browser/references/viewports.md +17 -0
- package/dist/plugin/visual-tools/skills/canvas-screenshot/SKILL.md +84 -0
- package/dist/plugin/visual-tools/skills/css-audit/SKILL.md +50 -0
- package/dist/plugin/visual-tools/skills/lighthouse/SKILL.md +58 -0
- package/dist/plugin/visual-tools/skills/shader-validate/SKILL.md +77 -0
- package/dist/plugin/visual-tools/skills/visual-diff/SKILL.md +68 -0
- package/dist/shapes/detect.d.ts +8 -0
- package/dist/shapes/detect.js +87 -0
- package/dist/shapes/detect.js.map +1 -0
- package/dist/shapes/game-visual.json +8 -0
- package/dist/shapes/print-layout.json +8 -0
- package/dist/shapes/web-visual.json +9 -0
- package/dist/stores/budget.js +2 -1
- package/dist/stores/budget.js.map +1 -1
- package/dist/stores/feedback.format.d.ts +3 -0
- package/dist/stores/feedback.format.js +62 -0
- package/dist/stores/feedback.format.js.map +1 -0
- package/dist/stores/feedback.parse.d.ts +2 -0
- package/dist/stores/feedback.parse.js +121 -0
- package/dist/stores/feedback.parse.js.map +1 -0
- package/dist/stores/feedback.verdict.d.ts +2 -4
- package/dist/stores/feedback.verdict.js +7 -175
- package/dist/stores/feedback.verdict.js.map +1 -1
- package/dist/stores/index.d.ts +1 -1
- package/dist/stores/index.js +1 -2
- package/dist/stores/index.js.map +1 -1
- package/dist/stores/state.d.ts +4 -0
- package/dist/stores/state.js +37 -5
- package/dist/stores/state.js.map +1 -1
- package/dist/stores/trajectory.d.ts +2 -3
- package/dist/stores/trajectory.js +6 -7
- package/dist/stores/trajectory.js.map +1 -1
- package/dist/types.d.ts +11 -1
- package/dist/utils/atomic-write.d.ts +6 -0
- package/dist/utils/atomic-write.js +62 -0
- package/dist/utils/atomic-write.js.map +1 -0
- package/package.json +2 -2
package/dist/commands/shape.js
CHANGED
|
@@ -38,32 +38,13 @@ const fs = __importStar(require("node:fs"));
|
|
|
38
38
|
const path = __importStar(require("node:path"));
|
|
39
39
|
const readline = __importStar(require("node:readline"));
|
|
40
40
|
const output_1 = require("../ui/output");
|
|
41
|
-
const claude_exec_1 = require("../engine/claude/claude.exec");
|
|
42
41
|
const agent_registry_1 = require("../engine/discovery/agent.registry");
|
|
43
42
|
const flavour_resolve_1 = require("../engine/discovery/flavour.resolve");
|
|
44
|
-
const stream_display_1 = require("../engine/claude/stream.display");
|
|
45
43
|
const state_1 = require("../stores/state");
|
|
46
44
|
const config_1 = require("../config");
|
|
47
|
-
const
|
|
48
|
-
const
|
|
49
|
-
|
|
50
|
-
properties: {
|
|
51
|
-
ready: { type: "boolean" },
|
|
52
|
-
questions: {
|
|
53
|
-
type: "array",
|
|
54
|
-
items: {
|
|
55
|
-
type: "object",
|
|
56
|
-
properties: {
|
|
57
|
-
question: { type: "string" },
|
|
58
|
-
suggestedAnswer: { type: "string" },
|
|
59
|
-
},
|
|
60
|
-
required: ["question"],
|
|
61
|
-
},
|
|
62
|
-
},
|
|
63
|
-
summary: { type: "string" },
|
|
64
|
-
},
|
|
65
|
-
required: ["ready"],
|
|
66
|
-
});
|
|
45
|
+
const detect_1 = require("../shapes/detect");
|
|
46
|
+
const design_1 = require("./design");
|
|
47
|
+
const qa_workflow_1 = require("./qa-workflow");
|
|
67
48
|
const SHAPE_OUTPUT_SCHEMA = JSON.stringify({
|
|
68
49
|
type: "object",
|
|
69
50
|
properties: {
|
|
@@ -104,22 +85,6 @@ const SHAPE_OUTPUT_SCHEMA = JSON.stringify({
|
|
|
104
85
|
},
|
|
105
86
|
required: ["projectName", "intent", "scope", "solutionShape", "risksAndComplexities", "existingLandscape", "technicalPreferences"],
|
|
106
87
|
});
|
|
107
|
-
const askQuestion = (rl, prompt) => {
|
|
108
|
-
return new Promise((resolve) => {
|
|
109
|
-
rl.question(prompt, (answer) => {
|
|
110
|
-
resolve(answer.trim());
|
|
111
|
-
});
|
|
112
|
-
});
|
|
113
|
-
};
|
|
114
|
-
const normalizeQuestion = (q) => typeof q === "string" ? { question: q } : q;
|
|
115
|
-
const parseQAResponse = (resultText) => {
|
|
116
|
-
try {
|
|
117
|
-
return JSON.parse(resultText);
|
|
118
|
-
}
|
|
119
|
-
catch {
|
|
120
|
-
return { ready: true, summary: resultText };
|
|
121
|
-
}
|
|
122
|
-
};
|
|
123
88
|
const resolveInput = (input) => {
|
|
124
89
|
const looksLikeFile = /\.\w+$/.test(input) || input.startsWith("/") || input.startsWith("./") || input.startsWith("../") || input.includes(path.sep);
|
|
125
90
|
if (looksLikeFile) {
|
|
@@ -139,7 +104,7 @@ const resolveInputContext = async (rl, input) => {
|
|
|
139
104
|
return resolved.content;
|
|
140
105
|
}
|
|
141
106
|
console.log("");
|
|
142
|
-
const answer = await askQuestion(rl, "Describe what you want to build:\n> ");
|
|
107
|
+
const answer = await (0, qa_workflow_1.askQuestion)(rl, "Describe what you want to build:\n> ");
|
|
143
108
|
return answer || null;
|
|
144
109
|
};
|
|
145
110
|
/** Format the structured shape output as shape.md markdown. */
|
|
@@ -214,52 +179,6 @@ const formatShapeMd = (shape) => {
|
|
|
214
179
|
lines.push("");
|
|
215
180
|
return lines.join("\n");
|
|
216
181
|
};
|
|
217
|
-
const runClarificationLoop = async (rl, systemPrompt, opts, timeoutMs, initialResult) => {
|
|
218
|
-
let { sessionId, qa } = initialResult;
|
|
219
|
-
for (let round = 0; round < MAX_CLARIFICATION_ROUNDS && !qa.ready; round++) {
|
|
220
|
-
if (qa.summary) {
|
|
221
|
-
console.log(`\nHere's what I understand so far:\n ${qa.summary}`);
|
|
222
|
-
}
|
|
223
|
-
if (!qa.questions || qa.questions.length === 0)
|
|
224
|
-
break;
|
|
225
|
-
const normalized = qa.questions.map(normalizeQuestion);
|
|
226
|
-
console.log("\nI have a few questions:\n");
|
|
227
|
-
const answers = [];
|
|
228
|
-
for (let i = 0; i < normalized.length; i++) {
|
|
229
|
-
const q = normalized[i];
|
|
230
|
-
if (q.suggestedAnswer) {
|
|
231
|
-
console.log(` ${i + 1}. ${q.question}`);
|
|
232
|
-
console.log(` (suggested: ${q.suggestedAnswer})`);
|
|
233
|
-
const answer = await askQuestion(rl, ` > `);
|
|
234
|
-
answers.push(answer || q.suggestedAnswer);
|
|
235
|
-
}
|
|
236
|
-
else {
|
|
237
|
-
const answer = await askQuestion(rl, ` ${i + 1}. ${q.question}\n > `);
|
|
238
|
-
answers.push(answer);
|
|
239
|
-
}
|
|
240
|
-
}
|
|
241
|
-
console.log("\nProcessing your answers...");
|
|
242
|
-
const answersPrompt = normalized
|
|
243
|
-
.map((q, i) => `Q: ${q.question}\nA: ${answers[i]}`)
|
|
244
|
-
.join("\n\n");
|
|
245
|
-
const display = (0, stream_display_1.createDisplayCallbacks)({ projectRoot: process.cwd() });
|
|
246
|
-
const result = await (0, claude_exec_1.invokeClaude)({
|
|
247
|
-
systemPrompt,
|
|
248
|
-
userPrompt: `User answers to follow-up questions:\n\n${answersPrompt}`,
|
|
249
|
-
model: opts.model,
|
|
250
|
-
allowedTools: ["Read", "Glob", "Grep"],
|
|
251
|
-
cwd: process.cwd(),
|
|
252
|
-
timeoutMs,
|
|
253
|
-
sessionId,
|
|
254
|
-
jsonSchema: QA_JSON_SCHEMA,
|
|
255
|
-
onStdout: display.onStdout,
|
|
256
|
-
});
|
|
257
|
-
display.flush();
|
|
258
|
-
sessionId = result.sessionId;
|
|
259
|
-
qa = parseQAResponse(result.result);
|
|
260
|
-
}
|
|
261
|
-
return { sessionId, qa };
|
|
262
|
-
};
|
|
263
182
|
const runShape = async (buildName, opts) => {
|
|
264
183
|
const buildDir = (0, config_1.resolveBuildDir)(buildName, { ensure: true });
|
|
265
184
|
(0, output_1.printInfo)(`Build directory: ${buildDir}`);
|
|
@@ -274,7 +193,6 @@ const runShape = async (buildName, opts) => {
|
|
|
274
193
|
return;
|
|
275
194
|
}
|
|
276
195
|
// Intake turn — shaper analyzes codebase + user input
|
|
277
|
-
console.log("\nAnalyzing project and input...");
|
|
278
196
|
const userPrompt = [
|
|
279
197
|
`The user wants to create a new build called "${buildName}".`,
|
|
280
198
|
"",
|
|
@@ -285,40 +203,13 @@ const runShape = async (buildName, opts) => {
|
|
|
285
203
|
"Then respond with your questions, pre-filling suggestedAnswer for any questions you can answer from the code or the user's input.",
|
|
286
204
|
"Remember: present ALL questions to the user even when pre-filled — the user has final say.",
|
|
287
205
|
].join("\n");
|
|
288
|
-
|
|
289
|
-
const
|
|
290
|
-
systemPrompt,
|
|
291
|
-
userPrompt,
|
|
292
|
-
model: opts.model,
|
|
293
|
-
allowedTools: ["Read", "Glob", "Grep"],
|
|
294
|
-
cwd: process.cwd(),
|
|
295
|
-
timeoutMs,
|
|
296
|
-
jsonSchema: QA_JSON_SCHEMA,
|
|
297
|
-
onStdout: display.onStdout,
|
|
298
|
-
});
|
|
299
|
-
display.flush();
|
|
300
|
-
// Clarification loop
|
|
301
|
-
const { sessionId, qa } = await runClarificationLoop(rl, systemPrompt, opts, timeoutMs, {
|
|
302
|
-
sessionId: intakeResult.sessionId,
|
|
303
|
-
qa: parseQAResponse(intakeResult.result),
|
|
304
|
-
});
|
|
206
|
+
// Intake + clarification loop
|
|
207
|
+
const { sessionId, qa } = await (0, qa_workflow_1.runQAIntake)(rl, systemPrompt, userPrompt, { model: opts.model, questionLabel: "I have a few questions" }, timeoutMs, "Analyzing project and input...");
|
|
305
208
|
// Shape output turn
|
|
306
209
|
if (qa.summary) {
|
|
307
210
|
console.log(`\nFinal understanding:\n ${qa.summary}`);
|
|
308
211
|
}
|
|
309
|
-
|
|
310
|
-
display = (0, stream_display_1.createDisplayCallbacks)({ projectRoot: process.cwd() });
|
|
311
|
-
const shapeResult = await (0, claude_exec_1.invokeClaude)({
|
|
312
|
-
systemPrompt,
|
|
313
|
-
userPrompt: "Produce the final shape output now. Respond with ONLY the structured JSON shape document.",
|
|
314
|
-
model: opts.model,
|
|
315
|
-
cwd: process.cwd(),
|
|
316
|
-
timeoutMs,
|
|
317
|
-
sessionId,
|
|
318
|
-
jsonSchema: SHAPE_OUTPUT_SCHEMA,
|
|
319
|
-
onStdout: display.onStdout,
|
|
320
|
-
});
|
|
321
|
-
display.flush();
|
|
212
|
+
const shapeResult = await (0, qa_workflow_1.runOutputTurn)(systemPrompt, "Produce the final shape output now. Respond with ONLY the structured JSON shape document.", opts.model, timeoutMs, sessionId, "Producing shape document...", SHAPE_OUTPUT_SCHEMA);
|
|
322
213
|
// Parse and write shape.md
|
|
323
214
|
let shapeOutput;
|
|
324
215
|
try {
|
|
@@ -335,11 +226,35 @@ const runShape = async (buildName, opts) => {
|
|
|
335
226
|
fs.writeFileSync(path.join(buildDir, "shape.md"), shapeMd);
|
|
336
227
|
// Update pipeline state
|
|
337
228
|
(0, state_1.advancePipeline)(buildDir, buildName, "shape");
|
|
338
|
-
|
|
339
|
-
(
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
(
|
|
229
|
+
// --- Shape detection ---
|
|
230
|
+
const shapeMdContent = fs.readFileSync(path.join(buildDir, "shape.md"), "utf-8");
|
|
231
|
+
const shapeDefinitions = (0, detect_1.loadShapeDefinitions)();
|
|
232
|
+
const matchedShapes = (0, detect_1.detectShapes)(shapeMdContent, shapeDefinitions);
|
|
233
|
+
if (matchedShapes.length > 0) {
|
|
234
|
+
const matchedNames = matchedShapes.map((s) => s.name);
|
|
235
|
+
(0, state_1.recordMatchedShapes)(buildDir, buildName, matchedNames);
|
|
236
|
+
console.log("");
|
|
237
|
+
(0, output_1.printInfo)("Created:");
|
|
238
|
+
console.log(` ${path.join(buildDir, "shape.md")}`);
|
|
239
|
+
console.log("");
|
|
240
|
+
(0, output_1.printInfo)(`Visual concerns detected: ${matchedNames.join(", ")}`);
|
|
241
|
+
(0, output_1.printInfo)("Auto-chaining to design...");
|
|
242
|
+
console.log("");
|
|
243
|
+
// Auto-chain to design command within the same build context
|
|
244
|
+
await (0, design_1.runDesign)(buildName, {
|
|
245
|
+
model: opts.model,
|
|
246
|
+
timeout: opts.timeout,
|
|
247
|
+
flavour: opts.flavour,
|
|
248
|
+
matchedShapes: matchedNames,
|
|
249
|
+
});
|
|
250
|
+
}
|
|
251
|
+
else {
|
|
252
|
+
console.log("");
|
|
253
|
+
(0, output_1.printInfo)("Created:");
|
|
254
|
+
console.log(` ${path.join(buildDir, "shape.md")}`);
|
|
255
|
+
console.log("");
|
|
256
|
+
(0, output_1.printInfo)(`Next: ridgeline spec ${buildName}`);
|
|
257
|
+
}
|
|
343
258
|
}
|
|
344
259
|
finally {
|
|
345
260
|
rl.close();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shape.js","sourceRoot":"","sources":["../../src/commands/shape.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"shape.js","sourceRoot":"","sources":["../../src/commands/shape.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/spec.js
CHANGED
|
@@ -56,6 +56,7 @@ const runSpec = async (buildName, opts) => {
|
|
|
56
56
|
maxBudgetUsd: opts.maxBudgetUsd ?? null,
|
|
57
57
|
buildDir,
|
|
58
58
|
flavour: opts.flavour ?? null,
|
|
59
|
+
matchedShapes: (0, state_1.getMatchedShapes)(buildDir),
|
|
59
60
|
};
|
|
60
61
|
const result = await (0, specify_exec_1.invokeSpecifier)(shapeMd, config);
|
|
61
62
|
// Update pipeline state
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec.js","sourceRoot":"","sources":["../../src/commands/spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAA6B;AAC7B,gDAAiC;AACjC,yCAAoD;AACpD,kEAAqF;AACrF,
|
|
1
|
+
{"version":3,"file":"spec.js","sourceRoot":"","sources":["../../src/commands/spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAA6B;AAC7B,gDAAiC;AACjC,yCAAoD;AACpD,kEAAqF;AACrF,2CAAmE;AAS5D,MAAM,OAAO,GAAG,KAAK,EAAE,SAAiB,EAAE,IAAiB,EAAiB,EAAE;IACnF,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC,CAAA;IAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAA;IAE7D,yBAAyB;IACzB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;IACjD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,IAAA,mBAAU,EAAC,yBAAyB,SAAS,EAAE,CAAC,CAAA;QAChD,IAAA,mBAAU,EAAC,wBAAwB,SAAS,SAAS,CAAC,CAAA;QACtD,OAAM;IACR,CAAC;IAED,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IAEnD,MAAM,MAAM,GAAuB;QACjC,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,cAAc,EAAE,IAAI,CAAC,OAAO;QAC5B,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,IAAI;QACvC,QAAQ;QACR,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI;QAC7B,aAAa,EAAE,IAAA,wBAAgB,EAAC,QAAQ,CAAC;KAC1C,CAAA;IAED,MAAM,MAAM,GAAG,MAAM,IAAA,8BAAe,EAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IAErD,wBAAwB;IACxB,IAAA,uBAAe,EAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;IAE5C,uBAAuB;IACvB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACf,MAAM,YAAY,GAAG,CAAC,SAAS,EAAE,gBAAgB,EAAE,UAAU,CAAC;SAC3D,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IAEvD,IAAA,kBAAS,EAAC,UAAU,CAAC,CAAA;IACrB,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAA;IAC5C,CAAC;IAED,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACvC,IAAA,kBAAS,EAAC,gEAAgE,CAAC,CAAA;IAC7E,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACf,IAAA,kBAAS,EAAC,kBAAkB,MAAM,CAAC,iBAAiB,CAAC,MAAM,4BAA4B,CAAC,CAAA;IACxF,IAAA,kBAAS,EAAC,gBAAgB,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IAC3D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACf,IAAA,kBAAS,EAAC,wBAAwB,SAAS,EAAE,CAAC,CAAA;AAChD,CAAC,CAAA;AA/CY,QAAA,OAAO,WA+CnB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream.display.js","sourceRoot":"","sources":["../../../src/engine/claude/stream.display.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"stream.display.js","sourceRoot":"","sources":["../../../src/engine/claude/stream.display.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export type StreamEvent = {
|
|
3
|
-
type: "text";
|
|
4
|
-
text: string;
|
|
5
|
-
} | {
|
|
6
|
-
type: "tool_use";
|
|
7
|
-
tool: string;
|
|
8
|
-
summary?: string;
|
|
9
|
-
} | {
|
|
10
|
-
type: "result";
|
|
11
|
-
result: ClaudeResult;
|
|
12
|
-
} | {
|
|
13
|
-
type: "other";
|
|
14
|
-
};
|
|
15
|
-
export declare const parseClaudeResult: (parsed: Record<string, unknown>) => ClaudeResult;
|
|
1
|
+
import { type StreamEvent } from "./stream.types";
|
|
16
2
|
export declare const parseStreamLine: (line: string) => StreamEvent;
|
|
17
3
|
/**
|
|
18
4
|
* Line-buffered chunk handler. Splits raw stdout chunks on newlines,
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createStreamHandler = exports.parseStreamLine =
|
|
3
|
+
exports.createStreamHandler = exports.parseStreamLine = void 0;
|
|
4
|
+
const stream_types_1 = require("./stream.types");
|
|
4
5
|
/**
|
|
5
6
|
* Parse a single NDJSON line from `claude --output-format stream-json`.
|
|
6
7
|
*
|
|
@@ -23,25 +24,6 @@ const summarizeToolInput = (input) => {
|
|
|
23
24
|
return firstLine;
|
|
24
25
|
return firstLine.slice(0, MAX_SUMMARY_LEN - 1) + "…";
|
|
25
26
|
};
|
|
26
|
-
const parseClaudeResult = (parsed) => {
|
|
27
|
-
const result = parsed.result;
|
|
28
|
-
return {
|
|
29
|
-
success: !parsed.is_error,
|
|
30
|
-
result: typeof result === "string"
|
|
31
|
-
? result
|
|
32
|
-
: (result != null ? JSON.stringify(result) : ""),
|
|
33
|
-
durationMs: parsed.duration_ms ?? 0,
|
|
34
|
-
costUsd: parsed.total_cost_usd ?? 0,
|
|
35
|
-
usage: {
|
|
36
|
-
inputTokens: parsed.usage?.input_tokens ?? 0,
|
|
37
|
-
outputTokens: parsed.usage?.output_tokens ?? 0,
|
|
38
|
-
cacheReadInputTokens: parsed.usage?.cache_read_input_tokens ?? 0,
|
|
39
|
-
cacheCreationInputTokens: parsed.usage?.cache_creation_input_tokens ?? 0,
|
|
40
|
-
},
|
|
41
|
-
sessionId: parsed.session_id ?? "",
|
|
42
|
-
};
|
|
43
|
-
};
|
|
44
|
-
exports.parseClaudeResult = parseClaudeResult;
|
|
45
27
|
const parseStreamLine = (line) => {
|
|
46
28
|
const trimmed = line.trim();
|
|
47
29
|
if (trimmed.length === 0)
|
|
@@ -93,7 +75,7 @@ const parseStreamLine = (line) => {
|
|
|
93
75
|
return { type: "other" };
|
|
94
76
|
}
|
|
95
77
|
if (parsed.type === "result") {
|
|
96
|
-
return { type: "result", result: (0,
|
|
78
|
+
return { type: "result", result: (0, stream_types_1.parseClaudeResult)(parsed) };
|
|
97
79
|
}
|
|
98
80
|
return { type: "other" };
|
|
99
81
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream.parse.js","sourceRoot":"","sources":["../../../src/engine/claude/stream.parse.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"stream.parse.js","sourceRoot":"","sources":["../../../src/engine/claude/stream.parse.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.extractResult = void 0;
|
|
4
|
-
const
|
|
4
|
+
const stream_types_1 = require("./stream.types");
|
|
5
5
|
const collectContentFallbacks = (parsed, acc) => {
|
|
6
6
|
// Check for StructuredOutput tool_use in assistant messages
|
|
7
7
|
if (parsed.type === "assistant" && parsed.message) {
|
|
@@ -39,7 +39,7 @@ const extractResult = (ndjsonStdout) => {
|
|
|
39
39
|
try {
|
|
40
40
|
const parsed = JSON.parse(line);
|
|
41
41
|
if (parsed.type === "result") {
|
|
42
|
-
resultEvent = (0,
|
|
42
|
+
resultEvent = (0, stream_types_1.parseClaudeResult)(parsed);
|
|
43
43
|
continue;
|
|
44
44
|
}
|
|
45
45
|
collectContentFallbacks(parsed, fallbacks);
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ClaudeResult } from "../../types";
|
|
2
|
+
export type StreamEvent = {
|
|
3
|
+
type: "text";
|
|
4
|
+
text: string;
|
|
5
|
+
} | {
|
|
6
|
+
type: "tool_use";
|
|
7
|
+
tool: string;
|
|
8
|
+
summary?: string;
|
|
9
|
+
} | {
|
|
10
|
+
type: "result";
|
|
11
|
+
result: ClaudeResult;
|
|
12
|
+
} | {
|
|
13
|
+
type: "other";
|
|
14
|
+
};
|
|
15
|
+
export declare const parseClaudeResult: (parsed: Record<string, unknown>) => ClaudeResult;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseClaudeResult = void 0;
|
|
4
|
+
const parseClaudeResult = (parsed) => {
|
|
5
|
+
const result = parsed.result;
|
|
6
|
+
return {
|
|
7
|
+
success: !parsed.is_error,
|
|
8
|
+
result: typeof result === "string"
|
|
9
|
+
? result
|
|
10
|
+
: (result != null ? JSON.stringify(result) : ""),
|
|
11
|
+
durationMs: parsed.duration_ms ?? 0,
|
|
12
|
+
costUsd: parsed.total_cost_usd ?? 0,
|
|
13
|
+
usage: {
|
|
14
|
+
inputTokens: parsed.usage?.input_tokens ?? 0,
|
|
15
|
+
outputTokens: parsed.usage?.output_tokens ?? 0,
|
|
16
|
+
cacheReadInputTokens: parsed.usage?.cache_read_input_tokens ?? 0,
|
|
17
|
+
cacheCreationInputTokens: parsed.usage?.cache_creation_input_tokens ?? 0,
|
|
18
|
+
},
|
|
19
|
+
sessionId: parsed.session_id ?? "",
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
exports.parseClaudeResult = parseClaudeResult;
|
|
23
|
+
//# sourceMappingURL=stream.types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream.types.js","sourceRoot":"","sources":["../../../src/engine/claude/stream.types.ts"],"names":[],"mappings":";;;AAQO,MAAM,iBAAiB,GAAG,CAAC,MAA+B,EAAgB,EAAE;IACjF,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;IAC5B,OAAO;QACL,OAAO,EAAE,CAAC,MAAM,CAAC,QAAQ;QACzB,MAAM,EAAE,OAAO,MAAM,KAAK,QAAQ;YAChC,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,UAAU,EAAG,MAAM,CAAC,WAAsB,IAAI,CAAC;QAC/C,OAAO,EAAG,MAAM,CAAC,cAAyB,IAAI,CAAC;QAC/C,KAAK,EAAE;YACL,WAAW,EAAG,MAAiD,CAAC,KAAK,EAAE,YAAY,IAAI,CAAC;YACxF,YAAY,EAAG,MAAiD,CAAC,KAAK,EAAE,aAAa,IAAI,CAAC;YAC1F,oBAAoB,EAAG,MAAiD,CAAC,KAAK,EAAE,uBAAuB,IAAI,CAAC;YAC5G,wBAAwB,EAAG,MAAiD,CAAC,KAAK,EAAE,2BAA2B,IAAI,CAAC;SACrH;QACD,SAAS,EAAG,MAAM,CAAC,UAAqB,IAAI,EAAE;KAC/C,CAAA;AACH,CAAC,CAAA;AAjBY,QAAA,iBAAiB,qBAiB7B"}
|
|
@@ -8,8 +8,12 @@ type AgentRegistry = {
|
|
|
8
8
|
getCorePrompt: (filename: string) => string;
|
|
9
9
|
/** Get ensemble specialists for a subfolder (e.g., "planners"). */
|
|
10
10
|
getSpecialists: (subfolder: string) => SpecialistDef[];
|
|
11
|
+
/** Get a single specialist by subfolder and filename. Returns null if not found. */
|
|
12
|
+
getSpecialist: (subfolder: string, filename: string) => SpecialistDef | null;
|
|
11
13
|
/** Get shared context for an ensemble subfolder. Returns null if no context.md. */
|
|
12
14
|
getContext: (subfolder: string) => string | null;
|
|
15
|
+
/** Get gap checklist for an ensemble subfolder. Falls back to base if flavour has none. */
|
|
16
|
+
getGaps: (subfolder: string) => string | null;
|
|
13
17
|
/** Get sub-agents from specialists/ as DiscoveredAgent[]. */
|
|
14
18
|
getSubAgents: () => DiscoveredAgent[];
|
|
15
19
|
/** Get the agents flag object for Claude invocation. */
|
|
@@ -73,6 +73,24 @@ const resolveSubfolder = (subfolder, flavourPath, defaultAgentsDir) => {
|
|
|
73
73
|
// ---------------------------------------------------------------------------
|
|
74
74
|
// Specialist discovery (extracted from ensemble.exec.ts)
|
|
75
75
|
// ---------------------------------------------------------------------------
|
|
76
|
+
/** Parse a specialist .md file into a SpecialistDef, or null on failure. */
|
|
77
|
+
const parseSpecialistFile = (filepath) => {
|
|
78
|
+
try {
|
|
79
|
+
const content = fs.readFileSync(filepath, "utf-8");
|
|
80
|
+
const fm = (0, agent_scan_1.parseFrontmatter)(content);
|
|
81
|
+
if (!fm)
|
|
82
|
+
return null;
|
|
83
|
+
const perspectiveMatch = content.match(/^perspective:\s*(.+)$/m);
|
|
84
|
+
const perspective = perspectiveMatch ? perspectiveMatch[1].trim() : fm.name;
|
|
85
|
+
const body = content.replace(/^---\n[\s\S]*?\n---\n*/, "").trim();
|
|
86
|
+
if (!body)
|
|
87
|
+
return null;
|
|
88
|
+
return { perspective, overlay: body };
|
|
89
|
+
}
|
|
90
|
+
catch {
|
|
91
|
+
return null;
|
|
92
|
+
}
|
|
93
|
+
};
|
|
76
94
|
const discoverSpecialistsInDir = (dir, excludeFiles) => {
|
|
77
95
|
const exclude = new Set(excludeFiles ?? []);
|
|
78
96
|
const specialists = [];
|
|
@@ -81,22 +99,9 @@ const discoverSpecialistsInDir = (dir, excludeFiles) => {
|
|
|
81
99
|
continue;
|
|
82
100
|
if (exclude.has(entry))
|
|
83
101
|
continue;
|
|
84
|
-
const
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
const fm = (0, agent_scan_1.parseFrontmatter)(content);
|
|
88
|
-
if (!fm)
|
|
89
|
-
continue;
|
|
90
|
-
const perspectiveMatch = content.match(/^perspective:\s*(.+)$/m);
|
|
91
|
-
const perspective = perspectiveMatch ? perspectiveMatch[1].trim() : fm.name;
|
|
92
|
-
const body = content.replace(/^---\n[\s\S]*?\n---\n*/, "").trim();
|
|
93
|
-
if (!body)
|
|
94
|
-
continue;
|
|
95
|
-
specialists.push({ perspective, overlay: body });
|
|
96
|
-
}
|
|
97
|
-
catch {
|
|
98
|
-
// Skip unreadable files
|
|
99
|
-
}
|
|
102
|
+
const result = parseSpecialistFile(path.join(dir, entry));
|
|
103
|
+
if (result)
|
|
104
|
+
specialists.push(result);
|
|
100
105
|
}
|
|
101
106
|
return specialists;
|
|
102
107
|
};
|
|
@@ -126,7 +131,16 @@ const buildAgentRegistry = (flavourPath) => {
|
|
|
126
131
|
const dir = resolveSubfolder(subfolder, flavourPath, defaultAgentsDir);
|
|
127
132
|
if (!dir)
|
|
128
133
|
return [];
|
|
129
|
-
return discoverSpecialistsInDir(dir, ["context.md"]);
|
|
134
|
+
return discoverSpecialistsInDir(dir, ["context.md", "gaps.md", "visual-coherence.md"]);
|
|
135
|
+
};
|
|
136
|
+
const getSpecialist = (subfolder, filename) => {
|
|
137
|
+
const dir = resolveSubfolder(subfolder, flavourPath, defaultAgentsDir);
|
|
138
|
+
if (!dir)
|
|
139
|
+
return null;
|
|
140
|
+
const filepath = path.join(dir, filename);
|
|
141
|
+
if (!fs.existsSync(filepath))
|
|
142
|
+
return null;
|
|
143
|
+
return parseSpecialistFile(filepath);
|
|
130
144
|
};
|
|
131
145
|
const getContext = (subfolder) => {
|
|
132
146
|
const dir = resolveSubfolder(subfolder, flavourPath, defaultAgentsDir);
|
|
@@ -143,10 +157,24 @@ const buildAgentRegistry = (flavourPath) => {
|
|
|
143
157
|
return [];
|
|
144
158
|
return (0, agent_scan_1.discoverAgentsInDir)(dir);
|
|
145
159
|
};
|
|
160
|
+
// Independent fallback: check flavour first, then base — unlike getContext which
|
|
161
|
+
// is bound to whichever subfolder resolveSubfolder picks (whole-subfolder replacement).
|
|
162
|
+
// This ensures every flavour gets at least the base gap checklist.
|
|
163
|
+
const getGaps = (subfolder) => {
|
|
164
|
+
if (flavourPath) {
|
|
165
|
+
const flavourGaps = path.join(flavourPath, subfolder, "gaps.md");
|
|
166
|
+
if (fs.existsSync(flavourGaps))
|
|
167
|
+
return fs.readFileSync(flavourGaps, "utf-8");
|
|
168
|
+
}
|
|
169
|
+
const baseGaps = path.join(defaultAgentsDir, subfolder, "gaps.md");
|
|
170
|
+
if (fs.existsSync(baseGaps))
|
|
171
|
+
return fs.readFileSync(baseGaps, "utf-8");
|
|
172
|
+
return null;
|
|
173
|
+
};
|
|
146
174
|
const getAgentsFlag = () => {
|
|
147
175
|
return (0, agent_scan_1.buildAgentsFlag)(getSubAgents());
|
|
148
176
|
};
|
|
149
|
-
return { getCorePrompt, getSpecialists, getContext, getSubAgents, getAgentsFlag };
|
|
177
|
+
return { getCorePrompt, getSpecialists, getSpecialist, getContext, getGaps, getSubAgents, getAgentsFlag };
|
|
150
178
|
};
|
|
151
179
|
exports.buildAgentRegistry = buildAgentRegistry;
|
|
152
180
|
//# sourceMappingURL=agent.registry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.registry.js","sourceRoot":"","sources":["../../../src/engine/discovery/agent.registry.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAA6B;AAC7B,gDAAiC;AACjC,6CAAsG;
|
|
1
|
+
{"version":3,"file":"agent.registry.js","sourceRoot":"","sources":["../../../src/engine/discovery/agent.registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
type FlavourConfig = {
|
|
2
|
+
recommendedSkills: string[];
|
|
3
|
+
};
|
|
4
|
+
/**
|
|
5
|
+
* Load optional flavour.json config from a flavour directory.
|
|
6
|
+
* Returns empty config if no file exists or it's malformed.
|
|
7
|
+
*/
|
|
8
|
+
export declare const loadFlavourConfig: (flavourDir: string | null) => FlavourConfig;
|
|
9
|
+
export {};
|