ai 7.0.83 → 7.0.85

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.
@@ -1,7 +1,7 @@
1
1
  import * as _ai_sdk_provider from '@ai-sdk/provider';
2
- import { EmbeddingModelV4Embedding, LanguageModelV4, LanguageModelV3, LanguageModelV2, SharedV4Warning, LanguageModelV4Source, SharedV4ProviderMetadata, LanguageModelV4Usage, JSONObject, LanguageModelV4CallOptions, LanguageModelV4Prompt, AISDKError, LanguageModelV4ToolCall, JSONSchema7, ProviderV4, ProviderV3, ProviderV2, LanguageModelV4ToolResultOutput, LanguageModelV4ToolChoice, LanguageModelV4FunctionTool, LanguageModelV4ProviderTool } from '@ai-sdk/provider';
2
+ import { EmbeddingModelV4Embedding, LanguageModelV4Source, SharedV4Warning, LanguageModelV4, LanguageModelV3, LanguageModelV2, SharedV4ProviderMetadata, JSONObject, LanguageModelV4Usage, LanguageModelV4CallOptions, LanguageModelV4Prompt, AISDKError, LanguageModelV4ToolCall, JSONSchema7, ProviderV4, ProviderV3, ProviderV2, LanguageModelV4ToolResultOutput, LanguageModelV4ToolChoice, LanguageModelV4FunctionTool, LanguageModelV4ProviderTool } from '@ai-sdk/provider';
3
3
  import { GatewayModelId } from '@ai-sdk/gateway';
4
- import { ModelMessage, AssistantModelMessage, ToolModelMessage, ProviderOptions, ToolSet, SystemModelMessage, Context, InferToolSetContext, Arrayable, InferToolInput, InferToolOutput, ReasoningPart, ReasoningFilePart, InferToolContext, ToolExecutionOptions, MaybePromiseLike, ToolResultOutput, Tool, Experimental_SandboxSession, RetryFunction, ToolApprovalRequest, ToolApprovalResponse, ToolResultPart } from '@ai-sdk/provider-utils';
4
+ import { ModelMessage, AssistantModelMessage, ToolModelMessage, ProviderOptions, ToolSet, SystemModelMessage, Context, InferToolSetContext, Arrayable, InferToolInput, InferToolOutput, ReasoningPart, ReasoningFilePart, MaybePromiseLike, ToolExecutionOptions, InferToolContext, ToolResultOutput, Tool, Experimental_SandboxSession, RetryFunction, ToolApprovalRequest, ToolApprovalResponse, ToolResultPart } from '@ai-sdk/provider-utils';
5
5
  export { convertAsyncIteratorToReadableStream } from '@ai-sdk/provider-utils';
6
6
 
7
7
  /**
@@ -803,6 +803,10 @@ interface GeneratedFile {
803
803
  * @see https://www.iana.org/assignments/media-types/media-types.xhtml
804
804
  */
805
805
  readonly mediaType: string;
806
+ /**
807
+ * Provider-specific metadata for this file.
808
+ */
809
+ readonly providerMetadata?: Record<string, JSONObject>;
806
810
  }
807
811
 
808
812
  /**
@@ -2717,4 +2721,4 @@ declare function toResponseMessages<TOOLS extends ToolSet>({ content: inputConte
2717
2721
  tools: TOOLS | undefined;
2718
2722
  }): Promise<Array<AssistantModelMessage | ToolModelMessage>>;
2719
2723
 
2720
- export { CollectedToolApprovals, DefaultStepResult, DownloadFunction, addLanguageModelUsage, asLanguageModelUsage, collectToolApprovals, convertToLanguageModelPrompt, createAsyncIterableStream, createDefaultDownloadFunction, createNullLanguageModelUsage, createRestrictedTelemetryDispatcher, createTelemetryDispatcher, createToolModelOutput, downloadAssets, mapToolResultOutput, mergeAbortSignals, mergeCallbacks, parseToolCall, prepareLanguageModelCallOptions as prepareCallSettings, prepareLanguageModelCallOptions, prepareRetries, prepareToolChoice, prepareTools, resolveLanguageModel, standardizePrompt, toResponseMessages, validateApprovedToolApprovals };
2724
+ export { type CollectedToolApprovals, DefaultStepResult, type DownloadFunction, addLanguageModelUsage, asLanguageModelUsage, collectToolApprovals, convertToLanguageModelPrompt, createAsyncIterableStream, createDefaultDownloadFunction, createNullLanguageModelUsage, createRestrictedTelemetryDispatcher, createTelemetryDispatcher, createToolModelOutput, downloadAssets, mapToolResultOutput, mergeAbortSignals, mergeCallbacks, parseToolCall, prepareLanguageModelCallOptions as prepareCallSettings, prepareLanguageModelCallOptions, prepareRetries, prepareToolChoice, prepareTools, resolveLanguageModel, standardizePrompt, toResponseMessages, validateApprovedToolApprovals };
@@ -11,8 +11,7 @@ function asAsyncIterableStream(stream) {
11
11
  let finished = false;
12
12
  async function cleanup(cancelStream) {
13
13
  var _a12;
14
- if (finished)
15
- return;
14
+ if (finished) return;
16
15
  finished = true;
17
16
  try {
18
17
  if (cancelStream) {
@@ -92,7 +91,7 @@ import {
92
91
  } from "@ai-sdk/provider-utils";
93
92
 
94
93
  // src/version.ts
95
- var VERSION = true ? "7.0.83" : "0.0.0-test";
94
+ var VERSION = true ? "7.0.85" : "0.0.0-test";
96
95
 
97
96
  // src/util/download/download.ts
98
97
  var download = async ({
@@ -163,8 +162,7 @@ function mergeObjects(base, overrides) {
163
162
  }
164
163
  if (Object.prototype.hasOwnProperty.call(overrides, key)) {
165
164
  const overridesValue = overrides[key];
166
- if (overridesValue === void 0)
167
- continue;
165
+ if (overridesValue === void 0) continue;
168
166
  const baseValue = key in base ? base[key] : void 0;
169
167
  const isSourceObject = overridesValue !== null && typeof overridesValue === "object" && !Array.isArray(overridesValue) && !(overridesValue instanceof Date) && !(overridesValue instanceof RegExp);
170
168
  const isTargetObject = baseValue !== null && baseValue !== void 0 && typeof baseValue === "object" && !Array.isArray(baseValue) && !(baseValue instanceof Date) && !(baseValue instanceof RegExp);
@@ -192,8 +190,8 @@ import { AISDKError } from "@ai-sdk/provider";
192
190
  var name = "AI_InvalidDataContentError";
193
191
  var marker = `vercel.ai.error.${name}`;
194
192
  var symbol = Symbol.for(marker);
195
- var _a;
196
- var InvalidDataContentError = class extends AISDKError {
193
+ var _a, _b;
194
+ var InvalidDataContentError = class extends (_b = AISDKError, _a = symbol, _b) {
197
195
  constructor({
198
196
  content,
199
197
  cause,
@@ -207,7 +205,6 @@ var InvalidDataContentError = class extends AISDKError {
207
205
  return AISDKError.hasMarker(error, marker);
208
206
  }
209
207
  };
210
- _a = symbol;
211
208
 
212
209
  // src/prompt/split-data-url.ts
213
210
  function splitDataUrl(dataUrl) {
@@ -227,8 +224,7 @@ function splitDataUrl(dataUrl) {
227
224
 
228
225
  // src/prompt/file-part-data.ts
229
226
  function isTaggedFileData(value) {
230
- if (typeof value !== "object" || value === null)
231
- return false;
227
+ if (typeof value !== "object" || value === null) return false;
232
228
  const type = value.type;
233
229
  return type === "data" || type === "url" || type === "reference" || type === "text";
234
230
  }
@@ -393,8 +389,8 @@ import { AISDKError as AISDKError2 } from "@ai-sdk/provider";
393
389
  var name2 = "AI_InvalidMessageRoleError";
394
390
  var marker2 = `vercel.ai.error.${name2}`;
395
391
  var symbol2 = Symbol.for(marker2);
396
- var _a2;
397
- var InvalidMessageRoleError = class extends AISDKError2 {
392
+ var _a2, _b2;
393
+ var InvalidMessageRoleError = class extends (_b2 = AISDKError2, _a2 = symbol2, _b2) {
398
394
  constructor({
399
395
  role,
400
396
  message = `Invalid message role: '${role}'. Must be one of: "system", "user", "assistant", "tool".`
@@ -407,15 +403,14 @@ var InvalidMessageRoleError = class extends AISDKError2 {
407
403
  return AISDKError2.hasMarker(error, marker2);
408
404
  }
409
405
  };
410
- _a2 = symbol2;
411
406
 
412
407
  // src/error/missing-tool-result-error.ts
413
408
  import { AISDKError as AISDKError3 } from "@ai-sdk/provider";
414
409
  var name3 = "AI_MissingToolResultsError";
415
410
  var marker3 = `vercel.ai.error.${name3}`;
416
411
  var symbol3 = Symbol.for(marker3);
417
- var _a3;
418
- var MissingToolResultsError = class extends AISDKError3 {
412
+ var _a3, _b3;
413
+ var MissingToolResultsError = class extends (_b3 = AISDKError3, _a3 = symbol3, _b3) {
419
414
  constructor({ toolCallIds }) {
420
415
  super({
421
416
  name: name3,
@@ -430,7 +425,6 @@ var MissingToolResultsError = class extends AISDKError3 {
430
425
  return AISDKError3.hasMarker(error, marker3);
431
426
  }
432
427
  };
433
- _a3 = symbol3;
434
428
 
435
429
  // src/prompt/convert-to-language-model-prompt.ts
436
430
  async function convertToLanguageModelPrompt({
@@ -950,6 +944,8 @@ function mapToolResultOutput({
950
944
  providerOptions: item.providerOptions
951
945
  };
952
946
  }
947
+ // The "image-*" types are legacy and deprecated.
948
+ // TODO: remove migration in v8 in combination with the removal of these types from the provider utils.
953
949
  case "image-data": {
954
950
  warnings.push({
955
951
  type: "deprecated",
@@ -1566,8 +1562,8 @@ import { AISDKError as AISDKError4 } from "@ai-sdk/provider";
1566
1562
  var name4 = "AI_InvalidArgumentError";
1567
1563
  var marker4 = `vercel.ai.error.${name4}`;
1568
1564
  var symbol4 = Symbol.for(marker4);
1569
- var _a4;
1570
- var InvalidArgumentError = class extends AISDKError4 {
1565
+ var _a4, _b4;
1566
+ var InvalidArgumentError = class extends (_b4 = AISDKError4, _a4 = symbol4, _b4) {
1571
1567
  constructor({
1572
1568
  parameter,
1573
1569
  value,
@@ -1585,7 +1581,6 @@ var InvalidArgumentError = class extends AISDKError4 {
1585
1581
  return AISDKError4.hasMarker(error, marker4);
1586
1582
  }
1587
1583
  };
1588
- _a4 = symbol4;
1589
1584
 
1590
1585
  // src/prompt/prepare-language-model-call-options.ts
1591
1586
  function prepareLanguageModelCallOptions({
@@ -1694,8 +1689,8 @@ import { AISDKError as AISDKError5 } from "@ai-sdk/provider";
1694
1689
  var name5 = "AI_RetryError";
1695
1690
  var marker5 = `vercel.ai.error.${name5}`;
1696
1691
  var symbol5 = Symbol.for(marker5);
1697
- var _a5;
1698
- var RetryError = class extends AISDKError5 {
1692
+ var _a5, _b5;
1693
+ var RetryError = class extends (_b5 = AISDKError5, _a5 = symbol5, _b5) {
1699
1694
  constructor({
1700
1695
  message,
1701
1696
  reason,
@@ -1711,7 +1706,6 @@ var RetryError = class extends AISDKError5 {
1711
1706
  return AISDKError5.hasMarker(error, marker5);
1712
1707
  }
1713
1708
  };
1714
- _a5 = symbol5;
1715
1709
 
1716
1710
  // src/util/retry-with-exponential-backoff.ts
1717
1711
  function getRetryDelayInMs({
@@ -1719,8 +1713,7 @@ function getRetryDelayInMs({
1719
1713
  exponentialBackoffDelay
1720
1714
  }) {
1721
1715
  const headers = APICallError.isInstance(error) ? error.responseHeaders : APICallError.isInstance(error.cause) ? error.cause.responseHeaders : void 0;
1722
- if (!headers)
1723
- return exponentialBackoffDelay;
1716
+ if (!headers) return exponentialBackoffDelay;
1724
1717
  let ms;
1725
1718
  const retryAfterMs = headers["retry-after-ms"];
1726
1719
  if (retryAfterMs) {
@@ -1831,13 +1824,13 @@ function createNullLanguageModelUsage() {
1831
1824
  };
1832
1825
  }
1833
1826
  function addLanguageModelUsage(usage1, usage2) {
1834
- var _a12, _b, _c, _d, _e, _f, _g, _h, _i, _j;
1827
+ var _a12, _b12, _c, _d, _e, _f, _g, _h, _i, _j;
1835
1828
  return {
1836
1829
  inputTokens: addTokenCounts(usage1.inputTokens, usage2.inputTokens),
1837
1830
  inputTokenDetails: {
1838
1831
  noCacheTokens: addTokenCounts(
1839
1832
  (_a12 = usage1.inputTokenDetails) == null ? void 0 : _a12.noCacheTokens,
1840
- (_b = usage2.inputTokenDetails) == null ? void 0 : _b.noCacheTokens
1833
+ (_b12 = usage2.inputTokenDetails) == null ? void 0 : _b12.noCacheTokens
1841
1834
  ),
1842
1835
  cacheReadTokens: addTokenCounts(
1843
1836
  (_c = usage1.inputTokenDetails) == null ? void 0 : _c.cacheReadTokens,
@@ -1892,8 +1885,8 @@ import { AISDKError as AISDKError6 } from "@ai-sdk/provider";
1892
1885
  var name6 = "AI_InvalidToolApprovalError";
1893
1886
  var marker6 = `vercel.ai.error.${name6}`;
1894
1887
  var symbol6 = Symbol.for(marker6);
1895
- var _a6;
1896
- var InvalidToolApprovalError = class extends AISDKError6 {
1888
+ var _a6, _b6;
1889
+ var InvalidToolApprovalError = class extends (_b6 = AISDKError6, _a6 = symbol6, _b6) {
1897
1890
  constructor({ approvalId }) {
1898
1891
  super({
1899
1892
  name: name6,
@@ -1906,15 +1899,14 @@ var InvalidToolApprovalError = class extends AISDKError6 {
1906
1899
  return AISDKError6.hasMarker(error, marker6);
1907
1900
  }
1908
1901
  };
1909
- _a6 = symbol6;
1910
1902
 
1911
1903
  // src/error/invalid-tool-approval-signature-error.ts
1912
1904
  import { AISDKError as AISDKError7 } from "@ai-sdk/provider";
1913
1905
  var name7 = "AI_InvalidToolApprovalSignatureError";
1914
1906
  var marker7 = `vercel.ai.error.${name7}`;
1915
1907
  var symbol7 = Symbol.for(marker7);
1916
- var _a7;
1917
- var InvalidToolApprovalSignatureError = class extends AISDKError7 {
1908
+ var _a7, _b7;
1909
+ var InvalidToolApprovalSignatureError = class extends (_b7 = AISDKError7, _a7 = symbol7, _b7) {
1918
1910
  constructor({
1919
1911
  approvalId,
1920
1912
  toolCallId,
@@ -1932,15 +1924,14 @@ var InvalidToolApprovalSignatureError = class extends AISDKError7 {
1932
1924
  return AISDKError7.hasMarker(error, marker7);
1933
1925
  }
1934
1926
  };
1935
- _a7 = symbol7;
1936
1927
 
1937
1928
  // src/error/invalid-tool-input-error.ts
1938
1929
  import { AISDKError as AISDKError8, getErrorMessage as getErrorMessage2 } from "@ai-sdk/provider";
1939
1930
  var name8 = "AI_InvalidToolInputError";
1940
1931
  var marker8 = `vercel.ai.error.${name8}`;
1941
1932
  var symbol8 = Symbol.for(marker8);
1942
- var _a8;
1943
- var InvalidToolInputError = class extends AISDKError8 {
1933
+ var _a8, _b8;
1934
+ var InvalidToolInputError = class extends (_b8 = AISDKError8, _a8 = symbol8, _b8) {
1944
1935
  constructor({
1945
1936
  toolInput,
1946
1937
  toolName,
@@ -1956,15 +1947,14 @@ var InvalidToolInputError = class extends AISDKError8 {
1956
1947
  return AISDKError8.hasMarker(error, marker8);
1957
1948
  }
1958
1949
  };
1959
- _a8 = symbol8;
1960
1950
 
1961
1951
  // src/error/tool-call-not-found-for-approval-error.ts
1962
1952
  import { AISDKError as AISDKError9 } from "@ai-sdk/provider";
1963
1953
  var name9 = "AI_ToolCallNotFoundForApprovalError";
1964
1954
  var marker9 = `vercel.ai.error.${name9}`;
1965
1955
  var symbol9 = Symbol.for(marker9);
1966
- var _a9;
1967
- var ToolCallNotFoundForApprovalError = class extends AISDKError9 {
1956
+ var _a9, _b9;
1957
+ var ToolCallNotFoundForApprovalError = class extends (_b9 = AISDKError9, _a9 = symbol9, _b9) {
1968
1958
  constructor({
1969
1959
  toolCallId,
1970
1960
  approvalId
@@ -1981,15 +1971,14 @@ var ToolCallNotFoundForApprovalError = class extends AISDKError9 {
1981
1971
  return AISDKError9.hasMarker(error, marker9);
1982
1972
  }
1983
1973
  };
1984
- _a9 = symbol9;
1985
1974
 
1986
1975
  // src/error/no-such-tool-error.ts
1987
1976
  import { AISDKError as AISDKError10 } from "@ai-sdk/provider";
1988
1977
  var name10 = "AI_NoSuchToolError";
1989
1978
  var marker10 = `vercel.ai.error.${name10}`;
1990
1979
  var symbol10 = Symbol.for(marker10);
1991
- var _a10;
1992
- var NoSuchToolError = class extends AISDKError10 {
1980
+ var _a10, _b10;
1981
+ var NoSuchToolError = class extends (_b10 = AISDKError10, _a10 = symbol10, _b10) {
1993
1982
  constructor({
1994
1983
  toolName,
1995
1984
  availableTools = void 0,
@@ -2004,15 +1993,14 @@ var NoSuchToolError = class extends AISDKError10 {
2004
1993
  return AISDKError10.hasMarker(error, marker10);
2005
1994
  }
2006
1995
  };
2007
- _a10 = symbol10;
2008
1996
 
2009
1997
  // src/error/tool-call-repair-error.ts
2010
1998
  import { AISDKError as AISDKError11, getErrorMessage as getErrorMessage3 } from "@ai-sdk/provider";
2011
1999
  var name11 = "AI_ToolCallRepairError";
2012
2000
  var marker11 = `vercel.ai.error.${name11}`;
2013
2001
  var symbol11 = Symbol.for(marker11);
2014
- var _a11;
2015
- var ToolCallRepairError = class extends AISDKError11 {
2002
+ var _a11, _b11;
2003
+ var ToolCallRepairError = class extends (_b11 = AISDKError11, _a11 = symbol11, _b11) {
2016
2004
  constructor({
2017
2005
  cause,
2018
2006
  originalError,
@@ -2026,7 +2014,6 @@ var ToolCallRepairError = class extends AISDKError11 {
2026
2014
  return AISDKError11.hasMarker(error, marker11);
2027
2015
  }
2028
2016
  };
2029
- _a11 = symbol11;
2030
2017
 
2031
2018
  // src/error/unsupported-model-version-error.ts
2032
2019
  import { AISDKError as AISDKError12 } from "@ai-sdk/provider";
@@ -2074,8 +2061,7 @@ function asEmbeddingModelV3(model) {
2074
2061
  });
2075
2062
  return new Proxy(model, {
2076
2063
  get(target, prop) {
2077
- if (prop === "specificationVersion")
2078
- return "v3";
2064
+ if (prop === "specificationVersion") return "v3";
2079
2065
  return target[prop];
2080
2066
  }
2081
2067
  });
@@ -2089,8 +2075,7 @@ function asEmbeddingModelV4(model) {
2089
2075
  const v3Model = model.specificationVersion === "v2" ? asEmbeddingModelV3(model) : model;
2090
2076
  return new Proxy(v3Model, {
2091
2077
  get(target, prop) {
2092
- if (prop === "specificationVersion")
2093
- return "v4";
2078
+ if (prop === "specificationVersion") return "v4";
2094
2079
  return target[prop];
2095
2080
  }
2096
2081
  });
@@ -2107,8 +2092,7 @@ function asImageModelV3(model) {
2107
2092
  });
2108
2093
  return new Proxy(model, {
2109
2094
  get(target, prop) {
2110
- if (prop === "specificationVersion")
2111
- return "v3";
2095
+ if (prop === "specificationVersion") return "v3";
2112
2096
  return target[prop];
2113
2097
  }
2114
2098
  });
@@ -2122,8 +2106,7 @@ function asImageModelV4(model) {
2122
2106
  const v3Model = model.specificationVersion === "v2" ? asImageModelV3(model) : model;
2123
2107
  return new Proxy(v3Model, {
2124
2108
  get(target, prop) {
2125
- if (prop === "specificationVersion")
2126
- return "v4";
2109
+ if (prop === "specificationVersion") return "v4";
2127
2110
  return target[prop];
2128
2111
  }
2129
2112
  });
@@ -2216,8 +2199,7 @@ function asLanguageModelV4(model) {
2216
2199
  const v3Model = model.specificationVersion === "v2" ? asLanguageModelV3(model) : model;
2217
2200
  return new Proxy(v3Model, {
2218
2201
  get(target, prop) {
2219
- if (prop === "specificationVersion")
2220
- return "v4";
2202
+ if (prop === "specificationVersion") return "v4";
2221
2203
  return target[prop];
2222
2204
  }
2223
2205
  });
@@ -2230,8 +2212,7 @@ function asRerankingModelV4(model) {
2230
2212
  }
2231
2213
  return new Proxy(model, {
2232
2214
  get(target, prop) {
2233
- if (prop === "specificationVersion")
2234
- return "v4";
2215
+ if (prop === "specificationVersion") return "v4";
2235
2216
  return target[prop];
2236
2217
  }
2237
2218
  });
@@ -2248,8 +2229,7 @@ function asSpeechModelV3(model) {
2248
2229
  });
2249
2230
  return new Proxy(model, {
2250
2231
  get(target, prop) {
2251
- if (prop === "specificationVersion")
2252
- return "v3";
2232
+ if (prop === "specificationVersion") return "v3";
2253
2233
  return target[prop];
2254
2234
  }
2255
2235
  });
@@ -2263,8 +2243,7 @@ function asSpeechModelV4(model) {
2263
2243
  const v3Model = model.specificationVersion === "v2" ? asSpeechModelV3(model) : model;
2264
2244
  return new Proxy(v3Model, {
2265
2245
  get(target, prop) {
2266
- if (prop === "specificationVersion")
2267
- return "v4";
2246
+ if (prop === "specificationVersion") return "v4";
2268
2247
  return target[prop];
2269
2248
  }
2270
2249
  });
@@ -2281,8 +2260,7 @@ function asTranscriptionModelV3(model) {
2281
2260
  });
2282
2261
  return new Proxy(model, {
2283
2262
  get(target, prop) {
2284
- if (prop === "specificationVersion")
2285
- return "v3";
2263
+ if (prop === "specificationVersion") return "v3";
2286
2264
  return target[prop];
2287
2265
  }
2288
2266
  });
@@ -2296,8 +2274,7 @@ function asTranscriptionModelV4(model) {
2296
2274
  const v3Model = model.specificationVersion === "v2" ? asTranscriptionModelV3(model) : model;
2297
2275
  return new Proxy(v3Model, {
2298
2276
  get(target, prop) {
2299
- if (prop === "specificationVersion")
2300
- return "v4";
2277
+ if (prop === "specificationVersion") return "v4";
2301
2278
  return target[prop];
2302
2279
  }
2303
2280
  });
@@ -2557,7 +2534,7 @@ function createTelemetryDispatcher({
2557
2534
  var _a12;
2558
2535
  return (_a12 = integration[key]) == null ? void 0 : _a12.bind(integration);
2559
2536
  }).filter(Boolean).map(
2560
- (callback) => (event) => callback(augmentEvent(event, telemetryMetadata))
2537
+ (callback) => ((event) => callback(augmentEvent(event, telemetryMetadata)))
2561
2538
  );
2562
2539
  const mergedIntegrationCallback = mergeCallbacks(...integrationCallbacks);
2563
2540
  return async (event) => {
@@ -3295,7 +3272,7 @@ function canonicalJSON(value) {
3295
3272
  return JSON.stringify(value);
3296
3273
  }
3297
3274
  if (Array.isArray(value)) {
3298
- return `[${value.map(canonicalJSON).join(",")}]`;
3275
+ return `[${value.map((element) => element === void 0 ? "null" : canonicalJSON(element)).join(",")}]`;
3299
3276
  }
3300
3277
  const keys = Object.keys(value).sort();
3301
3278
  const entries = keys.map(