@crvouga/mockingbird-service-resend 3.10.3 → 3.10.4

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,13 @@
1
1
  # Changelog — @crvouga/mockingbird-service-resend
2
2
 
3
+ ## 3.10.4 (2026-11-02)
4
+
5
+ ### Fixes and improvements
6
+
7
+ - stop walkSchema recursing forever on a self-referential $ref ([69464a9](https://github.com/crvouga/mockingbird/commit/69464a9d9e7f468c5e1095125108d4d3d5515431))
8
+ - densify sparse bracket arrays by their written indices ([84a28cb](https://github.com/crvouga/mockingbird/commit/84a28cb182e3d7df91102897f0fc11fca714ba5f))
9
+ - do not save idempotent results for requests that fail validation ([f2161aa](https://github.com/crvouga/mockingbird/commit/f2161aadeae30bcc586e26131da12a7030bdeb11))
10
+
3
11
  ## 3.10.3 (2026-11-02)
4
12
 
5
13
  ### Fixes and improvements
@@ -9,7 +9,7 @@ import {
9
9
  parseFaultHeader,
10
10
  resolveAdminPrefix,
11
11
  restoreClock
12
- } from "./chunk-YY6DKXNX.js";
12
+ } from "./chunk-P22KUPH7.js";
13
13
 
14
14
  // ../../adapters/node/dist/cli.js
15
15
  import { readFile as readFile5 } from "node:fs/promises";
@@ -3057,7 +3057,7 @@ async function preflightFleet(config, options) {
3057
3057
  break;
3058
3058
  }
3059
3059
  }
3060
- targets.set(name, { ...target, packageVersion: packageVersion ?? "3.10.3" });
3060
+ targets.set(name, { ...target, packageVersion: packageVersion ?? "3.10.4" });
3061
3061
  } catch (error) {
3062
3062
  throw new Error(`service ${name}: ${error instanceof Error ? error.message : String(error)}`, { cause: error });
3063
3063
  }
@@ -5105,4 +5105,4 @@ export {
5105
5105
  createServer2 as createServer,
5106
5106
  serveTarget
5107
5107
  };
5108
- //# sourceMappingURL=chunk-AOODD3NU.js.map
5108
+ //# sourceMappingURL=chunk-KZ3R7R7R.js.map
@@ -813,6 +813,7 @@ var parsePath = (rawKey) => {
813
813
  return path;
814
814
  };
815
815
  var isIndex = (segment) => /^(0|[1-9][0-9]*)$/.test(segment);
816
+ var MAX_ARRAY_INDEX = 4294967294;
816
817
  var put = (target, key, value) => {
817
818
  if (key === "__proto__") {
818
819
  Object.defineProperty(target, key, {
@@ -875,8 +876,17 @@ var decodeFormPairs = (pairs) => {
875
876
  var densify = (value) => {
876
877
  if (typeof value === "string")
877
878
  return value;
878
- if (Array.isArray(value))
879
- return value.filter((item) => item !== void 0).map(densify);
879
+ if (Array.isArray(value)) {
880
+ const dense = [];
881
+ for (const key of Object.keys(value)) {
882
+ if (!isIndex(key) || Number(key) > MAX_ARRAY_INDEX)
883
+ continue;
884
+ const item = value[Number(key)];
885
+ if (item !== void 0)
886
+ dense.push(densify(item));
887
+ }
888
+ return dense;
889
+ }
880
890
  const out = {};
881
891
  for (const [key, item] of Object.entries(value))
882
892
  put(out, key, densify(item));
@@ -3353,7 +3363,8 @@ var IdempotencyStore = class {
3353
3363
  /**
3354
3364
  * Run `handler` once per `key`. `fingerprint` identifies the request's parameters (e.g.
3355
3365
  * the method, path and canonical body). Only `replayable` responses are stored (default:
3356
- * every status below 500, as Stripe does), so a transient failure can be retried.
3366
+ * every status below 500), so a transient failure can be retried. `replayable` also sees the
3367
+ * response, for vendors that decide from more than the status.
3357
3368
  */
3358
3369
  async run(key, fingerprint, errors, handler, replayable = (status) => status < 500) {
3359
3370
  const slot = `${this.namespace}\0${key}`;
@@ -3375,7 +3386,7 @@ var IdempotencyStore = class {
3375
3386
  }));
3376
3387
  try {
3377
3388
  const response = await handler();
3378
- if (!replayable(response.status))
3389
+ if (!replayable(response.status, response))
3379
3390
  return response;
3380
3391
  const body = await response.clone().text();
3381
3392
  this.responses.insert(key, {
@@ -4185,7 +4196,7 @@ var stateAdminRoutes = (routes) => {
4185
4196
  };
4186
4197
 
4187
4198
  // ../core/dist/version.js
4188
- var PACKAGE_VERSION = true ? "3.10.3" : UNRELEASED_VERSION;
4199
+ var PACKAGE_VERSION = true ? "3.10.4" : UNRELEASED_VERSION;
4189
4200
 
4190
4201
  // ../core/dist/signing.js
4191
4202
  var encoder = new TextEncoder();
@@ -8810,4 +8821,4 @@ export {
8810
8821
  * Copyright (c) 2021 - present, Yusuke Wada and Hono contributors
8811
8822
  * MIT license: see THIRD_PARTY_NOTICES.md in the repository and npm packages.
8812
8823
  */
8813
- //# sourceMappingURL=chunk-YY6DKXNX.js.map
8824
+ //# sourceMappingURL=chunk-P22KUPH7.js.map