@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,236 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file FallbackAudioProxy.ts
|
|
3
|
+
* Automatic failover proxy for audio generation providers.
|
|
4
|
+
*
|
|
5
|
+
* Follows the same pattern established by {@link FallbackVideoProxy} in the
|
|
6
|
+
* video subsystem: an ordered chain of {@link IAudioGenerator} instances is
|
|
7
|
+
* tried left-to-right for each operation. The first provider that succeeds
|
|
8
|
+
* wins; earlier failures are caught, logged via an emitted event, and the
|
|
9
|
+
* next provider is tried.
|
|
10
|
+
*
|
|
11
|
+
* ## Sub-modality handling
|
|
12
|
+
*
|
|
13
|
+
* For the optional `generateSFX` operation the proxy skips providers whose
|
|
14
|
+
* {@link IAudioGenerator.supports} method returns `false` for `'sfx'`.
|
|
15
|
+
* Likewise, `generateMusic` skips providers that don't support `'music'`.
|
|
16
|
+
* Skipped providers are not counted as transient failures — the proxy simply
|
|
17
|
+
* advances to the next candidate.
|
|
18
|
+
*
|
|
19
|
+
* @see {@link FallbackVideoProxy} for the analogous video proxy.
|
|
20
|
+
* @see {@link FallbackImageProxy} for the analogous image proxy.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```ts
|
|
24
|
+
* import { EventEmitter } from 'events';
|
|
25
|
+
* import { FallbackAudioProxy } from './FallbackAudioProxy.js';
|
|
26
|
+
*
|
|
27
|
+
* const emitter = new EventEmitter();
|
|
28
|
+
* emitter.on('audio:generate:fallback', (evt) => {
|
|
29
|
+
* console.warn(`Audio fallback: ${evt.from} -> ${evt.to} (${evt.reason})`);
|
|
30
|
+
* });
|
|
31
|
+
*
|
|
32
|
+
* const proxy = new FallbackAudioProxy(
|
|
33
|
+
* [sunoProvider, stableAudioProvider, elevenLabsProvider],
|
|
34
|
+
* emitter,
|
|
35
|
+
* );
|
|
36
|
+
*
|
|
37
|
+
* // If Suno fails, Stable Audio is tried, then ElevenLabs.
|
|
38
|
+
* const result = await proxy.generateMusic(request);
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
// ---------------------------------------------------------------------------
|
|
42
|
+
// Helpers
|
|
43
|
+
// ---------------------------------------------------------------------------
|
|
44
|
+
/**
|
|
45
|
+
* Extracts a human-readable reason string from an unknown error value.
|
|
46
|
+
*/
|
|
47
|
+
function errorReason(err) {
|
|
48
|
+
if (err instanceof Error)
|
|
49
|
+
return err.message;
|
|
50
|
+
return String(err);
|
|
51
|
+
}
|
|
52
|
+
// ---------------------------------------------------------------------------
|
|
53
|
+
// FallbackAudioProxy
|
|
54
|
+
// ---------------------------------------------------------------------------
|
|
55
|
+
/**
|
|
56
|
+
* An {@link IAudioGenerator} that wraps an ordered chain of audio providers
|
|
57
|
+
* and implements automatic failover for every operation.
|
|
58
|
+
*
|
|
59
|
+
* ## Retry chain logic
|
|
60
|
+
*
|
|
61
|
+
* Providers are tried left-to-right (index 0 first). The first provider
|
|
62
|
+
* that succeeds returns immediately. When a provider throws:
|
|
63
|
+
*
|
|
64
|
+
* - **If it is NOT the last provider:** an `audio:generate:fallback` event is
|
|
65
|
+
* emitted and the next provider is tried.
|
|
66
|
+
* - **If it IS the last provider:** an `AggregateError` containing every
|
|
67
|
+
* collected error is thrown.
|
|
68
|
+
* - **If the chain is empty:** an `Error('No providers in audio fallback chain')`
|
|
69
|
+
* is thrown immediately.
|
|
70
|
+
*
|
|
71
|
+
* For `generateMusic`, providers whose {@link IAudioGenerator.supports} returns
|
|
72
|
+
* `false` for `'music'` are silently skipped. For `generateSFX`, providers
|
|
73
|
+
* that don't support `'sfx'` (or lack the method entirely) are skipped.
|
|
74
|
+
*/
|
|
75
|
+
export class FallbackAudioProxy {
|
|
76
|
+
/**
|
|
77
|
+
* Creates a new FallbackAudioProxy wrapping the given provider chain.
|
|
78
|
+
*
|
|
79
|
+
* @param chain - Ordered list of audio providers to try. Must contain at
|
|
80
|
+
* least one entry for operations to succeed (an empty chain always throws).
|
|
81
|
+
* @param emitter - EventEmitter on which `audio:generate:fallback` events
|
|
82
|
+
* are published so callers can observe the failover path.
|
|
83
|
+
*
|
|
84
|
+
* @example
|
|
85
|
+
* ```ts
|
|
86
|
+
* const proxy = new FallbackAudioProxy(
|
|
87
|
+
* [sunoProvider, stableAudioProvider],
|
|
88
|
+
* new EventEmitter(),
|
|
89
|
+
* );
|
|
90
|
+
* ```
|
|
91
|
+
*/
|
|
92
|
+
constructor(chain, emitter) {
|
|
93
|
+
this.chain = chain;
|
|
94
|
+
this.emitter = emitter;
|
|
95
|
+
/** Always `true` — the proxy is ready as soon as it is constructed. */
|
|
96
|
+
this.isInitialized = true;
|
|
97
|
+
this.providerId = chain[0]?.providerId ?? 'fallback-audio';
|
|
98
|
+
this.defaultModelId = chain[0]?.defaultModelId;
|
|
99
|
+
}
|
|
100
|
+
// -----------------------------------------------------------------------
|
|
101
|
+
// IAudioGenerator — initialize (no-op for the proxy itself)
|
|
102
|
+
// -----------------------------------------------------------------------
|
|
103
|
+
/**
|
|
104
|
+
* No-op initialisation — individual providers in the chain should already
|
|
105
|
+
* be initialised before being passed to the proxy.
|
|
106
|
+
*/
|
|
107
|
+
async initialize(_config) {
|
|
108
|
+
// Each provider in the chain is initialised independently before
|
|
109
|
+
// construction, so the proxy itself has nothing to set up.
|
|
110
|
+
}
|
|
111
|
+
// -----------------------------------------------------------------------
|
|
112
|
+
// IAudioGenerator — supports
|
|
113
|
+
// -----------------------------------------------------------------------
|
|
114
|
+
/**
|
|
115
|
+
* Returns `true` if at least one provider in the chain supports the
|
|
116
|
+
* given capability.
|
|
117
|
+
*
|
|
118
|
+
* @param capability - The capability to query (`'music'` or `'sfx'`).
|
|
119
|
+
*/
|
|
120
|
+
supports(capability) {
|
|
121
|
+
return this.chain.some((provider) => provider.supports(capability));
|
|
122
|
+
}
|
|
123
|
+
// -----------------------------------------------------------------------
|
|
124
|
+
// IAudioGenerator — generateMusic
|
|
125
|
+
// -----------------------------------------------------------------------
|
|
126
|
+
/**
|
|
127
|
+
* Generate music from a text prompt, falling back through the provider
|
|
128
|
+
* chain on failure.
|
|
129
|
+
*
|
|
130
|
+
* Providers whose {@link IAudioGenerator.supports} returns `false` for
|
|
131
|
+
* `'music'` are silently skipped.
|
|
132
|
+
*
|
|
133
|
+
* @param request - The generation request forwarded to each provider.
|
|
134
|
+
* @returns The result from the first provider that succeeds.
|
|
135
|
+
* @throws {AggregateError} When every provider in the chain fails.
|
|
136
|
+
* @throws {Error} When the chain is empty.
|
|
137
|
+
*/
|
|
138
|
+
async generateMusic(request) {
|
|
139
|
+
return this.runWithFallback('generateMusic', (provider) => {
|
|
140
|
+
if (!provider.supports('music')) {
|
|
141
|
+
throw Object.assign(new Error(`Provider "${provider.providerId}" does not support music generation.`), { name: 'MusicNotSupportedError' });
|
|
142
|
+
}
|
|
143
|
+
return provider.generateMusic(request);
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
// -----------------------------------------------------------------------
|
|
147
|
+
// IAudioGenerator — generateSFX (optional)
|
|
148
|
+
// -----------------------------------------------------------------------
|
|
149
|
+
/**
|
|
150
|
+
* Generate a sound effect from a text prompt, falling back through providers
|
|
151
|
+
* that support SFX.
|
|
152
|
+
*
|
|
153
|
+
* Providers whose {@link IAudioGenerator.supports} returns `false` for
|
|
154
|
+
* `'sfx'` or that lack the `generateSFX` method are silently skipped.
|
|
155
|
+
*
|
|
156
|
+
* @param request - The SFX request forwarded to each capable provider.
|
|
157
|
+
* @returns The result from the first provider that succeeds.
|
|
158
|
+
* @throws {AggregateError} When every provider fails or does not support SFX.
|
|
159
|
+
*/
|
|
160
|
+
async generateSFX(request) {
|
|
161
|
+
return this.runWithFallback('generateSFX', (provider) => {
|
|
162
|
+
if (!provider.supports('sfx') || typeof provider.generateSFX !== 'function') {
|
|
163
|
+
throw Object.assign(new Error(`Provider "${provider.providerId}" does not support SFX generation.`), { name: 'SFXNotSupportedError' });
|
|
164
|
+
}
|
|
165
|
+
return provider.generateSFX(request);
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
// -----------------------------------------------------------------------
|
|
169
|
+
// IAudioGenerator — shutdown (optional)
|
|
170
|
+
// -----------------------------------------------------------------------
|
|
171
|
+
/**
|
|
172
|
+
* Shuts down all providers in the chain. Errors are caught per-provider
|
|
173
|
+
* so a single provider's failure does not prevent the others from
|
|
174
|
+
* cleaning up.
|
|
175
|
+
*/
|
|
176
|
+
async shutdown() {
|
|
177
|
+
for (const provider of this.chain) {
|
|
178
|
+
if (typeof provider.shutdown === 'function') {
|
|
179
|
+
try {
|
|
180
|
+
await provider.shutdown();
|
|
181
|
+
}
|
|
182
|
+
catch {
|
|
183
|
+
// Swallow individual shutdown errors — best effort.
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
// -----------------------------------------------------------------------
|
|
189
|
+
// Core fallback loop
|
|
190
|
+
// -----------------------------------------------------------------------
|
|
191
|
+
/**
|
|
192
|
+
* Executes an operation against each provider in the chain until one
|
|
193
|
+
* succeeds or all have been exhausted.
|
|
194
|
+
*
|
|
195
|
+
* Providers that throw an error whose `name` ends with `NotSupportedError`
|
|
196
|
+
* are treated as structurally incapable — the reason is recorded as
|
|
197
|
+
* "not supported" rather than the raw error message.
|
|
198
|
+
*
|
|
199
|
+
* @param operationName - Human-readable name of the operation (for error messages).
|
|
200
|
+
* @param execute - Async callback that runs the operation on a single provider.
|
|
201
|
+
* @returns The result from the first successful provider.
|
|
202
|
+
* @throws {AggregateError} When every provider fails.
|
|
203
|
+
*/
|
|
204
|
+
async runWithFallback(operationName, execute) {
|
|
205
|
+
if (this.chain.length === 0) {
|
|
206
|
+
throw new Error('No providers in audio fallback chain');
|
|
207
|
+
}
|
|
208
|
+
const errors = [];
|
|
209
|
+
for (let i = 0; i < this.chain.length; i++) {
|
|
210
|
+
const provider = this.chain[i];
|
|
211
|
+
try {
|
|
212
|
+
return await execute(provider);
|
|
213
|
+
}
|
|
214
|
+
catch (err) {
|
|
215
|
+
const isNotSupported = err instanceof Error && err.name.endsWith('NotSupportedError');
|
|
216
|
+
const reason = isNotSupported
|
|
217
|
+
? `${operationName} not supported`
|
|
218
|
+
: errorReason(err);
|
|
219
|
+
errors.push(err instanceof Error ? err : new Error(String(err)));
|
|
220
|
+
// Emit a fallback event when there is a next provider to try.
|
|
221
|
+
if (i < this.chain.length - 1) {
|
|
222
|
+
const event = {
|
|
223
|
+
type: 'audio:generate:fallback',
|
|
224
|
+
from: provider.providerId,
|
|
225
|
+
to: this.chain[i + 1].providerId,
|
|
226
|
+
reason,
|
|
227
|
+
};
|
|
228
|
+
this.emitter.emit('audio:generate:fallback', event);
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
// All providers exhausted — throw an aggregate error.
|
|
233
|
+
throw new AggregateError(errors, `All ${this.chain.length} audio providers failed for ${operationName}: ${errors.map((e) => e.message).join('; ')}`);
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
//# sourceMappingURL=FallbackAudioProxy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FallbackAudioProxy.js","sourceRoot":"","sources":["../../../src/core/audio/FallbackAudioProxy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file IAudioGenerator.ts
|
|
3
|
+
* Provider interface for audio generation (music and sound effects).
|
|
4
|
+
*
|
|
5
|
+
* Follows the same pattern as {@link IVideoGenerator} in the video subsystem:
|
|
6
|
+
* each concrete provider implements this interface, and instances are composed
|
|
7
|
+
* into a {@link FallbackAudioProxy} chain for automatic failover.
|
|
8
|
+
*
|
|
9
|
+
* ## Sub-modality split
|
|
10
|
+
*
|
|
11
|
+
* Audio generation is split into two sub-modalities:
|
|
12
|
+
*
|
|
13
|
+
* - **Music** — full-length compositions ({@link generateMusic}).
|
|
14
|
+
* - **SFX** — short sound effects ({@link generateSFX}).
|
|
15
|
+
*
|
|
16
|
+
* A provider may support one or both. Capability negotiation is done via
|
|
17
|
+
* {@link supports} — the proxy uses this to skip structurally incapable
|
|
18
|
+
* providers rather than counting them as transient failures.
|
|
19
|
+
*
|
|
20
|
+
* @see {@link FallbackAudioProxy} for the failover wrapper.
|
|
21
|
+
* @see {@link IVideoGenerator} for the analogous video interface.
|
|
22
|
+
*/
|
|
23
|
+
import type { MusicGenerateRequest, SFXGenerateRequest, AudioResult } from './types.js';
|
|
24
|
+
/**
|
|
25
|
+
* Abstraction over an audio generation backend (Suno, Udio, Stable Audio,
|
|
26
|
+
* ElevenLabs, Replicate, etc.).
|
|
27
|
+
*
|
|
28
|
+
* ## Capability negotiation
|
|
29
|
+
*
|
|
30
|
+
* Not every provider supports every sub-modality. The {@link supports} method
|
|
31
|
+
* lets callers (and the {@link FallbackAudioProxy}) query whether a given
|
|
32
|
+
* capability is available before invoking it.
|
|
33
|
+
*
|
|
34
|
+
* ## Lifecycle
|
|
35
|
+
*
|
|
36
|
+
* 1. Construct the provider.
|
|
37
|
+
* 2. Call {@link initialize} with provider-specific configuration (API keys,
|
|
38
|
+
* base URLs, etc.).
|
|
39
|
+
* 3. Use {@link generateMusic} and/or {@link generateSFX}.
|
|
40
|
+
* 4. Optionally call {@link shutdown} to release resources.
|
|
41
|
+
*
|
|
42
|
+
* @example
|
|
43
|
+
* ```typescript
|
|
44
|
+
* const suno: IAudioGenerator = new SunoProvider();
|
|
45
|
+
* await suno.initialize({ apiKey: process.env.SUNO_API_KEY! });
|
|
46
|
+
*
|
|
47
|
+
* if (suno.supports('music')) {
|
|
48
|
+
* const result = await suno.generateMusic({ prompt: 'Ambient piano loop' });
|
|
49
|
+
* console.log(result.audio[0].url);
|
|
50
|
+
* }
|
|
51
|
+
*
|
|
52
|
+
* await suno.shutdown?.();
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
55
|
+
export interface IAudioGenerator {
|
|
56
|
+
/** Unique identifier for this provider (e.g. `'suno'`, `'elevenlabs-sfx'`). */
|
|
57
|
+
readonly providerId: string;
|
|
58
|
+
/** Whether {@link initialize} has been called successfully. */
|
|
59
|
+
readonly isInitialized: boolean;
|
|
60
|
+
/** Default model used when the request omits `modelId`. */
|
|
61
|
+
readonly defaultModelId?: string;
|
|
62
|
+
/**
|
|
63
|
+
* Initialise the provider with runtime configuration.
|
|
64
|
+
*
|
|
65
|
+
* @param config - Provider-specific key/value pairs (API keys, endpoints,
|
|
66
|
+
* model overrides, etc.).
|
|
67
|
+
*/
|
|
68
|
+
initialize(config: Record<string, unknown>): Promise<void>;
|
|
69
|
+
/**
|
|
70
|
+
* Generate music from a text prompt.
|
|
71
|
+
*
|
|
72
|
+
* Providers that do not support music generation should throw an error
|
|
73
|
+
* and have {@link supports} return `false` for `'music'`.
|
|
74
|
+
*
|
|
75
|
+
* @param request - The music generation parameters.
|
|
76
|
+
* @returns A result envelope containing one or more generated audio clips.
|
|
77
|
+
*/
|
|
78
|
+
generateMusic(request: MusicGenerateRequest): Promise<AudioResult>;
|
|
79
|
+
/**
|
|
80
|
+
* Generate a sound effect from a text prompt.
|
|
81
|
+
*
|
|
82
|
+
* This method is optional — providers that do not support SFX generation
|
|
83
|
+
* should either omit it or have {@link supports} return `false` for
|
|
84
|
+
* `'sfx'`.
|
|
85
|
+
*
|
|
86
|
+
* @param request - The SFX generation parameters.
|
|
87
|
+
* @returns A result envelope containing one or more generated audio clips.
|
|
88
|
+
*/
|
|
89
|
+
generateSFX?(request: SFXGenerateRequest): Promise<AudioResult>;
|
|
90
|
+
/**
|
|
91
|
+
* Query whether this provider supports a given capability.
|
|
92
|
+
*
|
|
93
|
+
* @param capability - The capability to check (`'music'` or `'sfx'`).
|
|
94
|
+
* @returns `true` if the provider can handle the requested capability.
|
|
95
|
+
*/
|
|
96
|
+
supports(capability: 'music' | 'sfx'): boolean;
|
|
97
|
+
/**
|
|
98
|
+
* Release any resources held by the provider (HTTP connections, polling
|
|
99
|
+
* loops, temp files, etc.).
|
|
100
|
+
*/
|
|
101
|
+
shutdown?(): Promise<void>;
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=IAudioGenerator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IAudioGenerator.d.ts","sourceRoot":"","sources":["../../../src/core/audio/IAudioGenerator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAMxF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,WAAW,eAAe;IAC9B,+EAA+E;IAC/E,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B,+DAA+D;IAC/D,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAEhC,2DAA2D;IAC3D,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAEjC;;;;;OAKG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3D;;;;;;;;OAQG;IACH,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAEnE;;;;;;;;;OASG;IACH,WAAW,CAAC,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAEhE;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,EAAE,OAAO,GAAG,KAAK,GAAG,OAAO,CAAC;IAE/C;;;OAGG;IACH,QAAQ,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file IAudioGenerator.ts
|
|
3
|
+
* Provider interface for audio generation (music and sound effects).
|
|
4
|
+
*
|
|
5
|
+
* Follows the same pattern as {@link IVideoGenerator} in the video subsystem:
|
|
6
|
+
* each concrete provider implements this interface, and instances are composed
|
|
7
|
+
* into a {@link FallbackAudioProxy} chain for automatic failover.
|
|
8
|
+
*
|
|
9
|
+
* ## Sub-modality split
|
|
10
|
+
*
|
|
11
|
+
* Audio generation is split into two sub-modalities:
|
|
12
|
+
*
|
|
13
|
+
* - **Music** — full-length compositions ({@link generateMusic}).
|
|
14
|
+
* - **SFX** — short sound effects ({@link generateSFX}).
|
|
15
|
+
*
|
|
16
|
+
* A provider may support one or both. Capability negotiation is done via
|
|
17
|
+
* {@link supports} — the proxy uses this to skip structurally incapable
|
|
18
|
+
* providers rather than counting them as transient failures.
|
|
19
|
+
*
|
|
20
|
+
* @see {@link FallbackAudioProxy} for the failover wrapper.
|
|
21
|
+
* @see {@link IVideoGenerator} for the analogous video interface.
|
|
22
|
+
*/
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=IAudioGenerator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IAudioGenerator.js","sourceRoot":"","sources":["../../../src/core/audio/IAudioGenerator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG"}
|
|
@@ -1,5 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file index.ts
|
|
3
|
+
* Barrel export for the audio generation and processing subsystem.
|
|
4
|
+
*
|
|
5
|
+
* Re-exports all public types, interfaces, processing utilities, and the
|
|
6
|
+
* fallback proxy so consumers can import from `@agentos/core/audio` (or the
|
|
7
|
+
* relative path) without reaching into individual files.
|
|
8
|
+
*
|
|
9
|
+
* Also provides a provider factory registry (modelled on the video
|
|
10
|
+
* subsystem's pattern) so that built-in and third-party audio providers
|
|
11
|
+
* can be registered and instantiated by provider ID.
|
|
12
|
+
*/
|
|
13
|
+
import type { IAudioGenerator } from './IAudioGenerator.js';
|
|
1
14
|
export * from './AdaptiveVAD.js';
|
|
2
15
|
export * from './AudioProcessor.js';
|
|
3
16
|
export * from './EnvironmentalCalibrator.js';
|
|
4
17
|
export * from './SilenceDetector.js';
|
|
18
|
+
export * from './types.js';
|
|
19
|
+
export * from './IAudioGenerator.js';
|
|
20
|
+
export * from './FallbackAudioProxy.js';
|
|
21
|
+
/** A factory function that creates an uninitialised audio provider instance. */
|
|
22
|
+
export type AudioProviderFactory = () => IAudioGenerator;
|
|
23
|
+
/**
|
|
24
|
+
* Register an audio provider factory for a given provider ID.
|
|
25
|
+
*
|
|
26
|
+
* Use this to add third-party or custom audio providers at runtime.
|
|
27
|
+
* Built-in providers (suno, udio, stable-audio, elevenlabs-sfx,
|
|
28
|
+
* musicgen-local, audiogen-local, replicate-audio, fal-audio) are
|
|
29
|
+
* pre-registered.
|
|
30
|
+
*
|
|
31
|
+
* @param providerId - Unique identifier for the provider (lowercased for matching).
|
|
32
|
+
* @param factory - Factory function that creates a new uninitialised provider instance.
|
|
33
|
+
*/
|
|
34
|
+
export declare function registerAudioProviderFactory(providerId: string, factory: AudioProviderFactory): void;
|
|
35
|
+
/**
|
|
36
|
+
* Create an audio provider instance by provider ID.
|
|
37
|
+
*
|
|
38
|
+
* Looks up the factory in the registry and returns a new uninitialised
|
|
39
|
+
* provider. The caller must call `provider.initialize(config)` before use.
|
|
40
|
+
*
|
|
41
|
+
* @param providerId - Provider identifier (e.g. `"suno"`, `"stable-audio"`, `"elevenlabs-sfx"`).
|
|
42
|
+
* @returns A new uninitialised {@link IAudioGenerator} instance.
|
|
43
|
+
* @throws {Error} When no factory is registered for the given provider ID.
|
|
44
|
+
*/
|
|
45
|
+
export declare function createAudioProvider(providerId: string): IAudioGenerator;
|
|
46
|
+
/**
|
|
47
|
+
* Check whether an audio provider factory is registered for the given ID.
|
|
48
|
+
*
|
|
49
|
+
* @param providerId - Provider identifier to check.
|
|
50
|
+
* @returns `true` if a factory exists for this provider.
|
|
51
|
+
*/
|
|
52
|
+
export declare function hasAudioProviderFactory(providerId: string): boolean;
|
|
53
|
+
/**
|
|
54
|
+
* List all registered audio provider factory IDs, sorted alphabetically.
|
|
55
|
+
*
|
|
56
|
+
* @returns Sorted array of registered provider identifiers.
|
|
57
|
+
*/
|
|
58
|
+
export declare function listAudioProviderFactories(): string[];
|
|
5
59
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/audio/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/audio/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAa5D,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sBAAsB,CAAC;AAKrC,cAAc,YAAY,CAAC;AAC3B,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AAMxC,gFAAgF;AAChF,MAAM,MAAM,oBAAoB,GAAG,MAAM,eAAe,CAAC;AAmBzD;;;;;;;;;;GAUG;AACH,wBAAgB,4BAA4B,CAC1C,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,oBAAoB,GAC5B,IAAI,CAEN;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,eAAe,CAMvE;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAEnE;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,IAAI,MAAM,EAAE,CAErD"}
|
package/dist/core/audio/index.js
CHANGED
|
@@ -1,5 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file index.ts
|
|
3
|
+
* Barrel export for the audio generation and processing subsystem.
|
|
4
|
+
*
|
|
5
|
+
* Re-exports all public types, interfaces, processing utilities, and the
|
|
6
|
+
* fallback proxy so consumers can import from `@agentos/core/audio` (or the
|
|
7
|
+
* relative path) without reaching into individual files.
|
|
8
|
+
*
|
|
9
|
+
* Also provides a provider factory registry (modelled on the video
|
|
10
|
+
* subsystem's pattern) so that built-in and third-party audio providers
|
|
11
|
+
* can be registered and instantiated by provider ID.
|
|
12
|
+
*/
|
|
13
|
+
import { AudioGenLocalProvider } from './providers/AudioGenLocalProvider.js';
|
|
14
|
+
import { ElevenLabsSFXProvider } from './providers/ElevenLabsSFXProvider.js';
|
|
15
|
+
import { FalAudioProvider } from './providers/FalAudioProvider.js';
|
|
16
|
+
import { MusicGenLocalProvider } from './providers/MusicGenLocalProvider.js';
|
|
17
|
+
import { ReplicateAudioProvider } from './providers/ReplicateAudioProvider.js';
|
|
18
|
+
import { StableAudioProvider } from './providers/StableAudioProvider.js';
|
|
19
|
+
import { SunoProvider } from './providers/SunoProvider.js';
|
|
20
|
+
import { UdioProvider } from './providers/UdioProvider.js';
|
|
21
|
+
// ---------------------------------------------------------------------------
|
|
22
|
+
// Audio processing (VAD, silence detection, calibration)
|
|
23
|
+
// ---------------------------------------------------------------------------
|
|
1
24
|
export * from './AdaptiveVAD.js';
|
|
2
25
|
export * from './AudioProcessor.js';
|
|
3
26
|
export * from './EnvironmentalCalibrator.js';
|
|
4
27
|
export * from './SilenceDetector.js';
|
|
28
|
+
// ---------------------------------------------------------------------------
|
|
29
|
+
// Audio generation (types, interface, fallback proxy)
|
|
30
|
+
// ---------------------------------------------------------------------------
|
|
31
|
+
export * from './types.js';
|
|
32
|
+
export * from './IAudioGenerator.js';
|
|
33
|
+
export * from './FallbackAudioProxy.js';
|
|
34
|
+
/**
|
|
35
|
+
* Internal registry mapping provider IDs to provider constructors.
|
|
36
|
+
*
|
|
37
|
+
* Built-in providers are pre-registered here so the public
|
|
38
|
+
* `createAudioProvider()` API remains synchronous and ESM-safe.
|
|
39
|
+
*/
|
|
40
|
+
const audioProviderFactories = new Map([
|
|
41
|
+
['suno', () => new SunoProvider()],
|
|
42
|
+
['udio', () => new UdioProvider()],
|
|
43
|
+
['stable-audio', () => new StableAudioProvider()],
|
|
44
|
+
['elevenlabs-sfx', () => new ElevenLabsSFXProvider()],
|
|
45
|
+
['musicgen-local', () => new MusicGenLocalProvider()],
|
|
46
|
+
['audiogen-local', () => new AudioGenLocalProvider()],
|
|
47
|
+
['replicate-audio', () => new ReplicateAudioProvider()],
|
|
48
|
+
['fal-audio', () => new FalAudioProvider()],
|
|
49
|
+
]);
|
|
50
|
+
/**
|
|
51
|
+
* Register an audio provider factory for a given provider ID.
|
|
52
|
+
*
|
|
53
|
+
* Use this to add third-party or custom audio providers at runtime.
|
|
54
|
+
* Built-in providers (suno, udio, stable-audio, elevenlabs-sfx,
|
|
55
|
+
* musicgen-local, audiogen-local, replicate-audio, fal-audio) are
|
|
56
|
+
* pre-registered.
|
|
57
|
+
*
|
|
58
|
+
* @param providerId - Unique identifier for the provider (lowercased for matching).
|
|
59
|
+
* @param factory - Factory function that creates a new uninitialised provider instance.
|
|
60
|
+
*/
|
|
61
|
+
export function registerAudioProviderFactory(providerId, factory) {
|
|
62
|
+
audioProviderFactories.set(providerId.toLowerCase(), factory);
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Create an audio provider instance by provider ID.
|
|
66
|
+
*
|
|
67
|
+
* Looks up the factory in the registry and returns a new uninitialised
|
|
68
|
+
* provider. The caller must call `provider.initialize(config)` before use.
|
|
69
|
+
*
|
|
70
|
+
* @param providerId - Provider identifier (e.g. `"suno"`, `"stable-audio"`, `"elevenlabs-sfx"`).
|
|
71
|
+
* @returns A new uninitialised {@link IAudioGenerator} instance.
|
|
72
|
+
* @throws {Error} When no factory is registered for the given provider ID.
|
|
73
|
+
*/
|
|
74
|
+
export function createAudioProvider(providerId) {
|
|
75
|
+
const factory = audioProviderFactories.get(providerId.toLowerCase());
|
|
76
|
+
if (!factory) {
|
|
77
|
+
throw new Error(`Audio generation is not supported for provider "${providerId}".`);
|
|
78
|
+
}
|
|
79
|
+
return factory();
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Check whether an audio provider factory is registered for the given ID.
|
|
83
|
+
*
|
|
84
|
+
* @param providerId - Provider identifier to check.
|
|
85
|
+
* @returns `true` if a factory exists for this provider.
|
|
86
|
+
*/
|
|
87
|
+
export function hasAudioProviderFactory(providerId) {
|
|
88
|
+
return audioProviderFactories.has(providerId.toLowerCase());
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* List all registered audio provider factory IDs, sorted alphabetically.
|
|
92
|
+
*
|
|
93
|
+
* @returns Sorted array of registered provider identifiers.
|
|
94
|
+
*/
|
|
95
|
+
export function listAudioProviderFactories() {
|
|
96
|
+
return Array.from(audioProviderFactories.keys()).sort();
|
|
97
|
+
}
|
|
5
98
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/audio/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/audio/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,8EAA8E;AAC9E,yDAAyD;AACzD,8EAA8E;AAC9E,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sBAAsB,CAAC;AAErC,8EAA8E;AAC9E,sDAAsD;AACtD,8EAA8E;AAC9E,cAAc,YAAY,CAAC;AAC3B,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AASxC;;;;;GAKG;AACH,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAA+B;IACnE,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,YAAY,EAAE,CAAC;IAClC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,YAAY,EAAE,CAAC;IAClC,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI,mBAAmB,EAAE,CAAC;IACjD,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,IAAI,qBAAqB,EAAE,CAAC;IACrD,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,IAAI,qBAAqB,EAAE,CAAC;IACrD,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,IAAI,qBAAqB,EAAE,CAAC;IACrD,CAAC,iBAAiB,EAAE,GAAG,EAAE,CAAC,IAAI,sBAAsB,EAAE,CAAC;IACvD,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,gBAAgB,EAAE,CAAC;CAC5C,CAAC,CAAC;AAEH;;;;;;;;;;GAUG;AACH,MAAM,UAAU,4BAA4B,CAC1C,UAAkB,EAClB,OAA6B;IAE7B,sBAAsB,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,OAAO,CAAC,CAAC;AAChE,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB,CAAC,UAAkB;IACpD,MAAM,OAAO,GAAG,sBAAsB,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;IACrE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,mDAAmD,UAAU,IAAI,CAAC,CAAC;IACrF,CAAC;IACD,OAAO,OAAO,EAAE,CAAC;AACnB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,UAAkB;IACxD,OAAO,sBAAsB,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;AAC9D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,0BAA0B;IACxC,OAAO,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AAC1D,CAAC"}
|