import { type InitOptions } from '../commands/init.js'; import { type PathEnvironment } from '../config/paths.js'; import type { SqliteDatabase } from '../db/adapter.js'; import { type EmbeddingDatabaseOpener } from '../embedding/backend.js'; import type { EmbeddingConfig, EmbeddingProvider, EmbeddingRuntime, VectorSearchBackend } from '../embedding/types.js'; export interface McpRuntimeOwnerOptions extends PathEnvironment { readonly databasePath?: string; readonly migrationsDirectory?: string; readonly initializeDatabase?: (options: InitOptions) => unknown | PromiseLike; readonly openDatabase?: EmbeddingDatabaseOpener; readonly embeddingConfig?: EmbeddingConfig; readonly embeddingProvider?: EmbeddingProvider; readonly embeddingBackend?: VectorSearchBackend; } export type McpDatabaseOperation = (database: SqliteDatabase, runtime: EmbeddingRuntime) => Promise | T; export interface McpDatabaseOwner { withDatabase(operation: McpDatabaseOperation): Promise; close(): Promise; } /** Own one MCP-process database/runtime instead of opening a connection per tool call. */ export declare class McpRuntimeOwner implements McpDatabaseOwner { #private; constructor(options?: McpRuntimeOwnerOptions); withDatabase(operation: McpDatabaseOperation): Promise; close(): Promise; } //# sourceMappingURL=runtime-owner.d.ts.map