import type { AgentEvent, Provider, ProviderResponseFormat } from "../providers/ProviderTypes.js"; import type { RunLogger } from "../runtime/RunLogger.js"; import type { ContextBundle, Plan } from "./Types.js"; import type { ContextManager } from "./ContextManager.js"; import { type AgentRequest } from "../agents/AgentProtocol.js"; export declare const ARCHITECT_WARNING_NON_DSL = "architect_output_unstructured_plaintext"; export declare const ARCHITECT_WARNING_CONTAINS_THINK = "architect_output_contains_think"; export declare const ARCHITECT_WARNING_CONTAINS_FENCE = "architect_output_contains_fence"; export declare const ARCHITECT_WARNING_MISSING_REQUIRED_SECTIONS = "architect_output_missing_required_sections"; export declare const ARCHITECT_WARNING_MULTIPLE_SECTION_BLOCKS = "architect_output_multiple_section_blocks"; export declare const ARCHITECT_WARNING_USED_JSON_FALLBACK = "architect_output_used_json_fallback"; export declare const ARCHITECT_WARNING_USED_PLAINTEXT_FALLBACK = "architect_output_used_plaintext_fallback"; export declare const ARCHITECT_WARNING_REPAIRED = "architect_output_repaired"; export declare class PlanHintValidationError extends Error { readonly name = "PlanHintValidationError"; readonly code = "plan_hint_validation_failed"; readonly warnings: string[]; readonly issues: string[]; readonly parseError?: string; constructor(input: { message: string; warnings: string[]; issues: string[]; parseError?: string; }); } export interface ArchitectPlannerOptions { temperature?: number; logger?: RunLogger; contextManager?: ContextManager; laneId?: string; model?: string; responseFormat?: ProviderResponseFormat; planHint?: string; instructionHint?: string; validatePlanHint?: boolean; validateOnly?: boolean; stream?: boolean; onEvent?: (event: AgentEvent) => void; } export interface ArchitectPlanResult { plan: Plan; request?: AgentRequest; raw: string; warnings: string[]; } export interface ArchitectReviewResult { status: "PASS" | "RETRY"; feedback: string[]; reasons: string[]; raw: string; warnings: string[]; } export declare class ArchitectPlanner { private provider; private temperature?; private logger?; private contextManager?; private laneId?; private model?; private responseFormat?; private planHint?; private instructionHint?; private validatePlanHint?; private validateOnly?; private stream?; private onEvent?; constructor(provider: Provider, options?: ArchitectPlannerOptions); plan(context: ContextBundle, options?: { contextManager?: ContextManager; laneId?: string; model?: string; responseFormat?: ProviderResponseFormat; planHint?: string; instructionHint?: string; stream?: boolean; onEvent?: (event: AgentEvent) => void; }): Promise; planWithRequest(context: ContextBundle, options?: { contextManager?: ContextManager; laneId?: string; model?: string; responseFormat?: ProviderResponseFormat; planHint?: string; instructionHint?: string; validatePlanHint?: boolean; validateOnly?: boolean; stream?: boolean; onEvent?: (event: AgentEvent) => void; }): Promise; reviewBuilderOutput(plan: Plan, builderOutput: string, context: ContextBundle, options?: { contextManager?: ContextManager; laneId?: string; model?: string; responseFormat?: ProviderResponseFormat; stream?: boolean; onEvent?: (event: AgentEvent) => void; }): Promise; validatePlanWithProvider(plan: Plan, context: ContextBundle, options?: { contextManager?: ContextManager; laneId?: string; model?: string; stream?: boolean; onEvent?: (event: AgentEvent) => void; }): Promise; } //# sourceMappingURL=ArchitectPlanner.d.ts.map