/** * @license * Copyright 2026 Alibaba Group Holding Limited * SPDX-License-Identifier: Apache-2.0 */ import type { DatabaseSync } from 'node:sqlite'; import { type MemoryConfig, type MemoryLogger } from './config.js'; import { type EmbeddingClient } from './embed.js'; import { type DialogueSegmentRow, type EnvObservationRow, type RenderTurn } from './render.js'; import type { StoredVector } from './store.js'; export interface RetrievalResult { segments: T[]; usedVector: boolean; bm25Hits: number; vectorHits: number; tailHits: number; truncated: boolean; } type QueryEmbedder = Pick; interface SearchOptions { database: DatabaseSync; query: unknown; timeRange?: unknown; config?: MemoryConfig['retrieve']; embedder?: QueryEmbedder; vectors?: readonly StoredVector[]; now?: Date; log?: MemoryLogger; } export declare function resolveTimeRange(timeRange: unknown, now?: Date): { fromEpoch?: number; toEpoch?: number; swapped: boolean; }; export declare function searchDialogue(options: SearchOptions & { tailTurns?: readonly RenderTurn[]; }): Promise>; export declare function searchEnv(options: SearchOptions): Promise>; export {};