@fedify/fedify 2.0.0-pr.435.1667 → 2.0.0-pr.445.1694

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 (147) hide show
  1. package/dist/{actor-C3gJhZJj.cjs → actor-CwZ2m5rG.cjs} +7263 -2440
  2. package/dist/{actor-DMgu-ZjT.d.cts → actor-D6K058Tb.d.cts} +1 -1
  3. package/dist/{actor-Cpal85xW.js → actor-D8gCwLzv.js} +1 -1
  4. package/dist/{actor-CnVfp1Hp.js → actor-DoMcqXsW.js} +7263 -2440
  5. package/dist/{actor-C22bXuuC.d.ts → actor-T6RyhRgk.d.ts} +1 -1
  6. package/dist/{assert_rejects-7UF4R_Qs.js → assert_rejects-DiIiJbZn.js} +1 -1
  7. package/dist/{assert_throws-53_pKeP3.js → assert_throws-BOO88avQ.js} +1 -1
  8. package/dist/{authdocloader-DWnwkjvZ.js → authdocloader-Cv_qEn1G.js} +3 -3
  9. package/dist/{authdocloader-Df2BFefL.js → authdocloader-DYTNpaMA.js} +3 -3
  10. package/dist/{authdocloader-DPCGwidE.cjs → authdocloader-bsmVF6eO.cjs} +3 -3
  11. package/dist/{builder-CMxichO9.js → builder-1_skw-d2.js} +10 -4
  12. package/dist/{client-BqyuOGiQ.js → client-D5CBsPrc.js} +1 -1
  13. package/dist/compat/mod.d.cts +7 -7
  14. package/dist/compat/mod.d.ts +7 -7
  15. package/dist/compat/transformers.test.js +18 -17
  16. package/dist/{context-CDSZdQHD.d.ts → context-DBKpNBnc.d.ts} +66 -12
  17. package/dist/{context-Dq8aCtMH.d.cts → context-DiqjMRef.d.cts} +66 -12
  18. package/dist/{docloader-B1O1Z5OK.cjs → docloader-CYnQRIXv.cjs} +2 -2
  19. package/dist/{docloader-xJVzq9O0.js → docloader-Czl3xV10.js} +2 -2
  20. package/dist/{esm-BBznxjVc.js → esm-Dl5T1RNE.js} +1 -1
  21. package/dist/federation/builder.test.js +10 -10
  22. package/dist/federation/collection.test.js +8 -8
  23. package/dist/federation/handler.test.js +26 -145
  24. package/dist/federation/idempotency.test.d.ts +3 -0
  25. package/dist/federation/idempotency.test.js +202 -0
  26. package/dist/federation/inbox.test.js +6 -6
  27. package/dist/federation/keycache.test.js +4 -4
  28. package/dist/federation/kv.test.js +8 -8
  29. package/dist/federation/middleware.test.js +238 -44
  30. package/dist/federation/mod.cjs +10 -10
  31. package/dist/federation/mod.d.cts +7 -7
  32. package/dist/federation/mod.d.ts +7 -7
  33. package/dist/federation/mod.js +10 -10
  34. package/dist/federation/mq.test.js +10 -10
  35. package/dist/federation/negotiation.test.d.ts +3 -0
  36. package/dist/federation/negotiation.test.js +28 -0
  37. package/dist/federation/retry.test.js +5 -5
  38. package/dist/federation/router.test.js +8 -8
  39. package/dist/federation/send.test.js +15 -15
  40. package/dist/fixtures/media.example.com/avatars/test-avatar.jpg.json +6 -0
  41. package/dist/{http-Hw9HJp9i.cjs → http-CAusBl_3.cjs} +3 -3
  42. package/dist/{http-CovAm6we.js → http-C_Qc2neP.js} +3 -3
  43. package/dist/{http-y7khnX5Q.js → http-CuS-d4U0.js} +2 -2
  44. package/dist/{http-BS6766zs.d.cts → http-D-e6AFwR.d.cts} +1 -1
  45. package/dist/{http-DqSNLFNY.d.ts → http-D6Uj2x2y.d.ts} +1 -1
  46. package/dist/{inbox-DpcYOzs8.js → inbox-IETv_Qez.js} +24 -7
  47. package/dist/{key-BRmlopJL.js → key-BNJQQm3h.js} +2 -2
  48. package/dist/{key-lapZwBwG.js → key-C_ruQbbl.js} +4 -4
  49. package/dist/key-DIMJMxf4.cjs +10 -0
  50. package/dist/{key-DORX19Bl.js → key-DnqhSgAv.js} +2 -2
  51. package/dist/{key-jf6dIIF-.js → key-DpFjiItf.js} +3 -3
  52. package/dist/{key-CzF9SAEI.cjs → key-DuXv64tg.cjs} +2 -2
  53. package/dist/{keycache-AH1uj1j-.js → keycache-CSBkusP8.js} +1 -1
  54. package/dist/{keys-B3fzLXBG.js → keys-D3_MDK7n.js} +1 -1
  55. package/dist/{ld-D3cq9xO1.js → ld-Isot0tiW.js} +2 -2
  56. package/dist/{lookup-BrhURkmj.js → lookup-CbtuFbtg.js} +21 -12
  57. package/dist/{lookup-7u217Q3H.cjs → lookup-D6dro5Au.cjs} +1 -1
  58. package/dist/{lookup-CfU0DgLr.js → lookup-Dhm78GlK.js} +1 -1
  59. package/dist/middleware-BpR6186a.js +26 -0
  60. package/dist/{middleware-DXWUGrBQ.js → middleware-BuHr2fzh.js} +73 -81
  61. package/dist/middleware-DDMxdtWM.cjs +17 -0
  62. package/dist/{middleware-BDN7YoYJ.js → middleware-DQYscW90.js} +47 -142
  63. package/dist/{middleware-Gsxukxs5.cjs → middleware-Dgmdgrvb.cjs} +73 -81
  64. package/dist/middleware-T-knSMwl.js +17 -0
  65. package/dist/{mod-Drmz72EK.d.ts → mod-BhUKmBJD.d.ts} +2 -2
  66. package/dist/{mod-BhMnAkFX.d.cts → mod-Bpb5QLaZ.d.cts} +2 -2
  67. package/dist/{mod-TFoH2Ql8.d.ts → mod-CerN_Sza.d.ts} +1 -1
  68. package/dist/{mod-Dc_-mf8s.d.cts → mod-Cj1tHXBR.d.cts} +1 -1
  69. package/dist/{mod-evzlRVZq.d.cts → mod-CxkWO3Mg.d.cts} +19 -1
  70. package/dist/{mod-RI3-KvUI.d.ts → mod-D_y2y32N.d.ts} +2 -2
  71. package/dist/{mod-BClfg3ej.d.cts → mod-Djzcw2ry.d.cts} +2 -2
  72. package/dist/{mod-Cxt4Kpf6.d.ts → mod-DlU8ISoa.d.ts} +19 -1
  73. package/dist/mod.cjs +10 -10
  74. package/dist/mod.d.cts +10 -10
  75. package/dist/mod.d.ts +10 -10
  76. package/dist/mod.js +10 -10
  77. package/dist/negotiation-5NPJL6zp.js +71 -0
  78. package/dist/nodeinfo/client.test.js +10 -10
  79. package/dist/nodeinfo/handler.test.js +23 -22
  80. package/dist/nodeinfo/mod.cjs +2 -2
  81. package/dist/nodeinfo/mod.js +2 -2
  82. package/dist/nodeinfo/types.test.js +8 -8
  83. package/dist/{owner-B-7Ptt_m.d.cts → owner-BN_tO3cY.d.cts} +2 -2
  84. package/dist/{owner-NFlQJyvM.js → owner-ChSL4aJ7.js} +2 -2
  85. package/dist/{owner-CQPnQVtf.d.ts → owner-hd9lvQcP.d.ts} +2 -2
  86. package/dist/{proof-Be1oOYEh.js → proof-BiSCuwyA.js} +3 -3
  87. package/dist/{proof-Gip91fK7.cjs → proof-ONNmhInb.cjs} +3 -3
  88. package/dist/{proof-ar9xgPWi.js → proof-x3IBewan.js} +2 -2
  89. package/dist/runtime/authdocloader.test.js +14 -14
  90. package/dist/runtime/docloader.test.js +9 -9
  91. package/dist/runtime/key.test.js +10 -10
  92. package/dist/runtime/langstr.test.js +8 -8
  93. package/dist/runtime/link.test.js +3 -3
  94. package/dist/runtime/mod.cjs +6 -6
  95. package/dist/runtime/mod.d.cts +3 -3
  96. package/dist/runtime/mod.d.ts +3 -3
  97. package/dist/runtime/mod.js +6 -6
  98. package/dist/runtime/multibase/multibase.test.js +8 -8
  99. package/dist/runtime/url.test.js +5 -5
  100. package/dist/{send-DkwkMFjJ.js → send-D5fjmUEj.js} +2 -2
  101. package/dist/sig/http.test.js +13 -13
  102. package/dist/sig/key.test.js +11 -11
  103. package/dist/sig/ld.test.js +10 -10
  104. package/dist/sig/mod.cjs +6 -6
  105. package/dist/sig/mod.d.cts +5 -5
  106. package/dist/sig/mod.d.ts +5 -5
  107. package/dist/sig/mod.js +6 -6
  108. package/dist/sig/owner.test.js +12 -12
  109. package/dist/sig/proof.test.js +12 -12
  110. package/dist/testing/docloader.test.js +8 -8
  111. package/dist/testing/mod.d.ts +272 -0
  112. package/dist/testing/mod.js +3 -3
  113. package/dist/{testing-BMBhkcz9.js → testing-tWr1VQxx.js} +2 -2
  114. package/dist/{type-FCer_9yh.js → type-DaUr3Il7.js} +6944 -2121
  115. package/dist/{types-CZ_qo9KW.cjs → types-D2Nyz0tR.cjs} +1 -1
  116. package/dist/{types-CNWeAz8v.js → types-DQuSDtDg.js} +1 -1
  117. package/dist/vocab/actor.test.js +10 -10
  118. package/dist/vocab/lookup.test.js +259 -9
  119. package/dist/vocab/mod.cjs +4 -4
  120. package/dist/vocab/mod.d.cts +3 -3
  121. package/dist/vocab/mod.d.ts +3 -3
  122. package/dist/vocab/mod.js +4 -4
  123. package/dist/vocab/type.test.js +3 -3
  124. package/dist/vocab/vocab.test.js +402 -13
  125. package/dist/{vocab-SOE1ifCr.d.ts → vocab-BI0Ak5lL.d.ts} +290 -0
  126. package/dist/{vocab-9MjZjuZb.cjs → vocab-Dd4VMrr0.cjs} +23 -14
  127. package/dist/{vocab-DJTYMqyU.d.cts → vocab-Dw1-yVGg.d.cts} +290 -0
  128. package/dist/{vocab-gpwUU9fc.js → vocab-w--qk7HF.js} +23 -14
  129. package/dist/webfinger/handler.test.js +23 -22
  130. package/dist/webfinger/lookup.test.js +9 -9
  131. package/dist/webfinger/mod.cjs +2 -2
  132. package/dist/webfinger/mod.js +2 -2
  133. package/dist/x/cfworkers.test.js +8 -8
  134. package/dist/x/hono.d.cts +6 -6
  135. package/dist/x/hono.d.ts +6 -6
  136. package/dist/x/sveltekit.d.cts +6 -6
  137. package/dist/x/sveltekit.d.ts +6 -6
  138. package/package.json +1 -1
  139. package/dist/key-CV3FT32G.cjs +0 -10
  140. package/dist/middleware-CV-OPMlZ.js +0 -17
  141. package/dist/middleware-DGqnaAbp.cjs +0 -17
  142. package/dist/middleware-cCdfTTMv.js +0 -25
  143. /package/dist/{assert_is_error-B035L3om.js → assert_is_error-BPGph1Jx.js} +0 -0
  144. /package/dist/{assert_not_equals-C80BG-_5.js → assert_not_equals-f3m3epl3.js} +0 -0
  145. /package/dist/{denokv-jZ0Z2h0M.js → denokv-Bv33Xxea.js} +0 -0
  146. /package/dist/{retry-CfF8Gn4d.js → retry-D4GJ670a.js} +0 -0
  147. /package/dist/{std__assert-DWivtrGR.js → std__assert-X-_kMxKM.js} +0 -0
@@ -3,37 +3,51 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { Activity, Announce, Create, Invite, Multikey, Note, Object as Object$1, Offer, Person, fetchDocumentLoader, getTypeId } from "../type-FCer_9yh.js";
6
+ import { Activity, Announce, Create, Invite, Multikey, Note, Object as Object$1, Offer, Person, fetchDocumentLoader, getTypeId } from "../type-DaUr3Il7.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-BDN7YoYJ.js";
12
- import "../client-BqyuOGiQ.js";
13
- import { RouterError, lookupObject } from "../lookup-BrhURkmj.js";
11
+ import { ContextImpl, FederationImpl, InboxContextImpl, KvSpecDeterminer, createFederation } from "../middleware-DQYscW90.js";
12
+ import "../client-D5CBsPrc.js";
13
+ import { RouterError, lookupObject } from "../lookup-CbtuFbtg.js";
14
14
  import "../types-BSuWJsOm.js";
15
- import "../actor-Cpal85xW.js";
16
- import "../key-DORX19Bl.js";
17
- import { signRequest, verifyRequest } from "../http-y7khnX5Q.js";
18
- import { getAuthenticatedDocumentLoader } from "../authdocloader-Df2BFefL.js";
19
- import { detachSignature, signJsonLd, verifyJsonLd } from "../ld-D3cq9xO1.js";
20
- import { doesActorOwnKey } from "../owner-NFlQJyvM.js";
21
- import { signObject, verifyObject } from "../proof-ar9xgPWi.js";
22
- import "../inbox-DpcYOzs8.js";
23
- import "../builder-CMxichO9.js";
15
+ import "../actor-D8gCwLzv.js";
16
+ import "../key-DnqhSgAv.js";
17
+ import { signRequest, verifyRequest } from "../http-CuS-d4U0.js";
18
+ import { getAuthenticatedDocumentLoader } from "../authdocloader-DYTNpaMA.js";
19
+ import { detachSignature, signJsonLd, verifyJsonLd } from "../ld-Isot0tiW.js";
20
+ import { doesActorOwnKey } from "../owner-ChSL4aJ7.js";
21
+ import { signObject, verifyObject } from "../proof-x3IBewan.js";
22
+ import "../inbox-IETv_Qez.js";
23
+ import "../builder-1_skw-d2.js";
24
24
  import "../collection-CcnIw1qY.js";
25
- import "../keycache-AH1uj1j-.js";
26
- import "../retry-CfF8Gn4d.js";
27
- import "../send-DkwkMFjJ.js";
28
- import { mockDocumentLoader, test } from "../testing-BMBhkcz9.js";
29
- import { assertStrictEquals } from "../std__assert-DWivtrGR.js";
30
- import { assertFalse, assertRejects } from "../assert_rejects-7UF4R_Qs.js";
31
- import "../assert_is_error-B035L3om.js";
32
- import { assertNotEquals } from "../assert_not_equals-C80BG-_5.js";
33
- import { assertThrows } from "../assert_throws-53_pKeP3.js";
34
- import { ed25519Multikey, ed25519PrivateKey, ed25519PublicKey, rsaPrivateKey2, rsaPrivateKey3, rsaPublicKey2, rsaPublicKey3 } from "../keys-B3fzLXBG.js";
35
- import { esm_default } from "../esm-BBznxjVc.js";
25
+ import "../keycache-CSBkusP8.js";
26
+ import "../negotiation-5NPJL6zp.js";
27
+ import "../retry-D4GJ670a.js";
28
+ import "../send-D5fjmUEj.js";
29
+ import { mockDocumentLoader, test } from "../testing-tWr1VQxx.js";
30
+ import { assertStrictEquals } from "../std__assert-X-_kMxKM.js";
31
+ import { assertFalse, assertRejects } from "../assert_rejects-DiIiJbZn.js";
32
+ import "../assert_is_error-BPGph1Jx.js";
33
+ import { assertNotEquals } from "../assert_not_equals-f3m3epl3.js";
34
+ import { assertThrows } from "../assert_throws-BOO88avQ.js";
35
+ import { ed25519Multikey, ed25519PrivateKey, ed25519PublicKey, rsaPrivateKey2, rsaPrivateKey3, rsaPublicKey2, rsaPublicKey3 } from "../keys-D3_MDK7n.js";
36
+ import { esm_default } from "../esm-Dl5T1RNE.js";
36
37
 
38
+ //#region src/testing/fixtures/example.com/create.json
39
+ var __context$2 = "https://www.w3.org/ns/activitystreams";
40
+ var type$2 = "Create";
41
+ var id$2 = "https://example.com/create";
42
+ var actor = "https://example.com/person";
43
+ var create_default = {
44
+ "@context": __context$2,
45
+ type: type$2,
46
+ id: id$2,
47
+ actor
48
+ };
49
+
50
+ //#endregion
37
51
  //#region src/testing/fixtures/example.com/person.json
38
52
  var __context$1 = ["https://www.w3.org/ns/activitystreams", "https://w3id.org/security/v1"];
39
53
  var id$1 = "https://example.com/person";
@@ -107,7 +121,7 @@ test("createFederation()", async (t) => {
107
121
  await t.step("allowPrivateAddress", () => {
108
122
  assertThrows(() => createFederation({
109
123
  kv,
110
- contextLoader: mockDocumentLoader,
124
+ contextLoaderFactory: () => mockDocumentLoader,
111
125
  allowPrivateAddress: true
112
126
  }), TypeError);
113
127
  assertThrows(() => createFederation({
@@ -452,7 +466,7 @@ test({
452
466
  kv,
453
467
  origin: "https://ap.example.com",
454
468
  documentLoaderFactory: () => mockDocumentLoader,
455
- contextLoader: mockDocumentLoader
469
+ contextLoaderFactory: () => mockDocumentLoader
456
470
  });
457
471
  const ctx = federation.createContext(new URL("https://example.com:1234/"));
458
472
  assertEquals(ctx.origin, "https://example.com:1234");
@@ -680,7 +694,7 @@ test({
680
694
  kv,
681
695
  documentLoaderFactory: () => mockDocumentLoader
682
696
  });
683
- const req = new Request("https://example.com/");
697
+ const req = new Request("https://example.com/", { headers: { "accept": "application/ld+json" } });
684
698
  const ctx = federation.createContext(req, 123);
685
699
  assertEquals(ctx.request, req);
686
700
  assertEquals(ctx.url, new URL("https://example.com/"));
@@ -698,7 +712,7 @@ test({
698
712
  assertEquals(await ctx.getSignedKey(), null);
699
713
  assertEquals(await ctx.getSignedKeyOwner(), null);
700
714
  await assertRejects(() => ctx.getActor("someone"), Error, "No actor dispatcher registered");
701
- const signedReq = await signRequest(new Request("https://example.com/"), rsaPrivateKey2, rsaPublicKey2.id);
715
+ const signedReq = await signRequest(new Request("https://example.com/", { headers: { "accept": "application/ld+json" } }), rsaPrivateKey2, rsaPublicKey2.id);
702
716
  const signedCtx = federation.createContext(signedReq, 456);
703
717
  assertEquals(signedCtx.request, signedReq);
704
718
  assertEquals(signedCtx.url, new URL("https://example.com/"));
@@ -707,7 +721,7 @@ test({
707
721
  assertEquals(await signedCtx.getSignedKeyOwner(), null);
708
722
  assertEquals(await signedCtx.getSignedKey(), rsaPublicKey2);
709
723
  assertEquals(await signedCtx.getSignedKeyOwner(), null);
710
- const signedReq2 = await signRequest(new Request("https://example.com/"), rsaPrivateKey3, rsaPublicKey3.id);
724
+ const signedReq2 = await signRequest(new Request("https://example.com/", { headers: { "accept": "application/ld+json" } }), rsaPrivateKey3, rsaPublicKey3.id);
711
725
  const signedCtx2 = federation.createContext(signedReq2, 456);
712
726
  assertEquals(signedCtx2.request, signedReq2);
713
727
  assertEquals(signedCtx2.url, new URL("https://example.com/"));
@@ -740,7 +754,7 @@ test({
740
754
  });
741
755
  await t.step("RequestContext.clone()", () => {
742
756
  const federation = createFederation({ kv });
743
- const req = new Request("https://example.com/");
757
+ const req = new Request("https://example.com/", { headers: { "accept": "application/ld+json" } });
744
758
  const ctx = federation.createContext(req, 123);
745
759
  const clone = ctx.clone(456);
746
760
  assertStrictEquals(clone.request, ctx.request);
@@ -756,6 +770,157 @@ test({
756
770
  esm_default.hardReset();
757
771
  }
758
772
  });
773
+ test("Federation.fetch()", async (t) => {
774
+ esm_default.spyGlobal();
775
+ esm_default.get("https://example.com/key2", {
776
+ headers: { "Content-Type": "application/activity+json" },
777
+ body: await rsaPublicKey2.toJsonLd({ contextLoader: mockDocumentLoader })
778
+ });
779
+ esm_default.get("begin:https://example.com/person", {
780
+ headers: { "Content-Type": "application/activity+json" },
781
+ body: person_default
782
+ });
783
+ const createTestContext = () => {
784
+ const kv = new MemoryKvStore();
785
+ const inbox = [];
786
+ const dispatches = [];
787
+ const federation = createFederation({
788
+ kv,
789
+ documentLoaderFactory: () => mockDocumentLoader,
790
+ authenticatedDocumentLoaderFactory(identity) {
791
+ const docLoader = getAuthenticatedDocumentLoader(identity);
792
+ return (url) => {
793
+ const urlObj = new URL(url);
794
+ if (urlObj.host === "example.com") return docLoader(url);
795
+ return mockDocumentLoader(url);
796
+ };
797
+ }
798
+ });
799
+ federation.setActorDispatcher("/users/{identifier}", (ctx, identifier) => {
800
+ dispatches.push(identifier);
801
+ return new Person({
802
+ id: ctx.getActorUri(identifier),
803
+ inbox: ctx.getInboxUri(identifier),
804
+ preferredUsername: identifier
805
+ });
806
+ }).setKeyPairsDispatcher(() => {
807
+ return [{
808
+ privateKey: rsaPrivateKey2,
809
+ publicKey: rsaPublicKey2.publicKey
810
+ }];
811
+ });
812
+ federation.setInboxDispatcher("/users/{identifier}/inbox", () => {
813
+ return { items: [] };
814
+ });
815
+ federation.setInboxListeners("/users/{identifier}/inbox", "/inbox").on(Create, (_ctx, activity) => {
816
+ inbox.push(activity.id.toString());
817
+ return;
818
+ });
819
+ return {
820
+ federation,
821
+ inbox,
822
+ dispatches
823
+ };
824
+ };
825
+ await t.step("GET without accepts header", async () => {
826
+ const { federation, dispatches } = createTestContext();
827
+ const response = await federation.fetch(new Request("https://example.com/users/actor", { method: "GET" }), { contextData: void 0 });
828
+ assertEquals(dispatches, []);
829
+ assertEquals(response.status, 406);
830
+ });
831
+ await t.step("POST with application/json", async () => {
832
+ const { federation, inbox } = createTestContext();
833
+ const request = await signRequest(new Request("https://example.com/users/json/inbox", {
834
+ method: "POST",
835
+ headers: {
836
+ "Accept": "application/json",
837
+ "Content-Type": "application/json"
838
+ },
839
+ body: JSON.stringify(create_default)
840
+ }), rsaPrivateKey2, rsaPublicKey2.id);
841
+ const response = await federation.fetch(request, { contextData: void 0 });
842
+ assertEquals(response.status, 202);
843
+ assertEquals(inbox.length, 1, "Expected one item in the inbox, json");
844
+ assertEquals(inbox[0], create_default.id);
845
+ });
846
+ await t.step("GET with application/json", async () => {
847
+ const { federation, dispatches } = createTestContext();
848
+ const response = await federation.fetch(new Request("https://example.com/users/json", {
849
+ method: "GET",
850
+ headers: { "Accept": "application/json" }
851
+ }), { contextData: void 0 });
852
+ assertEquals(dispatches, ["json"]);
853
+ assertEquals(response.status, 200);
854
+ });
855
+ await t.step("POST with application/ld+json", async () => {
856
+ const { federation, inbox } = createTestContext();
857
+ const request = await signRequest(new Request("https://example.com/users/ld/inbox", {
858
+ method: "POST",
859
+ headers: {
860
+ "Accept": "application/ld+json",
861
+ "Content-Type": "application/activity+json"
862
+ },
863
+ body: JSON.stringify(create_default)
864
+ }), rsaPrivateKey2, rsaPublicKey2.id);
865
+ const response = await federation.fetch(request, { contextData: void 0 });
866
+ assertEquals(response.status, 202);
867
+ assertEquals(inbox.length, 1, "Expected one inbox activity, ld+json");
868
+ assertEquals(inbox[0], create_default.id);
869
+ });
870
+ await t.step("GET with application/ld+json", async () => {
871
+ const { federation, dispatches } = createTestContext();
872
+ const request = new Request("https://example.com/users/ld", {
873
+ method: "GET",
874
+ headers: { "Accept": "application/ld+json" }
875
+ });
876
+ const response = await federation.fetch(request, { contextData: void 0 });
877
+ assertEquals(dispatches, ["ld"]);
878
+ assertEquals(response.status, 200);
879
+ });
880
+ await t.step("POST with application/activity+json", async () => {
881
+ const { federation, inbox } = createTestContext();
882
+ const request = await signRequest(new Request("https://example.com/users/activity/inbox", {
883
+ method: "POST",
884
+ headers: {
885
+ "Accept": "application/activity+json",
886
+ "Content-Type": "application/activity+json"
887
+ },
888
+ body: JSON.stringify(create_default)
889
+ }), rsaPrivateKey2, rsaPublicKey2.id);
890
+ const response = await federation.fetch(request, { contextData: void 0 });
891
+ assertEquals(response.status, 202);
892
+ assertEquals(inbox.length, 1);
893
+ assertEquals(inbox[0], create_default.id);
894
+ });
895
+ await t.step("GET with application/activity+json", async () => {
896
+ const { federation, dispatches } = createTestContext();
897
+ const request = new Request("https://example.com/users/activity", {
898
+ method: "GET",
899
+ headers: { "Accept": "application/ld+json" }
900
+ });
901
+ const response = await federation.fetch(request, { contextData: void 0 });
902
+ assertEquals(dispatches, ["activity"]);
903
+ assertEquals(response.status, 200);
904
+ });
905
+ await t.step("onNotAcceptable with GET", async () => {
906
+ const { federation } = createTestContext();
907
+ let notAcceptableCalled = false;
908
+ const response = await federation.fetch(new Request("https://example.com/users/html", {
909
+ method: "GET",
910
+ headers: { "Accept": "text/html" }
911
+ }), {
912
+ contextData: void 0,
913
+ onNotAcceptable: () => {
914
+ notAcceptableCalled = true;
915
+ return new Response("handled by onNotAcceptable", { status: 200 });
916
+ }
917
+ });
918
+ assertEquals(notAcceptableCalled, true);
919
+ assertEquals(response.status, 200);
920
+ assertEquals(await response.text(), "handled by onNotAcceptable");
921
+ });
922
+ esm_default.hardReset();
923
+ });
759
924
  test("Federation.setInboxListeners()", async (t) => {
760
925
  const kv = new MemoryKvStore();
761
926
  esm_default.spyGlobal();
@@ -808,7 +973,10 @@ test("Federation.setInboxListeners()", async (t) => {
808
973
  federation.setInboxListeners("/users/{identifier}/inbox", "/inbox").on(Create, (ctx, create) => {
809
974
  inbox.push([ctx, create]);
810
975
  });
811
- let response = await federation.fetch(new Request("https://example.com/inbox", { method: "POST" }), { contextData: void 0 });
976
+ let response = await federation.fetch(new Request("https://example.com/inbox", {
977
+ method: "POST",
978
+ headers: { "accept": "application/ld+json" }
979
+ }), { contextData: void 0 });
812
980
  assertEquals(inbox, []);
813
981
  assertEquals(response.status, 404);
814
982
  federation.setActorDispatcher("/users/{identifier}", (_, identifier) => identifier === "john" ? new Person({}) : null).setKeyPairsDispatcher(() => [{
@@ -825,23 +993,37 @@ test("Federation.setInboxListeners()", async (t) => {
825
993
  });
826
994
  response = await federation.fetch(new Request("https://example.com/inbox", {
827
995
  method: "POST",
828
- body: JSON.stringify(await activity().toJsonLd(options))
996
+ body: JSON.stringify(await activity().toJsonLd(options)),
997
+ headers: {
998
+ "accept": "application/ld+json",
999
+ "content-type": "application/ld+json"
1000
+ }
829
1001
  }), { contextData: void 0 });
830
1002
  assertEquals(inbox, []);
831
1003
  assertEquals(response.status, 401);
832
- response = await federation.fetch(new Request("https://example.com/users/no-one/inbox", { method: "POST" }), { contextData: void 0 });
1004
+ response = await federation.fetch(new Request("https://example.com/users/no-one/inbox", {
1005
+ method: "POST",
1006
+ headers: { "accept": "application/ld+json" }
1007
+ }), { contextData: void 0 });
833
1008
  assertEquals(inbox, []);
834
1009
  assertEquals(response.status, 404);
835
1010
  response = await federation.fetch(new Request("https://example.com/users/john/inbox", {
836
1011
  method: "POST",
837
- body: JSON.stringify(await activity().toJsonLd(options))
1012
+ body: JSON.stringify(await activity().toJsonLd(options)),
1013
+ headers: {
1014
+ "accept": "application/ld+json",
1015
+ "content-type": "application/ld+json"
1016
+ }
838
1017
  }), { contextData: void 0 });
839
1018
  assertEquals(inbox, []);
840
1019
  assertEquals(response.status, 401);
841
1020
  const activityPayload = await activity().toJsonLd(options);
842
1021
  let request = new Request("https://example.com/users/john/inbox", {
843
1022
  method: "POST",
844
- headers: { "Content-Type": "application/activity+json" },
1023
+ headers: {
1024
+ "Content-Type": "application/activity+json",
1025
+ accept: "application/ld+json"
1026
+ },
845
1027
  body: JSON.stringify(activityPayload)
846
1028
  });
847
1029
  request = await signRequest(request, rsaPrivateKey3, new URL("https://example.com/person2#key3"));
@@ -858,7 +1040,10 @@ test("Federation.setInboxListeners()", async (t) => {
858
1040
  inbox.shift();
859
1041
  request = new Request("https://another.host/users/john/inbox", {
860
1042
  method: "POST",
861
- headers: { "Content-Type": "application/activity+json" },
1043
+ headers: {
1044
+ "Content-Type": "application/activity+json",
1045
+ "accept": "application/ld+json"
1046
+ },
862
1047
  body: JSON.stringify(activityPayload)
863
1048
  });
864
1049
  request = await signRequest(request, rsaPrivateKey3, new URL("https://example.com/person2#key3"));
@@ -873,7 +1058,10 @@ test("Federation.setInboxListeners()", async (t) => {
873
1058
  inbox.shift();
874
1059
  request = new Request("https://example.com/inbox", {
875
1060
  method: "POST",
876
- headers: { "Content-Type": "application/activity+json" },
1061
+ headers: {
1062
+ "Content-Type": "application/activity+json",
1063
+ "accept": "application/ld+json"
1064
+ },
877
1065
  body: JSON.stringify(await activity().toJsonLd(options))
878
1066
  });
879
1067
  request = await signRequest(request, rsaPrivateKey3, new URL("https://example.com/person2#key3"));
@@ -888,7 +1076,10 @@ test("Federation.setInboxListeners()", async (t) => {
888
1076
  inbox.shift();
889
1077
  request = new Request("https://example.com/users/john/inbox", {
890
1078
  method: "POST",
891
- headers: { "Content-Type": "application/activity+json" },
1079
+ headers: {
1080
+ "Content-Type": "application/activity+json",
1081
+ "accept": "application/ld+json"
1082
+ },
892
1083
  body: JSON.stringify(await (await signObject(activity(), ed25519PrivateKey, ed25519Multikey.id, options)).toJsonLd(options))
893
1084
  });
894
1085
  response = await federation.fetch(request, { contextData: void 0 });
@@ -927,7 +1118,10 @@ test("Federation.setInboxListeners()", async (t) => {
927
1118
  const activity = new Create({ actor: new URL("https://example.com/person") });
928
1119
  let request = new Request("https://example.com/users/john/inbox", {
929
1120
  method: "POST",
930
- headers: { "Content-Type": "application/activity+json" },
1121
+ headers: {
1122
+ "Content-Type": "application/activity+json",
1123
+ "Accept": "application/activity+json"
1124
+ },
931
1125
  body: JSON.stringify(await activity.toJsonLd({ contextLoader: mockDocumentLoader }))
932
1126
  });
933
1127
  request = await signRequest(request, rsaPrivateKey2, new URL("https://example.com/key2"));
@@ -991,7 +1185,7 @@ test("FederationImpl.sendActivity()", async (t) => {
991
1185
  const kv = new MemoryKvStore();
992
1186
  const federation = new FederationImpl({
993
1187
  kv,
994
- contextLoader: mockDocumentLoader
1188
+ contextLoaderFactory: () => mockDocumentLoader
995
1189
  });
996
1190
  const context = federation.createContext(new URL("https://example.com/"));
997
1191
  await t.step("success", async () => {
@@ -1243,7 +1437,7 @@ test("ContextImpl.sendActivity()", async (t) => {
1243
1437
  collectionSyncHeader = cl.request.headers.get("Collection-Synchronization");
1244
1438
  const options = {
1245
1439
  async documentLoader(url) {
1246
- const response = await federation.fetch(new Request(url), { contextData: void 0 });
1440
+ const response = await federation.fetch(new Request(url, { headers: { "accept": "application/ld+json" } }), { contextData: void 0 });
1247
1441
  if (response.ok) return {
1248
1442
  contextUrl: null,
1249
1443
  document: await response.json(),
@@ -1277,7 +1471,7 @@ test("ContextImpl.sendActivity()", async (t) => {
1277
1471
  const kv = new MemoryKvStore();
1278
1472
  const federation = new FederationImpl({
1279
1473
  kv,
1280
- contextLoader: mockDocumentLoader
1474
+ contextLoaderFactory: () => mockDocumentLoader
1281
1475
  });
1282
1476
  federation.setActorDispatcher("/{identifier}", async (ctx, identifier) => {
1283
1477
  if (identifier !== "1") return null;
@@ -1386,7 +1580,7 @@ test("ContextImpl.sendActivity()", async (t) => {
1386
1580
  };
1387
1581
  const federation2 = new FederationImpl({
1388
1582
  kv,
1389
- contextLoader: mockDocumentLoader,
1583
+ contextLoaderFactory: () => mockDocumentLoader,
1390
1584
  queue
1391
1585
  });
1392
1586
  federation2.setActorDispatcher("/{identifier}", async (ctx, identifier) => {
@@ -1666,7 +1860,7 @@ test("InboxContextImpl.forwardActivity()", async (t) => {
1666
1860
  const kv = new MemoryKvStore();
1667
1861
  const federation = new FederationImpl({
1668
1862
  kv,
1669
- contextLoader: mockDocumentLoader
1863
+ contextLoaderFactory: () => mockDocumentLoader
1670
1864
  });
1671
1865
  await t.step("skip", async () => {
1672
1866
  const activity = {
@@ -3,17 +3,17 @@
3
3
  const { URLPattern } = require("urlpattern-polyfill");
4
4
 
5
5
  require('../transformers-CoBS-oFG.cjs');
6
- require('../docloader-B1O1Z5OK.cjs');
7
- require('../actor-C3gJhZJj.cjs');
8
- const require_middleware = require('../middleware-Gsxukxs5.cjs');
9
- require('../lookup-7u217Q3H.cjs');
10
- require('../key-CzF9SAEI.cjs');
11
- require('../http-Hw9HJp9i.cjs');
12
- require('../proof-Gip91fK7.cjs');
6
+ require('../docloader-CYnQRIXv.cjs');
7
+ require('../actor-CwZ2m5rG.cjs');
8
+ const require_middleware = require('../middleware-Dgmdgrvb.cjs');
9
+ require('../lookup-D6dro5Au.cjs');
10
+ require('../key-DuXv64tg.cjs');
11
+ require('../http-CAusBl_3.cjs');
12
+ require('../proof-ONNmhInb.cjs');
13
13
  const require_federation = require('../federation-H2_En3j5.cjs');
14
- require('../types-CZ_qo9KW.cjs');
15
- require('../authdocloader-DPCGwidE.cjs');
16
- require('../vocab-9MjZjuZb.cjs');
14
+ require('../types-D2Nyz0tR.cjs');
15
+ require('../authdocloader-bsmVF6eO.cjs');
16
+ require('../vocab-Dd4VMrr0.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-CegPX0Rn.cjs";
4
- import "../vocab-DJTYMqyU.cjs";
5
- import "../actor-DMgu-ZjT.cjs";
6
- import "../http-BS6766zs.cjs";
7
- import "../owner-B-7Ptt_m.cjs";
8
- import "../mod-evzlRVZq.cjs";
4
+ import "../vocab-Dw1-yVGg.cjs";
5
+ import "../actor-D6K058Tb.cjs";
6
+ import "../http-D-e6AFwR.cjs";
7
+ import "../owner-BN_tO3cY.cjs";
8
+ import "../mod-CxkWO3Mg.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-Dq8aCtMH.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, 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-DiqjMRef.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, ParamsKeyPath, ParseUriResult, RequestContext, RespondWithObjectOptions, RetryContext, RetryPolicy, 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-bgSdkFa2.js";
6
- import "../vocab-SOE1ifCr.js";
7
- import "../actor-C22bXuuC.js";
8
- import "../http-DqSNLFNY.js";
9
- import "../owner-CQPnQVtf.js";
10
- import "../mod-Cxt4Kpf6.js";
6
+ import "../vocab-BI0Ak5lL.js";
7
+ import "../actor-T6RyhRgk.js";
8
+ import "../http-D6Uj2x2y.js";
9
+ import "../owner-hd9lvQcP.js";
10
+ import "../mod-DlU8ISoa.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-CDSZdQHD.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, 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-DBKpNBnc.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, ParamsKeyPath, ParseUriResult, RequestContext, RespondWithObjectOptions, RetryContext, RetryPolicy, 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-xJVzq9O0.js";
7
- import "../actor-CnVfp1Hp.js";
8
- import { Router, RouterError, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, digest, respondWithObject, respondWithObjectIfAcceptable } from "../middleware-DXWUGrBQ.js";
9
- import "../lookup-CfU0DgLr.js";
10
- import "../key-BRmlopJL.js";
11
- import "../http-CovAm6we.js";
12
- import "../proof-Be1oOYEh.js";
6
+ import "../docloader-Czl3xV10.js";
7
+ import "../actor-DoMcqXsW.js";
8
+ import { Router, RouterError, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, digest, respondWithObject, respondWithObjectIfAcceptable } from "../middleware-BuHr2fzh.js";
9
+ import "../lookup-Dhm78GlK.js";
10
+ import "../key-BNJQQm3h.js";
11
+ import "../http-C_Qc2neP.js";
12
+ import "../proof-BiSCuwyA.js";
13
13
  import { InProcessMessageQueue, MemoryKvStore, ParallelMessageQueue } from "../federation-D1U8YY9t.js";
14
- import "../types-CNWeAz8v.js";
15
- import "../authdocloader-DWnwkjvZ.js";
16
- import "../vocab-gpwUU9fc.js";
14
+ import "../types-DQuSDtDg.js";
15
+ import "../authdocloader-Cv_qEn1G.js";
16
+ import "../vocab-w--qk7HF.js";
17
17
 
18
18
  export { InProcessMessageQueue, MemoryKvStore, ParallelMessageQueue, Router, RouterError, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, digest, respondWithObject, respondWithObjectIfAcceptable };
@@ -3,17 +3,17 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import "../type-FCer_9yh.js";
6
+ import "../type-DaUr3Il7.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-BrhURkmj.js";
11
- import { test } from "../testing-BMBhkcz9.js";
12
- import { assertGreater, assertGreaterOrEqual } from "../std__assert-DWivtrGR.js";
13
- import { assertFalse } from "../assert_rejects-7UF4R_Qs.js";
14
- import "../assert_is_error-B035L3om.js";
15
- import "../assert_not_equals-C80BG-_5.js";
16
- import "../assert_throws-53_pKeP3.js";
10
+ import "../lookup-CbtuFbtg.js";
11
+ import { test } from "../testing-tWr1VQxx.js";
12
+ import { assertGreater, assertGreaterOrEqual } from "../std__assert-X-_kMxKM.js";
13
+ import { assertFalse } from "../assert_rejects-DiIiJbZn.js";
14
+ import "../assert_is_error-BPGph1Jx.js";
15
+ import "../assert_not_equals-f3m3epl3.js";
16
+ import "../assert_throws-BOO88avQ.js";
17
17
  import { delay } from "es-toolkit";
18
18
 
19
19
  //#region src/federation/mq.ts
@@ -227,7 +227,7 @@ test("InProcessMessageQueue", async (t) => {
227
227
  });
228
228
  test("MessageQueue.nativeRetrial", async (t) => {
229
229
  if ("Deno" in globalThis && "openKv" in globalThis.Deno && typeof globalThis.Deno.openKv === "function") await t.step("DenoKvMessageQueue", async () => {
230
- const { DenoKvMessageQueue } = await import("../denokv-jZ0Z2h0M.js");
230
+ const { DenoKvMessageQueue } = await import("../denokv-Bv33Xxea.js");
231
231
  const mq = new DenoKvMessageQueue(await globalThis.Deno.openKv(":memory:"));
232
232
  assert(mq.nativeRetrial);
233
233
  if (Symbol.dispose in mq) {
@@ -266,7 +266,7 @@ test("MessageQueue.nativeRetrial", async (t) => {
266
266
  });
267
267
  const queues = { InProcessMessageQueue: () => Promise.resolve(new InProcessMessageQueue()) };
268
268
  if ("Deno" in globalThis && "openKv" in globalThis.Deno && typeof globalThis.Deno.openKv === "function") {
269
- const { DenoKvMessageQueue } = await import("../denokv-jZ0Z2h0M.js");
269
+ const { DenoKvMessageQueue } = await import("../denokv-Bv33Xxea.js");
270
270
  queues.DenoKvMessageQueue = async () => new DenoKvMessageQueue(await globalThis.Deno.openKv(":memory:"));
271
271
  }
272
272
  for (const mqName in queues) test({
@@ -0,0 +1,3 @@
1
+ import { Temporal } from "@js-temporal/polyfill";
2
+ import { URLPattern } from "urlpattern-polyfill";
3
+ globalThis.addEventListener = () => {};
@@ -0,0 +1,28 @@
1
+
2
+ import { Temporal } from "@js-temporal/polyfill";
3
+ import { URLPattern } from "urlpattern-polyfill";
4
+ globalThis.addEventListener = () => {};
5
+
6
+ import "../type-DaUr3Il7.js";
7
+ import "../assert_equals-DSbWqCm3.js";
8
+ import { assert } from "../assert-MZs1qjMx.js";
9
+ import "../assert_instance_of-DHz7EHNU.js";
10
+ import "../lookup-CbtuFbtg.js";
11
+ import { acceptsJsonLd } from "../negotiation-5NPJL6zp.js";
12
+ import { test } from "../testing-tWr1VQxx.js";
13
+ import "../std__assert-X-_kMxKM.js";
14
+ import { assertFalse } from "../assert_rejects-DiIiJbZn.js";
15
+ import "../assert_is_error-BPGph1Jx.js";
16
+ import "../assert_not_equals-f3m3epl3.js";
17
+ import "../assert_throws-BOO88avQ.js";
18
+
19
+ //#region src/federation/negotiation.test.ts
20
+ test("acceptsJsonLd()", () => {
21
+ assert(acceptsJsonLd(new Request("https://example.com/", { headers: { Accept: "application/activity+json" } })));
22
+ assert(acceptsJsonLd(new Request("https://example.com/", { headers: { Accept: "application/ld+json" } })));
23
+ assert(acceptsJsonLd(new Request("https://example.com/", { headers: { Accept: "application/json" } })));
24
+ assertFalse(acceptsJsonLd(new Request("https://example.com/", { headers: { Accept: "application/ld+json; q=0.5, text/html; q=0.8" } })));
25
+ assertFalse(acceptsJsonLd(new Request("https://example.com/", { headers: { Accept: "application/ld+json; q=0.4, application/xhtml+xml; q=0.9" } })));
26
+ });
27
+
28
+ //#endregion