ai 6.0.0-beta.58 → 6.0.0-beta.60

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.60" : "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,439 @@ 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
+ ...options
7086
+ }) {
7087
+ const validatedMessages = await validateUIMessages({
7088
+ messages,
7089
+ tools: agent.tools
7090
+ });
7091
+ const modelMessages = convertToModelMessages(validatedMessages, {
7092
+ tools: agent.tools
7093
+ });
7094
+ const result = agent.stream({ prompt: modelMessages });
7095
+ return createUIMessageStreamResponse({
7096
+ stream: result.toUIMessageStream(options)
7097
+ });
7098
+ }
7099
+
7100
+ // src/embed/embed.ts
7101
+ var import_provider_utils19 = require("@ai-sdk/provider-utils");
7102
+ async function embed({
7103
+ model: modelArg,
7104
+ value,
7105
+ providerOptions,
7106
+ maxRetries: maxRetriesArg,
7107
+ abortSignal,
7108
+ headers,
7109
+ experimental_telemetry: telemetry
7110
+ }) {
7111
+ const model = resolveEmbeddingModel(modelArg);
7112
+ const { maxRetries, retry } = prepareRetries({
7113
+ maxRetries: maxRetriesArg,
7114
+ abortSignal
7115
+ });
7116
+ const headersWithUserAgent = (0, import_provider_utils19.withUserAgentSuffix)(
7117
+ headers != null ? headers : {},
7118
+ `ai/${VERSION}`
7119
+ );
7120
+ const baseTelemetryAttributes = getBaseTelemetryAttributes({
7121
+ model,
7122
+ telemetry,
7123
+ headers: headersWithUserAgent,
7124
+ settings: { maxRetries }
7125
+ });
7126
+ const tracer = getTracer(telemetry);
7127
+ return recordSpan({
7128
+ name: "ai.embed",
7129
+ attributes: selectTelemetryAttributes({
7130
+ telemetry,
7131
+ attributes: {
7132
+ ...assembleOperationName({ operationId: "ai.embed", telemetry }),
7133
+ ...baseTelemetryAttributes,
7134
+ "ai.value": { input: () => JSON.stringify(value) }
7135
+ }
7136
+ }),
7137
+ tracer,
6616
7138
  fn: async (span) => {
6617
7139
  const { embedding, usage, response, providerMetadata } = await retry(
6618
7140
  () => (
@@ -6695,7 +7217,7 @@ var DefaultEmbedResult = class {
6695
7217
  };
6696
7218
 
6697
7219
  // src/embed/embed-many.ts
6698
- var import_provider_utils18 = require("@ai-sdk/provider-utils");
7220
+ var import_provider_utils20 = require("@ai-sdk/provider-utils");
6699
7221
 
6700
7222
  // src/util/split-array.ts
6701
7223
  function splitArray(array, chunkSize) {
@@ -6725,7 +7247,7 @@ async function embedMany({
6725
7247
  maxRetries: maxRetriesArg,
6726
7248
  abortSignal
6727
7249
  });
6728
- const headersWithUserAgent = (0, import_provider_utils18.withUserAgentSuffix)(
7250
+ const headersWithUserAgent = (0, import_provider_utils20.withUserAgentSuffix)(
6729
7251
  headers != null ? headers : {},
6730
7252
  `ai/${VERSION}`
6731
7253
  );
@@ -6944,7 +7466,7 @@ var DefaultEmbedManyResult = class {
6944
7466
  };
6945
7467
 
6946
7468
  // src/generate-image/generate-image.ts
6947
- var import_provider_utils19 = require("@ai-sdk/provider-utils");
7469
+ var import_provider_utils21 = require("@ai-sdk/provider-utils");
6948
7470
  async function generateImage({
6949
7471
  model,
6950
7472
  prompt,
@@ -6966,7 +7488,7 @@ async function generateImage({
6966
7488
  modelId: model.modelId
6967
7489
  });
6968
7490
  }
6969
- const headersWithUserAgent = (0, import_provider_utils19.withUserAgentSuffix)(
7491
+ const headersWithUserAgent = (0, import_provider_utils21.withUserAgentSuffix)(
6970
7492
  headers != null ? headers : {},
6971
7493
  `ai/${VERSION}`
6972
7494
  );
@@ -7062,7 +7584,7 @@ async function invokeModelMaxImagesPerCall(model) {
7062
7584
  }
7063
7585
 
7064
7586
  // src/generate-object/generate-object.ts
7065
- var import_provider_utils22 = require("@ai-sdk/provider-utils");
7587
+ var import_provider_utils24 = require("@ai-sdk/provider-utils");
7066
7588
 
7067
7589
  // src/generate-text/extract-reasoning-content.ts
7068
7590
  function extractReasoningContent(content) {
@@ -7073,8 +7595,8 @@ function extractReasoningContent(content) {
7073
7595
  }
7074
7596
 
7075
7597
  // src/generate-object/output-strategy.ts
7076
- var import_provider25 = require("@ai-sdk/provider");
7077
- var import_provider_utils20 = require("@ai-sdk/provider-utils");
7598
+ var import_provider26 = require("@ai-sdk/provider");
7599
+ var import_provider_utils22 = require("@ai-sdk/provider-utils");
7078
7600
  var noSchemaOutputStrategy = {
7079
7601
  type: "no-schema",
7080
7602
  jsonSchema: async () => void 0,
@@ -7094,7 +7616,7 @@ var noSchemaOutputStrategy = {
7094
7616
  } : { success: true, value };
7095
7617
  },
7096
7618
  createElementStream() {
7097
- throw new import_provider25.UnsupportedFunctionalityError({
7619
+ throw new import_provider26.UnsupportedFunctionalityError({
7098
7620
  functionality: "element streams in no-schema mode"
7099
7621
  });
7100
7622
  }
@@ -7113,10 +7635,10 @@ var objectOutputStrategy = (schema) => ({
7113
7635
  };
7114
7636
  },
7115
7637
  async validateFinalResult(value) {
7116
- return (0, import_provider_utils20.safeValidateTypes)({ value, schema });
7638
+ return (0, import_provider_utils22.safeValidateTypes)({ value, schema });
7117
7639
  },
7118
7640
  createElementStream() {
7119
- throw new import_provider25.UnsupportedFunctionalityError({
7641
+ throw new import_provider26.UnsupportedFunctionalityError({
7120
7642
  functionality: "element streams in object mode"
7121
7643
  });
7122
7644
  }
@@ -7146,10 +7668,10 @@ var arrayOutputStrategy = (schema) => {
7146
7668
  isFinalDelta
7147
7669
  }) {
7148
7670
  var _a17;
7149
- if (!(0, import_provider25.isJSONObject)(value) || !(0, import_provider25.isJSONArray)(value.elements)) {
7671
+ if (!(0, import_provider26.isJSONObject)(value) || !(0, import_provider26.isJSONArray)(value.elements)) {
7150
7672
  return {
7151
7673
  success: false,
7152
- error: new import_provider25.TypeValidationError({
7674
+ error: new import_provider26.TypeValidationError({
7153
7675
  value,
7154
7676
  cause: "value must be an object that contains an array of elements"
7155
7677
  })
@@ -7159,7 +7681,7 @@ var arrayOutputStrategy = (schema) => {
7159
7681
  const resultArray = [];
7160
7682
  for (let i = 0; i < inputArray.length; i++) {
7161
7683
  const element = inputArray[i];
7162
- const result = await (0, import_provider_utils20.safeValidateTypes)({ value: element, schema });
7684
+ const result = await (0, import_provider_utils22.safeValidateTypes)({ value: element, schema });
7163
7685
  if (i === inputArray.length - 1 && !isFinalDelta) {
7164
7686
  continue;
7165
7687
  }
@@ -7189,10 +7711,10 @@ var arrayOutputStrategy = (schema) => {
7189
7711
  };
7190
7712
  },
7191
7713
  async validateFinalResult(value) {
7192
- if (!(0, import_provider25.isJSONObject)(value) || !(0, import_provider25.isJSONArray)(value.elements)) {
7714
+ if (!(0, import_provider26.isJSONObject)(value) || !(0, import_provider26.isJSONArray)(value.elements)) {
7193
7715
  return {
7194
7716
  success: false,
7195
- error: new import_provider25.TypeValidationError({
7717
+ error: new import_provider26.TypeValidationError({
7196
7718
  value,
7197
7719
  cause: "value must be an object that contains an array of elements"
7198
7720
  })
@@ -7200,7 +7722,7 @@ var arrayOutputStrategy = (schema) => {
7200
7722
  }
7201
7723
  const inputArray = value.elements;
7202
7724
  for (const element of inputArray) {
7203
- const result = await (0, import_provider_utils20.safeValidateTypes)({ value: element, schema });
7725
+ const result = await (0, import_provider_utils22.safeValidateTypes)({ value: element, schema });
7204
7726
  if (!result.success) {
7205
7727
  return result;
7206
7728
  }
@@ -7255,10 +7777,10 @@ var enumOutputStrategy = (enumValues) => {
7255
7777
  additionalProperties: false
7256
7778
  }),
7257
7779
  async validateFinalResult(value) {
7258
- if (!(0, import_provider25.isJSONObject)(value) || typeof value.result !== "string") {
7780
+ if (!(0, import_provider26.isJSONObject)(value) || typeof value.result !== "string") {
7259
7781
  return {
7260
7782
  success: false,
7261
- error: new import_provider25.TypeValidationError({
7783
+ error: new import_provider26.TypeValidationError({
7262
7784
  value,
7263
7785
  cause: 'value must be an object that contains a string in the "result" property.'
7264
7786
  })
@@ -7267,17 +7789,17 @@ var enumOutputStrategy = (enumValues) => {
7267
7789
  const result = value.result;
7268
7790
  return enumValues.includes(result) ? { success: true, value: result } : {
7269
7791
  success: false,
7270
- error: new import_provider25.TypeValidationError({
7792
+ error: new import_provider26.TypeValidationError({
7271
7793
  value,
7272
7794
  cause: "value must be a string in the enum"
7273
7795
  })
7274
7796
  };
7275
7797
  },
7276
7798
  async validatePartialResult({ value, textDelta }) {
7277
- if (!(0, import_provider25.isJSONObject)(value) || typeof value.result !== "string") {
7799
+ if (!(0, import_provider26.isJSONObject)(value) || typeof value.result !== "string") {
7278
7800
  return {
7279
7801
  success: false,
7280
- error: new import_provider25.TypeValidationError({
7802
+ error: new import_provider26.TypeValidationError({
7281
7803
  value,
7282
7804
  cause: 'value must be an object that contains a string in the "result" property.'
7283
7805
  })
@@ -7290,7 +7812,7 @@ var enumOutputStrategy = (enumValues) => {
7290
7812
  if (value.result.length === 0 || possibleEnumValues.length === 0) {
7291
7813
  return {
7292
7814
  success: false,
7293
- error: new import_provider25.TypeValidationError({
7815
+ error: new import_provider26.TypeValidationError({
7294
7816
  value,
7295
7817
  cause: "value must be a string in the enum"
7296
7818
  })
@@ -7305,7 +7827,7 @@ var enumOutputStrategy = (enumValues) => {
7305
7827
  };
7306
7828
  },
7307
7829
  createElementStream() {
7308
- throw new import_provider25.UnsupportedFunctionalityError({
7830
+ throw new import_provider26.UnsupportedFunctionalityError({
7309
7831
  functionality: "element streams in enum mode"
7310
7832
  });
7311
7833
  }
@@ -7318,9 +7840,9 @@ function getOutputStrategy({
7318
7840
  }) {
7319
7841
  switch (output) {
7320
7842
  case "object":
7321
- return objectOutputStrategy((0, import_provider_utils20.asSchema)(schema));
7843
+ return objectOutputStrategy((0, import_provider_utils22.asSchema)(schema));
7322
7844
  case "array":
7323
- return arrayOutputStrategy((0, import_provider_utils20.asSchema)(schema));
7845
+ return arrayOutputStrategy((0, import_provider_utils22.asSchema)(schema));
7324
7846
  case "enum":
7325
7847
  return enumOutputStrategy(enumValues);
7326
7848
  case "no-schema":
@@ -7333,10 +7855,10 @@ function getOutputStrategy({
7333
7855
  }
7334
7856
 
7335
7857
  // 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");
7858
+ var import_provider27 = require("@ai-sdk/provider");
7859
+ var import_provider_utils23 = require("@ai-sdk/provider-utils");
7338
7860
  async function parseAndValidateObjectResult(result, outputStrategy, context) {
7339
- const parseResult = await (0, import_provider_utils21.safeParseJSON)({ text: result });
7861
+ const parseResult = await (0, import_provider_utils23.safeParseJSON)({ text: result });
7340
7862
  if (!parseResult.success) {
7341
7863
  throw new NoObjectGeneratedError({
7342
7864
  message: "No object generated: could not parse the response.",
@@ -7371,7 +7893,7 @@ async function parseAndValidateObjectResultWithRepair(result, outputStrategy, re
7371
7893
  try {
7372
7894
  return await parseAndValidateObjectResult(result, outputStrategy, context);
7373
7895
  } catch (error) {
7374
- if (repairText != null && NoObjectGeneratedError.isInstance(error) && (import_provider26.JSONParseError.isInstance(error.cause) || import_provider26.TypeValidationError.isInstance(error.cause))) {
7896
+ if (repairText != null && NoObjectGeneratedError.isInstance(error) && (import_provider27.JSONParseError.isInstance(error.cause) || import_provider27.TypeValidationError.isInstance(error.cause))) {
7375
7897
  const repairedText = await repairText({
7376
7898
  text: result,
7377
7899
  error: error.cause
@@ -7508,7 +8030,7 @@ function validateObjectGenerationInput({
7508
8030
  }
7509
8031
 
7510
8032
  // src/generate-object/generate-object.ts
7511
- var originalGenerateId3 = (0, import_provider_utils22.createIdGenerator)({ prefix: "aiobj", size: 24 });
8033
+ var originalGenerateId3 = (0, import_provider_utils24.createIdGenerator)({ prefix: "aiobj", size: 24 });
7512
8034
  async function generateObject(options) {
7513
8035
  const {
7514
8036
  model: modelArg,
@@ -7553,7 +8075,7 @@ async function generateObject(options) {
7553
8075
  enumValues
7554
8076
  });
7555
8077
  const callSettings = prepareCallSettings(settings);
7556
- const headersWithUserAgent = (0, import_provider_utils22.withUserAgentSuffix)(
8078
+ const headersWithUserAgent = (0, import_provider_utils24.withUserAgentSuffix)(
7557
8079
  headers != null ? headers : {},
7558
8080
  `ai/${VERSION}`
7559
8081
  );
@@ -7773,7 +8295,7 @@ var DefaultGenerateObjectResult = class {
7773
8295
  };
7774
8296
 
7775
8297
  // src/generate-object/stream-object.ts
7776
- var import_provider_utils24 = require("@ai-sdk/provider-utils");
8298
+ var import_provider_utils26 = require("@ai-sdk/provider-utils");
7777
8299
 
7778
8300
  // src/util/cosine-similarity.ts
7779
8301
  function cosineSimilarity(vector1, vector2) {
@@ -7883,7 +8405,7 @@ var SerialJobExecutor = class {
7883
8405
  };
7884
8406
 
7885
8407
  // src/util/simulate-readable-stream.ts
7886
- var import_provider_utils23 = require("@ai-sdk/provider-utils");
8408
+ var import_provider_utils25 = require("@ai-sdk/provider-utils");
7887
8409
  function simulateReadableStream({
7888
8410
  chunks,
7889
8411
  initialDelayInMs = 0,
@@ -7891,7 +8413,7 @@ function simulateReadableStream({
7891
8413
  _internal
7892
8414
  }) {
7893
8415
  var _a17;
7894
- const delay2 = (_a17 = _internal == null ? void 0 : _internal.delay) != null ? _a17 : import_provider_utils23.delay;
8416
+ const delay2 = (_a17 = _internal == null ? void 0 : _internal.delay) != null ? _a17 : import_provider_utils25.delay;
7895
8417
  let index = 0;
7896
8418
  return new ReadableStream({
7897
8419
  async pull(controller) {
@@ -7906,7 +8428,7 @@ function simulateReadableStream({
7906
8428
  }
7907
8429
 
7908
8430
  // src/generate-object/stream-object.ts
7909
- var originalGenerateId4 = (0, import_provider_utils24.createIdGenerator)({ prefix: "aiobj", size: 24 });
8431
+ var originalGenerateId4 = (0, import_provider_utils26.createIdGenerator)({ prefix: "aiobj", size: 24 });
7910
8432
  function streamObject(options) {
7911
8433
  const {
7912
8434
  model,
@@ -8429,7 +8951,7 @@ var DefaultStreamObjectResult = class {
8429
8951
  };
8430
8952
 
8431
8953
  // src/generate-speech/generate-speech.ts
8432
- var import_provider_utils25 = require("@ai-sdk/provider-utils");
8954
+ var import_provider_utils27 = require("@ai-sdk/provider-utils");
8433
8955
 
8434
8956
  // src/generate-speech/generated-audio-file.ts
8435
8957
  var DefaultGeneratedAudioFile = class extends DefaultGeneratedFile {
@@ -8475,7 +8997,7 @@ async function generateSpeech({
8475
8997
  if (!resolvedModel) {
8476
8998
  throw new Error("Model could not be resolved");
8477
8999
  }
8478
- const headersWithUserAgent = (0, import_provider_utils25.withUserAgentSuffix)(
9000
+ const headersWithUserAgent = (0, import_provider_utils27.withUserAgentSuffix)(
8479
9001
  headers != null ? headers : {},
8480
9002
  `ai/${VERSION}`
8481
9003
  );
@@ -8529,7 +9051,7 @@ __export(output_exports, {
8529
9051
  object: () => object,
8530
9052
  text: () => text
8531
9053
  });
8532
- var import_provider_utils26 = require("@ai-sdk/provider-utils");
9054
+ var import_provider_utils28 = require("@ai-sdk/provider-utils");
8533
9055
  var text = () => ({
8534
9056
  type: "text",
8535
9057
  responseFormat: Promise.resolve({ type: "text" }),
@@ -8543,10 +9065,10 @@ var text = () => ({
8543
9065
  var object = ({
8544
9066
  schema: inputSchema
8545
9067
  }) => {
8546
- const schema = (0, import_provider_utils26.asSchema)(inputSchema);
9068
+ const schema = (0, import_provider_utils28.asSchema)(inputSchema);
8547
9069
  return {
8548
9070
  type: "object",
8549
- responseFormat: (0, import_provider_utils26.resolve)(schema.jsonSchema).then((jsonSchema3) => ({
9071
+ responseFormat: (0, import_provider_utils28.resolve)(schema.jsonSchema).then((jsonSchema3) => ({
8550
9072
  type: "json",
8551
9073
  schema: jsonSchema3
8552
9074
  })),
@@ -8569,7 +9091,7 @@ var object = ({
8569
9091
  }
8570
9092
  },
8571
9093
  async parseOutput({ text: text2 }, context) {
8572
- const parseResult = await (0, import_provider_utils26.safeParseJSON)({ text: text2 });
9094
+ const parseResult = await (0, import_provider_utils28.safeParseJSON)({ text: text2 });
8573
9095
  if (!parseResult.success) {
8574
9096
  throw new NoObjectGeneratedError({
8575
9097
  message: "No object generated: could not parse the response.",
@@ -8580,7 +9102,7 @@ var object = ({
8580
9102
  finishReason: context.finishReason
8581
9103
  });
8582
9104
  }
8583
- const validationResult = await (0, import_provider_utils26.safeValidateTypes)({
9105
+ const validationResult = await (0, import_provider_utils28.safeValidateTypes)({
8584
9106
  value: parseResult.value,
8585
9107
  schema
8586
9108
  });
@@ -8679,8 +9201,8 @@ function pruneMessages({
8679
9201
  }
8680
9202
 
8681
9203
  // src/generate-text/smooth-stream.ts
8682
- var import_provider_utils27 = require("@ai-sdk/provider-utils");
8683
- var import_provider27 = require("@ai-sdk/provider");
9204
+ var import_provider_utils29 = require("@ai-sdk/provider-utils");
9205
+ var import_provider28 = require("@ai-sdk/provider");
8684
9206
  var CHUNKING_REGEXPS = {
8685
9207
  word: /\S+\s+/m,
8686
9208
  line: /\n+/m
@@ -8688,7 +9210,7 @@ var CHUNKING_REGEXPS = {
8688
9210
  function smoothStream({
8689
9211
  delayInMs = 10,
8690
9212
  chunking = "word",
8691
- _internal: { delay: delay2 = import_provider_utils27.delay } = {}
9213
+ _internal: { delay: delay2 = import_provider_utils29.delay } = {}
8692
9214
  } = {}) {
8693
9215
  let detectChunk;
8694
9216
  if (typeof chunking === "function") {
@@ -8710,7 +9232,7 @@ function smoothStream({
8710
9232
  } else {
8711
9233
  const chunkingRegex = typeof chunking === "string" ? CHUNKING_REGEXPS[chunking] : chunking;
8712
9234
  if (chunkingRegex == null) {
8713
- throw new import_provider27.InvalidArgumentError({
9235
+ throw new import_provider28.InvalidArgumentError({
8714
9236
  argument: "chunking",
8715
9237
  message: `Chunking must be "word" or "line" or a RegExp. Received: ${chunking}`
8716
9238
  });
@@ -9082,7 +9604,7 @@ function wrapProvider({
9082
9604
  }
9083
9605
 
9084
9606
  // src/registry/custom-provider.ts
9085
- var import_provider28 = require("@ai-sdk/provider");
9607
+ var import_provider29 = require("@ai-sdk/provider");
9086
9608
  function customProvider({
9087
9609
  languageModels,
9088
9610
  textEmbeddingModels,
@@ -9099,7 +9621,7 @@ function customProvider({
9099
9621
  if (fallbackProvider) {
9100
9622
  return fallbackProvider.languageModel(modelId);
9101
9623
  }
9102
- throw new import_provider28.NoSuchModelError({ modelId, modelType: "languageModel" });
9624
+ throw new import_provider29.NoSuchModelError({ modelId, modelType: "languageModel" });
9103
9625
  },
9104
9626
  textEmbeddingModel(modelId) {
9105
9627
  if (textEmbeddingModels != null && modelId in textEmbeddingModels) {
@@ -9108,7 +9630,7 @@ function customProvider({
9108
9630
  if (fallbackProvider) {
9109
9631
  return fallbackProvider.textEmbeddingModel(modelId);
9110
9632
  }
9111
- throw new import_provider28.NoSuchModelError({ modelId, modelType: "textEmbeddingModel" });
9633
+ throw new import_provider29.NoSuchModelError({ modelId, modelType: "textEmbeddingModel" });
9112
9634
  },
9113
9635
  imageModel(modelId) {
9114
9636
  if (imageModels != null && modelId in imageModels) {
@@ -9117,7 +9639,7 @@ function customProvider({
9117
9639
  if (fallbackProvider == null ? void 0 : fallbackProvider.imageModel) {
9118
9640
  return fallbackProvider.imageModel(modelId);
9119
9641
  }
9120
- throw new import_provider28.NoSuchModelError({ modelId, modelType: "imageModel" });
9642
+ throw new import_provider29.NoSuchModelError({ modelId, modelType: "imageModel" });
9121
9643
  },
9122
9644
  transcriptionModel(modelId) {
9123
9645
  if (transcriptionModels != null && modelId in transcriptionModels) {
@@ -9126,7 +9648,7 @@ function customProvider({
9126
9648
  if (fallbackProvider == null ? void 0 : fallbackProvider.transcriptionModel) {
9127
9649
  return fallbackProvider.transcriptionModel(modelId);
9128
9650
  }
9129
- throw new import_provider28.NoSuchModelError({ modelId, modelType: "transcriptionModel" });
9651
+ throw new import_provider29.NoSuchModelError({ modelId, modelType: "transcriptionModel" });
9130
9652
  },
9131
9653
  speechModel(modelId) {
9132
9654
  if (speechModels != null && modelId in speechModels) {
@@ -9135,19 +9657,19 @@ function customProvider({
9135
9657
  if (fallbackProvider == null ? void 0 : fallbackProvider.speechModel) {
9136
9658
  return fallbackProvider.speechModel(modelId);
9137
9659
  }
9138
- throw new import_provider28.NoSuchModelError({ modelId, modelType: "speechModel" });
9660
+ throw new import_provider29.NoSuchModelError({ modelId, modelType: "speechModel" });
9139
9661
  }
9140
9662
  };
9141
9663
  }
9142
9664
  var experimental_customProvider = customProvider;
9143
9665
 
9144
9666
  // src/registry/no-such-provider-error.ts
9145
- var import_provider29 = require("@ai-sdk/provider");
9667
+ var import_provider30 = require("@ai-sdk/provider");
9146
9668
  var name16 = "AI_NoSuchProviderError";
9147
9669
  var marker16 = `vercel.ai.error.${name16}`;
9148
9670
  var symbol16 = Symbol.for(marker16);
9149
9671
  var _a16;
9150
- var NoSuchProviderError = class extends import_provider29.NoSuchModelError {
9672
+ var NoSuchProviderError = class extends import_provider30.NoSuchModelError {
9151
9673
  constructor({
9152
9674
  modelId,
9153
9675
  modelType,
@@ -9161,13 +9683,13 @@ var NoSuchProviderError = class extends import_provider29.NoSuchModelError {
9161
9683
  this.availableProviders = availableProviders;
9162
9684
  }
9163
9685
  static isInstance(error) {
9164
- return import_provider29.AISDKError.hasMarker(error, marker16);
9686
+ return import_provider30.AISDKError.hasMarker(error, marker16);
9165
9687
  }
9166
9688
  };
9167
9689
  _a16 = symbol16;
9168
9690
 
9169
9691
  // src/registry/provider-registry.ts
9170
- var import_provider30 = require("@ai-sdk/provider");
9692
+ var import_provider31 = require("@ai-sdk/provider");
9171
9693
  function createProviderRegistry(providers, {
9172
9694
  separator = ":",
9173
9695
  languageModelMiddleware
@@ -9212,7 +9734,7 @@ var DefaultProviderRegistry = class {
9212
9734
  splitId(id, modelType) {
9213
9735
  const index = id.indexOf(this.separator);
9214
9736
  if (index === -1) {
9215
- throw new import_provider30.NoSuchModelError({
9737
+ throw new import_provider31.NoSuchModelError({
9216
9738
  modelId: id,
9217
9739
  modelType,
9218
9740
  message: `Invalid ${modelType} id for registry: ${id} (must be in the format "providerId${this.separator}modelId")`
@@ -9228,7 +9750,7 @@ var DefaultProviderRegistry = class {
9228
9750
  modelId
9229
9751
  );
9230
9752
  if (model == null) {
9231
- throw new import_provider30.NoSuchModelError({ modelId: id, modelType: "languageModel" });
9753
+ throw new import_provider31.NoSuchModelError({ modelId: id, modelType: "languageModel" });
9232
9754
  }
9233
9755
  if (this.languageModelMiddleware != null) {
9234
9756
  model = wrapLanguageModel({
@@ -9244,7 +9766,7 @@ var DefaultProviderRegistry = class {
9244
9766
  const provider = this.getProvider(providerId, "textEmbeddingModel");
9245
9767
  const model = (_a17 = provider.textEmbeddingModel) == null ? void 0 : _a17.call(provider, modelId);
9246
9768
  if (model == null) {
9247
- throw new import_provider30.NoSuchModelError({
9769
+ throw new import_provider31.NoSuchModelError({
9248
9770
  modelId: id,
9249
9771
  modelType: "textEmbeddingModel"
9250
9772
  });
@@ -9257,7 +9779,7 @@ var DefaultProviderRegistry = class {
9257
9779
  const provider = this.getProvider(providerId, "imageModel");
9258
9780
  const model = (_a17 = provider.imageModel) == null ? void 0 : _a17.call(provider, modelId);
9259
9781
  if (model == null) {
9260
- throw new import_provider30.NoSuchModelError({ modelId: id, modelType: "imageModel" });
9782
+ throw new import_provider31.NoSuchModelError({ modelId: id, modelType: "imageModel" });
9261
9783
  }
9262
9784
  return model;
9263
9785
  }
@@ -9267,7 +9789,7 @@ var DefaultProviderRegistry = class {
9267
9789
  const provider = this.getProvider(providerId, "transcriptionModel");
9268
9790
  const model = (_a17 = provider.transcriptionModel) == null ? void 0 : _a17.call(provider, modelId);
9269
9791
  if (model == null) {
9270
- throw new import_provider30.NoSuchModelError({
9792
+ throw new import_provider31.NoSuchModelError({
9271
9793
  modelId: id,
9272
9794
  modelType: "transcriptionModel"
9273
9795
  });
@@ -9280,150 +9802,150 @@ var DefaultProviderRegistry = class {
9280
9802
  const provider = this.getProvider(providerId, "speechModel");
9281
9803
  const model = (_a17 = provider.speechModel) == null ? void 0 : _a17.call(provider, modelId);
9282
9804
  if (model == null) {
9283
- throw new import_provider30.NoSuchModelError({ modelId: id, modelType: "speechModel" });
9805
+ throw new import_provider31.NoSuchModelError({ modelId: id, modelType: "speechModel" });
9284
9806
  }
9285
9807
  return model;
9286
9808
  }
9287
9809
  };
9288
9810
 
9289
9811
  // src/tool/mcp/mcp-client.ts
9290
- var import_provider_utils29 = require("@ai-sdk/provider-utils");
9812
+ var import_provider_utils31 = require("@ai-sdk/provider-utils");
9291
9813
 
9292
9814
  // src/tool/mcp/mcp-sse-transport.ts
9293
- var import_provider_utils28 = require("@ai-sdk/provider-utils");
9815
+ var import_provider_utils30 = require("@ai-sdk/provider-utils");
9294
9816
 
9295
9817
  // src/tool/mcp/json-rpc-message.ts
9296
- var import_v49 = require("zod/v4");
9818
+ var import_v410 = require("zod/v4");
9297
9819
 
9298
9820
  // src/tool/mcp/types.ts
9299
- var import_v48 = require("zod/v4");
9821
+ var import_v49 = require("zod/v4");
9300
9822
  var LATEST_PROTOCOL_VERSION = "2025-06-18";
9301
9823
  var SUPPORTED_PROTOCOL_VERSIONS = [
9302
9824
  LATEST_PROTOCOL_VERSION,
9303
9825
  "2025-03-26",
9304
9826
  "2024-11-05"
9305
9827
  ];
9306
- var ClientOrServerImplementationSchema = import_v48.z.looseObject({
9307
- name: import_v48.z.string(),
9308
- version: import_v48.z.string()
9828
+ var ClientOrServerImplementationSchema = import_v49.z.looseObject({
9829
+ name: import_v49.z.string(),
9830
+ version: import_v49.z.string()
9309
9831
  });
9310
- var BaseParamsSchema = import_v48.z.looseObject({
9311
- _meta: import_v48.z.optional(import_v48.z.object({}).loose())
9832
+ var BaseParamsSchema = import_v49.z.looseObject({
9833
+ _meta: import_v49.z.optional(import_v49.z.object({}).loose())
9312
9834
  });
9313
9835
  var ResultSchema = BaseParamsSchema;
9314
- var RequestSchema = import_v48.z.object({
9315
- method: import_v48.z.string(),
9316
- params: import_v48.z.optional(BaseParamsSchema)
9836
+ var RequestSchema = import_v49.z.object({
9837
+ method: import_v49.z.string(),
9838
+ params: import_v49.z.optional(BaseParamsSchema)
9317
9839
  });
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())
9840
+ var ServerCapabilitiesSchema = import_v49.z.looseObject({
9841
+ experimental: import_v49.z.optional(import_v49.z.object({}).loose()),
9842
+ logging: import_v49.z.optional(import_v49.z.object({}).loose()),
9843
+ prompts: import_v49.z.optional(
9844
+ import_v49.z.looseObject({
9845
+ listChanged: import_v49.z.optional(import_v49.z.boolean())
9324
9846
  })
9325
9847
  ),
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())
9848
+ resources: import_v49.z.optional(
9849
+ import_v49.z.looseObject({
9850
+ subscribe: import_v49.z.optional(import_v49.z.boolean()),
9851
+ listChanged: import_v49.z.optional(import_v49.z.boolean())
9330
9852
  })
9331
9853
  ),
9332
- tools: import_v48.z.optional(
9333
- import_v48.z.looseObject({
9334
- listChanged: import_v48.z.optional(import_v48.z.boolean())
9854
+ tools: import_v49.z.optional(
9855
+ import_v49.z.looseObject({
9856
+ listChanged: import_v49.z.optional(import_v49.z.boolean())
9335
9857
  })
9336
9858
  )
9337
9859
  });
9338
9860
  var InitializeResultSchema = ResultSchema.extend({
9339
- protocolVersion: import_v48.z.string(),
9861
+ protocolVersion: import_v49.z.string(),
9340
9862
  capabilities: ServerCapabilitiesSchema,
9341
9863
  serverInfo: ClientOrServerImplementationSchema,
9342
- instructions: import_v48.z.optional(import_v48.z.string())
9864
+ instructions: import_v49.z.optional(import_v49.z.string())
9343
9865
  });
9344
9866
  var PaginatedResultSchema = ResultSchema.extend({
9345
- nextCursor: import_v48.z.optional(import_v48.z.string())
9867
+ nextCursor: import_v49.z.optional(import_v49.z.string())
9346
9868
  });
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())
9869
+ var ToolSchema = import_v49.z.object({
9870
+ name: import_v49.z.string(),
9871
+ description: import_v49.z.optional(import_v49.z.string()),
9872
+ inputSchema: import_v49.z.object({
9873
+ type: import_v49.z.literal("object"),
9874
+ properties: import_v49.z.optional(import_v49.z.object({}).loose())
9353
9875
  }).loose()
9354
9876
  }).loose();
9355
9877
  var ListToolsResultSchema = PaginatedResultSchema.extend({
9356
- tools: import_v48.z.array(ToolSchema)
9878
+ tools: import_v49.z.array(ToolSchema)
9357
9879
  });
9358
- var TextContentSchema = import_v48.z.object({
9359
- type: import_v48.z.literal("text"),
9360
- text: import_v48.z.string()
9880
+ var TextContentSchema = import_v49.z.object({
9881
+ type: import_v49.z.literal("text"),
9882
+ text: import_v49.z.string()
9361
9883
  }).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()
9884
+ var ImageContentSchema = import_v49.z.object({
9885
+ type: import_v49.z.literal("image"),
9886
+ data: import_v49.z.base64(),
9887
+ mimeType: import_v49.z.string()
9366
9888
  }).loose();
9367
- var ResourceContentsSchema = import_v48.z.object({
9889
+ var ResourceContentsSchema = import_v49.z.object({
9368
9890
  /**
9369
9891
  * The URI of this resource.
9370
9892
  */
9371
- uri: import_v48.z.string(),
9893
+ uri: import_v49.z.string(),
9372
9894
  /**
9373
9895
  * The MIME type of this resource, if known.
9374
9896
  */
9375
- mimeType: import_v48.z.optional(import_v48.z.string())
9897
+ mimeType: import_v49.z.optional(import_v49.z.string())
9376
9898
  }).loose();
9377
9899
  var TextResourceContentsSchema = ResourceContentsSchema.extend({
9378
- text: import_v48.z.string()
9900
+ text: import_v49.z.string()
9379
9901
  });
9380
9902
  var BlobResourceContentsSchema = ResourceContentsSchema.extend({
9381
- blob: import_v48.z.base64()
9903
+ blob: import_v49.z.base64()
9382
9904
  });
9383
- var EmbeddedResourceSchema = import_v48.z.object({
9384
- type: import_v48.z.literal("resource"),
9385
- resource: import_v48.z.union([TextResourceContentsSchema, BlobResourceContentsSchema])
9905
+ var EmbeddedResourceSchema = import_v49.z.object({
9906
+ type: import_v49.z.literal("resource"),
9907
+ resource: import_v49.z.union([TextResourceContentsSchema, BlobResourceContentsSchema])
9386
9908
  }).loose();
9387
9909
  var CallToolResultSchema = ResultSchema.extend({
9388
- content: import_v48.z.array(
9389
- import_v48.z.union([TextContentSchema, ImageContentSchema, EmbeddedResourceSchema])
9910
+ content: import_v49.z.array(
9911
+ import_v49.z.union([TextContentSchema, ImageContentSchema, EmbeddedResourceSchema])
9390
9912
  ),
9391
- isError: import_v48.z.boolean().default(false).optional()
9913
+ isError: import_v49.z.boolean().default(false).optional()
9392
9914
  }).or(
9393
9915
  ResultSchema.extend({
9394
- toolResult: import_v48.z.unknown()
9916
+ toolResult: import_v49.z.unknown()
9395
9917
  })
9396
9918
  );
9397
9919
 
9398
9920
  // src/tool/mcp/json-rpc-message.ts
9399
9921
  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()])
9922
+ var JSONRPCRequestSchema = import_v410.z.object({
9923
+ jsonrpc: import_v410.z.literal(JSONRPC_VERSION),
9924
+ id: import_v410.z.union([import_v410.z.string(), import_v410.z.number().int()])
9403
9925
  }).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()]),
9926
+ var JSONRPCResponseSchema = import_v410.z.object({
9927
+ jsonrpc: import_v410.z.literal(JSONRPC_VERSION),
9928
+ id: import_v410.z.union([import_v410.z.string(), import_v410.z.number().int()]),
9407
9929
  result: ResultSchema
9408
9930
  }).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())
9931
+ var JSONRPCErrorSchema = import_v410.z.object({
9932
+ jsonrpc: import_v410.z.literal(JSONRPC_VERSION),
9933
+ id: import_v410.z.union([import_v410.z.string(), import_v410.z.number().int()]),
9934
+ error: import_v410.z.object({
9935
+ code: import_v410.z.number().int(),
9936
+ message: import_v410.z.string(),
9937
+ data: import_v410.z.optional(import_v410.z.unknown())
9416
9938
  })
9417
9939
  }).strict();
9418
- var JSONRPCNotificationSchema = import_v49.z.object({
9419
- jsonrpc: import_v49.z.literal(JSONRPC_VERSION)
9940
+ var JSONRPCNotificationSchema = import_v410.z.object({
9941
+ jsonrpc: import_v410.z.literal(JSONRPC_VERSION)
9420
9942
  }).merge(
9421
- import_v49.z.object({
9422
- method: import_v49.z.string(),
9423
- params: import_v49.z.optional(BaseParamsSchema)
9943
+ import_v410.z.object({
9944
+ method: import_v410.z.string(),
9945
+ params: import_v410.z.optional(BaseParamsSchema)
9424
9946
  })
9425
9947
  ).strict();
9426
- var JSONRPCMessageSchema = import_v49.z.union([
9948
+ var JSONRPCMessageSchema = import_v410.z.union([
9427
9949
  JSONRPCRequestSchema,
9428
9950
  JSONRPCNotificationSchema,
9429
9951
  JSONRPCResponseSchema,
@@ -9449,13 +9971,13 @@ var SseMCPTransport = class {
9449
9971
  const establishConnection = async () => {
9450
9972
  var _a17, _b, _c;
9451
9973
  try {
9452
- const headers = (0, import_provider_utils28.withUserAgentSuffix)(
9974
+ const headers = (0, import_provider_utils30.withUserAgentSuffix)(
9453
9975
  {
9454
9976
  ...this.headers,
9455
9977
  Accept: "text/event-stream"
9456
9978
  },
9457
9979
  `ai-sdk/${VERSION}`,
9458
- (0, import_provider_utils28.getRuntimeEnvironmentUserAgent)()
9980
+ (0, import_provider_utils30.getRuntimeEnvironmentUserAgent)()
9459
9981
  );
9460
9982
  const response = await fetch(this.url.href, {
9461
9983
  headers,
@@ -9468,7 +9990,7 @@ var SseMCPTransport = class {
9468
9990
  (_b = this.onerror) == null ? void 0 : _b.call(this, error);
9469
9991
  return reject(error);
9470
9992
  }
9471
- const stream = response.body.pipeThrough(new TextDecoderStream()).pipeThrough(new import_provider_utils28.EventSourceParserStream());
9993
+ const stream = response.body.pipeThrough(new TextDecoderStream()).pipeThrough(new import_provider_utils30.EventSourceParserStream());
9472
9994
  const reader = stream.getReader();
9473
9995
  const processEvents = async () => {
9474
9996
  var _a18, _b2, _c2;
@@ -9547,13 +10069,13 @@ var SseMCPTransport = class {
9547
10069
  });
9548
10070
  }
9549
10071
  try {
9550
- const headers = (0, import_provider_utils28.withUserAgentSuffix)(
10072
+ const headers = (0, import_provider_utils30.withUserAgentSuffix)(
9551
10073
  {
9552
10074
  ...this.headers,
9553
10075
  "Content-Type": "application/json"
9554
10076
  },
9555
10077
  `ai-sdk/${VERSION}`,
9556
- (0, import_provider_utils28.getRuntimeEnvironmentUserAgent)()
10078
+ (0, import_provider_utils30.getRuntimeEnvironmentUserAgent)()
9557
10079
  );
9558
10080
  const init = {
9559
10081
  method: "POST",
@@ -9804,15 +10326,15 @@ var DefaultMCPClient = class {
9804
10326
  (_a18 = options == null ? void 0 : options.abortSignal) == null ? void 0 : _a18.throwIfAborted();
9805
10327
  return self.callTool({ name: name17, args, options });
9806
10328
  };
9807
- const toolWithExecute = schemas === "automatic" ? (0, import_provider_utils29.dynamicTool)({
10329
+ const toolWithExecute = schemas === "automatic" ? (0, import_provider_utils31.dynamicTool)({
9808
10330
  description,
9809
- inputSchema: (0, import_provider_utils29.jsonSchema)({
10331
+ inputSchema: (0, import_provider_utils31.jsonSchema)({
9810
10332
  ...inputSchema,
9811
10333
  properties: (_a17 = inputSchema.properties) != null ? _a17 : {},
9812
10334
  additionalProperties: false
9813
10335
  }),
9814
10336
  execute
9815
- }) : (0, import_provider_utils29.tool)({
10337
+ }) : (0, import_provider_utils31.tool)({
9816
10338
  description,
9817
10339
  inputSchema: schemas[name17].inputSchema,
9818
10340
  execute
@@ -9864,11 +10386,11 @@ var DefaultMCPClient = class {
9864
10386
  };
9865
10387
 
9866
10388
  // src/transcribe/transcribe.ts
9867
- var import_provider_utils30 = require("@ai-sdk/provider-utils");
10389
+ var import_provider_utils32 = require("@ai-sdk/provider-utils");
9868
10390
 
9869
10391
  // src/error/no-transcript-generated-error.ts
9870
- var import_provider31 = require("@ai-sdk/provider");
9871
- var NoTranscriptGeneratedError = class extends import_provider31.AISDKError {
10392
+ var import_provider32 = require("@ai-sdk/provider");
10393
+ var NoTranscriptGeneratedError = class extends import_provider32.AISDKError {
9872
10394
  constructor(options) {
9873
10395
  super({
9874
10396
  name: "AI_NoTranscriptGeneratedError",
@@ -9895,7 +10417,7 @@ async function transcribe({
9895
10417
  maxRetries: maxRetriesArg,
9896
10418
  abortSignal
9897
10419
  });
9898
- const headersWithUserAgent = (0, import_provider_utils30.withUserAgentSuffix)(
10420
+ const headersWithUserAgent = (0, import_provider_utils32.withUserAgentSuffix)(
9899
10421
  headers != null ? headers : {},
9900
10422
  `ai/${VERSION}`
9901
10423
  );
@@ -9943,7 +10465,7 @@ var DefaultTranscriptionResult = class {
9943
10465
  };
9944
10466
 
9945
10467
  // src/ui/call-completion-api.ts
9946
- var import_provider_utils31 = require("@ai-sdk/provider-utils");
10468
+ var import_provider_utils33 = require("@ai-sdk/provider-utils");
9947
10469
 
9948
10470
  // src/ui/process-text-stream.ts
9949
10471
  async function processTextStream({
@@ -9991,13 +10513,13 @@ async function callCompletionApi({
9991
10513
  ...body
9992
10514
  }),
9993
10515
  credentials,
9994
- headers: (0, import_provider_utils31.withUserAgentSuffix)(
10516
+ headers: (0, import_provider_utils33.withUserAgentSuffix)(
9995
10517
  {
9996
10518
  "Content-Type": "application/json",
9997
10519
  ...headers
9998
10520
  },
9999
10521
  `ai-sdk/${VERSION}`,
10000
- (0, import_provider_utils31.getRuntimeEnvironmentUserAgent)()
10522
+ (0, import_provider_utils33.getRuntimeEnvironmentUserAgent)()
10001
10523
  ),
10002
10524
  signal: abortController.signal
10003
10525
  }).catch((err) => {
@@ -10025,7 +10547,7 @@ async function callCompletionApi({
10025
10547
  }
10026
10548
  case "data": {
10027
10549
  await consumeStream({
10028
- stream: (0, import_provider_utils31.parseJsonEventStream)({
10550
+ stream: (0, import_provider_utils33.parseJsonEventStream)({
10029
10551
  stream: response.body,
10030
10552
  schema: uiMessageChunkSchema
10031
10553
  }).pipeThrough(
@@ -10077,7 +10599,7 @@ async function callCompletionApi({
10077
10599
  }
10078
10600
 
10079
10601
  // src/ui/chat.ts
10080
- var import_provider_utils34 = require("@ai-sdk/provider-utils");
10602
+ var import_provider_utils36 = require("@ai-sdk/provider-utils");
10081
10603
 
10082
10604
  // src/ui/convert-file-list-to-file-ui-parts.ts
10083
10605
  async function convertFileListToFileUIParts(files) {
@@ -10110,10 +10632,10 @@ async function convertFileListToFileUIParts(files) {
10110
10632
  }
10111
10633
 
10112
10634
  // src/ui/default-chat-transport.ts
10113
- var import_provider_utils33 = require("@ai-sdk/provider-utils");
10635
+ var import_provider_utils35 = require("@ai-sdk/provider-utils");
10114
10636
 
10115
10637
  // src/ui/http-chat-transport.ts
10116
- var import_provider_utils32 = require("@ai-sdk/provider-utils");
10638
+ var import_provider_utils34 = require("@ai-sdk/provider-utils");
10117
10639
  var HttpChatTransport = class {
10118
10640
  constructor({
10119
10641
  api = "/api/chat",
@@ -10137,9 +10659,9 @@ var HttpChatTransport = class {
10137
10659
  ...options
10138
10660
  }) {
10139
10661
  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);
10662
+ const resolvedBody = await (0, import_provider_utils34.resolve)(this.body);
10663
+ const resolvedHeaders = await (0, import_provider_utils34.resolve)(this.headers);
10664
+ const resolvedCredentials = await (0, import_provider_utils34.resolve)(this.credentials);
10143
10665
  const preparedRequest = await ((_a17 = this.prepareSendMessagesRequest) == null ? void 0 : _a17.call(this, {
10144
10666
  api: this.api,
10145
10667
  id: options.chatId,
@@ -10165,13 +10687,13 @@ var HttpChatTransport = class {
10165
10687
  const fetch2 = (_d = this.fetch) != null ? _d : globalThis.fetch;
10166
10688
  const response = await fetch2(api, {
10167
10689
  method: "POST",
10168
- headers: (0, import_provider_utils32.withUserAgentSuffix)(
10690
+ headers: (0, import_provider_utils34.withUserAgentSuffix)(
10169
10691
  {
10170
10692
  "Content-Type": "application/json",
10171
10693
  ...headers
10172
10694
  },
10173
10695
  `ai-sdk/${VERSION}`,
10174
- (0, import_provider_utils32.getRuntimeEnvironmentUserAgent)()
10696
+ (0, import_provider_utils34.getRuntimeEnvironmentUserAgent)()
10175
10697
  ),
10176
10698
  body: JSON.stringify(body),
10177
10699
  credentials,
@@ -10189,9 +10711,9 @@ var HttpChatTransport = class {
10189
10711
  }
10190
10712
  async reconnectToStream(options) {
10191
10713
  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);
10714
+ const resolvedBody = await (0, import_provider_utils34.resolve)(this.body);
10715
+ const resolvedHeaders = await (0, import_provider_utils34.resolve)(this.headers);
10716
+ const resolvedCredentials = await (0, import_provider_utils34.resolve)(this.credentials);
10195
10717
  const preparedRequest = await ((_a17 = this.prepareReconnectToStreamRequest) == null ? void 0 : _a17.call(this, {
10196
10718
  api: this.api,
10197
10719
  id: options.chatId,
@@ -10206,10 +10728,10 @@ var HttpChatTransport = class {
10206
10728
  const fetch2 = (_d = this.fetch) != null ? _d : globalThis.fetch;
10207
10729
  const response = await fetch2(api, {
10208
10730
  method: "GET",
10209
- headers: (0, import_provider_utils32.withUserAgentSuffix)(
10731
+ headers: (0, import_provider_utils34.withUserAgentSuffix)(
10210
10732
  headers,
10211
10733
  `ai-sdk/${VERSION}`,
10212
- (0, import_provider_utils32.getRuntimeEnvironmentUserAgent)()
10734
+ (0, import_provider_utils34.getRuntimeEnvironmentUserAgent)()
10213
10735
  ),
10214
10736
  credentials
10215
10737
  });
@@ -10234,7 +10756,7 @@ var DefaultChatTransport = class extends HttpChatTransport {
10234
10756
  super(options);
10235
10757
  }
10236
10758
  processResponseStream(stream) {
10237
- return (0, import_provider_utils33.parseJsonEventStream)({
10759
+ return (0, import_provider_utils35.parseJsonEventStream)({
10238
10760
  stream,
10239
10761
  schema: uiMessageChunkSchema
10240
10762
  }).pipeThrough(
@@ -10253,7 +10775,7 @@ var DefaultChatTransport = class extends HttpChatTransport {
10253
10775
  // src/ui/chat.ts
10254
10776
  var AbstractChat = class {
10255
10777
  constructor({
10256
- generateId: generateId2 = import_provider_utils34.generateId,
10778
+ generateId: generateId2 = import_provider_utils36.generateId,
10257
10779
  id = generateId2(),
10258
10780
  transport = new DefaultChatTransport(),
10259
10781
  messageMetadataSchema,
@@ -10679,516 +11201,6 @@ var TextStreamChatTransport = class extends HttpChatTransport {
10679
11201
  });
10680
11202
  }
10681
11203
  };
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
11204
  // Annotate the CommonJS export names for ESM import in node:
11193
11205
  0 && (module.exports = {
11194
11206
  AISDKError,
@@ -11245,6 +11257,7 @@ function readUIMessageStream({
11245
11257
  coreToolMessageSchema,
11246
11258
  coreUserMessageSchema,
11247
11259
  cosineSimilarity,
11260
+ createAgentStreamResponse,
11248
11261
  createGateway,
11249
11262
  createIdGenerator,
11250
11263
  createProviderRegistry,