import type { TaskStatus, Tool } from '@wrongstack/core/types'; import { type TaskItem } from '@wrongstack/core/utils'; export type TaskReplacementItem = Omit & Partial>; export type TaskAdditionItem = Omit & Partial>; export type TaskAction = 'replace' | 'add' | 'status' | 'show' | 'promote' | 'planify'; export interface TaskInput { /** Replace: set new task list. Add: append a task. Status: update task status. Promote: convert a task to todo items. */ action: TaskAction; /** Full task list for action=replace. */ tasks?: TaskReplacementItem[] | undefined; /** Single task for action=add. id, createdAt, updatedAt are auto-generated. */ task?: TaskAdditionItem | undefined; /** Task id for action=status or target for action=promote. */ id?: string | undefined; /** New status for action=status. */ status?: TaskStatus | undefined; /** Target task (id, 1-based index, or title substring) for action=promote. */ target?: string | undefined; /** Optional subtask titles for action=promote. */ subtasks?: string[] | undefined; /** * Storage scope. Default (unset): uses the session-scoped path — isolated to this * session, survives resume within the same session. * `scope: 'project'`: uses a shared project-level path, visible to all sessions * for this project. Useful for a shared backlog that outlasts any single session. */ scope?: 'session' | 'project'; } export interface TaskOutput { /** Always true: refused operations and persistence failures are thrown. */ ok: true; message: string; count: number; completed: number; inProgress: number; } export declare const taskTool: Tool; //# sourceMappingURL=task.d.ts.map