@topgunbuild/server 0.4.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as _topgunbuild_core from '@topgunbuild/core';
2
- import { Timestamp, LWWRecord, ORMapRecord, Principal, EventJournalImpl, EventJournalConfig, JournalEvent, PermissionPolicy, ConsistencyLevel, ReplicationConfig, LWWMap, ORMap, PermissionType, MigrationConfig, MigrationStatus, MigrationMetrics, PartitionMap, PartitionInfo, PartitionChange, ReplicationLag, ReplicationHealth, ReplicationResult, EntryProcessorDef, EntryProcessorResult, HLC, MergeRejection, ConflictResolverDef, MergeContext, MergeResult } from '@topgunbuild/core';
2
+ import { Timestamp, LWWRecord, ORMapRecord, Principal, EventJournalImpl, EventJournalConfig, JournalEvent, PermissionPolicy, ConsistencyLevel, ReplicationConfig, LWWMap, ORMap, PermissionType, MigrationConfig, MigrationStatus, MigrationMetrics, PartitionMap, PartitionInfo, PartitionChange, ReplicationLag, ReplicationHealth, ReplicationResult, EntryProcessorDef, EntryProcessorResult, HLC, MergeRejection, ConflictResolverDef, MergeContext, MergeResult, IndexedLWWMap, IndexedORMap } from '@topgunbuild/core';
3
3
  import { WebSocket } from 'ws';
4
4
  import { Pool, PoolConfig } from 'pg';
5
5
  import pino from 'pino';
@@ -1978,6 +1978,19 @@ declare class ServerCoordinator {
1978
1978
  private broadcastBatchSync;
1979
1979
  private setupClusterListeners;
1980
1980
  private executeLocalQuery;
1981
+ /**
1982
+ * Convert server Query format to core Query format for indexed execution.
1983
+ * Returns null if conversion is not possible (complex queries).
1984
+ */
1985
+ private convertToCoreQuery;
1986
+ /**
1987
+ * Convert predicate node to core Query format.
1988
+ */
1989
+ private predicateToCoreQuery;
1990
+ /**
1991
+ * Convert server operator to core query type.
1992
+ */
1993
+ private convertOperator;
1981
1994
  private finalizeClusterQuery;
1982
1995
  /**
1983
1996
  * Core operation application logic shared between processLocalOp and processLocalOpForBatch.
@@ -3688,4 +3701,175 @@ declare class ConflictResolverHandler {
3688
3701
  dispose(): void;
3689
3702
  }
3690
3703
 
3691
- export { BufferPool, type BufferPoolConfig, type BufferPoolStats, type ClusterConfig, ClusterCoordinator, type ClusterCoordinatorConfig, type ClusterCoordinatorEvents, ClusterManager, type ClusterMember, type ClusterMessage, type CoalescingPreset, type CoalescingWriterMetrics, type CoalescingWriterOptions, ConflictResolverHandler, type ConflictResolverHandlerConfig, ConflictResolverService, type ConflictResolverServiceConfig, type ConnectionContext, ConnectionRateLimiter, DEFAULT_CLUSTER_COORDINATOR_CONFIG, DEFAULT_CONFLICT_RESOLVER_CONFIG, DEFAULT_JOURNAL_SERVICE_CONFIG, DEFAULT_LAG_TRACKER_CONFIG, DEFAULT_SANDBOX_CONFIG, EntryProcessorHandler, type EntryProcessorHandlerConfig, EventJournalService, type EventJournalServiceConfig, type ExportOptions, FilterTasklet, ForEachTasklet, type IInterceptor, type IServerStorage, IteratorTasklet, type IteratorTaskletConfig, type LagInfo, LagTracker, type LagTrackerConfig, LockManager, type Logger, MapTasklet, MapWithResolver, type MapWithResolverConfig, MemoryServerAdapter, type MergeWithResolverResult, MigrationManager, type NativeModuleStatus, type NativeStats, type ORMapTombstones, type ORMapValue, ObjectPool, type ObjectPoolConfig, type ObjectPoolStats, type OpContext, type PartitionDistribution, PartitionService, type PartitionServiceConfig, type PartitionServiceEvents, type PooledEventPayload, type PooledMessage, type PooledRecord, type PooledTimestamp, PostgresAdapter, type PostgresAdapterOptions, ProcessorSandbox, type ProcessorSandboxConfig, type ProgressState, RateLimitInterceptor, type RateLimiterConfig, type RateLimiterStats, ReduceTasklet, ReplicationPipeline, SecurityManager, ServerCoordinator, type ServerCoordinatorConfig, type ServerOp, type SetWithResolverResult, type StorageValue, type Tasklet, TaskletScheduler, type TaskletSchedulerConfig, type TaskletSchedulerStats, TimestampInterceptor, coalescingPresets, createEventPayloadPool, createMessagePool, createRecordPool, createTimestampPool, getCoalescingPreset, getGlobalBufferPool, getGlobalEventPayloadPool, getGlobalMessagePool, getGlobalRecordPool, getGlobalTimestampPool, getNativeModuleStatus, getNativeStats, logNativeStatus, logger, setGlobalBufferPool, setGlobalEventPayloadPool, setGlobalMessagePool, setGlobalRecordPool, setGlobalTimestampPool };
3704
+ /**
3705
+ * IndexConfig Types
3706
+ *
3707
+ * Configuration types for server-side index management.
3708
+ * Used to define indexes per map at server startup.
3709
+ *
3710
+ * @module config/IndexConfig
3711
+ */
3712
+ /**
3713
+ * Definition of a single index on a map.
3714
+ */
3715
+ interface IndexDefinition {
3716
+ /** Attribute name (supports dot notation for nested attributes, e.g., "user.email") */
3717
+ attribute: string;
3718
+ /** Index type */
3719
+ type: 'hash' | 'navigable';
3720
+ /**
3721
+ * Comparator type for navigable indexes.
3722
+ * Defaults to natural ordering (string/number).
3723
+ */
3724
+ comparator?: 'number' | 'string' | 'date';
3725
+ }
3726
+ /**
3727
+ * Index configuration for a specific map.
3728
+ */
3729
+ interface MapIndexConfig {
3730
+ /** Map name */
3731
+ mapName: string;
3732
+ /** Indexes to create on this map */
3733
+ indexes: IndexDefinition[];
3734
+ }
3735
+ /**
3736
+ * Server-wide index configuration.
3737
+ */
3738
+ interface ServerIndexConfig {
3739
+ /**
3740
+ * Auto-create indexes based on query patterns.
3741
+ * When enabled, the server will analyze query patterns and suggest/create indexes.
3742
+ * Default: false
3743
+ */
3744
+ autoIndex?: boolean;
3745
+ /**
3746
+ * Maximum number of auto-created indexes per map.
3747
+ * Prevents unbounded memory growth from auto-indexing.
3748
+ * Default: 10
3749
+ */
3750
+ maxAutoIndexesPerMap?: number;
3751
+ /**
3752
+ * Pre-configured indexes per map.
3753
+ * These indexes are created at map initialization.
3754
+ */
3755
+ maps?: MapIndexConfig[];
3756
+ /**
3757
+ * Whether to log index usage statistics.
3758
+ * Default: false
3759
+ */
3760
+ logStats?: boolean;
3761
+ /**
3762
+ * Interval in milliseconds for logging index statistics.
3763
+ * Only used if logStats is true.
3764
+ * Default: 60000 (1 minute)
3765
+ */
3766
+ statsLogInterval?: number;
3767
+ }
3768
+ /**
3769
+ * Default index configuration.
3770
+ */
3771
+ declare const DEFAULT_INDEX_CONFIG: ServerIndexConfig;
3772
+ /**
3773
+ * Validate a ServerIndexConfig object.
3774
+ *
3775
+ * @param config - Config to validate
3776
+ * @returns Array of validation errors (empty if valid)
3777
+ */
3778
+ declare function validateIndexConfig(config: ServerIndexConfig): string[];
3779
+ /**
3780
+ * Merge user config with defaults.
3781
+ *
3782
+ * @param userConfig - User-provided config
3783
+ * @returns Merged config with defaults
3784
+ */
3785
+ declare function mergeWithDefaults(userConfig: Partial<ServerIndexConfig>): ServerIndexConfig;
3786
+
3787
+ /**
3788
+ * MapFactory Implementation
3789
+ *
3790
+ * Factory for creating LWWMap or IndexedLWWMap based on configuration.
3791
+ * Used by ServerCoordinator to create maps with proper indexes.
3792
+ *
3793
+ * @module config/MapFactory
3794
+ */
3795
+
3796
+ /**
3797
+ * Factory for creating indexed or regular CRDT maps.
3798
+ */
3799
+ declare class MapFactory {
3800
+ private readonly config;
3801
+ private readonly mapConfigs;
3802
+ /**
3803
+ * Create a MapFactory.
3804
+ *
3805
+ * @param config - Server index configuration
3806
+ */
3807
+ constructor(config?: Partial<ServerIndexConfig>);
3808
+ /**
3809
+ * Create an LWWMap or IndexedLWWMap based on configuration.
3810
+ *
3811
+ * @param mapName - Name of the map
3812
+ * @param hlc - Hybrid Logical Clock instance
3813
+ * @returns LWWMap or IndexedLWWMap depending on configuration
3814
+ */
3815
+ createLWWMap<V>(mapName: string, hlc: HLC): LWWMap<string, V> | IndexedLWWMap<string, V>;
3816
+ /**
3817
+ * Create an ORMap or IndexedORMap based on configuration.
3818
+ *
3819
+ * @param mapName - Name of the map
3820
+ * @param hlc - Hybrid Logical Clock instance
3821
+ * @returns ORMap or IndexedORMap depending on configuration
3822
+ */
3823
+ createORMap<V>(mapName: string, hlc: HLC): ORMap<string, V> | IndexedORMap<string, V>;
3824
+ /**
3825
+ * Add an index to an IndexedLWWMap based on definition.
3826
+ */
3827
+ private addIndexToLWWMap;
3828
+ /**
3829
+ * Add an index to an IndexedORMap based on definition.
3830
+ */
3831
+ private addIndexToORMap;
3832
+ /**
3833
+ * Create an Attribute for extracting values from records.
3834
+ * Supports dot notation for nested paths.
3835
+ */
3836
+ private createAttribute;
3837
+ /**
3838
+ * Get a nested value from an object using dot notation.
3839
+ *
3840
+ * @param obj - Object to extract value from
3841
+ * @param path - Dot-notation path (e.g., "user.email")
3842
+ * @returns Value at the path or undefined
3843
+ */
3844
+ private getNestedValue;
3845
+ /**
3846
+ * Create a comparator function for navigable indexes.
3847
+ */
3848
+ private createComparator;
3849
+ /**
3850
+ * Check if a map should be indexed based on configuration.
3851
+ *
3852
+ * @param mapName - Name of the map
3853
+ * @returns true if map has index configuration
3854
+ */
3855
+ hasIndexConfig(mapName: string): boolean;
3856
+ /**
3857
+ * Get index configuration for a map.
3858
+ *
3859
+ * @param mapName - Name of the map
3860
+ * @returns Map index config or undefined
3861
+ */
3862
+ getMapConfig(mapName: string): MapIndexConfig | undefined;
3863
+ /**
3864
+ * Get all configured map names.
3865
+ *
3866
+ * @returns Array of map names with index configuration
3867
+ */
3868
+ getConfiguredMaps(): string[];
3869
+ /**
3870
+ * Get the full server index configuration.
3871
+ */
3872
+ getConfig(): ServerIndexConfig;
3873
+ }
3874
+
3875
+ export { BufferPool, type BufferPoolConfig, type BufferPoolStats, type ClusterConfig, ClusterCoordinator, type ClusterCoordinatorConfig, type ClusterCoordinatorEvents, ClusterManager, type ClusterMember, type ClusterMessage, type CoalescingPreset, type CoalescingWriterMetrics, type CoalescingWriterOptions, ConflictResolverHandler, type ConflictResolverHandlerConfig, ConflictResolverService, type ConflictResolverServiceConfig, type ConnectionContext, ConnectionRateLimiter, DEFAULT_CLUSTER_COORDINATOR_CONFIG, DEFAULT_CONFLICT_RESOLVER_CONFIG, DEFAULT_INDEX_CONFIG, DEFAULT_JOURNAL_SERVICE_CONFIG, DEFAULT_LAG_TRACKER_CONFIG, DEFAULT_SANDBOX_CONFIG, EntryProcessorHandler, type EntryProcessorHandlerConfig, EventJournalService, type EventJournalServiceConfig, type ExportOptions, FilterTasklet, ForEachTasklet, type IInterceptor, type IServerStorage, type IndexDefinition, IteratorTasklet, type IteratorTaskletConfig, type LagInfo, LagTracker, type LagTrackerConfig, LockManager, type Logger, MapFactory, type MapIndexConfig, MapTasklet, MapWithResolver, type MapWithResolverConfig, MemoryServerAdapter, type MergeWithResolverResult, MigrationManager, type NativeModuleStatus, type NativeStats, type ORMapTombstones, type ORMapValue, ObjectPool, type ObjectPoolConfig, type ObjectPoolStats, type OpContext, type PartitionDistribution, PartitionService, type PartitionServiceConfig, type PartitionServiceEvents, type PooledEventPayload, type PooledMessage, type PooledRecord, type PooledTimestamp, PostgresAdapter, type PostgresAdapterOptions, ProcessorSandbox, type ProcessorSandboxConfig, type ProgressState, RateLimitInterceptor, type RateLimiterConfig, type RateLimiterStats, ReduceTasklet, ReplicationPipeline, SecurityManager, ServerCoordinator, type ServerCoordinatorConfig, type ServerIndexConfig, type ServerOp, type SetWithResolverResult, type StorageValue, type Tasklet, TaskletScheduler, type TaskletSchedulerConfig, type TaskletSchedulerStats, TimestampInterceptor, coalescingPresets, createEventPayloadPool, createMessagePool, createRecordPool, createTimestampPool, getCoalescingPreset, getGlobalBufferPool, getGlobalEventPayloadPool, getGlobalMessagePool, getGlobalRecordPool, getGlobalTimestampPool, getNativeModuleStatus, getNativeStats, logNativeStatus, logger, mergeWithDefaults, setGlobalBufferPool, setGlobalEventPayloadPool, setGlobalMessagePool, setGlobalRecordPool, setGlobalTimestampPool, validateIndexConfig };
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as _topgunbuild_core from '@topgunbuild/core';
2
- import { Timestamp, LWWRecord, ORMapRecord, Principal, EventJournalImpl, EventJournalConfig, JournalEvent, PermissionPolicy, ConsistencyLevel, ReplicationConfig, LWWMap, ORMap, PermissionType, MigrationConfig, MigrationStatus, MigrationMetrics, PartitionMap, PartitionInfo, PartitionChange, ReplicationLag, ReplicationHealth, ReplicationResult, EntryProcessorDef, EntryProcessorResult, HLC, MergeRejection, ConflictResolverDef, MergeContext, MergeResult } from '@topgunbuild/core';
2
+ import { Timestamp, LWWRecord, ORMapRecord, Principal, EventJournalImpl, EventJournalConfig, JournalEvent, PermissionPolicy, ConsistencyLevel, ReplicationConfig, LWWMap, ORMap, PermissionType, MigrationConfig, MigrationStatus, MigrationMetrics, PartitionMap, PartitionInfo, PartitionChange, ReplicationLag, ReplicationHealth, ReplicationResult, EntryProcessorDef, EntryProcessorResult, HLC, MergeRejection, ConflictResolverDef, MergeContext, MergeResult, IndexedLWWMap, IndexedORMap } from '@topgunbuild/core';
3
3
  import { WebSocket } from 'ws';
4
4
  import { Pool, PoolConfig } from 'pg';
5
5
  import pino from 'pino';
@@ -1978,6 +1978,19 @@ declare class ServerCoordinator {
1978
1978
  private broadcastBatchSync;
1979
1979
  private setupClusterListeners;
1980
1980
  private executeLocalQuery;
1981
+ /**
1982
+ * Convert server Query format to core Query format for indexed execution.
1983
+ * Returns null if conversion is not possible (complex queries).
1984
+ */
1985
+ private convertToCoreQuery;
1986
+ /**
1987
+ * Convert predicate node to core Query format.
1988
+ */
1989
+ private predicateToCoreQuery;
1990
+ /**
1991
+ * Convert server operator to core query type.
1992
+ */
1993
+ private convertOperator;
1981
1994
  private finalizeClusterQuery;
1982
1995
  /**
1983
1996
  * Core operation application logic shared between processLocalOp and processLocalOpForBatch.
@@ -3688,4 +3701,175 @@ declare class ConflictResolverHandler {
3688
3701
  dispose(): void;
3689
3702
  }
3690
3703
 
3691
- export { BufferPool, type BufferPoolConfig, type BufferPoolStats, type ClusterConfig, ClusterCoordinator, type ClusterCoordinatorConfig, type ClusterCoordinatorEvents, ClusterManager, type ClusterMember, type ClusterMessage, type CoalescingPreset, type CoalescingWriterMetrics, type CoalescingWriterOptions, ConflictResolverHandler, type ConflictResolverHandlerConfig, ConflictResolverService, type ConflictResolverServiceConfig, type ConnectionContext, ConnectionRateLimiter, DEFAULT_CLUSTER_COORDINATOR_CONFIG, DEFAULT_CONFLICT_RESOLVER_CONFIG, DEFAULT_JOURNAL_SERVICE_CONFIG, DEFAULT_LAG_TRACKER_CONFIG, DEFAULT_SANDBOX_CONFIG, EntryProcessorHandler, type EntryProcessorHandlerConfig, EventJournalService, type EventJournalServiceConfig, type ExportOptions, FilterTasklet, ForEachTasklet, type IInterceptor, type IServerStorage, IteratorTasklet, type IteratorTaskletConfig, type LagInfo, LagTracker, type LagTrackerConfig, LockManager, type Logger, MapTasklet, MapWithResolver, type MapWithResolverConfig, MemoryServerAdapter, type MergeWithResolverResult, MigrationManager, type NativeModuleStatus, type NativeStats, type ORMapTombstones, type ORMapValue, ObjectPool, type ObjectPoolConfig, type ObjectPoolStats, type OpContext, type PartitionDistribution, PartitionService, type PartitionServiceConfig, type PartitionServiceEvents, type PooledEventPayload, type PooledMessage, type PooledRecord, type PooledTimestamp, PostgresAdapter, type PostgresAdapterOptions, ProcessorSandbox, type ProcessorSandboxConfig, type ProgressState, RateLimitInterceptor, type RateLimiterConfig, type RateLimiterStats, ReduceTasklet, ReplicationPipeline, SecurityManager, ServerCoordinator, type ServerCoordinatorConfig, type ServerOp, type SetWithResolverResult, type StorageValue, type Tasklet, TaskletScheduler, type TaskletSchedulerConfig, type TaskletSchedulerStats, TimestampInterceptor, coalescingPresets, createEventPayloadPool, createMessagePool, createRecordPool, createTimestampPool, getCoalescingPreset, getGlobalBufferPool, getGlobalEventPayloadPool, getGlobalMessagePool, getGlobalRecordPool, getGlobalTimestampPool, getNativeModuleStatus, getNativeStats, logNativeStatus, logger, setGlobalBufferPool, setGlobalEventPayloadPool, setGlobalMessagePool, setGlobalRecordPool, setGlobalTimestampPool };
3704
+ /**
3705
+ * IndexConfig Types
3706
+ *
3707
+ * Configuration types for server-side index management.
3708
+ * Used to define indexes per map at server startup.
3709
+ *
3710
+ * @module config/IndexConfig
3711
+ */
3712
+ /**
3713
+ * Definition of a single index on a map.
3714
+ */
3715
+ interface IndexDefinition {
3716
+ /** Attribute name (supports dot notation for nested attributes, e.g., "user.email") */
3717
+ attribute: string;
3718
+ /** Index type */
3719
+ type: 'hash' | 'navigable';
3720
+ /**
3721
+ * Comparator type for navigable indexes.
3722
+ * Defaults to natural ordering (string/number).
3723
+ */
3724
+ comparator?: 'number' | 'string' | 'date';
3725
+ }
3726
+ /**
3727
+ * Index configuration for a specific map.
3728
+ */
3729
+ interface MapIndexConfig {
3730
+ /** Map name */
3731
+ mapName: string;
3732
+ /** Indexes to create on this map */
3733
+ indexes: IndexDefinition[];
3734
+ }
3735
+ /**
3736
+ * Server-wide index configuration.
3737
+ */
3738
+ interface ServerIndexConfig {
3739
+ /**
3740
+ * Auto-create indexes based on query patterns.
3741
+ * When enabled, the server will analyze query patterns and suggest/create indexes.
3742
+ * Default: false
3743
+ */
3744
+ autoIndex?: boolean;
3745
+ /**
3746
+ * Maximum number of auto-created indexes per map.
3747
+ * Prevents unbounded memory growth from auto-indexing.
3748
+ * Default: 10
3749
+ */
3750
+ maxAutoIndexesPerMap?: number;
3751
+ /**
3752
+ * Pre-configured indexes per map.
3753
+ * These indexes are created at map initialization.
3754
+ */
3755
+ maps?: MapIndexConfig[];
3756
+ /**
3757
+ * Whether to log index usage statistics.
3758
+ * Default: false
3759
+ */
3760
+ logStats?: boolean;
3761
+ /**
3762
+ * Interval in milliseconds for logging index statistics.
3763
+ * Only used if logStats is true.
3764
+ * Default: 60000 (1 minute)
3765
+ */
3766
+ statsLogInterval?: number;
3767
+ }
3768
+ /**
3769
+ * Default index configuration.
3770
+ */
3771
+ declare const DEFAULT_INDEX_CONFIG: ServerIndexConfig;
3772
+ /**
3773
+ * Validate a ServerIndexConfig object.
3774
+ *
3775
+ * @param config - Config to validate
3776
+ * @returns Array of validation errors (empty if valid)
3777
+ */
3778
+ declare function validateIndexConfig(config: ServerIndexConfig): string[];
3779
+ /**
3780
+ * Merge user config with defaults.
3781
+ *
3782
+ * @param userConfig - User-provided config
3783
+ * @returns Merged config with defaults
3784
+ */
3785
+ declare function mergeWithDefaults(userConfig: Partial<ServerIndexConfig>): ServerIndexConfig;
3786
+
3787
+ /**
3788
+ * MapFactory Implementation
3789
+ *
3790
+ * Factory for creating LWWMap or IndexedLWWMap based on configuration.
3791
+ * Used by ServerCoordinator to create maps with proper indexes.
3792
+ *
3793
+ * @module config/MapFactory
3794
+ */
3795
+
3796
+ /**
3797
+ * Factory for creating indexed or regular CRDT maps.
3798
+ */
3799
+ declare class MapFactory {
3800
+ private readonly config;
3801
+ private readonly mapConfigs;
3802
+ /**
3803
+ * Create a MapFactory.
3804
+ *
3805
+ * @param config - Server index configuration
3806
+ */
3807
+ constructor(config?: Partial<ServerIndexConfig>);
3808
+ /**
3809
+ * Create an LWWMap or IndexedLWWMap based on configuration.
3810
+ *
3811
+ * @param mapName - Name of the map
3812
+ * @param hlc - Hybrid Logical Clock instance
3813
+ * @returns LWWMap or IndexedLWWMap depending on configuration
3814
+ */
3815
+ createLWWMap<V>(mapName: string, hlc: HLC): LWWMap<string, V> | IndexedLWWMap<string, V>;
3816
+ /**
3817
+ * Create an ORMap or IndexedORMap based on configuration.
3818
+ *
3819
+ * @param mapName - Name of the map
3820
+ * @param hlc - Hybrid Logical Clock instance
3821
+ * @returns ORMap or IndexedORMap depending on configuration
3822
+ */
3823
+ createORMap<V>(mapName: string, hlc: HLC): ORMap<string, V> | IndexedORMap<string, V>;
3824
+ /**
3825
+ * Add an index to an IndexedLWWMap based on definition.
3826
+ */
3827
+ private addIndexToLWWMap;
3828
+ /**
3829
+ * Add an index to an IndexedORMap based on definition.
3830
+ */
3831
+ private addIndexToORMap;
3832
+ /**
3833
+ * Create an Attribute for extracting values from records.
3834
+ * Supports dot notation for nested paths.
3835
+ */
3836
+ private createAttribute;
3837
+ /**
3838
+ * Get a nested value from an object using dot notation.
3839
+ *
3840
+ * @param obj - Object to extract value from
3841
+ * @param path - Dot-notation path (e.g., "user.email")
3842
+ * @returns Value at the path or undefined
3843
+ */
3844
+ private getNestedValue;
3845
+ /**
3846
+ * Create a comparator function for navigable indexes.
3847
+ */
3848
+ private createComparator;
3849
+ /**
3850
+ * Check if a map should be indexed based on configuration.
3851
+ *
3852
+ * @param mapName - Name of the map
3853
+ * @returns true if map has index configuration
3854
+ */
3855
+ hasIndexConfig(mapName: string): boolean;
3856
+ /**
3857
+ * Get index configuration for a map.
3858
+ *
3859
+ * @param mapName - Name of the map
3860
+ * @returns Map index config or undefined
3861
+ */
3862
+ getMapConfig(mapName: string): MapIndexConfig | undefined;
3863
+ /**
3864
+ * Get all configured map names.
3865
+ *
3866
+ * @returns Array of map names with index configuration
3867
+ */
3868
+ getConfiguredMaps(): string[];
3869
+ /**
3870
+ * Get the full server index configuration.
3871
+ */
3872
+ getConfig(): ServerIndexConfig;
3873
+ }
3874
+
3875
+ export { BufferPool, type BufferPoolConfig, type BufferPoolStats, type ClusterConfig, ClusterCoordinator, type ClusterCoordinatorConfig, type ClusterCoordinatorEvents, ClusterManager, type ClusterMember, type ClusterMessage, type CoalescingPreset, type CoalescingWriterMetrics, type CoalescingWriterOptions, ConflictResolverHandler, type ConflictResolverHandlerConfig, ConflictResolverService, type ConflictResolverServiceConfig, type ConnectionContext, ConnectionRateLimiter, DEFAULT_CLUSTER_COORDINATOR_CONFIG, DEFAULT_CONFLICT_RESOLVER_CONFIG, DEFAULT_INDEX_CONFIG, DEFAULT_JOURNAL_SERVICE_CONFIG, DEFAULT_LAG_TRACKER_CONFIG, DEFAULT_SANDBOX_CONFIG, EntryProcessorHandler, type EntryProcessorHandlerConfig, EventJournalService, type EventJournalServiceConfig, type ExportOptions, FilterTasklet, ForEachTasklet, type IInterceptor, type IServerStorage, type IndexDefinition, IteratorTasklet, type IteratorTaskletConfig, type LagInfo, LagTracker, type LagTrackerConfig, LockManager, type Logger, MapFactory, type MapIndexConfig, MapTasklet, MapWithResolver, type MapWithResolverConfig, MemoryServerAdapter, type MergeWithResolverResult, MigrationManager, type NativeModuleStatus, type NativeStats, type ORMapTombstones, type ORMapValue, ObjectPool, type ObjectPoolConfig, type ObjectPoolStats, type OpContext, type PartitionDistribution, PartitionService, type PartitionServiceConfig, type PartitionServiceEvents, type PooledEventPayload, type PooledMessage, type PooledRecord, type PooledTimestamp, PostgresAdapter, type PostgresAdapterOptions, ProcessorSandbox, type ProcessorSandboxConfig, type ProgressState, RateLimitInterceptor, type RateLimiterConfig, type RateLimiterStats, ReduceTasklet, ReplicationPipeline, SecurityManager, ServerCoordinator, type ServerCoordinatorConfig, type ServerIndexConfig, type ServerOp, type SetWithResolverResult, type StorageValue, type Tasklet, TaskletScheduler, type TaskletSchedulerConfig, type TaskletSchedulerStats, TimestampInterceptor, coalescingPresets, createEventPayloadPool, createMessagePool, createRecordPool, createTimestampPool, getCoalescingPreset, getGlobalBufferPool, getGlobalEventPayloadPool, getGlobalMessagePool, getGlobalRecordPool, getGlobalTimestampPool, getNativeModuleStatus, getNativeStats, logNativeStatus, logger, mergeWithDefaults, setGlobalBufferPool, setGlobalEventPayloadPool, setGlobalMessagePool, setGlobalRecordPool, setGlobalTimestampPool, validateIndexConfig };