import type { AgentIntegrationRepository } from '../repositories/agent-integration-repository.js'; import type { AgentObservation, AgentSession } from '../types.js'; export interface AgentSummaryTelemetryEvent { outcome: 'success' | 'failure' | 'empty'; sessionId: string; observationCount: number; latencyMs: number; reason?: 'NO_USABLE_OBSERVATIONS' | 'SUMMARY_PERSIST_FAILED'; } export interface AgentSessionSummaryServiceOptions { now?: () => Date; recordTelemetry?: (event: AgentSummaryTelemetryEvent) => void; } export type AgentSessionSummaryResult = { status: 'CREATED' | 'EXISTING'; memoryId: string; observationCount: number; } | { status: 'SKIPPED'; memoryId: null; observationCount: 0; reason: 'NO_USABLE_OBSERVATIONS'; }; export declare function buildAgentSessionSummary(session: AgentSession, observations: AgentObservation[]): { content: string; observationIds: string[]; } | null; export declare class AgentSessionSummaryService { private readonly repository; private readonly now; private readonly recordTelemetry; constructor(repository: AgentIntegrationRepository, options?: AgentSessionSummaryServiceOptions); summarize(sessionId: string): AgentSessionSummaryResult; private safeRecordTelemetry; } //# sourceMappingURL=agent-session-summary-service.d.ts.map