/** * Update proposals: generate from health checks and apply with confirmation. * * Proposals are generated on-demand from staleness, drift, and inference. * IDs are deterministic so apply_proposal can regenerate and find by id. */ import type { ServerConfig } from '../config.js'; /** Proposal type for categorization and filtering. */ export type UpdateProposalType = 'frontmatter' | 'status' | 'content' | 'file_list'; /** * A single update proposal (human review before applying). */ export interface UpdateProposal { id: string; type: UpdateProposalType; target: string; field?: string; currentValue: unknown; proposedValue: unknown; reason: string; confidence: number; autoApplyable: boolean; /** Plan id (folder name) for lookup when applying */ planId: string; } export interface GetProposalsOptions { planId?: string; types?: UpdateProposalType[]; minConfidence?: number; autoApplyableOnly?: boolean; /** Required for drift-based proposals */ codebasePath?: string; } export interface GetProposalsResult { proposals: UpdateProposal[]; error?: string; } export declare function getProposals(config: ServerConfig, options?: GetProposalsOptions): GetProposalsResult; export interface ApplyProposalResult { applied: boolean; path?: string; backup?: string; error?: string; } /** * Apply a single proposal by id. Regenerates proposals to find the id (optionally scoped by planId). */ export declare function applyProposal(config: ServerConfig, proposalId: string, confirm: boolean, planId?: string): ApplyProposalResult; //# sourceMappingURL=proposals.d.ts.map