@ai-sdk/provider-utils 4.0.31 → 4.0.33

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
+ ## 4.0.33
4
+
5
+ ### Patch Changes
6
+
7
+ - b30e43a: Limit JSON response body reads in response handlers to prevent unbounded memory use.
8
+
9
+ ## 4.0.32
10
+
11
+ ### Patch Changes
12
+
13
+ - Updated dependencies [f19334d]
14
+ - @ai-sdk/provider@3.0.12
15
+
3
16
  ## 4.0.31
4
17
 
5
18
  ### Patch Changes
package/dist/index.js CHANGED
@@ -777,7 +777,7 @@ function withUserAgentSuffix(headers, ...userAgentSuffixParts) {
777
777
  }
778
778
 
779
779
  // src/version.ts
780
- var VERSION = true ? "4.0.31" : "0.0.0-test";
780
+ var VERSION = true ? "4.0.33" : "0.0.0-test";
781
781
 
782
782
  // src/get-from-api.ts
783
783
  var getOriginalFetch = () => globalThis.fetch;
@@ -2717,12 +2717,24 @@ async function resolve(value) {
2717
2717
 
2718
2718
  // src/response-handler.ts
2719
2719
  var import_provider12 = require("@ai-sdk/provider");
2720
+ var textDecoder = new TextDecoder();
2721
+ async function readResponseBodyAsText({
2722
+ response,
2723
+ url
2724
+ }) {
2725
+ return textDecoder.decode(
2726
+ await readResponseWithSizeLimit({
2727
+ response,
2728
+ url
2729
+ })
2730
+ );
2731
+ }
2720
2732
  var createJsonErrorResponseHandler = ({
2721
2733
  errorSchema,
2722
2734
  errorToMessage,
2723
2735
  isRetryable
2724
2736
  }) => async ({ response, url, requestBodyValues }) => {
2725
- const responseBody = await response.text();
2737
+ const responseBody = await readResponseBodyAsText({ response, url });
2726
2738
  const responseHeaders = extractResponseHeaders(response);
2727
2739
  if (responseBody.trim() === "") {
2728
2740
  return {
@@ -2785,7 +2797,7 @@ var createEventSourceResponseHandler = (chunkSchema) => async ({ response }) =>
2785
2797
  };
2786
2798
  };
2787
2799
  var createJsonResponseHandler = (responseSchema) => async ({ response, url, requestBodyValues }) => {
2788
- const responseBody = await response.text();
2800
+ const responseBody = await readResponseBodyAsText({ response, url });
2789
2801
  const parsedResult = await safeParseJSON({
2790
2802
  text: responseBody,
2791
2803
  schema: responseSchema
@@ -2840,7 +2852,7 @@ var createBinaryResponseHandler = () => async ({ response, url, requestBodyValue
2840
2852
  };
2841
2853
  var createStatusCodeErrorResponseHandler = () => async ({ response, url, requestBodyValues }) => {
2842
2854
  const responseHeaders = extractResponseHeaders(response);
2843
- const responseBody = await response.text();
2855
+ const responseBody = await readResponseBodyAsText({ response, url });
2844
2856
  return {
2845
2857
  responseHeaders,
2846
2858
  value: new import_provider12.APICallError({