import { Type } from "typebox"; /** * Initial input: the extension supplies the project root so steps can resolve paths without a cwd * assumption, and the workflows directory as the RUNNING harness names it (`./workflows/`, * project-dir.ts). The directory arrives as DATA because this module may not compute it: it is loaded * back through `loadWorkflowFile`'s restricted loader (on resume, and by the attended loop), where * project-dir.ts's `@earendil-works/pi-coding-agent` import does not resolve. */ export declare const createInputSchema: Type.TObject<{ projectRoot: Type.TString; workflowsDir: Type.TOptional; }>; /** What the interview must establish before any code is generated. */ export declare const specSchema: Type.TObject<{ name: Type.TString; description: Type.TString; summary: Type.TString; input: Type.TOptional; defaultModel: Type.TOptional; maxConcurrency: Type.TOptional; schemas: Type.TArray; schema: Type.TCyclic<{ Schema: Type.TUnion<[Type.TObject<{ kind: Type.TLiteral<"string">; description: Type.TOptional; }>, Type.TObject<{ kind: Type.TLiteral<"number">; description: Type.TOptional; }>, Type.TObject<{ kind: Type.TLiteral<"integer">; description: Type.TOptional; }>, Type.TObject<{ kind: Type.TLiteral<"boolean">; description: Type.TOptional; }>, Type.TObject<{ kind: Type.TLiteral<"unknown">; description: Type.TOptional; }>, Type.TObject<{ kind: Type.TLiteral<"literal">; value: Type.TUnion<[Type.TString, Type.TNumber, Type.TBoolean]>; description: Type.TOptional; }>, Type.TObject<{ kind: Type.TLiteral<"array">; items: Type.TRef<"Schema">; description: Type.TOptional; }>, Type.TObject<{ kind: Type.TLiteral<"object">; fields: Type.TArray; title: Type.TOptional; description: Type.TOptional; schema: Type.TRef<"Schema">; }>>; description: Type.TOptional; }>, Type.TObject<{ kind: Type.TLiteral<"union">; variants: Type.TArray>; description: Type.TOptional; }>]>; }, "Schema">; }>>; nodes: Type.TArray; purpose: Type.TString; input: Type.TOptional; output: Type.TOptional; inputSource: Type.TOptional, Type.TLiteral<"workflow">, Type.TLiteral<"context">, Type.TLiteral<"scope">, Type.TLiteral<"none">]>>; retry: Type.TOptional; }>>; maxDurationMs: Type.TOptional; optional: Type.TOptional; kind: Type.TLiteral<"function">; }>, Type.TObject<{ name: Type.TString; description: Type.TOptional; purpose: Type.TString; input: Type.TOptional; output: Type.TOptional; inputSource: Type.TOptional, Type.TLiteral<"workflow">, Type.TLiteral<"context">, Type.TLiteral<"scope">, Type.TLiteral<"none">]>>; retry: Type.TOptional; }>>; maxDurationMs: Type.TOptional; optional: Type.TOptional; kind: Type.TLiteral<"agent">; mode: Type.TUnion<[Type.TLiteral<"act">, Type.TLiteral<"report">, Type.TLiteral<"ask">]>; model: Type.TOptional; maxOutputRepairs: Type.TOptional; maxTokens: Type.TOptional; background: Type.TOptional; resumable: Type.TOptional>; }>, Type.TObject<{ name: Type.TString; description: Type.TOptional; purpose: Type.TString; input: Type.TOptional; inputSource: Type.TOptional, Type.TLiteral<"workflow">, Type.TLiteral<"context">, Type.TLiteral<"scope">, Type.TLiteral<"none">]>>; retry: Type.TOptional; }>>; maxDurationMs: Type.TOptional; optional: Type.TOptional; kind: Type.TLiteral<"questionnaire">; output: Type.TString; }>]>; Body: Type.TObject<{ name: Type.TString; description: Type.TOptional; input: Type.TOptional; nodes: Type.TArray>; }>; Node: Type.TUnion<[Type.TRef<"Leaf">, Type.TObject<{ kind: Type.TLiteral<"map">; name: Type.TString; purpose: Type.TString; sources: Type.TArray; }>, Type.TObject<{ kind: Type.TLiteral<"loop">; name: Type.TString; purpose: Type.TString; mode: Type.TUnion<[Type.TLiteral<"dowhile">, Type.TLiteral<"dountil">]>; maxIterations: Type.TInteger; body: Type.TRef<"Body">; }>, Type.TObject<{ kind: Type.TLiteral<"foreach">; name: Type.TString; purpose: Type.TString; concurrency: Type.TOptional; feedback: Type.TOptional; body: Type.TRef<"Body">; }>, Type.TObject<{ kind: Type.TLiteral<"parallel">; name: Type.TString; purpose: Type.TString; arms: Type.TArray>; }>, Type.TObject<{ kind: Type.TLiteral<"branch">; name: Type.TString; purpose: Type.TString; arms: Type.TArray; }>>; }>, Type.TObject<{ kind: Type.TLiteral<"workflow">; name: Type.TString; purpose: Type.TString; body: Type.TRef<"Body">; }>]>; }, "Node">>; }>; declare const createWorkflowWorkflow: import("../../flow/types.ts").WorkflowDefinition; export default createWorkflowWorkflow; //# sourceMappingURL=create.workflow.d.ts.map