ai 7.0.52 → 7.0.55
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 +29 -0
- package/dist/index.d.ts +134 -4
- package/dist/index.js +315 -36
- package/dist/index.js.map +1 -1
- package/dist/internal/index.js +9 -2
- package/dist/internal/index.js.map +1 -1
- package/docs/02-foundations/02-providers-and-models.mdx +1 -0
- package/docs/03-ai-sdk-core/36-transcription.mdx +1 -0
- package/docs/03-ai-sdk-core/37-speech.mdx +3 -0
- package/docs/03-ai-sdk-core/40-middleware.mdx +28 -0
- package/docs/03-ai-sdk-core/60-telemetry.mdx +3 -2
- package/docs/07-reference/01-ai-sdk-core/68-default-instructions-middleware.mdx +106 -0
- package/docs/07-reference/01-ai-sdk-core/68-default-settings-middleware.mdx +3 -0
- package/docs/07-reference/01-ai-sdk-core/index.mdx +5 -0
- package/package.json +4 -4
- package/src/agent/tool-loop-agent-settings.ts +2 -0
- package/src/batch/batch-types.ts +134 -0
- package/src/batch/batch.ts +336 -0
- package/src/batch/index.ts +19 -0
- package/src/index.ts +1 -0
- package/src/middleware/default-instructions-middleware.ts +44 -0
- package/src/middleware/index.ts +1 -0
- package/src/ui/chat.ts +4 -1
- package/src/ui/convert-to-model-messages.ts +4 -2
- package/src/util/async-iterable-stream.ts +9 -1
package/dist/index.js
CHANGED
|
@@ -1143,7 +1143,7 @@ import {
|
|
|
1143
1143
|
} from "@ai-sdk/provider-utils";
|
|
1144
1144
|
|
|
1145
1145
|
// src/version.ts
|
|
1146
|
-
var VERSION = true ? "7.0.
|
|
1146
|
+
var VERSION = true ? "7.0.55" : "0.0.0-test";
|
|
1147
1147
|
|
|
1148
1148
|
// src/util/download/download.ts
|
|
1149
1149
|
var download = async ({
|
|
@@ -7845,7 +7845,14 @@ function asAsyncIterableStream(stream) {
|
|
|
7845
7845
|
if (finished) {
|
|
7846
7846
|
return { done: true, value: void 0 };
|
|
7847
7847
|
}
|
|
7848
|
-
|
|
7848
|
+
let result;
|
|
7849
|
+
try {
|
|
7850
|
+
result = await reader.read();
|
|
7851
|
+
} catch (error) {
|
|
7852
|
+
await cleanup(false);
|
|
7853
|
+
throw error;
|
|
7854
|
+
}
|
|
7855
|
+
const { done, value } = result;
|
|
7849
7856
|
if (done) {
|
|
7850
7857
|
await cleanup(true);
|
|
7851
7858
|
return { done: true, value: void 0 };
|
|
@@ -10708,7 +10715,7 @@ async function convertToModelMessages(messages, options) {
|
|
|
10708
10715
|
messages = messages.map((message) => ({
|
|
10709
10716
|
...message,
|
|
10710
10717
|
parts: message.parts.filter(
|
|
10711
|
-
(part) => !isToolUIPart(part) || part.state
|
|
10718
|
+
(part) => !isToolUIPart(part) || part.state === "approval-responded" || part.state === "output-available" || part.state === "output-error" || part.state === "output-denied"
|
|
10712
10719
|
)
|
|
10713
10720
|
}));
|
|
10714
10721
|
}
|
|
@@ -11525,10 +11532,254 @@ async function pipeAgentUIStreamToResponse({
|
|
|
11525
11532
|
});
|
|
11526
11533
|
}
|
|
11527
11534
|
|
|
11535
|
+
// src/batch/batch.ts
|
|
11536
|
+
import {
|
|
11537
|
+
UnsupportedFunctionalityError as UnsupportedFunctionalityError3
|
|
11538
|
+
} from "@ai-sdk/provider";
|
|
11539
|
+
import { withUserAgentSuffix as withUserAgentSuffix4 } from "@ai-sdk/provider-utils";
|
|
11540
|
+
async function startTextBatch({
|
|
11541
|
+
model: modelArg,
|
|
11542
|
+
requests,
|
|
11543
|
+
providerOptions,
|
|
11544
|
+
abortSignal,
|
|
11545
|
+
headers,
|
|
11546
|
+
timeout
|
|
11547
|
+
}) {
|
|
11548
|
+
validateRequests(requests);
|
|
11549
|
+
const model = resolveBatchLanguageModel(modelArg);
|
|
11550
|
+
const operationAbortSignal = mergeAbortSignals(
|
|
11551
|
+
abortSignal,
|
|
11552
|
+
getTotalTimeoutMs(timeout)
|
|
11553
|
+
);
|
|
11554
|
+
const supportedUrls = await model.supportedUrls;
|
|
11555
|
+
operationAbortSignal == null ? void 0 : operationAbortSignal.throwIfAborted();
|
|
11556
|
+
const normalizedRequests = [];
|
|
11557
|
+
for (const request of requests) {
|
|
11558
|
+
const standardizedPrompt = await standardizePrompt(request);
|
|
11559
|
+
normalizedRequests.push({
|
|
11560
|
+
id: request.id,
|
|
11561
|
+
options: {
|
|
11562
|
+
...prepareLanguageModelCallOptions(request),
|
|
11563
|
+
prompt: await convertToLanguageModelPrompt({
|
|
11564
|
+
prompt: standardizedPrompt,
|
|
11565
|
+
supportedUrls,
|
|
11566
|
+
download: void 0,
|
|
11567
|
+
provider: model.provider.split(".")[0]
|
|
11568
|
+
}),
|
|
11569
|
+
providerOptions: request.providerOptions
|
|
11570
|
+
}
|
|
11571
|
+
});
|
|
11572
|
+
operationAbortSignal == null ? void 0 : operationAbortSignal.throwIfAborted();
|
|
11573
|
+
}
|
|
11574
|
+
const headersWithUserAgent = withUserAgentSuffix4(
|
|
11575
|
+
headers != null ? headers : {},
|
|
11576
|
+
`ai/${VERSION}`
|
|
11577
|
+
);
|
|
11578
|
+
try {
|
|
11579
|
+
const result = await model.experimental_doStartBatch({
|
|
11580
|
+
requests: normalizedRequests,
|
|
11581
|
+
providerOptions,
|
|
11582
|
+
abortSignal: operationAbortSignal,
|
|
11583
|
+
headers: headersWithUserAgent
|
|
11584
|
+
});
|
|
11585
|
+
const { batchId, warnings, ...status } = result;
|
|
11586
|
+
logWarnings({
|
|
11587
|
+
warnings: warnings.map(({ warning }) => warning),
|
|
11588
|
+
provider: model.provider,
|
|
11589
|
+
model: model.modelId
|
|
11590
|
+
});
|
|
11591
|
+
return {
|
|
11592
|
+
version: 1,
|
|
11593
|
+
type: "text",
|
|
11594
|
+
id: batchId,
|
|
11595
|
+
provider: model.provider,
|
|
11596
|
+
modelId: model.modelId,
|
|
11597
|
+
...status,
|
|
11598
|
+
warnings
|
|
11599
|
+
};
|
|
11600
|
+
} catch (error) {
|
|
11601
|
+
throw wrapGatewayError(error);
|
|
11602
|
+
}
|
|
11603
|
+
}
|
|
11604
|
+
async function getBatchStatus({
|
|
11605
|
+
model: modelArg,
|
|
11606
|
+
batch,
|
|
11607
|
+
providerOptions,
|
|
11608
|
+
maxRetries,
|
|
11609
|
+
abortSignal,
|
|
11610
|
+
headers,
|
|
11611
|
+
timeout
|
|
11612
|
+
}) {
|
|
11613
|
+
const model = resolveBatchLanguageModel(modelArg);
|
|
11614
|
+
validateBatchReference({ model, batch });
|
|
11615
|
+
const operationAbortSignal = mergeAbortSignals(
|
|
11616
|
+
abortSignal,
|
|
11617
|
+
getTotalTimeoutMs(timeout)
|
|
11618
|
+
);
|
|
11619
|
+
const { retry } = prepareRetries({
|
|
11620
|
+
maxRetries,
|
|
11621
|
+
abortSignal: operationAbortSignal
|
|
11622
|
+
});
|
|
11623
|
+
try {
|
|
11624
|
+
const status = await retry(
|
|
11625
|
+
() => model.experimental_doGetBatchStatus({
|
|
11626
|
+
batchId: batch.id,
|
|
11627
|
+
providerOptions,
|
|
11628
|
+
abortSignal: operationAbortSignal,
|
|
11629
|
+
headers: withUserAgentSuffix4(headers != null ? headers : {}, `ai/${VERSION}`)
|
|
11630
|
+
})
|
|
11631
|
+
);
|
|
11632
|
+
return status;
|
|
11633
|
+
} catch (error) {
|
|
11634
|
+
throw wrapGatewayError(error);
|
|
11635
|
+
}
|
|
11636
|
+
}
|
|
11637
|
+
function getBatchResults({
|
|
11638
|
+
model: modelArg,
|
|
11639
|
+
batch,
|
|
11640
|
+
providerOptions,
|
|
11641
|
+
maxRetries,
|
|
11642
|
+
abortSignal,
|
|
11643
|
+
headers,
|
|
11644
|
+
timeout
|
|
11645
|
+
}) {
|
|
11646
|
+
const model = resolveBatchLanguageModel(modelArg);
|
|
11647
|
+
validateBatchReference({ model, batch });
|
|
11648
|
+
const streamAbortController = new AbortController();
|
|
11649
|
+
const operationAbortSignal = mergeAbortSignals(
|
|
11650
|
+
abortSignal,
|
|
11651
|
+
getTotalTimeoutMs(timeout),
|
|
11652
|
+
streamAbortController.signal
|
|
11653
|
+
);
|
|
11654
|
+
const { retry } = prepareRetries({
|
|
11655
|
+
maxRetries,
|
|
11656
|
+
abortSignal: operationAbortSignal
|
|
11657
|
+
});
|
|
11658
|
+
const transformer = {
|
|
11659
|
+
transform(item, controller) {
|
|
11660
|
+
controller.enqueue(convertBatchItemResult(item));
|
|
11661
|
+
},
|
|
11662
|
+
cancel(reason) {
|
|
11663
|
+
streamAbortController.abort(
|
|
11664
|
+
reason != null ? reason : new Error("Batch results stream was cancelled.")
|
|
11665
|
+
);
|
|
11666
|
+
}
|
|
11667
|
+
};
|
|
11668
|
+
const transform = new TransformStream(transformer);
|
|
11669
|
+
void (async () => {
|
|
11670
|
+
try {
|
|
11671
|
+
const stream = await retry(
|
|
11672
|
+
() => model.experimental_doGetBatchResults({
|
|
11673
|
+
batchId: batch.id,
|
|
11674
|
+
providerOptions,
|
|
11675
|
+
abortSignal: operationAbortSignal,
|
|
11676
|
+
headers: withUserAgentSuffix4(headers != null ? headers : {}, `ai/${VERSION}`)
|
|
11677
|
+
})
|
|
11678
|
+
);
|
|
11679
|
+
await stream.pipeTo(transform.writable, {
|
|
11680
|
+
signal: operationAbortSignal
|
|
11681
|
+
});
|
|
11682
|
+
} catch (error) {
|
|
11683
|
+
await transform.writable.abort(wrapGatewayError(error)).catch(() => {
|
|
11684
|
+
});
|
|
11685
|
+
}
|
|
11686
|
+
})();
|
|
11687
|
+
return asAsyncIterableStream(transform.readable);
|
|
11688
|
+
}
|
|
11689
|
+
function resolveBatchLanguageModel(modelArg) {
|
|
11690
|
+
const model = resolveLanguageModel(modelArg);
|
|
11691
|
+
if (!isBatchLanguageModel(model)) {
|
|
11692
|
+
throw new UnsupportedFunctionalityError3({
|
|
11693
|
+
functionality: "batch processing",
|
|
11694
|
+
message: `The ${model.provider} model "${model.modelId}" does not support batch processing.`
|
|
11695
|
+
});
|
|
11696
|
+
}
|
|
11697
|
+
return model;
|
|
11698
|
+
}
|
|
11699
|
+
function isBatchLanguageModel(model) {
|
|
11700
|
+
const candidate = model;
|
|
11701
|
+
return typeof candidate.experimental_doStartBatch === "function" && typeof candidate.experimental_doGetBatchStatus === "function" && typeof candidate.experimental_doGetBatchResults === "function";
|
|
11702
|
+
}
|
|
11703
|
+
function validateRequests(requests) {
|
|
11704
|
+
if (requests.length === 0) {
|
|
11705
|
+
throw new InvalidArgumentError({
|
|
11706
|
+
parameter: "requests",
|
|
11707
|
+
value: requests,
|
|
11708
|
+
message: "requests must not be empty"
|
|
11709
|
+
});
|
|
11710
|
+
}
|
|
11711
|
+
const ids = /* @__PURE__ */ new Set();
|
|
11712
|
+
for (const request of requests) {
|
|
11713
|
+
if (request.id.trim().length === 0) {
|
|
11714
|
+
throw new InvalidArgumentError({
|
|
11715
|
+
parameter: "requests",
|
|
11716
|
+
value: requests,
|
|
11717
|
+
message: "request IDs must not be empty"
|
|
11718
|
+
});
|
|
11719
|
+
}
|
|
11720
|
+
if (ids.has(request.id)) {
|
|
11721
|
+
throw new InvalidArgumentError({
|
|
11722
|
+
parameter: "requests",
|
|
11723
|
+
value: requests,
|
|
11724
|
+
message: `request IDs must be unique; duplicate ID "${request.id}"`
|
|
11725
|
+
});
|
|
11726
|
+
}
|
|
11727
|
+
ids.add(request.id);
|
|
11728
|
+
}
|
|
11729
|
+
}
|
|
11730
|
+
function validateBatchReference({
|
|
11731
|
+
model,
|
|
11732
|
+
batch
|
|
11733
|
+
}) {
|
|
11734
|
+
if (batch.version !== 1 || batch.type !== "text") {
|
|
11735
|
+
throw new InvalidArgumentError({
|
|
11736
|
+
parameter: "batch",
|
|
11737
|
+
value: batch,
|
|
11738
|
+
message: "batch must be a supported text batch reference"
|
|
11739
|
+
});
|
|
11740
|
+
}
|
|
11741
|
+
if (batch.provider !== model.provider || batch.modelId !== model.modelId) {
|
|
11742
|
+
throw new InvalidArgumentError({
|
|
11743
|
+
parameter: "model",
|
|
11744
|
+
value: model,
|
|
11745
|
+
message: `model ${model.provider}:${model.modelId} is not compatible with batch ${batch.provider}:${batch.modelId}`
|
|
11746
|
+
});
|
|
11747
|
+
}
|
|
11748
|
+
}
|
|
11749
|
+
function convertBatchItemResult(item) {
|
|
11750
|
+
if (item.status !== "succeeded") {
|
|
11751
|
+
return item;
|
|
11752
|
+
}
|
|
11753
|
+
return {
|
|
11754
|
+
id: item.id,
|
|
11755
|
+
status: "succeeded",
|
|
11756
|
+
...convertGenerateResult(item.result)
|
|
11757
|
+
};
|
|
11758
|
+
}
|
|
11759
|
+
function convertGenerateResult(result) {
|
|
11760
|
+
var _a23;
|
|
11761
|
+
return {
|
|
11762
|
+
text: result.content.filter(
|
|
11763
|
+
(part) => part.type === "text"
|
|
11764
|
+
).map((part) => part.text).join(""),
|
|
11765
|
+
finishReason: result.finishReason.unified,
|
|
11766
|
+
rawFinishReason: result.finishReason.raw,
|
|
11767
|
+
usage: asLanguageModelUsage(result.usage),
|
|
11768
|
+
...result.response != null ? {
|
|
11769
|
+
response: {
|
|
11770
|
+
id: result.response.id,
|
|
11771
|
+
timestamp: (_a23 = result.response.timestamp) == null ? void 0 : _a23.toISOString(),
|
|
11772
|
+
modelId: result.response.modelId
|
|
11773
|
+
}
|
|
11774
|
+
} : {},
|
|
11775
|
+
providerMetadata: result.providerMetadata
|
|
11776
|
+
};
|
|
11777
|
+
}
|
|
11778
|
+
|
|
11528
11779
|
// src/embed/embed.ts
|
|
11529
11780
|
import {
|
|
11530
11781
|
createIdGenerator as createIdGenerator4,
|
|
11531
|
-
withUserAgentSuffix as
|
|
11782
|
+
withUserAgentSuffix as withUserAgentSuffix5
|
|
11532
11783
|
} from "@ai-sdk/provider-utils";
|
|
11533
11784
|
var originalGenerateCallId4 = createIdGenerator4({
|
|
11534
11785
|
prefix: "call",
|
|
@@ -11557,7 +11808,7 @@ async function embed({
|
|
|
11557
11808
|
});
|
|
11558
11809
|
const resolvedOnStart = onStart != null ? onStart : experimental_onStart;
|
|
11559
11810
|
const resolvedOnEnd = onEnd != null ? onEnd : experimental_onEnd;
|
|
11560
|
-
const headersWithUserAgent =
|
|
11811
|
+
const headersWithUserAgent = withUserAgentSuffix5(
|
|
11561
11812
|
headers != null ? headers : {},
|
|
11562
11813
|
`ai/${VERSION}`
|
|
11563
11814
|
);
|
|
@@ -11678,7 +11929,7 @@ var DefaultEmbedResult = class {
|
|
|
11678
11929
|
// src/embed/embed-many.ts
|
|
11679
11930
|
import {
|
|
11680
11931
|
createIdGenerator as createIdGenerator5,
|
|
11681
|
-
withUserAgentSuffix as
|
|
11932
|
+
withUserAgentSuffix as withUserAgentSuffix6
|
|
11682
11933
|
} from "@ai-sdk/provider-utils";
|
|
11683
11934
|
|
|
11684
11935
|
// src/util/split-array.ts
|
|
@@ -11722,7 +11973,7 @@ async function embedMany({
|
|
|
11722
11973
|
});
|
|
11723
11974
|
const resolvedOnStart = onStart != null ? onStart : experimental_onStart;
|
|
11724
11975
|
const resolvedOnEnd = onEnd != null ? onEnd : experimental_onEnd;
|
|
11725
|
-
const headersWithUserAgent =
|
|
11976
|
+
const headersWithUserAgent = withUserAgentSuffix6(
|
|
11726
11977
|
headers != null ? headers : {},
|
|
11727
11978
|
`ai/${VERSION}`
|
|
11728
11979
|
);
|
|
@@ -11956,7 +12207,7 @@ var DefaultEmbedManyResult = class {
|
|
|
11956
12207
|
import {
|
|
11957
12208
|
convertBase64ToUint8Array as convertBase64ToUint8Array4,
|
|
11958
12209
|
detectMediaType as detectMediaType2,
|
|
11959
|
-
withUserAgentSuffix as
|
|
12210
|
+
withUserAgentSuffix as withUserAgentSuffix7
|
|
11960
12211
|
} from "@ai-sdk/provider-utils";
|
|
11961
12212
|
|
|
11962
12213
|
// src/prompt/data-content.ts
|
|
@@ -12010,7 +12261,7 @@ async function generateImage({
|
|
|
12010
12261
|
}) {
|
|
12011
12262
|
var _a23, _b;
|
|
12012
12263
|
const model = resolveImageModel(modelArg);
|
|
12013
|
-
const headersWithUserAgent =
|
|
12264
|
+
const headersWithUserAgent = withUserAgentSuffix7(
|
|
12014
12265
|
headers != null ? headers : {},
|
|
12015
12266
|
`ai/${VERSION}`
|
|
12016
12267
|
);
|
|
@@ -12178,7 +12429,7 @@ function toImageModelV4File(dataContent) {
|
|
|
12178
12429
|
// src/generate-object/generate-object.ts
|
|
12179
12430
|
import {
|
|
12180
12431
|
createIdGenerator as createIdGenerator6,
|
|
12181
|
-
withUserAgentSuffix as
|
|
12432
|
+
withUserAgentSuffix as withUserAgentSuffix8
|
|
12182
12433
|
} from "@ai-sdk/provider-utils";
|
|
12183
12434
|
|
|
12184
12435
|
// src/generate-text/extract-reasoning-content.ts
|
|
@@ -12205,7 +12456,7 @@ import {
|
|
|
12205
12456
|
isJSONArray,
|
|
12206
12457
|
isJSONObject,
|
|
12207
12458
|
TypeValidationError as TypeValidationError4,
|
|
12208
|
-
UnsupportedFunctionalityError as
|
|
12459
|
+
UnsupportedFunctionalityError as UnsupportedFunctionalityError4
|
|
12209
12460
|
} from "@ai-sdk/provider";
|
|
12210
12461
|
import {
|
|
12211
12462
|
asSchema as asSchema5,
|
|
@@ -12230,7 +12481,7 @@ var noSchemaOutputStrategy = {
|
|
|
12230
12481
|
} : { success: true, value };
|
|
12231
12482
|
},
|
|
12232
12483
|
createElementStream() {
|
|
12233
|
-
throw new
|
|
12484
|
+
throw new UnsupportedFunctionalityError4({
|
|
12234
12485
|
functionality: "element streams in no-schema mode"
|
|
12235
12486
|
});
|
|
12236
12487
|
}
|
|
@@ -12252,7 +12503,7 @@ var objectOutputStrategy = (schema) => ({
|
|
|
12252
12503
|
return safeValidateTypes5({ value, schema });
|
|
12253
12504
|
},
|
|
12254
12505
|
createElementStream() {
|
|
12255
|
-
throw new
|
|
12506
|
+
throw new UnsupportedFunctionalityError4({
|
|
12256
12507
|
functionality: "element streams in object mode"
|
|
12257
12508
|
});
|
|
12258
12509
|
}
|
|
@@ -12443,7 +12694,7 @@ var enumOutputStrategy = (enumValues) => {
|
|
|
12443
12694
|
};
|
|
12444
12695
|
},
|
|
12445
12696
|
createElementStream() {
|
|
12446
|
-
throw new
|
|
12697
|
+
throw new UnsupportedFunctionalityError4({
|
|
12447
12698
|
functionality: "element streams in enum mode"
|
|
12448
12699
|
});
|
|
12449
12700
|
}
|
|
@@ -12703,7 +12954,7 @@ async function generateObject(options) {
|
|
|
12703
12954
|
enumValues
|
|
12704
12955
|
});
|
|
12705
12956
|
const callSettings = prepareLanguageModelCallOptions(settings);
|
|
12706
|
-
const headersWithUserAgent =
|
|
12957
|
+
const headersWithUserAgent = withUserAgentSuffix8(
|
|
12707
12958
|
headers != null ? headers : {},
|
|
12708
12959
|
`ai/${VERSION}`
|
|
12709
12960
|
);
|
|
@@ -13541,7 +13792,7 @@ var DefaultStreamObjectResult = class {
|
|
|
13541
13792
|
// src/generate-speech/generate-speech.ts
|
|
13542
13793
|
import {
|
|
13543
13794
|
detectMediaType as detectMediaType3,
|
|
13544
|
-
withUserAgentSuffix as
|
|
13795
|
+
withUserAgentSuffix as withUserAgentSuffix9
|
|
13545
13796
|
} from "@ai-sdk/provider-utils";
|
|
13546
13797
|
|
|
13547
13798
|
// src/generate-speech/generated-audio-file.ts
|
|
@@ -13588,7 +13839,7 @@ async function generateSpeech({
|
|
|
13588
13839
|
if (!resolvedModel) {
|
|
13589
13840
|
throw new Error("Model could not be resolved");
|
|
13590
13841
|
}
|
|
13591
|
-
const headersWithUserAgent =
|
|
13842
|
+
const headersWithUserAgent = withUserAgentSuffix9(
|
|
13592
13843
|
headers != null ? headers : {},
|
|
13593
13844
|
`ai/${VERSION}`
|
|
13594
13845
|
);
|
|
@@ -13885,7 +14136,7 @@ function detectToolDrift(current, baseline) {
|
|
|
13885
14136
|
import {
|
|
13886
14137
|
convertBase64ToUint8Array as convertBase64ToUint8Array5,
|
|
13887
14138
|
delay as defaultDelay,
|
|
13888
|
-
withUserAgentSuffix as
|
|
14139
|
+
withUserAgentSuffix as withUserAgentSuffix10,
|
|
13889
14140
|
detectMediaType as detectMediaType4
|
|
13890
14141
|
} from "@ai-sdk/provider-utils";
|
|
13891
14142
|
var defaultDownload = createDownload();
|
|
@@ -13912,7 +14163,7 @@ async function experimental_generateVideo({
|
|
|
13912
14163
|
}) {
|
|
13913
14164
|
var _a23, _b;
|
|
13914
14165
|
const model = resolveVideoModel(modelArg);
|
|
13915
|
-
const headersWithUserAgent =
|
|
14166
|
+
const headersWithUserAgent = withUserAgentSuffix10(
|
|
13916
14167
|
headers != null ? headers : {},
|
|
13917
14168
|
`ai/${VERSION}`
|
|
13918
14169
|
);
|
|
@@ -14299,6 +14550,30 @@ function defaultEmbeddingSettingsMiddleware({
|
|
|
14299
14550
|
};
|
|
14300
14551
|
}
|
|
14301
14552
|
|
|
14553
|
+
// src/middleware/default-instructions-middleware.ts
|
|
14554
|
+
import { asArray as asArray7 } from "@ai-sdk/provider-utils";
|
|
14555
|
+
function defaultInstructionsMiddleware({
|
|
14556
|
+
instructions
|
|
14557
|
+
}) {
|
|
14558
|
+
const defaultSystemMessages = typeof instructions === "string" ? [{ role: "system", content: instructions }] : asArray7(instructions).map((message) => ({
|
|
14559
|
+
role: "system",
|
|
14560
|
+
content: message.content,
|
|
14561
|
+
providerOptions: message.providerOptions
|
|
14562
|
+
}));
|
|
14563
|
+
return {
|
|
14564
|
+
specificationVersion: "v4",
|
|
14565
|
+
transformParams: async ({ params }) => {
|
|
14566
|
+
if (defaultSystemMessages.length === 0 || params.prompt.some((message) => message.role === "system")) {
|
|
14567
|
+
return params;
|
|
14568
|
+
}
|
|
14569
|
+
return {
|
|
14570
|
+
...params,
|
|
14571
|
+
prompt: [...defaultSystemMessages, ...params.prompt]
|
|
14572
|
+
};
|
|
14573
|
+
}
|
|
14574
|
+
};
|
|
14575
|
+
}
|
|
14576
|
+
|
|
14302
14577
|
// src/middleware/default-settings-middleware.ts
|
|
14303
14578
|
function defaultSettingsMiddleware({
|
|
14304
14579
|
settings
|
|
@@ -14726,7 +15001,7 @@ ${examplesSection}` : examplesSection;
|
|
|
14726
15001
|
}
|
|
14727
15002
|
|
|
14728
15003
|
// src/middleware/wrap-language-model.ts
|
|
14729
|
-
import { asArray as
|
|
15004
|
+
import { asArray as asArray8 } from "@ai-sdk/provider-utils";
|
|
14730
15005
|
var wrapLanguageModel = ({
|
|
14731
15006
|
model: inputModel,
|
|
14732
15007
|
middleware: middlewareArg,
|
|
@@ -14734,7 +15009,7 @@ var wrapLanguageModel = ({
|
|
|
14734
15009
|
providerId
|
|
14735
15010
|
}) => {
|
|
14736
15011
|
const model = asLanguageModelV4(inputModel);
|
|
14737
|
-
return [...
|
|
15012
|
+
return [...asArray8(middlewareArg)].reverse().reduce((wrappedModel, middleware) => {
|
|
14738
15013
|
return doWrap({ model: wrappedModel, middleware, modelId, providerId });
|
|
14739
15014
|
}, model);
|
|
14740
15015
|
};
|
|
@@ -14789,7 +15064,7 @@ var doWrap = ({
|
|
|
14789
15064
|
};
|
|
14790
15065
|
|
|
14791
15066
|
// src/middleware/wrap-embedding-model.ts
|
|
14792
|
-
import { asArray as
|
|
15067
|
+
import { asArray as asArray9 } from "@ai-sdk/provider-utils";
|
|
14793
15068
|
var wrapEmbeddingModel = ({
|
|
14794
15069
|
model: inputModel,
|
|
14795
15070
|
middleware: middlewareArg,
|
|
@@ -14797,7 +15072,7 @@ var wrapEmbeddingModel = ({
|
|
|
14797
15072
|
providerId
|
|
14798
15073
|
}) => {
|
|
14799
15074
|
const model = asEmbeddingModelV4(inputModel);
|
|
14800
|
-
return [...
|
|
15075
|
+
return [...asArray9(middlewareArg)].reverse().reduce((wrappedModel, middleware) => {
|
|
14801
15076
|
return doWrap2({ model: wrappedModel, middleware, modelId, providerId });
|
|
14802
15077
|
}, model);
|
|
14803
15078
|
};
|
|
@@ -14839,7 +15114,7 @@ var doWrap2 = ({
|
|
|
14839
15114
|
};
|
|
14840
15115
|
|
|
14841
15116
|
// src/middleware/wrap-image-model.ts
|
|
14842
|
-
import { asArray as
|
|
15117
|
+
import { asArray as asArray10 } from "@ai-sdk/provider-utils";
|
|
14843
15118
|
var wrapImageModel = ({
|
|
14844
15119
|
model: inputModel,
|
|
14845
15120
|
middleware: middlewareArg,
|
|
@@ -14847,7 +15122,7 @@ var wrapImageModel = ({
|
|
|
14847
15122
|
providerId
|
|
14848
15123
|
}) => {
|
|
14849
15124
|
const model = asImageModelV4(inputModel);
|
|
14850
|
-
return [...
|
|
15125
|
+
return [...asArray10(middlewareArg)].reverse().reduce((wrappedModel, middleware) => {
|
|
14851
15126
|
return doWrap3({ model: wrappedModel, middleware, modelId, providerId });
|
|
14852
15127
|
}, model);
|
|
14853
15128
|
};
|
|
@@ -16423,7 +16698,7 @@ var DefaultRerankResult = class {
|
|
|
16423
16698
|
// src/transcribe/transcribe.ts
|
|
16424
16699
|
import {
|
|
16425
16700
|
detectMediaType as detectMediaType5,
|
|
16426
|
-
withUserAgentSuffix as
|
|
16701
|
+
withUserAgentSuffix as withUserAgentSuffix11
|
|
16427
16702
|
} from "@ai-sdk/provider-utils";
|
|
16428
16703
|
var defaultDownload2 = createDownload();
|
|
16429
16704
|
async function transcribe({
|
|
@@ -16443,7 +16718,7 @@ async function transcribe({
|
|
|
16443
16718
|
maxRetries: maxRetriesArg,
|
|
16444
16719
|
abortSignal
|
|
16445
16720
|
});
|
|
16446
|
-
const headersWithUserAgent =
|
|
16721
|
+
const headersWithUserAgent = withUserAgentSuffix11(
|
|
16447
16722
|
headers != null ? headers : {},
|
|
16448
16723
|
`ai/${VERSION}`
|
|
16449
16724
|
);
|
|
@@ -16496,11 +16771,11 @@ var DefaultTranscriptionResult = class {
|
|
|
16496
16771
|
|
|
16497
16772
|
// src/transcribe/stream-transcribe.ts
|
|
16498
16773
|
import {
|
|
16499
|
-
UnsupportedFunctionalityError as
|
|
16774
|
+
UnsupportedFunctionalityError as UnsupportedFunctionalityError5
|
|
16500
16775
|
} from "@ai-sdk/provider";
|
|
16501
16776
|
import {
|
|
16502
16777
|
DelayedPromise as DelayedPromise3,
|
|
16503
|
-
withUserAgentSuffix as
|
|
16778
|
+
withUserAgentSuffix as withUserAgentSuffix12
|
|
16504
16779
|
} from "@ai-sdk/provider-utils";
|
|
16505
16780
|
function streamTranscribe({
|
|
16506
16781
|
model,
|
|
@@ -16519,12 +16794,12 @@ function streamTranscribe({
|
|
|
16519
16794
|
}
|
|
16520
16795
|
const doStream = (_a23 = resolvedModel.doStream) == null ? void 0 : _a23.bind(resolvedModel);
|
|
16521
16796
|
if (doStream == null) {
|
|
16522
|
-
throw new
|
|
16797
|
+
throw new UnsupportedFunctionalityError5({
|
|
16523
16798
|
functionality: "streaming transcription",
|
|
16524
16799
|
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). If that provider does not support streaming transcription, pass a provider model instance instead (e.g. openai.transcription('gpt-realtime-whisper')) or upgrade @ai-sdk/gateway to a version with streaming transcription support." : "")
|
|
16525
16800
|
});
|
|
16526
16801
|
}
|
|
16527
|
-
const headersWithUserAgent =
|
|
16802
|
+
const headersWithUserAgent = withUserAgentSuffix12(
|
|
16528
16803
|
headers != null ? headers : {},
|
|
16529
16804
|
`ai/${VERSION}`
|
|
16530
16805
|
);
|
|
@@ -16709,7 +16984,7 @@ var experimental_transcribe = transcribe;
|
|
|
16709
16984
|
// src/translate/stream-translate.ts
|
|
16710
16985
|
import {
|
|
16711
16986
|
DelayedPromise as DelayedPromise4,
|
|
16712
|
-
withUserAgentSuffix as
|
|
16987
|
+
withUserAgentSuffix as withUserAgentSuffix13
|
|
16713
16988
|
} from "@ai-sdk/provider-utils";
|
|
16714
16989
|
function streamTranslate({
|
|
16715
16990
|
model,
|
|
@@ -16726,7 +17001,7 @@ function streamTranslate({
|
|
|
16726
17001
|
}) {
|
|
16727
17002
|
const resolvedModel = resolveSpeechTranslationModel(model);
|
|
16728
17003
|
const doStream = resolvedModel.doStream.bind(resolvedModel);
|
|
16729
|
-
const headersWithUserAgent =
|
|
17004
|
+
const headersWithUserAgent = withUserAgentSuffix13(
|
|
16730
17005
|
headers != null ? headers : {},
|
|
16731
17006
|
`ai/${VERSION}`
|
|
16732
17007
|
);
|
|
@@ -16923,7 +17198,7 @@ function streamTranslate({
|
|
|
16923
17198
|
// src/ui/call-completion-api.ts
|
|
16924
17199
|
import {
|
|
16925
17200
|
parseJsonEventStream,
|
|
16926
|
-
withUserAgentSuffix as
|
|
17201
|
+
withUserAgentSuffix as withUserAgentSuffix14,
|
|
16927
17202
|
getRuntimeEnvironmentUserAgent as getRuntimeEnvironmentUserAgent2
|
|
16928
17203
|
} from "@ai-sdk/provider-utils";
|
|
16929
17204
|
|
|
@@ -16973,7 +17248,7 @@ async function callCompletionApi({
|
|
|
16973
17248
|
...body
|
|
16974
17249
|
}),
|
|
16975
17250
|
credentials,
|
|
16976
|
-
headers:
|
|
17251
|
+
headers: withUserAgentSuffix14(
|
|
16977
17252
|
{
|
|
16978
17253
|
"Content-Type": "application/json",
|
|
16979
17254
|
...headers
|
|
@@ -17522,7 +17797,7 @@ var AbstractChat = class {
|
|
|
17522
17797
|
try {
|
|
17523
17798
|
const response = {
|
|
17524
17799
|
state: createStreamingUIMessageState({
|
|
17525
|
-
lastMessage: this.state.snapshot(lastMessage),
|
|
17800
|
+
lastMessage: trigger === "regenerate-message" ? void 0 : this.state.snapshot(lastMessage),
|
|
17526
17801
|
messageId: this.generateId()
|
|
17527
17802
|
}),
|
|
17528
17803
|
abortController: new AbortController()
|
|
@@ -17912,6 +18187,7 @@ export {
|
|
|
17912
18187
|
createUIMessageStreamResponse,
|
|
17913
18188
|
customProvider,
|
|
17914
18189
|
defaultEmbeddingSettingsMiddleware,
|
|
18190
|
+
defaultInstructionsMiddleware,
|
|
17915
18191
|
defaultSettingsMiddleware,
|
|
17916
18192
|
detectToolDrift,
|
|
17917
18193
|
dynamicTool,
|
|
@@ -17923,8 +18199,11 @@ export {
|
|
|
17923
18199
|
filterActiveTools as experimental_filterActiveTools,
|
|
17924
18200
|
experimental_generateSpeech,
|
|
17925
18201
|
experimental_generateVideo,
|
|
18202
|
+
getBatchResults as experimental_getBatchResults,
|
|
18203
|
+
getBatchStatus as experimental_getBatchStatus,
|
|
17926
18204
|
getRealtimeToolDefinitions as experimental_getRealtimeToolDefinitions,
|
|
17927
18205
|
resampleAudio as experimental_resampleAudio,
|
|
18206
|
+
startTextBatch as experimental_startTextBatch,
|
|
17928
18207
|
streamLanguageModelCall as experimental_streamLanguageModelCall,
|
|
17929
18208
|
streamTranscribe as experimental_streamTranscribe,
|
|
17930
18209
|
streamTranslate as experimental_streamTranslate,
|