ai 6.0.0-beta.58 → 6.0.0-beta.59

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/dist/index.js CHANGED
@@ -74,6 +74,7 @@ __export(src_exports, {
74
74
  coreToolMessageSchema: () => coreToolMessageSchema,
75
75
  coreUserMessageSchema: () => coreUserMessageSchema,
76
76
  cosineSimilarity: () => cosineSimilarity,
77
+ createAgentStreamResponse: () => createAgentStreamResponse,
77
78
  createGateway: () => import_gateway3.createGateway,
78
79
  createIdGenerator: () => import_provider_utils37.createIdGenerator,
79
80
  createProviderRegistry: () => createProviderRegistry,
@@ -870,7 +871,7 @@ function detectMediaType({
870
871
  var import_provider_utils2 = require("@ai-sdk/provider-utils");
871
872
 
872
873
  // src/version.ts
873
- var VERSION = true ? "6.0.0-beta.58" : "0.0.0-test";
874
+ var VERSION = true ? "6.0.0-beta.59" : "0.0.0-test";
874
875
 
875
876
  // src/util/download/download.ts
876
877
  var download = async ({ url }) => {
@@ -6320,6 +6321,182 @@ var DefaultStreamTextResult = class {
6320
6321
  }
6321
6322
  };
6322
6323
 
6324
+ // src/agent/tool-loop-agent.ts
6325
+ var ToolLoopAgent = class {
6326
+ constructor(settings) {
6327
+ this.version = "agent-v1";
6328
+ this.settings = settings;
6329
+ }
6330
+ /**
6331
+ * The id of the agent.
6332
+ */
6333
+ get id() {
6334
+ return this.settings.id;
6335
+ }
6336
+ /**
6337
+ * The tools that the agent can use.
6338
+ */
6339
+ get tools() {
6340
+ return this.settings.tools;
6341
+ }
6342
+ /**
6343
+ * Generates an output from the agent (non-streaming).
6344
+ */
6345
+ async generate(options) {
6346
+ var _a17;
6347
+ return generateText({
6348
+ ...this.settings,
6349
+ stopWhen: (_a17 = this.settings.stopWhen) != null ? _a17 : stepCountIs(20),
6350
+ ...options
6351
+ });
6352
+ }
6353
+ /**
6354
+ * Streams an output from the agent (streaming).
6355
+ */
6356
+ stream(options) {
6357
+ var _a17;
6358
+ return streamText({
6359
+ ...this.settings,
6360
+ stopWhen: (_a17 = this.settings.stopWhen) != null ? _a17 : stepCountIs(20),
6361
+ ...options
6362
+ });
6363
+ }
6364
+ };
6365
+
6366
+ // src/ui-message-stream/create-ui-message-stream.ts
6367
+ var import_provider_utils17 = require("@ai-sdk/provider-utils");
6368
+ function createUIMessageStream({
6369
+ execute,
6370
+ onError = import_provider_utils17.getErrorMessage,
6371
+ originalMessages,
6372
+ onFinish,
6373
+ generateId: generateId2 = import_provider_utils17.generateId
6374
+ }) {
6375
+ let controller;
6376
+ const ongoingStreamPromises = [];
6377
+ const stream = new ReadableStream({
6378
+ start(controllerArg) {
6379
+ controller = controllerArg;
6380
+ }
6381
+ });
6382
+ function safeEnqueue(data) {
6383
+ try {
6384
+ controller.enqueue(data);
6385
+ } catch (error) {
6386
+ }
6387
+ }
6388
+ try {
6389
+ const result = execute({
6390
+ writer: {
6391
+ write(part) {
6392
+ safeEnqueue(part);
6393
+ },
6394
+ merge(streamArg) {
6395
+ ongoingStreamPromises.push(
6396
+ (async () => {
6397
+ const reader = streamArg.getReader();
6398
+ while (true) {
6399
+ const { done, value } = await reader.read();
6400
+ if (done)
6401
+ break;
6402
+ safeEnqueue(value);
6403
+ }
6404
+ })().catch((error) => {
6405
+ safeEnqueue({
6406
+ type: "error",
6407
+ errorText: onError(error)
6408
+ });
6409
+ })
6410
+ );
6411
+ },
6412
+ onError
6413
+ }
6414
+ });
6415
+ if (result) {
6416
+ ongoingStreamPromises.push(
6417
+ result.catch((error) => {
6418
+ safeEnqueue({
6419
+ type: "error",
6420
+ errorText: onError(error)
6421
+ });
6422
+ })
6423
+ );
6424
+ }
6425
+ } catch (error) {
6426
+ safeEnqueue({
6427
+ type: "error",
6428
+ errorText: onError(error)
6429
+ });
6430
+ }
6431
+ const waitForStreams = new Promise(async (resolve3) => {
6432
+ while (ongoingStreamPromises.length > 0) {
6433
+ await ongoingStreamPromises.shift();
6434
+ }
6435
+ resolve3();
6436
+ });
6437
+ waitForStreams.finally(() => {
6438
+ try {
6439
+ controller.close();
6440
+ } catch (error) {
6441
+ }
6442
+ });
6443
+ return handleUIMessageStreamFinish({
6444
+ stream,
6445
+ messageId: generateId2(),
6446
+ originalMessages,
6447
+ onFinish,
6448
+ onError
6449
+ });
6450
+ }
6451
+
6452
+ // src/ui-message-stream/read-ui-message-stream.ts
6453
+ function readUIMessageStream({
6454
+ message,
6455
+ stream,
6456
+ onError,
6457
+ terminateOnError = false
6458
+ }) {
6459
+ var _a17;
6460
+ let controller;
6461
+ let hasErrored = false;
6462
+ const outputStream = new ReadableStream({
6463
+ start(controllerParam) {
6464
+ controller = controllerParam;
6465
+ }
6466
+ });
6467
+ const state = createStreamingUIMessageState({
6468
+ messageId: (_a17 = message == null ? void 0 : message.id) != null ? _a17 : "",
6469
+ lastMessage: message
6470
+ });
6471
+ const handleError = (error) => {
6472
+ onError == null ? void 0 : onError(error);
6473
+ if (!hasErrored && terminateOnError) {
6474
+ hasErrored = true;
6475
+ controller == null ? void 0 : controller.error(error);
6476
+ }
6477
+ };
6478
+ consumeStream({
6479
+ stream: processUIMessageStream({
6480
+ stream,
6481
+ runUpdateMessageJob(job) {
6482
+ return job({
6483
+ state,
6484
+ write: () => {
6485
+ controller == null ? void 0 : controller.enqueue(structuredClone(state.message));
6486
+ }
6487
+ });
6488
+ },
6489
+ onError: handleError
6490
+ }),
6491
+ onError: handleError
6492
+ }).finally(() => {
6493
+ if (!hasErrored) {
6494
+ controller == null ? void 0 : controller.close();
6495
+ }
6496
+ });
6497
+ return createAsyncIterableStream(outputStream);
6498
+ }
6499
+
6323
6500
  // src/ui/convert-to-model-messages.ts
6324
6501
  function convertToModelMessages(messages, options) {
6325
6502
  const modelMessages = [];
@@ -6525,94 +6702,438 @@ function convertToModelMessages(messages, options) {
6525
6702
  }
6526
6703
  var convertToCoreMessages = convertToModelMessages;
6527
6704
 
6528
- // src/agent/tool-loop-agent.ts
6529
- var ToolLoopAgent = class {
6530
- constructor(settings) {
6531
- this.version = "agent-v1";
6532
- this.settings = settings;
6533
- }
6534
- /**
6535
- * The id of the agent.
6536
- */
6537
- get id() {
6538
- return this.settings.id;
6539
- }
6540
- /**
6541
- * The tools that the agent can use.
6542
- */
6543
- get tools() {
6544
- return this.settings.tools;
6545
- }
6546
- /**
6547
- * Generates an output from the agent (non-streaming).
6548
- */
6549
- async generate(options) {
6550
- var _a17;
6551
- return generateText({
6552
- ...this.settings,
6553
- stopWhen: (_a17 = this.settings.stopWhen) != null ? _a17 : stepCountIs(20),
6554
- ...options
6555
- });
6556
- }
6557
- /**
6558
- * Streams an output from the agent (streaming).
6559
- */
6560
- stream(options) {
6561
- var _a17;
6562
- return streamText({
6563
- ...this.settings,
6564
- stopWhen: (_a17 = this.settings.stopWhen) != null ? _a17 : stepCountIs(20),
6565
- ...options
6566
- });
6567
- }
6568
- /**
6569
- * Creates a response object that streams UI messages to the client.
6570
- */
6571
- respond(options) {
6572
- return this.stream({
6573
- prompt: convertToModelMessages(options.messages, { tools: this.tools })
6574
- }).toUIMessageStreamResponse();
6575
- }
6576
- };
6577
-
6578
- // src/embed/embed.ts
6579
- var import_provider_utils17 = require("@ai-sdk/provider-utils");
6580
- async function embed({
6581
- model: modelArg,
6582
- value,
6583
- providerOptions,
6584
- maxRetries: maxRetriesArg,
6585
- abortSignal,
6586
- headers,
6587
- experimental_telemetry: telemetry
6588
- }) {
6589
- const model = resolveEmbeddingModel(modelArg);
6590
- const { maxRetries, retry } = prepareRetries({
6591
- maxRetries: maxRetriesArg,
6592
- abortSignal
6593
- });
6594
- const headersWithUserAgent = (0, import_provider_utils17.withUserAgentSuffix)(
6595
- headers != null ? headers : {},
6596
- `ai/${VERSION}`
6597
- );
6598
- const baseTelemetryAttributes = getBaseTelemetryAttributes({
6599
- model,
6600
- telemetry,
6601
- headers: headersWithUserAgent,
6602
- settings: { maxRetries }
6603
- });
6604
- const tracer = getTracer(telemetry);
6605
- return recordSpan({
6606
- name: "ai.embed",
6607
- attributes: selectTelemetryAttributes({
6608
- telemetry,
6609
- attributes: {
6610
- ...assembleOperationName({ operationId: "ai.embed", telemetry }),
6611
- ...baseTelemetryAttributes,
6612
- "ai.value": { input: () => JSON.stringify(value) }
6613
- }
6614
- }),
6615
- tracer,
6705
+ // src/ui/validate-ui-messages.ts
6706
+ var import_provider25 = require("@ai-sdk/provider");
6707
+ var import_provider_utils18 = require("@ai-sdk/provider-utils");
6708
+ var import_v48 = require("zod/v4");
6709
+ var uiMessagesSchema = (0, import_provider_utils18.lazySchema)(
6710
+ () => (0, import_provider_utils18.zodSchema)(
6711
+ import_v48.z.array(
6712
+ import_v48.z.object({
6713
+ id: import_v48.z.string(),
6714
+ role: import_v48.z.enum(["system", "user", "assistant"]),
6715
+ metadata: import_v48.z.unknown().optional(),
6716
+ parts: import_v48.z.array(
6717
+ import_v48.z.union([
6718
+ import_v48.z.object({
6719
+ type: import_v48.z.literal("text"),
6720
+ text: import_v48.z.string(),
6721
+ state: import_v48.z.enum(["streaming", "done"]).optional(),
6722
+ providerMetadata: providerMetadataSchema.optional()
6723
+ }),
6724
+ import_v48.z.object({
6725
+ type: import_v48.z.literal("reasoning"),
6726
+ text: import_v48.z.string(),
6727
+ state: import_v48.z.enum(["streaming", "done"]).optional(),
6728
+ providerMetadata: providerMetadataSchema.optional()
6729
+ }),
6730
+ import_v48.z.object({
6731
+ type: import_v48.z.literal("source-url"),
6732
+ sourceId: import_v48.z.string(),
6733
+ url: import_v48.z.string(),
6734
+ title: import_v48.z.string().optional(),
6735
+ providerMetadata: providerMetadataSchema.optional()
6736
+ }),
6737
+ import_v48.z.object({
6738
+ type: import_v48.z.literal("source-document"),
6739
+ sourceId: import_v48.z.string(),
6740
+ mediaType: import_v48.z.string(),
6741
+ title: import_v48.z.string(),
6742
+ filename: import_v48.z.string().optional(),
6743
+ providerMetadata: providerMetadataSchema.optional()
6744
+ }),
6745
+ import_v48.z.object({
6746
+ type: import_v48.z.literal("file"),
6747
+ mediaType: import_v48.z.string(),
6748
+ filename: import_v48.z.string().optional(),
6749
+ url: import_v48.z.string(),
6750
+ providerMetadata: providerMetadataSchema.optional()
6751
+ }),
6752
+ import_v48.z.object({
6753
+ type: import_v48.z.literal("step-start")
6754
+ }),
6755
+ import_v48.z.object({
6756
+ type: import_v48.z.string().startsWith("data-"),
6757
+ id: import_v48.z.string().optional(),
6758
+ data: import_v48.z.unknown()
6759
+ }),
6760
+ import_v48.z.object({
6761
+ type: import_v48.z.literal("dynamic-tool"),
6762
+ toolName: import_v48.z.string(),
6763
+ toolCallId: import_v48.z.string(),
6764
+ state: import_v48.z.literal("input-streaming"),
6765
+ input: import_v48.z.unknown().optional(),
6766
+ providerExecuted: import_v48.z.boolean().optional(),
6767
+ output: import_v48.z.never().optional(),
6768
+ errorText: import_v48.z.never().optional(),
6769
+ approval: import_v48.z.never().optional()
6770
+ }),
6771
+ import_v48.z.object({
6772
+ type: import_v48.z.literal("dynamic-tool"),
6773
+ toolName: import_v48.z.string(),
6774
+ toolCallId: import_v48.z.string(),
6775
+ state: import_v48.z.literal("input-available"),
6776
+ input: import_v48.z.unknown(),
6777
+ providerExecuted: import_v48.z.boolean().optional(),
6778
+ output: import_v48.z.never().optional(),
6779
+ errorText: import_v48.z.never().optional(),
6780
+ callProviderMetadata: providerMetadataSchema.optional(),
6781
+ approval: import_v48.z.never().optional()
6782
+ }),
6783
+ import_v48.z.object({
6784
+ type: import_v48.z.literal("dynamic-tool"),
6785
+ toolName: import_v48.z.string(),
6786
+ toolCallId: import_v48.z.string(),
6787
+ state: import_v48.z.literal("approval-requested"),
6788
+ input: import_v48.z.unknown(),
6789
+ providerExecuted: import_v48.z.boolean().optional(),
6790
+ output: import_v48.z.never().optional(),
6791
+ errorText: import_v48.z.never().optional(),
6792
+ callProviderMetadata: providerMetadataSchema.optional(),
6793
+ approval: import_v48.z.object({
6794
+ id: import_v48.z.string(),
6795
+ approved: import_v48.z.never().optional(),
6796
+ reason: import_v48.z.never().optional()
6797
+ })
6798
+ }),
6799
+ import_v48.z.object({
6800
+ type: import_v48.z.literal("dynamic-tool"),
6801
+ toolName: import_v48.z.string(),
6802
+ toolCallId: import_v48.z.string(),
6803
+ state: import_v48.z.literal("approval-responded"),
6804
+ input: import_v48.z.unknown(),
6805
+ providerExecuted: import_v48.z.boolean().optional(),
6806
+ output: import_v48.z.never().optional(),
6807
+ errorText: import_v48.z.never().optional(),
6808
+ callProviderMetadata: providerMetadataSchema.optional(),
6809
+ approval: import_v48.z.object({
6810
+ id: import_v48.z.string(),
6811
+ approved: import_v48.z.boolean(),
6812
+ reason: import_v48.z.string().optional()
6813
+ })
6814
+ }),
6815
+ import_v48.z.object({
6816
+ type: import_v48.z.literal("dynamic-tool"),
6817
+ toolName: import_v48.z.string(),
6818
+ toolCallId: import_v48.z.string(),
6819
+ state: import_v48.z.literal("output-available"),
6820
+ input: import_v48.z.unknown(),
6821
+ providerExecuted: import_v48.z.boolean().optional(),
6822
+ output: import_v48.z.unknown(),
6823
+ errorText: import_v48.z.never().optional(),
6824
+ callProviderMetadata: providerMetadataSchema.optional(),
6825
+ preliminary: import_v48.z.boolean().optional(),
6826
+ approval: import_v48.z.object({
6827
+ id: import_v48.z.string(),
6828
+ approved: import_v48.z.literal(true),
6829
+ reason: import_v48.z.string().optional()
6830
+ }).optional()
6831
+ }),
6832
+ import_v48.z.object({
6833
+ type: import_v48.z.literal("dynamic-tool"),
6834
+ toolName: import_v48.z.string(),
6835
+ toolCallId: import_v48.z.string(),
6836
+ state: import_v48.z.literal("output-error"),
6837
+ input: import_v48.z.unknown(),
6838
+ providerExecuted: import_v48.z.boolean().optional(),
6839
+ output: import_v48.z.never().optional(),
6840
+ errorText: import_v48.z.string(),
6841
+ callProviderMetadata: providerMetadataSchema.optional(),
6842
+ approval: import_v48.z.object({
6843
+ id: import_v48.z.string(),
6844
+ approved: import_v48.z.literal(true),
6845
+ reason: import_v48.z.string().optional()
6846
+ }).optional()
6847
+ }),
6848
+ import_v48.z.object({
6849
+ type: import_v48.z.literal("dynamic-tool"),
6850
+ toolName: import_v48.z.string(),
6851
+ toolCallId: import_v48.z.string(),
6852
+ state: import_v48.z.literal("output-denied"),
6853
+ input: import_v48.z.unknown(),
6854
+ providerExecuted: import_v48.z.boolean().optional(),
6855
+ output: import_v48.z.never().optional(),
6856
+ errorText: import_v48.z.never().optional(),
6857
+ callProviderMetadata: providerMetadataSchema.optional(),
6858
+ approval: import_v48.z.object({
6859
+ id: import_v48.z.string(),
6860
+ approved: import_v48.z.literal(false),
6861
+ reason: import_v48.z.string().optional()
6862
+ })
6863
+ }),
6864
+ import_v48.z.object({
6865
+ type: import_v48.z.string().startsWith("tool-"),
6866
+ toolCallId: import_v48.z.string(),
6867
+ state: import_v48.z.literal("input-streaming"),
6868
+ providerExecuted: import_v48.z.boolean().optional(),
6869
+ input: import_v48.z.unknown().optional(),
6870
+ output: import_v48.z.never().optional(),
6871
+ errorText: import_v48.z.never().optional(),
6872
+ approval: import_v48.z.never().optional()
6873
+ }),
6874
+ import_v48.z.object({
6875
+ type: import_v48.z.string().startsWith("tool-"),
6876
+ toolCallId: import_v48.z.string(),
6877
+ state: import_v48.z.literal("input-available"),
6878
+ providerExecuted: import_v48.z.boolean().optional(),
6879
+ input: import_v48.z.unknown(),
6880
+ output: import_v48.z.never().optional(),
6881
+ errorText: import_v48.z.never().optional(),
6882
+ callProviderMetadata: providerMetadataSchema.optional(),
6883
+ approval: import_v48.z.never().optional()
6884
+ }),
6885
+ import_v48.z.object({
6886
+ type: import_v48.z.string().startsWith("tool-"),
6887
+ toolCallId: import_v48.z.string(),
6888
+ state: import_v48.z.literal("approval-requested"),
6889
+ input: import_v48.z.unknown(),
6890
+ providerExecuted: import_v48.z.boolean().optional(),
6891
+ output: import_v48.z.never().optional(),
6892
+ errorText: import_v48.z.never().optional(),
6893
+ callProviderMetadata: providerMetadataSchema.optional(),
6894
+ approval: import_v48.z.object({
6895
+ id: import_v48.z.string(),
6896
+ approved: import_v48.z.never().optional(),
6897
+ reason: import_v48.z.never().optional()
6898
+ })
6899
+ }),
6900
+ import_v48.z.object({
6901
+ type: import_v48.z.string().startsWith("tool-"),
6902
+ toolCallId: import_v48.z.string(),
6903
+ state: import_v48.z.literal("approval-responded"),
6904
+ input: import_v48.z.unknown(),
6905
+ providerExecuted: import_v48.z.boolean().optional(),
6906
+ output: import_v48.z.never().optional(),
6907
+ errorText: import_v48.z.never().optional(),
6908
+ callProviderMetadata: providerMetadataSchema.optional(),
6909
+ approval: import_v48.z.object({
6910
+ id: import_v48.z.string(),
6911
+ approved: import_v48.z.boolean(),
6912
+ reason: import_v48.z.string().optional()
6913
+ })
6914
+ }),
6915
+ import_v48.z.object({
6916
+ type: import_v48.z.string().startsWith("tool-"),
6917
+ toolCallId: import_v48.z.string(),
6918
+ state: import_v48.z.literal("output-available"),
6919
+ providerExecuted: import_v48.z.boolean().optional(),
6920
+ input: import_v48.z.unknown(),
6921
+ output: import_v48.z.unknown(),
6922
+ errorText: import_v48.z.never().optional(),
6923
+ callProviderMetadata: providerMetadataSchema.optional(),
6924
+ preliminary: import_v48.z.boolean().optional(),
6925
+ approval: import_v48.z.object({
6926
+ id: import_v48.z.string(),
6927
+ approved: import_v48.z.literal(true),
6928
+ reason: import_v48.z.string().optional()
6929
+ }).optional()
6930
+ }),
6931
+ import_v48.z.object({
6932
+ type: import_v48.z.string().startsWith("tool-"),
6933
+ toolCallId: import_v48.z.string(),
6934
+ state: import_v48.z.literal("output-error"),
6935
+ providerExecuted: import_v48.z.boolean().optional(),
6936
+ input: import_v48.z.unknown(),
6937
+ output: import_v48.z.never().optional(),
6938
+ errorText: import_v48.z.string(),
6939
+ callProviderMetadata: providerMetadataSchema.optional(),
6940
+ approval: import_v48.z.object({
6941
+ id: import_v48.z.string(),
6942
+ approved: import_v48.z.literal(true),
6943
+ reason: import_v48.z.string().optional()
6944
+ }).optional()
6945
+ }),
6946
+ import_v48.z.object({
6947
+ type: import_v48.z.string().startsWith("tool-"),
6948
+ toolCallId: import_v48.z.string(),
6949
+ state: import_v48.z.literal("output-denied"),
6950
+ providerExecuted: import_v48.z.boolean().optional(),
6951
+ input: import_v48.z.unknown(),
6952
+ output: import_v48.z.never().optional(),
6953
+ errorText: import_v48.z.never().optional(),
6954
+ callProviderMetadata: providerMetadataSchema.optional(),
6955
+ approval: import_v48.z.object({
6956
+ id: import_v48.z.string(),
6957
+ approved: import_v48.z.literal(false),
6958
+ reason: import_v48.z.string().optional()
6959
+ })
6960
+ })
6961
+ ])
6962
+ )
6963
+ })
6964
+ )
6965
+ )
6966
+ );
6967
+ async function safeValidateUIMessages({
6968
+ messages,
6969
+ metadataSchema,
6970
+ dataSchemas,
6971
+ tools
6972
+ }) {
6973
+ try {
6974
+ if (messages == null) {
6975
+ return {
6976
+ success: false,
6977
+ error: new InvalidArgumentError({
6978
+ parameter: "messages",
6979
+ value: messages,
6980
+ message: "messages parameter must be provided"
6981
+ })
6982
+ };
6983
+ }
6984
+ const validatedMessages = await (0, import_provider_utils18.validateTypes)({
6985
+ value: messages,
6986
+ schema: uiMessagesSchema
6987
+ });
6988
+ if (metadataSchema) {
6989
+ for (const message of validatedMessages) {
6990
+ await (0, import_provider_utils18.validateTypes)({
6991
+ value: message.metadata,
6992
+ schema: metadataSchema
6993
+ });
6994
+ }
6995
+ }
6996
+ if (dataSchemas) {
6997
+ for (const message of validatedMessages) {
6998
+ const dataParts = message.parts.filter(
6999
+ (part) => part.type.startsWith("data-")
7000
+ );
7001
+ for (const dataPart of dataParts) {
7002
+ const dataName = dataPart.type.slice(5);
7003
+ const dataSchema = dataSchemas[dataName];
7004
+ if (!dataSchema) {
7005
+ return {
7006
+ success: false,
7007
+ error: new import_provider25.TypeValidationError({
7008
+ value: dataPart.data,
7009
+ cause: `No data schema found for data part ${dataName}`
7010
+ })
7011
+ };
7012
+ }
7013
+ await (0, import_provider_utils18.validateTypes)({
7014
+ value: dataPart.data,
7015
+ schema: dataSchema
7016
+ });
7017
+ }
7018
+ }
7019
+ }
7020
+ if (tools) {
7021
+ for (const message of validatedMessages) {
7022
+ const toolParts = message.parts.filter(
7023
+ (part) => part.type.startsWith("tool-")
7024
+ );
7025
+ for (const toolPart of toolParts) {
7026
+ const toolName = toolPart.type.slice(5);
7027
+ const tool3 = tools[toolName];
7028
+ if (!tool3) {
7029
+ return {
7030
+ success: false,
7031
+ error: new import_provider25.TypeValidationError({
7032
+ value: toolPart.input,
7033
+ cause: `No tool schema found for tool part ${toolName}`
7034
+ })
7035
+ };
7036
+ }
7037
+ if (toolPart.state === "input-available" || toolPart.state === "output-available" || toolPart.state === "output-error") {
7038
+ await (0, import_provider_utils18.validateTypes)({
7039
+ value: toolPart.input,
7040
+ schema: tool3.inputSchema
7041
+ });
7042
+ }
7043
+ if (toolPart.state === "output-available" && tool3.outputSchema) {
7044
+ await (0, import_provider_utils18.validateTypes)({
7045
+ value: toolPart.output,
7046
+ schema: tool3.outputSchema
7047
+ });
7048
+ }
7049
+ }
7050
+ }
7051
+ }
7052
+ return {
7053
+ success: true,
7054
+ data: validatedMessages
7055
+ };
7056
+ } catch (error) {
7057
+ const err = error;
7058
+ return {
7059
+ success: false,
7060
+ error: err
7061
+ };
7062
+ }
7063
+ }
7064
+ async function validateUIMessages({
7065
+ messages,
7066
+ metadataSchema,
7067
+ dataSchemas,
7068
+ tools
7069
+ }) {
7070
+ const response = await safeValidateUIMessages({
7071
+ messages,
7072
+ metadataSchema,
7073
+ dataSchemas,
7074
+ tools
7075
+ });
7076
+ if (!response.success)
7077
+ throw response.error;
7078
+ return response.data;
7079
+ }
7080
+
7081
+ // src/agent/create-agent-stream-response.ts
7082
+ async function createAgentStreamResponse({
7083
+ agent,
7084
+ messages
7085
+ }) {
7086
+ const validatedMessages = await validateUIMessages({
7087
+ messages,
7088
+ tools: agent.tools
7089
+ });
7090
+ const modelMessages = convertToModelMessages(validatedMessages, {
7091
+ tools: agent.tools
7092
+ });
7093
+ const result = agent.stream({ prompt: modelMessages });
7094
+ return createUIMessageStreamResponse({
7095
+ stream: result.toUIMessageStream()
7096
+ });
7097
+ }
7098
+
7099
+ // src/embed/embed.ts
7100
+ var import_provider_utils19 = require("@ai-sdk/provider-utils");
7101
+ async function embed({
7102
+ model: modelArg,
7103
+ value,
7104
+ providerOptions,
7105
+ maxRetries: maxRetriesArg,
7106
+ abortSignal,
7107
+ headers,
7108
+ experimental_telemetry: telemetry
7109
+ }) {
7110
+ const model = resolveEmbeddingModel(modelArg);
7111
+ const { maxRetries, retry } = prepareRetries({
7112
+ maxRetries: maxRetriesArg,
7113
+ abortSignal
7114
+ });
7115
+ const headersWithUserAgent = (0, import_provider_utils19.withUserAgentSuffix)(
7116
+ headers != null ? headers : {},
7117
+ `ai/${VERSION}`
7118
+ );
7119
+ const baseTelemetryAttributes = getBaseTelemetryAttributes({
7120
+ model,
7121
+ telemetry,
7122
+ headers: headersWithUserAgent,
7123
+ settings: { maxRetries }
7124
+ });
7125
+ const tracer = getTracer(telemetry);
7126
+ return recordSpan({
7127
+ name: "ai.embed",
7128
+ attributes: selectTelemetryAttributes({
7129
+ telemetry,
7130
+ attributes: {
7131
+ ...assembleOperationName({ operationId: "ai.embed", telemetry }),
7132
+ ...baseTelemetryAttributes,
7133
+ "ai.value": { input: () => JSON.stringify(value) }
7134
+ }
7135
+ }),
7136
+ tracer,
6616
7137
  fn: async (span) => {
6617
7138
  const { embedding, usage, response, providerMetadata } = await retry(
6618
7139
  () => (
@@ -6695,7 +7216,7 @@ var DefaultEmbedResult = class {
6695
7216
  };
6696
7217
 
6697
7218
  // src/embed/embed-many.ts
6698
- var import_provider_utils18 = require("@ai-sdk/provider-utils");
7219
+ var import_provider_utils20 = require("@ai-sdk/provider-utils");
6699
7220
 
6700
7221
  // src/util/split-array.ts
6701
7222
  function splitArray(array, chunkSize) {
@@ -6725,7 +7246,7 @@ async function embedMany({
6725
7246
  maxRetries: maxRetriesArg,
6726
7247
  abortSignal
6727
7248
  });
6728
- const headersWithUserAgent = (0, import_provider_utils18.withUserAgentSuffix)(
7249
+ const headersWithUserAgent = (0, import_provider_utils20.withUserAgentSuffix)(
6729
7250
  headers != null ? headers : {},
6730
7251
  `ai/${VERSION}`
6731
7252
  );
@@ -6944,7 +7465,7 @@ var DefaultEmbedManyResult = class {
6944
7465
  };
6945
7466
 
6946
7467
  // src/generate-image/generate-image.ts
6947
- var import_provider_utils19 = require("@ai-sdk/provider-utils");
7468
+ var import_provider_utils21 = require("@ai-sdk/provider-utils");
6948
7469
  async function generateImage({
6949
7470
  model,
6950
7471
  prompt,
@@ -6966,7 +7487,7 @@ async function generateImage({
6966
7487
  modelId: model.modelId
6967
7488
  });
6968
7489
  }
6969
- const headersWithUserAgent = (0, import_provider_utils19.withUserAgentSuffix)(
7490
+ const headersWithUserAgent = (0, import_provider_utils21.withUserAgentSuffix)(
6970
7491
  headers != null ? headers : {},
6971
7492
  `ai/${VERSION}`
6972
7493
  );
@@ -7062,7 +7583,7 @@ async function invokeModelMaxImagesPerCall(model) {
7062
7583
  }
7063
7584
 
7064
7585
  // src/generate-object/generate-object.ts
7065
- var import_provider_utils22 = require("@ai-sdk/provider-utils");
7586
+ var import_provider_utils24 = require("@ai-sdk/provider-utils");
7066
7587
 
7067
7588
  // src/generate-text/extract-reasoning-content.ts
7068
7589
  function extractReasoningContent(content) {
@@ -7073,8 +7594,8 @@ function extractReasoningContent(content) {
7073
7594
  }
7074
7595
 
7075
7596
  // src/generate-object/output-strategy.ts
7076
- var import_provider25 = require("@ai-sdk/provider");
7077
- var import_provider_utils20 = require("@ai-sdk/provider-utils");
7597
+ var import_provider26 = require("@ai-sdk/provider");
7598
+ var import_provider_utils22 = require("@ai-sdk/provider-utils");
7078
7599
  var noSchemaOutputStrategy = {
7079
7600
  type: "no-schema",
7080
7601
  jsonSchema: async () => void 0,
@@ -7094,7 +7615,7 @@ var noSchemaOutputStrategy = {
7094
7615
  } : { success: true, value };
7095
7616
  },
7096
7617
  createElementStream() {
7097
- throw new import_provider25.UnsupportedFunctionalityError({
7618
+ throw new import_provider26.UnsupportedFunctionalityError({
7098
7619
  functionality: "element streams in no-schema mode"
7099
7620
  });
7100
7621
  }
@@ -7113,10 +7634,10 @@ var objectOutputStrategy = (schema) => ({
7113
7634
  };
7114
7635
  },
7115
7636
  async validateFinalResult(value) {
7116
- return (0, import_provider_utils20.safeValidateTypes)({ value, schema });
7637
+ return (0, import_provider_utils22.safeValidateTypes)({ value, schema });
7117
7638
  },
7118
7639
  createElementStream() {
7119
- throw new import_provider25.UnsupportedFunctionalityError({
7640
+ throw new import_provider26.UnsupportedFunctionalityError({
7120
7641
  functionality: "element streams in object mode"
7121
7642
  });
7122
7643
  }
@@ -7146,10 +7667,10 @@ var arrayOutputStrategy = (schema) => {
7146
7667
  isFinalDelta
7147
7668
  }) {
7148
7669
  var _a17;
7149
- if (!(0, import_provider25.isJSONObject)(value) || !(0, import_provider25.isJSONArray)(value.elements)) {
7670
+ if (!(0, import_provider26.isJSONObject)(value) || !(0, import_provider26.isJSONArray)(value.elements)) {
7150
7671
  return {
7151
7672
  success: false,
7152
- error: new import_provider25.TypeValidationError({
7673
+ error: new import_provider26.TypeValidationError({
7153
7674
  value,
7154
7675
  cause: "value must be an object that contains an array of elements"
7155
7676
  })
@@ -7159,7 +7680,7 @@ var arrayOutputStrategy = (schema) => {
7159
7680
  const resultArray = [];
7160
7681
  for (let i = 0; i < inputArray.length; i++) {
7161
7682
  const element = inputArray[i];
7162
- const result = await (0, import_provider_utils20.safeValidateTypes)({ value: element, schema });
7683
+ const result = await (0, import_provider_utils22.safeValidateTypes)({ value: element, schema });
7163
7684
  if (i === inputArray.length - 1 && !isFinalDelta) {
7164
7685
  continue;
7165
7686
  }
@@ -7189,10 +7710,10 @@ var arrayOutputStrategy = (schema) => {
7189
7710
  };
7190
7711
  },
7191
7712
  async validateFinalResult(value) {
7192
- if (!(0, import_provider25.isJSONObject)(value) || !(0, import_provider25.isJSONArray)(value.elements)) {
7713
+ if (!(0, import_provider26.isJSONObject)(value) || !(0, import_provider26.isJSONArray)(value.elements)) {
7193
7714
  return {
7194
7715
  success: false,
7195
- error: new import_provider25.TypeValidationError({
7716
+ error: new import_provider26.TypeValidationError({
7196
7717
  value,
7197
7718
  cause: "value must be an object that contains an array of elements"
7198
7719
  })
@@ -7200,7 +7721,7 @@ var arrayOutputStrategy = (schema) => {
7200
7721
  }
7201
7722
  const inputArray = value.elements;
7202
7723
  for (const element of inputArray) {
7203
- const result = await (0, import_provider_utils20.safeValidateTypes)({ value: element, schema });
7724
+ const result = await (0, import_provider_utils22.safeValidateTypes)({ value: element, schema });
7204
7725
  if (!result.success) {
7205
7726
  return result;
7206
7727
  }
@@ -7255,10 +7776,10 @@ var enumOutputStrategy = (enumValues) => {
7255
7776
  additionalProperties: false
7256
7777
  }),
7257
7778
  async validateFinalResult(value) {
7258
- if (!(0, import_provider25.isJSONObject)(value) || typeof value.result !== "string") {
7779
+ if (!(0, import_provider26.isJSONObject)(value) || typeof value.result !== "string") {
7259
7780
  return {
7260
7781
  success: false,
7261
- error: new import_provider25.TypeValidationError({
7782
+ error: new import_provider26.TypeValidationError({
7262
7783
  value,
7263
7784
  cause: 'value must be an object that contains a string in the "result" property.'
7264
7785
  })
@@ -7267,17 +7788,17 @@ var enumOutputStrategy = (enumValues) => {
7267
7788
  const result = value.result;
7268
7789
  return enumValues.includes(result) ? { success: true, value: result } : {
7269
7790
  success: false,
7270
- error: new import_provider25.TypeValidationError({
7791
+ error: new import_provider26.TypeValidationError({
7271
7792
  value,
7272
7793
  cause: "value must be a string in the enum"
7273
7794
  })
7274
7795
  };
7275
7796
  },
7276
7797
  async validatePartialResult({ value, textDelta }) {
7277
- if (!(0, import_provider25.isJSONObject)(value) || typeof value.result !== "string") {
7798
+ if (!(0, import_provider26.isJSONObject)(value) || typeof value.result !== "string") {
7278
7799
  return {
7279
7800
  success: false,
7280
- error: new import_provider25.TypeValidationError({
7801
+ error: new import_provider26.TypeValidationError({
7281
7802
  value,
7282
7803
  cause: 'value must be an object that contains a string in the "result" property.'
7283
7804
  })
@@ -7290,7 +7811,7 @@ var enumOutputStrategy = (enumValues) => {
7290
7811
  if (value.result.length === 0 || possibleEnumValues.length === 0) {
7291
7812
  return {
7292
7813
  success: false,
7293
- error: new import_provider25.TypeValidationError({
7814
+ error: new import_provider26.TypeValidationError({
7294
7815
  value,
7295
7816
  cause: "value must be a string in the enum"
7296
7817
  })
@@ -7305,7 +7826,7 @@ var enumOutputStrategy = (enumValues) => {
7305
7826
  };
7306
7827
  },
7307
7828
  createElementStream() {
7308
- throw new import_provider25.UnsupportedFunctionalityError({
7829
+ throw new import_provider26.UnsupportedFunctionalityError({
7309
7830
  functionality: "element streams in enum mode"
7310
7831
  });
7311
7832
  }
@@ -7318,9 +7839,9 @@ function getOutputStrategy({
7318
7839
  }) {
7319
7840
  switch (output) {
7320
7841
  case "object":
7321
- return objectOutputStrategy((0, import_provider_utils20.asSchema)(schema));
7842
+ return objectOutputStrategy((0, import_provider_utils22.asSchema)(schema));
7322
7843
  case "array":
7323
- return arrayOutputStrategy((0, import_provider_utils20.asSchema)(schema));
7844
+ return arrayOutputStrategy((0, import_provider_utils22.asSchema)(schema));
7324
7845
  case "enum":
7325
7846
  return enumOutputStrategy(enumValues);
7326
7847
  case "no-schema":
@@ -7333,10 +7854,10 @@ function getOutputStrategy({
7333
7854
  }
7334
7855
 
7335
7856
  // src/generate-object/parse-and-validate-object-result.ts
7336
- var import_provider26 = require("@ai-sdk/provider");
7337
- var import_provider_utils21 = require("@ai-sdk/provider-utils");
7857
+ var import_provider27 = require("@ai-sdk/provider");
7858
+ var import_provider_utils23 = require("@ai-sdk/provider-utils");
7338
7859
  async function parseAndValidateObjectResult(result, outputStrategy, context) {
7339
- const parseResult = await (0, import_provider_utils21.safeParseJSON)({ text: result });
7860
+ const parseResult = await (0, import_provider_utils23.safeParseJSON)({ text: result });
7340
7861
  if (!parseResult.success) {
7341
7862
  throw new NoObjectGeneratedError({
7342
7863
  message: "No object generated: could not parse the response.",
@@ -7371,7 +7892,7 @@ async function parseAndValidateObjectResultWithRepair(result, outputStrategy, re
7371
7892
  try {
7372
7893
  return await parseAndValidateObjectResult(result, outputStrategy, context);
7373
7894
  } catch (error) {
7374
- if (repairText != null && NoObjectGeneratedError.isInstance(error) && (import_provider26.JSONParseError.isInstance(error.cause) || import_provider26.TypeValidationError.isInstance(error.cause))) {
7895
+ if (repairText != null && NoObjectGeneratedError.isInstance(error) && (import_provider27.JSONParseError.isInstance(error.cause) || import_provider27.TypeValidationError.isInstance(error.cause))) {
7375
7896
  const repairedText = await repairText({
7376
7897
  text: result,
7377
7898
  error: error.cause
@@ -7508,7 +8029,7 @@ function validateObjectGenerationInput({
7508
8029
  }
7509
8030
 
7510
8031
  // src/generate-object/generate-object.ts
7511
- var originalGenerateId3 = (0, import_provider_utils22.createIdGenerator)({ prefix: "aiobj", size: 24 });
8032
+ var originalGenerateId3 = (0, import_provider_utils24.createIdGenerator)({ prefix: "aiobj", size: 24 });
7512
8033
  async function generateObject(options) {
7513
8034
  const {
7514
8035
  model: modelArg,
@@ -7553,7 +8074,7 @@ async function generateObject(options) {
7553
8074
  enumValues
7554
8075
  });
7555
8076
  const callSettings = prepareCallSettings(settings);
7556
- const headersWithUserAgent = (0, import_provider_utils22.withUserAgentSuffix)(
8077
+ const headersWithUserAgent = (0, import_provider_utils24.withUserAgentSuffix)(
7557
8078
  headers != null ? headers : {},
7558
8079
  `ai/${VERSION}`
7559
8080
  );
@@ -7773,7 +8294,7 @@ var DefaultGenerateObjectResult = class {
7773
8294
  };
7774
8295
 
7775
8296
  // src/generate-object/stream-object.ts
7776
- var import_provider_utils24 = require("@ai-sdk/provider-utils");
8297
+ var import_provider_utils26 = require("@ai-sdk/provider-utils");
7777
8298
 
7778
8299
  // src/util/cosine-similarity.ts
7779
8300
  function cosineSimilarity(vector1, vector2) {
@@ -7883,7 +8404,7 @@ var SerialJobExecutor = class {
7883
8404
  };
7884
8405
 
7885
8406
  // src/util/simulate-readable-stream.ts
7886
- var import_provider_utils23 = require("@ai-sdk/provider-utils");
8407
+ var import_provider_utils25 = require("@ai-sdk/provider-utils");
7887
8408
  function simulateReadableStream({
7888
8409
  chunks,
7889
8410
  initialDelayInMs = 0,
@@ -7891,7 +8412,7 @@ function simulateReadableStream({
7891
8412
  _internal
7892
8413
  }) {
7893
8414
  var _a17;
7894
- const delay2 = (_a17 = _internal == null ? void 0 : _internal.delay) != null ? _a17 : import_provider_utils23.delay;
8415
+ const delay2 = (_a17 = _internal == null ? void 0 : _internal.delay) != null ? _a17 : import_provider_utils25.delay;
7895
8416
  let index = 0;
7896
8417
  return new ReadableStream({
7897
8418
  async pull(controller) {
@@ -7906,7 +8427,7 @@ function simulateReadableStream({
7906
8427
  }
7907
8428
 
7908
8429
  // src/generate-object/stream-object.ts
7909
- var originalGenerateId4 = (0, import_provider_utils24.createIdGenerator)({ prefix: "aiobj", size: 24 });
8430
+ var originalGenerateId4 = (0, import_provider_utils26.createIdGenerator)({ prefix: "aiobj", size: 24 });
7910
8431
  function streamObject(options) {
7911
8432
  const {
7912
8433
  model,
@@ -8429,7 +8950,7 @@ var DefaultStreamObjectResult = class {
8429
8950
  };
8430
8951
 
8431
8952
  // src/generate-speech/generate-speech.ts
8432
- var import_provider_utils25 = require("@ai-sdk/provider-utils");
8953
+ var import_provider_utils27 = require("@ai-sdk/provider-utils");
8433
8954
 
8434
8955
  // src/generate-speech/generated-audio-file.ts
8435
8956
  var DefaultGeneratedAudioFile = class extends DefaultGeneratedFile {
@@ -8475,7 +8996,7 @@ async function generateSpeech({
8475
8996
  if (!resolvedModel) {
8476
8997
  throw new Error("Model could not be resolved");
8477
8998
  }
8478
- const headersWithUserAgent = (0, import_provider_utils25.withUserAgentSuffix)(
8999
+ const headersWithUserAgent = (0, import_provider_utils27.withUserAgentSuffix)(
8479
9000
  headers != null ? headers : {},
8480
9001
  `ai/${VERSION}`
8481
9002
  );
@@ -8529,7 +9050,7 @@ __export(output_exports, {
8529
9050
  object: () => object,
8530
9051
  text: () => text
8531
9052
  });
8532
- var import_provider_utils26 = require("@ai-sdk/provider-utils");
9053
+ var import_provider_utils28 = require("@ai-sdk/provider-utils");
8533
9054
  var text = () => ({
8534
9055
  type: "text",
8535
9056
  responseFormat: Promise.resolve({ type: "text" }),
@@ -8543,10 +9064,10 @@ var text = () => ({
8543
9064
  var object = ({
8544
9065
  schema: inputSchema
8545
9066
  }) => {
8546
- const schema = (0, import_provider_utils26.asSchema)(inputSchema);
9067
+ const schema = (0, import_provider_utils28.asSchema)(inputSchema);
8547
9068
  return {
8548
9069
  type: "object",
8549
- responseFormat: (0, import_provider_utils26.resolve)(schema.jsonSchema).then((jsonSchema3) => ({
9070
+ responseFormat: (0, import_provider_utils28.resolve)(schema.jsonSchema).then((jsonSchema3) => ({
8550
9071
  type: "json",
8551
9072
  schema: jsonSchema3
8552
9073
  })),
@@ -8569,7 +9090,7 @@ var object = ({
8569
9090
  }
8570
9091
  },
8571
9092
  async parseOutput({ text: text2 }, context) {
8572
- const parseResult = await (0, import_provider_utils26.safeParseJSON)({ text: text2 });
9093
+ const parseResult = await (0, import_provider_utils28.safeParseJSON)({ text: text2 });
8573
9094
  if (!parseResult.success) {
8574
9095
  throw new NoObjectGeneratedError({
8575
9096
  message: "No object generated: could not parse the response.",
@@ -8580,7 +9101,7 @@ var object = ({
8580
9101
  finishReason: context.finishReason
8581
9102
  });
8582
9103
  }
8583
- const validationResult = await (0, import_provider_utils26.safeValidateTypes)({
9104
+ const validationResult = await (0, import_provider_utils28.safeValidateTypes)({
8584
9105
  value: parseResult.value,
8585
9106
  schema
8586
9107
  });
@@ -8679,8 +9200,8 @@ function pruneMessages({
8679
9200
  }
8680
9201
 
8681
9202
  // src/generate-text/smooth-stream.ts
8682
- var import_provider_utils27 = require("@ai-sdk/provider-utils");
8683
- var import_provider27 = require("@ai-sdk/provider");
9203
+ var import_provider_utils29 = require("@ai-sdk/provider-utils");
9204
+ var import_provider28 = require("@ai-sdk/provider");
8684
9205
  var CHUNKING_REGEXPS = {
8685
9206
  word: /\S+\s+/m,
8686
9207
  line: /\n+/m
@@ -8688,7 +9209,7 @@ var CHUNKING_REGEXPS = {
8688
9209
  function smoothStream({
8689
9210
  delayInMs = 10,
8690
9211
  chunking = "word",
8691
- _internal: { delay: delay2 = import_provider_utils27.delay } = {}
9212
+ _internal: { delay: delay2 = import_provider_utils29.delay } = {}
8692
9213
  } = {}) {
8693
9214
  let detectChunk;
8694
9215
  if (typeof chunking === "function") {
@@ -8710,7 +9231,7 @@ function smoothStream({
8710
9231
  } else {
8711
9232
  const chunkingRegex = typeof chunking === "string" ? CHUNKING_REGEXPS[chunking] : chunking;
8712
9233
  if (chunkingRegex == null) {
8713
- throw new import_provider27.InvalidArgumentError({
9234
+ throw new import_provider28.InvalidArgumentError({
8714
9235
  argument: "chunking",
8715
9236
  message: `Chunking must be "word" or "line" or a RegExp. Received: ${chunking}`
8716
9237
  });
@@ -9082,7 +9603,7 @@ function wrapProvider({
9082
9603
  }
9083
9604
 
9084
9605
  // src/registry/custom-provider.ts
9085
- var import_provider28 = require("@ai-sdk/provider");
9606
+ var import_provider29 = require("@ai-sdk/provider");
9086
9607
  function customProvider({
9087
9608
  languageModels,
9088
9609
  textEmbeddingModels,
@@ -9099,7 +9620,7 @@ function customProvider({
9099
9620
  if (fallbackProvider) {
9100
9621
  return fallbackProvider.languageModel(modelId);
9101
9622
  }
9102
- throw new import_provider28.NoSuchModelError({ modelId, modelType: "languageModel" });
9623
+ throw new import_provider29.NoSuchModelError({ modelId, modelType: "languageModel" });
9103
9624
  },
9104
9625
  textEmbeddingModel(modelId) {
9105
9626
  if (textEmbeddingModels != null && modelId in textEmbeddingModels) {
@@ -9108,7 +9629,7 @@ function customProvider({
9108
9629
  if (fallbackProvider) {
9109
9630
  return fallbackProvider.textEmbeddingModel(modelId);
9110
9631
  }
9111
- throw new import_provider28.NoSuchModelError({ modelId, modelType: "textEmbeddingModel" });
9632
+ throw new import_provider29.NoSuchModelError({ modelId, modelType: "textEmbeddingModel" });
9112
9633
  },
9113
9634
  imageModel(modelId) {
9114
9635
  if (imageModels != null && modelId in imageModels) {
@@ -9117,7 +9638,7 @@ function customProvider({
9117
9638
  if (fallbackProvider == null ? void 0 : fallbackProvider.imageModel) {
9118
9639
  return fallbackProvider.imageModel(modelId);
9119
9640
  }
9120
- throw new import_provider28.NoSuchModelError({ modelId, modelType: "imageModel" });
9641
+ throw new import_provider29.NoSuchModelError({ modelId, modelType: "imageModel" });
9121
9642
  },
9122
9643
  transcriptionModel(modelId) {
9123
9644
  if (transcriptionModels != null && modelId in transcriptionModels) {
@@ -9126,7 +9647,7 @@ function customProvider({
9126
9647
  if (fallbackProvider == null ? void 0 : fallbackProvider.transcriptionModel) {
9127
9648
  return fallbackProvider.transcriptionModel(modelId);
9128
9649
  }
9129
- throw new import_provider28.NoSuchModelError({ modelId, modelType: "transcriptionModel" });
9650
+ throw new import_provider29.NoSuchModelError({ modelId, modelType: "transcriptionModel" });
9130
9651
  },
9131
9652
  speechModel(modelId) {
9132
9653
  if (speechModels != null && modelId in speechModels) {
@@ -9135,19 +9656,19 @@ function customProvider({
9135
9656
  if (fallbackProvider == null ? void 0 : fallbackProvider.speechModel) {
9136
9657
  return fallbackProvider.speechModel(modelId);
9137
9658
  }
9138
- throw new import_provider28.NoSuchModelError({ modelId, modelType: "speechModel" });
9659
+ throw new import_provider29.NoSuchModelError({ modelId, modelType: "speechModel" });
9139
9660
  }
9140
9661
  };
9141
9662
  }
9142
9663
  var experimental_customProvider = customProvider;
9143
9664
 
9144
9665
  // src/registry/no-such-provider-error.ts
9145
- var import_provider29 = require("@ai-sdk/provider");
9666
+ var import_provider30 = require("@ai-sdk/provider");
9146
9667
  var name16 = "AI_NoSuchProviderError";
9147
9668
  var marker16 = `vercel.ai.error.${name16}`;
9148
9669
  var symbol16 = Symbol.for(marker16);
9149
9670
  var _a16;
9150
- var NoSuchProviderError = class extends import_provider29.NoSuchModelError {
9671
+ var NoSuchProviderError = class extends import_provider30.NoSuchModelError {
9151
9672
  constructor({
9152
9673
  modelId,
9153
9674
  modelType,
@@ -9161,13 +9682,13 @@ var NoSuchProviderError = class extends import_provider29.NoSuchModelError {
9161
9682
  this.availableProviders = availableProviders;
9162
9683
  }
9163
9684
  static isInstance(error) {
9164
- return import_provider29.AISDKError.hasMarker(error, marker16);
9685
+ return import_provider30.AISDKError.hasMarker(error, marker16);
9165
9686
  }
9166
9687
  };
9167
9688
  _a16 = symbol16;
9168
9689
 
9169
9690
  // src/registry/provider-registry.ts
9170
- var import_provider30 = require("@ai-sdk/provider");
9691
+ var import_provider31 = require("@ai-sdk/provider");
9171
9692
  function createProviderRegistry(providers, {
9172
9693
  separator = ":",
9173
9694
  languageModelMiddleware
@@ -9212,7 +9733,7 @@ var DefaultProviderRegistry = class {
9212
9733
  splitId(id, modelType) {
9213
9734
  const index = id.indexOf(this.separator);
9214
9735
  if (index === -1) {
9215
- throw new import_provider30.NoSuchModelError({
9736
+ throw new import_provider31.NoSuchModelError({
9216
9737
  modelId: id,
9217
9738
  modelType,
9218
9739
  message: `Invalid ${modelType} id for registry: ${id} (must be in the format "providerId${this.separator}modelId")`
@@ -9228,7 +9749,7 @@ var DefaultProviderRegistry = class {
9228
9749
  modelId
9229
9750
  );
9230
9751
  if (model == null) {
9231
- throw new import_provider30.NoSuchModelError({ modelId: id, modelType: "languageModel" });
9752
+ throw new import_provider31.NoSuchModelError({ modelId: id, modelType: "languageModel" });
9232
9753
  }
9233
9754
  if (this.languageModelMiddleware != null) {
9234
9755
  model = wrapLanguageModel({
@@ -9244,7 +9765,7 @@ var DefaultProviderRegistry = class {
9244
9765
  const provider = this.getProvider(providerId, "textEmbeddingModel");
9245
9766
  const model = (_a17 = provider.textEmbeddingModel) == null ? void 0 : _a17.call(provider, modelId);
9246
9767
  if (model == null) {
9247
- throw new import_provider30.NoSuchModelError({
9768
+ throw new import_provider31.NoSuchModelError({
9248
9769
  modelId: id,
9249
9770
  modelType: "textEmbeddingModel"
9250
9771
  });
@@ -9257,7 +9778,7 @@ var DefaultProviderRegistry = class {
9257
9778
  const provider = this.getProvider(providerId, "imageModel");
9258
9779
  const model = (_a17 = provider.imageModel) == null ? void 0 : _a17.call(provider, modelId);
9259
9780
  if (model == null) {
9260
- throw new import_provider30.NoSuchModelError({ modelId: id, modelType: "imageModel" });
9781
+ throw new import_provider31.NoSuchModelError({ modelId: id, modelType: "imageModel" });
9261
9782
  }
9262
9783
  return model;
9263
9784
  }
@@ -9267,7 +9788,7 @@ var DefaultProviderRegistry = class {
9267
9788
  const provider = this.getProvider(providerId, "transcriptionModel");
9268
9789
  const model = (_a17 = provider.transcriptionModel) == null ? void 0 : _a17.call(provider, modelId);
9269
9790
  if (model == null) {
9270
- throw new import_provider30.NoSuchModelError({
9791
+ throw new import_provider31.NoSuchModelError({
9271
9792
  modelId: id,
9272
9793
  modelType: "transcriptionModel"
9273
9794
  });
@@ -9280,150 +9801,150 @@ var DefaultProviderRegistry = class {
9280
9801
  const provider = this.getProvider(providerId, "speechModel");
9281
9802
  const model = (_a17 = provider.speechModel) == null ? void 0 : _a17.call(provider, modelId);
9282
9803
  if (model == null) {
9283
- throw new import_provider30.NoSuchModelError({ modelId: id, modelType: "speechModel" });
9804
+ throw new import_provider31.NoSuchModelError({ modelId: id, modelType: "speechModel" });
9284
9805
  }
9285
9806
  return model;
9286
9807
  }
9287
9808
  };
9288
9809
 
9289
9810
  // src/tool/mcp/mcp-client.ts
9290
- var import_provider_utils29 = require("@ai-sdk/provider-utils");
9811
+ var import_provider_utils31 = require("@ai-sdk/provider-utils");
9291
9812
 
9292
9813
  // src/tool/mcp/mcp-sse-transport.ts
9293
- var import_provider_utils28 = require("@ai-sdk/provider-utils");
9814
+ var import_provider_utils30 = require("@ai-sdk/provider-utils");
9294
9815
 
9295
9816
  // src/tool/mcp/json-rpc-message.ts
9296
- var import_v49 = require("zod/v4");
9817
+ var import_v410 = require("zod/v4");
9297
9818
 
9298
9819
  // src/tool/mcp/types.ts
9299
- var import_v48 = require("zod/v4");
9820
+ var import_v49 = require("zod/v4");
9300
9821
  var LATEST_PROTOCOL_VERSION = "2025-06-18";
9301
9822
  var SUPPORTED_PROTOCOL_VERSIONS = [
9302
9823
  LATEST_PROTOCOL_VERSION,
9303
9824
  "2025-03-26",
9304
9825
  "2024-11-05"
9305
9826
  ];
9306
- var ClientOrServerImplementationSchema = import_v48.z.looseObject({
9307
- name: import_v48.z.string(),
9308
- version: import_v48.z.string()
9827
+ var ClientOrServerImplementationSchema = import_v49.z.looseObject({
9828
+ name: import_v49.z.string(),
9829
+ version: import_v49.z.string()
9309
9830
  });
9310
- var BaseParamsSchema = import_v48.z.looseObject({
9311
- _meta: import_v48.z.optional(import_v48.z.object({}).loose())
9831
+ var BaseParamsSchema = import_v49.z.looseObject({
9832
+ _meta: import_v49.z.optional(import_v49.z.object({}).loose())
9312
9833
  });
9313
9834
  var ResultSchema = BaseParamsSchema;
9314
- var RequestSchema = import_v48.z.object({
9315
- method: import_v48.z.string(),
9316
- params: import_v48.z.optional(BaseParamsSchema)
9835
+ var RequestSchema = import_v49.z.object({
9836
+ method: import_v49.z.string(),
9837
+ params: import_v49.z.optional(BaseParamsSchema)
9317
9838
  });
9318
- var ServerCapabilitiesSchema = import_v48.z.looseObject({
9319
- experimental: import_v48.z.optional(import_v48.z.object({}).loose()),
9320
- logging: import_v48.z.optional(import_v48.z.object({}).loose()),
9321
- prompts: import_v48.z.optional(
9322
- import_v48.z.looseObject({
9323
- listChanged: import_v48.z.optional(import_v48.z.boolean())
9839
+ var ServerCapabilitiesSchema = import_v49.z.looseObject({
9840
+ experimental: import_v49.z.optional(import_v49.z.object({}).loose()),
9841
+ logging: import_v49.z.optional(import_v49.z.object({}).loose()),
9842
+ prompts: import_v49.z.optional(
9843
+ import_v49.z.looseObject({
9844
+ listChanged: import_v49.z.optional(import_v49.z.boolean())
9324
9845
  })
9325
9846
  ),
9326
- resources: import_v48.z.optional(
9327
- import_v48.z.looseObject({
9328
- subscribe: import_v48.z.optional(import_v48.z.boolean()),
9329
- listChanged: import_v48.z.optional(import_v48.z.boolean())
9847
+ resources: import_v49.z.optional(
9848
+ import_v49.z.looseObject({
9849
+ subscribe: import_v49.z.optional(import_v49.z.boolean()),
9850
+ listChanged: import_v49.z.optional(import_v49.z.boolean())
9330
9851
  })
9331
9852
  ),
9332
- tools: import_v48.z.optional(
9333
- import_v48.z.looseObject({
9334
- listChanged: import_v48.z.optional(import_v48.z.boolean())
9853
+ tools: import_v49.z.optional(
9854
+ import_v49.z.looseObject({
9855
+ listChanged: import_v49.z.optional(import_v49.z.boolean())
9335
9856
  })
9336
9857
  )
9337
9858
  });
9338
9859
  var InitializeResultSchema = ResultSchema.extend({
9339
- protocolVersion: import_v48.z.string(),
9860
+ protocolVersion: import_v49.z.string(),
9340
9861
  capabilities: ServerCapabilitiesSchema,
9341
9862
  serverInfo: ClientOrServerImplementationSchema,
9342
- instructions: import_v48.z.optional(import_v48.z.string())
9863
+ instructions: import_v49.z.optional(import_v49.z.string())
9343
9864
  });
9344
9865
  var PaginatedResultSchema = ResultSchema.extend({
9345
- nextCursor: import_v48.z.optional(import_v48.z.string())
9866
+ nextCursor: import_v49.z.optional(import_v49.z.string())
9346
9867
  });
9347
- var ToolSchema = import_v48.z.object({
9348
- name: import_v48.z.string(),
9349
- description: import_v48.z.optional(import_v48.z.string()),
9350
- inputSchema: import_v48.z.object({
9351
- type: import_v48.z.literal("object"),
9352
- properties: import_v48.z.optional(import_v48.z.object({}).loose())
9868
+ var ToolSchema = import_v49.z.object({
9869
+ name: import_v49.z.string(),
9870
+ description: import_v49.z.optional(import_v49.z.string()),
9871
+ inputSchema: import_v49.z.object({
9872
+ type: import_v49.z.literal("object"),
9873
+ properties: import_v49.z.optional(import_v49.z.object({}).loose())
9353
9874
  }).loose()
9354
9875
  }).loose();
9355
9876
  var ListToolsResultSchema = PaginatedResultSchema.extend({
9356
- tools: import_v48.z.array(ToolSchema)
9877
+ tools: import_v49.z.array(ToolSchema)
9357
9878
  });
9358
- var TextContentSchema = import_v48.z.object({
9359
- type: import_v48.z.literal("text"),
9360
- text: import_v48.z.string()
9879
+ var TextContentSchema = import_v49.z.object({
9880
+ type: import_v49.z.literal("text"),
9881
+ text: import_v49.z.string()
9361
9882
  }).loose();
9362
- var ImageContentSchema = import_v48.z.object({
9363
- type: import_v48.z.literal("image"),
9364
- data: import_v48.z.base64(),
9365
- mimeType: import_v48.z.string()
9883
+ var ImageContentSchema = import_v49.z.object({
9884
+ type: import_v49.z.literal("image"),
9885
+ data: import_v49.z.base64(),
9886
+ mimeType: import_v49.z.string()
9366
9887
  }).loose();
9367
- var ResourceContentsSchema = import_v48.z.object({
9888
+ var ResourceContentsSchema = import_v49.z.object({
9368
9889
  /**
9369
9890
  * The URI of this resource.
9370
9891
  */
9371
- uri: import_v48.z.string(),
9892
+ uri: import_v49.z.string(),
9372
9893
  /**
9373
9894
  * The MIME type of this resource, if known.
9374
9895
  */
9375
- mimeType: import_v48.z.optional(import_v48.z.string())
9896
+ mimeType: import_v49.z.optional(import_v49.z.string())
9376
9897
  }).loose();
9377
9898
  var TextResourceContentsSchema = ResourceContentsSchema.extend({
9378
- text: import_v48.z.string()
9899
+ text: import_v49.z.string()
9379
9900
  });
9380
9901
  var BlobResourceContentsSchema = ResourceContentsSchema.extend({
9381
- blob: import_v48.z.base64()
9902
+ blob: import_v49.z.base64()
9382
9903
  });
9383
- var EmbeddedResourceSchema = import_v48.z.object({
9384
- type: import_v48.z.literal("resource"),
9385
- resource: import_v48.z.union([TextResourceContentsSchema, BlobResourceContentsSchema])
9904
+ var EmbeddedResourceSchema = import_v49.z.object({
9905
+ type: import_v49.z.literal("resource"),
9906
+ resource: import_v49.z.union([TextResourceContentsSchema, BlobResourceContentsSchema])
9386
9907
  }).loose();
9387
9908
  var CallToolResultSchema = ResultSchema.extend({
9388
- content: import_v48.z.array(
9389
- import_v48.z.union([TextContentSchema, ImageContentSchema, EmbeddedResourceSchema])
9909
+ content: import_v49.z.array(
9910
+ import_v49.z.union([TextContentSchema, ImageContentSchema, EmbeddedResourceSchema])
9390
9911
  ),
9391
- isError: import_v48.z.boolean().default(false).optional()
9912
+ isError: import_v49.z.boolean().default(false).optional()
9392
9913
  }).or(
9393
9914
  ResultSchema.extend({
9394
- toolResult: import_v48.z.unknown()
9915
+ toolResult: import_v49.z.unknown()
9395
9916
  })
9396
9917
  );
9397
9918
 
9398
9919
  // src/tool/mcp/json-rpc-message.ts
9399
9920
  var JSONRPC_VERSION = "2.0";
9400
- var JSONRPCRequestSchema = import_v49.z.object({
9401
- jsonrpc: import_v49.z.literal(JSONRPC_VERSION),
9402
- id: import_v49.z.union([import_v49.z.string(), import_v49.z.number().int()])
9921
+ var JSONRPCRequestSchema = import_v410.z.object({
9922
+ jsonrpc: import_v410.z.literal(JSONRPC_VERSION),
9923
+ id: import_v410.z.union([import_v410.z.string(), import_v410.z.number().int()])
9403
9924
  }).merge(RequestSchema).strict();
9404
- var JSONRPCResponseSchema = import_v49.z.object({
9405
- jsonrpc: import_v49.z.literal(JSONRPC_VERSION),
9406
- id: import_v49.z.union([import_v49.z.string(), import_v49.z.number().int()]),
9925
+ var JSONRPCResponseSchema = import_v410.z.object({
9926
+ jsonrpc: import_v410.z.literal(JSONRPC_VERSION),
9927
+ id: import_v410.z.union([import_v410.z.string(), import_v410.z.number().int()]),
9407
9928
  result: ResultSchema
9408
9929
  }).strict();
9409
- var JSONRPCErrorSchema = import_v49.z.object({
9410
- jsonrpc: import_v49.z.literal(JSONRPC_VERSION),
9411
- id: import_v49.z.union([import_v49.z.string(), import_v49.z.number().int()]),
9412
- error: import_v49.z.object({
9413
- code: import_v49.z.number().int(),
9414
- message: import_v49.z.string(),
9415
- data: import_v49.z.optional(import_v49.z.unknown())
9930
+ var JSONRPCErrorSchema = import_v410.z.object({
9931
+ jsonrpc: import_v410.z.literal(JSONRPC_VERSION),
9932
+ id: import_v410.z.union([import_v410.z.string(), import_v410.z.number().int()]),
9933
+ error: import_v410.z.object({
9934
+ code: import_v410.z.number().int(),
9935
+ message: import_v410.z.string(),
9936
+ data: import_v410.z.optional(import_v410.z.unknown())
9416
9937
  })
9417
9938
  }).strict();
9418
- var JSONRPCNotificationSchema = import_v49.z.object({
9419
- jsonrpc: import_v49.z.literal(JSONRPC_VERSION)
9939
+ var JSONRPCNotificationSchema = import_v410.z.object({
9940
+ jsonrpc: import_v410.z.literal(JSONRPC_VERSION)
9420
9941
  }).merge(
9421
- import_v49.z.object({
9422
- method: import_v49.z.string(),
9423
- params: import_v49.z.optional(BaseParamsSchema)
9942
+ import_v410.z.object({
9943
+ method: import_v410.z.string(),
9944
+ params: import_v410.z.optional(BaseParamsSchema)
9424
9945
  })
9425
9946
  ).strict();
9426
- var JSONRPCMessageSchema = import_v49.z.union([
9947
+ var JSONRPCMessageSchema = import_v410.z.union([
9427
9948
  JSONRPCRequestSchema,
9428
9949
  JSONRPCNotificationSchema,
9429
9950
  JSONRPCResponseSchema,
@@ -9449,13 +9970,13 @@ var SseMCPTransport = class {
9449
9970
  const establishConnection = async () => {
9450
9971
  var _a17, _b, _c;
9451
9972
  try {
9452
- const headers = (0, import_provider_utils28.withUserAgentSuffix)(
9973
+ const headers = (0, import_provider_utils30.withUserAgentSuffix)(
9453
9974
  {
9454
9975
  ...this.headers,
9455
9976
  Accept: "text/event-stream"
9456
9977
  },
9457
9978
  `ai-sdk/${VERSION}`,
9458
- (0, import_provider_utils28.getRuntimeEnvironmentUserAgent)()
9979
+ (0, import_provider_utils30.getRuntimeEnvironmentUserAgent)()
9459
9980
  );
9460
9981
  const response = await fetch(this.url.href, {
9461
9982
  headers,
@@ -9468,7 +9989,7 @@ var SseMCPTransport = class {
9468
9989
  (_b = this.onerror) == null ? void 0 : _b.call(this, error);
9469
9990
  return reject(error);
9470
9991
  }
9471
- const stream = response.body.pipeThrough(new TextDecoderStream()).pipeThrough(new import_provider_utils28.EventSourceParserStream());
9992
+ const stream = response.body.pipeThrough(new TextDecoderStream()).pipeThrough(new import_provider_utils30.EventSourceParserStream());
9472
9993
  const reader = stream.getReader();
9473
9994
  const processEvents = async () => {
9474
9995
  var _a18, _b2, _c2;
@@ -9547,13 +10068,13 @@ var SseMCPTransport = class {
9547
10068
  });
9548
10069
  }
9549
10070
  try {
9550
- const headers = (0, import_provider_utils28.withUserAgentSuffix)(
10071
+ const headers = (0, import_provider_utils30.withUserAgentSuffix)(
9551
10072
  {
9552
10073
  ...this.headers,
9553
10074
  "Content-Type": "application/json"
9554
10075
  },
9555
10076
  `ai-sdk/${VERSION}`,
9556
- (0, import_provider_utils28.getRuntimeEnvironmentUserAgent)()
10077
+ (0, import_provider_utils30.getRuntimeEnvironmentUserAgent)()
9557
10078
  );
9558
10079
  const init = {
9559
10080
  method: "POST",
@@ -9804,15 +10325,15 @@ var DefaultMCPClient = class {
9804
10325
  (_a18 = options == null ? void 0 : options.abortSignal) == null ? void 0 : _a18.throwIfAborted();
9805
10326
  return self.callTool({ name: name17, args, options });
9806
10327
  };
9807
- const toolWithExecute = schemas === "automatic" ? (0, import_provider_utils29.dynamicTool)({
10328
+ const toolWithExecute = schemas === "automatic" ? (0, import_provider_utils31.dynamicTool)({
9808
10329
  description,
9809
- inputSchema: (0, import_provider_utils29.jsonSchema)({
10330
+ inputSchema: (0, import_provider_utils31.jsonSchema)({
9810
10331
  ...inputSchema,
9811
10332
  properties: (_a17 = inputSchema.properties) != null ? _a17 : {},
9812
10333
  additionalProperties: false
9813
10334
  }),
9814
10335
  execute
9815
- }) : (0, import_provider_utils29.tool)({
10336
+ }) : (0, import_provider_utils31.tool)({
9816
10337
  description,
9817
10338
  inputSchema: schemas[name17].inputSchema,
9818
10339
  execute
@@ -9864,11 +10385,11 @@ var DefaultMCPClient = class {
9864
10385
  };
9865
10386
 
9866
10387
  // src/transcribe/transcribe.ts
9867
- var import_provider_utils30 = require("@ai-sdk/provider-utils");
10388
+ var import_provider_utils32 = require("@ai-sdk/provider-utils");
9868
10389
 
9869
10390
  // src/error/no-transcript-generated-error.ts
9870
- var import_provider31 = require("@ai-sdk/provider");
9871
- var NoTranscriptGeneratedError = class extends import_provider31.AISDKError {
10391
+ var import_provider32 = require("@ai-sdk/provider");
10392
+ var NoTranscriptGeneratedError = class extends import_provider32.AISDKError {
9872
10393
  constructor(options) {
9873
10394
  super({
9874
10395
  name: "AI_NoTranscriptGeneratedError",
@@ -9895,7 +10416,7 @@ async function transcribe({
9895
10416
  maxRetries: maxRetriesArg,
9896
10417
  abortSignal
9897
10418
  });
9898
- const headersWithUserAgent = (0, import_provider_utils30.withUserAgentSuffix)(
10419
+ const headersWithUserAgent = (0, import_provider_utils32.withUserAgentSuffix)(
9899
10420
  headers != null ? headers : {},
9900
10421
  `ai/${VERSION}`
9901
10422
  );
@@ -9943,7 +10464,7 @@ var DefaultTranscriptionResult = class {
9943
10464
  };
9944
10465
 
9945
10466
  // src/ui/call-completion-api.ts
9946
- var import_provider_utils31 = require("@ai-sdk/provider-utils");
10467
+ var import_provider_utils33 = require("@ai-sdk/provider-utils");
9947
10468
 
9948
10469
  // src/ui/process-text-stream.ts
9949
10470
  async function processTextStream({
@@ -9991,13 +10512,13 @@ async function callCompletionApi({
9991
10512
  ...body
9992
10513
  }),
9993
10514
  credentials,
9994
- headers: (0, import_provider_utils31.withUserAgentSuffix)(
10515
+ headers: (0, import_provider_utils33.withUserAgentSuffix)(
9995
10516
  {
9996
10517
  "Content-Type": "application/json",
9997
10518
  ...headers
9998
10519
  },
9999
10520
  `ai-sdk/${VERSION}`,
10000
- (0, import_provider_utils31.getRuntimeEnvironmentUserAgent)()
10521
+ (0, import_provider_utils33.getRuntimeEnvironmentUserAgent)()
10001
10522
  ),
10002
10523
  signal: abortController.signal
10003
10524
  }).catch((err) => {
@@ -10025,7 +10546,7 @@ async function callCompletionApi({
10025
10546
  }
10026
10547
  case "data": {
10027
10548
  await consumeStream({
10028
- stream: (0, import_provider_utils31.parseJsonEventStream)({
10549
+ stream: (0, import_provider_utils33.parseJsonEventStream)({
10029
10550
  stream: response.body,
10030
10551
  schema: uiMessageChunkSchema
10031
10552
  }).pipeThrough(
@@ -10077,7 +10598,7 @@ async function callCompletionApi({
10077
10598
  }
10078
10599
 
10079
10600
  // src/ui/chat.ts
10080
- var import_provider_utils34 = require("@ai-sdk/provider-utils");
10601
+ var import_provider_utils36 = require("@ai-sdk/provider-utils");
10081
10602
 
10082
10603
  // src/ui/convert-file-list-to-file-ui-parts.ts
10083
10604
  async function convertFileListToFileUIParts(files) {
@@ -10110,10 +10631,10 @@ async function convertFileListToFileUIParts(files) {
10110
10631
  }
10111
10632
 
10112
10633
  // src/ui/default-chat-transport.ts
10113
- var import_provider_utils33 = require("@ai-sdk/provider-utils");
10634
+ var import_provider_utils35 = require("@ai-sdk/provider-utils");
10114
10635
 
10115
10636
  // src/ui/http-chat-transport.ts
10116
- var import_provider_utils32 = require("@ai-sdk/provider-utils");
10637
+ var import_provider_utils34 = require("@ai-sdk/provider-utils");
10117
10638
  var HttpChatTransport = class {
10118
10639
  constructor({
10119
10640
  api = "/api/chat",
@@ -10137,9 +10658,9 @@ var HttpChatTransport = class {
10137
10658
  ...options
10138
10659
  }) {
10139
10660
  var _a17, _b, _c, _d, _e;
10140
- const resolvedBody = await (0, import_provider_utils32.resolve)(this.body);
10141
- const resolvedHeaders = await (0, import_provider_utils32.resolve)(this.headers);
10142
- const resolvedCredentials = await (0, import_provider_utils32.resolve)(this.credentials);
10661
+ const resolvedBody = await (0, import_provider_utils34.resolve)(this.body);
10662
+ const resolvedHeaders = await (0, import_provider_utils34.resolve)(this.headers);
10663
+ const resolvedCredentials = await (0, import_provider_utils34.resolve)(this.credentials);
10143
10664
  const preparedRequest = await ((_a17 = this.prepareSendMessagesRequest) == null ? void 0 : _a17.call(this, {
10144
10665
  api: this.api,
10145
10666
  id: options.chatId,
@@ -10165,13 +10686,13 @@ var HttpChatTransport = class {
10165
10686
  const fetch2 = (_d = this.fetch) != null ? _d : globalThis.fetch;
10166
10687
  const response = await fetch2(api, {
10167
10688
  method: "POST",
10168
- headers: (0, import_provider_utils32.withUserAgentSuffix)(
10689
+ headers: (0, import_provider_utils34.withUserAgentSuffix)(
10169
10690
  {
10170
10691
  "Content-Type": "application/json",
10171
10692
  ...headers
10172
10693
  },
10173
10694
  `ai-sdk/${VERSION}`,
10174
- (0, import_provider_utils32.getRuntimeEnvironmentUserAgent)()
10695
+ (0, import_provider_utils34.getRuntimeEnvironmentUserAgent)()
10175
10696
  ),
10176
10697
  body: JSON.stringify(body),
10177
10698
  credentials,
@@ -10189,9 +10710,9 @@ var HttpChatTransport = class {
10189
10710
  }
10190
10711
  async reconnectToStream(options) {
10191
10712
  var _a17, _b, _c, _d, _e;
10192
- const resolvedBody = await (0, import_provider_utils32.resolve)(this.body);
10193
- const resolvedHeaders = await (0, import_provider_utils32.resolve)(this.headers);
10194
- const resolvedCredentials = await (0, import_provider_utils32.resolve)(this.credentials);
10713
+ const resolvedBody = await (0, import_provider_utils34.resolve)(this.body);
10714
+ const resolvedHeaders = await (0, import_provider_utils34.resolve)(this.headers);
10715
+ const resolvedCredentials = await (0, import_provider_utils34.resolve)(this.credentials);
10195
10716
  const preparedRequest = await ((_a17 = this.prepareReconnectToStreamRequest) == null ? void 0 : _a17.call(this, {
10196
10717
  api: this.api,
10197
10718
  id: options.chatId,
@@ -10206,10 +10727,10 @@ var HttpChatTransport = class {
10206
10727
  const fetch2 = (_d = this.fetch) != null ? _d : globalThis.fetch;
10207
10728
  const response = await fetch2(api, {
10208
10729
  method: "GET",
10209
- headers: (0, import_provider_utils32.withUserAgentSuffix)(
10730
+ headers: (0, import_provider_utils34.withUserAgentSuffix)(
10210
10731
  headers,
10211
10732
  `ai-sdk/${VERSION}`,
10212
- (0, import_provider_utils32.getRuntimeEnvironmentUserAgent)()
10733
+ (0, import_provider_utils34.getRuntimeEnvironmentUserAgent)()
10213
10734
  ),
10214
10735
  credentials
10215
10736
  });
@@ -10234,7 +10755,7 @@ var DefaultChatTransport = class extends HttpChatTransport {
10234
10755
  super(options);
10235
10756
  }
10236
10757
  processResponseStream(stream) {
10237
- return (0, import_provider_utils33.parseJsonEventStream)({
10758
+ return (0, import_provider_utils35.parseJsonEventStream)({
10238
10759
  stream,
10239
10760
  schema: uiMessageChunkSchema
10240
10761
  }).pipeThrough(
@@ -10253,7 +10774,7 @@ var DefaultChatTransport = class extends HttpChatTransport {
10253
10774
  // src/ui/chat.ts
10254
10775
  var AbstractChat = class {
10255
10776
  constructor({
10256
- generateId: generateId2 = import_provider_utils34.generateId,
10777
+ generateId: generateId2 = import_provider_utils36.generateId,
10257
10778
  id = generateId2(),
10258
10779
  transport = new DefaultChatTransport(),
10259
10780
  messageMetadataSchema,
@@ -10679,516 +11200,6 @@ var TextStreamChatTransport = class extends HttpChatTransport {
10679
11200
  });
10680
11201
  }
10681
11202
  };
10682
-
10683
- // src/ui/validate-ui-messages.ts
10684
- var import_provider32 = require("@ai-sdk/provider");
10685
- var import_provider_utils35 = require("@ai-sdk/provider-utils");
10686
- var import_v410 = require("zod/v4");
10687
- var uiMessagesSchema = (0, import_provider_utils35.lazySchema)(
10688
- () => (0, import_provider_utils35.zodSchema)(
10689
- import_v410.z.array(
10690
- import_v410.z.object({
10691
- id: import_v410.z.string(),
10692
- role: import_v410.z.enum(["system", "user", "assistant"]),
10693
- metadata: import_v410.z.unknown().optional(),
10694
- parts: import_v410.z.array(
10695
- import_v410.z.union([
10696
- import_v410.z.object({
10697
- type: import_v410.z.literal("text"),
10698
- text: import_v410.z.string(),
10699
- state: import_v410.z.enum(["streaming", "done"]).optional(),
10700
- providerMetadata: providerMetadataSchema.optional()
10701
- }),
10702
- import_v410.z.object({
10703
- type: import_v410.z.literal("reasoning"),
10704
- text: import_v410.z.string(),
10705
- state: import_v410.z.enum(["streaming", "done"]).optional(),
10706
- providerMetadata: providerMetadataSchema.optional()
10707
- }),
10708
- import_v410.z.object({
10709
- type: import_v410.z.literal("source-url"),
10710
- sourceId: import_v410.z.string(),
10711
- url: import_v410.z.string(),
10712
- title: import_v410.z.string().optional(),
10713
- providerMetadata: providerMetadataSchema.optional()
10714
- }),
10715
- import_v410.z.object({
10716
- type: import_v410.z.literal("source-document"),
10717
- sourceId: import_v410.z.string(),
10718
- mediaType: import_v410.z.string(),
10719
- title: import_v410.z.string(),
10720
- filename: import_v410.z.string().optional(),
10721
- providerMetadata: providerMetadataSchema.optional()
10722
- }),
10723
- import_v410.z.object({
10724
- type: import_v410.z.literal("file"),
10725
- mediaType: import_v410.z.string(),
10726
- filename: import_v410.z.string().optional(),
10727
- url: import_v410.z.string(),
10728
- providerMetadata: providerMetadataSchema.optional()
10729
- }),
10730
- import_v410.z.object({
10731
- type: import_v410.z.literal("step-start")
10732
- }),
10733
- import_v410.z.object({
10734
- type: import_v410.z.string().startsWith("data-"),
10735
- id: import_v410.z.string().optional(),
10736
- data: import_v410.z.unknown()
10737
- }),
10738
- import_v410.z.object({
10739
- type: import_v410.z.literal("dynamic-tool"),
10740
- toolName: import_v410.z.string(),
10741
- toolCallId: import_v410.z.string(),
10742
- state: import_v410.z.literal("input-streaming"),
10743
- input: import_v410.z.unknown().optional(),
10744
- providerExecuted: import_v410.z.boolean().optional(),
10745
- output: import_v410.z.never().optional(),
10746
- errorText: import_v410.z.never().optional(),
10747
- approval: import_v410.z.never().optional()
10748
- }),
10749
- import_v410.z.object({
10750
- type: import_v410.z.literal("dynamic-tool"),
10751
- toolName: import_v410.z.string(),
10752
- toolCallId: import_v410.z.string(),
10753
- state: import_v410.z.literal("input-available"),
10754
- input: import_v410.z.unknown(),
10755
- providerExecuted: import_v410.z.boolean().optional(),
10756
- output: import_v410.z.never().optional(),
10757
- errorText: import_v410.z.never().optional(),
10758
- callProviderMetadata: providerMetadataSchema.optional(),
10759
- approval: import_v410.z.never().optional()
10760
- }),
10761
- import_v410.z.object({
10762
- type: import_v410.z.literal("dynamic-tool"),
10763
- toolName: import_v410.z.string(),
10764
- toolCallId: import_v410.z.string(),
10765
- state: import_v410.z.literal("approval-requested"),
10766
- input: import_v410.z.unknown(),
10767
- providerExecuted: import_v410.z.boolean().optional(),
10768
- output: import_v410.z.never().optional(),
10769
- errorText: import_v410.z.never().optional(),
10770
- callProviderMetadata: providerMetadataSchema.optional(),
10771
- approval: import_v410.z.object({
10772
- id: import_v410.z.string(),
10773
- approved: import_v410.z.never().optional(),
10774
- reason: import_v410.z.never().optional()
10775
- })
10776
- }),
10777
- import_v410.z.object({
10778
- type: import_v410.z.literal("dynamic-tool"),
10779
- toolName: import_v410.z.string(),
10780
- toolCallId: import_v410.z.string(),
10781
- state: import_v410.z.literal("approval-responded"),
10782
- input: import_v410.z.unknown(),
10783
- providerExecuted: import_v410.z.boolean().optional(),
10784
- output: import_v410.z.never().optional(),
10785
- errorText: import_v410.z.never().optional(),
10786
- callProviderMetadata: providerMetadataSchema.optional(),
10787
- approval: import_v410.z.object({
10788
- id: import_v410.z.string(),
10789
- approved: import_v410.z.boolean(),
10790
- reason: import_v410.z.string().optional()
10791
- })
10792
- }),
10793
- import_v410.z.object({
10794
- type: import_v410.z.literal("dynamic-tool"),
10795
- toolName: import_v410.z.string(),
10796
- toolCallId: import_v410.z.string(),
10797
- state: import_v410.z.literal("output-available"),
10798
- input: import_v410.z.unknown(),
10799
- providerExecuted: import_v410.z.boolean().optional(),
10800
- output: import_v410.z.unknown(),
10801
- errorText: import_v410.z.never().optional(),
10802
- callProviderMetadata: providerMetadataSchema.optional(),
10803
- preliminary: import_v410.z.boolean().optional(),
10804
- approval: import_v410.z.object({
10805
- id: import_v410.z.string(),
10806
- approved: import_v410.z.literal(true),
10807
- reason: import_v410.z.string().optional()
10808
- }).optional()
10809
- }),
10810
- import_v410.z.object({
10811
- type: import_v410.z.literal("dynamic-tool"),
10812
- toolName: import_v410.z.string(),
10813
- toolCallId: import_v410.z.string(),
10814
- state: import_v410.z.literal("output-error"),
10815
- input: import_v410.z.unknown(),
10816
- providerExecuted: import_v410.z.boolean().optional(),
10817
- output: import_v410.z.never().optional(),
10818
- errorText: import_v410.z.string(),
10819
- callProviderMetadata: providerMetadataSchema.optional(),
10820
- approval: import_v410.z.object({
10821
- id: import_v410.z.string(),
10822
- approved: import_v410.z.literal(true),
10823
- reason: import_v410.z.string().optional()
10824
- }).optional()
10825
- }),
10826
- import_v410.z.object({
10827
- type: import_v410.z.literal("dynamic-tool"),
10828
- toolName: import_v410.z.string(),
10829
- toolCallId: import_v410.z.string(),
10830
- state: import_v410.z.literal("output-denied"),
10831
- input: import_v410.z.unknown(),
10832
- providerExecuted: import_v410.z.boolean().optional(),
10833
- output: import_v410.z.never().optional(),
10834
- errorText: import_v410.z.never().optional(),
10835
- callProviderMetadata: providerMetadataSchema.optional(),
10836
- approval: import_v410.z.object({
10837
- id: import_v410.z.string(),
10838
- approved: import_v410.z.literal(false),
10839
- reason: import_v410.z.string().optional()
10840
- })
10841
- }),
10842
- import_v410.z.object({
10843
- type: import_v410.z.string().startsWith("tool-"),
10844
- toolCallId: import_v410.z.string(),
10845
- state: import_v410.z.literal("input-streaming"),
10846
- providerExecuted: import_v410.z.boolean().optional(),
10847
- input: import_v410.z.unknown().optional(),
10848
- output: import_v410.z.never().optional(),
10849
- errorText: import_v410.z.never().optional(),
10850
- approval: import_v410.z.never().optional()
10851
- }),
10852
- import_v410.z.object({
10853
- type: import_v410.z.string().startsWith("tool-"),
10854
- toolCallId: import_v410.z.string(),
10855
- state: import_v410.z.literal("input-available"),
10856
- providerExecuted: import_v410.z.boolean().optional(),
10857
- input: import_v410.z.unknown(),
10858
- output: import_v410.z.never().optional(),
10859
- errorText: import_v410.z.never().optional(),
10860
- callProviderMetadata: providerMetadataSchema.optional(),
10861
- approval: import_v410.z.never().optional()
10862
- }),
10863
- import_v410.z.object({
10864
- type: import_v410.z.string().startsWith("tool-"),
10865
- toolCallId: import_v410.z.string(),
10866
- state: import_v410.z.literal("approval-requested"),
10867
- input: import_v410.z.unknown(),
10868
- providerExecuted: import_v410.z.boolean().optional(),
10869
- output: import_v410.z.never().optional(),
10870
- errorText: import_v410.z.never().optional(),
10871
- callProviderMetadata: providerMetadataSchema.optional(),
10872
- approval: import_v410.z.object({
10873
- id: import_v410.z.string(),
10874
- approved: import_v410.z.never().optional(),
10875
- reason: import_v410.z.never().optional()
10876
- })
10877
- }),
10878
- import_v410.z.object({
10879
- type: import_v410.z.string().startsWith("tool-"),
10880
- toolCallId: import_v410.z.string(),
10881
- state: import_v410.z.literal("approval-responded"),
10882
- input: import_v410.z.unknown(),
10883
- providerExecuted: import_v410.z.boolean().optional(),
10884
- output: import_v410.z.never().optional(),
10885
- errorText: import_v410.z.never().optional(),
10886
- callProviderMetadata: providerMetadataSchema.optional(),
10887
- approval: import_v410.z.object({
10888
- id: import_v410.z.string(),
10889
- approved: import_v410.z.boolean(),
10890
- reason: import_v410.z.string().optional()
10891
- })
10892
- }),
10893
- import_v410.z.object({
10894
- type: import_v410.z.string().startsWith("tool-"),
10895
- toolCallId: import_v410.z.string(),
10896
- state: import_v410.z.literal("output-available"),
10897
- providerExecuted: import_v410.z.boolean().optional(),
10898
- input: import_v410.z.unknown(),
10899
- output: import_v410.z.unknown(),
10900
- errorText: import_v410.z.never().optional(),
10901
- callProviderMetadata: providerMetadataSchema.optional(),
10902
- preliminary: import_v410.z.boolean().optional(),
10903
- approval: import_v410.z.object({
10904
- id: import_v410.z.string(),
10905
- approved: import_v410.z.literal(true),
10906
- reason: import_v410.z.string().optional()
10907
- }).optional()
10908
- }),
10909
- import_v410.z.object({
10910
- type: import_v410.z.string().startsWith("tool-"),
10911
- toolCallId: import_v410.z.string(),
10912
- state: import_v410.z.literal("output-error"),
10913
- providerExecuted: import_v410.z.boolean().optional(),
10914
- input: import_v410.z.unknown(),
10915
- output: import_v410.z.never().optional(),
10916
- errorText: import_v410.z.string(),
10917
- callProviderMetadata: providerMetadataSchema.optional(),
10918
- approval: import_v410.z.object({
10919
- id: import_v410.z.string(),
10920
- approved: import_v410.z.literal(true),
10921
- reason: import_v410.z.string().optional()
10922
- }).optional()
10923
- }),
10924
- import_v410.z.object({
10925
- type: import_v410.z.string().startsWith("tool-"),
10926
- toolCallId: import_v410.z.string(),
10927
- state: import_v410.z.literal("output-denied"),
10928
- providerExecuted: import_v410.z.boolean().optional(),
10929
- input: import_v410.z.unknown(),
10930
- output: import_v410.z.never().optional(),
10931
- errorText: import_v410.z.never().optional(),
10932
- callProviderMetadata: providerMetadataSchema.optional(),
10933
- approval: import_v410.z.object({
10934
- id: import_v410.z.string(),
10935
- approved: import_v410.z.literal(false),
10936
- reason: import_v410.z.string().optional()
10937
- })
10938
- })
10939
- ])
10940
- )
10941
- })
10942
- )
10943
- )
10944
- );
10945
- async function safeValidateUIMessages({
10946
- messages,
10947
- metadataSchema,
10948
- dataSchemas,
10949
- tools
10950
- }) {
10951
- try {
10952
- if (messages == null) {
10953
- return {
10954
- success: false,
10955
- error: new InvalidArgumentError({
10956
- parameter: "messages",
10957
- value: messages,
10958
- message: "messages parameter must be provided"
10959
- })
10960
- };
10961
- }
10962
- const validatedMessages = await (0, import_provider_utils35.validateTypes)({
10963
- value: messages,
10964
- schema: uiMessagesSchema
10965
- });
10966
- if (metadataSchema) {
10967
- for (const message of validatedMessages) {
10968
- await (0, import_provider_utils35.validateTypes)({
10969
- value: message.metadata,
10970
- schema: metadataSchema
10971
- });
10972
- }
10973
- }
10974
- if (dataSchemas) {
10975
- for (const message of validatedMessages) {
10976
- const dataParts = message.parts.filter(
10977
- (part) => part.type.startsWith("data-")
10978
- );
10979
- for (const dataPart of dataParts) {
10980
- const dataName = dataPart.type.slice(5);
10981
- const dataSchema = dataSchemas[dataName];
10982
- if (!dataSchema) {
10983
- return {
10984
- success: false,
10985
- error: new import_provider32.TypeValidationError({
10986
- value: dataPart.data,
10987
- cause: `No data schema found for data part ${dataName}`
10988
- })
10989
- };
10990
- }
10991
- await (0, import_provider_utils35.validateTypes)({
10992
- value: dataPart.data,
10993
- schema: dataSchema
10994
- });
10995
- }
10996
- }
10997
- }
10998
- if (tools) {
10999
- for (const message of validatedMessages) {
11000
- const toolParts = message.parts.filter(
11001
- (part) => part.type.startsWith("tool-")
11002
- );
11003
- for (const toolPart of toolParts) {
11004
- const toolName = toolPart.type.slice(5);
11005
- const tool3 = tools[toolName];
11006
- if (!tool3) {
11007
- return {
11008
- success: false,
11009
- error: new import_provider32.TypeValidationError({
11010
- value: toolPart.input,
11011
- cause: `No tool schema found for tool part ${toolName}`
11012
- })
11013
- };
11014
- }
11015
- if (toolPart.state === "input-available" || toolPart.state === "output-available" || toolPart.state === "output-error") {
11016
- await (0, import_provider_utils35.validateTypes)({
11017
- value: toolPart.input,
11018
- schema: tool3.inputSchema
11019
- });
11020
- }
11021
- if (toolPart.state === "output-available" && tool3.outputSchema) {
11022
- await (0, import_provider_utils35.validateTypes)({
11023
- value: toolPart.output,
11024
- schema: tool3.outputSchema
11025
- });
11026
- }
11027
- }
11028
- }
11029
- }
11030
- return {
11031
- success: true,
11032
- data: validatedMessages
11033
- };
11034
- } catch (error) {
11035
- const err = error;
11036
- return {
11037
- success: false,
11038
- error: err
11039
- };
11040
- }
11041
- }
11042
- async function validateUIMessages({
11043
- messages,
11044
- metadataSchema,
11045
- dataSchemas,
11046
- tools
11047
- }) {
11048
- const response = await safeValidateUIMessages({
11049
- messages,
11050
- metadataSchema,
11051
- dataSchemas,
11052
- tools
11053
- });
11054
- if (!response.success)
11055
- throw response.error;
11056
- return response.data;
11057
- }
11058
-
11059
- // src/ui-message-stream/create-ui-message-stream.ts
11060
- var import_provider_utils36 = require("@ai-sdk/provider-utils");
11061
- function createUIMessageStream({
11062
- execute,
11063
- onError = import_provider_utils36.getErrorMessage,
11064
- originalMessages,
11065
- onFinish,
11066
- generateId: generateId2 = import_provider_utils36.generateId
11067
- }) {
11068
- let controller;
11069
- const ongoingStreamPromises = [];
11070
- const stream = new ReadableStream({
11071
- start(controllerArg) {
11072
- controller = controllerArg;
11073
- }
11074
- });
11075
- function safeEnqueue(data) {
11076
- try {
11077
- controller.enqueue(data);
11078
- } catch (error) {
11079
- }
11080
- }
11081
- try {
11082
- const result = execute({
11083
- writer: {
11084
- write(part) {
11085
- safeEnqueue(part);
11086
- },
11087
- merge(streamArg) {
11088
- ongoingStreamPromises.push(
11089
- (async () => {
11090
- const reader = streamArg.getReader();
11091
- while (true) {
11092
- const { done, value } = await reader.read();
11093
- if (done)
11094
- break;
11095
- safeEnqueue(value);
11096
- }
11097
- })().catch((error) => {
11098
- safeEnqueue({
11099
- type: "error",
11100
- errorText: onError(error)
11101
- });
11102
- })
11103
- );
11104
- },
11105
- onError
11106
- }
11107
- });
11108
- if (result) {
11109
- ongoingStreamPromises.push(
11110
- result.catch((error) => {
11111
- safeEnqueue({
11112
- type: "error",
11113
- errorText: onError(error)
11114
- });
11115
- })
11116
- );
11117
- }
11118
- } catch (error) {
11119
- safeEnqueue({
11120
- type: "error",
11121
- errorText: onError(error)
11122
- });
11123
- }
11124
- const waitForStreams = new Promise(async (resolve3) => {
11125
- while (ongoingStreamPromises.length > 0) {
11126
- await ongoingStreamPromises.shift();
11127
- }
11128
- resolve3();
11129
- });
11130
- waitForStreams.finally(() => {
11131
- try {
11132
- controller.close();
11133
- } catch (error) {
11134
- }
11135
- });
11136
- return handleUIMessageStreamFinish({
11137
- stream,
11138
- messageId: generateId2(),
11139
- originalMessages,
11140
- onFinish,
11141
- onError
11142
- });
11143
- }
11144
-
11145
- // src/ui-message-stream/read-ui-message-stream.ts
11146
- function readUIMessageStream({
11147
- message,
11148
- stream,
11149
- onError,
11150
- terminateOnError = false
11151
- }) {
11152
- var _a17;
11153
- let controller;
11154
- let hasErrored = false;
11155
- const outputStream = new ReadableStream({
11156
- start(controllerParam) {
11157
- controller = controllerParam;
11158
- }
11159
- });
11160
- const state = createStreamingUIMessageState({
11161
- messageId: (_a17 = message == null ? void 0 : message.id) != null ? _a17 : "",
11162
- lastMessage: message
11163
- });
11164
- const handleError = (error) => {
11165
- onError == null ? void 0 : onError(error);
11166
- if (!hasErrored && terminateOnError) {
11167
- hasErrored = true;
11168
- controller == null ? void 0 : controller.error(error);
11169
- }
11170
- };
11171
- consumeStream({
11172
- stream: processUIMessageStream({
11173
- stream,
11174
- runUpdateMessageJob(job) {
11175
- return job({
11176
- state,
11177
- write: () => {
11178
- controller == null ? void 0 : controller.enqueue(structuredClone(state.message));
11179
- }
11180
- });
11181
- },
11182
- onError: handleError
11183
- }),
11184
- onError: handleError
11185
- }).finally(() => {
11186
- if (!hasErrored) {
11187
- controller == null ? void 0 : controller.close();
11188
- }
11189
- });
11190
- return createAsyncIterableStream(outputStream);
11191
- }
11192
11203
  // Annotate the CommonJS export names for ESM import in node:
11193
11204
  0 && (module.exports = {
11194
11205
  AISDKError,
@@ -11245,6 +11256,7 @@ function readUIMessageStream({
11245
11256
  coreToolMessageSchema,
11246
11257
  coreUserMessageSchema,
11247
11258
  cosineSimilarity,
11259
+ createAgentStreamResponse,
11248
11260
  createGateway,
11249
11261
  createIdGenerator,
11250
11262
  createProviderRegistry,