@thunderkiller/video-clipper 1.7.0 → 1.9.0

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 (691) hide show
  1. package/README.md +8 -8
  2. package/dist/{cli.d.ts → app/cli/args.d.ts} +2 -2
  3. package/dist/app/cli/args.d.ts.map +1 -0
  4. package/dist/{cli.js → app/cli/args.js} +16 -16
  5. package/dist/app/cli/args.js.map +1 -0
  6. package/dist/{index.d.ts.map → app/cli/index.d.ts.map} +1 -1
  7. package/dist/app/cli/index.js +38 -0
  8. package/dist/app/cli/index.js.map +1 -0
  9. package/dist/{pipeline → app/cli/pipeline}/dumper.d.ts +1 -1
  10. package/dist/app/cli/pipeline/dumper.d.ts.map +1 -0
  11. package/dist/{pipeline → app/cli/pipeline}/dumper.js +6 -6
  12. package/dist/app/cli/pipeline/dumper.js.map +1 -0
  13. package/dist/{pipeline → app/cli/pipeline}/runner.d.ts +2 -2
  14. package/dist/app/cli/pipeline/runner.d.ts.map +1 -0
  15. package/dist/app/cli/pipeline/runner.js +249 -0
  16. package/dist/app/cli/pipeline/runner.js.map +1 -0
  17. package/dist/app/cli/pipeline/stages/audioProcessor.d.ts +4 -0
  18. package/dist/app/cli/pipeline/stages/audioProcessor.d.ts.map +1 -0
  19. package/dist/app/cli/pipeline/stages/audioProcessor.js +59 -0
  20. package/dist/app/cli/pipeline/stages/audioProcessor.js.map +1 -0
  21. package/dist/app/cli/pipeline/stages/videoResolver.d.ts +4 -0
  22. package/dist/app/cli/pipeline/stages/videoResolver.d.ts.map +1 -0
  23. package/dist/app/cli/pipeline/stages/videoResolver.js +24 -0
  24. package/dist/app/cli/pipeline/stages/videoResolver.js.map +1 -0
  25. package/dist/app/web/lib/activity/analysisActivity.d.ts +18 -0
  26. package/dist/app/web/lib/activity/analysisActivity.d.ts.map +1 -0
  27. package/dist/app/web/lib/activity/analysisActivity.js +194 -0
  28. package/dist/app/web/lib/activity/analysisActivity.js.map +1 -0
  29. package/dist/app/web/lib/activity/analysisLogging.d.ts +3 -0
  30. package/dist/app/web/lib/activity/analysisLogging.d.ts.map +1 -0
  31. package/dist/app/web/lib/activity/analysisLogging.js +17 -0
  32. package/dist/app/web/lib/activity/analysisLogging.js.map +1 -0
  33. package/dist/app/web/lib/analysisStream.d.ts +5 -0
  34. package/dist/app/web/lib/analysisStream.d.ts.map +1 -0
  35. package/dist/app/web/lib/analysisStream.js +106 -0
  36. package/dist/app/web/lib/analysisStream.js.map +1 -0
  37. package/dist/app/web/lib/api.d.ts +3 -0
  38. package/dist/app/web/lib/api.d.ts.map +1 -0
  39. package/dist/app/web/lib/api.js +21 -0
  40. package/dist/app/web/lib/api.js.map +1 -0
  41. package/dist/app/web/lib/configStore.d.ts +8 -0
  42. package/dist/app/web/lib/configStore.d.ts.map +1 -0
  43. package/dist/app/web/lib/configStore.js +67 -0
  44. package/dist/app/web/lib/configStore.js.map +1 -0
  45. package/dist/app/web/lib/format.d.ts +3 -0
  46. package/dist/app/web/lib/format.d.ts.map +1 -0
  47. package/dist/app/web/lib/format.js +17 -0
  48. package/dist/app/web/lib/format.js.map +1 -0
  49. package/dist/app/web/lib/index.d.ts +2 -0
  50. package/dist/app/web/lib/index.d.ts.map +1 -0
  51. package/dist/app/web/lib/index.js +2 -0
  52. package/dist/app/web/lib/index.js.map +1 -0
  53. package/dist/app/web/lib/services/analysis/analysisService.d.ts +5 -0
  54. package/dist/app/web/lib/services/analysis/analysisService.d.ts.map +1 -0
  55. package/dist/app/web/lib/services/analysis/analysisService.js +147 -0
  56. package/dist/app/web/lib/services/analysis/analysisService.js.map +1 -0
  57. package/dist/app/web/lib/services/analysis/streamEvents.d.ts +5 -0
  58. package/dist/app/web/lib/services/analysis/streamEvents.d.ts.map +1 -0
  59. package/dist/app/web/lib/services/analysis/streamEvents.js +69 -0
  60. package/dist/app/web/lib/services/analysis/streamEvents.js.map +1 -0
  61. package/dist/app/web/lib/services/analysis/transcriptService.d.ts +4 -0
  62. package/dist/app/web/lib/services/analysis/transcriptService.d.ts.map +1 -0
  63. package/dist/app/web/lib/services/analysis/transcriptService.js +33 -0
  64. package/dist/app/web/lib/services/analysis/transcriptService.js.map +1 -0
  65. package/dist/app/web/lib/services/artifacts/artifactStore.d.ts +14 -0
  66. package/dist/app/web/lib/services/artifacts/artifactStore.d.ts.map +1 -0
  67. package/dist/app/web/lib/services/artifacts/artifactStore.js +109 -0
  68. package/dist/app/web/lib/services/artifacts/artifactStore.js.map +1 -0
  69. package/dist/app/web/lib/services/clipping/clipService.d.ts +4 -0
  70. package/dist/app/web/lib/services/clipping/clipService.d.ts.map +1 -0
  71. package/dist/app/web/lib/services/clipping/clipService.js +73 -0
  72. package/dist/app/web/lib/services/clipping/clipService.js.map +1 -0
  73. package/dist/app/web/lib/services/config/webConfig.d.ts +4 -0
  74. package/dist/app/web/lib/services/config/webConfig.d.ts.map +1 -0
  75. package/dist/app/web/lib/services/config/webConfig.js +12 -0
  76. package/dist/app/web/lib/services/config/webConfig.js.map +1 -0
  77. package/dist/app/web/lib/services/http/responses.d.ts +8 -0
  78. package/dist/app/web/lib/services/http/responses.d.ts.map +1 -0
  79. package/dist/app/web/lib/services/http/responses.js +23 -0
  80. package/dist/app/web/lib/services/http/responses.js.map +1 -0
  81. package/dist/app/web/lib/services/publishing/draftService.d.ts +5 -0
  82. package/dist/app/web/lib/services/publishing/draftService.d.ts.map +1 -0
  83. package/dist/app/web/lib/services/publishing/draftService.js +70 -0
  84. package/dist/app/web/lib/services/publishing/draftService.js.map +1 -0
  85. package/dist/app/web/lib/services/publishing/metadataCache.d.ts +4 -0
  86. package/dist/app/web/lib/services/publishing/metadataCache.d.ts.map +1 -0
  87. package/dist/app/web/lib/services/publishing/metadataCache.js +38 -0
  88. package/dist/app/web/lib/services/publishing/metadataCache.js.map +1 -0
  89. package/dist/app/web/lib/services/publishing/metadataService.d.ts +5 -0
  90. package/dist/app/web/lib/services/publishing/metadataService.d.ts.map +1 -0
  91. package/dist/app/web/lib/services/publishing/metadataService.js +125 -0
  92. package/dist/app/web/lib/services/publishing/metadataService.js.map +1 -0
  93. package/dist/app/web/lib/services/publishing/uploadService.d.ts +6 -0
  94. package/dist/app/web/lib/services/publishing/uploadService.d.ts.map +1 -0
  95. package/dist/app/web/lib/services/publishing/uploadService.js +303 -0
  96. package/dist/app/web/lib/services/publishing/uploadService.js.map +1 -0
  97. package/dist/app/web/lib/services/publishing/uploadStreamEvents.d.ts +5 -0
  98. package/dist/app/web/lib/services/publishing/uploadStreamEvents.d.ts.map +1 -0
  99. package/dist/app/web/lib/services/publishing/uploadStreamEvents.js +45 -0
  100. package/dist/app/web/lib/services/publishing/uploadStreamEvents.js.map +1 -0
  101. package/dist/app/web/lib/services/youtube/authStore.d.ts +5 -0
  102. package/dist/app/web/lib/services/youtube/authStore.d.ts.map +1 -0
  103. package/dist/app/web/lib/services/youtube/authStore.js +46 -0
  104. package/dist/app/web/lib/services/youtube/authStore.js.map +1 -0
  105. package/dist/app/web/lib/services/youtube/catalogFactory.d.ts +3 -0
  106. package/dist/app/web/lib/services/youtube/catalogFactory.d.ts.map +1 -0
  107. package/dist/app/web/lib/services/youtube/catalogFactory.js +10 -0
  108. package/dist/app/web/lib/services/youtube/catalogFactory.js.map +1 -0
  109. package/dist/app/web/lib/services/youtube/uploadAuth.d.ts +9 -0
  110. package/dist/app/web/lib/services/youtube/uploadAuth.d.ts.map +1 -0
  111. package/dist/app/web/lib/services/youtube/uploadAuth.js +221 -0
  112. package/dist/app/web/lib/services/youtube/uploadAuth.js.map +1 -0
  113. package/dist/app/web/lib/stores/theme.d.ts +2 -0
  114. package/dist/app/web/lib/stores/theme.d.ts.map +1 -0
  115. package/dist/app/web/lib/stores/theme.js +12 -0
  116. package/dist/app/web/lib/stores/theme.js.map +1 -0
  117. package/dist/app/web/lib/toastStore.d.ts +6 -0
  118. package/dist/app/web/lib/toastStore.d.ts.map +1 -0
  119. package/dist/app/web/lib/toastStore.js +14 -0
  120. package/dist/app/web/lib/toastStore.js.map +1 -0
  121. package/dist/app/web/lib/uploadStream.d.ts +6 -0
  122. package/dist/app/web/lib/uploadStream.d.ts.map +1 -0
  123. package/dist/app/web/lib/uploadStream.js +68 -0
  124. package/dist/app/web/lib/uploadStream.js.map +1 -0
  125. package/dist/app/web/lib/videoWorkflow.d.ts +4 -0
  126. package/dist/app/web/lib/videoWorkflow.d.ts.map +1 -0
  127. package/dist/app/web/lib/videoWorkflow.js +39 -0
  128. package/dist/app/web/lib/videoWorkflow.js.map +1 -0
  129. package/dist/app/web/routes/api/analysis/transcript/+server.d.ts +3 -0
  130. package/dist/app/web/routes/api/analysis/transcript/+server.d.ts.map +1 -0
  131. package/dist/app/web/routes/api/analysis/transcript/+server.js +97 -0
  132. package/dist/app/web/routes/api/analysis/transcript/+server.js.map +1 -0
  133. package/dist/app/web/routes/api/cache/videos/[videoId]/analysis/+server.d.ts +3 -0
  134. package/dist/app/web/routes/api/cache/videos/[videoId]/analysis/+server.d.ts.map +1 -0
  135. package/dist/app/web/routes/api/cache/videos/[videoId]/analysis/+server.js +21 -0
  136. package/dist/app/web/routes/api/cache/videos/[videoId]/analysis/+server.js.map +1 -0
  137. package/dist/app/web/routes/api/cache/videos/[videoId]/transcript/+server.d.ts +3 -0
  138. package/dist/app/web/routes/api/cache/videos/[videoId]/transcript/+server.d.ts.map +1 -0
  139. package/dist/app/web/routes/api/cache/videos/[videoId]/transcript/+server.js +21 -0
  140. package/dist/app/web/routes/api/cache/videos/[videoId]/transcript/+server.js.map +1 -0
  141. package/dist/app/web/routes/api/clips/+server.d.ts +3 -0
  142. package/dist/app/web/routes/api/clips/+server.d.ts.map +1 -0
  143. package/dist/app/web/routes/api/clips/+server.js +32 -0
  144. package/dist/app/web/routes/api/clips/+server.js.map +1 -0
  145. package/dist/app/web/routes/api/config/+server.d.ts +4 -0
  146. package/dist/app/web/routes/api/config/+server.d.ts.map +1 -0
  147. package/dist/app/web/routes/api/config/+server.js +37 -0
  148. package/dist/app/web/routes/api/config/+server.js.map +1 -0
  149. package/dist/app/web/routes/api/library/analyses/+server.d.ts +3 -0
  150. package/dist/app/web/routes/api/library/analyses/+server.d.ts.map +1 -0
  151. package/dist/app/web/routes/api/library/analyses/+server.js +16 -0
  152. package/dist/app/web/routes/api/library/analyses/+server.js.map +1 -0
  153. package/dist/app/web/routes/api/library/analyses/[analysisId]/+server.d.ts +3 -0
  154. package/dist/app/web/routes/api/library/analyses/[analysisId]/+server.d.ts.map +1 -0
  155. package/dist/app/web/routes/api/library/analyses/[analysisId]/+server.js +28 -0
  156. package/dist/app/web/routes/api/library/analyses/[analysisId]/+server.js.map +1 -0
  157. package/dist/app/web/routes/api/library/clips/+server.d.ts +3 -0
  158. package/dist/app/web/routes/api/library/clips/+server.d.ts.map +1 -0
  159. package/dist/app/web/routes/api/library/clips/+server.js +26 -0
  160. package/dist/app/web/routes/api/library/clips/+server.js.map +1 -0
  161. package/dist/app/web/routes/api/publish/drafts/+server.d.ts +3 -0
  162. package/dist/app/web/routes/api/publish/drafts/+server.d.ts.map +1 -0
  163. package/dist/app/web/routes/api/publish/drafts/+server.js +23 -0
  164. package/dist/app/web/routes/api/publish/drafts/+server.js.map +1 -0
  165. package/dist/app/web/routes/api/publish/drafts/[analysisId]/+server.d.ts +3 -0
  166. package/dist/app/web/routes/api/publish/drafts/[analysisId]/+server.d.ts.map +1 -0
  167. package/dist/app/web/routes/api/publish/drafts/[analysisId]/+server.js +31 -0
  168. package/dist/app/web/routes/api/publish/drafts/[analysisId]/+server.js.map +1 -0
  169. package/dist/app/web/routes/api/publish/drafts/generate/+server.d.ts +3 -0
  170. package/dist/app/web/routes/api/publish/drafts/generate/+server.d.ts.map +1 -0
  171. package/dist/app/web/routes/api/publish/drafts/generate/+server.js +37 -0
  172. package/dist/app/web/routes/api/publish/drafts/generate/+server.js.map +1 -0
  173. package/dist/app/web/routes/api/publish/thumbnails/+server.d.ts +3 -0
  174. package/dist/app/web/routes/api/publish/thumbnails/+server.d.ts.map +1 -0
  175. package/dist/app/web/routes/api/publish/thumbnails/+server.js +57 -0
  176. package/dist/app/web/routes/api/publish/thumbnails/+server.js.map +1 -0
  177. package/dist/app/web/routes/api/youtube/auth/callback/+server.d.ts +3 -0
  178. package/dist/app/web/routes/api/youtube/auth/callback/+server.d.ts.map +1 -0
  179. package/dist/app/web/routes/api/youtube/auth/callback/+server.js +49 -0
  180. package/dist/app/web/routes/api/youtube/auth/callback/+server.js.map +1 -0
  181. package/dist/app/web/routes/api/youtube/auth/disconnect/+server.d.ts +3 -0
  182. package/dist/app/web/routes/api/youtube/auth/disconnect/+server.d.ts.map +1 -0
  183. package/dist/app/web/routes/api/youtube/auth/disconnect/+server.js +16 -0
  184. package/dist/app/web/routes/api/youtube/auth/disconnect/+server.js.map +1 -0
  185. package/dist/app/web/routes/api/youtube/auth/manual/+server.d.ts +3 -0
  186. package/dist/app/web/routes/api/youtube/auth/manual/+server.d.ts.map +1 -0
  187. package/dist/app/web/routes/api/youtube/auth/manual/+server.js +23 -0
  188. package/dist/app/web/routes/api/youtube/auth/manual/+server.js.map +1 -0
  189. package/dist/app/web/routes/api/youtube/auth/start/+server.d.ts +3 -0
  190. package/dist/app/web/routes/api/youtube/auth/start/+server.d.ts.map +1 -0
  191. package/dist/app/web/routes/api/youtube/auth/start/+server.js +43 -0
  192. package/dist/app/web/routes/api/youtube/auth/start/+server.js.map +1 -0
  193. package/dist/app/web/routes/api/youtube/auth/status/+server.d.ts +3 -0
  194. package/dist/app/web/routes/api/youtube/auth/status/+server.d.ts.map +1 -0
  195. package/dist/app/web/routes/api/youtube/auth/status/+server.js +16 -0
  196. package/dist/app/web/routes/api/youtube/auth/status/+server.js.map +1 -0
  197. package/dist/app/web/routes/api/youtube/channels/[channelId]/videos/+server.d.ts +3 -0
  198. package/dist/app/web/routes/api/youtube/channels/[channelId]/videos/+server.d.ts.map +1 -0
  199. package/dist/app/web/routes/api/youtube/channels/[channelId]/videos/+server.js +28 -0
  200. package/dist/app/web/routes/api/youtube/channels/[channelId]/videos/+server.js.map +1 -0
  201. package/dist/app/web/routes/api/youtube/channels/resolve/+server.d.ts +3 -0
  202. package/dist/app/web/routes/api/youtube/channels/resolve/+server.d.ts.map +1 -0
  203. package/dist/app/web/routes/api/youtube/channels/resolve/+server.js +24 -0
  204. package/dist/app/web/routes/api/youtube/channels/resolve/+server.js.map +1 -0
  205. package/dist/app/web/routes/api/youtube/uploads/+server.d.ts +5 -0
  206. package/dist/app/web/routes/api/youtube/uploads/+server.d.ts.map +1 -0
  207. package/dist/app/web/routes/api/youtube/uploads/+server.js +113 -0
  208. package/dist/app/web/routes/api/youtube/uploads/+server.js.map +1 -0
  209. package/dist/app/web/routes/api/youtube/videos/[videoId]/+server.d.ts +3 -0
  210. package/dist/app/web/routes/api/youtube/videos/[videoId]/+server.d.ts.map +1 -0
  211. package/dist/app/web/routes/api/youtube/videos/[videoId]/+server.js +25 -0
  212. package/dist/app/web/routes/api/youtube/videos/[videoId]/+server.js.map +1 -0
  213. package/dist/app/web/routes/api/youtube/videos/[videoId]/transcript/+server.d.ts +3 -0
  214. package/dist/app/web/routes/api/youtube/videos/[videoId]/transcript/+server.d.ts.map +1 -0
  215. package/dist/app/web/routes/api/youtube/videos/[videoId]/transcript/+server.js +24 -0
  216. package/dist/app/web/routes/api/youtube/videos/[videoId]/transcript/+server.js.map +1 -0
  217. package/dist/app/web/routes/videos/[videoId]/analysis/[analysisId]/+layout.server.d.ts +13 -0
  218. package/dist/app/web/routes/videos/[videoId]/analysis/[analysisId]/+layout.server.d.ts.map +1 -0
  219. package/dist/app/web/routes/videos/[videoId]/analysis/[analysisId]/+layout.server.js +50 -0
  220. package/dist/app/web/routes/videos/[videoId]/analysis/[analysisId]/+layout.server.js.map +1 -0
  221. package/dist/app/web/types/activity.d.ts +24 -0
  222. package/dist/app/web/types/activity.d.ts.map +1 -0
  223. package/dist/app/web/types/activity.js +2 -0
  224. package/dist/app/web/types/activity.js.map +1 -0
  225. package/dist/app/web/types/analysis.d.ts +175 -0
  226. package/dist/app/web/types/analysis.d.ts.map +1 -0
  227. package/dist/app/web/types/analysis.js +84 -0
  228. package/dist/app/web/types/analysis.js.map +1 -0
  229. package/dist/app/web/types/componentProps.d.ts +225 -0
  230. package/dist/app/web/types/componentProps.d.ts.map +1 -0
  231. package/dist/app/web/types/componentProps.js +2 -0
  232. package/dist/app/web/types/componentProps.js.map +1 -0
  233. package/dist/app/web/types/publish.d.ts +295 -0
  234. package/dist/app/web/types/publish.d.ts.map +1 -0
  235. package/dist/app/web/types/publish.js +145 -0
  236. package/dist/app/web/types/publish.js.map +1 -0
  237. package/dist/app/web/types/upload.d.ts +23 -0
  238. package/dist/app/web/types/upload.d.ts.map +1 -0
  239. package/dist/app/web/types/upload.js +2 -0
  240. package/dist/app/web/types/upload.js.map +1 -0
  241. package/dist/app/web/types/web.d.ts +47 -0
  242. package/dist/app/web/types/web.d.ts.map +1 -0
  243. package/dist/app/web/types/web.js +9 -0
  244. package/dist/app/web/types/web.js.map +1 -0
  245. package/dist/app/web/types/workflow.d.ts +9 -0
  246. package/dist/app/web/types/workflow.d.ts.map +1 -0
  247. package/dist/app/web/types/workflow.js +2 -0
  248. package/dist/app/web/types/workflow.js.map +1 -0
  249. package/dist/app/web/types/youtube.d.ts +15 -0
  250. package/dist/app/web/types/youtube.d.ts.map +1 -0
  251. package/dist/app/web/types/youtube.js +12 -0
  252. package/dist/app/web/types/youtube.js.map +1 -0
  253. package/dist/app/web/widgets/settings/groupConfig.d.ts +4 -0
  254. package/dist/app/web/widgets/settings/groupConfig.d.ts.map +1 -0
  255. package/dist/app/web/widgets/settings/groupConfig.js +219 -0
  256. package/dist/app/web/widgets/settings/groupConfig.js.map +1 -0
  257. package/dist/hooks.server.d.ts +3 -0
  258. package/dist/hooks.server.d.ts.map +1 -0
  259. package/dist/hooks.server.js +11 -0
  260. package/dist/hooks.server.js.map +1 -0
  261. package/dist/lib/config/env.d.ts +7 -0
  262. package/dist/lib/config/env.d.ts.map +1 -0
  263. package/dist/lib/config/env.js +81 -0
  264. package/dist/lib/config/env.js.map +1 -0
  265. package/dist/lib/config/fileStore.d.ts +5 -0
  266. package/dist/lib/config/fileStore.d.ts.map +1 -0
  267. package/dist/lib/config/fileStore.js +34 -0
  268. package/dist/lib/config/fileStore.js.map +1 -0
  269. package/dist/lib/config/index.d.ts +4 -0
  270. package/dist/lib/config/index.d.ts.map +1 -0
  271. package/dist/lib/config/index.js +3 -0
  272. package/dist/lib/config/index.js.map +1 -0
  273. package/dist/lib/config/registry.d.ts +4 -0
  274. package/dist/lib/config/registry.d.ts.map +1 -0
  275. package/dist/lib/config/registry.js +148 -0
  276. package/dist/lib/config/registry.js.map +1 -0
  277. package/dist/lib/index.d.ts +58 -0
  278. package/dist/lib/index.d.ts.map +1 -0
  279. package/dist/lib/index.js +52 -0
  280. package/dist/lib/index.js.map +1 -0
  281. package/dist/lib/pipeline/stages/clipExporter.d.ts +5 -0
  282. package/dist/lib/pipeline/stages/clipExporter.d.ts.map +1 -0
  283. package/dist/lib/pipeline/stages/clipExporter.js +30 -0
  284. package/dist/lib/pipeline/stages/clipExporter.js.map +1 -0
  285. package/dist/lib/pipeline/stages/segmentAnalyzer.d.ts +5 -0
  286. package/dist/lib/pipeline/stages/segmentAnalyzer.d.ts.map +1 -0
  287. package/dist/lib/pipeline/stages/segmentAnalyzer.js +44 -0
  288. package/dist/lib/pipeline/stages/segmentAnalyzer.js.map +1 -0
  289. package/dist/lib/pipeline/stages/segmentSelector.d.ts.map +1 -0
  290. package/dist/{pipeline → lib/pipeline}/stages/segmentSelector.js +4 -4
  291. package/dist/lib/pipeline/stages/segmentSelector.js.map +1 -0
  292. package/dist/lib/services/analysis/index.d.ts +9 -0
  293. package/dist/lib/services/analysis/index.d.ts.map +1 -0
  294. package/dist/lib/services/analysis/index.js +7 -0
  295. package/dist/lib/services/analysis/index.js.map +1 -0
  296. package/dist/lib/services/analysis/llm/LLMAnalyzer.d.ts +18 -0
  297. package/dist/lib/services/analysis/llm/LLMAnalyzer.d.ts.map +1 -0
  298. package/dist/lib/services/analysis/llm/LLMAnalyzer.js +68 -0
  299. package/dist/lib/services/analysis/llm/LLMAnalyzer.js.map +1 -0
  300. package/dist/lib/services/analysis/llm/index.d.ts +5 -0
  301. package/dist/lib/services/analysis/llm/index.d.ts.map +1 -0
  302. package/dist/lib/services/analysis/llm/index.js +197 -0
  303. package/dist/lib/services/analysis/llm/index.js.map +1 -0
  304. package/dist/{services/segmentRanker → lib/services/analysis/ranker}/index.d.ts +2 -2
  305. package/dist/lib/services/analysis/ranker/index.d.ts.map +1 -0
  306. package/dist/{services/segmentRanker → lib/services/analysis/ranker}/index.js +4 -5
  307. package/dist/lib/services/analysis/ranker/index.js.map +1 -0
  308. package/dist/lib/services/analysis/refiner/index.d.ts +5 -0
  309. package/dist/lib/services/analysis/refiner/index.d.ts.map +1 -0
  310. package/dist/lib/services/analysis/refiner/index.js +113 -0
  311. package/dist/lib/services/analysis/refiner/index.js.map +1 -0
  312. package/dist/{services/chunkBuilder → lib/services/analysis/transcript/chunker}/index.d.ts +1 -1
  313. package/dist/lib/services/analysis/transcript/chunker/index.d.ts.map +1 -0
  314. package/dist/lib/services/analysis/transcript/chunker/index.js.map +1 -0
  315. package/dist/{services/transcriptDetector/index.d.ts → lib/services/analysis/transcript/detector.d.ts} +8 -5
  316. package/dist/lib/services/analysis/transcript/detector.d.ts.map +1 -0
  317. package/dist/{services/transcriptDetector/index.js → lib/services/analysis/transcript/detector.js} +16 -11
  318. package/dist/lib/services/analysis/transcript/detector.js.map +1 -0
  319. package/dist/lib/services/analysis/transcript/index.d.ts +5 -0
  320. package/dist/lib/services/analysis/transcript/index.d.ts.map +1 -0
  321. package/dist/lib/services/analysis/transcript/index.js +4 -0
  322. package/dist/lib/services/analysis/transcript/index.js.map +1 -0
  323. package/dist/{services/audioAnalyzers → lib/services/audio/analyzer}/base.d.ts +2 -2
  324. package/dist/lib/services/audio/analyzer/base.d.ts.map +1 -0
  325. package/dist/{services/audioAnalyzers → lib/services/audio/analyzer}/base.js +1 -1
  326. package/dist/lib/services/audio/analyzer/base.js.map +1 -0
  327. package/dist/{services/audioAnalyzers → lib/services/audio/analyzer}/factory.d.ts +3 -2
  328. package/dist/lib/services/audio/analyzer/factory.d.ts.map +1 -0
  329. package/dist/{services/audioAnalyzers → lib/services/audio/analyzer}/factory.js +6 -6
  330. package/dist/lib/services/audio/analyzer/factory.js.map +1 -0
  331. package/dist/{services/audioAnalyzers → lib/services/audio/analyzer}/gemini.d.ts +4 -1
  332. package/dist/lib/services/audio/analyzer/gemini.d.ts.map +1 -0
  333. package/dist/{services/audioAnalyzers → lib/services/audio/analyzer}/gemini.js +12 -19
  334. package/dist/lib/services/audio/analyzer/gemini.js.map +1 -0
  335. package/dist/{services/audioAnalyzers → lib/services/audio/analyzer}/index.d.ts +1 -0
  336. package/dist/lib/services/audio/analyzer/index.d.ts.map +1 -0
  337. package/dist/lib/services/audio/analyzer/index.js.map +1 -0
  338. package/dist/lib/services/audio/analyzer/whisper.d.ts +10 -0
  339. package/dist/lib/services/audio/analyzer/whisper.d.ts.map +1 -0
  340. package/dist/{services/audioAnalyzers → lib/services/audio/analyzer}/whisper.js +11 -11
  341. package/dist/lib/services/audio/analyzer/whisper.js.map +1 -0
  342. package/dist/lib/services/audio/analyzer/yamnet.d.ts +9 -0
  343. package/dist/lib/services/audio/analyzer/yamnet.d.ts.map +1 -0
  344. package/dist/{services/audioAnalyzers → lib/services/audio/analyzer}/yamnet.js +8 -10
  345. package/dist/lib/services/audio/analyzer/yamnet.js.map +1 -0
  346. package/dist/lib/services/audio/index.d.ts +9 -0
  347. package/dist/lib/services/audio/index.d.ts.map +1 -0
  348. package/dist/lib/services/audio/index.js +7 -0
  349. package/dist/lib/services/audio/index.js.map +1 -0
  350. package/dist/{services/eventDetector/index.d.ts → lib/services/audio/processor/detector.d.ts} +3 -3
  351. package/dist/lib/services/audio/processor/detector.d.ts.map +1 -0
  352. package/dist/{services/eventDetector/index.js → lib/services/audio/processor/detector.js} +15 -5
  353. package/dist/lib/services/audio/processor/detector.js.map +1 -0
  354. package/dist/lib/services/audio/processor/slicer.d.ts +4 -0
  355. package/dist/lib/services/audio/processor/slicer.d.ts.map +1 -0
  356. package/dist/{services/audioDownloader/sliceAudio.js → lib/services/audio/processor/slicer.js} +8 -9
  357. package/dist/lib/services/audio/processor/slicer.js.map +1 -0
  358. package/dist/lib/services/audio/source/index.d.ts +3 -0
  359. package/dist/lib/services/audio/source/index.d.ts.map +1 -0
  360. package/dist/lib/services/audio/source/index.js +2 -0
  361. package/dist/lib/services/audio/source/index.js.map +1 -0
  362. package/dist/lib/services/audio/source/youtube.d.ts +4 -0
  363. package/dist/lib/services/audio/source/youtube.d.ts.map +1 -0
  364. package/dist/{services/audioDownloader/index.js → lib/services/audio/source/youtube.js} +39 -35
  365. package/dist/lib/services/audio/source/youtube.js.map +1 -0
  366. package/dist/{services/transcriptAnalyzers → lib/services/audio/transcriber}/base.d.ts +2 -2
  367. package/dist/lib/services/audio/transcriber/base.d.ts.map +1 -0
  368. package/dist/{services/transcriptAnalyzers → lib/services/audio/transcriber}/base.js +1 -1
  369. package/dist/lib/services/audio/transcriber/base.js.map +1 -0
  370. package/dist/{services/transcriptAnalyzers → lib/services/audio/transcriber}/factory.d.ts +4 -2
  371. package/dist/lib/services/audio/transcriber/factory.d.ts.map +1 -0
  372. package/dist/{services/transcriptAnalyzers → lib/services/audio/transcriber}/factory.js +6 -7
  373. package/dist/lib/services/audio/transcriber/factory.js.map +1 -0
  374. package/dist/{services/transcriptAnalyzers → lib/services/audio/transcriber}/gemini.d.ts +1 -1
  375. package/dist/lib/services/audio/transcriber/gemini.d.ts.map +1 -0
  376. package/dist/lib/services/audio/transcriber/gemini.js.map +1 -0
  377. package/dist/{services/transcriptAnalyzers → lib/services/audio/transcriber}/index.d.ts +1 -0
  378. package/dist/lib/services/audio/transcriber/index.d.ts.map +1 -0
  379. package/dist/lib/services/audio/transcriber/index.js.map +1 -0
  380. package/dist/{services/transcriptAnalyzers → lib/services/audio/transcriber}/whisper.d.ts +3 -1
  381. package/dist/lib/services/audio/transcriber/whisper.d.ts.map +1 -0
  382. package/dist/{services/transcriptAnalyzers → lib/services/audio/transcriber}/whisper.js +9 -10
  383. package/dist/lib/services/audio/transcriber/whisper.js.map +1 -0
  384. package/dist/lib/services/cache/backends/disabled.d.ts +20 -0
  385. package/dist/lib/services/cache/backends/disabled.d.ts.map +1 -0
  386. package/dist/{utils/cacheBackend.js → lib/services/cache/backends/disabled.js} +1 -1
  387. package/dist/lib/services/cache/backends/disabled.js.map +1 -0
  388. package/dist/{utils/fileCacheBackend.d.ts → lib/services/cache/backends/file.d.ts} +7 -4
  389. package/dist/lib/services/cache/backends/file.d.ts.map +1 -0
  390. package/dist/{utils/fileCacheBackend.js → lib/services/cache/backends/file.js} +18 -9
  391. package/dist/lib/services/cache/backends/file.js.map +1 -0
  392. package/dist/{utils/mongoCacheBackend.d.ts → lib/services/cache/backends/mongo.d.ts} +3 -3
  393. package/dist/lib/services/cache/backends/mongo.d.ts.map +1 -0
  394. package/dist/{utils/mongoCacheBackend.js → lib/services/cache/backends/mongo.js} +8 -8
  395. package/dist/lib/services/cache/backends/mongo.js.map +1 -0
  396. package/dist/{utils → lib/services/cache}/cache.d.ts +6 -5
  397. package/dist/lib/services/cache/cache.d.ts.map +1 -0
  398. package/dist/{utils → lib/services/cache}/cache.js +25 -4
  399. package/dist/lib/services/cache/cache.js.map +1 -0
  400. package/dist/{utils/cacheFactory.d.ts → lib/services/cache/factory.d.ts} +3 -3
  401. package/dist/lib/services/cache/factory.d.ts.map +1 -0
  402. package/dist/{utils/cacheFactory.js → lib/services/cache/factory.js} +6 -6
  403. package/dist/lib/services/cache/factory.js.map +1 -0
  404. package/dist/lib/services/cache/index.d.ts +4 -0
  405. package/dist/lib/services/cache/index.d.ts.map +1 -0
  406. package/dist/lib/services/cache/index.js +3 -0
  407. package/dist/lib/services/cache/index.js.map +1 -0
  408. package/dist/lib/services/cache/manifest.d.ts +6 -0
  409. package/dist/lib/services/cache/manifest.d.ts.map +1 -0
  410. package/dist/lib/services/cache/manifest.js +101 -0
  411. package/dist/lib/services/cache/manifest.js.map +1 -0
  412. package/dist/{services/clipGenerator → lib/services/video/clipper}/index.d.ts +16 -3
  413. package/dist/lib/services/video/clipper/index.d.ts.map +1 -0
  414. package/dist/lib/services/video/clipper/index.js +215 -0
  415. package/dist/lib/services/video/clipper/index.js.map +1 -0
  416. package/dist/lib/services/video/index.d.ts +13 -0
  417. package/dist/lib/services/video/index.d.ts.map +1 -0
  418. package/dist/lib/services/video/index.js +9 -0
  419. package/dist/lib/services/video/index.js.map +1 -0
  420. package/dist/lib/services/video/source/index.d.ts +8 -0
  421. package/dist/lib/services/video/source/index.d.ts.map +1 -0
  422. package/dist/lib/services/video/source/index.js +6 -0
  423. package/dist/lib/services/video/source/index.js.map +1 -0
  424. package/dist/lib/services/video/source/youtube/catalog.d.ts +12 -0
  425. package/dist/lib/services/video/source/youtube/catalog.d.ts.map +1 -0
  426. package/dist/lib/services/video/source/youtube/catalog.js +177 -0
  427. package/dist/lib/services/video/source/youtube/catalog.js.map +1 -0
  428. package/dist/{services/videoDownloader/index.d.ts → lib/services/video/source/youtube/downloader.d.ts} +6 -4
  429. package/dist/lib/services/video/source/youtube/downloader.d.ts.map +1 -0
  430. package/dist/lib/services/video/source/youtube/downloader.js +250 -0
  431. package/dist/lib/services/video/source/youtube/downloader.js.map +1 -0
  432. package/dist/lib/services/video/source/youtube/metadata.d.ts +14 -0
  433. package/dist/lib/services/video/source/youtube/metadata.d.ts.map +1 -0
  434. package/dist/{services/metadataExtractor/index.js → lib/services/video/source/youtube/metadata.js} +14 -18
  435. package/dist/lib/services/video/source/youtube/metadata.js.map +1 -0
  436. package/dist/{services/urlParser/index.d.ts → lib/services/video/source/youtube/parser.d.ts} +1 -1
  437. package/dist/lib/services/video/source/youtube/parser.d.ts.map +1 -0
  438. package/dist/{services/urlParser/index.js → lib/services/video/source/youtube/parser.js} +1 -1
  439. package/dist/lib/services/video/source/youtube/parser.js.map +1 -0
  440. package/dist/lib/services/video/source/youtube/subtitles.d.ts +32 -0
  441. package/dist/lib/services/video/source/youtube/subtitles.d.ts.map +1 -0
  442. package/dist/lib/services/video/source/youtube/subtitles.js +340 -0
  443. package/dist/lib/services/video/source/youtube/subtitles.js.map +1 -0
  444. package/dist/lib/types/analyzer.d.ts +55 -0
  445. package/dist/lib/types/analyzer.d.ts.map +1 -0
  446. package/dist/lib/types/analyzer.js +6 -0
  447. package/dist/lib/types/analyzer.js.map +1 -0
  448. package/dist/lib/types/audio.d.ts +54 -0
  449. package/dist/lib/types/audio.d.ts.map +1 -0
  450. package/dist/{types → lib/types}/audio.js +10 -0
  451. package/dist/lib/types/audio.js.map +1 -0
  452. package/dist/lib/types/cache.d.ts +41 -0
  453. package/dist/lib/types/cache.d.ts.map +1 -0
  454. package/dist/lib/types/cache.js.map +1 -0
  455. package/dist/lib/types/cli.d.ts.map +1 -0
  456. package/dist/lib/types/cli.js.map +1 -0
  457. package/dist/lib/types/config.d.ts +206 -0
  458. package/dist/lib/types/config.d.ts.map +1 -0
  459. package/dist/lib/types/config.js +487 -0
  460. package/dist/lib/types/config.js.map +1 -0
  461. package/dist/lib/types/downloader.d.ts +32 -0
  462. package/dist/lib/types/downloader.d.ts.map +1 -0
  463. package/dist/{types → lib/types}/downloader.js.map +1 -1
  464. package/dist/lib/types/factory.d.ts.map +1 -0
  465. package/dist/{types → lib/types}/factory.js.map +1 -1
  466. package/dist/lib/types/index.d.ts +22 -0
  467. package/dist/lib/types/index.d.ts.map +1 -0
  468. package/dist/{types → lib/types}/index.js +4 -2
  469. package/dist/lib/types/index.js.map +1 -0
  470. package/dist/lib/types/pipeline.d.ts +83 -0
  471. package/dist/lib/types/pipeline.d.ts.map +1 -0
  472. package/dist/{types → lib/types}/pipeline.js.map +1 -1
  473. package/dist/{types → lib/types}/segment.d.ts +1 -1
  474. package/dist/lib/types/segment.d.ts.map +1 -0
  475. package/dist/lib/types/segment.js.map +1 -0
  476. package/dist/lib/types/transcript.d.ts.map +1 -0
  477. package/dist/lib/types/transcript.js.map +1 -0
  478. package/dist/{types → lib/types}/video.d.ts +28 -1
  479. package/dist/lib/types/video.d.ts.map +1 -0
  480. package/dist/lib/types/video.js.map +1 -0
  481. package/dist/lib/types/youtube.d.ts +140 -0
  482. package/dist/lib/types/youtube.d.ts.map +1 -0
  483. package/dist/lib/types/youtube.js +43 -0
  484. package/dist/lib/types/youtube.js.map +1 -0
  485. package/dist/lib/utils/chunker.d.ts.map +1 -0
  486. package/dist/lib/utils/chunker.js.map +1 -0
  487. package/dist/lib/utils/format.d.ts.map +1 -0
  488. package/dist/lib/utils/format.js.map +1 -0
  489. package/dist/lib/utils/logger.d.ts +24 -0
  490. package/dist/lib/utils/logger.d.ts.map +1 -0
  491. package/dist/lib/utils/logger.js +83 -0
  492. package/dist/lib/utils/logger.js.map +1 -0
  493. package/dist/lib/utils/modelFactory.d.ts +4 -0
  494. package/dist/lib/utils/modelFactory.d.ts.map +1 -0
  495. package/dist/lib/utils/modelFactory.js +45 -0
  496. package/dist/lib/utils/modelFactory.js.map +1 -0
  497. package/dist/lib/utils/paths.d.ts.map +1 -0
  498. package/dist/lib/utils/paths.js.map +1 -0
  499. package/dist/lib/utils/pythonBin.d.ts.map +1 -0
  500. package/dist/{utils → lib/utils}/pythonBin.js +1 -1
  501. package/dist/lib/utils/pythonBin.js.map +1 -0
  502. package/dist/lib/utils/retryAsync.d.ts +19 -0
  503. package/dist/lib/utils/retryAsync.d.ts.map +1 -0
  504. package/dist/lib/utils/retryAsync.js +37 -0
  505. package/dist/lib/utils/retryAsync.js.map +1 -0
  506. package/package.json +36 -15
  507. package/dist/cli.d.ts.map +0 -1
  508. package/dist/cli.js.map +0 -1
  509. package/dist/config/env.d.ts +0 -53
  510. package/dist/config/env.d.ts.map +0 -1
  511. package/dist/config/env.js +0 -15
  512. package/dist/config/env.js.map +0 -1
  513. package/dist/config/index.d.ts +0 -2
  514. package/dist/config/index.d.ts.map +0 -1
  515. package/dist/config/index.js +0 -2
  516. package/dist/config/index.js.map +0 -1
  517. package/dist/index.js +0 -37
  518. package/dist/index.js.map +0 -1
  519. package/dist/lib.d.ts +0 -17
  520. package/dist/lib.d.ts.map +0 -1
  521. package/dist/lib.js +0 -17
  522. package/dist/lib.js.map +0 -1
  523. package/dist/pipeline/dumper.d.ts.map +0 -1
  524. package/dist/pipeline/dumper.js.map +0 -1
  525. package/dist/pipeline/runner.d.ts.map +0 -1
  526. package/dist/pipeline/runner.js +0 -132
  527. package/dist/pipeline/runner.js.map +0 -1
  528. package/dist/pipeline/stages/audioProcessor.d.ts +0 -19
  529. package/dist/pipeline/stages/audioProcessor.d.ts.map +0 -1
  530. package/dist/pipeline/stages/audioProcessor.js +0 -74
  531. package/dist/pipeline/stages/audioProcessor.js.map +0 -1
  532. package/dist/pipeline/stages/clipExporter.d.ts +0 -14
  533. package/dist/pipeline/stages/clipExporter.d.ts.map +0 -1
  534. package/dist/pipeline/stages/clipExporter.js +0 -41
  535. package/dist/pipeline/stages/clipExporter.js.map +0 -1
  536. package/dist/pipeline/stages/segmentAnalyzer.d.ts +0 -26
  537. package/dist/pipeline/stages/segmentAnalyzer.d.ts.map +0 -1
  538. package/dist/pipeline/stages/segmentAnalyzer.js +0 -47
  539. package/dist/pipeline/stages/segmentAnalyzer.js.map +0 -1
  540. package/dist/pipeline/stages/segmentSelector.d.ts.map +0 -1
  541. package/dist/pipeline/stages/segmentSelector.js.map +0 -1
  542. package/dist/pipeline/stages/videoResolver.d.ts +0 -11
  543. package/dist/pipeline/stages/videoResolver.d.ts.map +0 -1
  544. package/dist/pipeline/stages/videoResolver.js +0 -32
  545. package/dist/pipeline/stages/videoResolver.js.map +0 -1
  546. package/dist/services/audioAnalyzers/base.d.ts.map +0 -1
  547. package/dist/services/audioAnalyzers/base.js.map +0 -1
  548. package/dist/services/audioAnalyzers/factory.d.ts.map +0 -1
  549. package/dist/services/audioAnalyzers/factory.js.map +0 -1
  550. package/dist/services/audioAnalyzers/gemini.d.ts.map +0 -1
  551. package/dist/services/audioAnalyzers/gemini.js.map +0 -1
  552. package/dist/services/audioAnalyzers/index.d.ts.map +0 -1
  553. package/dist/services/audioAnalyzers/index.js.map +0 -1
  554. package/dist/services/audioAnalyzers/whisper.d.ts +0 -13
  555. package/dist/services/audioAnalyzers/whisper.d.ts.map +0 -1
  556. package/dist/services/audioAnalyzers/whisper.js.map +0 -1
  557. package/dist/services/audioAnalyzers/yamnet.d.ts +0 -13
  558. package/dist/services/audioAnalyzers/yamnet.d.ts.map +0 -1
  559. package/dist/services/audioAnalyzers/yamnet.js.map +0 -1
  560. package/dist/services/audioDownloader/index.d.ts +0 -2
  561. package/dist/services/audioDownloader/index.d.ts.map +0 -1
  562. package/dist/services/audioDownloader/index.js.map +0 -1
  563. package/dist/services/audioDownloader/sliceAudio.d.ts +0 -2
  564. package/dist/services/audioDownloader/sliceAudio.d.ts.map +0 -1
  565. package/dist/services/audioDownloader/sliceAudio.js.map +0 -1
  566. package/dist/services/chunkBuilder/index.d.ts.map +0 -1
  567. package/dist/services/chunkBuilder/index.js.map +0 -1
  568. package/dist/services/clipGenerator/index.d.ts.map +0 -1
  569. package/dist/services/clipGenerator/index.js +0 -141
  570. package/dist/services/clipGenerator/index.js.map +0 -1
  571. package/dist/services/clipRefiner/index.d.ts +0 -10
  572. package/dist/services/clipRefiner/index.d.ts.map +0 -1
  573. package/dist/services/clipRefiner/index.js +0 -102
  574. package/dist/services/clipRefiner/index.js.map +0 -1
  575. package/dist/services/eventDetector/index.d.ts.map +0 -1
  576. package/dist/services/eventDetector/index.js.map +0 -1
  577. package/dist/services/llmAnalyzer/LLMAnalyzer.d.ts +0 -41
  578. package/dist/services/llmAnalyzer/LLMAnalyzer.d.ts.map +0 -1
  579. package/dist/services/llmAnalyzer/LLMAnalyzer.js +0 -62
  580. package/dist/services/llmAnalyzer/LLMAnalyzer.js.map +0 -1
  581. package/dist/services/llmAnalyzer/index.d.ts +0 -9
  582. package/dist/services/llmAnalyzer/index.d.ts.map +0 -1
  583. package/dist/services/llmAnalyzer/index.js +0 -172
  584. package/dist/services/llmAnalyzer/index.js.map +0 -1
  585. package/dist/services/metadataExtractor/index.d.ts +0 -12
  586. package/dist/services/metadataExtractor/index.d.ts.map +0 -1
  587. package/dist/services/metadataExtractor/index.js.map +0 -1
  588. package/dist/services/segmentRanker/index.d.ts.map +0 -1
  589. package/dist/services/segmentRanker/index.js.map +0 -1
  590. package/dist/services/transcriptAnalyzers/base.d.ts.map +0 -1
  591. package/dist/services/transcriptAnalyzers/base.js.map +0 -1
  592. package/dist/services/transcriptAnalyzers/factory.d.ts.map +0 -1
  593. package/dist/services/transcriptAnalyzers/factory.js.map +0 -1
  594. package/dist/services/transcriptAnalyzers/gemini.d.ts.map +0 -1
  595. package/dist/services/transcriptAnalyzers/gemini.js.map +0 -1
  596. package/dist/services/transcriptAnalyzers/index.d.ts.map +0 -1
  597. package/dist/services/transcriptAnalyzers/index.js.map +0 -1
  598. package/dist/services/transcriptAnalyzers/whisper.d.ts.map +0 -1
  599. package/dist/services/transcriptAnalyzers/whisper.js.map +0 -1
  600. package/dist/services/transcriptAnalyzers/ytdlp.d.ts +0 -26
  601. package/dist/services/transcriptAnalyzers/ytdlp.d.ts.map +0 -1
  602. package/dist/services/transcriptAnalyzers/ytdlp.js +0 -136
  603. package/dist/services/transcriptAnalyzers/ytdlp.js.map +0 -1
  604. package/dist/services/transcriptDetector/index.d.ts.map +0 -1
  605. package/dist/services/transcriptDetector/index.js.map +0 -1
  606. package/dist/services/urlParser/index.d.ts.map +0 -1
  607. package/dist/services/urlParser/index.js.map +0 -1
  608. package/dist/services/videoDownloader/index.d.ts.map +0 -1
  609. package/dist/services/videoDownloader/index.js +0 -198
  610. package/dist/services/videoDownloader/index.js.map +0 -1
  611. package/dist/types/analyzer.d.ts +0 -22
  612. package/dist/types/analyzer.d.ts.map +0 -1
  613. package/dist/types/analyzer.js +0 -2
  614. package/dist/types/analyzer.js.map +0 -1
  615. package/dist/types/audio.d.ts +0 -26
  616. package/dist/types/audio.d.ts.map +0 -1
  617. package/dist/types/audio.js.map +0 -1
  618. package/dist/types/cache.d.ts +0 -7
  619. package/dist/types/cache.d.ts.map +0 -1
  620. package/dist/types/cache.js.map +0 -1
  621. package/dist/types/cli.d.ts.map +0 -1
  622. package/dist/types/cli.js.map +0 -1
  623. package/dist/types/config.d.ts +0 -94
  624. package/dist/types/config.d.ts.map +0 -1
  625. package/dist/types/config.js +0 -140
  626. package/dist/types/config.js.map +0 -1
  627. package/dist/types/downloader.d.ts +0 -11
  628. package/dist/types/downloader.d.ts.map +0 -1
  629. package/dist/types/factory.d.ts.map +0 -1
  630. package/dist/types/index.d.ts +0 -18
  631. package/dist/types/index.d.ts.map +0 -1
  632. package/dist/types/index.js.map +0 -1
  633. package/dist/types/pipeline.d.ts +0 -50
  634. package/dist/types/pipeline.d.ts.map +0 -1
  635. package/dist/types/segment.d.ts.map +0 -1
  636. package/dist/types/segment.js.map +0 -1
  637. package/dist/types/transcript.d.ts.map +0 -1
  638. package/dist/types/transcript.js.map +0 -1
  639. package/dist/types/video.d.ts.map +0 -1
  640. package/dist/types/video.js.map +0 -1
  641. package/dist/utils/cache.d.ts.map +0 -1
  642. package/dist/utils/cache.js.map +0 -1
  643. package/dist/utils/cacheBackend.d.ts +0 -40
  644. package/dist/utils/cacheBackend.d.ts.map +0 -1
  645. package/dist/utils/cacheBackend.js.map +0 -1
  646. package/dist/utils/cacheFactory.d.ts.map +0 -1
  647. package/dist/utils/cacheFactory.js.map +0 -1
  648. package/dist/utils/chunker.d.ts.map +0 -1
  649. package/dist/utils/chunker.js.map +0 -1
  650. package/dist/utils/fileCacheBackend.d.ts.map +0 -1
  651. package/dist/utils/fileCacheBackend.js.map +0 -1
  652. package/dist/utils/format.d.ts.map +0 -1
  653. package/dist/utils/format.js.map +0 -1
  654. package/dist/utils/logger.d.ts +0 -7
  655. package/dist/utils/logger.d.ts.map +0 -1
  656. package/dist/utils/logger.js +0 -27
  657. package/dist/utils/logger.js.map +0 -1
  658. package/dist/utils/modelFactory.d.ts +0 -14
  659. package/dist/utils/modelFactory.d.ts.map +0 -1
  660. package/dist/utils/modelFactory.js +0 -61
  661. package/dist/utils/modelFactory.js.map +0 -1
  662. package/dist/utils/mongoCacheBackend.d.ts.map +0 -1
  663. package/dist/utils/mongoCacheBackend.js.map +0 -1
  664. package/dist/utils/paths.d.ts.map +0 -1
  665. package/dist/utils/paths.js.map +0 -1
  666. package/dist/utils/pythonBin.d.ts.map +0 -1
  667. package/dist/utils/pythonBin.js.map +0 -1
  668. /package/dist/{index.d.ts → app/cli/index.d.ts} +0 -0
  669. /package/dist/{pipeline → lib/pipeline}/stages/segmentSelector.d.ts +0 -0
  670. /package/dist/{services/chunkBuilder → lib/services/analysis/transcript/chunker}/index.js +0 -0
  671. /package/dist/{services/audioAnalyzers → lib/services/audio/analyzer}/index.js +0 -0
  672. /package/dist/{services/transcriptAnalyzers → lib/services/audio/transcriber}/gemini.js +0 -0
  673. /package/dist/{services/transcriptAnalyzers → lib/services/audio/transcriber}/index.js +0 -0
  674. /package/dist/{types → lib/types}/cache.js +0 -0
  675. /package/dist/{types → lib/types}/cli.d.ts +0 -0
  676. /package/dist/{types → lib/types}/cli.js +0 -0
  677. /package/dist/{types → lib/types}/downloader.js +0 -0
  678. /package/dist/{types → lib/types}/factory.d.ts +0 -0
  679. /package/dist/{types → lib/types}/factory.js +0 -0
  680. /package/dist/{types → lib/types}/pipeline.js +0 -0
  681. /package/dist/{types → lib/types}/segment.js +0 -0
  682. /package/dist/{types → lib/types}/transcript.d.ts +0 -0
  683. /package/dist/{types → lib/types}/transcript.js +0 -0
  684. /package/dist/{types → lib/types}/video.js +0 -0
  685. /package/dist/{utils → lib/utils}/chunker.d.ts +0 -0
  686. /package/dist/{utils → lib/utils}/chunker.js +0 -0
  687. /package/dist/{utils → lib/utils}/format.d.ts +0 -0
  688. /package/dist/{utils → lib/utils}/format.js +0 -0
  689. /package/dist/{utils → lib/utils}/paths.d.ts +0 -0
  690. /package/dist/{utils → lib/utils}/paths.js +0 -0
  691. /package/dist/{utils → lib/utils}/pythonBin.d.ts +0 -0
@@ -0,0 +1,83 @@
1
+ import type { VideoMetadata } from './video.js';
2
+ import type { LLMAnalyzerResult, StreamCallbacks } from './analyzer.js';
3
+ import type { LanguageModel } from 'ai';
4
+ import type { TranscriptChainConfig, DownloaderConfig, AudioDownloadConfig } from './downloader.js';
5
+ import type { ClipperConfig } from './video.js';
6
+ import type { AnalyzerChainConfig, SlicerConfig } from './audio.js';
7
+ /** A half-open time window [start, end) in seconds. Returned by `buildWindows`. */
8
+ export interface ChunkWindow {
9
+ /** Start of the window in seconds (inclusive). */
10
+ start: number;
11
+ /** End of the window in seconds (exclusive upper bound). */
12
+ end: number;
13
+ }
14
+ export interface VideoResolverResult {
15
+ videoId: string;
16
+ metadata: VideoMetadata;
17
+ }
18
+ export interface AudioProcessorOpts {
19
+ noAudio: boolean;
20
+ gameProfile: string;
21
+ maxParallel: number;
22
+ /** Pre-downloaded audio WAV path. When provided, skips the downloadAudio call. */
23
+ audioPath?: string | null;
24
+ }
25
+ export interface SegmentAnalyzerOpts {
26
+ maxChunks?: number;
27
+ maxParallel: number;
28
+ noCache: boolean;
29
+ requestId?: string;
30
+ transcriptProvider: string;
31
+ transcriptChainConfig: TranscriptChainConfig;
32
+ microBlockSec: number;
33
+ chunkLengthSec: number;
34
+ chunkOverlapSec: number;
35
+ model: LanguageModel;
36
+ maxRetries: number;
37
+ systemPrompt: string;
38
+ llmModel: string;
39
+ callbacks?: StreamCallbacks;
40
+ /** Optional video title, threaded to the refiner prompt for boundary context. */
41
+ videoTitle?: string;
42
+ /** Optional AbortSignal threaded down to the underlying LLM streamText calls. */
43
+ signal?: AbortSignal;
44
+ }
45
+ export type SegmentAnalyzerResult = LLMAnalyzerResult;
46
+ export interface SegmentSelectorOpts {
47
+ threshold: number;
48
+ topN: number;
49
+ boostWindow: number;
50
+ scoreBoost: number;
51
+ preRoll: number;
52
+ postRoll: number;
53
+ }
54
+ export interface ClipExporterOpts {
55
+ /** Path to a pre-existing local video file. Skips yt-dlp download entirely. */
56
+ localVideo?: string;
57
+ /**
58
+ * yt-dlp download strategy.
59
+ * - `'all'` — download the full video, then cut clips with ffmpeg
60
+ * - number — download only the top-N segments via --download-sections
61
+ * - undefined — same as `'all'`
62
+ */
63
+ downloadSections: 'all' | number | undefined;
64
+ /** Custom output/download directory (overrides config.DOWNLOAD_DIR / config.OUTPUT_DIR). */
65
+ videoPath?: string;
66
+ clipConcurrency: number;
67
+ }
68
+ export interface ClipExporterConfig {
69
+ downloader: DownloaderConfig;
70
+ clipper: ClipperConfig;
71
+ downloadSectionsMode: 'all' | number | undefined;
72
+ }
73
+ export interface AudioProcessorConfig {
74
+ audioEnabled: boolean;
75
+ audioProvider: string;
76
+ chunkLengthSec: number;
77
+ chunkOverlapSec: number;
78
+ outputDir: string;
79
+ audioDownloadConfig: AudioDownloadConfig;
80
+ slicerConfig: SlicerConfig;
81
+ analyzerChainConfig: AnalyzerChainConfig;
82
+ }
83
+ //# sourceMappingURL=pipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../../src/lib/types/pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGhD,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACxC,OAAO,KAAK,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACpG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAEpE,mFAAmF;AACnF,MAAM,WAAW,WAAW;IAC1B,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAC;IACd,4DAA4D;IAC5D,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,aAAa,CAAC;CACzB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,kFAAkF;IAClF,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,aAAa,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,iFAAiF;IACjF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iFAAiF;IACjF,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,MAAM,qBAAqB,GAAG,iBAAiB,CAAC;AAEtD,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,+EAA+E;IAC/E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,gBAAgB,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,CAAC;IAC7C,4FAA4F;IAC5F,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,gBAAgB,CAAC;IAC7B,OAAO,EAAE,aAAa,CAAC;IACvB,oBAAoB,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,CAAC;CAClD;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,YAAY,EAAE,YAAY,CAAC;IAC3B,mBAAmB,EAAE,mBAAmB,CAAC;CAC1C"}
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/types/pipeline.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../../src/lib/types/pipeline.ts"],"names":[],"mappings":""}
@@ -14,9 +14,9 @@ export declare const RankedSegmentSchema: z.ZodObject<{
14
14
  score: z.ZodNumber;
15
15
  reason: z.ZodString;
16
16
  source: z.ZodEnum<{
17
- both: "both";
18
17
  transcript: "transcript";
19
18
  audio: "audio";
19
+ both: "both";
20
20
  }>;
21
21
  audio_event: z.ZodOptional<z.ZodString>;
22
22
  }, z.core.$strip>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"segment.d.ts","sourceRoot":"","sources":["../../../src/lib/types/segment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,qBAAqB;;;;;;iBAMhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;iBAQ9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAQhE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;6BAahC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"segment.js","sourceRoot":"","sources":["../../../src/lib/types/segment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE;IACxB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IAChC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;CACrB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IAChC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC/C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC,CAAC;AAGH,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACpC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,kBAAkB,CAAC,QAAQ,EAAE;IAClE,yBAAyB,CAAC,MAAM,CAAC;QAC/B,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;QAC5B,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE;QACxB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;QAClB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;QACtB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;KACrB,CAAC;IACF,yBAAyB,CAAC,MAAM,CAAC;QAC/B,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC3B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;KAClB,CAAC;CACH,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transcript.d.ts","sourceRoot":"","sources":["../../../src/lib/types/transcript.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,oBAAoB;;;;iBAI/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,gBAAgB;;;;iBAI3B,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,eAAO,MAAM,cAAc;;;;iBAIzB,CAAC;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transcript.js","sourceRoot":"","sources":["../../../src/lib/types/transcript.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;CACrB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;CACjB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;CACjB,CAAC,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { z } from 'zod';
2
+ import type { TranscriptLine } from './transcript.js';
2
3
  export declare const VideoMetadataSchema: z.ZodObject<{
3
4
  videoId: z.ZodString;
4
5
  title: z.ZodString;
@@ -33,12 +34,38 @@ export declare const PipelineResultSchema: z.ZodObject<{
33
34
  score: z.ZodNumber;
34
35
  reason: z.ZodString;
35
36
  source: z.ZodEnum<{
36
- both: "both";
37
37
  transcript: "transcript";
38
38
  audio: "audio";
39
+ both: "both";
39
40
  }>;
40
41
  audio_event: z.ZodOptional<z.ZodString>;
41
42
  }, z.core.$strip>>;
42
43
  }, z.core.$strip>;
43
44
  export type PipelineResult = z.infer<typeof PipelineResultSchema>;
45
+ export type DownloadMode = 'all' | 'segments';
46
+ export interface DownloadResultAll {
47
+ mode: 'all';
48
+ path: string;
49
+ }
50
+ export interface DownloadResultSegments {
51
+ mode: 'segments';
52
+ paths: string[];
53
+ }
54
+ export type DownloadResult = DownloadResultAll | DownloadResultSegments;
55
+ export interface VideoSource {
56
+ readonly name: string;
57
+ resolve(input: string): Promise<{
58
+ videoId: string;
59
+ metadata: VideoMetadata;
60
+ }>;
61
+ downloadVideo(videoId: string, mode: 'all' | number, segments?: unknown[], customPath?: string): Promise<DownloadResult>;
62
+ getSubtitles(videoId: string): Promise<TranscriptLine[]>;
63
+ }
64
+ export interface ClipperConfig {
65
+ ffmpegPath?: string;
66
+ ffprobePath?: string;
67
+ timestampOffset: number;
68
+ ffmpegPreset: string;
69
+ outputDir: string;
70
+ }
44
71
  //# sourceMappingURL=video.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"video.d.ts","sourceRoot":"","sources":["../../../src/lib/types/video.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,eAAO,MAAM,mBAAmB;;;;iBAI9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAM/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,UAAU,CAAC;AAE9C,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,KAAK,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,MAAM,cAAc,GAAG,iBAAiB,GAAG,sBAAsB,CAAC;AAExE,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,aAAa,CAAA;KAAE,CAAC,CAAC;IAE9E,aAAa,CACX,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,KAAK,GAAG,MAAM,EACpB,QAAQ,CAAC,EAAE,OAAO,EAAE,EACpB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,cAAc,CAAC,CAAC;IAE3B,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;CAC1D;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"video.js","sourceRoot":"","sources":["../../../src/lib/types/video.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAI1E,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;IAC9B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,UAAU;CACjC,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;IAC/B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,UAAU;IAChC,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC;IACjD,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC;CACvC,CAAC,CAAC"}
@@ -0,0 +1,140 @@
1
+ import { z } from 'zod';
2
+ export declare const YouTubeThumbnailSchema: z.ZodObject<{
3
+ url: z.ZodString;
4
+ width: z.ZodOptional<z.ZodNumber>;
5
+ height: z.ZodOptional<z.ZodNumber>;
6
+ }, z.core.$strip>;
7
+ export type YouTubeThumbnail = z.infer<typeof YouTubeThumbnailSchema>;
8
+ export declare const ChannelSummarySchema: z.ZodObject<{
9
+ id: z.ZodString;
10
+ title: z.ZodString;
11
+ description: z.ZodString;
12
+ handle: z.ZodOptional<z.ZodString>;
13
+ customUrl: z.ZodOptional<z.ZodString>;
14
+ thumbnail: z.ZodOptional<z.ZodObject<{
15
+ url: z.ZodString;
16
+ width: z.ZodOptional<z.ZodNumber>;
17
+ height: z.ZodOptional<z.ZodNumber>;
18
+ }, z.core.$strip>>;
19
+ uploadsPlaylistId: z.ZodString;
20
+ subscriberCount: z.ZodOptional<z.ZodNumber>;
21
+ videoCount: z.ZodOptional<z.ZodNumber>;
22
+ viewCount: z.ZodOptional<z.ZodNumber>;
23
+ }, z.core.$strip>;
24
+ export type ChannelSummary = z.infer<typeof ChannelSummarySchema>;
25
+ export declare const VideoSummarySchema: z.ZodObject<{
26
+ id: z.ZodString;
27
+ channelId: z.ZodString;
28
+ channelTitle: z.ZodString;
29
+ title: z.ZodString;
30
+ description: z.ZodString;
31
+ publishedAt: z.ZodString;
32
+ thumbnail: z.ZodOptional<z.ZodObject<{
33
+ url: z.ZodString;
34
+ width: z.ZodOptional<z.ZodNumber>;
35
+ height: z.ZodOptional<z.ZodNumber>;
36
+ }, z.core.$strip>>;
37
+ durationSec: z.ZodNumber;
38
+ viewCount: z.ZodOptional<z.ZodNumber>;
39
+ likeCount: z.ZodOptional<z.ZodNumber>;
40
+ commentCount: z.ZodOptional<z.ZodNumber>;
41
+ privacyStatus: z.ZodOptional<z.ZodString>;
42
+ }, z.core.$strip>;
43
+ export type VideoSummary = z.infer<typeof VideoSummarySchema>;
44
+ export declare const VideoDetailsSchema: z.ZodObject<{
45
+ id: z.ZodString;
46
+ channelId: z.ZodString;
47
+ channelTitle: z.ZodString;
48
+ title: z.ZodString;
49
+ description: z.ZodString;
50
+ publishedAt: z.ZodString;
51
+ thumbnail: z.ZodOptional<z.ZodObject<{
52
+ url: z.ZodString;
53
+ width: z.ZodOptional<z.ZodNumber>;
54
+ height: z.ZodOptional<z.ZodNumber>;
55
+ }, z.core.$strip>>;
56
+ durationSec: z.ZodNumber;
57
+ viewCount: z.ZodOptional<z.ZodNumber>;
58
+ likeCount: z.ZodOptional<z.ZodNumber>;
59
+ commentCount: z.ZodOptional<z.ZodNumber>;
60
+ privacyStatus: z.ZodOptional<z.ZodString>;
61
+ tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
62
+ embedHtml: z.ZodOptional<z.ZodString>;
63
+ }, z.core.$strip>;
64
+ export type VideoDetails = z.infer<typeof VideoDetailsSchema>;
65
+ export declare const VideoPageSchema: z.ZodObject<{
66
+ channelId: z.ZodString;
67
+ videos: z.ZodArray<z.ZodObject<{
68
+ id: z.ZodString;
69
+ channelId: z.ZodString;
70
+ channelTitle: z.ZodString;
71
+ title: z.ZodString;
72
+ description: z.ZodString;
73
+ publishedAt: z.ZodString;
74
+ thumbnail: z.ZodOptional<z.ZodObject<{
75
+ url: z.ZodString;
76
+ width: z.ZodOptional<z.ZodNumber>;
77
+ height: z.ZodOptional<z.ZodNumber>;
78
+ }, z.core.$strip>>;
79
+ durationSec: z.ZodNumber;
80
+ viewCount: z.ZodOptional<z.ZodNumber>;
81
+ likeCount: z.ZodOptional<z.ZodNumber>;
82
+ commentCount: z.ZodOptional<z.ZodNumber>;
83
+ privacyStatus: z.ZodOptional<z.ZodString>;
84
+ }, z.core.$strip>>;
85
+ nextPageToken: z.ZodOptional<z.ZodString>;
86
+ prevPageToken: z.ZodOptional<z.ZodString>;
87
+ }, z.core.$strip>;
88
+ export type VideoPage = z.infer<typeof VideoPageSchema>;
89
+ export interface YouTubeCatalogService {
90
+ resolveChannel(input: string): Promise<ChannelSummary>;
91
+ listChannelVideos(channelId: string, pageToken?: string): Promise<VideoPage>;
92
+ getVideoDetails(videoId: string): Promise<VideoDetails>;
93
+ }
94
+ export type ChannelLookup = {
95
+ kind: 'id';
96
+ value: string;
97
+ } | {
98
+ kind: 'handle';
99
+ value: string;
100
+ } | {
101
+ kind: 'username';
102
+ value: string;
103
+ };
104
+ export interface YtDlpJson {
105
+ title: string;
106
+ duration: number;
107
+ }
108
+ export interface OEmbedResponse {
109
+ title: string;
110
+ }
111
+ export interface YouTubeCaptionTrack {
112
+ baseUrl: string;
113
+ kind?: string;
114
+ languageCode: string;
115
+ }
116
+ export interface YouTubePlayerResponse {
117
+ playabilityStatus?: {
118
+ status?: string;
119
+ reason?: string;
120
+ errorScreen?: {
121
+ playerErrorMessageRenderer?: {
122
+ reason?: {
123
+ simpleText?: string;
124
+ };
125
+ subreason?: {
126
+ simpleText?: string;
127
+ runs?: Array<{
128
+ text?: string;
129
+ }>;
130
+ };
131
+ };
132
+ };
133
+ };
134
+ captions?: {
135
+ playerCaptionsTracklistRenderer?: {
136
+ captionTracks?: YouTubeCaptionTrack[];
137
+ };
138
+ };
139
+ }
140
+ //# sourceMappingURL=youtube.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"youtube.d.ts","sourceRoot":"","sources":["../../../src/lib/types/youtube.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,sBAAsB;;;;iBAIjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;iBAW/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;iBAa7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;iBAG7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;iBAK1B,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,MAAM,WAAW,qBAAqB;IACpC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IACvD,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAC7E,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CACzD;AAED,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC7B;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAExC,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,qBAAqB;IACpC,iBAAiB,CAAC,EAAE;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE;YACZ,0BAA0B,CAAC,EAAE;gBAC3B,MAAM,CAAC,EAAE;oBACP,UAAU,CAAC,EAAE,MAAM,CAAC;iBACrB,CAAC;gBACF,SAAS,CAAC,EAAE;oBACV,UAAU,CAAC,EAAE,MAAM,CAAC;oBACpB,IAAI,CAAC,EAAE,KAAK,CAAC;wBACX,IAAI,CAAC,EAAE,MAAM,CAAC;qBACf,CAAC,CAAC;iBACJ,CAAC;aACH,CAAC;SACH,CAAC;KACH,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,+BAA+B,CAAC,EAAE;YAChC,aAAa,CAAC,EAAE,mBAAmB,EAAE,CAAC;SACvC,CAAC;KACH,CAAC;CACH"}
@@ -0,0 +1,43 @@
1
+ import { z } from 'zod';
2
+ export const YouTubeThumbnailSchema = z.object({
3
+ url: z.string().url(),
4
+ width: z.number().int().positive().optional(),
5
+ height: z.number().int().positive().optional(),
6
+ });
7
+ export const ChannelSummarySchema = z.object({
8
+ id: z.string(),
9
+ title: z.string(),
10
+ description: z.string(),
11
+ handle: z.string().optional(),
12
+ customUrl: z.string().optional(),
13
+ thumbnail: YouTubeThumbnailSchema.optional(),
14
+ uploadsPlaylistId: z.string(),
15
+ subscriberCount: z.number().int().nonnegative().optional(),
16
+ videoCount: z.number().int().nonnegative().optional(),
17
+ viewCount: z.number().int().nonnegative().optional(),
18
+ });
19
+ export const VideoSummarySchema = z.object({
20
+ id: z.string(),
21
+ channelId: z.string(),
22
+ channelTitle: z.string(),
23
+ title: z.string(),
24
+ description: z.string(),
25
+ publishedAt: z.string(),
26
+ thumbnail: YouTubeThumbnailSchema.optional(),
27
+ durationSec: z.number().nonnegative(),
28
+ viewCount: z.number().int().nonnegative().optional(),
29
+ likeCount: z.number().int().nonnegative().optional(),
30
+ commentCount: z.number().int().nonnegative().optional(),
31
+ privacyStatus: z.string().optional(),
32
+ });
33
+ export const VideoDetailsSchema = VideoSummarySchema.extend({
34
+ tags: z.array(z.string()).default([]),
35
+ embedHtml: z.string().optional(),
36
+ });
37
+ export const VideoPageSchema = z.object({
38
+ channelId: z.string(),
39
+ videos: z.array(VideoSummarySchema),
40
+ nextPageToken: z.string().optional(),
41
+ prevPageToken: z.string().optional(),
42
+ });
43
+ //# sourceMappingURL=youtube.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"youtube.js","sourceRoot":"","sources":["../../../src/lib/types/youtube.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunker.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/chunker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,YAAY,CAC1B,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,UAAU,GAAE,MAAU,GACrB,WAAW,EAAE,CAgBf"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunker.js","sourceRoot":"","sources":["../../../src/lib/utils/chunker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,YAAY,CAC1B,aAAqB,EACrB,SAAiB,EACjB,aAAqB,CAAC;IAEtB,IAAI,aAAa,IAAI,CAAC,IAAI,SAAS,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACpD,IAAI,UAAU,GAAG,CAAC;QAAE,UAAU,GAAG,CAAC,CAAC;IACnC,IAAI,UAAU,IAAI,SAAS;QAAE,UAAU,GAAG,CAAC,CAAC,CAAC,8BAA8B;IAE3E,MAAM,IAAI,GAAG,SAAS,GAAG,UAAU,CAAC;IACpC,MAAM,OAAO,GAAkB,EAAE,CAAC;IAElC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,aAAa,EAAE,KAAK,IAAI,IAAI,EAAE,CAAC;QACzD,OAAO,CAAC,IAAI,CAAC;YACX,KAAK;YACL,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,SAAS,EAAE,aAAa,CAAC;SAChD,CAAC,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAYnD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAMhD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAKrD"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../../../src/lib/utils/format.ts"],"names":[],"mappings":"AAEA,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;IAC7B,gBAAgB;IAChB,mBAAmB;IACnB,8BAA8B;IAC9B,aAAa;IACb,iBAAiB;IACjB,cAAc;IACd,aAAa;CACd,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,OAAQ,MAAM,CAAC,OAAO,CAAC,GAAG,CAAyB;SAChD,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SACvC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC;SAClC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;SACpC,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,OAAe;IAC3C,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IACrC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5C,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACnC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACpE,CAAC"}
@@ -0,0 +1,24 @@
1
+ export declare function generateRequestId(): string;
2
+ export declare const log: {
3
+ info: (fn: string, msg: string, requestId?: string, meta?: Record<string, unknown>) => void;
4
+ warn: (fn: string, msg: string, requestId?: string, meta?: Record<string, unknown>) => void;
5
+ error: (fn: string, msg: string, requestId?: string, meta?: Record<string, unknown>) => void;
6
+ /**
7
+ * Logs a yt-dlp / ffmpeg progress stream chunk.
8
+ * Splits on \r and \n so yt-dlp in-place progress lines become separate log lines.
9
+ */
10
+ progress: (fn: string, data: Buffer | string, requestId?: string) => void;
11
+ /**
12
+ * Logs function entry (fn→) and returns a done-callback that logs exit (fn←)
13
+ * with elapsed time merged into the result object.
14
+ *
15
+ * Signature change from old logger: requestId is now the 2nd argument (not 3rd).
16
+ */
17
+ fnCalled: (fn: string, requestId?: string, meta?: Record<string, unknown>) => ((result?: Record<string, unknown>) => void);
18
+ /**
19
+ * Logs HTTP request entry (req→) and returns a done-callback that logs
20
+ * exit (req←) with status and elapsed time.
21
+ */
22
+ request: (method: string, path: string, requestId?: string, meta?: Record<string, unknown>) => ((status: number) => void);
23
+ };
24
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/logger.ts"],"names":[],"mappings":"AA0CA,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,eAAO,MAAM,GAAG;eACH,MAAM,OAAO,MAAM,cAAc,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,IAAI;eAI9E,MAAM,OAAO,MAAM,cAAc,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,IAAI;gBAI7E,MAAM,OAAO,MAAM,cAAc,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,IAAI;IAI1F;;;OAGG;mBACY,MAAM,QAAQ,MAAM,GAAG,MAAM,cAAc,MAAM,KAAG,IAAI;IAQvE;;;;;OAKG;mBAEG,MAAM,cACE,MAAM,SACX,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC7B,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IAU/C;;;OAGG;sBAEO,MAAM,QACR,MAAM,cACA,MAAM,SACX,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC7B,CAAC,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CAS9B,CAAC"}
@@ -0,0 +1,83 @@
1
+ import { nanoid } from 'nanoid';
2
+ // Read directly from process.env — avoids circular import with config module.
3
+ const COLOR_ENABLED = process.env['LOG_COLOR'] !== 'false';
4
+ const C = {
5
+ reset: COLOR_ENABLED ? '\x1b[0m' : '',
6
+ dim: COLOR_ENABLED ? '\x1b[2m' : '',
7
+ cyan: COLOR_ENABLED ? '\x1b[36m' : '',
8
+ blue: COLOR_ENABLED ? '\x1b[34m' : '',
9
+ green: COLOR_ENABLED ? '\x1b[32m' : '',
10
+ yellow: COLOR_ENABLED ? '\x1b[33m' : '',
11
+ red: COLOR_ENABLED ? '\x1b[31m' : '',
12
+ magenta: COLOR_ENABLED ? '\x1b[35m' : '',
13
+ };
14
+ function getTimestamp() {
15
+ const now = new Date();
16
+ const h = String(now.getHours()).padStart(2, '0');
17
+ const m = String(now.getMinutes()).padStart(2, '0');
18
+ const s = String(now.getSeconds()).padStart(2, '0');
19
+ const ms = String(now.getMilliseconds()).padStart(3, '0');
20
+ return `[${h}:${m}:${s}.${ms}]`;
21
+ }
22
+ function buildLine(fn, levelColor, levelLabel, msg, requestId, meta) {
23
+ const ts = `${C.dim}${getTimestamp()}${C.reset}`;
24
+ const rid = `${C.cyan}${requestId ?? '-'}${C.reset}`;
25
+ const fnPart = `${C.blue}${fn}${C.reset}`;
26
+ const label = `${levelColor}${levelLabel}${C.reset}`;
27
+ const metaPart = meta && Object.keys(meta).length > 0 ? ` ${C.dim}${JSON.stringify(meta)}${C.reset}` : '';
28
+ return `${ts} | ${rid} | ${fnPart} | ${label} ${msg}${metaPart}`;
29
+ }
30
+ export function generateRequestId() {
31
+ return nanoid(24);
32
+ }
33
+ export const log = {
34
+ info: (fn, msg, requestId, meta) => {
35
+ console.log(buildLine(fn, C.green, 'info', msg, requestId, meta));
36
+ },
37
+ warn: (fn, msg, requestId, meta) => {
38
+ console.warn(buildLine(fn, C.yellow, 'warn', msg, requestId, meta));
39
+ },
40
+ error: (fn, msg, requestId, meta) => {
41
+ console.error(buildLine(fn, C.red, 'error', msg, requestId, meta));
42
+ },
43
+ /**
44
+ * Logs a yt-dlp / ffmpeg progress stream chunk.
45
+ * Splits on \r and \n so yt-dlp in-place progress lines become separate log lines.
46
+ */
47
+ progress: (fn, data, requestId) => {
48
+ const text = String(data);
49
+ const lines = text.split(/[\r\n]+/).filter((l) => l.trim());
50
+ for (const l of lines) {
51
+ console.log(buildLine(fn, C.dim, 'prog', l, requestId));
52
+ }
53
+ },
54
+ /**
55
+ * Logs function entry (fn→) and returns a done-callback that logs exit (fn←)
56
+ * with elapsed time merged into the result object.
57
+ *
58
+ * Signature change from old logger: requestId is now the 2nd argument (not 3rd).
59
+ */
60
+ fnCalled: (fn, requestId, meta) => {
61
+ const start = Date.now();
62
+ console.log(buildLine(fn, C.magenta, 'fn\u2192', '', requestId, meta));
63
+ return (result) => {
64
+ const elapsedMs = Date.now() - start;
65
+ const resultWithElapsed = { ...(result ?? {}), elapsedMs };
66
+ console.log(buildLine(fn, C.magenta, 'fn\u2190', '', requestId, resultWithElapsed));
67
+ };
68
+ },
69
+ /**
70
+ * Logs HTTP request entry (req→) and returns a done-callback that logs
71
+ * exit (req←) with status and elapsed time.
72
+ */
73
+ request: (method, path, requestId, meta) => {
74
+ const start = Date.now();
75
+ const fn = `${method} ${path}`;
76
+ console.log(buildLine(fn, C.magenta, 'req\u2192', '', requestId, meta));
77
+ return (status) => {
78
+ const elapsedMs = Date.now() - start;
79
+ console.log(buildLine(fn, C.magenta, 'req\u2190', '', requestId, { status, elapsedMs }));
80
+ };
81
+ },
82
+ };
83
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/lib/utils/logger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { LanguageModel } from 'ai';
2
+ import type { ModelFactoryApiKeys } from '../types/config.js';
3
+ export declare function getModel(provider: string, model: string, apiKeys: ModelFactoryApiKeys): LanguageModel;
4
+ //# sourceMappingURL=modelFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modelFactory.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/modelFactory.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAExC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEhE,wBAAgB,QAAQ,CACtB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,mBAAmB,GAC3B,aAAa,CA6Cf"}
@@ -0,0 +1,45 @@
1
+ import { createOpenAI, openai } from '@ai-sdk/openai';
2
+ import { anthropic } from '@ai-sdk/anthropic';
3
+ import { google } from '@ai-sdk/google';
4
+ import { xai } from '@ai-sdk/xai';
5
+ import { mistral } from '@ai-sdk/mistral';
6
+ import { groq } from '@ai-sdk/groq';
7
+ import { createOpenAICompatible } from '@ai-sdk/openai-compatible';
8
+ export function getModel(provider, model, apiKeys) {
9
+ switch (provider) {
10
+ case 'openai':
11
+ return openai.languageModel(model);
12
+ case 'anthropic':
13
+ return anthropic.languageModel(model);
14
+ case 'google':
15
+ return google.languageModel(model);
16
+ case 'xai':
17
+ return xai.languageModel(model);
18
+ case 'mistral':
19
+ return mistral.languageModel(model);
20
+ case 'groq':
21
+ return groq.languageModel(model);
22
+ case 'zai':
23
+ return createOpenAICompatible({
24
+ name: 'zai',
25
+ baseURL: 'https://api.z.ai/api/coding/paas/v4',
26
+ apiKey: apiKeys.ZAI_API_KEY,
27
+ supportsStructuredOutputs: true,
28
+ }).languageModel(model);
29
+ case 'openrouter':
30
+ return createOpenAI({
31
+ baseURL: 'https://openrouter.ai/api/v1',
32
+ apiKey: apiKeys.OPENROUTER_API_KEY,
33
+ }).languageModel(model);
34
+ case 'custom':
35
+ return createOpenAICompatible({
36
+ name: 'custom',
37
+ baseURL: apiKeys.CUSTOM_OPENAI_BASE_URL,
38
+ apiKey: apiKeys.CUSTOM_OPENAI_API_KEY,
39
+ supportsStructuredOutputs: true,
40
+ }).languageModel(model);
41
+ default:
42
+ throw new Error(`Unknown LLM provider: ${provider}`);
43
+ }
44
+ }
45
+ //# sourceMappingURL=modelFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modelFactory.js","sourceRoot":"","sources":["../../../src/lib/utils/modelFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAGnE,MAAM,UAAU,QAAQ,CACtB,QAAgB,EAChB,KAAa,EACb,OAA4B;IAE5B,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,QAAQ;YACX,OAAO,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAErC,KAAK,WAAW;YACd,OAAO,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAExC,KAAK,QAAQ;YACX,OAAO,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAErC,KAAK,KAAK;YACR,OAAO,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAElC,KAAK,SAAS;YACZ,OAAO,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAEtC,KAAK,MAAM;YACT,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAEnC,KAAK,KAAK;YACR,OAAO,sBAAsB,CAAC;gBAC5B,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,qCAAqC;gBAC9C,MAAM,EAAE,OAAO,CAAC,WAAY;gBAC5B,yBAAyB,EAAE,IAAI;aAChC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAE1B,KAAK,YAAY;YACf,OAAO,YAAY,CAAC;gBAClB,OAAO,EAAE,8BAA8B;gBACvC,MAAM,EAAE,OAAO,CAAC,kBAAkB;aACnC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAE1B,KAAK,QAAQ;YACX,OAAO,sBAAsB,CAAC;gBAC5B,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,OAAO,CAAC,sBAAuB;gBACxC,MAAM,EAAE,OAAO,CAAC,qBAAqB;gBACrC,yBAAyB,EAAE,IAAI;aAChC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAE1B;YACE,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;IACzD,CAAC;AACH,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/paths.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,EAAE,MAAqE,CAAC;AAEjG;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../../src/lib/utils/paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GAAW,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAEjG;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,OAAO,CAAC,YAAY,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;AAChD,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pythonBin.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/pythonBin.ts"],"names":[],"mappings":"AAUA,wBAAsB,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,CAgBpD"}
@@ -16,7 +16,7 @@ export async function getPythonBin() {
16
16
  return bin;
17
17
  }
18
18
  catch {
19
- log.warn(`${bin} not found, trying next binary...`);
19
+ log.warn('getPythonBin', `${bin} not found, trying next binary...`);
20
20
  }
21
21
  }
22
22
  throw new Error('No Python interpreter found (tried python3, python). Install Python 3 to use YAMNet or Whisper.');
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pythonBin.js","sourceRoot":"","sources":["../../../src/lib/utils/pythonBin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC;;;;GAIG;AACH,IAAI,UAAU,GAAkB,IAAI,CAAC;AAErC,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,IAAI,UAAU;QAAE,OAAO,UAAU,CAAC;IAElC,KAAK,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC;QACxC,IAAI,CAAC;YACH,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;YAChC,UAAU,GAAG,GAAG,CAAC;YACjB,OAAO,GAAG,CAAC;QACb,CAAC;QAAC,MAAM,CAAC;YACP,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,GAAG,mCAAmC,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CACb,iGAAiG,CAClG,CAAC;AACJ,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Retries an async function up to `retries` times on any thrown error.
3
+ *
4
+ * Backoff schedule: delay = baseDelayMs × 2^attempt
5
+ * attempt 0 fails → wait baseDelayMs (e.g. 2000ms)
6
+ * attempt 1 fails → wait baseDelayMs×2 (e.g. 4000ms)
7
+ * attempt 2 fails → wait baseDelayMs×4 (e.g. 8000ms)
8
+ * …
9
+ *
10
+ * When retries = 0 the function is called exactly once with no retry.
11
+ * The final error (after all attempts) is re-thrown to the caller.
12
+ *
13
+ * @param fn - Async function to execute
14
+ * @param retries - Maximum number of additional attempts after the first failure
15
+ * @param baseDelayMs - Base delay in milliseconds for the first retry
16
+ * @param label - Optional label included in warn logs (e.g. "yt-dlp:videoId")
17
+ */
18
+ export declare function retryAsync<T>(fn: () => Promise<T>, retries: number, baseDelayMs: number, label?: string): Promise<T>;
19
+ //# sourceMappingURL=retryAsync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retryAsync.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/retryAsync.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,UAAU,CAAC,CAAC,EAChC,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,CAAC,CAAC,CAuBZ"}