@storyteller-platform/ghost-story 0.1.3 → 0.1.5

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 (45) hide show
  1. package/dist/{AudioFormat--LEggByS.d.ts → AudioFormat-BJuNZJlT.d.ts} +4 -0
  2. package/dist/{AudioFormat-Cq6sRKDj.d.cts → AudioFormat-CKxAQAj2.d.cts} +4 -0
  3. package/dist/api/APIOptions.d.cts +1 -1
  4. package/dist/api/APIOptions.d.ts +1 -1
  5. package/dist/api/Recognition.d.cts +1 -1
  6. package/dist/api/Recognition.d.ts +1 -1
  7. package/dist/audio/AudioConverter.d.cts +1 -1
  8. package/dist/audio/AudioConverter.d.ts +1 -1
  9. package/dist/audio/AudioFormat.d.cts +1 -1
  10. package/dist/audio/AudioFormat.d.ts +1 -1
  11. package/dist/audio/AudioSource.d.cts +1 -1
  12. package/dist/audio/AudioSource.d.ts +1 -1
  13. package/dist/audio/index.d.cts +1 -1
  14. package/dist/audio/index.d.ts +1 -1
  15. package/dist/cli/config.cjs +11 -4
  16. package/dist/cli/config.d.cts +4 -4
  17. package/dist/cli/config.d.ts +4 -4
  18. package/dist/cli/config.js +11 -4
  19. package/dist/convert.d.cts +1 -1
  20. package/dist/convert.d.ts +1 -1
  21. package/dist/fetch.cjs +35 -0
  22. package/dist/fetch.d.cts +9 -0
  23. package/dist/fetch.d.ts +9 -0
  24. package/dist/fetch.js +11 -0
  25. package/dist/index.d.cts +1 -1
  26. package/dist/index.d.ts +1 -1
  27. package/dist/recognition/AmazonTranscribeSTT.d.cts +1 -1
  28. package/dist/recognition/AmazonTranscribeSTT.d.ts +1 -1
  29. package/dist/recognition/AzureCognitiveServicesSTT.d.cts +1 -1
  30. package/dist/recognition/AzureCognitiveServicesSTT.d.ts +1 -1
  31. package/dist/recognition/DeepgramSTT.cjs +8 -2
  32. package/dist/recognition/DeepgramSTT.d.cts +10 -2
  33. package/dist/recognition/DeepgramSTT.d.ts +10 -2
  34. package/dist/recognition/DeepgramSTT.js +8 -2
  35. package/dist/recognition/GoogleCloudSTT.d.cts +1 -1
  36. package/dist/recognition/GoogleCloudSTT.d.ts +1 -1
  37. package/dist/recognition/OpenAICloudSTT.d.cts +1 -1
  38. package/dist/recognition/OpenAICloudSTT.d.ts +1 -1
  39. package/dist/recognition/WhisperCppSTT.d.cts +1 -1
  40. package/dist/recognition/WhisperCppSTT.d.ts +1 -1
  41. package/dist/recognition/WhisperServerSTT.cjs +14 -3
  42. package/dist/recognition/WhisperServerSTT.d.cts +1 -1
  43. package/dist/recognition/WhisperServerSTT.d.ts +1 -1
  44. package/dist/recognition/WhisperServerSTT.js +14 -3
  45. package/package.json +2 -1
@@ -93,6 +93,10 @@ interface WhisperServerOptions {
93
93
  temperature?: number;
94
94
  apiKey?: string;
95
95
  inputFormat?: AudioFormat;
96
+ /**
97
+ * timeout in milliseconds waiting for a response from the whisper server
98
+ */
99
+ timeout?: number;
96
100
  }
97
101
  interface RecognitionResult$1 {
98
102
  transcript: string;
@@ -93,6 +93,10 @@ interface WhisperServerOptions {
93
93
  temperature?: number;
94
94
  apiKey?: string;
95
95
  inputFormat?: AudioFormat;
96
+ /**
97
+ * timeout in milliseconds waiting for a response from the whisper server
98
+ */
99
+ timeout?: number;
96
100
  }
97
101
  interface RecognitionResult$1 {
98
102
  transcript: string;
@@ -1,4 +1,4 @@
1
- import { a as RecognitionOptions } from '../AudioFormat-Cq6sRKDj.cjs';
1
+ import { a as RecognitionOptions } from '../AudioFormat-CKxAQAj2.cjs';
2
2
  import 'node:fs';
3
3
  import 'node:stream';
4
4
  import '../config.cjs';
@@ -1,4 +1,4 @@
1
- import { a as RecognitionOptions } from '../AudioFormat--LEggByS.js';
1
+ import { a as RecognitionOptions } from '../AudioFormat-BJuNZJlT.js';
2
2
  import 'node:fs';
3
3
  import 'node:stream';
4
4
  import '../config.js';
@@ -1,6 +1,6 @@
1
1
  import 'node:fs';
2
2
  import 'node:stream';
3
- export { Y as Audio, A as AudioInput, R as RecognitionEngine, a as RecognitionOptions, b as RecognitionResult, r as recognitionEngines, c as recognize } from '../AudioFormat-Cq6sRKDj.cjs';
3
+ export { Y as Audio, A as AudioInput, R as RecognitionEngine, a as RecognitionOptions, b as RecognitionResult, r as recognitionEngines, c as recognize } from '../AudioFormat-CKxAQAj2.cjs';
4
4
  import '../config.cjs';
5
5
  import '../utilities/Timeline.cjs';
6
6
  import '../utilities/Timing.cjs';
@@ -1,6 +1,6 @@
1
1
  import 'node:fs';
2
2
  import 'node:stream';
3
- export { Y as Audio, A as AudioInput, R as RecognitionEngine, a as RecognitionOptions, b as RecognitionResult, r as recognitionEngines, c as recognize } from '../AudioFormat--LEggByS.js';
3
+ export { Y as Audio, A as AudioInput, R as RecognitionEngine, a as RecognitionOptions, b as RecognitionResult, r as recognitionEngines, c as recognize } from '../AudioFormat-BJuNZJlT.js';
4
4
  import '../config.js';
5
5
  import '../utilities/Timeline.js';
6
6
  import '../utilities/Timing.js';
@@ -1,4 +1,4 @@
1
- import { d as AudioFormat, f as AudioSource, R as RecognitionEngine } from '../AudioFormat-Cq6sRKDj.cjs';
1
+ import { d as AudioFormat, f as AudioSource, R as RecognitionEngine } from '../AudioFormat-CKxAQAj2.cjs';
2
2
  import { Readable } from 'node:stream';
3
3
  import { ConversionMode } from '../config.cjs';
4
4
  import 'node:fs';
@@ -1,4 +1,4 @@
1
- import { d as AudioFormat, f as AudioSource, R as RecognitionEngine } from '../AudioFormat--LEggByS.js';
1
+ import { d as AudioFormat, f as AudioSource, R as RecognitionEngine } from '../AudioFormat-BJuNZJlT.js';
2
2
  import { Readable } from 'node:stream';
3
3
  import { ConversionMode } from '../config.js';
4
4
  import 'node:fs';
@@ -1,4 +1,4 @@
1
- export { P as AudioEncoding, d as AudioFormat, e as AudioFormatInfo, S as ServiceCapabilities, n as formatFromExtension, o as formatToExtension, s as getTargetFormat, u as needsConversion, w as serviceCapabilities } from '../AudioFormat-Cq6sRKDj.cjs';
1
+ export { P as AudioEncoding, d as AudioFormat, e as AudioFormatInfo, S as ServiceCapabilities, n as formatFromExtension, o as formatToExtension, s as getTargetFormat, u as needsConversion, w as serviceCapabilities } from '../AudioFormat-CKxAQAj2.cjs';
2
2
  import 'node:fs';
3
3
  import 'node:stream';
4
4
  import '../config.cjs';
@@ -1,4 +1,4 @@
1
- export { P as AudioEncoding, d as AudioFormat, e as AudioFormatInfo, S as ServiceCapabilities, n as formatFromExtension, o as formatToExtension, s as getTargetFormat, u as needsConversion, w as serviceCapabilities } from '../AudioFormat--LEggByS.js';
1
+ export { P as AudioEncoding, d as AudioFormat, e as AudioFormatInfo, S as ServiceCapabilities, n as formatFromExtension, o as formatToExtension, s as getTargetFormat, u as needsConversion, w as serviceCapabilities } from '../AudioFormat-BJuNZJlT.js';
2
2
  import 'node:fs';
3
3
  import 'node:stream';
4
4
  import '../config.js';
@@ -1,6 +1,6 @@
1
1
  import 'node:fs';
2
2
  import 'node:stream';
3
- export { f as AudioSource, g as AudioSourceFromBuffer, h as AudioSourceFromFile, i as AudioSourceFromStream, j as RawAudioInput, k as audioSourceFromBuffer, l as audioSourceFromFile, m as audioSourceFromStream, p as getFormat, q as getFormatInfo, t as isAudioSource, v as normalizeToAudioSource, x as toBuffer, y as toFilePath, z as toReadStream } from '../AudioFormat-Cq6sRKDj.cjs';
3
+ export { f as AudioSource, g as AudioSourceFromBuffer, h as AudioSourceFromFile, i as AudioSourceFromStream, j as RawAudioInput, k as audioSourceFromBuffer, l as audioSourceFromFile, m as audioSourceFromStream, p as getFormat, q as getFormatInfo, t as isAudioSource, v as normalizeToAudioSource, x as toBuffer, y as toFilePath, z as toReadStream } from '../AudioFormat-CKxAQAj2.cjs';
4
4
  import '../config.cjs';
5
5
  import '../utilities/Timeline.cjs';
6
6
  import '../utilities/Timing.cjs';
@@ -1,6 +1,6 @@
1
1
  import 'node:fs';
2
2
  import 'node:stream';
3
- export { f as AudioSource, g as AudioSourceFromBuffer, h as AudioSourceFromFile, i as AudioSourceFromStream, j as RawAudioInput, k as audioSourceFromBuffer, l as audioSourceFromFile, m as audioSourceFromStream, p as getFormat, q as getFormatInfo, t as isAudioSource, v as normalizeToAudioSource, x as toBuffer, y as toFilePath, z as toReadStream } from '../AudioFormat--LEggByS.js';
3
+ export { f as AudioSource, g as AudioSourceFromBuffer, h as AudioSourceFromFile, i as AudioSourceFromStream, j as RawAudioInput, k as audioSourceFromBuffer, l as audioSourceFromFile, m as audioSourceFromStream, p as getFormat, q as getFormatInfo, t as isAudioSource, v as normalizeToAudioSource, x as toBuffer, y as toFilePath, z as toReadStream } from '../AudioFormat-BJuNZJlT.js';
4
4
  import '../config.js';
5
5
  import '../utilities/Timeline.js';
6
6
  import '../utilities/Timing.js';
@@ -1,4 +1,4 @@
1
- export { P as AudioEncoding, d as AudioFormat, e as AudioFormatInfo, f as AudioSource, g as AudioSourceFromBuffer, h as AudioSourceFromFile, i as AudioSourceFromStream, j as RawAudioInput, S as ServiceCapabilities, k as audioSourceFromBuffer, l as audioSourceFromFile, m as audioSourceFromStream, n as formatFromExtension, o as formatToExtension, p as getFormat, q as getFormatInfo, s as getTargetFormat, t as isAudioSource, u as needsConversion, v as normalizeToAudioSource, w as serviceCapabilities, x as toBuffer, y as toFilePath, z as toReadStream } from '../AudioFormat-Cq6sRKDj.cjs';
1
+ export { P as AudioEncoding, d as AudioFormat, e as AudioFormatInfo, f as AudioSource, g as AudioSourceFromBuffer, h as AudioSourceFromFile, i as AudioSourceFromStream, j as RawAudioInput, S as ServiceCapabilities, k as audioSourceFromBuffer, l as audioSourceFromFile, m as audioSourceFromStream, n as formatFromExtension, o as formatToExtension, p as getFormat, q as getFormatInfo, s as getTargetFormat, t as isAudioSource, u as needsConversion, v as normalizeToAudioSource, w as serviceCapabilities, x as toBuffer, y as toFilePath, z as toReadStream } from '../AudioFormat-CKxAQAj2.cjs';
2
2
  export { ConversionOptions, PrepareForServiceOptions, PreparedAudio, StreamForUploadOptions, StreamForUploadResult, convertToBuffer, convertToFile, convertToStream, createStreamForUpload, createStreamingConversion, getAudioDuration, prepareForService, prepareWavForService } from './AudioConverter.cjs';
3
3
  import 'node:fs';
4
4
  import 'node:stream';
@@ -1,4 +1,4 @@
1
- export { P as AudioEncoding, d as AudioFormat, e as AudioFormatInfo, f as AudioSource, g as AudioSourceFromBuffer, h as AudioSourceFromFile, i as AudioSourceFromStream, j as RawAudioInput, S as ServiceCapabilities, k as audioSourceFromBuffer, l as audioSourceFromFile, m as audioSourceFromStream, n as formatFromExtension, o as formatToExtension, p as getFormat, q as getFormatInfo, s as getTargetFormat, t as isAudioSource, u as needsConversion, v as normalizeToAudioSource, w as serviceCapabilities, x as toBuffer, y as toFilePath, z as toReadStream } from '../AudioFormat--LEggByS.js';
1
+ export { P as AudioEncoding, d as AudioFormat, e as AudioFormatInfo, f as AudioSource, g as AudioSourceFromBuffer, h as AudioSourceFromFile, i as AudioSourceFromStream, j as RawAudioInput, S as ServiceCapabilities, k as audioSourceFromBuffer, l as audioSourceFromFile, m as audioSourceFromStream, n as formatFromExtension, o as formatToExtension, p as getFormat, q as getFormatInfo, s as getTargetFormat, t as isAudioSource, u as needsConversion, v as normalizeToAudioSource, w as serviceCapabilities, x as toBuffer, y as toFilePath, z as toReadStream } from '../AudioFormat-BJuNZJlT.js';
2
2
  export { ConversionOptions, PrepareForServiceOptions, PreparedAudio, StreamForUploadOptions, StreamForUploadResult, convertToBuffer, convertToFile, convertToStream, createStreamForUpload, createStreamingConversion, getAudioDuration, prepareForService, prepareWavForService } from './AudioConverter.js';
3
3
  import 'node:fs';
4
4
  import 'node:stream';
@@ -82,14 +82,21 @@ const BUILD_VARIANTS = [
82
82
  "darwin-arm64-coreml",
83
83
  "darwin-arm64-cpu",
84
84
  "darwin-x64-cpu",
85
+ "linux-x64-blas",
86
+ "linux-x64-cpu",
85
87
  "linux-x64-cuda-13.1.0",
86
88
  "linux-x64-cuda-12.9.0",
87
89
  "linux-x64-cuda-11.8.0",
88
90
  "linux-x64-sycl",
89
91
  "linux-x64-vulkan",
90
92
  "linux-x64-rocm",
91
- "linux-x64-blas",
92
- "linux-x64-cpu",
93
+ "linux-x64-cuda-13.1.0-legacy",
94
+ "linux-x64-cuda-12.9.0-legacy",
95
+ "linux-x64-cuda-11.8.0-legacy",
96
+ "linux-x64-sycl-legacy",
97
+ "linux-x64-vulkan-legacy",
98
+ "linux-x64-rocm-legacy",
99
+ "linux-x64-blas-legacy",
93
100
  "linux-x64-cpu-legacy",
94
101
  "linux-arm64-cpu",
95
102
  "windows-x64-cpu",
@@ -337,13 +344,13 @@ function getLinuxCpuCapabilities() {
337
344
  }
338
345
  function applyLegacyCpuFallback(variant) {
339
346
  if (process.platform !== "linux") return variant;
340
- if (variant !== "linux-x64-cpu") return variant;
347
+ if (process.arch !== "x64") return variant;
341
348
  const caps = getLinuxCpuCapabilities();
342
349
  if (caps.avx2 && caps.fma) return variant;
343
350
  console.warn(
344
351
  `CPU lacks ${[!caps.avx2 && "AVX2", !caps.fma && "FMA"].filter(Boolean).join(" and ")} support. Falling back to linux-x64-cpu-legacy variant.`
345
352
  );
346
- return "linux-x64-cpu-legacy";
353
+ return `${variant}-legacy`;
347
354
  }
348
355
  function getConfiguredVariant() {
349
356
  const envVariant = process.env["STORYTELLER_WHISPER_VARIANT"];
@@ -6,7 +6,7 @@ declare const SILERO_VAD_VERSION = "6.2.0";
6
6
  declare const GITLAB_PROJECT_PATH = "storyteller-platform/storyteller";
7
7
  declare const GITLAB_PROJECT_ID = "67994333";
8
8
  declare const GITLAB_WHIPSER_ML_ID = "2007349";
9
- declare const BUILD_VARIANTS: readonly ["darwin-arm64-coreml", "darwin-arm64-cpu", "darwin-x64-cpu", "linux-x64-cuda-13.1.0", "linux-x64-cuda-12.9.0", "linux-x64-cuda-11.8.0", "linux-x64-sycl", "linux-x64-vulkan", "linux-x64-rocm", "linux-x64-blas", "linux-x64-cpu", "linux-x64-cpu-legacy", "linux-arm64-cpu", "windows-x64-cpu", "windows-x64-cuda-13.1.0", "windows-x64-cuda-12.9.0", "windows-x64-cuda-11.8.0", "windows-x64-vulkan"];
9
+ declare const BUILD_VARIANTS: readonly ["darwin-arm64-coreml", "darwin-arm64-cpu", "darwin-x64-cpu", "linux-x64-blas", "linux-x64-cpu", "linux-x64-cuda-13.1.0", "linux-x64-cuda-12.9.0", "linux-x64-cuda-11.8.0", "linux-x64-sycl", "linux-x64-vulkan", "linux-x64-rocm", "linux-x64-cuda-13.1.0-legacy", "linux-x64-cuda-12.9.0-legacy", "linux-x64-cuda-11.8.0-legacy", "linux-x64-sycl-legacy", "linux-x64-vulkan-legacy", "linux-x64-rocm-legacy", "linux-x64-blas-legacy", "linux-x64-cpu-legacy", "linux-arm64-cpu", "windows-x64-cpu", "windows-x64-cuda-13.1.0", "windows-x64-cuda-12.9.0", "windows-x64-cuda-11.8.0", "windows-x64-vulkan"];
10
10
  type BuildVariant = (typeof BUILD_VARIANTS)[number];
11
11
  declare function isVariantCompatibleWithCurrentPlatform(variant: BuildVariant): boolean;
12
12
  declare function getCompatibleVariants(): BuildVariant[];
@@ -57,13 +57,13 @@ declare function isValidModel(model: string): model is WhisperModel;
57
57
  declare function isValidVariant(variant: string): variant is BuildVariant;
58
58
  declare const cliConfigSchema: z.ZodObject<{
59
59
  lastUsedModel: z.ZodNullable<z.ZodEnum<["tiny", "tiny.en", "tiny-q5_1", "tiny.en-q5_1", "tiny-q8_0", "base", "base.en", "base-q5_1", "base.en-q5_1", "base-q8_0", "small", "small.en", "small-q5_1", "small.en-q5_1", "small-q8_0", "medium", "medium.en", "medium-q5_0", "medium.en-q5_0", "medium-q8_0", "large-v1", "large-v2", "large-v2-q5_0", "large-v2-q8_0", "large-v3", "large-v3-q5_0", "large-v3-turbo", "large-v3-turbo-q5_0", "large-v3-turbo-q8_0"]>>;
60
- installedVariant: z.ZodNullable<z.ZodEnum<["darwin-arm64-coreml", "darwin-arm64-cpu", "darwin-x64-cpu", "linux-x64-cuda-13.1.0", "linux-x64-cuda-12.9.0", "linux-x64-cuda-11.8.0", "linux-x64-sycl", "linux-x64-vulkan", "linux-x64-rocm", "linux-x64-blas", "linux-x64-cpu", "linux-x64-cpu-legacy", "linux-arm64-cpu", "windows-x64-cpu", "windows-x64-cuda-13.1.0", "windows-x64-cuda-12.9.0", "windows-x64-cuda-11.8.0", "windows-x64-vulkan"]>>;
60
+ installedVariant: z.ZodNullable<z.ZodEnum<["darwin-arm64-coreml", "darwin-arm64-cpu", "darwin-x64-cpu", "linux-x64-blas", "linux-x64-cpu", "linux-x64-cuda-13.1.0", "linux-x64-cuda-12.9.0", "linux-x64-cuda-11.8.0", "linux-x64-sycl", "linux-x64-vulkan", "linux-x64-rocm", "linux-x64-cuda-13.1.0-legacy", "linux-x64-cuda-12.9.0-legacy", "linux-x64-cuda-11.8.0-legacy", "linux-x64-sycl-legacy", "linux-x64-vulkan-legacy", "linux-x64-rocm-legacy", "linux-x64-blas-legacy", "linux-x64-cpu-legacy", "linux-arm64-cpu", "windows-x64-cpu", "windows-x64-cuda-13.1.0", "windows-x64-cuda-12.9.0", "windows-x64-cuda-11.8.0", "windows-x64-vulkan"]>>;
61
61
  }, "strip", z.ZodTypeAny, {
62
62
  lastUsedModel: "tiny" | "tiny.en" | "tiny-q5_1" | "tiny.en-q5_1" | "tiny-q8_0" | "base" | "base.en" | "base-q5_1" | "base.en-q5_1" | "base-q8_0" | "small" | "small.en" | "small-q5_1" | "small.en-q5_1" | "small-q8_0" | "medium" | "medium.en" | "medium-q5_0" | "medium.en-q5_0" | "medium-q8_0" | "large-v1" | "large-v2" | "large-v2-q5_0" | "large-v2-q8_0" | "large-v3" | "large-v3-q5_0" | "large-v3-turbo" | "large-v3-turbo-q5_0" | "large-v3-turbo-q8_0" | null;
63
- installedVariant: "darwin-arm64-coreml" | "darwin-arm64-cpu" | "darwin-x64-cpu" | "linux-x64-cuda-13.1.0" | "linux-x64-cuda-12.9.0" | "linux-x64-cuda-11.8.0" | "linux-x64-sycl" | "linux-x64-vulkan" | "linux-x64-rocm" | "linux-x64-blas" | "linux-x64-cpu" | "linux-x64-cpu-legacy" | "linux-arm64-cpu" | "windows-x64-cpu" | "windows-x64-cuda-13.1.0" | "windows-x64-cuda-12.9.0" | "windows-x64-cuda-11.8.0" | "windows-x64-vulkan" | null;
63
+ installedVariant: "darwin-arm64-coreml" | "darwin-arm64-cpu" | "darwin-x64-cpu" | "linux-x64-blas" | "linux-x64-cpu" | "linux-x64-cuda-13.1.0" | "linux-x64-cuda-12.9.0" | "linux-x64-cuda-11.8.0" | "linux-x64-sycl" | "linux-x64-vulkan" | "linux-x64-rocm" | "linux-x64-cuda-13.1.0-legacy" | "linux-x64-cuda-12.9.0-legacy" | "linux-x64-cuda-11.8.0-legacy" | "linux-x64-sycl-legacy" | "linux-x64-vulkan-legacy" | "linux-x64-rocm-legacy" | "linux-x64-blas-legacy" | "linux-x64-cpu-legacy" | "linux-arm64-cpu" | "windows-x64-cpu" | "windows-x64-cuda-13.1.0" | "windows-x64-cuda-12.9.0" | "windows-x64-cuda-11.8.0" | "windows-x64-vulkan" | null;
64
64
  }, {
65
65
  lastUsedModel: "tiny" | "tiny.en" | "tiny-q5_1" | "tiny.en-q5_1" | "tiny-q8_0" | "base" | "base.en" | "base-q5_1" | "base.en-q5_1" | "base-q8_0" | "small" | "small.en" | "small-q5_1" | "small.en-q5_1" | "small-q8_0" | "medium" | "medium.en" | "medium-q5_0" | "medium.en-q5_0" | "medium-q8_0" | "large-v1" | "large-v2" | "large-v2-q5_0" | "large-v2-q8_0" | "large-v3" | "large-v3-q5_0" | "large-v3-turbo" | "large-v3-turbo-q5_0" | "large-v3-turbo-q8_0" | null;
66
- installedVariant: "darwin-arm64-coreml" | "darwin-arm64-cpu" | "darwin-x64-cpu" | "linux-x64-cuda-13.1.0" | "linux-x64-cuda-12.9.0" | "linux-x64-cuda-11.8.0" | "linux-x64-sycl" | "linux-x64-vulkan" | "linux-x64-rocm" | "linux-x64-blas" | "linux-x64-cpu" | "linux-x64-cpu-legacy" | "linux-arm64-cpu" | "windows-x64-cpu" | "windows-x64-cuda-13.1.0" | "windows-x64-cuda-12.9.0" | "windows-x64-cuda-11.8.0" | "windows-x64-vulkan" | null;
66
+ installedVariant: "darwin-arm64-coreml" | "darwin-arm64-cpu" | "darwin-x64-cpu" | "linux-x64-blas" | "linux-x64-cpu" | "linux-x64-cuda-13.1.0" | "linux-x64-cuda-12.9.0" | "linux-x64-cuda-11.8.0" | "linux-x64-sycl" | "linux-x64-vulkan" | "linux-x64-rocm" | "linux-x64-cuda-13.1.0-legacy" | "linux-x64-cuda-12.9.0-legacy" | "linux-x64-cuda-11.8.0-legacy" | "linux-x64-sycl-legacy" | "linux-x64-vulkan-legacy" | "linux-x64-rocm-legacy" | "linux-x64-blas-legacy" | "linux-x64-cpu-legacy" | "linux-arm64-cpu" | "windows-x64-cpu" | "windows-x64-cuda-13.1.0" | "windows-x64-cuda-12.9.0" | "windows-x64-cuda-11.8.0" | "windows-x64-vulkan" | null;
67
67
  }>;
68
68
  /**
69
69
  * Only to be used by the CLI, not the API/programmatic use.
@@ -6,7 +6,7 @@ declare const SILERO_VAD_VERSION = "6.2.0";
6
6
  declare const GITLAB_PROJECT_PATH = "storyteller-platform/storyteller";
7
7
  declare const GITLAB_PROJECT_ID = "67994333";
8
8
  declare const GITLAB_WHIPSER_ML_ID = "2007349";
9
- declare const BUILD_VARIANTS: readonly ["darwin-arm64-coreml", "darwin-arm64-cpu", "darwin-x64-cpu", "linux-x64-cuda-13.1.0", "linux-x64-cuda-12.9.0", "linux-x64-cuda-11.8.0", "linux-x64-sycl", "linux-x64-vulkan", "linux-x64-rocm", "linux-x64-blas", "linux-x64-cpu", "linux-x64-cpu-legacy", "linux-arm64-cpu", "windows-x64-cpu", "windows-x64-cuda-13.1.0", "windows-x64-cuda-12.9.0", "windows-x64-cuda-11.8.0", "windows-x64-vulkan"];
9
+ declare const BUILD_VARIANTS: readonly ["darwin-arm64-coreml", "darwin-arm64-cpu", "darwin-x64-cpu", "linux-x64-blas", "linux-x64-cpu", "linux-x64-cuda-13.1.0", "linux-x64-cuda-12.9.0", "linux-x64-cuda-11.8.0", "linux-x64-sycl", "linux-x64-vulkan", "linux-x64-rocm", "linux-x64-cuda-13.1.0-legacy", "linux-x64-cuda-12.9.0-legacy", "linux-x64-cuda-11.8.0-legacy", "linux-x64-sycl-legacy", "linux-x64-vulkan-legacy", "linux-x64-rocm-legacy", "linux-x64-blas-legacy", "linux-x64-cpu-legacy", "linux-arm64-cpu", "windows-x64-cpu", "windows-x64-cuda-13.1.0", "windows-x64-cuda-12.9.0", "windows-x64-cuda-11.8.0", "windows-x64-vulkan"];
10
10
  type BuildVariant = (typeof BUILD_VARIANTS)[number];
11
11
  declare function isVariantCompatibleWithCurrentPlatform(variant: BuildVariant): boolean;
12
12
  declare function getCompatibleVariants(): BuildVariant[];
@@ -57,13 +57,13 @@ declare function isValidModel(model: string): model is WhisperModel;
57
57
  declare function isValidVariant(variant: string): variant is BuildVariant;
58
58
  declare const cliConfigSchema: z.ZodObject<{
59
59
  lastUsedModel: z.ZodNullable<z.ZodEnum<["tiny", "tiny.en", "tiny-q5_1", "tiny.en-q5_1", "tiny-q8_0", "base", "base.en", "base-q5_1", "base.en-q5_1", "base-q8_0", "small", "small.en", "small-q5_1", "small.en-q5_1", "small-q8_0", "medium", "medium.en", "medium-q5_0", "medium.en-q5_0", "medium-q8_0", "large-v1", "large-v2", "large-v2-q5_0", "large-v2-q8_0", "large-v3", "large-v3-q5_0", "large-v3-turbo", "large-v3-turbo-q5_0", "large-v3-turbo-q8_0"]>>;
60
- installedVariant: z.ZodNullable<z.ZodEnum<["darwin-arm64-coreml", "darwin-arm64-cpu", "darwin-x64-cpu", "linux-x64-cuda-13.1.0", "linux-x64-cuda-12.9.0", "linux-x64-cuda-11.8.0", "linux-x64-sycl", "linux-x64-vulkan", "linux-x64-rocm", "linux-x64-blas", "linux-x64-cpu", "linux-x64-cpu-legacy", "linux-arm64-cpu", "windows-x64-cpu", "windows-x64-cuda-13.1.0", "windows-x64-cuda-12.9.0", "windows-x64-cuda-11.8.0", "windows-x64-vulkan"]>>;
60
+ installedVariant: z.ZodNullable<z.ZodEnum<["darwin-arm64-coreml", "darwin-arm64-cpu", "darwin-x64-cpu", "linux-x64-blas", "linux-x64-cpu", "linux-x64-cuda-13.1.0", "linux-x64-cuda-12.9.0", "linux-x64-cuda-11.8.0", "linux-x64-sycl", "linux-x64-vulkan", "linux-x64-rocm", "linux-x64-cuda-13.1.0-legacy", "linux-x64-cuda-12.9.0-legacy", "linux-x64-cuda-11.8.0-legacy", "linux-x64-sycl-legacy", "linux-x64-vulkan-legacy", "linux-x64-rocm-legacy", "linux-x64-blas-legacy", "linux-x64-cpu-legacy", "linux-arm64-cpu", "windows-x64-cpu", "windows-x64-cuda-13.1.0", "windows-x64-cuda-12.9.0", "windows-x64-cuda-11.8.0", "windows-x64-vulkan"]>>;
61
61
  }, "strip", z.ZodTypeAny, {
62
62
  lastUsedModel: "tiny" | "tiny.en" | "tiny-q5_1" | "tiny.en-q5_1" | "tiny-q8_0" | "base" | "base.en" | "base-q5_1" | "base.en-q5_1" | "base-q8_0" | "small" | "small.en" | "small-q5_1" | "small.en-q5_1" | "small-q8_0" | "medium" | "medium.en" | "medium-q5_0" | "medium.en-q5_0" | "medium-q8_0" | "large-v1" | "large-v2" | "large-v2-q5_0" | "large-v2-q8_0" | "large-v3" | "large-v3-q5_0" | "large-v3-turbo" | "large-v3-turbo-q5_0" | "large-v3-turbo-q8_0" | null;
63
- installedVariant: "darwin-arm64-coreml" | "darwin-arm64-cpu" | "darwin-x64-cpu" | "linux-x64-cuda-13.1.0" | "linux-x64-cuda-12.9.0" | "linux-x64-cuda-11.8.0" | "linux-x64-sycl" | "linux-x64-vulkan" | "linux-x64-rocm" | "linux-x64-blas" | "linux-x64-cpu" | "linux-x64-cpu-legacy" | "linux-arm64-cpu" | "windows-x64-cpu" | "windows-x64-cuda-13.1.0" | "windows-x64-cuda-12.9.0" | "windows-x64-cuda-11.8.0" | "windows-x64-vulkan" | null;
63
+ installedVariant: "darwin-arm64-coreml" | "darwin-arm64-cpu" | "darwin-x64-cpu" | "linux-x64-blas" | "linux-x64-cpu" | "linux-x64-cuda-13.1.0" | "linux-x64-cuda-12.9.0" | "linux-x64-cuda-11.8.0" | "linux-x64-sycl" | "linux-x64-vulkan" | "linux-x64-rocm" | "linux-x64-cuda-13.1.0-legacy" | "linux-x64-cuda-12.9.0-legacy" | "linux-x64-cuda-11.8.0-legacy" | "linux-x64-sycl-legacy" | "linux-x64-vulkan-legacy" | "linux-x64-rocm-legacy" | "linux-x64-blas-legacy" | "linux-x64-cpu-legacy" | "linux-arm64-cpu" | "windows-x64-cpu" | "windows-x64-cuda-13.1.0" | "windows-x64-cuda-12.9.0" | "windows-x64-cuda-11.8.0" | "windows-x64-vulkan" | null;
64
64
  }, {
65
65
  lastUsedModel: "tiny" | "tiny.en" | "tiny-q5_1" | "tiny.en-q5_1" | "tiny-q8_0" | "base" | "base.en" | "base-q5_1" | "base.en-q5_1" | "base-q8_0" | "small" | "small.en" | "small-q5_1" | "small.en-q5_1" | "small-q8_0" | "medium" | "medium.en" | "medium-q5_0" | "medium.en-q5_0" | "medium-q8_0" | "large-v1" | "large-v2" | "large-v2-q5_0" | "large-v2-q8_0" | "large-v3" | "large-v3-q5_0" | "large-v3-turbo" | "large-v3-turbo-q5_0" | "large-v3-turbo-q8_0" | null;
66
- installedVariant: "darwin-arm64-coreml" | "darwin-arm64-cpu" | "darwin-x64-cpu" | "linux-x64-cuda-13.1.0" | "linux-x64-cuda-12.9.0" | "linux-x64-cuda-11.8.0" | "linux-x64-sycl" | "linux-x64-vulkan" | "linux-x64-rocm" | "linux-x64-blas" | "linux-x64-cpu" | "linux-x64-cpu-legacy" | "linux-arm64-cpu" | "windows-x64-cpu" | "windows-x64-cuda-13.1.0" | "windows-x64-cuda-12.9.0" | "windows-x64-cuda-11.8.0" | "windows-x64-vulkan" | null;
66
+ installedVariant: "darwin-arm64-coreml" | "darwin-arm64-cpu" | "darwin-x64-cpu" | "linux-x64-blas" | "linux-x64-cpu" | "linux-x64-cuda-13.1.0" | "linux-x64-cuda-12.9.0" | "linux-x64-cuda-11.8.0" | "linux-x64-sycl" | "linux-x64-vulkan" | "linux-x64-rocm" | "linux-x64-cuda-13.1.0-legacy" | "linux-x64-cuda-12.9.0-legacy" | "linux-x64-cuda-11.8.0-legacy" | "linux-x64-sycl-legacy" | "linux-x64-vulkan-legacy" | "linux-x64-rocm-legacy" | "linux-x64-blas-legacy" | "linux-x64-cpu-legacy" | "linux-arm64-cpu" | "windows-x64-cpu" | "windows-x64-cuda-13.1.0" | "windows-x64-cuda-12.9.0" | "windows-x64-cuda-11.8.0" | "windows-x64-vulkan" | null;
67
67
  }>;
68
68
  /**
69
69
  * Only to be used by the CLI, not the API/programmatic use.
@@ -14,14 +14,21 @@ const BUILD_VARIANTS = [
14
14
  "darwin-arm64-coreml",
15
15
  "darwin-arm64-cpu",
16
16
  "darwin-x64-cpu",
17
+ "linux-x64-blas",
18
+ "linux-x64-cpu",
17
19
  "linux-x64-cuda-13.1.0",
18
20
  "linux-x64-cuda-12.9.0",
19
21
  "linux-x64-cuda-11.8.0",
20
22
  "linux-x64-sycl",
21
23
  "linux-x64-vulkan",
22
24
  "linux-x64-rocm",
23
- "linux-x64-blas",
24
- "linux-x64-cpu",
25
+ "linux-x64-cuda-13.1.0-legacy",
26
+ "linux-x64-cuda-12.9.0-legacy",
27
+ "linux-x64-cuda-11.8.0-legacy",
28
+ "linux-x64-sycl-legacy",
29
+ "linux-x64-vulkan-legacy",
30
+ "linux-x64-rocm-legacy",
31
+ "linux-x64-blas-legacy",
25
32
  "linux-x64-cpu-legacy",
26
33
  "linux-arm64-cpu",
27
34
  "windows-x64-cpu",
@@ -269,13 +276,13 @@ function getLinuxCpuCapabilities() {
269
276
  }
270
277
  function applyLegacyCpuFallback(variant) {
271
278
  if (process.platform !== "linux") return variant;
272
- if (variant !== "linux-x64-cpu") return variant;
279
+ if (process.arch !== "x64") return variant;
273
280
  const caps = getLinuxCpuCapabilities();
274
281
  if (caps.avx2 && caps.fma) return variant;
275
282
  console.warn(
276
283
  `CPU lacks ${[!caps.avx2 && "AVX2", !caps.fma && "FMA"].filter(Boolean).join(" and ")} support. Falling back to linux-x64-cpu-legacy variant.`
277
284
  );
278
- return "linux-x64-cpu-legacy";
285
+ return `${variant}-legacy`;
279
286
  }
280
287
  function getConfiguredVariant() {
281
288
  const envVariant = process.env["STORYTELLER_WHISPER_VARIANT"];
@@ -1,4 +1,4 @@
1
- import { d as AudioFormat } from './AudioFormat-Cq6sRKDj.cjs';
1
+ import { d as AudioFormat } from './AudioFormat-CKxAQAj2.cjs';
2
2
  import 'node:fs';
3
3
  import 'node:stream';
4
4
  import './config.cjs';
package/dist/convert.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { d as AudioFormat } from './AudioFormat--LEggByS.js';
1
+ import { d as AudioFormat } from './AudioFormat-BJuNZJlT.js';
2
2
  import 'node:fs';
3
3
  import 'node:stream';
4
4
  import './config.js';
package/dist/fetch.cjs ADDED
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var fetch_exports = {};
20
+ __export(fetch_exports, {
21
+ createTimeoutAgent: () => createTimeoutAgent
22
+ });
23
+ module.exports = __toCommonJS(fetch_exports);
24
+ var import_undici = require("undici");
25
+ const createTimeoutAgent = (timeout) => new import_undici.Agent({
26
+ // 1 hour timeout lmao
27
+ headersTimeout: timeout,
28
+ bodyTimeout: timeout,
29
+ // connection shouldnt be that long
30
+ connectTimeout: 3e4
31
+ });
32
+ // Annotate the CommonJS export names for ESM import in node:
33
+ 0 && (module.exports = {
34
+ createTimeoutAgent
35
+ });
@@ -0,0 +1,9 @@
1
+ import { Agent } from 'undici';
2
+
3
+ /**
4
+ * necessary bc there's a default timeout of 300 seconds for all `fetch` requests, which is
5
+ * often shorter than the time it takes for the whisper server to respond
6
+ */
7
+ declare const createTimeoutAgent: (timeout: number) => Agent;
8
+
9
+ export { createTimeoutAgent };
@@ -0,0 +1,9 @@
1
+ import { Agent } from 'undici';
2
+
3
+ /**
4
+ * necessary bc there's a default timeout of 300 seconds for all `fetch` requests, which is
5
+ * often shorter than the time it takes for the whisper server to respond
6
+ */
7
+ declare const createTimeoutAgent: (timeout: number) => Agent;
8
+
9
+ export { createTimeoutAgent };
package/dist/fetch.js ADDED
@@ -0,0 +1,11 @@
1
+ import { Agent } from "undici";
2
+ const createTimeoutAgent = (timeout) => new Agent({
3
+ // 1 hour timeout lmao
4
+ headersTimeout: timeout,
5
+ bodyTimeout: timeout,
6
+ // connection shouldnt be that long
7
+ connectTimeout: 3e4
8
+ });
9
+ export {
10
+ createTimeoutAgent
11
+ };
package/dist/index.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- export { d as AudioFormat, e as AudioFormatInfo, A as AudioInput, f as AudioSource, g as AudioSourceFromBuffer, h as AudioSourceFromFile, i as AudioSourceFromStream, L as Language, E as Languages, O as OpenAICloudSTTOptions, B as OpenAIResult, j as RawAudioInput, R as RecognitionEngine, a as RecognitionOptions, b as RecognitionResult, S as ServiceCapabilities, W as WhisperCppModelId, G as WhisperCppOptions, F as WhisperCppResult, K as WhisperServerOptions, J as WhisperServerResult, k as audioSourceFromBuffer, l as audioSourceFromFile, m as audioSourceFromStream, n as formatFromExtension, o as formatToExtension, p as getFormat, q as getFormatInfo, s as getTargetFormat, t as isAudioSource, u as needsConversion, v as normalizeToAudioSource, C as openaiInputPreference, r as recognitionEngines, c as recognize, D as recognizeOpenAI, I as recognizeWhisperCpp, N as recognizeWhisperServer, w as serviceCapabilities, x as toBuffer, y as toFilePath, z as toReadStream, H as whisperCppInputPreference, M as whisperServerInputPreference } from './AudioFormat-Cq6sRKDj.cjs';
1
+ export { d as AudioFormat, e as AudioFormatInfo, A as AudioInput, f as AudioSource, g as AudioSourceFromBuffer, h as AudioSourceFromFile, i as AudioSourceFromStream, L as Language, E as Languages, O as OpenAICloudSTTOptions, B as OpenAIResult, j as RawAudioInput, R as RecognitionEngine, a as RecognitionOptions, b as RecognitionResult, S as ServiceCapabilities, W as WhisperCppModelId, G as WhisperCppOptions, F as WhisperCppResult, K as WhisperServerOptions, J as WhisperServerResult, k as audioSourceFromBuffer, l as audioSourceFromFile, m as audioSourceFromStream, n as formatFromExtension, o as formatToExtension, p as getFormat, q as getFormatInfo, s as getTargetFormat, t as isAudioSource, u as needsConversion, v as normalizeToAudioSource, C as openaiInputPreference, r as recognitionEngines, c as recognize, D as recognizeOpenAI, I as recognizeWhisperCpp, N as recognizeWhisperServer, w as serviceCapabilities, x as toBuffer, y as toFilePath, z as toReadStream, H as whisperCppInputPreference, M as whisperServerInputPreference } from './AudioFormat-CKxAQAj2.cjs';
2
2
  export { ConversionOptions, PreparedAudio, convertToBuffer, convertToFile, createStreamingConversion, prepareForService, prepareWavForService } from './audio/AudioConverter.cjs';
3
3
  export { BUILD_VARIANTS, BuildVariant, RECOGNITION_ENGINES, WHISPER_CPP_VERSION, WHISPER_MODELS, WhisperModel, applyLegacyCpuFallback, detectPlatform, getConfiguredVariant, getInstallDir, getModelDir, getModelPath, getVadModelPath, getWhisperExecutablePath, getWhisperServerExecutablePath, isValidModel, resolveVariant } from './cli/config.cjs';
4
4
  export { InstallBinaryOptions, InstallModelOptions, InstallVadModelOptions, ensureWhisperInstalled, installBinary, installModel, installVadModel } from './cli/install.cjs';
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { d as AudioFormat, e as AudioFormatInfo, A as AudioInput, f as AudioSource, g as AudioSourceFromBuffer, h as AudioSourceFromFile, i as AudioSourceFromStream, L as Language, E as Languages, O as OpenAICloudSTTOptions, B as OpenAIResult, j as RawAudioInput, R as RecognitionEngine, a as RecognitionOptions, b as RecognitionResult, S as ServiceCapabilities, W as WhisperCppModelId, G as WhisperCppOptions, F as WhisperCppResult, K as WhisperServerOptions, J as WhisperServerResult, k as audioSourceFromBuffer, l as audioSourceFromFile, m as audioSourceFromStream, n as formatFromExtension, o as formatToExtension, p as getFormat, q as getFormatInfo, s as getTargetFormat, t as isAudioSource, u as needsConversion, v as normalizeToAudioSource, C as openaiInputPreference, r as recognitionEngines, c as recognize, D as recognizeOpenAI, I as recognizeWhisperCpp, N as recognizeWhisperServer, w as serviceCapabilities, x as toBuffer, y as toFilePath, z as toReadStream, H as whisperCppInputPreference, M as whisperServerInputPreference } from './AudioFormat--LEggByS.js';
1
+ export { d as AudioFormat, e as AudioFormatInfo, A as AudioInput, f as AudioSource, g as AudioSourceFromBuffer, h as AudioSourceFromFile, i as AudioSourceFromStream, L as Language, E as Languages, O as OpenAICloudSTTOptions, B as OpenAIResult, j as RawAudioInput, R as RecognitionEngine, a as RecognitionOptions, b as RecognitionResult, S as ServiceCapabilities, W as WhisperCppModelId, G as WhisperCppOptions, F as WhisperCppResult, K as WhisperServerOptions, J as WhisperServerResult, k as audioSourceFromBuffer, l as audioSourceFromFile, m as audioSourceFromStream, n as formatFromExtension, o as formatToExtension, p as getFormat, q as getFormatInfo, s as getTargetFormat, t as isAudioSource, u as needsConversion, v as normalizeToAudioSource, C as openaiInputPreference, r as recognitionEngines, c as recognize, D as recognizeOpenAI, I as recognizeWhisperCpp, N as recognizeWhisperServer, w as serviceCapabilities, x as toBuffer, y as toFilePath, z as toReadStream, H as whisperCppInputPreference, M as whisperServerInputPreference } from './AudioFormat-BJuNZJlT.js';
2
2
  export { ConversionOptions, PreparedAudio, convertToBuffer, convertToFile, createStreamingConversion, prepareForService, prepareWavForService } from './audio/AudioConverter.js';
3
3
  export { BUILD_VARIANTS, BuildVariant, RECOGNITION_ENGINES, WHISPER_CPP_VERSION, WHISPER_MODELS, WhisperModel, applyLegacyCpuFallback, detectPlatform, getConfiguredVariant, getInstallDir, getModelDir, getModelPath, getVadModelPath, getWhisperExecutablePath, getWhisperServerExecutablePath, isValidModel, resolveVariant } from './cli/config.js';
4
4
  export { InstallBinaryOptions, InstallModelOptions, InstallVadModelOptions, ensureWhisperInstalled, installBinary, installModel, installVadModel } from './cli/install.js';
@@ -1,4 +1,4 @@
1
- import { d as AudioFormat, j as RawAudioInput, f as AudioSource } from '../AudioFormat-Cq6sRKDj.cjs';
1
+ import { d as AudioFormat, j as RawAudioInput, f as AudioSource } from '../AudioFormat-CKxAQAj2.cjs';
2
2
  import { Timeline } from '../utilities/Timeline.cjs';
3
3
  import { Timing } from '../utilities/Timing.cjs';
4
4
  import 'node:fs';
@@ -1,4 +1,4 @@
1
- import { d as AudioFormat, j as RawAudioInput, f as AudioSource } from '../AudioFormat--LEggByS.js';
1
+ import { d as AudioFormat, j as RawAudioInput, f as AudioSource } from '../AudioFormat-BJuNZJlT.js';
2
2
  import { Timeline } from '../utilities/Timeline.js';
3
3
  import { Timing } from '../utilities/Timing.js';
4
4
  import 'node:fs';
@@ -1,5 +1,5 @@
1
1
  import * as SpeechSDK from 'microsoft-cognitiveservices-speech-sdk';
2
- import { d as AudioFormat, j as RawAudioInput, f as AudioSource } from '../AudioFormat-Cq6sRKDj.cjs';
2
+ import { d as AudioFormat, j as RawAudioInput, f as AudioSource } from '../AudioFormat-CKxAQAj2.cjs';
3
3
  import { Timeline } from '../utilities/Timeline.cjs';
4
4
  import { Timing } from '../utilities/Timing.cjs';
5
5
  import 'node:fs';
@@ -1,5 +1,5 @@
1
1
  import * as SpeechSDK from 'microsoft-cognitiveservices-speech-sdk';
2
- import { d as AudioFormat, j as RawAudioInput, f as AudioSource } from '../AudioFormat--LEggByS.js';
2
+ import { d as AudioFormat, j as RawAudioInput, f as AudioSource } from '../AudioFormat-BJuNZJlT.js';
3
3
  import { Timeline } from '../utilities/Timeline.js';
4
4
  import { Timing } from '../utilities/Timing.js';
5
5
  import 'node:fs';
@@ -24,6 +24,7 @@ __export(DeepgramSTT_exports, {
24
24
  module.exports = __toCommonJS(DeepgramSTT_exports);
25
25
  var import_audio = require("../audio/index.cjs");
26
26
  var import_config = require("../config.cjs");
27
+ var import_fetch = require("../fetch.cjs");
27
28
  var import_ObjectUtilities = require("../utilities/ObjectUtilities.cjs");
28
29
  const SERVICE_ID = "deepgram";
29
30
  function formatToContentType(format) {
@@ -93,7 +94,8 @@ async function recognize(input, languageCode, timing, options, signal) {
93
94
  // necessary because otherwise there's some excruciating type error when running `yarn check`
94
95
  // from the root
95
96
  body: uploadResult.stream,
96
- signal: signal ?? null
97
+ signal: signal ?? null,
98
+ dispatcher: (0, import_fetch.createTimeoutAgent)(opts.timeout)
97
99
  });
98
100
  const conversionPromise = (_a2 = uploadResult.start) == null ? void 0 : _a2.call(uploadResult);
99
101
  const resp = await fetchPromise;
@@ -187,7 +189,11 @@ function applyPunctuationToTimeline(timeline, transcript) {
187
189
  const defaultDeepgramSTTOptions = {
188
190
  apiKey: "",
189
191
  model: "nova-3",
190
- punctuate: true
192
+ punctuate: true,
193
+ timeout: 30 * 60 * 1e3,
194
+ // 30 minutes
195
+ inputFormat: void 0,
196
+ conversionMode: void 0
191
197
  };
192
198
  // Annotate the CommonJS export names for ESM import in node:
193
199
  0 && (module.exports = {
@@ -1,4 +1,4 @@
1
- import { j as RawAudioInput, f as AudioSource, d as AudioFormat } from '../AudioFormat-Cq6sRKDj.cjs';
1
+ import { j as RawAudioInput, f as AudioSource, d as AudioFormat } from '../AudioFormat-CKxAQAj2.cjs';
2
2
  import { ConversionMode } from '../config.cjs';
3
3
  import { TimelineEntry } from '../utilities/Timeline.cjs';
4
4
  import { Timing } from '../utilities/Timing.cjs';
@@ -17,7 +17,15 @@ interface DeepgramSTTOptions {
17
17
  punctuate: boolean;
18
18
  inputFormat?: AudioFormat | undefined;
19
19
  conversionMode?: ConversionMode | undefined;
20
+ timeout?: number;
20
21
  }
21
- declare const defaultDeepgramSTTOptions: DeepgramSTTOptions;
22
+ declare const defaultDeepgramSTTOptions: {
23
+ apiKey: string;
24
+ model: string;
25
+ punctuate: boolean;
26
+ timeout: number;
27
+ inputFormat: AudioFormat | undefined;
28
+ conversionMode: ConversionMode | undefined;
29
+ };
22
30
 
23
31
  export { type DeepgramSTTOptions, defaultDeepgramSTTOptions, recognize };
@@ -1,4 +1,4 @@
1
- import { j as RawAudioInput, f as AudioSource, d as AudioFormat } from '../AudioFormat--LEggByS.js';
1
+ import { j as RawAudioInput, f as AudioSource, d as AudioFormat } from '../AudioFormat-BJuNZJlT.js';
2
2
  import { ConversionMode } from '../config.js';
3
3
  import { TimelineEntry } from '../utilities/Timeline.js';
4
4
  import { Timing } from '../utilities/Timing.js';
@@ -17,7 +17,15 @@ interface DeepgramSTTOptions {
17
17
  punctuate: boolean;
18
18
  inputFormat?: AudioFormat | undefined;
19
19
  conversionMode?: ConversionMode | undefined;
20
+ timeout?: number;
20
21
  }
21
- declare const defaultDeepgramSTTOptions: DeepgramSTTOptions;
22
+ declare const defaultDeepgramSTTOptions: {
23
+ apiKey: string;
24
+ model: string;
25
+ punctuate: boolean;
26
+ timeout: number;
27
+ inputFormat: AudioFormat | undefined;
28
+ conversionMode: ConversionMode | undefined;
29
+ };
22
30
 
23
31
  export { type DeepgramSTTOptions, defaultDeepgramSTTOptions, recognize };
@@ -6,6 +6,7 @@ import {
6
6
  serviceCapabilities
7
7
  } from "../audio/index.js";
8
8
  import { getConversionMode } from "../config.js";
9
+ import { createTimeoutAgent } from "../fetch.js";
9
10
  import { extendDeep } from "../utilities/ObjectUtilities.js";
10
11
  const SERVICE_ID = "deepgram";
11
12
  function formatToContentType(format) {
@@ -75,7 +76,8 @@ async function recognize(input, languageCode, timing, options, signal) {
75
76
  // necessary because otherwise there's some excruciating type error when running `yarn check`
76
77
  // from the root
77
78
  body: uploadResult.stream,
78
- signal: signal ?? null
79
+ signal: signal ?? null,
80
+ dispatcher: createTimeoutAgent(opts.timeout)
79
81
  });
80
82
  const conversionPromise = (_a2 = uploadResult.start) == null ? void 0 : _a2.call(uploadResult);
81
83
  const resp = await fetchPromise;
@@ -169,7 +171,11 @@ function applyPunctuationToTimeline(timeline, transcript) {
169
171
  const defaultDeepgramSTTOptions = {
170
172
  apiKey: "",
171
173
  model: "nova-3",
172
- punctuate: true
174
+ punctuate: true,
175
+ timeout: 30 * 60 * 1e3,
176
+ // 30 minutes
177
+ inputFormat: void 0,
178
+ conversionMode: void 0
173
179
  };
174
180
  export {
175
181
  defaultDeepgramSTTOptions,
@@ -1,4 +1,4 @@
1
- import { d as AudioFormat, j as RawAudioInput, f as AudioSource } from '../AudioFormat-Cq6sRKDj.cjs';
1
+ import { d as AudioFormat, j as RawAudioInput, f as AudioSource } from '../AudioFormat-CKxAQAj2.cjs';
2
2
  import { Timeline } from '../utilities/Timeline.cjs';
3
3
  import { Timing } from '../utilities/Timing.cjs';
4
4
  import 'node:fs';
@@ -1,4 +1,4 @@
1
- import { d as AudioFormat, j as RawAudioInput, f as AudioSource } from '../AudioFormat--LEggByS.js';
1
+ import { d as AudioFormat, j as RawAudioInput, f as AudioSource } from '../AudioFormat-BJuNZJlT.js';
2
2
  import { Timeline } from '../utilities/Timeline.js';
3
3
  import { Timing } from '../utilities/Timing.js';
4
4
  import 'node:fs';
@@ -1,4 +1,4 @@
1
- export { Q as InputPreference, O as OpenAICloudSTTOptions, B as RecognitionResult, C as inputPreference, D as recognize } from '../AudioFormat-Cq6sRKDj.cjs';
1
+ export { Q as InputPreference, O as OpenAICloudSTTOptions, B as RecognitionResult, C as inputPreference, D as recognize } from '../AudioFormat-CKxAQAj2.cjs';
2
2
  import '../utilities/Timeline.cjs';
3
3
  import '../utilities/Timing.cjs';
4
4
  import 'node:fs';
@@ -1,4 +1,4 @@
1
- export { Q as InputPreference, O as OpenAICloudSTTOptions, B as RecognitionResult, C as inputPreference, D as recognize } from '../AudioFormat--LEggByS.js';
1
+ export { Q as InputPreference, O as OpenAICloudSTTOptions, B as RecognitionResult, C as inputPreference, D as recognize } from '../AudioFormat-BJuNZJlT.js';
2
2
  import '../utilities/Timeline.js';
3
3
  import '../utilities/Timing.js';
4
4
  import 'node:fs';
@@ -1,4 +1,4 @@
1
- export { T as InputPreference, L as Language, E as Languages, F as RecognitionResult, W as WhisperCppModelId, G as WhisperCppOptions, V as ensureModelDownloaded, U as ensureWhisperCppInstalled, H as inputPreference, I as recognize } from '../AudioFormat-Cq6sRKDj.cjs';
1
+ export { T as InputPreference, L as Language, E as Languages, F as RecognitionResult, W as WhisperCppModelId, G as WhisperCppOptions, V as ensureModelDownloaded, U as ensureWhisperCppInstalled, H as inputPreference, I as recognize } from '../AudioFormat-CKxAQAj2.cjs';
2
2
  import '../utilities/Timeline.cjs';
3
3
  import '../utilities/Timing.cjs';
4
4
  export { WhisperModel } from '../cli/config.cjs';
@@ -1,4 +1,4 @@
1
- export { T as InputPreference, L as Language, E as Languages, F as RecognitionResult, W as WhisperCppModelId, G as WhisperCppOptions, V as ensureModelDownloaded, U as ensureWhisperCppInstalled, H as inputPreference, I as recognize } from '../AudioFormat--LEggByS.js';
1
+ export { T as InputPreference, L as Language, E as Languages, F as RecognitionResult, W as WhisperCppModelId, G as WhisperCppOptions, V as ensureModelDownloaded, U as ensureWhisperCppInstalled, H as inputPreference, I as recognize } from '../AudioFormat-BJuNZJlT.js';
2
2
  import '../utilities/Timeline.js';
3
3
  import '../utilities/Timing.js';
4
4
  export { WhisperModel } from '../cli/config.js';
@@ -25,12 +25,15 @@ module.exports = __toCommonJS(WhisperServerSTT_exports);
25
25
  var import_node_fs = require("node:fs");
26
26
  var import_node_path = require("node:path");
27
27
  var import_audio = require("../audio/index.cjs");
28
+ var import_fetch = require("../fetch.cjs");
28
29
  var import_WhisperTimeline = require("../utilities/WhisperTimeline.cjs");
29
30
  const inputPreference = "file";
30
31
  const defaultOptions = {
31
32
  baseURL: "http://localhost:8080",
32
33
  inferencePath: "/audio/transcriptions",
33
- temperature: 0
34
+ temperature: 0,
35
+ timeout: 30 * 60 * 1e3
36
+ // 30 minutes
34
37
  };
35
38
  async function recognize(input, languageCode, timing, options) {
36
39
  const opts = { ...defaultOptions, ...options };
@@ -61,8 +64,16 @@ async function recognize(input, languageCode, timing, options) {
61
64
  if (opts.apiKey) {
62
65
  headers["Authorization"] = `Bearer ${opts.apiKey}`;
63
66
  }
64
- const doUpload = () => fetch(url, { method: "POST", body: form, headers });
65
- const response = await timing.timeAsync("upload", doUpload);
67
+ const response = await timing.timeAsync(
68
+ "upload",
69
+ async () => fetch(url, {
70
+ method: "POST",
71
+ body: form,
72
+ headers,
73
+ dispatcher: (0, import_fetch.createTimeoutAgent)(opts.timeout)
74
+ // this is necessary because `tsc` from `/web` will cry and shit its pants
75
+ })
76
+ );
66
77
  if (!response.ok) {
67
78
  const text = await response.text();
68
79
  throw new Error(`Whisper server error: ${response.status} ${text}`);
@@ -1,4 +1,4 @@
1
- export { X as InputPreference, J as RecognitionResult, K as WhisperServerOptions, M as inputPreference, N as recognize } from '../AudioFormat-Cq6sRKDj.cjs';
1
+ export { X as InputPreference, J as RecognitionResult, K as WhisperServerOptions, M as inputPreference, N as recognize } from '../AudioFormat-CKxAQAj2.cjs';
2
2
  import '../utilities/Timeline.cjs';
3
3
  import '../utilities/Timing.cjs';
4
4
  import 'node:fs';
@@ -1,4 +1,4 @@
1
- export { X as InputPreference, J as RecognitionResult, K as WhisperServerOptions, M as inputPreference, N as recognize } from '../AudioFormat--LEggByS.js';
1
+ export { X as InputPreference, J as RecognitionResult, K as WhisperServerOptions, M as inputPreference, N as recognize } from '../AudioFormat-BJuNZJlT.js';
2
2
  import '../utilities/Timeline.js';
3
3
  import '../utilities/Timing.js';
4
4
  import 'node:fs';
@@ -7,6 +7,7 @@ import {
7
7
  prepareWavForService,
8
8
  toFilePath
9
9
  } from "../audio/index.js";
10
+ import { createTimeoutAgent } from "../fetch.js";
10
11
  import {
11
12
  calculateWhisperSplits,
12
13
  countProcessorBoundaries,
@@ -17,7 +18,9 @@ const inputPreference = "file";
17
18
  const defaultOptions = {
18
19
  baseURL: "http://localhost:8080",
19
20
  inferencePath: "/audio/transcriptions",
20
- temperature: 0
21
+ temperature: 0,
22
+ timeout: 30 * 60 * 1e3
23
+ // 30 minutes
21
24
  };
22
25
  async function recognize(input, languageCode, timing, options) {
23
26
  const opts = { ...defaultOptions, ...options };
@@ -48,8 +51,16 @@ async function recognize(input, languageCode, timing, options) {
48
51
  if (opts.apiKey) {
49
52
  headers["Authorization"] = `Bearer ${opts.apiKey}`;
50
53
  }
51
- const doUpload = () => fetch(url, { method: "POST", body: form, headers });
52
- const response = await timing.timeAsync("upload", doUpload);
54
+ const response = await timing.timeAsync(
55
+ "upload",
56
+ async () => fetch(url, {
57
+ method: "POST",
58
+ body: form,
59
+ headers,
60
+ dispatcher: createTimeoutAgent(opts.timeout)
61
+ // this is necessary because `tsc` from `/web` will cry and shit its pants
62
+ })
63
+ );
53
64
  if (!response.ok) {
54
65
  const text = await response.text();
55
66
  throw new Error(`Whisper server error: ${response.status} ${text}`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storyteller-platform/ghost-story",
3
- "version": "0.1.3",
3
+ "version": "0.1.5",
4
4
  "description": "An easy-to-use speech toolset. Fork of the original echogarden project.",
5
5
  "author": "Thomas F. K. Jorna",
6
6
  "license": "GPL-3.0",
@@ -76,6 +76,7 @@
76
76
  "microsoft-cognitiveservices-speech-sdk": "~1.44.0",
77
77
  "openai": "~4.103.0",
78
78
  "tar": "^7.4.3",
79
+ "undici": "7.14.0",
79
80
  "zod": "^3.25.0"
80
81
  },
81
82
  "devDependencies": {