@steipete/summarize-core 0.11.1 → 0.13.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 (138) hide show
  1. package/dist/esm/content/bun.js +21 -0
  2. package/dist/esm/content/bun.js.map +1 -0
  3. package/dist/esm/content/direct-media.js +100 -0
  4. package/dist/esm/content/direct-media.js.map +1 -0
  5. package/dist/esm/content/index.js +2 -1
  6. package/dist/esm/content/index.js.map +1 -1
  7. package/dist/esm/content/link-preview/client.js +6 -0
  8. package/dist/esm/content/link-preview/client.js.map +1 -1
  9. package/dist/esm/content/link-preview/content/fetcher.js +19 -2
  10. package/dist/esm/content/link-preview/content/fetcher.js.map +1 -1
  11. package/dist/esm/content/link-preview/content/firecrawl.js.map +1 -1
  12. package/dist/esm/content/link-preview/content/html.js.map +1 -1
  13. package/dist/esm/content/link-preview/content/index.js +29 -12
  14. package/dist/esm/content/link-preview/content/index.js.map +1 -1
  15. package/dist/esm/content/link-preview/content/utils.js.map +1 -1
  16. package/dist/esm/content/link-preview/content/video.js +1 -1
  17. package/dist/esm/content/link-preview/content/video.js.map +1 -1
  18. package/dist/esm/content/local-file.js +58 -0
  19. package/dist/esm/content/local-file.js.map +1 -0
  20. package/dist/esm/content/transcript/index.js +2 -0
  21. package/dist/esm/content/transcript/index.js.map +1 -1
  22. package/dist/esm/content/transcript/providers/generic-direct-media.js +47 -0
  23. package/dist/esm/content/transcript/providers/generic-direct-media.js.map +1 -0
  24. package/dist/esm/content/transcript/providers/generic-embedded.js +126 -0
  25. package/dist/esm/content/transcript/providers/generic-embedded.js.map +1 -0
  26. package/dist/esm/content/transcript/providers/generic-twitter.js +78 -0
  27. package/dist/esm/content/transcript/providers/generic-twitter.js.map +1 -0
  28. package/dist/esm/content/transcript/providers/generic.js +12 -248
  29. package/dist/esm/content/transcript/providers/generic.js.map +1 -1
  30. package/dist/esm/content/transcript/providers/podcast/apple-flow.js.map +1 -1
  31. package/dist/esm/content/transcript/providers/podcast/media.js +9 -1
  32. package/dist/esm/content/transcript/providers/podcast/media.js.map +1 -1
  33. package/dist/esm/content/transcript/providers/podcast/provider-flow.js +157 -0
  34. package/dist/esm/content/transcript/providers/podcast/provider-flow.js.map +1 -0
  35. package/dist/esm/content/transcript/providers/podcast/rss-feed.js +123 -0
  36. package/dist/esm/content/transcript/providers/podcast/rss-feed.js.map +1 -0
  37. package/dist/esm/content/transcript/providers/podcast/rss-transcript.js +113 -0
  38. package/dist/esm/content/transcript/providers/podcast/rss-transcript.js.map +1 -0
  39. package/dist/esm/content/transcript/providers/podcast/rss.js +2 -226
  40. package/dist/esm/content/transcript/providers/podcast/rss.js.map +1 -1
  41. package/dist/esm/content/transcript/providers/podcast/spotify-flow.js.map +1 -1
  42. package/dist/esm/content/transcript/providers/podcast.js +26 -155
  43. package/dist/esm/content/transcript/providers/podcast.js.map +1 -1
  44. package/dist/esm/content/transcript/providers/transcription-capability.js +22 -0
  45. package/dist/esm/content/transcript/providers/transcription-capability.js.map +1 -0
  46. package/dist/esm/content/transcript/providers/transcription-start.js +43 -32
  47. package/dist/esm/content/transcript/providers/transcription-start.js.map +1 -1
  48. package/dist/esm/content/transcript/providers/youtube/api.js +3 -2
  49. package/dist/esm/content/transcript/providers/youtube/api.js.map +1 -1
  50. package/dist/esm/content/transcript/providers/youtube/captions-player.js +173 -0
  51. package/dist/esm/content/transcript/providers/youtube/captions-player.js.map +1 -0
  52. package/dist/esm/content/transcript/providers/youtube/captions-shared.js +8 -0
  53. package/dist/esm/content/transcript/providers/youtube/captions-shared.js.map +1 -0
  54. package/dist/esm/content/transcript/providers/youtube/captions-transcript.js +361 -0
  55. package/dist/esm/content/transcript/providers/youtube/captions-transcript.js.map +1 -0
  56. package/dist/esm/content/transcript/providers/youtube/captions.js +2 -557
  57. package/dist/esm/content/transcript/providers/youtube/captions.js.map +1 -1
  58. package/dist/esm/content/transcript/providers/youtube/provider-flow.js +217 -0
  59. package/dist/esm/content/transcript/providers/youtube/provider-flow.js.map +1 -0
  60. package/dist/esm/content/transcript/providers/youtube/yt-dlp.js +33 -9
  61. package/dist/esm/content/transcript/providers/youtube/yt-dlp.js.map +1 -1
  62. package/dist/esm/content/transcript/providers/youtube.js +42 -194
  63. package/dist/esm/content/transcript/providers/youtube.js.map +1 -1
  64. package/dist/esm/content/transcript/transcription-config.js +24 -4
  65. package/dist/esm/content/transcript/transcription-config.js.map +1 -1
  66. package/dist/esm/content/url.js +5 -33
  67. package/dist/esm/content/url.js.map +1 -1
  68. package/dist/esm/processes.js.map +1 -1
  69. package/dist/esm/prompts/format.js +6 -0
  70. package/dist/esm/prompts/format.js.map +1 -1
  71. package/dist/esm/prompts/link-summary.js +27 -3
  72. package/dist/esm/prompts/link-summary.js.map +1 -1
  73. package/dist/esm/transcription/onnx-cli.js.map +1 -1
  74. package/dist/esm/transcription/whisper/assemblyai.js +132 -0
  75. package/dist/esm/transcription/whisper/assemblyai.js.map +1 -0
  76. package/dist/esm/transcription/whisper/chunking.js +64 -0
  77. package/dist/esm/transcription/whisper/chunking.js.map +1 -0
  78. package/dist/esm/transcription/whisper/cloud-providers.js +69 -0
  79. package/dist/esm/transcription/whisper/cloud-providers.js.map +1 -0
  80. package/dist/esm/transcription/whisper/core.js +320 -390
  81. package/dist/esm/transcription/whisper/core.js.map +1 -1
  82. package/dist/esm/transcription/whisper/gemini.js +324 -0
  83. package/dist/esm/transcription/whisper/gemini.js.map +1 -0
  84. package/dist/esm/transcription/whisper/groq.js +62 -1
  85. package/dist/esm/transcription/whisper/groq.js.map +1 -1
  86. package/dist/esm/transcription/whisper/preferences.js +16 -0
  87. package/dist/esm/transcription/whisper/preferences.js.map +1 -0
  88. package/dist/esm/transcription/whisper/provider-setup.js +62 -0
  89. package/dist/esm/transcription/whisper/provider-setup.js.map +1 -0
  90. package/dist/esm/transcription/whisper/remote-provider-attempts.js +189 -0
  91. package/dist/esm/transcription/whisper/remote-provider-attempts.js.map +1 -0
  92. package/dist/esm/transcription/whisper/remote.js +220 -0
  93. package/dist/esm/transcription/whisper/remote.js.map +1 -0
  94. package/dist/esm/transcription/whisper/whisper-cpp.js +21 -18
  95. package/dist/esm/transcription/whisper/whisper-cpp.js.map +1 -1
  96. package/dist/types/content/bun.d.ts +6 -0
  97. package/dist/types/content/direct-media.d.ts +9 -0
  98. package/dist/types/content/index.d.ts +2 -1
  99. package/dist/types/content/link-preview/client.d.ts +3 -1
  100. package/dist/types/content/link-preview/content/fetcher.d.ts +1 -1
  101. package/dist/types/content/link-preview/content/html.d.ts +1 -1
  102. package/dist/types/content/link-preview/deps.d.ts +8 -2
  103. package/dist/types/content/link-preview/types.d.ts +1 -1
  104. package/dist/types/content/local-file.d.ts +16 -0
  105. package/dist/types/content/transcript/providers/generic-direct-media.d.ts +11 -0
  106. package/dist/types/content/transcript/providers/generic-embedded.d.ts +16 -0
  107. package/dist/types/content/transcript/providers/generic-twitter.d.ts +11 -0
  108. package/dist/types/content/transcript/providers/podcast/flow-context.d.ts +3 -0
  109. package/dist/types/content/transcript/providers/podcast/media.d.ts +4 -2
  110. package/dist/types/content/transcript/providers/podcast/provider-flow.d.ts +7 -0
  111. package/dist/types/content/transcript/providers/podcast/rss-feed.d.ts +15 -0
  112. package/dist/types/content/transcript/providers/podcast/rss-transcript.d.ts +12 -0
  113. package/dist/types/content/transcript/providers/podcast/rss.d.ts +2 -24
  114. package/dist/types/content/transcript/providers/transcription-capability.d.ts +18 -0
  115. package/dist/types/content/transcript/providers/transcription-start.d.ts +11 -3
  116. package/dist/types/content/transcript/providers/youtube/captions-player.d.ts +12 -0
  117. package/dist/types/content/transcript/providers/youtube/captions-shared.d.ts +42 -0
  118. package/dist/types/content/transcript/providers/youtube/captions-transcript.d.ts +4 -0
  119. package/dist/types/content/transcript/providers/youtube/captions.d.ts +2 -19
  120. package/dist/types/content/transcript/providers/youtube/provider-flow.d.ts +34 -0
  121. package/dist/types/content/transcript/providers/youtube/yt-dlp.d.ts +4 -2
  122. package/dist/types/content/transcript/transcription-config.d.ts +6 -0
  123. package/dist/types/content/transcript/types.d.ts +1 -0
  124. package/dist/types/content/url.d.ts +2 -3
  125. package/dist/types/prompts/format.d.ts +1 -0
  126. package/dist/types/prompts/link-summary.d.ts +2 -1
  127. package/dist/types/transcription/whisper/assemblyai.d.ts +17 -0
  128. package/dist/types/transcription/whisper/chunking.d.ts +11 -0
  129. package/dist/types/transcription/whisper/cloud-providers.d.ts +22 -0
  130. package/dist/types/transcription/whisper/core.d.ts +12 -14
  131. package/dist/types/transcription/whisper/gemini.d.ts +14 -0
  132. package/dist/types/transcription/whisper/preferences.d.ts +4 -0
  133. package/dist/types/transcription/whisper/provider-setup.d.ts +30 -0
  134. package/dist/types/transcription/whisper/remote-provider-attempts.d.ts +51 -0
  135. package/dist/types/transcription/whisper/remote.d.ts +51 -0
  136. package/dist/types/transcription/whisper/types.d.ts +1 -1
  137. package/dist/types/transcription/whisper/whisper-cpp.d.ts +4 -3
  138. package/package.json +14 -10
@@ -4,11 +4,11 @@ import { fetchAppleTranscriptFromEmbeddedHtml, fetchAppleTranscriptFromItunesLoo
4
4
  import { FEED_HINT_URL_PATTERN, PODCAST_PLATFORM_HOST_PATTERN } from "./podcast/constants.js";
5
5
  import { resolvePodcastFeedUrlFromItunesSearch } from "./podcast/itunes.js";
6
6
  import { downloadCappedBytes, downloadToFile, filenameFromUrl, formatBytes, normalizeHeaderType, parseContentLength, probeRemoteMedia, transcribeMediaUrl, } from "./podcast/media.js";
7
- import { buildWhisperResult, joinNotes } from "./podcast/results.js";
8
- import { decodeXmlEntities, extractEnclosureForEpisode, extractEnclosureFromFeed, extractItemDurationSeconds, looksLikeRssOrAtomFeed, tryFetchTranscriptFromFeedXml, } from "./podcast/rss.js";
7
+ import { buildNoTranscriptResult, tryFeedEnclosureTranscript, tryOgAudioTranscript, tryPodcastTranscriptFromFeed, tryPodcastYtDlpTranscript, } from "./podcast/provider-flow.js";
8
+ import { extractEnclosureForEpisode, extractItemDurationSeconds, looksLikeRssOrAtomFeed, } from "./podcast/rss.js";
9
9
  import { fetchSpotifyTranscript } from "./podcast/spotify-flow.js";
10
10
  import { looksLikeBlockedHtml } from "./podcast/spotify.js";
11
- import { resolveTranscriptionAvailability } from "./transcription-start.js";
11
+ import { buildMissingTranscriptionProviderResult, resolveTranscriptProviderCapabilities, } from "./transcription-capability.js";
12
12
  export const canHandle = ({ url, html }) => {
13
13
  // Direct media URLs (e.g., .mp3, .wav) should be handled by the generic provider
14
14
  // even if the URL contains "podcast" in the path (like "rt_podcast996.mp3")
@@ -28,18 +28,17 @@ export const fetchTranscript = async (context, options) => {
28
28
  if (!attemptedProviders.includes(provider))
29
29
  attemptedProviders.push(provider);
30
30
  };
31
- const transcriptionAvailability = await resolveTranscriptionAvailability({
31
+ const transcriptionCapabilities = await resolveTranscriptProviderCapabilities({
32
32
  transcription,
33
- });
34
- const missingTranscriptionProviderResult = () => ({
35
- text: null,
36
- source: null,
37
- attemptedProviders,
38
- metadata: { provider: "podcast", reason: "missing_transcription_keys" },
39
- notes: "Missing transcription provider (install whisper-cpp or set OPENAI_API_KEY/FAL_KEY)",
33
+ ytDlpPath: options.ytDlpPath,
40
34
  });
41
35
  const ensureTranscriptionProvider = () => {
42
- return !transcriptionAvailability.hasAnyProvider ? missingTranscriptionProviderResult() : null;
36
+ return !transcriptionCapabilities.canTranscribe
37
+ ? buildMissingTranscriptionProviderResult({
38
+ attemptedProviders,
39
+ metadata: { provider: "podcast", reason: "missing_transcription_keys" },
40
+ })
41
+ : null;
43
42
  };
44
43
  const progress = {
45
44
  url: context.url,
@@ -56,37 +55,17 @@ export const fetchTranscript = async (context, options) => {
56
55
  const flow = {
57
56
  context,
58
57
  options,
58
+ transcription,
59
+ feedHtml: typeof context.html === "string" ? context.html : null,
59
60
  attemptedProviders,
60
61
  notes,
61
62
  pushOnce,
62
63
  ensureTranscriptionProvider,
63
64
  transcribe,
64
65
  };
65
- const feedHtml = typeof context.html === "string" ? context.html : null;
66
- if (feedHtml && /podcast:transcript/i.test(feedHtml)) {
67
- pushOnce("podcastTranscript");
68
- const direct = await tryFetchTranscriptFromFeedXml({
69
- fetchImpl: options.fetch,
70
- feedXml: feedHtml,
71
- episodeTitle: null,
72
- notes,
73
- });
74
- if (direct) {
75
- return {
76
- text: direct.text,
77
- source: "podcastTranscript",
78
- segments: options.transcriptTimestamps ? (direct.segments ?? null) : null,
79
- attemptedProviders,
80
- notes: joinNotes(notes),
81
- metadata: {
82
- provider: "podcast",
83
- kind: "rss_podcast_transcript",
84
- transcriptUrl: direct.transcriptUrl,
85
- transcriptType: direct.transcriptType,
86
- },
87
- };
88
- }
89
- }
66
+ const directResult = await tryPodcastTranscriptFromFeed(flow);
67
+ if (directResult)
68
+ return directResult;
90
69
  const spotifyResult = await fetchSpotifyTranscript(flow);
91
70
  if (spotifyResult)
92
71
  return spotifyResult;
@@ -96,125 +75,17 @@ export const fetchTranscript = async (context, options) => {
96
75
  const appleEmbeddedResult = await fetchAppleTranscriptFromEmbeddedHtml(flow);
97
76
  if (appleEmbeddedResult)
98
77
  return appleEmbeddedResult;
99
- const feedEnclosureUrl = feedHtml ? extractEnclosureFromFeed(feedHtml) : null;
100
- if (feedEnclosureUrl && feedHtml) {
101
- const resolvedUrl = decodeXmlEntities(feedEnclosureUrl.enclosureUrl);
102
- const durationSeconds = feedEnclosureUrl.durationSeconds;
103
- try {
104
- const missing = ensureTranscriptionProvider();
105
- if (missing)
106
- return missing;
107
- pushOnce("whisper");
108
- const transcript = await transcribe({
109
- url: resolvedUrl,
110
- filenameHint: "episode.mp3",
111
- durationSecondsHint: durationSeconds,
112
- });
113
- return buildWhisperResult({
114
- attemptedProviders,
115
- notes,
116
- outcome: transcript,
117
- includeProviderOnFailure: true,
118
- metadata: {
119
- provider: "podcast",
120
- kind: "rss_enclosure",
121
- enclosureUrl: resolvedUrl,
122
- durationSeconds,
123
- },
124
- });
125
- }
126
- catch (error) {
127
- return {
128
- text: null,
129
- source: null,
130
- attemptedProviders,
131
- notes: `Podcast enclosure download failed: ${error instanceof Error ? error.message : String(error)}`,
132
- metadata: { provider: "podcast", kind: "rss_enclosure", enclosureUrl: resolvedUrl },
133
- };
134
- }
135
- }
136
- const ogAudioUrl = feedHtml ? extractOgAudioUrl(feedHtml) : null;
137
- if (ogAudioUrl) {
138
- attemptedProviders.push("whisper");
139
- const result = await transcribe({
140
- url: ogAudioUrl,
141
- filenameHint: "audio.mp3",
142
- durationSecondsHint: null,
143
- });
144
- if (result.text) {
145
- notes.push("Used og:audio media (may be a preview clip, not the full episode)");
146
- return buildWhisperResult({
147
- attemptedProviders,
148
- notes,
149
- outcome: result,
150
- metadata: {
151
- provider: "podcast",
152
- kind: "og_audio",
153
- ogAudioUrl,
154
- },
155
- });
156
- }
157
- return {
158
- text: null,
159
- source: null,
160
- attemptedProviders,
161
- notes: result.error?.message ?? null,
162
- metadata: { provider: "podcast", kind: "og_audio", ogAudioUrl },
163
- };
164
- }
165
- if (options.ytDlpPath) {
166
- attemptedProviders.push("yt-dlp");
167
- try {
168
- const mod = await import("./youtube/yt-dlp.js");
169
- const result = await mod.fetchTranscriptWithYtDlp({
170
- ytDlpPath: options.ytDlpPath,
171
- transcription,
172
- mediaCache: options.mediaCache ?? null,
173
- url: context.url,
174
- service: "podcast",
175
- mediaKind: "audio",
176
- });
177
- if (result.notes.length > 0)
178
- notes.push(...result.notes);
179
- return {
180
- text: result.text,
181
- source: result.text ? "yt-dlp" : null,
182
- attemptedProviders,
183
- notes: joinNotes(notes),
184
- metadata: { provider: "podcast", kind: "yt_dlp", transcriptionProvider: result.provider },
185
- };
186
- }
187
- catch (error) {
188
- return {
189
- text: null,
190
- source: null,
191
- attemptedProviders,
192
- notes: `yt-dlp transcription failed: ${error instanceof Error ? error.message : String(error)}`,
193
- metadata: { provider: "podcast", kind: "yt_dlp" },
194
- };
195
- }
196
- }
197
- const missing = ensureTranscriptionProvider();
198
- if (missing)
199
- return missing;
200
- return {
201
- text: null,
202
- source: null,
203
- attemptedProviders,
204
- metadata: { provider: "podcast", reason: "no_enclosure_and_no_yt_dlp" },
205
- };
78
+ const enclosureResult = await tryFeedEnclosureTranscript(flow);
79
+ if (enclosureResult)
80
+ return enclosureResult;
81
+ const ogAudioResult = await tryOgAudioTranscript(flow);
82
+ if (ogAudioResult)
83
+ return ogAudioResult;
84
+ const ytDlpResult = await tryPodcastYtDlpTranscript(flow);
85
+ if (ytDlpResult)
86
+ return ytDlpResult;
87
+ return buildNoTranscriptResult(flow);
206
88
  };
207
- function extractOgAudioUrl(html) {
208
- const match = html.match(/<meta\s+property=['"]og:audio['"]\s+content=['"]([^'"]+)['"][^>]*>/i);
209
- if (!match?.[1])
210
- return null;
211
- const candidate = match[1].trim();
212
- if (!candidate)
213
- return null;
214
- if (!/^https?:\/\//i.test(candidate))
215
- return null;
216
- return candidate;
217
- }
218
89
  // Test-only exports (not part of the public API; may change without notice).
219
90
  export const __test__ = {
220
91
  probeRemoteMedia,
@@ -1 +1 @@
1
- {"version":3,"file":"podcast.js","sourceRoot":"","sources":["../../../../../src/content/transcript/providers/podcast.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"podcast.js","sourceRoot":"","sources":["../../../../../src/content/transcript/providers/podcast.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { buildMissingTranscriptionProviderNote } from "../../../transcription/whisper/provider-setup.js";
2
+ import { resolveTranscriptionAvailability, } from "./transcription-start.js";
3
+ export async function resolveTranscriptProviderCapabilities({ transcription, ytDlpPath, }) {
4
+ const availability = await resolveTranscriptionAvailability({ transcription });
5
+ return {
6
+ availability,
7
+ canTranscribe: availability.hasAnyProvider,
8
+ canRunYtDlp: Boolean(ytDlpPath && availability.hasAnyProvider),
9
+ missingProviderNote: buildMissingTranscriptionProviderNote(),
10
+ };
11
+ }
12
+ export function buildMissingTranscriptionProviderResult(args) {
13
+ const notes = args.notes?.filter((note) => note.trim().length > 0) ?? [];
14
+ return {
15
+ text: null,
16
+ source: null,
17
+ attemptedProviders: args.attemptedProviders,
18
+ metadata: args.metadata,
19
+ notes: [buildMissingTranscriptionProviderNote(), ...notes].join("; "),
20
+ };
21
+ }
22
+ //# sourceMappingURL=transcription-capability.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transcription-capability.js","sourceRoot":"","sources":["../../../../../src/content/transcript/providers/transcription-capability.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qCAAqC,EAAE,MAAM,kDAAkD,CAAC;AAGzG,OAAO,EACL,gCAAgC,GAEjC,MAAM,0BAA0B,CAAC;AASlC,MAAM,CAAC,KAAK,UAAU,qCAAqC,CAAC,EAC1D,aAAa,EACb,SAAS,GAIV;IACC,MAAM,YAAY,GAAG,MAAM,gCAAgC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC;IAC/E,OAAO;QACL,YAAY;QACZ,aAAa,EAAE,YAAY,CAAC,cAAc;QAC1C,WAAW,EAAE,OAAO,CAAC,SAAS,IAAI,YAAY,CAAC,cAAc,CAAC;QAC9D,mBAAmB,EAAE,qCAAqC,EAAE;KAC7D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uCAAuC,CAAC,IAIvD;IACC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACzE,OAAO;QACL,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,IAAI;QACZ,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;QAC3C,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,KAAK,EAAE,CAAC,qCAAqC,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;KACtE,CAAC;AACJ,CAAC"}
@@ -1,11 +1,15 @@
1
1
  import { isOnnxCliConfigured, resolvePreferredOnnxModel } from "../../../transcription/onnx-cli.js";
2
2
  import { isWhisperCppReady, resolveWhisperCppModelNameForDisplay, } from "../../../transcription/whisper.js";
3
+ import { buildCloudModelIdChain, buildCloudProviderHint, } from "../../../transcription/whisper/cloud-providers.js";
4
+ import { resolveGeminiTranscriptionModel } from "../../../transcription/whisper/provider-setup.js";
3
5
  import { resolveTranscriptionConfig } from "../transcription-config.js";
4
- export async function resolveTranscriptionAvailability({ env, transcription, groqApiKey, openaiApiKey, falApiKey, }) {
6
+ export async function resolveTranscriptionAvailability({ env, transcription, groqApiKey, assemblyaiApiKey, geminiApiKey, openaiApiKey, falApiKey, }) {
5
7
  const effective = resolveTranscriptionConfig({
6
8
  env,
7
9
  transcription,
8
10
  groqApiKey,
11
+ assemblyaiApiKey,
12
+ geminiApiKey,
9
13
  openaiApiKey,
10
14
  falApiKey,
11
15
  });
@@ -14,65 +18,72 @@ export async function resolveTranscriptionAvailability({ env, transcription, gro
14
18
  const onnxReady = preferredOnnxModel
15
19
  ? isOnnxCliConfigured(preferredOnnxModel, effectiveEnv)
16
20
  : false;
17
- const hasLocalWhisper = await isWhisperCppReady();
21
+ const hasLocalWhisper = await isWhisperCppReady(effectiveEnv);
18
22
  const hasGroq = Boolean(effective.groqApiKey);
23
+ const hasAssemblyAi = Boolean(effective.assemblyaiApiKey);
24
+ const hasGemini = Boolean(effective.geminiApiKey);
19
25
  const hasOpenai = Boolean(effective.openaiApiKey);
20
26
  const hasFal = Boolean(effective.falApiKey);
21
- const hasAnyProvider = onnxReady || hasLocalWhisper || hasGroq || hasOpenai || hasFal;
27
+ const hasAnyProvider = onnxReady || hasLocalWhisper || hasGroq || hasAssemblyAi || hasGemini || hasOpenai || hasFal;
22
28
  return {
23
29
  preferredOnnxModel,
24
30
  onnxReady,
25
31
  hasLocalWhisper,
26
32
  hasGroq,
33
+ hasAssemblyAi,
34
+ hasGemini,
27
35
  hasOpenai,
28
36
  hasFal,
29
37
  hasAnyProvider,
38
+ geminiModelId: effective.geminiModel ?? resolveGeminiTranscriptionModel(effectiveEnv),
39
+ effectiveEnv,
30
40
  };
31
41
  }
32
- export async function resolveTranscriptionStartInfo({ env, transcription, groqApiKey, openaiApiKey, falApiKey, }) {
42
+ export async function resolveTranscriptionStartInfo({ env, transcription, groqApiKey, assemblyaiApiKey, geminiApiKey, openaiApiKey, falApiKey, }) {
33
43
  const availability = await resolveTranscriptionAvailability({
34
44
  env,
35
45
  transcription,
36
46
  groqApiKey,
47
+ assemblyaiApiKey,
48
+ geminiApiKey,
37
49
  openaiApiKey,
38
50
  falApiKey,
39
51
  });
40
- const providerHint = availability.hasGroq
41
- ? availability.hasOpenai && availability.hasFal
42
- ? "groq->openai->fal"
43
- : availability.hasOpenai
44
- ? "groq->openai"
45
- : availability.hasFal
46
- ? "groq->fal"
47
- : "groq"
48
- : availability.onnxReady
49
- ? "onnx"
50
- : availability.hasLocalWhisper
51
- ? "cpp"
52
- : availability.hasOpenai && availability.hasFal
53
- ? "openai->fal"
54
- : availability.hasOpenai
55
- ? "openai"
56
- : availability.hasFal
57
- ? "fal"
58
- : "unknown";
52
+ const providerHint = availability.onnxReady
53
+ ? "onnx"
54
+ : availability.hasLocalWhisper
55
+ ? "cpp"
56
+ : resolveCloudProviderHint(availability);
59
57
  const modelId = providerHint === "onnx"
60
58
  ? availability.preferredOnnxModel
61
59
  ? `onnx/${availability.preferredOnnxModel}`
62
60
  : "onnx"
63
61
  : providerHint === "cpp"
64
- ? ((await resolveWhisperCppModelNameForDisplay()) ?? "whisper.cpp")
62
+ ? ((await resolveWhisperCppModelNameForDisplay(availability.effectiveEnv)) ?? "whisper.cpp")
65
63
  : resolveCloudModelId(availability);
66
64
  return { availability, providerHint, modelId };
67
65
  }
68
66
  function resolveCloudModelId(availability) {
69
- const parts = [];
70
- if (availability.hasGroq)
71
- parts.push("groq/whisper-large-v3-turbo");
72
- if (availability.hasOpenai)
73
- parts.push("whisper-1");
74
- if (availability.hasFal)
75
- parts.push("fal-ai/wizper");
76
- return parts.length > 0 ? parts.join("->") : null;
67
+ const cloudModelId = buildCloudModelIdChain({
68
+ availability,
69
+ geminiModelId: availability.geminiModelId,
70
+ });
71
+ if (!availability.hasGroq)
72
+ return cloudModelId;
73
+ return cloudModelId
74
+ ? `groq/whisper-large-v3-turbo->${cloudModelId}`
75
+ : "groq/whisper-large-v3-turbo";
76
+ }
77
+ function resolveCloudProviderHint(availability) {
78
+ const cloudHint = buildCloudProviderHint({
79
+ hasAssemblyAi: availability.hasAssemblyAi,
80
+ hasGemini: availability.hasGemini,
81
+ hasOpenai: availability.hasOpenai,
82
+ hasFal: availability.hasFal,
83
+ });
84
+ const chain = availability.hasGroq
85
+ ? ["groq", cloudHint].filter(Boolean).join("->")
86
+ : (cloudHint ?? "");
87
+ return chain.length > 0 ? chain : "unknown";
77
88
  }
78
89
  //# sourceMappingURL=transcription-start.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transcription-start.js","sourceRoot":"","sources":["../../../../../src/content/transcript/providers/transcription-start.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transcription-start.js","sourceRoot":"","sources":["../../../../../src/content/transcript/providers/transcription-start.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AACpG,OAAO,EACL,iBAAiB,EACjB,oCAAoC,GACrC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,mDAAmD,CAAC;AAC3D,OAAO,EAAE,+BAA+B,EAAE,MAAM,kDAAkD,CAAC;AAEnG,OAAO,EAAE,0BAA0B,EAA4B,MAAM,4BAA4B,CAAC;AAkBlG,MAAM,CAAC,KAAK,UAAU,gCAAgC,CAAC,EACrD,GAAG,EACH,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,SAAS,GASV;IACC,MAAM,SAAS,GAAG,0BAA0B,CAAC;QAC3C,GAAG;QACH,aAAa;QACb,UAAU;QACV,gBAAgB;QAChB,YAAY;QACZ,YAAY;QACZ,SAAS;KACV,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IAClD,MAAM,kBAAkB,GAAG,yBAAyB,CAAC,YAAY,CAAC,CAAC;IACnE,MAAM,SAAS,GAAG,kBAAkB;QAClC,CAAC,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,YAAY,CAAC;QACvD,CAAC,CAAC,KAAK,CAAC;IAEV,MAAM,eAAe,GAAG,MAAM,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAC9D,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAC9C,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAC5C,MAAM,cAAc,GAClB,SAAS,IAAI,eAAe,IAAI,OAAO,IAAI,aAAa,IAAI,SAAS,IAAI,SAAS,IAAI,MAAM,CAAC;IAE/F,OAAO;QACL,kBAAkB;QAClB,SAAS;QACT,eAAe;QACf,OAAO;QACP,aAAa;QACb,SAAS;QACT,SAAS;QACT,MAAM;QACN,cAAc;QACd,aAAa,EAAE,SAAS,CAAC,WAAW,IAAI,+BAA+B,CAAC,YAAY,CAAC;QACrF,YAAY;KACb,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,6BAA6B,CAAC,EAClD,GAAG,EACH,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,SAAS,GASV;IAKC,MAAM,YAAY,GAAG,MAAM,gCAAgC,CAAC;QAC1D,GAAG;QACH,aAAa;QACb,UAAU;QACV,gBAAgB;QAChB,YAAY;QACZ,YAAY;QACZ,SAAS;KACV,CAAC,CAAC;IAEH,MAAM,YAAY,GAA8B,YAAY,CAAC,SAAS;QACpE,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,YAAY,CAAC,eAAe;YAC5B,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,wBAAwB,CAAC,YAAY,CAAC,CAAC;IAE7C,MAAM,OAAO,GACX,YAAY,KAAK,MAAM;QACrB,CAAC,CAAC,YAAY,CAAC,kBAAkB;YAC/B,CAAC,CAAC,QAAQ,YAAY,CAAC,kBAAkB,EAAE;YAC3C,CAAC,CAAC,MAAM;QACV,CAAC,CAAC,YAAY,KAAK,KAAK;YACtB,CAAC,CAAC,CAAC,CAAC,MAAM,oCAAoC,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,IAAI,aAAa,CAAC;YAC5F,CAAC,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;IAE1C,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC;AACjD,CAAC;AAED,SAAS,mBAAmB,CAAC,YAAuC;IAClE,MAAM,YAAY,GAAG,sBAAsB,CAAC;QAC1C,YAAY;QACZ,aAAa,EAAE,YAAY,CAAC,aAAa;KAC1C,CAAC,CAAC;IACH,IAAI,CAAC,YAAY,CAAC,OAAO;QAAE,OAAO,YAAY,CAAC;IAC/C,OAAO,YAAY;QACjB,CAAC,CAAC,gCAAgC,YAAY,EAAE;QAChD,CAAC,CAAC,6BAA6B,CAAC;AACpC,CAAC;AAED,SAAS,wBAAwB,CAC/B,YAAuC;IAEvC,MAAM,SAAS,GAAG,sBAAsB,CAAC;QACvC,aAAa,EAAE,YAAY,CAAC,aAAa;QACzC,SAAS,EAAE,YAAY,CAAC,SAAS;QACjC,SAAS,EAAE,YAAY,CAAC,SAAS;QACjC,MAAM,EAAE,YAAY,CAAC,MAAM;KAC5B,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO;QAChC,CAAC,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAChD,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IACtB,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAE,KAAmC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7E,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { withBunCompressionHeaders } from "../../../bun.js";
1
2
  import { fetchWithTimeout } from "../../../link-preview/fetch-with-timeout.js";
2
3
  import { parseTimestampToMs } from "../../timestamps.js";
3
4
  import { extractYoutubeBootstrapConfig, isRecord } from "../../utils.js";
@@ -82,7 +83,7 @@ export const fetchTranscriptFromTranscriptEndpoint = async (fetchImpl, { config,
82
83
  try {
83
84
  const userAgent = REQUEST_HEADERS["User-Agent"] ??
84
85
  "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36";
85
- const headers = {
86
+ const headers = withBunCompressionHeaders({
86
87
  "Content-Type": "application/json",
87
88
  "User-Agent": userAgent,
88
89
  Accept: "application/json",
@@ -90,7 +91,7 @@ export const fetchTranscriptFromTranscriptEndpoint = async (fetchImpl, { config,
90
91
  Referer: originalUrl,
91
92
  "X-Goog-AuthUser": "0",
92
93
  "X-Youtube-Bootstrap-Logged-In": "false",
93
- };
94
+ });
94
95
  if (config.clientName) {
95
96
  headers["X-Youtube-Client-Name"] = config.clientName;
96
97
  }
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../../../src/content/transcript/providers/youtube/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../../../src/content/transcript/providers/youtube/api.ts"],"names":[],"mappings":"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"}