ai 6.0.170 → 6.0.172

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.
Files changed (193) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/index.d.mts +792 -792
  3. package/dist/index.d.ts +792 -792
  4. package/dist/index.js +77 -64
  5. package/dist/index.js.map +1 -1
  6. package/dist/index.mjs +37 -15
  7. package/dist/index.mjs.map +1 -1
  8. package/dist/internal/index.js +16 -17
  9. package/dist/internal/index.js.map +1 -1
  10. package/dist/internal/index.mjs +2 -4
  11. package/dist/internal/index.mjs.map +1 -1
  12. package/dist/test/index.d.mts +18 -18
  13. package/dist/test/index.d.ts +18 -18
  14. package/dist/test/index.js +24 -22
  15. package/dist/test/index.js.map +1 -1
  16. package/dist/test/index.mjs +22 -22
  17. package/dist/test/index.mjs.map +1 -1
  18. package/package.json +5 -5
  19. package/src/agent/agent.ts +7 -7
  20. package/src/agent/create-agent-ui-stream-response.ts +10 -7
  21. package/src/agent/create-agent-ui-stream.ts +11 -8
  22. package/src/agent/infer-agent-tools.ts +1 -1
  23. package/src/agent/infer-agent-ui-message.ts +2 -2
  24. package/src/agent/pipe-agent-ui-stream-to-response.ts +11 -8
  25. package/src/agent/tool-loop-agent-settings.ts +12 -12
  26. package/src/agent/tool-loop-agent.ts +27 -10
  27. package/src/embed/embed-many-result.ts +3 -4
  28. package/src/embed/embed-many.ts +8 -5
  29. package/src/embed/embed-result.ts +3 -4
  30. package/src/embed/embed.ts +7 -4
  31. package/src/error/invalid-stream-part-error.ts +1 -1
  32. package/src/error/no-image-generated-error.ts +1 -1
  33. package/src/error/no-object-generated-error.ts +3 -3
  34. package/src/error/no-speech-generated-error.ts +1 -1
  35. package/src/error/no-transcript-generated-error.ts +1 -1
  36. package/src/error/no-video-generated-error.ts +1 -1
  37. package/src/error/tool-call-repair-error.ts +2 -2
  38. package/src/error/verify-no-object-generated-error.ts +1 -1
  39. package/src/generate-image/generate-image-result.ts +5 -5
  40. package/src/generate-image/generate-image.ts +8 -8
  41. package/src/generate-image/index.ts +3 -2
  42. package/src/generate-object/generate-object-result.ts +2 -2
  43. package/src/generate-object/generate-object.ts +15 -15
  44. package/src/generate-object/inject-json-instruction.ts +1 -1
  45. package/src/generate-object/output-strategy.ts +10 -10
  46. package/src/generate-object/parse-and-validate-object-result.ts +1 -1
  47. package/src/generate-object/repair-text.ts +1 -1
  48. package/src/generate-object/stream-object-result.ts +4 -4
  49. package/src/generate-object/stream-object.ts +21 -18
  50. package/src/generate-object/validate-object-generation-input.ts +1 -1
  51. package/src/generate-speech/generate-speech-result.ts +4 -4
  52. package/src/generate-speech/generate-speech.ts +10 -7
  53. package/src/generate-speech/generated-audio-file.ts +1 -1
  54. package/src/generate-text/collect-tool-approvals.ts +4 -4
  55. package/src/generate-text/content-part.ts +9 -9
  56. package/src/generate-text/execute-tool-call.ts +9 -9
  57. package/src/generate-text/extract-reasoning-content.ts +1 -1
  58. package/src/generate-text/extract-text-content.ts +4 -1
  59. package/src/generate-text/generate-text-result.ts +19 -15
  60. package/src/generate-text/generate-text.ts +26 -26
  61. package/src/generate-text/is-approval-needed.ts +3 -3
  62. package/src/generate-text/output-utils.ts +1 -1
  63. package/src/generate-text/output.ts +8 -8
  64. package/src/generate-text/parse-tool-call.ts +6 -6
  65. package/src/generate-text/prepare-step.ts +3 -3
  66. package/src/generate-text/prune-messages.ts +1 -1
  67. package/src/generate-text/reasoning-output.ts +1 -1
  68. package/src/generate-text/reasoning.ts +1 -1
  69. package/src/generate-text/response-message.ts +1 -1
  70. package/src/generate-text/run-tools-transformation.ts +26 -16
  71. package/src/generate-text/smooth-stream.ts +6 -4
  72. package/src/generate-text/step-result.ts +14 -10
  73. package/src/generate-text/stop-condition.ts +2 -2
  74. package/src/generate-text/stream-text-result.ts +29 -25
  75. package/src/generate-text/stream-text.ts +38 -35
  76. package/src/generate-text/to-response-messages.ts +3 -3
  77. package/src/generate-text/tool-approval-request-output.ts +2 -2
  78. package/src/generate-text/tool-call-repair-function.ts +5 -5
  79. package/src/generate-text/tool-call.ts +4 -4
  80. package/src/generate-text/tool-error.ts +4 -4
  81. package/src/generate-text/tool-output-denied.ts +2 -2
  82. package/src/generate-text/tool-output.ts +3 -3
  83. package/src/generate-text/tool-result.ts +4 -4
  84. package/src/generate-text/tool-set.ts +1 -1
  85. package/src/generate-video/generate-video-result.ts +4 -4
  86. package/src/global.ts +2 -2
  87. package/src/index.ts +3 -3
  88. package/src/logger/log-warnings.ts +1 -1
  89. package/src/middleware/add-tool-input-examples-middleware.ts +2 -2
  90. package/src/middleware/default-embedding-settings-middleware.ts +2 -2
  91. package/src/middleware/default-settings-middleware.ts +2 -2
  92. package/src/middleware/extract-json-middleware.ts +1 -1
  93. package/src/middleware/extract-reasoning-middleware.ts +1 -1
  94. package/src/middleware/simulate-streaming-middleware.ts +1 -1
  95. package/src/middleware/wrap-embedding-model.ts +2 -2
  96. package/src/middleware/wrap-image-model.ts +2 -2
  97. package/src/middleware/wrap-language-model.ts +2 -2
  98. package/src/middleware/wrap-provider.ts +2 -2
  99. package/src/model/as-embedding-model-v3.ts +1 -1
  100. package/src/model/as-image-model-v3.ts +1 -1
  101. package/src/model/as-language-model-v3.ts +1 -1
  102. package/src/model/as-provider-v3.ts +1 -1
  103. package/src/model/as-speech-model-v3.ts +1 -1
  104. package/src/model/as-transcription-model-v3.ts +4 -1
  105. package/src/model/resolve-model.ts +8 -8
  106. package/src/prompt/content-part.ts +1 -1
  107. package/src/prompt/convert-to-language-model-prompt.ts +12 -12
  108. package/src/prompt/create-tool-model-output.ts +2 -2
  109. package/src/prompt/data-content.ts +2 -2
  110. package/src/prompt/message-conversion-error.ts +1 -1
  111. package/src/prompt/message.ts +1 -1
  112. package/src/prompt/prepare-call-settings.ts +1 -1
  113. package/src/prompt/prepare-tools-and-tool-choice.ts +3 -3
  114. package/src/prompt/prompt.ts +1 -1
  115. package/src/prompt/standardize-prompt.ts +3 -3
  116. package/src/registry/custom-provider.ts +9 -9
  117. package/src/registry/provider-registry.ts +8 -8
  118. package/src/rerank/rerank-result.ts +1 -1
  119. package/src/rerank/rerank.ts +5 -5
  120. package/src/telemetry/assemble-operation-name.ts +1 -1
  121. package/src/telemetry/get-base-telemetry-attributes.ts +3 -3
  122. package/src/telemetry/get-tracer.ts +1 -1
  123. package/src/telemetry/noop-tracer.ts +1 -1
  124. package/src/telemetry/record-span.ts +3 -3
  125. package/src/telemetry/stringify-for-telemetry.ts +1 -1
  126. package/src/telemetry/telemetry-integration.ts +1 -1
  127. package/src/telemetry/telemetry-settings.ts +1 -1
  128. package/src/test/mock-embedding-model-v2.ts +1 -1
  129. package/src/test/mock-embedding-model-v3.ts +1 -1
  130. package/src/test/mock-image-model-v2.ts +1 -1
  131. package/src/test/mock-image-model-v3.ts +1 -1
  132. package/src/test/mock-language-model-v2.ts +1 -1
  133. package/src/test/mock-language-model-v3.ts +1 -1
  134. package/src/test/mock-provider-v2.ts +6 -6
  135. package/src/test/mock-provider-v3.ts +7 -7
  136. package/src/test/mock-reranking-model-v3.ts +1 -1
  137. package/src/test/mock-server-response.ts +1 -1
  138. package/src/test/mock-speech-model-v2.ts +1 -1
  139. package/src/test/mock-speech-model-v3.ts +1 -1
  140. package/src/test/mock-tracer.ts +1 -1
  141. package/src/test/mock-transcription-model-v2.ts +1 -1
  142. package/src/test/mock-transcription-model-v3.ts +1 -1
  143. package/src/test/mock-video-model-v3.ts +1 -1
  144. package/src/text-stream/pipe-text-stream-to-response.ts +1 -1
  145. package/src/transcribe/transcribe-result.ts +3 -3
  146. package/src/transcribe/transcribe.ts +10 -7
  147. package/src/types/embedding-model-middleware.ts +1 -1
  148. package/src/types/embedding-model.ts +1 -1
  149. package/src/types/image-model-middleware.ts +1 -1
  150. package/src/types/image-model.ts +1 -1
  151. package/src/types/json-value.ts +1 -1
  152. package/src/types/language-model-middleware.ts +1 -1
  153. package/src/types/language-model.ts +2 -2
  154. package/src/types/provider-metadata.ts +1 -1
  155. package/src/types/provider.ts +4 -4
  156. package/src/types/reranking-model.ts +1 -1
  157. package/src/types/speech-model.ts +1 -1
  158. package/src/types/transcription-model.ts +4 -1
  159. package/src/types/usage.ts +1 -1
  160. package/src/types/video-model.ts +1 -1
  161. package/src/types/warning.ts +1 -1
  162. package/src/ui/call-completion-api.ts +2 -2
  163. package/src/ui/chat-transport.ts +3 -3
  164. package/src/ui/chat.ts +10 -10
  165. package/src/ui/convert-file-list-to-file-ui-parts.ts +1 -1
  166. package/src/ui/convert-to-model-messages.ts +16 -16
  167. package/src/ui/default-chat-transport.ts +4 -4
  168. package/src/ui/direct-chat-transport.ts +7 -7
  169. package/src/ui/http-chat-transport.ts +5 -5
  170. package/src/ui/process-ui-message-stream.ts +19 -19
  171. package/src/ui/text-stream-chat-transport.ts +3 -3
  172. package/src/ui/transform-text-to-ui-message-stream.ts +1 -1
  173. package/src/ui/ui-messages.ts +5 -5
  174. package/src/ui/use-completion.ts +1 -1
  175. package/src/ui/validate-ui-messages.ts +3 -3
  176. package/src/ui-message-stream/create-ui-message-stream-response.ts +2 -2
  177. package/src/ui-message-stream/create-ui-message-stream.ts +6 -6
  178. package/src/ui-message-stream/get-response-ui-message-id.ts +2 -2
  179. package/src/ui-message-stream/handle-ui-message-stream-finish.ts +6 -6
  180. package/src/ui-message-stream/pipe-ui-message-stream-to-response.ts +3 -3
  181. package/src/ui-message-stream/read-ui-message-stream.ts +4 -4
  182. package/src/ui-message-stream/ui-message-chunks.ts +4 -4
  183. package/src/ui-message-stream/ui-message-stream-on-finish-callback.ts +2 -2
  184. package/src/ui-message-stream/ui-message-stream-on-step-finish-callback.ts +1 -1
  185. package/src/ui-message-stream/ui-message-stream-writer.ts +3 -3
  186. package/src/util/create-resolvable-promise.ts +1 -1
  187. package/src/util/deep-partial.ts +1 -1
  188. package/src/util/download/download.ts +0 -2
  189. package/src/util/merge-objects.ts +5 -0
  190. package/src/util/parse-partial-json.ts +1 -1
  191. package/src/util/prepare-retries.ts +1 -1
  192. package/src/util/serial-job-executor.ts +1 -1
  193. package/src/util/write-to-server-response.ts +1 -1
package/dist/index.mjs CHANGED
@@ -17,6 +17,9 @@ import {
17
17
  zodSchema as zodSchema3
18
18
  } from "@ai-sdk/provider-utils";
19
19
 
20
+ // src/agent/tool-loop-agent.ts
21
+ import { validateTypes as validateTypes2 } from "@ai-sdk/provider-utils";
22
+
20
23
  // src/generate-text/generate-text.ts
21
24
  import {
22
25
  createIdGenerator,
@@ -1135,15 +1138,13 @@ import {
1135
1138
  DownloadError as DownloadError2,
1136
1139
  readResponseWithSizeLimit,
1137
1140
  DEFAULT_MAX_DOWNLOAD_SIZE,
1138
- validateDownloadUrl
1139
- } from "@ai-sdk/provider-utils";
1140
- import {
1141
+ validateDownloadUrl,
1141
1142
  withUserAgentSuffix,
1142
1143
  getRuntimeEnvironmentUserAgent
1143
1144
  } from "@ai-sdk/provider-utils";
1144
1145
 
1145
1146
  // src/version.ts
1146
- var VERSION = true ? "6.0.170" : "0.0.0-test";
1147
+ var VERSION = true ? "6.0.172" : "0.0.0-test";
1147
1148
 
1148
1149
  // src/util/download/download.ts
1149
1150
  var download = async ({
@@ -2534,6 +2535,9 @@ function mergeObjects(base, overrides) {
2534
2535
  }
2535
2536
  const result = { ...base };
2536
2537
  for (const key in overrides) {
2538
+ if (key === "__proto__" || key === "constructor" || key === "prototype") {
2539
+ continue;
2540
+ }
2537
2541
  if (Object.prototype.hasOwnProperty.call(overrides, key)) {
2538
2542
  const overridesValue = overrides[key];
2539
2543
  if (overridesValue === void 0)
@@ -8118,6 +8122,14 @@ var ToolLoopAgent = class {
8118
8122
  }
8119
8123
  async prepareCall(options) {
8120
8124
  var _a21, _b, _c, _d;
8125
+ if (this.settings.callOptionsSchema != null && options.options !== void 0) {
8126
+ const validatedOptions = await validateTypes2({
8127
+ value: options.options,
8128
+ schema: this.settings.callOptionsSchema,
8129
+ context: { field: "options" }
8130
+ });
8131
+ options = { ...options, options: validatedOptions };
8132
+ }
8121
8133
  const { onStepFinish: _settingsOnStepFinish, ...settingsWithoutCallback } = this.settings;
8122
8134
  const baseCallArgs = {
8123
8135
  ...settingsWithoutCallback,
@@ -8560,7 +8572,7 @@ async function convertToModelMessages(messages, options) {
8560
8572
  import { TypeValidationError as TypeValidationError3 } from "@ai-sdk/provider";
8561
8573
  import {
8562
8574
  lazySchema as lazySchema2,
8563
- validateTypes as validateTypes2,
8575
+ validateTypes as validateTypes3,
8564
8576
  zodSchema as zodSchema2
8565
8577
  } from "@ai-sdk/provider-utils";
8566
8578
  import { z as z8 } from "zod/v4";
@@ -8847,13 +8859,13 @@ async function safeValidateUIMessages({
8847
8859
  })
8848
8860
  };
8849
8861
  }
8850
- const validatedMessages = await validateTypes2({
8862
+ const validatedMessages = await validateTypes3({
8851
8863
  value: messages,
8852
8864
  schema: uiMessagesSchema
8853
8865
  });
8854
8866
  if (metadataSchema) {
8855
8867
  for (const [msgIdx, message] of validatedMessages.entries()) {
8856
- await validateTypes2({
8868
+ await validateTypes3({
8857
8869
  value: message.metadata,
8858
8870
  schema: metadataSchema,
8859
8871
  context: {
@@ -8884,7 +8896,7 @@ async function safeValidateUIMessages({
8884
8896
  })
8885
8897
  };
8886
8898
  }
8887
- await validateTypes2({
8899
+ await validateTypes3({
8888
8900
  value: dataPart.data,
8889
8901
  schema: dataSchema,
8890
8902
  context: {
@@ -8916,7 +8928,7 @@ async function safeValidateUIMessages({
8916
8928
  };
8917
8929
  }
8918
8930
  if (toolPart.state === "input-available" || toolPart.state === "output-available" || toolPart.state === "output-error" && toolPart.input !== void 0) {
8919
- await validateTypes2({
8931
+ await validateTypes3({
8920
8932
  value: toolPart.input,
8921
8933
  schema: tool2.inputSchema,
8922
8934
  context: {
@@ -8927,7 +8939,7 @@ async function safeValidateUIMessages({
8927
8939
  });
8928
8940
  }
8929
8941
  if (toolPart.state === "output-available" && tool2.outputSchema) {
8930
- await validateTypes2({
8942
+ await validateTypes3({
8931
8943
  value: toolPart.output,
8932
8944
  schema: tool2.outputSchema,
8933
8945
  context: {
@@ -9041,7 +9053,9 @@ async function pipeAgentUIStreamToResponse({
9041
9053
  }
9042
9054
 
9043
9055
  // src/embed/embed.ts
9044
- import { withUserAgentSuffix as withUserAgentSuffix3 } from "@ai-sdk/provider-utils";
9056
+ import {
9057
+ withUserAgentSuffix as withUserAgentSuffix3
9058
+ } from "@ai-sdk/provider-utils";
9045
9059
  async function embed({
9046
9060
  model: modelArg,
9047
9061
  value,
@@ -9164,7 +9178,9 @@ var DefaultEmbedResult = class {
9164
9178
  };
9165
9179
 
9166
9180
  // src/embed/embed-many.ts
9167
- import { withUserAgentSuffix as withUserAgentSuffix4 } from "@ai-sdk/provider-utils";
9181
+ import {
9182
+ withUserAgentSuffix as withUserAgentSuffix4
9183
+ } from "@ai-sdk/provider-utils";
9168
9184
 
9169
9185
  // src/util/split-array.ts
9170
9186
  function splitArray(array2, chunkSize) {
@@ -11007,7 +11023,9 @@ var DefaultStreamObjectResult = class {
11007
11023
  };
11008
11024
 
11009
11025
  // src/generate-speech/generate-speech.ts
11010
- import { withUserAgentSuffix as withUserAgentSuffix7 } from "@ai-sdk/provider-utils";
11026
+ import {
11027
+ withUserAgentSuffix as withUserAgentSuffix7
11028
+ } from "@ai-sdk/provider-utils";
11011
11029
 
11012
11030
  // src/generate-speech/generated-audio-file.ts
11013
11031
  var DefaultGeneratedAudioFile = class extends DefaultGeneratedFile {
@@ -11186,7 +11204,9 @@ function pruneMessages({
11186
11204
 
11187
11205
  // src/generate-text/smooth-stream.ts
11188
11206
  import { delay as originalDelay } from "@ai-sdk/provider-utils";
11189
- import { InvalidArgumentError as InvalidArgumentError2 } from "@ai-sdk/provider";
11207
+ import {
11208
+ InvalidArgumentError as InvalidArgumentError2
11209
+ } from "@ai-sdk/provider";
11190
11210
  var CHUNKING_REGEXPS = {
11191
11211
  word: /\S+\s+/m,
11192
11212
  line: /\n+/m
@@ -12512,7 +12532,9 @@ var DefaultRerankResult = class {
12512
12532
  };
12513
12533
 
12514
12534
  // src/transcribe/transcribe.ts
12515
- import { withUserAgentSuffix as withUserAgentSuffix9 } from "@ai-sdk/provider-utils";
12535
+ import {
12536
+ withUserAgentSuffix as withUserAgentSuffix9
12537
+ } from "@ai-sdk/provider-utils";
12516
12538
  var defaultDownload2 = createDownload();
12517
12539
  async function transcribe({
12518
12540
  model,