@topgunbuild/server 0.4.0 → 0.5.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 +186 -2
- package/dist/index.d.ts +186 -2
- package/dist/index.js +508 -6
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +511 -7
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
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
|
-
|
|
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
|
-
|
|
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 };
|