import type { SqliteDatabase } from '../db/adapter.js'; import { type ContextEntryOrigin } from './origin.js'; import { type ContextRankingComponent, type ContextRankingV2Component } from './ranking.js'; export type ContextDeliveryScoreComponents = { [Component in ContextRankingComponent]: number; }; export type ContextDeliveryScoreComponentsV2 = { [Component in ContextRankingV2Component]: number; }; export type ContextDeliveryScoreComponentsAny = ContextDeliveryScoreComponents | ContextDeliveryScoreComponentsV2; export interface ContextDeliveryItemInput { entryId: string; entryRevision: number; rank: number; scoreComponents: ContextDeliveryScoreComponentsAny; selectionReasons: string[]; /** Set only for v2 cross-scope deliveries; project remains the v1 default. */ origin?: ContextEntryOrigin; } export interface ContextDeliveryInput { workspace: string; deliveryId: string; runId: string; throughSequence: number; intakeSessionId: string | null; taskProfileHash: string; queryHash: string; policyVersion: string; charBudget: number; charCount: number; truncated: boolean; createdAt: string; items: ContextDeliveryItemInput[]; scoreSchemaVersion?: number; } export interface ContextDeliveryItemView extends ContextDeliveryItemInput { untrusted: true; } export interface ContextDeliveryView extends Omit { items: ContextDeliveryItemView[]; untrusted: true; } export interface ContextDeliveryWriteOptions { /** Runs after authoritative state is revalidated and immediately before an insert or idempotent return. */ assertBeforePersist?: () => void; } export interface ReadContextDeliveryInput { workspace: string; deliveryId: string; } export interface ContextDeliveryPage { items: ContextDeliveryView[]; nextCursor: string | null; } export declare function scopedDeliveryId(input: ContextDeliveryInput): string; export declare function recordContextDeliveryInTransaction(database: SqliteDatabase, input: unknown, options?: ContextDeliveryWriteOptions): ContextDeliveryView; export declare function recordContextDelivery(database: SqliteDatabase, input: unknown, options?: ContextDeliveryWriteOptions): ContextDeliveryView; export declare function readContextDelivery(database: SqliteDatabase, input: unknown): ContextDeliveryView; export declare function listContextDeliveries(database: SqliteDatabase, input: unknown): ContextDeliveryPage; //# sourceMappingURL=delivery.d.ts.map