ai 3.1.23 → 3.1.24

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.d.mts CHANGED
@@ -168,9 +168,21 @@ declare class EmbedManyResult<VALUE> {
168
168
  });
169
169
  }
170
170
 
171
+ /**
172
+ Represents the number of tokens used in a prompt and completion.
173
+ */
171
174
  type TokenUsage = {
175
+ /**
176
+ The number of tokens used in the prompt
177
+ */
172
178
  promptTokens: number;
179
+ /**
180
+ The number of tokens used in the completion.
181
+ */
173
182
  completionTokens: number;
183
+ /**
184
+ The total number of tokens used (promptTokens + completionTokens).
185
+ */
174
186
  totalTokens: number;
175
187
  };
176
188
 
@@ -595,7 +607,7 @@ Default and recommended: 'auto' (best mode for the model).
595
607
  */
596
608
  mode?: 'auto' | 'json' | 'tool' | 'grammar';
597
609
  }): Promise<StreamObjectResult<T>>;
598
- type ObjectStreamPartInput = {
610
+ type ObjectStreamInputPart = {
599
611
  type: 'error';
600
612
  error: unknown;
601
613
  } | {
@@ -608,7 +620,7 @@ type ObjectStreamPartInput = {
608
620
  totalTokens: number;
609
621
  };
610
622
  };
611
- type ObjectStreamPart<T> = ObjectStreamPartInput | {
623
+ type ObjectStreamPart<T> = ObjectStreamInputPart | {
612
624
  type: 'object';
613
625
  object: DeepPartial<T>;
614
626
  };
@@ -616,12 +628,16 @@ type ObjectStreamPart<T> = ObjectStreamPartInput | {
616
628
  The result of a `streamObject` call that contains the partial object stream and additional information.
617
629
  */
618
630
  declare class StreamObjectResult<T> {
619
- private readonly originalStream;
631
+ readonly originalStream: ReadableStream<ObjectStreamPart<T>>;
620
632
  /**
621
633
  Warnings from the model provider (e.g. unsupported settings)
622
634
  */
623
635
  readonly warnings: CallWarning[] | undefined;
624
636
  /**
637
+ The token usage of the generated response. Resolved when the response is finished.
638
+ */
639
+ readonly usage: Promise<TokenUsage>;
640
+ /**
625
641
  Optional raw response data.
626
642
  */
627
643
  rawResponse?: {
@@ -631,7 +647,7 @@ declare class StreamObjectResult<T> {
631
647
  headers?: Record<string, string>;
632
648
  };
633
649
  constructor({ stream, warnings, rawResponse, }: {
634
- stream: ReadableStream<string | ObjectStreamPartInput>;
650
+ stream: ReadableStream<string | ObjectStreamInputPart>;
635
651
  warnings: CallWarning[] | undefined;
636
652
  rawResponse?: {
637
653
  headers?: Record<string, string>;
@@ -1370,15 +1386,39 @@ type FunctionCallHandler = (chatMessages: Message$1[], functionCall: FunctionCal
1370
1386
  */
1371
1387
  type ToolCallHandler = (chatMessages: Message$1[], toolCalls: ToolCall[]) => Promise<ChatRequest | void>;
1372
1388
  type RequestOptions = {
1389
+ /**
1390
+ An optional object of headers to be passed to the API endpoint.
1391
+ */
1373
1392
  headers?: Record<string, string> | Headers;
1393
+ /**
1394
+ An optional object to be passed to the API endpoint.
1395
+ */
1374
1396
  body?: object;
1375
1397
  };
1376
1398
  type ChatRequestOptions = {
1399
+ /**
1400
+ The options to be passed to the fetch call.
1401
+ */
1377
1402
  options?: RequestOptions;
1403
+ /**
1404
+ @deprecated
1405
+ */
1378
1406
  functions?: Array<Function>;
1407
+ /**
1408
+ @deprecated
1409
+ */
1379
1410
  function_call?: FunctionCall$1;
1411
+ /**
1412
+ @deprecated
1413
+ */
1380
1414
  tools?: Array<Tool>;
1415
+ /**
1416
+ @deprecated
1417
+ */
1381
1418
  tool_choice?: ToolChoice;
1419
+ /**
1420
+ Additional data to be sent to the server.
1421
+ */
1382
1422
  data?: Record<string, string>;
1383
1423
  };
1384
1424
  type UseChatOptions = {
@@ -2421,4 +2461,4 @@ declare class StreamingTextResponse extends Response {
2421
2461
  constructor(res: ReadableStream, init?: ResponseInit, data?: StreamData);
2422
2462
  }
2423
2463
 
2424
- export { AIStream, AIStreamCallbacksAndOptions, AIStreamParser, AIStreamParserOptions, AWSBedrockAnthropicMessagesStream, AWSBedrockAnthropicStream, AWSBedrockCohereStream, AWSBedrockLlama2Stream, AWSBedrockStream, AnthropicStream, AssistantContent, AssistantMessage, AssistantResponse, AssistantStatus, CallWarning, ChatRequest, ChatRequestOptions, CohereStream, CompletionUsage, CoreAssistantMessage, CoreMessage, CoreSystemMessage, CoreTool, CoreToolChoice, CoreToolMessage, CoreUserMessage, CreateMessage, DataContent, DataMessage, DeepPartial, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, ExperimentalAssistantMessage, ExperimentalMessage, ExperimentalTool, ExperimentalToolMessage, ExperimentalUserMessage, FinishReason, Function, FunctionCall$1 as FunctionCall, FunctionCallHandler, FunctionCallPayload, GenerateObjectResult, GenerateTextResult, GoogleGenerativeAIStream, HuggingFaceStream, IdGenerator, ImagePart, InkeepAIStreamCallbacksAndOptions, InkeepChatResultCallbacks, InkeepOnFinalMetadata, InkeepStream, JSONValue, langchainAdapter as LangChainAdapter, LangChainStream, LanguageModel, LogProbs, Message$1 as Message, MistralStream, ObjectStreamPart, ObjectStreamPartInput, OpenAIStream, OpenAIStreamCallbacks, ReactResponseRow, ReplicateStream, RequestOptions, StreamData, StreamObjectResult, StreamPart, StreamString, StreamTextResult, StreamingTextResponse, TextPart$1 as TextPart, TextStreamPart, Tool, ToolCall, ToolCallHandler, ToolCallPart, ToolCallPayload, ToolChoice, ToolContent, ToolInvocation, ToolResultPart, UseAssistantOptions, UseChatOptions, UseCompletionOptions, UserContent, convertDataContentToBase64String, convertDataContentToUint8Array, convertToCoreMessages, createCallbacksTransformer, createChunkDecoder, createEventStreamTransformer, createStreamDataTransformer, embed, embedMany, experimental_AssistantResponse, experimental_StreamData, experimental_StreamingReactResponse, experimental_generateObject, experimental_generateText, experimental_streamObject, experimental_streamText, formatStreamPart, generateId, generateObject, generateText, isStreamStringEqualToType, generateId as nanoid, parseStreamPart, readDataStream, readableFromAsyncIterable, streamObject, streamText, streamToResponse, tool, trimStartOfStreamHelper };
2464
+ export { AIStream, AIStreamCallbacksAndOptions, AIStreamParser, AIStreamParserOptions, AWSBedrockAnthropicMessagesStream, AWSBedrockAnthropicStream, AWSBedrockCohereStream, AWSBedrockLlama2Stream, AWSBedrockStream, AnthropicStream, AssistantContent, AssistantMessage, AssistantResponse, AssistantStatus, CallWarning, ChatRequest, ChatRequestOptions, CohereStream, CompletionUsage, CoreAssistantMessage, CoreMessage, CoreSystemMessage, CoreTool, CoreToolChoice, CoreToolMessage, CoreUserMessage, CreateMessage, DataContent, DataMessage, DeepPartial, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, ExperimentalAssistantMessage, ExperimentalMessage, ExperimentalTool, ExperimentalToolMessage, ExperimentalUserMessage, FinishReason, Function, FunctionCall$1 as FunctionCall, FunctionCallHandler, FunctionCallPayload, GenerateObjectResult, GenerateTextResult, GoogleGenerativeAIStream, HuggingFaceStream, IdGenerator, ImagePart, InkeepAIStreamCallbacksAndOptions, InkeepChatResultCallbacks, InkeepOnFinalMetadata, InkeepStream, JSONValue, langchainAdapter as LangChainAdapter, LangChainStream, LanguageModel, LogProbs, Message$1 as Message, MistralStream, ObjectStreamInputPart, ObjectStreamPart, OpenAIStream, OpenAIStreamCallbacks, ReactResponseRow, ReplicateStream, RequestOptions, StreamData, StreamObjectResult, StreamPart, StreamString, StreamTextResult, StreamingTextResponse, TextPart$1 as TextPart, TextStreamPart, TokenUsage, Tool, ToolCall, ToolCallHandler, ToolCallPart, ToolCallPayload, ToolChoice, ToolContent, ToolInvocation, ToolResultPart, UseAssistantOptions, UseChatOptions, UseCompletionOptions, UserContent, convertDataContentToBase64String, convertDataContentToUint8Array, convertToCoreMessages, createCallbacksTransformer, createChunkDecoder, createEventStreamTransformer, createStreamDataTransformer, embed, embedMany, experimental_AssistantResponse, experimental_StreamData, experimental_StreamingReactResponse, experimental_generateObject, experimental_generateText, experimental_streamObject, experimental_streamText, formatStreamPart, generateId, generateObject, generateText, isStreamStringEqualToType, generateId as nanoid, parseStreamPart, readDataStream, readableFromAsyncIterable, streamObject, streamText, streamToResponse, tool, trimStartOfStreamHelper };
package/dist/index.d.ts CHANGED
@@ -168,9 +168,21 @@ declare class EmbedManyResult<VALUE> {
168
168
  });
169
169
  }
170
170
 
171
+ /**
172
+ Represents the number of tokens used in a prompt and completion.
173
+ */
171
174
  type TokenUsage = {
175
+ /**
176
+ The number of tokens used in the prompt
177
+ */
172
178
  promptTokens: number;
179
+ /**
180
+ The number of tokens used in the completion.
181
+ */
173
182
  completionTokens: number;
183
+ /**
184
+ The total number of tokens used (promptTokens + completionTokens).
185
+ */
174
186
  totalTokens: number;
175
187
  };
176
188
 
@@ -595,7 +607,7 @@ Default and recommended: 'auto' (best mode for the model).
595
607
  */
596
608
  mode?: 'auto' | 'json' | 'tool' | 'grammar';
597
609
  }): Promise<StreamObjectResult<T>>;
598
- type ObjectStreamPartInput = {
610
+ type ObjectStreamInputPart = {
599
611
  type: 'error';
600
612
  error: unknown;
601
613
  } | {
@@ -608,7 +620,7 @@ type ObjectStreamPartInput = {
608
620
  totalTokens: number;
609
621
  };
610
622
  };
611
- type ObjectStreamPart<T> = ObjectStreamPartInput | {
623
+ type ObjectStreamPart<T> = ObjectStreamInputPart | {
612
624
  type: 'object';
613
625
  object: DeepPartial<T>;
614
626
  };
@@ -616,12 +628,16 @@ type ObjectStreamPart<T> = ObjectStreamPartInput | {
616
628
  The result of a `streamObject` call that contains the partial object stream and additional information.
617
629
  */
618
630
  declare class StreamObjectResult<T> {
619
- private readonly originalStream;
631
+ readonly originalStream: ReadableStream<ObjectStreamPart<T>>;
620
632
  /**
621
633
  Warnings from the model provider (e.g. unsupported settings)
622
634
  */
623
635
  readonly warnings: CallWarning[] | undefined;
624
636
  /**
637
+ The token usage of the generated response. Resolved when the response is finished.
638
+ */
639
+ readonly usage: Promise<TokenUsage>;
640
+ /**
625
641
  Optional raw response data.
626
642
  */
627
643
  rawResponse?: {
@@ -631,7 +647,7 @@ declare class StreamObjectResult<T> {
631
647
  headers?: Record<string, string>;
632
648
  };
633
649
  constructor({ stream, warnings, rawResponse, }: {
634
- stream: ReadableStream<string | ObjectStreamPartInput>;
650
+ stream: ReadableStream<string | ObjectStreamInputPart>;
635
651
  warnings: CallWarning[] | undefined;
636
652
  rawResponse?: {
637
653
  headers?: Record<string, string>;
@@ -1370,15 +1386,39 @@ type FunctionCallHandler = (chatMessages: Message$1[], functionCall: FunctionCal
1370
1386
  */
1371
1387
  type ToolCallHandler = (chatMessages: Message$1[], toolCalls: ToolCall[]) => Promise<ChatRequest | void>;
1372
1388
  type RequestOptions = {
1389
+ /**
1390
+ An optional object of headers to be passed to the API endpoint.
1391
+ */
1373
1392
  headers?: Record<string, string> | Headers;
1393
+ /**
1394
+ An optional object to be passed to the API endpoint.
1395
+ */
1374
1396
  body?: object;
1375
1397
  };
1376
1398
  type ChatRequestOptions = {
1399
+ /**
1400
+ The options to be passed to the fetch call.
1401
+ */
1377
1402
  options?: RequestOptions;
1403
+ /**
1404
+ @deprecated
1405
+ */
1378
1406
  functions?: Array<Function>;
1407
+ /**
1408
+ @deprecated
1409
+ */
1379
1410
  function_call?: FunctionCall$1;
1411
+ /**
1412
+ @deprecated
1413
+ */
1380
1414
  tools?: Array<Tool>;
1415
+ /**
1416
+ @deprecated
1417
+ */
1381
1418
  tool_choice?: ToolChoice;
1419
+ /**
1420
+ Additional data to be sent to the server.
1421
+ */
1382
1422
  data?: Record<string, string>;
1383
1423
  };
1384
1424
  type UseChatOptions = {
@@ -2421,4 +2461,4 @@ declare class StreamingTextResponse extends Response {
2421
2461
  constructor(res: ReadableStream, init?: ResponseInit, data?: StreamData);
2422
2462
  }
2423
2463
 
2424
- export { AIStream, AIStreamCallbacksAndOptions, AIStreamParser, AIStreamParserOptions, AWSBedrockAnthropicMessagesStream, AWSBedrockAnthropicStream, AWSBedrockCohereStream, AWSBedrockLlama2Stream, AWSBedrockStream, AnthropicStream, AssistantContent, AssistantMessage, AssistantResponse, AssistantStatus, CallWarning, ChatRequest, ChatRequestOptions, CohereStream, CompletionUsage, CoreAssistantMessage, CoreMessage, CoreSystemMessage, CoreTool, CoreToolChoice, CoreToolMessage, CoreUserMessage, CreateMessage, DataContent, DataMessage, DeepPartial, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, ExperimentalAssistantMessage, ExperimentalMessage, ExperimentalTool, ExperimentalToolMessage, ExperimentalUserMessage, FinishReason, Function, FunctionCall$1 as FunctionCall, FunctionCallHandler, FunctionCallPayload, GenerateObjectResult, GenerateTextResult, GoogleGenerativeAIStream, HuggingFaceStream, IdGenerator, ImagePart, InkeepAIStreamCallbacksAndOptions, InkeepChatResultCallbacks, InkeepOnFinalMetadata, InkeepStream, JSONValue, langchainAdapter as LangChainAdapter, LangChainStream, LanguageModel, LogProbs, Message$1 as Message, MistralStream, ObjectStreamPart, ObjectStreamPartInput, OpenAIStream, OpenAIStreamCallbacks, ReactResponseRow, ReplicateStream, RequestOptions, StreamData, StreamObjectResult, StreamPart, StreamString, StreamTextResult, StreamingTextResponse, TextPart$1 as TextPart, TextStreamPart, Tool, ToolCall, ToolCallHandler, ToolCallPart, ToolCallPayload, ToolChoice, ToolContent, ToolInvocation, ToolResultPart, UseAssistantOptions, UseChatOptions, UseCompletionOptions, UserContent, convertDataContentToBase64String, convertDataContentToUint8Array, convertToCoreMessages, createCallbacksTransformer, createChunkDecoder, createEventStreamTransformer, createStreamDataTransformer, embed, embedMany, experimental_AssistantResponse, experimental_StreamData, experimental_StreamingReactResponse, experimental_generateObject, experimental_generateText, experimental_streamObject, experimental_streamText, formatStreamPart, generateId, generateObject, generateText, isStreamStringEqualToType, generateId as nanoid, parseStreamPart, readDataStream, readableFromAsyncIterable, streamObject, streamText, streamToResponse, tool, trimStartOfStreamHelper };
2464
+ export { AIStream, AIStreamCallbacksAndOptions, AIStreamParser, AIStreamParserOptions, AWSBedrockAnthropicMessagesStream, AWSBedrockAnthropicStream, AWSBedrockCohereStream, AWSBedrockLlama2Stream, AWSBedrockStream, AnthropicStream, AssistantContent, AssistantMessage, AssistantResponse, AssistantStatus, CallWarning, ChatRequest, ChatRequestOptions, CohereStream, CompletionUsage, CoreAssistantMessage, CoreMessage, CoreSystemMessage, CoreTool, CoreToolChoice, CoreToolMessage, CoreUserMessage, CreateMessage, DataContent, DataMessage, DeepPartial, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, ExperimentalAssistantMessage, ExperimentalMessage, ExperimentalTool, ExperimentalToolMessage, ExperimentalUserMessage, FinishReason, Function, FunctionCall$1 as FunctionCall, FunctionCallHandler, FunctionCallPayload, GenerateObjectResult, GenerateTextResult, GoogleGenerativeAIStream, HuggingFaceStream, IdGenerator, ImagePart, InkeepAIStreamCallbacksAndOptions, InkeepChatResultCallbacks, InkeepOnFinalMetadata, InkeepStream, JSONValue, langchainAdapter as LangChainAdapter, LangChainStream, LanguageModel, LogProbs, Message$1 as Message, MistralStream, ObjectStreamInputPart, ObjectStreamPart, OpenAIStream, OpenAIStreamCallbacks, ReactResponseRow, ReplicateStream, RequestOptions, StreamData, StreamObjectResult, StreamPart, StreamString, StreamTextResult, StreamingTextResponse, TextPart$1 as TextPart, TextStreamPart, TokenUsage, Tool, ToolCall, ToolCallHandler, ToolCallPart, ToolCallPayload, ToolChoice, ToolContent, ToolInvocation, ToolResultPart, UseAssistantOptions, UseChatOptions, UseCompletionOptions, UserContent, convertDataContentToBase64String, convertDataContentToUint8Array, convertToCoreMessages, createCallbacksTransformer, createChunkDecoder, createEventStreamTransformer, createStreamDataTransformer, embed, embedMany, experimental_AssistantResponse, experimental_StreamData, experimental_StreamingReactResponse, experimental_generateObject, experimental_generateText, experimental_streamObject, experimental_streamText, formatStreamPart, generateId, generateObject, generateText, isStreamStringEqualToType, generateId as nanoid, parseStreamPart, readDataStream, readableFromAsyncIterable, streamObject, streamText, streamToResponse, tool, trimStartOfStreamHelper };
package/dist/index.js CHANGED
@@ -1212,57 +1212,72 @@ var StreamObjectResult = class {
1212
1212
  warnings,
1213
1213
  rawResponse
1214
1214
  }) {
1215
- this.originalStream = stream;
1216
1215
  this.warnings = warnings;
1217
1216
  this.rawResponse = rawResponse;
1218
- }
1219
- get partialObjectStream() {
1220
- let accumulatedText = "";
1221
- let latestObject = void 0;
1222
- return createAsyncIterableStream(this.originalStream, {
1223
- transform(chunk, controller) {
1224
- if (typeof chunk === "string") {
1225
- accumulatedText += chunk;
1226
- const currentObject = parsePartialJson(
1227
- accumulatedText
1228
- );
1229
- if (!isDeepEqualData(latestObject, currentObject)) {
1230
- latestObject = currentObject;
1231
- controller.enqueue(currentObject);
1232
- }
1233
- } else if (chunk.type === "error") {
1234
- throw chunk.error;
1235
- }
1236
- }
1217
+ let resolveUsage;
1218
+ this.usage = new Promise((resolve) => {
1219
+ resolveUsage = resolve;
1237
1220
  });
1238
- }
1239
- get fullStream() {
1221
+ let usage;
1240
1222
  let accumulatedText = "";
1241
1223
  let latestObject = void 0;
1242
- return createAsyncIterableStream(this.originalStream, {
1243
- transform(chunk, controller) {
1244
- if (typeof chunk === "string") {
1245
- accumulatedText += chunk;
1246
- const currentObject = parsePartialJson(
1247
- accumulatedText
1248
- );
1249
- if (!isDeepEqualData(latestObject, currentObject)) {
1250
- latestObject = currentObject;
1251
- controller.enqueue({ type: "object", object: currentObject });
1224
+ this.originalStream = stream.pipeThrough(
1225
+ new TransformStream({
1226
+ async transform(chunk, controller) {
1227
+ if (typeof chunk === "string") {
1228
+ accumulatedText += chunk;
1229
+ const currentObject = parsePartialJson(
1230
+ accumulatedText
1231
+ );
1232
+ if (!isDeepEqualData(latestObject, currentObject)) {
1233
+ latestObject = currentObject;
1234
+ controller.enqueue({ type: "object", object: currentObject });
1235
+ }
1236
+ return;
1252
1237
  }
1253
- } else {
1254
1238
  switch (chunk.type) {
1255
- case "finish":
1239
+ case "finish": {
1240
+ usage = calculateTokenUsage(chunk.usage);
1256
1241
  controller.enqueue({
1257
1242
  ...chunk,
1258
- usage: calculateTokenUsage(chunk.usage)
1243
+ usage
1259
1244
  });
1245
+ resolveUsage(usage);
1260
1246
  break;
1261
- default:
1247
+ }
1248
+ default: {
1262
1249
  controller.enqueue(chunk);
1263
1250
  break;
1251
+ }
1264
1252
  }
1265
1253
  }
1254
+ })
1255
+ );
1256
+ }
1257
+ get partialObjectStream() {
1258
+ return createAsyncIterableStream(this.originalStream, {
1259
+ transform(chunk, controller) {
1260
+ switch (chunk.type) {
1261
+ case "object":
1262
+ controller.enqueue(chunk.object);
1263
+ break;
1264
+ case "finish":
1265
+ break;
1266
+ case "error":
1267
+ controller.error(chunk.error);
1268
+ break;
1269
+ default: {
1270
+ const _exhaustiveCheck = chunk;
1271
+ throw new Error(`Unsupported chunk type: ${_exhaustiveCheck}`);
1272
+ }
1273
+ }
1274
+ }
1275
+ });
1276
+ }
1277
+ get fullStream() {
1278
+ return createAsyncIterableStream(this.originalStream, {
1279
+ transform(chunk, controller) {
1280
+ controller.enqueue(chunk);
1266
1281
  }
1267
1282
  });
1268
1283
  }