import { BaseOutputParser } from "../../schema/output_parser.js"; import { Plan } from "./base.js"; import { PLANNER_SYSTEM_PROMPT_MESSAGE_TEMPLATE } from "./prompt.js"; export class PlanOutputParser extends BaseOutputParser { lc_namespace = ["langchain", "experimental", "plan_and_execute"]; async parse(text: string): Promise { return { steps: text .split(/\n\d+\.\s?/) .slice(1) .map((step) => ({ text: step.replace(``, "") })), }; } getFormatInstructions(): string { return PLANNER_SYSTEM_PROMPT_MESSAGE_TEMPLATE; } }