@thunderkiller/video-clipper 1.5.5 → 1.6.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 (144) hide show
  1. package/README.md +69 -349
  2. package/dist/config/env.d.ts +4 -0
  3. package/dist/config/env.d.ts.map +1 -1
  4. package/dist/config/index.d.ts +0 -1
  5. package/dist/config/index.d.ts.map +1 -1
  6. package/dist/index.js +1 -1
  7. package/dist/index.js.map +1 -1
  8. package/dist/pipeline/dumper.d.ts.map +1 -0
  9. package/dist/{utils → pipeline}/dumper.js +1 -1
  10. package/dist/pipeline/dumper.js.map +1 -0
  11. package/dist/pipeline/runner.d.ts.map +1 -1
  12. package/dist/pipeline/runner.js +80 -73
  13. package/dist/pipeline/runner.js.map +1 -1
  14. package/dist/pipeline/stages/audioProcessor.d.ts +0 -1
  15. package/dist/pipeline/stages/audioProcessor.d.ts.map +1 -1
  16. package/dist/pipeline/stages/audioProcessor.js +1 -1
  17. package/dist/pipeline/stages/audioProcessor.js.map +1 -1
  18. package/dist/pipeline/stages/clipExporter.d.ts +0 -1
  19. package/dist/pipeline/stages/clipExporter.d.ts.map +1 -1
  20. package/dist/pipeline/stages/clipExporter.js.map +1 -1
  21. package/dist/pipeline/stages/segmentAnalyzer.d.ts +1 -2
  22. package/dist/pipeline/stages/segmentAnalyzer.d.ts.map +1 -1
  23. package/dist/pipeline/stages/segmentAnalyzer.js +2 -2
  24. package/dist/pipeline/stages/segmentAnalyzer.js.map +1 -1
  25. package/dist/pipeline/stages/segmentSelector.d.ts +0 -1
  26. package/dist/pipeline/stages/segmentSelector.d.ts.map +1 -1
  27. package/dist/pipeline/stages/segmentSelector.js +1 -2
  28. package/dist/pipeline/stages/segmentSelector.js.map +1 -1
  29. package/dist/pipeline/stages/videoResolver.d.ts +0 -1
  30. package/dist/pipeline/stages/videoResolver.d.ts.map +1 -1
  31. package/dist/pipeline/stages/videoResolver.js.map +1 -1
  32. package/dist/services/audioAnalyzers/index.d.ts +0 -4
  33. package/dist/services/audioAnalyzers/index.d.ts.map +1 -1
  34. package/dist/services/audioAnalyzers/index.js +0 -3
  35. package/dist/services/audioAnalyzers/index.js.map +1 -1
  36. package/dist/services/audioAnalyzers/whisper.d.ts +0 -1
  37. package/dist/services/audioAnalyzers/whisper.d.ts.map +1 -1
  38. package/dist/services/audioAnalyzers/whisper.js +1 -21
  39. package/dist/services/audioAnalyzers/whisper.js.map +1 -1
  40. package/dist/services/audioAnalyzers/yamnet.js +1 -1
  41. package/dist/services/audioAnalyzers/yamnet.js.map +1 -1
  42. package/dist/services/audioDownloader/index.d.ts.map +1 -1
  43. package/dist/services/audioDownloader/index.js +3 -14
  44. package/dist/services/audioDownloader/index.js.map +1 -1
  45. package/dist/services/audioDownloader/sliceAudio.d.ts.map +1 -0
  46. package/dist/{utils → services/audioDownloader}/sliceAudio.js +1 -1
  47. package/dist/services/audioDownloader/sliceAudio.js.map +1 -0
  48. package/dist/services/clipGenerator/index.js +0 -16
  49. package/dist/services/clipGenerator/index.js.map +1 -1
  50. package/dist/services/clipRefiner/index.d.ts +2 -1
  51. package/dist/services/clipRefiner/index.d.ts.map +1 -1
  52. package/dist/services/clipRefiner/index.js +3 -5
  53. package/dist/services/clipRefiner/index.js.map +1 -1
  54. package/dist/services/llmAnalyzer/LLMAnalyzer.d.ts +2 -2
  55. package/dist/services/llmAnalyzer/LLMAnalyzer.d.ts.map +1 -1
  56. package/dist/services/llmAnalyzer/LLMAnalyzer.js +2 -2
  57. package/dist/services/llmAnalyzer/LLMAnalyzer.js.map +1 -1
  58. package/dist/services/llmAnalyzer/index.d.ts +3 -2
  59. package/dist/services/llmAnalyzer/index.d.ts.map +1 -1
  60. package/dist/services/llmAnalyzer/index.js +5 -7
  61. package/dist/services/llmAnalyzer/index.js.map +1 -1
  62. package/dist/services/segmentRanker/index.d.ts +2 -1
  63. package/dist/services/segmentRanker/index.d.ts.map +1 -1
  64. package/dist/services/segmentRanker/index.js +36 -0
  65. package/dist/services/segmentRanker/index.js.map +1 -1
  66. package/dist/services/transcriptAnalyzers/index.d.ts +0 -4
  67. package/dist/services/transcriptAnalyzers/index.d.ts.map +1 -1
  68. package/dist/services/transcriptAnalyzers/index.js +0 -3
  69. package/dist/services/transcriptAnalyzers/index.js.map +1 -1
  70. package/dist/services/transcriptAnalyzers/whisper.js +1 -1
  71. package/dist/services/transcriptAnalyzers/whisper.js.map +1 -1
  72. package/dist/services/transcriptAnalyzers/ytdlp.d.ts +11 -0
  73. package/dist/services/transcriptAnalyzers/ytdlp.d.ts.map +1 -1
  74. package/dist/services/transcriptAnalyzers/ytdlp.js +120 -1
  75. package/dist/services/transcriptAnalyzers/ytdlp.js.map +1 -1
  76. package/dist/services/transcriptDetector/index.d.ts +2 -2
  77. package/dist/services/transcriptDetector/index.d.ts.map +1 -1
  78. package/dist/services/transcriptDetector/index.js.map +1 -1
  79. package/dist/services/videoDownloader/index.d.ts.map +1 -1
  80. package/dist/services/videoDownloader/index.js +4 -19
  81. package/dist/services/videoDownloader/index.js.map +1 -1
  82. package/dist/types/analyzer.d.ts +2 -1
  83. package/dist/types/analyzer.d.ts.map +1 -1
  84. package/dist/types/config.d.ts +7 -3
  85. package/dist/types/config.d.ts.map +1 -1
  86. package/dist/types/config.js +12 -0
  87. package/dist/types/config.js.map +1 -1
  88. package/dist/types/downloader.d.ts.map +1 -1
  89. package/dist/types/pipeline.d.ts +3 -1
  90. package/dist/types/pipeline.d.ts.map +1 -1
  91. package/dist/utils/cache.d.ts +14 -18
  92. package/dist/utils/cache.d.ts.map +1 -1
  93. package/dist/utils/cache.js +32 -112
  94. package/dist/utils/cache.js.map +1 -1
  95. package/dist/utils/cacheBackend.d.ts +40 -0
  96. package/dist/utils/cacheBackend.d.ts.map +1 -0
  97. package/dist/utils/cacheBackend.js +28 -0
  98. package/dist/utils/cacheBackend.js.map +1 -0
  99. package/dist/utils/cacheFactory.d.ts +14 -0
  100. package/dist/utils/cacheFactory.d.ts.map +1 -0
  101. package/dist/utils/cacheFactory.js +31 -0
  102. package/dist/utils/cacheFactory.js.map +1 -0
  103. package/dist/utils/chunker.d.ts +0 -1
  104. package/dist/utils/chunker.d.ts.map +1 -1
  105. package/dist/utils/chunker.js.map +1 -1
  106. package/dist/utils/fileCacheBackend.d.ts +33 -0
  107. package/dist/utils/fileCacheBackend.d.ts.map +1 -0
  108. package/dist/utils/fileCacheBackend.js +123 -0
  109. package/dist/utils/fileCacheBackend.js.map +1 -0
  110. package/dist/utils/format.d.ts +6 -0
  111. package/dist/utils/format.d.ts.map +1 -1
  112. package/dist/utils/format.js +20 -0
  113. package/dist/utils/format.js.map +1 -1
  114. package/dist/utils/logger.d.ts +1 -0
  115. package/dist/utils/logger.d.ts.map +1 -1
  116. package/dist/utils/logger.js +10 -0
  117. package/dist/utils/logger.js.map +1 -1
  118. package/dist/utils/mongoCacheBackend.d.ts +51 -0
  119. package/dist/utils/mongoCacheBackend.d.ts.map +1 -0
  120. package/dist/utils/mongoCacheBackend.js +176 -0
  121. package/dist/utils/mongoCacheBackend.js.map +1 -0
  122. package/dist/utils/pythonBin.d.ts +2 -0
  123. package/dist/utils/pythonBin.d.ts.map +1 -0
  124. package/dist/utils/pythonBin.js +24 -0
  125. package/dist/utils/pythonBin.js.map +1 -0
  126. package/package.json +2 -1
  127. package/dist/services/signalMerger/index.d.ts +0 -5
  128. package/dist/services/signalMerger/index.d.ts.map +0 -1
  129. package/dist/services/signalMerger/index.js +0 -37
  130. package/dist/services/signalMerger/index.js.map +0 -1
  131. package/dist/services/transcriptFetcher/index.d.ts +0 -26
  132. package/dist/services/transcriptFetcher/index.d.ts.map +0 -1
  133. package/dist/services/transcriptFetcher/index.js +0 -121
  134. package/dist/services/transcriptFetcher/index.js.map +0 -1
  135. package/dist/utils/dumper.d.ts.map +0 -1
  136. package/dist/utils/dumper.js.map +0 -1
  137. package/dist/utils/redactConfig.d.ts +0 -7
  138. package/dist/utils/redactConfig.d.ts.map +0 -1
  139. package/dist/utils/redactConfig.js +0 -21
  140. package/dist/utils/redactConfig.js.map +0 -1
  141. package/dist/utils/sliceAudio.d.ts.map +0 -1
  142. package/dist/utils/sliceAudio.js.map +0 -1
  143. /package/dist/{utils → pipeline}/dumper.d.ts +0 -0
  144. /package/dist/{utils → services/audioDownloader}/sliceAudio.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/videoDownloader/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,MAAM,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAG5C;;;GAGG;AACH,SAAS,eAAe,CAAC,OAAe;IACtC,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,OAAO,GAAG,EAAE,CAAC;IACvB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3B,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IACzC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AACvI,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,MAA2B;IAClD,OAAO,CAAC,IAAqB,EAAE,EAAE;QAC/B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAE7D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;YAChE,IAAI,aAAa,EAAE,CAAC;gBAClB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAAe,EAAE,UAAmB;IAC1E,MAAM,WAAW,GAAG,UAAU,IAAI,MAAM,CAAC,YAAY,CAAC;IACtD,MAAM,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEjD,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,OAAO,MAAM,CAAC,CAAC;IAEvD,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC5B,GAAG,CAAC,IAAI,CAAC,6BAA6B,UAAU,EAAE,CAAC,CAAC;QACpD,OAAO,UAAU,CAAC;IACpB,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IAEV,GAAG,CAAC,IAAI,CAAC,0BAA0B,OAAO,gBAAgB,CAAC,CAAC;IAE5D,IAAI,CAAC;QACH,MAAM,IAAI,GAAG;YACX,IAAI;YACJ,qDAAqD;YACrD,uBAAuB;YACvB,KAAK;YACL,IAAI;YACJ,UAAU;YACV,eAAe;YACf,WAAW;YACX,mCAAmC,OAAO,EAAE;SAC7C,CAAC;QAEF,IAAI,MAAM,CAAC,2BAA2B,EAAE,CAAC;YACvC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,wBAAwB,EAAE,MAAM,CAAC,2BAA2B,CAAC,CAAC;QAClF,CAAC;aAAM,IAAI,MAAM,CAAC,mBAAmB,EAAE,CAAC;YACtC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAEzC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;QACzD,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEzD,MAAM,UAAU,CAAC;QACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAEjE,IAAI,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxE,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;QACtF,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACrE,MAAM,IAAI,KAAK,CAAC,UAAU,OAAO,wCAAwC,CAAC,CAAC;QAC7E,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,CAAC,+BAA+B,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACjF,MAAM,IAAI,KAAK,CAAC,UAAU,OAAO,kCAAkC,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,GAAG,CAAC,IAAI,CAAC,sBAAsB,UAAU,EAAE,CAAC,CAAC;IAC7C,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,eAAe,CAC5B,OAAe,EACf,OAAsB,EACtB,KAAa,EACb,UAAmB;IAEnB,MAAM,WAAW,GAAG,UAAU,IAAI,MAAM,CAAC,YAAY,CAAC;IACtD,MAAM,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEjD,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC;IACnF,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC;IAC/F,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACtC,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,OAAO,IAAI,QAAQ,IAAI,MAAM,MAAM,CAAC,CAAC;IAE7E,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC5B,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,GAAG,CAAC,IAAI,KAAK,wBAAwB,UAAU,EAAE,CAAC,CAAC;QAC5E,OAAO,UAAU,CAAC;IACpB,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IAEV,MAAM,OAAO,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;IAE3C,GAAG,CAAC,IAAI,CAAC,uBAAuB,KAAK,GAAG,CAAC,KAAK,OAAO,MAAM,KAAK,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IACxF,GAAG,CAAC,IAAI,CAAC,gBAAgB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACnF,IAAI,MAAM,CAAC,wBAAwB,KAAK,CAAC,EAAE,CAAC;QAC1C,GAAG,CAAC,IAAI,CACN,eAAe,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,MAAM,CAAC,wBAAwB,IAAI,CACtH,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,IAAI,GAAG;YACX,IAAI;YACJ,qDAAqD;YACrD,uBAAuB;YACvB,KAAK;YACL,qBAAqB;YACrB,IAAI,OAAO,IAAI,KAAK,EAAE;YACtB,IAAI;YACJ,UAAU;YACV,eAAe;YACf,WAAW;YACX,mCAAmC,OAAO,EAAE;SAC7C,CAAC;QAEF,IAAI,MAAM,CAAC,2BAA2B,EAAE,CAAC;YACvC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,wBAAwB,EAAE,MAAM,CAAC,2BAA2B,CAAC,CAAC;QAClF,CAAC;aAAM,IAAI,MAAM,CAAC,mBAAmB,EAAE,CAAC;YACtC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAEzC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;QACzD,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEzD,MAAM,UAAU,CAAC;QACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAEjE,IAAI,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxE,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;QACtF,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACrE,MAAM,IAAI,KAAK,CAAC,UAAU,OAAO,wCAAwC,CAAC,CAAC;QAC7E,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,CAAC,+BAA+B,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACjF,MAAM,IAAI,KAAK,CAAC,UAAU,OAAO,kCAAkC,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,4BAA4B,OAAO,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,GAAG,CAAC,IAAI,CAAC,qBAAqB,UAAU,EAAE,CAAC,CAAC;IAC5C,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,gBAAgB,CAC7B,OAAe,EACf,QAAyB,EACzB,UAAmB;IAEnB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAwC,MAAM,OAAO,CAAC,UAAU,CAC3E,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAC9B,KAAK,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAClE,CACF,CAAC;IAEF,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAC1B,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC9F,GAAG,CAAC,IAAI,CACN,+BAA+B,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,OAAO,CAAC,IAAI,MAAM,MAAM,EAAE,CACrI,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAAe,EACf,OAAqB,KAAK,EAC1B,WAA4B,EAAE,EAC9B,UAAmB;IAEnB,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAC1D,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,GAAG,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC;YAChF,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QACzC,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,eAAe,QAAQ,CAAC,MAAM,0BAA0B,CAAC,CAAC;QACnE,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QACpE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IACrC,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,EAAE,CAAC,CAAC;AACpD,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/videoDownloader/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import type { TranscriptLine, MicroBlock, LLMChunk, ChunkEvaluation } from './index.js';
1
+ import type { TranscriptLine, MicroBlock, LLMChunk } from './transcript.js';
2
+ import type { ChunkEvaluation } from './segment.js';
2
3
  export interface LLMAnalyzerResult {
3
4
  lines: TranscriptLine[];
4
5
  microBlocks: MicroBlock[];
@@ -1 +1 @@
1
- {"version":3,"file":"analyzer.d.ts","sourceRoot":"","sources":["../../src/types/analyzer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAExF,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,UAAU,EAAE,eAAe,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,OAAO,YAAY,EAAE,UAAU,EAAE,CAAC;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,MAAM,EAAE,QAAQ,EAAE,CAAC;CACpB"}
1
+ {"version":3,"file":"analyzer.d.ts","sourceRoot":"","sources":["../../src/types/analyzer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,UAAU,EAAE,eAAe,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,OAAO,YAAY,EAAE,UAAU,EAAE,CAAC;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,MAAM,EAAE,QAAQ,EAAE,CAAC;CACpB"}
@@ -1,6 +1,4 @@
1
1
  import { z } from 'zod';
2
- declare const LLM_PROVIDERS: readonly ["openai", "anthropic", "google", "xai", "mistral", "groq", "zai", "openrouter", "custom"];
3
- export type LLMProvider = (typeof LLM_PROVIDERS)[number];
4
2
  export declare const ConfigSchema: z.ZodObject<{
5
3
  LLM_PROVIDER: z.ZodDefault<z.ZodEnum<{
6
4
  openai: "openai";
@@ -84,7 +82,13 @@ export declare const ConfigSchema: z.ZodObject<{
84
82
  chromium: "chromium";
85
83
  }>>;
86
84
  YT_DLP_COOKIES_FILE: z.ZodOptional<z.ZodString>;
85
+ CACHE_BACKEND: z.ZodDefault<z.ZodEnum<{
86
+ file: "file";
87
+ mongodb: "mongodb";
88
+ }>>;
89
+ MONGODB_URI: z.ZodOptional<z.ZodString>;
90
+ MONGODB_DATABASE: z.ZodDefault<z.ZodString>;
91
+ CACHE_TTL_SECONDS: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
87
92
  }, z.core.$strip>;
88
93
  export type Config = z.infer<typeof ConfigSchema>;
89
- export {};
90
94
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,QAAA,MAAM,aAAa,qGAUT,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAczD,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAwHrB,CAAC;AAEL,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA4BxB,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAsIrB,CAAC;AAEL,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC"}
@@ -97,6 +97,11 @@ export const ConfigSchema = z
97
97
  .enum(['chrome', 'firefox', 'safari', 'brave', 'edge', 'opera', 'chromium'])
98
98
  .optional(),
99
99
  YT_DLP_COOKIES_FILE: z.string().optional(),
100
+ // ---- Cache backend -------------------------------------------------------
101
+ CACHE_BACKEND: z.enum(['file', 'mongodb']).default('file'),
102
+ MONGODB_URI: z.string().optional(),
103
+ MONGODB_DATABASE: z.string().default('video-clipper-cache'),
104
+ CACHE_TTL_SECONDS: z.coerce.number().min(0).default(0),
100
105
  })
101
106
  .superRefine((data, ctx) => {
102
107
  const provider = data.LLM_PROVIDER;
@@ -124,5 +129,12 @@ export const ConfigSchema = z
124
129
  message: 'Cannot set both YT_DLP_COOKIES_FROM_BROWSER and YT_DLP_COOKIES_FILE. Use only one.',
125
130
  });
126
131
  }
132
+ if (data.CACHE_BACKEND === 'mongodb' && (!data.MONGODB_URI || data.MONGODB_URI.trim() === '')) {
133
+ ctx.addIssue({
134
+ code: z.ZodIssueCode.custom,
135
+ path: ['MONGODB_URI'],
136
+ message: 'MONGODB_URI is required when CACHE_BACKEND is "mongodb"',
137
+ });
138
+ }
127
139
  });
128
140
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"downloader.d.ts","sourceRoot":"","sources":["../../src/types/downloader.ts"],"names":[],"mappings":"AAEA,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"}
1
+ {"version":3,"file":"downloader.d.ts","sourceRoot":"","sources":["../../src/types/downloader.ts"],"names":[],"mappings":"AAAA,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"}
@@ -1,4 +1,6 @@
1
- import type { VideoMetadata, TranscriptLine, MicroBlock, LLMChunk, ChunkEvaluation } from './index.js';
1
+ import type { VideoMetadata } from './video.js';
2
+ import type { TranscriptLine, MicroBlock, LLMChunk } from './transcript.js';
3
+ import type { ChunkEvaluation } from './segment.js';
2
4
  /** A half-open time window [start, end) in seconds. Returned by `buildWindows`. */
3
5
  export interface ChunkWindow {
4
6
  /** Start of the window in seconds (inclusive). */
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/types/pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,UAAU,EACV,QAAQ,EACR,eAAe,EAChB,MAAM,YAAY,CAAC;AAEpB,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;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,UAAU,EAAE,eAAe,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;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;CACpB"}
1
+ {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/types/pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,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;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,UAAU,EAAE,eAAe,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;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;CACpB"}
@@ -1,34 +1,30 @@
1
+ import type { CacheBackend } from './cacheBackend.js';
1
2
  import type { TranscriptLine, LLMChunk, ChunkEvaluation, AudioEvent, SegmentRefinement } from '../types/index.js';
3
+ export type { CacheBackend };
2
4
  /**
3
- * Disk-backed cache for all pipeline stages.
5
+ * Facade that wraps a CacheBackend and implements the CacheBackend interface.
4
6
  *
5
- * Constructed once in runner.ts with the resolved cache directory and passed
6
- * down to each stage that needs caching. Pass `disabled = true` to bypass all
7
- * reads and writes (equivalent to --no-cache).
7
+ * This means `Cache` can be passed anywhere a `CacheBackend` is expected, so
8
+ * all pipeline consumers work whether they type their parameter as `Cache` or
9
+ * `CacheBackend`. The concrete backend is injected by the factory in
10
+ * cacheFactory.ts.
11
+ *
12
+ * Call `close()` at the end of the pipeline to release backend resources
13
+ * (important for the MongoDB backend which holds an open connection).
8
14
  */
9
- export declare class Cache {
10
- private readonly cacheDir;
11
- private readonly disabled;
12
- constructor(cacheDir: string, disabled?: boolean);
13
- private transcriptPath;
15
+ export declare class Cache implements CacheBackend {
16
+ readonly backend: CacheBackend;
17
+ constructor(backend: CacheBackend);
14
18
  readTranscript(videoId: string): Promise<TranscriptLine[] | null>;
15
19
  writeTranscript(videoId: string, lines: TranscriptLine[]): Promise<void>;
16
- private chunkPath;
17
20
  readChunk(chunk: LLMChunk, chunkAudioEvents?: AudioEvent[]): Promise<ChunkEvaluation | null>;
18
21
  writeChunk(chunk: LLMChunk, evaluation: ChunkEvaluation, chunkAudioEvents?: AudioEvent[]): Promise<void>;
19
- private segmentRefinementPath;
20
22
  readSegmentRefinement(start: number, end: number, reason: string): Promise<SegmentRefinement | null>;
21
23
  writeSegmentRefinement(start: number, end: number, reason: string, refined: SegmentRefinement): Promise<void>;
22
- private audioEventPath;
23
24
  readAudioEvents(videoId: string, gameProfile: string, provider: string): Promise<AudioEvent[] | null>;
24
25
  writeAudioEvents(videoId: string, gameProfile: string, provider: string, events: AudioEvent[]): Promise<void>;
25
- /**
26
- * Per-chunk audio cache — mirrors the LLM `chunks/` pattern.
27
- * Key includes videoId, gameProfile, provider, and the exact window bounds
28
- * so each 120s slice is stored independently.
29
- */
30
- private audioChunkPath;
31
26
  readAudioChunk(videoId: string, gameProfile: string, provider: string, windowStart: number, windowEnd: number): Promise<AudioEvent[] | null>;
32
27
  writeAudioChunk(videoId: string, gameProfile: string, provider: string, windowStart: number, windowEnd: number, events: AudioEvent[]): Promise<void>;
28
+ close(): Promise<void>;
33
29
  }
34
30
  //# sourceMappingURL=cache.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/utils/cache.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,cAAc,EACd,QAAQ,EACR,eAAe,EACf,UAAU,EACV,iBAAiB,EAClB,MAAM,mBAAmB,CAAC;AA0C3B;;;;;;GAMG;AACH,qBAAa,KAAK;IAEd,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBADR,QAAQ,EAAE,MAAM,EAChB,QAAQ,GAAE,OAAe;IAK5C,OAAO,CAAC,cAAc;IAIhB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC;IAKjE,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAO9E,OAAO,CAAC,SAAS;IASX,SAAS,CACb,KAAK,EAAE,QAAQ,EACf,gBAAgB,GAAE,UAAU,EAAO,GAClC,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAK5B,UAAU,CACd,KAAK,EAAE,QAAQ,EACf,UAAU,EAAE,eAAe,EAC3B,gBAAgB,GAAE,UAAU,EAAO,GAClC,OAAO,CAAC,IAAI,CAAC;IAQhB,OAAO,CAAC,qBAAqB;IAIvB,qBAAqB,CACzB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAK9B,sBAAsB,CAC1B,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,IAAI,CAAC;IAOhB,OAAO,CAAC,cAAc;IAQhB,eAAe,CACnB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC;IAQzB,gBAAgB,CACpB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,UAAU,EAAE,GACnB,OAAO,CAAC,IAAI,CAAC;IAOhB;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAchB,cAAc,CAClB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC;IAQzB,eAAe,CACnB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,UAAU,EAAE,GACnB,OAAO,CAAC,IAAI,CAAC;CAOjB"}
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/utils/cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EACV,cAAc,EACd,QAAQ,EACR,eAAe,EACf,UAAU,EACV,iBAAiB,EAClB,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EAAE,YAAY,EAAE,CAAC;AAE7B;;;;;;;;;;GAUG;AACH,qBAAa,KAAM,YAAW,YAAY;IAC5B,QAAQ,CAAC,OAAO,EAAE,YAAY;gBAArB,OAAO,EAAE,YAAY;IAIpC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC;IAIjE,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAMxE,SAAS,CACb,KAAK,EAAE,QAAQ,EACf,gBAAgB,CAAC,EAAE,UAAU,EAAE,GAC9B,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAI5B,UAAU,CACd,KAAK,EAAE,QAAQ,EACf,UAAU,EAAE,eAAe,EAC3B,gBAAgB,CAAC,EAAE,UAAU,EAAE,GAC9B,OAAO,CAAC,IAAI,CAAC;IAMV,qBAAqB,CACzB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAI9B,sBAAsB,CAC1B,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,IAAI,CAAC;IAMV,eAAe,CACnB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC;IAIzB,gBAAgB,CACpB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,UAAU,EAAE,GACnB,OAAO,CAAC,IAAI,CAAC;IAMV,cAAc,CAClB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC;IAIzB,eAAe,CACnB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,UAAU,EAAE,GACnB,OAAO,CAAC,IAAI,CAAC;IAaV,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B"}
@@ -1,137 +1,57 @@
1
- import { createHash } from 'node:crypto';
2
- import { promises as fs } from 'fs';
3
- import path from 'path';
4
- import { z } from 'zod';
5
- import { log } from './logger.js';
6
- import { TranscriptLineSchema, ChunkEvaluationSchema, AudioEventSchema, SegmentRefinementSchema, } from '../types/index.js';
7
1
  /**
8
- * Serializes audio events into a stable string for cache keying.
9
- * Events are sorted by time so the key is order-independent.
10
- */
11
- function audioEventsKey(events) {
12
- if (events.length === 0)
13
- return '';
14
- const sorted = [...events].sort((a, b) => a.time - b.time);
15
- return JSON.stringify(sorted);
16
- }
17
- function hashContent(input) {
18
- return createHash('sha256').update(input).digest('hex');
19
- }
20
- async function readCacheFile(filePath, schema) {
21
- try {
22
- const raw = await fs.readFile(filePath, 'utf-8');
23
- const parsed = schema.safeParse(JSON.parse(raw));
24
- if (!parsed.success) {
25
- log.warn(`[cache] Corrupt entry at ${filePath} — ignoring`);
26
- return null;
27
- }
28
- return parsed.data;
29
- }
30
- catch {
31
- // File not found or unreadable — normal cache miss, stay silent
32
- return null;
33
- }
34
- }
35
- async function writeCacheFile(filePath, data) {
36
- try {
37
- await fs.mkdir(path.dirname(filePath), { recursive: true });
38
- await fs.writeFile(filePath, JSON.stringify(data, null, 2), 'utf-8');
39
- }
40
- catch (err) {
41
- log.warn(`[cache] Failed to write ${filePath}: ${err instanceof Error ? err.message : String(err)}`);
42
- }
43
- }
44
- /**
45
- * Disk-backed cache for all pipeline stages.
2
+ * Facade that wraps a CacheBackend and implements the CacheBackend interface.
3
+ *
4
+ * This means `Cache` can be passed anywhere a `CacheBackend` is expected, so
5
+ * all pipeline consumers work whether they type their parameter as `Cache` or
6
+ * `CacheBackend`. The concrete backend is injected by the factory in
7
+ * cacheFactory.ts.
46
8
  *
47
- * Constructed once in runner.ts with the resolved cache directory and passed
48
- * down to each stage that needs caching. Pass `disabled = true` to bypass all
49
- * reads and writes (equivalent to --no-cache).
9
+ * Call `close()` at the end of the pipeline to release backend resources
10
+ * (important for the MongoDB backend which holds an open connection).
50
11
  */
51
12
  export class Cache {
52
- cacheDir;
53
- disabled;
54
- constructor(cacheDir, disabled = false) {
55
- this.cacheDir = cacheDir;
56
- this.disabled = disabled;
57
- }
58
- // ---- Transcript ---------------------------------------------------------
59
- transcriptPath(videoId) {
60
- return path.join(this.cacheDir, 'transcript', `${hashContent(videoId)}.json`);
13
+ backend;
14
+ constructor(backend) {
15
+ this.backend = backend;
61
16
  }
17
+ // ---- Transcript -----------------------------------------------------------
62
18
  async readTranscript(videoId) {
63
- if (this.disabled)
64
- return null;
65
- return readCacheFile(this.transcriptPath(videoId), z.array(TranscriptLineSchema));
19
+ return this.backend.readTranscript(videoId);
66
20
  }
67
21
  async writeTranscript(videoId, lines) {
68
- if (this.disabled)
69
- return;
70
- await writeCacheFile(this.transcriptPath(videoId), lines);
71
- }
72
- // ---- LLM chunk results --------------------------------------------------
73
- chunkPath(chunk, chunkAudioEvents = []) {
74
- const audioKey = audioEventsKey(chunkAudioEvents);
75
- return path.join(this.cacheDir, 'chunks', `${hashContent(`${chunk.start}|${chunk.end}|${chunk.text}|${audioKey}`)}.json`);
22
+ return this.backend.writeTranscript(videoId, lines);
76
23
  }
77
- async readChunk(chunk, chunkAudioEvents = []) {
78
- if (this.disabled)
79
- return null;
80
- return readCacheFile(this.chunkPath(chunk, chunkAudioEvents), ChunkEvaluationSchema);
24
+ // ---- LLM chunk results ----------------------------------------------------
25
+ async readChunk(chunk, chunkAudioEvents) {
26
+ return this.backend.readChunk(chunk, chunkAudioEvents);
81
27
  }
82
- async writeChunk(chunk, evaluation, chunkAudioEvents = []) {
83
- if (this.disabled)
84
- return;
85
- if (evaluation.status !== 'success')
86
- return;
87
- await writeCacheFile(this.chunkPath(chunk, chunkAudioEvents), evaluation);
88
- }
89
- // ---- Segment refinement -------------------------------------------------
90
- segmentRefinementPath(start, end, reason) {
91
- return path.join(this.cacheDir, 'segments', `${hashContent(`${start}|${end}|${reason}`)}.json`);
28
+ async writeChunk(chunk, evaluation, chunkAudioEvents) {
29
+ return this.backend.writeChunk(chunk, evaluation, chunkAudioEvents);
92
30
  }
31
+ // ---- Segment refinement ---------------------------------------------------
93
32
  async readSegmentRefinement(start, end, reason) {
94
- if (this.disabled)
95
- return null;
96
- return readCacheFile(this.segmentRefinementPath(start, end, reason), SegmentRefinementSchema);
33
+ return this.backend.readSegmentRefinement(start, end, reason);
97
34
  }
98
35
  async writeSegmentRefinement(start, end, reason, refined) {
99
- if (this.disabled)
100
- return;
101
- await writeCacheFile(this.segmentRefinementPath(start, end, reason), refined);
102
- }
103
- // ---- Audio events (whole-video) -----------------------------------------
104
- audioEventPath(videoId, gameProfile, provider) {
105
- return path.join(this.cacheDir, 'audio', `${hashContent(`${videoId}|${gameProfile}|${provider}`)}.json`);
36
+ return this.backend.writeSegmentRefinement(start, end, reason, refined);
106
37
  }
38
+ // ---- Audio events (whole-video) -------------------------------------------
107
39
  async readAudioEvents(videoId, gameProfile, provider) {
108
- if (this.disabled)
109
- return null;
110
- return readCacheFile(this.audioEventPath(videoId, gameProfile, provider), z.array(AudioEventSchema));
40
+ return this.backend.readAudioEvents(videoId, gameProfile, provider);
111
41
  }
112
42
  async writeAudioEvents(videoId, gameProfile, provider, events) {
113
- if (this.disabled)
114
- return;
115
- await writeCacheFile(this.audioEventPath(videoId, gameProfile, provider), events);
116
- }
117
- // ---- Audio events (per-chunk) -------------------------------------------
118
- /**
119
- * Per-chunk audio cache — mirrors the LLM `chunks/` pattern.
120
- * Key includes videoId, gameProfile, provider, and the exact window bounds
121
- * so each 120s slice is stored independently.
122
- */
123
- audioChunkPath(videoId, gameProfile, provider, windowStart, windowEnd) {
124
- return path.join(this.cacheDir, 'audio', `${hashContent(`${videoId}|${gameProfile}|${provider}|${windowStart}|${windowEnd}`)}.json`);
43
+ return this.backend.writeAudioEvents(videoId, gameProfile, provider, events);
125
44
  }
45
+ // ---- Audio events (per-chunk) ---------------------------------------------
126
46
  async readAudioChunk(videoId, gameProfile, provider, windowStart, windowEnd) {
127
- if (this.disabled)
128
- return null;
129
- return readCacheFile(this.audioChunkPath(videoId, gameProfile, provider, windowStart, windowEnd), z.array(AudioEventSchema));
47
+ return this.backend.readAudioChunk(videoId, gameProfile, provider, windowStart, windowEnd);
130
48
  }
131
49
  async writeAudioChunk(videoId, gameProfile, provider, windowStart, windowEnd, events) {
132
- if (this.disabled)
133
- return;
134
- await writeCacheFile(this.audioChunkPath(videoId, gameProfile, provider, windowStart, windowEnd), events);
50
+ return this.backend.writeAudioChunk(videoId, gameProfile, provider, windowStart, windowEnd, events);
51
+ }
52
+ // ---- Lifecycle ------------------------------------------------------------
53
+ async close() {
54
+ return this.backend.close();
135
55
  }
136
56
  }
137
57
  //# sourceMappingURL=cache.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/utils/cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;AAS3B;;;GAGG;AACH,SAAS,cAAc,CAAC,MAAoB;IAC1C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACnC,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;IAC3D,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,WAAW,CAAC,KAAa;IAChC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC1D,CAAC;AAED,KAAK,UAAU,aAAa,CAAI,QAAgB,EAAE,MAAoB;IACpE,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,GAAG,CAAC,IAAI,CAAC,4BAA4B,QAAQ,aAAa,CAAC,CAAC;YAC5D,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IAAC,MAAM,CAAC;QACP,gEAAgE;QAChE,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,QAAgB,EAAE,IAAa;IAC3D,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACvE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,IAAI,CACN,2BAA2B,QAAQ,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC3F,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,OAAO,KAAK;IAEG;IACA;IAFnB,YACmB,QAAgB,EAChB,WAAoB,KAAK;QADzB,aAAQ,GAAR,QAAQ,CAAQ;QAChB,aAAQ,GAAR,QAAQ,CAAiB;IACzC,CAAC;IAEJ,4EAA4E;IAEpE,cAAc,CAAC,OAAe;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAChF,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAAe;QAClC,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC/B,OAAO,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;IACpF,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,OAAe,EAAE,KAAuB;QAC5D,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC1B,MAAM,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;IAC5D,CAAC;IAED,4EAA4E;IAEpE,SAAS,CAAC,KAAe,EAAE,mBAAiC,EAAE;QACpE,MAAM,QAAQ,GAAG,cAAc,CAAC,gBAAgB,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC,IAAI,CACd,IAAI,CAAC,QAAQ,EACb,QAAQ,EACR,GAAG,WAAW,CAAC,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,IAAI,IAAI,QAAQ,EAAE,CAAC,OAAO,CAC/E,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,SAAS,CACb,KAAe,EACf,mBAAiC,EAAE;QAEnC,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC/B,OAAO,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,gBAAgB,CAAC,EAAE,qBAAqB,CAAC,CAAC;IACvF,CAAC;IAED,KAAK,CAAC,UAAU,CACd,KAAe,EACf,UAA2B,EAC3B,mBAAiC,EAAE;QAEnC,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC1B,IAAI,UAAU,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO;QAC5C,MAAM,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,gBAAgB,CAAC,EAAE,UAAU,CAAC,CAAC;IAC5E,CAAC;IAED,4EAA4E;IAEpE,qBAAqB,CAAC,KAAa,EAAE,GAAW,EAAE,MAAc;QACtE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,WAAW,CAAC,GAAG,KAAK,IAAI,GAAG,IAAI,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC;IAClG,CAAC;IAED,KAAK,CAAC,qBAAqB,CACzB,KAAa,EACb,GAAW,EACX,MAAc;QAEd,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC/B,OAAO,aAAa,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,uBAAuB,CAAC,CAAC;IAChG,CAAC;IAED,KAAK,CAAC,sBAAsB,CAC1B,KAAa,EACb,GAAW,EACX,MAAc,EACd,OAA0B;QAE1B,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC1B,MAAM,cAAc,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;IAChF,CAAC;IAED,4EAA4E;IAEpE,cAAc,CAAC,OAAe,EAAE,WAAmB,EAAE,QAAgB;QAC3E,OAAO,IAAI,CAAC,IAAI,CACd,IAAI,CAAC,QAAQ,EACb,OAAO,EACP,GAAG,WAAW,CAAC,GAAG,OAAO,IAAI,WAAW,IAAI,QAAQ,EAAE,CAAC,OAAO,CAC/D,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,OAAe,EACf,WAAmB,EACnB,QAAgB;QAEhB,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC/B,OAAO,aAAa,CAClB,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,EACnD,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAC1B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,OAAe,EACf,WAAmB,EACnB,QAAgB,EAChB,MAAoB;QAEpB,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC1B,MAAM,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;IACpF,CAAC;IAED,4EAA4E;IAE5E;;;;OAIG;IACK,cAAc,CACpB,OAAe,EACf,WAAmB,EACnB,QAAgB,EAChB,WAAmB,EACnB,SAAiB;QAEjB,OAAO,IAAI,CAAC,IAAI,CACd,IAAI,CAAC,QAAQ,EACb,OAAO,EACP,GAAG,WAAW,CAAC,GAAG,OAAO,IAAI,WAAW,IAAI,QAAQ,IAAI,WAAW,IAAI,SAAS,EAAE,CAAC,OAAO,CAC3F,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,OAAe,EACf,WAAmB,EACnB,QAAgB,EAChB,WAAmB,EACnB,SAAiB;QAEjB,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC/B,OAAO,aAAa,CAClB,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,CAAC,EAC3E,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAC1B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,OAAe,EACf,WAAmB,EACnB,QAAgB,EAChB,WAAmB,EACnB,SAAiB,EACjB,MAAoB;QAEpB,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC1B,MAAM,cAAc,CAClB,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,CAAC,EAC3E,MAAM,CACP,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/utils/cache.ts"],"names":[],"mappings":"AAWA;;;;;;;;;;GAUG;AACH,MAAM,OAAO,KAAK;IACK;IAArB,YAAqB,OAAqB;QAArB,YAAO,GAAP,OAAO,CAAc;IAAG,CAAC;IAE9C,8EAA8E;IAE9E,KAAK,CAAC,cAAc,CAAC,OAAe;QAClC,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,OAAe,EAAE,KAAuB;QAC5D,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;IAED,8EAA8E;IAE9E,KAAK,CAAC,SAAS,CACb,KAAe,EACf,gBAA+B;QAE/B,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,UAAU,CACd,KAAe,EACf,UAA2B,EAC3B,gBAA+B;QAE/B,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;IACtE,CAAC;IAED,8EAA8E;IAE9E,KAAK,CAAC,qBAAqB,CACzB,KAAa,EACb,GAAW,EACX,MAAc;QAEd,OAAO,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,sBAAsB,CAC1B,KAAa,EACb,GAAW,EACX,MAAc,EACd,OAA0B;QAE1B,OAAO,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1E,CAAC;IAED,8EAA8E;IAE9E,KAAK,CAAC,eAAe,CACnB,OAAe,EACf,WAAmB,EACnB,QAAgB;QAEhB,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,OAAe,EACf,WAAmB,EACnB,QAAgB,EAChB,MAAoB;QAEpB,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC/E,CAAC;IAED,8EAA8E;IAE9E,KAAK,CAAC,cAAc,CAClB,OAAe,EACf,WAAmB,EACnB,QAAgB,EAChB,WAAmB,EACnB,SAAiB;QAEjB,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;IAC7F,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,OAAe,EACf,WAAmB,EACnB,QAAgB,EAChB,WAAmB,EACnB,SAAiB,EACjB,MAAoB;QAEpB,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CACjC,OAAO,EACP,WAAW,EACX,QAAQ,EACR,WAAW,EACX,SAAS,EACT,MAAM,CACP,CAAC;IACJ,CAAC;IAED,8EAA8E;IAE9E,KAAK,CAAC,KAAK;QACT,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;CACF"}
@@ -0,0 +1,40 @@
1
+ import type { TranscriptLine, LLMChunk, ChunkEvaluation, AudioEvent, SegmentRefinement } from '../types/index.js';
2
+ /**
3
+ * Common interface implemented by every cache backend (file-based, MongoDB, etc.).
4
+ *
5
+ * All read methods return null on a cache miss or any read error.
6
+ * All write methods are fire-and-forget — failures are logged but never thrown.
7
+ * `close()` releases any underlying resources (connections, file handles, etc.).
8
+ */
9
+ export interface CacheBackend {
10
+ readTranscript(videoId: string): Promise<TranscriptLine[] | null>;
11
+ writeTranscript(videoId: string, lines: TranscriptLine[]): Promise<void>;
12
+ readChunk(chunk: LLMChunk, chunkAudioEvents?: AudioEvent[]): Promise<ChunkEvaluation | null>;
13
+ writeChunk(chunk: LLMChunk, evaluation: ChunkEvaluation, chunkAudioEvents?: AudioEvent[]): Promise<void>;
14
+ readSegmentRefinement(start: number, end: number, reason: string): Promise<SegmentRefinement | null>;
15
+ writeSegmentRefinement(start: number, end: number, reason: string, refined: SegmentRefinement): Promise<void>;
16
+ readAudioEvents(videoId: string, gameProfile: string, provider: string): Promise<AudioEvent[] | null>;
17
+ writeAudioEvents(videoId: string, gameProfile: string, provider: string, events: AudioEvent[]): Promise<void>;
18
+ readAudioChunk(videoId: string, gameProfile: string, provider: string, windowStart: number, windowEnd: number): Promise<AudioEvent[] | null>;
19
+ writeAudioChunk(videoId: string, gameProfile: string, provider: string, windowStart: number, windowEnd: number, events: AudioEvent[]): Promise<void>;
20
+ /** Release any underlying resources (DB connections, file handles, etc.). */
21
+ close(): Promise<void>;
22
+ }
23
+ /**
24
+ * No-op backend used when the cache is disabled (--no-cache flag).
25
+ * All reads return null; all writes are silent no-ops.
26
+ */
27
+ export declare class DisabledCacheBackend implements CacheBackend {
28
+ readTranscript(_videoId: string): Promise<TranscriptLine[] | null>;
29
+ writeTranscript(_videoId: string, _lines: TranscriptLine[]): Promise<void>;
30
+ readChunk(_chunk: LLMChunk, _chunkAudioEvents?: AudioEvent[]): Promise<ChunkEvaluation | null>;
31
+ writeChunk(_chunk: LLMChunk, _evaluation: ChunkEvaluation, _chunkAudioEvents?: AudioEvent[]): Promise<void>;
32
+ readSegmentRefinement(_start: number, _end: number, _reason: string): Promise<SegmentRefinement | null>;
33
+ writeSegmentRefinement(_start: number, _end: number, _reason: string, _refined: SegmentRefinement): Promise<void>;
34
+ readAudioEvents(_videoId: string, _gameProfile: string, _provider: string): Promise<AudioEvent[] | null>;
35
+ writeAudioEvents(_videoId: string, _gameProfile: string, _provider: string, _events: AudioEvent[]): Promise<void>;
36
+ readAudioChunk(_videoId: string, _gameProfile: string, _provider: string, _windowStart: number, _windowEnd: number): Promise<AudioEvent[] | null>;
37
+ writeAudioChunk(_videoId: string, _gameProfile: string, _provider: string, _windowStart: number, _windowEnd: number, _events: AudioEvent[]): Promise<void>;
38
+ close(): Promise<void>;
39
+ }
40
+ //# sourceMappingURL=cacheBackend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cacheBackend.d.ts","sourceRoot":"","sources":["../../src/utils/cacheBackend.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * No-op backend used when the cache is disabled (--no-cache flag).
3
+ * All reads return null; all writes are silent no-ops.
4
+ */
5
+ export class DisabledCacheBackend {
6
+ async readTranscript(_videoId) {
7
+ return null;
8
+ }
9
+ async writeTranscript(_videoId, _lines) { }
10
+ async readChunk(_chunk, _chunkAudioEvents) {
11
+ return null;
12
+ }
13
+ async writeChunk(_chunk, _evaluation, _chunkAudioEvents) { }
14
+ async readSegmentRefinement(_start, _end, _reason) {
15
+ return null;
16
+ }
17
+ async writeSegmentRefinement(_start, _end, _reason, _refined) { }
18
+ async readAudioEvents(_videoId, _gameProfile, _provider) {
19
+ return null;
20
+ }
21
+ async writeAudioEvents(_videoId, _gameProfile, _provider, _events) { }
22
+ async readAudioChunk(_videoId, _gameProfile, _provider, _windowStart, _windowEnd) {
23
+ return null;
24
+ }
25
+ async writeAudioChunk(_videoId, _gameProfile, _provider, _windowStart, _windowEnd, _events) { }
26
+ async close() { }
27
+ }
28
+ //# sourceMappingURL=cacheBackend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cacheBackend.js","sourceRoot":"","sources":["../../src/utils/cacheBackend.ts"],"names":[],"mappings":"AA4EA;;;GAGG;AACH,MAAM,OAAO,oBAAoB;IAC/B,KAAK,CAAC,cAAc,CAAC,QAAgB;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,KAAK,CAAC,eAAe,CAAC,QAAgB,EAAE,MAAwB,IAAkB,CAAC;IAEnF,KAAK,CAAC,SAAS,CACb,MAAgB,EAChB,iBAAgC;QAEhC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,KAAK,CAAC,UAAU,CACd,MAAgB,EAChB,WAA4B,EAC5B,iBAAgC,IAChB,CAAC;IAEnB,KAAK,CAAC,qBAAqB,CACzB,MAAc,EACd,IAAY,EACZ,OAAe;QAEf,OAAO,IAAI,CAAC;IACd,CAAC;IACD,KAAK,CAAC,sBAAsB,CAC1B,MAAc,EACd,IAAY,EACZ,OAAe,EACf,QAA2B,IACX,CAAC;IAEnB,KAAK,CAAC,eAAe,CACnB,QAAgB,EAChB,YAAoB,EACpB,SAAiB;QAEjB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,KAAK,CAAC,gBAAgB,CACpB,QAAgB,EAChB,YAAoB,EACpB,SAAiB,EACjB,OAAqB,IACL,CAAC;IAEnB,KAAK,CAAC,cAAc,CAClB,QAAgB,EAChB,YAAoB,EACpB,SAAiB,EACjB,YAAoB,EACpB,UAAkB;QAElB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,KAAK,CAAC,eAAe,CACnB,QAAgB,EAChB,YAAoB,EACpB,SAAiB,EACjB,YAAoB,EACpB,UAAkB,EAClB,OAAqB,IACL,CAAC;IAEnB,KAAK,CAAC,KAAK,KAAmB,CAAC;CAChC"}
@@ -0,0 +1,14 @@
1
+ import type { CacheBackend } from './cacheBackend.js';
2
+ import type { Config } from '../types/index.js';
3
+ /**
4
+ * Creates the appropriate CacheBackend based on config.
5
+ *
6
+ * - `disabled = true` → DisabledCacheBackend (--no-cache flag)
7
+ * - `CACHE_BACKEND = 'file'` → FileCacheBackend (default)
8
+ * - `CACHE_BACKEND = 'mongodb'` → MongoCacheBackend (requires MONGODB_URI)
9
+ *
10
+ * The caller is responsible for calling `backend.close()` when the pipeline
11
+ * finishes so that any open connections (e.g. MongoClient) are released.
12
+ */
13
+ export declare function createCacheBackend(config: Pick<Config, 'CACHE_BACKEND' | 'CACHE_DIR' | 'MONGODB_URI' | 'MONGODB_DATABASE' | 'CACHE_TTL_SECONDS'>, disabled: boolean): Promise<CacheBackend>;
14
+ //# sourceMappingURL=cacheFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cacheFactory.d.ts","sourceRoot":"","sources":["../../src/utils/cacheFactory.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,IAAI,CACV,MAAM,EACN,eAAe,GAAG,WAAW,GAAG,aAAa,GAAG,kBAAkB,GAAG,mBAAmB,CACzF,EACD,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,YAAY,CAAC,CAgBvB"}
@@ -0,0 +1,31 @@
1
+ import { MongoClient } from 'mongodb';
2
+ import { log } from './logger.js';
3
+ import { FileCacheBackend } from './fileCacheBackend.js';
4
+ import { MongoCacheBackend } from './mongoCacheBackend.js';
5
+ import { DisabledCacheBackend } from './cacheBackend.js';
6
+ /**
7
+ * Creates the appropriate CacheBackend based on config.
8
+ *
9
+ * - `disabled = true` → DisabledCacheBackend (--no-cache flag)
10
+ * - `CACHE_BACKEND = 'file'` → FileCacheBackend (default)
11
+ * - `CACHE_BACKEND = 'mongodb'` → MongoCacheBackend (requires MONGODB_URI)
12
+ *
13
+ * The caller is responsible for calling `backend.close()` when the pipeline
14
+ * finishes so that any open connections (e.g. MongoClient) are released.
15
+ */
16
+ export async function createCacheBackend(config, disabled) {
17
+ if (disabled) {
18
+ return new DisabledCacheBackend();
19
+ }
20
+ if (config.CACHE_BACKEND === 'mongodb') {
21
+ // MONGODB_URI is guaranteed to be set by the superRefine in ConfigSchema
22
+ const uri = config.MONGODB_URI;
23
+ log.info(`[cache] Using MongoDB backend (${config.MONGODB_DATABASE})`);
24
+ const client = new MongoClient(uri);
25
+ await client.connect();
26
+ return new MongoCacheBackend(client, config.MONGODB_DATABASE, config.CACHE_TTL_SECONDS);
27
+ }
28
+ // Default: file-based backend
29
+ return new FileCacheBackend(config.CACHE_DIR);
30
+ }
31
+ //# sourceMappingURL=cacheFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cacheFactory.js","sourceRoot":"","sources":["../../src/utils/cacheFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAIzD;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAGC,EACD,QAAiB;IAEjB,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,IAAI,oBAAoB,EAAE,CAAC;IACpC,CAAC;IAED,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QACvC,yEAAyE;QACzE,MAAM,GAAG,GAAG,MAAM,CAAC,WAAqB,CAAC;QACzC,GAAG,CAAC,IAAI,CAAC,kCAAkC,MAAM,CAAC,gBAAgB,GAAG,CAAC,CAAC;QACvE,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;QACvB,OAAO,IAAI,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAC1F,CAAC;IAED,8BAA8B;IAC9B,OAAO,IAAI,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAChD,CAAC"}
@@ -9,7 +9,6 @@
9
9
  * [start, end) that together cover the full range [0, totalDuration).
10
10
  */
11
11
  import type { ChunkWindow } from '../types/index.js';
12
- export type { ChunkWindow };
13
12
  /**
14
13
  * Builds a list of time windows covering `[0, totalDuration)`.
15
14
  *
@@ -1 +1 @@
1
- {"version":3,"file":"chunker.d.ts","sourceRoot":"","sources":["../../src/utils/chunker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,YAAY,EAAE,WAAW,EAAE,CAAC;AAE5B;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,YAAY,CAC1B,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,UAAU,GAAE,MAAU,GACrB,WAAW,EAAE,CAgBf"}
1
+ {"version":3,"file":"chunker.d.ts","sourceRoot":"","sources":["../../src/utils/chunker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,YAAY,CAC1B,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,UAAU,GAAE,MAAU,GACrB,WAAW,EAAE,CAgBf"}
@@ -1 +1 @@
1
- {"version":3,"file":"chunker.js","sourceRoot":"","sources":["../../src/utils/chunker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH;;;;;;;;;;;;;;;;;;;;;;;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"}
1
+ {"version":3,"file":"chunker.js","sourceRoot":"","sources":["../../src/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"}