import type { AssistantMessage } from "@oh-my-pi/pi-ai"; import * as z from "zod/v4"; import type { ConventionalAnalysis } from "./types"; /** * Shared Zod schema for the `create_conventional_analysis` tool used by * both the single-pass analysis call and the map-reduce reduce phase. Schemas * are identical across phases — only the surrounding tool `description` * differs to reflect the input the phase is summarizing. */ export declare const conventionalAnalysisParameters: z.ZodObject<{ type: z.ZodEnum<{ build: "build"; chore: "chore"; ci: "ci"; docs: "docs"; feat: "feat"; fix: "fix"; perf: "perf"; refactor: "refactor"; revert: "revert"; style: "style"; test: "test"; }>; scope: z.ZodUnion; details: z.ZodArray>; user_visible: z.ZodOptional; }, z.core.$strip>>; issue_refs: z.ZodArray; }, z.core.$strip>; export interface ConventionalAnalysisTool { name: "create_conventional_analysis"; description: string; parameters: typeof conventionalAnalysisParameters; } /** * Build a `create_conventional_analysis` tool descriptor. Phase-specific * `description` text is the only thing that varies between callers. */ export declare function createConventionalAnalysisTool(description: string): ConventionalAnalysisTool; /** * Extract a {@link ConventionalAnalysis} from an assistant response, preferring * a structured tool call and falling back to JSON embedded in text content. */ export declare function parseConventionalAnalysisResponse(message: AssistantMessage, tool: ConventionalAnalysisTool): ConventionalAnalysis;