ai 4.0.0-canary.3 → 4.0.0-canary.4

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.mjs CHANGED
@@ -6,12 +6,12 @@ var __export = (target, all) => {
6
6
 
7
7
  // streams/index.ts
8
8
  import {
9
- formatStreamPart,
9
+ formatStreamPart as formatStreamPart4,
10
10
  parseStreamPart,
11
11
  readDataStream,
12
12
  processDataProtocolResponse
13
13
  } from "@ai-sdk/ui-utils";
14
- import { generateId as generateIdImpl } from "@ai-sdk/provider-utils";
14
+ import { generateId as generateId2 } from "@ai-sdk/provider-utils";
15
15
 
16
16
  // core/index.ts
17
17
  import { jsonSchema } from "@ai-sdk/ui-utils";
@@ -2297,7 +2297,6 @@ var DefaultGenerateObjectResult = class {
2297
2297
  });
2298
2298
  }
2299
2299
  };
2300
- var experimental_generateObject = generateObject;
2301
2300
 
2302
2301
  // core/generate-object/stream-object.ts
2303
2302
  import { createIdGenerator as createIdGenerator2 } from "@ai-sdk/provider-utils";
@@ -2920,7 +2919,6 @@ var DefaultStreamObjectResult = class {
2920
2919
  });
2921
2920
  }
2922
2921
  };
2923
- var experimental_streamObject = streamObject;
2924
2922
 
2925
2923
  // core/generate-text/generate-text.ts
2926
2924
  import { createIdGenerator as createIdGenerator3 } from "@ai-sdk/provider-utils";
@@ -2963,12 +2961,6 @@ var InvalidToolArgumentsError = class extends AISDKError8 {
2963
2961
  static isInstance(error) {
2964
2962
  return AISDKError8.hasMarker(error, marker8);
2965
2963
  }
2966
- /**
2967
- * @deprecated use `isInstance` instead
2968
- */
2969
- static isInvalidToolArgumentsError(error) {
2970
- return error instanceof Error && error.name === name8 && typeof error.toolName === "string" && typeof error.toolArgs === "string";
2971
- }
2972
2964
  };
2973
2965
  _a8 = symbol8;
2974
2966
 
@@ -3144,9 +3136,7 @@ async function generateText({
3144
3136
  maxRetries,
3145
3137
  abortSignal,
3146
3138
  headers,
3147
- maxAutomaticRoundtrips = 0,
3148
- maxToolRoundtrips = maxAutomaticRoundtrips,
3149
- maxSteps = maxToolRoundtrips != null ? maxToolRoundtrips + 1 : 1,
3139
+ maxSteps = 1,
3150
3140
  experimental_continuationSteps,
3151
3141
  experimental_continueSteps: continueSteps = experimental_continuationSteps != null ? experimental_continuationSteps : false,
3152
3142
  experimental_telemetry: telemetry,
@@ -3514,7 +3504,6 @@ var DefaultGenerateTextResult = class {
3514
3504
  this.request = options.request;
3515
3505
  this.response = options.response;
3516
3506
  this.responseMessages = options.responseMessages;
3517
- this.roundtrips = options.steps;
3518
3507
  this.steps = options.steps;
3519
3508
  this.experimental_providerMetadata = options.providerMetadata;
3520
3509
  this.rawResponse = {
@@ -3523,10 +3512,10 @@ var DefaultGenerateTextResult = class {
3523
3512
  this.logprobs = options.logprobs;
3524
3513
  }
3525
3514
  };
3526
- var experimental_generateText = generateText;
3527
3515
 
3528
3516
  // core/generate-text/stream-text.ts
3529
3517
  import { createIdGenerator as createIdGenerator4 } from "@ai-sdk/provider-utils";
3518
+ import { formatStreamPart } from "@ai-sdk/ui-utils";
3530
3519
 
3531
3520
  // core/util/create-stitchable-stream.ts
3532
3521
  function createStitchableStream() {
@@ -3883,8 +3872,7 @@ async function streamText({
3883
3872
  maxRetries,
3884
3873
  abortSignal,
3885
3874
  headers,
3886
- maxToolRoundtrips = 0,
3887
- maxSteps = maxToolRoundtrips != null ? maxToolRoundtrips + 1 : 1,
3875
+ maxSteps = 1,
3888
3876
  experimental_continueSteps: continueSteps = false,
3889
3877
  experimental_telemetry: telemetry,
3890
3878
  experimental_providerMetadata: providerMetadata,
@@ -4530,37 +4518,18 @@ var DefaultStreamTextResult = class {
4530
4518
  }
4531
4519
  });
4532
4520
  }
4533
- toAIStream(callbacks = {}) {
4534
- return this.toDataStreamInternal({ callbacks });
4535
- }
4536
4521
  toDataStreamInternal({
4537
- callbacks = {},
4538
4522
  getErrorMessage: getErrorMessage3 = () => "",
4539
4523
  // mask error messages for safety by default
4540
4524
  sendUsage = true
4541
4525
  } = {}) {
4542
4526
  let aggregatedResponse = "";
4543
4527
  const callbackTransformer = new TransformStream({
4544
- async start() {
4545
- if (callbacks.onStart)
4546
- await callbacks.onStart();
4547
- },
4548
4528
  async transform(chunk, controller) {
4549
4529
  controller.enqueue(chunk);
4550
4530
  if (chunk.type === "text-delta") {
4551
- const textDelta = chunk.textDelta;
4552
- aggregatedResponse += textDelta;
4553
- if (callbacks.onToken)
4554
- await callbacks.onToken(textDelta);
4555
- if (callbacks.onText)
4556
- await callbacks.onText(textDelta);
4531
+ aggregatedResponse += chunk.textDelta;
4557
4532
  }
4558
- },
4559
- async flush() {
4560
- if (callbacks.onCompletion)
4561
- await callbacks.onCompletion(aggregatedResponse);
4562
- if (callbacks.onFinal)
4563
- await callbacks.onFinal(aggregatedResponse);
4564
4533
  }
4565
4534
  });
4566
4535
  const streamPartsTransformer = new TransformStream({
@@ -4648,9 +4617,6 @@ var DefaultStreamTextResult = class {
4648
4617
  });
4649
4618
  return this.fullStream.pipeThrough(callbackTransformer).pipeThrough(streamPartsTransformer).pipeThrough(new TextEncoderStream());
4650
4619
  }
4651
- pipeAIStreamToResponse(response, init) {
4652
- return this.pipeDataStreamToResponse(response, init);
4653
- }
4654
4620
  pipeDataStreamToResponse(response, options) {
4655
4621
  const init = options == null ? void 0 : "init" in options ? options.init : {
4656
4622
  headers: "headers" in options ? options.headers : void 0,
@@ -4682,9 +4648,6 @@ var DefaultStreamTextResult = class {
4682
4648
  stream: this.textStream.pipeThrough(new TextEncoderStream())
4683
4649
  });
4684
4650
  }
4685
- toAIStreamResponse(options) {
4686
- return this.toDataStreamResponse(options);
4687
- }
4688
4651
  toDataStream(options) {
4689
4652
  const stream = this.toDataStreamInternal({
4690
4653
  getErrorMessage: options == null ? void 0 : options.getErrorMessage,
@@ -4724,7 +4687,6 @@ var DefaultStreamTextResult = class {
4724
4687
  });
4725
4688
  }
4726
4689
  };
4727
- var experimental_streamText = streamText;
4728
4690
 
4729
4691
  // core/middleware/wrap-language-model.ts
4730
4692
  var experimental_wrapLanguageModel = ({
@@ -4911,123 +4873,6 @@ function magnitude(vector) {
4911
4873
  return Math.sqrt(dotProduct(vector, vector));
4912
4874
  }
4913
4875
 
4914
- // streams/ai-stream.ts
4915
- import {
4916
- createParser
4917
- } from "eventsource-parser";
4918
- function createEventStreamTransformer(customParser) {
4919
- const textDecoder = new TextDecoder();
4920
- let eventSourceParser;
4921
- return new TransformStream({
4922
- async start(controller) {
4923
- eventSourceParser = createParser(
4924
- (event) => {
4925
- if ("data" in event && event.type === "event" && event.data === "[DONE]" || // Replicate doesn't send [DONE] but does send a 'done' event
4926
- // @see https://replicate.com/docs/streaming
4927
- event.event === "done") {
4928
- controller.terminate();
4929
- return;
4930
- }
4931
- if ("data" in event) {
4932
- const parsedMessage = customParser ? customParser(event.data, {
4933
- event: event.event
4934
- }) : event.data;
4935
- if (parsedMessage)
4936
- controller.enqueue(parsedMessage);
4937
- }
4938
- }
4939
- );
4940
- },
4941
- transform(chunk) {
4942
- eventSourceParser.feed(textDecoder.decode(chunk));
4943
- }
4944
- });
4945
- }
4946
- function createCallbacksTransformer(cb) {
4947
- const textEncoder = new TextEncoder();
4948
- let aggregatedResponse = "";
4949
- const callbacks = cb || {};
4950
- return new TransformStream({
4951
- async start() {
4952
- if (callbacks.onStart)
4953
- await callbacks.onStart();
4954
- },
4955
- async transform(message, controller) {
4956
- const content = typeof message === "string" ? message : message.content;
4957
- controller.enqueue(textEncoder.encode(content));
4958
- aggregatedResponse += content;
4959
- if (callbacks.onToken)
4960
- await callbacks.onToken(content);
4961
- if (callbacks.onText && typeof message === "string") {
4962
- await callbacks.onText(message);
4963
- }
4964
- },
4965
- async flush() {
4966
- if (callbacks.onCompletion) {
4967
- await callbacks.onCompletion(aggregatedResponse);
4968
- }
4969
- }
4970
- });
4971
- }
4972
- function trimStartOfStreamHelper() {
4973
- let isStreamStart = true;
4974
- return (text) => {
4975
- if (isStreamStart) {
4976
- text = text.trimStart();
4977
- if (text)
4978
- isStreamStart = false;
4979
- }
4980
- return text;
4981
- };
4982
- }
4983
- function AIStream(response, customParser, callbacks) {
4984
- if (!response.ok) {
4985
- if (response.body) {
4986
- const reader = response.body.getReader();
4987
- return new ReadableStream({
4988
- async start(controller) {
4989
- const { done, value } = await reader.read();
4990
- if (!done) {
4991
- const errorText = new TextDecoder().decode(value);
4992
- controller.error(new Error(`Response error: ${errorText}`));
4993
- }
4994
- }
4995
- });
4996
- } else {
4997
- return new ReadableStream({
4998
- start(controller) {
4999
- controller.error(new Error("Response error: No response body"));
5000
- }
5001
- });
5002
- }
5003
- }
5004
- const responseBodyStream = response.body || createEmptyReadableStream();
5005
- return responseBodyStream.pipeThrough(createEventStreamTransformer(customParser)).pipeThrough(createCallbacksTransformer(callbacks));
5006
- }
5007
- function createEmptyReadableStream() {
5008
- return new ReadableStream({
5009
- start(controller) {
5010
- controller.close();
5011
- }
5012
- });
5013
- }
5014
- function readableFromAsyncIterable(iterable) {
5015
- let it = iterable[Symbol.asyncIterator]();
5016
- return new ReadableStream({
5017
- async pull(controller) {
5018
- const { done, value } = await it.next();
5019
- if (done)
5020
- controller.close();
5021
- else
5022
- controller.enqueue(value);
5023
- },
5024
- async cancel(reason) {
5025
- var _a11;
5026
- await ((_a11 = it.return) == null ? void 0 : _a11.call(it, reason));
5027
- }
5028
- });
5029
- }
5030
-
5031
4876
  // streams/assistant-response.ts
5032
4877
  import {
5033
4878
  formatStreamPart as formatStreamPart2
@@ -5133,6 +4978,32 @@ __export(langchain_adapter_exports, {
5133
4978
  toDataStreamResponse: () => toDataStreamResponse
5134
4979
  });
5135
4980
 
4981
+ // streams/stream-callbacks.ts
4982
+ function createCallbacksTransformer(callbacks = {}) {
4983
+ const textEncoder = new TextEncoder();
4984
+ let aggregatedResponse = "";
4985
+ return new TransformStream({
4986
+ async start() {
4987
+ if (callbacks.onStart)
4988
+ await callbacks.onStart();
4989
+ },
4990
+ async transform(message, controller) {
4991
+ controller.enqueue(textEncoder.encode(message));
4992
+ aggregatedResponse += message;
4993
+ if (callbacks.onToken)
4994
+ await callbacks.onToken(message);
4995
+ if (callbacks.onText && typeof message === "string") {
4996
+ await callbacks.onText(message);
4997
+ }
4998
+ },
4999
+ async flush() {
5000
+ if (callbacks.onCompletion) {
5001
+ await callbacks.onCompletion(aggregatedResponse);
5002
+ }
5003
+ }
5004
+ });
5005
+ }
5006
+
5136
5007
  // streams/stream-data.ts
5137
5008
  import { formatStreamPart as formatStreamPart3 } from "@ai-sdk/ui-utils";
5138
5009
 
@@ -5140,7 +5011,7 @@ import { formatStreamPart as formatStreamPart3 } from "@ai-sdk/ui-utils";
5140
5011
  var HANGING_STREAM_WARNING_TIME_MS = 15 * 1e3;
5141
5012
 
5142
5013
  // streams/stream-data.ts
5143
- var StreamData2 = class {
5014
+ var StreamData = class {
5144
5015
  constructor() {
5145
5016
  this.encoder = new TextEncoder();
5146
5017
  this.controller = null;
@@ -5211,7 +5082,7 @@ function createStreamDataTransformer() {
5211
5082
  }
5212
5083
  });
5213
5084
  }
5214
- var experimental_StreamData = class extends StreamData2 {
5085
+ var experimental_StreamData = class extends StreamData {
5215
5086
  };
5216
5087
 
5217
5088
  // streams/langchain-adapter.ts
@@ -5275,8 +5146,16 @@ __export(llamaindex_adapter_exports, {
5275
5146
  toDataStream: () => toDataStream2,
5276
5147
  toDataStreamResponse: () => toDataStreamResponse2
5277
5148
  });
5149
+ import { convertAsyncIteratorToReadableStream } from "@ai-sdk/provider-utils";
5278
5150
  function toDataStream2(stream, callbacks) {
5279
- return toReadableStream(stream).pipeThrough(createCallbacksTransformer(callbacks)).pipeThrough(createStreamDataTransformer());
5151
+ const trimStart = trimStartOfStream();
5152
+ return convertAsyncIteratorToReadableStream(stream[Symbol.asyncIterator]()).pipeThrough(
5153
+ new TransformStream({
5154
+ async transform(message, controller) {
5155
+ controller.enqueue(trimStart(message.delta));
5156
+ }
5157
+ })
5158
+ ).pipeThrough(createCallbacksTransformer(callbacks)).pipeThrough(createStreamDataTransformer());
5280
5159
  }
5281
5160
  function toDataStreamResponse2(stream, options = {}) {
5282
5161
  var _a11;
@@ -5292,23 +5171,16 @@ function toDataStreamResponse2(stream, options = {}) {
5292
5171
  })
5293
5172
  });
5294
5173
  }
5295
- function toReadableStream(res) {
5296
- const it = res[Symbol.asyncIterator]();
5297
- const trimStartOfStream = trimStartOfStreamHelper();
5298
- return new ReadableStream({
5299
- async pull(controller) {
5300
- var _a11;
5301
- const { value, done } = await it.next();
5302
- if (done) {
5303
- controller.close();
5304
- return;
5305
- }
5306
- const text = trimStartOfStream((_a11 = value.delta) != null ? _a11 : "");
5307
- if (text) {
5308
- controller.enqueue(text);
5309
- }
5174
+ function trimStartOfStream() {
5175
+ let isStreamStart = true;
5176
+ return (text) => {
5177
+ if (isStreamStart) {
5178
+ text = text.trimStart();
5179
+ if (text)
5180
+ isStreamStart = false;
5310
5181
  }
5311
- });
5182
+ return text;
5183
+ };
5312
5184
  }
5313
5185
 
5314
5186
  // streams/stream-to-response.ts
@@ -5352,12 +5224,8 @@ var StreamingTextResponse = class extends Response {
5352
5224
  });
5353
5225
  }
5354
5226
  };
5355
-
5356
- // streams/index.ts
5357
- var generateId2 = generateIdImpl;
5358
5227
  export {
5359
5228
  AISDKError10 as AISDKError,
5360
- AIStream,
5361
5229
  APICallError2 as APICallError,
5362
5230
  AssistantResponse,
5363
5231
  DownloadError,
@@ -5379,14 +5247,12 @@ export {
5379
5247
  NoSuchProviderError,
5380
5248
  NoSuchToolError,
5381
5249
  RetryError,
5382
- StreamData2 as StreamData,
5250
+ StreamData,
5383
5251
  StreamingTextResponse,
5384
5252
  TypeValidationError2 as TypeValidationError,
5385
5253
  UnsupportedFunctionalityError2 as UnsupportedFunctionalityError,
5386
5254
  convertToCoreMessages,
5387
5255
  cosineSimilarity,
5388
- createCallbacksTransformer,
5389
- createEventStreamTransformer,
5390
5256
  createStreamDataTransformer,
5391
5257
  embed,
5392
5258
  embedMany,
@@ -5395,12 +5261,8 @@ export {
5395
5261
  experimental_createModelRegistry,
5396
5262
  experimental_createProviderRegistry,
5397
5263
  experimental_customProvider,
5398
- experimental_generateObject,
5399
- experimental_generateText,
5400
- experimental_streamObject,
5401
- experimental_streamText,
5402
5264
  experimental_wrapLanguageModel,
5403
- formatStreamPart,
5265
+ formatStreamPart4 as formatStreamPart,
5404
5266
  generateId2 as generateId,
5405
5267
  generateObject,
5406
5268
  generateText,
@@ -5408,11 +5270,9 @@ export {
5408
5270
  parseStreamPart,
5409
5271
  processDataProtocolResponse,
5410
5272
  readDataStream,
5411
- readableFromAsyncIterable,
5412
5273
  streamObject,
5413
5274
  streamText,
5414
5275
  streamToResponse,
5415
- tool,
5416
- trimStartOfStreamHelper
5276
+ tool
5417
5277
  };
5418
5278
  //# sourceMappingURL=index.mjs.map