import { type Static, Type } from "typebox"; import type { ToolDefinition } from "../extensions/types.ts"; import { type TaskStepsState } from "../tasks/task-state.ts"; declare const taskStepsSchema: Type.TObject<{ status: Type.TOptional, Type.TLiteral<"in_progress">, Type.TLiteral<"completed">, Type.TLiteral<"blocked">, Type.TLiteral<"cancelled">]>>; priority: Type.TOptional, Type.TLiteral<"normal">, Type.TLiteral<"high">]>>; owner: Type.TOptional; requirementIds: Type.TOptional>; pipelineRunId: Type.TOptional; pipelineStageId: Type.TOptional; clearPipelineLink: Type.TOptional; note: Type.TOptional; evidence: Type.TOptional>; action: Type.TUnion<[Type.TLiteral<"set">, Type.TLiteral<"add">, Type.TLiteral<"update">, Type.TLiteral<"list">, Type.TLiteral<"clear">, Type.TLiteral<"compact">, Type.TLiteral<"intake">, Type.TLiteral<"advance">]>; steps: Type.TOptional, Type.TLiteral<"in_progress">, Type.TLiteral<"completed">, Type.TLiteral<"blocked">, Type.TLiteral<"cancelled">]>>; priority: Type.TOptional, Type.TLiteral<"normal">, Type.TLiteral<"high">]>>; owner: Type.TOptional; requirementIds: Type.TOptional>; pipelineRunId: Type.TOptional; pipelineStageId: Type.TOptional; clearPipelineLink: Type.TOptional; note: Type.TOptional; evidence: Type.TOptional>; content: Type.TString; activeForm: Type.TOptional; }>>>; id: Type.TOptional; content: Type.TOptional; activeForm: Type.TOptional; clearCompleted: Type.TOptional; showCompleted: Type.TOptional; maxItems: Type.TOptional; }>; export type TaskStepsToolInput = Static; export type TaskStepsAction = TaskStepsToolInput["action"]; export interface TaskStepsToolDetails { action: TaskStepsAction; applied: boolean; error?: string; state?: TaskStepsState; stepCount?: number; openStepCount?: number; verificationNudgeNeeded?: boolean; showCompleted?: boolean; /** Set when `add` was a no-op because an open step already carries this content. */ duplicateOfStepId?: string; /** Step ids silently demoted to pending because another step became active in this call. */ demotedStepIds?: readonly string[]; } export interface TaskStepsToolDependencies { getTaskStepsState: () => TaskStepsState | undefined; saveTaskStepsState: (state: TaskStepsState) => void; getActivePipelineScope?: () => { runId: string; stageIds: readonly string[]; } | undefined; now?: () => string; } export declare function createTaskStepsToolDefinition(deps: TaskStepsToolDependencies): ToolDefinition; export {}; //# sourceMappingURL=task-steps.d.ts.map