@fedify/fedify 1.9.0-pr.443.1682 → 1.9.0

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 (139) hide show
  1. package/README.md +3 -0
  2. package/dist/{actor-BfM4acO7.js → actor-BFB3So4a.js} +6169 -2946
  3. package/dist/{actor-DNoKtm0e.js → actor-BscXI9ov.js} +1 -1
  4. package/dist/{actor-sT_gcgkl.d.ts → actor-C1Euqngb.d.ts} +1 -1
  5. package/dist/{actor-C84MVjvg.cjs → actor-CrrVlr_l.cjs} +6169 -2946
  6. package/dist/{actor-D8GmZX63.d.cts → actor-Ydzhc8dj.d.cts} +1 -1
  7. package/dist/{authdocloader-BMUj-LDP.js → authdocloader-BAZpg_xi.js} +3 -3
  8. package/dist/{authdocloader-CSF0HpUd.js → authdocloader-C0GexsrH.js} +3 -3
  9. package/dist/{authdocloader-BZ3wxRbU.cjs → authdocloader-oIwkuaiO.cjs} +3 -3
  10. package/dist/{builder-DbzYJjYW.js → builder-CHQYD4vV.js} +14 -8
  11. package/dist/{client-BXo-ifnJ.js → client-Csz-Cfna.js} +1 -1
  12. package/dist/compat/mod.d.cts +7 -7
  13. package/dist/compat/mod.d.ts +7 -7
  14. package/dist/compat/transformers.test.js +16 -16
  15. package/dist/{context-Cp-kboln.d.ts → context-CXUibY4L.d.ts} +179 -116
  16. package/dist/{context-BkqGJwLI.d.cts → context-CwUAkopp.d.cts} +179 -116
  17. package/dist/{docloader-C8VNT_Xq.cjs → docloader-Bh_ukbSk.cjs} +2 -2
  18. package/dist/{docloader-vwID5KeD.js → docloader-DUaVPUP7.js} +2 -2
  19. package/dist/{esm-BrKG8Ydq.js → esm-CRJSDGg9.js} +1 -1
  20. package/dist/federation/builder.test.js +5 -5
  21. package/dist/federation/collection.test.js +3 -3
  22. package/dist/federation/handler.test.js +17 -17
  23. package/dist/federation/idempotency.test.d.ts +3 -0
  24. package/dist/federation/idempotency.test.js +202 -0
  25. package/dist/federation/inbox.test.js +4 -4
  26. package/dist/federation/keycache.test.js +4 -4
  27. package/dist/federation/kv.test.js +3 -3
  28. package/dist/federation/middleware.test.js +18 -18
  29. package/dist/federation/mod.cjs +10 -10
  30. package/dist/federation/mod.d.cts +7 -7
  31. package/dist/federation/mod.d.ts +7 -7
  32. package/dist/federation/mod.js +10 -10
  33. package/dist/federation/mq.test.js +3 -3
  34. package/dist/federation/retry.test.js +3 -3
  35. package/dist/federation/router.test.js +3 -3
  36. package/dist/federation/send.test.js +10 -10
  37. package/dist/fixtures/media.example.com/avatars/test-avatar.jpg.json +6 -0
  38. package/dist/{http-B9UPBFJz.d.cts → http-B1_DzfAU.d.cts} +1 -1
  39. package/dist/{http-D21OQwhJ.cjs → http-B8N8ZAUZ.cjs} +3 -3
  40. package/dist/{http-1S7OolRE.js → http-Br_sidK9.js} +3 -3
  41. package/dist/{http-PJ3EklL0.js → http-BybYoFJw.js} +2 -2
  42. package/dist/{http-BGqh2jzk.d.ts → http-wsGR6KkT.d.ts} +1 -1
  43. package/dist/{inbox-4wLOWRkP.js → inbox-DkogbJk7.js} +29 -7
  44. package/dist/{key-DTUnLJZM.js → key-B2K1baWY.js} +3 -3
  45. package/dist/{key-DbudJOUz.js → key-BL_pkpWg.js} +4 -4
  46. package/dist/{key-CH7qaiOX.js → key-C1K0KFXJ.js} +2 -2
  47. package/dist/{key-7YeppNTi.js → key-DU95vugc.js} +2 -2
  48. package/dist/key-DneI16bw.cjs +10 -0
  49. package/dist/{key-Bt6aeupK.cjs → key-PbwtKiy9.cjs} +2 -2
  50. package/dist/{keycache-OXZYOWra.js → keycache-9ty5PJKq.js} +1 -1
  51. package/dist/{keys-DMbcSHvH.js → keys-D_B7NUKq.js} +1 -1
  52. package/dist/{ld-BLx5h_2L.js → ld-C2wK2NCY.js} +2 -2
  53. package/dist/{lookup-tJvVI01W.js → lookup-BU2mZhd6.js} +1 -1
  54. package/dist/{lookup-BQHLqqvB.cjs → lookup-CQIpaRVB.cjs} +1 -1
  55. package/dist/{lookup-B8X3pPjF.js → lookup-GLSo3KJA.js} +21 -12
  56. package/dist/{middleware-DpNXnRa6.js → middleware-B2Zp4CQO.js} +78 -47
  57. package/dist/{middleware-CPgUeSYU.js → middleware-B96_0LKI.js} +43 -40
  58. package/dist/middleware-BZel7aTg.js +26 -0
  59. package/dist/{middleware-BN1ZyxrJ.cjs → middleware-CHdtkzPX.cjs} +78 -47
  60. package/dist/middleware-DxIA-f2s.cjs +17 -0
  61. package/dist/middleware-akUN3fZs.js +17 -0
  62. package/dist/{mod-DxjZ8kbs.d.cts → mod-BUbqxBev.d.cts} +19 -1
  63. package/dist/{mod-OfRtcQo1.d.ts → mod-BcObK1Lz.d.ts} +2 -2
  64. package/dist/{mod-CnEwcmyF.d.ts → mod-CDObsV1d.d.ts} +19 -1
  65. package/dist/{mod-TsyIDkKn.d.ts → mod-CIbqfZW0.d.ts} +1 -1
  66. package/dist/{mod-Cuem8g-I.d.ts → mod-DgcYoyZK.d.ts} +2 -2
  67. package/dist/{mod-bscaBAIo.d.cts → mod-Dt-G9ZOS.d.cts} +1 -1
  68. package/dist/{mod-BihGJmMM.d.cts → mod-fjqfsrty.d.cts} +2 -2
  69. package/dist/{mod-Ds5wiXHw.d.cts → mod-mXx9V0q5.d.cts} +2 -2
  70. package/dist/mod.cjs +10 -10
  71. package/dist/mod.d.cts +10 -10
  72. package/dist/mod.d.ts +10 -10
  73. package/dist/mod.js +10 -10
  74. package/dist/nodeinfo/client.test.js +5 -5
  75. package/dist/nodeinfo/handler.test.js +16 -16
  76. package/dist/nodeinfo/mod.cjs +2 -2
  77. package/dist/nodeinfo/mod.js +2 -2
  78. package/dist/nodeinfo/semver.test.js +3 -3
  79. package/dist/nodeinfo/types.test.js +3 -3
  80. package/dist/{owner-BYxDl2qi.d.cts → owner-6KSEp9eV.d.cts} +2 -2
  81. package/dist/{owner-DOUl7e-t.d.ts → owner-BbeUDvOu.d.ts} +2 -2
  82. package/dist/{owner-DeXz0uXj.js → owner-DdgOG5UM.js} +2 -2
  83. package/dist/{proof-1YMXAyHu.cjs → proof-C1YQwafO.cjs} +3 -3
  84. package/dist/{proof-DEbHE-Rp.js → proof-nDt6_5lP.js} +2 -2
  85. package/dist/{proof-C5AaUlDb.js → proof-s1G_SRlt.js} +3 -3
  86. package/dist/runtime/authdocloader.test.js +9 -9
  87. package/dist/runtime/docloader.test.js +4 -4
  88. package/dist/runtime/key.test.js +5 -5
  89. package/dist/runtime/langstr.test.js +3 -3
  90. package/dist/runtime/link.test.js +3 -3
  91. package/dist/runtime/mod.cjs +6 -6
  92. package/dist/runtime/mod.d.cts +3 -3
  93. package/dist/runtime/mod.d.ts +3 -3
  94. package/dist/runtime/mod.js +6 -6
  95. package/dist/runtime/multibase/multibase.test.js +3 -3
  96. package/dist/runtime/url.test.js +3 -3
  97. package/dist/{send-ZLr2Fq_j.js → send-YlMc7DGj.js} +2 -2
  98. package/dist/sig/http.test.js +8 -8
  99. package/dist/sig/key.test.js +6 -6
  100. package/dist/sig/ld.test.js +7 -7
  101. package/dist/sig/mod.cjs +6 -6
  102. package/dist/sig/mod.d.cts +5 -5
  103. package/dist/sig/mod.d.ts +5 -5
  104. package/dist/sig/mod.js +6 -6
  105. package/dist/sig/owner.test.js +7 -7
  106. package/dist/sig/proof.test.js +7 -7
  107. package/dist/testing/docloader.test.js +3 -3
  108. package/dist/testing/mod.d.ts +341 -379
  109. package/dist/testing/mod.js +3 -3
  110. package/dist/{testing-CyBcyXDK.js → testing-B1zhVQn5.js} +2 -2
  111. package/dist/{type-C9v8GMO6.js → type-CAbzJEbL.js} +6298 -3075
  112. package/dist/{types-B2Gwh9uw.cjs → types-BGWxE9S1.cjs} +1 -1
  113. package/dist/{types-KhFFD-xZ.js → types-BgqeGOUD.js} +1 -1
  114. package/dist/vocab/actor.test.js +5 -5
  115. package/dist/vocab/lookup.test.js +255 -5
  116. package/dist/vocab/mod.cjs +4 -4
  117. package/dist/vocab/mod.d.cts +3 -3
  118. package/dist/vocab/mod.d.ts +3 -3
  119. package/dist/vocab/mod.js +4 -4
  120. package/dist/vocab/type.test.js +3 -3
  121. package/dist/vocab/vocab.test.js +395 -24
  122. package/dist/{vocab-BW6SWH9P.d.ts → vocab-CDHNj5zp.d.ts} +158 -497
  123. package/dist/{vocab-qpRpljdS.d.cts → vocab-Cfs0937i.d.cts} +158 -497
  124. package/dist/{vocab-95nbu41B.cjs → vocab-DiA70N1V.cjs} +23 -14
  125. package/dist/{vocab-DUIA4PK3.js → vocab-qc770nrv.js} +23 -14
  126. package/dist/webfinger/handler.test.js +16 -16
  127. package/dist/webfinger/lookup.test.js +4 -4
  128. package/dist/webfinger/mod.cjs +2 -2
  129. package/dist/webfinger/mod.js +2 -2
  130. package/dist/x/cfworkers.test.js +3 -3
  131. package/dist/x/hono.d.cts +6 -6
  132. package/dist/x/hono.d.ts +6 -6
  133. package/dist/x/sveltekit.d.cts +6 -6
  134. package/dist/x/sveltekit.d.ts +6 -6
  135. package/package.json +3 -3
  136. package/dist/key-C-eEPc5P.cjs +0 -10
  137. package/dist/middleware-BKKzirBh.cjs +0 -17
  138. package/dist/middleware-D9dqPUdF.js +0 -17
  139. package/dist/middleware-ofHkiPKA.js +0 -26
@@ -3,36 +3,36 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { Create, Note, Person } from "../type-C9v8GMO6.js";
6
+ import { Create, Note, Person } from "../type-CAbzJEbL.js";
7
7
  import { assertEquals } from "../assert_equals-DSbWqCm3.js";
8
8
  import { assert } from "../assert-MZs1qjMx.js";
9
9
  import "../assert_instance_of-DHz7EHNU.js";
10
10
  import { MemoryKvStore } from "../kv-CRZrzyXm.js";
11
- import { acceptsJsonLd, createFederation, handleActor, handleCollection, handleCustomCollection, handleInbox, handleObject, respondWithObject, respondWithObjectIfAcceptable } from "../middleware-CPgUeSYU.js";
11
+ import { acceptsJsonLd, createFederation, handleActor, handleCollection, handleCustomCollection, handleInbox, handleObject, respondWithObject, respondWithObjectIfAcceptable } from "../middleware-B96_0LKI.js";
12
12
  import "../semver-dArNLkR9.js";
13
- import "../client-BXo-ifnJ.js";
14
- import "../lookup-B8X3pPjF.js";
13
+ import "../client-Csz-Cfna.js";
14
+ import "../lookup-GLSo3KJA.js";
15
15
  import "../types-BIgY6c-l.js";
16
- import "../actor-DNoKtm0e.js";
17
- import "../key-CH7qaiOX.js";
18
- import { signRequest } from "../http-PJ3EklL0.js";
19
- import "../authdocloader-BMUj-LDP.js";
20
- import "../ld-BLx5h_2L.js";
21
- import "../owner-DeXz0uXj.js";
22
- import "../proof-DEbHE-Rp.js";
23
- import { InboxListenerSet } from "../inbox-4wLOWRkP.js";
24
- import "../builder-DbzYJjYW.js";
16
+ import "../actor-BscXI9ov.js";
17
+ import "../key-C1K0KFXJ.js";
18
+ import { signRequest } from "../http-BybYoFJw.js";
19
+ import "../authdocloader-BAZpg_xi.js";
20
+ import "../ld-C2wK2NCY.js";
21
+ import "../owner-DdgOG5UM.js";
22
+ import "../proof-nDt6_5lP.js";
23
+ import { InboxListenerSet } from "../inbox-DkogbJk7.js";
24
+ import "../builder-CHQYD4vV.js";
25
25
  import "../collection-CSzG2j1P.js";
26
- import "../keycache-OXZYOWra.js";
26
+ import "../keycache-9ty5PJKq.js";
27
27
  import "../retry-D4GJ670a.js";
28
- import "../send-ZLr2Fq_j.js";
29
- import { createInboxContext, createRequestContext, mockDocumentLoader, test } from "../testing-CyBcyXDK.js";
28
+ import "../send-YlMc7DGj.js";
29
+ import { createInboxContext, createRequestContext, mockDocumentLoader, test } from "../testing-B1zhVQn5.js";
30
30
  import "../std__assert-X-_kMxKM.js";
31
31
  import { assertFalse } from "../assert_rejects-DiIiJbZn.js";
32
32
  import "../assert_is_error-BPGph1Jx.js";
33
33
  import "../assert_not_equals-f3m3epl3.js";
34
34
  import "../assert_throws-BOO88avQ.js";
35
- import { rsaPrivateKey3, rsaPublicKey2, rsaPublicKey3 } from "../keys-DMbcSHvH.js";
35
+ import { rsaPrivateKey3, rsaPublicKey2, rsaPublicKey3 } from "../keys-D_B7NUKq.js";
36
36
 
37
37
  //#region src/federation/handler.test.ts
38
38
  test("acceptsJsonLd()", () => {
@@ -0,0 +1,3 @@
1
+ import { Temporal } from "@js-temporal/polyfill";
2
+ import { URLPattern } from "urlpattern-polyfill";
3
+ globalThis.addEventListener = () => {};
@@ -0,0 +1,202 @@
1
+
2
+ import { Temporal } from "@js-temporal/polyfill";
3
+ import { URLPattern } from "urlpattern-polyfill";
4
+ globalThis.addEventListener = () => {};
5
+
6
+ import { Create, Follow, Person } from "../type-CAbzJEbL.js";
7
+ import { assertEquals } from "../assert_equals-DSbWqCm3.js";
8
+ import "../assert-MZs1qjMx.js";
9
+ import "../assert_instance_of-DHz7EHNU.js";
10
+ import { MemoryKvStore } from "../kv-CRZrzyXm.js";
11
+ import { createFederation } from "../middleware-B96_0LKI.js";
12
+ import "../semver-dArNLkR9.js";
13
+ import "../client-Csz-Cfna.js";
14
+ import "../lookup-GLSo3KJA.js";
15
+ import "../types-BIgY6c-l.js";
16
+ import "../actor-BscXI9ov.js";
17
+ import "../key-C1K0KFXJ.js";
18
+ import "../http-BybYoFJw.js";
19
+ import "../authdocloader-BAZpg_xi.js";
20
+ import "../ld-C2wK2NCY.js";
21
+ import "../owner-DdgOG5UM.js";
22
+ import { signObject } from "../proof-nDt6_5lP.js";
23
+ import "../inbox-DkogbJk7.js";
24
+ import "../builder-CHQYD4vV.js";
25
+ import "../collection-CSzG2j1P.js";
26
+ import "../keycache-9ty5PJKq.js";
27
+ import "../retry-D4GJ670a.js";
28
+ import "../send-YlMc7DGj.js";
29
+ import { mockDocumentLoader, test } from "../testing-B1zhVQn5.js";
30
+ import "../std__assert-X-_kMxKM.js";
31
+ import "../assert_rejects-DiIiJbZn.js";
32
+ import "../assert_is_error-BPGph1Jx.js";
33
+ import "../assert_not_equals-f3m3epl3.js";
34
+ import "../assert_throws-BOO88avQ.js";
35
+ import { ed25519Multikey, ed25519PrivateKey, ed25519PublicKey } from "../keys-D_B7NUKq.js";
36
+
37
+ //#region src/federation/idempotency.test.ts
38
+ const kv = new MemoryKvStore();
39
+ const federationOptions = {
40
+ kv,
41
+ documentLoader: mockDocumentLoader,
42
+ authenticatedDocumentLoaderFactory: () => mockDocumentLoader
43
+ };
44
+ function createTestFederation() {
45
+ const federation = createFederation(federationOptions);
46
+ federation.setActorDispatcher("/users/{identifier}", (_, identifier) => identifier === "john" ? new Person({}) : null).setKeyPairsDispatcher(() => [{
47
+ privateKey: ed25519PrivateKey,
48
+ publicKey: ed25519PublicKey.publicKey
49
+ }]);
50
+ return federation;
51
+ }
52
+ test("Federation.setInboxListeners().withIdempotency() - per-origin strategy", async () => {
53
+ const federation = createTestFederation();
54
+ const processedActivities = [];
55
+ federation.setInboxListeners("/users/{identifier}/inbox", "/inbox").withIdempotency("per-origin").on(Create, (ctx, activity$1) => {
56
+ processedActivities.push([ctx.recipient, activity$1]);
57
+ });
58
+ const activity = new Create({
59
+ id: new URL("https://example.com/activities/1"),
60
+ actor: new URL("https://example.com/person2")
61
+ });
62
+ const signedActivity = await signObject(activity, ed25519PrivateKey, ed25519Multikey.id);
63
+ const body = JSON.stringify(await signedActivity.toJsonLd({ contextLoader: mockDocumentLoader }));
64
+ let response = await federation.fetch(new Request("https://example.com/users/john/inbox", {
65
+ method: "POST",
66
+ headers: { "Content-Type": "application/activity+json" },
67
+ body
68
+ }), { contextData: void 0 });
69
+ assertEquals(response.status, 202);
70
+ assertEquals(processedActivities.length, 1);
71
+ assertEquals(processedActivities[0][0], "john");
72
+ response = await federation.fetch(new Request("https://example.com/inbox", {
73
+ method: "POST",
74
+ headers: { "Content-Type": "application/activity+json" },
75
+ body
76
+ }), { contextData: void 0 });
77
+ assertEquals(response.status, 202);
78
+ assertEquals(processedActivities.length, 1);
79
+ await kv.delete([
80
+ "_fedify",
81
+ "activityIdempotence",
82
+ "https://example.com:https://example.com/activities/1"
83
+ ]);
84
+ });
85
+ test("Federation.setInboxListeners().withIdempotency() - per-inbox strategy", async () => {
86
+ const federation = createTestFederation();
87
+ const processedActivities = [];
88
+ federation.setInboxListeners("/users/{identifier}/inbox", "/inbox").withIdempotency("per-inbox").on(Create, (ctx, activity$1) => {
89
+ processedActivities.push([ctx.recipient, activity$1]);
90
+ });
91
+ const activity = new Create({
92
+ id: new URL("https://example.com/activities/2"),
93
+ actor: new URL("https://example.com/person2")
94
+ });
95
+ const signedActivity = await signObject(activity, ed25519PrivateKey, ed25519Multikey.id);
96
+ const body = JSON.stringify(await signedActivity.toJsonLd({ contextLoader: mockDocumentLoader }));
97
+ let response = await federation.fetch(new Request("https://example.com/users/john/inbox", {
98
+ method: "POST",
99
+ headers: { "Content-Type": "application/activity+json" },
100
+ body
101
+ }), { contextData: void 0 });
102
+ assertEquals(response.status, 202);
103
+ assertEquals(processedActivities.length, 1);
104
+ assertEquals(processedActivities[0][0], "john");
105
+ response = await federation.fetch(new Request("https://example.com/inbox", {
106
+ method: "POST",
107
+ headers: { "Content-Type": "application/activity+json" },
108
+ body
109
+ }), { contextData: void 0 });
110
+ assertEquals(response.status, 202);
111
+ assertEquals(processedActivities.length, 2);
112
+ assertEquals(processedActivities[1][0], null);
113
+ response = await federation.fetch(new Request("https://example.com/users/john/inbox", {
114
+ method: "POST",
115
+ headers: { "Content-Type": "application/activity+json" },
116
+ body
117
+ }), { contextData: void 0 });
118
+ assertEquals(response.status, 202);
119
+ assertEquals(processedActivities.length, 2);
120
+ });
121
+ test("Federation.setInboxListeners().withIdempotency() - global strategy", async () => {
122
+ const federation = createTestFederation();
123
+ const processedActivities = [];
124
+ federation.setInboxListeners("/users/{identifier}/inbox", "/inbox").withIdempotency("global").on(Create, (ctx, activity$1) => {
125
+ processedActivities.push([ctx.recipient, activity$1]);
126
+ });
127
+ const activity = new Create({
128
+ id: new URL("https://example.com/activities/3"),
129
+ actor: new URL("https://example.com/person2")
130
+ });
131
+ const signedActivity = await signObject(activity, ed25519PrivateKey, ed25519Multikey.id);
132
+ const body = JSON.stringify(await signedActivity.toJsonLd({ contextLoader: mockDocumentLoader }));
133
+ let response = await federation.fetch(new Request("https://example.com/users/john/inbox", {
134
+ method: "POST",
135
+ headers: { "Content-Type": "application/activity+json" },
136
+ body
137
+ }), { contextData: void 0 });
138
+ assertEquals(response.status, 202);
139
+ assertEquals(processedActivities.length, 1);
140
+ response = await federation.fetch(new Request("https://example.com/inbox", {
141
+ method: "POST",
142
+ headers: { "Content-Type": "application/activity+json" },
143
+ body
144
+ }), { contextData: void 0 });
145
+ assertEquals(response.status, 202);
146
+ assertEquals(processedActivities.length, 1);
147
+ });
148
+ test("Federation.setInboxListeners().withIdempotency() - custom callback", async () => {
149
+ const federation = createTestFederation();
150
+ const processedActivities = [];
151
+ federation.setInboxListeners("/users/{identifier}/inbox", "/inbox").withIdempotency((ctx, activity) => {
152
+ if (activity instanceof Follow) return null;
153
+ const inboxId = ctx.recipient ?? "shared";
154
+ return `${ctx.origin}:${activity.id?.href}:${inboxId}`;
155
+ }).on(Create, (ctx, activity) => {
156
+ processedActivities.push([ctx.recipient, activity]);
157
+ }).on(Follow, (ctx, activity) => {
158
+ processedActivities.push([ctx.recipient, activity]);
159
+ });
160
+ const createActivity = new Create({
161
+ id: new URL("https://example.com/activities/4"),
162
+ actor: new URL("https://example.com/person2")
163
+ });
164
+ const signedCreate = await signObject(createActivity, ed25519PrivateKey, ed25519Multikey.id);
165
+ const createBody = JSON.stringify(await signedCreate.toJsonLd({ contextLoader: mockDocumentLoader }));
166
+ let response = await federation.fetch(new Request("https://example.com/users/john/inbox", {
167
+ method: "POST",
168
+ headers: { "Content-Type": "application/activity+json" },
169
+ body: createBody
170
+ }), { contextData: void 0 });
171
+ assertEquals(response.status, 202);
172
+ assertEquals(processedActivities.length, 1);
173
+ response = await federation.fetch(new Request("https://example.com/users/john/inbox", {
174
+ method: "POST",
175
+ headers: { "Content-Type": "application/activity+json" },
176
+ body: createBody
177
+ }), { contextData: void 0 });
178
+ assertEquals(response.status, 202);
179
+ assertEquals(processedActivities.length, 1);
180
+ const followActivity = new Follow({
181
+ id: new URL("https://example.com/activities/5"),
182
+ actor: new URL("https://example.com/person2")
183
+ });
184
+ const signedFollow = await signObject(followActivity, ed25519PrivateKey, ed25519Multikey.id);
185
+ const followBody = JSON.stringify(await signedFollow.toJsonLd({ contextLoader: mockDocumentLoader }));
186
+ response = await federation.fetch(new Request("https://example.com/users/john/inbox", {
187
+ method: "POST",
188
+ headers: { "Content-Type": "application/activity+json" },
189
+ body: followBody
190
+ }), { contextData: void 0 });
191
+ assertEquals(response.status, 202);
192
+ assertEquals(processedActivities.length, 2);
193
+ response = await federation.fetch(new Request("https://example.com/users/john/inbox", {
194
+ method: "POST",
195
+ headers: { "Content-Type": "application/activity+json" },
196
+ body: followBody
197
+ }), { contextData: void 0 });
198
+ assertEquals(response.status, 202);
199
+ assertEquals(processedActivities.length, 3);
200
+ });
201
+
202
+ //#endregion
@@ -3,11 +3,11 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { Activity, Create, Invite, Offer, Update } from "../type-C9v8GMO6.js";
6
+ import { Activity, Create, Invite, Offer, Update } from "../type-CAbzJEbL.js";
7
7
  import { assertEquals } from "../assert_equals-DSbWqCm3.js";
8
- import "../lookup-B8X3pPjF.js";
9
- import { InboxListenerSet } from "../inbox-4wLOWRkP.js";
10
- import { test } from "../testing-CyBcyXDK.js";
8
+ import "../lookup-GLSo3KJA.js";
9
+ import { InboxListenerSet } from "../inbox-DkogbJk7.js";
10
+ import { test } from "../testing-B1zhVQn5.js";
11
11
  import "../assert_is_error-BPGph1Jx.js";
12
12
  import { assertThrows } from "../assert_throws-BOO88avQ.js";
13
13
 
@@ -3,14 +3,14 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { CryptographicKey, Multikey } from "../type-C9v8GMO6.js";
6
+ import { CryptographicKey, Multikey } from "../type-CAbzJEbL.js";
7
7
  import { assertEquals } from "../assert_equals-DSbWqCm3.js";
8
8
  import { assert } from "../assert-MZs1qjMx.js";
9
9
  import { assertInstanceOf } from "../assert_instance_of-DHz7EHNU.js";
10
10
  import { MemoryKvStore } from "../kv-CRZrzyXm.js";
11
- import "../lookup-B8X3pPjF.js";
12
- import { KvKeyCache } from "../keycache-OXZYOWra.js";
13
- import { test } from "../testing-CyBcyXDK.js";
11
+ import "../lookup-GLSo3KJA.js";
12
+ import { KvKeyCache } from "../keycache-9ty5PJKq.js";
13
+ import { test } from "../testing-B1zhVQn5.js";
14
14
 
15
15
  //#region src/federation/keycache.test.ts
16
16
  test("KvKeyCache.set()", async () => {
@@ -3,13 +3,13 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import "../type-C9v8GMO6.js";
6
+ import "../type-CAbzJEbL.js";
7
7
  import { assertEquals } from "../assert_equals-DSbWqCm3.js";
8
8
  import "../assert-MZs1qjMx.js";
9
9
  import "../assert_instance_of-DHz7EHNU.js";
10
10
  import { MemoryKvStore } from "../kv-CRZrzyXm.js";
11
- import "../lookup-B8X3pPjF.js";
12
- import { test } from "../testing-CyBcyXDK.js";
11
+ import "../lookup-GLSo3KJA.js";
12
+ import { test } from "../testing-B1zhVQn5.js";
13
13
  import "../std__assert-X-_kMxKM.js";
14
14
  import "../assert_rejects-DiIiJbZn.js";
15
15
  import "../assert_is_error-BPGph1Jx.js";
@@ -3,37 +3,37 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { Activity, Announce, Create, FetchError, Invite, Multikey, Note, Object as Object$1, Offer, Person, fetchDocumentLoader, getTypeId } from "../type-C9v8GMO6.js";
6
+ import { Activity, Announce, Create, FetchError, Invite, Multikey, Note, Object as Object$1, Offer, Person, fetchDocumentLoader, getTypeId } from "../type-CAbzJEbL.js";
7
7
  import { assertEquals } from "../assert_equals-DSbWqCm3.js";
8
8
  import { assert } from "../assert-MZs1qjMx.js";
9
9
  import { assertInstanceOf } from "../assert_instance_of-DHz7EHNU.js";
10
10
  import { MemoryKvStore } from "../kv-CRZrzyXm.js";
11
- import { ContextImpl, FederationImpl, InboxContextImpl, KvSpecDeterminer, createFederation } from "../middleware-CPgUeSYU.js";
11
+ import { ContextImpl, FederationImpl, InboxContextImpl, KvSpecDeterminer, createFederation } from "../middleware-B96_0LKI.js";
12
12
  import "../semver-dArNLkR9.js";
13
- import "../client-BXo-ifnJ.js";
14
- import { RouterError, lookupObject } from "../lookup-B8X3pPjF.js";
13
+ import "../client-Csz-Cfna.js";
14
+ import { RouterError, lookupObject } from "../lookup-GLSo3KJA.js";
15
15
  import "../types-BIgY6c-l.js";
16
- import "../actor-DNoKtm0e.js";
17
- import "../key-CH7qaiOX.js";
18
- import { signRequest, verifyRequest } from "../http-PJ3EklL0.js";
19
- import { getAuthenticatedDocumentLoader } from "../authdocloader-BMUj-LDP.js";
20
- import { detachSignature, signJsonLd, verifyJsonLd } from "../ld-BLx5h_2L.js";
21
- import { doesActorOwnKey } from "../owner-DeXz0uXj.js";
22
- import { signObject, verifyObject } from "../proof-DEbHE-Rp.js";
23
- import "../inbox-4wLOWRkP.js";
24
- import "../builder-DbzYJjYW.js";
16
+ import "../actor-BscXI9ov.js";
17
+ import "../key-C1K0KFXJ.js";
18
+ import { signRequest, verifyRequest } from "../http-BybYoFJw.js";
19
+ import { getAuthenticatedDocumentLoader } from "../authdocloader-BAZpg_xi.js";
20
+ import { detachSignature, signJsonLd, verifyJsonLd } from "../ld-C2wK2NCY.js";
21
+ import { doesActorOwnKey } from "../owner-DdgOG5UM.js";
22
+ import { signObject, verifyObject } from "../proof-nDt6_5lP.js";
23
+ import "../inbox-DkogbJk7.js";
24
+ import "../builder-CHQYD4vV.js";
25
25
  import "../collection-CSzG2j1P.js";
26
- import "../keycache-OXZYOWra.js";
26
+ import "../keycache-9ty5PJKq.js";
27
27
  import "../retry-D4GJ670a.js";
28
- import "../send-ZLr2Fq_j.js";
29
- import { mockDocumentLoader, test } from "../testing-CyBcyXDK.js";
28
+ import "../send-YlMc7DGj.js";
29
+ import { mockDocumentLoader, test } from "../testing-B1zhVQn5.js";
30
30
  import { assertStrictEquals } from "../std__assert-X-_kMxKM.js";
31
31
  import { assertFalse, assertRejects } from "../assert_rejects-DiIiJbZn.js";
32
32
  import "../assert_is_error-BPGph1Jx.js";
33
33
  import { assertNotEquals } from "../assert_not_equals-f3m3epl3.js";
34
34
  import { assertThrows } from "../assert_throws-BOO88avQ.js";
35
- import { ed25519Multikey, ed25519PrivateKey, ed25519PublicKey, rsaPrivateKey2, rsaPrivateKey3, rsaPublicKey2, rsaPublicKey3 } from "../keys-DMbcSHvH.js";
36
- import { esm_default } from "../esm-BrKG8Ydq.js";
35
+ import { ed25519Multikey, ed25519PrivateKey, ed25519PublicKey, rsaPrivateKey2, rsaPrivateKey3, rsaPublicKey2, rsaPublicKey3 } from "../keys-D_B7NUKq.js";
36
+ import { esm_default } from "../esm-CRJSDGg9.js";
37
37
 
38
38
  //#region src/testing/fixtures/example.com/person.json
39
39
  var __context$1 = ["https://www.w3.org/ns/activitystreams", "https://w3id.org/security/v1"];
@@ -3,17 +3,17 @@
3
3
  const { URLPattern } = require("urlpattern-polyfill");
4
4
 
5
5
  require('../transformers-CoBS-oFG.cjs');
6
- require('../docloader-C8VNT_Xq.cjs');
7
- require('../actor-C84MVjvg.cjs');
8
- const require_middleware = require('../middleware-BN1ZyxrJ.cjs');
9
- require('../lookup-BQHLqqvB.cjs');
10
- require('../key-Bt6aeupK.cjs');
11
- require('../http-D21OQwhJ.cjs');
12
- require('../proof-1YMXAyHu.cjs');
6
+ require('../docloader-Bh_ukbSk.cjs');
7
+ require('../actor-CrrVlr_l.cjs');
8
+ const require_middleware = require('../middleware-CHdtkzPX.cjs');
9
+ require('../lookup-CQIpaRVB.cjs');
10
+ require('../key-PbwtKiy9.cjs');
11
+ require('../http-B8N8ZAUZ.cjs');
12
+ require('../proof-C1YQwafO.cjs');
13
13
  const require_federation = require('../federation-H2_En3j5.cjs');
14
- require('../types-B2Gwh9uw.cjs');
15
- require('../authdocloader-BZ3wxRbU.cjs');
16
- require('../vocab-95nbu41B.cjs');
14
+ require('../types-BGWxE9S1.cjs');
15
+ require('../authdocloader-oIwkuaiO.cjs');
16
+ require('../vocab-DiA70N1V.cjs');
17
17
 
18
18
  exports.InProcessMessageQueue = require_federation.InProcessMessageQueue;
19
19
  exports.MemoryKvStore = require_federation.MemoryKvStore;
@@ -1,13 +1,13 @@
1
1
  import { KvKey, KvStore, KvStoreSetOptions, MemoryKvStore } from "../kv-63Cil1MD.cjs";
2
2
  import "../docloader-D-MrRyHl.cjs";
3
3
  import "../client-DjT_tegg.cjs";
4
- import "../vocab-qpRpljdS.cjs";
5
- import "../actor-D8GmZX63.cjs";
6
- import "../http-B9UPBFJz.cjs";
7
- import "../owner-BYxDl2qi.cjs";
8
- import "../mod-DxjZ8kbs.cjs";
4
+ import "../vocab-Cfs0937i.cjs";
5
+ import "../actor-Ydzhc8dj.cjs";
6
+ import "../http-B1_DzfAU.cjs";
7
+ import "../owner-6KSEp9eV.cjs";
8
+ import "../mod-BUbqxBev.cjs";
9
9
  import "../mod-jQ4OODsl.cjs";
10
- import { ActorAliasMapper, ActorCallbackSetters, ActorDispatcher, ActorHandleMapper, ActorKeyPair, ActorKeyPairsDispatcher, AuthorizePredicate, CollectionCallbackSetters, CollectionCounter, CollectionCursor, CollectionDispatcher, ConstructorWithTypeId, Context, CreateExponentialBackoffPolicyOptions, CreateFederationOptions, CustomCollectionCallbackSetters, CustomCollectionCounter, CustomCollectionCursor, CustomCollectionDispatcher, Federatable, Federation, FederationBuilder, FederationFetchOptions, FederationKvPrefixes, FederationOptions, FederationOrigin, FederationQueueOptions, FederationStartQueueOptions, ForwardActivityOptions, GetSignedKeyOptions, InboxContext, InboxErrorHandler, InboxListener, InboxListenerSetters, Message, NodeInfoDispatcher, ObjectAuthorizePredicate, ObjectCallbackSetters, ObjectDispatcher, OutboxErrorHandler, PageItems, ParamsKeyPath, ParseUriResult, RequestContext, RespondWithObjectOptions, RetryContext, RetryPolicy, RouteActivityOptions, Router, RouterError, RouterOptions, RouterRouteResult, SendActivityOptions, SendActivityOptionsForCollection, SenderKeyPair, SharedInboxKeyDispatcher, WebFingerLinksDispatcher, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, digest, respondWithObject, respondWithObjectIfAcceptable } from "../context-BkqGJwLI.cjs";
10
+ import { ActorAliasMapper, ActorCallbackSetters, ActorDispatcher, ActorHandleMapper, ActorKeyPair, ActorKeyPairsDispatcher, AuthorizePredicate, CollectionCallbackSetters, CollectionCounter, CollectionCursor, CollectionDispatcher, ConstructorWithTypeId, Context, CreateExponentialBackoffPolicyOptions, CreateFederationOptions, CustomCollectionCallbackSetters, CustomCollectionCounter, CustomCollectionCursor, CustomCollectionDispatcher, Federatable, Federation, FederationBuilder, FederationFetchOptions, FederationKvPrefixes, FederationOptions, FederationOrigin, FederationQueueOptions, FederationStartQueueOptions, ForwardActivityOptions, GetSignedKeyOptions, IdempotencyKeyCallback, IdempotencyStrategy, InboxContext, InboxErrorHandler, InboxListener, InboxListenerSetters, Message, NodeInfoDispatcher, ObjectAuthorizePredicate, ObjectCallbackSetters, ObjectDispatcher, OutboxErrorHandler, PageItems, ParseUriResult, RequestContext, RespondWithObjectOptions, RetryContext, RetryPolicy, Rfc6570Expression, RouteActivityOptions, Router, RouterError, RouterOptions, RouterRouteResult, SendActivityOptions, SendActivityOptionsForCollection, SenderKeyPair, SharedInboxKeyDispatcher, WebFingerLinksDispatcher, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, digest, respondWithObject, respondWithObjectIfAcceptable } from "../context-CwUAkopp.cjs";
11
11
  import { InProcessMessageQueue, InProcessMessageQueueOptions, MessageQueue, MessageQueueEnqueueOptions, MessageQueueListenOptions, ParallelMessageQueue } from "../mq-B7R1Q-M5.cjs";
12
12
  import "../mod-C2tOeRkN.cjs";
13
- export { ActorAliasMapper, ActorCallbackSetters, ActorDispatcher, ActorHandleMapper, ActorKeyPair, ActorKeyPairsDispatcher, AuthorizePredicate, CollectionCallbackSetters, CollectionCounter, CollectionCursor, CollectionDispatcher, ConstructorWithTypeId, Context, CreateExponentialBackoffPolicyOptions, CreateFederationOptions, CustomCollectionCallbackSetters, CustomCollectionCounter, CustomCollectionCursor, CustomCollectionDispatcher, Federatable, Federation, FederationBuilder, FederationFetchOptions, FederationKvPrefixes, FederationOptions, FederationOrigin, FederationQueueOptions, FederationStartQueueOptions, ForwardActivityOptions, GetSignedKeyOptions, InProcessMessageQueue, InProcessMessageQueueOptions, InboxContext, InboxErrorHandler, InboxListener, InboxListenerSetters, KvKey, KvStore, KvStoreSetOptions, MemoryKvStore, Message, MessageQueue, MessageQueueEnqueueOptions, MessageQueueListenOptions, NodeInfoDispatcher, ObjectAuthorizePredicate, ObjectCallbackSetters, ObjectDispatcher, OutboxErrorHandler, PageItems, ParallelMessageQueue, ParamsKeyPath, ParseUriResult, RequestContext, RespondWithObjectOptions, RetryContext, RetryPolicy, RouteActivityOptions, Router, RouterError, RouterOptions, RouterRouteResult, SendActivityOptions, SendActivityOptionsForCollection, SenderKeyPair, SharedInboxKeyDispatcher, WebFingerLinksDispatcher, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, digest, respondWithObject, respondWithObjectIfAcceptable };
13
+ export { ActorAliasMapper, ActorCallbackSetters, ActorDispatcher, ActorHandleMapper, ActorKeyPair, ActorKeyPairsDispatcher, AuthorizePredicate, CollectionCallbackSetters, CollectionCounter, CollectionCursor, CollectionDispatcher, ConstructorWithTypeId, Context, CreateExponentialBackoffPolicyOptions, CreateFederationOptions, 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, KvStoreSetOptions, MemoryKvStore, Message, MessageQueue, MessageQueueEnqueueOptions, MessageQueueListenOptions, NodeInfoDispatcher, ObjectAuthorizePredicate, ObjectCallbackSetters, ObjectDispatcher, OutboxErrorHandler, PageItems, ParallelMessageQueue, ParseUriResult, RequestContext, RespondWithObjectOptions, RetryContext, RetryPolicy, Rfc6570Expression, RouteActivityOptions, Router, RouterError, RouterOptions, RouterRouteResult, SendActivityOptions, SendActivityOptionsForCollection, SenderKeyPair, SharedInboxKeyDispatcher, WebFingerLinksDispatcher, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, digest, respondWithObject, respondWithObjectIfAcceptable };
@@ -3,13 +3,13 @@ import { URLPattern } from "urlpattern-polyfill";
3
3
  import { KvKey, KvStore, KvStoreSetOptions, MemoryKvStore } from "../kv-C7sopW2E.js";
4
4
  import "../docloader-CxWcuWqQ.js";
5
5
  import "../client-DF8anIB5.js";
6
- import "../vocab-BW6SWH9P.js";
7
- import "../actor-sT_gcgkl.js";
8
- import "../http-BGqh2jzk.js";
9
- import "../owner-DOUl7e-t.js";
10
- import "../mod-CnEwcmyF.js";
6
+ import "../vocab-CDHNj5zp.js";
7
+ import "../actor-C1Euqngb.js";
8
+ import "../http-wsGR6KkT.js";
9
+ import "../owner-BbeUDvOu.js";
10
+ import "../mod-CDObsV1d.js";
11
11
  import "../mod-DBzN0aCM.js";
12
- import { ActorAliasMapper, ActorCallbackSetters, ActorDispatcher, ActorHandleMapper, ActorKeyPair, ActorKeyPairsDispatcher, AuthorizePredicate, CollectionCallbackSetters, CollectionCounter, CollectionCursor, CollectionDispatcher, ConstructorWithTypeId, Context, CreateExponentialBackoffPolicyOptions, CreateFederationOptions, CustomCollectionCallbackSetters, CustomCollectionCounter, CustomCollectionCursor, CustomCollectionDispatcher, Federatable, Federation, FederationBuilder, FederationFetchOptions, FederationKvPrefixes, FederationOptions, FederationOrigin, FederationQueueOptions, FederationStartQueueOptions, ForwardActivityOptions, GetSignedKeyOptions, InboxContext, InboxErrorHandler, InboxListener, InboxListenerSetters, Message, NodeInfoDispatcher, ObjectAuthorizePredicate, ObjectCallbackSetters, ObjectDispatcher, OutboxErrorHandler, PageItems, ParamsKeyPath, ParseUriResult, RequestContext, RespondWithObjectOptions, RetryContext, RetryPolicy, RouteActivityOptions, Router, RouterError, RouterOptions, RouterRouteResult, SendActivityOptions, SendActivityOptionsForCollection, SenderKeyPair, SharedInboxKeyDispatcher, WebFingerLinksDispatcher, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, digest, respondWithObject, respondWithObjectIfAcceptable } from "../context-Cp-kboln.js";
12
+ import { ActorAliasMapper, ActorCallbackSetters, ActorDispatcher, ActorHandleMapper, ActorKeyPair, ActorKeyPairsDispatcher, AuthorizePredicate, CollectionCallbackSetters, CollectionCounter, CollectionCursor, CollectionDispatcher, ConstructorWithTypeId, Context, CreateExponentialBackoffPolicyOptions, CreateFederationOptions, CustomCollectionCallbackSetters, CustomCollectionCounter, CustomCollectionCursor, CustomCollectionDispatcher, Federatable, Federation, FederationBuilder, FederationFetchOptions, FederationKvPrefixes, FederationOptions, FederationOrigin, FederationQueueOptions, FederationStartQueueOptions, ForwardActivityOptions, GetSignedKeyOptions, IdempotencyKeyCallback, IdempotencyStrategy, InboxContext, InboxErrorHandler, InboxListener, InboxListenerSetters, Message, NodeInfoDispatcher, ObjectAuthorizePredicate, ObjectCallbackSetters, ObjectDispatcher, OutboxErrorHandler, PageItems, ParseUriResult, RequestContext, RespondWithObjectOptions, RetryContext, RetryPolicy, Rfc6570Expression, RouteActivityOptions, Router, RouterError, RouterOptions, RouterRouteResult, SendActivityOptions, SendActivityOptionsForCollection, SenderKeyPair, SharedInboxKeyDispatcher, WebFingerLinksDispatcher, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, digest, respondWithObject, respondWithObjectIfAcceptable } from "../context-CXUibY4L.js";
13
13
  import { InProcessMessageQueue, InProcessMessageQueueOptions, MessageQueue, MessageQueueEnqueueOptions, MessageQueueListenOptions, ParallelMessageQueue } from "../mq-CRGm1e_F.js";
14
14
  import "../mod-g0xFzAP9.js";
15
- export { ActorAliasMapper, ActorCallbackSetters, ActorDispatcher, ActorHandleMapper, ActorKeyPair, ActorKeyPairsDispatcher, AuthorizePredicate, CollectionCallbackSetters, CollectionCounter, CollectionCursor, CollectionDispatcher, ConstructorWithTypeId, Context, CreateExponentialBackoffPolicyOptions, CreateFederationOptions, CustomCollectionCallbackSetters, CustomCollectionCounter, CustomCollectionCursor, CustomCollectionDispatcher, Federatable, Federation, FederationBuilder, FederationFetchOptions, FederationKvPrefixes, FederationOptions, FederationOrigin, FederationQueueOptions, FederationStartQueueOptions, ForwardActivityOptions, GetSignedKeyOptions, InProcessMessageQueue, InProcessMessageQueueOptions, InboxContext, InboxErrorHandler, InboxListener, InboxListenerSetters, KvKey, KvStore, KvStoreSetOptions, MemoryKvStore, Message, MessageQueue, MessageQueueEnqueueOptions, MessageQueueListenOptions, NodeInfoDispatcher, ObjectAuthorizePredicate, ObjectCallbackSetters, ObjectDispatcher, OutboxErrorHandler, PageItems, ParallelMessageQueue, ParamsKeyPath, ParseUriResult, RequestContext, RespondWithObjectOptions, RetryContext, RetryPolicy, RouteActivityOptions, Router, RouterError, RouterOptions, RouterRouteResult, SendActivityOptions, SendActivityOptionsForCollection, SenderKeyPair, SharedInboxKeyDispatcher, WebFingerLinksDispatcher, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, digest, respondWithObject, respondWithObjectIfAcceptable };
15
+ export { ActorAliasMapper, ActorCallbackSetters, ActorDispatcher, ActorHandleMapper, ActorKeyPair, ActorKeyPairsDispatcher, AuthorizePredicate, CollectionCallbackSetters, CollectionCounter, CollectionCursor, CollectionDispatcher, ConstructorWithTypeId, Context, CreateExponentialBackoffPolicyOptions, CreateFederationOptions, 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, KvStoreSetOptions, MemoryKvStore, Message, MessageQueue, MessageQueueEnqueueOptions, MessageQueueListenOptions, NodeInfoDispatcher, ObjectAuthorizePredicate, ObjectCallbackSetters, ObjectDispatcher, OutboxErrorHandler, PageItems, ParallelMessageQueue, ParseUriResult, RequestContext, RespondWithObjectOptions, RetryContext, RetryPolicy, Rfc6570Expression, RouteActivityOptions, Router, RouterError, RouterOptions, RouterRouteResult, SendActivityOptions, SendActivityOptionsForCollection, SenderKeyPair, SharedInboxKeyDispatcher, WebFingerLinksDispatcher, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, digest, respondWithObject, respondWithObjectIfAcceptable };
@@ -3,16 +3,16 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
 
5
5
  import "../transformers-BFT6d7J5.js";
6
- import "../docloader-vwID5KeD.js";
7
- import "../actor-BfM4acO7.js";
8
- import { Router, RouterError, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, digest, respondWithObject, respondWithObjectIfAcceptable } from "../middleware-DpNXnRa6.js";
9
- import "../lookup-tJvVI01W.js";
10
- import "../key-7YeppNTi.js";
11
- import "../http-1S7OolRE.js";
12
- import "../proof-C5AaUlDb.js";
6
+ import "../docloader-DUaVPUP7.js";
7
+ import "../actor-BFB3So4a.js";
8
+ import { Router, RouterError, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, digest, respondWithObject, respondWithObjectIfAcceptable } from "../middleware-B2Zp4CQO.js";
9
+ import "../lookup-BU2mZhd6.js";
10
+ import "../key-DU95vugc.js";
11
+ import "../http-Br_sidK9.js";
12
+ import "../proof-s1G_SRlt.js";
13
13
  import { InProcessMessageQueue, MemoryKvStore, ParallelMessageQueue } from "../federation-D1U8YY9t.js";
14
- import "../types-KhFFD-xZ.js";
15
- import "../authdocloader-CSF0HpUd.js";
16
- import "../vocab-DUIA4PK3.js";
14
+ import "../types-BgqeGOUD.js";
15
+ import "../authdocloader-C0GexsrH.js";
16
+ import "../vocab-qc770nrv.js";
17
17
 
18
18
  export { InProcessMessageQueue, MemoryKvStore, ParallelMessageQueue, Router, RouterError, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, digest, respondWithObject, respondWithObjectIfAcceptable };
@@ -3,12 +3,12 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import "../type-C9v8GMO6.js";
6
+ import "../type-CAbzJEbL.js";
7
7
  import { assertEquals } from "../assert_equals-DSbWqCm3.js";
8
8
  import { assert } from "../assert-MZs1qjMx.js";
9
9
  import "../assert_instance_of-DHz7EHNU.js";
10
- import "../lookup-B8X3pPjF.js";
11
- import { test } from "../testing-CyBcyXDK.js";
10
+ import "../lookup-GLSo3KJA.js";
11
+ import { test } from "../testing-B1zhVQn5.js";
12
12
  import { assertGreater, assertGreaterOrEqual } from "../std__assert-X-_kMxKM.js";
13
13
  import { assertFalse } from "../assert_rejects-DiIiJbZn.js";
14
14
  import "../assert_is_error-BPGph1Jx.js";
@@ -3,11 +3,11 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import "../type-C9v8GMO6.js";
6
+ import "../type-CAbzJEbL.js";
7
7
  import { AssertionError, assertEquals } from "../assert_equals-DSbWqCm3.js";
8
- import "../lookup-B8X3pPjF.js";
8
+ import "../lookup-GLSo3KJA.js";
9
9
  import { createExponentialBackoffPolicy } from "../retry-D4GJ670a.js";
10
- import { test } from "../testing-CyBcyXDK.js";
10
+ import { test } from "../testing-B1zhVQn5.js";
11
11
  import { assertNotEquals } from "../assert_not_equals-f3m3epl3.js";
12
12
 
13
13
  //#region src/federation/retry.test.ts
@@ -3,12 +3,12 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import "../type-C9v8GMO6.js";
6
+ import "../type-CAbzJEbL.js";
7
7
  import { assertEquals } from "../assert_equals-DSbWqCm3.js";
8
8
  import { assert } from "../assert-MZs1qjMx.js";
9
9
  import "../assert_instance_of-DHz7EHNU.js";
10
- import { Router, RouterError } from "../lookup-B8X3pPjF.js";
11
- import { test } from "../testing-CyBcyXDK.js";
10
+ import { Router, RouterError } from "../lookup-GLSo3KJA.js";
11
+ import { test } from "../testing-B1zhVQn5.js";
12
12
  import "../std__assert-X-_kMxKM.js";
13
13
  import { assertFalse } from "../assert_rejects-DiIiJbZn.js";
14
14
  import "../assert_is_error-BPGph1Jx.js";
@@ -3,24 +3,24 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { Activity, Application, Endpoints, Group, Person, Service } from "../type-C9v8GMO6.js";
6
+ import { Activity, Application, Endpoints, Group, Person, Service } from "../type-CAbzJEbL.js";
7
7
  import { assertEquals } from "../assert_equals-DSbWqCm3.js";
8
8
  import { assert } from "../assert-MZs1qjMx.js";
9
9
  import "../assert_instance_of-DHz7EHNU.js";
10
- import "../lookup-B8X3pPjF.js";
11
- import "../actor-DNoKtm0e.js";
12
- import "../key-CH7qaiOX.js";
13
- import { verifyRequest } from "../http-PJ3EklL0.js";
14
- import { doesActorOwnKey } from "../owner-DeXz0uXj.js";
15
- import { extractInboxes, sendActivity } from "../send-ZLr2Fq_j.js";
16
- import { mockDocumentLoader, test } from "../testing-CyBcyXDK.js";
10
+ import "../lookup-GLSo3KJA.js";
11
+ import "../actor-BscXI9ov.js";
12
+ import "../key-C1K0KFXJ.js";
13
+ import { verifyRequest } from "../http-BybYoFJw.js";
14
+ import { doesActorOwnKey } from "../owner-DdgOG5UM.js";
15
+ import { extractInboxes, sendActivity } from "../send-YlMc7DGj.js";
16
+ import { mockDocumentLoader, test } from "../testing-B1zhVQn5.js";
17
17
  import "../std__assert-X-_kMxKM.js";
18
18
  import { assertFalse, assertRejects } from "../assert_rejects-DiIiJbZn.js";
19
19
  import "../assert_is_error-BPGph1Jx.js";
20
20
  import { assertNotEquals } from "../assert_not_equals-f3m3epl3.js";
21
21
  import "../assert_throws-BOO88avQ.js";
22
- import { ed25519Multikey, ed25519PrivateKey, rsaPrivateKey2, rsaPublicKey2 } from "../keys-DMbcSHvH.js";
23
- import { esm_default } from "../esm-BrKG8Ydq.js";
22
+ import { ed25519Multikey, ed25519PrivateKey, rsaPrivateKey2, rsaPublicKey2 } from "../keys-D_B7NUKq.js";
23
+ import { esm_default } from "../esm-CRJSDGg9.js";
24
24
 
25
25
  //#region src/federation/send.test.ts
26
26
  test("extractInboxes()", () => {
@@ -0,0 +1,6 @@
1
+ {
2
+ "@context": "https://www.w3.org/ns/activitystreams",
3
+ "id": "https://media.example.com/avatars/test-avatar.jpg",
4
+ "type": "Image",
5
+ "url": "/avatars/test-avatar.jpg"
6
+ }
@@ -1,5 +1,5 @@
1
1
  import { DocumentLoader } from "./docloader-D-MrRyHl.cjs";
2
- import { CryptographicKey, Multikey } from "./vocab-qpRpljdS.cjs";
2
+ import { CryptographicKey, Multikey } from "./vocab-Cfs0937i.cjs";
3
3
  import { TracerProvider } from "@opentelemetry/api";
4
4
 
5
5
  //#region src/sig/key.d.ts
@@ -3,9 +3,9 @@
3
3
  const { URLPattern } = require("urlpattern-polyfill");
4
4
 
5
5
  const require_chunk = require('./chunk-DqRYRqnO.cjs');
6
- const require_docloader = require('./docloader-C8VNT_Xq.cjs');
7
- const require_actor = require('./actor-C84MVjvg.cjs');
8
- const require_key = require('./key-Bt6aeupK.cjs');
6
+ const require_docloader = require('./docloader-Bh_ukbSk.cjs');
7
+ const require_actor = require('./actor-CrrVlr_l.cjs');
8
+ const require_key = require('./key-PbwtKiy9.cjs');
9
9
  const __logtape_logtape = require_chunk.__toESM(require("@logtape/logtape"));
10
10
  const __opentelemetry_api = require_chunk.__toESM(require("@opentelemetry/api"));
11
11
  const byte_encodings_base64 = require_chunk.__toESM(require("byte-encodings/base64"));
@@ -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-vwID5KeD.js";
6
- import { CryptographicKey } from "./actor-BfM4acO7.js";
7
- import { fetchKey, validateCryptoKey } from "./key-7YeppNTi.js";
5
+ import { deno_default } from "./docloader-DUaVPUP7.js";
6
+ import { CryptographicKey } from "./actor-BFB3So4a.js";
7
+ import { fetchKey, validateCryptoKey } from "./key-DU95vugc.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";