@fedify/fedify 2.0.35-dev.2480 → 2.0.35

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 (79) hide show
  1. package/dist/{builder-cEjyBwpD.mjs → builder-CpxZPa7I.mjs} +3 -3
  2. package/dist/{client-CAM_bQXx.d.cts → client-BIBzqEIp.d.cts} +0 -1
  3. package/dist/{client-BUqbea1d.mjs → client-DGNacEx_.mjs} +113 -64
  4. package/dist/{client-CSddvgWN.d.ts → client-jE7oGvRh.d.ts} +0 -1
  5. package/dist/compat/mod.d.cts +1 -1
  6. package/dist/compat/mod.d.ts +1 -1
  7. package/dist/compat/transformers.test.mjs +1 -1
  8. package/dist/{context-r8sjhltN.d.cts → context-CnoWxuoB.d.cts} +2 -2
  9. package/dist/{context-B2iX3heK.d.ts → context-lxjaUTAI.d.ts} +2 -2
  10. package/dist/{deno-BcnGeGr2.mjs → deno-BAtjc8bx.mjs} +1 -1
  11. package/dist/docloader-CyBB50Om.mjs +124 -0
  12. package/dist/federation/builder.test.mjs +1 -1
  13. package/dist/federation/handler.test.mjs +6 -6
  14. package/dist/federation/idempotency.test.mjs +2 -2
  15. package/dist/federation/inbox.test.mjs +1 -1
  16. package/dist/federation/middleware.test.mjs +42 -23
  17. package/dist/federation/mod.cjs +1 -1
  18. package/dist/federation/mod.d.cts +2 -2
  19. package/dist/federation/mod.d.ts +2 -2
  20. package/dist/federation/mod.js +1 -1
  21. package/dist/federation/send.test.mjs +445 -70
  22. package/dist/federation/temporal.test.mjs +1 -1
  23. package/dist/federation/webfinger.test.mjs +1 -1
  24. package/dist/{http-BD9izRp9.cjs → http-5u2wDmjl.cjs} +114 -56
  25. package/dist/{http-D0cjeL8a.mjs → http-9wCo74JF.mjs} +136 -49
  26. package/dist/{http-Bs6thuCC.d.cts → http-Cd8UD1ym.d.ts} +1 -2
  27. package/dist/{http-CDupyfOc.d.ts → http-DFqAb11b.d.cts} +1 -2
  28. package/dist/{http-IYRDhhnT.js → http-Dwj7bNhv.js} +113 -55
  29. package/dist/{inbox-D2fsxjqC.mjs → inbox-De2IaCfd.mjs} +1 -1
  30. package/dist/{key-BFzQ3Hef.mjs → key-BD-PBpNB.mjs} +1 -1
  31. package/dist/{kv-cache-C-RyNMt6.js → kv-cache-5TdAMHng.js} +60 -18
  32. package/dist/{kv-cache-B4sDuLjb.cjs → kv-cache-ivTOKx4b.cjs} +59 -17
  33. package/dist/{ld-D2bkYBIz.mjs → ld-34_mZbyP.mjs} +2 -2
  34. package/dist/{middleware-3mc-kq3v.mjs → middleware-BI7Hldd0.mjs} +1 -1
  35. package/dist/{middleware-DxX8ZL-q.cjs → middleware-Co4IpMca.cjs} +118 -33
  36. package/dist/{middleware-DRZp7Odv.js → middleware-DTJ9dnYC.js} +118 -33
  37. package/dist/{middleware-B2UC8mtN.cjs → middleware-DhwZ4gNG.cjs} +1 -1
  38. package/dist/{middleware-CXIBpN4y.mjs → middleware-DzaMP9BP.mjs} +12 -12
  39. package/dist/{mod-BkPB4hPe.d.cts → mod-BPDfu4Ey.d.cts} +2 -7
  40. package/dist/{mod-E7YM72JZ.d.ts → mod-BS-jg3Wx.d.ts} +1 -1
  41. package/dist/{mod-BKJyD7nk.d.ts → mod-DGP89q0u.d.ts} +2 -7
  42. package/dist/{mod-IOWUF5Yr.d.cts → mod-DVPS4yam.d.cts} +1 -1
  43. package/dist/{mod-CM_eR8hQ.d.ts → mod-I-34OMN3.d.ts} +1 -1
  44. package/dist/{mod-DDTLbfce.d.cts → mod-w1oyHseQ.d.cts} +1 -1
  45. package/dist/mod.cjs +5 -5
  46. package/dist/mod.d.cts +6 -6
  47. package/dist/mod.d.ts +6 -6
  48. package/dist/mod.js +5 -5
  49. package/dist/nodeinfo/client.test.mjs +337 -19
  50. package/dist/nodeinfo/handler.test.mjs +1 -1
  51. package/dist/nodeinfo/mod.cjs +1 -1
  52. package/dist/nodeinfo/mod.d.cts +1 -1
  53. package/dist/nodeinfo/mod.d.ts +1 -1
  54. package/dist/nodeinfo/mod.js +1 -1
  55. package/dist/{owner-BuJXJDhl.mjs → owner-CxBLBD2K.mjs} +2 -2
  56. package/dist/{proof-BJ_6nKhb.js → proof-D5IUmaZ0.js} +1 -1
  57. package/dist/{proof-JxVhLZA3.mjs → proof-DhW1tGUz.mjs} +2 -2
  58. package/dist/{proof-DfmHAmtr.cjs → proof-yX6qSpxk.cjs} +1 -1
  59. package/dist/{send-CDaWmeqV.mjs → send-CdfEXNS7.mjs} +117 -32
  60. package/dist/sig/http.test.mjs +411 -2
  61. package/dist/sig/key.test.mjs +2 -2
  62. package/dist/sig/ld.test.mjs +2 -2
  63. package/dist/sig/mod.cjs +2 -2
  64. package/dist/sig/mod.d.cts +2 -2
  65. package/dist/sig/mod.d.ts +2 -2
  66. package/dist/sig/mod.js +2 -2
  67. package/dist/sig/owner.test.mjs +1 -1
  68. package/dist/sig/proof.test.mjs +1 -1
  69. package/dist/{temporal-Bv6Zn1C5.mjs → temporal-BbywNJ81.mjs} +1 -1
  70. package/dist/testing/mod.d.mts +0 -1
  71. package/dist/{types-miAYfiGO.js → types-B1_pRFE_.js} +112 -63
  72. package/dist/{types-DRPjmHVV.cjs → types-DOvyymM4.cjs} +111 -62
  73. package/dist/utils/docloader.test.mjs +316 -32
  74. package/dist/utils/mod.cjs +1 -1
  75. package/dist/utils/mod.d.cts +1 -1
  76. package/dist/utils/mod.d.ts +1 -1
  77. package/dist/utils/mod.js +1 -1
  78. package/package.json +5 -5
  79. package/dist/docloader-BqDq3fDF.mjs +0 -82
@@ -9,14 +9,14 @@ import { r as assertFalse, t as assertThrows } from "../assert_throws-D4DNWrux.m
9
9
  import { n as assertInstanceOf, t as assert } from "../assert-BhQd8QHP.mjs";
10
10
  import { t as assertNotEquals } from "../assert_not_equals-BkxW5QJI.mjs";
11
11
  import { t as assertRejects } from "../assert_rejects-WyYSTDDX.mjs";
12
- import { l as verifyRequest, s as signRequest } from "../http-D0cjeL8a.mjs";
12
+ import { c as signRequest, u as verifyRequest } from "../http-9wCo74JF.mjs";
13
13
  import { a as rsaPrivateKey3, c as rsaPublicKey3, i as rsaPrivateKey2, n as ed25519PrivateKey, r as ed25519PublicKey, s as rsaPublicKey2, t as ed25519Multikey } from "../keys-CCxRJhWa.mjs";
14
- import { t as getAuthenticatedDocumentLoader } from "../docloader-BqDq3fDF.mjs";
15
- import { a as compactJsonLd, f as signJsonLd, m as verifyJsonLd, s as detachSignature } from "../ld-D2bkYBIz.mjs";
16
- import { t as doesActorOwnKey } from "../owner-BuJXJDhl.mjs";
17
- import { n as signObject, r as verifyObject } from "../proof-JxVhLZA3.mjs";
14
+ import { n as getAuthenticatedDocumentLoader } from "../docloader-CyBB50Om.mjs";
15
+ import { a as compactJsonLd, f as signJsonLd, m as verifyJsonLd, s as detachSignature } from "../ld-34_mZbyP.mjs";
16
+ import { t as doesActorOwnKey } from "../owner-CxBLBD2K.mjs";
17
+ import { n as signObject, r as verifyObject } from "../proof-DhW1tGUz.mjs";
18
18
  import { t as MemoryKvStore } from "../kv-mI4Ix2EU.mjs";
19
- import { a as createFederation, i as KvSpecDeterminer, n as FederationImpl, r as InboxContextImpl, t as ContextImpl } from "../middleware-CXIBpN4y.mjs";
19
+ import { a as createFederation, i as KvSpecDeterminer, n as FederationImpl, r as InboxContextImpl, t as ContextImpl } from "../middleware-DzaMP9BP.mjs";
20
20
  import { createTestTracerProvider, mockDocumentLoader, test } from "@fedify/fixture";
21
21
  import * as vocab from "@fedify/vocab";
22
22
  import { Create, Offer, Person, getTypeId, lookupObject } from "@fedify/vocab";
@@ -86,7 +86,7 @@ var person2_default = {
86
86
  };
87
87
  //#endregion
88
88
  //#region src/federation/middleware.test.ts
89
- const documentLoader = getDocumentLoader();
89
+ const documentLoader = getDocumentLoader({ allowPrivateAddress: true });
90
90
  test("createFederation()", async (t) => {
91
91
  const kv = new MemoryKvStore();
92
92
  await t.step("allowPrivateAddress", () => {
@@ -216,7 +216,8 @@ test({
216
216
  const federation = createFederation({
217
217
  kv,
218
218
  documentLoaderFactory: () => rejectingLoader,
219
- contextLoaderFactory: () => mockDocumentLoader
219
+ contextLoaderFactory: () => mockDocumentLoader,
220
+ authenticatedDocumentLoaderFactory: (identity) => getAuthenticatedDocumentLoader(identity, { allowPrivateAddress: true })
220
221
  });
221
222
  let ctx = federation.createContext(new URL("https://example.com:1234/"), 123);
222
223
  assertEquals(ctx.data, 123);
@@ -321,7 +322,7 @@ test({
321
322
  documentUrl: "https://example.com/auth-check",
322
323
  document: true
323
324
  });
324
- assertEquals(await ctx.lookupObject("https://example.com/object"), null);
325
+ assertEquals(await withDnsLookup(() => Promise.reject(/* @__PURE__ */ new Error("Resolver unavailable")), () => ctx.lookupObject("https://example.com/object")), null);
325
326
  await assertRejects(() => ctx.sendActivity({ identifier: "handle" }, [], new vocab.Create({})), TypeError, "The activity to send must have at least one actor property.");
326
327
  await ctx.sendActivity({ identifier: "handle" }, [], new vocab.Create({ actor: new URL("https://example.com/users/handle") }));
327
328
  esm_default.get("https://example.com/object", () => new Response(JSON.stringify({
@@ -570,7 +571,7 @@ test({
570
571
  assertStrictEquals(clone.contextLoader, ctx.contextLoader);
571
572
  assertStrictEquals(clone.federation, ctx.federation);
572
573
  });
573
- esm_default.get("https://example.com/.well-known/nodeinfo", (cl) => {
574
+ esm_default.get("path:/.well-known/nodeinfo", (cl) => {
574
575
  const headers = cl.options.headers ?? {};
575
576
  assertEquals(new Headers(headers).get("User-Agent"), "CustomUserAgent/1.2.3");
576
577
  return new Response(JSON.stringify({ links: [{
@@ -578,7 +579,7 @@ test({
578
579
  href: "https://example.com/nodeinfo/2.1"
579
580
  }] }));
580
581
  });
581
- esm_default.get("https://example.com/nodeinfo/2.1", (cl) => {
582
+ esm_default.get("path:/nodeinfo/2.1", (cl) => {
582
583
  const headers = cl.options.headers ?? {};
583
584
  assertEquals(new Headers(headers).get("User-Agent"), "CustomUserAgent/1.2.3");
584
585
  return new Response(JSON.stringify({
@@ -599,7 +600,11 @@ test({
599
600
  kv,
600
601
  userAgent: "CustomUserAgent/1.2.3"
601
602
  }).createContext(new URL("https://example.com/"), 123);
602
- assertEquals(await ctx.lookupNodeInfo("https://example.com/"), {
603
+ const lookupExample = () => Promise.resolve([{
604
+ address: "93.184.215.14",
605
+ family: 4
606
+ }]);
607
+ assertEquals(await withDnsLookup(lookupExample, () => ctx.lookupNodeInfo("https://example.com/")), {
603
608
  software: {
604
609
  name: "foo",
605
610
  version: "1.2.3"
@@ -611,7 +616,7 @@ test({
611
616
  localComments: 456
612
617
  }
613
618
  });
614
- assertEquals(await ctx.lookupNodeInfo("https://example.com/", { parse: "none" }), {
619
+ assertEquals(await withDnsLookup(lookupExample, () => ctx.lookupNodeInfo("https://example.com/", { parse: "none" })), {
615
620
  software: {
616
621
  name: "foo",
617
622
  version: "1.2.3"
@@ -1071,7 +1076,7 @@ test("Federation.fetch()", async (t) => {
1071
1076
  kv,
1072
1077
  documentLoaderFactory: () => mockDocumentLoader,
1073
1078
  authenticatedDocumentLoaderFactory(identity) {
1074
- const docLoader = getAuthenticatedDocumentLoader(identity);
1079
+ const docLoader = getAuthenticatedDocumentLoader(identity, { allowPrivateAddress: true });
1075
1080
  return (url) => {
1076
1081
  if (new URL(url).host === "example.com") return docLoader(url);
1077
1082
  return mockDocumentLoader(url);
@@ -1238,7 +1243,7 @@ test("Federation.setInboxListeners()", async (t) => {
1238
1243
  kv,
1239
1244
  documentLoaderFactory: () => mockDocumentLoader,
1240
1245
  authenticatedDocumentLoaderFactory(identity) {
1241
- const docLoader = getAuthenticatedDocumentLoader(identity);
1246
+ const docLoader = getAuthenticatedDocumentLoader(identity, { allowPrivateAddress: true });
1242
1247
  return (url) => {
1243
1248
  const urlObj = new URL(url);
1244
1249
  authenticatedRequests.push([url, identity.keyId.href]);
@@ -1374,7 +1379,7 @@ test("Federation.setInboxListeners()", async (t) => {
1374
1379
  kv,
1375
1380
  documentLoaderFactory: () => mockDocumentLoader,
1376
1381
  authenticatedDocumentLoaderFactory(identity) {
1377
- const docLoader = getAuthenticatedDocumentLoader(identity);
1382
+ const docLoader = getAuthenticatedDocumentLoader(identity, { allowPrivateAddress: true });
1378
1383
  return (url) => {
1379
1384
  if (new URL(url).host === "example.com") return docLoader(url);
1380
1385
  return mockDocumentLoader(url);
@@ -1509,7 +1514,7 @@ test("FederationImpl.sendActivity()", async (t) => {
1509
1514
  });
1510
1515
  const federation = new FederationImpl({
1511
1516
  kv: new MemoryKvStore(),
1512
- contextLoaderFactory: () => mockDocumentLoader
1517
+ allowPrivateAddress: true
1513
1518
  });
1514
1519
  const context = federation.createContext(new URL("https://example.com/"));
1515
1520
  await t.step("success", async () => {
@@ -3476,7 +3481,7 @@ test("ContextImpl.sendActivity()", async (t) => {
3476
3481
  const kv = new MemoryKvStore();
3477
3482
  const federation = new FederationImpl({
3478
3483
  kv,
3479
- contextLoaderFactory: () => mockDocumentLoader
3484
+ allowPrivateAddress: true
3480
3485
  });
3481
3486
  federation.setActorDispatcher("/{identifier}", async (ctx, identifier) => {
3482
3487
  if (identifier !== "1") return null;
@@ -3585,7 +3590,7 @@ test("ContextImpl.sendActivity()", async (t) => {
3585
3590
  };
3586
3591
  const federation2 = new FederationImpl({
3587
3592
  kv,
3588
- contextLoaderFactory: () => mockDocumentLoader,
3593
+ allowPrivateAddress: true,
3589
3594
  queue
3590
3595
  });
3591
3596
  federation2.setActorDispatcher("/{identifier}", async (ctx, identifier) => {
@@ -3708,7 +3713,7 @@ test("ContextImpl.sendActivity()", async (t) => {
3708
3713
  const asyncEnqueued = [];
3709
3714
  const fed = new FederationImpl({
3710
3715
  kv,
3711
- contextLoaderFactory: () => mockDocumentLoader,
3716
+ allowPrivateAddress: true,
3712
3717
  queue: {
3713
3718
  enqueue(message) {
3714
3719
  return new Promise((resolve) => {
@@ -3875,10 +3880,10 @@ test({
3875
3880
  const signedInvite = await signObject(new vocab.Invite({ actor: new URL("https://example.com/person2") }), ed25519PrivateKey, ed25519Multikey.id);
3876
3881
  assert(await ctx.routeActivity("id", signedInvite));
3877
3882
  assertEquals(activities, [[null, signedOffer], ["id", signedInvite]]);
3878
- assertFalse(await ctx.routeActivity(null, new vocab.Create({
3883
+ assertFalse(await withDnsLookup(() => Promise.reject(/* @__PURE__ */ new Error("Resolver unavailable")), () => ctx.routeActivity(null, new vocab.Create({
3879
3884
  id: new URL("https://example.com/not-found"),
3880
3885
  actor: new URL("https://example.com/person")
3881
- })));
3886
+ }))));
3882
3887
  assertEquals(activities, [[null, signedOffer], ["id", signedInvite]]);
3883
3888
  assertFalse(await ctx.routeActivity(null, new vocab.Create({
3884
3889
  id: new URL("https://example.com/person"),
@@ -4236,7 +4241,7 @@ test("InboxContextImpl.forwardActivity()", async (t) => {
4236
4241
  });
4237
4242
  const federation = new FederationImpl({
4238
4243
  kv: new MemoryKvStore(),
4239
- contextLoaderFactory: () => mockDocumentLoader
4244
+ allowPrivateAddress: true
4240
4245
  });
4241
4246
  await t.step("skip", async () => {
4242
4247
  await new InboxContextImpl(null, {
@@ -4438,5 +4443,19 @@ test("Federation.fetch() bounds inbox bodies before dispatch", async () => {
4438
4443
  }), { contextData: void 0 })).status, 202);
4439
4444
  assert(dispatched);
4440
4445
  });
4446
+ /**
4447
+ * Runs the given function while `node:dns/promises`' `lookup()`, which the
4448
+ * default public fetch resolves hostnames with, is replaced, so that no test
4449
+ * depends on the real DNS.
4450
+ */
4451
+ async function withDnsLookup(lookup, fn) {
4452
+ const originalLookup = dns.lookup;
4453
+ dns.lookup = lookup;
4454
+ try {
4455
+ return await fn();
4456
+ } finally {
4457
+ dns.lookup = originalLookup;
4458
+ }
4459
+ }
4441
4460
  //#endregion
4442
4461
  export {};
@@ -2,7 +2,7 @@ const { Temporal } = require("@js-temporal/polyfill");
2
2
  const { URLPattern } = require("urlpattern-polyfill");
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
4
4
  require("../chunk-DDcVe30Y.cjs");
5
- const require_middleware = require("../middleware-DxX8ZL-q.cjs");
5
+ const require_middleware = require("../middleware-Co4IpMca.cjs");
6
6
  let es_toolkit = require("es-toolkit");
7
7
  //#region src/federation/kv.ts
8
8
  /**
@@ -1,5 +1,5 @@
1
1
  /// <reference lib="esnext.temporal" />
2
- import { $ as AuthorizePredicate, A as CreateExponentialBackoffPolicyOptions, B as RespondWithObjectOptions, C as InboxListenerSetters, D as FederationOrigin, E as FederationKvPrefixes, F as createFederationBuilder, G as MessageQueue, H as respondWithObjectIfAcceptable, I as Router, J as ParallelMessageQueue, K as MessageQueueEnqueueOptions, L as RouterError, M as RetryPolicy, N as createExponentialBackoffPolicy, O as FederationQueueOptions, P as Message, Q as ActorKeyPairsDispatcher, R as RouterOptions, S as IdempotencyStrategy, T as Rfc6570Expression, U as InProcessMessageQueue, V as respondWithObject, W as InProcessMessageQueueOptions, X as ActorDispatcher, Y as ActorAliasMapper, Z as ActorHandleMapper, _ as FederationBuilder, _t as PageItems, a as InboxContext, at as CustomCollectionDispatcher, b as FederationStartQueueOptions, c as RouteActivityOptions, ct as NodeInfoDispatcher, d as ActorCallbackSetters, dt as OutboxErrorHandler, et as CollectionCounter, f as CollectionCallbackSetters, ft as OutboxPermanentFailureHandler, g as Federation, gt as SenderKeyPair, h as Federatable, ht as SendActivityError, i as GetSignedKeyOptions, it as CustomCollectionCursor, j as RetryContext, k as createFederation, l as SendActivityOptions, lt as ObjectAuthorizePredicate, m as CustomCollectionCallbackSetters, mt as WebFingerLinksDispatcher, n as Context, nt as CollectionDispatcher, o as ParseUriResult, ot as InboxErrorHandler, p as ConstructorWithTypeId, pt as SharedInboxKeyDispatcher, q as MessageQueueListenOptions, r as ForwardActivityOptions, rt as CustomCollectionCounter, s as RequestContext, st as InboxListener, t as ActorKeyPair, tt as CollectionCursor, u as SendActivityOptionsForCollection, ut as ObjectDispatcher, v as FederationFetchOptions, vt as buildCollectionSynchronizationHeader, w as ObjectCallbackSetters, x as IdempotencyKeyCallback, y as FederationOptions, yt as digest, z as RouterRouteResult } from "../context-r8sjhltN.cjs";
2
+ import { $ as AuthorizePredicate, A as CreateExponentialBackoffPolicyOptions, B as RespondWithObjectOptions, C as InboxListenerSetters, D as FederationOrigin, E as FederationKvPrefixes, F as createFederationBuilder, G as MessageQueue, H as respondWithObjectIfAcceptable, I as Router, J as ParallelMessageQueue, K as MessageQueueEnqueueOptions, L as RouterError, M as RetryPolicy, N as createExponentialBackoffPolicy, O as FederationQueueOptions, P as Message, Q as ActorKeyPairsDispatcher, R as RouterOptions, S as IdempotencyStrategy, T as Rfc6570Expression, U as InProcessMessageQueue, V as respondWithObject, W as InProcessMessageQueueOptions, X as ActorDispatcher, Y as ActorAliasMapper, Z as ActorHandleMapper, _ as FederationBuilder, _t as PageItems, a as InboxContext, at as CustomCollectionDispatcher, b as FederationStartQueueOptions, c as RouteActivityOptions, ct as NodeInfoDispatcher, d as ActorCallbackSetters, dt as OutboxErrorHandler, et as CollectionCounter, f as CollectionCallbackSetters, ft as OutboxPermanentFailureHandler, g as Federation, gt as SenderKeyPair, h as Federatable, ht as SendActivityError, i as GetSignedKeyOptions, it as CustomCollectionCursor, j as RetryContext, k as createFederation, l as SendActivityOptions, lt as ObjectAuthorizePredicate, m as CustomCollectionCallbackSetters, mt as WebFingerLinksDispatcher, n as Context, nt as CollectionDispatcher, o as ParseUriResult, ot as InboxErrorHandler, p as ConstructorWithTypeId, pt as SharedInboxKeyDispatcher, q as MessageQueueListenOptions, r as ForwardActivityOptions, rt as CustomCollectionCounter, s as RequestContext, st as InboxListener, t as ActorKeyPair, tt as CollectionCursor, u as SendActivityOptionsForCollection, ut as ObjectDispatcher, v as FederationFetchOptions, vt as buildCollectionSynchronizationHeader, w as ObjectCallbackSetters, x as IdempotencyKeyCallback, y as FederationOptions, yt as digest, z as RouterRouteResult } from "../context-CnoWxuoB.cjs";
3
3
  import { a as MemoryKvStore, i as KvStoreSetOptions, n as KvStore, r as KvStoreListEntry, t as KvKey } from "../kv-CZKl1IUS.cjs";
4
- import { n as handleWebFinger, t as WebFingerHandlerParameters } from "../mod-DDTLbfce.cjs";
4
+ import { n as handleWebFinger, t as WebFingerHandlerParameters } from "../mod-w1oyHseQ.cjs";
5
5
  export { ActorAliasMapper, ActorCallbackSetters, ActorDispatcher, ActorHandleMapper, ActorKeyPair, ActorKeyPairsDispatcher, AuthorizePredicate, CollectionCallbackSetters, CollectionCounter, CollectionCursor, CollectionDispatcher, ConstructorWithTypeId, Context, CreateExponentialBackoffPolicyOptions, CustomCollectionCallbackSetters, CustomCollectionCounter, CustomCollectionCursor, CustomCollectionDispatcher, Federatable, Federation, FederationBuilder, FederationFetchOptions, FederationKvPrefixes, FederationOptions, FederationOrigin, FederationQueueOptions, FederationStartQueueOptions, ForwardActivityOptions, GetSignedKeyOptions, IdempotencyKeyCallback, IdempotencyStrategy, InProcessMessageQueue, InProcessMessageQueueOptions, InboxContext, InboxErrorHandler, InboxListener, InboxListenerSetters, KvKey, KvStore, KvStoreListEntry, KvStoreSetOptions, MemoryKvStore, Message, MessageQueue, MessageQueueEnqueueOptions, MessageQueueListenOptions, NodeInfoDispatcher, ObjectAuthorizePredicate, ObjectCallbackSetters, ObjectDispatcher, OutboxErrorHandler, OutboxPermanentFailureHandler, PageItems, ParallelMessageQueue, ParseUriResult, RequestContext, RespondWithObjectOptions, RetryContext, RetryPolicy, Rfc6570Expression, RouteActivityOptions, Router, RouterError, RouterOptions, RouterRouteResult, SendActivityError, SendActivityOptions, SendActivityOptionsForCollection, SenderKeyPair, SharedInboxKeyDispatcher, WebFingerHandlerParameters, WebFingerLinksDispatcher, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, digest, handleWebFinger, respondWithObject, respondWithObjectIfAcceptable };
@@ -1,5 +1,5 @@
1
1
  /// <reference lib="esnext.temporal" />
2
- import { $ as AuthorizePredicate, A as CreateExponentialBackoffPolicyOptions, B as RespondWithObjectOptions, C as InboxListenerSetters, D as FederationOrigin, E as FederationKvPrefixes, F as createFederationBuilder, G as MessageQueue, H as respondWithObjectIfAcceptable, I as Router, J as ParallelMessageQueue, K as MessageQueueEnqueueOptions, L as RouterError, M as RetryPolicy, N as createExponentialBackoffPolicy, O as FederationQueueOptions, P as Message, Q as ActorKeyPairsDispatcher, R as RouterOptions, S as IdempotencyStrategy, T as Rfc6570Expression, U as InProcessMessageQueue, V as respondWithObject, W as InProcessMessageQueueOptions, X as ActorDispatcher, Y as ActorAliasMapper, Z as ActorHandleMapper, _ as FederationBuilder, _t as PageItems, a as InboxContext, at as CustomCollectionDispatcher, b as FederationStartQueueOptions, c as RouteActivityOptions, ct as NodeInfoDispatcher, d as ActorCallbackSetters, dt as OutboxErrorHandler, et as CollectionCounter, f as CollectionCallbackSetters, ft as OutboxPermanentFailureHandler, g as Federation, gt as SenderKeyPair, h as Federatable, ht as SendActivityError, i as GetSignedKeyOptions, it as CustomCollectionCursor, j as RetryContext, k as createFederation, l as SendActivityOptions, lt as ObjectAuthorizePredicate, m as CustomCollectionCallbackSetters, mt as WebFingerLinksDispatcher, n as Context, nt as CollectionDispatcher, o as ParseUriResult, ot as InboxErrorHandler, p as ConstructorWithTypeId, pt as SharedInboxKeyDispatcher, q as MessageQueueListenOptions, r as ForwardActivityOptions, rt as CustomCollectionCounter, s as RequestContext, st as InboxListener, t as ActorKeyPair, tt as CollectionCursor, u as SendActivityOptionsForCollection, ut as ObjectDispatcher, v as FederationFetchOptions, vt as buildCollectionSynchronizationHeader, w as ObjectCallbackSetters, x as IdempotencyKeyCallback, y as FederationOptions, yt as digest, z as RouterRouteResult } from "../context-B2iX3heK.js";
2
+ import { $ as AuthorizePredicate, A as CreateExponentialBackoffPolicyOptions, B as RespondWithObjectOptions, C as InboxListenerSetters, D as FederationOrigin, E as FederationKvPrefixes, F as createFederationBuilder, G as MessageQueue, H as respondWithObjectIfAcceptable, I as Router, J as ParallelMessageQueue, K as MessageQueueEnqueueOptions, L as RouterError, M as RetryPolicy, N as createExponentialBackoffPolicy, O as FederationQueueOptions, P as Message, Q as ActorKeyPairsDispatcher, R as RouterOptions, S as IdempotencyStrategy, T as Rfc6570Expression, U as InProcessMessageQueue, V as respondWithObject, W as InProcessMessageQueueOptions, X as ActorDispatcher, Y as ActorAliasMapper, Z as ActorHandleMapper, _ as FederationBuilder, _t as PageItems, a as InboxContext, at as CustomCollectionDispatcher, b as FederationStartQueueOptions, c as RouteActivityOptions, ct as NodeInfoDispatcher, d as ActorCallbackSetters, dt as OutboxErrorHandler, et as CollectionCounter, f as CollectionCallbackSetters, ft as OutboxPermanentFailureHandler, g as Federation, gt as SenderKeyPair, h as Federatable, ht as SendActivityError, i as GetSignedKeyOptions, it as CustomCollectionCursor, j as RetryContext, k as createFederation, l as SendActivityOptions, lt as ObjectAuthorizePredicate, m as CustomCollectionCallbackSetters, mt as WebFingerLinksDispatcher, n as Context, nt as CollectionDispatcher, o as ParseUriResult, ot as InboxErrorHandler, p as ConstructorWithTypeId, pt as SharedInboxKeyDispatcher, q as MessageQueueListenOptions, r as ForwardActivityOptions, rt as CustomCollectionCounter, s as RequestContext, st as InboxListener, t as ActorKeyPair, tt as CollectionCursor, u as SendActivityOptionsForCollection, ut as ObjectDispatcher, v as FederationFetchOptions, vt as buildCollectionSynchronizationHeader, w as ObjectCallbackSetters, x as IdempotencyKeyCallback, y as FederationOptions, yt as digest, z as RouterRouteResult } from "../context-lxjaUTAI.js";
3
3
  import { a as MemoryKvStore, i as KvStoreSetOptions, n as KvStore, r as KvStoreListEntry, t as KvKey } from "../kv-CxaI4eGo.js";
4
- import { n as handleWebFinger, t as WebFingerHandlerParameters } from "../mod-CM_eR8hQ.js";
4
+ import { n as handleWebFinger, t as WebFingerHandlerParameters } from "../mod-I-34OMN3.js";
5
5
  export { ActorAliasMapper, ActorCallbackSetters, ActorDispatcher, ActorHandleMapper, ActorKeyPair, ActorKeyPairsDispatcher, AuthorizePredicate, CollectionCallbackSetters, CollectionCounter, CollectionCursor, CollectionDispatcher, ConstructorWithTypeId, Context, CreateExponentialBackoffPolicyOptions, CustomCollectionCallbackSetters, CustomCollectionCounter, CustomCollectionCursor, CustomCollectionDispatcher, Federatable, Federation, FederationBuilder, FederationFetchOptions, FederationKvPrefixes, FederationOptions, FederationOrigin, FederationQueueOptions, FederationStartQueueOptions, ForwardActivityOptions, GetSignedKeyOptions, IdempotencyKeyCallback, IdempotencyStrategy, InProcessMessageQueue, InProcessMessageQueueOptions, InboxContext, InboxErrorHandler, InboxListener, InboxListenerSetters, KvKey, KvStore, KvStoreListEntry, KvStoreSetOptions, MemoryKvStore, Message, MessageQueue, MessageQueueEnqueueOptions, MessageQueueListenOptions, NodeInfoDispatcher, ObjectAuthorizePredicate, ObjectCallbackSetters, ObjectDispatcher, OutboxErrorHandler, OutboxPermanentFailureHandler, PageItems, ParallelMessageQueue, ParseUriResult, RequestContext, RespondWithObjectOptions, RetryContext, RetryPolicy, Rfc6570Expression, RouteActivityOptions, Router, RouterError, RouterOptions, RouterRouteResult, SendActivityError, SendActivityOptions, SendActivityOptionsForCollection, SenderKeyPair, SharedInboxKeyDispatcher, WebFingerHandlerParameters, WebFingerLinksDispatcher, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, digest, handleWebFinger, respondWithObject, respondWithObjectIfAcceptable };
@@ -1,6 +1,6 @@
1
1
  import { Temporal } from "@js-temporal/polyfill";
2
2
  import { URLPattern } from "urlpattern-polyfill";
3
- import { a as createExponentialBackoffPolicy, c as buildCollectionSynchronizationHeader, d as Router, f as RouterError, i as SendActivityError, l as digest, o as respondWithObject, r as handleWebFinger, s as respondWithObjectIfAcceptable, t as createFederation, u as createFederationBuilder } from "../middleware-DRZp7Odv.js";
3
+ import { a as createExponentialBackoffPolicy, c as buildCollectionSynchronizationHeader, d as Router, f as RouterError, i as SendActivityError, l as digest, o as respondWithObject, r as handleWebFinger, s as respondWithObjectIfAcceptable, t as createFederation, u as createFederationBuilder } from "../middleware-DTJ9dnYC.js";
4
4
  import { isEqual } from "es-toolkit";
5
5
  //#region src/federation/kv.ts
6
6
  /**