@ai-sdk/assemblyai 3.0.7 → 3.0.10

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,28 @@
1
1
  # @ai-sdk/assemblyai
2
2
 
3
+ ## 3.0.10
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [31c7be8]
8
+ - @ai-sdk/provider-utils@5.0.10
9
+
10
+ ## 3.0.9
11
+
12
+ ### Patch Changes
13
+
14
+ - Updated dependencies [4be62c1]
15
+ - Updated dependencies [7805e4a]
16
+ - Updated dependencies [cd12954]
17
+ - @ai-sdk/provider-utils@5.0.9
18
+
19
+ ## 3.0.8
20
+
21
+ ### Patch Changes
22
+
23
+ - Updated dependencies [e193290]
24
+ - @ai-sdk/provider-utils@5.0.8
25
+
3
26
  ## 3.0.7
4
27
 
5
28
  ### Patch Changes
package/dist/index.js CHANGED
@@ -619,7 +619,7 @@ var assemblyaiTranscriptionResponseSchema = z3.object({
619
619
  });
620
620
 
621
621
  // src/version.ts
622
- var VERSION = true ? "3.0.7" : "0.0.0-test";
622
+ var VERSION = true ? "3.0.10" : "0.0.0-test";
623
623
 
624
624
  // src/assemblyai-provider.ts
625
625
  function createAssemblyAI(options = {}) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/assemblyai-provider.ts","../src/assemblyai-transcription-model.ts","../src/assemblyai-error.ts","../src/assemblyai-transcription-model-options.ts","../src/version.ts"],"sourcesContent":["import {\n NoSuchModelError,\n type TranscriptionModelV4,\n type ProviderV4,\n} from '@ai-sdk/provider';\nimport {\n loadApiKey,\n withUserAgentSuffix,\n type FetchFunction,\n} from '@ai-sdk/provider-utils';\nimport { AssemblyAITranscriptionModel } from './assemblyai-transcription-model';\nimport type { AssemblyAITranscriptionModelId } from './assemblyai-transcription-settings';\nimport { VERSION } from './version';\n\nexport interface AssemblyAIProvider extends ProviderV4 {\n (\n modelId: AssemblyAITranscriptionModelId,\n settings?: {},\n ): {\n transcription: AssemblyAITranscriptionModel;\n };\n\n /**\n * Creates a model for transcription.\n */\n transcription(modelId: AssemblyAITranscriptionModelId): TranscriptionModelV4;\n\n /**\n * @deprecated Use `embeddingModel` instead.\n */\n textEmbeddingModel(modelId: string): never;\n}\n\nexport interface AssemblyAIProviderSettings {\n /**\n * API key for authenticating requests.\n */\n apiKey?: string;\n\n /**\n * Custom headers to include in the requests.\n */\n headers?: Record<string, string>;\n\n /**\n * Custom fetch implementation. You can use it as a middleware to intercept requests,\n * or to provide a custom fetch implementation for e.g. testing.\n */\n fetch?: FetchFunction;\n}\n\n/**\n * Create 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 = 'v4' 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/**\n * Default AssemblyAI provider instance.\n */\nexport const assemblyai = createAssemblyAI();\n","import type {\n TranscriptionModelV4,\n SharedV4Warning,\n SharedV4ProviderMetadata,\n} from '@ai-sdk/provider';\nimport {\n combineHeaders,\n createJsonResponseHandler,\n extractResponseHeaders,\n parseProviderOptions,\n postJsonToApi,\n postToApi,\n serializeModelOptions,\n WORKFLOW_SERIALIZE,\n WORKFLOW_DESERIALIZE,\n} from '@ai-sdk/provider-utils';\nimport { z } from 'zod/v4';\nimport type { AssemblyAIConfig } from './assemblyai-config';\nimport { assemblyaiFailedResponseHandler } from './assemblyai-error';\nimport { assemblyaiTranscriptionModelOptionsSchema } from './assemblyai-transcription-model-options';\nimport type { AssemblyAITranscriptionModelId } from './assemblyai-transcription-settings';\nimport type { AssemblyAITranscriptionAPITypes } from './assemblyai-api-types';\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 TranscriptionModelV4 {\n readonly specificationVersion = 'v4';\n private readonly POLLING_INTERVAL_MS = 3000;\n\n get provider(): string {\n return this.config.provider;\n }\n\n static [WORKFLOW_SERIALIZE](model: AssemblyAITranscriptionModel) {\n return serializeModelOptions({\n modelId: model.modelId,\n config: model.config,\n });\n }\n\n static [WORKFLOW_DESERIALIZE](options: {\n modelId: AssemblyAITranscriptionModelId;\n config: AssemblyAITranscriptionModelConfig;\n }) {\n return new AssemblyAITranscriptionModel(options.modelId, options.config);\n }\n\n constructor(\n readonly modelId: AssemblyAITranscriptionModelId,\n private readonly config: AssemblyAITranscriptionModelConfig,\n ) {}\n\n private async getArgs({\n providerOptions,\n }: Parameters<TranscriptionModelV4['doGenerate']>[0]) {\n const warnings: SharedV4Warning[] = [];\n\n // Parse provider options\n const assemblyaiOptions = await parseProviderOptions({\n provider: 'assemblyai',\n providerOptions,\n schema: assemblyaiTranscriptionModelOptionsSchema,\n });\n\n const body: Omit<AssemblyAITranscriptionAPITypes, 'audio_url'> = {};\n\n // The legacy `best` model is selected via the deprecated singular\n // `speech_model` parameter. All other models (e.g. `universal-2`,\n // `universal-3-pro`, `universal-3-5-pro`) are only accessible via the\n // `speech_models` array and are rejected by `speech_model`.\n // See https://www.assemblyai.com/docs/pre-recorded-audio/select-the-speech-model\n if (this.modelId === 'best') {\n body.speech_model = this.modelId as 'best';\n warnings.push({\n type: 'deprecated',\n setting: `model '${this.modelId}'`,\n message:\n \"The 'best' model is a legacy AssemblyAI model. Use 'universal-3-5-pro' instead. See documentation: https://www.assemblyai.com/docs/pre-recorded-audio/select-the-speech-model\",\n });\n } else {\n body.speech_models = [this.modelId];\n\n // Forward-looking nudge: universal-3-5-pro is AssemblyAI's latest\n // flagship and is set to replace universal-3-pro. Not a deprecation —\n // both models still work — so this is an informational warning only.\n if (\n this.modelId === 'universal-3-pro' ||\n this.modelId === 'universal-2'\n ) {\n const docsUrl =\n 'https://www.assemblyai.com/docs/pre-recorded-audio/select-the-speech-model';\n warnings.push({\n type: 'other',\n message:\n this.modelId === 'universal-3-pro'\n ? `'universal-3-5-pro' is AssemblyAI's latest flagship model and is set to replace 'universal-3-pro'. See ${docsUrl}`\n : `'universal-3-5-pro' is AssemblyAI's latest flagship model. See ${docsUrl}`,\n });\n }\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 body.keyterms_prompt = assemblyaiOptions.keytermsPrompt ?? undefined;\n body.prompt = assemblyaiOptions.prompt ?? undefined;\n body.temperature = assemblyaiOptions.temperature ?? undefined;\n body.remove_audio_tags = assemblyaiOptions.removeAudioTags ?? undefined;\n body.domain = assemblyaiOptions.domain ?? undefined;\n body.redact_pii_return_unredacted =\n assemblyaiOptions.redactPiiReturnUnredacted ?? undefined;\n body.redact_static_entities =\n assemblyaiOptions.redactStaticEntities ?? undefined;\n\n if (assemblyaiOptions.speakerOptions) {\n body.speaker_options = {\n min_speakers_expected:\n assemblyaiOptions.speakerOptions.minSpeakersExpected ?? undefined,\n max_speakers_expected:\n assemblyaiOptions.speakerOptions.maxSpeakersExpected ?? undefined,\n };\n }\n\n if (assemblyaiOptions.languageDetectionOptions) {\n body.language_detection_options = {\n expected_languages:\n assemblyaiOptions.languageDetectionOptions.expectedLanguages ??\n undefined,\n fallback_language:\n assemblyaiOptions.languageDetectionOptions.fallbackLanguage ??\n undefined,\n code_switching:\n assemblyaiOptions.languageDetectionOptions.codeSwitching ??\n undefined,\n code_switching_confidence_threshold:\n assemblyaiOptions.languageDetectionOptions\n .codeSwitchingConfidenceThreshold ?? undefined,\n };\n }\n\n if (assemblyaiOptions.redactPiiAudioOptions) {\n body.redact_pii_audio_options = {\n return_redacted_no_speech_audio:\n assemblyaiOptions.redactPiiAudioOptions\n .returnRedactedNoSpeechAudio ?? undefined,\n override_audio_redaction_method:\n assemblyaiOptions.redactPiiAudioOptions\n .overrideAudioRedactionMethod ?? undefined,\n };\n }\n\n const deprecatedBoostOptions: string[] = [];\n if (assemblyaiOptions.wordBoost != null) {\n deprecatedBoostOptions.push('wordBoost');\n }\n if (assemblyaiOptions.boostParam != null) {\n deprecatedBoostOptions.push('boostParam');\n }\n if (deprecatedBoostOptions.length > 0) {\n warnings.push({\n type: 'deprecated',\n setting: deprecatedBoostOptions.join(', '),\n message:\n \"'wordBoost' and 'boostParam' are deprecated and are rejected by 'universal-3-pro' / 'universal-3-5-pro' and 'slam-1'. Use 'keytermsPrompt' instead.\",\n });\n }\n\n // The following options only take effect alongside a prerequisite\n // option; without it AssemblyAI either rejects the request (400) or\n // silently ignores the option. Warn rather than mutate user input.\n if (\n (assemblyaiOptions.redactPiiReturnUnredacted != null ||\n assemblyaiOptions.redactStaticEntities != null) &&\n !assemblyaiOptions.redactPii\n ) {\n warnings.push({\n type: 'other',\n message:\n \"'redactPiiReturnUnredacted' and 'redactStaticEntities' require 'redactPii' to be enabled; AssemblyAI rejects the request otherwise.\",\n });\n }\n if (\n assemblyaiOptions.redactPiiAudioOptions != null &&\n !assemblyaiOptions.redactPiiAudio\n ) {\n warnings.push({\n type: 'other',\n message:\n \"'redactPiiAudioOptions' only applies when 'redactPiiAudio' is enabled; it is otherwise ignored.\",\n });\n }\n if (\n assemblyaiOptions.languageCode != null &&\n assemblyaiOptions.languageDetection\n ) {\n warnings.push({\n type: 'other',\n message:\n \"'languageDetection' cannot be combined with an explicit 'languageCode'; AssemblyAI rejects requests that set both.\",\n });\n }\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 rawTranscript: unknown;\n responseHeaders: Record<string, string>;\n }> {\n const pollingInterval =\n this.config.pollingInterval ?? this.POLLING_INTERVAL_MS;\n\n // Honor a caller-provided fetch (proxy, auth injection, tests) for the\n // polling GETs, matching the upload/submit calls that use config.fetch.\n const fetchImpl = this.config.fetch ?? globalThis.fetch;\n\n while (true) {\n if (abortSignal?.aborted) {\n throw new Error('Transcription request was aborted');\n }\n\n const response = await fetchImpl(\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 rawTranscript = await response.json();\n const transcript =\n assemblyaiTranscriptionResponseSchema.parse(rawTranscript);\n\n if (transcript.status === 'completed') {\n return {\n transcript,\n rawTranscript,\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<TranscriptionModelV4['doGenerate']>[0],\n ): Promise<Awaited<ReturnType<TranscriptionModelV4['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, rawTranscript, responseHeaders } =\n await this.waitForCompletion(\n submitResponse.id,\n options.headers,\n options.abortSignal,\n );\n\n // Surface diarization and audio-intelligence results that the AI SDK's\n // `segments` shape can't represent, keyed under `assemblyai`. Presence is\n // gated on the parsed transcript, but values are taken from the raw\n // response so no fields are stripped by the schema.\n //\n // NOTE: timings inside these objects (e.g. `utterances[].start`) are in\n // milliseconds, matching the AssemblyAI API — unlike the top-level\n // `segments`, whose `startSecond`/`endSecond` are in seconds.\n const raw = (rawTranscript ?? {}) as Record<string, unknown>;\n const assemblyaiMetadata: Record<string, unknown> = {};\n if (transcript.utterances != null) {\n assemblyaiMetadata.utterances = raw.utterances;\n }\n if (transcript.sentiment_analysis_results != null) {\n assemblyaiMetadata.sentimentAnalysisResults =\n raw.sentiment_analysis_results;\n }\n if (transcript.entities != null) {\n assemblyaiMetadata.entities = raw.entities;\n }\n if (transcript.content_safety_labels != null) {\n assemblyaiMetadata.contentSafetyLabels = raw.content_safety_labels;\n }\n if (transcript.iab_categories_result != null) {\n assemblyaiMetadata.iabCategoriesResult = raw.iab_categories_result;\n }\n if (transcript.auto_highlights_result != null) {\n assemblyaiMetadata.autoHighlightsResult = raw.auto_highlights_result;\n }\n\n const lastWordEndMs = transcript.words?.at(-1)?.end;\n\n return {\n text: transcript.text ?? '',\n // AssemblyAI returns word timings in milliseconds; the AI SDK reports\n // segment timings in seconds.\n segments:\n transcript.words?.map(word => ({\n text: word.text,\n startSecond: word.start / 1000,\n endSecond: word.end / 1000,\n })) ?? [],\n language: transcript.language_code ?? undefined,\n durationInSeconds:\n transcript.audio_duration ??\n (lastWordEndMs != null ? lastWordEndMs / 1000 : undefined),\n warnings,\n ...(Object.keys(assemblyaiMetadata).length > 0 && {\n providerMetadata: {\n assemblyai: assemblyaiMetadata,\n } as SharedV4ProviderMetadata,\n }),\n response: {\n timestamp: currentDate,\n modelId: this.modelId,\n headers: responseHeaders, // Headers from final GET request\n body: rawTranscript, // Full 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 assemblyaiWordSchema = z.object({\n start: z.number(),\n end: z.number(),\n text: z.string(),\n confidence: z.number().nullish(),\n // Speaker label (e.g. 'A', 'B') when speaker diarization is enabled, else null.\n speaker: z.string().nullish(),\n channel: z.string().nullish(),\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 speech_model_used: z.string().nullish(),\n words: z.array(assemblyaiWordSchema).nullish(),\n // Speaker-diarized utterances (present when `speaker_labels` is enabled).\n utterances: z\n .array(\n z.object({\n start: z.number(),\n end: z.number(),\n text: z.string(),\n confidence: z.number().nullish(),\n speaker: z.string().nullish(),\n channel: z.string().nullish(),\n words: z.array(assemblyaiWordSchema).nullish(),\n }),\n )\n .nullish(),\n // Audio-intelligence results, present only when the matching feature is\n // enabled. Kept intentionally permissive (the full structures are also\n // available on the raw `response.body`).\n sentiment_analysis_results: z\n .array(\n z.object({\n text: z.string(),\n start: z.number().nullish(),\n end: z.number().nullish(),\n sentiment: z.string(),\n confidence: z.number().nullish(),\n speaker: z.string().nullish(),\n }),\n )\n .nullish(),\n entities: z\n .array(\n z.object({\n entity_type: z.string(),\n text: z.string(),\n start: z.number().nullish(),\n end: z.number().nullish(),\n }),\n )\n .nullish(),\n content_safety_labels: z.record(z.string(), z.any()).nullish(),\n iab_categories_result: z.record(z.string(), z.any()).nullish(),\n auto_highlights_result: z.record(z.string(), z.any()).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","import { z } from 'zod/v4';\n\n// https://www.assemblyai.com/docs/api-reference/transcripts/submit\nexport const assemblyaiTranscriptionModelOptionsSchema = 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 word boost (used with `wordBoost`).\n * Allowed values: 'low', 'default', 'high'.\n *\n * @deprecated Only applies to the deprecated `wordBoost` option. Use\n * `keytermsPrompt` instead, which works with the recommended `universal-*`\n * models.\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 * Enable a domain-specific model to improve accuracy for specialized\n * terminology. Currently supports `'medical-v1'` (Medical Mode).\n */\n domain: z.string().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 * Domain-specific keyterms to boost recognition for (max 6 words per phrase).\n * Replaces `wordBoost` for newer models: supported by `universal-3-pro` /\n * `universal-3-5-pro` and `slam-1` (and `universal-2` when metaphone is\n * enabled for the account).\n */\n keytermsPrompt: z.array(z.string()).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 * Options for automatic language detection.\n */\n languageDetectionOptions: z\n .object({\n /** List of languages expected in the audio file. */\n expectedLanguages: z.array(z.string()).nullish(),\n /** Fallback language if the detected language is not expected. */\n fallbackLanguage: z.string().nullish(),\n /** Whether code switching should be detected. */\n codeSwitching: z.boolean().nullish(),\n /** Confidence threshold for code switching detection (0-1). */\n codeSwitchingConfidenceThreshold: z.number().min(0).max(1).nullish(),\n })\n .nullish(),\n /**\n * Whether to process audio as multichannel.\n */\n multichannel: z.boolean().nullish(),\n /**\n * Provide natural-language context (up to 1,500 words) to steer the model.\n * Only supported by `universal-3-pro` / `universal-3-5-pro` and `slam-1`.\n */\n prompt: z.string().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 * Options for PII-redacted audio files. Requires `redactPiiAudio`.\n */\n redactPiiAudioOptions: z\n .object({\n /** Return redacted audio even for files without detected speech. */\n returnRedactedNoSpeechAudio: z.boolean().nullish(),\n /** Redaction method; set to `'silence'` to replace PII with silence. */\n overrideAudioRedactionMethod: z.enum(['silence']).nullish(),\n })\n .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 * Return the original unredacted transcript alongside the redacted one.\n * Requires `redactPii`.\n */\n redactPiiReturnUnredacted: z.boolean().nullish(),\n /**\n * Substitution method for redacted PII.\n */\n redactPiiSub: z.string().nullish(),\n /**\n * Map of user-defined labels to exact terms to redact, e.g.\n * `{ INTERNAL_TOOL: ['Bearclaw'] }`. Applied on top of standard PII redaction\n * using `redactPiiSub`. Requires `redactPii`.\n */\n redactStaticEntities: z.record(z.string(), z.array(z.string())).nullish(),\n /**\n * Remove inline annotations from rich transcripts. `'all'` removes all inline\n * annotations; `'speaker'` removes only speaker cues. Universal-3 Pro models.\n */\n removeAudioTags: z.enum(['all', 'speaker']).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 * Options for speaker diarization, e.g. a range of possible speakers.\n */\n speakerOptions: z\n .object({\n /** Minimum number of speakers expected in the audio file. */\n minSpeakersExpected: z.number().int().nullish(),\n /** Maximum number of speakers expected in the audio file. */\n maxSpeakersExpected: z.number().int().nullish(),\n })\n .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 * Sampling temperature (0-1) controlling randomness. Universal-3 Pro models.\n */\n temperature: z.number().min(0).max(1).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 * @deprecated `wordBoost` is rejected by `universal-3-pro` /\n * `universal-3-5-pro` and `slam-1` (it only works on `universal-2`/`best`).\n * Use `keytermsPrompt` instead.\n */\n wordBoost: z.array(z.string()).nullish(),\n});\n\nexport type AssemblyAITranscriptionModelOptions = z.infer<\n typeof assemblyaiTranscriptionModelOptionsSchema\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","z"]}
1
+ {"version":3,"sources":["../src/assemblyai-provider.ts","../src/assemblyai-transcription-model.ts","../src/assemblyai-error.ts","../src/assemblyai-transcription-model-options.ts","../src/version.ts"],"sourcesContent":["import {\n NoSuchModelError,\n type TranscriptionModelV4,\n type ProviderV4,\n} from '@ai-sdk/provider';\nimport {\n loadApiKey,\n withUserAgentSuffix,\n type FetchFunction,\n} from '@ai-sdk/provider-utils';\nimport { AssemblyAITranscriptionModel } from './assemblyai-transcription-model';\nimport type { AssemblyAITranscriptionModelId } from './assemblyai-transcription-settings';\nimport { VERSION } from './version';\n\nexport interface AssemblyAIProvider extends ProviderV4 {\n (\n modelId: AssemblyAITranscriptionModelId,\n settings?: {},\n ): {\n transcription: AssemblyAITranscriptionModel;\n };\n\n /**\n * Creates a model for transcription.\n */\n transcription(modelId: AssemblyAITranscriptionModelId): TranscriptionModelV4;\n\n /**\n * @deprecated Use `embeddingModel` instead.\n */\n textEmbeddingModel(modelId: string): never;\n}\n\nexport interface AssemblyAIProviderSettings {\n /**\n * API key for authenticating requests.\n */\n apiKey?: string;\n\n /**\n * Custom headers to include in the requests.\n */\n headers?: Record<string, string>;\n\n /**\n * Custom fetch implementation. You can use it as a middleware to intercept requests,\n * or to provide a custom fetch implementation for e.g. testing.\n */\n fetch?: FetchFunction;\n}\n\n/**\n * Create 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 = 'v4' 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/**\n * Default AssemblyAI provider instance.\n */\nexport const assemblyai = createAssemblyAI();\n","import type {\n TranscriptionModelV4,\n SharedV4Warning,\n SharedV4ProviderMetadata,\n} from '@ai-sdk/provider';\nimport {\n combineHeaders,\n createJsonResponseHandler,\n extractResponseHeaders,\n parseProviderOptions,\n postJsonToApi,\n postToApi,\n serializeModelOptions,\n WORKFLOW_SERIALIZE,\n WORKFLOW_DESERIALIZE,\n} from '@ai-sdk/provider-utils';\nimport { z } from 'zod/v4';\nimport type { AssemblyAIConfig } from './assemblyai-config';\nimport { assemblyaiFailedResponseHandler } from './assemblyai-error';\nimport { assemblyaiTranscriptionModelOptionsSchema } from './assemblyai-transcription-model-options';\nimport type { AssemblyAITranscriptionModelId } from './assemblyai-transcription-settings';\nimport type { AssemblyAITranscriptionAPITypes } from './assemblyai-api-types';\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 TranscriptionModelV4 {\n readonly specificationVersion = 'v4';\n private readonly POLLING_INTERVAL_MS = 3000;\n\n get provider(): string {\n return this.config.provider;\n }\n\n static [WORKFLOW_SERIALIZE](model: AssemblyAITranscriptionModel) {\n return serializeModelOptions({\n modelId: model.modelId,\n config: model.config,\n });\n }\n\n static [WORKFLOW_DESERIALIZE](options: {\n modelId: AssemblyAITranscriptionModelId;\n config: AssemblyAITranscriptionModelConfig;\n }) {\n return new AssemblyAITranscriptionModel(options.modelId, options.config);\n }\n\n constructor(\n readonly modelId: AssemblyAITranscriptionModelId,\n private readonly config: AssemblyAITranscriptionModelConfig,\n ) {}\n\n private async getArgs({\n providerOptions,\n }: Parameters<TranscriptionModelV4['doGenerate']>[0]) {\n const warnings: SharedV4Warning[] = [];\n\n // Parse provider options\n const assemblyaiOptions = await parseProviderOptions({\n provider: 'assemblyai',\n providerOptions,\n schema: assemblyaiTranscriptionModelOptionsSchema,\n });\n\n const body: Omit<AssemblyAITranscriptionAPITypes, 'audio_url'> = {};\n\n // The legacy `best` model is selected via the deprecated singular\n // `speech_model` parameter. All other models (e.g. `universal-2`,\n // `universal-3-pro`, `universal-3-5-pro`) are only accessible via the\n // `speech_models` array and are rejected by `speech_model`.\n // See https://www.assemblyai.com/docs/pre-recorded-audio/select-the-speech-model\n if (this.modelId === 'best') {\n body.speech_model = this.modelId as 'best';\n warnings.push({\n type: 'deprecated',\n setting: `model '${this.modelId}'`,\n message:\n \"The 'best' model is a legacy AssemblyAI model. Use 'universal-3-5-pro' instead. See documentation: https://www.assemblyai.com/docs/pre-recorded-audio/select-the-speech-model\",\n });\n } else {\n body.speech_models = [this.modelId];\n\n // Forward-looking nudge: universal-3-5-pro is AssemblyAI's latest\n // flagship and is set to replace universal-3-pro. Not a deprecation —\n // both models still work — so this is an informational warning only.\n if (\n this.modelId === 'universal-3-pro' ||\n this.modelId === 'universal-2'\n ) {\n const docsUrl =\n 'https://www.assemblyai.com/docs/pre-recorded-audio/select-the-speech-model';\n warnings.push({\n type: 'other',\n message:\n this.modelId === 'universal-3-pro'\n ? `'universal-3-5-pro' is AssemblyAI's latest flagship model and is set to replace 'universal-3-pro'. See ${docsUrl}`\n : `'universal-3-5-pro' is AssemblyAI's latest flagship model. See ${docsUrl}`,\n });\n }\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 body.keyterms_prompt = assemblyaiOptions.keytermsPrompt ?? undefined;\n body.prompt = assemblyaiOptions.prompt ?? undefined;\n body.temperature = assemblyaiOptions.temperature ?? undefined;\n body.remove_audio_tags = assemblyaiOptions.removeAudioTags ?? undefined;\n body.domain = assemblyaiOptions.domain ?? undefined;\n body.redact_pii_return_unredacted =\n assemblyaiOptions.redactPiiReturnUnredacted ?? undefined;\n body.redact_static_entities =\n assemblyaiOptions.redactStaticEntities ?? undefined;\n\n if (assemblyaiOptions.speakerOptions) {\n body.speaker_options = {\n min_speakers_expected:\n assemblyaiOptions.speakerOptions.minSpeakersExpected ?? undefined,\n max_speakers_expected:\n assemblyaiOptions.speakerOptions.maxSpeakersExpected ?? undefined,\n };\n }\n\n if (assemblyaiOptions.languageDetectionOptions) {\n body.language_detection_options = {\n expected_languages:\n assemblyaiOptions.languageDetectionOptions.expectedLanguages ??\n undefined,\n fallback_language:\n assemblyaiOptions.languageDetectionOptions.fallbackLanguage ??\n undefined,\n code_switching:\n assemblyaiOptions.languageDetectionOptions.codeSwitching ??\n undefined,\n code_switching_confidence_threshold:\n assemblyaiOptions.languageDetectionOptions\n .codeSwitchingConfidenceThreshold ?? undefined,\n };\n }\n\n if (assemblyaiOptions.redactPiiAudioOptions) {\n body.redact_pii_audio_options = {\n return_redacted_no_speech_audio:\n assemblyaiOptions.redactPiiAudioOptions\n .returnRedactedNoSpeechAudio ?? undefined,\n override_audio_redaction_method:\n assemblyaiOptions.redactPiiAudioOptions\n .overrideAudioRedactionMethod ?? undefined,\n };\n }\n\n const deprecatedBoostOptions: string[] = [];\n if (assemblyaiOptions.wordBoost != null) {\n deprecatedBoostOptions.push('wordBoost');\n }\n if (assemblyaiOptions.boostParam != null) {\n deprecatedBoostOptions.push('boostParam');\n }\n if (deprecatedBoostOptions.length > 0) {\n warnings.push({\n type: 'deprecated',\n setting: deprecatedBoostOptions.join(', '),\n message:\n \"'wordBoost' and 'boostParam' are deprecated and are rejected by 'universal-3-pro' / 'universal-3-5-pro' and 'slam-1'. Use 'keytermsPrompt' instead.\",\n });\n }\n\n // The following options only take effect alongside a prerequisite\n // option; without it AssemblyAI either rejects the request (400) or\n // silently ignores the option. Warn rather than mutate user input.\n if (\n (assemblyaiOptions.redactPiiReturnUnredacted != null ||\n assemblyaiOptions.redactStaticEntities != null) &&\n !assemblyaiOptions.redactPii\n ) {\n warnings.push({\n type: 'other',\n message:\n \"'redactPiiReturnUnredacted' and 'redactStaticEntities' require 'redactPii' to be enabled; AssemblyAI rejects the request otherwise.\",\n });\n }\n if (\n assemblyaiOptions.redactPiiAudioOptions != null &&\n !assemblyaiOptions.redactPiiAudio\n ) {\n warnings.push({\n type: 'other',\n message:\n \"'redactPiiAudioOptions' only applies when 'redactPiiAudio' is enabled; it is otherwise ignored.\",\n });\n }\n if (\n assemblyaiOptions.languageCode != null &&\n assemblyaiOptions.languageDetection\n ) {\n warnings.push({\n type: 'other',\n message:\n \"'languageDetection' cannot be combined with an explicit 'languageCode'; AssemblyAI rejects requests that set both.\",\n });\n }\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 rawTranscript: unknown;\n responseHeaders: Record<string, string>;\n }> {\n const pollingInterval =\n this.config.pollingInterval ?? this.POLLING_INTERVAL_MS;\n\n // Honor a caller-provided fetch (proxy, auth injection, tests) for the\n // polling GETs, matching the upload/submit calls that use config.fetch.\n const fetchImpl = this.config.fetch ?? globalThis.fetch;\n\n while (true) {\n if (abortSignal?.aborted) {\n throw new Error('Transcription request was aborted');\n }\n\n const response = await fetchImpl(\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 rawTranscript = await response.json();\n const transcript =\n assemblyaiTranscriptionResponseSchema.parse(rawTranscript);\n\n if (transcript.status === 'completed') {\n return {\n transcript,\n rawTranscript,\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<TranscriptionModelV4['doGenerate']>[0],\n ): Promise<Awaited<ReturnType<TranscriptionModelV4['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, rawTranscript, responseHeaders } =\n await this.waitForCompletion(\n submitResponse.id,\n options.headers,\n options.abortSignal,\n );\n\n // Surface diarization and audio-intelligence results that the AI SDK's\n // `segments` shape can't represent, keyed under `assemblyai`. Presence is\n // gated on the parsed transcript, but values are taken from the raw\n // response so no fields are stripped by the schema.\n //\n // NOTE: timings inside these objects (e.g. `utterances[].start`) are in\n // milliseconds, matching the AssemblyAI API — unlike the top-level\n // `segments`, whose `startSecond`/`endSecond` are in seconds.\n const raw = (rawTranscript ?? {}) as Record<string, unknown>;\n const assemblyaiMetadata: Record<string, unknown> = {};\n if (transcript.utterances != null) {\n assemblyaiMetadata.utterances = raw.utterances;\n }\n if (transcript.sentiment_analysis_results != null) {\n assemblyaiMetadata.sentimentAnalysisResults =\n raw.sentiment_analysis_results;\n }\n if (transcript.entities != null) {\n assemblyaiMetadata.entities = raw.entities;\n }\n if (transcript.content_safety_labels != null) {\n assemblyaiMetadata.contentSafetyLabels = raw.content_safety_labels;\n }\n if (transcript.iab_categories_result != null) {\n assemblyaiMetadata.iabCategoriesResult = raw.iab_categories_result;\n }\n if (transcript.auto_highlights_result != null) {\n assemblyaiMetadata.autoHighlightsResult = raw.auto_highlights_result;\n }\n\n const lastWordEndMs = transcript.words?.at(-1)?.end;\n\n return {\n text: transcript.text ?? '',\n // AssemblyAI returns word timings in milliseconds; the AI SDK reports\n // segment timings in seconds.\n segments:\n transcript.words?.map(word => ({\n text: word.text,\n startSecond: word.start / 1000,\n endSecond: word.end / 1000,\n })) ?? [],\n language: transcript.language_code ?? undefined,\n durationInSeconds:\n transcript.audio_duration ??\n (lastWordEndMs != null ? lastWordEndMs / 1000 : undefined),\n warnings,\n ...(Object.keys(assemblyaiMetadata).length > 0 && {\n providerMetadata: {\n assemblyai: assemblyaiMetadata,\n } as SharedV4ProviderMetadata,\n }),\n response: {\n timestamp: currentDate,\n modelId: this.modelId,\n headers: responseHeaders, // Headers from final GET request\n body: rawTranscript, // Full 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 assemblyaiWordSchema = z.object({\n start: z.number(),\n end: z.number(),\n text: z.string(),\n confidence: z.number().nullish(),\n // Speaker label (e.g. 'A', 'B') when speaker diarization is enabled, else null.\n speaker: z.string().nullish(),\n channel: z.string().nullish(),\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 speech_model_used: z.string().nullish(),\n words: z.array(assemblyaiWordSchema).nullish(),\n // Speaker-diarized utterances (present when `speaker_labels` is enabled).\n utterances: z\n .array(\n z.object({\n start: z.number(),\n end: z.number(),\n text: z.string(),\n confidence: z.number().nullish(),\n speaker: z.string().nullish(),\n channel: z.string().nullish(),\n words: z.array(assemblyaiWordSchema).nullish(),\n }),\n )\n .nullish(),\n // Audio-intelligence results, present only when the matching feature is\n // enabled. Kept intentionally permissive (the full structures are also\n // available on the raw `response.body`).\n sentiment_analysis_results: z\n .array(\n z.object({\n text: z.string(),\n start: z.number().nullish(),\n end: z.number().nullish(),\n sentiment: z.string(),\n confidence: z.number().nullish(),\n speaker: z.string().nullish(),\n }),\n )\n .nullish(),\n entities: z\n .array(\n z.object({\n entity_type: z.string(),\n text: z.string(),\n start: z.number().nullish(),\n end: z.number().nullish(),\n }),\n )\n .nullish(),\n content_safety_labels: z.record(z.string(), z.any()).nullish(),\n iab_categories_result: z.record(z.string(), z.any()).nullish(),\n auto_highlights_result: z.record(z.string(), z.any()).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","import { z } from 'zod/v4';\n\n// https://www.assemblyai.com/docs/api-reference/transcripts/submit\nexport const assemblyaiTranscriptionModelOptionsSchema = 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 word boost (used with `wordBoost`).\n * Allowed values: 'low', 'default', 'high'.\n *\n * @deprecated Only applies to the deprecated `wordBoost` option. Use\n * `keytermsPrompt` instead, which works with the recommended `universal-*`\n * models.\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 * Enable a domain-specific model to improve accuracy for specialized\n * terminology. Currently supports `'medical-v1'` (Medical Mode).\n */\n domain: z.string().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 * Domain-specific keyterms to boost recognition for (max 6 words per phrase).\n * Replaces `wordBoost` for newer models: supported by `universal-3-pro` /\n * `universal-3-5-pro` and `slam-1` (and `universal-2` when metaphone is\n * enabled for the account).\n */\n keytermsPrompt: z.array(z.string()).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 * Options for automatic language detection.\n */\n languageDetectionOptions: z\n .object({\n /** List of languages expected in the audio file. */\n expectedLanguages: z.array(z.string()).nullish(),\n /** Fallback language if the detected language is not expected. */\n fallbackLanguage: z.string().nullish(),\n /** Whether code switching should be detected. */\n codeSwitching: z.boolean().nullish(),\n /** Confidence threshold for code switching detection (0-1). */\n codeSwitchingConfidenceThreshold: z.number().min(0).max(1).nullish(),\n })\n .nullish(),\n /**\n * Whether to process audio as multichannel.\n */\n multichannel: z.boolean().nullish(),\n /**\n * Provide natural-language context (up to 1,500 words) to steer the model.\n * Only supported by `universal-3-pro` / `universal-3-5-pro` and `slam-1`.\n */\n prompt: z.string().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 * Options for PII-redacted audio files. Requires `redactPiiAudio`.\n */\n redactPiiAudioOptions: z\n .object({\n /** Return redacted audio even for files without detected speech. */\n returnRedactedNoSpeechAudio: z.boolean().nullish(),\n /** Redaction method; set to `'silence'` to replace PII with silence. */\n overrideAudioRedactionMethod: z.enum(['silence']).nullish(),\n })\n .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 * Return the original unredacted transcript alongside the redacted one.\n * Requires `redactPii`.\n */\n redactPiiReturnUnredacted: z.boolean().nullish(),\n /**\n * Substitution method for redacted PII.\n */\n redactPiiSub: z.string().nullish(),\n /**\n * Map of user-defined labels to exact terms to redact, e.g.\n * `{ INTERNAL_TOOL: ['Bearclaw'] }`. Applied on top of standard PII redaction\n * using `redactPiiSub`. Requires `redactPii`.\n */\n redactStaticEntities: z.record(z.string(), z.array(z.string())).nullish(),\n /**\n * Remove inline annotations from rich transcripts. `'all'` removes all inline\n * annotations; `'speaker'` removes only speaker cues. Universal-3 Pro models.\n */\n removeAudioTags: z.enum(['all', 'speaker']).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 * Options for speaker diarization, e.g. a range of possible speakers.\n */\n speakerOptions: z\n .object({\n /** Minimum number of speakers expected in the audio file. */\n minSpeakersExpected: z.number().int().nullish(),\n /** Maximum number of speakers expected in the audio file. */\n maxSpeakersExpected: z.number().int().nullish(),\n })\n .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 * Sampling temperature (0-1) controlling randomness. Universal-3 Pro models.\n */\n temperature: z.number().min(0).max(1).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 * @deprecated `wordBoost` is rejected by `universal-3-pro` /\n * `universal-3-5-pro` and `slam-1` (it only works on `universal-2`/`best`).\n * Use `keytermsPrompt` instead.\n */\n wordBoost: z.array(z.string()).nullish(),\n});\n\nexport type AssemblyAITranscriptionModelOptions = z.infer<\n typeof assemblyaiTranscriptionModelOptionsSchema\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","z"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai-sdk/assemblyai",
3
- "version": "3.0.7",
3
+ "version": "3.0.10",
4
4
  "type": "module",
5
5
  "license": "Apache-2.0",
6
6
  "sideEffects": false,
@@ -30,7 +30,7 @@
30
30
  },
31
31
  "dependencies": {
32
32
  "@ai-sdk/provider": "4.0.3",
33
- "@ai-sdk/provider-utils": "5.0.7"
33
+ "@ai-sdk/provider-utils": "5.0.10"
34
34
  },
35
35
  "devDependencies": {
36
36
  "@types/node": "22.19.19",