import { type CreatedBy } from "../../../../../lib/graph-write/dist/index.js"; interface StepInputBase { dependsOn?: string[]; onFailure?: "abort" | "skip" | "retry"; retryLimit?: number; outputKey?: string; timeout?: number; label: string; } export interface ToolStepInput extends StepInputBase { type: "tool"; plugin: string; tool: string; params?: Record; } export type StepInput = ToolStepInput; /** * A declared input the workflow requires before it can run. The contract is * the front half of gather-then-execute: `workflow-manager` gathers each * input from the operator, and `workflow-execute` refuses to run any step * until every `required` input is present. Stored JSON-stringified on the * Workflow node, mirroring how step `params` are stored. */ export interface WorkflowInput { /** Context key this input provides — referenced as `{{key}}` in step params. */ key: string; /** Operator-facing question that gathers this input's value. */ prompt: string; type: "string" | "number" | "boolean" | "object"; /** When true, execution is refused until this input is present. */ required: boolean; /** Value seeded when the input is absent; satisfies a required input without asking. */ default?: unknown; } /** * One structured line recording a declared input contract. Emitted on both * create and update so the two paths share a single log format. */ export declare function logDeclaredInputs(workflowId: string, inputs: WorkflowInput[] | undefined): void; export interface WorkflowCreateParams { accountId: string; name: string; description: string; steps: StepInput[]; /** Declared input contract — the values the workflow needs before it runs. */ inputs?: WorkflowInput[]; /** Conversation sessionKey — Workflow is linked PART_OF this Conversation to satisfy the write doctrine. */ sessionKey?: string; createdBy: CreatedBy; } export interface WorkflowCreateResult { workflowId: string; status: "active" | "draft"; validationErrors: string[]; } export declare function workflowCreate(params: WorkflowCreateParams): Promise; export {}; //# sourceMappingURL=workflow-create.d.ts.map