import type { RawArgumentValidationResult } from "@gajae-code/ai/types"; /** * Models reliably reach for `complete`/`completed` because the status an op * sets is spelled `completed` (see TodoStatus). Accepting them as exact * aliases of `done` removes a repeated hard tool failure without widening the * operation vocabulary. */ export declare const TODO_DONE_ALIASES: readonly ["complete", "completed"]; export declare function isDoneAlias(value: string): boolean; /** * Legal `op` values. Exported so the todo_write schema and this contract read * from one list: a rejection that names a vocabulary the schema no longer * accepts is exactly the drift this file exists to prevent. */ export declare const TODO_OPS: readonly ["init", "start", "done", "rm", "drop", "append", "note"]; /** * Single source of truth for todo_write pre-coercion validation. Every * rejection carries a code so the caller can surface an actionable correction * instead of a bare "raw arguments rejected" message, and every entry-level * rejection names the failing `ops` index. Rejection stays batch-atomic, but a * caller told which entry failed can resubmit the rest instead of rebuilding * the payload from memory — or, as observed, silently abandoning the list. */ export declare function validateRawTodoArguments(arguments_: Record): RawArgumentValidationResult;