/** * Types and Zod schemas for the chained PRs feature. * * All chain-related interfaces live here to keep shared.ts focused * on existing ADO types. */ import { z } from "zod/v4"; /** Parsed .adoconfig.toml — project-level chain configuration. */ export interface ProjectConfig { chain: { strategy: "feature-chain" | "stacked"; base_branch: string; max_length: number; prefix: string; tracker_name: string; }; branch: { allowed_types: string[]; slug_max_length: number; require_wi_id: boolean; }; pr: { require_work_item: boolean; include_chain_context: boolean; review_budget: number; default_draft: boolean; }; work_item: { auto_transition: boolean; target_state: string; create: { enabled: boolean; allowed_types: string[]; required_fields: string[]; default_state: string; auto_assign: boolean; require_parent: boolean; default_type: string; }; }; } /** One step in a chain: a branch, its PR, and its linked work item. */ export interface ChainStep { workItemId: number; workItemTitle: string; branchName: string; refName: string; parentRefName: string; pr?: { id: number; url: string; }; linked: boolean; error?: string; } /** Result of an ado_pr_chain invocation. */ export interface ChainResult { strategy: "feature-chain" | "stacked"; tracker?: { branchName: string; prId: number; prUrl: string; targetBranch?: string; }; steps: ChainStep[]; /** Number of PRs successfully created. */ created: number; /** Number of branches successfully created. */ branchesCreated: number; linked: number; errors: string[]; } /** Options for AdoClient.createPullRequest(). */ export interface CreatePrOptions { sourceRefName: string; targetRefName: string; title: string; description?: string; isDraft?: boolean; } /** Response from ADO Git Refs API on branch creation. */ export interface GitRefUpdateResult { name: string; objectId: string; oldObjectId: string; success: boolean; updateStatus?: string; } /** Minimal ADO GitPullRequest response. */ export interface GitPullRequest { pullRequestId: number; url?: string; title?: string; status?: string; sourceRefName?: string; targetRefName?: string; isDraft?: boolean; repository?: { id: string; name: string; project?: { id: string; name: string; }; }; createdBy?: { id: string; displayName: string; }; } /** Schema for validating branch name format. */ export declare const BranchNameSchema: z.ZodString; /** Schema for validating .adoconfig.toml structure. */ export declare const ProjectConfigSchema: z.ZodObject<{ chain: z.ZodPipe, z.ZodObject<{ strategy: z.ZodDefault>; base_branch: z.ZodDefault; max_length: z.ZodDefault; prefix: z.ZodDefault; tracker_name: z.ZodDefault; }, z.core.$strip>>; branch: z.ZodPipe, z.ZodObject<{ allowed_types: z.ZodDefault>; slug_max_length: z.ZodDefault; require_wi_id: z.ZodDefault; }, z.core.$strip>>; pr: z.ZodPipe, z.ZodObject<{ require_work_item: z.ZodDefault; include_chain_context: z.ZodDefault; review_budget: z.ZodDefault; default_draft: z.ZodDefault; }, z.core.$strip>>; work_item: z.ZodPipe, z.ZodObject<{ auto_transition: z.ZodDefault; target_state: z.ZodDefault; create: z.ZodPipe, z.ZodObject<{ enabled: z.ZodDefault; allowed_types: z.ZodDefault>; required_fields: z.ZodDefault>; default_state: z.ZodDefault; auto_assign: z.ZodDefault; require_parent: z.ZodDefault; default_type: z.ZodDefault; }, z.core.$strip>>; }, z.core.$strip>>; }, z.core.$strip>; //# sourceMappingURL=chain-types.d.ts.map