@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,166 @@
1
+ /**
2
+ * @file FallbackVideoProxy.ts
3
+ * Automatic failover proxy for video generation providers.
4
+ *
5
+ * Follows the same pattern established by {@link FallbackImageProxy} in the
6
+ * image subsystem: an ordered chain of {@link IVideoGenerator} instances is
7
+ * tried left-to-right for each operation. The first provider that succeeds
8
+ * wins; earlier failures are caught, logged via an emitted event, and the
9
+ * next provider is tried.
10
+ *
11
+ * ## Unsupported-operation handling
12
+ *
13
+ * For the optional `imageToVideo` operation the proxy skips providers whose
14
+ * {@link IVideoGenerator.supports} method returns `false` for
15
+ * `'image-to-video'`. Skipped providers are not counted as transient failures
16
+ * — the proxy simply advances to the next candidate.
17
+ *
18
+ * @see {@link FallbackImageProxy} for the analogous image proxy.
19
+ * @see {@link FallbackSTTProxy} for the analogous speech-to-text proxy.
20
+ *
21
+ * @example
22
+ * ```ts
23
+ * import { EventEmitter } from 'events';
24
+ * import { FallbackVideoProxy } from './FallbackVideoProxy.js';
25
+ *
26
+ * const emitter = new EventEmitter();
27
+ * emitter.on('video:generate:fallback', (evt) => {
28
+ * console.warn(`Video fallback: ${evt.from} -> ${evt.to} (${evt.reason})`);
29
+ * });
30
+ *
31
+ * const proxy = new FallbackVideoProxy(
32
+ * [runwayProvider, pikaProvider, klingProvider],
33
+ * emitter,
34
+ * );
35
+ *
36
+ * // If Runway fails, Pika is tried, then Kling.
37
+ * const result = await proxy.generateVideo(request);
38
+ * ```
39
+ */
40
+ import { EventEmitter } from 'events';
41
+ import type { IVideoGenerator } from './IVideoGenerator.js';
42
+ import type { VideoGenerateRequest, ImageToVideoRequest, VideoResult } from './types.js';
43
+ /**
44
+ * Payload emitted on the `video:generate:fallback` event when a provider in
45
+ * the chain fails and the proxy advances to the next candidate.
46
+ *
47
+ * @example
48
+ * ```ts
49
+ * emitter.on('video:generate:fallback', (evt: VideoFallbackEvent) => {
50
+ * console.warn(`${evt.from} -> ${evt.to}: ${evt.reason}`);
51
+ * });
52
+ * ```
53
+ */
54
+ export interface VideoFallbackEvent {
55
+ /** The event discriminator. Always `'video:generate:fallback'`. */
56
+ type: 'video:generate:fallback';
57
+ /** Identifier of the provider that failed. */
58
+ from: string;
59
+ /** Identifier of the provider that will be tried next. */
60
+ to: string;
61
+ /** Human-readable reason for the fallback (error message or "not supported"). */
62
+ reason: string;
63
+ }
64
+ /**
65
+ * An {@link IVideoGenerator} that wraps an ordered chain of video providers
66
+ * and implements automatic failover for every operation.
67
+ *
68
+ * ## Retry chain logic
69
+ *
70
+ * Providers are tried left-to-right (index 0 first). The first provider
71
+ * that succeeds returns immediately. When a provider throws:
72
+ *
73
+ * - **If it is NOT the last provider:** a `video:generate:fallback` event is
74
+ * emitted and the next provider is tried.
75
+ * - **If it IS the last provider:** an `AggregateError` containing every
76
+ * collected error is thrown.
77
+ * - **If the chain is empty:** an `Error('No providers in video fallback chain')`
78
+ * is thrown immediately.
79
+ *
80
+ * For the optional `imageToVideo` operation, providers whose
81
+ * {@link IVideoGenerator.supports} returns `false` for `'image-to-video'`
82
+ * are silently skipped, since they are structurally incapable rather than
83
+ * transiently failing.
84
+ */
85
+ export declare class FallbackVideoProxy implements IVideoGenerator {
86
+ private readonly chain;
87
+ private readonly emitter;
88
+ /** Identifier derived from the first provider in the chain. */
89
+ readonly providerId: string;
90
+ /** Always `true` — the proxy is ready as soon as it is constructed. */
91
+ readonly isInitialized: boolean;
92
+ /** Default model from the first provider, if set. */
93
+ readonly defaultModelId?: string;
94
+ /**
95
+ * Creates a new FallbackVideoProxy wrapping the given provider chain.
96
+ *
97
+ * @param chain - Ordered list of video providers to try. Must contain at
98
+ * least one entry for operations to succeed (an empty chain always throws).
99
+ * @param emitter - EventEmitter on which `video:generate:fallback` events
100
+ * are published so callers can observe the failover path.
101
+ *
102
+ * @example
103
+ * ```ts
104
+ * const proxy = new FallbackVideoProxy(
105
+ * [runwayProvider, pikaProvider],
106
+ * new EventEmitter(),
107
+ * );
108
+ * ```
109
+ */
110
+ constructor(chain: IVideoGenerator[], emitter: EventEmitter);
111
+ /**
112
+ * No-op initialisation — individual providers in the chain should already
113
+ * be initialised before being passed to the proxy.
114
+ */
115
+ initialize(_config: Record<string, unknown>): Promise<void>;
116
+ /**
117
+ * Returns `true` if at least one provider in the chain supports the
118
+ * given capability.
119
+ *
120
+ * @param capability - The capability to query.
121
+ */
122
+ supports(capability: 'text-to-video' | 'image-to-video'): boolean;
123
+ /**
124
+ * Generate a video from a text prompt, falling back through the provider
125
+ * chain on failure.
126
+ *
127
+ * @param request - The generation request forwarded to each provider.
128
+ * @returns The result from the first provider that succeeds.
129
+ * @throws {AggregateError} When every provider in the chain fails.
130
+ * @throws {Error} When the chain is empty.
131
+ */
132
+ generateVideo(request: VideoGenerateRequest): Promise<VideoResult>;
133
+ /**
134
+ * Generate a video from a source image, falling back through providers
135
+ * that support image-to-video.
136
+ *
137
+ * Providers whose {@link IVideoGenerator.supports} returns `false` for
138
+ * `'image-to-video'` are silently skipped.
139
+ *
140
+ * @param request - The image-to-video request forwarded to each capable provider.
141
+ * @returns The result from the first provider that succeeds.
142
+ * @throws {AggregateError} When every provider fails or does not support image-to-video.
143
+ */
144
+ imageToVideo(request: ImageToVideoRequest): Promise<VideoResult>;
145
+ /**
146
+ * Shuts down all providers in the chain. Errors are caught per-provider
147
+ * so a single provider's failure does not prevent the others from
148
+ * cleaning up.
149
+ */
150
+ shutdown(): Promise<void>;
151
+ /**
152
+ * Executes an operation against each provider in the chain until one
153
+ * succeeds or all have been exhausted.
154
+ *
155
+ * Providers that throw an error whose `name` ends with `NotSupportedError`
156
+ * are treated as structurally incapable — the reason is recorded as
157
+ * "not supported" rather than the raw error message.
158
+ *
159
+ * @param operationName - Human-readable name of the operation (for error messages).
160
+ * @param execute - Async callback that runs the operation on a single provider.
161
+ * @returns The result from the first successful provider.
162
+ * @throws {AggregateError} When every provider fails.
163
+ */
164
+ private runWithFallback;
165
+ }
166
+ //# sourceMappingURL=FallbackVideoProxy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FallbackVideoProxy.d.ts","sourceRoot":"","sources":["../../../src/core/video/FallbackVideoProxy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAMzF;;;;;;;;;;GAUG;AACH,MAAM,WAAW,kBAAkB;IACjC,mEAAmE;IACnE,IAAI,EAAE,yBAAyB,CAAC;IAChC,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,0DAA0D;IAC1D,EAAE,EAAE,MAAM,CAAC;IACX,iFAAiF;IACjF,MAAM,EAAE,MAAM,CAAC;CAChB;AAkBD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,kBAAmB,YAAW,eAAe;IA2BtD,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IA3B1B,+DAA+D;IAC/D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B,uEAAuE;IACvE,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAQ;IAEvC,qDAAqD;IACrD,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAEjC;;;;;;;;;;;;;;;OAeG;gBAEgB,KAAK,EAAE,eAAe,EAAE,EACxB,OAAO,EAAE,YAAY;IAUxC;;;OAGG;IACG,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IASjE;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,EAAE,eAAe,GAAG,gBAAgB,GAAG,OAAO;IAQjE;;;;;;;;OAQG;IACG,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,WAAW,CAAC;IAWxE;;;;;;;;;;OAUG;IACG,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,WAAW,CAAC;IAmBtE;;;;OAIG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB/B;;;;;;;;;;;;OAYG;YACW,eAAe;CA6C9B"}
@@ -0,0 +1,228 @@
1
+ /**
2
+ * @file FallbackVideoProxy.ts
3
+ * Automatic failover proxy for video generation providers.
4
+ *
5
+ * Follows the same pattern established by {@link FallbackImageProxy} in the
6
+ * image subsystem: an ordered chain of {@link IVideoGenerator} instances is
7
+ * tried left-to-right for each operation. The first provider that succeeds
8
+ * wins; earlier failures are caught, logged via an emitted event, and the
9
+ * next provider is tried.
10
+ *
11
+ * ## Unsupported-operation handling
12
+ *
13
+ * For the optional `imageToVideo` operation the proxy skips providers whose
14
+ * {@link IVideoGenerator.supports} method returns `false` for
15
+ * `'image-to-video'`. Skipped providers are not counted as transient failures
16
+ * — the proxy simply advances to the next candidate.
17
+ *
18
+ * @see {@link FallbackImageProxy} for the analogous image proxy.
19
+ * @see {@link FallbackSTTProxy} for the analogous speech-to-text proxy.
20
+ *
21
+ * @example
22
+ * ```ts
23
+ * import { EventEmitter } from 'events';
24
+ * import { FallbackVideoProxy } from './FallbackVideoProxy.js';
25
+ *
26
+ * const emitter = new EventEmitter();
27
+ * emitter.on('video:generate:fallback', (evt) => {
28
+ * console.warn(`Video fallback: ${evt.from} -> ${evt.to} (${evt.reason})`);
29
+ * });
30
+ *
31
+ * const proxy = new FallbackVideoProxy(
32
+ * [runwayProvider, pikaProvider, klingProvider],
33
+ * emitter,
34
+ * );
35
+ *
36
+ * // If Runway fails, Pika is tried, then Kling.
37
+ * const result = await proxy.generateVideo(request);
38
+ * ```
39
+ */
40
+ // ---------------------------------------------------------------------------
41
+ // Helpers
42
+ // ---------------------------------------------------------------------------
43
+ /**
44
+ * Extracts a human-readable reason string from an unknown error value.
45
+ */
46
+ function errorReason(err) {
47
+ if (err instanceof Error)
48
+ return err.message;
49
+ return String(err);
50
+ }
51
+ // ---------------------------------------------------------------------------
52
+ // FallbackVideoProxy
53
+ // ---------------------------------------------------------------------------
54
+ /**
55
+ * An {@link IVideoGenerator} that wraps an ordered chain of video providers
56
+ * and implements automatic failover for every operation.
57
+ *
58
+ * ## Retry chain logic
59
+ *
60
+ * Providers are tried left-to-right (index 0 first). The first provider
61
+ * that succeeds returns immediately. When a provider throws:
62
+ *
63
+ * - **If it is NOT the last provider:** a `video:generate:fallback` event is
64
+ * emitted and the next provider is tried.
65
+ * - **If it IS the last provider:** an `AggregateError` containing every
66
+ * collected error is thrown.
67
+ * - **If the chain is empty:** an `Error('No providers in video fallback chain')`
68
+ * is thrown immediately.
69
+ *
70
+ * For the optional `imageToVideo` operation, providers whose
71
+ * {@link IVideoGenerator.supports} returns `false` for `'image-to-video'`
72
+ * are silently skipped, since they are structurally incapable rather than
73
+ * transiently failing.
74
+ */
75
+ export class FallbackVideoProxy {
76
+ /**
77
+ * Creates a new FallbackVideoProxy wrapping the given provider chain.
78
+ *
79
+ * @param chain - Ordered list of video providers to try. Must contain at
80
+ * least one entry for operations to succeed (an empty chain always throws).
81
+ * @param emitter - EventEmitter on which `video:generate:fallback` events
82
+ * are published so callers can observe the failover path.
83
+ *
84
+ * @example
85
+ * ```ts
86
+ * const proxy = new FallbackVideoProxy(
87
+ * [runwayProvider, pikaProvider],
88
+ * new EventEmitter(),
89
+ * );
90
+ * ```
91
+ */
92
+ constructor(chain, emitter) {
93
+ this.chain = chain;
94
+ this.emitter = emitter;
95
+ /** Always `true` — the proxy is ready as soon as it is constructed. */
96
+ this.isInitialized = true;
97
+ this.providerId = chain[0]?.providerId ?? 'fallback-video';
98
+ this.defaultModelId = chain[0]?.defaultModelId;
99
+ }
100
+ // -----------------------------------------------------------------------
101
+ // IVideoGenerator — initialize (no-op for the proxy itself)
102
+ // -----------------------------------------------------------------------
103
+ /**
104
+ * No-op initialisation — individual providers in the chain should already
105
+ * be initialised before being passed to the proxy.
106
+ */
107
+ async initialize(_config) {
108
+ // Each provider in the chain is initialised independently before
109
+ // construction, so the proxy itself has nothing to set up.
110
+ }
111
+ // -----------------------------------------------------------------------
112
+ // IVideoGenerator — supports
113
+ // -----------------------------------------------------------------------
114
+ /**
115
+ * Returns `true` if at least one provider in the chain supports the
116
+ * given capability.
117
+ *
118
+ * @param capability - The capability to query.
119
+ */
120
+ supports(capability) {
121
+ return this.chain.some((provider) => provider.supports(capability));
122
+ }
123
+ // -----------------------------------------------------------------------
124
+ // IVideoGenerator — generateVideo
125
+ // -----------------------------------------------------------------------
126
+ /**
127
+ * Generate a video from a text prompt, falling back through the provider
128
+ * chain on failure.
129
+ *
130
+ * @param request - The generation request forwarded to each provider.
131
+ * @returns The result from the first provider that succeeds.
132
+ * @throws {AggregateError} When every provider in the chain fails.
133
+ * @throws {Error} When the chain is empty.
134
+ */
135
+ async generateVideo(request) {
136
+ return this.runWithFallback('generateVideo', (provider) => provider.generateVideo(request));
137
+ }
138
+ // -----------------------------------------------------------------------
139
+ // IVideoGenerator — imageToVideo (optional)
140
+ // -----------------------------------------------------------------------
141
+ /**
142
+ * Generate a video from a source image, falling back through providers
143
+ * that support image-to-video.
144
+ *
145
+ * Providers whose {@link IVideoGenerator.supports} returns `false` for
146
+ * `'image-to-video'` are silently skipped.
147
+ *
148
+ * @param request - The image-to-video request forwarded to each capable provider.
149
+ * @returns The result from the first provider that succeeds.
150
+ * @throws {AggregateError} When every provider fails or does not support image-to-video.
151
+ */
152
+ async imageToVideo(request) {
153
+ return this.runWithFallback('imageToVideo', (provider) => {
154
+ if (!provider.supports('image-to-video') || typeof provider.imageToVideo !== 'function') {
155
+ throw Object.assign(new Error(`Provider "${provider.providerId}" does not support imageToVideo.`), { name: 'ImageToVideoNotSupportedError' });
156
+ }
157
+ return provider.imageToVideo(request);
158
+ });
159
+ }
160
+ // -----------------------------------------------------------------------
161
+ // IVideoGenerator — shutdown (optional)
162
+ // -----------------------------------------------------------------------
163
+ /**
164
+ * Shuts down all providers in the chain. Errors are caught per-provider
165
+ * so a single provider's failure does not prevent the others from
166
+ * cleaning up.
167
+ */
168
+ async shutdown() {
169
+ for (const provider of this.chain) {
170
+ if (typeof provider.shutdown === 'function') {
171
+ try {
172
+ await provider.shutdown();
173
+ }
174
+ catch {
175
+ // Swallow individual shutdown errors — best effort.
176
+ }
177
+ }
178
+ }
179
+ }
180
+ // -----------------------------------------------------------------------
181
+ // Core fallback loop
182
+ // -----------------------------------------------------------------------
183
+ /**
184
+ * Executes an operation against each provider in the chain until one
185
+ * succeeds or all have been exhausted.
186
+ *
187
+ * Providers that throw an error whose `name` ends with `NotSupportedError`
188
+ * are treated as structurally incapable — the reason is recorded as
189
+ * "not supported" rather than the raw error message.
190
+ *
191
+ * @param operationName - Human-readable name of the operation (for error messages).
192
+ * @param execute - Async callback that runs the operation on a single provider.
193
+ * @returns The result from the first successful provider.
194
+ * @throws {AggregateError} When every provider fails.
195
+ */
196
+ async runWithFallback(operationName, execute) {
197
+ if (this.chain.length === 0) {
198
+ throw new Error('No providers in video fallback chain');
199
+ }
200
+ const errors = [];
201
+ for (let i = 0; i < this.chain.length; i++) {
202
+ const provider = this.chain[i];
203
+ try {
204
+ return await execute(provider);
205
+ }
206
+ catch (err) {
207
+ const isNotSupported = err instanceof Error && err.name.endsWith('NotSupportedError');
208
+ const reason = isNotSupported
209
+ ? `${operationName} not supported`
210
+ : errorReason(err);
211
+ errors.push(err instanceof Error ? err : new Error(String(err)));
212
+ // Emit a fallback event when there is a next provider to try.
213
+ if (i < this.chain.length - 1) {
214
+ const event = {
215
+ type: 'video:generate:fallback',
216
+ from: provider.providerId,
217
+ to: this.chain[i + 1].providerId,
218
+ reason,
219
+ };
220
+ this.emitter.emit('video:generate:fallback', event);
221
+ }
222
+ }
223
+ }
224
+ // All providers exhausted — throw an aggregate error.
225
+ throw new AggregateError(errors, `All ${this.chain.length} video providers failed for ${operationName}: ${errors.map((e) => e.message).join('; ')}`);
226
+ }
227
+ }
228
+ //# sourceMappingURL=FallbackVideoProxy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FallbackVideoProxy.js","sourceRoot":"","sources":["../../../src/core/video/FallbackVideoProxy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * @file IVideoAnalyzer.ts
3
+ * Provider interface for video understanding / analysis.
4
+ *
5
+ * Implementations typically wrap a multimodal LLM (Gemini, GPT-4o, Claude)
6
+ * or a dedicated video-understanding API to extract descriptions, scene
7
+ * segments, detected objects, and on-screen text from a video.
8
+ *
9
+ * @see {@link IVideoGenerator} for the write-side generation interface.
10
+ */
11
+ import type { VideoAnalyzeRequest, VideoAnalysis } from './types.js';
12
+ /**
13
+ * Abstraction over a video analysis / understanding backend.
14
+ *
15
+ * Unlike {@link IVideoGenerator}, analysis is typically a single-shot
16
+ * operation with no capability negotiation required — every analyser is
17
+ * expected to accept either a URL or a raw buffer and return a structured
18
+ * {@link VideoAnalysis}.
19
+ */
20
+ export interface IVideoAnalyzer {
21
+ /**
22
+ * Analyse a video and return structured understanding results.
23
+ *
24
+ * @param request - The analysis parameters (video source + optional prompt).
25
+ * @returns Structured analysis including description, scenes, objects, etc.
26
+ */
27
+ analyzeVideo(request: VideoAnalyzeRequest): Promise<VideoAnalysis>;
28
+ }
29
+ //# sourceMappingURL=IVideoAnalyzer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IVideoAnalyzer.d.ts","sourceRoot":"","sources":["../../../src/core/video/IVideoAnalyzer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAMrE;;;;;;;GAOG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;OAKG;IACH,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;CACpE"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @file IVideoAnalyzer.ts
3
+ * Provider interface for video understanding / analysis.
4
+ *
5
+ * Implementations typically wrap a multimodal LLM (Gemini, GPT-4o, Claude)
6
+ * or a dedicated video-understanding API to extract descriptions, scene
7
+ * segments, detected objects, and on-screen text from a video.
8
+ *
9
+ * @see {@link IVideoGenerator} for the write-side generation interface.
10
+ */
11
+ export {};
12
+ //# sourceMappingURL=IVideoAnalyzer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IVideoAnalyzer.js","sourceRoot":"","sources":["../../../src/core/video/IVideoAnalyzer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * @file IVideoGenerator.ts
3
+ * Provider interface for video generation (text-to-video and image-to-video).
4
+ *
5
+ * Follows the same pattern as {@link IImageProvider} in the image subsystem:
6
+ * each concrete provider implements this interface, and instances are composed
7
+ * into a {@link FallbackVideoProxy} chain for automatic failover.
8
+ *
9
+ * @see {@link FallbackVideoProxy} for the failover wrapper.
10
+ * @see {@link IVideoAnalyzer} for the read-side analysis interface.
11
+ */
12
+ import type { VideoGenerateRequest, ImageToVideoRequest, VideoResult } from './types.js';
13
+ /**
14
+ * Abstraction over a video generation backend (Runway, Pika, Kling, Luma,
15
+ * Stable Video, Google Veo, Replicate, etc.).
16
+ *
17
+ * ## Capability negotiation
18
+ *
19
+ * Not every provider supports every modality. The {@link supports} method
20
+ * lets callers (and the {@link FallbackVideoProxy}) query whether a given
21
+ * capability is available before invoking it.
22
+ *
23
+ * ## Lifecycle
24
+ *
25
+ * 1. Construct the provider.
26
+ * 2. Call {@link initialize} with provider-specific configuration (API keys,
27
+ * base URLs, etc.).
28
+ * 3. Use {@link generateVideo} and/or {@link imageToVideo}.
29
+ * 4. Optionally call {@link shutdown} to release resources.
30
+ */
31
+ export interface IVideoGenerator {
32
+ /** Unique identifier for this provider (e.g. `'runway'`, `'pika'`). */
33
+ readonly providerId: string;
34
+ /** Whether {@link initialize} has been called successfully. */
35
+ readonly isInitialized: boolean;
36
+ /** Default model used when the request omits `modelId`. */
37
+ readonly defaultModelId?: string;
38
+ /**
39
+ * Initialise the provider with runtime configuration.
40
+ *
41
+ * @param config - Provider-specific key/value pairs (API keys, endpoints,
42
+ * model overrides, etc.).
43
+ */
44
+ initialize(config: Record<string, unknown>): Promise<void>;
45
+ /**
46
+ * Generate a video from a text prompt.
47
+ *
48
+ * @param request - The generation parameters.
49
+ * @returns A result envelope containing one or more generated videos.
50
+ */
51
+ generateVideo(request: VideoGenerateRequest): Promise<VideoResult>;
52
+ /**
53
+ * Generate a video from a source image and a motion prompt.
54
+ *
55
+ * This method is optional — providers that do not support image-to-video
56
+ * should either omit it or have {@link supports} return `false` for
57
+ * `'image-to-video'`.
58
+ *
59
+ * @param request - The image-to-video parameters.
60
+ * @returns A result envelope containing one or more generated videos.
61
+ */
62
+ imageToVideo?(request: ImageToVideoRequest): Promise<VideoResult>;
63
+ /**
64
+ * Query whether this provider supports a given capability.
65
+ *
66
+ * @param capability - The capability to check.
67
+ * @returns `true` if the provider can handle the requested capability.
68
+ */
69
+ supports(capability: 'text-to-video' | 'image-to-video'): boolean;
70
+ /**
71
+ * Release any resources held by the provider (HTTP connections, polling
72
+ * loops, temp files, etc.).
73
+ */
74
+ shutdown?(): Promise<void>;
75
+ }
76
+ //# sourceMappingURL=IVideoGenerator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IVideoGenerator.d.ts","sourceRoot":"","sources":["../../../src/core/video/IVideoGenerator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAMzF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,eAAe;IAC9B,uEAAuE;IACvE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B,+DAA+D;IAC/D,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAEhC,2DAA2D;IAC3D,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAEjC;;;;;OAKG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3D;;;;;OAKG;IACH,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAEnE;;;;;;;;;OASG;IACH,YAAY,CAAC,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAElE;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,EAAE,eAAe,GAAG,gBAAgB,GAAG,OAAO,CAAC;IAElE;;;OAGG;IACH,QAAQ,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @file IVideoGenerator.ts
3
+ * Provider interface for video generation (text-to-video and image-to-video).
4
+ *
5
+ * Follows the same pattern as {@link IImageProvider} in the image subsystem:
6
+ * each concrete provider implements this interface, and instances are composed
7
+ * into a {@link FallbackVideoProxy} chain for automatic failover.
8
+ *
9
+ * @see {@link FallbackVideoProxy} for the failover wrapper.
10
+ * @see {@link IVideoAnalyzer} for the read-side analysis interface.
11
+ */
12
+ export {};
13
+ //# sourceMappingURL=IVideoGenerator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IVideoGenerator.js","sourceRoot":"","sources":["../../../src/core/video/IVideoGenerator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG"}