@wovin/tranz 0.1.9 → 0.1.11

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.
package/dist/audio.min.js CHANGED
@@ -15,10 +15,11 @@ async function execFFprobe(audioPath) {
15
15
  try {
16
16
  const { stdout } = await execa("ffprobe", [
17
17
  "-v",
18
- "quiet",
18
+ "error",
19
19
  "-print_format",
20
20
  "json",
21
21
  "-show_format",
22
+ "-show_streams",
22
23
  audioPath
23
24
  ]);
24
25
  return JSON.parse(stdout);
@@ -52,13 +53,61 @@ async function extractAudioSegment(inputPath, outputPath, startSec, durationSec)
52
53
  throw new Error(`Failed to extract segment: ${err instanceof Error ? err.message : String(err)}`);
53
54
  }
54
55
  }
56
+ async function getDurationViaFfmpeg(audioPath) {
57
+ try {
58
+ const { stderr } = await execa("ffmpeg", [
59
+ "-i",
60
+ audioPath,
61
+ "-f",
62
+ "null",
63
+ "-"
64
+ ], { reject: false });
65
+ const durationMatch = stderr.match(/Duration:\s*(\d+):(\d+):(\d+(?:\.\d+)?)/);
66
+ if (durationMatch) {
67
+ const hours = parseFloat(durationMatch[1]);
68
+ const minutes = parseFloat(durationMatch[2]);
69
+ const seconds = parseFloat(durationMatch[3]);
70
+ return hours * 3600 + minutes * 60 + seconds;
71
+ }
72
+ const timeMatches = [...stderr.matchAll(/time=(\d+):(\d+):(\d+(?:\.\d+)?)/g)];
73
+ if (timeMatches.length > 0) {
74
+ const lastMatch = timeMatches[timeMatches.length - 1];
75
+ const hours = parseFloat(lastMatch[1]);
76
+ const minutes = parseFloat(lastMatch[2]);
77
+ const seconds = parseFloat(lastMatch[3]);
78
+ return hours * 3600 + minutes * 60 + seconds;
79
+ }
80
+ } catch {
81
+ }
82
+ return void 0;
83
+ }
55
84
  async function getAudioDuration(audioPath) {
56
85
  const metadata = await execFFprobe(audioPath);
57
- const duration = metadata.format.duration;
58
- if (typeof duration !== "number") {
59
- throw new Error("Could not determine audio duration");
86
+ if (metadata.format?.duration) {
87
+ const duration = parseFloat(String(metadata.format.duration));
88
+ if (!isNaN(duration) && duration > 0) {
89
+ return duration;
90
+ }
60
91
  }
61
- return duration;
92
+ if (metadata.streams?.length) {
93
+ for (const stream of metadata.streams) {
94
+ if (stream.duration) {
95
+ const duration = parseFloat(String(stream.duration));
96
+ if (!isNaN(duration) && duration > 0) {
97
+ return duration;
98
+ }
99
+ }
100
+ }
101
+ }
102
+ const ffmpegDuration = await getDurationViaFfmpeg(audioPath);
103
+ if (ffmpegDuration !== void 0 && ffmpegDuration > 0) {
104
+ return ffmpegDuration;
105
+ }
106
+ const hasFormat = !!metadata.format;
107
+ const hasStreams = !!metadata.streams?.length;
108
+ throw new Error(
109
+ `Could not determine audio duration (format: ${hasFormat}, streams: ${hasStreams}). File may be corrupted or in an unsupported format.`
110
+ );
62
111
  }
63
112
  async function detectSilenceRegions(audioPath, config = {}) {
64
113
  const { minSilenceDurSec, silenceThreshold } = { ...DEFAULT_SPLIT_CONFIG, ...config };
package/dist/index.min.js CHANGED
@@ -365,10 +365,11 @@ async function execFFprobe(audioPath) {
365
365
  try {
366
366
  const { stdout } = await execa("ffprobe", [
367
367
  "-v",
368
- "quiet",
368
+ "error",
369
369
  "-print_format",
370
370
  "json",
371
371
  "-show_format",
372
+ "-show_streams",
372
373
  audioPath
373
374
  ]);
374
375
  return JSON.parse(stdout);
@@ -402,13 +403,61 @@ async function extractAudioSegment(inputPath, outputPath, startSec, durationSec)
402
403
  throw new Error(`Failed to extract segment: ${err instanceof Error ? err.message : String(err)}`);
403
404
  }
404
405
  }
406
+ async function getDurationViaFfmpeg(audioPath) {
407
+ try {
408
+ const { stderr } = await execa("ffmpeg", [
409
+ "-i",
410
+ audioPath,
411
+ "-f",
412
+ "null",
413
+ "-"
414
+ ], { reject: false });
415
+ const durationMatch = stderr.match(/Duration:\s*(\d+):(\d+):(\d+(?:\.\d+)?)/);
416
+ if (durationMatch) {
417
+ const hours = parseFloat(durationMatch[1]);
418
+ const minutes = parseFloat(durationMatch[2]);
419
+ const seconds = parseFloat(durationMatch[3]);
420
+ return hours * 3600 + minutes * 60 + seconds;
421
+ }
422
+ const timeMatches = [...stderr.matchAll(/time=(\d+):(\d+):(\d+(?:\.\d+)?)/g)];
423
+ if (timeMatches.length > 0) {
424
+ const lastMatch = timeMatches[timeMatches.length - 1];
425
+ const hours = parseFloat(lastMatch[1]);
426
+ const minutes = parseFloat(lastMatch[2]);
427
+ const seconds = parseFloat(lastMatch[3]);
428
+ return hours * 3600 + minutes * 60 + seconds;
429
+ }
430
+ } catch {
431
+ }
432
+ return void 0;
433
+ }
405
434
  async function getAudioDuration(audioPath) {
406
435
  const metadata = await execFFprobe(audioPath);
407
- const duration = metadata.format.duration;
408
- if (typeof duration !== "number") {
409
- throw new Error("Could not determine audio duration");
436
+ if (metadata.format?.duration) {
437
+ const duration = parseFloat(String(metadata.format.duration));
438
+ if (!isNaN(duration) && duration > 0) {
439
+ return duration;
440
+ }
441
+ }
442
+ if (metadata.streams?.length) {
443
+ for (const stream of metadata.streams) {
444
+ if (stream.duration) {
445
+ const duration = parseFloat(String(stream.duration));
446
+ if (!isNaN(duration) && duration > 0) {
447
+ return duration;
448
+ }
449
+ }
450
+ }
410
451
  }
411
- return duration;
452
+ const ffmpegDuration = await getDurationViaFfmpeg(audioPath);
453
+ if (ffmpegDuration !== void 0 && ffmpegDuration > 0) {
454
+ return ffmpegDuration;
455
+ }
456
+ const hasFormat = !!metadata.format;
457
+ const hasStreams = !!metadata.streams?.length;
458
+ throw new Error(
459
+ `Could not determine audio duration (format: ${hasFormat}, streams: ${hasStreams}). File may be corrupted or in an unsupported format.`
460
+ );
412
461
  }
413
462
  async function detectSilenceRegions(audioPath, config = {}) {
414
463
  const { minSilenceDurSec, silenceThreshold } = { ...DEFAULT_SPLIT_CONFIG, ...config };
@@ -726,17 +775,44 @@ var defaultLogger = {
726
775
  }
727
776
  // silent by default
728
777
  };
778
+ var MIME_TO_EXT = {
779
+ "audio/mpeg": ".mp3",
780
+ "audio/mp3": ".mp3",
781
+ "audio/wav": ".wav",
782
+ "audio/x-wav": ".wav",
783
+ "audio/ogg": ".ogg",
784
+ "audio/flac": ".flac",
785
+ "audio/x-flac": ".flac",
786
+ "audio/mp4": ".m4a",
787
+ "audio/m4a": ".m4a",
788
+ "audio/aac": ".aac",
789
+ "audio/webm": ".webm",
790
+ "audio/opus": ".opus"
791
+ };
792
+ function getExtFromContentType(contentType, url) {
793
+ if (contentType) {
794
+ const mimeType = contentType.split(";")[0].trim().toLowerCase();
795
+ if (MIME_TO_EXT[mimeType]) {
796
+ return MIME_TO_EXT[mimeType];
797
+ }
798
+ }
799
+ try {
800
+ const urlPath = new URL(url).pathname;
801
+ const ext = path3.extname(urlPath).toLowerCase();
802
+ if (ext && [".mp3", ".wav", ".ogg", ".flac", ".m4a", ".aac", ".webm", ".opus"].includes(ext)) {
803
+ return ext;
804
+ }
805
+ } catch {
806
+ }
807
+ return ".audio";
808
+ }
729
809
  async function downloadToTempFile(url, outputDir) {
730
- const tempPath = path3.join(outputDir, `download-${Date.now()}.audio`);
731
- const file = fs3.createWriteStream(tempPath);
732
810
  return new Promise((resolve, reject) => {
733
811
  const protocol = url.startsWith("https") ? https : http;
734
812
  protocol.get(url, (response) => {
735
813
  if (response.statusCode === 301 || response.statusCode === 302) {
736
814
  const redirectUrl = response.headers.location;
737
815
  if (redirectUrl) {
738
- file.close();
739
- fs3.unlinkSync(tempPath);
740
816
  downloadToTempFile(redirectUrl, outputDir).then(resolve).catch(reject);
741
817
  return;
742
818
  }
@@ -745,14 +821,20 @@ async function downloadToTempFile(url, outputDir) {
745
821
  reject(new Error(`Failed to download: HTTP ${response.statusCode}`));
746
822
  return;
747
823
  }
824
+ const ext = getExtFromContentType(response.headers["content-type"], url);
825
+ const tempPath = path3.join(outputDir, `download-${Date.now()}${ext}`);
826
+ const file = fs3.createWriteStream(tempPath);
748
827
  response.pipe(file);
749
828
  file.on("finish", () => {
750
829
  file.close();
751
830
  resolve(tempPath);
752
831
  });
753
- }).on("error", (err) => {
754
- fs3.unlink(tempPath, () => {
832
+ file.on("error", (err) => {
833
+ fs3.unlink(tempPath, () => {
834
+ });
835
+ reject(err);
755
836
  });
837
+ }).on("error", (err) => {
756
838
  reject(err);
757
839
  });
758
840
  });
@@ -372,10 +372,11 @@ async function execFFprobe(audioPath) {
372
372
  try {
373
373
  const { stdout } = await execa("ffprobe", [
374
374
  "-v",
375
- "quiet",
375
+ "error",
376
376
  "-print_format",
377
377
  "json",
378
378
  "-show_format",
379
+ "-show_streams",
379
380
  audioPath
380
381
  ]);
381
382
  return JSON.parse(stdout);
@@ -409,13 +410,61 @@ async function extractAudioSegment(inputPath, outputPath, startSec, durationSec)
409
410
  throw new Error(`Failed to extract segment: ${err instanceof Error ? err.message : String(err)}`);
410
411
  }
411
412
  }
413
+ async function getDurationViaFfmpeg(audioPath) {
414
+ try {
415
+ const { stderr } = await execa("ffmpeg", [
416
+ "-i",
417
+ audioPath,
418
+ "-f",
419
+ "null",
420
+ "-"
421
+ ], { reject: false });
422
+ const durationMatch = stderr.match(/Duration:\s*(\d+):(\d+):(\d+(?:\.\d+)?)/);
423
+ if (durationMatch) {
424
+ const hours = parseFloat(durationMatch[1]);
425
+ const minutes = parseFloat(durationMatch[2]);
426
+ const seconds = parseFloat(durationMatch[3]);
427
+ return hours * 3600 + minutes * 60 + seconds;
428
+ }
429
+ const timeMatches = [...stderr.matchAll(/time=(\d+):(\d+):(\d+(?:\.\d+)?)/g)];
430
+ if (timeMatches.length > 0) {
431
+ const lastMatch = timeMatches[timeMatches.length - 1];
432
+ const hours = parseFloat(lastMatch[1]);
433
+ const minutes = parseFloat(lastMatch[2]);
434
+ const seconds = parseFloat(lastMatch[3]);
435
+ return hours * 3600 + minutes * 60 + seconds;
436
+ }
437
+ } catch {
438
+ }
439
+ return void 0;
440
+ }
412
441
  async function getAudioDuration(audioPath) {
413
442
  const metadata = await execFFprobe(audioPath);
414
- const duration = metadata.format.duration;
415
- if (typeof duration !== "number") {
416
- throw new Error("Could not determine audio duration");
443
+ if (metadata.format?.duration) {
444
+ const duration = parseFloat(String(metadata.format.duration));
445
+ if (!isNaN(duration) && duration > 0) {
446
+ return duration;
447
+ }
448
+ }
449
+ if (metadata.streams?.length) {
450
+ for (const stream of metadata.streams) {
451
+ if (stream.duration) {
452
+ const duration = parseFloat(String(stream.duration));
453
+ if (!isNaN(duration) && duration > 0) {
454
+ return duration;
455
+ }
456
+ }
457
+ }
417
458
  }
418
- return duration;
459
+ const ffmpegDuration = await getDurationViaFfmpeg(audioPath);
460
+ if (ffmpegDuration !== void 0 && ffmpegDuration > 0) {
461
+ return ffmpegDuration;
462
+ }
463
+ const hasFormat = !!metadata.format;
464
+ const hasStreams = !!metadata.streams?.length;
465
+ throw new Error(
466
+ `Could not determine audio duration (format: ${hasFormat}, streams: ${hasStreams}). File may be corrupted or in an unsupported format.`
467
+ );
419
468
  }
420
469
  async function detectSilenceRegions(audioPath, config = {}) {
421
470
  const { minSilenceDurSec, silenceThreshold } = { ...DEFAULT_SPLIT_CONFIG, ...config };
@@ -648,17 +697,44 @@ var defaultLogger = {
648
697
  }
649
698
  // silent by default
650
699
  };
700
+ var MIME_TO_EXT = {
701
+ "audio/mpeg": ".mp3",
702
+ "audio/mp3": ".mp3",
703
+ "audio/wav": ".wav",
704
+ "audio/x-wav": ".wav",
705
+ "audio/ogg": ".ogg",
706
+ "audio/flac": ".flac",
707
+ "audio/x-flac": ".flac",
708
+ "audio/mp4": ".m4a",
709
+ "audio/m4a": ".m4a",
710
+ "audio/aac": ".aac",
711
+ "audio/webm": ".webm",
712
+ "audio/opus": ".opus"
713
+ };
714
+ function getExtFromContentType(contentType, url) {
715
+ if (contentType) {
716
+ const mimeType = contentType.split(";")[0].trim().toLowerCase();
717
+ if (MIME_TO_EXT[mimeType]) {
718
+ return MIME_TO_EXT[mimeType];
719
+ }
720
+ }
721
+ try {
722
+ const urlPath = new URL(url).pathname;
723
+ const ext = path3.extname(urlPath).toLowerCase();
724
+ if (ext && [".mp3", ".wav", ".ogg", ".flac", ".m4a", ".aac", ".webm", ".opus"].includes(ext)) {
725
+ return ext;
726
+ }
727
+ } catch {
728
+ }
729
+ return ".audio";
730
+ }
651
731
  async function downloadToTempFile(url, outputDir) {
652
- const tempPath = path3.join(outputDir, `download-${Date.now()}.audio`);
653
- const file = fs3.createWriteStream(tempPath);
654
732
  return new Promise((resolve, reject) => {
655
733
  const protocol = url.startsWith("https") ? https : http;
656
734
  protocol.get(url, (response) => {
657
735
  if (response.statusCode === 301 || response.statusCode === 302) {
658
736
  const redirectUrl = response.headers.location;
659
737
  if (redirectUrl) {
660
- file.close();
661
- fs3.unlinkSync(tempPath);
662
738
  downloadToTempFile(redirectUrl, outputDir).then(resolve).catch(reject);
663
739
  return;
664
740
  }
@@ -667,14 +743,20 @@ async function downloadToTempFile(url, outputDir) {
667
743
  reject(new Error(`Failed to download: HTTP ${response.statusCode}`));
668
744
  return;
669
745
  }
746
+ const ext = getExtFromContentType(response.headers["content-type"], url);
747
+ const tempPath = path3.join(outputDir, `download-${Date.now()}${ext}`);
748
+ const file = fs3.createWriteStream(tempPath);
670
749
  response.pipe(file);
671
750
  file.on("finish", () => {
672
751
  file.close();
673
752
  resolve(tempPath);
674
753
  });
675
- }).on("error", (err) => {
676
- fs3.unlink(tempPath, () => {
754
+ file.on("error", (err) => {
755
+ fs3.unlink(tempPath, () => {
756
+ });
757
+ reject(err);
677
758
  });
759
+ }).on("error", (err) => {
678
760
  reject(err);
679
761
  });
680
762
  });
@@ -50,6 +50,8 @@ export interface AudioSegment {
50
50
  export declare const DEFAULT_SPLIT_CONFIG: SplitConfig;
51
51
  /**
52
52
  * Get the duration of an audio file in seconds
53
+ * Tries format.duration first, then falls back to stream duration,
54
+ * and finally uses ffmpeg decode as last resort
53
55
  */
54
56
  export declare function getAudioDuration(audioPath: string): Promise<number>;
55
57
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"split.d.ts","sourceRoot":"","sources":["../../../src/utils/audio/split.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,iEAAiE;IACjE,cAAc,EAAE,MAAM,CAAA;IACtB,qEAAqE;IACrE,gBAAgB,EAAE,MAAM,CAAA;IACxB,kDAAkD;IAClD,gBAAgB,EAAE,MAAM,CAAA;IACxB,wDAAwD;IACxD,mBAAmB,EAAE,OAAO,CAAA;IAC5B,uDAAuD;IACvD,aAAa,EAAE,MAAM,CAAA;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,yDAAyD;IACzD,OAAO,EAAE,MAAM,CAAA;IACf,kDAAkD;IAClD,eAAe,EAAE,MAAM,CAAA;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,WAMlC,CAAA;AA4CD;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAOzE;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,MAAM,EACjB,MAAM,GAAE,OAAO,CAAC,WAAW,CAAM,GAChC,OAAO,CAAC,aAAa,EAAE,CAAC,CAsD1B;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,cAAc,EAAE,aAAa,EAAE,EAC/B,aAAa,EAAE,MAAM,EACrB,MAAM,GAAE,OAAO,CAAC,WAAW,CAAM,GAChC,UAAU,EAAE,CAwEd;AAED;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,UAAU,EAAE,EACzB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,YAAY,EAAE,CAAC,CA2CzB;AAED;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,MAAM,GAAE,OAAO,CAAC,WAAW,CAAM,GAChC,OAAO,CAAC,YAAY,EAAE,CAAC,CAuCzB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,UAAU,EAAE,CAAA;IACzB,cAAc,EAAE,aAAa,EAAE,CAAA;IAC/B,UAAU,EAAE,OAAO,CAAA;CACpB;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,MAAM,EACjB,MAAM,GAAE,OAAO,CAAC,WAAW,CAAM,GAChC,OAAO,CAAC,aAAa,CAAC,CA0BxB"}
1
+ {"version":3,"file":"split.d.ts","sourceRoot":"","sources":["../../../src/utils/audio/split.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,iEAAiE;IACjE,cAAc,EAAE,MAAM,CAAA;IACtB,qEAAqE;IACrE,gBAAgB,EAAE,MAAM,CAAA;IACxB,kDAAkD;IAClD,gBAAgB,EAAE,MAAM,CAAA;IACxB,wDAAwD;IACxD,mBAAmB,EAAE,OAAO,CAAA;IAC5B,uDAAuD;IACvD,aAAa,EAAE,MAAM,CAAA;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,yDAAyD;IACzD,OAAO,EAAE,MAAM,CAAA;IACf,kDAAkD;IAClD,eAAe,EAAE,MAAM,CAAA;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,WAMlC,CAAA;AAsFD;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAoCzE;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,MAAM,EACjB,MAAM,GAAE,OAAO,CAAC,WAAW,CAAM,GAChC,OAAO,CAAC,aAAa,EAAE,CAAC,CAsD1B;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,cAAc,EAAE,aAAa,EAAE,EAC/B,aAAa,EAAE,MAAM,EACrB,MAAM,GAAE,OAAO,CAAC,WAAW,CAAM,GAChC,UAAU,EAAE,CAwEd;AAED;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,UAAU,EAAE,EACzB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,YAAY,EAAE,CAAC,CA2CzB;AAED;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,MAAM,GAAE,OAAO,CAAC,WAAW,CAAM,GAChC,OAAO,CAAC,YAAY,EAAE,CAAC,CAuCzB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,UAAU,EAAE,CAAA;IACzB,cAAc,EAAE,aAAa,EAAE,CAAA;IAC/B,UAAU,EAAE,OAAO,CAAA;CACpB;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,MAAM,EACjB,MAAM,GAAE,OAAO,CAAC,WAAW,CAAM,GAChC,OAAO,CAAC,aAAa,CAAC,CA0BxB"}
@@ -1 +1 @@
1
- {"version":3,"file":"transcribe.d.ts","sourceRoot":"","sources":["../../../src/utils/transcription/transcribe.ts"],"names":[],"mappings":"AAAA;;GAEG;AASH,OAAO,EAA6B,KAAK,yBAAyB,EAAE,MAAM,2BAA2B,CAAA;AAErG,kDAAkD;AAClD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IAC3B,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IAC3B,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;CAC7B;AAQD,MAAM,WAAW,iBAAiB;IAChC,yBAAyB;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,iCAAiC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,mFAAmF;IACnF,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,iDAAiD;IACjD,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,4FAA4F;IAC5F,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B,+EAA+E;IAC/E,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,iEAAiE;IACjE,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,uCAAuC;IACvC,MAAM,CAAC,EAAE,gBAAgB,CAAA;IACzB,mCAAmC;IACnC,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,wBAAwB;IACvC,sBAAsB;IACtB,MAAM,EAAE,MAAM,CAAA;IACd,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAkDD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,iEAAiE;AACjE,MAAM,WAAW,kBAAkB;IACjC,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAA;CAC3E;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,wBAAwB,GAAG,kBAAkB,CA4K7F;AAED,+BAA+B;AAC/B,eAAO,MAAM,UAAU,iCAA2B,CAAA"}
1
+ {"version":3,"file":"transcribe.d.ts","sourceRoot":"","sources":["../../../src/utils/transcription/transcribe.ts"],"names":[],"mappings":"AAAA;;GAEG;AASH,OAAO,EAA6B,KAAK,yBAAyB,EAAE,MAAM,2BAA2B,CAAA;AAErG,kDAAkD;AAClD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IAC3B,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IAC3B,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;CAC7B;AAQD,MAAM,WAAW,iBAAiB;IAChC,yBAAyB;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,iCAAiC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,mFAAmF;IACnF,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,iDAAiD;IACjD,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,4FAA4F;IAC5F,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B,+EAA+E;IAC/E,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,iEAAiE;IACjE,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,uCAAuC;IACvC,MAAM,CAAC,EAAE,gBAAgB,CAAA;IACzB,mCAAmC;IACnC,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,wBAAwB;IACvC,sBAAsB;IACtB,MAAM,EAAE,MAAM,CAAA;IACd,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AA6FD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,iEAAiE;AACjE,MAAM,WAAW,kBAAkB;IACjC,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAA;CAC3E;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,wBAAwB,GAAG,kBAAkB,CA4K7F;AAED,+BAA+B;AAC/B,eAAO,MAAM,UAAU,iCAA2B,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wovin/tranz",
3
- "version": "0.1.9",
3
+ "version": "0.1.11",
4
4
  "type": "module",
5
5
  "description": "Audio transcription library with provider support and auto-splitting",
6
6
  "author": "gotjoshua @gotjoshua",