/** * create_project tool — Create a project with multiple sub-tasks in one call. * * A project is a container task (type: "project") that groups related work. * Sub-tasks reference the project via their `project` field and can have * inter-task dependencies via `depends_on`. * * This enables multi-agent workflows: create a project, and multiple agents * can claim and work on independent sub-tasks in parallel. * * Example: * create_project( * title: "Auth Rewrite", * tasks: [ * { title: "Design API", type: "research" }, * { title: "Implement JWT", type: "code", depends_on_indices: [0] }, * { title: "Write tests", type: "code", depends_on_indices: [1] }, * { title: "Update docs", type: "writing" }, // parallel with code tasks * ] * ) */ import { z } from "zod"; import { Vault } from "../vault.js"; import { Config } from "../config.js"; import { TaskPriority, TaskType } from "../task-schema.js"; export declare const createProjectSchema: { project_id: z.ZodOptional; title: z.ZodOptional; description: z.ZodOptional; priority: z.ZodDefault>>; tasks: z.ZodArray; priority: z.ZodOptional>; type: z.ZodDefault>>; depends_on_indices: z.ZodOptional>; depends_on_existing: z.ZodOptional>; scope: z.ZodOptional>; context_notes: z.ZodOptional>; acceptance_criteria: z.ZodOptional>; timeout_minutes: z.ZodOptional; assignee: z.ZodOptional; routing_rules: z.ZodOptional; value: z.ZodString; activate: z.ZodArray; deactivate: z.ZodOptional>; }, z.core.$strip>>>; }, z.core.$strip>>; context_notes: z.ZodOptional>; tags: z.ZodOptional>; due: z.ZodOptional; source: z.ZodDefault>; }; export declare const createProjectHandler: (vault: Vault, config: Config) => (input: { project_id?: string; title?: string; description?: string; priority?: TaskPriority; tasks: Array<{ title: string; description?: string; priority?: TaskPriority; type?: TaskType; depends_on_indices?: number[]; depends_on_existing?: string[]; scope?: string[]; context_notes?: string[]; acceptance_criteria?: string[]; timeout_minutes?: number; assignee?: string; routing_rules?: Array<{ condition: "output_contains" | "output_matches" | "status_is"; value: string; activate: string[]; deactivate?: string[]; }>; }>; context_notes?: string[]; tags?: string[]; due?: string; source?: string; }) => Promise<{ content: { type: "text"; text: string; }[]; isError?: boolean; }>; //# sourceMappingURL=create-project.d.ts.map