@danielsimonjr/memoryjs 1.0.0 → 1.2.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/README.md +385 -113
- package/README.md.backup-1768084780988 +266 -0
- package/dist/index.cjs +24156 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +16967 -0
- package/dist/index.d.ts +16963 -11
- package/dist/index.js +23887 -19
- package/dist/index.js.map +1 -1
- package/dist/workers/levenshteinWorker.cjs +102 -0
- package/dist/workers/levenshteinWorker.cjs.map +1 -0
- package/dist/workers/levenshteinWorker.js +57 -91
- package/dist/workers/levenshteinWorker.js.map +1 -1
- package/package.json +75 -69
- package/dist/core/EntityManager.d.ts +0 -268
- package/dist/core/EntityManager.d.ts.map +0 -1
- package/dist/core/EntityManager.js +0 -512
- package/dist/core/EntityManager.js.map +0 -1
- package/dist/core/GraphEventEmitter.d.ts +0 -202
- package/dist/core/GraphEventEmitter.d.ts.map +0 -1
- package/dist/core/GraphEventEmitter.js +0 -347
- package/dist/core/GraphEventEmitter.js.map +0 -1
- package/dist/core/GraphStorage.d.ts +0 -395
- package/dist/core/GraphStorage.d.ts.map +0 -1
- package/dist/core/GraphStorage.js +0 -786
- package/dist/core/GraphStorage.js.map +0 -1
- package/dist/core/GraphTraversal.d.ts +0 -141
- package/dist/core/GraphTraversal.d.ts.map +0 -1
- package/dist/core/GraphTraversal.js +0 -574
- package/dist/core/GraphTraversal.js.map +0 -1
- package/dist/core/HierarchyManager.d.ts +0 -111
- package/dist/core/HierarchyManager.d.ts.map +0 -1
- package/dist/core/HierarchyManager.js +0 -225
- package/dist/core/HierarchyManager.js.map +0 -1
- package/dist/core/ManagerContext.d.ts +0 -76
- package/dist/core/ManagerContext.d.ts.map +0 -1
- package/dist/core/ManagerContext.js +0 -129
- package/dist/core/ManagerContext.js.map +0 -1
- package/dist/core/ObservationManager.d.ts +0 -85
- package/dist/core/ObservationManager.d.ts.map +0 -1
- package/dist/core/ObservationManager.js +0 -124
- package/dist/core/ObservationManager.js.map +0 -1
- package/dist/core/RelationManager.d.ts +0 -131
- package/dist/core/RelationManager.d.ts.map +0 -1
- package/dist/core/RelationManager.js +0 -212
- package/dist/core/RelationManager.js.map +0 -1
- package/dist/core/SQLiteStorage.d.ts +0 -354
- package/dist/core/SQLiteStorage.d.ts.map +0 -1
- package/dist/core/SQLiteStorage.js +0 -919
- package/dist/core/SQLiteStorage.js.map +0 -1
- package/dist/core/StorageFactory.d.ts +0 -45
- package/dist/core/StorageFactory.d.ts.map +0 -1
- package/dist/core/StorageFactory.js +0 -65
- package/dist/core/StorageFactory.js.map +0 -1
- package/dist/core/TransactionManager.d.ts +0 -464
- package/dist/core/TransactionManager.d.ts.map +0 -1
- package/dist/core/TransactionManager.js +0 -869
- package/dist/core/TransactionManager.js.map +0 -1
- package/dist/core/index.d.ts +0 -17
- package/dist/core/index.d.ts.map +0 -1
- package/dist/core/index.js +0 -20
- package/dist/core/index.js.map +0 -1
- package/dist/features/AnalyticsManager.d.ts +0 -44
- package/dist/features/AnalyticsManager.d.ts.map +0 -1
- package/dist/features/AnalyticsManager.js +0 -224
- package/dist/features/AnalyticsManager.js.map +0 -1
- package/dist/features/ArchiveManager.d.ts +0 -133
- package/dist/features/ArchiveManager.d.ts.map +0 -1
- package/dist/features/ArchiveManager.js +0 -282
- package/dist/features/ArchiveManager.js.map +0 -1
- package/dist/features/CompressionManager.d.ts +0 -119
- package/dist/features/CompressionManager.d.ts.map +0 -1
- package/dist/features/CompressionManager.js +0 -470
- package/dist/features/CompressionManager.js.map +0 -1
- package/dist/features/IOManager.d.ts +0 -225
- package/dist/features/IOManager.d.ts.map +0 -1
- package/dist/features/IOManager.js +0 -1093
- package/dist/features/IOManager.js.map +0 -1
- package/dist/features/KeywordExtractor.d.ts +0 -61
- package/dist/features/KeywordExtractor.d.ts.map +0 -1
- package/dist/features/KeywordExtractor.js +0 -127
- package/dist/features/KeywordExtractor.js.map +0 -1
- package/dist/features/ObservationNormalizer.d.ts +0 -90
- package/dist/features/ObservationNormalizer.d.ts.map +0 -1
- package/dist/features/ObservationNormalizer.js +0 -194
- package/dist/features/ObservationNormalizer.js.map +0 -1
- package/dist/features/StreamingExporter.d.ts +0 -128
- package/dist/features/StreamingExporter.d.ts.map +0 -1
- package/dist/features/StreamingExporter.js +0 -212
- package/dist/features/StreamingExporter.js.map +0 -1
- package/dist/features/TagManager.d.ts +0 -147
- package/dist/features/TagManager.d.ts.map +0 -1
- package/dist/features/TagManager.js +0 -211
- package/dist/features/TagManager.js.map +0 -1
- package/dist/features/index.d.ts +0 -14
- package/dist/features/index.d.ts.map +0 -1
- package/dist/features/index.js +0 -15
- package/dist/features/index.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/search/BM25Search.d.ts +0 -148
- package/dist/search/BM25Search.d.ts.map +0 -1
- package/dist/search/BM25Search.js +0 -340
- package/dist/search/BM25Search.js.map +0 -1
- package/dist/search/BasicSearch.d.ts +0 -51
- package/dist/search/BasicSearch.d.ts.map +0 -1
- package/dist/search/BasicSearch.js +0 -138
- package/dist/search/BasicSearch.js.map +0 -1
- package/dist/search/BooleanSearch.d.ts +0 -98
- package/dist/search/BooleanSearch.d.ts.map +0 -1
- package/dist/search/BooleanSearch.js +0 -431
- package/dist/search/BooleanSearch.js.map +0 -1
- package/dist/search/EarlyTerminationManager.d.ts +0 -140
- package/dist/search/EarlyTerminationManager.d.ts.map +0 -1
- package/dist/search/EarlyTerminationManager.js +0 -280
- package/dist/search/EarlyTerminationManager.js.map +0 -1
- package/dist/search/EmbeddingCache.d.ts +0 -175
- package/dist/search/EmbeddingCache.d.ts.map +0 -1
- package/dist/search/EmbeddingCache.js +0 -247
- package/dist/search/EmbeddingCache.js.map +0 -1
- package/dist/search/EmbeddingService.d.ts +0 -277
- package/dist/search/EmbeddingService.d.ts.map +0 -1
- package/dist/search/EmbeddingService.js +0 -531
- package/dist/search/EmbeddingService.js.map +0 -1
- package/dist/search/FuzzySearch.d.ts +0 -118
- package/dist/search/FuzzySearch.d.ts.map +0 -1
- package/dist/search/FuzzySearch.js +0 -313
- package/dist/search/FuzzySearch.js.map +0 -1
- package/dist/search/HybridScorer.d.ts +0 -181
- package/dist/search/HybridScorer.d.ts.map +0 -1
- package/dist/search/HybridScorer.js +0 -258
- package/dist/search/HybridScorer.js.map +0 -1
- package/dist/search/HybridSearchManager.d.ts +0 -80
- package/dist/search/HybridSearchManager.d.ts.map +0 -1
- package/dist/search/HybridSearchManager.js +0 -188
- package/dist/search/HybridSearchManager.js.map +0 -1
- package/dist/search/IncrementalIndexer.d.ts +0 -201
- package/dist/search/IncrementalIndexer.d.ts.map +0 -1
- package/dist/search/IncrementalIndexer.js +0 -343
- package/dist/search/IncrementalIndexer.js.map +0 -1
- package/dist/search/OptimizedInvertedIndex.d.ts +0 -163
- package/dist/search/OptimizedInvertedIndex.d.ts.map +0 -1
- package/dist/search/OptimizedInvertedIndex.js +0 -359
- package/dist/search/OptimizedInvertedIndex.js.map +0 -1
- package/dist/search/ParallelSearchExecutor.d.ts +0 -172
- package/dist/search/ParallelSearchExecutor.d.ts.map +0 -1
- package/dist/search/ParallelSearchExecutor.js +0 -310
- package/dist/search/ParallelSearchExecutor.js.map +0 -1
- package/dist/search/QuantizedVectorStore.d.ts +0 -171
- package/dist/search/QuantizedVectorStore.d.ts.map +0 -1
- package/dist/search/QuantizedVectorStore.js +0 -308
- package/dist/search/QuantizedVectorStore.js.map +0 -1
- package/dist/search/QueryAnalyzer.d.ts +0 -76
- package/dist/search/QueryAnalyzer.d.ts.map +0 -1
- package/dist/search/QueryAnalyzer.js +0 -228
- package/dist/search/QueryAnalyzer.js.map +0 -1
- package/dist/search/QueryCostEstimator.d.ts +0 -244
- package/dist/search/QueryCostEstimator.d.ts.map +0 -1
- package/dist/search/QueryCostEstimator.js +0 -653
- package/dist/search/QueryCostEstimator.js.map +0 -1
- package/dist/search/QueryPlanCache.d.ts +0 -220
- package/dist/search/QueryPlanCache.d.ts.map +0 -1
- package/dist/search/QueryPlanCache.js +0 -380
- package/dist/search/QueryPlanCache.js.map +0 -1
- package/dist/search/QueryPlanner.d.ts +0 -58
- package/dist/search/QueryPlanner.d.ts.map +0 -1
- package/dist/search/QueryPlanner.js +0 -138
- package/dist/search/QueryPlanner.js.map +0 -1
- package/dist/search/RankedSearch.d.ts +0 -71
- package/dist/search/RankedSearch.d.ts.map +0 -1
- package/dist/search/RankedSearch.js +0 -239
- package/dist/search/RankedSearch.js.map +0 -1
- package/dist/search/ReflectionManager.d.ts +0 -120
- package/dist/search/ReflectionManager.d.ts.map +0 -1
- package/dist/search/ReflectionManager.js +0 -232
- package/dist/search/ReflectionManager.js.map +0 -1
- package/dist/search/SavedSearchManager.d.ts +0 -79
- package/dist/search/SavedSearchManager.d.ts.map +0 -1
- package/dist/search/SavedSearchManager.js +0 -147
- package/dist/search/SavedSearchManager.js.map +0 -1
- package/dist/search/SearchFilterChain.d.ts +0 -120
- package/dist/search/SearchFilterChain.d.ts.map +0 -1
- package/dist/search/SearchFilterChain.js +0 -186
- package/dist/search/SearchFilterChain.js.map +0 -1
- package/dist/search/SearchManager.d.ts +0 -326
- package/dist/search/SearchManager.d.ts.map +0 -1
- package/dist/search/SearchManager.js +0 -454
- package/dist/search/SearchManager.js.map +0 -1
- package/dist/search/SearchSuggestions.d.ts +0 -27
- package/dist/search/SearchSuggestions.d.ts.map +0 -1
- package/dist/search/SearchSuggestions.js +0 -58
- package/dist/search/SearchSuggestions.js.map +0 -1
- package/dist/search/SemanticSearch.d.ts +0 -149
- package/dist/search/SemanticSearch.d.ts.map +0 -1
- package/dist/search/SemanticSearch.js +0 -324
- package/dist/search/SemanticSearch.js.map +0 -1
- package/dist/search/SymbolicSearch.d.ts +0 -61
- package/dist/search/SymbolicSearch.d.ts.map +0 -1
- package/dist/search/SymbolicSearch.js +0 -164
- package/dist/search/SymbolicSearch.js.map +0 -1
- package/dist/search/TFIDFEventSync.d.ts +0 -85
- package/dist/search/TFIDFEventSync.d.ts.map +0 -1
- package/dist/search/TFIDFEventSync.js +0 -134
- package/dist/search/TFIDFEventSync.js.map +0 -1
- package/dist/search/TFIDFIndexManager.d.ts +0 -151
- package/dist/search/TFIDFIndexManager.d.ts.map +0 -1
- package/dist/search/TFIDFIndexManager.js +0 -433
- package/dist/search/TFIDFIndexManager.js.map +0 -1
- package/dist/search/VectorStore.d.ts +0 -235
- package/dist/search/VectorStore.d.ts.map +0 -1
- package/dist/search/VectorStore.js +0 -312
- package/dist/search/VectorStore.js.map +0 -1
- package/dist/search/index.d.ts +0 -35
- package/dist/search/index.d.ts.map +0 -1
- package/dist/search/index.js +0 -53
- package/dist/search/index.js.map +0 -1
- package/dist/types/index.d.ts +0 -13
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js +0 -13
- package/dist/types/index.js.map +0 -1
- package/dist/types/types.d.ts +0 -1811
- package/dist/types/types.d.ts.map +0 -1
- package/dist/types/types.js +0 -10
- package/dist/types/types.js.map +0 -1
- package/dist/utils/BatchProcessor.d.ts +0 -271
- package/dist/utils/BatchProcessor.d.ts.map +0 -1
- package/dist/utils/BatchProcessor.js +0 -377
- package/dist/utils/BatchProcessor.js.map +0 -1
- package/dist/utils/MemoryMonitor.d.ts +0 -176
- package/dist/utils/MemoryMonitor.d.ts.map +0 -1
- package/dist/utils/MemoryMonitor.js +0 -306
- package/dist/utils/MemoryMonitor.js.map +0 -1
- package/dist/utils/WorkerPoolManager.d.ts +0 -233
- package/dist/utils/WorkerPoolManager.d.ts.map +0 -1
- package/dist/utils/WorkerPoolManager.js +0 -421
- package/dist/utils/WorkerPoolManager.js.map +0 -1
- package/dist/utils/compressedCache.d.ts +0 -221
- package/dist/utils/compressedCache.d.ts.map +0 -1
- package/dist/utils/compressedCache.js +0 -349
- package/dist/utils/compressedCache.js.map +0 -1
- package/dist/utils/compressionUtil.d.ts +0 -214
- package/dist/utils/compressionUtil.d.ts.map +0 -1
- package/dist/utils/compressionUtil.js +0 -248
- package/dist/utils/compressionUtil.js.map +0 -1
- package/dist/utils/constants.d.ts +0 -245
- package/dist/utils/constants.d.ts.map +0 -1
- package/dist/utils/constants.js +0 -253
- package/dist/utils/constants.js.map +0 -1
- package/dist/utils/entityUtils.d.ts +0 -379
- package/dist/utils/entityUtils.d.ts.map +0 -1
- package/dist/utils/entityUtils.js +0 -649
- package/dist/utils/entityUtils.js.map +0 -1
- package/dist/utils/errors.d.ts +0 -95
- package/dist/utils/errors.d.ts.map +0 -1
- package/dist/utils/errors.js +0 -146
- package/dist/utils/errors.js.map +0 -1
- package/dist/utils/formatters.d.ts +0 -145
- package/dist/utils/formatters.d.ts.map +0 -1
- package/dist/utils/formatters.js +0 -133
- package/dist/utils/formatters.js.map +0 -1
- package/dist/utils/index.d.ts +0 -26
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/index.js +0 -88
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/indexes.d.ts +0 -270
- package/dist/utils/indexes.d.ts.map +0 -1
- package/dist/utils/indexes.js +0 -527
- package/dist/utils/indexes.js.map +0 -1
- package/dist/utils/logger.d.ts +0 -31
- package/dist/utils/logger.d.ts.map +0 -1
- package/dist/utils/logger.js +0 -41
- package/dist/utils/logger.js.map +0 -1
- package/dist/utils/operationUtils.d.ts +0 -124
- package/dist/utils/operationUtils.d.ts.map +0 -1
- package/dist/utils/operationUtils.js +0 -176
- package/dist/utils/operationUtils.js.map +0 -1
- package/dist/utils/parallelUtils.d.ts +0 -76
- package/dist/utils/parallelUtils.d.ts.map +0 -1
- package/dist/utils/parallelUtils.js +0 -192
- package/dist/utils/parallelUtils.js.map +0 -1
- package/dist/utils/schemas.d.ts +0 -556
- package/dist/utils/schemas.d.ts.map +0 -1
- package/dist/utils/schemas.js +0 -485
- package/dist/utils/schemas.js.map +0 -1
- package/dist/utils/searchAlgorithms.d.ts +0 -99
- package/dist/utils/searchAlgorithms.d.ts.map +0 -1
- package/dist/utils/searchAlgorithms.js +0 -168
- package/dist/utils/searchAlgorithms.js.map +0 -1
- package/dist/utils/searchCache.d.ts +0 -108
- package/dist/utils/searchCache.d.ts.map +0 -1
- package/dist/utils/searchCache.js +0 -210
- package/dist/utils/searchCache.js.map +0 -1
- package/dist/utils/taskScheduler.d.ts +0 -294
- package/dist/utils/taskScheduler.d.ts.map +0 -1
- package/dist/utils/taskScheduler.js +0 -487
- package/dist/utils/taskScheduler.js.map +0 -1
- package/dist/workers/index.d.ts +0 -12
- package/dist/workers/index.d.ts.map +0 -1
- package/dist/workers/index.js +0 -10
- package/dist/workers/index.js.map +0 -1
- package/dist/workers/levenshteinWorker.d.ts +0 -60
- package/dist/workers/levenshteinWorker.d.ts.map +0 -1
|
@@ -1,244 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Query Cost Estimator
|
|
3
|
-
*
|
|
4
|
-
* Phase 10 Sprint 4: Estimates the cost of different search methods
|
|
5
|
-
* and recommends the optimal method based on query characteristics
|
|
6
|
-
* and graph size.
|
|
7
|
-
*
|
|
8
|
-
* Phase 12 Sprint 4: Enhanced with adaptive depth calculation,
|
|
9
|
-
* layer recommendations, and token estimation.
|
|
10
|
-
*
|
|
11
|
-
* @module search/QueryCostEstimator
|
|
12
|
-
*/
|
|
13
|
-
import type { SearchMethod, QueryCostEstimate, QueryCostEstimatorOptions, QueryAnalysis } from '../types/index.js';
|
|
14
|
-
/**
|
|
15
|
-
* Phase 12 Sprint 4: Layer type for hybrid search.
|
|
16
|
-
*/
|
|
17
|
-
export type SearchLayer = 'semantic' | 'lexical' | 'symbolic';
|
|
18
|
-
/**
|
|
19
|
-
* Phase 12 Sprint 4: Extended cost estimate with layer recommendations.
|
|
20
|
-
*/
|
|
21
|
-
export interface ExtendedQueryCostEstimate extends QueryCostEstimate {
|
|
22
|
-
/** Recommended layers in priority order */
|
|
23
|
-
recommendedLayers: SearchLayer[];
|
|
24
|
-
/** Estimated tokens for this query */
|
|
25
|
-
estimatedTokens: number;
|
|
26
|
-
/** Adaptive depth (k_dyn) for search results */
|
|
27
|
-
adaptiveDepth: number;
|
|
28
|
-
/** Layer-specific cost estimates */
|
|
29
|
-
layerCosts: Record<SearchLayer, number>;
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Phase 12 Sprint 4: Layer recommendation options.
|
|
33
|
-
*/
|
|
34
|
-
export interface LayerRecommendationOptions {
|
|
35
|
-
/** Query analysis from QueryAnalyzer */
|
|
36
|
-
analysis?: QueryAnalysis;
|
|
37
|
-
/** Whether semantic search is available */
|
|
38
|
-
semanticAvailable?: boolean;
|
|
39
|
-
/** Maximum layers to recommend (default: 3) */
|
|
40
|
-
maxLayers?: number;
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Phase 12 Sprint 4: Token estimation options.
|
|
44
|
-
*/
|
|
45
|
-
export interface TokenEstimationOptions {
|
|
46
|
-
/** Average characters per token (default: 4) */
|
|
47
|
-
charsPerToken?: number;
|
|
48
|
-
/** Include entity count in estimate (default: true) */
|
|
49
|
-
includeEntityCount?: boolean;
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Phase 12 Sprint 4: Adaptive depth calculation parameters.
|
|
53
|
-
*/
|
|
54
|
-
export interface AdaptiveDepthConfig {
|
|
55
|
-
/** Base number of results (k_base, default: 10) */
|
|
56
|
-
kBase?: number;
|
|
57
|
-
/** Complexity scaling factor (δ, delta, default: 0.5) */
|
|
58
|
-
delta?: number;
|
|
59
|
-
/** Maximum depth cap (default: 100) */
|
|
60
|
-
maxDepth?: number;
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Phase 10 Sprint 4: Estimates search query costs and recommends optimal methods.
|
|
64
|
-
*
|
|
65
|
-
* Analyzes query characteristics and graph size to estimate execution time
|
|
66
|
-
* and recommend the most appropriate search method.
|
|
67
|
-
*
|
|
68
|
-
* @example
|
|
69
|
-
* ```typescript
|
|
70
|
-
* const estimator = new QueryCostEstimator();
|
|
71
|
-
*
|
|
72
|
-
* // Get estimate for a specific method
|
|
73
|
-
* const estimate = estimator.estimateMethod('ranked', 'test query', 1000);
|
|
74
|
-
*
|
|
75
|
-
* // Get the recommended method for a query
|
|
76
|
-
* const recommendation = estimator.recommendMethod('test query', 1000);
|
|
77
|
-
*
|
|
78
|
-
* // Get estimates for all methods
|
|
79
|
-
* const allEstimates = estimator.estimateAllMethods('test query', 1000);
|
|
80
|
-
* ```
|
|
81
|
-
*/
|
|
82
|
-
export declare class QueryCostEstimator {
|
|
83
|
-
private options;
|
|
84
|
-
private adaptiveDepthConfig;
|
|
85
|
-
private tokenEstimationConfig;
|
|
86
|
-
/**
|
|
87
|
-
* Create a new QueryCostEstimator instance.
|
|
88
|
-
*
|
|
89
|
-
* @param options - Optional configuration overrides
|
|
90
|
-
* @param adaptiveDepthConfig - Optional adaptive depth configuration
|
|
91
|
-
* @param tokenEstimationConfig - Optional token estimation configuration
|
|
92
|
-
*/
|
|
93
|
-
constructor(options?: QueryCostEstimatorOptions, adaptiveDepthConfig?: AdaptiveDepthConfig, tokenEstimationConfig?: TokenEstimationOptions);
|
|
94
|
-
/**
|
|
95
|
-
* Estimate the cost of a specific search method.
|
|
96
|
-
*
|
|
97
|
-
* @param method - The search method to estimate
|
|
98
|
-
* @param query - The search query
|
|
99
|
-
* @param entityCount - Number of entities in the graph
|
|
100
|
-
* @returns Cost estimate for the method
|
|
101
|
-
*/
|
|
102
|
-
estimateMethod(method: SearchMethod, query: string, entityCount: number): QueryCostEstimate;
|
|
103
|
-
/**
|
|
104
|
-
* Internal method to estimate without triggering recursion.
|
|
105
|
-
* @private
|
|
106
|
-
*/
|
|
107
|
-
private estimateMethodInternal;
|
|
108
|
-
/**
|
|
109
|
-
* Get just the recommended method without full estimate (avoids recursion).
|
|
110
|
-
* @private
|
|
111
|
-
*/
|
|
112
|
-
private getRecommendedMethodOnly;
|
|
113
|
-
/**
|
|
114
|
-
* Get estimates for all available search methods.
|
|
115
|
-
*
|
|
116
|
-
* @param query - The search query
|
|
117
|
-
* @param entityCount - Number of entities in the graph
|
|
118
|
-
* @returns Array of estimates for all methods
|
|
119
|
-
*/
|
|
120
|
-
estimateAllMethods(query: string, entityCount: number): QueryCostEstimate[];
|
|
121
|
-
/**
|
|
122
|
-
* Recommend the best search method for a query.
|
|
123
|
-
*
|
|
124
|
-
* @param query - The search query
|
|
125
|
-
* @param entityCount - Number of entities in the graph
|
|
126
|
-
* @param preferredMethods - Optional array of methods to consider (default: all)
|
|
127
|
-
* @returns The recommended method and reason
|
|
128
|
-
*/
|
|
129
|
-
recommendMethod(query: string, entityCount: number, preferredMethods?: SearchMethod[]): {
|
|
130
|
-
method: SearchMethod;
|
|
131
|
-
reason: string;
|
|
132
|
-
estimate: QueryCostEstimate;
|
|
133
|
-
};
|
|
134
|
-
/**
|
|
135
|
-
* Get the base time per entity for a search method.
|
|
136
|
-
* @private
|
|
137
|
-
*/
|
|
138
|
-
private getBaseTimeForMethod;
|
|
139
|
-
/**
|
|
140
|
-
* Calculate a complexity factor based on query characteristics.
|
|
141
|
-
* @private
|
|
142
|
-
*/
|
|
143
|
-
private getQueryComplexityFactor;
|
|
144
|
-
/**
|
|
145
|
-
* Get the complexity level based on entity count.
|
|
146
|
-
* @private
|
|
147
|
-
*/
|
|
148
|
-
private getComplexity;
|
|
149
|
-
/**
|
|
150
|
-
* Generate a human-readable recommendation.
|
|
151
|
-
* @private
|
|
152
|
-
*/
|
|
153
|
-
private getRecommendation;
|
|
154
|
-
/**
|
|
155
|
-
* Score a method based on query characteristics and graph size.
|
|
156
|
-
* Higher score = better fit.
|
|
157
|
-
* @private
|
|
158
|
-
*/
|
|
159
|
-
private scoreMethod;
|
|
160
|
-
/**
|
|
161
|
-
* Get a human-readable reason for why a method was selected.
|
|
162
|
-
* @private
|
|
163
|
-
*/
|
|
164
|
-
private getSelectionReason;
|
|
165
|
-
/**
|
|
166
|
-
* Calculate adaptive depth (k_dyn) based on query complexity.
|
|
167
|
-
*
|
|
168
|
-
* Formula: k_dyn = k_base × (1 + δ × C_q)
|
|
169
|
-
* where:
|
|
170
|
-
* - k_base: base number of results
|
|
171
|
-
* - δ (delta): complexity scaling factor
|
|
172
|
-
* - C_q: query complexity score (0-1)
|
|
173
|
-
*
|
|
174
|
-
* @param query - The search query
|
|
175
|
-
* @param analysis - Optional query analysis for more accurate complexity
|
|
176
|
-
* @returns Adaptive depth value
|
|
177
|
-
*/
|
|
178
|
-
calculateAdaptiveDepth(query: string, analysis?: QueryAnalysis): number;
|
|
179
|
-
/**
|
|
180
|
-
* Calculate query complexity score (0-1).
|
|
181
|
-
* @private
|
|
182
|
-
*/
|
|
183
|
-
private calculateComplexityScore;
|
|
184
|
-
/**
|
|
185
|
-
* Estimate tokens for query and expected results.
|
|
186
|
-
*
|
|
187
|
-
* @param query - The search query
|
|
188
|
-
* @param entityCount - Number of entities in the graph
|
|
189
|
-
* @param expectedResults - Expected number of results (default: 10)
|
|
190
|
-
* @returns Estimated token count
|
|
191
|
-
*/
|
|
192
|
-
estimateTokens(query: string, entityCount: number, expectedResults?: number): number;
|
|
193
|
-
/**
|
|
194
|
-
* Recommend search layers based on query characteristics.
|
|
195
|
-
*
|
|
196
|
-
* @param query - The search query
|
|
197
|
-
* @param options - Layer recommendation options
|
|
198
|
-
* @returns Ordered array of recommended layers (fastest first)
|
|
199
|
-
*/
|
|
200
|
-
recommendLayers(query: string, options?: LayerRecommendationOptions): SearchLayer[];
|
|
201
|
-
/**
|
|
202
|
-
* Estimate cost for a specific layer.
|
|
203
|
-
* @private
|
|
204
|
-
*/
|
|
205
|
-
private estimateLayerCost;
|
|
206
|
-
/**
|
|
207
|
-
* Score lexical layer for query.
|
|
208
|
-
* @private
|
|
209
|
-
*/
|
|
210
|
-
private scoreLexicalLayer;
|
|
211
|
-
/**
|
|
212
|
-
* Score symbolic layer for query.
|
|
213
|
-
* @private
|
|
214
|
-
*/
|
|
215
|
-
private scoreSymbolicLayer;
|
|
216
|
-
/**
|
|
217
|
-
* Score semantic layer for query.
|
|
218
|
-
* @private
|
|
219
|
-
*/
|
|
220
|
-
private scoreSemanticLayer;
|
|
221
|
-
/**
|
|
222
|
-
* Get extended cost estimate with all Phase 12 features.
|
|
223
|
-
*
|
|
224
|
-
* @param method - The search method
|
|
225
|
-
* @param query - The search query
|
|
226
|
-
* @param entityCount - Number of entities in the graph
|
|
227
|
-
* @param analysis - Optional query analysis
|
|
228
|
-
* @returns Extended cost estimate
|
|
229
|
-
*/
|
|
230
|
-
estimateExtended(method: SearchMethod, query: string, entityCount: number, analysis?: QueryAnalysis): ExtendedQueryCostEstimate;
|
|
231
|
-
/**
|
|
232
|
-
* Get layers sorted by estimated cost (fastest first).
|
|
233
|
-
*
|
|
234
|
-
* @param query - The search query
|
|
235
|
-
* @param entityCount - Number of entities
|
|
236
|
-
* @param semanticAvailable - Whether semantic search is available
|
|
237
|
-
* @returns Layers sorted by cost
|
|
238
|
-
*/
|
|
239
|
-
getLayersByCost(query: string, entityCount: number, semanticAvailable?: boolean): Array<{
|
|
240
|
-
layer: SearchLayer;
|
|
241
|
-
estimatedMs: number;
|
|
242
|
-
}>;
|
|
243
|
-
}
|
|
244
|
-
//# sourceMappingURL=QueryCostEstimator.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"QueryCostEstimator.d.ts","sourceRoot":"","sources":["../../src/search/QueryCostEstimator.ts"],"names":[],"mappings":"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"}
|