@framers/agentos 0.1.120 → 0.1.121
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 +21 -0
- package/dist/api/agency.d.ts.map +1 -1
- package/dist/api/agency.js +227 -84
- package/dist/api/agency.js.map +1 -1
- package/dist/api/analyzeVideo.d.ts +127 -0
- package/dist/api/analyzeVideo.d.ts.map +1 -0
- package/dist/api/analyzeVideo.js +136 -0
- package/dist/api/analyzeVideo.js.map +1 -0
- package/dist/api/detectScenes.d.ts +82 -0
- package/dist/api/detectScenes.d.ts.map +1 -0
- package/dist/api/detectScenes.js +67 -0
- package/dist/api/detectScenes.js.map +1 -0
- package/dist/api/generateImage.d.ts +7 -0
- package/dist/api/generateImage.d.ts.map +1 -1
- package/dist/api/generateImage.js +133 -9
- package/dist/api/generateImage.js.map +1 -1
- package/dist/api/generateMusic.d.ts +98 -0
- package/dist/api/generateMusic.d.ts.map +1 -0
- package/dist/api/generateMusic.js +319 -0
- package/dist/api/generateMusic.js.map +1 -0
- package/dist/api/generateSFX.d.ts +96 -0
- package/dist/api/generateSFX.d.ts.map +1 -0
- package/dist/api/generateSFX.js +317 -0
- package/dist/api/generateSFX.js.map +1 -0
- package/dist/api/generateVideo.d.ts +113 -0
- package/dist/api/generateVideo.d.ts.map +1 -0
- package/dist/api/generateVideo.js +342 -0
- package/dist/api/generateVideo.js.map +1 -0
- package/dist/api/model.d.ts.map +1 -1
- package/dist/api/model.js +8 -4
- package/dist/api/model.js.map +1 -1
- package/dist/api/performOCR.d.ts +169 -0
- package/dist/api/performOCR.d.ts.map +1 -0
- package/dist/api/performOCR.js +198 -0
- package/dist/api/performOCR.js.map +1 -0
- package/dist/api/provider-defaults.d.ts +7 -5
- package/dist/api/provider-defaults.d.ts.map +1 -1
- package/dist/api/provider-defaults.js +32 -10
- package/dist/api/provider-defaults.js.map +1 -1
- package/dist/api/strategies/debate.d.ts.map +1 -1
- package/dist/api/strategies/debate.js +1 -0
- package/dist/api/strategies/debate.js.map +1 -1
- package/dist/api/strategies/graph.d.ts.map +1 -1
- package/dist/api/strategies/graph.js +69 -13
- package/dist/api/strategies/graph.js.map +1 -1
- package/dist/api/strategies/hierarchical.d.ts.map +1 -1
- package/dist/api/strategies/hierarchical.js +1 -0
- package/dist/api/strategies/hierarchical.js.map +1 -1
- package/dist/api/strategies/parallel.d.ts.map +1 -1
- package/dist/api/strategies/parallel.js +1 -0
- package/dist/api/strategies/parallel.js.map +1 -1
- package/dist/api/strategies/review-loop.d.ts.map +1 -1
- package/dist/api/strategies/review-loop.js +1 -0
- package/dist/api/strategies/review-loop.js.map +1 -1
- package/dist/api/strategies/sequential.d.ts.map +1 -1
- package/dist/api/strategies/sequential.js +54 -48
- package/dist/api/strategies/sequential.js.map +1 -1
- package/dist/api/streamBuffer.d.ts +20 -0
- package/dist/api/streamBuffer.d.ts.map +1 -0
- package/dist/api/streamBuffer.js +81 -0
- package/dist/api/streamBuffer.js.map +1 -0
- package/dist/api/types.d.ts +145 -5
- package/dist/api/types.d.ts.map +1 -1
- package/dist/api/types.js.map +1 -1
- package/dist/channels/adapters/RedditChannelAdapter.js.map +1 -1
- package/dist/core/audio/AudioProcessor.d.ts.map +1 -1
- package/dist/core/audio/AudioProcessor.js +1 -0
- package/dist/core/audio/AudioProcessor.js.map +1 -1
- package/dist/core/audio/EnvironmentalCalibrator.d.ts.map +1 -1
- package/dist/core/audio/EnvironmentalCalibrator.js +1 -0
- package/dist/core/audio/EnvironmentalCalibrator.js.map +1 -1
- package/dist/core/audio/FallbackAudioProxy.d.ts +169 -0
- package/dist/core/audio/FallbackAudioProxy.d.ts.map +1 -0
- package/dist/core/audio/FallbackAudioProxy.js +236 -0
- package/dist/core/audio/FallbackAudioProxy.js.map +1 -0
- package/dist/core/audio/IAudioGenerator.d.ts +103 -0
- package/dist/core/audio/IAudioGenerator.d.ts.map +1 -0
- package/dist/core/audio/IAudioGenerator.js +24 -0
- package/dist/core/audio/IAudioGenerator.js.map +1 -0
- package/dist/core/audio/index.d.ts +54 -0
- package/dist/core/audio/index.d.ts.map +1 -1
- package/dist/core/audio/index.js +93 -0
- package/dist/core/audio/index.js.map +1 -1
- package/dist/core/audio/providers/AudioGenLocalProvider.d.ts +136 -0
- package/dist/core/audio/providers/AudioGenLocalProvider.d.ts.map +1 -0
- package/dist/core/audio/providers/AudioGenLocalProvider.js +235 -0
- package/dist/core/audio/providers/AudioGenLocalProvider.js.map +1 -0
- package/dist/core/audio/providers/ElevenLabsSFXProvider.d.ts +107 -0
- package/dist/core/audio/providers/ElevenLabsSFXProvider.d.ts.map +1 -0
- package/dist/core/audio/providers/ElevenLabsSFXProvider.js +154 -0
- package/dist/core/audio/providers/ElevenLabsSFXProvider.js.map +1 -0
- package/dist/core/audio/providers/FalAudioProvider.d.ts +207 -0
- package/dist/core/audio/providers/FalAudioProvider.d.ts.map +1 -0
- package/dist/core/audio/providers/FalAudioProvider.js +315 -0
- package/dist/core/audio/providers/FalAudioProvider.js.map +1 -0
- package/dist/core/audio/providers/MusicGenLocalProvider.d.ts +136 -0
- package/dist/core/audio/providers/MusicGenLocalProvider.d.ts.map +1 -0
- package/dist/core/audio/providers/MusicGenLocalProvider.js +235 -0
- package/dist/core/audio/providers/MusicGenLocalProvider.js.map +1 -0
- package/dist/core/audio/providers/ReplicateAudioProvider.d.ts +200 -0
- package/dist/core/audio/providers/ReplicateAudioProvider.d.ts.map +1 -0
- package/dist/core/audio/providers/ReplicateAudioProvider.js +346 -0
- package/dist/core/audio/providers/ReplicateAudioProvider.js.map +1 -0
- package/dist/core/audio/providers/StableAudioProvider.d.ts +138 -0
- package/dist/core/audio/providers/StableAudioProvider.d.ts.map +1 -0
- package/dist/core/audio/providers/StableAudioProvider.js +192 -0
- package/dist/core/audio/providers/StableAudioProvider.js.map +1 -0
- package/dist/core/audio/providers/SunoProvider.d.ts +182 -0
- package/dist/core/audio/providers/SunoProvider.d.ts.map +1 -0
- package/dist/core/audio/providers/SunoProvider.js +312 -0
- package/dist/core/audio/providers/SunoProvider.js.map +1 -0
- package/dist/core/audio/providers/UdioProvider.d.ts +177 -0
- package/dist/core/audio/providers/UdioProvider.d.ts.map +1 -0
- package/dist/core/audio/providers/UdioProvider.js +305 -0
- package/dist/core/audio/providers/UdioProvider.js.map +1 -0
- package/dist/core/audio/types.d.ts +257 -0
- package/dist/core/audio/types.d.ts.map +1 -0
- package/dist/core/audio/types.js +21 -0
- package/dist/core/audio/types.js.map +1 -0
- package/dist/core/images/FallbackImageProxy.d.ts +183 -0
- package/dist/core/images/FallbackImageProxy.d.ts.map +1 -0
- package/dist/core/images/FallbackImageProxy.js +283 -0
- package/dist/core/images/FallbackImageProxy.js.map +1 -0
- package/dist/core/images/IImageProvider.d.ts +1 -1
- package/dist/core/images/IImageProvider.d.ts.map +1 -1
- package/dist/core/images/index.d.ts +1 -0
- package/dist/core/images/index.d.ts.map +1 -1
- package/dist/core/images/index.js +1 -0
- package/dist/core/images/index.js.map +1 -1
- package/dist/core/llm/providers/AIModelProviderManager.d.ts +3 -1
- package/dist/core/llm/providers/AIModelProviderManager.d.ts.map +1 -1
- package/dist/core/llm/providers/AIModelProviderManager.js +8 -0
- package/dist/core/llm/providers/AIModelProviderManager.js.map +1 -1
- package/dist/core/llm/providers/errors/ClaudeCodeProviderError.d.ts +52 -0
- package/dist/core/llm/providers/errors/ClaudeCodeProviderError.d.ts.map +1 -0
- package/dist/core/llm/providers/errors/ClaudeCodeProviderError.js +36 -0
- package/dist/core/llm/providers/errors/ClaudeCodeProviderError.js.map +1 -0
- package/dist/core/llm/providers/errors/GeminiCLIProviderError.d.ts +32 -0
- package/dist/core/llm/providers/errors/GeminiCLIProviderError.d.ts.map +1 -0
- package/dist/core/llm/providers/errors/GeminiCLIProviderError.js +27 -0
- package/dist/core/llm/providers/errors/GeminiCLIProviderError.js.map +1 -0
- package/dist/core/llm/providers/implementations/ClaudeCodeCLIBridge.d.ts +38 -0
- package/dist/core/llm/providers/implementations/ClaudeCodeCLIBridge.d.ts.map +1 -0
- package/dist/core/llm/providers/implementations/ClaudeCodeCLIBridge.js +128 -0
- package/dist/core/llm/providers/implementations/ClaudeCodeCLIBridge.js.map +1 -0
- package/dist/core/llm/providers/implementations/ClaudeCodeProvider.d.ts +107 -0
- package/dist/core/llm/providers/implementations/ClaudeCodeProvider.d.ts.map +1 -0
- package/dist/core/llm/providers/implementations/ClaudeCodeProvider.js +504 -0
- package/dist/core/llm/providers/implementations/ClaudeCodeProvider.js.map +1 -0
- package/dist/core/llm/providers/implementations/GeminiCLIBridge.d.ts +60 -0
- package/dist/core/llm/providers/implementations/GeminiCLIBridge.d.ts.map +1 -0
- package/dist/core/llm/providers/implementations/GeminiCLIBridge.js +177 -0
- package/dist/core/llm/providers/implementations/GeminiCLIBridge.js.map +1 -0
- package/dist/core/llm/providers/implementations/GeminiCLIProvider.d.ts +55 -0
- package/dist/core/llm/providers/implementations/GeminiCLIProvider.d.ts.map +1 -0
- package/dist/core/llm/providers/implementations/GeminiCLIProvider.js +447 -0
- package/dist/core/llm/providers/implementations/GeminiCLIProvider.js.map +1 -0
- package/dist/core/media/ProviderPreferences.d.ts +158 -0
- package/dist/core/media/ProviderPreferences.d.ts.map +1 -0
- package/dist/core/media/ProviderPreferences.js +183 -0
- package/dist/core/media/ProviderPreferences.js.map +1 -0
- package/dist/core/subprocess/CLIRegistry.d.ts +71 -0
- package/dist/core/subprocess/CLIRegistry.d.ts.map +1 -0
- package/dist/core/subprocess/CLIRegistry.js +210 -0
- package/dist/core/subprocess/CLIRegistry.js.map +1 -0
- package/dist/core/subprocess/CLISubprocessBridge.d.ts +117 -0
- package/dist/core/subprocess/CLISubprocessBridge.d.ts.map +1 -0
- package/dist/core/subprocess/CLISubprocessBridge.js +199 -0
- package/dist/core/subprocess/CLISubprocessBridge.js.map +1 -0
- package/dist/core/subprocess/errors.d.ts +76 -0
- package/dist/core/subprocess/errors.d.ts.map +1 -0
- package/dist/core/subprocess/errors.js +75 -0
- package/dist/core/subprocess/errors.js.map +1 -0
- package/dist/core/subprocess/index.d.ts +11 -0
- package/dist/core/subprocess/index.d.ts.map +1 -0
- package/dist/core/subprocess/index.js +10 -0
- package/dist/core/subprocess/index.js.map +1 -0
- package/dist/core/subprocess/types.d.ts +100 -0
- package/dist/core/subprocess/types.d.ts.map +1 -0
- package/dist/core/subprocess/types.js +9 -0
- package/dist/core/subprocess/types.js.map +1 -0
- package/dist/core/video/FallbackVideoProxy.d.ts +166 -0
- package/dist/core/video/FallbackVideoProxy.d.ts.map +1 -0
- package/dist/core/video/FallbackVideoProxy.js +228 -0
- package/dist/core/video/FallbackVideoProxy.js.map +1 -0
- package/dist/core/video/IVideoAnalyzer.d.ts +29 -0
- package/dist/core/video/IVideoAnalyzer.d.ts.map +1 -0
- package/dist/core/video/IVideoAnalyzer.js +12 -0
- package/dist/core/video/IVideoAnalyzer.js.map +1 -0
- package/dist/core/video/IVideoGenerator.d.ts +76 -0
- package/dist/core/video/IVideoGenerator.d.ts.map +1 -0
- package/dist/core/video/IVideoGenerator.js +13 -0
- package/dist/core/video/IVideoGenerator.js.map +1 -0
- package/dist/core/video/VideoAnalyzer.d.ts +278 -0
- package/dist/core/video/VideoAnalyzer.d.ts.map +1 -0
- package/dist/core/video/VideoAnalyzer.js +648 -0
- package/dist/core/video/VideoAnalyzer.js.map +1 -0
- package/dist/core/video/index.d.ts +55 -0
- package/dist/core/video/index.d.ts.map +1 -0
- package/dist/core/video/index.js +78 -0
- package/dist/core/video/index.js.map +1 -0
- package/dist/core/video/providers/FalVideoProvider.d.ts +195 -0
- package/dist/core/video/providers/FalVideoProvider.d.ts.map +1 -0
- package/dist/core/video/providers/FalVideoProvider.js +322 -0
- package/dist/core/video/providers/FalVideoProvider.js.map +1 -0
- package/dist/core/video/providers/ReplicateVideoProvider.d.ts +194 -0
- package/dist/core/video/providers/ReplicateVideoProvider.d.ts.map +1 -0
- package/dist/core/video/providers/ReplicateVideoProvider.js +356 -0
- package/dist/core/video/providers/ReplicateVideoProvider.js.map +1 -0
- package/dist/core/video/providers/RunwayVideoProvider.d.ts +175 -0
- package/dist/core/video/providers/RunwayVideoProvider.d.ts.map +1 -0
- package/dist/core/video/providers/RunwayVideoProvider.js +293 -0
- package/dist/core/video/providers/RunwayVideoProvider.js.map +1 -0
- package/dist/core/video/types.d.ts +441 -0
- package/dist/core/video/types.d.ts.map +1 -0
- package/dist/core/video/types.js +10 -0
- package/dist/core/video/types.js.map +1 -0
- package/dist/core/vision/SceneDetector.d.ts +180 -0
- package/dist/core/vision/SceneDetector.d.ts.map +1 -0
- package/dist/core/vision/SceneDetector.js +366 -0
- package/dist/core/vision/SceneDetector.js.map +1 -0
- package/dist/core/vision/index.d.ts +2 -1
- package/dist/core/vision/index.d.ts.map +1 -1
- package/dist/core/vision/index.js +1 -0
- package/dist/core/vision/index.js.map +1 -1
- package/dist/core/vision/types.d.ts +125 -0
- package/dist/core/vision/types.d.ts.map +1 -1
- package/dist/discovery/CapabilityDiscoveryEngine.d.ts +32 -0
- package/dist/discovery/CapabilityDiscoveryEngine.d.ts.map +1 -1
- package/dist/discovery/CapabilityDiscoveryEngine.js +46 -0
- package/dist/discovery/CapabilityDiscoveryEngine.js.map +1 -1
- package/dist/extensions/MultiRegistryLoader.js.map +1 -1
- package/dist/index.d.ts +17 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -1
- package/dist/memory/CognitiveMemoryManager.d.ts +40 -0
- package/dist/memory/CognitiveMemoryManager.d.ts.map +1 -1
- package/dist/memory/CognitiveMemoryManager.js +54 -1
- package/dist/memory/CognitiveMemoryManager.js.map +1 -1
- package/dist/memory/facade/Memory.d.ts +4 -0
- package/dist/memory/facade/Memory.d.ts.map +1 -1
- package/dist/memory/facade/Memory.js +140 -4
- package/dist/memory/facade/Memory.js.map +1 -1
- package/dist/memory/facade/types.d.ts +30 -2
- package/dist/memory/facade/types.d.ts.map +1 -1
- package/dist/memory/index.d.ts +1 -0
- package/dist/memory/index.d.ts.map +1 -1
- package/dist/memory/index.js +1 -0
- package/dist/memory/index.js.map +1 -1
- package/dist/memory/types.d.ts +15 -0
- package/dist/memory/types.d.ts.map +1 -1
- package/dist/query-router/QueryClassifier.d.ts +192 -21
- package/dist/query-router/QueryClassifier.d.ts.map +1 -1
- package/dist/query-router/QueryClassifier.js +604 -23
- package/dist/query-router/QueryClassifier.js.map +1 -1
- package/dist/query-router/QueryDispatcher.d.ts +106 -8
- package/dist/query-router/QueryDispatcher.d.ts.map +1 -1
- package/dist/query-router/QueryDispatcher.js +387 -8
- package/dist/query-router/QueryDispatcher.js.map +1 -1
- package/dist/query-router/QueryRouter.d.ts +198 -14
- package/dist/query-router/QueryRouter.d.ts.map +1 -1
- package/dist/query-router/QueryRouter.js +738 -50
- package/dist/query-router/QueryRouter.js.map +1 -1
- package/dist/query-router/index.d.ts +1 -1
- package/dist/query-router/index.d.ts.map +1 -1
- package/dist/query-router/index.js +1 -1
- package/dist/query-router/index.js.map +1 -1
- package/dist/query-router/types.d.ts +396 -3
- package/dist/query-router/types.d.ts.map +1 -1
- package/dist/query-router/types.js +35 -0
- package/dist/query-router/types.js.map +1 -1
- package/dist/rag/HydeRetriever.d.ts +108 -0
- package/dist/rag/HydeRetriever.d.ts.map +1 -1
- package/dist/rag/HydeRetriever.js +184 -0
- package/dist/rag/HydeRetriever.js.map +1 -1
- package/dist/rag/IRetrievalAugmentor.d.ts +15 -0
- package/dist/rag/IRetrievalAugmentor.d.ts.map +1 -1
- package/dist/rag/RetrievalAugmentor.d.ts +58 -0
- package/dist/rag/RetrievalAugmentor.d.ts.map +1 -1
- package/dist/rag/RetrievalAugmentor.js +200 -32
- package/dist/rag/RetrievalAugmentor.js.map +1 -1
- package/dist/rag/VectorStoreManager.js +1 -1
- package/dist/rag/audit/RAGAuditCollector.d.ts +7 -0
- package/dist/rag/audit/RAGAuditCollector.d.ts.map +1 -1
- package/dist/rag/audit/RAGAuditCollector.js +10 -0
- package/dist/rag/audit/RAGAuditCollector.js.map +1 -1
- package/dist/rag/audit/RAGAuditTypes.d.ts +10 -1
- package/dist/rag/audit/RAGAuditTypes.d.ts.map +1 -1
- package/dist/rag/chunking/SemanticChunker.d.ts +210 -0
- package/dist/rag/chunking/SemanticChunker.d.ts.map +1 -0
- package/dist/rag/chunking/SemanticChunker.js +460 -0
- package/dist/rag/chunking/SemanticChunker.js.map +1 -0
- package/dist/rag/chunking/index.d.ts +10 -0
- package/dist/rag/chunking/index.d.ts.map +1 -0
- package/dist/rag/chunking/index.js +10 -0
- package/dist/rag/chunking/index.js.map +1 -0
- package/dist/rag/implementations/vector_stores/PineconeVectorStore.d.ts +103 -0
- package/dist/rag/implementations/vector_stores/PineconeVectorStore.d.ts.map +1 -0
- package/dist/rag/implementations/vector_stores/PineconeVectorStore.js +315 -0
- package/dist/rag/implementations/vector_stores/PineconeVectorStore.js.map +1 -0
- package/dist/rag/implementations/vector_stores/PostgresVectorStore.d.ts +107 -0
- package/dist/rag/implementations/vector_stores/PostgresVectorStore.d.ts.map +1 -0
- package/dist/rag/implementations/vector_stores/PostgresVectorStore.js +438 -0
- package/dist/rag/implementations/vector_stores/PostgresVectorStore.js.map +1 -0
- package/dist/rag/index.d.ts +15 -1
- package/dist/rag/index.d.ts.map +1 -1
- package/dist/rag/index.js +32 -0
- package/dist/rag/index.js.map +1 -1
- package/dist/rag/migration/MigrationEngine.d.ts +47 -0
- package/dist/rag/migration/MigrationEngine.d.ts.map +1 -0
- package/dist/rag/migration/MigrationEngine.js +168 -0
- package/dist/rag/migration/MigrationEngine.js.map +1 -0
- package/dist/rag/migration/adapters/PineconeSourceAdapter.d.ts +23 -0
- package/dist/rag/migration/adapters/PineconeSourceAdapter.d.ts.map +1 -0
- package/dist/rag/migration/adapters/PineconeSourceAdapter.js +63 -0
- package/dist/rag/migration/adapters/PineconeSourceAdapter.js.map +1 -0
- package/dist/rag/migration/adapters/PostgresSourceAdapter.d.ts +30 -0
- package/dist/rag/migration/adapters/PostgresSourceAdapter.d.ts.map +1 -0
- package/dist/rag/migration/adapters/PostgresSourceAdapter.js +71 -0
- package/dist/rag/migration/adapters/PostgresSourceAdapter.js.map +1 -0
- package/dist/rag/migration/adapters/PostgresTargetAdapter.d.ts +38 -0
- package/dist/rag/migration/adapters/PostgresTargetAdapter.d.ts.map +1 -0
- package/dist/rag/migration/adapters/PostgresTargetAdapter.js +114 -0
- package/dist/rag/migration/adapters/PostgresTargetAdapter.js.map +1 -0
- package/dist/rag/migration/adapters/QdrantSourceAdapter.d.ts +36 -0
- package/dist/rag/migration/adapters/QdrantSourceAdapter.d.ts.map +1 -0
- package/dist/rag/migration/adapters/QdrantSourceAdapter.js +109 -0
- package/dist/rag/migration/adapters/QdrantSourceAdapter.js.map +1 -0
- package/dist/rag/migration/adapters/QdrantTargetAdapter.d.ts +35 -0
- package/dist/rag/migration/adapters/QdrantTargetAdapter.d.ts.map +1 -0
- package/dist/rag/migration/adapters/QdrantTargetAdapter.js +110 -0
- package/dist/rag/migration/adapters/QdrantTargetAdapter.js.map +1 -0
- package/dist/rag/migration/adapters/SqliteSourceAdapter.d.ts +37 -0
- package/dist/rag/migration/adapters/SqliteSourceAdapter.d.ts.map +1 -0
- package/dist/rag/migration/adapters/SqliteSourceAdapter.js +72 -0
- package/dist/rag/migration/adapters/SqliteSourceAdapter.js.map +1 -0
- package/dist/rag/migration/adapters/SqliteTargetAdapter.d.ts +47 -0
- package/dist/rag/migration/adapters/SqliteTargetAdapter.d.ts.map +1 -0
- package/dist/rag/migration/adapters/SqliteTargetAdapter.js +93 -0
- package/dist/rag/migration/adapters/SqliteTargetAdapter.js.map +1 -0
- package/dist/rag/migration/types.d.ts +108 -0
- package/dist/rag/migration/types.d.ts.map +1 -0
- package/dist/rag/migration/types.js +11 -0
- package/dist/rag/migration/types.js.map +1 -0
- package/dist/rag/multimodal/MultimodalIndexer.d.ts +35 -0
- package/dist/rag/multimodal/MultimodalIndexer.d.ts.map +1 -1
- package/dist/rag/multimodal/MultimodalIndexer.js +66 -1
- package/dist/rag/multimodal/MultimodalIndexer.js.map +1 -1
- package/dist/rag/multimodal/types.d.ts +24 -0
- package/dist/rag/multimodal/types.d.ts.map +1 -1
- package/dist/rag/raptor/RaptorTree.d.ts +268 -0
- package/dist/rag/raptor/RaptorTree.d.ts.map +1 -0
- package/dist/rag/raptor/RaptorTree.js +443 -0
- package/dist/rag/raptor/RaptorTree.js.map +1 -0
- package/dist/rag/raptor/index.d.ts +11 -0
- package/dist/rag/raptor/index.d.ts.map +1 -0
- package/dist/rag/raptor/index.js +11 -0
- package/dist/rag/raptor/index.js.map +1 -0
- package/dist/rag/reranking/providers/CohereReranker.js.map +1 -1
- package/dist/rag/search/BM25Index.d.ts +282 -0
- package/dist/rag/search/BM25Index.d.ts.map +1 -0
- package/dist/rag/search/BM25Index.js +344 -0
- package/dist/rag/search/BM25Index.js.map +1 -0
- package/dist/rag/search/HybridSearcher.d.ts +198 -0
- package/dist/rag/search/HybridSearcher.d.ts.map +1 -0
- package/dist/rag/search/HybridSearcher.js +316 -0
- package/dist/rag/search/HybridSearcher.js.map +1 -0
- package/dist/rag/search/index.d.ts +12 -0
- package/dist/rag/search/index.d.ts.map +1 -0
- package/dist/rag/search/index.js +12 -0
- package/dist/rag/search/index.js.map +1 -0
- package/dist/rag/setup/DockerDetector.d.ts +67 -0
- package/dist/rag/setup/DockerDetector.d.ts.map +1 -0
- package/dist/rag/setup/DockerDetector.js +125 -0
- package/dist/rag/setup/DockerDetector.js.map +1 -0
- package/dist/rag/setup/PostgresSetup.d.ts +20 -0
- package/dist/rag/setup/PostgresSetup.d.ts.map +1 -0
- package/dist/rag/setup/PostgresSetup.js +133 -0
- package/dist/rag/setup/PostgresSetup.js.map +1 -0
- package/dist/rag/setup/QdrantSetup.d.ts +26 -0
- package/dist/rag/setup/QdrantSetup.d.ts.map +1 -0
- package/dist/rag/setup/QdrantSetup.js +96 -0
- package/dist/rag/setup/QdrantSetup.js.map +1 -0
- package/dist/rag/setup/types.d.ts +55 -0
- package/dist/rag/setup/types.d.ts.map +1 -0
- package/dist/rag/setup/types.js +6 -0
- package/dist/rag/setup/types.js.map +1 -0
- package/dist/rag/unified/UnifiedRetriever.d.ts +472 -0
- package/dist/rag/unified/UnifiedRetriever.d.ts.map +1 -0
- package/dist/rag/unified/UnifiedRetriever.js +887 -0
- package/dist/rag/unified/UnifiedRetriever.js.map +1 -0
- package/dist/rag/unified/index.d.ts +24 -0
- package/dist/rag/unified/index.d.ts.map +1 -0
- package/dist/rag/unified/index.js +23 -0
- package/dist/rag/unified/index.js.map +1 -0
- package/dist/rag/unified/types.d.ts +546 -0
- package/dist/rag/unified/types.d.ts.map +1 -0
- package/dist/rag/unified/types.js +177 -0
- package/dist/rag/unified/types.js.map +1 -0
- package/dist/speech/providers/AssemblyAISTTProvider.js.map +1 -1
- package/dist/speech/providers/AzureSpeechSTTProvider.js.map +1 -1
- package/dist/speech/providers/BuiltInAdaptiveVadProvider.d.ts +1 -1
- package/dist/speech/providers/DeepgramBatchSTTProvider.js.map +1 -1
- package/package.json +5 -2
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Types for the universal vector store migration engine.
|
|
3
|
+
* @module rag/migration/types
|
|
4
|
+
*
|
|
5
|
+
* Defines the interfaces for streaming data between any pair of
|
|
6
|
+
* vector store backends (SQLite, Postgres, Qdrant). The migration
|
|
7
|
+
* engine reads batches from an IMigrationSource and writes them
|
|
8
|
+
* to an IMigrationTarget, never loading the entire dataset into memory.
|
|
9
|
+
*/
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/rag/migration/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
|
|
@@ -39,6 +39,7 @@ import type { IEmbeddingManager } from '../IEmbeddingManager.js';
|
|
|
39
39
|
import type { IVectorStore } from '../IVectorStore.js';
|
|
40
40
|
import type { ImageIndexOptions, ImageIndexResult, AudioIndexOptions, AudioIndexResult, MultimodalSearchOptions, MultimodalSearchResult, IVisionProvider, ISpeechToTextProvider, MultimodalIndexerConfig } from './types.js';
|
|
41
41
|
import type { VisionPipeline } from '../../core/vision/VisionPipeline.js';
|
|
42
|
+
import type { HydeRetriever } from '../HydeRetriever.js';
|
|
42
43
|
/**
|
|
43
44
|
* Indexes non-text content (images, audio) into the vector store by
|
|
44
45
|
* generating text descriptions and embeddings.
|
|
@@ -103,6 +104,16 @@ export declare class MultimodalIndexer {
|
|
|
103
104
|
private readonly _sttProvider?;
|
|
104
105
|
/** Resolved configuration. */
|
|
105
106
|
private readonly _config;
|
|
107
|
+
/**
|
|
108
|
+
* Optional HyDE retriever for hypothesis-driven multimodal search.
|
|
109
|
+
*
|
|
110
|
+
* When set, the `search()` method can accept `hyde: { enabled: true }`
|
|
111
|
+
* in its options to embed a hypothetical answer instead of the raw query,
|
|
112
|
+
* improving recall for exploratory or vague queries.
|
|
113
|
+
*
|
|
114
|
+
* @see HydeRetriever
|
|
115
|
+
*/
|
|
116
|
+
private _hydeRetriever?;
|
|
106
117
|
/**
|
|
107
118
|
* Create a new multimodal indexer.
|
|
108
119
|
*
|
|
@@ -146,6 +157,30 @@ export declare class MultimodalIndexer {
|
|
|
146
157
|
sttProvider?: ISpeechToTextProvider;
|
|
147
158
|
config?: MultimodalIndexerConfig;
|
|
148
159
|
});
|
|
160
|
+
/**
|
|
161
|
+
* Attach a HyDE retriever to enable hypothesis-driven multimodal search.
|
|
162
|
+
*
|
|
163
|
+
* Once set, pass `hyde: { enabled: true }` in the `search()` options to
|
|
164
|
+
* activate HyDE for that query. The retriever generates a hypothetical
|
|
165
|
+
* answer using an LLM, then embeds that answer instead of the raw query
|
|
166
|
+
* text, which typically yields better recall for exploratory queries.
|
|
167
|
+
*
|
|
168
|
+
* @param retriever - A pre-configured HydeRetriever instance.
|
|
169
|
+
*
|
|
170
|
+
* @example
|
|
171
|
+
* ```typescript
|
|
172
|
+
* indexer.setHydeRetriever(new HydeRetriever({
|
|
173
|
+
* llmCaller: myLlmCaller,
|
|
174
|
+
* embeddingManager: myEmbeddingManager,
|
|
175
|
+
* config: { enabled: true },
|
|
176
|
+
* }));
|
|
177
|
+
*
|
|
178
|
+
* const results = await indexer.search('cats on a beach', {
|
|
179
|
+
* hyde: { enabled: true },
|
|
180
|
+
* });
|
|
181
|
+
* ```
|
|
182
|
+
*/
|
|
183
|
+
setHydeRetriever(retriever: HydeRetriever): void;
|
|
149
184
|
/**
|
|
150
185
|
* Index an image by generating a text description via vision LLM,
|
|
151
186
|
* then embedding and storing the description.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultimodalIndexer.d.ts","sourceRoot":"","sources":["../../../src/rag/multimodal/MultimodalIndexer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAoB,MAAM,yBAAyB,CAAC;AACnF,OAAO,KAAK,EAAE,YAAY,EAAiC,MAAM,oBAAoB,CAAC;AACtF,OAAO,KAAK,EAEV,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,uBAAuB,EACvB,sBAAsB,EACtB,eAAe,EACf,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"MultimodalIndexer.d.ts","sourceRoot":"","sources":["../../../src/rag/multimodal/MultimodalIndexer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAoB,MAAM,yBAAyB,CAAC;AACnF,OAAO,KAAK,EAAE,YAAY,EAAiC,MAAM,oBAAoB,CAAC;AACtF,OAAO,KAAK,EAEV,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,uBAAuB,EACvB,sBAAsB,EACtB,eAAe,EACf,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAuBzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,qBAAa,iBAAiB;IAK5B,+DAA+D;IAC/D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoB;IAEtD,+DAA+D;IAC/D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAE5C;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAkB;IAEnD;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAwB;IAEtD,8BAA8B;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoC;IAE5D;;;;;;;;OAQG;IACH,OAAO,CAAC,cAAc,CAAC,CAAgB;IAMvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;gBACS,IAAI,EAAE;QAChB,gBAAgB,EAAE,iBAAiB,CAAC;QACpC,WAAW,EAAE,YAAY,CAAC;QAC1B,cAAc,CAAC,EAAE,eAAe,CAAC;QACjC,cAAc,CAAC,EAAE,cAAc,CAAC;QAChC,WAAW,CAAC,EAAE,qBAAqB,CAAC;QACpC,MAAM,CAAC,EAAE,uBAAuB,CAAC;KAClC;IAuCD;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,gBAAgB,CAAC,SAAS,EAAE,aAAa,GAAG,IAAI;IAQhD;;;;;;;;;;;;;;;;;;;OAmBG;IACG,UAAU,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAwEpE;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,UAAU,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA+DpE;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC;IA4F9F;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,kBAAkB,CAChB,aAAa,CAAC,EAAE,OAAO,wCAAwC,EAAE,uBAAuB,EACxF,OAAO,CAAC,EAAE,OAAO,6BAA6B,EAAE,uBAAuB,GACtE,OAAO,6BAA6B,EAAE,sBAAsB;CAQhE"}
|
|
@@ -169,6 +169,35 @@ export class MultimodalIndexer {
|
|
|
169
169
|
};
|
|
170
170
|
}
|
|
171
171
|
// -------------------------------------------------------------------------
|
|
172
|
+
// HyDE configuration
|
|
173
|
+
// -------------------------------------------------------------------------
|
|
174
|
+
/**
|
|
175
|
+
* Attach a HyDE retriever to enable hypothesis-driven multimodal search.
|
|
176
|
+
*
|
|
177
|
+
* Once set, pass `hyde: { enabled: true }` in the `search()` options to
|
|
178
|
+
* activate HyDE for that query. The retriever generates a hypothetical
|
|
179
|
+
* answer using an LLM, then embeds that answer instead of the raw query
|
|
180
|
+
* text, which typically yields better recall for exploratory queries.
|
|
181
|
+
*
|
|
182
|
+
* @param retriever - A pre-configured HydeRetriever instance.
|
|
183
|
+
*
|
|
184
|
+
* @example
|
|
185
|
+
* ```typescript
|
|
186
|
+
* indexer.setHydeRetriever(new HydeRetriever({
|
|
187
|
+
* llmCaller: myLlmCaller,
|
|
188
|
+
* embeddingManager: myEmbeddingManager,
|
|
189
|
+
* config: { enabled: true },
|
|
190
|
+
* }));
|
|
191
|
+
*
|
|
192
|
+
* const results = await indexer.search('cats on a beach', {
|
|
193
|
+
* hyde: { enabled: true },
|
|
194
|
+
* });
|
|
195
|
+
* ```
|
|
196
|
+
*/
|
|
197
|
+
setHydeRetriever(retriever) {
|
|
198
|
+
this._hydeRetriever = retriever;
|
|
199
|
+
}
|
|
200
|
+
// -------------------------------------------------------------------------
|
|
172
201
|
// Image indexing
|
|
173
202
|
// -------------------------------------------------------------------------
|
|
174
203
|
/**
|
|
@@ -340,7 +369,43 @@ export class MultimodalIndexer {
|
|
|
340
369
|
async search(query, opts) {
|
|
341
370
|
const topK = opts?.topK ?? 5;
|
|
342
371
|
const collection = opts?.collection ?? this._config.defaultCollection;
|
|
343
|
-
// Step 1:
|
|
372
|
+
// Step 1: Determine query embedding
|
|
373
|
+
//
|
|
374
|
+
// When HyDE is enabled and a HydeRetriever is available, we delegate
|
|
375
|
+
// the full retrieve cycle to the retriever. This generates a hypothetical
|
|
376
|
+
// answer, embeds it, and searches the vector store in one shot — including
|
|
377
|
+
// adaptive threshold stepping for better recall.
|
|
378
|
+
//
|
|
379
|
+
// Otherwise we fall back to the standard direct-embedding path.
|
|
380
|
+
if (opts?.hyde?.enabled && this._hydeRetriever) {
|
|
381
|
+
const hydeResult = await this._hydeRetriever.retrieve({
|
|
382
|
+
query,
|
|
383
|
+
vectorStore: this._vectorStore,
|
|
384
|
+
collectionName: collection,
|
|
385
|
+
hypothesis: opts.hyde.hypothesis,
|
|
386
|
+
queryOptions: {
|
|
387
|
+
topK,
|
|
388
|
+
includeMetadata: true,
|
|
389
|
+
includeTextContent: true,
|
|
390
|
+
// Modality filter is applied via metadata filter
|
|
391
|
+
...(opts.modalities && opts.modalities.length > 0
|
|
392
|
+
? {
|
|
393
|
+
filter: opts.modalities.length === 1
|
|
394
|
+
? { modality: opts.modalities[0] }
|
|
395
|
+
: { modality: { $in: opts.modalities } },
|
|
396
|
+
}
|
|
397
|
+
: {}),
|
|
398
|
+
},
|
|
399
|
+
});
|
|
400
|
+
return hydeResult.queryResult.documents.map((doc) => ({
|
|
401
|
+
id: doc.id,
|
|
402
|
+
content: doc.textContent ?? '',
|
|
403
|
+
score: doc.similarityScore,
|
|
404
|
+
modality: doc.metadata?.modality ?? 'text',
|
|
405
|
+
metadata: doc.metadata,
|
|
406
|
+
}));
|
|
407
|
+
}
|
|
408
|
+
// Standard path: embed the raw query text directly.
|
|
344
409
|
const embeddingRequest = {
|
|
345
410
|
texts: [query],
|
|
346
411
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultimodalIndexer.js","sourceRoot":"","sources":["../../../src/rag/multimodal/MultimodalIndexer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"MultimodalIndexer.js","sourceRoot":"","sources":["../../../src/rag/multimodal/MultimodalIndexer.ts"],"names":[],"mappings":"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"}
|
|
@@ -152,6 +152,30 @@ export interface MultimodalSearchOptions {
|
|
|
152
152
|
* @default 'multimodal'
|
|
153
153
|
*/
|
|
154
154
|
collection?: string;
|
|
155
|
+
/**
|
|
156
|
+
* HyDE (Hypothetical Document Embedding) configuration for this search.
|
|
157
|
+
*
|
|
158
|
+
* When enabled, a hypothetical answer is generated from the query via LLM
|
|
159
|
+
* and embedded instead of the raw query. This produces embeddings that are
|
|
160
|
+
* semantically closer to stored document representations, improving recall
|
|
161
|
+
* for vague or exploratory queries.
|
|
162
|
+
*
|
|
163
|
+
* Requires a `HydeRetriever` to be set on the indexer via
|
|
164
|
+
* {@link MultimodalIndexer.setHydeRetriever}.
|
|
165
|
+
*
|
|
166
|
+
* @example
|
|
167
|
+
* ```typescript
|
|
168
|
+
* const results = await indexer.search('architecture diagram', {
|
|
169
|
+
* hyde: { enabled: true },
|
|
170
|
+
* });
|
|
171
|
+
* ```
|
|
172
|
+
*/
|
|
173
|
+
hyde?: {
|
|
174
|
+
/** Whether to use HyDE for this search. @default false */
|
|
175
|
+
enabled?: boolean;
|
|
176
|
+
/** Pre-generated hypothesis text (skips the LLM call). */
|
|
177
|
+
hypothesis?: string;
|
|
178
|
+
};
|
|
155
179
|
}
|
|
156
180
|
/**
|
|
157
181
|
* A single result from a multimodal search query.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/rag/multimodal/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAMH;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAMzD;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAEvB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEnC;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEnC;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAMD;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,8CAA8C;IAC9C,EAAE,EAAE,MAAM,CAAC;IACX,qDAAqD;IACrD,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,8CAA8C;IAC9C,EAAE,EAAE,MAAM,CAAC;IACX,6CAA6C;IAC7C,UAAU,EAAE,MAAM,CAAC;CACpB;AAMD;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;IAE/B;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/rag/multimodal/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAMH;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAMzD;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAEvB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEnC;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEnC;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAMD;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,8CAA8C;IAC9C,EAAE,EAAE,MAAM,CAAC;IACX,qDAAqD;IACrD,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,8CAA8C;IAC9C,EAAE,EAAE,MAAM,CAAC;IACX,6CAA6C;IAC7C,UAAU,EAAE,MAAM,CAAC;CACpB;AAMD;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;IAE/B;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;;;;;;;;;;;;;;OAiBG;IACH,IAAI,CAAC,EAAE;QACL,0DAA0D;QAC1D,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,0DAA0D;QAC1D,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED;;;;;;GAMG;AACH,MAAM,WAAW,sBAAsB;IACrC,8CAA8C;IAC9C,EAAE,EAAE,MAAM,CAAC;IAEX;;;;;OAKG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;;OAIG;IACH,QAAQ,EAAE,eAAe,CAAC;IAE1B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAMD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;OAKG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC/C;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;;;OAMG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC/D;AAMD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;;OAGG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC"}
|
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview RAPTOR — Recursive Abstractive Processing for Tree-Organized Retrieval.
|
|
3
|
+
*
|
|
4
|
+
* Based on: Sarthi et al. 2024 "RAPTOR: Recursive Abstractive Processing for
|
|
5
|
+
* Tree-Organized Retrieval"
|
|
6
|
+
*
|
|
7
|
+
* Builds a hierarchical summary tree over document chunks:
|
|
8
|
+
* - **Layer 0**: Original chunks (leaf nodes)
|
|
9
|
+
* - **Layer 1**: Summaries of 5-10 related chunks (cluster -> summarize)
|
|
10
|
+
* - **Layer 2**: Summaries of layer 1 summaries
|
|
11
|
+
* - **Layer N**: Single corpus-level summary (root)
|
|
12
|
+
*
|
|
13
|
+
* At retrieval time, ALL layers are searched simultaneously. This enables:
|
|
14
|
+
* - Detail queries -> match leaf chunks (layer 0)
|
|
15
|
+
* - Theme queries -> match cluster summaries (layer 1-2)
|
|
16
|
+
* - "Big picture" queries -> match high-level summaries (layer N)
|
|
17
|
+
*
|
|
18
|
+
* The tree construction pipeline:
|
|
19
|
+
* 1. **Cluster** similar chunks using k-means on embeddings
|
|
20
|
+
* 2. **Summarize** each cluster using an LLM with chain-of-thought reasoning
|
|
21
|
+
* 3. **Embed** each summary
|
|
22
|
+
* 4. **Store** summaries in the vector store with layer metadata
|
|
23
|
+
* 5. **Repeat** — treat summaries as new chunks, cluster and summarize again
|
|
24
|
+
*
|
|
25
|
+
* @module agentos/rag/raptor/RaptorTree
|
|
26
|
+
* @see RetrievalAugmentor for integration with the RAG pipeline
|
|
27
|
+
*/
|
|
28
|
+
import type { IEmbeddingManager } from '../IEmbeddingManager.js';
|
|
29
|
+
import type { IVectorStore } from '../IVectorStore.js';
|
|
30
|
+
/**
|
|
31
|
+
* Configuration for the RAPTOR tree.
|
|
32
|
+
*
|
|
33
|
+
* @interface RaptorTreeConfig
|
|
34
|
+
*/
|
|
35
|
+
export interface RaptorTreeConfig {
|
|
36
|
+
/**
|
|
37
|
+
* LLM caller for generating summaries.
|
|
38
|
+
* Takes a prompt string and returns the LLM completion.
|
|
39
|
+
*
|
|
40
|
+
* @param {string} prompt - The full prompt including chain-of-thought instructions.
|
|
41
|
+
* @returns {Promise<string>} The generated summary text.
|
|
42
|
+
*/
|
|
43
|
+
llmCaller: (prompt: string) => Promise<string>;
|
|
44
|
+
/** Embedding manager for generating embeddings for clustering and storage. */
|
|
45
|
+
embeddingManager: IEmbeddingManager;
|
|
46
|
+
/** Vector store for persisting all layers of the tree. */
|
|
47
|
+
vectorStore: IVectorStore;
|
|
48
|
+
/** Collection name in the vector store. Default: 'raptor-tree'. */
|
|
49
|
+
collectionName?: string;
|
|
50
|
+
/** Number of chunks per cluster. Default: 8. */
|
|
51
|
+
clusterSize?: number;
|
|
52
|
+
/** Maximum tree depth (layers above leaf). Default: 4. */
|
|
53
|
+
maxDepth?: number;
|
|
54
|
+
/** Minimum number of chunks required to form a new summary layer. Default: 3. */
|
|
55
|
+
minChunksForLayer?: number;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Input chunk for building the RAPTOR tree.
|
|
59
|
+
*
|
|
60
|
+
* @interface RaptorInputChunk
|
|
61
|
+
*/
|
|
62
|
+
export interface RaptorInputChunk {
|
|
63
|
+
/** Unique chunk identifier. */
|
|
64
|
+
id: string;
|
|
65
|
+
/** Chunk text content. */
|
|
66
|
+
text: string;
|
|
67
|
+
/** Optional metadata to preserve in the tree. */
|
|
68
|
+
metadata?: Record<string, unknown>;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Statistics about the constructed RAPTOR tree.
|
|
72
|
+
*
|
|
73
|
+
* @interface RaptorTreeStats
|
|
74
|
+
*/
|
|
75
|
+
export interface RaptorTreeStats {
|
|
76
|
+
/** Total number of layers (0 = leaf only, 1 = one summary layer, etc.). */
|
|
77
|
+
totalLayers: number;
|
|
78
|
+
/** Number of nodes (chunks + summaries) per layer. */
|
|
79
|
+
nodesPerLayer: Record<number, number>;
|
|
80
|
+
/** Total nodes across all layers. */
|
|
81
|
+
totalNodes: number;
|
|
82
|
+
/** Total number of clusters created. */
|
|
83
|
+
totalClusters: number;
|
|
84
|
+
/** Time taken to build the tree (ms). */
|
|
85
|
+
buildTimeMs: number;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* A single RAPTOR search result with layer information.
|
|
89
|
+
*
|
|
90
|
+
* @interface RaptorResult
|
|
91
|
+
*/
|
|
92
|
+
export interface RaptorResult {
|
|
93
|
+
/** Document/chunk identifier. */
|
|
94
|
+
id: string;
|
|
95
|
+
/** Text content. */
|
|
96
|
+
text: string;
|
|
97
|
+
/** Similarity score from vector search. */
|
|
98
|
+
score: number;
|
|
99
|
+
/** Layer in the RAPTOR tree (0 = leaf, higher = more abstract). */
|
|
100
|
+
layer: number;
|
|
101
|
+
/** Whether this is a summary node or an original leaf chunk. */
|
|
102
|
+
isSummary: boolean;
|
|
103
|
+
/** Optional metadata. */
|
|
104
|
+
metadata?: Record<string, unknown>;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* RAPTOR — Recursive Abstractive Processing for Tree-Organized Retrieval.
|
|
108
|
+
*
|
|
109
|
+
* Builds a hierarchical summary tree over document chunks, enabling retrieval
|
|
110
|
+
* at multiple levels of abstraction. Leaf nodes contain original chunks while
|
|
111
|
+
* higher layers contain progressively more abstract summaries.
|
|
112
|
+
*
|
|
113
|
+
* @example Building and searching a RAPTOR tree
|
|
114
|
+
* ```typescript
|
|
115
|
+
* const raptor = new RaptorTree({
|
|
116
|
+
* llmCaller: async (prompt) => {
|
|
117
|
+
* const response = await openai.chat.completions.create({
|
|
118
|
+
* model: 'gpt-4o-mini',
|
|
119
|
+
* messages: [{ role: 'user', content: prompt }],
|
|
120
|
+
* });
|
|
121
|
+
* return response.choices[0].message.content ?? '';
|
|
122
|
+
* },
|
|
123
|
+
* embeddingManager: myEmbeddingManager,
|
|
124
|
+
* vectorStore: myVectorStore,
|
|
125
|
+
* clusterSize: 8,
|
|
126
|
+
* maxDepth: 3,
|
|
127
|
+
* });
|
|
128
|
+
*
|
|
129
|
+
* // Build tree from 100 document chunks
|
|
130
|
+
* const stats = await raptor.build(chunks);
|
|
131
|
+
* console.log(`Built ${stats.totalLayers} layers with ${stats.totalNodes} total nodes`);
|
|
132
|
+
*
|
|
133
|
+
* // Search all layers simultaneously
|
|
134
|
+
* const results = await raptor.search('What are the main themes?', 10);
|
|
135
|
+
* for (const r of results) {
|
|
136
|
+
* console.log(`[Layer ${r.layer}] ${r.id}: ${r.score.toFixed(3)} — ${r.text.slice(0, 80)}...`);
|
|
137
|
+
* }
|
|
138
|
+
* ```
|
|
139
|
+
*/
|
|
140
|
+
export declare class RaptorTree {
|
|
141
|
+
/** LLM caller for summarization. */
|
|
142
|
+
private llmCaller;
|
|
143
|
+
/** Embedding manager for generating embeddings. */
|
|
144
|
+
private embeddingManager;
|
|
145
|
+
/** Vector store for persisting tree nodes. */
|
|
146
|
+
private vectorStore;
|
|
147
|
+
/** Collection name in the vector store. */
|
|
148
|
+
private collectionName;
|
|
149
|
+
/** Number of chunks per cluster. */
|
|
150
|
+
private clusterSize;
|
|
151
|
+
/** Maximum tree depth. */
|
|
152
|
+
private maxDepth;
|
|
153
|
+
/** Minimum chunks to form a new layer. */
|
|
154
|
+
private minChunksForLayer;
|
|
155
|
+
/** Cached statistics from the last build. */
|
|
156
|
+
private stats;
|
|
157
|
+
/**
|
|
158
|
+
* Creates a new RaptorTree.
|
|
159
|
+
*
|
|
160
|
+
* @param {RaptorTreeConfig} config - Configuration including LLM caller,
|
|
161
|
+
* embedding manager, vector store, and clustering parameters.
|
|
162
|
+
*
|
|
163
|
+
* @example
|
|
164
|
+
* ```typescript
|
|
165
|
+
* const raptor = new RaptorTree({
|
|
166
|
+
* llmCaller: myLlm,
|
|
167
|
+
* embeddingManager: myEmbeddings,
|
|
168
|
+
* vectorStore: myStore,
|
|
169
|
+
* clusterSize: 8,
|
|
170
|
+
* maxDepth: 4,
|
|
171
|
+
* });
|
|
172
|
+
* ```
|
|
173
|
+
*/
|
|
174
|
+
constructor(config: RaptorTreeConfig);
|
|
175
|
+
/**
|
|
176
|
+
* Builds the RAPTOR tree from a set of leaf chunks.
|
|
177
|
+
*
|
|
178
|
+
* Pipeline for each layer:
|
|
179
|
+
* 1. Embed all current-layer chunks
|
|
180
|
+
* 2. Cluster similar chunks using k-means
|
|
181
|
+
* 3. Summarize each cluster using the LLM with chain-of-thought
|
|
182
|
+
* 4. Embed summaries and store in vector store with layer metadata
|
|
183
|
+
* 5. Treat summaries as the next layer's input and repeat
|
|
184
|
+
*
|
|
185
|
+
* Stops when:
|
|
186
|
+
* - Fewer than `minChunksForLayer` summaries were produced
|
|
187
|
+
* - Maximum depth is reached
|
|
188
|
+
* - Only one cluster remains (root summary)
|
|
189
|
+
*
|
|
190
|
+
* @param {RaptorInputChunk[]} chunks - Leaf chunks to build the tree from.
|
|
191
|
+
* @returns {Promise<RaptorTreeStats>} Statistics about the constructed tree.
|
|
192
|
+
* @throws {Error} If embedding or storage fails critically.
|
|
193
|
+
*
|
|
194
|
+
* @example
|
|
195
|
+
* ```typescript
|
|
196
|
+
* const chunks = documents.map((doc, i) => ({
|
|
197
|
+
* id: `chunk-${i}`,
|
|
198
|
+
* text: doc.content,
|
|
199
|
+
* metadata: { source: doc.source },
|
|
200
|
+
* }));
|
|
201
|
+
* const stats = await raptor.build(chunks);
|
|
202
|
+
* console.log(`Tree has ${stats.totalLayers} layers`);
|
|
203
|
+
* ```
|
|
204
|
+
*/
|
|
205
|
+
build(chunks: RaptorInputChunk[]): Promise<RaptorTreeStats>;
|
|
206
|
+
/**
|
|
207
|
+
* Searches ALL layers of the RAPTOR tree simultaneously.
|
|
208
|
+
*
|
|
209
|
+
* This is the key advantage of RAPTOR: a detail query will match leaf
|
|
210
|
+
* chunks, while a thematic query will match higher-layer summaries.
|
|
211
|
+
* Both types of results are returned together, sorted by relevance.
|
|
212
|
+
*
|
|
213
|
+
* @param {string} query - The search query.
|
|
214
|
+
* @param {number} [topK=10] - Maximum number of results across all layers.
|
|
215
|
+
* @returns {Promise<RaptorResult[]>} Results from all layers, sorted by score.
|
|
216
|
+
* @throws {Error} If embedding or vector search fails.
|
|
217
|
+
*
|
|
218
|
+
* @example
|
|
219
|
+
* ```typescript
|
|
220
|
+
* const results = await raptor.search('authentication architecture', 10);
|
|
221
|
+
* // May return:
|
|
222
|
+
* // - Layer 0 chunks about specific auth implementations
|
|
223
|
+
* // - Layer 1 summaries about auth patterns
|
|
224
|
+
* // - Layer 2 high-level summary about security architecture
|
|
225
|
+
* ```
|
|
226
|
+
*/
|
|
227
|
+
search(query: string, topK?: number): Promise<RaptorResult[]>;
|
|
228
|
+
/**
|
|
229
|
+
* Returns statistics about the last tree build.
|
|
230
|
+
*
|
|
231
|
+
* @returns {RaptorTreeStats} Tree statistics including layer counts, node counts,
|
|
232
|
+
* cluster counts, and build time.
|
|
233
|
+
*
|
|
234
|
+
* @example
|
|
235
|
+
* ```typescript
|
|
236
|
+
* const stats = raptor.getStats();
|
|
237
|
+
* console.log(`Layers: ${stats.totalLayers}, Nodes: ${stats.totalNodes}`);
|
|
238
|
+
* ```
|
|
239
|
+
*/
|
|
240
|
+
getStats(): RaptorTreeStats;
|
|
241
|
+
/**
|
|
242
|
+
* Generates a summary of a cluster of documents using chain-of-thought reasoning.
|
|
243
|
+
*
|
|
244
|
+
* The prompt instructs the LLM to:
|
|
245
|
+
* 1. Identify key themes across the documents
|
|
246
|
+
* 2. Consider what information would be lost in summarization
|
|
247
|
+
* 3. Note relationships between documents
|
|
248
|
+
* 4. Write a comprehensive summary preserving the most important information
|
|
249
|
+
*
|
|
250
|
+
* @param {string[]} texts - Texts in the cluster to summarize.
|
|
251
|
+
* @param {number} layer - Current layer index (for context in the prompt).
|
|
252
|
+
* @param {number} clusterIndex - Cluster index within the layer.
|
|
253
|
+
* @returns {Promise<string>} The generated summary.
|
|
254
|
+
*/
|
|
255
|
+
private summarizeCluster;
|
|
256
|
+
/**
|
|
257
|
+
* Stores chunks/summaries in the vector store with layer metadata.
|
|
258
|
+
*
|
|
259
|
+
* Generates embeddings for all texts, then upserts them into the vector
|
|
260
|
+
* store with metadata indicating their layer and summary status.
|
|
261
|
+
*
|
|
262
|
+
* @param {RaptorInputChunk[]} chunks - Chunks to store.
|
|
263
|
+
* @param {number} layer - Layer index in the RAPTOR tree.
|
|
264
|
+
* @param {boolean} isSummary - Whether these are summary nodes.
|
|
265
|
+
*/
|
|
266
|
+
private storeChunks;
|
|
267
|
+
}
|
|
268
|
+
//# sourceMappingURL=RaptorTree.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RaptorTree.d.ts","sourceRoot":"","sources":["../../../src/rag/raptor/RaptorTree.ts"],"names":[],"mappings":"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"}
|