import type { ILlm, ITaskFormalizer, ITaskSpec } from '@mcp-abap-adt/llm-agent'; export declare const TASK_FORMALIZER_SYSTEM = "You formalize a user's request into a COMPACT task specification for a multi-step agent that works on a system through tools.\nExtract ONLY what is needed to keep every later step aligned to the overall task. Be terse \u2014 a few lines, not an essay. Do NOT invent requirements the user did not state; do NOT plan steps or name tools.\nRespond with ONLY this JSON:\n{\"objective\":\"one sentence \u2014 the overall goal\",\"scope\":\"what must be covered (optional)\",\"constraints\":[\"hard constraints that every step must respect\"],\"deliverable\":\"shape of the final answer (optional)\"}\nThe \"constraints\" array must capture everything that must be known throughout the run (e.g. \"analyse the complete source including all includes\", \"read-only\", required dimensions). Keep each entry short."; /** * Formalizes the raw prompt into a compact {@link ITaskSpec} with one LLM call * (use the strong/planner-tier model). NEVER throws: on any LLM or parse error * it falls back to `{ objective: prompt, raw: prompt }`, so the run proceeds * exactly as if no formalizer were configured. */ export declare class LlmTaskFormalizer implements ITaskFormalizer { private readonly llm; readonly name = "llm-task-formalizer"; readonly model?: string; constructor(llm: ILlm); formalize(input: { prompt: string; signal?: AbortSignal; }): Promise; } /** Parse the formalizer's JSON reply into an ITaskSpec. Returns null on failure * so the caller falls back. Tolerates ```json fences and surrounding prose. */ export declare function parseTaskSpec(content: string, raw: string): ITaskSpec | null; //# sourceMappingURL=llm-task-formalizer.d.ts.map