/** * SochDB Node.js SDK v0.5.3 * * Dual-mode architecture: Embedded (FFI) + Server (gRPC/IPC) * * Architecture: Flexible Deployment * ================================== * This SDK supports BOTH modes: * * 1. Embedded Mode (FFI) - For single-process apps: * - Direct FFI bindings to Rust libraries * - No server required - just npm install and run * - Best for: Local development, simple apps * * 2. Concurrent Mode (FFI) - For multi-process apps: * - Same FFI bindings with MVCC for concurrent access * - Multiple Node.js processes can access same database * - Best for: PM2 cluster, Express workers * * 3. Server Mode (gRPC/IPC) - For distributed systems: * - Thin client connecting to sochdb-grpc server * - Best for: Production, multi-language, scalability * * @example Embedded Mode * ```typescript * import { Database } from '@sochdb/sochdb'; * * // Direct FFI - no server needed * const db = await Database.open('./mydb'); * await db.put(Buffer.from('key'), Buffer.from('value')); * await db.close(); * ``` * * @example Concurrent Mode * ```typescript * import { Database } from '@sochdb/sochdb'; * * // Multiple processes can access simultaneously * const db = Database.openConcurrent('./mydb'); * console.log(`Concurrent: ${db.isConcurrent}`); * ``` * * @example Server Mode * ```typescript * import { SochDBClient } from '@sochdb/sochdb'; * * // Connect to server * const client = new SochDBClient({ address: 'localhost:50051' }); * await client.putKv('key', Buffer.from('value')); * ``` */ export declare const VERSION = "0.5.3"; export { EmbeddedDatabase, EmbeddedDatabaseConfig } from './embedded'; export { EmbeddedTransaction } from './embedded'; export { HnswIndex, HnswConfig, HnswBindings } from './embedded'; export { SearchResult as HnswSearchResult } from './embedded'; export { EmbeddedDatabase as Database } from './embedded'; import { EmbeddedDatabase, EmbeddedDatabaseConfig } from './embedded'; /** * Open a database in concurrent mode (multi-process safe). * Alias for EmbeddedDatabase.openConcurrent() */ export declare function openConcurrent(path: string, options?: { fallbackToStandard?: boolean; }): EmbeddedDatabase; /** * Open a database in standard mode. * Alias for EmbeddedDatabase.open() */ export declare function open(path: string, config?: EmbeddedDatabaseConfig): EmbeddedDatabase; export { Namespace, Collection, DistanceMetric, NamespaceNotFoundError, NamespaceExistsError, CollectionNotFoundError, CollectionExistsError, } from './namespace'; export type { NamespaceConfig, CollectionConfig, SearchRequest, SearchResult as NamespaceSearchResult, } from './namespace'; export { PriorityQueue, TaskState, createQueue, } from './queue'; export type { QueueConfig, QueueKey, Task, QueueStats, } from './queue'; export { SemanticCache, } from './semantic-cache'; export type { CacheEntry, CacheHit, CacheStats, } from './semantic-cache'; export { ContextQueryBuilder, ContextOutputFormat, TruncationStrategy, createContextBuilder, } from './context-builder'; export type { ContextResult, } from './context-builder'; export { ExtractionPipeline, Consolidator, HybridRetriever, AllowedSet, } from './memory'; export type { Entity, Relation, Assertion, RawAssertion, CanonicalFact, ExtractionResult, ExtractionSchema, ConsolidationConfig, RetrievalConfig, RetrievalResult, RetrievalResponse, } from './memory'; export { McpServer, McpClient, McpError, MCP_ERROR_CODES, } from './mcp'; export type { McpTool, McpToolCall, McpToolResult, McpResource, McpResourceContent, McpPrompt, McpPromptArgument, McpPromptMessage, McpServerCapabilities, McpServerConfig, McpClientConfig, McpTransport, } from './mcp'; export { PolicyService, } from './policy'; export type { PolicyRule, PolicyCondition, PolicyEvaluation, NamespacePolicy, NamespaceGrant, NamespacePermission, PolicyAction, PolicyRequest, PolicySet, PolicyAuditEntry, } from './policy'; export { SochDBClient } from './grpc-client'; export type { SearchResult, Document, GraphNode, GraphEdge, } from './grpc-client'; export { IpcClient } from './ipc-client'; export { StudioClient, StudioAPIError } from './studio'; export type { StudioClientOptions, StudioEvent, StudioHealthResponse, StudioIngestResult, } from './studio'; export { WireFormat, ContextFormat, CanonicalFormat, FormatCapabilities, FormatConversionError, } from './format'; export { Query } from './query'; export type { QueryResult } from './query'; export { SochDBError, ConnectionError, TransactionError, ProtocolError, DatabaseError, ErrorCode, LockError, DatabaseLockedError, LockTimeoutError, EpochMismatchError, SplitBrainError, } from './errors'; export { SochDBClient as GrpcClient } from './grpc-client'; //# sourceMappingURL=index.d.ts.map