vidspotai-shared 1.0.69-dev.0 → 1.0.69

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 (502) 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 +0 -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 +1 -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 -6
  38. package/lib/models/index.d.ts.map +1 -1
  39. package/lib/models/index.js +0 -6
  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 +8 -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 -17
  100. package/lib/services/firestore.service.d.ts.map +1 -1
  101. package/lib/services/firestore.service.js +0 -30
  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 -357
  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/notification.model.d.ts +0 -25
  160. package/lib/models/notification.model.d.ts.map +0 -1
  161. package/lib/models/notification.model.js +0 -2
  162. package/lib/models/ref.model.d.ts +0 -80
  163. package/lib/models/ref.model.d.ts.map +0 -1
  164. package/lib/models/ref.model.js +0 -13
  165. package/lib/models/share.model.d.ts +0 -29
  166. package/lib/models/share.model.d.ts.map +0 -1
  167. package/lib/models/share.model.js +0 -2
  168. package/lib/schemas/agentPersona.schema.d.ts +0 -10
  169. package/lib/schemas/agentPersona.schema.d.ts.map +0 -1
  170. package/lib/schemas/agentPersona.schema.js +0 -11
  171. package/lib/schemas/agentRunJob.schema.d.ts +0 -105
  172. package/lib/schemas/agentRunJob.schema.d.ts.map +0 -1
  173. package/lib/schemas/agentRunJob.schema.js +0 -88
  174. package/lib/schemas/brandKit.schema.d.ts +0 -113
  175. package/lib/schemas/brandKit.schema.d.ts.map +0 -1
  176. package/lib/schemas/brandKit.schema.js +0 -46
  177. package/lib/schemas/brief.schema.d.ts +0 -263
  178. package/lib/schemas/brief.schema.d.ts.map +0 -1
  179. package/lib/schemas/brief.schema.js +0 -157
  180. package/lib/schemas/index.d.ts +0 -7
  181. package/lib/schemas/index.d.ts.map +0 -1
  182. package/lib/schemas/index.js +0 -22
  183. package/lib/schemas/project.schema.d.ts +0 -1025
  184. package/lib/schemas/project.schema.d.ts.map +0 -1
  185. package/lib/schemas/project.schema.js +0 -256
  186. package/lib/schemas/videoPlan.schema.d.ts +0 -590
  187. package/lib/schemas/videoPlan.schema.d.ts.map +0 -1
  188. package/lib/schemas/videoPlan.schema.js +0 -412
  189. package/lib/services/agent/beatSnap.d.ts +0 -10
  190. package/lib/services/agent/beatSnap.d.ts.map +0 -1
  191. package/lib/services/agent/beatSnap.js +0 -128
  192. package/lib/services/agent/bibleBuilder.d.ts +0 -43
  193. package/lib/services/agent/bibleBuilder.d.ts.map +0 -1
  194. package/lib/services/agent/bibleBuilder.js +0 -102
  195. package/lib/services/agent/bibleImageVision.d.ts +0 -45
  196. package/lib/services/agent/bibleImageVision.d.ts.map +0 -1
  197. package/lib/services/agent/bibleImageVision.js +0 -169
  198. package/lib/services/agent/chatAgent.d.ts +0 -79
  199. package/lib/services/agent/chatAgent.d.ts.map +0 -1
  200. package/lib/services/agent/chatAgent.js +0 -136
  201. package/lib/services/agent/costPreflight.d.ts +0 -61
  202. package/lib/services/agent/costPreflight.d.ts.map +0 -1
  203. package/lib/services/agent/costPreflight.js +0 -143
  204. package/lib/services/agent/critic.d.ts +0 -103
  205. package/lib/services/agent/critic.d.ts.map +0 -1
  206. package/lib/services/agent/critic.js +0 -139
  207. package/lib/services/agent/editClassifier.d.ts +0 -262
  208. package/lib/services/agent/editClassifier.d.ts.map +0 -1
  209. package/lib/services/agent/editClassifier.js +0 -186
  210. package/lib/services/agent/eval/index.d.ts +0 -5
  211. package/lib/services/agent/eval/index.d.ts.map +0 -1
  212. package/lib/services/agent/eval/index.js +0 -20
  213. package/lib/services/agent/eval/judge.d.ts +0 -14
  214. package/lib/services/agent/eval/judge.d.ts.map +0 -1
  215. package/lib/services/agent/eval/judge.js +0 -96
  216. package/lib/services/agent/eval/recorder.d.ts +0 -28
  217. package/lib/services/agent/eval/recorder.d.ts.map +0 -1
  218. package/lib/services/agent/eval/recorder.js +0 -100
  219. package/lib/services/agent/eval/seedBriefs.d.ts +0 -16
  220. package/lib/services/agent/eval/seedBriefs.d.ts.map +0 -1
  221. package/lib/services/agent/eval/seedBriefs.js +0 -1188
  222. package/lib/services/agent/eval/types.d.ts +0 -230
  223. package/lib/services/agent/eval/types.d.ts.map +0 -1
  224. package/lib/services/agent/eval/types.js +0 -73
  225. package/lib/services/agent/executor.d.ts +0 -141
  226. package/lib/services/agent/executor.d.ts.map +0 -1
  227. package/lib/services/agent/executor.js +0 -561
  228. package/lib/services/agent/globalActions.d.ts +0 -49
  229. package/lib/services/agent/globalActions.d.ts.map +0 -1
  230. package/lib/services/agent/globalActions.js +0 -328
  231. package/lib/services/agent/index.d.ts +0 -38
  232. package/lib/services/agent/index.d.ts.map +0 -1
  233. package/lib/services/agent/index.js +0 -53
  234. package/lib/services/agent/llmCaller.d.ts +0 -144
  235. package/lib/services/agent/llmCaller.d.ts.map +0 -1
  236. package/lib/services/agent/llmCaller.js +0 -16
  237. package/lib/services/agent/llmCallerAnthropic.d.ts +0 -90
  238. package/lib/services/agent/llmCallerAnthropic.d.ts.map +0 -1
  239. package/lib/services/agent/llmCallerAnthropic.js +0 -255
  240. package/lib/services/agent/llmCallerGateway.d.ts +0 -61
  241. package/lib/services/agent/llmCallerGateway.d.ts.map +0 -1
  242. package/lib/services/agent/llmCallerGateway.js +0 -360
  243. package/lib/services/agent/llmCallerRegistry.d.ts +0 -6
  244. package/lib/services/agent/llmCallerRegistry.d.ts.map +0 -1
  245. package/lib/services/agent/llmCallerRegistry.js +0 -39
  246. package/lib/services/agent/modelQualityNotes.d.ts +0 -100
  247. package/lib/services/agent/modelQualityNotes.d.ts.map +0 -1
  248. package/lib/services/agent/modelQualityNotes.js +0 -248
  249. package/lib/services/agent/modelRouter.d.ts +0 -41
  250. package/lib/services/agent/modelRouter.d.ts.map +0 -1
  251. package/lib/services/agent/modelRouter.js +0 -65
  252. package/lib/services/agent/musicSelect.d.ts +0 -23
  253. package/lib/services/agent/musicSelect.d.ts.map +0 -1
  254. package/lib/services/agent/musicSelect.js +0 -109
  255. package/lib/services/agent/overlayRenderer.d.ts +0 -67
  256. package/lib/services/agent/overlayRenderer.d.ts.map +0 -1
  257. package/lib/services/agent/overlayRenderer.js +0 -253
  258. package/lib/services/agent/perSceneCritic.d.ts +0 -90
  259. package/lib/services/agent/perSceneCritic.d.ts.map +0 -1
  260. package/lib/services/agent/perSceneCritic.js +0 -125
  261. package/lib/services/agent/personas.d.ts +0 -78
  262. package/lib/services/agent/personas.d.ts.map +0 -1
  263. package/lib/services/agent/personas.js +0 -177
  264. package/lib/services/agent/planDiff.d.ts +0 -76
  265. package/lib/services/agent/planDiff.d.ts.map +0 -1
  266. package/lib/services/agent/planDiff.js +0 -182
  267. package/lib/services/agent/planMutations.d.ts +0 -46
  268. package/lib/services/agent/planMutations.d.ts.map +0 -1
  269. package/lib/services/agent/planMutations.js +0 -120
  270. package/lib/services/agent/planner/Planner.d.ts +0 -107
  271. package/lib/services/agent/planner/Planner.d.ts.map +0 -1
  272. package/lib/services/agent/planner/Planner.js +0 -591
  273. package/lib/services/agent/planner/overlaySanity.d.ts +0 -7
  274. package/lib/services/agent/planner/overlaySanity.d.ts.map +0 -1
  275. package/lib/services/agent/planner/overlaySanity.js +0 -86
  276. package/lib/services/agent/planner/promptSections.d.ts +0 -25
  277. package/lib/services/agent/planner/promptSections.d.ts.map +0 -1
  278. package/lib/services/agent/planner/promptSections.js +0 -174
  279. package/lib/services/agent/planner/repair.d.ts +0 -16
  280. package/lib/services/agent/planner/repair.d.ts.map +0 -1
  281. package/lib/services/agent/planner/repair.js +0 -51
  282. package/lib/services/agent/planner/structuralRules.d.ts +0 -10
  283. package/lib/services/agent/planner/structuralRules.d.ts.map +0 -1
  284. package/lib/services/agent/planner/structuralRules.js +0 -111
  285. package/lib/services/agent/planner/validators.d.ts +0 -65
  286. package/lib/services/agent/planner/validators.d.ts.map +0 -1
  287. package/lib/services/agent/planner/validators.js +0 -284
  288. package/lib/services/agent/planner.d.ts +0 -3
  289. package/lib/services/agent/planner.d.ts.map +0 -1
  290. package/lib/services/agent/planner.js +0 -14
  291. package/lib/services/agent/providerFallback/chains.d.ts +0 -100
  292. package/lib/services/agent/providerFallback/chains.d.ts.map +0 -1
  293. package/lib/services/agent/providerFallback/chains.js +0 -198
  294. package/lib/services/agent/providerFallback/classifier.d.ts +0 -36
  295. package/lib/services/agent/providerFallback/classifier.d.ts.map +0 -1
  296. package/lib/services/agent/providerFallback/classifier.js +0 -103
  297. package/lib/services/agent/providerFallback/index.d.ts +0 -4
  298. package/lib/services/agent/providerFallback/index.d.ts.map +0 -1
  299. package/lib/services/agent/providerFallback/index.js +0 -19
  300. package/lib/services/agent/providerFallback/withFallback.d.ts +0 -60
  301. package/lib/services/agent/providerFallback/withFallback.d.ts.map +0 -1
  302. package/lib/services/agent/providerFallback/withFallback.js +0 -93
  303. package/lib/services/agent/providerTaskCache.d.ts +0 -50
  304. package/lib/services/agent/providerTaskCache.d.ts.map +0 -1
  305. package/lib/services/agent/providerTaskCache.js +0 -98
  306. package/lib/services/agent/qualityGate.d.ts +0 -82
  307. package/lib/services/agent/qualityGate.d.ts.map +0 -1
  308. package/lib/services/agent/qualityGate.js +0 -232
  309. package/lib/services/agent/referenceImageRenderer.d.ts +0 -37
  310. package/lib/services/agent/referenceImageRenderer.d.ts.map +0 -1
  311. package/lib/services/agent/referenceImageRenderer.js +0 -92
  312. package/lib/services/agent/regenCore.d.ts +0 -60
  313. package/lib/services/agent/regenCore.d.ts.map +0 -1
  314. package/lib/services/agent/regenCore.js +0 -487
  315. package/lib/services/agent/runHelpers.d.ts +0 -44
  316. package/lib/services/agent/runHelpers.d.ts.map +0 -1
  317. package/lib/services/agent/runHelpers.js +0 -196
  318. package/lib/services/agent/sceneLayoutVision.d.ts +0 -90
  319. package/lib/services/agent/sceneLayoutVision.d.ts.map +0 -1
  320. package/lib/services/agent/sceneLayoutVision.js +0 -212
  321. package/lib/services/agent/stitchedVideoCritic.d.ts +0 -136
  322. package/lib/services/agent/stitchedVideoCritic.d.ts.map +0 -1
  323. package/lib/services/agent/stitchedVideoCritic.gemini.d.ts +0 -26
  324. package/lib/services/agent/stitchedVideoCritic.gemini.d.ts.map +0 -1
  325. package/lib/services/agent/stitchedVideoCritic.gemini.js +0 -198
  326. package/lib/services/agent/stitchedVideoCritic.js +0 -162
  327. package/lib/services/agent/taskPoller.d.ts +0 -65
  328. package/lib/services/agent/taskPoller.d.ts.map +0 -1
  329. package/lib/services/agent/taskPoller.js +0 -176
  330. package/lib/services/agent/textOverlayStyles.d.ts +0 -60
  331. package/lib/services/agent/textOverlayStyles.d.ts.map +0 -1
  332. package/lib/services/agent/textOverlayStyles.js +0 -174
  333. package/lib/services/agent/toolRegistry.d.ts +0 -73
  334. package/lib/services/agent/toolRegistry.d.ts.map +0 -1
  335. package/lib/services/agent/toolRegistry.js +0 -95
  336. package/lib/services/agent/tools/analyzeReference.tool.d.ts +0 -36
  337. package/lib/services/agent/tools/analyzeReference.tool.d.ts.map +0 -1
  338. package/lib/services/agent/tools/analyzeReference.tool.js +0 -44
  339. package/lib/services/agent/tools/animateImage.tool.d.ts +0 -24
  340. package/lib/services/agent/tools/animateImage.tool.d.ts.map +0 -1
  341. package/lib/services/agent/tools/animateImage.tool.js +0 -115
  342. package/lib/services/agent/tools/animateImageWithMotionBrush.tool.d.ts +0 -32
  343. package/lib/services/agent/tools/animateImageWithMotionBrush.tool.d.ts.map +0 -1
  344. package/lib/services/agent/tools/animateImageWithMotionBrush.tool.js +0 -135
  345. package/lib/services/agent/tools/composeScene.tool.d.ts +0 -978
  346. package/lib/services/agent/tools/composeScene.tool.d.ts.map +0 -1
  347. package/lib/services/agent/tools/composeScene.tool.js +0 -90
  348. package/lib/services/agent/tools/estimateCost.tool.d.ts +0 -352
  349. package/lib/services/agent/tools/estimateCost.tool.d.ts.map +0 -1
  350. package/lib/services/agent/tools/estimateCost.tool.js +0 -62
  351. package/lib/services/agent/tools/generateAvatarVideo.tool.d.ts +0 -32
  352. package/lib/services/agent/tools/generateAvatarVideo.tool.d.ts.map +0 -1
  353. package/lib/services/agent/tools/generateAvatarVideo.tool.js +0 -143
  354. package/lib/services/agent/tools/generateCaptions.tool.d.ts +0 -42
  355. package/lib/services/agent/tools/generateCaptions.tool.d.ts.map +0 -1
  356. package/lib/services/agent/tools/generateCaptions.tool.js +0 -196
  357. package/lib/services/agent/tools/generateImage.tool.d.ts +0 -74
  358. package/lib/services/agent/tools/generateImage.tool.d.ts.map +0 -1
  359. package/lib/services/agent/tools/generateImage.tool.js +0 -206
  360. package/lib/services/agent/tools/generateVideo.tool.d.ts +0 -31
  361. package/lib/services/agent/tools/generateVideo.tool.d.ts.map +0 -1
  362. package/lib/services/agent/tools/generateVideo.tool.js +0 -153
  363. package/lib/services/agent/tools/generateVoiceover.tool.d.ts +0 -44
  364. package/lib/services/agent/tools/generateVoiceover.tool.d.ts.map +0 -1
  365. package/lib/services/agent/tools/generateVoiceover.tool.js +0 -206
  366. package/lib/services/agent/tools/index.d.ts +0 -20
  367. package/lib/services/agent/tools/index.d.ts.map +0 -1
  368. package/lib/services/agent/tools/index.js +0 -35
  369. package/lib/services/agent/tools/planVideo.tool.d.ts +0 -343
  370. package/lib/services/agent/tools/planVideo.tool.d.ts.map +0 -1
  371. package/lib/services/agent/tools/planVideo.tool.js +0 -46
  372. package/lib/services/agent/tools/render.tool.d.ts +0 -367
  373. package/lib/services/agent/tools/render.tool.d.ts.map +0 -1
  374. package/lib/services/agent/tools/render.tool.js +0 -48
  375. package/lib/services/agent/tools/searchMusic.tool.d.ts +0 -49
  376. package/lib/services/agent/tools/searchMusic.tool.d.ts.map +0 -1
  377. package/lib/services/agent/tools/searchMusic.tool.js +0 -74
  378. package/lib/services/agent/tools/searchStock.tool.d.ts +0 -41
  379. package/lib/services/agent/tools/searchStock.tool.d.ts.map +0 -1
  380. package/lib/services/agent/tools/searchStock.tool.js +0 -314
  381. package/lib/services/agent/tools/searchUserLibrary.tool.d.ts +0 -59
  382. package/lib/services/agent/tools/searchUserLibrary.tool.d.ts.map +0 -1
  383. package/lib/services/agent/tools/searchUserLibrary.tool.js +0 -58
  384. package/lib/services/agent/ttsDuration.d.ts +0 -29
  385. package/lib/services/agent/ttsDuration.d.ts.map +0 -1
  386. package/lib/services/agent/ttsDuration.js +0 -60
  387. package/lib/services/aiGen/canonicalAdapters/cameraControl.types.d.ts +0 -31
  388. package/lib/services/aiGen/canonicalAdapters/cameraControl.types.d.ts.map +0 -1
  389. package/lib/services/aiGen/canonicalAdapters/cameraControl.types.js +0 -2
  390. package/lib/services/aiGen/canonicalAdapters/index.d.ts +0 -3
  391. package/lib/services/aiGen/canonicalAdapters/index.d.ts.map +0 -1
  392. package/lib/services/aiGen/canonicalAdapters/index.js +0 -18
  393. package/lib/services/aiGen/canonicalAdapters/multiShot.types.d.ts +0 -23
  394. package/lib/services/aiGen/canonicalAdapters/multiShot.types.d.ts.map +0 -1
  395. package/lib/services/aiGen/canonicalAdapters/multiShot.types.js +0 -12
  396. package/lib/services/aiGen/providers/elevenlabs/elevenlabs.service.d.ts +0 -18
  397. package/lib/services/aiGen/providers/elevenlabs/elevenlabs.service.d.ts.map +0 -1
  398. package/lib/services/aiGen/providers/elevenlabs/elevenlabs.service.js +0 -102
  399. package/lib/services/aiGen/providers/fal/falImage.service.d.ts +0 -15
  400. package/lib/services/aiGen/providers/fal/falImage.service.d.ts.map +0 -1
  401. package/lib/services/aiGen/providers/fal/falImage.service.js +0 -141
  402. package/lib/services/aiGen/providers/fal/index.d.ts +0 -2
  403. package/lib/services/aiGen/providers/fal/index.d.ts.map +0 -1
  404. package/lib/services/aiGen/providers/fal/index.js +0 -17
  405. package/lib/services/aiGen/providers/kling/cameraAdapter.d.ts +0 -4
  406. package/lib/services/aiGen/providers/kling/cameraAdapter.d.ts.map +0 -1
  407. package/lib/services/aiGen/providers/kling/cameraAdapter.js +0 -53
  408. package/lib/services/aiGen/providers/kling/klingImage.service.d.ts +0 -21
  409. package/lib/services/aiGen/providers/kling/klingImage.service.d.ts.map +0 -1
  410. package/lib/services/aiGen/providers/kling/klingImage.service.js +0 -208
  411. package/lib/services/aiGen/providers/pexels/index.d.ts +0 -2
  412. package/lib/services/aiGen/providers/pexels/index.d.ts.map +0 -1
  413. package/lib/services/aiGen/providers/pexels/pexels.service.d.ts +0 -11
  414. package/lib/services/aiGen/providers/pexels/pexels.service.d.ts.map +0 -1
  415. package/lib/services/aiGen/providers/pexels/pexels.service.js +0 -150
  416. package/lib/services/aiGen/providers/pixabay/index.d.ts +0 -2
  417. package/lib/services/aiGen/providers/pixabay/index.d.ts.map +0 -1
  418. package/lib/services/aiGen/providers/pixabay/index.js +0 -17
  419. package/lib/services/aiGen/providers/pixabay/pixabay.service.d.ts +0 -12
  420. package/lib/services/aiGen/providers/pixabay/pixabay.service.d.ts.map +0 -1
  421. package/lib/services/aiGen/providers/pixabay/pixabay.service.js +0 -156
  422. package/lib/services/aiGen/providers/runway/cameraAdapter.d.ts +0 -3
  423. package/lib/services/aiGen/providers/runway/cameraAdapter.d.ts.map +0 -1
  424. package/lib/services/aiGen/providers/runway/cameraAdapter.js +0 -46
  425. package/lib/services/aiGen/providers/unsplash/index.d.ts +0 -2
  426. package/lib/services/aiGen/providers/unsplash/index.d.ts.map +0 -1
  427. package/lib/services/aiGen/providers/unsplash/index.js +0 -17
  428. package/lib/services/aiGen/providers/unsplash/unsplash.service.d.ts +0 -16
  429. package/lib/services/aiGen/providers/unsplash/unsplash.service.d.ts.map +0 -1
  430. package/lib/services/aiGen/providers/unsplash/unsplash.service.js +0 -131
  431. package/lib/services/apiUsageCounter.service.d.ts +0 -20
  432. package/lib/services/apiUsageCounter.service.d.ts.map +0 -1
  433. package/lib/services/apiUsageCounter.service.js +0 -84
  434. package/lib/services/asr/assemblyai.service.d.ts +0 -72
  435. package/lib/services/asr/assemblyai.service.d.ts.map +0 -1
  436. package/lib/services/asr/assemblyai.service.js +0 -89
  437. package/lib/services/asr/index.d.ts +0 -3
  438. package/lib/services/asr/index.d.ts.map +0 -1
  439. package/lib/services/asr/index.js +0 -18
  440. package/lib/services/asr/whisper.service.d.ts +0 -18
  441. package/lib/services/asr/whisper.service.d.ts.map +0 -1
  442. package/lib/services/asr/whisper.service.js +0 -151
  443. package/lib/services/assetCache.service.d.ts +0 -54
  444. package/lib/services/assetCache.service.d.ts.map +0 -1
  445. package/lib/services/assetCache.service.js +0 -109
  446. package/lib/services/audioAnalysis/index.d.ts +0 -2
  447. package/lib/services/audioAnalysis/index.d.ts.map +0 -1
  448. package/lib/services/audioAnalysis/index.js +0 -17
  449. package/lib/services/audioAnalysis/onsetDetection.service.d.ts +0 -50
  450. package/lib/services/audioAnalysis/onsetDetection.service.d.ts.map +0 -1
  451. package/lib/services/audioAnalysis/onsetDetection.service.js +0 -140
  452. package/lib/services/credits/pricing.d.ts +0 -58
  453. package/lib/services/credits/pricing.d.ts.map +0 -1
  454. package/lib/services/credits/pricing.js +0 -111
  455. package/lib/services/editor/designToProject.d.ts +0 -75
  456. package/lib/services/editor/designToProject.d.ts.map +0 -1
  457. package/lib/services/editor/designToProject.js +0 -295
  458. package/lib/services/editor/planToProject.d.ts +0 -84
  459. package/lib/services/editor/planToProject.d.ts.map +0 -1
  460. package/lib/services/editor/planToProject.js +0 -395
  461. package/lib/services/editor/projectToDesign.d.ts +0 -4
  462. package/lib/services/editor/projectToDesign.d.ts.map +0 -1
  463. package/lib/services/editor/projectToDesign.js +0 -186
  464. package/lib/services/gcp/uploadAudioBuffer.d.ts +0 -13
  465. package/lib/services/gcp/uploadAudioBuffer.d.ts.map +0 -1
  466. package/lib/services/gcp/uploadAudioBuffer.js +0 -28
  467. package/lib/services/musicGen/index.d.ts +0 -6
  468. package/lib/services/musicGen/index.d.ts.map +0 -1
  469. package/lib/services/musicGen/index.js +0 -26
  470. package/lib/services/musicGen/musicSearchFactory.service.d.ts +0 -14
  471. package/lib/services/musicGen/musicSearchFactory.service.d.ts.map +0 -1
  472. package/lib/services/musicGen/musicSearchFactory.service.js +0 -59
  473. package/lib/services/musicGen/providers/curated.service.d.ts +0 -24
  474. package/lib/services/musicGen/providers/curated.service.d.ts.map +0 -1
  475. package/lib/services/musicGen/providers/curated.service.js +0 -173
  476. package/lib/services/musicGen/providers/jamendo.service.d.ts +0 -8
  477. package/lib/services/musicGen/providers/jamendo.service.d.ts.map +0 -1
  478. package/lib/services/musicGen/providers/jamendo.service.js +0 -113
  479. package/lib/services/musicGen/providers/mubert.service.d.ts +0 -10
  480. package/lib/services/musicGen/providers/mubert.service.d.ts.map +0 -1
  481. package/lib/services/musicGen/providers/mubert.service.js +0 -128
  482. package/lib/services/musicGen/types.d.ts +0 -46
  483. package/lib/services/musicGen/types.d.ts.map +0 -1
  484. package/lib/services/musicGen/types.js +0 -10
  485. package/lib/services/notification.service.d.ts +0 -22
  486. package/lib/services/notification.service.d.ts.map +0 -1
  487. package/lib/services/notification.service.js +0 -76
  488. package/lib/services/rateLimiter/distributedRateLimiter.service.d.ts +0 -78
  489. package/lib/services/rateLimiter/distributedRateLimiter.service.d.ts.map +0 -1
  490. package/lib/services/rateLimiter/distributedRateLimiter.service.js +0 -269
  491. package/lib/services/rateLimiter/index.d.ts +0 -2
  492. package/lib/services/rateLimiter/index.d.ts.map +0 -1
  493. package/lib/services/rateLimiter/index.js +0 -17
  494. package/lib/services/redisOptions.d.ts +0 -22
  495. package/lib/services/redisOptions.d.ts.map +0 -1
  496. package/lib/services/redisOptions.js +0 -51
  497. package/lib/services/tts/providers/minimax.service.d.ts +0 -14
  498. package/lib/services/tts/providers/minimax.service.d.ts.map +0 -1
  499. package/lib/services/tts/providers/minimax.service.js +0 -78
  500. package/lib/services/tts/providers/openai.service.d.ts +0 -14
  501. package/lib/services/tts/providers/openai.service.d.ts.map +0 -1
  502. 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);