@framers/agentos 0.1.119 → 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/store/HnswSidecar.d.ts +115 -0
- package/dist/memory/store/HnswSidecar.d.ts.map +1 -0
- package/dist/memory/store/HnswSidecar.js +256 -0
- package/dist/memory/store/HnswSidecar.js.map +1 -0
- 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 -1
|
@@ -0,0 +1,319 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file generateMusic.ts
|
|
3
|
+
* Provider-agnostic music generation for the AgentOS high-level API.
|
|
4
|
+
*
|
|
5
|
+
* Resolves a music generation provider from explicit `opts.provider`, or by
|
|
6
|
+
* probing environment variables in priority order:
|
|
7
|
+
* `SUNO_API_KEY` -> `STABILITY_API_KEY` -> `REPLICATE_API_TOKEN` ->
|
|
8
|
+
* `FAL_API_KEY` -> (local MusicGen — no key required).
|
|
9
|
+
*
|
|
10
|
+
* When multiple music-capable providers are configured (via env vars), the
|
|
11
|
+
* primary provider is wrapped in a {@link FallbackAudioProxy} so that a
|
|
12
|
+
* transient failure automatically retries on the next available provider.
|
|
13
|
+
*
|
|
14
|
+
* Supports an optional {@link MediaProviderPreference} to reorder or filter
|
|
15
|
+
* the fallback chain at the caller's discretion.
|
|
16
|
+
*/
|
|
17
|
+
import { EventEmitter } from 'events';
|
|
18
|
+
import { createAudioProvider, hasAudioProviderFactory } from '../core/audio/index.js';
|
|
19
|
+
import { FallbackAudioProxy } from '../core/audio/FallbackAudioProxy.js';
|
|
20
|
+
import { resolveProviderChain, resolveProviderOrder, } from '../core/media/ProviderPreferences.js';
|
|
21
|
+
import { attachUsageAttributes, toTurnMetricUsage } from './observability.js';
|
|
22
|
+
import { recordAgentOSUsage } from './usageLedger.js';
|
|
23
|
+
import { recordAgentOSTurnMetrics, withAgentOSSpan } from '../core/observability/otel.js';
|
|
24
|
+
// ---------------------------------------------------------------------------
|
|
25
|
+
// Music provider fallback chain builder
|
|
26
|
+
// ---------------------------------------------------------------------------
|
|
27
|
+
/**
|
|
28
|
+
* Env-var to provider-id mapping used to detect which music providers have
|
|
29
|
+
* credentials configured in the current environment. Order determines
|
|
30
|
+
* fallback priority (first = highest priority).
|
|
31
|
+
*
|
|
32
|
+
* The final entry (`musicgen-local`) has no env key requirement — it runs
|
|
33
|
+
* on the local machine via HuggingFace Transformers.js.
|
|
34
|
+
*/
|
|
35
|
+
const MUSIC_PROVIDER_ENV_MAP = [
|
|
36
|
+
{ envKey: 'SUNO_API_KEY', providerId: 'suno' },
|
|
37
|
+
{ envKey: 'UDIO_API_KEY', providerId: 'udio' },
|
|
38
|
+
{ envKey: 'STABILITY_API_KEY', providerId: 'stable-audio' },
|
|
39
|
+
{ envKey: 'REPLICATE_API_TOKEN', providerId: 'replicate-audio' },
|
|
40
|
+
{ envKey: 'FAL_API_KEY', providerId: 'fal-audio' },
|
|
41
|
+
{ envKey: null, providerId: 'musicgen-local' },
|
|
42
|
+
];
|
|
43
|
+
/** Shared emitter for music fallback events (singleton per process). */
|
|
44
|
+
const musicFallbackEmitter = new EventEmitter();
|
|
45
|
+
function emitAudioProgress(callback, status, progress, message) {
|
|
46
|
+
if (!callback)
|
|
47
|
+
return;
|
|
48
|
+
try {
|
|
49
|
+
callback({ status, progress, message });
|
|
50
|
+
}
|
|
51
|
+
catch {
|
|
52
|
+
// Progress callbacks are best-effort and must not break generation.
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Detects the first available music provider from environment variables.
|
|
57
|
+
*
|
|
58
|
+
* Scans the {@link MUSIC_PROVIDER_ENV_MAP} in priority order and returns
|
|
59
|
+
* the first provider whose API key env var is set (or whose factory is
|
|
60
|
+
* registered with no key requirement, e.g. `musicgen-local`).
|
|
61
|
+
*
|
|
62
|
+
* @returns The provider ID and API key, or `undefined` when no music
|
|
63
|
+
* provider is available.
|
|
64
|
+
*/
|
|
65
|
+
function autoDetectMusicProvider() {
|
|
66
|
+
const providerId = detectAvailableMusicProviders()[0];
|
|
67
|
+
if (!providerId)
|
|
68
|
+
return undefined;
|
|
69
|
+
const entry = MUSIC_PROVIDER_ENV_MAP.find((candidate) => candidate.providerId === providerId);
|
|
70
|
+
return {
|
|
71
|
+
providerId,
|
|
72
|
+
apiKey: entry?.envKey ? (process.env[entry.envKey] ?? '') : '',
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Detects all music providers available in the current environment.
|
|
77
|
+
*
|
|
78
|
+
* @returns Provider IDs in priority order.
|
|
79
|
+
*/
|
|
80
|
+
function detectAvailableMusicProviders() {
|
|
81
|
+
const available = [];
|
|
82
|
+
for (const { envKey, providerId } of MUSIC_PROVIDER_ENV_MAP) {
|
|
83
|
+
if (!hasAudioProviderFactory(providerId))
|
|
84
|
+
continue;
|
|
85
|
+
if (envKey !== null && !process.env[envKey])
|
|
86
|
+
continue;
|
|
87
|
+
available.push(providerId);
|
|
88
|
+
}
|
|
89
|
+
return available;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Detects all music providers with valid credentials in the environment
|
|
93
|
+
* and returns their provider IDs in priority order, excluding the primary.
|
|
94
|
+
*
|
|
95
|
+
* @param primaryProviderId - The provider that was explicitly selected; it
|
|
96
|
+
* is excluded from the fallback list since it is already first in line.
|
|
97
|
+
* @returns An array of provider IDs suitable for fallback, in priority order.
|
|
98
|
+
*/
|
|
99
|
+
function detectFallbackMusicProviders(primaryProviderId) {
|
|
100
|
+
const fallbacks = [];
|
|
101
|
+
for (const { envKey, providerId } of MUSIC_PROVIDER_ENV_MAP) {
|
|
102
|
+
if (providerId === primaryProviderId)
|
|
103
|
+
continue;
|
|
104
|
+
if (!hasAudioProviderFactory(providerId))
|
|
105
|
+
continue;
|
|
106
|
+
if (envKey !== null && !process.env[envKey])
|
|
107
|
+
continue;
|
|
108
|
+
fallbacks.push(providerId);
|
|
109
|
+
}
|
|
110
|
+
return fallbacks;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Resolves the API key environment variable name for a known music provider.
|
|
114
|
+
*
|
|
115
|
+
* @param providerId - The provider identifier.
|
|
116
|
+
* @returns The environment variable name, or a generic fallback.
|
|
117
|
+
*/
|
|
118
|
+
function envKeyForMusicProvider(providerId) {
|
|
119
|
+
const entry = MUSIC_PROVIDER_ENV_MAP.find((e) => e.providerId === providerId);
|
|
120
|
+
if (entry?.envKey)
|
|
121
|
+
return entry.envKey;
|
|
122
|
+
return `${providerId.toUpperCase().replace(/-/g, '_')}_API_KEY`;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Creates an {@link IAudioGenerator} for a resolved music provider chain,
|
|
126
|
+
* optionally wrapped in a {@link FallbackAudioProxy} when multiple
|
|
127
|
+
* music-capable providers are available.
|
|
128
|
+
*
|
|
129
|
+
* @param providerChain - Ordered provider IDs with the primary first and
|
|
130
|
+
* optional fallbacks after it.
|
|
131
|
+
* @param apiKey - API key for the primary provider.
|
|
132
|
+
* @param modelId - Optional model identifier override.
|
|
133
|
+
* @returns An initialised audio provider (possibly a fallback proxy).
|
|
134
|
+
*/
|
|
135
|
+
async function createMusicProviderWithFallback(providerChain, apiKey, modelId, timeoutMs) {
|
|
136
|
+
if (providerChain.length === 0) {
|
|
137
|
+
throw new Error('No music providers available in the resolved provider chain.');
|
|
138
|
+
}
|
|
139
|
+
const [providerId, ...fallbackIds] = providerChain;
|
|
140
|
+
const primary = createAudioProvider(providerId);
|
|
141
|
+
await primary.initialize({
|
|
142
|
+
apiKey,
|
|
143
|
+
...(modelId ? { defaultModelId: modelId } : {}),
|
|
144
|
+
...(timeoutMs ? { timeoutMs } : {}),
|
|
145
|
+
});
|
|
146
|
+
if (fallbackIds.length === 0) {
|
|
147
|
+
return primary;
|
|
148
|
+
}
|
|
149
|
+
// Build and initialise fallback providers. Failures during init are
|
|
150
|
+
// silently skipped — the provider simply won't be part of the chain.
|
|
151
|
+
const chain = [primary];
|
|
152
|
+
for (const fbId of fallbackIds) {
|
|
153
|
+
try {
|
|
154
|
+
const entry = MUSIC_PROVIDER_ENV_MAP.find((e) => e.providerId === fbId);
|
|
155
|
+
const fbKey = entry?.envKey ? (process.env[entry.envKey] ?? '') : '';
|
|
156
|
+
const fb = createAudioProvider(fbId);
|
|
157
|
+
await fb.initialize({
|
|
158
|
+
apiKey: fbKey,
|
|
159
|
+
...(timeoutMs ? { timeoutMs } : {}),
|
|
160
|
+
});
|
|
161
|
+
chain.push(fb);
|
|
162
|
+
}
|
|
163
|
+
catch {
|
|
164
|
+
// Skip providers that fail to initialise (missing creds, etc.).
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
if (chain.length <= 1) {
|
|
168
|
+
return primary;
|
|
169
|
+
}
|
|
170
|
+
return new FallbackAudioProxy(chain, musicFallbackEmitter);
|
|
171
|
+
}
|
|
172
|
+
// ---------------------------------------------------------------------------
|
|
173
|
+
// Main API function
|
|
174
|
+
// ---------------------------------------------------------------------------
|
|
175
|
+
/**
|
|
176
|
+
* Generates music using a provider-agnostic interface.
|
|
177
|
+
*
|
|
178
|
+
* Resolves provider credentials via explicit options or environment variable
|
|
179
|
+
* auto-detection, initialises the matching audio provider (optionally wrapped
|
|
180
|
+
* in a fallback chain), and returns a normalised {@link GenerateMusicResult}.
|
|
181
|
+
*
|
|
182
|
+
* @param opts - Music generation options.
|
|
183
|
+
* @returns A promise resolving to the generation result with audio data and metadata.
|
|
184
|
+
*
|
|
185
|
+
* @example
|
|
186
|
+
* ```ts
|
|
187
|
+
* const result = await generateMusic({
|
|
188
|
+
* prompt: 'Upbeat lo-fi hip hop beat with vinyl crackle and mellow piano',
|
|
189
|
+
* durationSec: 60,
|
|
190
|
+
* });
|
|
191
|
+
* console.log(result.audio[0].url);
|
|
192
|
+
* ```
|
|
193
|
+
*/
|
|
194
|
+
export async function generateMusic(opts) {
|
|
195
|
+
const startedAt = Date.now();
|
|
196
|
+
let metricStatus = 'ok';
|
|
197
|
+
let metricUsage;
|
|
198
|
+
let metricProviderId;
|
|
199
|
+
let metricModelId;
|
|
200
|
+
try {
|
|
201
|
+
return await withAgentOSSpan('agentos.api.generate_music', async (span) => {
|
|
202
|
+
// --- Resolve provider ---
|
|
203
|
+
let providerId;
|
|
204
|
+
let apiKey;
|
|
205
|
+
let providerChain;
|
|
206
|
+
if (opts.provider) {
|
|
207
|
+
providerId = opts.provider;
|
|
208
|
+
apiKey =
|
|
209
|
+
opts.apiKey ??
|
|
210
|
+
process.env[envKeyForMusicProvider(providerId)] ??
|
|
211
|
+
'';
|
|
212
|
+
// Local providers don't need keys
|
|
213
|
+
if (!apiKey && providerId !== 'musicgen-local') {
|
|
214
|
+
throw new Error(`No API key for music provider "${providerId}". Set ${envKeyForMusicProvider(providerId)} or pass apiKey.`);
|
|
215
|
+
}
|
|
216
|
+
let fallbackIds = detectFallbackMusicProviders(providerId);
|
|
217
|
+
if (opts.providerPreferences) {
|
|
218
|
+
const ordered = resolveProviderOrder([providerId, ...fallbackIds], opts.providerPreferences);
|
|
219
|
+
fallbackIds = ordered.filter((id) => id !== providerId);
|
|
220
|
+
}
|
|
221
|
+
providerChain = [providerId, ...fallbackIds];
|
|
222
|
+
}
|
|
223
|
+
else if (opts.apiKey) {
|
|
224
|
+
// Caller supplied a key but no provider — try auto-detect anyway
|
|
225
|
+
const detected = autoDetectMusicProvider();
|
|
226
|
+
providerId = detected?.providerId ?? 'suno';
|
|
227
|
+
apiKey = opts.apiKey;
|
|
228
|
+
let fallbackIds = detectFallbackMusicProviders(providerId);
|
|
229
|
+
if (opts.providerPreferences) {
|
|
230
|
+
const ordered = resolveProviderOrder([providerId, ...fallbackIds], opts.providerPreferences);
|
|
231
|
+
fallbackIds = ordered.filter((id) => id !== providerId);
|
|
232
|
+
}
|
|
233
|
+
providerChain = [providerId, ...fallbackIds];
|
|
234
|
+
}
|
|
235
|
+
else {
|
|
236
|
+
providerChain = resolveProviderChain(detectAvailableMusicProviders(), opts.providerPreferences);
|
|
237
|
+
if (providerChain.length === 0) {
|
|
238
|
+
throw new Error('No music provider configured. Set SUNO_API_KEY, STABILITY_API_KEY, REPLICATE_API_TOKEN, or FAL_API_KEY.');
|
|
239
|
+
}
|
|
240
|
+
providerId = providerChain[0];
|
|
241
|
+
apiKey = process.env[envKeyForMusicProvider(providerId)] ?? '';
|
|
242
|
+
}
|
|
243
|
+
metricProviderId = providerId;
|
|
244
|
+
metricModelId = opts.model;
|
|
245
|
+
emitAudioProgress(opts.onProgress, 'queued', 0, `Queued music generation with ${providerId}.`);
|
|
246
|
+
span?.setAttribute('llm.provider', providerId);
|
|
247
|
+
if (opts.model)
|
|
248
|
+
span?.setAttribute('llm.model', opts.model);
|
|
249
|
+
// --- Create provider (with fallback chain) ---
|
|
250
|
+
const provider = await createMusicProviderWithFallback(providerChain, apiKey, opts.model, opts.timeoutMs);
|
|
251
|
+
if (!provider.supports('music')) {
|
|
252
|
+
throw new Error(`Provider "${providerId}" does not support music generation.`);
|
|
253
|
+
}
|
|
254
|
+
emitAudioProgress(opts.onProgress, 'processing', 25, `Generating music with ${providerId}.`);
|
|
255
|
+
// --- Dispatch to generateMusic ---
|
|
256
|
+
const result = await provider.generateMusic({
|
|
257
|
+
prompt: opts.prompt,
|
|
258
|
+
modelId: provider instanceof FallbackAudioProxy
|
|
259
|
+
? undefined
|
|
260
|
+
: (opts.model ?? provider.defaultModelId),
|
|
261
|
+
durationSec: opts.durationSec,
|
|
262
|
+
negativePrompt: opts.negativePrompt,
|
|
263
|
+
outputFormat: opts.outputFormat,
|
|
264
|
+
seed: opts.seed,
|
|
265
|
+
n: opts.n,
|
|
266
|
+
userId: opts.userId,
|
|
267
|
+
providerOptions: opts.providerOptions,
|
|
268
|
+
});
|
|
269
|
+
metricUsage = result.usage;
|
|
270
|
+
metricModelId = result.modelId;
|
|
271
|
+
span?.setAttribute('agentos.api.audio_clips_count', result.audio.length);
|
|
272
|
+
if (result.usage?.totalCostUSD !== undefined) {
|
|
273
|
+
attachUsageAttributes(span, { totalCostUSD: result.usage.totalCostUSD });
|
|
274
|
+
}
|
|
275
|
+
emitAudioProgress(opts.onProgress, 'complete', 100, 'Music generation complete.');
|
|
276
|
+
return {
|
|
277
|
+
model: result.modelId,
|
|
278
|
+
provider: result.providerId,
|
|
279
|
+
created: result.created,
|
|
280
|
+
audio: result.audio,
|
|
281
|
+
usage: result.usage,
|
|
282
|
+
};
|
|
283
|
+
});
|
|
284
|
+
}
|
|
285
|
+
catch (error) {
|
|
286
|
+
metricStatus = 'error';
|
|
287
|
+
emitAudioProgress(opts.onProgress, 'failed', 100, error instanceof Error ? error.message : String(error));
|
|
288
|
+
throw error;
|
|
289
|
+
}
|
|
290
|
+
finally {
|
|
291
|
+
try {
|
|
292
|
+
await recordAgentOSUsage({
|
|
293
|
+
providerId: metricProviderId,
|
|
294
|
+
modelId: metricModelId,
|
|
295
|
+
usage: metricUsage
|
|
296
|
+
? {
|
|
297
|
+
totalTokens: metricUsage.totalAudioClips,
|
|
298
|
+
costUSD: metricUsage.totalCostUSD,
|
|
299
|
+
}
|
|
300
|
+
: undefined,
|
|
301
|
+
options: {
|
|
302
|
+
...opts.usageLedger,
|
|
303
|
+
source: opts.usageLedger?.source ?? 'generateMusic',
|
|
304
|
+
},
|
|
305
|
+
});
|
|
306
|
+
}
|
|
307
|
+
catch {
|
|
308
|
+
// Usage persistence is best-effort and should not break generation.
|
|
309
|
+
}
|
|
310
|
+
recordAgentOSTurnMetrics({
|
|
311
|
+
durationMs: Date.now() - startedAt,
|
|
312
|
+
status: metricStatus,
|
|
313
|
+
usage: toTurnMetricUsage(metricUsage
|
|
314
|
+
? { totalCostUSD: metricUsage.totalCostUSD }
|
|
315
|
+
: undefined),
|
|
316
|
+
});
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
//# sourceMappingURL=generateMusic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateMusic.js","sourceRoot":"","sources":["../../src/api/generateMusic.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import type { AudioResult, AudioOutputFormat, AudioProgressEvent } from '../core/audio/types.js';
|
|
2
|
+
import { type MediaProviderPreference } from '../core/media/ProviderPreferences.js';
|
|
3
|
+
import { type AgentOSUsageLedgerOptions } from './usageLedger.js';
|
|
4
|
+
/**
|
|
5
|
+
* Options for a {@link generateSFX} call.
|
|
6
|
+
*
|
|
7
|
+
* At minimum, a `prompt` is required. The provider is resolved from
|
|
8
|
+
* `opts.provider`, `opts.apiKey`, or the first SFX-capable env var found
|
|
9
|
+
* (`ELEVENLABS_API_KEY` -> `STABILITY_API_KEY` -> `REPLICATE_API_TOKEN` ->
|
|
10
|
+
* `FAL_API_KEY` -> local AudioGen).
|
|
11
|
+
*/
|
|
12
|
+
export interface GenerateSFXOptions {
|
|
13
|
+
/** Text prompt describing the desired sound effect. */
|
|
14
|
+
prompt: string;
|
|
15
|
+
/**
|
|
16
|
+
* Explicit provider identifier (e.g. `"elevenlabs-sfx"`, `"stable-audio"`,
|
|
17
|
+
* `"audiogen-local"`). When omitted, auto-detection from environment
|
|
18
|
+
* variables is used.
|
|
19
|
+
*/
|
|
20
|
+
provider?: string;
|
|
21
|
+
/**
|
|
22
|
+
* Model identifier within the provider. When omitted, the provider's
|
|
23
|
+
* default model is used.
|
|
24
|
+
*/
|
|
25
|
+
model?: string;
|
|
26
|
+
/** Desired output duration in seconds. SFX clips are typically 1-15s. */
|
|
27
|
+
durationSec?: number;
|
|
28
|
+
/** Output audio format (e.g. `"mp3"`, `"wav"`). Defaults to provider default. */
|
|
29
|
+
outputFormat?: AudioOutputFormat;
|
|
30
|
+
/** Random seed for reproducible generation (provider-dependent). */
|
|
31
|
+
seed?: number;
|
|
32
|
+
/**
|
|
33
|
+
* Maximum time in milliseconds to wait for generation to complete.
|
|
34
|
+
* Provider-dependent — polling providers enforce this directly.
|
|
35
|
+
*/
|
|
36
|
+
timeoutMs?: number;
|
|
37
|
+
/** Number of audio clips to generate. Defaults to 1. */
|
|
38
|
+
n?: number;
|
|
39
|
+
/**
|
|
40
|
+
* Optional progress callback invoked during long-running generation.
|
|
41
|
+
* Called with an {@link AudioProgressEvent} at each status transition.
|
|
42
|
+
*/
|
|
43
|
+
onProgress?: (event: AudioProgressEvent) => void;
|
|
44
|
+
/** Override the provider API key instead of reading from env vars. */
|
|
45
|
+
apiKey?: string;
|
|
46
|
+
/** Optional user identifier forwarded to the provider for billing. */
|
|
47
|
+
userId?: string;
|
|
48
|
+
/** Arbitrary provider-specific options. */
|
|
49
|
+
providerOptions?: Record<string, unknown>;
|
|
50
|
+
/**
|
|
51
|
+
* Provider preferences for reordering or filtering the fallback chain.
|
|
52
|
+
* When supplied, the available providers are reordered according to
|
|
53
|
+
* `preferred` and filtered by `blocked` before building the chain.
|
|
54
|
+
*/
|
|
55
|
+
providerPreferences?: MediaProviderPreference;
|
|
56
|
+
/** Optional durable usage ledger configuration for accounting. */
|
|
57
|
+
usageLedger?: AgentOSUsageLedgerOptions;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* The result returned by {@link generateSFX}.
|
|
61
|
+
*
|
|
62
|
+
* Wraps the core {@link AudioResult} with a simpler, AI-SDK-style shape.
|
|
63
|
+
*/
|
|
64
|
+
export interface GenerateSFXResult {
|
|
65
|
+
/** Model identifier reported by the provider. */
|
|
66
|
+
model: string;
|
|
67
|
+
/** Provider identifier (e.g. `"elevenlabs-sfx"`, `"stable-audio"`). */
|
|
68
|
+
provider: string;
|
|
69
|
+
/** Unix timestamp (seconds) when the audio was created. */
|
|
70
|
+
created: number;
|
|
71
|
+
/** Array of generated audio objects containing URLs or base64 data. */
|
|
72
|
+
audio: AudioResult['audio'];
|
|
73
|
+
/** Usage / billing information, if available. */
|
|
74
|
+
usage?: AudioResult['usage'];
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Generates a sound effect using a provider-agnostic interface.
|
|
78
|
+
*
|
|
79
|
+
* Resolves provider credentials via explicit options or environment variable
|
|
80
|
+
* auto-detection, initialises the matching audio provider (optionally wrapped
|
|
81
|
+
* in a fallback chain), and returns a normalised {@link GenerateSFXResult}.
|
|
82
|
+
*
|
|
83
|
+
* @param opts - SFX generation options.
|
|
84
|
+
* @returns A promise resolving to the generation result with audio data and metadata.
|
|
85
|
+
*
|
|
86
|
+
* @example
|
|
87
|
+
* ```ts
|
|
88
|
+
* const result = await generateSFX({
|
|
89
|
+
* prompt: 'Thunder crack followed by heavy rain on a tin roof',
|
|
90
|
+
* durationSec: 5,
|
|
91
|
+
* });
|
|
92
|
+
* console.log(result.audio[0].url);
|
|
93
|
+
* ```
|
|
94
|
+
*/
|
|
95
|
+
export declare function generateSFX(opts: GenerateSFXOptions): Promise<GenerateSFXResult>;
|
|
96
|
+
//# sourceMappingURL=generateSFX.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateSFX.d.ts","sourceRoot":"","sources":["../../src/api/generateSFX.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EACV,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAAsB,KAAK,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAwKtF;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB;IACjC,uDAAuD;IACvD,MAAM,EAAE,MAAM,CAAC;IAEf;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,yEAAyE;IACzE,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,iFAAiF;IACjF,YAAY,CAAC,EAAE,iBAAiB,CAAC;IAEjC,oEAAoE;IACpE,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,wDAAwD;IACxD,CAAC,CAAC,EAAE,MAAM,CAAC;IAEX;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAEjD,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,2CAA2C;IAC3C,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE1C;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,uBAAuB,CAAC;IAE9C,kEAAkE;IAClE,WAAW,CAAC,EAAE,yBAAyB,CAAC;CACzC;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAC;IACd,uEAAuE;IACvE,QAAQ,EAAE,MAAM,CAAC;IACjB,2DAA2D;IAC3D,OAAO,EAAE,MAAM,CAAC;IAChB,uEAAuE;IACvE,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAC5B,iDAAiD;IACjD,KAAK,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;CAC9B;AAMD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAqJtF"}
|