fix: add required customType and display fields to parallel sendMessage calls
The sendMessage() API requires customType and display fields. All parallel command handlers were missing these, causing typecheck failures in CI.
This commit is contained in:
parent
0ee7016bc7
commit
e36da37f33
1 changed files with 14 additions and 10 deletions
|
|
@ -314,14 +314,16 @@ export function registerGSDCommand(pi: ExtensionAPI): void {
|
|||
const config = resolveParallelConfig(loaded?.preferences);
|
||||
if (!config.enabled) {
|
||||
pi.sendMessage({
|
||||
customType: "gsd-parallel",
|
||||
content: "Parallel mode is not enabled. Set `parallel.enabled: true` in your preferences.",
|
||||
display: false,
|
||||
});
|
||||
return;
|
||||
}
|
||||
const candidates = await prepareParallelStart(projectRoot(), loaded?.preferences);
|
||||
const report = formatEligibilityReport(candidates);
|
||||
if (candidates.eligible.length === 0) {
|
||||
pi.sendMessage({ content: report + "\n\nNo milestones are eligible for parallel execution." });
|
||||
pi.sendMessage({ customType: "gsd-parallel", content: report + "\n\nNo milestones are eligible for parallel execution.", display: false });
|
||||
return;
|
||||
}
|
||||
const result = await startParallel(
|
||||
|
|
@ -333,13 +335,13 @@ export function registerGSDCommand(pi: ExtensionAPI): void {
|
|||
if (result.errors.length > 0) {
|
||||
lines.push(`Errors: ${result.errors.map(e => `${e.mid}: ${e.error}`).join("; ")}`);
|
||||
}
|
||||
pi.sendMessage({ content: report + "\n\n" + lines.join("\n") });
|
||||
pi.sendMessage({ customType: "gsd-parallel", content: report + "\n\n" + lines.join("\n"), display: false });
|
||||
return;
|
||||
}
|
||||
|
||||
if (subCmd === "status") {
|
||||
if (!isParallelActive()) {
|
||||
pi.sendMessage({ content: "No parallel orchestration is currently active." });
|
||||
pi.sendMessage({ customType: "gsd-parallel", content: "No parallel orchestration is currently active.", display: false });
|
||||
return;
|
||||
}
|
||||
const workers = getWorkerStatuses();
|
||||
|
|
@ -351,28 +353,28 @@ export function registerGSDCommand(pi: ExtensionAPI): void {
|
|||
if (orchState) {
|
||||
lines.push(`\nTotal cost: $${orchState.totalCost.toFixed(2)}`);
|
||||
}
|
||||
pi.sendMessage({ content: lines.join("\n") });
|
||||
pi.sendMessage({ customType: "gsd-parallel", content: lines.join("\n"), display: false });
|
||||
return;
|
||||
}
|
||||
|
||||
if (subCmd === "stop") {
|
||||
const mid = rest.trim() || undefined;
|
||||
await stopParallel(projectRoot(), mid);
|
||||
pi.sendMessage({ content: mid ? `Stopped worker for ${mid}.` : "All parallel workers stopped." });
|
||||
pi.sendMessage({ customType: "gsd-parallel", content: mid ? `Stopped worker for ${mid}.` : "All parallel workers stopped.", display: false });
|
||||
return;
|
||||
}
|
||||
|
||||
if (subCmd === "pause") {
|
||||
const mid = rest.trim() || undefined;
|
||||
pauseWorker(projectRoot(), mid);
|
||||
pi.sendMessage({ content: mid ? `Paused worker for ${mid}.` : "All parallel workers paused." });
|
||||
pi.sendMessage({ customType: "gsd-parallel", content: mid ? `Paused worker for ${mid}.` : "All parallel workers paused.", display: false });
|
||||
return;
|
||||
}
|
||||
|
||||
if (subCmd === "resume") {
|
||||
const mid = rest.trim() || undefined;
|
||||
resumeWorker(projectRoot(), mid);
|
||||
pi.sendMessage({ content: mid ? `Resumed worker for ${mid}.` : "All parallel workers resumed." });
|
||||
pi.sendMessage({ customType: "gsd-parallel", content: mid ? `Resumed worker for ${mid}.` : "All parallel workers resumed.", display: false });
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -381,22 +383,24 @@ export function registerGSDCommand(pi: ExtensionAPI): void {
|
|||
if (mid) {
|
||||
// Merge a specific milestone
|
||||
const result = await mergeCompletedMilestone(projectRoot(), mid);
|
||||
pi.sendMessage({ content: formatMergeResults([result]) });
|
||||
pi.sendMessage({ customType: "gsd-parallel", content: formatMergeResults([result]), display: false });
|
||||
return;
|
||||
}
|
||||
// Merge all completed milestones
|
||||
const workers = getWorkerStatuses();
|
||||
if (workers.length === 0) {
|
||||
pi.sendMessage({ content: "No parallel workers to merge." });
|
||||
pi.sendMessage({ customType: "gsd-parallel", content: "No parallel workers to merge.", display: false });
|
||||
return;
|
||||
}
|
||||
const results = await mergeAllCompleted(projectRoot(), workers);
|
||||
pi.sendMessage({ content: formatMergeResults(results) });
|
||||
pi.sendMessage({ customType: "gsd-parallel", content: formatMergeResults(results), display: false });
|
||||
return;
|
||||
}
|
||||
|
||||
pi.sendMessage({
|
||||
customType: "gsd-parallel",
|
||||
content: `Unknown parallel subcommand "${subCmd}". Usage: /gsd parallel [start|status|stop|pause|resume|merge]`,
|
||||
display: false,
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue