offcourse 1.0.0 → 1.1.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 (280) hide show
  1. package/README.md +107 -8
  2. package/dist/cli/commands/config.js.map +1 -1
  3. package/dist/cli/commands/inspect.js +1 -1
  4. package/dist/cli/commands/inspect.js.map +1 -1
  5. package/dist/cli/commands/sync.d.ts +1 -2
  6. package/dist/cli/commands/sync.d.ts.map +1 -1
  7. package/dist/cli/commands/sync.js +17 -15
  8. package/dist/cli/commands/sync.js.map +1 -1
  9. package/dist/cli/commands/syncHighLevel.d.ts +1 -2
  10. package/dist/cli/commands/syncHighLevel.d.ts.map +1 -1
  11. package/dist/cli/commands/syncHighLevel.js +8 -9
  12. package/dist/cli/commands/syncHighLevel.js.map +1 -1
  13. package/dist/cli/commands/syncLearningSuite.d.ts +35 -0
  14. package/dist/cli/commands/syncLearningSuite.d.ts.map +1 -0
  15. package/dist/cli/commands/syncLearningSuite.js +765 -0
  16. package/dist/cli/commands/syncLearningSuite.js.map +1 -0
  17. package/dist/cli/index.js +39 -1
  18. package/dist/cli/index.js.map +1 -1
  19. package/dist/config/configManager.d.ts.map +1 -1
  20. package/dist/config/configManager.js +4 -0
  21. package/dist/config/configManager.js.map +1 -1
  22. package/dist/downloader/hlsDownloader.d.ts +10 -4
  23. package/dist/downloader/hlsDownloader.d.ts.map +1 -1
  24. package/dist/downloader/hlsDownloader.js +60 -29
  25. package/dist/downloader/hlsDownloader.js.map +1 -1
  26. package/dist/downloader/hlsValidator.d.ts.map +1 -1
  27. package/dist/downloader/hlsValidator.js +6 -2
  28. package/dist/downloader/hlsValidator.js.map +1 -1
  29. package/dist/downloader/index.d.ts +7 -0
  30. package/dist/downloader/index.d.ts.map +1 -1
  31. package/dist/downloader/index.js +9 -6
  32. package/dist/downloader/index.js.map +1 -1
  33. package/dist/downloader/loomDownloader.d.ts +1 -1
  34. package/dist/downloader/loomDownloader.d.ts.map +1 -1
  35. package/dist/downloader/loomDownloader.js +32 -27
  36. package/dist/downloader/loomDownloader.js.map +1 -1
  37. package/dist/downloader/queue.d.ts +4 -4
  38. package/dist/downloader/queue.d.ts.map +1 -1
  39. package/dist/downloader/queue.js.map +1 -1
  40. package/dist/downloader/vimeoDownloader.d.ts.map +1 -1
  41. package/dist/downloader/vimeoDownloader.js +7 -3
  42. package/dist/downloader/vimeoDownloader.js.map +1 -1
  43. package/dist/scraper/extractor.d.ts +4 -0
  44. package/dist/scraper/extractor.d.ts.map +1 -1
  45. package/dist/scraper/extractor.js +79 -79
  46. package/dist/scraper/extractor.js.map +1 -1
  47. package/dist/scraper/highlevel/extractor.d.ts +11 -19
  48. package/dist/scraper/highlevel/extractor.d.ts.map +1 -1
  49. package/dist/scraper/highlevel/extractor.js +72 -85
  50. package/dist/scraper/highlevel/extractor.js.map +1 -1
  51. package/dist/scraper/highlevel/navigator.d.ts +3 -10
  52. package/dist/scraper/highlevel/navigator.d.ts.map +1 -1
  53. package/dist/scraper/highlevel/navigator.js +140 -127
  54. package/dist/scraper/highlevel/navigator.js.map +1 -1
  55. package/dist/scraper/highlevel/schemas.d.ts +188 -0
  56. package/dist/scraper/highlevel/schemas.d.ts.map +1 -0
  57. package/dist/scraper/highlevel/schemas.js +139 -0
  58. package/dist/scraper/highlevel/schemas.js.map +1 -0
  59. package/dist/scraper/learningsuite/extractor.d.ts +50 -0
  60. package/dist/scraper/learningsuite/extractor.d.ts.map +1 -0
  61. package/dist/scraper/learningsuite/extractor.js +429 -0
  62. package/dist/scraper/learningsuite/extractor.js.map +1 -0
  63. package/dist/scraper/learningsuite/index.d.ts +4 -0
  64. package/dist/scraper/learningsuite/index.d.ts.map +1 -0
  65. package/dist/scraper/{ghl → learningsuite}/index.js +1 -1
  66. package/dist/scraper/learningsuite/index.js.map +1 -0
  67. package/dist/scraper/learningsuite/navigator.d.ts +122 -0
  68. package/dist/scraper/learningsuite/navigator.d.ts.map +1 -0
  69. package/dist/scraper/learningsuite/navigator.js +736 -0
  70. package/dist/scraper/learningsuite/navigator.js.map +1 -0
  71. package/dist/scraper/learningsuite/schemas.d.ts +270 -0
  72. package/dist/scraper/learningsuite/schemas.d.ts.map +1 -0
  73. package/dist/scraper/learningsuite/schemas.js +147 -0
  74. package/dist/scraper/learningsuite/schemas.js.map +1 -0
  75. package/dist/scraper/navigator.d.ts +14 -11
  76. package/dist/scraper/navigator.d.ts.map +1 -1
  77. package/dist/scraper/navigator.js +61 -104
  78. package/dist/scraper/navigator.js.map +1 -1
  79. package/dist/scraper/schemas.d.ts +57 -0
  80. package/dist/scraper/schemas.d.ts.map +1 -0
  81. package/dist/scraper/schemas.js +135 -0
  82. package/dist/scraper/schemas.js.map +1 -0
  83. package/dist/scraper/videoInterceptor.d.ts +4 -0
  84. package/dist/scraper/videoInterceptor.d.ts.map +1 -1
  85. package/dist/scraper/videoInterceptor.js +66 -51
  86. package/dist/scraper/videoInterceptor.js.map +1 -1
  87. package/dist/shared/auth.d.ts +9 -9
  88. package/dist/shared/auth.d.ts.map +1 -1
  89. package/dist/shared/auth.js +24 -38
  90. package/dist/shared/auth.js.map +1 -1
  91. package/dist/shared/firebase.d.ts +60 -0
  92. package/dist/shared/firebase.d.ts.map +1 -0
  93. package/dist/shared/firebase.js +102 -0
  94. package/dist/shared/firebase.js.map +1 -0
  95. package/dist/shared/fs.d.ts.map +1 -1
  96. package/dist/shared/fs.js +4 -0
  97. package/dist/shared/fs.js.map +1 -1
  98. package/dist/shared/index.d.ts +3 -0
  99. package/dist/shared/index.d.ts.map +1 -1
  100. package/dist/shared/index.js +3 -0
  101. package/dist/shared/index.js.map +1 -1
  102. package/dist/shared/slug.d.ts +11 -0
  103. package/dist/shared/slug.d.ts.map +1 -0
  104. package/{src/shared/slug.ts → dist/shared/slug.js} +10 -11
  105. package/dist/shared/slug.js.map +1 -0
  106. package/dist/shared/url.d.ts +43 -0
  107. package/dist/shared/url.d.ts.map +1 -0
  108. package/{src/shared/url.ts → dist/shared/url.js} +12 -15
  109. package/dist/shared/url.js.map +1 -0
  110. package/dist/state/database.d.ts +1 -0
  111. package/dist/state/database.d.ts.map +1 -1
  112. package/dist/state/database.js +3 -0
  113. package/dist/state/database.js.map +1 -1
  114. package/dist/storage/fileSystem.d.ts +17 -17
  115. package/dist/storage/fileSystem.d.ts.map +1 -1
  116. package/dist/storage/fileSystem.js +39 -31
  117. package/dist/storage/fileSystem.js.map +1 -1
  118. package/package.json +5 -2
  119. package/.github/workflows/ci.yml +0 -50
  120. package/.husky/commit-msg +0 -2
  121. package/.husky/pre-commit +0 -1
  122. package/.husky/pre-push +0 -3
  123. package/.prettierrc +0 -8
  124. package/.release-it.json +0 -23
  125. package/ARCHITECTURE.md +0 -233
  126. package/CHANGELOG.md +0 -78
  127. package/commitlint.config.js +0 -4
  128. package/dist/ai/openRouter.d.ts +0 -47
  129. package/dist/ai/openRouter.d.ts.map +0 -1
  130. package/dist/ai/openRouter.js +0 -116
  131. package/dist/ai/openRouter.js.map +0 -1
  132. package/dist/ai/transcriptPolisher.d.ts +0 -24
  133. package/dist/ai/transcriptPolisher.d.ts.map +0 -1
  134. package/dist/ai/transcriptPolisher.js +0 -89
  135. package/dist/ai/transcriptPolisher.js.map +0 -1
  136. package/dist/cli/commands/enrich.d.ts +0 -14
  137. package/dist/cli/commands/enrich.d.ts.map +0 -1
  138. package/dist/cli/commands/enrich.js +0 -271
  139. package/dist/cli/commands/enrich.js.map +0 -1
  140. package/dist/cli/commands/syncGhl.d.ts +0 -20
  141. package/dist/cli/commands/syncGhl.d.ts.map +0 -1
  142. package/dist/cli/commands/syncGhl.js +0 -483
  143. package/dist/cli/commands/syncGhl.js.map +0 -1
  144. package/dist/cli/commands/syncHighLevel.test.d.ts +0 -2
  145. package/dist/cli/commands/syncHighLevel.test.d.ts.map +0 -1
  146. package/dist/cli/commands/syncHighLevel.test.js +0 -102
  147. package/dist/cli/commands/syncHighLevel.test.js.map +0 -1
  148. package/dist/config/paths.test.d.ts +0 -2
  149. package/dist/config/paths.test.d.ts.map +0 -1
  150. package/dist/config/paths.test.js +0 -70
  151. package/dist/config/paths.test.js.map +0 -1
  152. package/dist/config/schema.test.d.ts +0 -2
  153. package/dist/config/schema.test.d.ts.map +0 -1
  154. package/dist/config/schema.test.js +0 -151
  155. package/dist/config/schema.test.js.map +0 -1
  156. package/dist/downloader/hlsDownloader.test.d.ts +0 -2
  157. package/dist/downloader/hlsDownloader.test.d.ts.map +0 -1
  158. package/dist/downloader/hlsDownloader.test.js +0 -116
  159. package/dist/downloader/hlsDownloader.test.js.map +0 -1
  160. package/dist/downloader/loomDownloader.test.d.ts +0 -2
  161. package/dist/downloader/loomDownloader.test.d.ts.map +0 -1
  162. package/dist/downloader/loomDownloader.test.js +0 -36
  163. package/dist/downloader/loomDownloader.test.js.map +0 -1
  164. package/dist/downloader/queue.test.d.ts +0 -2
  165. package/dist/downloader/queue.test.d.ts.map +0 -1
  166. package/dist/downloader/queue.test.js +0 -158
  167. package/dist/downloader/queue.test.js.map +0 -1
  168. package/dist/downloader/videoDownloader.d.ts +0 -32
  169. package/dist/downloader/videoDownloader.d.ts.map +0 -1
  170. package/dist/downloader/videoDownloader.js +0 -173
  171. package/dist/downloader/videoDownloader.js.map +0 -1
  172. package/dist/downloader/vimeoDownloader.test.d.ts +0 -2
  173. package/dist/downloader/vimeoDownloader.test.d.ts.map +0 -1
  174. package/dist/downloader/vimeoDownloader.test.js +0 -51
  175. package/dist/downloader/vimeoDownloader.test.js.map +0 -1
  176. package/dist/scraper/auth.d.ts +0 -29
  177. package/dist/scraper/auth.d.ts.map +0 -1
  178. package/dist/scraper/auth.js +0 -115
  179. package/dist/scraper/auth.js.map +0 -1
  180. package/dist/scraper/extractor.test.d.ts +0 -2
  181. package/dist/scraper/extractor.test.d.ts.map +0 -1
  182. package/dist/scraper/extractor.test.js +0 -65
  183. package/dist/scraper/extractor.test.js.map +0 -1
  184. package/dist/scraper/ghl/auth.d.ts +0 -25
  185. package/dist/scraper/ghl/auth.d.ts.map +0 -1
  186. package/dist/scraper/ghl/auth.js +0 -187
  187. package/dist/scraper/ghl/auth.js.map +0 -1
  188. package/dist/scraper/ghl/extractor.d.ts +0 -96
  189. package/dist/scraper/ghl/extractor.d.ts.map +0 -1
  190. package/dist/scraper/ghl/extractor.js +0 -345
  191. package/dist/scraper/ghl/extractor.js.map +0 -1
  192. package/dist/scraper/ghl/index.d.ts +0 -4
  193. package/dist/scraper/ghl/index.d.ts.map +0 -1
  194. package/dist/scraper/ghl/index.js.map +0 -1
  195. package/dist/scraper/ghl/navigator.d.ts +0 -93
  196. package/dist/scraper/ghl/navigator.d.ts.map +0 -1
  197. package/dist/scraper/ghl/navigator.js +0 -447
  198. package/dist/scraper/ghl/navigator.js.map +0 -1
  199. package/dist/scraper/highlevel/auth.d.ts +0 -25
  200. package/dist/scraper/highlevel/auth.d.ts.map +0 -1
  201. package/dist/scraper/highlevel/auth.js +0 -189
  202. package/dist/scraper/highlevel/auth.js.map +0 -1
  203. package/dist/scraper/highlevel/extractor.test.d.ts +0 -2
  204. package/dist/scraper/highlevel/extractor.test.d.ts.map +0 -1
  205. package/dist/scraper/highlevel/extractor.test.js +0 -101
  206. package/dist/scraper/highlevel/extractor.test.js.map +0 -1
  207. package/dist/scraper/highlevel/navigator.test.d.ts +0 -2
  208. package/dist/scraper/highlevel/navigator.test.d.ts.map +0 -1
  209. package/dist/scraper/highlevel/navigator.test.js +0 -78
  210. package/dist/scraper/highlevel/navigator.test.js.map +0 -1
  211. package/dist/scraper/navigator.test.d.ts +0 -2
  212. package/dist/scraper/navigator.test.d.ts.map +0 -1
  213. package/dist/scraper/navigator.test.js +0 -63
  214. package/dist/scraper/navigator.test.js.map +0 -1
  215. package/dist/scraper/skoolApi.d.ts +0 -17
  216. package/dist/scraper/skoolApi.d.ts.map +0 -1
  217. package/dist/scraper/skoolApi.js +0 -72
  218. package/dist/scraper/skoolApi.js.map +0 -1
  219. package/dist/state/database.test.d.ts +0 -2
  220. package/dist/state/database.test.d.ts.map +0 -1
  221. package/dist/state/database.test.js +0 -34
  222. package/dist/state/database.test.js.map +0 -1
  223. package/dist/transcription/whisperService.d.ts +0 -27
  224. package/dist/transcription/whisperService.d.ts.map +0 -1
  225. package/dist/transcription/whisperService.js +0 -102
  226. package/dist/transcription/whisperService.js.map +0 -1
  227. package/eslint.config.js +0 -55
  228. package/src/__fixtures__/highlevel-post-response.json +0 -68
  229. package/src/__fixtures__/hls-master-playlist.m3u8 +0 -24
  230. package/src/cli/commands/__snapshots__/syncHighLevel.test.ts.snap +0 -38
  231. package/src/cli/commands/config.ts +0 -74
  232. package/src/cli/commands/inspect.ts +0 -441
  233. package/src/cli/commands/login.ts +0 -68
  234. package/src/cli/commands/status.ts +0 -147
  235. package/src/cli/commands/sync.ts +0 -1235
  236. package/src/cli/commands/syncHighLevel.test.ts +0 -144
  237. package/src/cli/commands/syncHighLevel.ts +0 -639
  238. package/src/cli/index.ts +0 -121
  239. package/src/config/configManager.ts +0 -75
  240. package/src/config/paths.test.ts +0 -83
  241. package/src/config/paths.ts +0 -36
  242. package/src/config/schema.test.ts +0 -173
  243. package/src/config/schema.ts +0 -65
  244. package/src/downloader/hlsDownloader.test.ts +0 -148
  245. package/src/downloader/hlsDownloader.ts +0 -327
  246. package/src/downloader/hlsValidator.ts +0 -196
  247. package/src/downloader/index.ts +0 -122
  248. package/src/downloader/loomDownloader.test.ts +0 -43
  249. package/src/downloader/loomDownloader.ts +0 -742
  250. package/src/downloader/queue.test.ts +0 -199
  251. package/src/downloader/queue.ts +0 -118
  252. package/src/downloader/vimeoDownloader.test.ts +0 -62
  253. package/src/downloader/vimeoDownloader.ts +0 -722
  254. package/src/scraper/extractor.test.ts +0 -124
  255. package/src/scraper/extractor.ts +0 -757
  256. package/src/scraper/highlevel/__snapshots__/extractor.test.ts.snap +0 -41
  257. package/src/scraper/highlevel/extractor.test.ts +0 -134
  258. package/src/scraper/highlevel/extractor.ts +0 -537
  259. package/src/scraper/highlevel/index.ts +0 -2
  260. package/src/scraper/highlevel/navigator.test.ts +0 -110
  261. package/src/scraper/highlevel/navigator.ts +0 -668
  262. package/src/scraper/highlevel/schemas.ts +0 -183
  263. package/src/scraper/navigator.test.ts +0 -122
  264. package/src/scraper/navigator.ts +0 -355
  265. package/src/scraper/schemas.ts +0 -177
  266. package/src/scraper/videoInterceptor.ts +0 -435
  267. package/src/shared/auth.test.ts +0 -58
  268. package/src/shared/auth.ts +0 -251
  269. package/src/shared/firebase.ts +0 -151
  270. package/src/shared/fs.ts +0 -80
  271. package/src/shared/http.ts +0 -34
  272. package/src/shared/index.ts +0 -6
  273. package/src/shared/url.test.ts +0 -122
  274. package/src/state/database.test.ts +0 -49
  275. package/src/state/database.ts +0 -919
  276. package/src/state/index.ts +0 -14
  277. package/src/storage/fileSystem.test.ts +0 -64
  278. package/src/storage/fileSystem.ts +0 -175
  279. package/tsconfig.json +0 -28
  280. package/vitest.config.ts +0 -29
@@ -0,0 +1 @@
1
+ {"version":3,"file":"syncLearningSuite.js","sourceRoot":"","sources":["../../../src/cli/commands/syncLearningSuite.ts"],"names":[],"mappings":"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"}
package/dist/cli/index.js CHANGED
@@ -5,7 +5,8 @@ import { inspectCommand } from "./commands/inspect.js";
5
5
  import { loginCommand, logoutCommand } from "./commands/login.js";
6
6
  import { statusCommand, statusListCommand } from "./commands/status.js";
7
7
  import { syncCommand } from "./commands/sync.js";
8
- import { syncHighLevelCommand, isHighLevelPortal } from "./commands/syncHighLevel.js";
8
+ import { syncHighLevelCommand, isHighLevelPortal, } from "./commands/syncHighLevel.js";
9
+ import { syncLearningSuiteCommand, completeLearningSuiteCommand, isLearningSuitePortal, } from "./commands/syncLearningSuite.js";
9
10
  const program = new Command();
10
11
  program
11
12
  .name("offcourse")
@@ -37,6 +38,9 @@ program
37
38
  if (url.includes("skool.com")) {
38
39
  return syncCommand(url, options);
39
40
  }
41
+ else if (isLearningSuitePortal(url)) {
42
+ return syncLearningSuiteCommand(url, options);
43
+ }
40
44
  else if (isHighLevelPortal(url)) {
41
45
  return syncHighLevelCommand(url, options);
42
46
  }
@@ -70,6 +74,40 @@ program
70
74
  .option("-q, --quality <quality>", "Preferred video quality (e.g., 720p, 1080p)")
71
75
  .option("--course-name <name>", "Override detected course name")
72
76
  .action(syncHighLevelCommand);
77
+ // Explicit LearningSuite sync command
78
+ program
79
+ .command("sync-learningsuite <url>")
80
+ .description("Download a LearningSuite course for offline access")
81
+ .option("--skip-videos", "Skip video downloads (only save text content)")
82
+ .option("--skip-content", "Skip text content (only download videos)")
83
+ .option("--dry-run", "Scan course structure without downloading")
84
+ .option("--limit <n>", "Limit to first N lessons (for testing)", parseInt)
85
+ .option("--visible", "Show browser window (default: headless)")
86
+ .option("-q, --quality <quality>", "Preferred video quality (e.g., 720p, 1080p)")
87
+ .option("--course-name <name>", "Override detected course name")
88
+ .action(syncLearningSuiteCommand);
89
+ // Complete command - mark lessons as complete to unlock content
90
+ program
91
+ .command("complete <url>")
92
+ .description("Mark lessons as complete to unlock sequential content")
93
+ .option("--visible", "Show browser window (default: headless)")
94
+ .action((url, options) => {
95
+ if (isLearningSuitePortal(url)) {
96
+ return completeLearningSuiteCommand(url, options);
97
+ }
98
+ else if (url.includes("skool.com")) {
99
+ console.log("\n⚠️ Auto-complete for Skool coming soon!\n");
100
+ console.log(" Skool lessons can be marked complete manually in the browser.");
101
+ console.log(" This feature will be added in a future update.\n");
102
+ process.exit(0);
103
+ }
104
+ else {
105
+ console.log("\n❌ Platform not supported for auto-complete.\n");
106
+ console.log(" Currently supported: LearningSuite");
107
+ console.log(" Coming soon: Skool\n");
108
+ process.exit(1);
109
+ }
110
+ });
73
111
  // Status command
74
112
  program
75
113
  .command("status [url]")
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"configManager.d.ts","sourceRoot":"","sources":["../../src/config/configManager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAgB,MAAM,aAAa,CAAC;AAcnD;;GAEG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAG1D;AAED;;;GAGG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAGnC;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAG/C;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAK7D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAExE;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAElC;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC"}
1
+ {"version":3,"file":"configManager.d.ts","sourceRoot":"","sources":["../../src/config/configManager.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAgB,MAAM,aAAa,CAAC;AAcnD;;GAEG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAG1D;AAED;;;GAGG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAGnC;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAG/C;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAK7D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAExE;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAElC;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC"}
@@ -1,3 +1,7 @@
1
+ /**
2
+ * Application configuration using the `conf` package.
3
+ * Excluded from coverage - testing would just test the conf package.
4
+ */
1
5
  import Conf from "conf";
2
6
  import { APP_DIR, SESSIONS_DIR } from "./paths.js";
3
7
  import { configSchema } from "./schema.js";
@@ -1 +1 @@
1
- {"version":3,"file":"configManager.js","sourceRoot":"","sources":["../../src/config/configManager.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAU,YAAY,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;;GAGG;AACH,MAAM,KAAK,GAAG,IAAI,IAAI,CAAS;IAC7B,WAAW,EAAE,WAAW;IACxB,GAAG,EAAE,OAAO;IACZ,UAAU,EAAE,QAAQ;IACpB,QAAQ,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;CACjC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACxC,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,OAAO,aAAa,CAAC,CAAC;IAC9D,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACvD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU;IACxB,0CAA0C;IAC1C,OAAO,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACzC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,MAAc;IACvC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7C,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,OAAwB;IACnD,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC/D,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC;IACtB,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAyB,GAAM;IAC3D,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW;IACzB,KAAK,CAAC,KAAK,EAAE,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,KAAK,CAAC,IAAI,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"configManager.js","sourceRoot":"","sources":["../../src/config/configManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAU,YAAY,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;;GAGG;AACH,MAAM,KAAK,GAAG,IAAI,IAAI,CAAS;IAC7B,WAAW,EAAE,WAAW;IACxB,GAAG,EAAE,OAAO;IACZ,UAAU,EAAE,QAAQ;IACpB,QAAQ,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;CACjC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACxC,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,OAAO,aAAa,CAAC,CAAC;IAC9D,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACvD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU;IACxB,0CAA0C;IAC1C,OAAO,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACzC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,MAAc;IACvC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7C,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,OAAwB;IACnD,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC/D,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC;IACtB,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAyB,GAAM;IAC3D,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW;IACzB,KAAK,CAAC,KAAK,EAAE,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,KAAK,CAAC,IAAI,CAAC;AACpB,CAAC"}
@@ -20,7 +20,7 @@ export declare function checkFfmpeg(): Promise<boolean>;
20
20
  /**
21
21
  * Fetches an HLS master playlist and parses quality variants.
22
22
  */
23
- export declare function fetchHLSQualities(masterUrl: string): Promise<HLSQuality[]>;
23
+ export declare function fetchHLSQualities(masterUrl: string, cookies?: string, referer?: string): Promise<HLSQuality[]>;
24
24
  /**
25
25
  * Parses an HLS master playlist to extract quality variants.
26
26
  * Uses hls-parser for robust parsing.
@@ -30,23 +30,29 @@ export declare function parseHLSPlaylist(content: string, baseUrl: string): HLSQ
30
30
  * Gets the best quality URL from a master playlist.
31
31
  * @param masterUrl The master playlist URL
32
32
  * @param preferredHeight Preferred video height (e.g., 720, 1080)
33
+ * @param cookies Optional cookies for authenticated requests
34
+ * @param referer Optional referer URL
33
35
  */
34
- export declare function getBestQualityUrl(masterUrl: string, preferredHeight?: number): Promise<string>;
36
+ export declare function getBestQualityUrl(masterUrl: string, preferredHeight?: number, cookies?: string, referer?: string): Promise<string>;
35
37
  /**
36
38
  * Downloads an HLS stream using ffmpeg.
37
39
  * @param hlsUrl The HLS playlist URL (master or media)
38
40
  * @param outputPath The output file path (should end in .mp4)
39
41
  * @param onProgress Progress callback
42
+ * @param cookies Optional cookies for authenticated requests
43
+ * @param referer Optional referer URL
40
44
  */
41
- export declare function downloadHLSVideo(hlsUrl: string, outputPath: string, onProgress?: (progress: DownloadProgress) => void): Promise<HLSDownloadResult>;
45
+ export declare function downloadHLSVideo(hlsUrl: string, outputPath: string, onProgress?: (progress: DownloadProgress) => void, cookies?: string, referer?: string): Promise<HLSDownloadResult>;
42
46
  /**
43
47
  * Downloads a HighLevel HLS video with quality selection.
44
48
  * @param masterUrl The master playlist URL (may include token)
45
49
  * @param outputPath The output file path
46
50
  * @param preferredQuality Preferred quality label (e.g., "720p", "1080p")
47
51
  * @param onProgress Progress callback
52
+ * @param cookies Optional cookies for authenticated requests
53
+ * @param referer Optional referer URL
48
54
  */
49
- export declare function downloadHighLevelVideo(masterUrl: string, outputPath: string, preferredQuality?: string, onProgress?: (progress: DownloadProgress) => void): Promise<HLSDownloadResult>;
55
+ export declare function downloadHighLevelVideo(masterUrl: string, outputPath: string, preferredQuality?: string, onProgress?: (progress: DownloadProgress) => void, cookies?: string, referer?: string): Promise<HLSDownloadResult>;
50
56
  /**
51
57
  * Extracts video info from a HighLevel HLS URL.
52
58
  */
@@ -1 +1 @@
1
- {"version":3,"file":"hlsDownloader.d.ts","sourceRoot":"","sources":["../../src/downloader/hlsDownloader.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B;AAED;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAOpD;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAahF;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,EAAE,CAuC/E;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,EACjB,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,MAAM,CAAC,CAsBjB;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,IAAI,GAChD,OAAO,CAAC,iBAAiB,CAAC,CA4G5B;AAED;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,gBAAgB,CAAC,EAAE,MAAM,EACzB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,IAAI,GAChD,OAAO,CAAC,iBAAiB,CAAC,CA0B5B;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG;IACnD,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B,GAAG,IAAI,CAqBP"}
1
+ {"version":3,"file":"hlsDownloader.d.ts","sourceRoot":"","sources":["../../src/downloader/hlsDownloader.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B;AAED;;GAEG;AAEH,wBAAsB,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAOpD;AAED;;GAEG;AAEH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,UAAU,EAAE,CAAC,CAyBvB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,EAAE,CAuC/E;AAED;;;;;;GAMG;AAEH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,EACjB,eAAe,CAAC,EAAE,MAAM,EACxB,OAAO,CAAC,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CAuBjB;AAED;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,IAAI,EACjD,OAAO,CAAC,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,iBAAiB,CAAC,CA6H5B;AAED;;;;;;;;GAQG;AACH,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,gBAAgB,CAAC,EAAE,MAAM,EACzB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,IAAI,EACjD,OAAO,CAAC,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,iBAAiB,CAAC,CA0B5B;AAGD;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG;IACnD,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B,GAAG,IAAI,CAuBP"}
@@ -5,6 +5,7 @@ import * as HLS from "hls-parser";
5
5
  /**
6
6
  * Checks if ffmpeg is available on the system.
7
7
  */
8
+ /* v8 ignore next 8 */
8
9
  export async function checkFfmpeg() {
9
10
  try {
10
11
  await execa("ffmpeg", ["-version"]);
@@ -17,9 +18,20 @@ export async function checkFfmpeg() {
17
18
  /**
18
19
  * Fetches an HLS master playlist and parses quality variants.
19
20
  */
20
- export async function fetchHLSQualities(masterUrl) {
21
+ /* v8 ignore next 24 */
22
+ export async function fetchHLSQualities(masterUrl, cookies, referer) {
21
23
  try {
22
- const response = await fetch(masterUrl);
24
+ // Use provided referer or extract origin from URL
25
+ const urlObj = new URL(masterUrl);
26
+ const origin = referer ?? `${urlObj.protocol}//${urlObj.host}/`;
27
+ const headers = {
28
+ Origin: new URL(origin).origin,
29
+ Referer: origin,
30
+ };
31
+ if (cookies) {
32
+ headers.Cookie = cookies;
33
+ }
34
+ const response = await fetch(masterUrl, { headers });
23
35
  if (!response.ok) {
24
36
  throw new Error(`Failed to fetch playlist: ${response.status}`);
25
37
  }
@@ -73,9 +85,12 @@ export function parseHLSPlaylist(content, baseUrl) {
73
85
  * Gets the best quality URL from a master playlist.
74
86
  * @param masterUrl The master playlist URL
75
87
  * @param preferredHeight Preferred video height (e.g., 720, 1080)
88
+ * @param cookies Optional cookies for authenticated requests
89
+ * @param referer Optional referer URL
76
90
  */
77
- export async function getBestQualityUrl(masterUrl, preferredHeight) {
78
- const qualities = await fetchHLSQualities(masterUrl);
91
+ /* v8 ignore start */
92
+ export async function getBestQualityUrl(masterUrl, preferredHeight, cookies, referer) {
93
+ const qualities = await fetchHLSQualities(masterUrl, cookies, referer);
79
94
  if (qualities.length === 0) {
80
95
  // Assume it's a direct media playlist
81
96
  return masterUrl;
@@ -87,8 +102,9 @@ export async function getBestQualityUrl(masterUrl, preferredHeight) {
87
102
  return match.url;
88
103
  // Find closest lower quality
89
104
  const lower = qualities.filter((q) => q.height && q.height <= preferredHeight);
90
- if (lower.length > 0) {
91
- return lower[0].url;
105
+ const closest = lower[0];
106
+ if (closest) {
107
+ return closest.url;
92
108
  }
93
109
  }
94
110
  // Return highest quality
@@ -99,8 +115,10 @@ export async function getBestQualityUrl(masterUrl, preferredHeight) {
99
115
  * @param hlsUrl The HLS playlist URL (master or media)
100
116
  * @param outputPath The output file path (should end in .mp4)
101
117
  * @param onProgress Progress callback
118
+ * @param cookies Optional cookies for authenticated requests
119
+ * @param referer Optional referer URL
102
120
  */
103
- export async function downloadHLSVideo(hlsUrl, outputPath, onProgress) {
121
+ export async function downloadHLSVideo(hlsUrl, outputPath, onProgress, cookies, referer) {
104
122
  // Check if ffmpeg is available
105
123
  const hasFfmpeg = await checkFfmpeg();
106
124
  if (!hasFfmpeg) {
@@ -115,6 +133,10 @@ export async function downloadHLSVideo(hlsUrl, outputPath, onProgress) {
115
133
  if (!fs.existsSync(outputDir)) {
116
134
  fs.mkdirSync(outputDir, { recursive: true });
117
135
  }
136
+ // Use provided referer or extract origin from URL
137
+ const urlObj = new URL(hlsUrl);
138
+ const origin = referer ?? `${urlObj.protocol}//${urlObj.host}/`;
139
+ const originHost = new URL(origin).origin;
118
140
  // Build ffmpeg command
119
141
  const args = [
120
142
  "-y", // Overwrite output
@@ -122,14 +144,16 @@ export async function downloadHLSVideo(hlsUrl, outputPath, onProgress) {
122
144
  "-loglevel",
123
145
  "warning",
124
146
  "-stats",
125
- "-i",
126
- hlsUrl,
127
- "-c",
128
- "copy", // Copy streams without re-encoding
129
- "-bsf:a",
130
- "aac_adtstoasc", // Fix AAC stream
131
- outputPath,
132
147
  ];
148
+ // Add headers for authenticated requests
149
+ const headerParts = [`Origin: ${originHost}`, `Referer: ${origin}`];
150
+ if (cookies) {
151
+ headerParts.push(`Cookie: ${cookies}`);
152
+ }
153
+ args.push("-headers", headerParts.join("\r\n") + "\r\n");
154
+ args.push("-i", hlsUrl, "-c", "copy", // Copy streams without re-encoding
155
+ "-bsf:a", "aac_adtstoasc", // Fix AAC stream
156
+ outputPath);
133
157
  let duration = 0;
134
158
  let currentTime = 0;
135
159
  let lastProgressUpdate = 0;
@@ -157,20 +181,22 @@ export async function downloadHLSVideo(hlsUrl, outputPath, onProgress) {
157
181
  // Parse duration from input info
158
182
  const durationMatch = /Duration:\s*(\d{2}):(\d{2}):(\d{2})\.(\d{2})/.exec(output);
159
183
  if (durationMatch && duration === 0) {
184
+ const [, hours = "0", mins = "0", secs = "0", centis = "0"] = durationMatch;
160
185
  duration =
161
- parseInt(durationMatch[1], 10) * 3600 +
162
- parseInt(durationMatch[2], 10) * 60 +
163
- parseInt(durationMatch[3], 10) +
164
- parseInt(durationMatch[4], 10) / 100;
186
+ parseInt(hours, 10) * 3600 +
187
+ parseInt(mins, 10) * 60 +
188
+ parseInt(secs, 10) +
189
+ parseInt(centis, 10) / 100;
165
190
  }
166
191
  // Parse current time from progress
167
192
  const timeMatch = /time=(\d{2}):(\d{2}):(\d{2})\.(\d{2})/.exec(output);
168
193
  if (timeMatch) {
194
+ const [, hours = "0", mins = "0", secs = "0", centis = "0"] = timeMatch;
169
195
  currentTime =
170
- parseInt(timeMatch[1], 10) * 3600 +
171
- parseInt(timeMatch[2], 10) * 60 +
172
- parseInt(timeMatch[3], 10) +
173
- parseInt(timeMatch[4], 10) / 100;
196
+ parseInt(hours, 10) * 3600 +
197
+ parseInt(mins, 10) * 60 +
198
+ parseInt(secs, 10) +
199
+ parseInt(centis, 10) / 100;
174
200
  updateProgress();
175
201
  }
176
202
  });
@@ -203,8 +229,10 @@ export async function downloadHLSVideo(hlsUrl, outputPath, onProgress) {
203
229
  * @param outputPath The output file path
204
230
  * @param preferredQuality Preferred quality label (e.g., "720p", "1080p")
205
231
  * @param onProgress Progress callback
232
+ * @param cookies Optional cookies for authenticated requests
233
+ * @param referer Optional referer URL
206
234
  */
207
- export async function downloadHighLevelVideo(masterUrl, outputPath, preferredQuality, onProgress) {
235
+ export async function downloadHighLevelVideo(masterUrl, outputPath, preferredQuality, onProgress, cookies, referer) {
208
236
  // Report start
209
237
  onProgress?.({
210
238
  phase: "preparing",
@@ -214,21 +242,22 @@ export async function downloadHighLevelVideo(masterUrl, outputPath, preferredQua
214
242
  let preferredHeight;
215
243
  if (preferredQuality) {
216
244
  const match = /(\d+)p?/i.exec(preferredQuality);
217
- if (match) {
245
+ if (match?.[1]) {
218
246
  preferredHeight = parseInt(match[1], 10);
219
247
  }
220
248
  }
221
249
  // Get the best quality URL
222
250
  let downloadUrl = masterUrl;
223
251
  try {
224
- downloadUrl = await getBestQualityUrl(masterUrl, preferredHeight);
252
+ downloadUrl = await getBestQualityUrl(masterUrl, preferredHeight, cookies, referer);
225
253
  }
226
254
  catch (error) {
227
255
  console.warn("Failed to fetch quality options, using master URL:", error);
228
256
  }
229
257
  // Download using ffmpeg
230
- return downloadHLSVideo(downloadUrl, outputPath, onProgress);
258
+ return downloadHLSVideo(downloadUrl, outputPath, onProgress, cookies, referer);
231
259
  }
260
+ /* v8 ignore stop */
232
261
  /**
233
262
  * Extracts video info from a HighLevel HLS URL.
234
263
  */
@@ -237,13 +266,15 @@ export function parseHighLevelVideoUrl(url) {
237
266
  const urlObj = new URL(url);
238
267
  // Pattern: /hls/v2/memberships/{locationId}/videos/{videoId}/...
239
268
  const match = /\/memberships\/([^/]+)\/videos\/([^/,]+)/.exec(urlObj.pathname);
240
- if (!match) {
269
+ const locationId = match?.[1];
270
+ const videoId = match?.[2];
271
+ if (!locationId || !videoId) {
241
272
  return null;
242
273
  }
243
274
  const token = urlObj.searchParams.get("token");
244
275
  return {
245
- locationId: match[1],
246
- videoId: match[2],
276
+ locationId,
277
+ videoId,
247
278
  ...(token ? { token } : {}),
248
279
  };
249
280
  }
@@ -1 +1 @@
1
- {"version":3,"file":"hlsDownloader.js","sourceRoot":"","sources":["../../src/downloader/hlsDownloader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hlsDownloader.js","sourceRoot":"","sources":["../../src/downloader/hlsDownloader.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"hlsValidator.d.ts","sourceRoot":"","sources":["../../src/downloader/hlsValidator.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,IAAI,GACV,OAAO,CAAC,mBAAmB,CAAC,CAgD9B;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,IAAI,EACX,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,mBAAmB,CAAC,CAyD9B;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,IAAI,EACX,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,mBAAmB,CAAC,CAgC9B"}
1
+ {"version":3,"file":"hlsValidator.d.ts","sourceRoot":"","sources":["../../src/downloader/hlsValidator.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAgDhG;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,IAAI,EACX,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,mBAAmB,CAAC,CA0D9B;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,IAAI,EACX,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,mBAAmB,CAAC,CAgC9B"}
@@ -1,5 +1,9 @@
1
+ /**
2
+ * HLS stream validation - requires network access to verify streams.
3
+ * Excluded from coverage via vitest.config.ts.
4
+ */
1
5
  import { extractLoomId, getLoomVideoInfoDetailed } from "./loomDownloader.js";
2
- import { extractVimeoId, getVimeoVideoInfo, getVimeoVideoInfoFromBrowser } from "./vimeoDownloader.js";
6
+ import { extractVimeoId, getVimeoVideoInfo, getVimeoVideoInfoFromBrowser, } from "./vimeoDownloader.js";
3
7
  import { captureLoomHls, captureVimeoConfig } from "../scraper/videoInterceptor.js";
4
8
  /**
5
9
  * Validates that a Loom video has an accessible HLS stream.
@@ -70,7 +74,7 @@ export async function validateVimeoVideo(vimeoUrl, page, lessonUrl) {
70
74
  };
71
75
  }
72
76
  // Extract unlisted hash if present
73
- const hashMatch = (/vimeo\.com\/\d+\/([a-f0-9]+)/.exec(vimeoUrl)) ?? (/[?&]h=([a-f0-9]+)/.exec(vimeoUrl));
77
+ const hashMatch = /vimeo\.com\/\d+\/([a-f0-9]+)/.exec(vimeoUrl) ?? /[?&]h=([a-f0-9]+)/.exec(vimeoUrl);
74
78
  const unlistedHash = hashMatch?.[1] ?? null;
75
79
  // First try direct fetch (works for public videos)
76
80
  let result = await getVimeoVideoInfo(videoId, unlistedHash, lessonUrl);
@@ -1 +1 @@
1
- {"version":3,"file":"hlsValidator.js","sourceRoot":"","sources":["../../src/downloader/hlsValidator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AACvG,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAcpF;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAAe,EACf,IAAW;IAEX,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IAEvC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,+CAA+C;YACtD,SAAS,EAAE,aAAa;YACxB,OAAO,EAAE,QAAQ,OAAO,EAAE;SAC3B,CAAC;IACJ,CAAC;IAED,uBAAuB;IACvB,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAAC,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IAE/D,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAClC,OAAO;YACL,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM;SAC3B,CAAC;IACJ,CAAC;IAED,oEAAoE;IACpE,IAAI,IAAI,IAAI,MAAM,CAAC,SAAS,KAAK,eAAe,EAAE,CAAC;QACjD,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAC5D,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,OAAO,EAAE,mCAAmC;aAC7C,CAAC;QACJ,CAAC;IACH,CAAC;IAED,4BAA4B;IAC5B,MAAM,UAAU,GAAwB;QACtC,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,IAAI;QACZ,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,iCAAiC;KACzD,CAAC;IACF,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,UAAU,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IAC1C,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,UAAU,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IACtC,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,QAAgB,EAChB,IAAW,EACX,SAAkB;IAElB,MAAM,OAAO,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAEzC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,gDAAgD;YACvD,SAAS,EAAE,aAAa;YACxB,OAAO,EAAE,QAAQ,QAAQ,EAAE;SAC5B,CAAC;IACJ,CAAC;IAED,mCAAmC;IACnC,MAAM,SAAS,GAAG,CAAC,8BAA8B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC1G,MAAM,YAAY,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IAE5C,mDAAmD;IACnD,IAAI,MAAM,GAAG,MAAM,iBAAiB,CAAC,OAAO,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;IAEvE,wFAAwF;IACxF,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,SAAS,KAAK,eAAe,IAAI,IAAI,EAAE,CAAC;QACpE,MAAM,GAAG,MAAM,4BAA4B,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IAC3E,CAAC;IAED,8EAA8E;IAC9E,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,SAAS,KAAK,eAAe,IAAI,IAAI,EAAE,CAAC;QACpE,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAChE,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;YAC/C,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,cAAc;gBAClD,OAAO,EAAE,+BAA+B;aACzC,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACpC,MAAM,UAAU,GAAwB;YACtC,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,kCAAkC;SAC1D,CAAC;QACF,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,UAAU,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAC1C,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,UAAU,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QACtC,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,8DAA8D;IAC9D,OAAO;QACL,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc;KACzD,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,QAAgB,EAChB,SAAiB,EACjB,IAAW,EACX,SAAkB;IAElB,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,MAAM;YACT,OAAO,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAEzC,KAAK,OAAO;YACV,OAAO,kBAAkB,CAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;QAEvD,KAAK,SAAS,CAAC;QACf,KAAK,QAAQ;YACX,gEAAgE;YAChE,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,GAAG,SAAS,0CAA0C;aAChE,CAAC;QAEJ,KAAK,QAAQ;YACX,gDAAgD;YAChD,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,QAAQ;aACjB,CAAC;QAEJ;YACE,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,IAAI;gBACZ,KAAK,EAAE,uBAAuB,SAAS,EAAE;gBACzC,SAAS,EAAE,cAAc;aAC1B,CAAC;IACN,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"hlsValidator.js","sourceRoot":"","sources":["../../src/downloader/hlsValidator.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,6 @@
1
+ /**
2
+ * Video download coordination - delegates to type-specific downloaders.
3
+ */
1
4
  import { type DownloadProgress } from "./loomDownloader.js";
2
5
  export interface VideoDownloadTask {
3
6
  lessonId: number;
@@ -7,6 +10,10 @@ export interface VideoDownloadTask {
7
10
  outputPath: string;
8
11
  /** Optional preferred quality (e.g., "720p", "1080p") */
9
12
  preferredQuality?: string | undefined;
13
+ /** Optional cookies for authenticated downloads */
14
+ cookies?: string | undefined;
15
+ /** Optional referer URL for authenticated downloads */
16
+ referer?: string | undefined;
10
17
  }
11
18
  export interface DownloadResult {
12
19
  success: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/downloader/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAI7F,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EACL,MAAM,GACN,OAAO,GACP,SAAS,GACT,QAAQ,GACR,QAAQ,GACR,KAAK,GACL,WAAW,GACX,SAAS,GACT,IAAI,CAAC;IACT,UAAU,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACvC;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,iBAAiB,EACvB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,IAAI,GAChD,OAAO,CAAC,cAAc,CAAC,CA8CzB;AAED,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,wBAAwB,EACxB,KAAK,gBAAgB,EACrB,KAAK,eAAe,GACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,4BAA4B,EAC5B,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,cAAc,GACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,KAAK,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAC3E,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,KAAK,mBAAmB,GACzB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,WAAW,EACX,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,EAChB,KAAK,iBAAiB,EACtB,KAAK,UAAU,GAChB,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/downloader/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAmC,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAI7F,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EACL,MAAM,GACN,OAAO,GACP,SAAS,GACT,QAAQ,GACR,QAAQ,GACR,KAAK,GACL,WAAW,GACX,SAAS,GACT,IAAI,CAAC;IACT,UAAU,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,iBAAiB,EACvB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,IAAI,GAChD,OAAO,CAAC,cAAc,CAAC,CAqDzB;AAED,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,wBAAwB,EACxB,KAAK,gBAAgB,EACrB,KAAK,eAAe,GACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,4BAA4B,EAC5B,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,cAAc,GACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,KAAK,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAC3E,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,KAAK,mBAAmB,GACzB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,WAAW,EACX,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,EAChB,KAAK,iBAAiB,EACtB,KAAK,UAAU,GAChB,MAAM,oBAAoB,CAAC"}
@@ -1,3 +1,6 @@
1
+ /**
2
+ * Video download coordination - delegates to type-specific downloaders.
3
+ */
1
4
  import { downloadFile, downloadLoomVideo } from "./loomDownloader.js";
2
5
  import { downloadVimeoVideo } from "./vimeoDownloader.js";
3
6
  import { downloadHighLevelVideo, downloadHLSVideo } from "./hlsDownloader.js";
@@ -5,7 +8,7 @@ import { downloadHighLevelVideo, downloadHLSVideo } from "./hlsDownloader.js";
5
8
  * Downloads a video based on its type.
6
9
  */
7
10
  export async function downloadVideo(task, onProgress) {
8
- const { videoUrl, videoType, outputPath, preferredQuality } = task;
11
+ const { videoUrl, videoType, outputPath, preferredQuality, cookies, referer } = task;
9
12
  switch (videoType) {
10
13
  case "loom":
11
14
  return downloadLoomVideo(videoUrl, outputPath, onProgress);
@@ -13,13 +16,13 @@ export async function downloadVideo(task, onProgress) {
13
16
  return downloadVimeoVideo(videoUrl, outputPath, onProgress);
14
17
  case "native":
15
18
  // Direct MP4/WebM URL - download directly
16
- return downloadFile(videoUrl, outputPath, onProgress);
19
+ return downloadFile(videoUrl, outputPath, onProgress, cookies, referer);
17
20
  case "hls":
18
21
  // Generic HLS stream
19
- return downloadHLSVideo(videoUrl, outputPath, onProgress);
22
+ return downloadHLSVideo(videoUrl, outputPath, onProgress, cookies, referer);
20
23
  case "highlevel":
21
24
  // HighLevel HLS video with quality selection
22
- return downloadHighLevelVideo(videoUrl, outputPath, preferredQuality, onProgress);
25
+ return downloadHighLevelVideo(videoUrl, outputPath, preferredQuality, onProgress, cookies, referer);
23
26
  case "youtube":
24
27
  case "wistia":
25
28
  // These require yt-dlp or special handling
@@ -32,11 +35,11 @@ export async function downloadVideo(task, onProgress) {
32
35
  default:
33
36
  // Try direct download as fallback
34
37
  if (/\.(mp4|webm|mov)(\?|$)/i.exec(videoUrl)) {
35
- return downloadFile(videoUrl, outputPath, onProgress);
38
+ return downloadFile(videoUrl, outputPath, onProgress, cookies, referer);
36
39
  }
37
40
  // Try HLS if it looks like a playlist
38
41
  if (/\.m3u8(\?|$)/i.exec(videoUrl)) {
39
- return downloadHLSVideo(videoUrl, outputPath, onProgress);
42
+ return downloadHLSVideo(videoUrl, outputPath, onProgress, cookies, referer);
40
43
  }
41
44
  return {
42
45
  success: false,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/downloader/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAyB,MAAM,qBAAqB,CAAC;AAC7F,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AA4B9E;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,IAAuB,EACvB,UAAiD;IAEjD,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC;IAEnE,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,MAAM;YACT,OAAO,iBAAiB,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QAE7D,KAAK,OAAO;YACV,OAAO,kBAAkB,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QAE9D,KAAK,QAAQ;YACX,0CAA0C;YAC1C,OAAO,YAAY,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QAExD,KAAK,KAAK;YACR,qBAAqB;YACrB,OAAO,gBAAgB,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QAE5D,KAAK,WAAW;YACd,6CAA6C;YAC7C,OAAO,sBAAsB,CAAC,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,UAAU,CAAC,CAAC;QAEpF,KAAK,SAAS,CAAC;QACf,KAAK,QAAQ;YACX,2CAA2C;YAC3C,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,GAAG,SAAS,yEAAyE,QAAQ,EAAE;gBACtG,SAAS,EAAE,kBAAkB;aAC9B,CAAC;QAEJ,KAAK,SAAS,CAAC;QACf;YACE,kCAAkC;YAClC,IAAI,yBAAyB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7C,OAAO,YAAY,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;YACxD,CAAC;YACD,sCAAsC;YACtC,IAAI,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACnC,OAAO,gBAAgB,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;YAC5D,CAAC;YACD,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,4BAA4B,QAAQ,EAAE;aAC9C,CAAC;IACN,CAAC;AACH,CAAC;AAED,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,wBAAwB,GAGzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,4BAA4B,GAI7B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAqC,MAAM,YAAY,CAAC;AAC3E,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,kBAAkB,GAEnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,WAAW,EACX,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,GAGjB,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/downloader/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAyB,MAAM,qBAAqB,CAAC;AAC7F,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAgC9E;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,IAAuB,EACvB,UAAiD;IAEjD,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAErF,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,MAAM;YACT,OAAO,iBAAiB,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QAE7D,KAAK,OAAO;YACV,OAAO,kBAAkB,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QAE9D,KAAK,QAAQ;YACX,0CAA0C;YAC1C,OAAO,YAAY,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAE1E,KAAK,KAAK;YACR,qBAAqB;YACrB,OAAO,gBAAgB,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAE9E,KAAK,WAAW;YACd,6CAA6C;YAC7C,OAAO,sBAAsB,CAC3B,QAAQ,EACR,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,OAAO,EACP,OAAO,CACR,CAAC;QAEJ,KAAK,SAAS,CAAC;QACf,KAAK,QAAQ;YACX,2CAA2C;YAC3C,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,GAAG,SAAS,yEAAyE,QAAQ,EAAE;gBACtG,SAAS,EAAE,kBAAkB;aAC9B,CAAC;QAEJ,KAAK,SAAS,CAAC;QACf;YACE,kCAAkC;YAClC,IAAI,yBAAyB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7C,OAAO,YAAY,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC1E,CAAC;YACD,sCAAsC;YACtC,IAAI,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACnC,OAAO,gBAAgB,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC9E,CAAC;YACD,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,4BAA4B,QAAQ,EAAE;aAC9C,CAAC;IACN,CAAC;AACH,CAAC;AAED,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,wBAAwB,GAGzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,4BAA4B,GAI7B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAqC,MAAM,YAAY,CAAC;AAC3E,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,kBAAkB,GAEnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,WAAW,EACX,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,GAGjB,MAAM,oBAAoB,CAAC"}
@@ -49,7 +49,7 @@ export declare function downloadLoomVideo(urlOrId: string, outputPath: string, o
49
49
  /**
50
50
  * Downloads a file directly.
51
51
  */
52
- export declare function downloadFile(url: string, outputPath: string, onProgress?: (progress: DownloadProgress) => void): Promise<{
52
+ export declare function downloadFile(url: string, outputPath: string, onProgress?: (progress: DownloadProgress) => void, cookies?: string, referer?: string): Promise<{
53
53
  success: boolean;
54
54
  error?: string;
55
55
  }>;