export declare const CODALI_STORAGE_CONTRACT_SCHEMA_VERSION: "codali.storage.v1"; export declare const CODALI_STORAGE_CONTRACT_SCHEMA_VERSIONS: readonly ["codali.storage.v1"]; export declare const CODALI_STORAGE_CONTRACT_MIN_COMPATIBLE_SCHEMA_VERSION: "codali.storage.v1"; export declare const CODALI_STORAGE_CONTRACT_FIXTURE_SCHEMA_VERSION: "codali.storage.fixtures.v1"; export declare const CODALI_STORAGE_CONTRACT_SCHEMA_COMPATIBILITY: { readonly current: "codali.storage.v1"; readonly minCompatible: "codali.storage.v1"; readonly supported: readonly ["codali.storage.v1"]; readonly fixture: "codali.storage.fixtures.v1"; }; export declare const CODALI_STORAGE_CONTRACT_DISTRIBUTION: { readonly mode: "published_package"; readonly packageName: "@mcoda/codali"; readonly modulePath: "@mcoda/codali"; readonly sourcePath: "packages/codali/src/storage/CodaliStorageContracts.ts"; readonly fixturePath: "docs/contracts/codali-storage/v1/contract-fixtures.json"; }; export type CodaliStorageSchemaVersion = (typeof CODALI_STORAGE_CONTRACT_SCHEMA_VERSIONS)[number]; export type CodaliStorageContractDistribution = typeof CODALI_STORAGE_CONTRACT_DISTRIBUTION; export type CodaliStorageRecordType = "gateway_record" | "dataset_record" | "export_manifest" | "feedback_record" | "review_record" | "improvement_record"; export type CodaliStoragePrivacyClassification = "public" | "internal" | "confidential" | "restricted"; export type CodaliStorageRedactionStatus = "not_required" | "pending" | "redacted" | "blocked"; export type CodaliStorageObjectRefKind = "payload" | "trace" | "artifact" | "dataset" | "export" | "evidence"; export type CodaliStorageObjectRetentionClass = "transient" | "standard" | "dataset" | "legal_hold" | "do_not_store"; export type CodaliStorageGatewayStatus = "succeeded" | "failed" | "partial" | "needs_clarification"; export type CodaliStorageDatasetKind = "gateway_answer" | "tool_trace" | "model_call" | "evaluation" | "curated_example"; export type CodaliStorageExportFormat = "jsonl" | "json" | "parquet" | "bundle"; export type CodaliStorageExportKind = "eval-replay" | "prompt-regression" | "extractor-sft" | "tool-router-sft" | "planner-sft" | "verifier-sft" | "query-expander-sft" | "repair-sft" | "context-refiner-sft" | "rag-reranker" | "model-router"; export type CodaliStorageFeedbackSource = "user" | "operator" | "automated_eval"; export type CodaliStorageReviewDecision = "approved" | "rejected" | "needs_changes" | "escalated"; export type CodaliStorageReviewerType = "human" | "automated"; export type CodaliStorageRequesterScopeVisibility = "requester" | "conversation" | "product" | "tenant"; export type CodaliStorageReviewPromotionTarget = "gold" | "silver" | "reject"; export type CodaliStorageImprovementKind = "prompt" | "policy" | "model_selection" | "tooling" | "evaluation" | "other"; export type CodaliStorageImprovementStatus = "proposed" | "accepted" | "rejected" | "applied"; export interface CodaliStorageValidationIssue { path: string; code: string; message: string; } export type CodaliStorageValidationResult = { ok: true; value: T; issues: []; } | { ok: false; issues: CodaliStorageValidationIssue[]; }; export interface CodaliStoragePrivacyMetadata { schemaVersion: CodaliStorageSchemaVersion; classification: CodaliStoragePrivacyClassification; containsPersonalData: boolean; redactionStatus: CodaliStorageRedactionStatus; uploadAllowed: boolean; exportAllowed: boolean; trainingAllowed: boolean; policyTags?: string[]; retentionUntil?: string; deletionRequestedAt?: string; redactionSummary?: string; metadata?: Record; } export interface CodaliStorageObjectPrivacyFlags { containsPersonalData: boolean; containsSecrets: boolean; containsTenantPrivateData: boolean; containsSourceCode: boolean; containsCustomerData: boolean; trainingAllowed: boolean; evalAllowed: boolean; replayAllowed: boolean; exportAllowed: boolean; } export interface CodaliStorageObjectOwnerScope { tenantHash: string; productId: string; deploymentId?: string; runId?: string; ownerType: string; ownerId: string; } export interface CodaliStorageObjectRef { schemaVersion: CodaliStorageSchemaVersion; refId: string; kind: CodaliStorageObjectRefKind; uri?: string; bucket?: string; key?: string; contentHash: string; byteSize: number; mimeType: string; privacyFlags: CodaliStorageObjectPrivacyFlags; ownerScope: CodaliStorageObjectOwnerScope; ownerScopeHash?: string; deletionGroupId: string; retentionClass: CodaliStorageObjectRetentionClass; mediaType?: string; sizeBytes?: number; sha256?: string; createdAt?: string; metadata?: Record; } export interface CodaliStorageGatewayRecord { schemaVersion: CodaliStorageSchemaVersion; recordType: "gateway_record"; recordId: string; runId: string; createdAt: string; status: CodaliStorageGatewayStatus; query: string; answerSummary?: string; requestRef?: CodaliStorageObjectRef; responseRef?: CodaliStorageObjectRef; traceRef?: CodaliStorageObjectRef; answerRef?: CodaliStorageObjectRef; model?: { provider?: string; model?: string; agentId?: string; role?: string; }; usage?: { inputTokens?: number; outputTokens?: number; totalTokens?: number; }; privacy: CodaliStoragePrivacyMetadata; metadata?: Record; } export interface CodaliStorageDatasetRecord { schemaVersion: CodaliStorageSchemaVersion; recordType: "dataset_record"; recordId: string; datasetKind: CodaliStorageDatasetKind; createdAt: string; sourceGatewayRecordId?: string; inputRef: CodaliStorageObjectRef; outputRef?: CodaliStorageObjectRef; evidenceRefs?: CodaliStorageObjectRef[]; quality?: { score?: number; labels?: string[]; reviewed?: boolean; }; privacy: CodaliStoragePrivacyMetadata; metadata?: Record; } export interface CodaliStorageExportManifestRecordRef { recordType: CodaliStorageRecordType; recordId: string; schemaVersion: CodaliStorageSchemaVersion; objectRef?: CodaliStorageObjectRef; } export interface CodaliStorageExportPrivacySummary { recordCount: number; containsPersonalData: boolean; containsSecrets: boolean; containsTenantPrivateData: boolean; containsSourceCode: boolean; containsCustomerData: boolean; exportAllowedCount: number; trainingAllowedCount: number; evalAllowedCount: number; replayAllowedCount: number; classifications: Record; redactionStatuses: Record; policyTags?: string[]; } export interface CodaliStorageExportLineage { exportKind: CodaliStorageExportKind; sourceRecordIds: string[]; sourceGatewayRecordIds?: string[]; sourceObjectHashes: string[]; generatedBy?: string; } export interface CodaliStorageExportDeletionGroupSnapshot { capturedAt: string; deletionGroupIds: string[]; byRecordId: Record; } export interface CodaliStorageExportManifest { schemaVersion: CodaliStorageSchemaVersion; recordType: "export_manifest"; manifestId: string; createdAt: string; exportKind: CodaliStorageExportKind; exportFormat: CodaliStorageExportFormat; recordCount: number; records: CodaliStorageExportManifestRecordRef[]; artifactRefs: CodaliStorageObjectRef[]; checksum: string; privacySummary: CodaliStorageExportPrivacySummary; lineage: CodaliStorageExportLineage; deletionGroupSnapshot: CodaliStorageExportDeletionGroupSnapshot; generatedBy?: string; privacy: CodaliStoragePrivacyMetadata; metadata?: Record; } export interface CodaliStorageProductScope { productId: string; tenantHash: string; deploymentId?: string; environment?: string; metadata?: Record; } export interface CodaliStorageRequesterScope { requesterHash: string; conversationHash?: string; requesterType?: string; visibility: CodaliStorageRequesterScopeVisibility; tenantWide: boolean; metadata?: Record; } export interface CodaliStorageCandidateRecordRef { recordType: CodaliStorageRecordType; recordId: string; datasetKind?: CodaliStorageDatasetKind; objectRef?: CodaliStorageObjectRef; labels?: string[]; role?: string; metadata?: Record; } export interface CodaliStorageFeedbackRecord { schemaVersion: CodaliStorageSchemaVersion; recordType: "feedback_record"; feedbackId: string; createdAt: string; source: CodaliStorageFeedbackSource; runId: string; deletionGroupId: string; productScope: CodaliStorageProductScope; requesterScope: CodaliStorageRequesterScope; candidateRecords: CodaliStorageCandidateRecordRef[]; targetType: CodaliStorageRecordType; targetId: string; rating?: number; comment?: string; labels?: string[]; privacy: CodaliStoragePrivacyMetadata; metadata?: Record; } export interface CodaliStorageReviewRecord { schemaVersion: CodaliStorageSchemaVersion; recordType: "review_record"; reviewId: string; createdAt: string; reviewerType: CodaliStorageReviewerType; reviewerId?: string; runId: string; deletionGroupId: string; productScope: CodaliStorageProductScope; requesterScope: CodaliStorageRequesterScope; candidateRecords: CodaliStorageCandidateRecordRef[]; targetType: CodaliStorageRecordType; targetId: string; decision: CodaliStorageReviewDecision; reasons?: string[]; labels?: string[]; promotionTarget?: CodaliStorageReviewPromotionTarget; promotedRecordIds?: string[]; privacy: CodaliStoragePrivacyMetadata; metadata?: Record; } export interface CodaliStorageImprovementRecord { schemaVersion: CodaliStorageSchemaVersion; recordType: "improvement_record"; improvementId: string; createdAt: string; improvementKind: CodaliStorageImprovementKind; status: CodaliStorageImprovementStatus; summary: string; sourceRecordIds: string[]; trainingEligible: boolean; exportManifestId?: string; candidateRef?: CodaliStorageObjectRef; privacy: CodaliStoragePrivacyMetadata; metadata?: Record; } export type CodaliStorageRecord = CodaliStorageGatewayRecord | CodaliStorageDatasetRecord | CodaliStorageExportManifest | CodaliStorageFeedbackRecord | CodaliStorageReviewRecord | CodaliStorageImprovementRecord; export interface CodaliStorageContractFixtureSet { schemaVersion: typeof CODALI_STORAGE_CONTRACT_FIXTURE_SCHEMA_VERSION; contractSchemaVersion: CodaliStorageSchemaVersion; distribution: CodaliStorageContractDistribution; fixtures: { privacyMetadata: CodaliStoragePrivacyMetadata; objectRef: CodaliStorageObjectRef; gatewayRecord: CodaliStorageGatewayRecord; datasetRecord: CodaliStorageDatasetRecord; exportManifest: CodaliStorageExportManifest; feedbackRecord: CodaliStorageFeedbackRecord; reviewRecord: CodaliStorageReviewRecord; improvementRecord: CodaliStorageImprovementRecord; }; } export type CodaliStorageContractJsonSchema = { readonly $schema: "https://json-schema.org/draft/2020-12/schema"; readonly $id: string; readonly title: string; readonly type: "object"; readonly additionalProperties: true; readonly required: readonly string[]; readonly properties: Record; }; export type CodaliStorageContractSchemaName = "privacyMetadata" | "objectRef" | "gatewayRecord" | "datasetRecord" | "exportManifest" | "feedbackRecord" | "reviewRecord" | "improvementRecord"; export declare const CODALI_STORAGE_CONTRACT_JSON_SCHEMAS: { readonly privacyMetadata: CodaliStorageContractJsonSchema; readonly objectRef: CodaliStorageContractJsonSchema; readonly gatewayRecord: CodaliStorageContractJsonSchema; readonly datasetRecord: CodaliStorageContractJsonSchema; readonly exportManifest: CodaliStorageContractJsonSchema; readonly feedbackRecord: CodaliStorageContractJsonSchema; readonly reviewRecord: CodaliStorageContractJsonSchema; readonly improvementRecord: CodaliStorageContractJsonSchema; }; export declare const CODALI_STORAGE_EXPORT_KINDS: readonly CodaliStorageExportKind[]; export declare const isCodaliStorageValidationOk: (result: CodaliStorageValidationResult) => result is { ok: true; value: T; issues: []; }; export declare const isCodaliStoragePrivacyExportAllowed: (privacy: CodaliStoragePrivacyMetadata) => boolean; export declare const isCodaliStoragePrivacyTrainingAllowed: (privacy: CodaliStoragePrivacyMetadata) => boolean; export declare const isCodaliStoragePrivacyUploadAllowed: (privacy: CodaliStoragePrivacyMetadata) => boolean; export declare const isCodaliStorageRecordExportAllowed: (record: { privacy: CodaliStoragePrivacyMetadata; }) => boolean; export declare const validateCodaliStoragePrivacyMetadata: (input: unknown) => CodaliStorageValidationResult; export declare const validateCodaliStorageObjectRef: (input: unknown) => CodaliStorageValidationResult; export declare const validateCodaliStorageGatewayRecord: (input: unknown) => CodaliStorageValidationResult; export declare const validateCodaliStorageDatasetRecord: (input: unknown) => CodaliStorageValidationResult; export declare const validateCodaliStorageExportManifest: (input: unknown) => CodaliStorageValidationResult; export declare const validateCodaliStorageFeedbackRecord: (input: unknown) => CodaliStorageValidationResult; export declare const validateCodaliStorageReviewRecord: (input: unknown) => CodaliStorageValidationResult; export declare const validateCodaliStorageImprovementRecord: (input: unknown) => CodaliStorageValidationResult; export declare const validateCodaliStorageRecord: (input: unknown) => CodaliStorageValidationResult; export declare const validateCodaliStorageContractFixtureSet: (input: unknown) => CodaliStorageValidationResult; //# sourceMappingURL=CodaliStorageContracts.d.ts.map