import type { EvoPaths } from "./paths.ts"; import type { EvaluationArtifactRef, EvidenceReference, Proposal, ProposalArtifactKind } from "./types.ts"; export type ApprovalTurnRole = "human" | "meta"; export type ApprovalTurnKind = "question" | "answer" | "revision-request" | "revision-result" | "defer" | "reopen"; export interface ApprovalTurn { schemaVersion: 1; proposalId: string; sequence: number; timestamp: string; revision: number; diffDigest: string; role: ApprovalTurnRole; kind: ApprovalTurnKind; text: string; evidence?: EvidenceReference[]; } export type FixedEvaluationArtifactKind = Exclude; export interface WriteEvaluationArtifactOptions { paths: EvoPaths; proposalId: string; revision: number; diffDigest: string; kind: FixedEvaluationArtifactKind; content: string; now?: () => Date; } export interface WriteEvidenceArtifactOptions { paths: EvoPaths; proposalId: string; revision: number; diffDigest: string; kind: "comparison" | "retrospective"; content: string; evidenceDigest: string; evidenceCutoff: string; now?: () => Date; } export type WriteRetrospectiveArtifactOptions = Omit; export type WriteComparisonArtifactOptions = Omit & { markdownContent: string; }; export interface ReadEvaluationArtifactOptions { paths: EvoPaths; proposalId: string; revision: number; diffDigest: string; kind: ProposalArtifactKind; reference: EvaluationArtifactRef; } export interface AppendApprovalTurnOptions { paths: EvoPaths; proposalId: string; revision: number; diffDigest: string; role: ApprovalTurnRole; kind: ApprovalTurnKind; text: string; evidence?: EvidenceReference[]; now?: () => Date; } export declare function getEvaluationArtifactFile(revision: number, kind: FixedEvaluationArtifactKind): string; export declare function getRetrospectiveArtifactFile(revision: number, evidenceDigest: string): string; export declare function writeEvaluationArtifact(options: WriteEvaluationArtifactOptions): Promise; export declare function writeRetrospectiveArtifact(options: WriteRetrospectiveArtifactOptions): Promise; export declare function writeComparisonArtifact(options: WriteComparisonArtifactOptions): Promise; export declare function readEvaluationArtifact(options: ReadEvaluationArtifactOptions): Promise; export declare function validateEvaluationArtifact(options: ReadEvaluationArtifactOptions): Promise; export declare function saveProposalRevisionSnapshot(paths: EvoPaths, proposal: Proposal): Promise; export declare function readProposalRevisionSnapshot(paths: EvoPaths, proposalId: string, revision: number): Promise; export declare function appendApprovalTurn(options: AppendApprovalTurnOptions): Promise; export declare function readApprovalTurns(paths: EvoPaths, proposalId: string): Promise; //# sourceMappingURL=proposal-artifacts.d.ts.map