ai 7.0.12 → 7.0.14

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,22 @@
1
1
  # ai
2
2
 
3
+ ## 7.0.14
4
+
5
+ ### Patch Changes
6
+
7
+ - 5c5c0f5: Add experimental streaming transcription support for transcription models, including OpenAI `gpt-realtime-whisper` and xAI WebSocket STT.
8
+ - Updated dependencies [5c5c0f5]
9
+ - @ai-sdk/provider@4.0.2
10
+ - @ai-sdk/provider-utils@5.0.5
11
+ - @ai-sdk/gateway@4.0.11
12
+
13
+ ## 7.0.13
14
+
15
+ ### Patch Changes
16
+
17
+ - Updated dependencies [31abef7]
18
+ - @ai-sdk/gateway@4.0.10
19
+
3
20
  ## 7.0.12
4
21
 
5
22
  ### Patch Changes
package/dist/index.d.ts CHANGED
@@ -8724,6 +8724,131 @@ declare function transcribe({ model, audio, providerOptions, maxRetries: maxRetr
8724
8724
  }>;
8725
8725
  }): Promise<TranscriptionResult>;
8726
8726
 
8727
+ type TranscriptionStreamPart = {
8728
+ type: 'transcript-delta';
8729
+ id?: string;
8730
+ delta: string;
8731
+ providerMetadata?: SharedV4ProviderMetadata;
8732
+ } | {
8733
+ type: 'transcript-partial';
8734
+ id?: string;
8735
+ text: string;
8736
+ startSecond?: number;
8737
+ durationInSeconds?: number;
8738
+ channelIndex?: number;
8739
+ providerMetadata?: SharedV4ProviderMetadata;
8740
+ } | {
8741
+ type: 'transcript-final';
8742
+ id?: string;
8743
+ text: string;
8744
+ startSecond?: number;
8745
+ endSecond?: number;
8746
+ channelIndex?: number;
8747
+ providerMetadata?: SharedV4ProviderMetadata;
8748
+ } | {
8749
+ type: 'raw';
8750
+ rawValue: unknown;
8751
+ } | {
8752
+ type: 'error';
8753
+ error: unknown;
8754
+ };
8755
+ interface StreamTranscriptionResult {
8756
+ /**
8757
+ * The final transcribed text.
8758
+ */
8759
+ readonly text: PromiseLike<string>;
8760
+ /**
8761
+ * Final transcript segments with timing information, if available.
8762
+ */
8763
+ readonly segments: PromiseLike<Array<{
8764
+ text: string;
8765
+ startSecond: number;
8766
+ endSecond: number;
8767
+ }>>;
8768
+ /**
8769
+ * The language of the transcript, if available.
8770
+ */
8771
+ readonly language: PromiseLike<string | undefined>;
8772
+ /**
8773
+ * The duration of the transcript in seconds, if available.
8774
+ */
8775
+ readonly durationInSeconds: PromiseLike<number | undefined>;
8776
+ /**
8777
+ * Warnings for the call, e.g. unsupported settings.
8778
+ */
8779
+ readonly warnings: PromiseLike<Array<Warning>>;
8780
+ /**
8781
+ * Response metadata.
8782
+ */
8783
+ readonly responses: PromiseLike<Array<TranscriptionModelResponseMetadata>>;
8784
+ /**
8785
+ * Additional provider-specific metadata.
8786
+ */
8787
+ readonly providerMetadata: PromiseLike<Record<string, JSONObject>>;
8788
+ /**
8789
+ * Full stream of transcription parts.
8790
+ */
8791
+ readonly fullStream: AsyncIterableStream<TranscriptionStreamPart>;
8792
+ }
8793
+
8794
+ /**
8795
+ * Streams transcripts using a transcription model.
8796
+ *
8797
+ * @param model - The transcription model to use.
8798
+ * @param audio - Raw audio chunks to transcribe.
8799
+ * @param inputAudioFormat - The input audio format for the raw audio chunks.
8800
+ * @param providerOptions - Additional provider-specific options.
8801
+ * @param abortSignal - An optional abort signal that can be used to cancel the call.
8802
+ * @param headers - Additional HTTP/WebSocket headers to send when supported by the provider.
8803
+ *
8804
+ * @returns A result object that contains the streaming transcript and final transcript metadata.
8805
+ */
8806
+ declare function streamTranscribe({ model, audio, inputAudioFormat, providerOptions, abortSignal, headers, includeRawChunks, _internal: { currentDate }, }: {
8807
+ /**
8808
+ * The transcription model to use.
8809
+ */
8810
+ model: TranscriptionModel;
8811
+ /**
8812
+ * Raw audio chunks to transcribe.
8813
+ */
8814
+ audio: ReadableStream<Uint8Array | string>;
8815
+ /**
8816
+ * The input audio format for the raw audio chunks.
8817
+ */
8818
+ inputAudioFormat: {
8819
+ /**
8820
+ * Audio format type, e.g. `audio/pcm`, `audio/pcmu`, or `audio/pcma`.
8821
+ */
8822
+ type: string;
8823
+ /**
8824
+ * Sample rate in Hz. Only applicable for formats that require a rate.
8825
+ */
8826
+ rate?: number;
8827
+ };
8828
+ /**
8829
+ * Additional provider-specific options.
8830
+ */
8831
+ providerOptions?: ProviderOptions;
8832
+ /**
8833
+ * Abort signal.
8834
+ */
8835
+ abortSignal?: AbortSignal;
8836
+ /**
8837
+ * Additional headers to include in the request, if supported by the provider.
8838
+ */
8839
+ headers?: Record<string, string>;
8840
+ /**
8841
+ * When true, providers should include raw provider chunks in the stream.
8842
+ */
8843
+ includeRawChunks?: boolean;
8844
+ /**
8845
+ * Internal test hooks.
8846
+ */
8847
+ _internal?: {
8848
+ currentDate?: () => Date;
8849
+ };
8850
+ }): StreamTranscriptionResult;
8851
+
8727
8852
  /**
8728
8853
  * @deprecated Use `transcribe` instead.
8729
8854
  */
@@ -8791,4 +8916,4 @@ declare function uploadSkill({ api, files, displayTitle, providerOptions, }: {
8791
8916
  files: UploadSkillFile[];
8792
8917
  }): Promise<UploadSkillResult>;
8793
8918
 
8794
- export { AI_SDK_TELEMETRY_TRACING_CHANNEL, AbstractChat, ActiveTools, Agent, AgentCallParameters, AgentStreamParameters, AsyncIterableStream, CallSettings, CallWarning, ChatAddToolApproveResponseFunction, ChatAddToolOutputFunction, ChatInit, ChatOnDataCallback, ChatOnErrorCallback, ChatOnFinishCallback, ChatOnToolCallCallback, ChatRequestOptions, ChatState, ChatStatus, ChatTransport, ChunkDetector, CompletionRequestOptions, ContentPart, CreateUIMessage, CustomContentUIPart, DataUIPart, DeepPartial, DefaultChatTransport, DefaultGeneratedFile, DirectChatTransport, DirectChatTransportOptions, DynamicToolCall, DynamicToolError, DynamicToolResult, DynamicToolUIPart, EmbedEndEvent, EmbedManyResult, EmbedResult, EmbedStartEvent, Embedding, EmbeddingModel, EmbeddingModelCallEndEvent, EmbeddingModelCallStartEvent, EmbeddingModelMiddleware, EmbeddingModelUsage, ErrorHandler, AbstractRealtimeSession as Experimental_AbstractRealtimeSession, ToolLoopAgent as Experimental_Agent, ToolLoopAgentSettings as Experimental_AgentSettings, DownloadFunction as Experimental_DownloadFunction, GeneratedFile as Experimental_GeneratedImage, InferAgentUIMessage as Experimental_InferAgentUIMessage, LanguageModelStreamPart as Experimental_LanguageModelStreamPart, LogWarningsFunction as Experimental_LogWarningsFunction, RealtimeClientEvent as Experimental_RealtimeClientEvent, RealtimeFactory as Experimental_RealtimeFactory, RealtimeFactoryGetTokenOptions as Experimental_RealtimeFactoryGetTokenOptions, RealtimeFactoryGetTokenResult as Experimental_RealtimeFactoryGetTokenResult, RealtimeModel as Experimental_RealtimeModel, RealtimeServerEvent as Experimental_RealtimeServerEvent, RealtimeSessionConfig as Experimental_RealtimeSessionConfig, RealtimeSessionOptions as Experimental_RealtimeSessionOptions, RealtimeSetupResponse as Experimental_RealtimeSetupResponse, RealtimeState as Experimental_RealtimeState, RealtimeStatus as Experimental_RealtimeStatus, RealtimeToolDefinition as Experimental_RealtimeToolDefinition, Experimental_SpeechResult, Experimental_TranscriptionResult, FileUIPart, FinishReason, GenerateImageResult, GenerateObjectEndEvent, GenerateObjectResult, GenerateObjectStartEvent, GenerateObjectStepEndEvent, GenerateObjectStepStartEvent, GenerateTextAbortEvent, GenerateTextEndEvent, GenerateTextInclude, GenerateTextOnAbortCallback, GenerateTextOnEndCallback, GenerateTextOnFinishCallback, GenerateTextOnStartCallback, GenerateTextOnStepEndCallback, GenerateTextOnStepFinishCallback, GenerateTextOnStepStartCallback, GenerateTextResult, GenerateTextStartEvent, GenerateTextStepEndEvent, GenerateTextStepStartEvent, GenerateVideoPrompt, GenerateVideoResult, GeneratedAudioFile, GeneratedFile, GenericToolApprovalFunction, HttpChatTransport, HttpChatTransportInitOptions, ImageModel, ImageModelMiddleware, ImageModelProviderMetadata, ImageModelResponseMetadata, ImageModelUsage, InferAgentUIMessage, InferCompleteOutput as InferGenerateOutput, InferPartialOutput as InferStreamOutput, InferTelemetryEvent, InferUIDataParts, InferUIMessageChunk, InferUITool, InferUITools, Instructions, InvalidArgumentError, InvalidDataContentError, InvalidMessageRoleError, InvalidStreamPartError, InvalidToolApprovalError, InvalidToolApprovalSignatureError, InvalidToolInputError, JSONValue, JsonToSseTransformStream, LanguageModel, LanguageModelCallEndEvent, LanguageModelCallOptions, LanguageModelCallStartEvent, LanguageModelMiddleware, LanguageModelRequestMetadata, LanguageModelResponseMetadata, LanguageModelUsage, LogWarningsFunction, MessageConversionError, MissingToolResultsError, ModelInfo, NoImageGeneratedError, NoObjectGeneratedError, NoOutputGeneratedError, NoSpeechGeneratedError, NoSuchProviderError, NoSuchToolError, NoTranscriptGeneratedError, NoVideoGeneratedError, ObjectStreamPart, OnFinishEvent, OnLanguageModelCallEndCallback, OnLanguageModelCallStartCallback, OnStartEvent, OnStepFinishEvent, OnStepStartEvent, OnToolCallFinishEvent, OnToolCallStartEvent, OnToolExecutionEndCallback, OnToolExecutionStartCallback, output as Output, OutputChunkTimingStats, PrepareReconnectToStreamRequest, PrepareSendMessagesRequest, PrepareStepFunction, PrepareStepResult, Prompt, Provider, ProviderMetadata, ProviderReference, ProviderRegistryProvider, ReasoningFileOutput, ReasoningFileUIPart, ReasoningOutput, ReasoningUIPart, RepairTextFunction, RequestOptions, RerankEndEvent, RerankResult, RerankStartEvent, RerankingModel, RerankingModelCallEndEvent, RerankingModelCallStartEvent, RetryError, SafeValidateUIMessagesResult, SerialJobExecutor, SingleToolApprovalFunction, SourceDocumentUIPart, SourceUrlUIPart, SpeechModel, SpeechModelResponseMetadata, SpeechResult, StaticToolCall, StaticToolError, StaticToolOutputDenied, StaticToolResult, StepResult, StepResultPerformance, StepStartUIPart, StopCondition, StreamObjectOnFinishCallback, StreamObjectResult, StreamTextInclude, StreamTextOnChunkCallback, StreamTextOnErrorCallback, StreamTextResult, StreamTextTransform, Telemetry, TelemetryOptions, TelemetryTracingChannelMessage, TelemetryTracingEventType, TextStreamChatTransport, TextStreamPart, TextUIPart, TimeoutConfiguration, ToUIMessageChunkOptions, ToolApprovalConfiguration, ToolApprovalRequestOutput, ToolApprovalResponseOutput, ToolApprovalStatus, ToolCallNotFoundForApprovalError, ToolCallRepairError, ToolCallRepairFunction, ToolChoice, ToolExecutionEndEvent, ToolExecutionStartEvent, ToolInputRefinement, ToolLoopAgent, ToolLoopAgentSettings, ToolOrder, ToolUIPart, TranscriptionModel, TranscriptionModelResponseMetadata, TranscriptionResult, TypedToolCall, TypedToolError, TypedToolOutputDenied, TypedToolResult, UIDataPartSchemas, UIDataTypes, UIMessage, UIMessageChunk, UIMessagePart, UIMessageStreamError, UIMessageStreamOnEndCallback, UIMessageStreamOnFinishCallback, UIMessageStreamOnStepEndCallback, UIMessageStreamOnStepFinishCallback, UIMessageStreamOptions, UIMessageStreamWriter, UITool, UIToolInvocation, UITools, UI_MESSAGE_STREAM_HEADERS, UnsupportedModelVersionError, UploadFileResult, UploadSkillResult, UseCompletionOptions, Warning, addToolInputExamplesMiddleware, assistantModelMessageSchema, callCompletionApi, consumeStream, convertDataContentToBase64String, convertFileListToFileUIParts, convertToModelMessages, cosineSimilarity, createAgentUIStream, createAgentUIStreamResponse, createDownload, createProviderRegistry, createTextStreamResponse, createUIMessageStream, createUIMessageStreamResponse, customProvider, defaultEmbeddingSettingsMiddleware, defaultSettingsMiddleware, embed, embedMany, experimental_createProviderRegistry, decodeRealtimeAudio as experimental_decodeRealtimeAudio, encodeRealtimeAudio as experimental_encodeRealtimeAudio, filterActiveTools as experimental_filterActiveTools, experimental_generateSpeech, experimental_generateVideo, getRealtimeToolDefinitions as experimental_getRealtimeToolDefinitions, resampleAudio as experimental_resampleAudio, streamLanguageModelCall as experimental_streamLanguageModelCall, experimental_transcribe, extractJsonMiddleware, extractReasoningMiddleware, generateImage, generateObject, generateSpeech, generateText, getChunkTimeoutMs, getStaticToolName, getStepTimeoutMs, getTextFromDataUrl, getToolName, getToolOrDynamicToolName, getToolTimeoutMs, getTotalTimeoutMs, hasToolCall, isCustomContentUIPart, isDataUIPart, isDeepEqualData, isDynamicToolUIPart, isFileUIPart, isLoopFinished, isReasoningFileUIPart, isReasoningUIPart, isStaticToolUIPart, isStepCount, isTextUIPart, isToolUIPart, lastAssistantMessageIsCompleteWithApprovalResponses, lastAssistantMessageIsCompleteWithToolCalls, modelMessageSchema, parsePartialJson, pipeAgentUIStreamToResponse, pipeTextStreamToResponse, pipeUIMessageStreamToResponse, pruneMessages, readUIMessageStream, registerTelemetry, rerank, safeValidateUIMessages, simulateReadableStream, simulateStreamingMiddleware, smoothStream, isStepCount as stepCountIs, streamObject, streamText, systemModelMessageSchema, toTextStream, toUIMessageChunk, toUIMessageStream, toolModelMessageSchema, transcribe, uiMessageChunkSchema, uploadFile, uploadSkill, userModelMessageSchema, validateUIMessages, wrapEmbeddingModel, wrapImageModel, wrapLanguageModel, wrapProvider };
8919
+ export { AI_SDK_TELEMETRY_TRACING_CHANNEL, AbstractChat, ActiveTools, Agent, AgentCallParameters, AgentStreamParameters, AsyncIterableStream, CallSettings, CallWarning, ChatAddToolApproveResponseFunction, ChatAddToolOutputFunction, ChatInit, ChatOnDataCallback, ChatOnErrorCallback, ChatOnFinishCallback, ChatOnToolCallCallback, ChatRequestOptions, ChatState, ChatStatus, ChatTransport, ChunkDetector, CompletionRequestOptions, ContentPart, CreateUIMessage, CustomContentUIPart, DataUIPart, DeepPartial, DefaultChatTransport, DefaultGeneratedFile, DirectChatTransport, DirectChatTransportOptions, DynamicToolCall, DynamicToolError, DynamicToolResult, DynamicToolUIPart, EmbedEndEvent, EmbedManyResult, EmbedResult, EmbedStartEvent, Embedding, EmbeddingModel, EmbeddingModelCallEndEvent, EmbeddingModelCallStartEvent, EmbeddingModelMiddleware, EmbeddingModelUsage, ErrorHandler, AbstractRealtimeSession as Experimental_AbstractRealtimeSession, ToolLoopAgent as Experimental_Agent, ToolLoopAgentSettings as Experimental_AgentSettings, DownloadFunction as Experimental_DownloadFunction, GeneratedFile as Experimental_GeneratedImage, InferAgentUIMessage as Experimental_InferAgentUIMessage, LanguageModelStreamPart as Experimental_LanguageModelStreamPart, LogWarningsFunction as Experimental_LogWarningsFunction, RealtimeClientEvent as Experimental_RealtimeClientEvent, RealtimeFactory as Experimental_RealtimeFactory, RealtimeFactoryGetTokenOptions as Experimental_RealtimeFactoryGetTokenOptions, RealtimeFactoryGetTokenResult as Experimental_RealtimeFactoryGetTokenResult, RealtimeModel as Experimental_RealtimeModel, RealtimeServerEvent as Experimental_RealtimeServerEvent, RealtimeSessionConfig as Experimental_RealtimeSessionConfig, RealtimeSessionOptions as Experimental_RealtimeSessionOptions, RealtimeSetupResponse as Experimental_RealtimeSetupResponse, RealtimeState as Experimental_RealtimeState, RealtimeStatus as Experimental_RealtimeStatus, RealtimeToolDefinition as Experimental_RealtimeToolDefinition, Experimental_SpeechResult, Experimental_TranscriptionResult, FileUIPart, FinishReason, GenerateImageResult, GenerateObjectEndEvent, GenerateObjectResult, GenerateObjectStartEvent, GenerateObjectStepEndEvent, GenerateObjectStepStartEvent, GenerateTextAbortEvent, GenerateTextEndEvent, GenerateTextInclude, GenerateTextOnAbortCallback, GenerateTextOnEndCallback, GenerateTextOnFinishCallback, GenerateTextOnStartCallback, GenerateTextOnStepEndCallback, GenerateTextOnStepFinishCallback, GenerateTextOnStepStartCallback, GenerateTextResult, GenerateTextStartEvent, GenerateTextStepEndEvent, GenerateTextStepStartEvent, GenerateVideoPrompt, GenerateVideoResult, GeneratedAudioFile, GeneratedFile, GenericToolApprovalFunction, HttpChatTransport, HttpChatTransportInitOptions, ImageModel, ImageModelMiddleware, ImageModelProviderMetadata, ImageModelResponseMetadata, ImageModelUsage, InferAgentUIMessage, InferCompleteOutput as InferGenerateOutput, InferPartialOutput as InferStreamOutput, InferTelemetryEvent, InferUIDataParts, InferUIMessageChunk, InferUITool, InferUITools, Instructions, InvalidArgumentError, InvalidDataContentError, InvalidMessageRoleError, InvalidStreamPartError, InvalidToolApprovalError, InvalidToolApprovalSignatureError, InvalidToolInputError, JSONValue, JsonToSseTransformStream, LanguageModel, LanguageModelCallEndEvent, LanguageModelCallOptions, LanguageModelCallStartEvent, LanguageModelMiddleware, LanguageModelRequestMetadata, LanguageModelResponseMetadata, LanguageModelUsage, LogWarningsFunction, MessageConversionError, MissingToolResultsError, ModelInfo, NoImageGeneratedError, NoObjectGeneratedError, NoOutputGeneratedError, NoSpeechGeneratedError, NoSuchProviderError, NoSuchToolError, NoTranscriptGeneratedError, NoVideoGeneratedError, ObjectStreamPart, OnFinishEvent, OnLanguageModelCallEndCallback, OnLanguageModelCallStartCallback, OnStartEvent, OnStepFinishEvent, OnStepStartEvent, OnToolCallFinishEvent, OnToolCallStartEvent, OnToolExecutionEndCallback, OnToolExecutionStartCallback, output as Output, OutputChunkTimingStats, PrepareReconnectToStreamRequest, PrepareSendMessagesRequest, PrepareStepFunction, PrepareStepResult, Prompt, Provider, ProviderMetadata, ProviderReference, ProviderRegistryProvider, ReasoningFileOutput, ReasoningFileUIPart, ReasoningOutput, ReasoningUIPart, RepairTextFunction, RequestOptions, RerankEndEvent, RerankResult, RerankStartEvent, RerankingModel, RerankingModelCallEndEvent, RerankingModelCallStartEvent, RetryError, SafeValidateUIMessagesResult, SerialJobExecutor, SingleToolApprovalFunction, SourceDocumentUIPart, SourceUrlUIPart, SpeechModel, SpeechModelResponseMetadata, SpeechResult, StaticToolCall, StaticToolError, StaticToolOutputDenied, StaticToolResult, StepResult, StepResultPerformance, StepStartUIPart, StopCondition, StreamObjectOnFinishCallback, StreamObjectResult, StreamTextInclude, StreamTextOnChunkCallback, StreamTextOnErrorCallback, StreamTextResult, StreamTextTransform, StreamTranscriptionResult, Telemetry, TelemetryOptions, TelemetryTracingChannelMessage, TelemetryTracingEventType, TextStreamChatTransport, TextStreamPart, TextUIPart, TimeoutConfiguration, ToUIMessageChunkOptions, ToolApprovalConfiguration, ToolApprovalRequestOutput, ToolApprovalResponseOutput, ToolApprovalStatus, ToolCallNotFoundForApprovalError, ToolCallRepairError, ToolCallRepairFunction, ToolChoice, ToolExecutionEndEvent, ToolExecutionStartEvent, ToolInputRefinement, ToolLoopAgent, ToolLoopAgentSettings, ToolOrder, ToolUIPart, TranscriptionModel, TranscriptionModelResponseMetadata, TranscriptionResult, TranscriptionStreamPart, TypedToolCall, TypedToolError, TypedToolOutputDenied, TypedToolResult, UIDataPartSchemas, UIDataTypes, UIMessage, UIMessageChunk, UIMessagePart, UIMessageStreamError, UIMessageStreamOnEndCallback, UIMessageStreamOnFinishCallback, UIMessageStreamOnStepEndCallback, UIMessageStreamOnStepFinishCallback, UIMessageStreamOptions, UIMessageStreamWriter, UITool, UIToolInvocation, UITools, UI_MESSAGE_STREAM_HEADERS, UnsupportedModelVersionError, UploadFileResult, UploadSkillResult, UseCompletionOptions, Warning, addToolInputExamplesMiddleware, assistantModelMessageSchema, callCompletionApi, consumeStream, convertDataContentToBase64String, convertFileListToFileUIParts, convertToModelMessages, cosineSimilarity, createAgentUIStream, createAgentUIStreamResponse, createDownload, createProviderRegistry, createTextStreamResponse, createUIMessageStream, createUIMessageStreamResponse, customProvider, defaultEmbeddingSettingsMiddleware, defaultSettingsMiddleware, embed, embedMany, experimental_createProviderRegistry, decodeRealtimeAudio as experimental_decodeRealtimeAudio, encodeRealtimeAudio as experimental_encodeRealtimeAudio, filterActiveTools as experimental_filterActiveTools, experimental_generateSpeech, experimental_generateVideo, getRealtimeToolDefinitions as experimental_getRealtimeToolDefinitions, resampleAudio as experimental_resampleAudio, streamLanguageModelCall as experimental_streamLanguageModelCall, streamTranscribe as experimental_streamTranscribe, experimental_transcribe, extractJsonMiddleware, extractReasoningMiddleware, generateImage, generateObject, generateSpeech, generateText, getChunkTimeoutMs, getStaticToolName, getStepTimeoutMs, getTextFromDataUrl, getToolName, getToolOrDynamicToolName, getToolTimeoutMs, getTotalTimeoutMs, hasToolCall, isCustomContentUIPart, isDataUIPart, isDeepEqualData, isDynamicToolUIPart, isFileUIPart, isLoopFinished, isReasoningFileUIPart, isReasoningUIPart, isStaticToolUIPart, isStepCount, isTextUIPart, isToolUIPart, lastAssistantMessageIsCompleteWithApprovalResponses, lastAssistantMessageIsCompleteWithToolCalls, modelMessageSchema, parsePartialJson, pipeAgentUIStreamToResponse, pipeTextStreamToResponse, pipeUIMessageStreamToResponse, pruneMessages, readUIMessageStream, registerTelemetry, rerank, safeValidateUIMessages, simulateReadableStream, simulateStreamingMiddleware, smoothStream, isStepCount as stepCountIs, streamObject, streamText, systemModelMessageSchema, toTextStream, toUIMessageChunk, toUIMessageStream, toolModelMessageSchema, transcribe, uiMessageChunkSchema, uploadFile, uploadSkill, userModelMessageSchema, validateUIMessages, wrapEmbeddingModel, wrapImageModel, wrapLanguageModel, wrapProvider };
package/dist/index.js CHANGED
@@ -1089,7 +1089,7 @@ import {
1089
1089
  } from "@ai-sdk/provider-utils";
1090
1090
 
1091
1091
  // src/version.ts
1092
- var VERSION = true ? "7.0.12" : "0.0.0-test";
1092
+ var VERSION = true ? "7.0.14" : "0.0.0-test";
1093
1093
 
1094
1094
  // src/util/download/download.ts
1095
1095
  var download = async ({
@@ -7496,7 +7496,9 @@ function toUIMessageStream({
7496
7496
 
7497
7497
  // src/util/async-iterable-stream.ts
7498
7498
  function createAsyncIterableStream(source) {
7499
- const stream = source.pipeThrough(new TransformStream());
7499
+ return asAsyncIterableStream(source.pipeThrough(new TransformStream()));
7500
+ }
7501
+ function asAsyncIterableStream(stream) {
7500
7502
  stream[Symbol.asyncIterator] = function() {
7501
7503
  const reader = this.getReader();
7502
7504
  let finished = false;
@@ -15833,13 +15835,194 @@ var DefaultTranscriptionResult = class {
15833
15835
  }
15834
15836
  };
15835
15837
 
15838
+ // src/transcribe/stream-transcribe.ts
15839
+ import {
15840
+ UnsupportedFunctionalityError as UnsupportedFunctionalityError4
15841
+ } from "@ai-sdk/provider";
15842
+ import {
15843
+ DelayedPromise as DelayedPromise3,
15844
+ withUserAgentSuffix as withUserAgentSuffix11
15845
+ } from "@ai-sdk/provider-utils";
15846
+ function streamTranscribe({
15847
+ model,
15848
+ audio,
15849
+ inputAudioFormat,
15850
+ providerOptions = {},
15851
+ abortSignal,
15852
+ headers,
15853
+ includeRawChunks,
15854
+ _internal: { currentDate = () => /* @__PURE__ */ new Date() } = {}
15855
+ }) {
15856
+ var _a22;
15857
+ const resolvedModel = resolveTranscriptionModel(model);
15858
+ if (!resolvedModel) {
15859
+ throw new Error("Model could not be resolved");
15860
+ }
15861
+ const doStream = (_a22 = resolvedModel.doStream) == null ? void 0 : _a22.bind(resolvedModel);
15862
+ if (doStream == null) {
15863
+ throw new UnsupportedFunctionalityError4({
15864
+ functionality: "streaming transcription",
15865
+ message: `The ${resolvedModel.provider} model "${resolvedModel.modelId}" does not support streaming transcription.` + (typeof model === "string" ? " String model IDs resolve through the global provider (AI Gateway by default), which does not support streaming transcription yet. Pass a provider model instance instead, e.g. openai.transcription('gpt-realtime-whisper')." : "")
15866
+ });
15867
+ }
15868
+ const headersWithUserAgent = withUserAgentSuffix11(
15869
+ headers != null ? headers : {},
15870
+ `ai/${VERSION}`
15871
+ );
15872
+ const textPromise = new DelayedPromise3();
15873
+ const segmentsPromise = new DelayedPromise3();
15874
+ const languagePromise = new DelayedPromise3();
15875
+ const durationInSecondsPromise = new DelayedPromise3();
15876
+ const warningsPromise = new DelayedPromise3();
15877
+ const responsesPromise = new DelayedPromise3();
15878
+ const providerMetadataPromise = new DelayedPromise3();
15879
+ const rejectPendingPromises = (error) => {
15880
+ for (const promise of [
15881
+ textPromise,
15882
+ segmentsPromise,
15883
+ languagePromise,
15884
+ durationInSecondsPromise,
15885
+ warningsPromise,
15886
+ responsesPromise,
15887
+ providerMetadataPromise
15888
+ ]) {
15889
+ if (promise.isPending()) {
15890
+ promise.reject(error);
15891
+ }
15892
+ }
15893
+ };
15894
+ const startedAt = currentDate();
15895
+ let response;
15896
+ const currentResponseMetadata = () => response != null ? response : { timestamp: startedAt, modelId: resolvedModel.modelId };
15897
+ const resolveWarnings = (warnings) => {
15898
+ warningsPromise.resolve(warnings);
15899
+ logWarnings({
15900
+ warnings,
15901
+ provider: resolvedModel.provider,
15902
+ model: resolvedModel.modelId
15903
+ });
15904
+ };
15905
+ const pipeAbortController = new AbortController();
15906
+ const transformer = {
15907
+ transform(value, controller) {
15908
+ var _a23, _b, _c, _d;
15909
+ switch (value.type) {
15910
+ case "stream-start": {
15911
+ resolveWarnings(value.warnings);
15912
+ break;
15913
+ }
15914
+ case "response-metadata": {
15915
+ response = {
15916
+ timestamp: (_a23 = value.timestamp) != null ? _a23 : currentResponseMetadata().timestamp,
15917
+ modelId: (_b = value.modelId) != null ? _b : currentResponseMetadata().modelId,
15918
+ headers: (_c = value.headers) != null ? _c : response == null ? void 0 : response.headers
15919
+ };
15920
+ break;
15921
+ }
15922
+ case "transcript-delta":
15923
+ case "transcript-partial":
15924
+ case "transcript-final":
15925
+ case "raw":
15926
+ case "error": {
15927
+ controller.enqueue(value);
15928
+ break;
15929
+ }
15930
+ case "finish": {
15931
+ if (!warningsPromise.isResolved()) {
15932
+ resolveWarnings([]);
15933
+ }
15934
+ if (!value.text) {
15935
+ throw new NoTranscriptGeneratedError({
15936
+ responses: [currentResponseMetadata()]
15937
+ });
15938
+ }
15939
+ textPromise.resolve(value.text);
15940
+ segmentsPromise.resolve(value.segments);
15941
+ languagePromise.resolve(value.language);
15942
+ durationInSecondsPromise.resolve(value.durationInSeconds);
15943
+ responsesPromise.resolve([currentResponseMetadata()]);
15944
+ providerMetadataPromise.resolve((_d = value.providerMetadata) != null ? _d : {});
15945
+ break;
15946
+ }
15947
+ }
15948
+ },
15949
+ flush() {
15950
+ if (textPromise.isPending()) {
15951
+ throw new NoTranscriptGeneratedError({
15952
+ responses: [currentResponseMetadata()]
15953
+ });
15954
+ }
15955
+ },
15956
+ cancel(reason) {
15957
+ pipeAbortController.abort(
15958
+ reason != null ? reason : new Error("Transcription stream was cancelled.")
15959
+ );
15960
+ }
15961
+ };
15962
+ const transform = new TransformStream(transformer);
15963
+ void (async () => {
15964
+ var _a23, _b, _c, _d, _e;
15965
+ const result = await doStream({
15966
+ audio,
15967
+ inputAudioFormat,
15968
+ providerOptions,
15969
+ abortSignal,
15970
+ headers: headersWithUserAgent,
15971
+ includeRawChunks
15972
+ });
15973
+ response = {
15974
+ timestamp: (_b = (_a23 = result.response) == null ? void 0 : _a23.timestamp) != null ? _b : startedAt,
15975
+ modelId: (_d = (_c = result.response) == null ? void 0 : _c.modelId) != null ? _d : resolvedModel.modelId,
15976
+ headers: (_e = result.response) == null ? void 0 : _e.headers
15977
+ };
15978
+ await result.stream.pipeTo(transform.writable, {
15979
+ signal: pipeAbortController.signal
15980
+ });
15981
+ })().catch((error) => {
15982
+ const reason = error != null ? error : new Error("Transcription stream was cancelled or errored.");
15983
+ rejectPendingPromises(reason);
15984
+ transform.writable.abort(reason).catch(() => {
15985
+ });
15986
+ });
15987
+ return {
15988
+ get text() {
15989
+ return textPromise.promise;
15990
+ },
15991
+ get segments() {
15992
+ return segmentsPromise.promise;
15993
+ },
15994
+ get language() {
15995
+ return languagePromise.promise;
15996
+ },
15997
+ get durationInSeconds() {
15998
+ return durationInSecondsPromise.promise;
15999
+ },
16000
+ get warnings() {
16001
+ return warningsPromise.promise;
16002
+ },
16003
+ get responses() {
16004
+ return responsesPromise.promise;
16005
+ },
16006
+ get providerMetadata() {
16007
+ return providerMetadataPromise.promise;
16008
+ },
16009
+ // `transform.readable` is fresh and exclusively owned here, so attach the
16010
+ // async iterator in place rather than piping through another transform.
16011
+ // The extra transform (as `createAsyncIterableStream` would add) chains two
16012
+ // transforms fed by the active model pipe below and surfaces a spurious
16013
+ // unhandled `undefined` rejection when the consumer cancels early on
16014
+ // Node.js 26.
16015
+ fullStream: asAsyncIterableStream(transform.readable)
16016
+ };
16017
+ }
16018
+
15836
16019
  // src/transcribe/index.ts
15837
16020
  var experimental_transcribe = transcribe;
15838
16021
 
15839
16022
  // src/ui/call-completion-api.ts
15840
16023
  import {
15841
16024
  parseJsonEventStream,
15842
- withUserAgentSuffix as withUserAgentSuffix11,
16025
+ withUserAgentSuffix as withUserAgentSuffix12,
15843
16026
  getRuntimeEnvironmentUserAgent as getRuntimeEnvironmentUserAgent2
15844
16027
  } from "@ai-sdk/provider-utils";
15845
16028
 
@@ -15889,7 +16072,7 @@ async function callCompletionApi({
15889
16072
  ...body
15890
16073
  }),
15891
16074
  credentials,
15892
- headers: withUserAgentSuffix11(
16075
+ headers: withUserAgentSuffix12(
15893
16076
  {
15894
16077
  "Content-Type": "application/json",
15895
16078
  ...headers
@@ -16834,6 +17017,7 @@ export {
16834
17017
  getRealtimeToolDefinitions as experimental_getRealtimeToolDefinitions,
16835
17018
  resampleAudio as experimental_resampleAudio,
16836
17019
  streamLanguageModelCall as experimental_streamLanguageModelCall,
17020
+ streamTranscribe as experimental_streamTranscribe,
16837
17021
  experimental_transcribe,
16838
17022
  extractJsonMiddleware,
16839
17023
  extractReasoningMiddleware,