/** * TG-06 one-shot owner-report carry. * * The report itself is durable data, but this derived context must only reach * the Telegram chat that received it and only until its first durable owner * turn acknowledgement. Invalid state is deliberately not repaired here: it * cannot safely be attributed to a target or delivery. */ export type ArtifactProvenance = { status: 'available'; modelRunId: string; } | { status: 'unavailable'; reason: 'no_run_handle' | 'commit_failed' | 'legacy_record'; }; export interface ReportCarryTarget { source: 'telegram'; channelId: string; } export interface ReportCarryV2 { version: 2; deliveryId: string; target: ReportCarryTarget; deliveredAt: string; text: string; provenance: ArtifactProvenance; consumedAt?: string; consumingChannelKey?: string; } export interface ReportCarryPeek { deliveryId: string; prefix: string; } export interface PersistDeliveredInput { deliveryId: string; target: ReportCarryTarget; deliveredAt: string; text: string; provenance: ArtifactProvenance; } export interface AckInput { deliveryId: string; target: ReportCarryTarget; consumingChannelKey: string; consumedAtIso: string; } export interface ReportCarryPort { peek(target: ReportCarryTarget, nowMs?: number): ReportCarryPeek | null; acknowledge(input: AckInput): boolean; } export declare function defaultCarryPath(): string; /** Exact persisted provenance contract shared by report composition and outbox recovery. */ export declare function isArtifactProvenance(value: unknown): value is ArtifactProvenance; /** @internal Atomic publisher used only while FileReportCarryStore owns its SQLite transaction. */ export declare function writeReportCarryAtomically(path: string, record: ReportCarryV2): void; export declare class FileReportCarryStore implements ReportCarryPort { private readonly path; constructor(path?: string); persistDelivered(input: PersistDeliveredInput): void; peek(target: ReportCarryTarget, nowMs?: number): ReportCarryPeek | null; acknowledge(input: AckInput): boolean; private read; private quarantineLegacy; private warn; } //# sourceMappingURL=report-carry.d.ts.map