ridgeline 0.2.25 → 0.3.5

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.
Files changed (70) hide show
  1. package/README.md +1 -1
  2. package/dist/agents/core/builder.md +1 -1
  3. package/dist/agents/core/reviewer.md +3 -3
  4. package/dist/agents/planners/simplicity.md +7 -0
  5. package/dist/agents/planners/synthesizer.md +90 -0
  6. package/dist/agents/planners/thoroughness.md +7 -0
  7. package/dist/agents/planners/velocity.md +7 -0
  8. package/dist/agents/specialists/{depender.md → auditor.md} +2 -2
  9. package/dist/agents/specialists/{navigator.md → scout.md} +2 -2
  10. package/dist/agents/specialists/{checker.md → verifier.md} +10 -10
  11. package/dist/cli.js +17 -37
  12. package/dist/cli.js.map +1 -1
  13. package/dist/commands/build.d.ts +1 -0
  14. package/dist/commands/build.js +46 -48
  15. package/dist/commands/build.js.map +1 -1
  16. package/dist/commands/dry-run.d.ts +2 -0
  17. package/dist/commands/dry-run.js +66 -0
  18. package/dist/commands/dry-run.js.map +1 -0
  19. package/dist/commands/index.d.ts +2 -2
  20. package/dist/commands/index.js +2 -2
  21. package/dist/commands/index.js.map +1 -1
  22. package/dist/commands/plan.js +14 -7
  23. package/dist/commands/plan.js.map +1 -1
  24. package/dist/commands/spec.js +85 -97
  25. package/dist/commands/spec.js.map +1 -1
  26. package/dist/config.js +1 -0
  27. package/dist/config.js.map +1 -1
  28. package/dist/engine/claude/sandbox.bwrap.d.ts +1 -1
  29. package/dist/engine/claude/sandbox.d.ts +3 -8
  30. package/dist/engine/claude/sandbox.greywall.d.ts +1 -1
  31. package/dist/engine/claude/sandbox.js.map +1 -1
  32. package/dist/engine/claude/sandbox.types.d.ts +7 -0
  33. package/dist/engine/claude/sandbox.types.js +3 -0
  34. package/dist/engine/claude/sandbox.types.js.map +1 -0
  35. package/dist/engine/claude/stream.decode.d.ts +4 -1
  36. package/dist/engine/claude/stream.decode.js +8 -2
  37. package/dist/engine/claude/stream.decode.js.map +1 -1
  38. package/dist/engine/discovery/agent.scan.d.ts +0 -1
  39. package/dist/engine/discovery/agent.scan.js +2 -3
  40. package/dist/engine/discovery/agent.scan.js.map +1 -1
  41. package/dist/engine/index.d.ts +4 -4
  42. package/dist/engine/index.js +3 -4
  43. package/dist/engine/index.js.map +1 -1
  44. package/dist/engine/pipeline/build.exec.js +6 -37
  45. package/dist/engine/pipeline/build.exec.js.map +1 -1
  46. package/dist/engine/pipeline/ensemble.exec.d.ts +6 -0
  47. package/dist/engine/pipeline/ensemble.exec.js +299 -0
  48. package/dist/engine/pipeline/ensemble.exec.js.map +1 -0
  49. package/dist/engine/pipeline/pipeline.shared.d.ts +42 -0
  50. package/dist/engine/pipeline/pipeline.shared.js +111 -0
  51. package/dist/engine/pipeline/pipeline.shared.js.map +1 -0
  52. package/dist/engine/pipeline/plan.exec.d.ts +3 -5
  53. package/dist/engine/pipeline/plan.exec.js +6 -62
  54. package/dist/engine/pipeline/plan.exec.js.map +1 -1
  55. package/dist/engine/pipeline/review.exec.js +6 -29
  56. package/dist/engine/pipeline/review.exec.js.map +1 -1
  57. package/dist/engine/worktree.d.ts +0 -5
  58. package/dist/engine/worktree.js +10 -15
  59. package/dist/engine/worktree.js.map +1 -1
  60. package/dist/store/feedback.js +65 -64
  61. package/dist/store/feedback.js.map +1 -1
  62. package/dist/store/index.d.ts +1 -1
  63. package/dist/store/index.js.map +1 -1
  64. package/dist/store/settings.d.ts +2 -1
  65. package/dist/types.d.ts +23 -1
  66. package/dist/ui/index.d.ts +1 -1
  67. package/dist/ui/index.js.map +1 -1
  68. package/package.json +4 -2
  69. package/dist/agents/core/hooks/network-guard.md +0 -24
  70. package/dist/agents/core/plugin.json +0 -4
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.runSpec = exports.runPlan = exports.runDryRun = exports.runBuild = void 0;
4
4
  var build_1 = require("./build");
5
5
  Object.defineProperty(exports, "runBuild", { enumerable: true, get: function () { return build_1.runBuild; } });
6
- var dryRun_1 = require("./dryRun");
7
- Object.defineProperty(exports, "runDryRun", { enumerable: true, get: function () { return dryRun_1.runDryRun; } });
6
+ var dry_run_1 = require("./dry-run");
7
+ Object.defineProperty(exports, "runDryRun", { enumerable: true, get: function () { return dry_run_1.runDryRun; } });
8
8
  var plan_1 = require("./plan");
9
9
  Object.defineProperty(exports, "runPlan", { enumerable: true, get: function () { return plan_1.runPlan; } });
10
10
  var spec_1 = require("./spec");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":";;;AAAA,iCAAkC;AAAzB,iGAAA,QAAQ,OAAA;AACjB,mCAAoC;AAA3B,mGAAA,SAAS,OAAA;AAClB,+BAAgC;AAAvB,+FAAA,OAAO,OAAA;AAChB,+BAAkD;AAAvB,+FAAA,OAAO,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":";;;AAAA,iCAAkC;AAAzB,iGAAA,QAAQ,OAAA;AACjB,qCAAqC;AAA5B,oGAAA,SAAS,OAAA;AAClB,+BAAgC;AAAvB,+FAAA,OAAO,OAAA;AAChB,+BAAgC;AAAvB,+FAAA,OAAO,OAAA"}
@@ -39,7 +39,7 @@ const path = __importStar(require("node:path"));
39
39
  const output_1 = require("../ui/output");
40
40
  const trajectory_1 = require("../store/trajectory");
41
41
  const budget_1 = require("../store/budget");
42
- const plan_exec_1 = require("../engine/pipeline/plan.exec");
42
+ const ensemble_exec_1 = require("../engine/pipeline/ensemble.exec");
43
43
  const runPlan = async (config) => {
44
44
  const specPath = path.join(config.buildDir, "spec.md");
45
45
  if (!fs.existsSync(specPath)) {
@@ -53,13 +53,20 @@ const runPlan = async (config) => {
53
53
  // Run planner
54
54
  (0, output_1.printInfo)("Running planner...");
55
55
  (0, trajectory_1.logTrajectory)(config.buildDir, (0, trajectory_1.makeTrajectoryEntry)("plan_start", null, "Planning started"));
56
- const { result, phases } = await (0, plan_exec_1.invokePlanner)(config);
56
+ const { phases, ensemble } = await (0, ensemble_exec_1.invokePlanner)(config);
57
+ // Record costs for each specialist
58
+ for (let i = 0; i < ensemble.specialistResults.length; i++) {
59
+ (0, budget_1.recordCost)(config.buildDir, "plan", "specialist", i, ensemble.specialistResults[i]);
60
+ }
61
+ (0, budget_1.recordCost)(config.buildDir, "plan", "synthesizer", 0, ensemble.synthesizerResult);
57
62
  (0, trajectory_1.logTrajectory)(config.buildDir, (0, trajectory_1.makeTrajectoryEntry)("plan_complete", null, `Generated ${phases.length} phases`, {
58
- duration: result.durationMs,
59
- tokens: { input: result.usage.inputTokens, output: result.usage.outputTokens },
60
- costUsd: result.costUsd,
63
+ duration: ensemble.totalDurationMs,
64
+ tokens: {
65
+ input: ensemble.specialistResults.reduce((sum, r) => sum + r.usage.inputTokens, 0) + ensemble.synthesizerResult.usage.inputTokens,
66
+ output: ensemble.specialistResults.reduce((sum, r) => sum + r.usage.outputTokens, 0) + ensemble.synthesizerResult.usage.outputTokens,
67
+ },
68
+ costUsd: ensemble.totalCostUsd,
61
69
  }));
62
- (0, budget_1.recordCost)(config.buildDir, "plan", "planner", 0, result);
63
70
  // Print summary
64
71
  (0, output_1.printInfo)(`\nPlan complete: ${phases.length} phases generated\n`);
65
72
  for (const phase of phases) {
@@ -68,7 +75,7 @@ const runPlan = async (config) => {
68
75
  const title = titleMatch ? titleMatch[1] : phase.id;
69
76
  (0, output_1.printInfo)(` ${phase.id}: ${title}`);
70
77
  }
71
- (0, output_1.printInfo)(`\nCost: $${result.costUsd.toFixed(2)}`);
78
+ (0, output_1.printInfo)(`\nCost: $${ensemble.totalCostUsd.toFixed(2)} (${ensemble.specialistResults.length} specialists + synthesizer)`);
72
79
  (0, output_1.printInfo)(`\nNext: ridgeline dry-run ${config.buildName}`);
73
80
  };
74
81
  exports.runPlan = runPlan;
@@ -1 +1 @@
1
- {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/commands/plan.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAA6B;AAC7B,gDAAiC;AAEjC,yCAAwC;AACxC,oDAAwE;AACxE,4CAA4C;AAC5C,4DAA4D;AAErD,MAAM,OAAO,GAAG,KAAK,EAAE,MAAuB,EAAiB,EAAE;IACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IACtD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,wBAAwB,QAAQ,yBAAyB,MAAM,CAAC,SAAS,UAAU,CAAC,CAAA;IACtG,CAAC;IACD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,+BAA+B,MAAM,CAAC,eAAe,EAAE,CAAC,CAAA;IAC1E,CAAC;IAED,0BAA0B;IAC1B,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAEnD,cAAc;IACd,IAAA,kBAAS,EAAC,oBAAoB,CAAC,CAAA;IAC/B,IAAA,0BAAa,EAAC,MAAM,CAAC,QAAQ,EAAE,IAAA,gCAAmB,EAAC,YAAY,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAA;IAE3F,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,yBAAa,EAAC,MAAM,CAAC,CAAA;IAEtD,IAAA,0BAAa,EAAC,MAAM,CAAC,QAAQ,EAAE,IAAA,gCAAmB,EAChD,eAAe,EAAE,IAAI,EAAE,aAAa,MAAM,CAAC,MAAM,SAAS,EAC1D;QACE,QAAQ,EAAE,MAAM,CAAC,UAAU;QAC3B,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE;QAC9E,OAAO,EAAE,MAAM,CAAC,OAAO;KACxB,CACF,CAAC,CAAA;IAEF,IAAA,mBAAU,EAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,CAAC,CAAA;IAEzD,gBAAgB;IAChB,IAAA,kBAAS,EAAC,oBAAoB,MAAM,CAAC,MAAM,qBAAqB,CAAC,CAAA;IACjE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QACxD,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;QAC9C,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAA;QACnD,IAAA,kBAAS,EAAC,KAAK,KAAK,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC,CAAA;IACtC,CAAC;IACD,IAAA,kBAAS,EAAC,YAAY,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IAClD,IAAA,kBAAS,EAAC,6BAA6B,MAAM,CAAC,SAAS,EAAE,CAAC,CAAA;AAC5D,CAAC,CAAA;AAvCY,QAAA,OAAO,WAuCnB"}
1
+ {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/commands/plan.ts"],"names":[],"mappings":"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"}
@@ -89,60 +89,98 @@ const resolveInput = (input) => {
89
89
  }
90
90
  return { type: "text", content: input };
91
91
  };
92
- const runSpec = async (buildName, opts) => {
93
- const ridgelineDir = path.join(process.cwd(), ".ridgeline");
94
- const buildDir = path.join(ridgelineDir, "builds", buildName);
95
- const phasesDir = path.join(buildDir, "phases");
96
- // Create directory structure
97
- fs.mkdirSync(phasesDir, { recursive: true });
98
- (0, output_1.printInfo)(`Created build directory: ${buildDir}`);
99
- // Check for existing project-level files
92
+ const collectExistingFileHints = (ridgelineDir) => {
93
+ let hints = "";
100
94
  const projectConstraints = path.join(ridgelineDir, "constraints.md");
101
95
  const projectTaste = path.join(ridgelineDir, "taste.md");
102
- let existingFileHints = "";
103
96
  if (fs.existsSync(projectConstraints)) {
104
- existingFileHints += `\nNote: Project-level constraints.md exists at ${projectConstraints}. The user may want to reuse it rather than creating a new one.\n`;
97
+ hints += `\nNote: Project-level constraints.md exists at ${projectConstraints}. The user may want to reuse it rather than creating a new one.\n`;
105
98
  }
106
99
  if (fs.existsSync(projectTaste)) {
107
- existingFileHints += `\nNote: Project-level taste.md exists at ${projectTaste}. The user may want to reuse it rather than creating a new one.\n`;
100
+ hints += `\nNote: Project-level taste.md exists at ${projectTaste}. The user may want to reuse it rather than creating a new one.\n`;
108
101
  }
109
- const systemPrompt = (0, agent_prompt_1.resolveAgentPrompt)("specifier.md");
110
- const timeoutMs = opts.timeout * 60 * 1000;
111
- // Set up readline for user interaction
112
- const rl = readline.createInterface({
113
- input: process.stdin,
114
- output: process.stdout,
115
- });
116
- try {
117
- // Step 1: Resolve input — file, natural language, or interactive prompt
118
- let inputContext = "";
119
- if (opts.input) {
120
- const resolved = resolveInput(opts.input);
121
- if (resolved.type === "file") {
122
- (0, output_1.printInfo)(`Using existing spec from: ${resolved.path}`);
123
- inputContext = resolved.content;
102
+ return hints;
103
+ };
104
+ const resolveInputContext = async (rl, input) => {
105
+ if (input) {
106
+ const resolved = resolveInput(input);
107
+ if (resolved.type === "file") {
108
+ (0, output_1.printInfo)(`Using existing spec from: ${resolved.path}`);
109
+ }
110
+ return resolved.content;
111
+ }
112
+ console.log("");
113
+ const answer = await askQuestion(rl, "Describe what you want to build:\n> ");
114
+ return answer || null;
115
+ };
116
+ const runClarificationLoop = async (rl, systemPrompt, opts, timeoutMs, initialResult) => {
117
+ let { sessionId, qa } = initialResult;
118
+ for (let round = 0; round < MAX_CLARIFICATION_ROUNDS && !qa.ready; round++) {
119
+ if (qa.summary) {
120
+ console.log(`\nHere's what I understand so far:\n ${qa.summary}`);
121
+ }
122
+ if (!qa.questions || qa.questions.length === 0)
123
+ break;
124
+ const normalized = qa.questions.map(normalizeQuestion);
125
+ console.log("\nI have a few questions:\n");
126
+ const answers = [];
127
+ for (let i = 0; i < normalized.length; i++) {
128
+ const q = normalized[i];
129
+ if (q.suggestedAnswer) {
130
+ console.log(` ${i + 1}. ${q.question}`);
131
+ console.log(` (suggested: ${q.suggestedAnswer})`);
132
+ const answer = await askQuestion(rl, ` > `);
133
+ answers.push(answer || q.suggestedAnswer);
124
134
  }
125
135
  else {
126
- inputContext = resolved.content;
136
+ const answer = await askQuestion(rl, ` ${i + 1}. ${q.question}\n > `);
137
+ answers.push(answer);
127
138
  }
128
139
  }
129
- // If no input provided, fall back to interactive prompt
140
+ console.log("\nProcessing your answers...");
141
+ const answersPrompt = normalized
142
+ .map((q, i) => `Q: ${q.question}\nA: ${answers[i]}`)
143
+ .join("\n\n");
144
+ const display = (0, stream_decode_1.createDisplayCallbacks)({ projectRoot: process.cwd() });
145
+ const result = await (0, claude_exec_1.invokeClaude)({
146
+ systemPrompt,
147
+ userPrompt: `User answers to follow-up questions:\n\n${answersPrompt}`,
148
+ model: opts.model,
149
+ cwd: process.cwd(),
150
+ timeoutMs,
151
+ sessionId,
152
+ jsonSchema: QA_JSON_SCHEMA,
153
+ onStdout: display.onStdout,
154
+ });
155
+ display.flush();
156
+ sessionId = result.sessionId;
157
+ qa = parseQAResponse(result.result);
158
+ }
159
+ return { sessionId, qa };
160
+ };
161
+ const runSpec = async (buildName, opts) => {
162
+ const ridgelineDir = path.join(process.cwd(), ".ridgeline");
163
+ const buildDir = path.join(ridgelineDir, "builds", buildName);
164
+ fs.mkdirSync(path.join(buildDir, "phases"), { recursive: true });
165
+ (0, output_1.printInfo)(`Created build directory: ${buildDir}`);
166
+ const existingFileHints = collectExistingFileHints(ridgelineDir);
167
+ const systemPrompt = (0, agent_prompt_1.resolveAgentPrompt)("specifier.md");
168
+ const timeoutMs = opts.timeout * 60 * 1000;
169
+ const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
170
+ try {
171
+ const inputContext = await resolveInputContext(rl, opts.input);
130
172
  if (!inputContext) {
131
- console.log("");
132
- inputContext = await askQuestion(rl, "Describe what you want to build:\n> ");
133
- if (!inputContext) {
134
- (0, output_1.printError)("A description is required");
135
- return;
136
- }
173
+ (0, output_1.printError)("A description is required");
174
+ return;
137
175
  }
138
- // Step 2: Intake turn — send input to Claude
176
+ // Intake turn
139
177
  console.log("\nAnalyzing your input...");
140
178
  let userPrompt = `The user wants to create a new build called "${buildName}".\n\nUser-provided input:\n${inputContext}\n\nIf this input is detailed enough to answer all your questions, signal ready immediately and include a summary of what you understood. If you still have questions, include them — but for any question that the input already answers, include the question along with your best answer derived from the input so the user can confirm or correct.`;
141
179
  if (existingFileHints) {
142
180
  userPrompt += `\n\n## Existing Project Files\n${existingFileHints}`;
143
181
  }
144
- let display = (0, stream_decode_1.createDisplayCallbacks)();
145
- let result = await (0, claude_exec_1.invokeClaude)({
182
+ let display = (0, stream_decode_1.createDisplayCallbacks)({ projectRoot: process.cwd() });
183
+ const intakeResult = await (0, claude_exec_1.invokeClaude)({
146
184
  systemPrompt,
147
185
  userPrompt,
148
186
  model: opts.model,
@@ -152,63 +190,17 @@ const runSpec = async (buildName, opts) => {
152
190
  onStdout: display.onStdout,
153
191
  });
154
192
  display.flush();
155
- let sessionId = result.sessionId;
156
- let qa = parseQAResponse(result.result);
157
- // Step 3: Clarification loop
158
- for (let round = 0; round < MAX_CLARIFICATION_ROUNDS && !qa.ready; round++) {
159
- // Display summary if present
160
- if (qa.summary) {
161
- console.log(`\nHere's what I understand so far:\n ${qa.summary}`);
162
- }
163
- // Display and collect answers to questions
164
- if (qa.questions && qa.questions.length > 0) {
165
- const normalized = qa.questions.map(normalizeQuestion);
166
- console.log("\nI have a few questions:\n");
167
- const answers = [];
168
- for (let i = 0; i < normalized.length; i++) {
169
- const q = normalized[i];
170
- if (q.suggestedAnswer) {
171
- console.log(` ${i + 1}. ${q.question}`);
172
- console.log(` (suggested: ${q.suggestedAnswer})`);
173
- const answer = await askQuestion(rl, ` > `);
174
- answers.push(answer || q.suggestedAnswer);
175
- }
176
- else {
177
- const answer = await askQuestion(rl, ` ${i + 1}. ${q.question}\n > `);
178
- answers.push(answer);
179
- }
180
- }
181
- // Send answers back to Claude
182
- console.log("\nProcessing your answers...");
183
- const answersPrompt = normalized
184
- .map((q, i) => `Q: ${q.question}\nA: ${answers[i]}`)
185
- .join("\n\n");
186
- display = (0, stream_decode_1.createDisplayCallbacks)();
187
- result = await (0, claude_exec_1.invokeClaude)({
188
- systemPrompt,
189
- userPrompt: `User answers to follow-up questions:\n\n${answersPrompt}`,
190
- model: opts.model,
191
- cwd: process.cwd(),
192
- timeoutMs,
193
- sessionId,
194
- jsonSchema: QA_JSON_SCHEMA,
195
- onStdout: display.onStdout,
196
- });
197
- display.flush();
198
- sessionId = result.sessionId;
199
- qa = parseQAResponse(result.result);
200
- }
201
- else {
202
- // No questions but not ready — shouldn't happen, but break to avoid infinite loop
203
- break;
204
- }
205
- }
206
- // Step 4: Generation turn
193
+ // Clarification loop
194
+ const { sessionId, qa } = await runClarificationLoop(rl, systemPrompt, opts, timeoutMs, {
195
+ sessionId: intakeResult.sessionId,
196
+ qa: parseQAResponse(intakeResult.result),
197
+ });
198
+ // Generation turn
207
199
  if (qa.summary) {
208
200
  console.log(`\nFinal understanding:\n ${qa.summary}`);
209
201
  }
210
202
  console.log("\nGenerating build files...");
211
- display = (0, stream_decode_1.createDisplayCallbacks)();
203
+ display = (0, stream_decode_1.createDisplayCallbacks)({ projectRoot: process.cwd() });
212
204
  await (0, claude_exec_1.invokeClaude)({
213
205
  systemPrompt,
214
206
  userPrompt: `Generate the build input files now. Write them to: ${buildDir}/\n\nUse the Write tool to create spec.md, constraints.md, and optionally taste.md in that directory.`,
@@ -220,14 +212,10 @@ const runSpec = async (buildName, opts) => {
220
212
  onStdout: display.onStdout,
221
213
  });
222
214
  display.flush();
223
- // Step 5: Verify and report
215
+ // Verify and report
224
216
  console.log("");
225
- const createdFiles = [];
226
- for (const filename of ["spec.md", "constraints.md", "taste.md"]) {
227
- if (fs.existsSync(path.join(buildDir, filename))) {
228
- createdFiles.push(filename);
229
- }
230
- }
217
+ const createdFiles = ["spec.md", "constraints.md", "taste.md"]
218
+ .filter((f) => fs.existsSync(path.join(buildDir, f)));
231
219
  if (createdFiles.length === 0) {
232
220
  (0, output_1.printError)("No build files were created. Try running spec again.");
233
221
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"spec.js","sourceRoot":"","sources":["../../src/commands/spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spec.js","sourceRoot":"","sources":["../../src/commands/spec.ts"],"names":[],"mappings":"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"}
package/dist/config.js CHANGED
@@ -85,6 +85,7 @@ const resolveConfig = (buildName, opts) => {
85
85
  unsafe: opts.unsafe === true,
86
86
  networkAllowlist: (0, settings_1.resolveNetworkAllowlist)(ridgelineDir),
87
87
  worktreePath: null,
88
+ extraContext: opts.context ?? null,
88
89
  };
89
90
  };
90
91
  exports.resolveConfig = resolveConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAA6B;AAC7B,gDAAiC;AAEjC,2CAA+D;AAC/D,+CAA0D;AAE1D,4CAA4C;AACrC,MAAM,WAAW,GAAG,GAAW,EAAE;IACtC,wDAAwD;IACxD,KAAK,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;QACjH,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAA;YACrD,IAAI,GAAG,CAAC,OAAO;gBAAE,OAAO,GAAG,CAAC,OAAO,CAAA;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,gBAAgB;QAClB,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAXY,QAAA,WAAW,eAWvB;AAED,6CAA6C;AACtC,MAAM,aAAa,GAAG,CAAC,SAAiB,EAAE,IAAkD,EAAmB,EAAE;IACtH,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;IAC7D,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAE/C,MAAM,eAAe,GAAG,IAAA,oBAAW,EACjC,IAAI,CAAC,WAAiC,EACtC,QAAQ,EACR,gBAAgB,EAChB,YAAY,CACb,CAAA;IACD,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CACb,sCAAsC;YACtC,OAAO,QAAQ,mBAAmB;YAClC,OAAO,YAAY,mBAAmB;YACtC,mCAAmC,SAAS,gCAAgC,CAC7E,CAAA;IACH,CAAC;IAED,MAAM,SAAS,GAAG,IAAA,oBAAW,EAC3B,IAAI,CAAC,KAA2B,EAChC,QAAQ,EACR,UAAU,EACV,YAAY,CACb,CAAA;IAED,MAAM,YAAY,GAAI,IAAI,CAAC,KAAgB,IAAI,IAAA,0BAAiB,EAAC,eAAe,CAAC,CAAA;IAEjF,OAAO;QACL,SAAS;QACT,YAAY;QACZ,QAAQ;QACR,eAAe;QACf,SAAS;QACT,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC;QAC9C,SAAS;QACT,KAAK,EAAG,IAAI,CAAC,KAAgB,IAAI,MAAM;QACvC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;QACxD,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC;QAC3D,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;QACtE,YAAY;QACZ,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;QAC9E,MAAM,EAAE,IAAI,CAAC,MAAM,KAAK,IAAI;QAC5B,gBAAgB,EAAE,IAAA,kCAAuB,EAAC,YAAY,CAAC;QACvD,YAAY,EAAE,IAAI;KACnB,CAAA;AACH,CAAC,CAAA;AA/CY,QAAA,aAAa,iBA+CzB"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import { SandboxProvider } from "./sandbox";
1
+ import { SandboxProvider } from "./sandbox.types";
2
2
  export declare const bwrapProvider: SandboxProvider;
@@ -1,11 +1,6 @@
1
- export type SandboxProvider = {
2
- name: "bwrap" | "greywall";
3
- command: string;
4
- buildArgs: (repoRoot: string, networkAllowlist: string[], additionalWritePaths?: string[]) => string[];
5
- /** Check if the sandbox is ready to use. Returns null if ready, or an error message. */
6
- checkReady?: () => string | null;
7
- };
8
- export type SandboxDetectionResult = {
1
+ import type { SandboxProvider } from "./sandbox.types";
2
+ export type { SandboxProvider } from "./sandbox.types";
3
+ type SandboxDetectionResult = {
9
4
  provider: SandboxProvider | null;
10
5
  warning: string | null;
11
6
  };
@@ -1,2 +1,2 @@
1
- import { SandboxProvider } from "./sandbox";
1
+ import { SandboxProvider } from "./sandbox.types";
2
2
  export declare const greywallProvider: SandboxProvider;
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../../../src/engine/claude/sandbox.ts"],"names":[],"mappings":";;;AAAA,2DAAiD;AACjD,mDAA+C;AAC/C,yDAAqD;AAUrD,MAAM,WAAW,GAAG,CAAC,GAAW,EAAW,EAAE;IAC3C,IAAI,CAAC;QACH,IAAA,iCAAY,EAAC,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAA;QACjE,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC,CAAA;AAOM,MAAM,aAAa,GAAG,GAA2B,EAAE;IACxD,iEAAiE;IACjE,IAAI,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,MAAM,UAAU,GAAG,mCAAgB,CAAC,UAAU,EAAE,EAAE,IAAI,IAAI,CAAA;QAC1D,IAAI,UAAU,EAAE,CAAC;YACf,OAAO;gBACL,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,wCAAwC,UAAU,qCAAqC;aACjG,CAAA;QACH,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,mCAAgB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IACtD,CAAC;IAED,yDAAyD;IACzD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;QACzD,OAAO,EAAE,QAAQ,EAAE,6BAAa,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IACnD,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;AAC1C,CAAC,CAAA;AAnBY,QAAA,aAAa,iBAmBzB"}
1
+ {"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../../../src/engine/claude/sandbox.ts"],"names":[],"mappings":";;;AAAA,2DAAiD;AACjD,mDAA+C;AAC/C,yDAAqD;AAIrD,MAAM,WAAW,GAAG,CAAC,GAAW,EAAW,EAAE;IAC3C,IAAI,CAAC;QACH,IAAA,iCAAY,EAAC,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAA;QACjE,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC,CAAA;AAOM,MAAM,aAAa,GAAG,GAA2B,EAAE;IACxD,iEAAiE;IACjE,IAAI,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,MAAM,UAAU,GAAG,mCAAgB,CAAC,UAAU,EAAE,EAAE,IAAI,IAAI,CAAA;QAC1D,IAAI,UAAU,EAAE,CAAC;YACf,OAAO;gBACL,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,wCAAwC,UAAU,qCAAqC;aACjG,CAAA;QACH,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,mCAAgB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IACtD,CAAC;IAED,yDAAyD;IACzD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;QACzD,OAAO,EAAE,QAAQ,EAAE,6BAAa,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IACnD,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;AAC1C,CAAC,CAAA;AAnBY,QAAA,aAAa,iBAmBzB"}
@@ -0,0 +1,7 @@
1
+ export type SandboxProvider = {
2
+ name: "bwrap" | "greywall";
3
+ command: string;
4
+ buildArgs: (repoRoot: string, networkAllowlist: string[], additionalWritePaths?: string[]) => string[];
5
+ /** Check if the sandbox is ready to use. Returns null if ready, or an error message. */
6
+ checkReady?: () => string | null;
7
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=sandbox.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox.types.js","sourceRoot":"","sources":["../../../src/engine/claude/sandbox.types.ts"],"names":[],"mappings":""}
@@ -23,9 +23,11 @@ export declare const createStreamHandler: (onEvent: (event: StreamEvent) => void
23
23
  * and return a parsed ClaudeResult.
24
24
  */
25
25
  export declare const extractResult: (ndjsonStdout: string) => ClaudeResult;
26
- export interface DisplayCallbackOptions {
26
+ interface DisplayCallbackOptions {
27
27
  /** Suppress fenced JSON blocks (```json ... ```) from display output. */
28
28
  suppressJsonBlock?: boolean;
29
+ /** When set, strip this prefix from tool-call file paths so the display shows relative paths. */
30
+ projectRoot?: string;
29
31
  }
30
32
  /**
31
33
  * Create an onStdout callback that streams assistant text to stdout.
@@ -37,3 +39,4 @@ export declare const createDisplayCallbacks: (opts?: DisplayCallbackOptions) =>
37
39
  onStdout: (chunk: string) => void;
38
40
  flush: () => void;
39
41
  };
42
+ export {};
@@ -180,8 +180,14 @@ const createDisplayCallbacks = (opts) => {
180
180
  scheduleResume();
181
181
  }
182
182
  else if (event.type === "tool_use") {
183
- const line = event.summary
184
- ? `[${event.tool}] ${event.summary}`
183
+ let summary = event.summary;
184
+ if (summary && opts?.projectRoot && summary.startsWith(opts.projectRoot)) {
185
+ summary = summary.slice(opts.projectRoot.length);
186
+ if (summary.startsWith("/"))
187
+ summary = summary.slice(1);
188
+ }
189
+ const line = summary
190
+ ? `[${event.tool}] ${summary}`
185
191
  : `[${event.tool}]`;
186
192
  spinner.printAbove(line);
187
193
  spinner.setDetail(event.tool);
@@ -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,7 +11,6 @@ type Frontmatter = {
11
11
  model: string | null;
12
12
  };
13
13
  export declare const parseFrontmatter: (content: string) => Frontmatter | null;
14
- export declare const resolveSpecialistsDir: () => string | null;
15
14
  export declare const discoverAgentsInDir: (dir: string) => DiscoveredAgent[];
16
15
  export declare const discoverBuiltinAgents: () => DiscoveredAgent[];
17
16
  export declare const buildAgentsFlag: (agents: DiscoveredAgent[]) => Record<string, {
@@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.buildAgentsFlag = exports.discoverBuiltinAgents = exports.discoverAgentsInDir = exports.resolveSpecialistsDir = exports.parseFrontmatter = void 0;
36
+ exports.buildAgentsFlag = exports.discoverBuiltinAgents = exports.discoverAgentsInDir = exports.parseFrontmatter = void 0;
37
37
  const fs = __importStar(require("node:fs"));
38
38
  const path = __importStar(require("node:path"));
39
39
  const parseFrontmatter = (content) => {
@@ -65,7 +65,6 @@ const resolveSpecialistsDir = () => {
65
65
  }
66
66
  return null;
67
67
  };
68
- exports.resolveSpecialistsDir = resolveSpecialistsDir;
69
68
  const discoverAgentsInDir = (dir) => {
70
69
  if (!fs.existsSync(dir) || !fs.statSync(dir).isDirectory())
71
70
  return [];
@@ -95,7 +94,7 @@ const discoverAgentsInDir = (dir) => {
95
94
  };
96
95
  exports.discoverAgentsInDir = discoverAgentsInDir;
97
96
  const discoverBuiltinAgents = () => {
98
- const specialistsDir = (0, exports.resolveSpecialistsDir)();
97
+ const specialistsDir = resolveSpecialistsDir();
99
98
  if (!specialistsDir)
100
99
  return [];
101
100
  return (0, exports.discoverAgentsInDir)(specialistsDir);
@@ -1 +1 @@
1
- {"version":3,"file":"agent.scan.js","sourceRoot":"","sources":["../../../src/engine/discovery/agent.scan.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAA6B;AAC7B,gDAAiC;AAgB1B,MAAM,gBAAgB,GAAG,CAAC,OAAe,EAAsB,EAAE;IACtE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAA;IACpD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAA;IAEvB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;IACtB,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;IAChD,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAA;IACvD,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAA;IAEzC,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAA;IAElD,OAAO;QACL,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;QACzB,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;QAChC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI;KAChD,CAAA;AACH,CAAC,CAAA;AAhBY,QAAA,gBAAgB,oBAgB5B;AAEM,MAAM,qBAAqB,GAAG,GAAkB,EAAE;IACvD,MAAM,UAAU,GAAG;QACjB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,aAAa,CAAC;QAC7C,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,CAAC;QACnD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,CAAC;KACjE,CAAA;IACD,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE;YAAE,OAAO,GAAG,CAAA;IACtE,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAVY,QAAA,qBAAqB,yBAUjC;AAEM,MAAM,mBAAmB,GAAG,CACjC,GAAW,EACQ,EAAE;IACrB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE;QAAE,OAAO,EAAE,CAAA;IAErE,MAAM,MAAM,GAAsB,EAAE,CAAA;IAEpC,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;QACxC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,SAAQ;QAEpC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACtC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;YAClD,MAAM,EAAE,GAAG,IAAA,wBAAgB,EAAC,OAAO,CAAC,CAAA;YACpC,IAAI,CAAC,EAAE;gBAAE,SAAQ;YAEjB,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,EAAE,CAAC,IAAI;gBACb,WAAW,EAAE,EAAE,CAAC,WAAW;gBAC3B,MAAM,EAAE,OAAO;gBACf,KAAK,EAAE,EAAE,CAAC,KAAK;gBACf,QAAQ,EAAE,KAAK;aAChB,CAAC,CAAA;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,wBAAwB;QAC1B,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AA7BY,QAAA,mBAAmB,uBA6B/B;AAEM,MAAM,qBAAqB,GAAG,GAAsB,EAAE;IAC3D,MAAM,cAAc,GAAG,IAAA,6BAAqB,GAAE,CAAA;IAC9C,IAAI,CAAC,cAAc;QAAE,OAAO,EAAE,CAAA;IAC9B,OAAO,IAAA,2BAAmB,EAAC,cAAc,CAAC,CAAA;AAC5C,CAAC,CAAA;AAJY,QAAA,qBAAqB,yBAIjC;AAEM,MAAM,eAAe,GAAG,CAC7B,MAAyB,EACgD,EAAE;IAC3E,MAAM,MAAM,GAA4E,EAAE,CAAA;IAE1F,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,KAAK,GAA4D;YACrE,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB,CAAA;QACD,IAAI,KAAK,CAAC,KAAK;YAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA;QAE1C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAA;IAC5B,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAhBY,QAAA,eAAe,mBAgB3B"}
1
+ {"version":3,"file":"agent.scan.js","sourceRoot":"","sources":["../../../src/engine/discovery/agent.scan.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  export { resolveAgentPrompt } from './claude/agent.prompt';
2
- export { type DiscoveredAgent, parseFrontmatter, resolveSpecialistsDir, discoverAgentsInDir, discoverBuiltinAgents, buildAgentsFlag, } from './discovery/agent.scan';
2
+ export { type DiscoveredAgent, parseFrontmatter, discoverAgentsInDir, discoverBuiltinAgents, buildAgentsFlag, } from './discovery/agent.scan';
3
3
  export { invokeBuilder } from './pipeline/build.exec';
4
4
  export { type InvokeOptions, invokeClaude } from './claude/claude.exec';
5
5
  export { runPhase } from './pipeline/phase.sequence';
6
- export { invokePlanner } from './pipeline/plan.exec';
7
- export { type PluginDir, discoverPluginDirs, cleanupPluginDirs, } from './discovery/plugin.scan';
6
+ export { invokePlanner } from './pipeline/ensemble.exec';
7
+ export { discoverPluginDirs, cleanupPluginDirs, } from './discovery/plugin.scan';
8
8
  export { invokeReviewer } from './pipeline/review.exec';
9
- export { type StreamEvent, parseStreamLine, createStreamHandler, extractResult, createDisplayCallbacks, } from './claude/stream.decode';
9
+ export { parseStreamLine, createStreamHandler, extractResult, createDisplayCallbacks, } from './claude/stream.decode';
@@ -1,11 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createDisplayCallbacks = exports.extractResult = exports.createStreamHandler = exports.parseStreamLine = exports.invokeReviewer = exports.cleanupPluginDirs = exports.discoverPluginDirs = exports.invokePlanner = exports.runPhase = exports.invokeClaude = exports.invokeBuilder = exports.buildAgentsFlag = exports.discoverBuiltinAgents = exports.discoverAgentsInDir = exports.resolveSpecialistsDir = exports.parseFrontmatter = exports.resolveAgentPrompt = void 0;
3
+ exports.createDisplayCallbacks = exports.extractResult = exports.createStreamHandler = exports.parseStreamLine = exports.invokeReviewer = exports.cleanupPluginDirs = exports.discoverPluginDirs = exports.invokePlanner = exports.runPhase = exports.invokeClaude = exports.invokeBuilder = exports.buildAgentsFlag = exports.discoverBuiltinAgents = exports.discoverAgentsInDir = exports.parseFrontmatter = exports.resolveAgentPrompt = void 0;
4
4
  var agent_prompt_1 = require("./claude/agent.prompt");
5
5
  Object.defineProperty(exports, "resolveAgentPrompt", { enumerable: true, get: function () { return agent_prompt_1.resolveAgentPrompt; } });
6
6
  var agent_scan_1 = require("./discovery/agent.scan");
7
7
  Object.defineProperty(exports, "parseFrontmatter", { enumerable: true, get: function () { return agent_scan_1.parseFrontmatter; } });
8
- Object.defineProperty(exports, "resolveSpecialistsDir", { enumerable: true, get: function () { return agent_scan_1.resolveSpecialistsDir; } });
9
8
  Object.defineProperty(exports, "discoverAgentsInDir", { enumerable: true, get: function () { return agent_scan_1.discoverAgentsInDir; } });
10
9
  Object.defineProperty(exports, "discoverBuiltinAgents", { enumerable: true, get: function () { return agent_scan_1.discoverBuiltinAgents; } });
11
10
  Object.defineProperty(exports, "buildAgentsFlag", { enumerable: true, get: function () { return agent_scan_1.buildAgentsFlag; } });
@@ -15,8 +14,8 @@ var claude_exec_1 = require("./claude/claude.exec");
15
14
  Object.defineProperty(exports, "invokeClaude", { enumerable: true, get: function () { return claude_exec_1.invokeClaude; } });
16
15
  var phase_sequence_1 = require("./pipeline/phase.sequence");
17
16
  Object.defineProperty(exports, "runPhase", { enumerable: true, get: function () { return phase_sequence_1.runPhase; } });
18
- var plan_exec_1 = require("./pipeline/plan.exec");
19
- Object.defineProperty(exports, "invokePlanner", { enumerable: true, get: function () { return plan_exec_1.invokePlanner; } });
17
+ var ensemble_exec_1 = require("./pipeline/ensemble.exec");
18
+ Object.defineProperty(exports, "invokePlanner", { enumerable: true, get: function () { return ensemble_exec_1.invokePlanner; } });
20
19
  var plugin_scan_1 = require("./discovery/plugin.scan");
21
20
  Object.defineProperty(exports, "discoverPluginDirs", { enumerable: true, get: function () { return plugin_scan_1.discoverPluginDirs; } });
22
21
  Object.defineProperty(exports, "cleanupPluginDirs", { enumerable: true, get: function () { return plugin_scan_1.cleanupPluginDirs; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/engine/index.ts"],"names":[],"mappings":";;;AAAA,sDAA0D;AAAjD,kHAAA,kBAAkB,OAAA;AAC3B,qDAO+B;AAL7B,8GAAA,gBAAgB,OAAA;AAChB,mHAAA,qBAAqB,OAAA;AACrB,iHAAA,mBAAmB,OAAA;AACnB,mHAAA,qBAAqB,OAAA;AACrB,6GAAA,eAAe,OAAA;AAEjB,oDAAqD;AAA5C,2GAAA,aAAa,OAAA;AACtB,oDAAuE;AAA1C,2GAAA,YAAY,OAAA;AACzC,4DAAoD;AAA3C,0GAAA,QAAQ,OAAA;AACjB,kDAAoD;AAA3C,0GAAA,aAAa,OAAA;AACtB,uDAIgC;AAF9B,iHAAA,kBAAkB,OAAA;AAClB,gHAAA,iBAAiB,OAAA;AAEnB,sDAAuD;AAA9C,6GAAA,cAAc,OAAA;AACvB,wDAM+B;AAJ7B,gHAAA,eAAe,OAAA;AACf,oHAAA,mBAAmB,OAAA;AACnB,8GAAA,aAAa,OAAA;AACb,uHAAA,sBAAsB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/engine/index.ts"],"names":[],"mappings":";;;AAAA,sDAA0D;AAAjD,kHAAA,kBAAkB,OAAA;AAC3B,qDAM+B;AAJ7B,8GAAA,gBAAgB,OAAA;AAChB,iHAAA,mBAAmB,OAAA;AACnB,mHAAA,qBAAqB,OAAA;AACrB,6GAAA,eAAe,OAAA;AAEjB,oDAAqD;AAA5C,2GAAA,aAAa,OAAA;AACtB,oDAAuE;AAA1C,2GAAA,YAAY,OAAA;AACzC,4DAAoD;AAA3C,0GAAA,QAAQ,OAAA;AACjB,0DAAwD;AAA/C,8GAAA,aAAa,OAAA;AACtB,uDAGgC;AAF9B,iHAAA,kBAAkB,OAAA;AAClB,gHAAA,iBAAiB,OAAA;AAEnB,sDAAuD;AAA9C,6GAAA,cAAc,OAAA;AACvB,wDAK+B;AAJ7B,gHAAA,eAAe,OAAA;AACf,oHAAA,mBAAmB,OAAA;AACnB,8GAAA,aAAa,OAAA;AACb,uHAAA,sBAAsB,OAAA"}