import type { ExtensionAPI } from "@earendil-works/pi-coding-agent"; import { extractPersonaNames } from "../lib/frontmatter-parser.js"; export { extractPersonaNames }; import { checkMaterialization, type MaterializationCheck } from "../lib/manifest-checker.js"; export { checkMaterialization, type MaterializationCheck }; export type ArgMode = "empty" | "file" | "text"; export interface ParsedArgs { mode: ArgMode; taskRef: string; sourceLabel: string; } export declare function parseReviewCodeArgs(rawArgs: string, cwd: string): ParsedArgs; export interface ComposeKickoffOpts { workflowMd: string; personaIdentity: string; parsed: ParsedArgs; /** Revision loop context block (FORGE-S26-T11). Injected before the workflow body. */ reviewLoopContext?: string; } export declare function composeKickoff(opts: ComposeKickoffOpts): string; /** * Build the `### Review Loop Context` block for user-invoked (non-orchestrated) * review-code calls. Matches the T07 graceful-fallback spec: * "iteration 1 of M" where M is config.maxReviewIterations (default 3). */ export declare function buildReviewLoopContext(maxIterations: number): string; /** * Read maxReviewIterations from .forge/config.json. Returns default 3 on any * error (missing file, missing field, non-integer value). */ export declare function readMaxReviewIterations(cwd: string): number; export interface RegisterReviewCodeOptions { cwd?: string; } export declare function registerReviewCode(pi: ExtensionAPI, options?: RegisterReviewCodeOptions): void;