@framers/agentos 0.1.120 → 0.1.122
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/emergent/AdaptPersonalityTool.d.ts +158 -0
- package/dist/emergent/AdaptPersonalityTool.d.ts.map +1 -0
- package/dist/emergent/AdaptPersonalityTool.js +190 -0
- package/dist/emergent/AdaptPersonalityTool.js.map +1 -0
- package/dist/emergent/CreateWorkflowTool.d.ts +181 -0
- package/dist/emergent/CreateWorkflowTool.d.ts.map +1 -0
- package/dist/emergent/CreateWorkflowTool.js +307 -0
- package/dist/emergent/CreateWorkflowTool.js.map +1 -0
- package/dist/emergent/ManageSkillsTool.d.ts +154 -0
- package/dist/emergent/ManageSkillsTool.d.ts.map +1 -0
- package/dist/emergent/ManageSkillsTool.js +241 -0
- package/dist/emergent/ManageSkillsTool.js.map +1 -0
- package/dist/emergent/PersonalityMutationStore.d.ts +183 -0
- package/dist/emergent/PersonalityMutationStore.d.ts.map +1 -0
- package/dist/emergent/PersonalityMutationStore.js +222 -0
- package/dist/emergent/PersonalityMutationStore.js.map +1 -0
- package/dist/emergent/SelfEvaluateTool.d.ts +189 -0
- package/dist/emergent/SelfEvaluateTool.d.ts.map +1 -0
- package/dist/emergent/SelfEvaluateTool.js +353 -0
- package/dist/emergent/SelfEvaluateTool.js.map +1 -0
- package/dist/emergent/SelfImprovementConfig.d.ts +166 -0
- package/dist/emergent/SelfImprovementConfig.d.ts.map +1 -0
- package/dist/emergent/SelfImprovementConfig.js +43 -0
- package/dist/emergent/SelfImprovementConfig.js.map +1 -0
- package/dist/emergent/index.d.ts +1 -0
- package/dist/emergent/index.d.ts.map +1 -1
- package/dist/emergent/index.js +1 -0
- package/dist/emergent/index.js.map +1 -1
- package/dist/emergent/types.d.ts +9 -0
- package/dist/emergent/types.d.ts.map +1 -1
- package/dist/emergent/types.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,342 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file generateVideo.ts
|
|
3
|
+
* Provider-agnostic video generation for the AgentOS high-level API.
|
|
4
|
+
*
|
|
5
|
+
* Resolves a video generation provider from explicit `opts.provider`, or by
|
|
6
|
+
* probing environment variables in priority order:
|
|
7
|
+
* `RUNWAY_API_KEY` -> `REPLICATE_API_TOKEN` -> `FAL_API_KEY`.
|
|
8
|
+
*
|
|
9
|
+
* When multiple video-capable providers are configured (via env vars), the
|
|
10
|
+
* primary provider is wrapped in a {@link FallbackVideoProxy} so that a
|
|
11
|
+
* transient failure automatically retries on the next available provider.
|
|
12
|
+
*
|
|
13
|
+
* Supports both text-to-video and image-to-video: when `opts.image` is
|
|
14
|
+
* provided, the request is dispatched to {@link IVideoGenerator.imageToVideo};
|
|
15
|
+
* otherwise {@link IVideoGenerator.generateVideo} is used.
|
|
16
|
+
*/
|
|
17
|
+
import { EventEmitter } from 'events';
|
|
18
|
+
import { createVideoProvider, hasVideoProviderFactory } from '../core/video/index.js';
|
|
19
|
+
import { FallbackVideoProxy } from '../core/video/FallbackVideoProxy.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
|
+
// Video provider fallback chain builder
|
|
26
|
+
// ---------------------------------------------------------------------------
|
|
27
|
+
/**
|
|
28
|
+
* Env-var to provider-id mapping used to detect which video providers have
|
|
29
|
+
* credentials configured in the current environment. Order determines
|
|
30
|
+
* fallback priority (first = highest priority).
|
|
31
|
+
*/
|
|
32
|
+
const VIDEO_PROVIDER_ENV_MAP = [
|
|
33
|
+
{ envKey: 'RUNWAY_API_KEY', providerId: 'runway' },
|
|
34
|
+
{ envKey: 'REPLICATE_API_TOKEN', providerId: 'replicate' },
|
|
35
|
+
{ envKey: 'FAL_API_KEY', providerId: 'fal' },
|
|
36
|
+
];
|
|
37
|
+
/** Shared emitter for video fallback events (singleton per process). */
|
|
38
|
+
const videoFallbackEmitter = new EventEmitter();
|
|
39
|
+
function emitVideoProgress(callback, status, progress, message) {
|
|
40
|
+
if (!callback)
|
|
41
|
+
return;
|
|
42
|
+
try {
|
|
43
|
+
callback({ status, progress, message });
|
|
44
|
+
}
|
|
45
|
+
catch {
|
|
46
|
+
// Progress callbacks are best-effort and must not break generation.
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Detects the first available video provider from environment variables.
|
|
51
|
+
*
|
|
52
|
+
* Scans the {@link VIDEO_PROVIDER_ENV_MAP} in priority order and returns
|
|
53
|
+
* the first provider whose API key env var is set and whose factory is
|
|
54
|
+
* registered.
|
|
55
|
+
*
|
|
56
|
+
* @returns The provider ID and API key, or `undefined` when no video
|
|
57
|
+
* provider credentials are found.
|
|
58
|
+
*/
|
|
59
|
+
function autoDetectVideoProvider() {
|
|
60
|
+
const providerId = detectAvailableVideoProviders()[0];
|
|
61
|
+
if (!providerId)
|
|
62
|
+
return undefined;
|
|
63
|
+
return {
|
|
64
|
+
providerId,
|
|
65
|
+
apiKey: process.env[envKeyForProvider(providerId)] ?? '',
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Detects all video providers with valid credentials in the environment.
|
|
70
|
+
*
|
|
71
|
+
* @returns Provider IDs in priority order.
|
|
72
|
+
*/
|
|
73
|
+
function detectAvailableVideoProviders() {
|
|
74
|
+
const available = [];
|
|
75
|
+
for (const { envKey, providerId } of VIDEO_PROVIDER_ENV_MAP) {
|
|
76
|
+
if (!process.env[envKey])
|
|
77
|
+
continue;
|
|
78
|
+
if (!hasVideoProviderFactory(providerId))
|
|
79
|
+
continue;
|
|
80
|
+
available.push(providerId);
|
|
81
|
+
}
|
|
82
|
+
return available;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Detects all video providers with valid credentials in the environment
|
|
86
|
+
* and returns their provider IDs in priority order, excluding the primary.
|
|
87
|
+
*
|
|
88
|
+
* @param primaryProviderId - The provider that was explicitly selected; it
|
|
89
|
+
* is excluded from the fallback list since it is already first in line.
|
|
90
|
+
* @returns An array of provider IDs suitable for fallback, in priority order.
|
|
91
|
+
*/
|
|
92
|
+
function detectFallbackVideoProviders(primaryProviderId) {
|
|
93
|
+
const fallbacks = [];
|
|
94
|
+
for (const { envKey, providerId } of VIDEO_PROVIDER_ENV_MAP) {
|
|
95
|
+
if (providerId === primaryProviderId)
|
|
96
|
+
continue;
|
|
97
|
+
if (!process.env[envKey])
|
|
98
|
+
continue;
|
|
99
|
+
if (!hasVideoProviderFactory(providerId))
|
|
100
|
+
continue;
|
|
101
|
+
fallbacks.push(providerId);
|
|
102
|
+
}
|
|
103
|
+
return fallbacks;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Resolves the API key environment variable name for a known video provider.
|
|
107
|
+
*
|
|
108
|
+
* @param providerId - The provider identifier.
|
|
109
|
+
* @returns The environment variable name, or a generic fallback.
|
|
110
|
+
*/
|
|
111
|
+
function envKeyForProvider(providerId) {
|
|
112
|
+
const entry = VIDEO_PROVIDER_ENV_MAP.find((e) => e.providerId === providerId);
|
|
113
|
+
return entry?.envKey ?? `${providerId.toUpperCase()}_API_KEY`;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Creates an {@link IVideoGenerator} for a resolved provider chain,
|
|
117
|
+
* optionally wrapped in a {@link FallbackVideoProxy} when multiple
|
|
118
|
+
* video-capable providers are available.
|
|
119
|
+
*
|
|
120
|
+
* @param providerChain - Ordered provider IDs with the primary first and
|
|
121
|
+
* optional fallbacks after it.
|
|
122
|
+
* @param apiKey - API key for the primary provider.
|
|
123
|
+
* @param modelId - Optional model identifier override.
|
|
124
|
+
* @param baseUrl - Optional base URL override.
|
|
125
|
+
* @returns An initialised video provider (possibly a fallback proxy).
|
|
126
|
+
*/
|
|
127
|
+
async function createVideoProviderWithFallback(providerChain, apiKey, modelId, baseUrl, timeoutMs) {
|
|
128
|
+
if (providerChain.length === 0) {
|
|
129
|
+
throw new Error('No video providers available in the resolved provider chain.');
|
|
130
|
+
}
|
|
131
|
+
const [providerId, ...fallbackIds] = providerChain;
|
|
132
|
+
const primary = createVideoProvider(providerId);
|
|
133
|
+
await primary.initialize({
|
|
134
|
+
apiKey,
|
|
135
|
+
...(modelId ? { defaultModelId: modelId } : {}),
|
|
136
|
+
...(baseUrl ? { baseURL: baseUrl, baseUrl } : {}),
|
|
137
|
+
...(timeoutMs ? { timeoutMs } : {}),
|
|
138
|
+
});
|
|
139
|
+
if (fallbackIds.length === 0) {
|
|
140
|
+
return primary;
|
|
141
|
+
}
|
|
142
|
+
// Build and initialise fallback providers. Failures during init are
|
|
143
|
+
// silently skipped — the provider simply won't be part of the chain.
|
|
144
|
+
const chain = [primary];
|
|
145
|
+
for (const fbId of fallbackIds) {
|
|
146
|
+
try {
|
|
147
|
+
const fbKey = process.env[envKeyForProvider(fbId)];
|
|
148
|
+
if (!fbKey)
|
|
149
|
+
continue;
|
|
150
|
+
const fb = createVideoProvider(fbId);
|
|
151
|
+
await fb.initialize({
|
|
152
|
+
apiKey: fbKey,
|
|
153
|
+
...(timeoutMs ? { timeoutMs } : {}),
|
|
154
|
+
});
|
|
155
|
+
chain.push(fb);
|
|
156
|
+
}
|
|
157
|
+
catch {
|
|
158
|
+
// Skip providers that fail to initialise (missing creds, etc.).
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
if (chain.length <= 1) {
|
|
162
|
+
return primary;
|
|
163
|
+
}
|
|
164
|
+
return new FallbackVideoProxy(chain, videoFallbackEmitter);
|
|
165
|
+
}
|
|
166
|
+
// ---------------------------------------------------------------------------
|
|
167
|
+
// Main API function
|
|
168
|
+
// ---------------------------------------------------------------------------
|
|
169
|
+
/**
|
|
170
|
+
* Generates a video using a provider-agnostic interface.
|
|
171
|
+
*
|
|
172
|
+
* Resolves provider credentials via explicit options or environment variable
|
|
173
|
+
* auto-detection, initialises the matching video provider (optionally wrapped
|
|
174
|
+
* in a fallback chain), and returns a normalised {@link GenerateVideoResult}.
|
|
175
|
+
*
|
|
176
|
+
* When `opts.image` is provided, the request is routed to
|
|
177
|
+
* {@link IVideoGenerator.imageToVideo} for image-to-video generation.
|
|
178
|
+
* Otherwise, {@link IVideoGenerator.generateVideo} is used for text-to-video.
|
|
179
|
+
*
|
|
180
|
+
* @param opts - Video generation options.
|
|
181
|
+
* @returns A promise resolving to the generation result with video data and metadata.
|
|
182
|
+
*
|
|
183
|
+
* @example
|
|
184
|
+
* ```ts
|
|
185
|
+
* // Text-to-video
|
|
186
|
+
* const result = await generateVideo({
|
|
187
|
+
* prompt: 'A drone flying over a misty forest at sunrise',
|
|
188
|
+
* provider: 'runway',
|
|
189
|
+
* durationSec: 5,
|
|
190
|
+
* });
|
|
191
|
+
* console.log(result.videos[0].url);
|
|
192
|
+
*
|
|
193
|
+
* // Image-to-video
|
|
194
|
+
* const i2v = await generateVideo({
|
|
195
|
+
* prompt: 'Camera slowly zooms out',
|
|
196
|
+
* image: fs.readFileSync('input.png'),
|
|
197
|
+
* });
|
|
198
|
+
* ```
|
|
199
|
+
*/
|
|
200
|
+
export async function generateVideo(opts) {
|
|
201
|
+
const startedAt = Date.now();
|
|
202
|
+
let metricStatus = 'ok';
|
|
203
|
+
let metricUsage;
|
|
204
|
+
let metricProviderId;
|
|
205
|
+
let metricModelId;
|
|
206
|
+
try {
|
|
207
|
+
return await withAgentOSSpan('agentos.api.generate_video', async (span) => {
|
|
208
|
+
// --- Resolve provider ---
|
|
209
|
+
let providerId;
|
|
210
|
+
let apiKey;
|
|
211
|
+
let providerChain;
|
|
212
|
+
if (opts.provider) {
|
|
213
|
+
providerId = opts.provider;
|
|
214
|
+
apiKey =
|
|
215
|
+
opts.apiKey ??
|
|
216
|
+
process.env[envKeyForProvider(providerId)] ??
|
|
217
|
+
'';
|
|
218
|
+
if (!apiKey) {
|
|
219
|
+
throw new Error(`No API key for video provider "${providerId}". Set ${envKeyForProvider(providerId)} or pass apiKey.`);
|
|
220
|
+
}
|
|
221
|
+
let fallbackIds = detectFallbackVideoProviders(providerId);
|
|
222
|
+
if (opts.providerPreferences) {
|
|
223
|
+
const ordered = resolveProviderOrder([providerId, ...fallbackIds], opts.providerPreferences);
|
|
224
|
+
fallbackIds = ordered.filter((id) => id !== providerId);
|
|
225
|
+
}
|
|
226
|
+
providerChain = [providerId, ...fallbackIds];
|
|
227
|
+
}
|
|
228
|
+
else if (opts.apiKey) {
|
|
229
|
+
// Caller supplied a key but no provider — try auto-detect anyway
|
|
230
|
+
const detected = autoDetectVideoProvider();
|
|
231
|
+
providerId = detected?.providerId ?? 'runway';
|
|
232
|
+
apiKey = opts.apiKey;
|
|
233
|
+
let fallbackIds = detectFallbackVideoProviders(providerId);
|
|
234
|
+
if (opts.providerPreferences) {
|
|
235
|
+
const ordered = resolveProviderOrder([providerId, ...fallbackIds], opts.providerPreferences);
|
|
236
|
+
fallbackIds = ordered.filter((id) => id !== providerId);
|
|
237
|
+
}
|
|
238
|
+
providerChain = [providerId, ...fallbackIds];
|
|
239
|
+
}
|
|
240
|
+
else {
|
|
241
|
+
providerChain = resolveProviderChain(detectAvailableVideoProviders(), opts.providerPreferences);
|
|
242
|
+
if (providerChain.length === 0) {
|
|
243
|
+
throw new Error('No video provider configured. Set RUNWAY_API_KEY, REPLICATE_API_TOKEN, or FAL_API_KEY.');
|
|
244
|
+
}
|
|
245
|
+
providerId = providerChain[0];
|
|
246
|
+
apiKey = process.env[envKeyForProvider(providerId)] ?? '';
|
|
247
|
+
}
|
|
248
|
+
metricProviderId = providerId;
|
|
249
|
+
metricModelId = opts.model;
|
|
250
|
+
emitVideoProgress(opts.onProgress, 'queued', 0, `Queued video generation with ${providerId}.`);
|
|
251
|
+
span?.setAttribute('llm.provider', providerId);
|
|
252
|
+
if (opts.model)
|
|
253
|
+
span?.setAttribute('llm.model', opts.model);
|
|
254
|
+
// --- Create provider (with fallback chain) ---
|
|
255
|
+
const provider = await createVideoProviderWithFallback(providerChain, apiKey, opts.model, opts.baseUrl, opts.timeoutMs);
|
|
256
|
+
emitVideoProgress(opts.onProgress, 'processing', 25, `Generating video with ${providerId}.`);
|
|
257
|
+
// --- Dispatch to text-to-video or image-to-video ---
|
|
258
|
+
let result;
|
|
259
|
+
if (opts.image) {
|
|
260
|
+
if (!provider.supports('image-to-video') || typeof provider.imageToVideo !== 'function') {
|
|
261
|
+
throw new Error(`Provider "${providerId}" does not support image-to-video generation.`);
|
|
262
|
+
}
|
|
263
|
+
// Image-to-video
|
|
264
|
+
result = await provider.imageToVideo({
|
|
265
|
+
modelId: provider instanceof FallbackVideoProxy
|
|
266
|
+
? undefined
|
|
267
|
+
: (opts.model ?? provider.defaultModelId ?? ''),
|
|
268
|
+
image: opts.image,
|
|
269
|
+
prompt: opts.prompt,
|
|
270
|
+
negativePrompt: opts.negativePrompt,
|
|
271
|
+
durationSec: opts.durationSec,
|
|
272
|
+
aspectRatio: opts.aspectRatio,
|
|
273
|
+
seed: opts.seed,
|
|
274
|
+
providerOptions: opts.timeoutMs ? { timeoutMs: opts.timeoutMs } : undefined,
|
|
275
|
+
});
|
|
276
|
+
}
|
|
277
|
+
else {
|
|
278
|
+
// Text-to-video
|
|
279
|
+
result = await provider.generateVideo({
|
|
280
|
+
modelId: provider instanceof FallbackVideoProxy
|
|
281
|
+
? undefined
|
|
282
|
+
: (opts.model ?? provider.defaultModelId ?? ''),
|
|
283
|
+
prompt: opts.prompt,
|
|
284
|
+
negativePrompt: opts.negativePrompt,
|
|
285
|
+
durationSec: opts.durationSec,
|
|
286
|
+
aspectRatio: opts.aspectRatio,
|
|
287
|
+
resolution: opts.resolution,
|
|
288
|
+
seed: opts.seed,
|
|
289
|
+
providerOptions: opts.timeoutMs ? { timeoutMs: opts.timeoutMs } : undefined,
|
|
290
|
+
});
|
|
291
|
+
}
|
|
292
|
+
metricUsage = result.usage;
|
|
293
|
+
metricModelId = result.modelId;
|
|
294
|
+
span?.setAttribute('agentos.api.videos_count', result.videos.length);
|
|
295
|
+
if (result.usage?.totalCostUSD !== undefined) {
|
|
296
|
+
attachUsageAttributes(span, { totalCostUSD: result.usage.totalCostUSD });
|
|
297
|
+
}
|
|
298
|
+
emitVideoProgress(opts.onProgress, 'complete', 100, 'Video generation complete.');
|
|
299
|
+
return {
|
|
300
|
+
model: result.modelId,
|
|
301
|
+
provider: result.providerId,
|
|
302
|
+
created: result.created,
|
|
303
|
+
videos: result.videos,
|
|
304
|
+
usage: result.usage,
|
|
305
|
+
};
|
|
306
|
+
});
|
|
307
|
+
}
|
|
308
|
+
catch (error) {
|
|
309
|
+
metricStatus = 'error';
|
|
310
|
+
emitVideoProgress(opts.onProgress, 'failed', 100, error instanceof Error ? error.message : String(error));
|
|
311
|
+
throw error;
|
|
312
|
+
}
|
|
313
|
+
finally {
|
|
314
|
+
try {
|
|
315
|
+
await recordAgentOSUsage({
|
|
316
|
+
providerId: metricProviderId,
|
|
317
|
+
modelId: metricModelId,
|
|
318
|
+
usage: metricUsage
|
|
319
|
+
? {
|
|
320
|
+
totalTokens: metricUsage.totalVideos,
|
|
321
|
+
costUSD: metricUsage.totalCostUSD,
|
|
322
|
+
}
|
|
323
|
+
: undefined,
|
|
324
|
+
options: {
|
|
325
|
+
...opts.usageLedger,
|
|
326
|
+
source: opts.usageLedger?.source ?? 'generateVideo',
|
|
327
|
+
},
|
|
328
|
+
});
|
|
329
|
+
}
|
|
330
|
+
catch {
|
|
331
|
+
// Usage persistence is best-effort and should not break generation.
|
|
332
|
+
}
|
|
333
|
+
recordAgentOSTurnMetrics({
|
|
334
|
+
durationMs: Date.now() - startedAt,
|
|
335
|
+
status: metricStatus,
|
|
336
|
+
usage: toTurnMetricUsage(metricUsage
|
|
337
|
+
? { totalCostUSD: metricUsage.totalCostUSD }
|
|
338
|
+
: undefined),
|
|
339
|
+
});
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
//# sourceMappingURL=generateVideo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateVideo.js","sourceRoot":"","sources":["../../src/api/generateVideo.ts"],"names":[],"mappings":"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"}
|
package/dist/api/model.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/api/model.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAC;AAGzF;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,4EAA4E;IAC5E,UAAU,EAAE,MAAM,CAAC;IACnB,gFAAgF;IAChF,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,gGAAgG;IAChG,UAAU,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,OAAO,EAAE,MAAM,CAAC;IAChB,yFAAyF;IACzF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/api/model.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAC;AAGzF;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,4EAA4E;IAC5E,UAAU,EAAE,MAAM,CAAC;IACnB,gFAAgF;IAChF,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,gGAAgG;IAChG,UAAU,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,OAAO,EAAE,MAAM,CAAC;IAChB,yFAAyF;IACzF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AA0BD;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAY3D;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,SAAS,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAChD,gBAAgB,CAkClB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,SAAS,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAChD,gBAAgB,CA8BlB;AAMD;;;;;;GAMG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,WAAW,CAAC;AAEtD;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,GAAE,QAAiB,GAAG,WAAW,CA2C1F;AAID;;;;;;;;;;GAUG;AACH,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,sBAAsB,CAAC,CAsBjC"}
|
package/dist/api/model.js
CHANGED
|
@@ -29,6 +29,7 @@ const ENV_URL_MAP = {
|
|
|
29
29
|
ollama: 'OLLAMA_BASE_URL',
|
|
30
30
|
'stable-diffusion-local': 'STABLE_DIFFUSION_LOCAL_BASE_URL',
|
|
31
31
|
};
|
|
32
|
+
const KEYLESS_PROVIDER_IDS = new Set(['claude-code-cli', 'gemini-cli']);
|
|
32
33
|
/**
|
|
33
34
|
* Splits a `provider:model` string into its constituent parts.
|
|
34
35
|
*
|
|
@@ -81,6 +82,9 @@ export function resolveProvider(providerId, modelId, overrides) {
|
|
|
81
82
|
}
|
|
82
83
|
return { providerId, modelId, baseUrl };
|
|
83
84
|
}
|
|
85
|
+
if (KEYLESS_PROVIDER_IDS.has(providerId)) {
|
|
86
|
+
return { providerId, modelId };
|
|
87
|
+
}
|
|
84
88
|
// Anthropic goes through OpenRouter by default in AgentOS
|
|
85
89
|
if (providerId === 'anthropic' && !apiKey) {
|
|
86
90
|
const orKey = process.env['OPENROUTER_API_KEY'];
|
|
@@ -161,10 +165,10 @@ export function resolveModelOption(opts, task = 'text') {
|
|
|
161
165
|
if (opts.provider)
|
|
162
166
|
return { providerId: opts.provider, modelId: opts.model };
|
|
163
167
|
// Plain model name — try auto-detect for provider
|
|
164
|
-
const detected = autoDetectProvider();
|
|
168
|
+
const detected = autoDetectProvider(task);
|
|
165
169
|
if (detected)
|
|
166
170
|
return { providerId: detected, modelId: opts.model };
|
|
167
|
-
throw new Error('model without ":" requires either a provider option or a configured env var
|
|
171
|
+
throw new Error('model without ":" requires either a provider option or a configured runtime (API key env var, local CLI install, etc.).');
|
|
168
172
|
}
|
|
169
173
|
// 2. Provider specified without model — look up default model for task
|
|
170
174
|
if (opts.provider) {
|
|
@@ -179,14 +183,14 @@ export function resolveModelOption(opts, task = 'text') {
|
|
|
179
183
|
return { providerId: opts.provider, modelId };
|
|
180
184
|
}
|
|
181
185
|
// 3. Neither — auto-detect provider from environment
|
|
182
|
-
const detected = autoDetectProvider();
|
|
186
|
+
const detected = autoDetectProvider(task);
|
|
183
187
|
if (detected) {
|
|
184
188
|
const defaults = PROVIDER_DEFAULTS[detected];
|
|
185
189
|
const modelId = defaults?.[task];
|
|
186
190
|
if (modelId)
|
|
187
191
|
return { providerId: detected, modelId };
|
|
188
192
|
}
|
|
189
|
-
throw new Error('Either "provider" or "model" is required. Or
|
|
193
|
+
throw new Error('Either "provider" or "model" is required. Or configure a supported runtime (API key env var, Claude Code CLI, Gemini CLI, etc.).');
|
|
190
194
|
}
|
|
191
195
|
// ---------------------------------------------------------------------------
|
|
192
196
|
/**
|
package/dist/api/model.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/api/model.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/api/model.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Top-level OCR API for AgentOS.
|
|
3
|
+
*
|
|
4
|
+
* Provides a simple, self-contained `performOCR(options)` function that
|
|
5
|
+
* extracts text from images without requiring callers to instantiate or
|
|
6
|
+
* manage a {@link VisionPipeline} directly.
|
|
7
|
+
*
|
|
8
|
+
* Under the hood the function:
|
|
9
|
+
* 1. Resolves the input (file path, URL, base64, or raw Buffer) into a Buffer.
|
|
10
|
+
* 2. Creates a {@link VisionPipeline} via {@link createVisionPipeline} using
|
|
11
|
+
* the caller's strategy/threshold preferences.
|
|
12
|
+
* 3. Runs the pipeline's progressive tier system (PaddleOCR -> Tesseract ->
|
|
13
|
+
* TrOCR -> Florence-2 -> Cloud LLM).
|
|
14
|
+
* 4. Maps the internal {@link VisionResult} to a consumer-friendly
|
|
15
|
+
* {@link OCRResult}.
|
|
16
|
+
* 5. Disposes the pipeline so no resources leak.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```ts
|
|
20
|
+
* import { performOCR } from '@framers/agentos';
|
|
21
|
+
*
|
|
22
|
+
* // From a file path
|
|
23
|
+
* const result = await performOCR({ image: '/tmp/receipt.png' });
|
|
24
|
+
* console.log(result.text);
|
|
25
|
+
*
|
|
26
|
+
* // From a URL with cloud-only strategy
|
|
27
|
+
* const result2 = await performOCR({
|
|
28
|
+
* image: 'https://example.com/scan.jpg',
|
|
29
|
+
* strategy: 'cloud-only',
|
|
30
|
+
* provider: 'openai',
|
|
31
|
+
* apiKey: process.env.OPENAI_API_KEY,
|
|
32
|
+
* });
|
|
33
|
+
* ```
|
|
34
|
+
*
|
|
35
|
+
* @module api/performOCR
|
|
36
|
+
*/
|
|
37
|
+
import type { VisionTier } from '../core/vision/types.js';
|
|
38
|
+
/**
|
|
39
|
+
* Options accepted by {@link performOCR}.
|
|
40
|
+
*/
|
|
41
|
+
export interface PerformOCROptions {
|
|
42
|
+
/**
|
|
43
|
+
* Image source. Accepts any of:
|
|
44
|
+
* - **File path** — absolute or relative filesystem path (e.g. `/tmp/scan.png`).
|
|
45
|
+
* - **URL** — HTTP(S) URL to fetch the image from.
|
|
46
|
+
* - **Base64 string** — raw base64-encoded image data (with or without a
|
|
47
|
+
* `data:image/...;base64,` prefix).
|
|
48
|
+
* - **Buffer** — in-memory image bytes.
|
|
49
|
+
*/
|
|
50
|
+
image: string | Buffer;
|
|
51
|
+
/**
|
|
52
|
+
* Vision strategy controlling which tiers are used.
|
|
53
|
+
*
|
|
54
|
+
* - `'progressive'` — start local, escalate to cloud only when confidence
|
|
55
|
+
* is below {@link confidenceThreshold}. Best cost/quality balance.
|
|
56
|
+
* - `'local-only'` — never call cloud APIs. For air-gapped / privacy use.
|
|
57
|
+
* - `'cloud-only'` — skip local processing, send straight to a cloud LLM.
|
|
58
|
+
* Highest quality but highest cost.
|
|
59
|
+
*
|
|
60
|
+
* @default 'progressive'
|
|
61
|
+
*/
|
|
62
|
+
strategy?: 'progressive' | 'local-only' | 'cloud-only';
|
|
63
|
+
/**
|
|
64
|
+
* Minimum confidence threshold (0-1) to accept an OCR result from a local
|
|
65
|
+
* tier without escalating to the next tier.
|
|
66
|
+
*
|
|
67
|
+
* Only meaningful for the `'progressive'` strategy.
|
|
68
|
+
*
|
|
69
|
+
* @default 0.7
|
|
70
|
+
*/
|
|
71
|
+
confidenceThreshold?: number;
|
|
72
|
+
/**
|
|
73
|
+
* Cloud LLM provider for tier-3 fallback (e.g. `'openai'`, `'anthropic'`,
|
|
74
|
+
* `'google'`). When omitted the provider is auto-detected from environment
|
|
75
|
+
* variables (`OPENAI_API_KEY`, `ANTHROPIC_API_KEY`, etc.).
|
|
76
|
+
*/
|
|
77
|
+
provider?: string;
|
|
78
|
+
/**
|
|
79
|
+
* Cloud LLM model override. When omitted the provider's default vision
|
|
80
|
+
* model is used (e.g. `gpt-4o` for OpenAI).
|
|
81
|
+
*/
|
|
82
|
+
model?: string;
|
|
83
|
+
/**
|
|
84
|
+
* API key for the cloud provider. When omitted the key is read from the
|
|
85
|
+
* standard environment variable for the provider.
|
|
86
|
+
*/
|
|
87
|
+
apiKey?: string;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Result returned by {@link performOCR}.
|
|
91
|
+
*/
|
|
92
|
+
export interface OCRResult {
|
|
93
|
+
/** Extracted text content. */
|
|
94
|
+
text: string;
|
|
95
|
+
/** Overall confidence score (0 = no confidence, 1 = certain). */
|
|
96
|
+
confidence: number;
|
|
97
|
+
/**
|
|
98
|
+
* Which processing tier produced the winning result.
|
|
99
|
+
*
|
|
100
|
+
* - `'ocr'` — PaddleOCR or Tesseract.js (fast, local, free).
|
|
101
|
+
* - `'handwriting'` — TrOCR handwriting recognition (local).
|
|
102
|
+
* - `'document-ai'` — Florence-2 document understanding (local).
|
|
103
|
+
* - `'cloud-vision'` — Cloud LLM (GPT-4o, Claude, Gemini).
|
|
104
|
+
*/
|
|
105
|
+
tier: VisionTier;
|
|
106
|
+
/** Content category detected by the pipeline (e.g. `'printed-text'`). */
|
|
107
|
+
category?: string;
|
|
108
|
+
/** Provider name that produced the winning result (e.g. `'paddle'`, `'openai'`). */
|
|
109
|
+
provider: string;
|
|
110
|
+
/**
|
|
111
|
+
* Text regions with bounding boxes, when the winning tier provides
|
|
112
|
+
* spatial information. Not all tiers return region data.
|
|
113
|
+
*/
|
|
114
|
+
regions?: Array<{
|
|
115
|
+
text: string;
|
|
116
|
+
bbox?: {
|
|
117
|
+
x: number;
|
|
118
|
+
y: number;
|
|
119
|
+
width: number;
|
|
120
|
+
height: number;
|
|
121
|
+
};
|
|
122
|
+
confidence: number;
|
|
123
|
+
}>;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Extract text from an image using AgentOS's progressive vision pipeline.
|
|
127
|
+
*
|
|
128
|
+
* This is the recommended high-level API for OCR. It handles input
|
|
129
|
+
* resolution (file, URL, base64, Buffer), pipeline lifecycle, and
|
|
130
|
+
* result mapping so callers don't need to interact with
|
|
131
|
+
* {@link VisionPipeline} directly.
|
|
132
|
+
*
|
|
133
|
+
* ## When to use `performOCR()` vs `VisionPipeline`
|
|
134
|
+
*
|
|
135
|
+
* | Use case | Recommendation |
|
|
136
|
+
* |----------|---------------|
|
|
137
|
+
* | One-shot text extraction | `performOCR()` |
|
|
138
|
+
* | Batch processing many images | `VisionPipeline` (create once, reuse) |
|
|
139
|
+
* | Need embeddings or layout | `VisionPipeline` (richer result) |
|
|
140
|
+
* | Simple scripts / quick integration | `performOCR()` |
|
|
141
|
+
*
|
|
142
|
+
* @param opts - OCR options including the image source and strategy.
|
|
143
|
+
* @returns A promise resolving to an {@link OCRResult} with extracted text,
|
|
144
|
+
* confidence, tier info, and optional bounding-box regions.
|
|
145
|
+
*
|
|
146
|
+
* @example
|
|
147
|
+
* ```ts
|
|
148
|
+
* // Basic usage — file path, auto-detect everything
|
|
149
|
+
* const { text, confidence } = await performOCR({
|
|
150
|
+
* image: '/path/to/receipt.png',
|
|
151
|
+
* });
|
|
152
|
+
*
|
|
153
|
+
* // Privacy-sensitive — never call cloud APIs
|
|
154
|
+
* const local = await performOCR({
|
|
155
|
+
* image: screenshotBuffer,
|
|
156
|
+
* strategy: 'local-only',
|
|
157
|
+
* });
|
|
158
|
+
*
|
|
159
|
+
* // Best quality — go straight to cloud
|
|
160
|
+
* const cloud = await performOCR({
|
|
161
|
+
* image: 'https://example.com/document.jpg',
|
|
162
|
+
* strategy: 'cloud-only',
|
|
163
|
+
* provider: 'openai',
|
|
164
|
+
* model: 'gpt-4o',
|
|
165
|
+
* });
|
|
166
|
+
* ```
|
|
167
|
+
*/
|
|
168
|
+
export declare function performOCR(opts: PerformOCROptions): Promise<OCRResult>;
|
|
169
|
+
//# sourceMappingURL=performOCR.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"performOCR.d.ts","sourceRoot":"","sources":["../../src/api/performOCR.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAIH,OAAO,KAAK,EAAgB,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAMxE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;;;OAOG;IACH,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAEvB;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,EAAE,aAAa,GAAG,YAAY,GAAG,YAAY,CAAC;IAEvD;;;;;;;OAOG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IAEb,iEAAiE;IACjE,UAAU,EAAE,MAAM,CAAC;IAEnB;;;;;;;OAOG;IACH,IAAI,EAAE,UAAU,CAAC;IAEjB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,oFAAoF;IACpF,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;QAC/D,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;CACJ;AAyFD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,SAAS,CAAC,CA0C5E"}
|