@framers/agentos 0.1.120 → 0.1.121

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (405) hide show
  1. package/README.md +21 -0
  2. package/dist/api/agency.d.ts.map +1 -1
  3. package/dist/api/agency.js +227 -84
  4. package/dist/api/agency.js.map +1 -1
  5. package/dist/api/analyzeVideo.d.ts +127 -0
  6. package/dist/api/analyzeVideo.d.ts.map +1 -0
  7. package/dist/api/analyzeVideo.js +136 -0
  8. package/dist/api/analyzeVideo.js.map +1 -0
  9. package/dist/api/detectScenes.d.ts +82 -0
  10. package/dist/api/detectScenes.d.ts.map +1 -0
  11. package/dist/api/detectScenes.js +67 -0
  12. package/dist/api/detectScenes.js.map +1 -0
  13. package/dist/api/generateImage.d.ts +7 -0
  14. package/dist/api/generateImage.d.ts.map +1 -1
  15. package/dist/api/generateImage.js +133 -9
  16. package/dist/api/generateImage.js.map +1 -1
  17. package/dist/api/generateMusic.d.ts +98 -0
  18. package/dist/api/generateMusic.d.ts.map +1 -0
  19. package/dist/api/generateMusic.js +319 -0
  20. package/dist/api/generateMusic.js.map +1 -0
  21. package/dist/api/generateSFX.d.ts +96 -0
  22. package/dist/api/generateSFX.d.ts.map +1 -0
  23. package/dist/api/generateSFX.js +317 -0
  24. package/dist/api/generateSFX.js.map +1 -0
  25. package/dist/api/generateVideo.d.ts +113 -0
  26. package/dist/api/generateVideo.d.ts.map +1 -0
  27. package/dist/api/generateVideo.js +342 -0
  28. package/dist/api/generateVideo.js.map +1 -0
  29. package/dist/api/model.d.ts.map +1 -1
  30. package/dist/api/model.js +8 -4
  31. package/dist/api/model.js.map +1 -1
  32. package/dist/api/performOCR.d.ts +169 -0
  33. package/dist/api/performOCR.d.ts.map +1 -0
  34. package/dist/api/performOCR.js +198 -0
  35. package/dist/api/performOCR.js.map +1 -0
  36. package/dist/api/provider-defaults.d.ts +7 -5
  37. package/dist/api/provider-defaults.d.ts.map +1 -1
  38. package/dist/api/provider-defaults.js +32 -10
  39. package/dist/api/provider-defaults.js.map +1 -1
  40. package/dist/api/strategies/debate.d.ts.map +1 -1
  41. package/dist/api/strategies/debate.js +1 -0
  42. package/dist/api/strategies/debate.js.map +1 -1
  43. package/dist/api/strategies/graph.d.ts.map +1 -1
  44. package/dist/api/strategies/graph.js +69 -13
  45. package/dist/api/strategies/graph.js.map +1 -1
  46. package/dist/api/strategies/hierarchical.d.ts.map +1 -1
  47. package/dist/api/strategies/hierarchical.js +1 -0
  48. package/dist/api/strategies/hierarchical.js.map +1 -1
  49. package/dist/api/strategies/parallel.d.ts.map +1 -1
  50. package/dist/api/strategies/parallel.js +1 -0
  51. package/dist/api/strategies/parallel.js.map +1 -1
  52. package/dist/api/strategies/review-loop.d.ts.map +1 -1
  53. package/dist/api/strategies/review-loop.js +1 -0
  54. package/dist/api/strategies/review-loop.js.map +1 -1
  55. package/dist/api/strategies/sequential.d.ts.map +1 -1
  56. package/dist/api/strategies/sequential.js +54 -48
  57. package/dist/api/strategies/sequential.js.map +1 -1
  58. package/dist/api/streamBuffer.d.ts +20 -0
  59. package/dist/api/streamBuffer.d.ts.map +1 -0
  60. package/dist/api/streamBuffer.js +81 -0
  61. package/dist/api/streamBuffer.js.map +1 -0
  62. package/dist/api/types.d.ts +145 -5
  63. package/dist/api/types.d.ts.map +1 -1
  64. package/dist/api/types.js.map +1 -1
  65. package/dist/channels/adapters/RedditChannelAdapter.js.map +1 -1
  66. package/dist/core/audio/AudioProcessor.d.ts.map +1 -1
  67. package/dist/core/audio/AudioProcessor.js +1 -0
  68. package/dist/core/audio/AudioProcessor.js.map +1 -1
  69. package/dist/core/audio/EnvironmentalCalibrator.d.ts.map +1 -1
  70. package/dist/core/audio/EnvironmentalCalibrator.js +1 -0
  71. package/dist/core/audio/EnvironmentalCalibrator.js.map +1 -1
  72. package/dist/core/audio/FallbackAudioProxy.d.ts +169 -0
  73. package/dist/core/audio/FallbackAudioProxy.d.ts.map +1 -0
  74. package/dist/core/audio/FallbackAudioProxy.js +236 -0
  75. package/dist/core/audio/FallbackAudioProxy.js.map +1 -0
  76. package/dist/core/audio/IAudioGenerator.d.ts +103 -0
  77. package/dist/core/audio/IAudioGenerator.d.ts.map +1 -0
  78. package/dist/core/audio/IAudioGenerator.js +24 -0
  79. package/dist/core/audio/IAudioGenerator.js.map +1 -0
  80. package/dist/core/audio/index.d.ts +54 -0
  81. package/dist/core/audio/index.d.ts.map +1 -1
  82. package/dist/core/audio/index.js +93 -0
  83. package/dist/core/audio/index.js.map +1 -1
  84. package/dist/core/audio/providers/AudioGenLocalProvider.d.ts +136 -0
  85. package/dist/core/audio/providers/AudioGenLocalProvider.d.ts.map +1 -0
  86. package/dist/core/audio/providers/AudioGenLocalProvider.js +235 -0
  87. package/dist/core/audio/providers/AudioGenLocalProvider.js.map +1 -0
  88. package/dist/core/audio/providers/ElevenLabsSFXProvider.d.ts +107 -0
  89. package/dist/core/audio/providers/ElevenLabsSFXProvider.d.ts.map +1 -0
  90. package/dist/core/audio/providers/ElevenLabsSFXProvider.js +154 -0
  91. package/dist/core/audio/providers/ElevenLabsSFXProvider.js.map +1 -0
  92. package/dist/core/audio/providers/FalAudioProvider.d.ts +207 -0
  93. package/dist/core/audio/providers/FalAudioProvider.d.ts.map +1 -0
  94. package/dist/core/audio/providers/FalAudioProvider.js +315 -0
  95. package/dist/core/audio/providers/FalAudioProvider.js.map +1 -0
  96. package/dist/core/audio/providers/MusicGenLocalProvider.d.ts +136 -0
  97. package/dist/core/audio/providers/MusicGenLocalProvider.d.ts.map +1 -0
  98. package/dist/core/audio/providers/MusicGenLocalProvider.js +235 -0
  99. package/dist/core/audio/providers/MusicGenLocalProvider.js.map +1 -0
  100. package/dist/core/audio/providers/ReplicateAudioProvider.d.ts +200 -0
  101. package/dist/core/audio/providers/ReplicateAudioProvider.d.ts.map +1 -0
  102. package/dist/core/audio/providers/ReplicateAudioProvider.js +346 -0
  103. package/dist/core/audio/providers/ReplicateAudioProvider.js.map +1 -0
  104. package/dist/core/audio/providers/StableAudioProvider.d.ts +138 -0
  105. package/dist/core/audio/providers/StableAudioProvider.d.ts.map +1 -0
  106. package/dist/core/audio/providers/StableAudioProvider.js +192 -0
  107. package/dist/core/audio/providers/StableAudioProvider.js.map +1 -0
  108. package/dist/core/audio/providers/SunoProvider.d.ts +182 -0
  109. package/dist/core/audio/providers/SunoProvider.d.ts.map +1 -0
  110. package/dist/core/audio/providers/SunoProvider.js +312 -0
  111. package/dist/core/audio/providers/SunoProvider.js.map +1 -0
  112. package/dist/core/audio/providers/UdioProvider.d.ts +177 -0
  113. package/dist/core/audio/providers/UdioProvider.d.ts.map +1 -0
  114. package/dist/core/audio/providers/UdioProvider.js +305 -0
  115. package/dist/core/audio/providers/UdioProvider.js.map +1 -0
  116. package/dist/core/audio/types.d.ts +257 -0
  117. package/dist/core/audio/types.d.ts.map +1 -0
  118. package/dist/core/audio/types.js +21 -0
  119. package/dist/core/audio/types.js.map +1 -0
  120. package/dist/core/images/FallbackImageProxy.d.ts +183 -0
  121. package/dist/core/images/FallbackImageProxy.d.ts.map +1 -0
  122. package/dist/core/images/FallbackImageProxy.js +283 -0
  123. package/dist/core/images/FallbackImageProxy.js.map +1 -0
  124. package/dist/core/images/IImageProvider.d.ts +1 -1
  125. package/dist/core/images/IImageProvider.d.ts.map +1 -1
  126. package/dist/core/images/index.d.ts +1 -0
  127. package/dist/core/images/index.d.ts.map +1 -1
  128. package/dist/core/images/index.js +1 -0
  129. package/dist/core/images/index.js.map +1 -1
  130. package/dist/core/llm/providers/AIModelProviderManager.d.ts +3 -1
  131. package/dist/core/llm/providers/AIModelProviderManager.d.ts.map +1 -1
  132. package/dist/core/llm/providers/AIModelProviderManager.js +8 -0
  133. package/dist/core/llm/providers/AIModelProviderManager.js.map +1 -1
  134. package/dist/core/llm/providers/errors/ClaudeCodeProviderError.d.ts +52 -0
  135. package/dist/core/llm/providers/errors/ClaudeCodeProviderError.d.ts.map +1 -0
  136. package/dist/core/llm/providers/errors/ClaudeCodeProviderError.js +36 -0
  137. package/dist/core/llm/providers/errors/ClaudeCodeProviderError.js.map +1 -0
  138. package/dist/core/llm/providers/errors/GeminiCLIProviderError.d.ts +32 -0
  139. package/dist/core/llm/providers/errors/GeminiCLIProviderError.d.ts.map +1 -0
  140. package/dist/core/llm/providers/errors/GeminiCLIProviderError.js +27 -0
  141. package/dist/core/llm/providers/errors/GeminiCLIProviderError.js.map +1 -0
  142. package/dist/core/llm/providers/implementations/ClaudeCodeCLIBridge.d.ts +38 -0
  143. package/dist/core/llm/providers/implementations/ClaudeCodeCLIBridge.d.ts.map +1 -0
  144. package/dist/core/llm/providers/implementations/ClaudeCodeCLIBridge.js +128 -0
  145. package/dist/core/llm/providers/implementations/ClaudeCodeCLIBridge.js.map +1 -0
  146. package/dist/core/llm/providers/implementations/ClaudeCodeProvider.d.ts +107 -0
  147. package/dist/core/llm/providers/implementations/ClaudeCodeProvider.d.ts.map +1 -0
  148. package/dist/core/llm/providers/implementations/ClaudeCodeProvider.js +504 -0
  149. package/dist/core/llm/providers/implementations/ClaudeCodeProvider.js.map +1 -0
  150. package/dist/core/llm/providers/implementations/GeminiCLIBridge.d.ts +60 -0
  151. package/dist/core/llm/providers/implementations/GeminiCLIBridge.d.ts.map +1 -0
  152. package/dist/core/llm/providers/implementations/GeminiCLIBridge.js +177 -0
  153. package/dist/core/llm/providers/implementations/GeminiCLIBridge.js.map +1 -0
  154. package/dist/core/llm/providers/implementations/GeminiCLIProvider.d.ts +55 -0
  155. package/dist/core/llm/providers/implementations/GeminiCLIProvider.d.ts.map +1 -0
  156. package/dist/core/llm/providers/implementations/GeminiCLIProvider.js +447 -0
  157. package/dist/core/llm/providers/implementations/GeminiCLIProvider.js.map +1 -0
  158. package/dist/core/media/ProviderPreferences.d.ts +158 -0
  159. package/dist/core/media/ProviderPreferences.d.ts.map +1 -0
  160. package/dist/core/media/ProviderPreferences.js +183 -0
  161. package/dist/core/media/ProviderPreferences.js.map +1 -0
  162. package/dist/core/subprocess/CLIRegistry.d.ts +71 -0
  163. package/dist/core/subprocess/CLIRegistry.d.ts.map +1 -0
  164. package/dist/core/subprocess/CLIRegistry.js +210 -0
  165. package/dist/core/subprocess/CLIRegistry.js.map +1 -0
  166. package/dist/core/subprocess/CLISubprocessBridge.d.ts +117 -0
  167. package/dist/core/subprocess/CLISubprocessBridge.d.ts.map +1 -0
  168. package/dist/core/subprocess/CLISubprocessBridge.js +199 -0
  169. package/dist/core/subprocess/CLISubprocessBridge.js.map +1 -0
  170. package/dist/core/subprocess/errors.d.ts +76 -0
  171. package/dist/core/subprocess/errors.d.ts.map +1 -0
  172. package/dist/core/subprocess/errors.js +75 -0
  173. package/dist/core/subprocess/errors.js.map +1 -0
  174. package/dist/core/subprocess/index.d.ts +11 -0
  175. package/dist/core/subprocess/index.d.ts.map +1 -0
  176. package/dist/core/subprocess/index.js +10 -0
  177. package/dist/core/subprocess/index.js.map +1 -0
  178. package/dist/core/subprocess/types.d.ts +100 -0
  179. package/dist/core/subprocess/types.d.ts.map +1 -0
  180. package/dist/core/subprocess/types.js +9 -0
  181. package/dist/core/subprocess/types.js.map +1 -0
  182. package/dist/core/video/FallbackVideoProxy.d.ts +166 -0
  183. package/dist/core/video/FallbackVideoProxy.d.ts.map +1 -0
  184. package/dist/core/video/FallbackVideoProxy.js +228 -0
  185. package/dist/core/video/FallbackVideoProxy.js.map +1 -0
  186. package/dist/core/video/IVideoAnalyzer.d.ts +29 -0
  187. package/dist/core/video/IVideoAnalyzer.d.ts.map +1 -0
  188. package/dist/core/video/IVideoAnalyzer.js +12 -0
  189. package/dist/core/video/IVideoAnalyzer.js.map +1 -0
  190. package/dist/core/video/IVideoGenerator.d.ts +76 -0
  191. package/dist/core/video/IVideoGenerator.d.ts.map +1 -0
  192. package/dist/core/video/IVideoGenerator.js +13 -0
  193. package/dist/core/video/IVideoGenerator.js.map +1 -0
  194. package/dist/core/video/VideoAnalyzer.d.ts +278 -0
  195. package/dist/core/video/VideoAnalyzer.d.ts.map +1 -0
  196. package/dist/core/video/VideoAnalyzer.js +648 -0
  197. package/dist/core/video/VideoAnalyzer.js.map +1 -0
  198. package/dist/core/video/index.d.ts +55 -0
  199. package/dist/core/video/index.d.ts.map +1 -0
  200. package/dist/core/video/index.js +78 -0
  201. package/dist/core/video/index.js.map +1 -0
  202. package/dist/core/video/providers/FalVideoProvider.d.ts +195 -0
  203. package/dist/core/video/providers/FalVideoProvider.d.ts.map +1 -0
  204. package/dist/core/video/providers/FalVideoProvider.js +322 -0
  205. package/dist/core/video/providers/FalVideoProvider.js.map +1 -0
  206. package/dist/core/video/providers/ReplicateVideoProvider.d.ts +194 -0
  207. package/dist/core/video/providers/ReplicateVideoProvider.d.ts.map +1 -0
  208. package/dist/core/video/providers/ReplicateVideoProvider.js +356 -0
  209. package/dist/core/video/providers/ReplicateVideoProvider.js.map +1 -0
  210. package/dist/core/video/providers/RunwayVideoProvider.d.ts +175 -0
  211. package/dist/core/video/providers/RunwayVideoProvider.d.ts.map +1 -0
  212. package/dist/core/video/providers/RunwayVideoProvider.js +293 -0
  213. package/dist/core/video/providers/RunwayVideoProvider.js.map +1 -0
  214. package/dist/core/video/types.d.ts +441 -0
  215. package/dist/core/video/types.d.ts.map +1 -0
  216. package/dist/core/video/types.js +10 -0
  217. package/dist/core/video/types.js.map +1 -0
  218. package/dist/core/vision/SceneDetector.d.ts +180 -0
  219. package/dist/core/vision/SceneDetector.d.ts.map +1 -0
  220. package/dist/core/vision/SceneDetector.js +366 -0
  221. package/dist/core/vision/SceneDetector.js.map +1 -0
  222. package/dist/core/vision/index.d.ts +2 -1
  223. package/dist/core/vision/index.d.ts.map +1 -1
  224. package/dist/core/vision/index.js +1 -0
  225. package/dist/core/vision/index.js.map +1 -1
  226. package/dist/core/vision/types.d.ts +125 -0
  227. package/dist/core/vision/types.d.ts.map +1 -1
  228. package/dist/discovery/CapabilityDiscoveryEngine.d.ts +32 -0
  229. package/dist/discovery/CapabilityDiscoveryEngine.d.ts.map +1 -1
  230. package/dist/discovery/CapabilityDiscoveryEngine.js +46 -0
  231. package/dist/discovery/CapabilityDiscoveryEngine.js.map +1 -1
  232. package/dist/extensions/MultiRegistryLoader.js.map +1 -1
  233. package/dist/index.d.ts +17 -2
  234. package/dist/index.d.ts.map +1 -1
  235. package/dist/index.js +12 -0
  236. package/dist/index.js.map +1 -1
  237. package/dist/memory/CognitiveMemoryManager.d.ts +40 -0
  238. package/dist/memory/CognitiveMemoryManager.d.ts.map +1 -1
  239. package/dist/memory/CognitiveMemoryManager.js +54 -1
  240. package/dist/memory/CognitiveMemoryManager.js.map +1 -1
  241. package/dist/memory/facade/Memory.d.ts +4 -0
  242. package/dist/memory/facade/Memory.d.ts.map +1 -1
  243. package/dist/memory/facade/Memory.js +140 -4
  244. package/dist/memory/facade/Memory.js.map +1 -1
  245. package/dist/memory/facade/types.d.ts +30 -2
  246. package/dist/memory/facade/types.d.ts.map +1 -1
  247. package/dist/memory/index.d.ts +1 -0
  248. package/dist/memory/index.d.ts.map +1 -1
  249. package/dist/memory/index.js +1 -0
  250. package/dist/memory/index.js.map +1 -1
  251. package/dist/memory/types.d.ts +15 -0
  252. package/dist/memory/types.d.ts.map +1 -1
  253. package/dist/query-router/QueryClassifier.d.ts +192 -21
  254. package/dist/query-router/QueryClassifier.d.ts.map +1 -1
  255. package/dist/query-router/QueryClassifier.js +604 -23
  256. package/dist/query-router/QueryClassifier.js.map +1 -1
  257. package/dist/query-router/QueryDispatcher.d.ts +106 -8
  258. package/dist/query-router/QueryDispatcher.d.ts.map +1 -1
  259. package/dist/query-router/QueryDispatcher.js +387 -8
  260. package/dist/query-router/QueryDispatcher.js.map +1 -1
  261. package/dist/query-router/QueryRouter.d.ts +198 -14
  262. package/dist/query-router/QueryRouter.d.ts.map +1 -1
  263. package/dist/query-router/QueryRouter.js +738 -50
  264. package/dist/query-router/QueryRouter.js.map +1 -1
  265. package/dist/query-router/index.d.ts +1 -1
  266. package/dist/query-router/index.d.ts.map +1 -1
  267. package/dist/query-router/index.js +1 -1
  268. package/dist/query-router/index.js.map +1 -1
  269. package/dist/query-router/types.d.ts +396 -3
  270. package/dist/query-router/types.d.ts.map +1 -1
  271. package/dist/query-router/types.js +35 -0
  272. package/dist/query-router/types.js.map +1 -1
  273. package/dist/rag/HydeRetriever.d.ts +108 -0
  274. package/dist/rag/HydeRetriever.d.ts.map +1 -1
  275. package/dist/rag/HydeRetriever.js +184 -0
  276. package/dist/rag/HydeRetriever.js.map +1 -1
  277. package/dist/rag/IRetrievalAugmentor.d.ts +15 -0
  278. package/dist/rag/IRetrievalAugmentor.d.ts.map +1 -1
  279. package/dist/rag/RetrievalAugmentor.d.ts +58 -0
  280. package/dist/rag/RetrievalAugmentor.d.ts.map +1 -1
  281. package/dist/rag/RetrievalAugmentor.js +200 -32
  282. package/dist/rag/RetrievalAugmentor.js.map +1 -1
  283. package/dist/rag/VectorStoreManager.js +1 -1
  284. package/dist/rag/audit/RAGAuditCollector.d.ts +7 -0
  285. package/dist/rag/audit/RAGAuditCollector.d.ts.map +1 -1
  286. package/dist/rag/audit/RAGAuditCollector.js +10 -0
  287. package/dist/rag/audit/RAGAuditCollector.js.map +1 -1
  288. package/dist/rag/audit/RAGAuditTypes.d.ts +10 -1
  289. package/dist/rag/audit/RAGAuditTypes.d.ts.map +1 -1
  290. package/dist/rag/chunking/SemanticChunker.d.ts +210 -0
  291. package/dist/rag/chunking/SemanticChunker.d.ts.map +1 -0
  292. package/dist/rag/chunking/SemanticChunker.js +460 -0
  293. package/dist/rag/chunking/SemanticChunker.js.map +1 -0
  294. package/dist/rag/chunking/index.d.ts +10 -0
  295. package/dist/rag/chunking/index.d.ts.map +1 -0
  296. package/dist/rag/chunking/index.js +10 -0
  297. package/dist/rag/chunking/index.js.map +1 -0
  298. package/dist/rag/implementations/vector_stores/PineconeVectorStore.d.ts +103 -0
  299. package/dist/rag/implementations/vector_stores/PineconeVectorStore.d.ts.map +1 -0
  300. package/dist/rag/implementations/vector_stores/PineconeVectorStore.js +315 -0
  301. package/dist/rag/implementations/vector_stores/PineconeVectorStore.js.map +1 -0
  302. package/dist/rag/implementations/vector_stores/PostgresVectorStore.d.ts +107 -0
  303. package/dist/rag/implementations/vector_stores/PostgresVectorStore.d.ts.map +1 -0
  304. package/dist/rag/implementations/vector_stores/PostgresVectorStore.js +438 -0
  305. package/dist/rag/implementations/vector_stores/PostgresVectorStore.js.map +1 -0
  306. package/dist/rag/index.d.ts +15 -1
  307. package/dist/rag/index.d.ts.map +1 -1
  308. package/dist/rag/index.js +32 -0
  309. package/dist/rag/index.js.map +1 -1
  310. package/dist/rag/migration/MigrationEngine.d.ts +47 -0
  311. package/dist/rag/migration/MigrationEngine.d.ts.map +1 -0
  312. package/dist/rag/migration/MigrationEngine.js +168 -0
  313. package/dist/rag/migration/MigrationEngine.js.map +1 -0
  314. package/dist/rag/migration/adapters/PineconeSourceAdapter.d.ts +23 -0
  315. package/dist/rag/migration/adapters/PineconeSourceAdapter.d.ts.map +1 -0
  316. package/dist/rag/migration/adapters/PineconeSourceAdapter.js +63 -0
  317. package/dist/rag/migration/adapters/PineconeSourceAdapter.js.map +1 -0
  318. package/dist/rag/migration/adapters/PostgresSourceAdapter.d.ts +30 -0
  319. package/dist/rag/migration/adapters/PostgresSourceAdapter.d.ts.map +1 -0
  320. package/dist/rag/migration/adapters/PostgresSourceAdapter.js +71 -0
  321. package/dist/rag/migration/adapters/PostgresSourceAdapter.js.map +1 -0
  322. package/dist/rag/migration/adapters/PostgresTargetAdapter.d.ts +38 -0
  323. package/dist/rag/migration/adapters/PostgresTargetAdapter.d.ts.map +1 -0
  324. package/dist/rag/migration/adapters/PostgresTargetAdapter.js +114 -0
  325. package/dist/rag/migration/adapters/PostgresTargetAdapter.js.map +1 -0
  326. package/dist/rag/migration/adapters/QdrantSourceAdapter.d.ts +36 -0
  327. package/dist/rag/migration/adapters/QdrantSourceAdapter.d.ts.map +1 -0
  328. package/dist/rag/migration/adapters/QdrantSourceAdapter.js +109 -0
  329. package/dist/rag/migration/adapters/QdrantSourceAdapter.js.map +1 -0
  330. package/dist/rag/migration/adapters/QdrantTargetAdapter.d.ts +35 -0
  331. package/dist/rag/migration/adapters/QdrantTargetAdapter.d.ts.map +1 -0
  332. package/dist/rag/migration/adapters/QdrantTargetAdapter.js +110 -0
  333. package/dist/rag/migration/adapters/QdrantTargetAdapter.js.map +1 -0
  334. package/dist/rag/migration/adapters/SqliteSourceAdapter.d.ts +37 -0
  335. package/dist/rag/migration/adapters/SqliteSourceAdapter.d.ts.map +1 -0
  336. package/dist/rag/migration/adapters/SqliteSourceAdapter.js +72 -0
  337. package/dist/rag/migration/adapters/SqliteSourceAdapter.js.map +1 -0
  338. package/dist/rag/migration/adapters/SqliteTargetAdapter.d.ts +47 -0
  339. package/dist/rag/migration/adapters/SqliteTargetAdapter.d.ts.map +1 -0
  340. package/dist/rag/migration/adapters/SqliteTargetAdapter.js +93 -0
  341. package/dist/rag/migration/adapters/SqliteTargetAdapter.js.map +1 -0
  342. package/dist/rag/migration/types.d.ts +108 -0
  343. package/dist/rag/migration/types.d.ts.map +1 -0
  344. package/dist/rag/migration/types.js +11 -0
  345. package/dist/rag/migration/types.js.map +1 -0
  346. package/dist/rag/multimodal/MultimodalIndexer.d.ts +35 -0
  347. package/dist/rag/multimodal/MultimodalIndexer.d.ts.map +1 -1
  348. package/dist/rag/multimodal/MultimodalIndexer.js +66 -1
  349. package/dist/rag/multimodal/MultimodalIndexer.js.map +1 -1
  350. package/dist/rag/multimodal/types.d.ts +24 -0
  351. package/dist/rag/multimodal/types.d.ts.map +1 -1
  352. package/dist/rag/raptor/RaptorTree.d.ts +268 -0
  353. package/dist/rag/raptor/RaptorTree.d.ts.map +1 -0
  354. package/dist/rag/raptor/RaptorTree.js +443 -0
  355. package/dist/rag/raptor/RaptorTree.js.map +1 -0
  356. package/dist/rag/raptor/index.d.ts +11 -0
  357. package/dist/rag/raptor/index.d.ts.map +1 -0
  358. package/dist/rag/raptor/index.js +11 -0
  359. package/dist/rag/raptor/index.js.map +1 -0
  360. package/dist/rag/reranking/providers/CohereReranker.js.map +1 -1
  361. package/dist/rag/search/BM25Index.d.ts +282 -0
  362. package/dist/rag/search/BM25Index.d.ts.map +1 -0
  363. package/dist/rag/search/BM25Index.js +344 -0
  364. package/dist/rag/search/BM25Index.js.map +1 -0
  365. package/dist/rag/search/HybridSearcher.d.ts +198 -0
  366. package/dist/rag/search/HybridSearcher.d.ts.map +1 -0
  367. package/dist/rag/search/HybridSearcher.js +316 -0
  368. package/dist/rag/search/HybridSearcher.js.map +1 -0
  369. package/dist/rag/search/index.d.ts +12 -0
  370. package/dist/rag/search/index.d.ts.map +1 -0
  371. package/dist/rag/search/index.js +12 -0
  372. package/dist/rag/search/index.js.map +1 -0
  373. package/dist/rag/setup/DockerDetector.d.ts +67 -0
  374. package/dist/rag/setup/DockerDetector.d.ts.map +1 -0
  375. package/dist/rag/setup/DockerDetector.js +125 -0
  376. package/dist/rag/setup/DockerDetector.js.map +1 -0
  377. package/dist/rag/setup/PostgresSetup.d.ts +20 -0
  378. package/dist/rag/setup/PostgresSetup.d.ts.map +1 -0
  379. package/dist/rag/setup/PostgresSetup.js +133 -0
  380. package/dist/rag/setup/PostgresSetup.js.map +1 -0
  381. package/dist/rag/setup/QdrantSetup.d.ts +26 -0
  382. package/dist/rag/setup/QdrantSetup.d.ts.map +1 -0
  383. package/dist/rag/setup/QdrantSetup.js +96 -0
  384. package/dist/rag/setup/QdrantSetup.js.map +1 -0
  385. package/dist/rag/setup/types.d.ts +55 -0
  386. package/dist/rag/setup/types.d.ts.map +1 -0
  387. package/dist/rag/setup/types.js +6 -0
  388. package/dist/rag/setup/types.js.map +1 -0
  389. package/dist/rag/unified/UnifiedRetriever.d.ts +472 -0
  390. package/dist/rag/unified/UnifiedRetriever.d.ts.map +1 -0
  391. package/dist/rag/unified/UnifiedRetriever.js +887 -0
  392. package/dist/rag/unified/UnifiedRetriever.js.map +1 -0
  393. package/dist/rag/unified/index.d.ts +24 -0
  394. package/dist/rag/unified/index.d.ts.map +1 -0
  395. package/dist/rag/unified/index.js +23 -0
  396. package/dist/rag/unified/index.js.map +1 -0
  397. package/dist/rag/unified/types.d.ts +546 -0
  398. package/dist/rag/unified/types.d.ts.map +1 -0
  399. package/dist/rag/unified/types.js +177 -0
  400. package/dist/rag/unified/types.js.map +1 -0
  401. package/dist/speech/providers/AssemblyAISTTProvider.js.map +1 -1
  402. package/dist/speech/providers/AzureSpeechSTTProvider.js.map +1 -1
  403. package/dist/speech/providers/BuiltInAdaptiveVadProvider.d.ts +1 -1
  404. package/dist/speech/providers/DeepgramBatchSTTProvider.js.map +1 -1
  405. package/package.json +5 -2
@@ -0,0 +1,194 @@
1
+ /**
2
+ * @module core/video/providers/ReplicateVideoProvider
3
+ *
4
+ * Video generation provider for the Replicate API.
5
+ *
6
+ * Replicate hosts a wide range of open-source video models (Kling, CogVideo,
7
+ * AnimateDiff, etc.) behind a uniform predictions API. This provider mirrors
8
+ * the pattern established by {@link ReplicateImageProvider}: create a
9
+ * prediction with `Prefer: wait`, then poll if it hasn't completed inline.
10
+ *
11
+ * ## Supported models
12
+ *
13
+ * | Model ID | Description |
14
+ * |----------------------------------|---------------------------------------|
15
+ * | `klingai/kling-v1` | Kling v1 — high quality open model |
16
+ * | `tencent/hunyuan-video` | HunyuanVideo — Tencent's video model |
17
+ * | `minimax/video-01` | MiniMax Video-01 |
18
+ *
19
+ * ## API flow (submit + sync wait + optional poll)
20
+ *
21
+ * 1. **Create prediction** — `POST ${baseURL}/predictions` with
22
+ * `Prefer: wait=60`. If the model finishes within 60 seconds the
23
+ * response already contains the output.
24
+ * 2. **Poll** (if needed) — `GET prediction.urls.get` until `status` is
25
+ * `succeeded`, `failed`, or `canceled`.
26
+ * 3. **Result** — `output` is the video URL (string or first array element).
27
+ *
28
+ * ## Authentication
29
+ *
30
+ * Requires a `REPLICATE_API_TOKEN`. Sent as `Authorization: Token ${apiKey}`.
31
+ *
32
+ * @see {@link IVideoGenerator} for the provider interface contract.
33
+ * @see {@link ReplicateImageProvider} for the image counterpart.
34
+ */
35
+ import type { IVideoGenerator } from '../IVideoGenerator.js';
36
+ import type { VideoGenerateRequest, ImageToVideoRequest, VideoResult } from '../types.js';
37
+ /**
38
+ * Configuration for the Replicate video generation provider.
39
+ *
40
+ * @example
41
+ * ```typescript
42
+ * const config: ReplicateVideoProviderConfig = {
43
+ * apiKey: process.env.REPLICATE_API_TOKEN!,
44
+ * defaultModelId: 'klingai/kling-v1',
45
+ * };
46
+ * ```
47
+ */
48
+ export interface ReplicateVideoProviderConfig {
49
+ /** Replicate API token. Sent as `Authorization: Token ${apiKey}`. */
50
+ apiKey: string;
51
+ /**
52
+ * Base URL for the Replicate API. Override for testing or proxy setups.
53
+ * @default 'https://api.replicate.com/v1'
54
+ */
55
+ baseURL?: string;
56
+ /**
57
+ * Default model to use when the request doesn't specify one.
58
+ * @default 'klingai/kling-v1'
59
+ */
60
+ defaultModelId?: string;
61
+ /**
62
+ * Milliseconds between prediction status polls.
63
+ * @default 5000
64
+ */
65
+ pollIntervalMs?: number;
66
+ /**
67
+ * Maximum milliseconds to wait for generation before timing out.
68
+ * @default 300000
69
+ */
70
+ timeoutMs?: number;
71
+ }
72
+ /**
73
+ * Video generation provider connecting to the Replicate predictions API.
74
+ *
75
+ * Follows the same submit-then-poll pattern as {@link ReplicateImageProvider}:
76
+ * create a prediction with `Prefer: wait=60`, then poll if the model takes
77
+ * longer than the wait window.
78
+ *
79
+ * @implements {IVideoGenerator}
80
+ *
81
+ * @example
82
+ * ```typescript
83
+ * const provider = new ReplicateVideoProvider();
84
+ * await provider.initialize({ apiKey: process.env.REPLICATE_API_TOKEN! });
85
+ *
86
+ * const result = await provider.generateVideo({
87
+ * modelId: 'klingai/kling-v1',
88
+ * prompt: 'A butterfly emerging from a cocoon in slow motion',
89
+ * });
90
+ * console.log(result.videos[0].url);
91
+ * ```
92
+ */
93
+ export declare class ReplicateVideoProvider implements IVideoGenerator {
94
+ /** @inheritdoc */
95
+ readonly providerId = "replicate";
96
+ /** @inheritdoc */
97
+ isInitialized: boolean;
98
+ /** @inheritdoc */
99
+ defaultModelId?: string;
100
+ /** Internal resolved configuration. */
101
+ private _config;
102
+ /**
103
+ * Initialize the provider with API credentials and optional configuration.
104
+ *
105
+ * @param config - Configuration object. Must include `apiKey`.
106
+ * @throws {Error} If `apiKey` is missing or empty.
107
+ */
108
+ initialize(config: Record<string, unknown>): Promise<void>;
109
+ /**
110
+ * Generate a video from a text prompt using the Replicate predictions API.
111
+ *
112
+ * Creates a prediction, waits for synchronous completion (up to 60s), then
113
+ * polls if still in progress. Returns the video URL in a result envelope.
114
+ *
115
+ * @param request - Video generation request with prompt and optional params.
116
+ * @returns The generated video result envelope.
117
+ *
118
+ * @throws {Error} If the provider is not initialized.
119
+ * @throws {Error} If the API returns an error or times out.
120
+ */
121
+ generateVideo(request: VideoGenerateRequest): Promise<VideoResult>;
122
+ /**
123
+ * Generate a video from a source image using the Replicate predictions API.
124
+ *
125
+ * The source image Buffer is converted to a base64 data URL and passed as
126
+ * the `image` input parameter.
127
+ *
128
+ * @param request - Generation parameters including the source image buffer.
129
+ * @returns The generated video result envelope.
130
+ *
131
+ * @throws {Error} If the provider is not initialized or the API fails.
132
+ */
133
+ imageToVideo(request: ImageToVideoRequest): Promise<VideoResult>;
134
+ /**
135
+ * Replicate supports both text-to-video and image-to-video generation.
136
+ *
137
+ * @param capability - The capability to check.
138
+ * @returns `true` for both `'text-to-video'` and `'image-to-video'`.
139
+ */
140
+ supports(capability: 'text-to-video' | 'image-to-video'): boolean;
141
+ /**
142
+ * Release any resources held by the provider. No-op for HTTP-only providers.
143
+ */
144
+ shutdown(): Promise<void>;
145
+ /**
146
+ * Create a prediction and wait for it to complete.
147
+ *
148
+ * Uses `Prefer: wait=60` to get synchronous completion for fast models.
149
+ * Falls back to polling if the prediction hasn't completed within the
150
+ * wait window.
151
+ *
152
+ * @param model - Model identifier (e.g. 'klingai/kling-v1').
153
+ * @param input - Model input parameters.
154
+ * @returns The completed prediction object.
155
+ *
156
+ * @throws {Error} If prediction creation fails, the prediction fails,
157
+ * is canceled, or times out.
158
+ * @internal
159
+ */
160
+ private _runPrediction;
161
+ /**
162
+ * Create a new prediction via `POST /predictions`.
163
+ *
164
+ * @param model - Model identifier.
165
+ * @param input - Model input parameters.
166
+ * @returns The prediction response (may or may not be completed).
167
+ *
168
+ * @throws {Error} If the HTTP request fails.
169
+ * @internal
170
+ */
171
+ private _createPrediction;
172
+ /**
173
+ * Poll a prediction URL until it reaches a terminal state.
174
+ *
175
+ * @param url - The `prediction.urls.get` URL to poll.
176
+ * @returns The completed prediction object.
177
+ *
178
+ * @throws {Error} If polling fails or times out.
179
+ * @internal
180
+ */
181
+ private _pollPrediction;
182
+ /**
183
+ * Build a {@link VideoResult} from a completed Replicate prediction.
184
+ *
185
+ * @param prediction - The succeeded prediction object.
186
+ * @param model - Model ID used for the generation.
187
+ * @returns Normalized video result envelope.
188
+ *
189
+ * @throws {Error} If no video URL could be extracted from the output.
190
+ * @internal
191
+ */
192
+ private _buildResult;
193
+ }
194
+ //# sourceMappingURL=ReplicateVideoProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReplicateVideoProvider.d.ts","sourceRoot":"","sources":["../../../../src/core/video/providers/ReplicateVideoProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EACnB,WAAW,EACZ,MAAM,aAAa,CAAC;AAMrB;;;;;;;;;;GAUG;AACH,MAAM,WAAW,4BAA4B;IAC3C,qEAAqE;IACrE,MAAM,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA0FD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,sBAAuB,YAAW,eAAe;IAC5D,kBAAkB;IAClB,SAAgB,UAAU,eAAe;IAEzC,kBAAkB;IACX,aAAa,UAAS;IAE7B,kBAAkB;IACX,cAAc,CAAC,EAAE,MAAM,CAAC;IAE/B,uCAAuC;IACvC,OAAO,CAAC,OAAO,CAAsI;IAMrJ;;;;;OAKG;IACG,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAkChE;;;;;;;;;;;OAWG;IACG,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,WAAW,CAAC;IAmBxE;;;;;;;;;;OAUG;IACG,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,WAAW,CAAC;IA2BtE;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,EAAE,eAAe,GAAG,gBAAgB,GAAG,OAAO;IAIjE;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ/B;;;;;;;;;;;;;;OAcG;YACW,cAAc;IAyB5B;;;;;;;;;OASG;YACW,iBAAiB;IA2B/B;;;;;;;;OAQG;YACW,eAAe;IAgC7B;;;;;;;;;OASG;IACH,OAAO,CAAC,YAAY;CAwBrB"}
@@ -0,0 +1,356 @@
1
+ /**
2
+ * @module core/video/providers/ReplicateVideoProvider
3
+ *
4
+ * Video generation provider for the Replicate API.
5
+ *
6
+ * Replicate hosts a wide range of open-source video models (Kling, CogVideo,
7
+ * AnimateDiff, etc.) behind a uniform predictions API. This provider mirrors
8
+ * the pattern established by {@link ReplicateImageProvider}: create a
9
+ * prediction with `Prefer: wait`, then poll if it hasn't completed inline.
10
+ *
11
+ * ## Supported models
12
+ *
13
+ * | Model ID | Description |
14
+ * |----------------------------------|---------------------------------------|
15
+ * | `klingai/kling-v1` | Kling v1 — high quality open model |
16
+ * | `tencent/hunyuan-video` | HunyuanVideo — Tencent's video model |
17
+ * | `minimax/video-01` | MiniMax Video-01 |
18
+ *
19
+ * ## API flow (submit + sync wait + optional poll)
20
+ *
21
+ * 1. **Create prediction** — `POST ${baseURL}/predictions` with
22
+ * `Prefer: wait=60`. If the model finishes within 60 seconds the
23
+ * response already contains the output.
24
+ * 2. **Poll** (if needed) — `GET prediction.urls.get` until `status` is
25
+ * `succeeded`, `failed`, or `canceled`.
26
+ * 3. **Result** — `output` is the video URL (string or first array element).
27
+ *
28
+ * ## Authentication
29
+ *
30
+ * Requires a `REPLICATE_API_TOKEN`. Sent as `Authorization: Token ${apiKey}`.
31
+ *
32
+ * @see {@link IVideoGenerator} for the provider interface contract.
33
+ * @see {@link ReplicateImageProvider} for the image counterpart.
34
+ */
35
+ // ---------------------------------------------------------------------------
36
+ // Helpers
37
+ // ---------------------------------------------------------------------------
38
+ /**
39
+ * Sleep for the specified number of milliseconds.
40
+ * Used between poll requests to avoid rate-limiting.
41
+ * @param ms - Duration in milliseconds.
42
+ * @internal
43
+ */
44
+ function sleep(ms) {
45
+ return new Promise((resolve) => setTimeout(resolve, ms));
46
+ }
47
+ /**
48
+ * Extract a video URL from the Replicate prediction output.
49
+ *
50
+ * Replicate returns output in different shapes depending on the model:
51
+ * - A plain URL string
52
+ * - An array of URL strings (first element is the video)
53
+ * - An object with a `url` or `video` property
54
+ *
55
+ * @param output - Raw output from the prediction.
56
+ * @returns The video URL string, or `undefined` if not found.
57
+ * @internal
58
+ */
59
+ function extractVideoUrl(output) {
60
+ if (typeof output === 'string')
61
+ return output;
62
+ if (Array.isArray(output)) {
63
+ for (const item of output) {
64
+ if (typeof item === 'string')
65
+ return item;
66
+ if (item && typeof item === 'object') {
67
+ const obj = item;
68
+ if (typeof obj.url === 'string')
69
+ return obj.url;
70
+ if (typeof obj.video === 'string')
71
+ return obj.video;
72
+ }
73
+ }
74
+ return undefined;
75
+ }
76
+ if (output && typeof output === 'object') {
77
+ const obj = output;
78
+ if (typeof obj.url === 'string')
79
+ return obj.url;
80
+ if (typeof obj.video === 'string')
81
+ return obj.video;
82
+ }
83
+ return undefined;
84
+ }
85
+ // ---------------------------------------------------------------------------
86
+ // Implementation
87
+ // ---------------------------------------------------------------------------
88
+ /**
89
+ * Video generation provider connecting to the Replicate predictions API.
90
+ *
91
+ * Follows the same submit-then-poll pattern as {@link ReplicateImageProvider}:
92
+ * create a prediction with `Prefer: wait=60`, then poll if the model takes
93
+ * longer than the wait window.
94
+ *
95
+ * @implements {IVideoGenerator}
96
+ *
97
+ * @example
98
+ * ```typescript
99
+ * const provider = new ReplicateVideoProvider();
100
+ * await provider.initialize({ apiKey: process.env.REPLICATE_API_TOKEN! });
101
+ *
102
+ * const result = await provider.generateVideo({
103
+ * modelId: 'klingai/kling-v1',
104
+ * prompt: 'A butterfly emerging from a cocoon in slow motion',
105
+ * });
106
+ * console.log(result.videos[0].url);
107
+ * ```
108
+ */
109
+ export class ReplicateVideoProvider {
110
+ constructor() {
111
+ /** @inheritdoc */
112
+ this.providerId = 'replicate';
113
+ /** @inheritdoc */
114
+ this.isInitialized = false;
115
+ }
116
+ // -------------------------------------------------------------------------
117
+ // Lifecycle
118
+ // -------------------------------------------------------------------------
119
+ /**
120
+ * Initialize the provider with API credentials and optional configuration.
121
+ *
122
+ * @param config - Configuration object. Must include `apiKey`.
123
+ * @throws {Error} If `apiKey` is missing or empty.
124
+ */
125
+ async initialize(config) {
126
+ const apiKey = typeof config.apiKey === 'string' ? config.apiKey.trim() : '';
127
+ if (!apiKey) {
128
+ throw new Error('Replicate video provider requires apiKey (REPLICATE_API_TOKEN).');
129
+ }
130
+ this._config = {
131
+ apiKey,
132
+ baseURL: typeof config.baseURL === 'string' && config.baseURL.trim()
133
+ ? config.baseURL.trim()
134
+ : 'https://api.replicate.com/v1',
135
+ defaultModelId: typeof config.defaultModelId === 'string' && config.defaultModelId.trim()
136
+ ? config.defaultModelId.trim()
137
+ : 'klingai/kling-v1',
138
+ pollIntervalMs: typeof config.pollIntervalMs === 'number' && config.pollIntervalMs > 0
139
+ ? config.pollIntervalMs
140
+ : 5000,
141
+ timeoutMs: typeof config.timeoutMs === 'number' && config.timeoutMs > 0
142
+ ? config.timeoutMs
143
+ : 300000,
144
+ };
145
+ this.defaultModelId = this._config.defaultModelId;
146
+ this.isInitialized = true;
147
+ }
148
+ // -------------------------------------------------------------------------
149
+ // Generation
150
+ // -------------------------------------------------------------------------
151
+ /**
152
+ * Generate a video from a text prompt using the Replicate predictions API.
153
+ *
154
+ * Creates a prediction, waits for synchronous completion (up to 60s), then
155
+ * polls if still in progress. Returns the video URL in a result envelope.
156
+ *
157
+ * @param request - Video generation request with prompt and optional params.
158
+ * @returns The generated video result envelope.
159
+ *
160
+ * @throws {Error} If the provider is not initialized.
161
+ * @throws {Error} If the API returns an error or times out.
162
+ */
163
+ async generateVideo(request) {
164
+ if (!this.isInitialized) {
165
+ throw new Error('Replicate video provider is not initialized. Call initialize() first.');
166
+ }
167
+ const model = request.modelId || this.defaultModelId || 'klingai/kling-v1';
168
+ const input = {
169
+ prompt: request.prompt,
170
+ };
171
+ if (request.durationSec !== undefined)
172
+ input.duration = request.durationSec;
173
+ if (request.aspectRatio)
174
+ input.aspect_ratio = request.aspectRatio;
175
+ if (request.seed !== undefined)
176
+ input.seed = request.seed;
177
+ const prediction = await this._runPrediction(model, input);
178
+ return this._buildResult(prediction, model);
179
+ }
180
+ /**
181
+ * Generate a video from a source image using the Replicate predictions API.
182
+ *
183
+ * The source image Buffer is converted to a base64 data URL and passed as
184
+ * the `image` input parameter.
185
+ *
186
+ * @param request - Generation parameters including the source image buffer.
187
+ * @returns The generated video result envelope.
188
+ *
189
+ * @throws {Error} If the provider is not initialized or the API fails.
190
+ */
191
+ async imageToVideo(request) {
192
+ if (!this.isInitialized) {
193
+ throw new Error('Replicate video provider is not initialized. Call initialize() first.');
194
+ }
195
+ const model = request.modelId || this.defaultModelId || 'klingai/kling-v1';
196
+ // Convert the image buffer to a base64 data URL.
197
+ const imageBase64 = `data:image/png;base64,${request.image.toString('base64')}`;
198
+ const input = {
199
+ prompt: request.prompt,
200
+ image: imageBase64,
201
+ };
202
+ if (request.durationSec !== undefined)
203
+ input.duration = request.durationSec;
204
+ if (request.aspectRatio)
205
+ input.aspect_ratio = request.aspectRatio;
206
+ if (request.seed !== undefined)
207
+ input.seed = request.seed;
208
+ const prediction = await this._runPrediction(model, input);
209
+ return this._buildResult(prediction, model);
210
+ }
211
+ // -------------------------------------------------------------------------
212
+ // Capability query
213
+ // -------------------------------------------------------------------------
214
+ /**
215
+ * Replicate supports both text-to-video and image-to-video generation.
216
+ *
217
+ * @param capability - The capability to check.
218
+ * @returns `true` for both `'text-to-video'` and `'image-to-video'`.
219
+ */
220
+ supports(capability) {
221
+ return capability === 'text-to-video' || capability === 'image-to-video';
222
+ }
223
+ /**
224
+ * Release any resources held by the provider. No-op for HTTP-only providers.
225
+ */
226
+ async shutdown() {
227
+ this.isInitialized = false;
228
+ }
229
+ // -------------------------------------------------------------------------
230
+ // Private helpers
231
+ // -------------------------------------------------------------------------
232
+ /**
233
+ * Create a prediction and wait for it to complete.
234
+ *
235
+ * Uses `Prefer: wait=60` to get synchronous completion for fast models.
236
+ * Falls back to polling if the prediction hasn't completed within the
237
+ * wait window.
238
+ *
239
+ * @param model - Model identifier (e.g. 'klingai/kling-v1').
240
+ * @param input - Model input parameters.
241
+ * @returns The completed prediction object.
242
+ *
243
+ * @throws {Error} If prediction creation fails, the prediction fails,
244
+ * is canceled, or times out.
245
+ * @internal
246
+ */
247
+ async _runPrediction(model, input) {
248
+ let prediction = await this._createPrediction(model, input);
249
+ // If the prediction hasn't reached a terminal state, poll for it.
250
+ if (prediction.status
251
+ && !['succeeded', 'failed', 'canceled'].includes(prediction.status)
252
+ && prediction.urls?.get) {
253
+ prediction = await this._pollPrediction(prediction.urls.get);
254
+ }
255
+ if (prediction.status === 'failed') {
256
+ throw new Error(`Replicate video generation failed: ${prediction.error ?? 'unknown error'}`);
257
+ }
258
+ if (prediction.status === 'canceled') {
259
+ throw new Error('Replicate video generation was canceled.');
260
+ }
261
+ return prediction;
262
+ }
263
+ /**
264
+ * Create a new prediction via `POST /predictions`.
265
+ *
266
+ * @param model - Model identifier.
267
+ * @param input - Model input parameters.
268
+ * @returns The prediction response (may or may not be completed).
269
+ *
270
+ * @throws {Error} If the HTTP request fails.
271
+ * @internal
272
+ */
273
+ async _createPrediction(model, input) {
274
+ const body = {
275
+ model,
276
+ input,
277
+ };
278
+ const response = await fetch(`${this._config.baseURL}/predictions`, {
279
+ method: 'POST',
280
+ headers: {
281
+ Authorization: `Token ${this._config.apiKey}`,
282
+ 'Content-Type': 'application/json',
283
+ Prefer: 'wait=60',
284
+ },
285
+ body: JSON.stringify(body),
286
+ });
287
+ if (!response.ok) {
288
+ const errorText = await response.text();
289
+ throw new Error(`Replicate video generation submission failed (${response.status}): ${errorText}`);
290
+ }
291
+ return (await response.json());
292
+ }
293
+ /**
294
+ * Poll a prediction URL until it reaches a terminal state.
295
+ *
296
+ * @param url - The `prediction.urls.get` URL to poll.
297
+ * @returns The completed prediction object.
298
+ *
299
+ * @throws {Error} If polling fails or times out.
300
+ * @internal
301
+ */
302
+ async _pollPrediction(url) {
303
+ const startedAt = Date.now();
304
+ while (Date.now() - startedAt < this._config.timeoutMs) {
305
+ const response = await fetch(url, {
306
+ headers: {
307
+ Authorization: `Token ${this._config.apiKey}`,
308
+ },
309
+ });
310
+ if (!response.ok) {
311
+ const errorText = await response.text();
312
+ throw new Error(`Replicate prediction polling failed (${response.status}): ${errorText}`);
313
+ }
314
+ const prediction = (await response.json());
315
+ if (!prediction.status
316
+ || ['succeeded', 'failed', 'canceled'].includes(prediction.status)) {
317
+ return prediction;
318
+ }
319
+ await sleep(this._config.pollIntervalMs);
320
+ }
321
+ throw new Error(`Replicate video generation timed out after ${this._config.timeoutMs}ms.`);
322
+ }
323
+ /**
324
+ * Build a {@link VideoResult} from a completed Replicate prediction.
325
+ *
326
+ * @param prediction - The succeeded prediction object.
327
+ * @param model - Model ID used for the generation.
328
+ * @returns Normalized video result envelope.
329
+ *
330
+ * @throws {Error} If no video URL could be extracted from the output.
331
+ * @internal
332
+ */
333
+ _buildResult(prediction, model) {
334
+ const videoUrl = extractVideoUrl(prediction.output);
335
+ if (!videoUrl) {
336
+ throw new Error('Replicate prediction succeeded but returned no video output.');
337
+ }
338
+ return {
339
+ created: Math.floor(Date.now() / 1000),
340
+ modelId: model,
341
+ providerId: this.providerId,
342
+ videos: [{
343
+ url: videoUrl,
344
+ mimeType: 'video/mp4',
345
+ providerMetadata: {
346
+ predictionId: prediction.id,
347
+ metrics: prediction.metrics,
348
+ },
349
+ }],
350
+ usage: {
351
+ totalVideos: 1,
352
+ },
353
+ };
354
+ }
355
+ }
356
+ //# sourceMappingURL=ReplicateVideoProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReplicateVideoProvider.js","sourceRoot":"","sources":["../../../../src/core/video/providers/ReplicateVideoProvider.ts"],"names":[],"mappings":"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"}