PHASE A — every @deprecated marker resolved (~25 removed) src/coreTypes.ts - GraphVerb: dropped the "@deprecated Will be replaced by HNSWVerbWithMetadata" note. GraphVerb IS the canonical contract — every public API path speaks it. Removed the `source` and `target` legacy alias fields (renamed `from` / `to` callers years ago; no consumers remain). - StorageAdapter: dropped the "@deprecated Use getNouns() with filter" notes from `getNounsByNounType`, `getVerbsBySource`, `getVerbsByTarget`, `getVerbsByType`. They were never deprecated in spirit — they're useful non-paginated convenience wrappers over the paginated `getNouns()` / `getVerbs()` surface. Refreshed JSDoc to explain the role. src/types/graphTypes.ts - Mirrored the GraphVerb cleanup: dropped `source` + `target` legacy aliases. sourceId + targetId are the canonical fields. src/import/ImportCoordinator.ts - Deleted the entire DeprecatedImportOptions interface block (130 LOC). It was a v3 → v4 migration tool using the `?: never` trick to force compile errors on dropped options. Five major versions in, the forced-error gate is no longer pulling its weight. src/triple/TripleIntelligence.ts - Deleted `TripleIntelligenceEngine = any` alias. No consumers; superseded by `TripleIntelligenceSystem`. src/storage/cow/binaryDataCodec.ts - Deleted `wrapBinaryData()`. The COW dispatch layer in `baseStorage.ts` routes by key-prefix convention; the old guess-by-JSON-parse codec was fragile (compressed bytes can accidentally parse as JSON) and unused. src/storage/baseStorage.ts - Refreshed JSDoc on `convertHNSWVerbToGraphVerb()` — the method is alive and used internally; the deprecation note was stale. src/embeddings/wasm/AssetLoader.ts → DELETED - File was @deprecated since model weights moved into the Candle WASM bundle. No consumers. Removed from `embeddings/wasm/index.ts` exports. src/embeddings/wasm/types.ts - Dropped @deprecated tags on `TokenizerConfig` + `TokenizedInput` — still used by `WordPieceTokenizer` (auxiliary tokenization). Deleted `InferenceConfig` (truly dead). Updated `embeddings/wasm/index.ts` exports. src/utils/metadataIndex.ts - Deleted `getIdsForCriteria()` — pure alias for `getIdsForFilter()`, no consumers. src/interfaces/IIndex.ts - Removed RebuildOptions.lazy (deprecated and unused; lazy mode is auto- selected by available-memory detection). src/hnsw/hnswIndex.ts - Removed `getNouns()` (returned a full Map; deprecated in favor of pagination years ago and no consumers in src/ or tests/). PHASE B — cacheManager dead StorageType branches src/storage/cacheManager.ts - Collapsed the `isRemoteStorage` flag and its 15 dead conditional branches spanning calculateOptimalCacheSize() and calculateOptimalBatchSize(). After dropping cloud adapters in step 7, `coldStorageType` is never S3 or REMOTE_API; the branches were dead. Cache sizing and batch sizing now honor the filesystem-only reality with simpler heuristics. - Collapsed `detectWarmStorageType()` + `detectColdStorageType()` from ~40 LOC of environment-+-availability branching to 2-line returns of `StorageType.FILESYSTEM`. Brainy 8.0 ships filesystem + memory only. NOT YET — Phases C-G in follow-up commits C: storageAutoConfig.ts + zeroConfig + extensibleConfig + sharedConfigManager D: TODO/FIXME sweep across src/ E: skipped tests + the parallel-test race condition F: docs deep clean (BATCHING, augmentations, READMEs) G: browser support drop (the last 2 @deprecated) VERIFICATION - npx tsc --noEmit: clean - npm test: 1408 / 1409 (same pre-existing race-condition outstanding)
63 lines
1.4 KiB
TypeScript
63 lines
1.4 KiB
TypeScript
/**
|
|
* Triple Intelligence Types
|
|
* Defines the query and result types for Triple Intelligence
|
|
*
|
|
* The actual implementation is in TripleIntelligenceSystem
|
|
*/
|
|
|
|
import { Vector, SearchResult } from '../coreTypes.js'
|
|
|
|
export interface TripleQuery {
|
|
// Vector/Semantic search
|
|
like?: string | Vector | any
|
|
similar?: string | Vector | any
|
|
|
|
// Graph/Relationship search
|
|
connected?: {
|
|
to?: string | string[]
|
|
from?: string | string[]
|
|
type?: string | string[]
|
|
depth?: number
|
|
maxDepth?: number // Maximum traversal depth
|
|
direction?: 'in' | 'out' | 'both'
|
|
}
|
|
|
|
// Field/Attribute search
|
|
where?: Record<string, any>
|
|
|
|
// Pagination options (NEW for 2.0)
|
|
limit?: number
|
|
offset?: number
|
|
|
|
// Advanced options (NEW for 2.0)
|
|
explain?: boolean // Include explanation of how results were found
|
|
boost?: {
|
|
vector?: number // Weight for vector similarity (default 1.0)
|
|
graph?: number // Weight for graph connections (default 1.0)
|
|
field?: number // Weight for field matches (default 1.0)
|
|
}
|
|
}
|
|
|
|
export interface TripleResult {
|
|
id: string
|
|
score: number
|
|
entity?: any
|
|
explanation?: {
|
|
vectorScore?: number
|
|
graphScore?: number
|
|
fieldScore?: number
|
|
path?: string[]
|
|
}
|
|
}
|
|
|
|
export interface QueryPlan {
|
|
strategy: 'parallel' | 'progressive'
|
|
steps: Array<{
|
|
type: 'vector' | 'graph' | 'field'
|
|
cost: number
|
|
expected: number
|
|
}>
|
|
canParallelize: boolean
|
|
estimatedCost: number
|
|
}
|
|
|