/** * @license * Copyright 2026 Alibaba Group Holding Limited * Copyright 2026 Qwen * SPDX-License-Identifier: Apache-2.0 * Adapted to TypeScript from qwen-omni-realtime-agent; modified for Qwen Live Harness. */ import type { MemoryConfig, MemoryConnection, MemoryLogger } from './config.js'; import type { EmbeddingClient } from './embed.js'; import { DialogueRecorder } from './recorder.js'; import { ObserverClient, type MemoryVisualFrame, type MemoryVisualSource } from './observer.js'; import type { MemoryStore } from './store.js'; import { UpdaterClient, type ConsolidationSnapshot, type ConsolidationStatus } from './updater.js'; import { type WmApplyResult } from './wm.js'; export interface MemoryToolResult { receipt: string; changed?: boolean; count?: number; } export declare function renderWmReceipt(result: WmApplyResult): string; export interface MemorySessionOptions { store: MemoryStore; libraryId: string; sessionId: string; sessionName?: string; config: MemoryConfig; connection: MemoryConnection; embedder?: EmbeddingClient; log?: MemoryLogger; fetch?: typeof fetch; captureVision?: () => Promise; visualSource?: MemoryVisualSource; updater?: UpdaterClient; observer?: ObserverClient; enqueueEmbedding?: (segmentId: number, body: string) => void; maxPromptChars?: number; } export declare class MemorySession { private readonly options; readonly libraryId: string; readonly sessionId: string; readonly recorder: DialogueRecorder; private readonly database; private readonly log; private readonly updater; private readonly observer; private readonly maxPromptChars; private wm; private wmSeq; private userProfile; private recent; private retrieved; private retrievalTail; private isClosed; private flushed; private readonly pendingPersistence; private observerStarted; private observerEnabled; private visualSource; private observerGeneration; private observerController?; private observerTimer?; private latestFrame?; constructor(options: MemorySessionOptions); get closed(): boolean; get wmEntries(): string[]; recordUser(text: unknown, options?: { moment?: Date; }): void; recordAssistant(text: unknown, options?: { source?: string; interrupted?: boolean; moment?: Date; }): void; applyOmnibio(operations: unknown): WmApplyResult; retrieve(options: { query: unknown; source?: unknown; timeRange?: unknown; }): Promise; private performRetrieve; promptBlocks(): string; private renderPrompt; feedImage(image: string, source: MemoryVisualSource): void; setVisualSource(source: MemoryVisualSource): void; setObserverEnabled(enabled: boolean): void; startObserver(): void; private scheduleObserver; private observeNext; private stopObserver; flush(): void; close(): void; consolidationSnapshot(): ConsolidationSnapshot; consolidate(): Promise; private persist; private writeTurn; private writeSegment; private refreshCounters; private failure; }