@copilot-swarm/core 0.0.11 → 0.0.13
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/checkpoint.d.ts +22 -1
- package/dist/checkpoint.d.ts.map +1 -1
- package/dist/checkpoint.js +65 -0
- package/dist/checkpoint.js.map +1 -1
- package/dist/checkpoint.test.js +47 -1
- package/dist/checkpoint.test.js.map +1 -1
- package/dist/config.d.ts +3 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +11 -1
- package/dist/config.js.map +1 -1
- package/dist/index.js +15 -0
- package/dist/index.js.map +1 -1
- package/dist/messages.d.ts +4 -0
- package/dist/messages.d.ts.map +1 -1
- package/dist/messages.js +5 -0
- package/dist/messages.js.map +1 -1
- package/dist/orchestrator.d.ts +3 -1
- package/dist/orchestrator.d.ts.map +1 -1
- package/dist/orchestrator.js +7 -4
- package/dist/orchestrator.js.map +1 -1
- package/dist/pipeline-engine.d.ts +5 -1
- package/dist/pipeline-engine.d.ts.map +1 -1
- package/dist/pipeline-engine.js +40 -4
- package/dist/pipeline-engine.js.map +1 -1
- package/dist/planning-engine.d.ts +1 -6
- package/dist/planning-engine.d.ts.map +1 -1
- package/dist/planning-engine.js +80 -49
- package/dist/planning-engine.js.map +1 -1
- package/dist/textarea.d.ts +25 -1
- package/dist/textarea.d.ts.map +1 -1
- package/dist/textarea.js +591 -100
- package/dist/textarea.js.map +1 -1
- package/dist/tui-renderer.d.ts +2 -0
- package/dist/tui-renderer.d.ts.map +1 -1
- package/dist/tui-renderer.js +36 -3
- package/dist/tui-renderer.js.map +1 -1
- package/package.json +1 -1
package/dist/pipeline-engine.js
CHANGED
|
@@ -16,13 +16,18 @@ export class PipelineEngine {
|
|
|
16
16
|
activePhaseKey = null;
|
|
17
17
|
phaseDraft = null;
|
|
18
18
|
iterationProgress = {};
|
|
19
|
-
|
|
19
|
+
/** Previous run context — set for review mode. */
|
|
20
|
+
reviewContext;
|
|
21
|
+
reviewFeedback;
|
|
22
|
+
constructor(config, pipeline, logger, tracker, reviewContext) {
|
|
20
23
|
this.config = config;
|
|
21
24
|
this.pipeline = pipeline;
|
|
22
25
|
this.logger = logger;
|
|
23
26
|
this.tracker = tracker;
|
|
24
27
|
this.effectiveConfig = config;
|
|
25
28
|
this.sessions = new SessionManager(config, pipeline, logger);
|
|
29
|
+
this.reviewContext = reviewContext ?? null;
|
|
30
|
+
this.reviewFeedback = config.command === "review" ? config.issueBody : "";
|
|
26
31
|
}
|
|
27
32
|
async start() {
|
|
28
33
|
await this.sessions.start();
|
|
@@ -71,6 +76,21 @@ export class PipelineEngine {
|
|
|
71
76
|
this.logger.warn(msg.noCheckpoint);
|
|
72
77
|
}
|
|
73
78
|
}
|
|
79
|
+
// Review mode: pre-fill context from previous run, skip spec/decompose/design
|
|
80
|
+
if (this.reviewContext) {
|
|
81
|
+
this.logger.info(msg.reviewLoadedContext(this.reviewContext.runId));
|
|
82
|
+
ctx.spec = this.reviewContext.spec;
|
|
83
|
+
ctx.tasks = this.reviewContext.tasks;
|
|
84
|
+
ctx.designSpec = this.reviewContext.designSpec;
|
|
85
|
+
// streamResults are kept empty — implement phase will re-run with feedback + previous output
|
|
86
|
+
// Mark all phases before implement as completed so they're skipped
|
|
87
|
+
for (let i = 0; i < this.pipeline.pipeline.length; i++) {
|
|
88
|
+
const p = this.pipeline.pipeline[i];
|
|
89
|
+
if (p.phase === "implement")
|
|
90
|
+
break;
|
|
91
|
+
completedPhases.add(`${p.phase}-${i}`);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
74
94
|
// Closure that saves the full checkpoint including iteration state
|
|
75
95
|
const saveProgress = async () => {
|
|
76
96
|
await saveCheckpoint(this.effectiveConfig, {
|
|
@@ -81,6 +101,7 @@ export class PipelineEngine {
|
|
|
81
101
|
streamResults: ctx.streamResults,
|
|
82
102
|
issueBody: this.effectiveConfig.issueBody,
|
|
83
103
|
runId: this.effectiveConfig.runId,
|
|
104
|
+
mode: this.reviewContext ? "review" : "run",
|
|
84
105
|
activePhase: this.activePhaseKey ?? undefined,
|
|
85
106
|
phaseDraft: this.phaseDraft ?? undefined,
|
|
86
107
|
iterationProgress: Object.keys(this.iterationProgress).length > 0 ? this.iterationProgress : undefined,
|
|
@@ -291,9 +312,24 @@ export class PipelineEngine {
|
|
|
291
312
|
else {
|
|
292
313
|
this.logger.info(msg.streamEngineering(label));
|
|
293
314
|
this.tracker?.updateStream(idx, "engineering");
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
315
|
+
let engineeringPrompt;
|
|
316
|
+
const prevOutput = this.reviewContext?.streamResults[idx] ? this.reviewContext.streamResults[idx] : "";
|
|
317
|
+
if (prevOutput) {
|
|
318
|
+
// Review mode: engineer sees previous output + user feedback
|
|
319
|
+
const base = isFrontendTask(task)
|
|
320
|
+
? `Spec:\n${ctx.spec}\n\nDesign:\n${ctx.designSpec}\n\nTask:\n${task}`
|
|
321
|
+
: `Spec:\n${ctx.spec}\n\nTask:\n${task}`;
|
|
322
|
+
engineeringPrompt =
|
|
323
|
+
`${base}\n\n## Previous Implementation\n\n${prevOutput}\n\n` +
|
|
324
|
+
`## Review Feedback\n\n${this.reviewFeedback}\n\n` +
|
|
325
|
+
"Fix the issues described in the review feedback. Keep everything that works correctly, " +
|
|
326
|
+
"only change what needs to be fixed or improved.";
|
|
327
|
+
}
|
|
328
|
+
else {
|
|
329
|
+
engineeringPrompt = isFrontendTask(task)
|
|
330
|
+
? `Spec:\n${ctx.spec}\n\nDesign:\n${ctx.designSpec}\n\nTask:\n${task}\n\nImplement this task.`
|
|
331
|
+
: `Spec:\n${ctx.spec}\n\nTask:\n${task}\n\nImplement this task.`;
|
|
332
|
+
}
|
|
297
333
|
code = await this.sessions.send(session, engineeringPrompt, `${phase.agent} (${label}) is implementing…`);
|
|
298
334
|
sessionPrimed = true;
|
|
299
335
|
// Engineer-to-PM clarification: if the engineer signals ambiguity, consult the PM
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline-engine.js","sourceRoot":"","sources":["../src/pipeline-engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pipeline-engine.js","sourceRoot":"","sources":["../src/pipeline-engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,7 @@ export declare class PlanningEngine {
|
|
|
12
12
|
private readonly sessions;
|
|
13
13
|
private activePhaseKey;
|
|
14
14
|
private iterationProgress;
|
|
15
|
+
private answeredQuestions;
|
|
15
16
|
constructor(config: SwarmConfig, pipeline: PipelineConfig, logger: Logger, tracker?: ProgressTracker | undefined, renderer?: TuiRenderer | undefined);
|
|
16
17
|
start(): Promise<void>;
|
|
17
18
|
stop(): Promise<void>;
|
|
@@ -31,12 +32,6 @@ export declare class PlanningEngine {
|
|
|
31
32
|
* The agent asks questions, user answers, until the agent signals the keyword.
|
|
32
33
|
*/
|
|
33
34
|
private clarifyWithRole;
|
|
34
|
-
/**
|
|
35
|
-
* Reads multi-line input from the user. Lines are collected until the user
|
|
36
|
-
* submits an empty line (presses Enter twice). Literal `\n` sequences typed
|
|
37
|
-
* by the user are converted to real newlines.
|
|
38
|
-
*/
|
|
39
|
-
private readMultiLineInput;
|
|
40
35
|
private analyzeCodebase;
|
|
41
36
|
}
|
|
42
37
|
//# sourceMappingURL=planning-engine.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"planning-engine.d.ts","sourceRoot":"","sources":["../src/planning-engine.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"planning-engine.d.ts","sourceRoot":"","sources":["../src/planning-engine.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAG1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAG7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAkHrD,qBAAa,cAAc;IAOvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;IACzB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAV5B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;IAC1C,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,iBAAiB,CAAyC;IAClE,OAAO,CAAC,iBAAiB,CAAgC;gBAGtC,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,eAAe,YAAA,EACzB,QAAQ,CAAC,EAAE,WAAW,YAAA;IAKnC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAiQ9B;;;OAGG;YACW,UAAU;IA6DxB;;OAEG;YACW,gBAAgB;YA2DhB,mBAAmB;IAqGjC;;;OAGG;YACW,eAAe;YA0Ff,eAAe;CAqB9B"}
|
package/dist/planning-engine.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import * as fs from "node:fs/promises";
|
|
2
2
|
import * as path from "node:path";
|
|
3
|
-
import * as readline from "node:readline/promises";
|
|
4
3
|
import { clearCheckpoint, loadCheckpoint, saveCheckpoint } from "./checkpoint.js";
|
|
5
4
|
import { ResponseKeyword } from "./constants.js";
|
|
6
5
|
import { msg } from "./messages.js";
|
|
7
6
|
import { plansDir } from "./paths.js";
|
|
8
7
|
import { SessionManager } from "./session.js";
|
|
8
|
+
import { openSplitEditor } from "./textarea.js";
|
|
9
9
|
import { responseContains } from "./utils.js";
|
|
10
10
|
const MAX_CLARIFICATION_ROUNDS = 10;
|
|
11
11
|
const PLANNER_INSTRUCTIONS = `You are a Senior Product Manager conducting a requirements clarification session with a user.
|
|
@@ -117,6 +117,7 @@ export class PlanningEngine {
|
|
|
117
117
|
sessions;
|
|
118
118
|
activePhaseKey = null;
|
|
119
119
|
iterationProgress = {};
|
|
120
|
+
answeredQuestions = {};
|
|
120
121
|
constructor(config, pipeline, logger, tracker, renderer) {
|
|
121
122
|
this.config = config;
|
|
122
123
|
this.pipeline = pipeline;
|
|
@@ -173,6 +174,7 @@ export class PlanningEngine {
|
|
|
173
174
|
resumedPhaseKey = cp.activePhase;
|
|
174
175
|
this.iterationProgress = cp.iterationProgress ?? {};
|
|
175
176
|
}
|
|
177
|
+
this.answeredQuestions = cp.answeredQuestions ?? {};
|
|
176
178
|
}
|
|
177
179
|
else {
|
|
178
180
|
this.logger.info(msg.noCheckpoint);
|
|
@@ -193,6 +195,7 @@ export class PlanningEngine {
|
|
|
193
195
|
streamResults: [],
|
|
194
196
|
activePhase: this.activePhaseKey ?? undefined,
|
|
195
197
|
iterationProgress: Object.keys(this.iterationProgress).length > 0 ? this.iterationProgress : undefined,
|
|
198
|
+
answeredQuestions: Object.keys(this.answeredQuestions).length > 0 ? this.answeredQuestions : undefined,
|
|
196
199
|
});
|
|
197
200
|
};
|
|
198
201
|
let phaseIdx = 0;
|
|
@@ -203,7 +206,7 @@ export class PlanningEngine {
|
|
|
203
206
|
}
|
|
204
207
|
else {
|
|
205
208
|
this.tracker?.activatePhase(clarifyKey);
|
|
206
|
-
spec = await this.clarifyRequirements(effectiveIssueBody);
|
|
209
|
+
spec = await this.clarifyRequirements(effectiveIssueBody, clarifyKey, saveProgress);
|
|
207
210
|
completedPhases.add(clarifyKey);
|
|
208
211
|
this.tracker?.completePhase(clarifyKey);
|
|
209
212
|
await saveProgress();
|
|
@@ -234,7 +237,7 @@ export class PlanningEngine {
|
|
|
234
237
|
}
|
|
235
238
|
else {
|
|
236
239
|
this.tracker?.activatePhase(engClarifyKey);
|
|
237
|
-
engDecisions = await this.clarifyWithRole(ENGINEER_CLARIFIER_INSTRUCTIONS, ENGINEERING_CLEAR_KEYWORD, spec, "Engineer is reviewing requirements…", msg.planningEngClarifyPhase);
|
|
240
|
+
engDecisions = await this.clarifyWithRole(ENGINEER_CLARIFIER_INSTRUCTIONS, ENGINEERING_CLEAR_KEYWORD, spec, "Engineer is reviewing requirements…", msg.planningEngClarifyPhase, engClarifyKey, saveProgress);
|
|
238
241
|
completedPhases.add(engClarifyKey);
|
|
239
242
|
this.tracker?.completePhase(engClarifyKey);
|
|
240
243
|
await saveProgress();
|
|
@@ -265,7 +268,7 @@ export class PlanningEngine {
|
|
|
265
268
|
}
|
|
266
269
|
else {
|
|
267
270
|
this.tracker?.activatePhase(designClarifyKey);
|
|
268
|
-
designDecisions = await this.clarifyWithRole(DESIGNER_CLARIFIER_INSTRUCTIONS, DESIGN_CLEAR_KEYWORD, spec, "Designer is reviewing requirements…", msg.planningDesignClarifyPhase);
|
|
271
|
+
designDecisions = await this.clarifyWithRole(DESIGNER_CLARIFIER_INSTRUCTIONS, DESIGN_CLEAR_KEYWORD, spec, "Designer is reviewing requirements…", msg.planningDesignClarifyPhase, designClarifyKey, saveProgress);
|
|
269
272
|
completedPhases.add(designClarifyKey);
|
|
270
273
|
this.tracker?.completePhase(designClarifyKey);
|
|
271
274
|
await saveProgress();
|
|
@@ -429,28 +432,56 @@ export class PlanningEngine {
|
|
|
429
432
|
}
|
|
430
433
|
return revised;
|
|
431
434
|
}
|
|
432
|
-
async clarifyRequirements(issueBody) {
|
|
435
|
+
async clarifyRequirements(issueBody, phaseKey, saveProgress) {
|
|
433
436
|
this.logger.info(msg.planningPmPhase);
|
|
434
437
|
const session = await this.sessions.createSessionWithInstructions(PLANNER_INSTRUCTIONS);
|
|
435
|
-
const
|
|
438
|
+
const savedQA = this.answeredQuestions[phaseKey] ?? [];
|
|
436
439
|
try {
|
|
437
|
-
let response
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
440
|
+
let response;
|
|
441
|
+
// Replay previously answered questions on resume
|
|
442
|
+
if (savedQA.length > 0) {
|
|
443
|
+
this.logger.info(` ⏭️ Replaying ${savedQA.length} previously answered question(s)`);
|
|
444
|
+
// Send initial request
|
|
445
|
+
response = await this.sessions.send(session, `Here is the user's request:\n\n${issueBody}\n\n` +
|
|
446
|
+
"Analyze this request. If it's clear enough, respond with REQUIREMENTS_CLEAR followed by the structured summary. " +
|
|
447
|
+
"If you need more information, ask your clarifying questions.", "PM is analyzing requirements…");
|
|
448
|
+
// Replay each saved Q&A
|
|
449
|
+
for (const qa of savedQA) {
|
|
450
|
+
if (responseContains(response, ResponseKeyword.REQUIREMENTS_CLEAR))
|
|
451
|
+
break;
|
|
452
|
+
response = await this.sessions.send(session, `User's answers:\n\n${qa.answer}`, "PM is processing saved answers…");
|
|
453
|
+
}
|
|
454
|
+
}
|
|
455
|
+
else {
|
|
456
|
+
response = await this.sessions.send(session, `Here is the user's request:\n\n${issueBody}\n\n` +
|
|
457
|
+
"Analyze this request. If it's clear enough, respond with REQUIREMENTS_CLEAR followed by the structured summary. " +
|
|
458
|
+
"If you need more information, ask your clarifying questions.", "PM is analyzing requirements…");
|
|
459
|
+
}
|
|
460
|
+
for (let round = savedQA.length; round < MAX_CLARIFICATION_ROUNDS; round++) {
|
|
441
461
|
if (responseContains(response, ResponseKeyword.REQUIREMENTS_CLEAR)) {
|
|
442
462
|
break;
|
|
443
463
|
}
|
|
444
|
-
//
|
|
464
|
+
// Open split editor with agent questions on the right
|
|
445
465
|
this.renderer?.pause();
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
466
|
+
const answer = await openSplitEditor(response, {
|
|
467
|
+
editorTitle: "Your Answer",
|
|
468
|
+
contextTitle: "PM Questions",
|
|
469
|
+
});
|
|
449
470
|
this.renderer?.resume();
|
|
450
|
-
if (
|
|
471
|
+
if (answer === undefined) {
|
|
472
|
+
// User cancelled — let the agent finalize
|
|
473
|
+
response = await this.sessions.send(session, "The user cancelled. Use your best judgment for any open questions and produce the final requirements. Respond with REQUIREMENTS_CLEAR followed by the structured summary.", "PM is finalizing requirements…");
|
|
474
|
+
}
|
|
475
|
+
else if (!answer.trim()) {
|
|
476
|
+
// User skipped
|
|
451
477
|
response = await this.sessions.send(session, "The user skipped this round. Use your best judgment for any open questions and produce the final requirements. Respond with REQUIREMENTS_CLEAR followed by the structured summary.", "PM is finalizing requirements…");
|
|
452
478
|
}
|
|
453
479
|
else {
|
|
480
|
+
// Save Q&A pair
|
|
481
|
+
if (!this.answeredQuestions[phaseKey])
|
|
482
|
+
this.answeredQuestions[phaseKey] = [];
|
|
483
|
+
this.answeredQuestions[phaseKey].push({ question: response, answer });
|
|
484
|
+
await saveProgress();
|
|
454
485
|
response = await this.sessions.send(session, `User's answers:\n\n${answer}`, "PM is processing your answers…");
|
|
455
486
|
}
|
|
456
487
|
}
|
|
@@ -465,7 +496,6 @@ export class PlanningEngine {
|
|
|
465
496
|
return spec;
|
|
466
497
|
}
|
|
467
498
|
finally {
|
|
468
|
-
rl.close();
|
|
469
499
|
await session.destroy();
|
|
470
500
|
}
|
|
471
501
|
}
|
|
@@ -473,26 +503,51 @@ export class PlanningEngine {
|
|
|
473
503
|
* Generic interactive clarification round for any role.
|
|
474
504
|
* The agent asks questions, user answers, until the agent signals the keyword.
|
|
475
505
|
*/
|
|
476
|
-
async clarifyWithRole(instructions, clearKeyword, spec, spinnerLabel, phaseLabel) {
|
|
506
|
+
async clarifyWithRole(instructions, clearKeyword, spec, spinnerLabel, phaseLabel, phaseKey, saveProgress) {
|
|
477
507
|
this.logger.info(phaseLabel);
|
|
478
508
|
const session = await this.sessions.createSessionWithInstructions(instructions);
|
|
479
|
-
const
|
|
509
|
+
const savedQA = this.answeredQuestions[phaseKey] ?? [];
|
|
480
510
|
try {
|
|
481
|
-
let response
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
511
|
+
let response;
|
|
512
|
+
// Replay previously answered questions on resume
|
|
513
|
+
if (savedQA.length > 0) {
|
|
514
|
+
this.logger.info(` ⏭️ Replaying ${savedQA.length} previously answered question(s)`);
|
|
515
|
+
response = await this.sessions.send(session, `Here are the refined requirements:\n\n${spec}\n\n` +
|
|
516
|
+
`Review these requirements from your perspective. If everything is clear, respond with ${clearKeyword} followed by your summary. ` +
|
|
517
|
+
"If you need more information, ask your clarifying questions.", spinnerLabel);
|
|
518
|
+
for (const qa of savedQA) {
|
|
519
|
+
if (responseContains(response, clearKeyword))
|
|
520
|
+
break;
|
|
521
|
+
response = await this.sessions.send(session, `User's answers:\n\n${qa.answer}`, spinnerLabel);
|
|
522
|
+
}
|
|
523
|
+
}
|
|
524
|
+
else {
|
|
525
|
+
response = await this.sessions.send(session, `Here are the refined requirements:\n\n${spec}\n\n` +
|
|
526
|
+
`Review these requirements from your perspective. If everything is clear, respond with ${clearKeyword} followed by your summary. ` +
|
|
527
|
+
"If you need more information, ask your clarifying questions.", spinnerLabel);
|
|
528
|
+
}
|
|
529
|
+
for (let round = savedQA.length; round < MAX_CLARIFICATION_ROUNDS; round++) {
|
|
485
530
|
if (responseContains(response, clearKeyword)) {
|
|
486
531
|
break;
|
|
487
532
|
}
|
|
488
533
|
this.renderer?.pause();
|
|
489
|
-
|
|
490
|
-
const answer = await
|
|
534
|
+
const roleName = phaseLabel.replace(/[^a-zA-Z ]/g, "").trim();
|
|
535
|
+
const answer = await openSplitEditor(response, {
|
|
536
|
+
editorTitle: "Your Answer",
|
|
537
|
+
contextTitle: `${roleName} Questions`,
|
|
538
|
+
});
|
|
491
539
|
this.renderer?.resume();
|
|
492
|
-
if (
|
|
540
|
+
if (answer === undefined) {
|
|
541
|
+
response = await this.sessions.send(session, `The user cancelled. Use your best judgment for any open questions and produce your final summary. Respond with ${clearKeyword} followed by the summary.`, spinnerLabel);
|
|
542
|
+
}
|
|
543
|
+
else if (!answer.trim()) {
|
|
493
544
|
response = await this.sessions.send(session, `The user skipped this round. Use your best judgment for any open questions and produce your final summary. Respond with ${clearKeyword} followed by the summary.`, spinnerLabel);
|
|
494
545
|
}
|
|
495
546
|
else {
|
|
547
|
+
if (!this.answeredQuestions[phaseKey])
|
|
548
|
+
this.answeredQuestions[phaseKey] = [];
|
|
549
|
+
this.answeredQuestions[phaseKey].push({ question: response, answer });
|
|
550
|
+
await saveProgress();
|
|
496
551
|
response = await this.sessions.send(session, `User's answers:\n\n${answer}`, spinnerLabel);
|
|
497
552
|
}
|
|
498
553
|
}
|
|
@@ -505,33 +560,9 @@ export class PlanningEngine {
|
|
|
505
560
|
return result;
|
|
506
561
|
}
|
|
507
562
|
finally {
|
|
508
|
-
rl.close();
|
|
509
563
|
await session.destroy();
|
|
510
564
|
}
|
|
511
565
|
}
|
|
512
|
-
/**
|
|
513
|
-
* Reads multi-line input from the user. Lines are collected until the user
|
|
514
|
-
* submits an empty line (presses Enter twice). Literal `\n` sequences typed
|
|
515
|
-
* by the user are converted to real newlines.
|
|
516
|
-
*/
|
|
517
|
-
async readMultiLineInput(rl) {
|
|
518
|
-
const lines = [];
|
|
519
|
-
const firstLine = await rl.question(msg.planningUserPrompt);
|
|
520
|
-
if (!firstLine.trim()) {
|
|
521
|
-
return "";
|
|
522
|
-
}
|
|
523
|
-
lines.push(firstLine);
|
|
524
|
-
// Continue reading until empty line
|
|
525
|
-
while (true) {
|
|
526
|
-
const line = await rl.question(msg.planningInputContinue);
|
|
527
|
-
if (!line.trim()) {
|
|
528
|
-
break;
|
|
529
|
-
}
|
|
530
|
-
lines.push(line);
|
|
531
|
-
}
|
|
532
|
-
// Join and convert literal \n sequences to real newlines
|
|
533
|
-
return lines.join("\n").replace(/\\n/g, "\n");
|
|
534
|
-
}
|
|
535
566
|
async analyzeCodebase(spec) {
|
|
536
567
|
this.logger.info(msg.planningEngPhase);
|
|
537
568
|
const session = await this.sessions.createSessionWithInstructions(ANALYST_INSTRUCTIONS);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"planning-engine.js","sourceRoot":"","sources":["../src/planning-engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"planning-engine.js","sourceRoot":"","sources":["../src/planning-engine.ts"],"names":[],"mappings":"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"}
|
package/dist/textarea.d.ts
CHANGED
|
@@ -1,7 +1,31 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Interactive multi-line text editor for the terminal.
|
|
3
3
|
* Uses raw stdin mode with ANSI rendering — no external dependencies.
|
|
4
|
-
*
|
|
4
|
+
*
|
|
5
|
+
* Two modes:
|
|
6
|
+
* - `openTextarea()`: full-width single-pane editor
|
|
7
|
+
* - `openSplitEditor(context)`: two-column layout with scrollable read-only context panel
|
|
5
8
|
*/
|
|
6
9
|
export declare function openTextarea(): Promise<string | undefined>;
|
|
10
|
+
export interface SplitEditorOptions {
|
|
11
|
+
/** Title for the left (editor) panel. */
|
|
12
|
+
editorTitle?: string;
|
|
13
|
+
/** Title for the right (context) panel. */
|
|
14
|
+
contextTitle?: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Opens a two-column editor: left side is an editable textarea, right side is a
|
|
18
|
+
* scrollable read-only context panel showing agent questions or other reference text.
|
|
19
|
+
*
|
|
20
|
+
* Returns the user's typed text, or `undefined` if cancelled.
|
|
21
|
+
* Returns empty string `""` if the user chose "Skip".
|
|
22
|
+
*
|
|
23
|
+
* Keyboard:
|
|
24
|
+
* Tab — switch focus between left (editor) and right (context) panels
|
|
25
|
+
* Arrow keys — navigate cursor (left) or scroll (right)
|
|
26
|
+
* PgUp/PgDown — page scroll in context panel
|
|
27
|
+
* Ctrl+S / Esc — open command palette
|
|
28
|
+
* Ctrl+D — submit directly
|
|
29
|
+
*/
|
|
30
|
+
export declare function openSplitEditor(contextText: string, options?: SplitEditorOptions): Promise<string | undefined>;
|
|
7
31
|
//# sourceMappingURL=textarea.d.ts.map
|
package/dist/textarea.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"textarea.d.ts","sourceRoot":"","sources":["../src/textarea.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"textarea.d.ts","sourceRoot":"","sources":["../src/textarea.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAuNH,wBAAsB,YAAY,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAiKhE;AAID,MAAM,WAAW,kBAAkB;IACjC,yCAAyC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2CAA2C;IAC3C,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA6RpH"}
|