@fedify/fedify 1.6.1 → 1.7.0-dev.887

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.
Files changed (80) hide show
  1. package/dist/{actor-BPpr69o_.js → actor-D-9qJ3V5.js} +3 -3
  2. package/dist/{actor-BRHV5zJ-.js → actor-DzovCADh.js} +179 -179
  3. package/dist/{authdocloader-BZFGEwwq.js → authdocloader-1prk3606.js} +3 -3
  4. package/dist/{authdocloader-BekmxF5u.js → authdocloader-DiYcSM7x.js} +3 -3
  5. package/dist/{builder-6d3Dz5mx.js → builder-DV1la2SX.js} +3 -3
  6. package/dist/{client-DQIcIlJU.js → client-DSy0ry-S.js} +1 -1
  7. package/dist/compat/mod.d.ts +3 -3
  8. package/dist/compat/transformers.test.js +17 -17
  9. package/dist/{context-DRhhOsMk.d.ts → context-DdICJaUT.d.ts} +1 -1
  10. package/dist/{context-hZKmfLXY.js → context-b6D90GV5.js} +2 -2
  11. package/dist/{denokv-B_GFWjrl.js → denokv-CvROlGYX.js} +5 -0
  12. package/dist/{docloader-CFuioPSY.js → docloader-DnHtxVIk.js} +1 -1
  13. package/dist/{docloader-COHp0QgR.js → docloader-DzFFH1W2.js} +1 -1
  14. package/dist/federation/builder.test.js +4 -4
  15. package/dist/federation/handler.test.js +19 -19
  16. package/dist/federation/inbox.test.js +3 -3
  17. package/dist/federation/keycache.test.js +3 -3
  18. package/dist/federation/middleware.test.js +154 -18
  19. package/dist/federation/mod.d.ts +2 -2
  20. package/dist/federation/mod.js +11 -11
  21. package/dist/federation/mq.test.js +59 -3
  22. package/dist/federation/send.test.js +9 -9
  23. package/dist/{federation-3B6BDKCK.js → federation-lZOZyLAo.js} +11 -0
  24. package/dist/{http-C0ueQROD.js → http-Jpv_4K_J.js} +3 -3
  25. package/dist/{http-D523RJVL.js → http-mPUwRCsb.js} +3 -3
  26. package/dist/{inbox-5eiuvsES.js → inbox-CZFKnWFY.js} +2 -2
  27. package/dist/{key-D5LOMkXp.js → key-BlmNTw5K.js} +3 -3
  28. package/dist/{key-CrAjL8Th.js → key-Cb0qglhB.js} +5 -5
  29. package/dist/{key-PLMRBhyq.js → key-CvsMGSBN.js} +4 -4
  30. package/dist/{key-DlqwkdF6.js → key-DZsyKwhm.js} +2 -2
  31. package/dist/{keycache-CyjJMAa8.js → keycache-K_JZIBdY.js} +1 -1
  32. package/dist/{keys-DQ2kNLQQ.js → keys-DuH2TQta.js} +1 -1
  33. package/dist/{ld-rLvDkwUL.js → ld-9zoQoByu.js} +3 -3
  34. package/dist/{lookup-oLKN3HSl.js → lookup-Bd7kzvi0.js} +1 -1
  35. package/dist/{lookup-B4JQ9FvE.js → lookup-Bd837Vtz.js} +1 -1
  36. package/dist/{lookup-CRjlBmyh.js → lookup-DW-c2ipm.js} +3 -3
  37. package/dist/{middleware-83KxItnw.js → middleware-BHUKqYhG.js} +31 -10
  38. package/dist/{middleware-B0uCxn1o.js → middleware-BLRKgoj9.js} +36 -15
  39. package/dist/middleware-CuoU6TNS.js +33 -0
  40. package/dist/middleware-Y-adfimv.js +17 -0
  41. package/dist/{mod-CgmTOt4z.d.ts → mod-5orySGMZ.d.ts} +1 -1
  42. package/dist/mod.d.ts +3 -3
  43. package/dist/mod.js +11 -11
  44. package/dist/{mq-nceTGCuc.d.ts → mq-DYKDDJmp.d.ts} +20 -0
  45. package/dist/nodeinfo/client.test.js +2 -2
  46. package/dist/nodeinfo/handler.test.js +18 -18
  47. package/dist/nodeinfo/mod.js +2 -2
  48. package/dist/{owner-B5sR7_Qw.js → owner-DKkM9XBB.js} +3 -3
  49. package/dist/{proof-AL0P3h_I.js → proof-8JRtgDVK.js} +3 -3
  50. package/dist/{proof-BVprztx-.js → proof-vt6oUeU5.js} +3 -3
  51. package/dist/runtime/authdocloader.test.js +8 -8
  52. package/dist/runtime/docloader.test.js +1 -1
  53. package/dist/runtime/key.test.js +5 -5
  54. package/dist/runtime/mod.js +6 -6
  55. package/dist/{send-BjLRJdee.js → send-DGxO2l9M.js} +2 -2
  56. package/dist/sig/http.test.js +7 -7
  57. package/dist/sig/key.test.js +6 -6
  58. package/dist/sig/ld.test.js +7 -7
  59. package/dist/sig/mod.js +6 -6
  60. package/dist/sig/owner.test.js +8 -8
  61. package/dist/sig/proof.test.js +7 -7
  62. package/dist/{types-DegZ8FlT.js → types-BPJDfFPR.js} +1 -1
  63. package/dist/vocab/actor.test.js +4 -4
  64. package/dist/vocab/lookup.test.js +4 -4
  65. package/dist/vocab/mod.js +4 -4
  66. package/dist/vocab/type.test.js +2 -2
  67. package/dist/vocab/vocab.test.js +3 -3
  68. package/dist/{vocab-uVrsB2D1.js → vocab-BEmVtvJ1.js} +178 -178
  69. package/dist/{vocab-BY68bjvE.js → vocab-s_hECEtk.js} +3 -3
  70. package/dist/webfinger/handler.test.js +18 -18
  71. package/dist/webfinger/lookup.test.js +2 -2
  72. package/dist/webfinger/mod.js +2 -2
  73. package/dist/x/cfworkers.d.ts +7 -1
  74. package/dist/x/cfworkers.js +6 -0
  75. package/dist/x/cfworkers.test.js +6 -0
  76. package/dist/x/hono.d.ts +2 -2
  77. package/dist/x/sveltekit.d.ts +2 -2
  78. package/package.json +1 -1
  79. package/dist/middleware-CtQDr_8l.js +0 -17
  80. package/dist/middleware-DbguxGNt.js +0 -33
@@ -4,11 +4,11 @@
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
6
  import { assertEquals } from "../assert_equals-Dnj7ejjL.js";
7
- import "../assert-YJk-1DlZ.js";
7
+ import { assert } from "../assert-YJk-1DlZ.js";
8
8
  import "../assert_instance_of-DBIoG5k7.js";
9
9
  import { test } from "../testing-jcGLO9Lp.js";
10
10
  import { assertGreater, assertGreaterOrEqual } from "../std__assert-CHXwj7zk.js";
11
- import "../assert_rejects-BZjUwo62.js";
11
+ import { assertFalse } from "../assert_rejects-BZjUwo62.js";
12
12
  import "../assert_is_error-jyzqjHud.js";
13
13
  import "../assert_not_equals-wx-SRs4i.js";
14
14
  import "../assert_throws-gBPv3v2V.js";
@@ -27,6 +27,11 @@ var InProcessMessageQueue = class {
27
27
  #monitors;
28
28
  #pollIntervalMs;
29
29
  /**
30
+ * In-process message queue does not provide native retry mechanisms.
31
+ * @since 1.7.0
32
+ */
33
+ nativeRetrial = false;
34
+ /**
30
35
  * Constructs a new {@link InProcessMessageQueue} with the given options.
31
36
  * @param options Additional options for the in-process message queue.
32
37
  */
@@ -107,6 +112,11 @@ var ParallelMessageQueue = class ParallelMessageQueue {
107
112
  queue;
108
113
  workers;
109
114
  /**
115
+ * Inherits the native retry capability from the wrapped queue.
116
+ * @since 1.7.0
117
+ */
118
+ nativeRetrial;
119
+ /**
110
120
  * Constructs a new {@link ParallelMessageQueue} with the given queue and
111
121
  * number of workers.
112
122
  * @param queue The message queue to use under the hood. Note that
@@ -119,6 +129,7 @@ var ParallelMessageQueue = class ParallelMessageQueue {
119
129
  if (queue instanceof ParallelMessageQueue) throw new TypeError("Cannot nest ParallelMessageQueue.");
120
130
  this.queue = queue;
121
131
  this.workers = workers;
132
+ this.nativeRetrial = queue.nativeRetrial;
122
133
  }
123
134
  enqueue(message, options) {
124
135
  return this.queue.enqueue(message, options);
@@ -159,6 +170,9 @@ var ParallelMessageQueue = class ParallelMessageQueue {
159
170
  //#region federation/mq.test.ts
160
171
  test("InProcessMessageQueue", async (t) => {
161
172
  const mq = new InProcessMessageQueue();
173
+ await t.step("nativeRetrial property", () => {
174
+ assertFalse(mq.nativeRetrial);
175
+ });
162
176
  const messages = [];
163
177
  const controller = new AbortController();
164
178
  const listening = mq.listen((message) => {
@@ -209,9 +223,48 @@ test("InProcessMessageQueue", async (t) => {
209
223
  controller.abort();
210
224
  await listening;
211
225
  });
226
+ test("MessageQueue.nativeRetrial", async (t) => {
227
+ if ("Deno" in globalThis && "openKv" in globalThis.Deno && typeof globalThis.Deno.openKv === "function") await t.step("DenoKvMessageQueue", async () => {
228
+ const { DenoKvMessageQueue } = await import("../denokv-CvROlGYX.js");
229
+ const mq = new DenoKvMessageQueue(await globalThis.Deno.openKv(":memory:"));
230
+ assert(mq.nativeRetrial);
231
+ if (Symbol.dispose in mq) {
232
+ const dispose = mq[Symbol.dispose];
233
+ if (typeof dispose === "function") dispose.call(mq);
234
+ }
235
+ });
236
+ await t.step("WorkersMessageQueue mock", () => {
237
+ class MockQueue {
238
+ send(_message, _options) {
239
+ return Promise.resolve();
240
+ }
241
+ sendBatch(_messages, _options) {
242
+ return Promise.resolve();
243
+ }
244
+ }
245
+ class TestWorkersMessageQueue {
246
+ nativeRetrial = true;
247
+ #queue;
248
+ constructor(queue) {
249
+ this.#queue = queue;
250
+ }
251
+ enqueue(message) {
252
+ return this.#queue.send(message);
253
+ }
254
+ enqueueMany(messages) {
255
+ return this.#queue.sendBatch(messages);
256
+ }
257
+ listen() {
258
+ throw new TypeError("WorkersMessageQueue does not support listen()");
259
+ }
260
+ }
261
+ const mq = new TestWorkersMessageQueue(new MockQueue());
262
+ assert(mq.nativeRetrial);
263
+ });
264
+ });
212
265
  const queues = { InProcessMessageQueue: () => Promise.resolve(new InProcessMessageQueue()) };
213
266
  if ("Deno" in globalThis && "openKv" in globalThis.Deno && typeof globalThis.Deno.openKv === "function") {
214
- const { DenoKvMessageQueue } = await import("../denokv-B_GFWjrl.js");
267
+ const { DenoKvMessageQueue } = await import("../denokv-CvROlGYX.js");
215
268
  queues.DenoKvMessageQueue = async () => new DenoKvMessageQueue(await globalThis.Deno.openKv(":memory:"));
216
269
  }
217
270
  for (const mqName in queues) test({
@@ -220,6 +273,9 @@ for (const mqName in queues) test({
220
273
  async fn(t) {
221
274
  const mq = await queues[mqName]();
222
275
  const workers = new ParallelMessageQueue(mq, 5);
276
+ await t.step("nativeRetrial property inheritance", () => {
277
+ assertEquals(workers.nativeRetrial, mq.nativeRetrial);
278
+ });
223
279
  const messages = [];
224
280
  const controller = new AbortController();
225
281
  const listening = workers.listen(async (message) => {
@@ -6,18 +6,18 @@
6
6
  import { assertEquals } from "../assert_equals-Dnj7ejjL.js";
7
7
  import { assert } from "../assert-YJk-1DlZ.js";
8
8
  import "../assert_instance_of-DBIoG5k7.js";
9
- import "../docloader-CFuioPSY.js";
9
+ import "../docloader-DnHtxVIk.js";
10
10
  import "../url-kTAI6_KP.js";
11
11
  import "../multibase-DeCHcK8L.js";
12
- import { Activity, Application, Endpoints, Group, Person, Service } from "../vocab-uVrsB2D1.js";
12
+ import { Activity, Application, Endpoints, Group, Person, Service } from "../vocab-BEmVtvJ1.js";
13
13
  import "../langstr-DbWheeIS.js";
14
- import "../lookup-oLKN3HSl.js";
14
+ import "../lookup-Bd7kzvi0.js";
15
15
  import "../type-D2s5lmbZ.js";
16
- import "../actor-BPpr69o_.js";
17
- import "../key-D5LOMkXp.js";
18
- import { verifyRequest } from "../http-D523RJVL.js";
19
- import { doesActorOwnKey } from "../owner-B5sR7_Qw.js";
20
- import { extractInboxes, sendActivity } from "../send-BjLRJdee.js";
16
+ import "../actor-D-9qJ3V5.js";
17
+ import "../key-BlmNTw5K.js";
18
+ import { verifyRequest } from "../http-mPUwRCsb.js";
19
+ import { doesActorOwnKey } from "../owner-DKkM9XBB.js";
20
+ import { extractInboxes, sendActivity } from "../send-DGxO2l9M.js";
21
21
  import { test } from "../testing-jcGLO9Lp.js";
22
22
  import "../std__assert-CHXwj7zk.js";
23
23
  import { assertFalse, assertRejects } from "../assert_rejects-BZjUwo62.js";
@@ -25,7 +25,7 @@ import "../assert_is_error-jyzqjHud.js";
25
25
  import { assertNotEquals } from "../assert_not_equals-wx-SRs4i.js";
26
26
  import "../assert_throws-gBPv3v2V.js";
27
27
  import { mockDocumentLoader } from "../docloader-09nVWLAZ.js";
28
- import { ed25519Multikey, ed25519PrivateKey, rsaPrivateKey2, rsaPublicKey2 } from "../keys-DQ2kNLQQ.js";
28
+ import { ed25519Multikey, ed25519PrivateKey, rsaPrivateKey2, rsaPublicKey2 } from "../keys-DuH2TQta.js";
29
29
  import { esm_default } from "../esm-Btx3E8og.js";
30
30
 
31
31
  //#region federation/send.test.ts
@@ -61,6 +61,11 @@ var InProcessMessageQueue = class {
61
61
  #monitors;
62
62
  #pollIntervalMs;
63
63
  /**
64
+ * In-process message queue does not provide native retry mechanisms.
65
+ * @since 1.7.0
66
+ */
67
+ nativeRetrial = false;
68
+ /**
64
69
  * Constructs a new {@link InProcessMessageQueue} with the given options.
65
70
  * @param options Additional options for the in-process message queue.
66
71
  */
@@ -141,6 +146,11 @@ var ParallelMessageQueue = class ParallelMessageQueue {
141
146
  queue;
142
147
  workers;
143
148
  /**
149
+ * Inherits the native retry capability from the wrapped queue.
150
+ * @since 1.7.0
151
+ */
152
+ nativeRetrial;
153
+ /**
144
154
  * Constructs a new {@link ParallelMessageQueue} with the given queue and
145
155
  * number of workers.
146
156
  * @param queue The message queue to use under the hood. Note that
@@ -153,6 +163,7 @@ var ParallelMessageQueue = class ParallelMessageQueue {
153
163
  if (queue instanceof ParallelMessageQueue) throw new TypeError("Cannot nest ParallelMessageQueue.");
154
164
  this.queue = queue;
155
165
  this.workers = workers;
166
+ this.nativeRetrial = queue.nativeRetrial;
156
167
  }
157
168
  enqueue(message, options) {
158
169
  return this.queue.enqueue(message, options);
@@ -2,9 +2,9 @@
2
2
  import { Temporal } from "@js-temporal/polyfill";
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
 
5
- import { deno_default } from "./docloader-COHp0QgR.js";
6
- import { CryptographicKey } from "./actor-BRHV5zJ-.js";
7
- import { fetchKey, validateCryptoKey } from "./key-DlqwkdF6.js";
5
+ import { deno_default } from "./docloader-DzFFH1W2.js";
6
+ import { CryptographicKey } from "./actor-DzovCADh.js";
7
+ import { fetchKey, validateCryptoKey } from "./key-DZsyKwhm.js";
8
8
  import { getLogger } from "@logtape/logtape";
9
9
  import { SpanStatusCode, trace } from "@opentelemetry/api";
10
10
  import { decodeBase64, encodeBase64 } from "byte-encodings/base64";
@@ -3,9 +3,9 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { deno_default } from "./docloader-CFuioPSY.js";
7
- import { CryptographicKey } from "./vocab-uVrsB2D1.js";
8
- import { fetchKey, validateCryptoKey } from "./key-D5LOMkXp.js";
6
+ import { deno_default } from "./docloader-DnHtxVIk.js";
7
+ import { CryptographicKey } from "./vocab-BEmVtvJ1.js";
8
+ import { fetchKey, validateCryptoKey } from "./key-BlmNTw5K.js";
9
9
  import { getLogger } from "@logtape/logtape";
10
10
  import { SpanStatusCode, trace } from "@opentelemetry/api";
11
11
  import { ATTR_HTTP_REQUEST_HEADER, ATTR_HTTP_REQUEST_METHOD, ATTR_URL_FULL } from "@opentelemetry/semantic-conventions";
@@ -3,8 +3,8 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { deno_default } from "./docloader-CFuioPSY.js";
7
- import { Activity } from "./vocab-uVrsB2D1.js";
6
+ import { deno_default } from "./docloader-DnHtxVIk.js";
7
+ import { Activity } from "./vocab-BEmVtvJ1.js";
8
8
  import { getTypeId } from "./type-D2s5lmbZ.js";
9
9
  import { getLogger } from "@logtape/logtape";
10
10
  import { SpanKind, SpanStatusCode, context, propagation, trace } from "@opentelemetry/api";
@@ -3,9 +3,9 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { deno_default, getDocumentLoader } from "./docloader-CFuioPSY.js";
7
- import { CryptographicKey, Object as Object$1 } from "./vocab-uVrsB2D1.js";
8
- import { isActor } from "./actor-BPpr69o_.js";
6
+ import { deno_default, getDocumentLoader } from "./docloader-DnHtxVIk.js";
7
+ import { CryptographicKey, Object as Object$1 } from "./vocab-BEmVtvJ1.js";
8
+ import { isActor } from "./actor-D-9qJ3V5.js";
9
9
  import { getLogger } from "@logtape/logtape";
10
10
  import { SpanKind, SpanStatusCode, trace } from "@opentelemetry/api";
11
11
 
@@ -3,14 +3,14 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import "./docloader-CFuioPSY.js";
6
+ import "./docloader-DnHtxVIk.js";
7
7
  import "./url-kTAI6_KP.js";
8
8
  import "./multibase-DeCHcK8L.js";
9
- import "./vocab-uVrsB2D1.js";
9
+ import "./vocab-BEmVtvJ1.js";
10
10
  import "./langstr-DbWheeIS.js";
11
- import "./lookup-oLKN3HSl.js";
11
+ import "./lookup-Bd7kzvi0.js";
12
12
  import "./type-D2s5lmbZ.js";
13
- import "./actor-BPpr69o_.js";
14
- import { exportJwk, fetchKey, generateCryptoKeyPair, importJwk, validateCryptoKey } from "./key-D5LOMkXp.js";
13
+ import "./actor-D-9qJ3V5.js";
14
+ import { exportJwk, fetchKey, generateCryptoKeyPair, importJwk, validateCryptoKey } from "./key-BlmNTw5K.js";
15
15
 
16
16
  export { validateCryptoKey };
@@ -2,9 +2,9 @@
2
2
  import { Temporal } from "@js-temporal/polyfill";
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
 
5
- import "./docloader-COHp0QgR.js";
6
- import "./actor-BRHV5zJ-.js";
7
- import "./lookup-B4JQ9FvE.js";
8
- import { exportJwk, fetchKey, generateCryptoKeyPair, importJwk, validateCryptoKey } from "./key-DlqwkdF6.js";
5
+ import "./docloader-DzFFH1W2.js";
6
+ import "./actor-DzovCADh.js";
7
+ import "./lookup-Bd837Vtz.js";
8
+ import { exportJwk, fetchKey, generateCryptoKeyPair, importJwk, validateCryptoKey } from "./key-DZsyKwhm.js";
9
9
 
10
10
  export { validateCryptoKey };
@@ -2,8 +2,8 @@
2
2
  import { Temporal } from "@js-temporal/polyfill";
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
 
5
- import { deno_default, getDocumentLoader } from "./docloader-COHp0QgR.js";
6
- import { CryptographicKey, Object as Object$1, isActor } from "./actor-BRHV5zJ-.js";
5
+ import { deno_default, getDocumentLoader } from "./docloader-DzFFH1W2.js";
6
+ import { CryptographicKey, Object as Object$1, isActor } from "./actor-DzovCADh.js";
7
7
  import { getLogger } from "@logtape/logtape";
8
8
  import { SpanKind, SpanStatusCode, trace } from "@opentelemetry/api";
9
9
 
@@ -3,7 +3,7 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { CryptographicKey, Multikey } from "./vocab-uVrsB2D1.js";
6
+ import { CryptographicKey, Multikey } from "./vocab-BEmVtvJ1.js";
7
7
 
8
8
  //#region federation/keycache.ts
9
9
  var KvKeyCache = class {
@@ -3,7 +3,7 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { CryptographicKey, Multikey, importSpki } from "./vocab-uVrsB2D1.js";
6
+ import { CryptographicKey, Multikey, importSpki } from "./vocab-BEmVtvJ1.js";
7
7
 
8
8
  //#region testing/keys.ts
9
9
  const rsaPublicKey1 = new CryptographicKey({
@@ -3,10 +3,10 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { deno_default, getDocumentLoader } from "./docloader-CFuioPSY.js";
7
- import { Activity, CryptographicKey, Object as Object$1 } from "./vocab-uVrsB2D1.js";
6
+ import { deno_default, getDocumentLoader } from "./docloader-DnHtxVIk.js";
7
+ import { Activity, CryptographicKey, Object as Object$1 } from "./vocab-BEmVtvJ1.js";
8
8
  import { getTypeId } from "./type-D2s5lmbZ.js";
9
- import { fetchKey, validateCryptoKey } from "./key-D5LOMkXp.js";
9
+ import { fetchKey, validateCryptoKey } from "./key-BlmNTw5K.js";
10
10
  import { getLogger } from "@logtape/logtape";
11
11
  import { SpanStatusCode, trace } from "@opentelemetry/api";
12
12
  import { decodeBase64, encodeBase64 } from "byte-encodings/base64";
@@ -3,7 +3,7 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { deno_default, getUserAgent } from "./docloader-CFuioPSY.js";
6
+ import { deno_default, getUserAgent } from "./docloader-DnHtxVIk.js";
7
7
  import { UrlError, validatePublicUrl } from "./url-kTAI6_KP.js";
8
8
  import { getLogger } from "@logtape/logtape";
9
9
  import { SpanKind, SpanStatusCode, trace } from "@opentelemetry/api";
@@ -2,7 +2,7 @@
2
2
  import { Temporal } from "@js-temporal/polyfill";
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
 
5
- import { UrlError, deno_default, getUserAgent, validatePublicUrl } from "./docloader-COHp0QgR.js";
5
+ import { UrlError, deno_default, getUserAgent, validatePublicUrl } from "./docloader-DzFFH1W2.js";
6
6
  import { getLogger } from "@logtape/logtape";
7
7
  import { SpanKind, SpanStatusCode, trace } from "@opentelemetry/api";
8
8
 
@@ -3,9 +3,9 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { deno_default, getDocumentLoader } from "./docloader-CFuioPSY.js";
7
- import { Object as Object$1 } from "./vocab-uVrsB2D1.js";
8
- import { lookupWebFinger } from "./lookup-oLKN3HSl.js";
6
+ import { deno_default, getDocumentLoader } from "./docloader-DnHtxVIk.js";
7
+ import { Object as Object$1 } from "./vocab-BEmVtvJ1.js";
8
+ import { lookupWebFinger } from "./lookup-Bd7kzvi0.js";
9
9
  import { getTypeId } from "./type-D2s5lmbZ.js";
10
10
  import { getLogger } from "@logtape/logtape";
11
11
  import { SpanStatusCode, trace } from "@opentelemetry/api";
@@ -3,15 +3,15 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
 
5
5
  import { getDefaultActivityTransformers } from "./transformers-ghwJuzGY.js";
6
- import { deno_default, getDocumentLoader, kvCache } from "./docloader-COHp0QgR.js";
7
- import { Activity, CryptographicKey, Link, Multikey, Object as Object$1, OrderedCollection, OrderedCollectionPage, getTypeId } from "./actor-BRHV5zJ-.js";
8
- import { lookupWebFinger } from "./lookup-B4JQ9FvE.js";
9
- import { exportJwk, importJwk, validateCryptoKey } from "./key-DlqwkdF6.js";
10
- import { doubleKnock, verifyRequest } from "./http-C0ueQROD.js";
11
- import { detachSignature, doesActorOwnKey, getKeyOwner, hasSignature, signJsonLd, signObject, verifyJsonLd, verifyObject } from "./proof-AL0P3h_I.js";
12
- import { getNodeInfo, nodeInfoToJson } from "./types-DegZ8FlT.js";
13
- import { getAuthenticatedDocumentLoader } from "./authdocloader-BekmxF5u.js";
14
- import { lookupObject, traverseCollection } from "./vocab-BY68bjvE.js";
6
+ import { deno_default, getDocumentLoader, kvCache } from "./docloader-DzFFH1W2.js";
7
+ import { Activity, CryptographicKey, Link, Multikey, Object as Object$1, OrderedCollection, OrderedCollectionPage, getTypeId } from "./actor-DzovCADh.js";
8
+ import { lookupWebFinger } from "./lookup-Bd837Vtz.js";
9
+ import { exportJwk, importJwk, validateCryptoKey } from "./key-DZsyKwhm.js";
10
+ import { doubleKnock, verifyRequest } from "./http-Jpv_4K_J.js";
11
+ import { detachSignature, doesActorOwnKey, getKeyOwner, hasSignature, signJsonLd, signObject, verifyJsonLd, verifyObject } from "./proof-8JRtgDVK.js";
12
+ import { getNodeInfo, nodeInfoToJson } from "./types-BPJDfFPR.js";
13
+ import { getAuthenticatedDocumentLoader } from "./authdocloader-DiYcSM7x.js";
14
+ import { lookupObject, traverseCollection } from "./vocab-s_hECEtk.js";
15
15
  import { getLogger, withContext } from "@logtape/logtape";
16
16
  import { SpanKind, SpanStatusCode, context, propagation, trace } from "@opentelemetry/api";
17
17
  import { encodeHex } from "byte-encodings/hex";
@@ -312,7 +312,7 @@ var FederationBuilderImpl = class {
312
312
  this.objectTypeIds = {};
313
313
  }
314
314
  async build(options) {
315
- const { FederationImpl: FederationImpl$1 } = await import("./middleware-CtQDr_8l.js");
315
+ const { FederationImpl: FederationImpl$1 } = await import("./middleware-Y-adfimv.js");
316
316
  const f = new FederationImpl$1(options);
317
317
  const trailingSlashInsensitiveValue = f.router.trailingSlashInsensitive;
318
318
  f.router = this.router.clone();
@@ -2050,6 +2050,13 @@ var FederationImpl = class extends FederationBuilderImpl {
2050
2050
  error: error$1
2051
2051
  });
2052
2052
  }
2053
+ if (this.outboxQueue?.nativeRetrial) {
2054
+ logger$1.error("Failed to send activity {activityId} to {inbox}; backend will handle retry:\n{error}", {
2055
+ ...logData,
2056
+ error
2057
+ });
2058
+ throw error;
2059
+ }
2053
2060
  const delay$1 = this.outboxRetryPolicy({
2054
2061
  elapsedTime: Temporal.Instant.from(message.started).until(Temporal.Now.instant()),
2055
2062
  attempts: message.attempt
@@ -2135,6 +2142,20 @@ var FederationImpl = class extends FederationBuilderImpl {
2135
2142
  recipient: message.identifier
2136
2143
  });
2137
2144
  }
2145
+ if (this.inboxQueue?.nativeRetrial) {
2146
+ logger$1.error("Failed to process the incoming activity {activityId}; backend will handle retry:\n{error}", {
2147
+ error,
2148
+ activityId: activity.id?.href,
2149
+ activity: message.activity,
2150
+ recipient: message.identifier
2151
+ });
2152
+ span$1.setStatus({
2153
+ code: SpanStatusCode.ERROR,
2154
+ message: String(error)
2155
+ });
2156
+ span$1.end();
2157
+ throw error;
2158
+ }
2138
2159
  const delay$1 = this.inboxRetryPolicy({
2139
2160
  elapsedTime: Temporal.Instant.from(message.started).until(Temporal.Now.instant()),
2140
2161
  attempts: message.attempt
@@ -3,26 +3,26 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { deno_default, getDocumentLoader, kvCache } from "./docloader-CFuioPSY.js";
7
- import { getNodeInfo } from "./client-DQIcIlJU.js";
6
+ import { deno_default, getDocumentLoader, kvCache } from "./docloader-DnHtxVIk.js";
7
+ import { getNodeInfo } from "./client-DSy0ry-S.js";
8
8
  import { RouterError } from "./router-D_aVZZUc.js";
9
9
  import { nodeInfoToJson } from "./types-CqoqWDkp.js";
10
- import { Activity, CryptographicKey, Link, Multikey, Object as Object$1, OrderedCollection, OrderedCollectionPage } from "./vocab-uVrsB2D1.js";
11
- import { lookupWebFinger } from "./lookup-oLKN3HSl.js";
10
+ import { Activity, CryptographicKey, Link, Multikey, Object as Object$1, OrderedCollection, OrderedCollectionPage } from "./vocab-BEmVtvJ1.js";
11
+ import { lookupWebFinger } from "./lookup-Bd7kzvi0.js";
12
12
  import { getTypeId } from "./type-D2s5lmbZ.js";
13
- import { exportJwk, importJwk, validateCryptoKey } from "./key-D5LOMkXp.js";
14
- import { verifyRequest } from "./http-D523RJVL.js";
15
- import { getAuthenticatedDocumentLoader } from "./authdocloader-BZFGEwwq.js";
16
- import { detachSignature, hasSignature, signJsonLd, verifyJsonLd } from "./ld-rLvDkwUL.js";
17
- import { doesActorOwnKey, getKeyOwner } from "./owner-B5sR7_Qw.js";
18
- import { signObject, verifyObject } from "./proof-BVprztx-.js";
19
- import { lookupObject, traverseCollection } from "./lookup-CRjlBmyh.js";
20
- import { routeActivity } from "./inbox-5eiuvsES.js";
21
- import { FederationBuilderImpl } from "./builder-6d3Dz5mx.js";
13
+ import { exportJwk, importJwk, validateCryptoKey } from "./key-BlmNTw5K.js";
14
+ import { verifyRequest } from "./http-mPUwRCsb.js";
15
+ import { getAuthenticatedDocumentLoader } from "./authdocloader-1prk3606.js";
16
+ import { detachSignature, hasSignature, signJsonLd, verifyJsonLd } from "./ld-9zoQoByu.js";
17
+ import { doesActorOwnKey, getKeyOwner } from "./owner-DKkM9XBB.js";
18
+ import { signObject, verifyObject } from "./proof-vt6oUeU5.js";
19
+ import { lookupObject, traverseCollection } from "./lookup-DW-c2ipm.js";
20
+ import { routeActivity } from "./inbox-CZFKnWFY.js";
21
+ import { FederationBuilderImpl } from "./builder-DV1la2SX.js";
22
22
  import { buildCollectionSynchronizationHeader } from "./collection-Dfb0TPno.js";
23
- import { KvKeyCache } from "./keycache-CyjJMAa8.js";
23
+ import { KvKeyCache } from "./keycache-K_JZIBdY.js";
24
24
  import { createExponentialBackoffPolicy } from "./retry-BiIhZWgD.js";
25
- import { extractInboxes, sendActivity } from "./send-BjLRJdee.js";
25
+ import { extractInboxes, sendActivity } from "./send-DGxO2l9M.js";
26
26
  import { getLogger, withContext } from "@logtape/logtape";
27
27
  import { SpanKind, SpanStatusCode, context, propagation, trace } from "@opentelemetry/api";
28
28
  import { ATTR_HTTP_REQUEST_HEADER, ATTR_HTTP_REQUEST_METHOD, ATTR_HTTP_RESPONSE_HEADER, ATTR_HTTP_RESPONSE_STATUS_CODE, ATTR_URL_FULL } from "@opentelemetry/semantic-conventions";
@@ -1185,6 +1185,13 @@ var FederationImpl = class extends FederationBuilderImpl {
1185
1185
  error: error$1
1186
1186
  });
1187
1187
  }
1188
+ if (this.outboxQueue?.nativeRetrial) {
1189
+ logger$2.error("Failed to send activity {activityId} to {inbox}; backend will handle retry:\n{error}", {
1190
+ ...logData,
1191
+ error
1192
+ });
1193
+ throw error;
1194
+ }
1188
1195
  const delay = this.outboxRetryPolicy({
1189
1196
  elapsedTime: Temporal.Instant.from(message.started).until(Temporal.Now.instant()),
1190
1197
  attempts: message.attempt
@@ -1270,6 +1277,20 @@ var FederationImpl = class extends FederationBuilderImpl {
1270
1277
  recipient: message.identifier
1271
1278
  });
1272
1279
  }
1280
+ if (this.inboxQueue?.nativeRetrial) {
1281
+ logger$2.error("Failed to process the incoming activity {activityId}; backend will handle retry:\n{error}", {
1282
+ error,
1283
+ activityId: activity.id?.href,
1284
+ activity: message.activity,
1285
+ recipient: message.identifier
1286
+ });
1287
+ span$1.setStatus({
1288
+ code: SpanStatusCode.ERROR,
1289
+ message: String(error)
1290
+ });
1291
+ span$1.end();
1292
+ throw error;
1293
+ }
1273
1294
  const delay = this.inboxRetryPolicy({
1274
1295
  elapsedTime: Temporal.Instant.from(message.started).until(Temporal.Now.instant()),
1275
1296
  attempts: message.attempt
@@ -0,0 +1,33 @@
1
+
2
+ import { Temporal } from "@js-temporal/polyfill";
3
+ import { URLPattern } from "urlpattern-polyfill";
4
+ globalThis.addEventListener = () => {};
5
+
6
+ import { ContextImpl, FederationImpl, InboxContextImpl, KvSpecDeterminer, createFederation } from "./middleware-BLRKgoj9.js";
7
+ import "./docloader-DnHtxVIk.js";
8
+ import "./url-kTAI6_KP.js";
9
+ import "./semver-CbbIgUsa.js";
10
+ import "./client-DSy0ry-S.js";
11
+ import "./router-D_aVZZUc.js";
12
+ import "./types-CqoqWDkp.js";
13
+ import "./multibase-DeCHcK8L.js";
14
+ import "./vocab-BEmVtvJ1.js";
15
+ import "./langstr-DbWheeIS.js";
16
+ import "./lookup-Bd7kzvi0.js";
17
+ import "./type-D2s5lmbZ.js";
18
+ import "./actor-D-9qJ3V5.js";
19
+ import "./key-BlmNTw5K.js";
20
+ import "./http-mPUwRCsb.js";
21
+ import "./authdocloader-1prk3606.js";
22
+ import "./ld-9zoQoByu.js";
23
+ import "./owner-DKkM9XBB.js";
24
+ import "./proof-vt6oUeU5.js";
25
+ import "./lookup-DW-c2ipm.js";
26
+ import "./inbox-CZFKnWFY.js";
27
+ import "./builder-DV1la2SX.js";
28
+ import "./collection-Dfb0TPno.js";
29
+ import "./keycache-K_JZIBdY.js";
30
+ import "./retry-BiIhZWgD.js";
31
+ import "./send-DGxO2l9M.js";
32
+
33
+ export { FederationImpl };
@@ -0,0 +1,17 @@
1
+
2
+ import { Temporal } from "@js-temporal/polyfill";
3
+ import { URLPattern } from "urlpattern-polyfill";
4
+
5
+ import "./transformers-ghwJuzGY.js";
6
+ import "./docloader-DzFFH1W2.js";
7
+ import "./actor-DzovCADh.js";
8
+ import { ContextImpl, FederationImpl, InboxContextImpl, KvSpecDeterminer, createFederation } from "./middleware-BHUKqYhG.js";
9
+ import "./lookup-Bd837Vtz.js";
10
+ import "./key-DZsyKwhm.js";
11
+ import "./http-Jpv_4K_J.js";
12
+ import "./proof-8JRtgDVK.js";
13
+ import "./types-BPJDfFPR.js";
14
+ import "./authdocloader-DiYcSM7x.js";
15
+ import "./vocab-s_hECEtk.js";
16
+
17
+ export { FederationImpl };
@@ -1,7 +1,7 @@
1
1
  import { Temporal } from "@js-temporal/polyfill";
2
2
  import { URLPattern } from "urlpattern-polyfill";
3
3
  import { Activity } from "./vocab-DSFLLLe6.js";
4
- import { ActivityTransformer, Context } from "./context-DRhhOsMk.js";
4
+ import { ActivityTransformer, Context } from "./context-DdICJaUT.js";
5
5
 
6
6
  //#region compat/transformers.d.ts
7
7
 
package/dist/mod.d.ts CHANGED
@@ -9,9 +9,9 @@ import { FetchKeyOptions, FetchKeyResult, HttpMessageSignaturesSpec, HttpMessage
9
9
  import { DoesActorOwnKeyOptions, GetKeyOwnerOptions, doesActorOwnKey, getKeyOwner } from "./owner-CbRc94FP.js";
10
10
  import { LookupObjectOptions, PUBLIC_COLLECTION, TraverseCollectionOptions, getTypeId, lookupObject, traverseCollection } from "./mod-DSPyncxx.js";
11
11
  import { ResourceDescriptor, lookupWebFinger } from "./lookup-vJccIKCS.js";
12
- import { ActivityTransformer, ActorAliasMapper, ActorCallbackSetters, ActorDispatcher, ActorHandleMapper, ActorKeyPair, ActorKeyPairsDispatcher, AuthorizePredicate, CollectionCallbackSetters, CollectionCounter, CollectionCursor, CollectionDispatcher, Context, CreateExponentialBackoffPolicyOptions, CreateFederationOptions, Federatable, Federation, FederationBuilder, FederationFetchOptions, FederationKvPrefixes, FederationOptions, FederationOrigin, FederationQueueOptions, FederationStartQueueOptions, ForwardActivityOptions, GetSignedKeyOptions, InboxContext, InboxErrorHandler, InboxListener, InboxListenerSetters, Message, NodeInfoDispatcher, ObjectAuthorizePredicate, ObjectCallbackSetters, ObjectDispatcher, OutboxErrorHandler, PageItems, ParseUriResult, RequestContext, RespondWithObjectOptions, RetryContext, RetryPolicy, RouteActivityOptions, Router, RouterError, RouterOptions, RouterRouteResult, SendActivityOptions, SendActivityOptionsForCollection, SenderKeyPair, SharedInboxKeyDispatcher, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, digest, respondWithObject, respondWithObjectIfAcceptable } from "./context-DRhhOsMk.js";
13
- import { InProcessMessageQueue, InProcessMessageQueueOptions, MessageQueue, MessageQueueEnqueueOptions, MessageQueueListenOptions, ParallelMessageQueue } from "./mq-nceTGCuc.js";
14
- import { actorDehydrator, autoIdAssigner, getDefaultActivityTransformers } from "./mod-CgmTOt4z.js";
12
+ import { ActivityTransformer, ActorAliasMapper, ActorCallbackSetters, ActorDispatcher, ActorHandleMapper, ActorKeyPair, ActorKeyPairsDispatcher, AuthorizePredicate, CollectionCallbackSetters, CollectionCounter, CollectionCursor, CollectionDispatcher, Context, CreateExponentialBackoffPolicyOptions, CreateFederationOptions, Federatable, Federation, FederationBuilder, FederationFetchOptions, FederationKvPrefixes, FederationOptions, FederationOrigin, FederationQueueOptions, FederationStartQueueOptions, ForwardActivityOptions, GetSignedKeyOptions, InboxContext, InboxErrorHandler, InboxListener, InboxListenerSetters, Message, NodeInfoDispatcher, ObjectAuthorizePredicate, ObjectCallbackSetters, ObjectDispatcher, OutboxErrorHandler, PageItems, ParseUriResult, RequestContext, RespondWithObjectOptions, RetryContext, RetryPolicy, RouteActivityOptions, Router, RouterError, RouterOptions, RouterRouteResult, SendActivityOptions, SendActivityOptionsForCollection, SenderKeyPair, SharedInboxKeyDispatcher, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, digest, respondWithObject, respondWithObjectIfAcceptable } from "./context-DdICJaUT.js";
13
+ import { InProcessMessageQueue, InProcessMessageQueueOptions, MessageQueue, MessageQueueEnqueueOptions, MessageQueueListenOptions, ParallelMessageQueue } from "./mq-DYKDDJmp.js";
14
+ import { actorDehydrator, autoIdAssigner, getDefaultActivityTransformers } from "./mod-5orySGMZ.js";
15
15
  import "./mod-g0xFzAP9.js";
16
16
  import "./mod-1pDWKvUL.js";
17
17
  import { GetAuthenticatedDocumentLoaderOptions, exportMultibaseKey, exportSpki, getAuthenticatedDocumentLoader, importMultibaseKey, importPem, importPkcs1, importSpki } from "./mod-BTHfUeLo.js";
package/dist/mod.js CHANGED
@@ -4,17 +4,17 @@
4
4
 
5
5
  import { actorDehydrator, autoIdAssigner, getDefaultActivityTransformers } from "./transformers-ghwJuzGY.js";
6
6
  import "./compat-Bb5myD13.js";
7
- import { FetchError, fetchDocumentLoader, getDocumentLoader, getUserAgent, kvCache } from "./docloader-COHp0QgR.js";
8
- import { Accept, Activity, Add, Announce, Application, Arrive, Article, Audio, Block, ChatMessage, Collection, CollectionPage, Create, CryptographicKey, DataIntegrityProof, Delete, DidService, Dislike, Document, Emoji, EmojiReact, Endpoints, Event, Export, Flag, Follow, Group, Hashtag, Ignore, Image, IntransitiveActivity, Invite, Join, LanguageString, Leave, Like, Link, Listen, Mention, Move, Multikey, Note, Object as Object$1, Offer, OrderedCollection, OrderedCollectionPage, Organization, Page, Person, Place, Profile, PropertyValue, Question, Read, Reject, Relationship, Remove, Service, Source, TentativeAccept, TentativeReject, Tombstone, Travel, Undo, Update, Video, View, exportMultibaseKey, exportSpki, getActorClassByTypeName, getActorHandle, getActorTypeName, getTypeId, importMultibaseKey, importPem, importPkcs1, importSpki, isActor, normalizeActorHandle } from "./actor-BRHV5zJ-.js";
9
- import { Router, RouterError, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, digest, respondWithObject, respondWithObjectIfAcceptable } from "./middleware-83KxItnw.js";
10
- import { lookupWebFinger } from "./lookup-B4JQ9FvE.js";
11
- import { exportJwk, fetchKey, generateCryptoKeyPair, importJwk } from "./key-DlqwkdF6.js";
12
- import { signRequest, verifyRequest } from "./http-C0ueQROD.js";
13
- import { attachSignature, createProof, createSignature, detachSignature, doesActorOwnKey, getKeyOwner, signJsonLd, signObject, verifyJsonLd, verifyObject, verifyProof, verifySignature } from "./proof-AL0P3h_I.js";
14
- import { InProcessMessageQueue, MemoryKvStore, ParallelMessageQueue } from "./federation-3B6BDKCK.js";
15
- import { formatSemVer, getNodeInfo, nodeInfoToJson, parseNodeInfo, parseSemVer } from "./types-DegZ8FlT.js";
16
- import { getAuthenticatedDocumentLoader } from "./authdocloader-BekmxF5u.js";
17
- import { PUBLIC_COLLECTION, lookupObject, traverseCollection } from "./vocab-BY68bjvE.js";
7
+ import { FetchError, fetchDocumentLoader, getDocumentLoader, getUserAgent, kvCache } from "./docloader-DzFFH1W2.js";
8
+ import { Accept, Activity, Add, Announce, Application, Arrive, Article, Audio, Block, ChatMessage, Collection, CollectionPage, Create, CryptographicKey, DataIntegrityProof, Delete, DidService, Dislike, Document, Emoji, EmojiReact, Endpoints, Event, Export, Flag, Follow, Group, Hashtag, Ignore, Image, IntransitiveActivity, Invite, Join, LanguageString, Leave, Like, Link, Listen, Mention, Move, Multikey, Note, Object as Object$1, Offer, OrderedCollection, OrderedCollectionPage, Organization, Page, Person, Place, Profile, PropertyValue, Question, Read, Reject, Relationship, Remove, Service, Source, TentativeAccept, TentativeReject, Tombstone, Travel, Undo, Update, Video, View, exportMultibaseKey, exportSpki, getActorClassByTypeName, getActorHandle, getActorTypeName, getTypeId, importMultibaseKey, importPem, importPkcs1, importSpki, isActor, normalizeActorHandle } from "./actor-DzovCADh.js";
9
+ import { Router, RouterError, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, digest, respondWithObject, respondWithObjectIfAcceptable } from "./middleware-BHUKqYhG.js";
10
+ import { lookupWebFinger } from "./lookup-Bd837Vtz.js";
11
+ import { exportJwk, fetchKey, generateCryptoKeyPair, importJwk } from "./key-DZsyKwhm.js";
12
+ import { signRequest, verifyRequest } from "./http-Jpv_4K_J.js";
13
+ import { attachSignature, createProof, createSignature, detachSignature, doesActorOwnKey, getKeyOwner, signJsonLd, signObject, verifyJsonLd, verifyObject, verifyProof, verifySignature } from "./proof-8JRtgDVK.js";
14
+ import { InProcessMessageQueue, MemoryKvStore, ParallelMessageQueue } from "./federation-lZOZyLAo.js";
15
+ import { formatSemVer, getNodeInfo, nodeInfoToJson, parseNodeInfo, parseSemVer } from "./types-BPJDfFPR.js";
16
+ import { getAuthenticatedDocumentLoader } from "./authdocloader-DiYcSM7x.js";
17
+ import { PUBLIC_COLLECTION, lookupObject, traverseCollection } from "./vocab-s_hECEtk.js";
18
18
  import "./nodeinfo-CyEbLjHs.js";
19
19
  import "./runtime-BSkOVUWM.js";
20
20
  import "./sig-BXJO--F9.js";