@ai-sdk/provider-utils 4.0.0-beta.20 → 4.0.0-beta.22

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
@@ -172,29 +172,42 @@ function getRuntimeEnvironmentUserAgent(globalThisAny = globalThis) {
172
172
  return "runtime/unknown";
173
173
  }
174
174
 
175
- // src/remove-undefined-entries.ts
176
- function removeUndefinedEntries(record) {
177
- return Object.fromEntries(
178
- Object.entries(record).filter(([_key, value]) => value != null)
179
- );
175
+ // src/normalize-headers.ts
176
+ function normalizeHeaders(headers) {
177
+ if (headers == null) {
178
+ return {};
179
+ }
180
+ const normalized = {};
181
+ if (headers instanceof Headers) {
182
+ headers.forEach((value, key) => {
183
+ normalized[key.toLowerCase()] = value;
184
+ });
185
+ } else {
186
+ if (!Array.isArray(headers)) {
187
+ headers = Object.entries(headers);
188
+ }
189
+ for (const [key, value] of headers) {
190
+ if (value != null) {
191
+ normalized[key.toLowerCase()] = value;
192
+ }
193
+ }
194
+ }
195
+ return normalized;
180
196
  }
181
197
 
182
198
  // src/with-user-agent-suffix.ts
183
199
  function withUserAgentSuffix(headers, ...userAgentSuffixParts) {
184
- const cleanedHeaders = removeUndefinedEntries(
185
- headers != null ? headers : {}
186
- );
187
- const normalizedHeaders = new Headers(cleanedHeaders);
200
+ const normalizedHeaders = new Headers(normalizeHeaders(headers));
188
201
  const currentUserAgentHeader = normalizedHeaders.get("user-agent") || "";
189
202
  normalizedHeaders.set(
190
203
  "user-agent",
191
204
  [currentUserAgentHeader, ...userAgentSuffixParts].filter(Boolean).join(" ")
192
205
  );
193
- return Object.fromEntries(normalizedHeaders);
206
+ return Object.fromEntries(normalizedHeaders.entries());
194
207
  }
195
208
 
196
209
  // src/version.ts
197
- var VERSION = true ? "4.0.0-beta.20" : "0.0.0-test";
210
+ var VERSION = true ? "4.0.0-beta.22" : "0.0.0-test";
198
211
 
199
212
  // src/get-from-api.ts
200
213
  var getOriginalFetch = () => globalThis.fetch;
@@ -2129,6 +2142,13 @@ function createProviderDefinedToolFactoryWithOutputSchema({
2129
2142
  });
2130
2143
  }
2131
2144
 
2145
+ // src/remove-undefined-entries.ts
2146
+ function removeUndefinedEntries(record) {
2147
+ return Object.fromEntries(
2148
+ Object.entries(record).filter(([_key, value]) => value != null)
2149
+ );
2150
+ }
2151
+
2132
2152
  // src/resolve.ts
2133
2153
  async function resolve(value) {
2134
2154
  if (typeof value === "function") {
@@ -2206,33 +2226,6 @@ var createEventSourceResponseHandler = (chunkSchema) => async ({ response }) =>
2206
2226
  })
2207
2227
  };
2208
2228
  };
2209
- var createJsonStreamResponseHandler = (chunkSchema) => async ({ response }) => {
2210
- const responseHeaders = extractResponseHeaders(response);
2211
- if (response.body == null) {
2212
- throw new EmptyResponseBodyError({});
2213
- }
2214
- let buffer = "";
2215
- return {
2216
- responseHeaders,
2217
- value: response.body.pipeThrough(new TextDecoderStream()).pipeThrough(
2218
- new TransformStream({
2219
- async transform(chunkText, controller) {
2220
- if (chunkText.endsWith("\n")) {
2221
- controller.enqueue(
2222
- await safeParseJSON({
2223
- text: buffer + chunkText,
2224
- schema: chunkSchema
2225
- })
2226
- );
2227
- buffer = "";
2228
- } else {
2229
- buffer += chunkText;
2230
- }
2231
- }
2232
- })
2233
- )
2234
- };
2235
- };
2236
2229
  var createJsonResponseHandler = (responseSchema) => async ({ response, url, requestBodyValues }) => {
2237
2230
  const responseBody = await response.text();
2238
2231
  const parsedResult = await safeParseJSON({
@@ -2369,7 +2362,6 @@ export {
2369
2362
  createIdGenerator,
2370
2363
  createJsonErrorResponseHandler,
2371
2364
  createJsonResponseHandler,
2372
- createJsonStreamResponseHandler,
2373
2365
  createProviderDefinedToolFactory,
2374
2366
  createProviderDefinedToolFactoryWithOutputSchema,
2375
2367
  createStatusCodeErrorResponseHandler,
@@ -2392,6 +2384,7 @@ export {
2392
2384
  loadOptionalSetting,
2393
2385
  loadSetting,
2394
2386
  mediaTypeToExtension,
2387
+ normalizeHeaders,
2395
2388
  parseJSON,
2396
2389
  parseJsonEventStream,
2397
2390
  parseProviderOptions,