@ai-sdk/assemblyai 2.0.0-beta.61 → 2.0.1

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/CHANGELOG.md CHANGED
@@ -1,5 +1,56 @@
1
1
  # @ai-sdk/assemblyai
2
2
 
3
+ ## 2.0.1
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [29264a3]
8
+ - @ai-sdk/provider-utils@4.0.1
9
+
10
+ ## 2.0.0
11
+
12
+ ### Major Changes
13
+
14
+ - dee8b05: ai SDK 6 beta
15
+
16
+ ### Minor Changes
17
+
18
+ - 78928cb: release: start 5.1 beta
19
+
20
+ ### Patch Changes
21
+
22
+ - 0c3b58b: fix(provider): add specificationVersion to ProviderV3
23
+ - 0a3728e: fix(providers/assemblyai): remove topics
24
+
25
+ We were told the feature was priveatly beta-tested but never rolled out.
26
+
27
+ - 8d9e8ad: chore(provider): remove generics from EmbeddingModelV3
28
+
29
+ Before
30
+
31
+ ```ts
32
+ model.textEmbeddingModel('my-model-id');
33
+ ```
34
+
35
+ After
36
+
37
+ ```ts
38
+ model.embeddingModel('my-model-id');
39
+ ```
40
+
41
+ - 95f65c2: chore: use import \* from zod/v4
42
+ - b400d67: adding polling to assemblyai transcribe async
43
+ - ed329cb: feat: `Provider-V3`
44
+ - 1cad0ab: feat: add provider version to user-agent header
45
+ - 457318b: chore(provider,ai): switch to SharedV3Warning and unified warnings
46
+ - 366f50b: chore(provider): add deprecated textEmbeddingModel and textEmbedding aliases
47
+ - 4616b86: chore: update zod peer depenedency version
48
+ - 21e20c0: feat(provider): transcription model v3 spec
49
+ - 10c1322: fix: moved dependency `@ai-sdk/test-server` to devDependencies
50
+ - Updated dependencies
51
+ - @ai-sdk/provider@3.0.0
52
+ - @ai-sdk/provider-utils@4.0.0
53
+
3
54
  ## 2.0.0-beta.61
4
55
 
5
56
  ### Patch Changes
@@ -398,8 +449,7 @@
398
449
  ### Patch Changes
399
450
 
400
451
  - 95f65c2: chore: use import \* from zod/v4
401
- - Updated dependencies [95f65c2]
402
- - Updated dependencies [95f65c2]
452
+ - Updated dependencies
403
453
  - @ai-sdk/provider-utils@4.0.0-beta.11
404
454
 
405
455
  ## 2.0.0-beta.10
@@ -433,8 +483,7 @@
433
483
  ### Patch Changes
434
484
 
435
485
  - 21e20c0: feat(provider): transcription model v3 spec
436
- - Updated dependencies [046aa3b]
437
- - Updated dependencies [e8109d3]
486
+ - Updated dependencies
438
487
  - @ai-sdk/provider@2.1.0-beta.5
439
488
  - @ai-sdk/provider-utils@3.1.0-beta.7
440
489
 
@@ -442,8 +491,7 @@
442
491
 
443
492
  ### Patch Changes
444
493
 
445
- - Updated dependencies [0adc679]
446
- - Updated dependencies [2b0caef]
494
+ - Updated dependencies
447
495
  - @ai-sdk/provider-utils@3.1.0-beta.6
448
496
  - @ai-sdk/provider@2.1.0-beta.4
449
497
 
@@ -469,8 +517,7 @@
469
517
  ### Patch Changes
470
518
 
471
519
  - ed329cb: feat: `Provider-V3`
472
- - Updated dependencies [ed329cb]
473
- - Updated dependencies [522f6b8]
520
+ - Updated dependencies
474
521
  - @ai-sdk/provider@2.1.0-beta.2
475
522
  - @ai-sdk/provider-utils@3.1.0-beta.3
476
523
 
@@ -487,8 +534,7 @@
487
534
 
488
535
  ### Patch Changes
489
536
 
490
- - Updated dependencies [953d0f2]
491
- - Updated dependencies [cbb1d35]
537
+ - Updated dependencies
492
538
  - @ai-sdk/test-server@1.0.0-beta.0
493
539
  - @ai-sdk/provider-utils@3.1.0-beta.1
494
540
 
@@ -550,8 +596,7 @@
550
596
 
551
597
  ### Patch Changes
552
598
 
553
- - Updated dependencies [034e229]
554
- - Updated dependencies [f25040d]
599
+ - Updated dependencies
555
600
  - @ai-sdk/provider-utils@3.0.3
556
601
 
557
602
  ## 1.0.2
@@ -576,108 +621,7 @@
576
621
  - 3ea5656: feat(providers/assemblyai): add transcribe
577
622
  - d1a034f: feature: using Zod 4 for internal stuff
578
623
  - 205077b: fix: improve Zod compatibility
579
- - Updated dependencies [a571d6e]
580
- - Updated dependencies [742b7be]
581
- - Updated dependencies [e7fcc86]
582
- - Updated dependencies [7cddb72]
583
- - Updated dependencies [ccce59b]
584
- - Updated dependencies [e2b9e4b]
585
- - Updated dependencies [95857aa]
586
- - Updated dependencies [45c1ea2]
587
- - Updated dependencies [6f6bb89]
588
- - Updated dependencies [060370c]
589
- - Updated dependencies [dc714f3]
590
- - Updated dependencies [b5da06a]
591
- - Updated dependencies [d1a1aa1]
592
- - Updated dependencies [63f9e9b]
593
- - Updated dependencies [5d142ab]
594
- - Updated dependencies [d5f588f]
595
- - Updated dependencies [e025824]
596
- - Updated dependencies [0571b98]
597
- - Updated dependencies [b6b43c7]
598
- - Updated dependencies [4fef487]
599
- - Updated dependencies [48d257a]
600
- - Updated dependencies [0c0c0b3]
601
- - Updated dependencies [0d2c085]
602
- - Updated dependencies [40acf9b]
603
- - Updated dependencies [9222aeb]
604
- - Updated dependencies [e2aceaf]
605
- - Updated dependencies [411e483]
606
- - Updated dependencies [8ba77a7]
607
- - Updated dependencies [7b3ae3f]
608
- - Updated dependencies [a166433]
609
- - Updated dependencies [26735b5]
610
- - Updated dependencies [443d8ec]
611
- - Updated dependencies [a8c8bd5]
612
- - Updated dependencies [abf9a79]
613
- - Updated dependencies [14c9410]
614
- - Updated dependencies [e86be6f]
615
- - Updated dependencies [9bf7291]
616
- - Updated dependencies [2e13791]
617
- - Updated dependencies [9f95b35]
618
- - Updated dependencies [66962ed]
619
- - Updated dependencies [0d06df6]
620
- - Updated dependencies [472524a]
621
- - Updated dependencies [dd3ff01]
622
- - Updated dependencies [d9c98f4]
623
- - Updated dependencies [05d2819]
624
- - Updated dependencies [9301f86]
625
- - Updated dependencies [0a87932]
626
- - Updated dependencies [c4a2fec]
627
- - Updated dependencies [957b739]
628
- - Updated dependencies [79457bd]
629
- - Updated dependencies [a3f768e]
630
- - Updated dependencies [7435eb5]
631
- - Updated dependencies [8aa9e20]
632
- - Updated dependencies [4617fab]
633
- - Updated dependencies [ac34802]
634
- - Updated dependencies [0054544]
635
- - Updated dependencies [cb68df0]
636
- - Updated dependencies [ad80501]
637
- - Updated dependencies [68ecf2f]
638
- - Updated dependencies [9e9c809]
639
- - Updated dependencies [32831c6]
640
- - Updated dependencies [6dc848c]
641
- - Updated dependencies [6b98118]
642
- - Updated dependencies [d0f9495]
643
- - Updated dependencies [63d791d]
644
- - Updated dependencies [87b828f]
645
- - Updated dependencies [3f2f00c]
646
- - Updated dependencies [bfdca8d]
647
- - Updated dependencies [0ff02bb]
648
- - Updated dependencies [7979f7f]
649
- - Updated dependencies [39a4fab]
650
- - Updated dependencies [44f4aba]
651
- - Updated dependencies [9bd5ab5]
652
- - Updated dependencies [57edfcb]
653
- - Updated dependencies [faf8446]
654
- - Updated dependencies [7ea4132]
655
- - Updated dependencies [d1a034f]
656
- - Updated dependencies [5c56081]
657
- - Updated dependencies [fd65bc6]
658
- - Updated dependencies [023ba40]
659
- - Updated dependencies [ea7a7c9]
660
- - Updated dependencies [26535e0]
661
- - Updated dependencies [e030615]
662
- - Updated dependencies [5e57fae]
663
- - Updated dependencies [393138b]
664
- - Updated dependencies [c57e248]
665
- - Updated dependencies [88a8ee5]
666
- - Updated dependencies [41fa418]
667
- - Updated dependencies [205077b]
668
- - Updated dependencies [71f938d]
669
- - Updated dependencies [3795467]
670
- - Updated dependencies [28a5ed5]
671
- - Updated dependencies [7182d14]
672
- - Updated dependencies [c1e6647]
673
- - Updated dependencies [1766ede]
674
- - Updated dependencies [811dff3]
675
- - Updated dependencies [f10304b]
676
- - Updated dependencies [dd5fd43]
677
- - Updated dependencies [33f4a6a]
678
- - Updated dependencies [383cbfa]
679
- - Updated dependencies [27deb4d]
680
- - Updated dependencies [c4df419]
624
+ - Updated dependencies
681
625
  - @ai-sdk/provider-utils@3.0.0
682
626
  - @ai-sdk/provider@2.0.0
683
627
 
@@ -721,8 +665,7 @@
721
665
 
722
666
  ### Patch Changes
723
667
 
724
- - Updated dependencies [57edfcb]
725
- - Updated dependencies [383cbfa]
668
+ - Updated dependencies
726
669
  - @ai-sdk/provider-utils@3.0.0-beta.5
727
670
 
728
671
  ## 1.0.0-beta.4
@@ -745,9 +688,7 @@
745
688
  ### Patch Changes
746
689
 
747
690
  - d1a034f: feature: using Zod 4 for internal stuff
748
- - Updated dependencies [0571b98]
749
- - Updated dependencies [39a4fab]
750
- - Updated dependencies [d1a034f]
691
+ - Updated dependencies
751
692
  - @ai-sdk/provider-utils@3.0.0-beta.2
752
693
 
753
694
  ## 1.0.0-beta.1
@@ -755,23 +696,7 @@
755
696
  ### Patch Changes
756
697
 
757
698
  - cb68df0: feat: add transcription and speech model support to provider registry
758
- - Updated dependencies [742b7be]
759
- - Updated dependencies [7cddb72]
760
- - Updated dependencies [ccce59b]
761
- - Updated dependencies [e2b9e4b]
762
- - Updated dependencies [45c1ea2]
763
- - Updated dependencies [e025824]
764
- - Updated dependencies [0d06df6]
765
- - Updated dependencies [472524a]
766
- - Updated dependencies [dd3ff01]
767
- - Updated dependencies [7435eb5]
768
- - Updated dependencies [cb68df0]
769
- - Updated dependencies [bfdca8d]
770
- - Updated dependencies [44f4aba]
771
- - Updated dependencies [023ba40]
772
- - Updated dependencies [5e57fae]
773
- - Updated dependencies [71f938d]
774
- - Updated dependencies [28a5ed5]
699
+ - Updated dependencies
775
700
  - @ai-sdk/provider@2.0.0-beta.1
776
701
  - @ai-sdk/provider-utils@3.0.0-beta.1
777
702
 
@@ -779,8 +704,7 @@
779
704
 
780
705
  ### Patch Changes
781
706
 
782
- - Updated dependencies [48d257a]
783
- - Updated dependencies [8ba77a7]
707
+ - Updated dependencies
784
708
  - @ai-sdk/provider@2.0.0-alpha.15
785
709
  - @ai-sdk/provider-utils@3.0.0-alpha.15
786
710
 
@@ -788,9 +712,7 @@
788
712
 
789
713
  ### Patch Changes
790
714
 
791
- - Updated dependencies [b5da06a]
792
- - Updated dependencies [63f9e9b]
793
- - Updated dependencies [2e13791]
715
+ - Updated dependencies
794
716
  - @ai-sdk/provider@2.0.0-alpha.14
795
717
  - @ai-sdk/provider-utils@3.0.0-alpha.14
796
718
 
@@ -838,8 +760,7 @@
838
760
 
839
761
  ### Patch Changes
840
762
 
841
- - Updated dependencies [4fef487]
842
- - Updated dependencies [9222aeb]
763
+ - Updated dependencies
843
764
  - @ai-sdk/provider-utils@3.0.0-alpha.8
844
765
  - @ai-sdk/provider@2.0.0-alpha.8
845
766
 
@@ -923,10 +844,7 @@
923
844
 
924
845
  ### Patch Changes
925
846
 
926
- - Updated dependencies [a571d6e]
927
- - Updated dependencies [a8c8bd5]
928
- - Updated dependencies [7979f7f]
929
- - Updated dependencies [41fa418]
847
+ - Updated dependencies
930
848
  - @ai-sdk/provider-utils@3.0.0-canary.15
931
849
  - @ai-sdk/provider@2.0.0-canary.14
932
850
 
@@ -934,8 +852,7 @@
934
852
 
935
853
  ### Patch Changes
936
854
 
937
- - Updated dependencies [957b739]
938
- - Updated dependencies [9bd5ab5]
855
+ - Updated dependencies
939
856
  - @ai-sdk/provider-utils@3.0.0-canary.14
940
857
  - @ai-sdk/provider@2.0.0-canary.13
941
858
 
@@ -943,8 +860,7 @@
943
860
 
944
861
  ### Patch Changes
945
862
 
946
- - Updated dependencies [7b3ae3f]
947
- - Updated dependencies [0ff02bb]
863
+ - Updated dependencies
948
864
  - @ai-sdk/provider@2.0.0-canary.12
949
865
  - @ai-sdk/provider-utils@3.0.0-canary.13
950
866
 
@@ -953,8 +869,6 @@
953
869
  ### Patch Changes
954
870
 
955
871
  - 3ea5656: feat(providers/assemblyai): add transcribe
956
- - Updated dependencies [9bf7291]
957
- - Updated dependencies [4617fab]
958
- - Updated dependencies [e030615]
872
+ - Updated dependencies
959
873
  - @ai-sdk/provider@2.0.0-canary.11
960
874
  - @ai-sdk/provider-utils@3.0.0-canary.12
package/dist/index.js CHANGED
@@ -401,7 +401,7 @@ var assemblyaiTranscriptionResponseSchema = import_v42.z.object({
401
401
  });
402
402
 
403
403
  // src/version.ts
404
- var VERSION = true ? "2.0.0-beta.61" : "0.0.0-test";
404
+ var VERSION = true ? "2.0.1" : "0.0.0-test";
405
405
 
406
406
  // src/assemblyai-provider.ts
407
407
  function createAssemblyAI(options = {}) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/assemblyai-provider.ts","../src/assemblyai-transcription-model.ts","../src/assemblyai-error.ts","../src/version.ts"],"sourcesContent":["export { createAssemblyAI, assemblyai } from './assemblyai-provider';\nexport type {\n AssemblyAIProvider,\n AssemblyAIProviderSettings,\n} from './assemblyai-provider';\nexport { VERSION } from './version';\n","import {\n TranscriptionModelV3,\n ProviderV3,\n NoSuchModelError,\n} from '@ai-sdk/provider';\nimport {\n FetchFunction,\n loadApiKey,\n withUserAgentSuffix,\n} from '@ai-sdk/provider-utils';\nimport { AssemblyAITranscriptionModel } from './assemblyai-transcription-model';\nimport { AssemblyAITranscriptionModelId } from './assemblyai-transcription-settings';\nimport { VERSION } from './version';\n\nexport interface AssemblyAIProvider extends ProviderV3 {\n (\n modelId: 'best',\n settings?: {},\n ): {\n transcription: AssemblyAITranscriptionModel;\n };\n\n /**\nCreates a model for transcription.\n */\n transcription(modelId: AssemblyAITranscriptionModelId): TranscriptionModelV3;\n\n /**\n * @deprecated Use `embeddingModel` instead.\n */\n textEmbeddingModel(modelId: string): never;\n}\n\nexport interface AssemblyAIProviderSettings {\n /**\nAPI key for authenticating requests.\n */\n apiKey?: string;\n\n /**\nCustom headers to include in the requests.\n */\n headers?: Record<string, string>;\n\n /**\nCustom fetch implementation. You can use it as a middleware to intercept requests,\nor to provide a custom fetch implementation for e.g. testing.\n */\n fetch?: FetchFunction;\n}\n\n/**\nCreate an AssemblyAI provider instance.\n */\nexport function createAssemblyAI(\n options: AssemblyAIProviderSettings = {},\n): AssemblyAIProvider {\n const getHeaders = () =>\n withUserAgentSuffix(\n {\n authorization: loadApiKey({\n apiKey: options.apiKey,\n environmentVariableName: 'ASSEMBLYAI_API_KEY',\n description: 'AssemblyAI',\n }),\n ...options.headers,\n },\n `ai-sdk/assemblyai/${VERSION}`,\n );\n\n const createTranscriptionModel = (modelId: AssemblyAITranscriptionModelId) =>\n new AssemblyAITranscriptionModel(modelId, {\n provider: `assemblyai.transcription`,\n url: ({ path }) => `https://api.assemblyai.com${path}`,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const provider = function (modelId: AssemblyAITranscriptionModelId) {\n return {\n transcription: createTranscriptionModel(modelId),\n };\n };\n\n provider.specificationVersion = 'v3' as const;\n provider.transcription = createTranscriptionModel;\n provider.transcriptionModel = createTranscriptionModel;\n\n provider.languageModel = () => {\n throw new NoSuchModelError({\n modelId: 'unknown',\n modelType: 'languageModel',\n message: 'AssemblyAI does not provide language models',\n });\n };\n\n provider.embeddingModel = (modelId: string) => {\n throw new NoSuchModelError({ modelId, modelType: 'embeddingModel' });\n };\n provider.textEmbeddingModel = provider.embeddingModel;\n\n provider.imageModel = (modelId: string) => {\n throw new NoSuchModelError({ modelId, modelType: 'imageModel' });\n };\n\n return provider as AssemblyAIProvider;\n}\n\n/**\nDefault AssemblyAI provider instance.\n */\nexport const assemblyai = createAssemblyAI();\n","import { TranscriptionModelV3, SharedV3Warning } from '@ai-sdk/provider';\nimport {\n combineHeaders,\n createJsonResponseHandler,\n extractResponseHeaders,\n parseProviderOptions,\n postJsonToApi,\n postToApi,\n} from '@ai-sdk/provider-utils';\nimport { z } from 'zod/v4';\nimport { AssemblyAIConfig } from './assemblyai-config';\nimport { assemblyaiFailedResponseHandler } from './assemblyai-error';\nimport { AssemblyAITranscriptionModelId } from './assemblyai-transcription-settings';\nimport { AssemblyAITranscriptionAPITypes } from './assemblyai-api-types';\n\n// https://www.assemblyai.com/docs/api-reference/transcripts/submit\nconst assemblyaiProviderOptionsSchema = z.object({\n /**\n * End time of the audio in milliseconds.\n */\n audioEndAt: z.number().int().nullish(),\n /**\n * Start time of the audio in milliseconds.\n */\n audioStartFrom: z.number().int().nullish(),\n /**\n * Whether to automatically generate chapters for the transcription.\n */\n autoChapters: z.boolean().nullish(),\n /**\n * Whether to automatically generate highlights for the transcription.\n */\n autoHighlights: z.boolean().nullish(),\n /**\n * Boost parameter for the transcription.\n * Allowed values: 'low', 'default', 'high'.\n */\n boostParam: z.string().nullish(),\n /**\n * Whether to enable content safety filtering.\n */\n contentSafety: z.boolean().nullish(),\n /**\n * Confidence threshold for content safety filtering (25-100).\n */\n contentSafetyConfidence: z.number().int().min(25).max(100).nullish(),\n /**\n * Custom spelling rules for the transcription.\n */\n customSpelling: z\n .array(\n z.object({\n from: z.array(z.string()),\n to: z.string(),\n }),\n )\n .nullish(),\n /**\n * Whether to include filler words (um, uh, etc.) in the transcription.\n */\n disfluencies: z.boolean().nullish(),\n /**\n * Whether to enable entity detection.\n */\n entityDetection: z.boolean().nullish(),\n /**\n * Whether to filter profanity from the transcription.\n */\n filterProfanity: z.boolean().nullish(),\n /**\n * Whether to format text with punctuation and capitalization.\n */\n formatText: z.boolean().nullish(),\n /**\n * Whether to enable IAB categories detection.\n */\n iabCategories: z.boolean().nullish(),\n /**\n * Language code for the transcription.\n */\n languageCode: z.union([z.literal('en'), z.string()]).nullish(),\n /**\n * Confidence threshold for language detection.\n */\n languageConfidenceThreshold: z.number().nullish(),\n /**\n * Whether to enable language detection.\n */\n languageDetection: z.boolean().nullish(),\n /**\n * Whether to process audio as multichannel.\n */\n multichannel: z.boolean().nullish(),\n /**\n * Whether to add punctuation to the transcription.\n */\n punctuate: z.boolean().nullish(),\n /**\n * Whether to redact personally identifiable information (PII).\n */\n redactPii: z.boolean().nullish(),\n /**\n * Whether to redact PII in the audio file.\n */\n redactPiiAudio: z.boolean().nullish(),\n /**\n * Audio format for PII redaction.\n */\n redactPiiAudioQuality: z.string().nullish(),\n /**\n * List of PII types to redact.\n */\n redactPiiPolicies: z.array(z.string()).nullish(),\n /**\n * Substitution method for redacted PII.\n */\n redactPiiSub: z.string().nullish(),\n /**\n * Whether to enable sentiment analysis.\n */\n sentimentAnalysis: z.boolean().nullish(),\n /**\n * Whether to identify different speakers in the audio.\n */\n speakerLabels: z.boolean().nullish(),\n /**\n * Number of speakers expected in the audio.\n */\n speakersExpected: z.number().int().nullish(),\n /**\n * Threshold for speech detection (0-1).\n */\n speechThreshold: z.number().min(0).max(1).nullish(),\n /**\n * Whether to generate a summary of the transcription.\n */\n summarization: z.boolean().nullish(),\n /**\n * Model to use for summarization.\n */\n summaryModel: z.string().nullish(),\n /**\n * Type of summary to generate.\n */\n summaryType: z.string().nullish(),\n /**\n * Name of the authentication header for webhook requests.\n */\n webhookAuthHeaderName: z.string().nullish(),\n /**\n * Value of the authentication header for webhook requests.\n */\n webhookAuthHeaderValue: z.string().nullish(),\n /**\n * URL to send webhook notifications to.\n */\n webhookUrl: z.string().nullish(),\n /**\n * List of words to boost recognition for.\n */\n wordBoost: z.array(z.string()).nullish(),\n});\n\nexport type AssemblyAITranscriptionCallOptions = z.infer<\n typeof assemblyaiProviderOptionsSchema\n>;\n\ninterface AssemblyAITranscriptionModelConfig extends AssemblyAIConfig {\n _internal?: {\n currentDate?: () => Date;\n };\n /**\n * The polling interval for checking transcript status in milliseconds.\n */\n pollingInterval?: number;\n}\n\nexport class AssemblyAITranscriptionModel implements TranscriptionModelV3 {\n readonly specificationVersion = 'v3';\n private readonly POLLING_INTERVAL_MS = 3000;\n\n get provider(): string {\n return this.config.provider;\n }\n\n constructor(\n readonly modelId: AssemblyAITranscriptionModelId,\n private readonly config: AssemblyAITranscriptionModelConfig,\n ) {}\n\n private async getArgs({\n providerOptions,\n }: Parameters<TranscriptionModelV3['doGenerate']>[0]) {\n const warnings: SharedV3Warning[] = [];\n\n // Parse provider options\n const assemblyaiOptions = await parseProviderOptions({\n provider: 'assemblyai',\n providerOptions,\n schema: assemblyaiProviderOptionsSchema,\n });\n\n const body: Omit<AssemblyAITranscriptionAPITypes, 'audio_url'> = {\n speech_model: this.modelId,\n };\n\n // Add provider-specific options\n if (assemblyaiOptions) {\n body.audio_end_at = assemblyaiOptions.audioEndAt ?? undefined;\n body.audio_start_from = assemblyaiOptions.audioStartFrom ?? undefined;\n body.auto_chapters = assemblyaiOptions.autoChapters ?? undefined;\n body.auto_highlights = assemblyaiOptions.autoHighlights ?? undefined;\n body.boost_param = (assemblyaiOptions.boostParam as never) ?? undefined;\n body.content_safety = assemblyaiOptions.contentSafety ?? undefined;\n body.content_safety_confidence =\n assemblyaiOptions.contentSafetyConfidence ?? undefined;\n body.custom_spelling =\n (assemblyaiOptions.customSpelling as never) ?? undefined;\n body.disfluencies = assemblyaiOptions.disfluencies ?? undefined;\n body.entity_detection = assemblyaiOptions.entityDetection ?? undefined;\n body.filter_profanity = assemblyaiOptions.filterProfanity ?? undefined;\n body.format_text = assemblyaiOptions.formatText ?? undefined;\n body.iab_categories = assemblyaiOptions.iabCategories ?? undefined;\n body.language_code =\n (assemblyaiOptions.languageCode as never) ?? undefined;\n body.language_confidence_threshold =\n assemblyaiOptions.languageConfidenceThreshold ?? undefined;\n body.language_detection =\n assemblyaiOptions.languageDetection ?? undefined;\n body.multichannel = assemblyaiOptions.multichannel ?? undefined;\n body.punctuate = assemblyaiOptions.punctuate ?? undefined;\n body.redact_pii = assemblyaiOptions.redactPii ?? undefined;\n body.redact_pii_audio = assemblyaiOptions.redactPiiAudio ?? undefined;\n body.redact_pii_audio_quality =\n (assemblyaiOptions.redactPiiAudioQuality as never) ?? undefined;\n body.redact_pii_policies =\n (assemblyaiOptions.redactPiiPolicies as never) ?? undefined;\n body.redact_pii_sub =\n (assemblyaiOptions.redactPiiSub as never) ?? undefined;\n body.sentiment_analysis =\n assemblyaiOptions.sentimentAnalysis ?? undefined;\n body.speaker_labels = assemblyaiOptions.speakerLabels ?? undefined;\n body.speakers_expected = assemblyaiOptions.speakersExpected ?? undefined;\n body.speech_threshold = assemblyaiOptions.speechThreshold ?? undefined;\n body.summarization = assemblyaiOptions.summarization ?? undefined;\n body.summary_model =\n (assemblyaiOptions.summaryModel as never) ?? undefined;\n body.summary_type = (assemblyaiOptions.summaryType as never) ?? undefined;\n body.webhook_auth_header_name =\n assemblyaiOptions.webhookAuthHeaderName ?? undefined;\n body.webhook_auth_header_value =\n assemblyaiOptions.webhookAuthHeaderValue ?? undefined;\n body.webhook_url = assemblyaiOptions.webhookUrl ?? undefined;\n body.word_boost = assemblyaiOptions.wordBoost ?? undefined;\n }\n\n return {\n body,\n warnings,\n };\n }\n\n /**\n * Polls the given transcript until we have a status other than `processing` or `queued`.\n *\n * @see https://www.assemblyai.com/docs/getting-started/transcribe-an-audio-file#step-33\n */\n private async waitForCompletion(\n transcriptId: string,\n headers: Record<string, string | undefined> | undefined,\n abortSignal?: AbortSignal,\n ): Promise<{\n transcript: z.infer<typeof assemblyaiTranscriptionResponseSchema>;\n responseHeaders: Record<string, string>;\n }> {\n const pollingInterval =\n this.config.pollingInterval ?? this.POLLING_INTERVAL_MS;\n\n while (true) {\n if (abortSignal?.aborted) {\n throw new Error('Transcription request was aborted');\n }\n\n const response = await fetch(\n this.config.url({\n path: `/v2/transcript/${transcriptId}`,\n modelId: this.modelId,\n }),\n {\n method: 'GET',\n headers: combineHeaders(\n this.config.headers(),\n headers,\n ) as HeadersInit,\n signal: abortSignal,\n },\n );\n\n if (!response.ok) {\n throw await assemblyaiFailedResponseHandler({\n response,\n url: this.config.url({\n path: `/v2/transcript/${transcriptId}`,\n modelId: this.modelId,\n }),\n requestBodyValues: {},\n });\n }\n\n const transcript = assemblyaiTranscriptionResponseSchema.parse(\n await response.json(),\n );\n\n if (transcript.status === 'completed') {\n return {\n transcript,\n responseHeaders: extractResponseHeaders(response),\n };\n }\n\n if (transcript.status === 'error') {\n throw new Error(\n `Transcription failed: ${transcript.error ?? 'Unknown error'}`,\n );\n }\n\n await new Promise(resolve => setTimeout(resolve, pollingInterval));\n }\n }\n\n async doGenerate(\n options: Parameters<TranscriptionModelV3['doGenerate']>[0],\n ): Promise<Awaited<ReturnType<TranscriptionModelV3['doGenerate']>>> {\n const currentDate = this.config._internal?.currentDate?.() ?? new Date();\n\n const { value: uploadResponse } = await postToApi({\n url: this.config.url({\n path: '/v2/upload',\n modelId: '',\n }),\n headers: {\n 'Content-Type': 'application/octet-stream',\n ...combineHeaders(this.config.headers(), options.headers),\n },\n body: {\n content: options.audio,\n values: options.audio,\n },\n failedResponseHandler: assemblyaiFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler(\n assemblyaiUploadResponseSchema,\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch,\n });\n\n const { body, warnings } = await this.getArgs(options);\n\n const { value: submitResponse } = await postJsonToApi({\n url: this.config.url({\n path: '/v2/transcript',\n modelId: this.modelId,\n }),\n headers: combineHeaders(this.config.headers(), options.headers),\n body: {\n ...body,\n audio_url: uploadResponse.upload_url,\n },\n failedResponseHandler: assemblyaiFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler(\n assemblyaiSubmitResponseSchema,\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch,\n });\n\n const { transcript, responseHeaders } = await this.waitForCompletion(\n submitResponse.id,\n options.headers,\n options.abortSignal,\n );\n\n return {\n text: transcript.text ?? '',\n segments:\n transcript.words?.map(word => ({\n text: word.text,\n startSecond: word.start,\n endSecond: word.end,\n })) ?? [],\n language: transcript.language_code ?? undefined,\n durationInSeconds:\n transcript.audio_duration ?? transcript.words?.at(-1)?.end ?? undefined,\n warnings,\n response: {\n timestamp: currentDate,\n modelId: this.modelId,\n headers: responseHeaders, // Headers from final GET request\n body: transcript, // Raw response from final GET request\n },\n };\n }\n}\n\nconst assemblyaiUploadResponseSchema = z.object({\n upload_url: z.string(),\n});\n\nconst assemblyaiSubmitResponseSchema = z.object({\n id: z.string(),\n status: z.enum(['queued', 'processing', 'completed', 'error']),\n});\n\nconst assemblyaiTranscriptionResponseSchema = z.object({\n id: z.string(),\n status: z.enum(['queued', 'processing', 'completed', 'error']),\n text: z.string().nullish(),\n language_code: z.string().nullish(),\n words: z\n .array(\n z.object({\n start: z.number(),\n end: z.number(),\n text: z.string(),\n }),\n )\n .nullish(),\n audio_duration: z.number().nullish(),\n error: z.string().nullish(),\n});\n","import { z } from 'zod/v4';\nimport { createJsonErrorResponseHandler } from '@ai-sdk/provider-utils';\n\nexport const assemblyaiErrorDataSchema = z.object({\n error: z.object({\n message: z.string(),\n code: z.number(),\n }),\n});\n\nexport type AssemblyAIErrorData = z.infer<typeof assemblyaiErrorDataSchema>;\n\nexport const assemblyaiFailedResponseHandler = createJsonErrorResponseHandler({\n errorSchema: assemblyaiErrorDataSchema,\n errorToMessage: data => data.error.message,\n});\n","// Version string of this package injected at build time.\ndeclare const __PACKAGE_VERSION__: string | undefined;\nexport const VERSION: string =\n typeof __PACKAGE_VERSION__ !== 'undefined'\n ? __PACKAGE_VERSION__\n : '0.0.0-test';\n"],"mappings":"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","names":["import_provider_utils","import_provider_utils","import_v4"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/assemblyai-provider.ts","../src/assemblyai-transcription-model.ts","../src/assemblyai-error.ts","../src/version.ts"],"sourcesContent":["export { createAssemblyAI, assemblyai } from './assemblyai-provider';\nexport type {\n AssemblyAIProvider,\n AssemblyAIProviderSettings,\n} from './assemblyai-provider';\nexport { VERSION } from './version';\n","import {\n TranscriptionModelV3,\n ProviderV3,\n NoSuchModelError,\n} from '@ai-sdk/provider';\nimport {\n FetchFunction,\n loadApiKey,\n withUserAgentSuffix,\n} from '@ai-sdk/provider-utils';\nimport { AssemblyAITranscriptionModel } from './assemblyai-transcription-model';\nimport { AssemblyAITranscriptionModelId } from './assemblyai-transcription-settings';\nimport { VERSION } from './version';\n\nexport interface AssemblyAIProvider extends ProviderV3 {\n (\n modelId: 'best',\n settings?: {},\n ): {\n transcription: AssemblyAITranscriptionModel;\n };\n\n /**\nCreates a model for transcription.\n */\n transcription(modelId: AssemblyAITranscriptionModelId): TranscriptionModelV3;\n\n /**\n * @deprecated Use `embeddingModel` instead.\n */\n textEmbeddingModel(modelId: string): never;\n}\n\nexport interface AssemblyAIProviderSettings {\n /**\nAPI key for authenticating requests.\n */\n apiKey?: string;\n\n /**\nCustom headers to include in the requests.\n */\n headers?: Record<string, string>;\n\n /**\nCustom fetch implementation. You can use it as a middleware to intercept requests,\nor to provide a custom fetch implementation for e.g. testing.\n */\n fetch?: FetchFunction;\n}\n\n/**\nCreate an AssemblyAI provider instance.\n */\nexport function createAssemblyAI(\n options: AssemblyAIProviderSettings = {},\n): AssemblyAIProvider {\n const getHeaders = () =>\n withUserAgentSuffix(\n {\n authorization: loadApiKey({\n apiKey: options.apiKey,\n environmentVariableName: 'ASSEMBLYAI_API_KEY',\n description: 'AssemblyAI',\n }),\n ...options.headers,\n },\n `ai-sdk/assemblyai/${VERSION}`,\n );\n\n const createTranscriptionModel = (modelId: AssemblyAITranscriptionModelId) =>\n new AssemblyAITranscriptionModel(modelId, {\n provider: `assemblyai.transcription`,\n url: ({ path }) => `https://api.assemblyai.com${path}`,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const provider = function (modelId: AssemblyAITranscriptionModelId) {\n return {\n transcription: createTranscriptionModel(modelId),\n };\n };\n\n provider.specificationVersion = 'v3' as const;\n provider.transcription = createTranscriptionModel;\n provider.transcriptionModel = createTranscriptionModel;\n\n provider.languageModel = () => {\n throw new NoSuchModelError({\n modelId: 'unknown',\n modelType: 'languageModel',\n message: 'AssemblyAI does not provide language models',\n });\n };\n\n provider.embeddingModel = (modelId: string) => {\n throw new NoSuchModelError({ modelId, modelType: 'embeddingModel' });\n };\n provider.textEmbeddingModel = provider.embeddingModel;\n\n provider.imageModel = (modelId: string) => {\n throw new NoSuchModelError({ modelId, modelType: 'imageModel' });\n };\n\n return provider as AssemblyAIProvider;\n}\n\n/**\nDefault AssemblyAI provider instance.\n */\nexport const assemblyai = createAssemblyAI();\n","import { TranscriptionModelV3, SharedV3Warning } from '@ai-sdk/provider';\nimport {\n combineHeaders,\n createJsonResponseHandler,\n extractResponseHeaders,\n parseProviderOptions,\n postJsonToApi,\n postToApi,\n} from '@ai-sdk/provider-utils';\nimport { z } from 'zod/v4';\nimport { AssemblyAIConfig } from './assemblyai-config';\nimport { assemblyaiFailedResponseHandler } from './assemblyai-error';\nimport { AssemblyAITranscriptionModelId } from './assemblyai-transcription-settings';\nimport { AssemblyAITranscriptionAPITypes } from './assemblyai-api-types';\n\n// https://www.assemblyai.com/docs/api-reference/transcripts/submit\nconst assemblyaiProviderOptionsSchema = z.object({\n /**\n * End time of the audio in milliseconds.\n */\n audioEndAt: z.number().int().nullish(),\n /**\n * Start time of the audio in milliseconds.\n */\n audioStartFrom: z.number().int().nullish(),\n /**\n * Whether to automatically generate chapters for the transcription.\n */\n autoChapters: z.boolean().nullish(),\n /**\n * Whether to automatically generate highlights for the transcription.\n */\n autoHighlights: z.boolean().nullish(),\n /**\n * Boost parameter for the transcription.\n * Allowed values: 'low', 'default', 'high'.\n */\n boostParam: z.string().nullish(),\n /**\n * Whether to enable content safety filtering.\n */\n contentSafety: z.boolean().nullish(),\n /**\n * Confidence threshold for content safety filtering (25-100).\n */\n contentSafetyConfidence: z.number().int().min(25).max(100).nullish(),\n /**\n * Custom spelling rules for the transcription.\n */\n customSpelling: z\n .array(\n z.object({\n from: z.array(z.string()),\n to: z.string(),\n }),\n )\n .nullish(),\n /**\n * Whether to include filler words (um, uh, etc.) in the transcription.\n */\n disfluencies: z.boolean().nullish(),\n /**\n * Whether to enable entity detection.\n */\n entityDetection: z.boolean().nullish(),\n /**\n * Whether to filter profanity from the transcription.\n */\n filterProfanity: z.boolean().nullish(),\n /**\n * Whether to format text with punctuation and capitalization.\n */\n formatText: z.boolean().nullish(),\n /**\n * Whether to enable IAB categories detection.\n */\n iabCategories: z.boolean().nullish(),\n /**\n * Language code for the transcription.\n */\n languageCode: z.union([z.literal('en'), z.string()]).nullish(),\n /**\n * Confidence threshold for language detection.\n */\n languageConfidenceThreshold: z.number().nullish(),\n /**\n * Whether to enable language detection.\n */\n languageDetection: z.boolean().nullish(),\n /**\n * Whether to process audio as multichannel.\n */\n multichannel: z.boolean().nullish(),\n /**\n * Whether to add punctuation to the transcription.\n */\n punctuate: z.boolean().nullish(),\n /**\n * Whether to redact personally identifiable information (PII).\n */\n redactPii: z.boolean().nullish(),\n /**\n * Whether to redact PII in the audio file.\n */\n redactPiiAudio: z.boolean().nullish(),\n /**\n * Audio format for PII redaction.\n */\n redactPiiAudioQuality: z.string().nullish(),\n /**\n * List of PII types to redact.\n */\n redactPiiPolicies: z.array(z.string()).nullish(),\n /**\n * Substitution method for redacted PII.\n */\n redactPiiSub: z.string().nullish(),\n /**\n * Whether to enable sentiment analysis.\n */\n sentimentAnalysis: z.boolean().nullish(),\n /**\n * Whether to identify different speakers in the audio.\n */\n speakerLabels: z.boolean().nullish(),\n /**\n * Number of speakers expected in the audio.\n */\n speakersExpected: z.number().int().nullish(),\n /**\n * Threshold for speech detection (0-1).\n */\n speechThreshold: z.number().min(0).max(1).nullish(),\n /**\n * Whether to generate a summary of the transcription.\n */\n summarization: z.boolean().nullish(),\n /**\n * Model to use for summarization.\n */\n summaryModel: z.string().nullish(),\n /**\n * Type of summary to generate.\n */\n summaryType: z.string().nullish(),\n /**\n * Name of the authentication header for webhook requests.\n */\n webhookAuthHeaderName: z.string().nullish(),\n /**\n * Value of the authentication header for webhook requests.\n */\n webhookAuthHeaderValue: z.string().nullish(),\n /**\n * URL to send webhook notifications to.\n */\n webhookUrl: z.string().nullish(),\n /**\n * List of words to boost recognition for.\n */\n wordBoost: z.array(z.string()).nullish(),\n});\n\nexport type AssemblyAITranscriptionCallOptions = z.infer<\n typeof assemblyaiProviderOptionsSchema\n>;\n\ninterface AssemblyAITranscriptionModelConfig extends AssemblyAIConfig {\n _internal?: {\n currentDate?: () => Date;\n };\n /**\n * The polling interval for checking transcript status in milliseconds.\n */\n pollingInterval?: number;\n}\n\nexport class AssemblyAITranscriptionModel implements TranscriptionModelV3 {\n readonly specificationVersion = 'v3';\n private readonly POLLING_INTERVAL_MS = 3000;\n\n get provider(): string {\n return this.config.provider;\n }\n\n constructor(\n readonly modelId: AssemblyAITranscriptionModelId,\n private readonly config: AssemblyAITranscriptionModelConfig,\n ) {}\n\n private async getArgs({\n providerOptions,\n }: Parameters<TranscriptionModelV3['doGenerate']>[0]) {\n const warnings: SharedV3Warning[] = [];\n\n // Parse provider options\n const assemblyaiOptions = await parseProviderOptions({\n provider: 'assemblyai',\n providerOptions,\n schema: assemblyaiProviderOptionsSchema,\n });\n\n const body: Omit<AssemblyAITranscriptionAPITypes, 'audio_url'> = {\n speech_model: this.modelId,\n };\n\n // Add provider-specific options\n if (assemblyaiOptions) {\n body.audio_end_at = assemblyaiOptions.audioEndAt ?? undefined;\n body.audio_start_from = assemblyaiOptions.audioStartFrom ?? undefined;\n body.auto_chapters = assemblyaiOptions.autoChapters ?? undefined;\n body.auto_highlights = assemblyaiOptions.autoHighlights ?? undefined;\n body.boost_param = (assemblyaiOptions.boostParam as never) ?? undefined;\n body.content_safety = assemblyaiOptions.contentSafety ?? undefined;\n body.content_safety_confidence =\n assemblyaiOptions.contentSafetyConfidence ?? undefined;\n body.custom_spelling =\n (assemblyaiOptions.customSpelling as never) ?? undefined;\n body.disfluencies = assemblyaiOptions.disfluencies ?? undefined;\n body.entity_detection = assemblyaiOptions.entityDetection ?? undefined;\n body.filter_profanity = assemblyaiOptions.filterProfanity ?? undefined;\n body.format_text = assemblyaiOptions.formatText ?? undefined;\n body.iab_categories = assemblyaiOptions.iabCategories ?? undefined;\n body.language_code =\n (assemblyaiOptions.languageCode as never) ?? undefined;\n body.language_confidence_threshold =\n assemblyaiOptions.languageConfidenceThreshold ?? undefined;\n body.language_detection =\n assemblyaiOptions.languageDetection ?? undefined;\n body.multichannel = assemblyaiOptions.multichannel ?? undefined;\n body.punctuate = assemblyaiOptions.punctuate ?? undefined;\n body.redact_pii = assemblyaiOptions.redactPii ?? undefined;\n body.redact_pii_audio = assemblyaiOptions.redactPiiAudio ?? undefined;\n body.redact_pii_audio_quality =\n (assemblyaiOptions.redactPiiAudioQuality as never) ?? undefined;\n body.redact_pii_policies =\n (assemblyaiOptions.redactPiiPolicies as never) ?? undefined;\n body.redact_pii_sub =\n (assemblyaiOptions.redactPiiSub as never) ?? undefined;\n body.sentiment_analysis =\n assemblyaiOptions.sentimentAnalysis ?? undefined;\n body.speaker_labels = assemblyaiOptions.speakerLabels ?? undefined;\n body.speakers_expected = assemblyaiOptions.speakersExpected ?? undefined;\n body.speech_threshold = assemblyaiOptions.speechThreshold ?? undefined;\n body.summarization = assemblyaiOptions.summarization ?? undefined;\n body.summary_model =\n (assemblyaiOptions.summaryModel as never) ?? undefined;\n body.summary_type = (assemblyaiOptions.summaryType as never) ?? undefined;\n body.webhook_auth_header_name =\n assemblyaiOptions.webhookAuthHeaderName ?? undefined;\n body.webhook_auth_header_value =\n assemblyaiOptions.webhookAuthHeaderValue ?? undefined;\n body.webhook_url = assemblyaiOptions.webhookUrl ?? undefined;\n body.word_boost = assemblyaiOptions.wordBoost ?? undefined;\n }\n\n return {\n body,\n warnings,\n };\n }\n\n /**\n * Polls the given transcript until we have a status other than `processing` or `queued`.\n *\n * @see https://www.assemblyai.com/docs/getting-started/transcribe-an-audio-file#step-33\n */\n private async waitForCompletion(\n transcriptId: string,\n headers: Record<string, string | undefined> | undefined,\n abortSignal?: AbortSignal,\n ): Promise<{\n transcript: z.infer<typeof assemblyaiTranscriptionResponseSchema>;\n responseHeaders: Record<string, string>;\n }> {\n const pollingInterval =\n this.config.pollingInterval ?? this.POLLING_INTERVAL_MS;\n\n while (true) {\n if (abortSignal?.aborted) {\n throw new Error('Transcription request was aborted');\n }\n\n const response = await fetch(\n this.config.url({\n path: `/v2/transcript/${transcriptId}`,\n modelId: this.modelId,\n }),\n {\n method: 'GET',\n headers: combineHeaders(\n this.config.headers(),\n headers,\n ) as HeadersInit,\n signal: abortSignal,\n },\n );\n\n if (!response.ok) {\n throw await assemblyaiFailedResponseHandler({\n response,\n url: this.config.url({\n path: `/v2/transcript/${transcriptId}`,\n modelId: this.modelId,\n }),\n requestBodyValues: {},\n });\n }\n\n const transcript = assemblyaiTranscriptionResponseSchema.parse(\n await response.json(),\n );\n\n if (transcript.status === 'completed') {\n return {\n transcript,\n responseHeaders: extractResponseHeaders(response),\n };\n }\n\n if (transcript.status === 'error') {\n throw new Error(\n `Transcription failed: ${transcript.error ?? 'Unknown error'}`,\n );\n }\n\n await new Promise(resolve => setTimeout(resolve, pollingInterval));\n }\n }\n\n async doGenerate(\n options: Parameters<TranscriptionModelV3['doGenerate']>[0],\n ): Promise<Awaited<ReturnType<TranscriptionModelV3['doGenerate']>>> {\n const currentDate = this.config._internal?.currentDate?.() ?? new Date();\n\n const { value: uploadResponse } = await postToApi({\n url: this.config.url({\n path: '/v2/upload',\n modelId: '',\n }),\n headers: {\n 'Content-Type': 'application/octet-stream',\n ...combineHeaders(this.config.headers(), options.headers),\n },\n body: {\n content: options.audio,\n values: options.audio,\n },\n failedResponseHandler: assemblyaiFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler(\n assemblyaiUploadResponseSchema,\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch,\n });\n\n const { body, warnings } = await this.getArgs(options);\n\n const { value: submitResponse } = await postJsonToApi({\n url: this.config.url({\n path: '/v2/transcript',\n modelId: this.modelId,\n }),\n headers: combineHeaders(this.config.headers(), options.headers),\n body: {\n ...body,\n audio_url: uploadResponse.upload_url,\n },\n failedResponseHandler: assemblyaiFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler(\n assemblyaiSubmitResponseSchema,\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch,\n });\n\n const { transcript, responseHeaders } = await this.waitForCompletion(\n submitResponse.id,\n options.headers,\n options.abortSignal,\n );\n\n return {\n text: transcript.text ?? '',\n segments:\n transcript.words?.map(word => ({\n text: word.text,\n startSecond: word.start,\n endSecond: word.end,\n })) ?? [],\n language: transcript.language_code ?? undefined,\n durationInSeconds:\n transcript.audio_duration ?? transcript.words?.at(-1)?.end ?? undefined,\n warnings,\n response: {\n timestamp: currentDate,\n modelId: this.modelId,\n headers: responseHeaders, // Headers from final GET request\n body: transcript, // Raw response from final GET request\n },\n };\n }\n}\n\nconst assemblyaiUploadResponseSchema = z.object({\n upload_url: z.string(),\n});\n\nconst assemblyaiSubmitResponseSchema = z.object({\n id: z.string(),\n status: z.enum(['queued', 'processing', 'completed', 'error']),\n});\n\nconst assemblyaiTranscriptionResponseSchema = z.object({\n id: z.string(),\n status: z.enum(['queued', 'processing', 'completed', 'error']),\n text: z.string().nullish(),\n language_code: z.string().nullish(),\n words: z\n .array(\n z.object({\n start: z.number(),\n end: z.number(),\n text: z.string(),\n }),\n )\n .nullish(),\n audio_duration: z.number().nullish(),\n error: z.string().nullish(),\n});\n","import { z } from 'zod/v4';\nimport { createJsonErrorResponseHandler } from '@ai-sdk/provider-utils';\n\nexport const assemblyaiErrorDataSchema = z.object({\n error: z.object({\n message: z.string(),\n code: z.number(),\n }),\n});\n\nexport type AssemblyAIErrorData = z.infer<typeof assemblyaiErrorDataSchema>;\n\nexport const assemblyaiFailedResponseHandler = createJsonErrorResponseHandler({\n errorSchema: assemblyaiErrorDataSchema,\n errorToMessage: data => data.error.message,\n});\n","// Version string of this package injected at build time.\ndeclare const __PACKAGE_VERSION__: string | undefined;\nexport const VERSION: string =\n typeof __PACKAGE_VERSION__ !== 'undefined'\n ? __PACKAGE_VERSION__\n : '0.0.0-test';\n"],"mappings":"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","names":["import_provider_utils","import_provider_utils","import_v4"]}
package/dist/index.mjs CHANGED
@@ -385,7 +385,7 @@ var assemblyaiTranscriptionResponseSchema = z2.object({
385
385
  });
386
386
 
387
387
  // src/version.ts
388
- var VERSION = true ? "2.0.0-beta.61" : "0.0.0-test";
388
+ var VERSION = true ? "2.0.1" : "0.0.0-test";
389
389
 
390
390
  // src/assemblyai-provider.ts
391
391
  function createAssemblyAI(options = {}) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/assemblyai-provider.ts","../src/assemblyai-transcription-model.ts","../src/assemblyai-error.ts","../src/version.ts"],"sourcesContent":["import {\n TranscriptionModelV3,\n ProviderV3,\n NoSuchModelError,\n} from '@ai-sdk/provider';\nimport {\n FetchFunction,\n loadApiKey,\n withUserAgentSuffix,\n} from '@ai-sdk/provider-utils';\nimport { AssemblyAITranscriptionModel } from './assemblyai-transcription-model';\nimport { AssemblyAITranscriptionModelId } from './assemblyai-transcription-settings';\nimport { VERSION } from './version';\n\nexport interface AssemblyAIProvider extends ProviderV3 {\n (\n modelId: 'best',\n settings?: {},\n ): {\n transcription: AssemblyAITranscriptionModel;\n };\n\n /**\nCreates a model for transcription.\n */\n transcription(modelId: AssemblyAITranscriptionModelId): TranscriptionModelV3;\n\n /**\n * @deprecated Use `embeddingModel` instead.\n */\n textEmbeddingModel(modelId: string): never;\n}\n\nexport interface AssemblyAIProviderSettings {\n /**\nAPI key for authenticating requests.\n */\n apiKey?: string;\n\n /**\nCustom headers to include in the requests.\n */\n headers?: Record<string, string>;\n\n /**\nCustom fetch implementation. You can use it as a middleware to intercept requests,\nor to provide a custom fetch implementation for e.g. testing.\n */\n fetch?: FetchFunction;\n}\n\n/**\nCreate an AssemblyAI provider instance.\n */\nexport function createAssemblyAI(\n options: AssemblyAIProviderSettings = {},\n): AssemblyAIProvider {\n const getHeaders = () =>\n withUserAgentSuffix(\n {\n authorization: loadApiKey({\n apiKey: options.apiKey,\n environmentVariableName: 'ASSEMBLYAI_API_KEY',\n description: 'AssemblyAI',\n }),\n ...options.headers,\n },\n `ai-sdk/assemblyai/${VERSION}`,\n );\n\n const createTranscriptionModel = (modelId: AssemblyAITranscriptionModelId) =>\n new AssemblyAITranscriptionModel(modelId, {\n provider: `assemblyai.transcription`,\n url: ({ path }) => `https://api.assemblyai.com${path}`,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const provider = function (modelId: AssemblyAITranscriptionModelId) {\n return {\n transcription: createTranscriptionModel(modelId),\n };\n };\n\n provider.specificationVersion = 'v3' as const;\n provider.transcription = createTranscriptionModel;\n provider.transcriptionModel = createTranscriptionModel;\n\n provider.languageModel = () => {\n throw new NoSuchModelError({\n modelId: 'unknown',\n modelType: 'languageModel',\n message: 'AssemblyAI does not provide language models',\n });\n };\n\n provider.embeddingModel = (modelId: string) => {\n throw new NoSuchModelError({ modelId, modelType: 'embeddingModel' });\n };\n provider.textEmbeddingModel = provider.embeddingModel;\n\n provider.imageModel = (modelId: string) => {\n throw new NoSuchModelError({ modelId, modelType: 'imageModel' });\n };\n\n return provider as AssemblyAIProvider;\n}\n\n/**\nDefault AssemblyAI provider instance.\n */\nexport const assemblyai = createAssemblyAI();\n","import { TranscriptionModelV3, SharedV3Warning } from '@ai-sdk/provider';\nimport {\n combineHeaders,\n createJsonResponseHandler,\n extractResponseHeaders,\n parseProviderOptions,\n postJsonToApi,\n postToApi,\n} from '@ai-sdk/provider-utils';\nimport { z } from 'zod/v4';\nimport { AssemblyAIConfig } from './assemblyai-config';\nimport { assemblyaiFailedResponseHandler } from './assemblyai-error';\nimport { AssemblyAITranscriptionModelId } from './assemblyai-transcription-settings';\nimport { AssemblyAITranscriptionAPITypes } from './assemblyai-api-types';\n\n// https://www.assemblyai.com/docs/api-reference/transcripts/submit\nconst assemblyaiProviderOptionsSchema = z.object({\n /**\n * End time of the audio in milliseconds.\n */\n audioEndAt: z.number().int().nullish(),\n /**\n * Start time of the audio in milliseconds.\n */\n audioStartFrom: z.number().int().nullish(),\n /**\n * Whether to automatically generate chapters for the transcription.\n */\n autoChapters: z.boolean().nullish(),\n /**\n * Whether to automatically generate highlights for the transcription.\n */\n autoHighlights: z.boolean().nullish(),\n /**\n * Boost parameter for the transcription.\n * Allowed values: 'low', 'default', 'high'.\n */\n boostParam: z.string().nullish(),\n /**\n * Whether to enable content safety filtering.\n */\n contentSafety: z.boolean().nullish(),\n /**\n * Confidence threshold for content safety filtering (25-100).\n */\n contentSafetyConfidence: z.number().int().min(25).max(100).nullish(),\n /**\n * Custom spelling rules for the transcription.\n */\n customSpelling: z\n .array(\n z.object({\n from: z.array(z.string()),\n to: z.string(),\n }),\n )\n .nullish(),\n /**\n * Whether to include filler words (um, uh, etc.) in the transcription.\n */\n disfluencies: z.boolean().nullish(),\n /**\n * Whether to enable entity detection.\n */\n entityDetection: z.boolean().nullish(),\n /**\n * Whether to filter profanity from the transcription.\n */\n filterProfanity: z.boolean().nullish(),\n /**\n * Whether to format text with punctuation and capitalization.\n */\n formatText: z.boolean().nullish(),\n /**\n * Whether to enable IAB categories detection.\n */\n iabCategories: z.boolean().nullish(),\n /**\n * Language code for the transcription.\n */\n languageCode: z.union([z.literal('en'), z.string()]).nullish(),\n /**\n * Confidence threshold for language detection.\n */\n languageConfidenceThreshold: z.number().nullish(),\n /**\n * Whether to enable language detection.\n */\n languageDetection: z.boolean().nullish(),\n /**\n * Whether to process audio as multichannel.\n */\n multichannel: z.boolean().nullish(),\n /**\n * Whether to add punctuation to the transcription.\n */\n punctuate: z.boolean().nullish(),\n /**\n * Whether to redact personally identifiable information (PII).\n */\n redactPii: z.boolean().nullish(),\n /**\n * Whether to redact PII in the audio file.\n */\n redactPiiAudio: z.boolean().nullish(),\n /**\n * Audio format for PII redaction.\n */\n redactPiiAudioQuality: z.string().nullish(),\n /**\n * List of PII types to redact.\n */\n redactPiiPolicies: z.array(z.string()).nullish(),\n /**\n * Substitution method for redacted PII.\n */\n redactPiiSub: z.string().nullish(),\n /**\n * Whether to enable sentiment analysis.\n */\n sentimentAnalysis: z.boolean().nullish(),\n /**\n * Whether to identify different speakers in the audio.\n */\n speakerLabels: z.boolean().nullish(),\n /**\n * Number of speakers expected in the audio.\n */\n speakersExpected: z.number().int().nullish(),\n /**\n * Threshold for speech detection (0-1).\n */\n speechThreshold: z.number().min(0).max(1).nullish(),\n /**\n * Whether to generate a summary of the transcription.\n */\n summarization: z.boolean().nullish(),\n /**\n * Model to use for summarization.\n */\n summaryModel: z.string().nullish(),\n /**\n * Type of summary to generate.\n */\n summaryType: z.string().nullish(),\n /**\n * Name of the authentication header for webhook requests.\n */\n webhookAuthHeaderName: z.string().nullish(),\n /**\n * Value of the authentication header for webhook requests.\n */\n webhookAuthHeaderValue: z.string().nullish(),\n /**\n * URL to send webhook notifications to.\n */\n webhookUrl: z.string().nullish(),\n /**\n * List of words to boost recognition for.\n */\n wordBoost: z.array(z.string()).nullish(),\n});\n\nexport type AssemblyAITranscriptionCallOptions = z.infer<\n typeof assemblyaiProviderOptionsSchema\n>;\n\ninterface AssemblyAITranscriptionModelConfig extends AssemblyAIConfig {\n _internal?: {\n currentDate?: () => Date;\n };\n /**\n * The polling interval for checking transcript status in milliseconds.\n */\n pollingInterval?: number;\n}\n\nexport class AssemblyAITranscriptionModel implements TranscriptionModelV3 {\n readonly specificationVersion = 'v3';\n private readonly POLLING_INTERVAL_MS = 3000;\n\n get provider(): string {\n return this.config.provider;\n }\n\n constructor(\n readonly modelId: AssemblyAITranscriptionModelId,\n private readonly config: AssemblyAITranscriptionModelConfig,\n ) {}\n\n private async getArgs({\n providerOptions,\n }: Parameters<TranscriptionModelV3['doGenerate']>[0]) {\n const warnings: SharedV3Warning[] = [];\n\n // Parse provider options\n const assemblyaiOptions = await parseProviderOptions({\n provider: 'assemblyai',\n providerOptions,\n schema: assemblyaiProviderOptionsSchema,\n });\n\n const body: Omit<AssemblyAITranscriptionAPITypes, 'audio_url'> = {\n speech_model: this.modelId,\n };\n\n // Add provider-specific options\n if (assemblyaiOptions) {\n body.audio_end_at = assemblyaiOptions.audioEndAt ?? undefined;\n body.audio_start_from = assemblyaiOptions.audioStartFrom ?? undefined;\n body.auto_chapters = assemblyaiOptions.autoChapters ?? undefined;\n body.auto_highlights = assemblyaiOptions.autoHighlights ?? undefined;\n body.boost_param = (assemblyaiOptions.boostParam as never) ?? undefined;\n body.content_safety = assemblyaiOptions.contentSafety ?? undefined;\n body.content_safety_confidence =\n assemblyaiOptions.contentSafetyConfidence ?? undefined;\n body.custom_spelling =\n (assemblyaiOptions.customSpelling as never) ?? undefined;\n body.disfluencies = assemblyaiOptions.disfluencies ?? undefined;\n body.entity_detection = assemblyaiOptions.entityDetection ?? undefined;\n body.filter_profanity = assemblyaiOptions.filterProfanity ?? undefined;\n body.format_text = assemblyaiOptions.formatText ?? undefined;\n body.iab_categories = assemblyaiOptions.iabCategories ?? undefined;\n body.language_code =\n (assemblyaiOptions.languageCode as never) ?? undefined;\n body.language_confidence_threshold =\n assemblyaiOptions.languageConfidenceThreshold ?? undefined;\n body.language_detection =\n assemblyaiOptions.languageDetection ?? undefined;\n body.multichannel = assemblyaiOptions.multichannel ?? undefined;\n body.punctuate = assemblyaiOptions.punctuate ?? undefined;\n body.redact_pii = assemblyaiOptions.redactPii ?? undefined;\n body.redact_pii_audio = assemblyaiOptions.redactPiiAudio ?? undefined;\n body.redact_pii_audio_quality =\n (assemblyaiOptions.redactPiiAudioQuality as never) ?? undefined;\n body.redact_pii_policies =\n (assemblyaiOptions.redactPiiPolicies as never) ?? undefined;\n body.redact_pii_sub =\n (assemblyaiOptions.redactPiiSub as never) ?? undefined;\n body.sentiment_analysis =\n assemblyaiOptions.sentimentAnalysis ?? undefined;\n body.speaker_labels = assemblyaiOptions.speakerLabels ?? undefined;\n body.speakers_expected = assemblyaiOptions.speakersExpected ?? undefined;\n body.speech_threshold = assemblyaiOptions.speechThreshold ?? undefined;\n body.summarization = assemblyaiOptions.summarization ?? undefined;\n body.summary_model =\n (assemblyaiOptions.summaryModel as never) ?? undefined;\n body.summary_type = (assemblyaiOptions.summaryType as never) ?? undefined;\n body.webhook_auth_header_name =\n assemblyaiOptions.webhookAuthHeaderName ?? undefined;\n body.webhook_auth_header_value =\n assemblyaiOptions.webhookAuthHeaderValue ?? undefined;\n body.webhook_url = assemblyaiOptions.webhookUrl ?? undefined;\n body.word_boost = assemblyaiOptions.wordBoost ?? undefined;\n }\n\n return {\n body,\n warnings,\n };\n }\n\n /**\n * Polls the given transcript until we have a status other than `processing` or `queued`.\n *\n * @see https://www.assemblyai.com/docs/getting-started/transcribe-an-audio-file#step-33\n */\n private async waitForCompletion(\n transcriptId: string,\n headers: Record<string, string | undefined> | undefined,\n abortSignal?: AbortSignal,\n ): Promise<{\n transcript: z.infer<typeof assemblyaiTranscriptionResponseSchema>;\n responseHeaders: Record<string, string>;\n }> {\n const pollingInterval =\n this.config.pollingInterval ?? this.POLLING_INTERVAL_MS;\n\n while (true) {\n if (abortSignal?.aborted) {\n throw new Error('Transcription request was aborted');\n }\n\n const response = await fetch(\n this.config.url({\n path: `/v2/transcript/${transcriptId}`,\n modelId: this.modelId,\n }),\n {\n method: 'GET',\n headers: combineHeaders(\n this.config.headers(),\n headers,\n ) as HeadersInit,\n signal: abortSignal,\n },\n );\n\n if (!response.ok) {\n throw await assemblyaiFailedResponseHandler({\n response,\n url: this.config.url({\n path: `/v2/transcript/${transcriptId}`,\n modelId: this.modelId,\n }),\n requestBodyValues: {},\n });\n }\n\n const transcript = assemblyaiTranscriptionResponseSchema.parse(\n await response.json(),\n );\n\n if (transcript.status === 'completed') {\n return {\n transcript,\n responseHeaders: extractResponseHeaders(response),\n };\n }\n\n if (transcript.status === 'error') {\n throw new Error(\n `Transcription failed: ${transcript.error ?? 'Unknown error'}`,\n );\n }\n\n await new Promise(resolve => setTimeout(resolve, pollingInterval));\n }\n }\n\n async doGenerate(\n options: Parameters<TranscriptionModelV3['doGenerate']>[0],\n ): Promise<Awaited<ReturnType<TranscriptionModelV3['doGenerate']>>> {\n const currentDate = this.config._internal?.currentDate?.() ?? new Date();\n\n const { value: uploadResponse } = await postToApi({\n url: this.config.url({\n path: '/v2/upload',\n modelId: '',\n }),\n headers: {\n 'Content-Type': 'application/octet-stream',\n ...combineHeaders(this.config.headers(), options.headers),\n },\n body: {\n content: options.audio,\n values: options.audio,\n },\n failedResponseHandler: assemblyaiFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler(\n assemblyaiUploadResponseSchema,\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch,\n });\n\n const { body, warnings } = await this.getArgs(options);\n\n const { value: submitResponse } = await postJsonToApi({\n url: this.config.url({\n path: '/v2/transcript',\n modelId: this.modelId,\n }),\n headers: combineHeaders(this.config.headers(), options.headers),\n body: {\n ...body,\n audio_url: uploadResponse.upload_url,\n },\n failedResponseHandler: assemblyaiFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler(\n assemblyaiSubmitResponseSchema,\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch,\n });\n\n const { transcript, responseHeaders } = await this.waitForCompletion(\n submitResponse.id,\n options.headers,\n options.abortSignal,\n );\n\n return {\n text: transcript.text ?? '',\n segments:\n transcript.words?.map(word => ({\n text: word.text,\n startSecond: word.start,\n endSecond: word.end,\n })) ?? [],\n language: transcript.language_code ?? undefined,\n durationInSeconds:\n transcript.audio_duration ?? transcript.words?.at(-1)?.end ?? undefined,\n warnings,\n response: {\n timestamp: currentDate,\n modelId: this.modelId,\n headers: responseHeaders, // Headers from final GET request\n body: transcript, // Raw response from final GET request\n },\n };\n }\n}\n\nconst assemblyaiUploadResponseSchema = z.object({\n upload_url: z.string(),\n});\n\nconst assemblyaiSubmitResponseSchema = z.object({\n id: z.string(),\n status: z.enum(['queued', 'processing', 'completed', 'error']),\n});\n\nconst assemblyaiTranscriptionResponseSchema = z.object({\n id: z.string(),\n status: z.enum(['queued', 'processing', 'completed', 'error']),\n text: z.string().nullish(),\n language_code: z.string().nullish(),\n words: z\n .array(\n z.object({\n start: z.number(),\n end: z.number(),\n text: z.string(),\n }),\n )\n .nullish(),\n audio_duration: z.number().nullish(),\n error: z.string().nullish(),\n});\n","import { z } from 'zod/v4';\nimport { createJsonErrorResponseHandler } from '@ai-sdk/provider-utils';\n\nexport const assemblyaiErrorDataSchema = z.object({\n error: z.object({\n message: z.string(),\n code: z.number(),\n }),\n});\n\nexport type AssemblyAIErrorData = z.infer<typeof assemblyaiErrorDataSchema>;\n\nexport const assemblyaiFailedResponseHandler = createJsonErrorResponseHandler({\n errorSchema: assemblyaiErrorDataSchema,\n errorToMessage: data => data.error.message,\n});\n","// Version string of this package injected at build time.\ndeclare const __PACKAGE_VERSION__: string | undefined;\nexport const VERSION: string =\n typeof __PACKAGE_VERSION__ !== 'undefined'\n ? __PACKAGE_VERSION__\n : '0.0.0-test';\n"],"mappings":"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","names":["z","z"]}
1
+ {"version":3,"sources":["../src/assemblyai-provider.ts","../src/assemblyai-transcription-model.ts","../src/assemblyai-error.ts","../src/version.ts"],"sourcesContent":["import {\n TranscriptionModelV3,\n ProviderV3,\n NoSuchModelError,\n} from '@ai-sdk/provider';\nimport {\n FetchFunction,\n loadApiKey,\n withUserAgentSuffix,\n} from '@ai-sdk/provider-utils';\nimport { AssemblyAITranscriptionModel } from './assemblyai-transcription-model';\nimport { AssemblyAITranscriptionModelId } from './assemblyai-transcription-settings';\nimport { VERSION } from './version';\n\nexport interface AssemblyAIProvider extends ProviderV3 {\n (\n modelId: 'best',\n settings?: {},\n ): {\n transcription: AssemblyAITranscriptionModel;\n };\n\n /**\nCreates a model for transcription.\n */\n transcription(modelId: AssemblyAITranscriptionModelId): TranscriptionModelV3;\n\n /**\n * @deprecated Use `embeddingModel` instead.\n */\n textEmbeddingModel(modelId: string): never;\n}\n\nexport interface AssemblyAIProviderSettings {\n /**\nAPI key for authenticating requests.\n */\n apiKey?: string;\n\n /**\nCustom headers to include in the requests.\n */\n headers?: Record<string, string>;\n\n /**\nCustom fetch implementation. You can use it as a middleware to intercept requests,\nor to provide a custom fetch implementation for e.g. testing.\n */\n fetch?: FetchFunction;\n}\n\n/**\nCreate an AssemblyAI provider instance.\n */\nexport function createAssemblyAI(\n options: AssemblyAIProviderSettings = {},\n): AssemblyAIProvider {\n const getHeaders = () =>\n withUserAgentSuffix(\n {\n authorization: loadApiKey({\n apiKey: options.apiKey,\n environmentVariableName: 'ASSEMBLYAI_API_KEY',\n description: 'AssemblyAI',\n }),\n ...options.headers,\n },\n `ai-sdk/assemblyai/${VERSION}`,\n );\n\n const createTranscriptionModel = (modelId: AssemblyAITranscriptionModelId) =>\n new AssemblyAITranscriptionModel(modelId, {\n provider: `assemblyai.transcription`,\n url: ({ path }) => `https://api.assemblyai.com${path}`,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const provider = function (modelId: AssemblyAITranscriptionModelId) {\n return {\n transcription: createTranscriptionModel(modelId),\n };\n };\n\n provider.specificationVersion = 'v3' as const;\n provider.transcription = createTranscriptionModel;\n provider.transcriptionModel = createTranscriptionModel;\n\n provider.languageModel = () => {\n throw new NoSuchModelError({\n modelId: 'unknown',\n modelType: 'languageModel',\n message: 'AssemblyAI does not provide language models',\n });\n };\n\n provider.embeddingModel = (modelId: string) => {\n throw new NoSuchModelError({ modelId, modelType: 'embeddingModel' });\n };\n provider.textEmbeddingModel = provider.embeddingModel;\n\n provider.imageModel = (modelId: string) => {\n throw new NoSuchModelError({ modelId, modelType: 'imageModel' });\n };\n\n return provider as AssemblyAIProvider;\n}\n\n/**\nDefault AssemblyAI provider instance.\n */\nexport const assemblyai = createAssemblyAI();\n","import { TranscriptionModelV3, SharedV3Warning } from '@ai-sdk/provider';\nimport {\n combineHeaders,\n createJsonResponseHandler,\n extractResponseHeaders,\n parseProviderOptions,\n postJsonToApi,\n postToApi,\n} from '@ai-sdk/provider-utils';\nimport { z } from 'zod/v4';\nimport { AssemblyAIConfig } from './assemblyai-config';\nimport { assemblyaiFailedResponseHandler } from './assemblyai-error';\nimport { AssemblyAITranscriptionModelId } from './assemblyai-transcription-settings';\nimport { AssemblyAITranscriptionAPITypes } from './assemblyai-api-types';\n\n// https://www.assemblyai.com/docs/api-reference/transcripts/submit\nconst assemblyaiProviderOptionsSchema = z.object({\n /**\n * End time of the audio in milliseconds.\n */\n audioEndAt: z.number().int().nullish(),\n /**\n * Start time of the audio in milliseconds.\n */\n audioStartFrom: z.number().int().nullish(),\n /**\n * Whether to automatically generate chapters for the transcription.\n */\n autoChapters: z.boolean().nullish(),\n /**\n * Whether to automatically generate highlights for the transcription.\n */\n autoHighlights: z.boolean().nullish(),\n /**\n * Boost parameter for the transcription.\n * Allowed values: 'low', 'default', 'high'.\n */\n boostParam: z.string().nullish(),\n /**\n * Whether to enable content safety filtering.\n */\n contentSafety: z.boolean().nullish(),\n /**\n * Confidence threshold for content safety filtering (25-100).\n */\n contentSafetyConfidence: z.number().int().min(25).max(100).nullish(),\n /**\n * Custom spelling rules for the transcription.\n */\n customSpelling: z\n .array(\n z.object({\n from: z.array(z.string()),\n to: z.string(),\n }),\n )\n .nullish(),\n /**\n * Whether to include filler words (um, uh, etc.) in the transcription.\n */\n disfluencies: z.boolean().nullish(),\n /**\n * Whether to enable entity detection.\n */\n entityDetection: z.boolean().nullish(),\n /**\n * Whether to filter profanity from the transcription.\n */\n filterProfanity: z.boolean().nullish(),\n /**\n * Whether to format text with punctuation and capitalization.\n */\n formatText: z.boolean().nullish(),\n /**\n * Whether to enable IAB categories detection.\n */\n iabCategories: z.boolean().nullish(),\n /**\n * Language code for the transcription.\n */\n languageCode: z.union([z.literal('en'), z.string()]).nullish(),\n /**\n * Confidence threshold for language detection.\n */\n languageConfidenceThreshold: z.number().nullish(),\n /**\n * Whether to enable language detection.\n */\n languageDetection: z.boolean().nullish(),\n /**\n * Whether to process audio as multichannel.\n */\n multichannel: z.boolean().nullish(),\n /**\n * Whether to add punctuation to the transcription.\n */\n punctuate: z.boolean().nullish(),\n /**\n * Whether to redact personally identifiable information (PII).\n */\n redactPii: z.boolean().nullish(),\n /**\n * Whether to redact PII in the audio file.\n */\n redactPiiAudio: z.boolean().nullish(),\n /**\n * Audio format for PII redaction.\n */\n redactPiiAudioQuality: z.string().nullish(),\n /**\n * List of PII types to redact.\n */\n redactPiiPolicies: z.array(z.string()).nullish(),\n /**\n * Substitution method for redacted PII.\n */\n redactPiiSub: z.string().nullish(),\n /**\n * Whether to enable sentiment analysis.\n */\n sentimentAnalysis: z.boolean().nullish(),\n /**\n * Whether to identify different speakers in the audio.\n */\n speakerLabels: z.boolean().nullish(),\n /**\n * Number of speakers expected in the audio.\n */\n speakersExpected: z.number().int().nullish(),\n /**\n * Threshold for speech detection (0-1).\n */\n speechThreshold: z.number().min(0).max(1).nullish(),\n /**\n * Whether to generate a summary of the transcription.\n */\n summarization: z.boolean().nullish(),\n /**\n * Model to use for summarization.\n */\n summaryModel: z.string().nullish(),\n /**\n * Type of summary to generate.\n */\n summaryType: z.string().nullish(),\n /**\n * Name of the authentication header for webhook requests.\n */\n webhookAuthHeaderName: z.string().nullish(),\n /**\n * Value of the authentication header for webhook requests.\n */\n webhookAuthHeaderValue: z.string().nullish(),\n /**\n * URL to send webhook notifications to.\n */\n webhookUrl: z.string().nullish(),\n /**\n * List of words to boost recognition for.\n */\n wordBoost: z.array(z.string()).nullish(),\n});\n\nexport type AssemblyAITranscriptionCallOptions = z.infer<\n typeof assemblyaiProviderOptionsSchema\n>;\n\ninterface AssemblyAITranscriptionModelConfig extends AssemblyAIConfig {\n _internal?: {\n currentDate?: () => Date;\n };\n /**\n * The polling interval for checking transcript status in milliseconds.\n */\n pollingInterval?: number;\n}\n\nexport class AssemblyAITranscriptionModel implements TranscriptionModelV3 {\n readonly specificationVersion = 'v3';\n private readonly POLLING_INTERVAL_MS = 3000;\n\n get provider(): string {\n return this.config.provider;\n }\n\n constructor(\n readonly modelId: AssemblyAITranscriptionModelId,\n private readonly config: AssemblyAITranscriptionModelConfig,\n ) {}\n\n private async getArgs({\n providerOptions,\n }: Parameters<TranscriptionModelV3['doGenerate']>[0]) {\n const warnings: SharedV3Warning[] = [];\n\n // Parse provider options\n const assemblyaiOptions = await parseProviderOptions({\n provider: 'assemblyai',\n providerOptions,\n schema: assemblyaiProviderOptionsSchema,\n });\n\n const body: Omit<AssemblyAITranscriptionAPITypes, 'audio_url'> = {\n speech_model: this.modelId,\n };\n\n // Add provider-specific options\n if (assemblyaiOptions) {\n body.audio_end_at = assemblyaiOptions.audioEndAt ?? undefined;\n body.audio_start_from = assemblyaiOptions.audioStartFrom ?? undefined;\n body.auto_chapters = assemblyaiOptions.autoChapters ?? undefined;\n body.auto_highlights = assemblyaiOptions.autoHighlights ?? undefined;\n body.boost_param = (assemblyaiOptions.boostParam as never) ?? undefined;\n body.content_safety = assemblyaiOptions.contentSafety ?? undefined;\n body.content_safety_confidence =\n assemblyaiOptions.contentSafetyConfidence ?? undefined;\n body.custom_spelling =\n (assemblyaiOptions.customSpelling as never) ?? undefined;\n body.disfluencies = assemblyaiOptions.disfluencies ?? undefined;\n body.entity_detection = assemblyaiOptions.entityDetection ?? undefined;\n body.filter_profanity = assemblyaiOptions.filterProfanity ?? undefined;\n body.format_text = assemblyaiOptions.formatText ?? undefined;\n body.iab_categories = assemblyaiOptions.iabCategories ?? undefined;\n body.language_code =\n (assemblyaiOptions.languageCode as never) ?? undefined;\n body.language_confidence_threshold =\n assemblyaiOptions.languageConfidenceThreshold ?? undefined;\n body.language_detection =\n assemblyaiOptions.languageDetection ?? undefined;\n body.multichannel = assemblyaiOptions.multichannel ?? undefined;\n body.punctuate = assemblyaiOptions.punctuate ?? undefined;\n body.redact_pii = assemblyaiOptions.redactPii ?? undefined;\n body.redact_pii_audio = assemblyaiOptions.redactPiiAudio ?? undefined;\n body.redact_pii_audio_quality =\n (assemblyaiOptions.redactPiiAudioQuality as never) ?? undefined;\n body.redact_pii_policies =\n (assemblyaiOptions.redactPiiPolicies as never) ?? undefined;\n body.redact_pii_sub =\n (assemblyaiOptions.redactPiiSub as never) ?? undefined;\n body.sentiment_analysis =\n assemblyaiOptions.sentimentAnalysis ?? undefined;\n body.speaker_labels = assemblyaiOptions.speakerLabels ?? undefined;\n body.speakers_expected = assemblyaiOptions.speakersExpected ?? undefined;\n body.speech_threshold = assemblyaiOptions.speechThreshold ?? undefined;\n body.summarization = assemblyaiOptions.summarization ?? undefined;\n body.summary_model =\n (assemblyaiOptions.summaryModel as never) ?? undefined;\n body.summary_type = (assemblyaiOptions.summaryType as never) ?? undefined;\n body.webhook_auth_header_name =\n assemblyaiOptions.webhookAuthHeaderName ?? undefined;\n body.webhook_auth_header_value =\n assemblyaiOptions.webhookAuthHeaderValue ?? undefined;\n body.webhook_url = assemblyaiOptions.webhookUrl ?? undefined;\n body.word_boost = assemblyaiOptions.wordBoost ?? undefined;\n }\n\n return {\n body,\n warnings,\n };\n }\n\n /**\n * Polls the given transcript until we have a status other than `processing` or `queued`.\n *\n * @see https://www.assemblyai.com/docs/getting-started/transcribe-an-audio-file#step-33\n */\n private async waitForCompletion(\n transcriptId: string,\n headers: Record<string, string | undefined> | undefined,\n abortSignal?: AbortSignal,\n ): Promise<{\n transcript: z.infer<typeof assemblyaiTranscriptionResponseSchema>;\n responseHeaders: Record<string, string>;\n }> {\n const pollingInterval =\n this.config.pollingInterval ?? this.POLLING_INTERVAL_MS;\n\n while (true) {\n if (abortSignal?.aborted) {\n throw new Error('Transcription request was aborted');\n }\n\n const response = await fetch(\n this.config.url({\n path: `/v2/transcript/${transcriptId}`,\n modelId: this.modelId,\n }),\n {\n method: 'GET',\n headers: combineHeaders(\n this.config.headers(),\n headers,\n ) as HeadersInit,\n signal: abortSignal,\n },\n );\n\n if (!response.ok) {\n throw await assemblyaiFailedResponseHandler({\n response,\n url: this.config.url({\n path: `/v2/transcript/${transcriptId}`,\n modelId: this.modelId,\n }),\n requestBodyValues: {},\n });\n }\n\n const transcript = assemblyaiTranscriptionResponseSchema.parse(\n await response.json(),\n );\n\n if (transcript.status === 'completed') {\n return {\n transcript,\n responseHeaders: extractResponseHeaders(response),\n };\n }\n\n if (transcript.status === 'error') {\n throw new Error(\n `Transcription failed: ${transcript.error ?? 'Unknown error'}`,\n );\n }\n\n await new Promise(resolve => setTimeout(resolve, pollingInterval));\n }\n }\n\n async doGenerate(\n options: Parameters<TranscriptionModelV3['doGenerate']>[0],\n ): Promise<Awaited<ReturnType<TranscriptionModelV3['doGenerate']>>> {\n const currentDate = this.config._internal?.currentDate?.() ?? new Date();\n\n const { value: uploadResponse } = await postToApi({\n url: this.config.url({\n path: '/v2/upload',\n modelId: '',\n }),\n headers: {\n 'Content-Type': 'application/octet-stream',\n ...combineHeaders(this.config.headers(), options.headers),\n },\n body: {\n content: options.audio,\n values: options.audio,\n },\n failedResponseHandler: assemblyaiFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler(\n assemblyaiUploadResponseSchema,\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch,\n });\n\n const { body, warnings } = await this.getArgs(options);\n\n const { value: submitResponse } = await postJsonToApi({\n url: this.config.url({\n path: '/v2/transcript',\n modelId: this.modelId,\n }),\n headers: combineHeaders(this.config.headers(), options.headers),\n body: {\n ...body,\n audio_url: uploadResponse.upload_url,\n },\n failedResponseHandler: assemblyaiFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler(\n assemblyaiSubmitResponseSchema,\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch,\n });\n\n const { transcript, responseHeaders } = await this.waitForCompletion(\n submitResponse.id,\n options.headers,\n options.abortSignal,\n );\n\n return {\n text: transcript.text ?? '',\n segments:\n transcript.words?.map(word => ({\n text: word.text,\n startSecond: word.start,\n endSecond: word.end,\n })) ?? [],\n language: transcript.language_code ?? undefined,\n durationInSeconds:\n transcript.audio_duration ?? transcript.words?.at(-1)?.end ?? undefined,\n warnings,\n response: {\n timestamp: currentDate,\n modelId: this.modelId,\n headers: responseHeaders, // Headers from final GET request\n body: transcript, // Raw response from final GET request\n },\n };\n }\n}\n\nconst assemblyaiUploadResponseSchema = z.object({\n upload_url: z.string(),\n});\n\nconst assemblyaiSubmitResponseSchema = z.object({\n id: z.string(),\n status: z.enum(['queued', 'processing', 'completed', 'error']),\n});\n\nconst assemblyaiTranscriptionResponseSchema = z.object({\n id: z.string(),\n status: z.enum(['queued', 'processing', 'completed', 'error']),\n text: z.string().nullish(),\n language_code: z.string().nullish(),\n words: z\n .array(\n z.object({\n start: z.number(),\n end: z.number(),\n text: z.string(),\n }),\n )\n .nullish(),\n audio_duration: z.number().nullish(),\n error: z.string().nullish(),\n});\n","import { z } from 'zod/v4';\nimport { createJsonErrorResponseHandler } from '@ai-sdk/provider-utils';\n\nexport const assemblyaiErrorDataSchema = z.object({\n error: z.object({\n message: z.string(),\n code: z.number(),\n }),\n});\n\nexport type AssemblyAIErrorData = z.infer<typeof assemblyaiErrorDataSchema>;\n\nexport const assemblyaiFailedResponseHandler = createJsonErrorResponseHandler({\n errorSchema: assemblyaiErrorDataSchema,\n errorToMessage: data => data.error.message,\n});\n","// Version string of this package injected at build time.\ndeclare const __PACKAGE_VERSION__: string | undefined;\nexport const VERSION: string =\n typeof __PACKAGE_VERSION__ !== 'undefined'\n ? __PACKAGE_VERSION__\n : '0.0.0-test';\n"],"mappings":"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","names":["z","z"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai-sdk/assemblyai",
3
- "version": "2.0.0-beta.61",
3
+ "version": "2.0.1",
4
4
  "license": "Apache-2.0",
5
5
  "sideEffects": false,
6
6
  "main": "./dist/index.js",
@@ -20,15 +20,15 @@
20
20
  }
21
21
  },
22
22
  "dependencies": {
23
- "@ai-sdk/provider": "3.0.0-beta.32",
24
- "@ai-sdk/provider-utils": "4.0.0-beta.59"
23
+ "@ai-sdk/provider": "3.0.0",
24
+ "@ai-sdk/provider-utils": "4.0.1"
25
25
  },
26
26
  "devDependencies": {
27
27
  "@types/node": "20.17.24",
28
28
  "tsup": "^8",
29
29
  "typescript": "5.6.3",
30
30
  "zod": "3.25.76",
31
- "@ai-sdk/test-server": "1.0.0-beta.1",
31
+ "@ai-sdk/test-server": "1.0.0",
32
32
  "@vercel/ai-tsconfig": "0.0.0"
33
33
  },
34
34
  "peerDependencies": {