import { type LiveContactReference } from "../live/contact-journal.js"; import { type CodexStructuredResult } from "../providers/codex-exec.js"; import { type CanonicalDispatchIntent, type CapturedDispatchIntent } from "./intent.js"; export type ProtectedAdvisorSource = CodexStructuredResult>; export interface ProtectedAdvisorSourceIdentity { readonly role_id: "oms.exec-advisor"; readonly request_id: string; readonly fresh_session_id: string; readonly output: Readonly>; } export interface AdvisorProviderRequest { readonly schema_version: 1; readonly request_id: string; readonly role_id: "oms.exec-advisor"; readonly evidence_schema: "advisor-output.v1"; readonly dispatch_intent_sha256: string; readonly canonical_intent: CanonicalDispatchIntent; readonly advice_authorization_id: string; } declare const PROTECTED_ADVISOR_PROVENANCE: unique symbol; export interface ProtectedAdvisorProvenance { readonly [PROTECTED_ADVISOR_PROVENANCE]: true; } export interface ProtectedAdvisorProvenanceIdentity extends ProtectedAdvisorSourceIdentity { readonly evidence_id: string; readonly ticket_id: string; readonly dispatch_intent_sha256: string; readonly contact_reference: LiveContactReference; readonly advice_authorization_id: string; } export interface DurableAdvisorEvidence { readonly evidence_id: string; readonly evidence_kind: string; readonly ticket_id: string | null; readonly producer_role: string; readonly payload: Record; } export declare function captureProtectedAdvisorSource(source: ProtectedAdvisorSource): ProtectedAdvisorSourceIdentity; export declare function createAdvisorProviderRequest(options: { readonly requestId: string; readonly intent: CapturedDispatchIntent; readonly adviceAuthorizationId: string; }): AdvisorProviderRequest; export declare function captureProtectedAdvisorProvenance(options: { readonly stateRoot: string; readonly source: ProtectedAdvisorSource; readonly request: AdvisorProviderRequest; readonly contactReference: LiveContactReference; }): ProtectedAdvisorProvenance; export declare function protectedAdvisorProvenanceIdentity(value: unknown): ProtectedAdvisorProvenanceIdentity; export declare function assertDurableAdvisorEvidenceProvenance(options: { readonly stateRoot: string; readonly evidence: DurableAdvisorEvidence; readonly intent: CapturedDispatchIntent; }): void; export declare function assertStoredAdvisorEvidenceProvenance(options: { readonly stateRoot: string; readonly evidence: DurableAdvisorEvidence; readonly intent: CapturedDispatchIntent; }): void; export {};