import type { ContextBroker, ContextBrokerResult } from '../context/broker.js'; import type { DeliveredNudge } from '../context/nudges.js'; import type { Recommendation } from '../context/recommendations.js'; import type { AgentGatewayService } from '../gateway/agent-service.js'; import type { CheckpointMutationPort, CheckpointMutationResult } from '../gateway/checkpoint-mutation-service.js'; import type { NudgeDeliveryPort } from '../gateway/nudge-delivery-service.js'; import { successEnvelope } from '../serialization/envelope.js'; import type { CapabilityGatedIntakeResponse } from './routes/agent-capability-gate.js'; export interface AgentCheckpointUseCaseDependencies { readonly database: import('../db/adapter.js').SqliteDatabase; readonly service: AgentGatewayService; readonly checkpointMutation: CheckpointMutationPort; readonly nudgeDelivery: NudgeDeliveryPort; readonly broker: ContextBroker; readonly enqueueWrite: (operation: () => T | PromiseLike) => Promise; } export interface AgentCheckpointInput { readonly runId: string; readonly idempotencyKey: string; readonly body: unknown; readonly requestBindingHash: string; } export type AgentCheckpointResponse = Omit & { readonly recommendations: readonly Recommendation[]; readonly capabilities: CapabilityGatedIntakeResponse['capabilities']; readonly memoryPolicy: CapabilityGatedIntakeResponse['memoryPolicy']; readonly warnings: CapabilityGatedIntakeResponse['warnings']; readonly nextAction: CapabilityGatedIntakeResponse['nextAction']; readonly context: ContextBrokerResult['context']; readonly nudge: DeliveredNudge | null; readonly untrusted: true; readonly requestBindingHash: string; }; export declare class AgentCheckpointUseCase { private readonly dependencies; constructor(dependencies: AgentCheckpointUseCaseDependencies); execute(input: AgentCheckpointInput): Promise; } export declare function checkpointSuccessResponse(value: AgentCheckpointResponse): ReturnType; //# sourceMappingURL=agent-checkpoint-use-case.d.ts.map