@ai-sdk/provider-utils 5.0.0 → 5.0.2

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/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # @ai-sdk/provider-utils
2
2
 
3
+ ## 5.0.2
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [0274f34]
8
+ - @ai-sdk/provider@4.0.1
9
+
10
+ ## 5.0.1
11
+
12
+ ### Patch Changes
13
+
14
+ - 6a436e3: Limit JSON response body reads in response handlers to prevent unbounded memory use.
15
+
3
16
  ## 5.0.0
4
17
 
5
18
  ### Major Changes
package/dist/index.js CHANGED
@@ -971,7 +971,7 @@ function withUserAgentSuffix(headers, ...userAgentSuffixParts) {
971
971
  }
972
972
 
973
973
  // src/version.ts
974
- var VERSION = true ? "5.0.0" : "0.0.0-test";
974
+ var VERSION = true ? "5.0.2" : "0.0.0-test";
975
975
 
976
976
  // src/get-from-api.ts
977
977
  var getOriginalFetch = () => globalThis.fetch;
@@ -3074,12 +3074,24 @@ function resolveProviderReference({
3074
3074
 
3075
3075
  // src/response-handler.ts
3076
3076
  import { APICallError as APICallError4, EmptyResponseBodyError } from "@ai-sdk/provider";
3077
+ var textDecoder = new TextDecoder();
3078
+ async function readResponseBodyAsText({
3079
+ response,
3080
+ url
3081
+ }) {
3082
+ return textDecoder.decode(
3083
+ await readResponseWithSizeLimit({
3084
+ response,
3085
+ url
3086
+ })
3087
+ );
3088
+ }
3077
3089
  var createJsonErrorResponseHandler = ({
3078
3090
  errorSchema,
3079
3091
  errorToMessage,
3080
3092
  isRetryable
3081
3093
  }) => async ({ response, url, requestBodyValues }) => {
3082
- const responseBody = await response.text();
3094
+ const responseBody = await readResponseBodyAsText({ response, url });
3083
3095
  const responseHeaders = extractResponseHeaders(response);
3084
3096
  if (responseBody.trim() === "") {
3085
3097
  return {
@@ -3142,7 +3154,7 @@ var createEventSourceResponseHandler = (chunkSchema) => async ({ response }) =>
3142
3154
  };
3143
3155
  };
3144
3156
  var createJsonResponseHandler = (responseSchema) => async ({ response, url, requestBodyValues }) => {
3145
- const responseBody = await response.text();
3157
+ const responseBody = await readResponseBodyAsText({ response, url });
3146
3158
  const parsedResult = await safeParseJSON({
3147
3159
  text: responseBody,
3148
3160
  schema: responseSchema
@@ -3197,7 +3209,7 @@ var createBinaryResponseHandler = () => async ({ response, url, requestBodyValue
3197
3209
  };
3198
3210
  var createStatusCodeErrorResponseHandler = () => async ({ response, url, requestBodyValues }) => {
3199
3211
  const responseHeaders = extractResponseHeaders(response);
3200
- const responseBody = await response.text();
3212
+ const responseBody = await readResponseBodyAsText({ response, url });
3201
3213
  return {
3202
3214
  responseHeaders,
3203
3215
  value: new APICallError4({