@fedify/fedify 2.3.0-dev.1069 → 2.3.0-dev.1099

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 (113) hide show
  1. package/dist/{builder-DQ2zYTeA.mjs → builder-BkRRjxzb.mjs} +4 -4
  2. package/dist/{chunk-nlSIicah.js → chunk-CRNNMoPX.js} +2 -2
  3. package/dist/{chunk-QSgtlS85.mjs → chunk-DNRtMIoB.mjs} +1 -1
  4. package/dist/{client-z-8dc-e1.d.cts → client-CAM_bQXx.d.cts} +1 -0
  5. package/dist/{client-AtlibPOU.d.ts → client-CSddvgWN.d.ts} +1 -2
  6. package/dist/compat/mod.d.cts +2 -1
  7. package/dist/compat/mod.d.ts +2 -3
  8. package/dist/compat/mod.js +3 -3
  9. package/dist/compat/outgoing-jsonld.test.mjs +2 -2
  10. package/dist/compat/public-audience.test.mjs +2 -2
  11. package/dist/compat/transformers.test.mjs +2 -2
  12. package/dist/{context-7Azky82W.mjs → context-BAE7AKLA.mjs} +61 -3
  13. package/dist/{context-DrNqYkPw.d.ts → context-C0C_sRha.d.cts} +6 -7
  14. package/dist/{context-BKLGj9QO.d.cts → context-Dqgt8saU.d.ts} +6 -5
  15. package/dist/{deno-CFXqOz6w.mjs → deno-DBabeupC.mjs} +1 -1
  16. package/dist/{docloader-QNtAtTZF.mjs → docloader-DA5FzJOR.mjs} +3 -3
  17. package/dist/{esm-DhnRLoG9.mjs → esm-sdtqOUPu.mjs} +5 -7
  18. package/dist/{execAsync-eck5rbtb.mjs → execAsync-DCBrgFiV.mjs} +2 -2
  19. package/dist/federation/builder.test.mjs +3 -3
  20. package/dist/federation/handler.test.mjs +86 -4
  21. package/dist/federation/idempotency.test.mjs +3 -3
  22. package/dist/federation/inbox.test.mjs +1 -1
  23. package/dist/federation/keycache.test.mjs +1 -1
  24. package/dist/federation/middleware.test.mjs +387 -20
  25. package/dist/federation/mod.cjs +1 -1
  26. package/dist/federation/mod.d.cts +4 -3
  27. package/dist/federation/mod.d.ts +4 -5
  28. package/dist/federation/mod.js +2 -2
  29. package/dist/federation/mq.test.mjs +1 -1
  30. package/dist/federation/negotiation.test.mjs +1 -1
  31. package/dist/federation/router.test.mjs +1 -1
  32. package/dist/federation/send.test.mjs +133 -139
  33. package/dist/federation/webfinger.test.mjs +3 -3
  34. package/dist/{getMachineId-bsd-DqZ4QRFp.mjs → getMachineId-bsd-etIyxDet.mjs} +3 -3
  35. package/dist/{getMachineId-darwin-DMbbW3m7.mjs → getMachineId-darwin-D23zTf4g.mjs} +3 -3
  36. package/dist/{getMachineId-linux-lyeD2ug3.mjs → getMachineId-linux-ObI47Hql.mjs} +2 -2
  37. package/dist/{getMachineId-unsupported-JuKr57jY.mjs → getMachineId-unsupported-Ddu-PFeh.mjs} +2 -2
  38. package/dist/{getMachineId-win-Dxyf5pJq.mjs → getMachineId-win-Dpap6v5i.mjs} +3 -3
  39. package/dist/{http-QHJGzUe8.mjs → http-5G18W3NP.mjs} +59 -11
  40. package/dist/{http-CrGuipxe.d.cts → http-BDZeS5om.d.ts} +2 -1
  41. package/dist/{http-aQzN9Ayi.d.ts → http-C87EWkO0.d.cts} +2 -3
  42. package/dist/{http-D2EDlTr2.js → http-Dzy5c472.js} +58 -10
  43. package/dist/{http-e1wtIlFo.cjs → http-W2u_KBoQ.cjs} +57 -9
  44. package/dist/{key-CpAxygvh.mjs → key-D9dUsyow.mjs} +2 -2
  45. package/dist/{kv-CbLNp3zQ.d.cts → kv-D6hNiMTK.d.ts} +1 -0
  46. package/dist/{kv-cache-B3GfB70S.cjs → kv-cache-BygrlQ1c.cjs} +2 -2
  47. package/dist/{kv-cache-KLjvIlKt.js → kv-cache-CBSgxEsZ.js} +2 -2
  48. package/dist/{kv-cache-Bmv7tUzz.mjs → kv-cache-CiiNwT6W.mjs} +2 -2
  49. package/dist/{kv-GFYnFoOl.d.ts → kv-gJ8LYbxX.d.cts} +1 -3
  50. package/dist/{ld-Ce_vkKjG.mjs → ld-hbxDLO1k.mjs} +3 -3
  51. package/dist/{middleware-DsGmXfXz.mjs → middleware-BXnhAGF9.mjs} +201 -119
  52. package/dist/{middleware-DOLrvK_b.cjs → middleware-Caj827xW.cjs} +358 -139
  53. package/dist/{middleware-BJMPv7_l.mjs → middleware-DZQsPMZb.mjs} +1 -1
  54. package/dist/{middleware-De241etq.js → middleware-vCF_cKAq.js} +346 -111
  55. package/dist/{mod-CLgIXe9w.d.ts → mod-B0rWmfW5.d.cts} +4 -5
  56. package/dist/{mod-CMEbIaNh.d.cts → mod-BhU_H1I_.d.ts} +4 -3
  57. package/dist/{mod-B8Z8mBLk.d.ts → mod-CLPnQPsv.d.cts} +2 -3
  58. package/dist/{mod-Cr3f-ACa.d.cts → mod-DHO9lk3D.d.ts} +3 -2
  59. package/dist/{mod-CR8soWa9.d.ts → mod-DXY9JF28.d.cts} +3 -4
  60. package/dist/{mod-DClCOv0M.d.cts → mod-Dx3-hqyo.d.ts} +2 -1
  61. package/dist/mod.cjs +4 -4
  62. package/dist/mod.d.cts +9 -8
  63. package/dist/mod.d.ts +9 -10
  64. package/dist/mod.js +9 -9
  65. package/dist/{negotiation-VnHNB0Q5.mjs → negotiation-DDstyBvc.mjs} +29 -0
  66. package/dist/nodeinfo/client.test.mjs +2 -2
  67. package/dist/nodeinfo/handler.test.mjs +2 -2
  68. package/dist/nodeinfo/mod.d.cts +2 -1
  69. package/dist/nodeinfo/mod.d.ts +2 -3
  70. package/dist/nodeinfo/mod.js +3 -3
  71. package/dist/otel/exporter.test.mjs +2 -2
  72. package/dist/otel/mod.d.cts +2 -1
  73. package/dist/otel/mod.d.ts +2 -3
  74. package/dist/otel/mod.js +2 -2
  75. package/dist/{outgoing-jsonld-Bi7n-dEy.mjs → outgoing-jsonld-BgFLCJQ_.mjs} +2 -2
  76. package/dist/{owner-CptqhsOy.d.cts → owner-CnngXDNJ.d.ts} +2 -1
  77. package/dist/{owner-74ARJ5TL.d.ts → owner-DEvZuyOE.d.cts} +2 -3
  78. package/dist/{owner-DmgzyItA.mjs → owner-DwJe0BH9.mjs} +2 -2
  79. package/dist/{proof-BU1TpFYI.cjs → proof-CZCaAURh.cjs} +3 -3
  80. package/dist/{proof-DLDsFYfD.js → proof-DMJJZnKd.js} +2 -2
  81. package/dist/{proof-C3q2IhUr.mjs → proof-erpV_J_n.mjs} +5 -5
  82. package/dist/runtime/mod.d.cts +1 -0
  83. package/dist/runtime/mod.d.ts +1 -2
  84. package/dist/runtime/mod.js +3 -3
  85. package/dist/{send-CTi2iPXp.mjs → send-BOwz4Hw5.mjs} +128 -4
  86. package/dist/sig/http.test.mjs +140 -27
  87. package/dist/sig/key.test.mjs +2 -2
  88. package/dist/sig/ld.test.mjs +3 -3
  89. package/dist/sig/mod.cjs +2 -2
  90. package/dist/sig/mod.d.cts +4 -3
  91. package/dist/sig/mod.d.ts +4 -5
  92. package/dist/sig/mod.js +4 -4
  93. package/dist/sig/owner.test.mjs +2 -2
  94. package/dist/sig/proof.test.mjs +3 -3
  95. package/dist/testing/mod.d.mts +6 -1
  96. package/dist/testing/mod.mjs +1 -2
  97. package/dist/{transformers-ve6e2xcg.js → transformers-BGMIq1cs.js} +2 -2
  98. package/dist/{types-hvL8ElAs.js → types-CAY3OdLq.js} +2 -2
  99. package/dist/utils/docloader.test.mjs +3 -3
  100. package/dist/utils/kv-cache.test.mjs +2 -2
  101. package/dist/utils/mod.cjs +1 -1
  102. package/dist/utils/mod.d.cts +2 -1
  103. package/dist/utils/mod.d.ts +2 -3
  104. package/dist/utils/mod.js +3 -3
  105. package/dist/vocab/cjs.test.mjs +1 -1
  106. package/dist/vocab/mod.d.cts +1 -0
  107. package/dist/vocab/mod.d.ts +1 -2
  108. package/dist/vocab/mod.js +2 -2
  109. package/package.json +15 -15
  110. package/dist/middleware-CibncbiT.cjs +0 -4
  111. package/dist/{client-CIiz1WX7.mjs → client-B_A6mfn3.mjs} +1 -1
  112. package/dist/{public-audience-PVTwU_Ex.mjs → public-audience-N3pyOx2p.mjs} +1 -1
  113. /package/dist/{router-CrMLXoOr.mjs → router-BT_F5748.mjs} +0 -0
@@ -6,9 +6,9 @@ import { i as assertExists, t as assertStringIncludes } from "../std__assert-CRD
6
6
  import { n as assertFalse, t as assertRejects } from "../assert_rejects-B-qJtC9Z.mjs";
7
7
  import { t as assertThrows } from "../assert_throws-4NwKEy2q.mjs";
8
8
  import { t as assert } from "../assert-DikXweDx.mjs";
9
- import { t as esm_default } from "../esm-DhnRLoG9.mjs";
10
- import { t as exportJwk } from "../key-CpAxygvh.mjs";
11
- import { a as parseRfc9421Signature, c as timingSafeEqual, i as formatRfc9421SignatureParameters, l as verifyRequest, n as doubleKnock, o as parseRfc9421SignatureInput, r as formatRfc9421Signature, s as signRequest, t as createRfc9421SignatureBase, u as verifyRequestDetailed } from "../http-QHJGzUe8.mjs";
9
+ import { t as esm_default } from "../esm-sdtqOUPu.mjs";
10
+ import { t as exportJwk } from "../key-D9dUsyow.mjs";
11
+ import { a as parseRfc9421Signature, c as timingSafeEqual, i as formatRfc9421SignatureParameters, l as verifyRequest, n as doubleKnock, o as parseRfc9421SignatureInput, r as formatRfc9421Signature, s as signRequest, t as createRfc9421SignatureBase, u as verifyRequestDetailed } from "../http-5G18W3NP.mjs";
12
12
  import { i as rsaPrivateKey2, l as rsaPublicKey5, o as rsaPublicKey1, s as rsaPublicKey2 } from "../keys-C3kae-6B.mjs";
13
13
  import { createTestTracerProvider, mockDocumentLoader, test } from "@fedify/fixture";
14
14
  import { FetchError, exportSpki } from "@fedify/vocab-runtime";
@@ -335,15 +335,12 @@ test("createRfc9421SignatureBase()", () => {
335
335
  ].join("\n"));
336
336
  });
337
337
  test("formatRfc9421Signature()", () => {
338
- const signature = new Uint8Array([
338
+ const [signatureInput, signatureHeader] = formatRfc9421Signature(new Uint8Array([
339
339
  1,
340
340
  2,
341
341
  3,
342
342
  4
343
- ]);
344
- const keyId = new URL("https://example.com/key");
345
- const algorithm = "rsa-v1_5-sha256";
346
- const [signatureInput, signatureHeader] = formatRfc9421Signature(signature, [
343
+ ]), [
347
344
  {
348
345
  "value": "@method",
349
346
  params: {}
@@ -357,8 +354,8 @@ test("formatRfc9421Signature()", () => {
357
354
  params: {}
358
355
  }
359
356
  ], formatRfc9421SignatureParameters({
360
- algorithm,
361
- keyId,
357
+ algorithm: "rsa-v1_5-sha256",
358
+ keyId: new URL("https://example.com/key"),
362
359
  created: 1709626184
363
360
  }));
364
361
  assertEquals(signatureInput, `sig1=("@method" "@target-uri" "host");alg="rsa-v1_5-sha256";keyid="https://example.com/key";created=1709626184`);
@@ -855,12 +852,6 @@ test("doubleKnock() function with specDeterminer choosing draft-cavage first", a
855
852
  else if (req.headers.has("Signature")) firstSpec = "draft-cavage";
856
853
  return new Response("", { status: 202 });
857
854
  });
858
- const specDeterminer = {
859
- determineSpec(_origin) {
860
- return "draft-cavage-http-signatures-12";
861
- },
862
- rememberSpec(_origin, _spec) {}
863
- };
864
855
  assertEquals((await doubleKnock(new Request("https://example.com/inbox-accepts-any", {
865
856
  method: "POST",
866
857
  body: "Test message with draft-cavage preference",
@@ -868,7 +859,12 @@ test("doubleKnock() function with specDeterminer choosing draft-cavage first", a
868
859
  }), {
869
860
  keyId: rsaPublicKey2.id,
870
861
  privateKey: rsaPrivateKey2
871
- }, { specDeterminer })).status, 202, "Response status should be 202 Accepted");
862
+ }, { specDeterminer: {
863
+ determineSpec(_origin) {
864
+ return "draft-cavage-http-signatures-12";
865
+ },
866
+ rememberSpec(_origin, _spec) {}
867
+ } })).status, 202, "Response status should be 202 Accepted");
872
868
  assertEquals(requestCount, 1, "Only one request should have been made");
873
869
  assertEquals(firstSpec, "draft-cavage", "First attempt should use draft-cavage");
874
870
  esm_default.hardReset();
@@ -979,6 +975,124 @@ test("doubleKnock() detects redirect loops", async () => {
979
975
  assertEquals(requestCount, 2);
980
976
  esm_default.hardReset();
981
977
  });
978
+ test("doubleKnock() retries idempotent request transport errors", async () => {
979
+ esm_default.spyGlobal();
980
+ try {
981
+ let requestCount = 0;
982
+ esm_default.get("https://example.com/flaky-document", () => {
983
+ requestCount++;
984
+ if (requestCount === 1) throw new TypeError("temporary DNS failure");
985
+ return new Response("Success", { status: 200 });
986
+ });
987
+ const response = await doubleKnock(new Request("https://example.com/flaky-document"), {
988
+ keyId: rsaPublicKey2.id,
989
+ privateKey: rsaPrivateKey2
990
+ });
991
+ assertEquals(response.status, 200);
992
+ assertEquals(await response.text(), "Success");
993
+ assertEquals(requestCount, 2);
994
+ } finally {
995
+ esm_default.hardReset();
996
+ }
997
+ });
998
+ test("doubleKnock() wraps repeated transport errors", async () => {
999
+ esm_default.spyGlobal();
1000
+ try {
1001
+ let requestCount = 0;
1002
+ const failure = /* @__PURE__ */ new TypeError("DNS lookup failed");
1003
+ esm_default.get("https://example.com/unreachable-document", () => {
1004
+ requestCount++;
1005
+ throw failure;
1006
+ });
1007
+ const request = new Request("https://example.com/unreachable-document");
1008
+ const error = await assertRejects(() => doubleKnock(request, {
1009
+ keyId: rsaPublicKey2.id,
1010
+ privateKey: rsaPrivateKey2
1011
+ }), FetchError, "DNS lookup failed");
1012
+ assertEquals(error.url.href, "https://example.com/unreachable-document");
1013
+ assertEquals(error.cause, failure);
1014
+ assertEquals(requestCount, 2);
1015
+ } finally {
1016
+ esm_default.hardReset();
1017
+ }
1018
+ });
1019
+ test("doubleKnock() does not retry non-idempotent transport errors", async () => {
1020
+ esm_default.spyGlobal();
1021
+ try {
1022
+ let requestCount = 0;
1023
+ const failure = /* @__PURE__ */ new TypeError("connection reset");
1024
+ esm_default.post("https://example.com/flaky-inbox", () => {
1025
+ requestCount++;
1026
+ throw failure;
1027
+ });
1028
+ const request = new Request("https://example.com/flaky-inbox", {
1029
+ method: "POST",
1030
+ body: "Test activity content",
1031
+ headers: { "Content-Type": "application/activity+json" }
1032
+ });
1033
+ const error = await assertRejects(() => doubleKnock(request, {
1034
+ keyId: rsaPublicKey2.id,
1035
+ privateKey: rsaPrivateKey2
1036
+ }), FetchError, "connection reset");
1037
+ assertEquals(error.url.href, "https://example.com/flaky-inbox");
1038
+ assertEquals(error.cause, failure);
1039
+ assertEquals(requestCount, 1);
1040
+ } finally {
1041
+ esm_default.hardReset();
1042
+ }
1043
+ });
1044
+ test("doubleKnock() preserves Request signal abort reasons", async () => {
1045
+ const controller = new AbortController();
1046
+ const abortReason = "request aborted";
1047
+ controller.abort(abortReason);
1048
+ const request = new Request("https://example.com/request-abort", { signal: controller.signal });
1049
+ assertEquals(await assertRejects(() => doubleKnock(request, {
1050
+ keyId: rsaPublicKey2.id,
1051
+ privateKey: rsaPrivateKey2
1052
+ })), abortReason);
1053
+ });
1054
+ test("doubleKnock() preserves Request signal aborts during retry delay", async () => {
1055
+ esm_default.spyGlobal();
1056
+ try {
1057
+ let requestCount = 0;
1058
+ const controller = new AbortController();
1059
+ const abortReason = "retry aborted";
1060
+ esm_default.get("https://example.com/aborted-retry", () => {
1061
+ requestCount++;
1062
+ setTimeout(() => controller.abort(abortReason));
1063
+ throw new TypeError("temporary DNS failure");
1064
+ });
1065
+ const request = new Request("https://example.com/aborted-retry", { signal: controller.signal });
1066
+ assertEquals(await assertRejects(() => doubleKnock(request, {
1067
+ keyId: rsaPublicKey2.id,
1068
+ privateKey: rsaPrivateKey2
1069
+ })), abortReason);
1070
+ assertEquals(requestCount, 1);
1071
+ } finally {
1072
+ esm_default.hardReset();
1073
+ }
1074
+ });
1075
+ test("doubleKnock() prefers Request aborts over transport errors", async () => {
1076
+ esm_default.spyGlobal();
1077
+ try {
1078
+ let requestCount = 0;
1079
+ const controller = new AbortController();
1080
+ const abortReason = "transport aborted";
1081
+ esm_default.get("https://example.com/abort-with-transport-error", () => {
1082
+ requestCount++;
1083
+ controller.abort(abortReason);
1084
+ throw new TypeError("temporary DNS failure");
1085
+ });
1086
+ const request = new Request("https://example.com/abort-with-transport-error", { signal: controller.signal });
1087
+ assertEquals(await assertRejects(() => doubleKnock(request, {
1088
+ keyId: rsaPublicKey2.id,
1089
+ privateKey: rsaPrivateKey2
1090
+ })), abortReason);
1091
+ assertEquals(requestCount, 1);
1092
+ } finally {
1093
+ esm_default.hardReset();
1094
+ }
1095
+ });
982
1096
  test("doubleKnock() async specDeterminer test", async () => {
983
1097
  esm_default.spyGlobal();
984
1098
  let requestCount = 0;
@@ -990,15 +1104,6 @@ test("doubleKnock() async specDeterminer test", async () => {
990
1104
  else if (req.headers.has("Signature")) specUsed = "draft-cavage-http-signatures-12";
991
1105
  return new Response("", { status: 202 });
992
1106
  });
993
- const specDeterminer = {
994
- async determineSpec(_origin) {
995
- await new Promise((resolve) => setTimeout(resolve, 10));
996
- return "draft-cavage-http-signatures-12";
997
- },
998
- async rememberSpec(_origin, _spec) {
999
- await new Promise((resolve) => setTimeout(resolve, 10));
1000
- }
1001
- };
1002
1107
  assertEquals((await doubleKnock(new Request("https://example.com/inbox-async-determiner", {
1003
1108
  method: "POST",
1004
1109
  body: "Test message with async spec determiner",
@@ -1006,7 +1111,15 @@ test("doubleKnock() async specDeterminer test", async () => {
1006
1111
  }), {
1007
1112
  keyId: rsaPublicKey2.id,
1008
1113
  privateKey: rsaPrivateKey2
1009
- }, { specDeterminer })).status, 202, "Response status should be 202 Accepted");
1114
+ }, { specDeterminer: {
1115
+ async determineSpec(_origin) {
1116
+ await new Promise((resolve) => setTimeout(resolve, 10));
1117
+ return "draft-cavage-http-signatures-12";
1118
+ },
1119
+ async rememberSpec(_origin, _spec) {
1120
+ await new Promise((resolve) => setTimeout(resolve, 10));
1121
+ }
1122
+ } })).status, 202, "Response status should be 202 Accepted");
1010
1123
  assertEquals(requestCount, 1, "Only one request should have been made");
1011
1124
  assertEquals(specUsed, "draft-cavage-http-signatures-12", "Should use spec from async determiner");
1012
1125
  esm_default.hardReset();
@@ -5,10 +5,10 @@ import { t as assertEquals } from "../assert_equals-Ew3jOFa3.mjs";
5
5
  import "../std__assert-CRDpx_HF.mjs";
6
6
  import { t as assertRejects } from "../assert_rejects-B-qJtC9Z.mjs";
7
7
  import { t as assertThrows } from "../assert_throws-4NwKEy2q.mjs";
8
- import { a as importJwk, i as generateCryptoKeyPair, n as fetchKey, o as validateCryptoKey, r as fetchKeyDetailed, t as exportJwk } from "../key-CpAxygvh.mjs";
8
+ import { a as importJwk, i as generateCryptoKeyPair, n as fetchKey, o as validateCryptoKey, r as fetchKeyDetailed, t as exportJwk } from "../key-D9dUsyow.mjs";
9
9
  import { c as rsaPublicKey3, i as rsaPrivateKey2, o as rsaPublicKey1, s as rsaPublicKey2, t as ed25519Multikey } from "../keys-C3kae-6B.mjs";
10
- import { createTestTracerProvider, mockDocumentLoader, test } from "@fedify/fixture";
11
10
  import { CryptographicKey, Multikey } from "@fedify/vocab";
11
+ import { createTestTracerProvider, mockDocumentLoader, test } from "@fedify/fixture";
12
12
  import { FetchError } from "@fedify/vocab-runtime";
13
13
  //#region src/sig/key.test.ts
14
14
  test("validateCryptoKey()", async () => {
@@ -5,11 +5,11 @@ import { t as assertEquals } from "../assert_equals-Ew3jOFa3.mjs";
5
5
  import { n as assertFalse, t as assertRejects } from "../assert_rejects-B-qJtC9Z.mjs";
6
6
  import { t as assertThrows } from "../assert_throws-4NwKEy2q.mjs";
7
7
  import { t as assert } from "../assert-DikXweDx.mjs";
8
- import { i as generateCryptoKeyPair } from "../key-CpAxygvh.mjs";
8
+ import { i as generateCryptoKeyPair } from "../key-D9dUsyow.mjs";
9
9
  import { a as rsaPrivateKey3, c as rsaPublicKey3, i as rsaPrivateKey2, n as ed25519PrivateKey, s as rsaPublicKey2, t as ed25519Multikey } from "../keys-C3kae-6B.mjs";
10
- import { a as signJsonLd, i as hasSignatureLike, n as createSignature, o as verifyJsonLd, r as detachSignature, s as verifySignature, t as attachSignature } from "../ld-Ce_vkKjG.mjs";
11
- import { mockDocumentLoader, test } from "@fedify/fixture";
10
+ import { a as signJsonLd, i as hasSignatureLike, n as createSignature, o as verifyJsonLd, r as detachSignature, s as verifySignature, t as attachSignature } from "../ld-hbxDLO1k.mjs";
12
11
  import { CryptographicKey } from "@fedify/vocab";
12
+ import { mockDocumentLoader, test } from "@fedify/fixture";
13
13
  import { encodeBase64 } from "byte-encodings/base64";
14
14
  //#region src/sig/ld.test.ts
15
15
  test("attachSignature()", () => {
package/dist/sig/mod.cjs CHANGED
@@ -1,8 +1,8 @@
1
1
  const { Temporal } = require("@js-temporal/polyfill");
2
2
  const { URLPattern } = require("urlpattern-polyfill");
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
4
- const require_http = require("../http-e1wtIlFo.cjs");
5
- const require_proof = require("../proof-BU1TpFYI.cjs");
4
+ const require_http = require("../http-W2u_KBoQ.cjs");
5
+ const require_proof = require("../proof-CZCaAURh.cjs");
6
6
  exports.attachSignature = require_proof.attachSignature;
7
7
  exports.createProof = require_proof.createProof;
8
8
  exports.createSignature = require_proof.createSignature;
@@ -1,4 +1,5 @@
1
- import { C as exportJwk, D as importJwk, E as generateCryptoKeyPair, S as KeyCache, T as fetchKeyDetailed, _ as validateAcceptSignature, a as VerifyRequestDetailedResult, b as FetchKeyOptions, c as signRequest, d as AcceptSignatureMember, f as AcceptSignatureParameters, g as parseAcceptSignature, h as fulfillAcceptSignature, i as SignRequestOptions, l as verifyRequest, m as formatAcceptSignature, n as HttpMessageSignaturesSpecDeterminer, o as VerifyRequestFailureReason, p as FulfillAcceptSignatureResult, r as Rfc9421SignRequestOptions, s as VerifyRequestOptions, t as HttpMessageSignaturesSpec, u as verifyRequestDetailed, v as FetchKeyDetailedResult, w as fetchKey, x as FetchKeyResult, y as FetchKeyErrorResult } from "../http-CrGuipxe.cjs";
2
- import { i as getKeyOwner, n as GetKeyOwnerOptions, r as doesActorOwnKey, t as DoesActorOwnKeyOptions } from "../owner-CptqhsOy.cjs";
3
- import { _ as hasSignatureLike, a as createProof, b as verifySignature, c as verifyObject, d as SignJsonLdOptions, f as VerifyJsonLdOptions, g as detachSignature, h as createSignature, i as VerifyProofOptions, l as verifyProof, m as attachSignature, n as SignObjectOptions, o as hasProofLike, p as VerifySignatureOptions, r as VerifyObjectOptions, s as signObject, t as CreateProofOptions, u as CreateSignatureOptions, v as signJsonLd, y as verifyJsonLd } from "../mod-Cr3f-ACa.cjs";
1
+ /// <reference lib="esnext.temporal" />
2
+ import { C as exportJwk, D as importJwk, E as generateCryptoKeyPair, S as KeyCache, T as fetchKeyDetailed, _ as validateAcceptSignature, a as VerifyRequestDetailedResult, b as FetchKeyOptions, c as signRequest, d as AcceptSignatureMember, f as AcceptSignatureParameters, g as parseAcceptSignature, h as fulfillAcceptSignature, i as SignRequestOptions, l as verifyRequest, m as formatAcceptSignature, n as HttpMessageSignaturesSpecDeterminer, o as VerifyRequestFailureReason, p as FulfillAcceptSignatureResult, r as Rfc9421SignRequestOptions, s as VerifyRequestOptions, t as HttpMessageSignaturesSpec, u as verifyRequestDetailed, v as FetchKeyDetailedResult, w as fetchKey, x as FetchKeyResult, y as FetchKeyErrorResult } from "../http-C87EWkO0.cjs";
3
+ import { i as getKeyOwner, n as GetKeyOwnerOptions, r as doesActorOwnKey, t as DoesActorOwnKeyOptions } from "../owner-DEvZuyOE.cjs";
4
+ import { _ as hasSignatureLike, a as createProof, b as verifySignature, c as verifyObject, d as SignJsonLdOptions, f as VerifyJsonLdOptions, g as detachSignature, h as createSignature, i as VerifyProofOptions, l as verifyProof, m as attachSignature, n as SignObjectOptions, o as hasProofLike, p as VerifySignatureOptions, r as VerifyObjectOptions, s as signObject, t as CreateProofOptions, u as CreateSignatureOptions, v as signJsonLd, y as verifyJsonLd } from "../mod-DXY9JF28.cjs";
4
5
  export { AcceptSignatureMember, AcceptSignatureParameters, CreateProofOptions, CreateSignatureOptions, DoesActorOwnKeyOptions, FetchKeyDetailedResult, FetchKeyErrorResult, FetchKeyOptions, FetchKeyResult, FulfillAcceptSignatureResult, GetKeyOwnerOptions, HttpMessageSignaturesSpec, HttpMessageSignaturesSpecDeterminer, KeyCache, Rfc9421SignRequestOptions, SignJsonLdOptions, SignObjectOptions, SignRequestOptions, VerifyJsonLdOptions, VerifyObjectOptions, VerifyProofOptions, VerifyRequestDetailedResult, VerifyRequestFailureReason, VerifyRequestOptions, VerifySignatureOptions, attachSignature, createProof, createSignature, detachSignature, doesActorOwnKey, exportJwk, fetchKey, fetchKeyDetailed, formatAcceptSignature, fulfillAcceptSignature, generateCryptoKeyPair, getKeyOwner, hasProofLike, hasSignatureLike, importJwk, parseAcceptSignature, signJsonLd, signObject, signRequest, validateAcceptSignature, verifyJsonLd, verifyObject, verifyProof, verifyRequest, verifyRequestDetailed, verifySignature };
package/dist/sig/mod.d.ts CHANGED
@@ -1,6 +1,5 @@
1
- import { Temporal } from "@js-temporal/polyfill";
2
- import { URLPattern } from "urlpattern-polyfill";
3
- import { C as exportJwk, D as importJwk, E as generateCryptoKeyPair, S as KeyCache, T as fetchKeyDetailed, _ as validateAcceptSignature, a as VerifyRequestDetailedResult, b as FetchKeyOptions, c as signRequest, d as AcceptSignatureMember, f as AcceptSignatureParameters, g as parseAcceptSignature, h as fulfillAcceptSignature, i as SignRequestOptions, l as verifyRequest, m as formatAcceptSignature, n as HttpMessageSignaturesSpecDeterminer, o as VerifyRequestFailureReason, p as FulfillAcceptSignatureResult, r as Rfc9421SignRequestOptions, s as VerifyRequestOptions, t as HttpMessageSignaturesSpec, u as verifyRequestDetailed, v as FetchKeyDetailedResult, w as fetchKey, x as FetchKeyResult, y as FetchKeyErrorResult } from "../http-aQzN9Ayi.js";
4
- import { i as getKeyOwner, n as GetKeyOwnerOptions, r as doesActorOwnKey, t as DoesActorOwnKeyOptions } from "../owner-74ARJ5TL.js";
5
- import { _ as hasSignatureLike, a as createProof, b as verifySignature, c as verifyObject, d as SignJsonLdOptions, f as VerifyJsonLdOptions, g as detachSignature, h as createSignature, i as VerifyProofOptions, l as verifyProof, m as attachSignature, n as SignObjectOptions, o as hasProofLike, p as VerifySignatureOptions, r as VerifyObjectOptions, s as signObject, t as CreateProofOptions, u as CreateSignatureOptions, v as signJsonLd, y as verifyJsonLd } from "../mod-CR8soWa9.js";
1
+ /// <reference lib="esnext.temporal" />
2
+ import { C as exportJwk, D as importJwk, E as generateCryptoKeyPair, S as KeyCache, T as fetchKeyDetailed, _ as validateAcceptSignature, a as VerifyRequestDetailedResult, b as FetchKeyOptions, c as signRequest, d as AcceptSignatureMember, f as AcceptSignatureParameters, g as parseAcceptSignature, h as fulfillAcceptSignature, i as SignRequestOptions, l as verifyRequest, m as formatAcceptSignature, n as HttpMessageSignaturesSpecDeterminer, o as VerifyRequestFailureReason, p as FulfillAcceptSignatureResult, r as Rfc9421SignRequestOptions, s as VerifyRequestOptions, t as HttpMessageSignaturesSpec, u as verifyRequestDetailed, v as FetchKeyDetailedResult, w as fetchKey, x as FetchKeyResult, y as FetchKeyErrorResult } from "../http-BDZeS5om.js";
3
+ import { i as getKeyOwner, n as GetKeyOwnerOptions, r as doesActorOwnKey, t as DoesActorOwnKeyOptions } from "../owner-CnngXDNJ.js";
4
+ import { _ as hasSignatureLike, a as createProof, b as verifySignature, c as verifyObject, d as SignJsonLdOptions, f as VerifyJsonLdOptions, g as detachSignature, h as createSignature, i as VerifyProofOptions, l as verifyProof, m as attachSignature, n as SignObjectOptions, o as hasProofLike, p as VerifySignatureOptions, r as VerifyObjectOptions, s as signObject, t as CreateProofOptions, u as CreateSignatureOptions, v as signJsonLd, y as verifyJsonLd } from "../mod-DHO9lk3D.js";
6
5
  export { AcceptSignatureMember, AcceptSignatureParameters, CreateProofOptions, CreateSignatureOptions, DoesActorOwnKeyOptions, FetchKeyDetailedResult, FetchKeyErrorResult, FetchKeyOptions, FetchKeyResult, FulfillAcceptSignatureResult, GetKeyOwnerOptions, HttpMessageSignaturesSpec, HttpMessageSignaturesSpecDeterminer, KeyCache, Rfc9421SignRequestOptions, SignJsonLdOptions, SignObjectOptions, SignRequestOptions, VerifyJsonLdOptions, VerifyObjectOptions, VerifyProofOptions, VerifyRequestDetailedResult, VerifyRequestFailureReason, VerifyRequestOptions, VerifySignatureOptions, attachSignature, createProof, createSignature, detachSignature, doesActorOwnKey, exportJwk, fetchKey, fetchKeyDetailed, formatAcceptSignature, fulfillAcceptSignature, generateCryptoKeyPair, getKeyOwner, hasProofLike, hasSignatureLike, importJwk, parseAcceptSignature, signJsonLd, signObject, signRequest, validateAcceptSignature, verifyJsonLd, verifyObject, verifyProof, verifyRequest, verifyRequestDetailed, verifySignature };
package/dist/sig/mod.js CHANGED
@@ -1,5 +1,5 @@
1
- import "@js-temporal/polyfill";
2
- import "urlpattern-polyfill";
3
- import { a as verifyRequestDetailed, c as fetchKeyDetailed, f as formatAcceptSignature, h as validateAcceptSignature, i as verifyRequest, l as generateCryptoKeyPair, m as parseAcceptSignature, o as exportJwk, p as fulfillAcceptSignature, r as signRequest, s as fetchKey, u as importJwk } from "../http-D2EDlTr2.js";
4
- import { a as verifyProof, c as getKeyOwner, d as detachSignature, f as hasSignatureLike, h as verifySignature, i as verifyObject, l as attachSignature, m as verifyJsonLd, n as hasProofLike, p as signJsonLd, r as signObject, s as doesActorOwnKey, t as createProof, u as createSignature } from "../proof-DLDsFYfD.js";
1
+ import { Temporal } from "@js-temporal/polyfill";
2
+ import { URLPattern } from "urlpattern-polyfill";
3
+ import { a as verifyRequestDetailed, c as fetchKeyDetailed, f as formatAcceptSignature, h as validateAcceptSignature, i as verifyRequest, l as generateCryptoKeyPair, m as parseAcceptSignature, o as exportJwk, p as fulfillAcceptSignature, r as signRequest, s as fetchKey, u as importJwk } from "../http-Dzy5c472.js";
4
+ import { a as verifyProof, c as getKeyOwner, d as detachSignature, f as hasSignatureLike, h as verifySignature, i as verifyObject, l as attachSignature, m as verifyJsonLd, n as hasProofLike, p as signJsonLd, r as signObject, s as doesActorOwnKey, t as createProof, u as createSignature } from "../proof-DMJJZnKd.js";
5
5
  export { attachSignature, createProof, createSignature, detachSignature, doesActorOwnKey, exportJwk, fetchKey, fetchKeyDetailed, formatAcceptSignature, fulfillAcceptSignature, generateCryptoKeyPair, getKeyOwner, hasProofLike, hasSignatureLike, importJwk, parseAcceptSignature, signJsonLd, signObject, signRequest, validateAcceptSignature, verifyJsonLd, verifyObject, verifyProof, verifyRequest, verifyRequestDetailed, verifySignature };
@@ -6,9 +6,9 @@ import "../std__assert-CRDpx_HF.mjs";
6
6
  import { n as assertFalse } from "../assert_rejects-B-qJtC9Z.mjs";
7
7
  import { t as assert } from "../assert-DikXweDx.mjs";
8
8
  import { o as rsaPublicKey1, s as rsaPublicKey2 } from "../keys-C3kae-6B.mjs";
9
- import { n as getKeyOwner, t as doesActorOwnKey } from "../owner-DmgzyItA.mjs";
10
- import { createTestTracerProvider, mockDocumentLoader, test } from "@fedify/fixture";
9
+ import { n as getKeyOwner, t as doesActorOwnKey } from "../owner-DwJe0BH9.mjs";
11
10
  import { Create, CryptographicKey, lookupObject } from "@fedify/vocab";
11
+ import { createTestTracerProvider, mockDocumentLoader, test } from "@fedify/fixture";
12
12
  //#region src/sig/owner.test.ts
13
13
  test("doesActorOwnKey()", async () => {
14
14
  const options = {
@@ -7,10 +7,10 @@ import { n as assertFalse, t as assertRejects } from "../assert_rejects-B-qJtC9Z
7
7
  import { t as assertInstanceOf } from "../assert_instance_of-C4Ri6VuN.mjs";
8
8
  import { t as assert } from "../assert-DikXweDx.mjs";
9
9
  import { i as rsaPrivateKey2, n as ed25519PrivateKey, r as ed25519PublicKey, s as rsaPublicKey2, t as ed25519Multikey } from "../keys-C3kae-6B.mjs";
10
- import { r as normalizeOutgoingActivityJsonLd } from "../outgoing-jsonld-Bi7n-dEy.mjs";
11
- import { a as verifyProof, i as verifyObject, n as hasProofLike, r as signObject, t as createProof } from "../proof-C3q2IhUr.mjs";
12
- import { mockDocumentLoader, test } from "@fedify/fixture";
10
+ import { r as normalizeOutgoingActivityJsonLd } from "../outgoing-jsonld-BgFLCJQ_.mjs";
11
+ import { a as verifyProof, i as verifyObject, n as hasProofLike, r as signObject, t as createProof } from "../proof-erpV_J_n.mjs";
13
12
  import { Create, DataIntegrityProof, Document, Multikey, Note, PUBLIC_COLLECTION, Place } from "@fedify/vocab";
13
+ import { mockDocumentLoader, test } from "@fedify/fixture";
14
14
  import { decodeMultibase, importMultibaseKey } from "@fedify/vocab-runtime";
15
15
  import { decodeHex } from "byte-encodings/hex";
16
16
  //#region src/sig/proof.test.ts
@@ -1,6 +1,6 @@
1
1
  import { Temporal } from "@js-temporal/polyfill";
2
2
  import { URLPattern } from "urlpattern-polyfill";
3
- import { testDefinitions } from "@fedify/fixture";
3
+ import { ExportResultCode } from "@opentelemetry/core";
4
4
  import { Activity, Actor, Collection, CryptographicKey, Hashtag, Link, LookupObjectOptions, Multikey, Object as Object$1, Recipient, Tombstone, TraverseCollectionOptions } from "@fedify/vocab";
5
5
  import { Link as Link$1, LookupWebFingerOptions, ResourceDescriptor } from "@fedify/webfinger";
6
6
  import { MeterProvider, TracerProvider } from "@opentelemetry/api";
@@ -2392,4 +2392,9 @@ declare function createOutboxContext<TContextData>(args: Partial<OutboxContext<T
2392
2392
  federation: Federation<TContextData>;
2393
2393
  }): OutboxContext<TContextData>;
2394
2394
  //#endregion
2395
+ //#region ../fixture/dist/mod.d.ts
2396
+ //#endregion
2397
+ //#region src/test.d.ts
2398
+ declare const testDefinitions: Deno.TestDefinition[];
2399
+ //#endregion
2395
2400
  export { createInboxContext, createOutboxContext, createRequestContext, testDefinitions };
@@ -1,6 +1,5 @@
1
1
  import "@js-temporal/polyfill";
2
2
  import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
- import { n as createOutboxContext, r as createRequestContext, t as createInboxContext } from "../context-7Azky82W.mjs";
5
- import { testDefinitions } from "@fedify/fixture";
4
+ import { i as testDefinitions, n as createOutboxContext, r as createRequestContext, t as createInboxContext } from "../context-BAE7AKLA.mjs";
6
5
  export { createInboxContext, createOutboxContext, createRequestContext, testDefinitions };
@@ -1,5 +1,5 @@
1
- import "@js-temporal/polyfill";
2
- import "urlpattern-polyfill";
1
+ import { Temporal } from "@js-temporal/polyfill";
2
+ import { URLPattern } from "urlpattern-polyfill";
3
3
  import { getLogger } from "@logtape/logtape";
4
4
  //#region src/compat/transformers.ts
5
5
  const logger = getLogger([
@@ -1,5 +1,5 @@
1
- import "@js-temporal/polyfill";
2
- import "urlpattern-polyfill";
1
+ import { Temporal } from "@js-temporal/polyfill";
2
+ import { URLPattern } from "urlpattern-polyfill";
3
3
  import { getLogger } from "@logtape/logtape";
4
4
  import { getUserAgent } from "@fedify/vocab-runtime";
5
5
  //#region src/nodeinfo/client.ts
@@ -4,10 +4,10 @@ globalThis.addEventListener = () => {};
4
4
  import { t as assertEquals } from "../assert_equals-Ew3jOFa3.mjs";
5
5
  import "../std__assert-CRDpx_HF.mjs";
6
6
  import { t as assertRejects } from "../assert_rejects-B-qJtC9Z.mjs";
7
- import { t as esm_default } from "../esm-DhnRLoG9.mjs";
8
- import { l as verifyRequest } from "../http-QHJGzUe8.mjs";
7
+ import { t as esm_default } from "../esm-sdtqOUPu.mjs";
8
+ import { l as verifyRequest } from "../http-5G18W3NP.mjs";
9
9
  import { i as rsaPrivateKey2 } from "../keys-C3kae-6B.mjs";
10
- import { t as getAuthenticatedDocumentLoader } from "../docloader-QNtAtTZF.mjs";
10
+ import { t as getAuthenticatedDocumentLoader } from "../docloader-DA5FzJOR.mjs";
11
11
  import { mockDocumentLoader, test } from "@fedify/fixture";
12
12
  import { UrlError } from "@fedify/vocab-runtime";
13
13
  //#region src/utils/docloader.test.ts
@@ -1,9 +1,9 @@
1
1
  import { Temporal } from "@js-temporal/polyfill";
2
2
  import { URLPattern } from "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
- import { n as kvCache, t as MockKvStore } from "../kv-cache-Bmv7tUzz.mjs";
5
- import { mockDocumentLoader, test } from "@fedify/fixture";
4
+ import { n as kvCache, t as MockKvStore } from "../kv-cache-CiiNwT6W.mjs";
6
5
  import { deepStrictEqual, throws } from "node:assert";
6
+ import { mockDocumentLoader, test } from "@fedify/fixture";
7
7
  import { preloadedContexts } from "@fedify/vocab-runtime";
8
8
  //#region src/utils/kv-cache.test.ts
9
9
  test("kvCache()", async (t) => {
@@ -1,6 +1,6 @@
1
1
  const { Temporal } = require("@js-temporal/polyfill");
2
2
  const { URLPattern } = require("urlpattern-polyfill");
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
4
- const require_kv_cache = require("../kv-cache-B3GfB70S.cjs");
4
+ const require_kv_cache = require("../kv-cache-BygrlQ1c.cjs");
5
5
  exports.getAuthenticatedDocumentLoader = require_kv_cache.getAuthenticatedDocumentLoader;
6
6
  exports.kvCache = require_kv_cache.kvCache;
@@ -1,2 +1,3 @@
1
- import { n as getAuthenticatedDocumentLoader, t as kvCache } from "../mod-CMEbIaNh.cjs";
1
+ /// <reference lib="esnext.temporal" />
2
+ import { n as getAuthenticatedDocumentLoader, t as kvCache } from "../mod-B0rWmfW5.cjs";
2
3
  export { getAuthenticatedDocumentLoader, kvCache };
@@ -1,4 +1,3 @@
1
- import { Temporal } from "@js-temporal/polyfill";
2
- import { URLPattern } from "urlpattern-polyfill";
3
- import { n as getAuthenticatedDocumentLoader, t as kvCache } from "../mod-CLgIXe9w.js";
1
+ /// <reference lib="esnext.temporal" />
2
+ import { n as getAuthenticatedDocumentLoader, t as kvCache } from "../mod-BhU_H1I_.js";
4
3
  export { getAuthenticatedDocumentLoader, kvCache };
package/dist/utils/mod.js CHANGED
@@ -1,4 +1,4 @@
1
- import "@js-temporal/polyfill";
2
- import "urlpattern-polyfill";
3
- import { n as getAuthenticatedDocumentLoader, t as kvCache } from "../kv-cache-KLjvIlKt.js";
1
+ import { Temporal } from "@js-temporal/polyfill";
2
+ import { URLPattern } from "urlpattern-polyfill";
3
+ import { n as getAuthenticatedDocumentLoader, t as kvCache } from "../kv-cache-CBSgxEsZ.js";
4
4
  export { getAuthenticatedDocumentLoader, kvCache };
@@ -2,8 +2,8 @@ import "@js-temporal/polyfill";
2
2
  import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
4
  import { createRequire } from "node:module";
5
- import { test } from "@fedify/fixture";
6
5
  import { strictEqual } from "node:assert";
6
+ import { test } from "@fedify/fixture";
7
7
  //#region src/vocab/cjs.test.ts
8
8
  test("CommonJS vocab entry exports Object", { ignore: "Deno" in globalThis }, () => {
9
9
  const vocab = createRequire(import.meta.url)("./mod.cjs");
@@ -1 +1,2 @@
1
+ /// <reference lib="esnext.temporal" />
1
2
  export * from "@fedify/vocab";
@@ -1,3 +1,2 @@
1
- import { Temporal } from "@js-temporal/polyfill";
2
- import { URLPattern } from "urlpattern-polyfill";
1
+ /// <reference lib="esnext.temporal" />
3
2
  export * from "@fedify/vocab";
package/dist/vocab/mod.js CHANGED
@@ -1,3 +1,3 @@
1
- import "@js-temporal/polyfill";
2
- import "urlpattern-polyfill";
1
+ import { Temporal } from "@js-temporal/polyfill";
2
+ import { URLPattern } from "urlpattern-polyfill";
3
3
  export * from "@fedify/vocab";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fedify/fedify",
3
- "version": "2.3.0-dev.1069+81e910ce",
3
+ "version": "2.3.0-dev.1099+fafcfa78",
4
4
  "description": "An ActivityPub server framework",
5
5
  "keywords": [
6
6
  "ActivityPub",
@@ -140,36 +140,36 @@
140
140
  },
141
141
  "dependencies": {
142
142
  "@js-temporal/polyfill": "^0.5.1",
143
- "@logtape/logtape": "^2.0.5",
144
- "@opentelemetry/api": "^1.9.0",
145
- "@opentelemetry/core": "^2.5.0",
146
- "@opentelemetry/sdk-trace-base": "^2.5.0",
147
- "@opentelemetry/semantic-conventions": "^1.39.0",
143
+ "@logtape/logtape": "^2.0.7",
144
+ "@opentelemetry/api": "^1.9.1",
145
+ "@opentelemetry/core": "^2.7.1",
146
+ "@opentelemetry/sdk-trace-base": "^2.7.1",
147
+ "@opentelemetry/semantic-conventions": "^1.40.0",
148
148
  "byte-encodings": "^1.0.11",
149
- "es-toolkit": "1.43.0",
149
+ "es-toolkit": "1.46.1",
150
150
  "json-canon": "^1.0.1",
151
151
  "jsonld": "^9.0.0",
152
152
  "structured-field-values": "^2.0.4",
153
153
  "uri-template-router": "^1.0.0",
154
154
  "url-template": "^3.1.1",
155
155
  "urlpattern-polyfill": "^10.1.0",
156
- "@fedify/vocab": "2.3.0-dev.1069+81e910ce",
157
- "@fedify/vocab-runtime": "2.3.0-dev.1069+81e910ce",
158
- "@fedify/webfinger": "2.3.0-dev.1069+81e910ce"
156
+ "@fedify/vocab": "2.3.0-dev.1099+fafcfa78",
157
+ "@fedify/webfinger": "2.3.0-dev.1099+fafcfa78",
158
+ "@fedify/vocab-runtime": "2.3.0-dev.1099+fafcfa78"
159
159
  },
160
160
  "devDependencies": {
161
- "@opentelemetry/sdk-metrics": "2.5.0",
161
+ "@opentelemetry/sdk-metrics": "2.7.1",
162
162
  "@std/assert": "npm:@jsr/std__assert@^0.226.0",
163
163
  "@std/path": "npm:@jsr/std__path@^1.0.6",
164
164
  "@types/node": "^24.2.1",
165
165
  "fetch-mock": "^12.5.4",
166
166
  "miniflare": "^4.20250523.0",
167
- "tsdown": "^0.21.6",
168
- "tsx": "^4.19.4",
169
- "typescript": "^5.9.2",
167
+ "tsdown": "^0.22.0",
168
+ "tsx": "^4.21.0",
169
+ "typescript": "^6.0.0",
170
170
  "wrangler": "^4.17.0",
171
171
  "@fedify/fixture": "2.0.0",
172
- "@fedify/vocab-tools": "^2.3.0-dev.1069+81e910ce"
172
+ "@fedify/vocab-tools": "^2.3.0-dev.1099+fafcfa78"
173
173
  },
174
174
  "scripts": {
175
175
  "build:self": "tsdown",
@@ -1,4 +0,0 @@
1
- const { Temporal } = require("@js-temporal/polyfill");
2
- const { URLPattern } = require("urlpattern-polyfill");
3
- const require_middleware = require("./middleware-DOLrvK_b.cjs");
4
- exports.FederationImpl = require_middleware.FederationImpl;
@@ -1,8 +1,8 @@
1
1
  import "@js-temporal/polyfill";
2
2
  import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
- import { getUserAgent } from "@fedify/vocab-runtime";
5
4
  import { getLogger } from "@logtape/logtape";
5
+ import { getUserAgent } from "@fedify/vocab-runtime";
6
6
  //#region src/nodeinfo/client.ts
7
7
  const logger = getLogger([
8
8
  "fedify",
@@ -1,9 +1,9 @@
1
1
  import "@js-temporal/polyfill";
2
2
  import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
+ import { getLogger } from "@logtape/logtape";
4
5
  import { PUBLIC_COLLECTION } from "@fedify/vocab";
5
6
  import { preloadedContexts } from "@fedify/vocab-runtime";
6
- import { getLogger } from "@logtape/logtape";
7
7
  import jsonld from "@fedify/vocab-runtime/jsonld";
8
8
  //#region src/compat/preloaded-context-loader.ts
9
9
  /**