import { type KeyObject } from 'node:crypto'; import type { Context } from '@deepseek-ai/cordis'; import { type PluginRevisionParentBinding, type PluginRevisionVerificationRequest, type PluginRevisionVerificationResult, type RevisionAcceptanceAuthorityRef } from '@dsh-enhanced/assistant-growth-contract'; import { type CreationReviewConfig } from './creation-review.js'; /** Same bounded configuration shape as creation, with a separate policy digest and ledger. */ export type RevisionReviewConfig = CreationReviewConfig; export interface RevisionReviewAuthorityInspection { authority: RevisionAcceptanceAuthorityRef; publicKey: string; remainingVerifications: number; available: boolean; } export declare function validateRevisionReviewConfig(input: RevisionReviewConfig): RevisionReviewConfig; export declare function compileRevisionReviewConfig(input: RevisionReviewConfig): { config: RevisionReviewConfig; authority: RevisionAcceptanceAuthorityRef; publicKey: string; privateKey: KeyObject; }; export interface PreparedRevisionPort { inspectPreparedRevision(planId: string): { protocol: 'dsh-prepared-revision/v1'; plan: { id: string; digest: string; name: string; mode: string; status: string; expiresAt: number; generatorDigest: string; sourceCheck?: { treeDigest: string; patchDigest: string; }; preparedEvidence?: { pack: { sha256: string; sizeBytes: number; }; }; sourceRevision?: { grant: { namePrefix: string; expiresAt: number; }; growthRun: unknown; parent: PluginRevisionParentBinding; }; }; job: { intent: { revision?: unknown; }; }; reference: { owner: Record; sourceDigest: string; outcomeId: string; }; source: { owner: Record; judgement: string; source: { objective: string; truncated: boolean; quiescent: boolean; }; feedback?: { text: string; truncated: boolean; }; }; artifact: Buffer; }; withPreparedRevisionFence(input: { planId: string; planDigest: string; artifactSha256: string; growthRunDigest: string; referenceDigest: string; parentDigest: string; }, callback: () => T): T; inspectPreparedRevisionReviewContext(planId: string, signal: AbortSignal): Promise<{ patch: string; changedPaths: string[]; }>; } /** Independent Host review of a new task's candidate revision. It does not grant execution or replacement. */ export declare class RevisionReviewRuntime { #private; private readonly ctx; constructor(ctx: Context, input: RevisionReviewConfig, databasePath: string); inspect(input: { owner: RevisionReviewConfig['owner']; }): RevisionReviewAuthorityInspection | undefined; run(request: PluginRevisionVerificationRequest, external?: AbortSignal): Promise; close(): Promise; } //# sourceMappingURL=revision-review.d.ts.map