vidspotai-shared 1.0.70-dev.0 → 1.0.70

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 (505) hide show
  1. package/lib/globals/aiModels/enums.d.ts +6 -63
  2. package/lib/globals/aiModels/enums.d.ts.map +1 -1
  3. package/lib/globals/aiModels/enums.js +9 -78
  4. package/lib/globals/aiModels/index.d.ts +30 -2
  5. package/lib/globals/aiModels/index.d.ts.map +1 -1
  6. package/lib/globals/aiModels/index.js +35 -7
  7. package/lib/globals/aiModels/providers/bytedance.d.ts.map +1 -1
  8. package/lib/globals/aiModels/providers/bytedance.js +7 -19
  9. package/lib/globals/aiModels/providers/google.d.ts.map +1 -1
  10. package/lib/globals/aiModels/providers/google.js +2 -150
  11. package/lib/globals/aiModels/providers/kling.d.ts.map +1 -1
  12. package/lib/globals/aiModels/providers/kling.js +37 -280
  13. package/lib/globals/aiModels/providers/minimax.d.ts.map +1 -1
  14. package/lib/globals/aiModels/providers/minimax.js +11 -76
  15. package/lib/globals/aiModels/providers/openai.d.ts.map +1 -1
  16. package/lib/globals/aiModels/providers/openai.js +6 -90
  17. package/lib/globals/aiModels/providers/pixverse.d.ts.map +1 -1
  18. package/lib/globals/aiModels/providers/pixverse.js +29 -111
  19. package/lib/globals/aiModels/providers/runway.d.ts.map +1 -1
  20. package/lib/globals/aiModels/providers/runway.js +2 -64
  21. package/lib/globals/aiModels/types.d.ts +13 -20
  22. package/lib/globals/aiModels/types.d.ts.map +1 -1
  23. package/lib/globals/ttsModels/index.d.ts +0 -2
  24. package/lib/globals/ttsModels/index.d.ts.map +1 -1
  25. package/lib/globals/ttsModels/index.js +1 -9
  26. package/lib/globals/ttsModels/types.d.ts +1 -1
  27. package/lib/globals/ttsModels/types.d.ts.map +1 -1
  28. package/lib/globals/ttsModels/voices.d.ts +4 -39
  29. package/lib/globals/ttsModels/voices.d.ts.map +1 -1
  30. package/lib/globals/ttsModels/voices.js +26 -273
  31. package/lib/globals/types.d.ts +1 -59
  32. package/lib/globals/types.d.ts.map +1 -1
  33. package/lib/globals/types.js +2 -81
  34. package/lib/index.d.ts +0 -1
  35. package/lib/index.d.ts.map +1 -1
  36. package/lib/index.js +0 -1
  37. package/lib/models/index.d.ts +0 -7
  38. package/lib/models/index.d.ts.map +1 -1
  39. package/lib/models/index.js +0 -7
  40. package/lib/models/user.model.d.ts +1 -12
  41. package/lib/models/user.model.d.ts.map +1 -1
  42. package/lib/models/video.model.d.ts +19 -120
  43. package/lib/models/video.model.d.ts.map +1 -1
  44. package/lib/models/video.model.js +0 -10
  45. package/lib/services/aiGen/aiGenFactory.service.d.ts +1 -21
  46. package/lib/services/aiGen/aiGenFactory.service.d.ts.map +1 -1
  47. package/lib/services/aiGen/aiGenFactory.service.js +21 -84
  48. package/lib/services/aiGen/helpers.d.ts.map +1 -1
  49. package/lib/services/aiGen/helpers.js +0 -10
  50. package/lib/services/aiGen/providers/alibaba/alibaba.d.ts +3 -14
  51. package/lib/services/aiGen/providers/alibaba/alibaba.d.ts.map +1 -1
  52. package/lib/services/aiGen/providers/alibaba/alibaba.js +22 -155
  53. package/lib/services/aiGen/providers/azure/azure.service.d.ts +14 -0
  54. package/lib/services/aiGen/providers/azure/azure.service.d.ts.map +1 -0
  55. package/lib/services/aiGen/providers/azure/azure.service.js +108 -0
  56. package/lib/services/aiGen/providers/azure/index.d.ts +2 -0
  57. package/lib/services/aiGen/providers/azure/index.d.ts.map +1 -0
  58. package/lib/services/aiGen/providers/{pexels → azure}/index.js +1 -1
  59. package/lib/services/aiGen/providers/baseAiGenProvider.service.d.ts +4 -22
  60. package/lib/services/aiGen/providers/baseAiGenProvider.service.d.ts.map +1 -1
  61. package/lib/services/aiGen/providers/baseAiGenProvider.service.js +0 -32
  62. package/lib/services/aiGen/providers/bytedance/bytedance.service.d.ts.map +1 -1
  63. package/lib/services/aiGen/providers/bytedance/bytedance.service.js +25 -13
  64. package/lib/services/aiGen/providers/google/google.service.d.ts +2 -11
  65. package/lib/services/aiGen/providers/google/google.service.d.ts.map +1 -1
  66. package/lib/services/aiGen/providers/google/google.service.js +28 -245
  67. package/lib/services/aiGen/providers/index.d.ts +0 -3
  68. package/lib/services/aiGen/providers/index.d.ts.map +1 -1
  69. package/lib/services/aiGen/providers/index.js +0 -3
  70. package/lib/services/aiGen/providers/kling/index.d.ts +0 -1
  71. package/lib/services/aiGen/providers/kling/index.d.ts.map +1 -1
  72. package/lib/services/aiGen/providers/kling/index.js +0 -1
  73. package/lib/services/aiGen/providers/kling/kling.service.d.ts +1 -12
  74. package/lib/services/aiGen/providers/kling/kling.service.d.ts.map +1 -1
  75. package/lib/services/aiGen/providers/kling/kling.service.js +26 -357
  76. package/lib/services/aiGen/providers/kling/types.d.ts +0 -105
  77. package/lib/services/aiGen/providers/kling/types.d.ts.map +1 -1
  78. package/lib/services/aiGen/providers/minimax/minimax.service.d.ts +2 -15
  79. package/lib/services/aiGen/providers/minimax/minimax.service.d.ts.map +1 -1
  80. package/lib/services/aiGen/providers/minimax/minimax.service.js +5 -128
  81. package/lib/services/aiGen/providers/minimax/types.d.ts +1 -10
  82. package/lib/services/aiGen/providers/minimax/types.d.ts.map +1 -1
  83. package/lib/services/aiGen/providers/openai/openai.service.d.ts +2 -8
  84. package/lib/services/aiGen/providers/openai/openai.service.d.ts.map +1 -1
  85. package/lib/services/aiGen/providers/openai/openai.service.js +7 -184
  86. package/lib/services/aiGen/providers/pixverse/pixverse.service.d.ts.map +1 -1
  87. package/lib/services/aiGen/providers/pixverse/pixverse.service.js +2 -125
  88. package/lib/services/aiGen/providers/runway/runway.service.d.ts +2 -12
  89. package/lib/services/aiGen/providers/runway/runway.service.d.ts.map +1 -1
  90. package/lib/services/aiGen/providers/runway/runway.service.js +21 -224
  91. package/lib/services/aiGen/providers/types.d.ts +6 -263
  92. package/lib/services/aiGen/providers/types.d.ts.map +1 -1
  93. package/lib/services/analytics.service.js +4 -2
  94. package/lib/services/bullmq.service.d.ts +1 -6
  95. package/lib/services/bullmq.service.d.ts.map +1 -1
  96. package/lib/services/bullmq.service.js +14 -62
  97. package/lib/services/credit.service.d.ts.map +1 -1
  98. package/lib/services/credit.service.js +7 -45
  99. package/lib/services/firestore.service.d.ts +0 -19
  100. package/lib/services/firestore.service.d.ts.map +1 -1
  101. package/lib/services/firestore.service.js +0 -33
  102. package/lib/services/gcp/index.d.ts +0 -1
  103. package/lib/services/gcp/index.d.ts.map +1 -1
  104. package/lib/services/gcp/index.js +0 -1
  105. package/lib/services/index.d.ts +0 -13
  106. package/lib/services/index.d.ts.map +1 -1
  107. package/lib/services/index.js +0 -13
  108. package/lib/services/redis.service.d.ts +0 -9
  109. package/lib/services/redis.service.d.ts.map +1 -1
  110. package/lib/services/redis.service.js +11 -20
  111. package/lib/services/tts/index.d.ts +0 -2
  112. package/lib/services/tts/index.d.ts.map +1 -1
  113. package/lib/services/tts/index.js +0 -2
  114. package/lib/services/tts/providers/elevenlabs.service.d.ts.map +1 -1
  115. package/lib/services/tts/providers/elevenlabs.service.js +24 -91
  116. package/lib/services/tts/ttsFactory.service.d.ts.map +1 -1
  117. package/lib/services/tts/ttsFactory.service.js +0 -6
  118. package/lib/services/tts/types.d.ts +0 -33
  119. package/lib/services/tts/types.d.ts.map +1 -1
  120. package/lib/utils/errors.d.ts +0 -8
  121. package/lib/utils/errors.d.ts.map +1 -1
  122. package/lib/utils/errors.js +0 -8
  123. package/lib/utils/helpers.d.ts +0 -13
  124. package/lib/utils/helpers.d.ts.map +1 -1
  125. package/lib/utils/helpers.js +11 -48
  126. package/lib/utils/logger.d.ts.map +1 -1
  127. package/lib/utils/logger.js +1 -37
  128. package/package.json +1 -5
  129. package/lib/globals/aiModels/providers/alibaba.d.ts +0 -4
  130. package/lib/globals/aiModels/providers/alibaba.d.ts.map +0 -1
  131. package/lib/globals/aiModels/providers/alibaba.js +0 -194
  132. package/lib/globals/aiModels/providers/elevenlabs.d.ts +0 -14
  133. package/lib/globals/aiModels/providers/elevenlabs.d.ts.map +0 -1
  134. package/lib/globals/aiModels/providers/elevenlabs.js +0 -29
  135. package/lib/globals/aiModels/providers/pixverseTemplates.d.ts +0 -36
  136. package/lib/globals/aiModels/providers/pixverseTemplates.d.ts.map +0 -1
  137. package/lib/globals/aiModels/providers/pixverseTemplates.js +0 -42
  138. package/lib/globals/aiModels/tierHelpers.d.ts +0 -33
  139. package/lib/globals/aiModels/tierHelpers.d.ts.map +0 -1
  140. package/lib/globals/aiModels/tierHelpers.js +0 -109
  141. package/lib/globals/ttsModels/providers/minimax.d.ts +0 -8
  142. package/lib/globals/ttsModels/providers/minimax.d.ts.map +0 -1
  143. package/lib/globals/ttsModels/providers/minimax.js +0 -18
  144. package/lib/globals/ttsModels/providers/openai.d.ts +0 -12
  145. package/lib/globals/ttsModels/providers/openai.d.ts.map +0 -1
  146. package/lib/globals/ttsModels/providers/openai.js +0 -22
  147. package/lib/models/agent.model.d.ts +0 -363
  148. package/lib/models/agent.model.d.ts.map +0 -1
  149. package/lib/models/agent.model.js +0 -21
  150. package/lib/models/cachedAsset.model.d.ts +0 -18
  151. package/lib/models/cachedAsset.model.d.ts.map +0 -1
  152. package/lib/models/cachedAsset.model.js +0 -2
  153. package/lib/models/cachedRawAsset.model.d.ts +0 -20
  154. package/lib/models/cachedRawAsset.model.d.ts.map +0 -1
  155. package/lib/models/cachedRawAsset.model.js +0 -2
  156. package/lib/models/image.model.d.ts +0 -47
  157. package/lib/models/image.model.d.ts.map +0 -1
  158. package/lib/models/image.model.js +0 -2
  159. package/lib/models/mediaUpload.model.d.ts +0 -19
  160. package/lib/models/mediaUpload.model.d.ts.map +0 -1
  161. package/lib/models/mediaUpload.model.js +0 -2
  162. package/lib/models/notification.model.d.ts +0 -25
  163. package/lib/models/notification.model.d.ts.map +0 -1
  164. package/lib/models/notification.model.js +0 -2
  165. package/lib/models/ref.model.d.ts +0 -80
  166. package/lib/models/ref.model.d.ts.map +0 -1
  167. package/lib/models/ref.model.js +0 -13
  168. package/lib/models/share.model.d.ts +0 -29
  169. package/lib/models/share.model.d.ts.map +0 -1
  170. package/lib/models/share.model.js +0 -2
  171. package/lib/schemas/agentPersona.schema.d.ts +0 -10
  172. package/lib/schemas/agentPersona.schema.d.ts.map +0 -1
  173. package/lib/schemas/agentPersona.schema.js +0 -11
  174. package/lib/schemas/agentRunJob.schema.d.ts +0 -105
  175. package/lib/schemas/agentRunJob.schema.d.ts.map +0 -1
  176. package/lib/schemas/agentRunJob.schema.js +0 -88
  177. package/lib/schemas/brandKit.schema.d.ts +0 -113
  178. package/lib/schemas/brandKit.schema.d.ts.map +0 -1
  179. package/lib/schemas/brandKit.schema.js +0 -46
  180. package/lib/schemas/brief.schema.d.ts +0 -263
  181. package/lib/schemas/brief.schema.d.ts.map +0 -1
  182. package/lib/schemas/brief.schema.js +0 -157
  183. package/lib/schemas/index.d.ts +0 -7
  184. package/lib/schemas/index.d.ts.map +0 -1
  185. package/lib/schemas/index.js +0 -22
  186. package/lib/schemas/project.schema.d.ts +0 -1025
  187. package/lib/schemas/project.schema.d.ts.map +0 -1
  188. package/lib/schemas/project.schema.js +0 -256
  189. package/lib/schemas/videoPlan.schema.d.ts +0 -590
  190. package/lib/schemas/videoPlan.schema.d.ts.map +0 -1
  191. package/lib/schemas/videoPlan.schema.js +0 -412
  192. package/lib/services/agent/beatSnap.d.ts +0 -10
  193. package/lib/services/agent/beatSnap.d.ts.map +0 -1
  194. package/lib/services/agent/beatSnap.js +0 -128
  195. package/lib/services/agent/bibleBuilder.d.ts +0 -43
  196. package/lib/services/agent/bibleBuilder.d.ts.map +0 -1
  197. package/lib/services/agent/bibleBuilder.js +0 -102
  198. package/lib/services/agent/bibleImageVision.d.ts +0 -45
  199. package/lib/services/agent/bibleImageVision.d.ts.map +0 -1
  200. package/lib/services/agent/bibleImageVision.js +0 -169
  201. package/lib/services/agent/chatAgent.d.ts +0 -79
  202. package/lib/services/agent/chatAgent.d.ts.map +0 -1
  203. package/lib/services/agent/chatAgent.js +0 -136
  204. package/lib/services/agent/costPreflight.d.ts +0 -61
  205. package/lib/services/agent/costPreflight.d.ts.map +0 -1
  206. package/lib/services/agent/costPreflight.js +0 -143
  207. package/lib/services/agent/critic.d.ts +0 -103
  208. package/lib/services/agent/critic.d.ts.map +0 -1
  209. package/lib/services/agent/critic.js +0 -139
  210. package/lib/services/agent/editClassifier.d.ts +0 -262
  211. package/lib/services/agent/editClassifier.d.ts.map +0 -1
  212. package/lib/services/agent/editClassifier.js +0 -186
  213. package/lib/services/agent/eval/index.d.ts +0 -5
  214. package/lib/services/agent/eval/index.d.ts.map +0 -1
  215. package/lib/services/agent/eval/index.js +0 -20
  216. package/lib/services/agent/eval/judge.d.ts +0 -14
  217. package/lib/services/agent/eval/judge.d.ts.map +0 -1
  218. package/lib/services/agent/eval/judge.js +0 -96
  219. package/lib/services/agent/eval/recorder.d.ts +0 -28
  220. package/lib/services/agent/eval/recorder.d.ts.map +0 -1
  221. package/lib/services/agent/eval/recorder.js +0 -100
  222. package/lib/services/agent/eval/seedBriefs.d.ts +0 -16
  223. package/lib/services/agent/eval/seedBriefs.d.ts.map +0 -1
  224. package/lib/services/agent/eval/seedBriefs.js +0 -1188
  225. package/lib/services/agent/eval/types.d.ts +0 -230
  226. package/lib/services/agent/eval/types.d.ts.map +0 -1
  227. package/lib/services/agent/eval/types.js +0 -73
  228. package/lib/services/agent/executor.d.ts +0 -141
  229. package/lib/services/agent/executor.d.ts.map +0 -1
  230. package/lib/services/agent/executor.js +0 -561
  231. package/lib/services/agent/globalActions.d.ts +0 -49
  232. package/lib/services/agent/globalActions.d.ts.map +0 -1
  233. package/lib/services/agent/globalActions.js +0 -328
  234. package/lib/services/agent/index.d.ts +0 -38
  235. package/lib/services/agent/index.d.ts.map +0 -1
  236. package/lib/services/agent/index.js +0 -53
  237. package/lib/services/agent/llmCaller.d.ts +0 -144
  238. package/lib/services/agent/llmCaller.d.ts.map +0 -1
  239. package/lib/services/agent/llmCaller.js +0 -16
  240. package/lib/services/agent/llmCallerAnthropic.d.ts +0 -90
  241. package/lib/services/agent/llmCallerAnthropic.d.ts.map +0 -1
  242. package/lib/services/agent/llmCallerAnthropic.js +0 -255
  243. package/lib/services/agent/llmCallerGateway.d.ts +0 -61
  244. package/lib/services/agent/llmCallerGateway.d.ts.map +0 -1
  245. package/lib/services/agent/llmCallerGateway.js +0 -360
  246. package/lib/services/agent/llmCallerRegistry.d.ts +0 -6
  247. package/lib/services/agent/llmCallerRegistry.d.ts.map +0 -1
  248. package/lib/services/agent/llmCallerRegistry.js +0 -39
  249. package/lib/services/agent/modelQualityNotes.d.ts +0 -100
  250. package/lib/services/agent/modelQualityNotes.d.ts.map +0 -1
  251. package/lib/services/agent/modelQualityNotes.js +0 -248
  252. package/lib/services/agent/modelRouter.d.ts +0 -41
  253. package/lib/services/agent/modelRouter.d.ts.map +0 -1
  254. package/lib/services/agent/modelRouter.js +0 -65
  255. package/lib/services/agent/musicSelect.d.ts +0 -23
  256. package/lib/services/agent/musicSelect.d.ts.map +0 -1
  257. package/lib/services/agent/musicSelect.js +0 -109
  258. package/lib/services/agent/overlayRenderer.d.ts +0 -67
  259. package/lib/services/agent/overlayRenderer.d.ts.map +0 -1
  260. package/lib/services/agent/overlayRenderer.js +0 -253
  261. package/lib/services/agent/perSceneCritic.d.ts +0 -90
  262. package/lib/services/agent/perSceneCritic.d.ts.map +0 -1
  263. package/lib/services/agent/perSceneCritic.js +0 -125
  264. package/lib/services/agent/personas.d.ts +0 -78
  265. package/lib/services/agent/personas.d.ts.map +0 -1
  266. package/lib/services/agent/personas.js +0 -177
  267. package/lib/services/agent/planDiff.d.ts +0 -76
  268. package/lib/services/agent/planDiff.d.ts.map +0 -1
  269. package/lib/services/agent/planDiff.js +0 -182
  270. package/lib/services/agent/planMutations.d.ts +0 -46
  271. package/lib/services/agent/planMutations.d.ts.map +0 -1
  272. package/lib/services/agent/planMutations.js +0 -120
  273. package/lib/services/agent/planner/Planner.d.ts +0 -107
  274. package/lib/services/agent/planner/Planner.d.ts.map +0 -1
  275. package/lib/services/agent/planner/Planner.js +0 -591
  276. package/lib/services/agent/planner/overlaySanity.d.ts +0 -7
  277. package/lib/services/agent/planner/overlaySanity.d.ts.map +0 -1
  278. package/lib/services/agent/planner/overlaySanity.js +0 -86
  279. package/lib/services/agent/planner/promptSections.d.ts +0 -25
  280. package/lib/services/agent/planner/promptSections.d.ts.map +0 -1
  281. package/lib/services/agent/planner/promptSections.js +0 -174
  282. package/lib/services/agent/planner/repair.d.ts +0 -16
  283. package/lib/services/agent/planner/repair.d.ts.map +0 -1
  284. package/lib/services/agent/planner/repair.js +0 -51
  285. package/lib/services/agent/planner/structuralRules.d.ts +0 -10
  286. package/lib/services/agent/planner/structuralRules.d.ts.map +0 -1
  287. package/lib/services/agent/planner/structuralRules.js +0 -111
  288. package/lib/services/agent/planner/validators.d.ts +0 -65
  289. package/lib/services/agent/planner/validators.d.ts.map +0 -1
  290. package/lib/services/agent/planner/validators.js +0 -284
  291. package/lib/services/agent/planner.d.ts +0 -3
  292. package/lib/services/agent/planner.d.ts.map +0 -1
  293. package/lib/services/agent/planner.js +0 -14
  294. package/lib/services/agent/providerFallback/chains.d.ts +0 -100
  295. package/lib/services/agent/providerFallback/chains.d.ts.map +0 -1
  296. package/lib/services/agent/providerFallback/chains.js +0 -198
  297. package/lib/services/agent/providerFallback/classifier.d.ts +0 -36
  298. package/lib/services/agent/providerFallback/classifier.d.ts.map +0 -1
  299. package/lib/services/agent/providerFallback/classifier.js +0 -103
  300. package/lib/services/agent/providerFallback/index.d.ts +0 -4
  301. package/lib/services/agent/providerFallback/index.d.ts.map +0 -1
  302. package/lib/services/agent/providerFallback/index.js +0 -19
  303. package/lib/services/agent/providerFallback/withFallback.d.ts +0 -60
  304. package/lib/services/agent/providerFallback/withFallback.d.ts.map +0 -1
  305. package/lib/services/agent/providerFallback/withFallback.js +0 -93
  306. package/lib/services/agent/providerTaskCache.d.ts +0 -50
  307. package/lib/services/agent/providerTaskCache.d.ts.map +0 -1
  308. package/lib/services/agent/providerTaskCache.js +0 -98
  309. package/lib/services/agent/qualityGate.d.ts +0 -82
  310. package/lib/services/agent/qualityGate.d.ts.map +0 -1
  311. package/lib/services/agent/qualityGate.js +0 -232
  312. package/lib/services/agent/referenceImageRenderer.d.ts +0 -37
  313. package/lib/services/agent/referenceImageRenderer.d.ts.map +0 -1
  314. package/lib/services/agent/referenceImageRenderer.js +0 -92
  315. package/lib/services/agent/regenCore.d.ts +0 -60
  316. package/lib/services/agent/regenCore.d.ts.map +0 -1
  317. package/lib/services/agent/regenCore.js +0 -487
  318. package/lib/services/agent/runHelpers.d.ts +0 -44
  319. package/lib/services/agent/runHelpers.d.ts.map +0 -1
  320. package/lib/services/agent/runHelpers.js +0 -196
  321. package/lib/services/agent/sceneLayoutVision.d.ts +0 -90
  322. package/lib/services/agent/sceneLayoutVision.d.ts.map +0 -1
  323. package/lib/services/agent/sceneLayoutVision.js +0 -212
  324. package/lib/services/agent/stitchedVideoCritic.d.ts +0 -136
  325. package/lib/services/agent/stitchedVideoCritic.d.ts.map +0 -1
  326. package/lib/services/agent/stitchedVideoCritic.gemini.d.ts +0 -26
  327. package/lib/services/agent/stitchedVideoCritic.gemini.d.ts.map +0 -1
  328. package/lib/services/agent/stitchedVideoCritic.gemini.js +0 -198
  329. package/lib/services/agent/stitchedVideoCritic.js +0 -162
  330. package/lib/services/agent/taskPoller.d.ts +0 -65
  331. package/lib/services/agent/taskPoller.d.ts.map +0 -1
  332. package/lib/services/agent/taskPoller.js +0 -176
  333. package/lib/services/agent/textOverlayStyles.d.ts +0 -60
  334. package/lib/services/agent/textOverlayStyles.d.ts.map +0 -1
  335. package/lib/services/agent/textOverlayStyles.js +0 -174
  336. package/lib/services/agent/toolRegistry.d.ts +0 -73
  337. package/lib/services/agent/toolRegistry.d.ts.map +0 -1
  338. package/lib/services/agent/toolRegistry.js +0 -95
  339. package/lib/services/agent/tools/analyzeReference.tool.d.ts +0 -36
  340. package/lib/services/agent/tools/analyzeReference.tool.d.ts.map +0 -1
  341. package/lib/services/agent/tools/analyzeReference.tool.js +0 -44
  342. package/lib/services/agent/tools/animateImage.tool.d.ts +0 -24
  343. package/lib/services/agent/tools/animateImage.tool.d.ts.map +0 -1
  344. package/lib/services/agent/tools/animateImage.tool.js +0 -115
  345. package/lib/services/agent/tools/animateImageWithMotionBrush.tool.d.ts +0 -32
  346. package/lib/services/agent/tools/animateImageWithMotionBrush.tool.d.ts.map +0 -1
  347. package/lib/services/agent/tools/animateImageWithMotionBrush.tool.js +0 -135
  348. package/lib/services/agent/tools/composeScene.tool.d.ts +0 -978
  349. package/lib/services/agent/tools/composeScene.tool.d.ts.map +0 -1
  350. package/lib/services/agent/tools/composeScene.tool.js +0 -90
  351. package/lib/services/agent/tools/estimateCost.tool.d.ts +0 -352
  352. package/lib/services/agent/tools/estimateCost.tool.d.ts.map +0 -1
  353. package/lib/services/agent/tools/estimateCost.tool.js +0 -62
  354. package/lib/services/agent/tools/generateAvatarVideo.tool.d.ts +0 -32
  355. package/lib/services/agent/tools/generateAvatarVideo.tool.d.ts.map +0 -1
  356. package/lib/services/agent/tools/generateAvatarVideo.tool.js +0 -143
  357. package/lib/services/agent/tools/generateCaptions.tool.d.ts +0 -42
  358. package/lib/services/agent/tools/generateCaptions.tool.d.ts.map +0 -1
  359. package/lib/services/agent/tools/generateCaptions.tool.js +0 -196
  360. package/lib/services/agent/tools/generateImage.tool.d.ts +0 -74
  361. package/lib/services/agent/tools/generateImage.tool.d.ts.map +0 -1
  362. package/lib/services/agent/tools/generateImage.tool.js +0 -206
  363. package/lib/services/agent/tools/generateVideo.tool.d.ts +0 -31
  364. package/lib/services/agent/tools/generateVideo.tool.d.ts.map +0 -1
  365. package/lib/services/agent/tools/generateVideo.tool.js +0 -153
  366. package/lib/services/agent/tools/generateVoiceover.tool.d.ts +0 -44
  367. package/lib/services/agent/tools/generateVoiceover.tool.d.ts.map +0 -1
  368. package/lib/services/agent/tools/generateVoiceover.tool.js +0 -206
  369. package/lib/services/agent/tools/index.d.ts +0 -20
  370. package/lib/services/agent/tools/index.d.ts.map +0 -1
  371. package/lib/services/agent/tools/index.js +0 -35
  372. package/lib/services/agent/tools/planVideo.tool.d.ts +0 -343
  373. package/lib/services/agent/tools/planVideo.tool.d.ts.map +0 -1
  374. package/lib/services/agent/tools/planVideo.tool.js +0 -46
  375. package/lib/services/agent/tools/render.tool.d.ts +0 -367
  376. package/lib/services/agent/tools/render.tool.d.ts.map +0 -1
  377. package/lib/services/agent/tools/render.tool.js +0 -48
  378. package/lib/services/agent/tools/searchMusic.tool.d.ts +0 -49
  379. package/lib/services/agent/tools/searchMusic.tool.d.ts.map +0 -1
  380. package/lib/services/agent/tools/searchMusic.tool.js +0 -74
  381. package/lib/services/agent/tools/searchStock.tool.d.ts +0 -41
  382. package/lib/services/agent/tools/searchStock.tool.d.ts.map +0 -1
  383. package/lib/services/agent/tools/searchStock.tool.js +0 -314
  384. package/lib/services/agent/tools/searchUserLibrary.tool.d.ts +0 -59
  385. package/lib/services/agent/tools/searchUserLibrary.tool.d.ts.map +0 -1
  386. package/lib/services/agent/tools/searchUserLibrary.tool.js +0 -58
  387. package/lib/services/agent/ttsDuration.d.ts +0 -29
  388. package/lib/services/agent/ttsDuration.d.ts.map +0 -1
  389. package/lib/services/agent/ttsDuration.js +0 -60
  390. package/lib/services/aiGen/canonicalAdapters/cameraControl.types.d.ts +0 -31
  391. package/lib/services/aiGen/canonicalAdapters/cameraControl.types.d.ts.map +0 -1
  392. package/lib/services/aiGen/canonicalAdapters/cameraControl.types.js +0 -2
  393. package/lib/services/aiGen/canonicalAdapters/index.d.ts +0 -3
  394. package/lib/services/aiGen/canonicalAdapters/index.d.ts.map +0 -1
  395. package/lib/services/aiGen/canonicalAdapters/index.js +0 -18
  396. package/lib/services/aiGen/canonicalAdapters/multiShot.types.d.ts +0 -23
  397. package/lib/services/aiGen/canonicalAdapters/multiShot.types.d.ts.map +0 -1
  398. package/lib/services/aiGen/canonicalAdapters/multiShot.types.js +0 -12
  399. package/lib/services/aiGen/providers/elevenlabs/elevenlabs.service.d.ts +0 -18
  400. package/lib/services/aiGen/providers/elevenlabs/elevenlabs.service.d.ts.map +0 -1
  401. package/lib/services/aiGen/providers/elevenlabs/elevenlabs.service.js +0 -102
  402. package/lib/services/aiGen/providers/fal/falImage.service.d.ts +0 -15
  403. package/lib/services/aiGen/providers/fal/falImage.service.d.ts.map +0 -1
  404. package/lib/services/aiGen/providers/fal/falImage.service.js +0 -141
  405. package/lib/services/aiGen/providers/fal/index.d.ts +0 -2
  406. package/lib/services/aiGen/providers/fal/index.d.ts.map +0 -1
  407. package/lib/services/aiGen/providers/fal/index.js +0 -17
  408. package/lib/services/aiGen/providers/kling/cameraAdapter.d.ts +0 -4
  409. package/lib/services/aiGen/providers/kling/cameraAdapter.d.ts.map +0 -1
  410. package/lib/services/aiGen/providers/kling/cameraAdapter.js +0 -53
  411. package/lib/services/aiGen/providers/kling/klingImage.service.d.ts +0 -21
  412. package/lib/services/aiGen/providers/kling/klingImage.service.d.ts.map +0 -1
  413. package/lib/services/aiGen/providers/kling/klingImage.service.js +0 -208
  414. package/lib/services/aiGen/providers/pexels/index.d.ts +0 -2
  415. package/lib/services/aiGen/providers/pexels/index.d.ts.map +0 -1
  416. package/lib/services/aiGen/providers/pexels/pexels.service.d.ts +0 -11
  417. package/lib/services/aiGen/providers/pexels/pexels.service.d.ts.map +0 -1
  418. package/lib/services/aiGen/providers/pexels/pexels.service.js +0 -150
  419. package/lib/services/aiGen/providers/pixabay/index.d.ts +0 -2
  420. package/lib/services/aiGen/providers/pixabay/index.d.ts.map +0 -1
  421. package/lib/services/aiGen/providers/pixabay/index.js +0 -17
  422. package/lib/services/aiGen/providers/pixabay/pixabay.service.d.ts +0 -12
  423. package/lib/services/aiGen/providers/pixabay/pixabay.service.d.ts.map +0 -1
  424. package/lib/services/aiGen/providers/pixabay/pixabay.service.js +0 -156
  425. package/lib/services/aiGen/providers/runway/cameraAdapter.d.ts +0 -3
  426. package/lib/services/aiGen/providers/runway/cameraAdapter.d.ts.map +0 -1
  427. package/lib/services/aiGen/providers/runway/cameraAdapter.js +0 -46
  428. package/lib/services/aiGen/providers/unsplash/index.d.ts +0 -2
  429. package/lib/services/aiGen/providers/unsplash/index.d.ts.map +0 -1
  430. package/lib/services/aiGen/providers/unsplash/index.js +0 -17
  431. package/lib/services/aiGen/providers/unsplash/unsplash.service.d.ts +0 -16
  432. package/lib/services/aiGen/providers/unsplash/unsplash.service.d.ts.map +0 -1
  433. package/lib/services/aiGen/providers/unsplash/unsplash.service.js +0 -131
  434. package/lib/services/apiUsageCounter.service.d.ts +0 -20
  435. package/lib/services/apiUsageCounter.service.d.ts.map +0 -1
  436. package/lib/services/apiUsageCounter.service.js +0 -84
  437. package/lib/services/asr/assemblyai.service.d.ts +0 -72
  438. package/lib/services/asr/assemblyai.service.d.ts.map +0 -1
  439. package/lib/services/asr/assemblyai.service.js +0 -89
  440. package/lib/services/asr/index.d.ts +0 -3
  441. package/lib/services/asr/index.d.ts.map +0 -1
  442. package/lib/services/asr/index.js +0 -18
  443. package/lib/services/asr/whisper.service.d.ts +0 -18
  444. package/lib/services/asr/whisper.service.d.ts.map +0 -1
  445. package/lib/services/asr/whisper.service.js +0 -151
  446. package/lib/services/assetCache.service.d.ts +0 -54
  447. package/lib/services/assetCache.service.d.ts.map +0 -1
  448. package/lib/services/assetCache.service.js +0 -109
  449. package/lib/services/audioAnalysis/index.d.ts +0 -2
  450. package/lib/services/audioAnalysis/index.d.ts.map +0 -1
  451. package/lib/services/audioAnalysis/index.js +0 -17
  452. package/lib/services/audioAnalysis/onsetDetection.service.d.ts +0 -50
  453. package/lib/services/audioAnalysis/onsetDetection.service.d.ts.map +0 -1
  454. package/lib/services/audioAnalysis/onsetDetection.service.js +0 -140
  455. package/lib/services/credits/pricing.d.ts +0 -58
  456. package/lib/services/credits/pricing.d.ts.map +0 -1
  457. package/lib/services/credits/pricing.js +0 -111
  458. package/lib/services/editor/designToProject.d.ts +0 -75
  459. package/lib/services/editor/designToProject.d.ts.map +0 -1
  460. package/lib/services/editor/designToProject.js +0 -295
  461. package/lib/services/editor/planToProject.d.ts +0 -84
  462. package/lib/services/editor/planToProject.d.ts.map +0 -1
  463. package/lib/services/editor/planToProject.js +0 -395
  464. package/lib/services/editor/projectToDesign.d.ts +0 -4
  465. package/lib/services/editor/projectToDesign.d.ts.map +0 -1
  466. package/lib/services/editor/projectToDesign.js +0 -186
  467. package/lib/services/gcp/uploadAudioBuffer.d.ts +0 -13
  468. package/lib/services/gcp/uploadAudioBuffer.d.ts.map +0 -1
  469. package/lib/services/gcp/uploadAudioBuffer.js +0 -28
  470. package/lib/services/musicGen/index.d.ts +0 -6
  471. package/lib/services/musicGen/index.d.ts.map +0 -1
  472. package/lib/services/musicGen/index.js +0 -26
  473. package/lib/services/musicGen/musicSearchFactory.service.d.ts +0 -14
  474. package/lib/services/musicGen/musicSearchFactory.service.d.ts.map +0 -1
  475. package/lib/services/musicGen/musicSearchFactory.service.js +0 -59
  476. package/lib/services/musicGen/providers/curated.service.d.ts +0 -24
  477. package/lib/services/musicGen/providers/curated.service.d.ts.map +0 -1
  478. package/lib/services/musicGen/providers/curated.service.js +0 -173
  479. package/lib/services/musicGen/providers/jamendo.service.d.ts +0 -8
  480. package/lib/services/musicGen/providers/jamendo.service.d.ts.map +0 -1
  481. package/lib/services/musicGen/providers/jamendo.service.js +0 -113
  482. package/lib/services/musicGen/providers/mubert.service.d.ts +0 -10
  483. package/lib/services/musicGen/providers/mubert.service.d.ts.map +0 -1
  484. package/lib/services/musicGen/providers/mubert.service.js +0 -128
  485. package/lib/services/musicGen/types.d.ts +0 -46
  486. package/lib/services/musicGen/types.d.ts.map +0 -1
  487. package/lib/services/musicGen/types.js +0 -10
  488. package/lib/services/notification.service.d.ts +0 -22
  489. package/lib/services/notification.service.d.ts.map +0 -1
  490. package/lib/services/notification.service.js +0 -76
  491. package/lib/services/rateLimiter/distributedRateLimiter.service.d.ts +0 -78
  492. package/lib/services/rateLimiter/distributedRateLimiter.service.d.ts.map +0 -1
  493. package/lib/services/rateLimiter/distributedRateLimiter.service.js +0 -269
  494. package/lib/services/rateLimiter/index.d.ts +0 -2
  495. package/lib/services/rateLimiter/index.d.ts.map +0 -1
  496. package/lib/services/rateLimiter/index.js +0 -17
  497. package/lib/services/redisOptions.d.ts +0 -22
  498. package/lib/services/redisOptions.d.ts.map +0 -1
  499. package/lib/services/redisOptions.js +0 -51
  500. package/lib/services/tts/providers/minimax.service.d.ts +0 -14
  501. package/lib/services/tts/providers/minimax.service.d.ts.map +0 -1
  502. package/lib/services/tts/providers/minimax.service.js +0 -78
  503. package/lib/services/tts/providers/openai.service.d.ts +0 -14
  504. package/lib/services/tts/providers/openai.service.d.ts.map +0 -1
  505. package/lib/services/tts/providers/openai.service.js +0 -73
@@ -1,84 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ApiUsageCounterService = void 0;
4
- const firebase_1 = require("../libs/firebase");
5
- const logger_1 = require("../utils/logger");
6
- /**
7
- * Cheap monthly-call counter for free-tier external APIs (Pexels, Jamendo,
8
- * Mubert, etc.). Lives at `apiUsage/{provider}-{YYYY-MM}` — one doc per
9
- * provider per month — so a single transactional increment per call is the
10
- * hottest write the system needs. Reset cost is zero (new month = new doc).
11
- *
12
- * `tryConsume()` is fail-open: any Firestore error returns `true` so a
13
- * transient outage doesn't take down provider calls. Wrong direction on
14
- * over-spend is preferable to false outages on these free tiers.
15
- *
16
- * Wired into providers right before their external HTTP call. The provider
17
- * is responsible for throwing a `*_RATE_LIMITED` error so upstream can swap
18
- * to a fallback provider.
19
- */
20
- const COLLECTION = "apiUsage";
21
- function currentMonthKey() {
22
- const d = new Date();
23
- const y = d.getUTCFullYear();
24
- const m = String(d.getUTCMonth() + 1).padStart(2, "0");
25
- return `${y}-${m}`;
26
- }
27
- function docId(provider) {
28
- return `${provider}-${currentMonthKey()}`;
29
- }
30
- class ApiUsageCounterService {
31
- /**
32
- * Atomically increments the monthly counter for `provider` and returns
33
- * whether the call is allowed (i.e. the *new* total is ≤ monthlyCap).
34
- *
35
- * Fails open on Firestore error — the call goes through and we log.
36
- */
37
- static async tryConsume(opts) {
38
- const ref = firebase_1.firestore.collection(COLLECTION).doc(docId(opts.provider));
39
- const count = opts.count ?? 1;
40
- try {
41
- const allowed = await firebase_1.firestore.runTransaction(async (tx) => {
42
- const snap = await tx.get(ref);
43
- const used = (snap.data()?.used ?? 0) + count;
44
- if (used > opts.monthlyCap) {
45
- // Don't write — leave the counter as-is so the next reset is clean.
46
- return false;
47
- }
48
- tx.set(ref, {
49
- used: firebase_1.FieldValue.increment(count),
50
- cap: opts.monthlyCap,
51
- updatedAt: firebase_1.FieldValue.serverTimestamp(),
52
- }, { merge: true });
53
- return true;
54
- });
55
- return allowed;
56
- }
57
- catch (err) {
58
- // Fail open: prefer over-spend to false outages on free tiers.
59
- logger_1.logger.error("apiUsageCounter: tryConsume fail-open", {
60
- provider: opts.provider,
61
- err: err instanceof Error ? err.stack ?? err.message : String(err),
62
- });
63
- return true;
64
- }
65
- }
66
- /** Read-only — used by ops dashboards / soft-cap warnings. */
67
- static async getUsed(provider) {
68
- try {
69
- const snap = await firebase_1.firestore
70
- .collection(COLLECTION)
71
- .doc(docId(provider))
72
- .get();
73
- return snap.data()?.used ?? 0;
74
- }
75
- catch (err) {
76
- logger_1.logger.error("apiUsageCounter: getUsed failed", {
77
- provider,
78
- err: err instanceof Error ? err.stack ?? err.message : String(err),
79
- });
80
- return 0;
81
- }
82
- }
83
- }
84
- exports.ApiUsageCounterService = ApiUsageCounterService;
@@ -1,72 +0,0 @@
1
- /**
2
- * AssemblyAI ASR client. Supports submit + poll-to-completion (sync caller flow).
3
- *
4
- * Pricing: Universal-2 model is $0.15/hr (verified 2026-05-11 against
5
- * https://www.assemblyai.com/pricing). Diarization (`speaker_labels`) adds
6
- * ~$0.02/hr (≈ +13%). Long audio (>3 min) should go through the BullMQ async
7
- * path; the inline poll here is bounded at 3 min to stay inside Firebase
8
- * Functions HTTP timeout budgets.
9
- */
10
- export interface TranscribeParams {
11
- audioUrl: string;
12
- /** Hint to AssemblyAI for language autodetect short-circuit (e.g. "en", "es"). */
13
- languageCode?: string;
14
- /** Diarization (speaker labels). Adds ~30% latency. */
15
- speakerLabels?: boolean;
16
- /** Auto-redact PII (SSN, credit cards, etc.). */
17
- redactPii?: boolean;
18
- /** Word-level timestamps in result. */
19
- wordTimestamps?: boolean;
20
- }
21
- export interface TranscribeResult {
22
- id: string;
23
- status: "completed" | "queued" | "processing" | "error";
24
- text?: string;
25
- /** Audio duration in seconds; populated on completion. */
26
- audioDuration?: number;
27
- /** Per-word timestamps (start/end ms). */
28
- words?: Array<{
29
- text: string;
30
- start: number;
31
- end: number;
32
- confidence: number;
33
- speaker?: string;
34
- }>;
35
- /** Per-utterance segments when speakerLabels=true. */
36
- utterances?: Array<{
37
- text: string;
38
- start: number;
39
- end: number;
40
- speaker: string;
41
- confidence: number;
42
- }>;
43
- errorMessage?: string;
44
- }
45
- export declare class AssemblyAIService {
46
- private readonly baseUrl;
47
- private readonly apiKey;
48
- constructor();
49
- private request;
50
- /** Submit a transcription job. Returns the transcript id immediately. */
51
- submit(params: TranscribeParams): Promise<{
52
- id: string;
53
- }>;
54
- checkStatus(id: string): Promise<TranscribeResult>;
55
- /**
56
- * Submit and poll inline until completion. Use for short-to-medium audio.
57
- * Bounded at `timeoutMs` (default 3 min) — caller should fall back to async
58
- * BullMQ flow for longer audio.
59
- */
60
- transcribe(params: TranscribeParams, { timeoutMs, intervalMs }?: {
61
- timeoutMs?: number;
62
- intervalMs?: number;
63
- }): Promise<TranscribeResult>;
64
- /**
65
- * Credit cost for transcription. Universal-2 = $0.15/hr; diarization
66
- * (speakerLabels) adds $0.02/hr (≈ +13%). Routes through the same
67
- * `getCreditsFromCost` helper as every other endpoint so the credit ↔ USD
68
- * ratio (1 credit = $0.10) and the per-call floor stay consistent.
69
- */
70
- getCreditUsed(audioDurationSec: number, speakerLabels?: boolean): number;
71
- }
72
- //# sourceMappingURL=assemblyai.service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"assemblyai.service.d.ts","sourceRoot":"","sources":["../../../src/services/asr/assemblyai.service.ts"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,kFAAkF;IAClF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uDAAuD;IACvD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,iDAAiD;IACjD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,uCAAuC;IACvC,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,WAAW,GAAG,QAAQ,GAAG,YAAY,GAAG,OAAO,CAAC;IACxD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClG,sDAAsD;IACtD,UAAU,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtG,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmC;IAC3D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;;YASlB,OAAO;IAyBrB,yEAAyE;IACnE,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAWzD,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAaxD;;;;OAIG;IACG,UAAU,CACd,MAAM,EAAE,gBAAgB,EACxB,EAAE,SAAmB,EAAE,UAAiB,EAAE,GAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAO,GAC3F,OAAO,CAAC,gBAAgB,CAAC;IAc5B;;;;;OAKG;IACH,aAAa,CAAC,gBAAgB,EAAE,MAAM,EAAE,aAAa,UAAQ,GAAG,MAAM;CAMvE"}
@@ -1,89 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.AssemblyAIService = void 0;
7
- const axios_1 = __importDefault(require("axios"));
8
- const logger_1 = require("../../utils/logger");
9
- const helpers_1 = require("../../utils/helpers");
10
- class AssemblyAIService {
11
- constructor() {
12
- this.baseUrl = "https://api.assemblyai.com/v2";
13
- if (!process.env.ASSEMBLYAI_API_KEY) {
14
- throw new Error("Missing ASSEMBLYAI_API_KEY in environment variables");
15
- }
16
- this.apiKey = process.env.ASSEMBLYAI_API_KEY;
17
- }
18
- async request(endpoint, method, body) {
19
- const config = {
20
- method,
21
- url: `${this.baseUrl}${endpoint}`,
22
- headers: {
23
- Authorization: this.apiKey,
24
- "Content-Type": "application/json",
25
- },
26
- data: body,
27
- timeout: 60000,
28
- validateStatus: () => true,
29
- };
30
- const resp = await axios_1.default.request(config);
31
- if (resp.status < 200 || resp.status >= 300) {
32
- throw new Error(`AssemblyAI API Error: ${resp.status} ${resp.statusText} — ${JSON.stringify(resp.data)}`);
33
- }
34
- return resp.data;
35
- }
36
- /** Submit a transcription job. Returns the transcript id immediately. */
37
- async submit(params) {
38
- const body = {
39
- audio_url: params.audioUrl,
40
- ...(params.languageCode ? { language_code: params.languageCode } : { language_detection: true }),
41
- ...(params.speakerLabels ? { speaker_labels: true } : {}),
42
- ...(params.redactPii ? { redact_pii: true, redact_pii_policies: ["us_social_security_number", "credit_card_number", "email_address", "phone_number"] } : {}),
43
- };
44
- const resp = await this.request("/transcript", "POST", body);
45
- return { id: resp.id };
46
- }
47
- async checkStatus(id) {
48
- const resp = await this.request(`/transcript/${id}`, "GET");
49
- return {
50
- id: resp.id,
51
- status: resp.status,
52
- text: resp.text,
53
- audioDuration: resp.audio_duration,
54
- words: resp.words,
55
- utterances: resp.utterances,
56
- errorMessage: resp.error,
57
- };
58
- }
59
- /**
60
- * Submit and poll inline until completion. Use for short-to-medium audio.
61
- * Bounded at `timeoutMs` (default 3 min) — caller should fall back to async
62
- * BullMQ flow for longer audio.
63
- */
64
- async transcribe(params, { timeoutMs = 180000, intervalMs = 3000 } = {}) {
65
- const { id } = await this.submit(params);
66
- const deadline = Date.now() + timeoutMs;
67
- while (Date.now() < deadline) {
68
- await new Promise((r) => setTimeout(r, intervalMs));
69
- const status = await this.checkStatus(id);
70
- if (status.status === "completed" || status.status === "error")
71
- return status;
72
- }
73
- logger_1.logger.warn("AssemblyAI transcribe timed out — returning processing status", { id });
74
- return { id, status: "processing", errorMessage: "Transcription exceeded inline poll budget; use checkStatus(id) to fetch later." };
75
- }
76
- /**
77
- * Credit cost for transcription. Universal-2 = $0.15/hr; diarization
78
- * (speakerLabels) adds $0.02/hr (≈ +13%). Routes through the same
79
- * `getCreditsFromCost` helper as every other endpoint so the credit ↔ USD
80
- * ratio (1 credit = $0.10) and the per-call floor stay consistent.
81
- */
82
- getCreditUsed(audioDurationSec, speakerLabels = false) {
83
- const ratePerSecond = 0.15 / 3600;
84
- const multiplier = speakerLabels ? 1.133 : 1.0;
85
- const cost = ratePerSecond * audioDurationSec * multiplier;
86
- return (0, helpers_1.getCreditsFromCost)(cost);
87
- }
88
- }
89
- exports.AssemblyAIService = AssemblyAIService;
@@ -1,3 +0,0 @@
1
- export * from "./assemblyai.service";
2
- export * from "./whisper.service";
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/asr/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC"}
@@ -1,18 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./assemblyai.service"), exports);
18
- __exportStar(require("./whisper.service"), exports);
@@ -1,18 +0,0 @@
1
- import type { TranscribeParams, TranscribeResult } from "./assemblyai.service";
2
- export declare class WhisperAsrService {
3
- private readonly client;
4
- constructor();
5
- /**
6
- * Transcribe a remote audio URL. Whisper has no URL-submission endpoint
7
- * (unlike AssemblyAI), so we fetch the bytes into memory first. Subject
8
- * to the 25 MB hard limit — long media should stay on the primary path.
9
- */
10
- transcribe(params: TranscribeParams): Promise<TranscribeResult>;
11
- /**
12
- * Credit cost for Whisper. $0.006/min — routes through the shared
13
- * credit helper to keep the credit↔USD ratio consistent with every
14
- * other endpoint.
15
- */
16
- getCreditUsed(audioDurationSec: number): number;
17
- }
18
- //# sourceMappingURL=whisper.service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"whisper.service.d.ts","sourceRoot":"","sources":["../../../src/services/asr/whisper.service.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AA2B/E,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;;IAShC;;;;OAIG;IACG,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAwDrE;;;;OAIG;IACH,aAAa,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM;CAIhD"}
@@ -1,151 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.WhisperAsrService = void 0;
40
- const axios_1 = __importDefault(require("axios"));
41
- const openai_1 = __importStar(require("openai"));
42
- const logger_1 = require("../../utils/logger");
43
- const helpers_1 = require("../../utils/helpers");
44
- /**
45
- * OpenAI Whisper (`whisper-1`) fallback ASR provider.
46
- *
47
- * Why this is the fallback rather than the primary:
48
- * - More expensive per minute than AssemblyAI ($0.006/min vs $0.0025/min).
49
- * - No native diarization (`speaker_labels`) — caller will get an empty
50
- * `utterances` array when requested. We still log it so the agent can
51
- * decide to drop diarized features rather than silently mis-render.
52
- * - 25 MB file upload limit per request — long-form audio MUST go through
53
- * AssemblyAI's URL submission path.
54
- *
55
- * Why it earns the fallback slot:
56
- * - Zero new infra: reuses the OPENAI_API_KEY already wired for text-gen.
57
- * - Single synchronous call (no polling) → easier failure semantics.
58
- * - Word-level timestamps via `response_format: verbose_json` +
59
- * `timestamp_granularities: ["word"]`.
60
- * - Strong multilingual coverage out of the box.
61
- *
62
- * Pricing (verified 2026-05-16 against https://openai.com/api/pricing):
63
- * whisper-1 = $0.006/min ≈ $0.36/hr (≈ 2.4× AssemblyAI Universal-2).
64
- */
65
- const WHISPER_MAX_BYTES = 25 * 1024 * 1024;
66
- const DOWNLOAD_TIMEOUT_MS = 60000;
67
- class WhisperAsrService {
68
- constructor() {
69
- if (!process.env.OPENAI_API_KEY) {
70
- throw new Error("Missing OPENAI_API_KEY in environment variables — Whisper ASR unavailable");
71
- }
72
- this.client = new openai_1.default({ apiKey: process.env.OPENAI_API_KEY });
73
- }
74
- /**
75
- * Transcribe a remote audio URL. Whisper has no URL-submission endpoint
76
- * (unlike AssemblyAI), so we fetch the bytes into memory first. Subject
77
- * to the 25 MB hard limit — long media should stay on the primary path.
78
- */
79
- async transcribe(params) {
80
- if (params.speakerLabels) {
81
- logger_1.logger.warn("Whisper fallback requested with speakerLabels=true — diarization not supported, returning text only");
82
- }
83
- if (params.redactPii) {
84
- logger_1.logger.warn("Whisper fallback requested with redactPii=true — Whisper has no native PII redaction, returning unredacted transcript");
85
- }
86
- const { data: audioBuf, headers } = await axios_1.default.get(params.audioUrl, {
87
- responseType: "arraybuffer",
88
- timeout: DOWNLOAD_TIMEOUT_MS,
89
- maxContentLength: WHISPER_MAX_BYTES,
90
- maxBodyLength: WHISPER_MAX_BYTES,
91
- });
92
- if (audioBuf.byteLength > WHISPER_MAX_BYTES) {
93
- throw new Error(`WHISPER_PAYLOAD_TOO_LARGE: ${audioBuf.byteLength} bytes > 25 MB cap — re-route to primary ASR for long audio`);
94
- }
95
- const mime = headers["content-type"] ?? "audio/mpeg";
96
- const ext = guessExtension(mime, params.audioUrl);
97
- const file = await (0, openai_1.toFile)(Buffer.from(audioBuf), `audio.${ext}`, { type: mime });
98
- const resp = await this.client.audio.transcriptions.create({
99
- file,
100
- model: "whisper-1",
101
- response_format: "verbose_json",
102
- timestamp_granularities: params.wordTimestamps !== false ? ["word"] : undefined,
103
- language: params.languageCode,
104
- });
105
- const data = resp;
106
- return {
107
- id: `whisper-${Date.now().toString(36)}`,
108
- status: "completed",
109
- text: data.text,
110
- audioDuration: data.duration,
111
- words: (data.words ?? []).map((w) => ({
112
- // AssemblyAI returns word offsets in ms; Whisper returns seconds.
113
- // Normalise to ms so downstream caption renderers don't have to
114
- // know which provider produced the transcript.
115
- text: w.word,
116
- start: Math.round(w.start * 1000),
117
- end: Math.round(w.end * 1000),
118
- confidence: 1,
119
- })),
120
- utterances: [],
121
- };
122
- }
123
- /**
124
- * Credit cost for Whisper. $0.006/min — routes through the shared
125
- * credit helper to keep the credit↔USD ratio consistent with every
126
- * other endpoint.
127
- */
128
- getCreditUsed(audioDurationSec) {
129
- const ratePerSecond = 0.006 / 60;
130
- return (0, helpers_1.getCreditsFromCost)(ratePerSecond * audioDurationSec);
131
- }
132
- }
133
- exports.WhisperAsrService = WhisperAsrService;
134
- function guessExtension(mime, url) {
135
- if (mime.includes("mpeg") || mime.includes("mp3"))
136
- return "mp3";
137
- if (mime.includes("wav"))
138
- return "wav";
139
- if (mime.includes("ogg"))
140
- return "ogg";
141
- if (mime.includes("webm"))
142
- return "webm";
143
- if (mime.includes("m4a") || mime.includes("mp4"))
144
- return "m4a";
145
- if (mime.includes("flac"))
146
- return "flac";
147
- const urlExt = url.split("?")[0]?.split(".").pop()?.toLowerCase();
148
- if (urlExt && /^(mp3|wav|ogg|webm|m4a|mp4|flac)$/.test(urlExt))
149
- return urlExt;
150
- return "mp3";
151
- }
@@ -1,54 +0,0 @@
1
- import { ICachedAssetModel } from "../models/cachedAsset.model";
2
- import { ICachedRawAssetModel } from "../models/cachedRawAsset.model";
3
- /**
4
- * Asset cache + dedupe.
5
- *
6
- * Many agent runs ask for similar things — same VO line, same stock query,
7
- * similar image prompt. Caching by a content-hashed key turns the second
8
- * request into an instant lookup, which is a massive cost lever for bulk runs
9
- * (where the same template variant is generated 100×) and serial creators.
10
- *
11
- * The cache is content-addressed: hash(provider + normalized-input) → the
12
- * resulting asset URL + metadata. Any input change produces a different hash,
13
- * so stale results are impossible.
14
- *
15
- * Backed by Firestore for V1; can move to Redis / GCS metadata index later
16
- * without changing the API.
17
- */
18
- export type CachedAsset = ICachedAssetModel;
19
- export interface AssetCacheKeyParts {
20
- provider: string;
21
- /** Stable input identity — must capture every parameter that affects output. */
22
- input: Record<string, unknown>;
23
- }
24
- export declare class AssetCacheService {
25
- /**
26
- * Compute a stable cache key. Same input → same key, regardless of object
27
- * key order. Use externally to derive the idempotency key for the upstream
28
- * provider call so retries dedupe naturally.
29
- */
30
- static hashKey(parts: AssetCacheKeyParts): string;
31
- static lookup(parts: AssetCacheKeyParts): Promise<CachedAsset | null>;
32
- static store(parts: AssetCacheKeyParts, asset: Omit<CachedAsset, "key" | "createdAt" | "lastAccessedAt" | "hitCount">): Promise<CachedAsset>;
33
- }
34
- /**
35
- * Raw payload cache — sibling to the asset URL cache for things that aren't
36
- * a single asset URL: stock-search responses (lists), VO bytes, etc.
37
- *
38
- * Same content-hash key strategy. TTL is optional — stock results expire
39
- * after 30 min, VOs are immutable so they live until evicted.
40
- *
41
- * Firestore doc cap is 1MB. Callers that may exceed it (VO base64) are
42
- * responsible for skipping the store call when payloads get big.
43
- */
44
- export interface RawCacheKeyParts extends AssetCacheKeyParts {
45
- kind: ICachedRawAssetModel["kind"];
46
- }
47
- export declare class RawAssetCacheService {
48
- static hashKey(parts: RawCacheKeyParts): string;
49
- static lookup<T = unknown>(parts: RawCacheKeyParts): Promise<T | null>;
50
- static store(parts: RawCacheKeyParts, payload: unknown, options?: {
51
- ttlMs?: number;
52
- }): Promise<void>;
53
- }
54
- //# sourceMappingURL=assetCache.service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"assetCache.service.d.ts","sourceRoot":"","sources":["../../src/services/assetCache.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAItE;;;;;;;;;;;;;;GAcG;AAEH,MAAM,MAAM,WAAW,GAAG,iBAAiB,CAAC;AAE5C,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,gFAAgF;IAChF,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,qBAAa,iBAAiB;IAC5B;;;;OAIG;IACH,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,kBAAkB,GAAG,MAAM;WAQpC,MAAM,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;WA0B9D,KAAK,CAChB,KAAK,EAAE,kBAAkB,EACzB,KAAK,EAAE,IAAI,CACT,WAAW,EACX,KAAK,GAAG,WAAW,GAAG,gBAAgB,GAAG,UAAU,CACpD,GACA,OAAO,CAAC,WAAW,CAAC;CAaxB;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,gBAAiB,SAAQ,kBAAkB;IAC1D,IAAI,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC;CACpC;AAED,qBAAa,oBAAoB;IAC/B,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM;WAIlC,MAAM,CAAC,CAAC,GAAG,OAAO,EAC7B,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;WA2BP,KAAK,CAChB,KAAK,EAAE,gBAAgB,EACvB,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAO,GAC/B,OAAO,CAAC,IAAI,CAAC;CAoBjB"}
@@ -1,109 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.RawAssetCacheService = exports.AssetCacheService = void 0;
7
- const crypto_1 = __importDefault(require("crypto"));
8
- const logger_1 = require("../utils/logger");
9
- const firestore_service_1 = require("./firestore.service");
10
- class AssetCacheService {
11
- /**
12
- * Compute a stable cache key. Same input → same key, regardless of object
13
- * key order. Use externally to derive the idempotency key for the upstream
14
- * provider call so retries dedupe naturally.
15
- */
16
- static hashKey(parts) {
17
- const normalized = JSON.stringify({
18
- p: parts.provider,
19
- i: sortedClone(parts.input),
20
- });
21
- return crypto_1.default.createHash("sha256").update(normalized).digest("hex");
22
- }
23
- static async lookup(parts) {
24
- const key = AssetCacheService.hashKey(parts);
25
- const doc = await firestore_service_1.FirestoreService.getDataById(firestore_service_1.FirestoreService.assetCacheCol, key);
26
- if (!doc)
27
- return null;
28
- // Best-effort hit-count update; don't block on it.
29
- void firestore_service_1.FirestoreService.updateData(firestore_service_1.FirestoreService.assetCacheCol, key, {
30
- lastAccessedAt: new Date().toISOString(),
31
- hitCount: (doc.hitCount ?? 0) + 1,
32
- }).catch((err) => {
33
- logger_1.logger.warn("assetCache: hit-count update failed", {
34
- cacheKey: key,
35
- err: err instanceof Error ? err.stack ?? err.message : String(err),
36
- });
37
- return undefined;
38
- });
39
- const { id: _id, ...stripped } = doc;
40
- return stripped;
41
- }
42
- static async store(parts, asset) {
43
- const key = AssetCacheService.hashKey(parts);
44
- const now = new Date().toISOString();
45
- const entry = {
46
- ...asset,
47
- key,
48
- createdAt: now,
49
- lastAccessedAt: now,
50
- hitCount: 0,
51
- };
52
- await firestore_service_1.FirestoreService.addData(firestore_service_1.FirestoreService.assetCacheCol, key, entry);
53
- return entry;
54
- }
55
- }
56
- exports.AssetCacheService = AssetCacheService;
57
- class RawAssetCacheService {
58
- static hashKey(parts) {
59
- return AssetCacheService.hashKey(parts);
60
- }
61
- static async lookup(parts) {
62
- const key = RawAssetCacheService.hashKey(parts);
63
- const doc = await firestore_service_1.FirestoreService.getDataById(firestore_service_1.FirestoreService.assetCacheRawCol, key);
64
- if (!doc)
65
- return null;
66
- if (doc.expiresAt && new Date(doc.expiresAt).getTime() < Date.now()) {
67
- return null;
68
- }
69
- void firestore_service_1.FirestoreService.updateData(firestore_service_1.FirestoreService.assetCacheRawCol, key, {
70
- lastAccessedAt: new Date().toISOString(),
71
- hitCount: (doc.hitCount ?? 0) + 1,
72
- }).catch((err) => {
73
- logger_1.logger.warn("assetCache: hit-count update failed", {
74
- cacheKey: key,
75
- err: err instanceof Error ? err.stack ?? err.message : String(err),
76
- });
77
- return undefined;
78
- });
79
- return doc.payload;
80
- }
81
- static async store(parts, payload, options = {}) {
82
- const key = RawAssetCacheService.hashKey(parts);
83
- const now = new Date();
84
- const entry = {
85
- key,
86
- kind: parts.kind,
87
- payload,
88
- createdAt: now.toISOString(),
89
- lastAccessedAt: now.toISOString(),
90
- hitCount: 0,
91
- };
92
- if (options.ttlMs) {
93
- entry.expiresAt = new Date(now.getTime() + options.ttlMs).toISOString();
94
- }
95
- await firestore_service_1.FirestoreService.addData(firestore_service_1.FirestoreService.assetCacheRawCol, key, entry);
96
- }
97
- }
98
- exports.RawAssetCacheService = RawAssetCacheService;
99
- function sortedClone(value) {
100
- if (value === null || typeof value !== "object")
101
- return value;
102
- if (Array.isArray(value))
103
- return value.map(sortedClone);
104
- const sorted = {};
105
- for (const k of Object.keys(value).sort()) {
106
- sorted[k] = sortedClone(value[k]);
107
- }
108
- return sorted;
109
- }
@@ -1,2 +0,0 @@
1
- export * from "./onsetDetection.service";
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/audioAnalysis/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC"}
@@ -1,17 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./onsetDetection.service"), exports);