ai 7.0.13 → 7.0.15
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 +18 -0
- package/dist/index.d.ts +126 -1
- package/dist/index.js +188 -4
- package/dist/index.js.map +1 -1
- package/dist/internal/index.js +4 -2
- package/dist/internal/index.js.map +1 -1
- package/dist/test/index.d.ts +3 -1
- package/dist/test/index.js +3 -1
- package/dist/test/index.js.map +1 -1
- package/docs/03-ai-sdk-core/36-transcription.mdx +84 -0
- package/docs/07-reference/01-ai-sdk-core/11-stream-transcribe.mdx +149 -0
- package/docs/07-reference/01-ai-sdk-core/index.mdx +5 -0
- package/package.json +4 -4
- package/src/test/mock-transcription-model-v4.ts +4 -0
- package/src/transcribe/index.ts +5 -0
- package/src/transcribe/stream-transcribe-result.ts +86 -0
- package/src/transcribe/stream-transcribe.ts +309 -0
- package/src/util/async-iterable-stream.ts +22 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# ai
|
|
2
2
|
|
|
3
|
+
## 7.0.15
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [0c3c7e4]
|
|
8
|
+
- Updated dependencies [c8d2726]
|
|
9
|
+
- @ai-sdk/gateway@4.0.12
|
|
10
|
+
|
|
11
|
+
## 7.0.14
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- 5c5c0f5: Add experimental streaming transcription support for transcription models, including OpenAI `gpt-realtime-whisper` and xAI WebSocket STT.
|
|
16
|
+
- Updated dependencies [5c5c0f5]
|
|
17
|
+
- @ai-sdk/provider@4.0.2
|
|
18
|
+
- @ai-sdk/provider-utils@5.0.5
|
|
19
|
+
- @ai-sdk/gateway@4.0.11
|
|
20
|
+
|
|
3
21
|
## 7.0.13
|
|
4
22
|
|
|
5
23
|
### 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.
|
|
1092
|
+
var VERSION = true ? "7.0.15" : "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
|
-
|
|
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
|
|
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:
|
|
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,
|