@ai-sdk/gateway 4.0.122 → 4.0.123
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 +13 -0
- package/dist/index.d.ts +52 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +335 -129
- package/dist/index.js.map +1 -1
- package/docs/00-ai-gateway.mdx +63 -0
- package/package.json +3 -3
- package/src/gateway-provider.ts +71 -7
- package/src/gateway-realtime-auth.ts +21 -3
- package/src/gateway-speech-model.ts +305 -1
- package/src/gateway-stream-errors.ts +71 -0
- package/src/gateway-transcription-model.ts +18 -72
- package/src/index.ts +2 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# @ai-sdk/gateway
|
|
2
2
|
|
|
3
|
+
## 4.0.123
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 8202f5b: feat(gateway): implement experimental streaming speech in the gateway provider
|
|
8
|
+
|
|
9
|
+
`GatewaySpeechModel` implements `Experimental_StreamingSpeechModelV4` and streams speech over the AI Gateway speech WebSocket (`/speech-model`, `ai-gateway-speech.v1` subprotocol). `@ai-sdk/provider-utils` adds the experimental speech-stream envelope (`experimental_parseSpeechStreamClientFrame`, `experimental_serializeSpeechStreamPart`, `experimental_parseSpeechStreamPart`) shared by clients and servers, plus the `EXPERIMENTAL_SPEECH_STREAM_*` frame type constants and `Experimental_SpeechStream*` frame types. Text-delta frames carry each text part's `voice` and `providerOptions`; the start frame carries `outputFormat` as an audio format object. Adds `gateway.experimental_speech`, callable like `speech(modelId)`, with a server-side `getToken()` that mints a speech-bound short-lived client secret for browser use.
|
|
10
|
+
|
|
11
|
+
- Updated dependencies [8202f5b]
|
|
12
|
+
- Updated dependencies [85d84a1]
|
|
13
|
+
- @ai-sdk/provider-utils@5.0.67
|
|
14
|
+
- @ai-sdk/provider@4.0.33
|
|
15
|
+
|
|
3
16
|
## 4.0.122
|
|
4
17
|
|
|
5
18
|
### Patch Changes
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FetchFunction, InferSchema, WebSocketConstructor } from "@ai-sdk/provider-utils";
|
|
2
|
-
import { APICallError, EmbeddingModelV4, Experimental_BatchV4, Experimental_DecisionModelV4, Experimental_RealtimeFactoryV4, Experimental_VideoModelV4, ImageModelV4, JSONValue, LanguageModelV4, ProviderV4, RerankingModelV4, SpeechModelV4, TranscriptionModelV4, TypeValidationError } from "@ai-sdk/provider";
|
|
2
|
+
import { APICallError, EmbeddingModelV4, Experimental_BatchV4, Experimental_DecisionModelV4, Experimental_RealtimeFactoryV4, Experimental_StreamingSpeechModelV4, Experimental_VideoModelV4, ImageModelV4, JSONValue, LanguageModelV4, ProviderV4, RerankingModelV4, SpeechModelV4, TranscriptionModelV4, TypeValidationError } from "@ai-sdk/provider";
|
|
3
3
|
//#region src/gateway-decision-model-settings.d.ts
|
|
4
4
|
type GatewayDecisionModelId = 'baseten/elephant-1' | 'baseten/mammoth-1' | 'convaiinnovations/laya' | 'convaiinnovations/laya-free' | 'liquid/d1' | 'liquid/d1-ultra' | 'microsoft/microsoft-decision-1' | 'openai/gpt-6-luna-decisions' | 'perplexity/pplx-decider-flash-v1.2' | 'perplexity/pplx-decider-v1.2' | 'scaledown/scaledown-classify-1' | 'typesafe-ai/jev' | 'typesafe-ai/jev-1.13.0' | 'typesafe-ai/jev-1.14.0' | (string & {});
|
|
5
5
|
//#endregion
|
|
@@ -107,8 +107,8 @@ type GatewayModelId = 'alibaba/qwen-3-14b' | 'alibaba/qwen-3-235b' | 'alibaba/qw
|
|
|
107
107
|
//#endregion
|
|
108
108
|
//#region src/gateway-realtime-auth.d.ts
|
|
109
109
|
/**
|
|
110
|
-
* Shared WebSocket subprotocol contract for AI Gateway realtime
|
|
111
|
-
* transcription auth.
|
|
110
|
+
* Shared WebSocket subprotocol contract for AI Gateway realtime, streaming
|
|
111
|
+
* transcription, and streaming speech auth.
|
|
112
112
|
*
|
|
113
113
|
* The browser `WebSocket` API cannot set request headers, so the Gateway auth
|
|
114
114
|
* (bearer) token is carried through the `Sec-WebSocket-Protocol` handshake
|
|
@@ -117,7 +117,8 @@ type GatewayModelId = 'alibaba/qwen-3-14b' | 'alibaba/qwen-3-235b' | 'alibaba/qw
|
|
|
117
117
|
*
|
|
118
118
|
* This module is the single source of truth for that contract so the client and
|
|
119
119
|
* the Gateway server can't drift: the client encodes values with
|
|
120
|
-
* `getGatewayRealtimeProtocols` / `getGatewayTranscriptionProtocols
|
|
120
|
+
* `getGatewayRealtimeProtocols` / `getGatewayTranscriptionProtocols` /
|
|
121
|
+
* `getGatewaySpeechProtocols`, and the
|
|
121
122
|
* Gateway server decodes them with `getGatewayRealtimeAuthToken` /
|
|
122
123
|
* `getGatewayRealtimeTeamIdOrSlug`.
|
|
123
124
|
*
|
|
@@ -138,6 +139,11 @@ export declare const GATEWAY_REALTIME_SUBPROTOCOL = "ai-gateway-realtime.v1";
|
|
|
138
139
|
* purpose as `GATEWAY_REALTIME_SUBPROTOCOL`).
|
|
139
140
|
*/
|
|
140
141
|
export declare const GATEWAY_TRANSCRIPTION_SUBPROTOCOL = "ai-gateway-transcription.v1";
|
|
142
|
+
/**
|
|
143
|
+
* Marker subprotocol for streaming speech handshakes (same negotiation
|
|
144
|
+
* purpose as `GATEWAY_REALTIME_SUBPROTOCOL`).
|
|
145
|
+
*/
|
|
146
|
+
export declare const GATEWAY_SPEECH_SUBPROTOCOL = "ai-gateway-speech.v1";
|
|
141
147
|
/** Subprotocol prefix that carries the Gateway auth (bearer) token. */
|
|
142
148
|
export declare const GATEWAY_AUTH_SUBPROTOCOL_PREFIX = "ai-gateway-auth.";
|
|
143
149
|
/** Subprotocol prefix that carries optional Vercel team scoping. */
|
|
@@ -156,6 +162,13 @@ export declare function getGatewayRealtimeProtocols(token: string, options?: {
|
|
|
156
162
|
export declare function getGatewayTranscriptionProtocols(token: string, options?: {
|
|
157
163
|
teamIdOrSlug?: string;
|
|
158
164
|
}): string[];
|
|
165
|
+
/**
|
|
166
|
+
* Client-side: `getGatewayRealtimeProtocols`, but with the streaming speech
|
|
167
|
+
* marker subprotocol.
|
|
168
|
+
*/
|
|
169
|
+
export declare function getGatewaySpeechProtocols(token: string, options?: {
|
|
170
|
+
teamIdOrSlug?: string;
|
|
171
|
+
}): string[];
|
|
159
172
|
/**
|
|
160
173
|
* Server-side: extract the Gateway auth (bearer) token from a
|
|
161
174
|
* `Sec-WebSocket-Protocol` header value, or `undefined` when it is absent or
|
|
@@ -1302,6 +1315,13 @@ interface GatewayProvider extends ProviderV4 {
|
|
|
1302
1315
|
* transcription WebSocket without holding the Gateway credential.
|
|
1303
1316
|
*/
|
|
1304
1317
|
experimental_transcription: GatewayTranscriptionFactory;
|
|
1318
|
+
/**
|
|
1319
|
+
* Experimental streaming-speech entry point. Callable like
|
|
1320
|
+
* `speech(modelId)`, plus `getToken` for minting a short-lived client
|
|
1321
|
+
* secret (`vcst_`) a browser can use to open the streaming speech
|
|
1322
|
+
* WebSocket without holding the Gateway credential.
|
|
1323
|
+
*/
|
|
1324
|
+
experimental_speech: GatewaySpeechFactory;
|
|
1305
1325
|
/**
|
|
1306
1326
|
* Gateway-specific tools executed server-side.
|
|
1307
1327
|
*/
|
|
@@ -1331,6 +1351,30 @@ interface GatewayTranscriptionFactory {
|
|
|
1331
1351
|
(modelId: GatewayTranscriptionModelId): TranscriptionModelV4;
|
|
1332
1352
|
getToken(options: GatewayTranscriptionFactoryGetTokenOptions): Promise<GatewayTranscriptionFactoryGetTokenResult>;
|
|
1333
1353
|
}
|
|
1354
|
+
type GatewaySpeechFactoryGetTokenOptions = {
|
|
1355
|
+
model: GatewaySpeechModelId;
|
|
1356
|
+
/** Token lifetime in seconds. Gateway default is 60s (max 300s). */
|
|
1357
|
+
expiresAfterSeconds?: number;
|
|
1358
|
+
};
|
|
1359
|
+
type GatewaySpeechFactoryGetTokenResult = {
|
|
1360
|
+
/** The minted `vcst_` client secret. */
|
|
1361
|
+
token: string;
|
|
1362
|
+
/** WebSocket URL of the streaming speech surface for this model. */
|
|
1363
|
+
url: string;
|
|
1364
|
+
/** Token expiry, epoch seconds. */
|
|
1365
|
+
expiresAt?: number;
|
|
1366
|
+
};
|
|
1367
|
+
/**
|
|
1368
|
+
* Streaming-speech factory: callable like `speech(modelId)`, plus a
|
|
1369
|
+
* server-side `getToken` that mints a speech-bound short-lived client secret
|
|
1370
|
+
* (`vcst_`). The browser connects with
|
|
1371
|
+
* `createGateway({ apiKey: token }).speech(modelId)`; the token rides the
|
|
1372
|
+
* same auth subprotocol an API key does, without exposing the credential.
|
|
1373
|
+
*/
|
|
1374
|
+
interface GatewaySpeechFactory {
|
|
1375
|
+
(modelId: GatewaySpeechModelId): Experimental_StreamingSpeechModelV4;
|
|
1376
|
+
getToken(options: GatewaySpeechFactoryGetTokenOptions): Promise<GatewaySpeechFactoryGetTokenResult>;
|
|
1377
|
+
}
|
|
1334
1378
|
interface GatewayProviderSettings {
|
|
1335
1379
|
/** Settings for downloading JSON Lines batch results. */
|
|
1336
1380
|
batchResultDownloads?: {
|
|
@@ -1361,10 +1405,10 @@ interface GatewayProviderSettings {
|
|
|
1361
1405
|
*/
|
|
1362
1406
|
fetch?: FetchFunction;
|
|
1363
1407
|
/**
|
|
1364
|
-
* Custom WebSocket implementation used for streaming transcription
|
|
1365
|
-
* useful for testing or for runtimes without a
|
|
1366
|
-
* header-capable implementation is not required —
|
|
1367
|
-
* carried in the subprotocols.
|
|
1408
|
+
* Custom WebSocket implementation used for streaming transcription and
|
|
1409
|
+
* streaming speech. This is useful for testing or for runtimes without a
|
|
1410
|
+
* global WebSocket. A header-capable implementation is not required —
|
|
1411
|
+
* Gateway WebSocket auth is carried in the subprotocols.
|
|
1368
1412
|
*/
|
|
1369
1413
|
webSocket?: WebSocketConstructor;
|
|
1370
1414
|
/**
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":["_$__tool_browserbase_fetch0.BrowserbaseFetchConfig","_$__tool_browserbase_fetch0.browserbaseFetchToolFactory","_$__tool_browserbase_search0.BrowserbaseSearchConfig","_$__tool_browserbase_search0.browserbaseSearchToolFactory","_$__tool_exa_search0.ExaSearchConfig","_$__tool_exa_search0.exaSearchToolFactory","_$__tool_parallel_search0.ParallelSearchConfig","_$__tool_parallel_search0.parallelSearchToolFactory","_$__tool_perplexity_search0.PerplexitySearchConfig","_$__tool_perplexity_search0.perplexitySearchToolFactory","_$__tool_tako_search0.TakoSearchConfig","_$__tool_tako_search0.takoSearchToolFactory","BatchV4","RealtimeFactoryV4","symbol","symbol","symbol","symbol","symbol","symbol","symbol","symbol","symbol"],"sources":["../src/gateway-decision-model-settings.ts","../src/gateway-provider-options.ts","../src/gateway-embedding-model-settings.ts","../src/gateway-image-model-settings.ts","../src/gateway-language-model-settings.ts","../src/gateway-realtime-auth.ts","../src/gateway-realtime-model-settings.ts","../src/gateway-reranking-model-settings.ts","../src/gateway-speech-model-settings.ts","../src/gateway-transcription-model-settings.ts","../src/gateway-video-model-settings.ts","../src/gateway-model-entry.ts","../src/gateway-fetch-metadata.ts","../src/gateway-spend-report.ts","../src/gateway-generation-info.ts","../src/tool/browserbase-fetch.ts","../src/tool/browserbase-search.ts","../src/tool/exa-search.ts","../src/tool/parallel-search.ts","../src/tool/perplexity-search.ts","../src/tool/tako-search.ts","../src/gateway-tools.ts","../src/gateway-provider.ts","../src/gateway-provider-metadata.ts","../src/errors/gateway-error.ts","../src/errors/create-gateway-error.ts","../src/errors/gateway-authentication-error.ts","../src/errors/gateway-failed-dependency-error.ts","../src/errors/gateway-forbidden-error.ts","../src/errors/gateway-internal-server-error.ts","../src/errors/gateway-invalid-request-error.ts","../src/errors/gateway-model-not-found-error.ts","../src/errors/gateway-not-found-error.ts","../src/errors/gateway-rate-limit-error.ts","../src/errors/gateway-response-error.ts","../src/version.ts","../src/index.ts"],"mappings":";;;KAAY;;;;;;;;;;KC0BA,0BAA0B,uCAClC;EAAqB,WAAW;EAAa;KAC7C;EACE,WAAW;EACX;KAEF;EAAqB,KAAK,8BAA8B;KACxD;EAAqB,KAAK,8BAA8B;KACxD;EACE;IACE;IACA,YAAY,8BAA8B;;;KAItC,qBAAqB;EAG3B;EACA,MAAM,0BAA0B;;KAG1B,uBAAuB;;;;;GAKhC;;EAGD,OAAO,eAAe,MAAM;;EAG5B;;EAGA;;;;;;;;;;;;;EAcA,MAAM;;;;;EAcN;;;;;;;;EASA,SAAS,yBAAyB;;EAGlC;;EAGA;;EAGA;IACE,OAAO;;;EAIT;;EAGA;;EAGA;;EAGA;;EAGA;;EAGA;;KAGG,8BAA8B,+BACjC,0BAA0B,iBACvB,0BAA0B;KAG1B;KASA,mBAAmB,aAAa,eAClC,OAAO,QAAQ,oBAAoB;KAGjC,gCAAgC,8BAA8B,QACjE,qBAAqB;KAIlB,yBAAyB,0CAEzB,gCAAgC;;;KC5JzB;;;KCAA;;;KCAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":["_$__tool_browserbase_fetch0.BrowserbaseFetchConfig","_$__tool_browserbase_fetch0.browserbaseFetchToolFactory","_$__tool_browserbase_search0.BrowserbaseSearchConfig","_$__tool_browserbase_search0.browserbaseSearchToolFactory","_$__tool_exa_search0.ExaSearchConfig","_$__tool_exa_search0.exaSearchToolFactory","_$__tool_parallel_search0.ParallelSearchConfig","_$__tool_parallel_search0.parallelSearchToolFactory","_$__tool_perplexity_search0.PerplexitySearchConfig","_$__tool_perplexity_search0.perplexitySearchToolFactory","_$__tool_tako_search0.TakoSearchConfig","_$__tool_tako_search0.takoSearchToolFactory","BatchV4","RealtimeFactoryV4","symbol","symbol","symbol","symbol","symbol","symbol","symbol","symbol","symbol"],"sources":["../src/gateway-decision-model-settings.ts","../src/gateway-provider-options.ts","../src/gateway-embedding-model-settings.ts","../src/gateway-image-model-settings.ts","../src/gateway-language-model-settings.ts","../src/gateway-realtime-auth.ts","../src/gateway-realtime-model-settings.ts","../src/gateway-reranking-model-settings.ts","../src/gateway-speech-model-settings.ts","../src/gateway-transcription-model-settings.ts","../src/gateway-video-model-settings.ts","../src/gateway-model-entry.ts","../src/gateway-fetch-metadata.ts","../src/gateway-spend-report.ts","../src/gateway-generation-info.ts","../src/tool/browserbase-fetch.ts","../src/tool/browserbase-search.ts","../src/tool/exa-search.ts","../src/tool/parallel-search.ts","../src/tool/perplexity-search.ts","../src/tool/tako-search.ts","../src/gateway-tools.ts","../src/gateway-provider.ts","../src/gateway-provider-metadata.ts","../src/errors/gateway-error.ts","../src/errors/create-gateway-error.ts","../src/errors/gateway-authentication-error.ts","../src/errors/gateway-failed-dependency-error.ts","../src/errors/gateway-forbidden-error.ts","../src/errors/gateway-internal-server-error.ts","../src/errors/gateway-invalid-request-error.ts","../src/errors/gateway-model-not-found-error.ts","../src/errors/gateway-not-found-error.ts","../src/errors/gateway-rate-limit-error.ts","../src/errors/gateway-response-error.ts","../src/version.ts","../src/index.ts"],"mappings":"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"}
|