mirror of
https://github.com/cjo4m06/mcp-shrimp-task-manager.git
synced 2025-07-26 07:52:25 +08:00
48 lines
1.3 KiB
TypeScript
48 lines
1.3 KiB
TypeScript
import {
|
|
loadPrompt,
|
|
generatePrompt,
|
|
loadPromptFromTemplate,
|
|
} from "../loader.js";
|
|
|
|
export interface ProcessThoughtPromptParams {
|
|
thought: string;
|
|
thoughtNumber: number;
|
|
totalThoughts: number;
|
|
nextThoughtNeeded: boolean;
|
|
stage: string;
|
|
tags: string[];
|
|
axioms_used: string[];
|
|
assumptions_challenged: string[];
|
|
}
|
|
|
|
export async function getProcessThoughtPrompt(
|
|
param: ProcessThoughtPromptParams
|
|
): Promise<string> {
|
|
let nextThoughtNeeded = "";
|
|
if (param.nextThoughtNeeded) {
|
|
nextThoughtNeeded = await loadPromptFromTemplate(
|
|
"processThought/moreThought.md"
|
|
);
|
|
} else {
|
|
nextThoughtNeeded = await loadPromptFromTemplate(
|
|
"processThought/complatedThought.md"
|
|
);
|
|
}
|
|
|
|
const indexTemplate = await loadPromptFromTemplate("processThought/index.md");
|
|
|
|
const prompt = generatePrompt(indexTemplate, {
|
|
thought: param.thought,
|
|
thoughtNumber: param.thoughtNumber,
|
|
totalThoughts: param.totalThoughts,
|
|
stage: param.stage,
|
|
tags: param.tags.join(", ") || "no tags",
|
|
axioms_used: param.axioms_used.join(", ") || "no axioms used",
|
|
assumptions_challenged:
|
|
param.assumptions_challenged.join(", ") || "no assumptions challenged",
|
|
nextThoughtNeeded,
|
|
});
|
|
|
|
return loadPrompt(prompt, "PROCESS_THOUGHT");
|
|
}
|