@fedify/fedify 1.8.0-pr.299.1007 → 1.8.0-pr.300.1010

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 (78) hide show
  1. package/dist/{actor-CyN-vMEz.js → actor-CCqoG6Kg.js} +179 -179
  2. package/dist/{actor-B8aniAg7.js → actor-DVErbLrM.js} +3 -3
  3. package/dist/{authdocloader-CCFNDgQC.js → authdocloader-DPZH9Zxv.js} +3 -3
  4. package/dist/{authdocloader-BAh-s1OX.js → authdocloader-WYCAL-3S.js} +3 -3
  5. package/dist/{builder-CyhGxhyN.js → builder-BEYXb-rJ.js} +3 -3
  6. package/dist/{client-Dlp5vXyk.js → client-CP4GNyj2.js} +1 -1
  7. package/dist/compat/mod.d.ts +3 -3
  8. package/dist/compat/transformers.test.js +17 -17
  9. package/dist/{context-DTOCk8LL.js → context-1H5Ljjei.js} +2 -2
  10. package/dist/{context-CrSyJrIa.d.ts → context-B6mUZhs_.d.ts} +1 -1
  11. package/dist/{docloader-CZtt5bKC.js → docloader-C4AU11wI.js} +1 -1
  12. package/dist/{docloader-BaHyTL_k.js → docloader-D7T9Rjc3.js} +1 -1
  13. package/dist/federation/builder.test.js +4 -4
  14. package/dist/federation/handler.test.js +19 -19
  15. package/dist/federation/inbox.test.js +3 -3
  16. package/dist/federation/keycache.test.js +3 -3
  17. package/dist/federation/middleware.test.js +18 -18
  18. package/dist/federation/mod.d.ts +2 -2
  19. package/dist/federation/mod.js +10 -10
  20. package/dist/federation/send.test.js +9 -9
  21. package/dist/{http-BZYcajQd.js → http-CHM0y3Xk.js} +44 -29
  22. package/dist/{http-C0iTDVRU.js → http-Ca-7bMO9.js} +44 -29
  23. package/dist/{http-CP2ZUALI.d.ts → http-D1uoUH4N.d.ts} +5 -0
  24. package/dist/{inbox-C8SK35L6.js → inbox-BWf2svgk.js} +2 -2
  25. package/dist/{key-7zrZqy-q.js → key-3zyh2OZR.js} +4 -4
  26. package/dist/{key-CGXZmEaV.js → key-CIYJH1t3.js} +5 -5
  27. package/dist/{key-BbVPNqxi.js → key-D2PRsZ3N.js} +2 -2
  28. package/dist/{key-CnaXDbNU.js → key-DX8vK9hC.js} +3 -3
  29. package/dist/{keycache-D9xRlkpl.js → keycache-BkCbVqQw.js} +1 -1
  30. package/dist/{keys-D3uTr1UC.js → keys-C_pG5ijW.js} +1 -1
  31. package/dist/{ld-CgZuygXg.js → ld-Nubf9uTh.js} +3 -3
  32. package/dist/{lookup-pql0S7o4.js → lookup-Cz7Wo58w.js} +1 -1
  33. package/dist/{lookup-uTX8Y6_c.js → lookup-EF88t1Wo.js} +3 -3
  34. package/dist/{lookup-BEu4BWoB.js → lookup-dYdQ35AZ.js} +1 -1
  35. package/dist/{middleware-Cx7PzWQ-.js → middleware-B2bxnfXH.js} +15 -15
  36. package/dist/middleware-BVy2C_8C.js +33 -0
  37. package/dist/middleware-BpTfzpyc.js +17 -0
  38. package/dist/{middleware-m-T0T-A7.js → middleware-i3EBSaDG.js} +10 -10
  39. package/dist/{mod-CytXBx8A.d.ts → mod-0L5jhGYM.d.ts} +1 -1
  40. package/dist/{mod-D2uPZuP-.d.ts → mod-BCl7t-Ka.d.ts} +1 -1
  41. package/dist/{mod-DpE8T10I.d.ts → mod-D9qE4iHP.d.ts} +1 -1
  42. package/dist/mod.d.ts +5 -5
  43. package/dist/mod.js +10 -10
  44. package/dist/nodeinfo/client.test.js +2 -2
  45. package/dist/nodeinfo/handler.test.js +18 -18
  46. package/dist/nodeinfo/mod.js +2 -2
  47. package/dist/{owner-D0pCp853.js → owner-CkxG1zOL.js} +3 -3
  48. package/dist/{proof-Qigm6KKz.js → proof-CSnIckAt.js} +3 -3
  49. package/dist/{proof-KxV6FTop.js → proof-DXRhLSY5.js} +3 -3
  50. package/dist/runtime/authdocloader.test.js +8 -8
  51. package/dist/runtime/docloader.test.js +1 -1
  52. package/dist/runtime/key.test.js +5 -5
  53. package/dist/runtime/mod.d.ts +2 -2
  54. package/dist/runtime/mod.js +6 -6
  55. package/dist/{send-eoQysTgr.js → send-6GSSkKGA.js} +2 -2
  56. package/dist/sig/http.test.js +32 -7
  57. package/dist/sig/key.test.js +6 -6
  58. package/dist/sig/ld.test.js +7 -7
  59. package/dist/sig/mod.d.ts +2 -2
  60. package/dist/sig/mod.js +6 -6
  61. package/dist/sig/owner.test.js +8 -8
  62. package/dist/sig/proof.test.js +7 -7
  63. package/dist/{types-DLvHb1O3.js → types-DRywLxYe.js} +1 -1
  64. package/dist/vocab/actor.test.js +4 -4
  65. package/dist/vocab/lookup.test.js +4 -4
  66. package/dist/vocab/mod.js +4 -4
  67. package/dist/vocab/type.test.js +2 -2
  68. package/dist/vocab/vocab.test.js +3 -3
  69. package/dist/{vocab-Bbt7Qver.js → vocab-Cwr8wyIv.js} +178 -178
  70. package/dist/{vocab-By1FqQDs.js → vocab-EhOgT0NZ.js} +3 -3
  71. package/dist/webfinger/handler.test.js +18 -18
  72. package/dist/webfinger/lookup.test.js +2 -2
  73. package/dist/webfinger/mod.js +2 -2
  74. package/dist/x/hono.d.ts +2 -2
  75. package/dist/x/sveltekit.d.ts +2 -2
  76. package/package.json +1 -1
  77. package/dist/middleware-CwsVWFXH.js +0 -17
  78. package/dist/middleware-DOyG_Fxq.js +0 -33
@@ -3,9 +3,9 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { deno_default } from "./docloader-CZtt5bKC.js";
7
- import { Application, Group, Organization, Person, Service } from "./vocab-Bbt7Qver.js";
8
- import { lookupWebFinger } from "./lookup-BEu4BWoB.js";
6
+ import { deno_default } from "./docloader-C4AU11wI.js";
7
+ import { Application, Group, Organization, Person, Service } from "./vocab-Cwr8wyIv.js";
8
+ import { lookupWebFinger } from "./lookup-dYdQ35AZ.js";
9
9
  import { getTypeId } from "./type-D2s5lmbZ.js";
10
10
  import { SpanStatusCode, trace } from "@opentelemetry/api";
11
11
  import { domainToASCII, domainToUnicode } from "node:url";
@@ -3,10 +3,10 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { createRequest, getRemoteDocument, logRequest } from "./docloader-CZtt5bKC.js";
6
+ import { createRequest, getRemoteDocument, logRequest } from "./docloader-C4AU11wI.js";
7
7
  import { UrlError, validatePublicUrl } from "./url-kTAI6_KP.js";
8
- import { validateCryptoKey } from "./key-CnaXDbNU.js";
9
- import { doubleKnock } from "./http-BZYcajQd.js";
8
+ import { validateCryptoKey } from "./key-DX8vK9hC.js";
9
+ import { doubleKnock } from "./http-CHM0y3Xk.js";
10
10
  import { getLogger } from "@logtape/logtape";
11
11
 
12
12
  //#region runtime/authdocloader.ts
@@ -2,9 +2,9 @@
2
2
  import { Temporal } from "@js-temporal/polyfill";
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
 
5
- import { UrlError, createRequest, getRemoteDocument, logRequest, validatePublicUrl } from "./docloader-BaHyTL_k.js";
6
- import { validateCryptoKey } from "./key-BbVPNqxi.js";
7
- import { doubleKnock } from "./http-C0iTDVRU.js";
5
+ import { UrlError, createRequest, getRemoteDocument, logRequest, validatePublicUrl } from "./docloader-D7T9Rjc3.js";
6
+ import { validateCryptoKey } from "./key-D2PRsZ3N.js";
7
+ import { doubleKnock } from "./http-Ca-7bMO9.js";
8
8
  import { getLogger } from "@logtape/logtape";
9
9
 
10
10
  //#region runtime/authdocloader.ts
@@ -3,10 +3,10 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { deno_default } from "./docloader-CZtt5bKC.js";
6
+ import { deno_default } from "./docloader-C4AU11wI.js";
7
7
  import { Router, RouterError } from "./router-D3UybECj.js";
8
8
  import { getTypeId } from "./type-D2s5lmbZ.js";
9
- import { InboxListenerSet } from "./inbox-C8SK35L6.js";
9
+ import { InboxListenerSet } from "./inbox-BWf2svgk.js";
10
10
  import { getLogger } from "@logtape/logtape";
11
11
  import { SpanKind, SpanStatusCode, trace } from "@opentelemetry/api";
12
12
 
@@ -34,7 +34,7 @@ var FederationBuilderImpl = class {
34
34
  this.objectTypeIds = {};
35
35
  }
36
36
  async build(options) {
37
- const { FederationImpl } = await import("./middleware-DOyG_Fxq.js");
37
+ const { FederationImpl } = await import("./middleware-BVy2C_8C.js");
38
38
  const f = new FederationImpl(options);
39
39
  const trailingSlashInsensitiveValue = f.router.trailingSlashInsensitive;
40
40
  f.router = this.router.clone();
@@ -3,7 +3,7 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { getUserAgent } from "./docloader-CZtt5bKC.js";
6
+ import { getUserAgent } from "./docloader-C4AU11wI.js";
7
7
  import { parseSemVer } from "./semver-DWClQt_5.js";
8
8
  import { getLogger } from "@logtape/logtape";
9
9
 
@@ -5,11 +5,11 @@ import "../docloader-BeCtcTOJ.js";
5
5
  import "../client-BQ4AQGKo.js";
6
6
  import "../vocab-By6mpzr-.js";
7
7
  import "../actor-B4TBtqRP.js";
8
- import "../http-CP2ZUALI.js";
8
+ import "../http-D1uoUH4N.js";
9
9
  import "../owner-CEv_PfyK.js";
10
10
  import "../mod-BFwgZ7_K.js";
11
11
  import "../lookup-J_m4YZg0.js";
12
- import { ActivityTransformer } from "../context-CrSyJrIa.js";
12
+ import { ActivityTransformer } from "../context-B6mUZhs_.js";
13
13
  import "../mq-DYKDDJmp.js";
14
- import { actorDehydrator, autoIdAssigner, getDefaultActivityTransformers } from "../mod-DpE8T10I.js";
14
+ import { actorDehydrator, autoIdAssigner, getDefaultActivityTransformers } from "../mod-D9qE4iHP.js";
15
15
  export { ActivityTransformer, actorDehydrator, autoIdAssigner, getDefaultActivityTransformers };
@@ -7,32 +7,32 @@ import { assertEquals } from "../assert_equals-C5gKCm6A.js";
7
7
  import { assert } from "../assert-DwEa6glZ.js";
8
8
  import { assertInstanceOf } from "../assert_instance_of-C9QtN-X9.js";
9
9
  import { MemoryKvStore } from "../kv-D7Yt6pnB.js";
10
- import { FederationImpl, actorDehydrator, autoIdAssigner } from "../middleware-Cx7PzWQ-.js";
11
- import "../docloader-CZtt5bKC.js";
10
+ import { FederationImpl, actorDehydrator, autoIdAssigner } from "../middleware-B2bxnfXH.js";
11
+ import "../docloader-C4AU11wI.js";
12
12
  import "../url-kTAI6_KP.js";
13
13
  import "../semver-DWClQt_5.js";
14
- import "../client-Dlp5vXyk.js";
14
+ import "../client-CP4GNyj2.js";
15
15
  import "../router-D3UybECj.js";
16
16
  import "../types-C7C_l-jz.js";
17
17
  import "../multibase-DeCHcK8L.js";
18
- import { Follow, Person } from "../vocab-Bbt7Qver.js";
18
+ import { Follow, Person } from "../vocab-Cwr8wyIv.js";
19
19
  import "../langstr-DbWheeIS.js";
20
- import "../lookup-BEu4BWoB.js";
20
+ import "../lookup-dYdQ35AZ.js";
21
21
  import "../type-D2s5lmbZ.js";
22
- import "../actor-B8aniAg7.js";
23
- import "../key-CnaXDbNU.js";
24
- import "../http-BZYcajQd.js";
25
- import "../authdocloader-CCFNDgQC.js";
26
- import "../ld-CgZuygXg.js";
27
- import "../owner-D0pCp853.js";
28
- import "../proof-Qigm6KKz.js";
29
- import "../lookup-uTX8Y6_c.js";
30
- import "../inbox-C8SK35L6.js";
31
- import "../builder-CyhGxhyN.js";
22
+ import "../actor-DVErbLrM.js";
23
+ import "../key-DX8vK9hC.js";
24
+ import "../http-CHM0y3Xk.js";
25
+ import "../authdocloader-DPZH9Zxv.js";
26
+ import "../ld-Nubf9uTh.js";
27
+ import "../owner-CkxG1zOL.js";
28
+ import "../proof-CSnIckAt.js";
29
+ import "../lookup-EF88t1Wo.js";
30
+ import "../inbox-BWf2svgk.js";
31
+ import "../builder-BEYXb-rJ.js";
32
32
  import "../collection-Dfb0TPno.js";
33
- import "../keycache-D9xRlkpl.js";
33
+ import "../keycache-BkCbVqQw.js";
34
34
  import "../retry-BiIhZWgD.js";
35
- import "../send-eoQysTgr.js";
35
+ import "../send-6GSSkKGA.js";
36
36
  import { test } from "../testing-BZ0dJ4qn.js";
37
37
 
38
38
  //#region compat/transformers.test.ts
@@ -4,8 +4,8 @@
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
6
  import { RouterError } from "./router-D3UybECj.js";
7
- import { lookupWebFinger } from "./lookup-BEu4BWoB.js";
8
- import { lookupObject, traverseCollection } from "./lookup-uTX8Y6_c.js";
7
+ import { lookupWebFinger } from "./lookup-dYdQ35AZ.js";
8
+ import { lookupObject, traverseCollection } from "./lookup-EF88t1Wo.js";
9
9
  import { mockDocumentLoader } from "./docloader-09nVWLAZ.js";
10
10
  import { trace } from "@opentelemetry/api";
11
11
 
@@ -5,7 +5,7 @@ import { AuthenticatedDocumentLoaderFactory, DocumentLoader, DocumentLoaderFacto
5
5
  import { GetNodeInfoOptions, JsonValue, NodeInfo } from "./client-BQ4AQGKo.js";
6
6
  import { Activity, Collection, CryptographicKey, Hashtag, Link, Multikey, Object as Object$1 } from "./vocab-By6mpzr-.js";
7
7
  import { Actor, Recipient } from "./actor-B4TBtqRP.js";
8
- import { HttpMessageSignaturesSpec } from "./http-CP2ZUALI.js";
8
+ import { HttpMessageSignaturesSpec } from "./http-D1uoUH4N.js";
9
9
  import { GetKeyOwnerOptions } from "./owner-CEv_PfyK.js";
10
10
  import { LookupObjectOptions, TraverseCollectionOptions } from "./mod-BFwgZ7_K.js";
11
11
  import { LookupWebFingerOptions, ResourceDescriptor } from "./lookup-J_m4YZg0.js";
@@ -10,7 +10,7 @@ import process from "node:process";
10
10
 
11
11
  //#region deno.json
12
12
  var name = "@fedify/fedify";
13
- var version = "1.8.0-pr.299.1007+f751a43d";
13
+ var version = "1.8.0-pr.300.1010+6ca08953";
14
14
  var license = "MIT";
15
15
  var exports = {
16
16
  ".": "./mod.ts",
@@ -10,7 +10,7 @@ import { isIP } from "node:net";
10
10
 
11
11
  //#region deno.json
12
12
  var name = "@fedify/fedify";
13
- var version = "1.8.0-pr.299.1007+f751a43d";
13
+ var version = "1.8.0-pr.300.1010+6ca08953";
14
14
  var license = "MIT";
15
15
  var exports = {
16
16
  ".": "./mod.ts",
@@ -7,16 +7,16 @@ import { assertEquals } from "../assert_equals-C5gKCm6A.js";
7
7
  import "../assert-DwEa6glZ.js";
8
8
  import "../assert_instance_of-C9QtN-X9.js";
9
9
  import { MemoryKvStore } from "../kv-D7Yt6pnB.js";
10
- import "../docloader-CZtt5bKC.js";
10
+ import "../docloader-C4AU11wI.js";
11
11
  import "../url-kTAI6_KP.js";
12
12
  import { parseSemVer } from "../semver-DWClQt_5.js";
13
13
  import "../router-D3UybECj.js";
14
14
  import "../multibase-DeCHcK8L.js";
15
- import { Activity, Note, Person } from "../vocab-Bbt7Qver.js";
15
+ import { Activity, Note, Person } from "../vocab-Cwr8wyIv.js";
16
16
  import "../langstr-DbWheeIS.js";
17
17
  import "../type-D2s5lmbZ.js";
18
- import "../inbox-C8SK35L6.js";
19
- import { createFederationBuilder } from "../builder-CyhGxhyN.js";
18
+ import "../inbox-BWf2svgk.js";
19
+ import { createFederationBuilder } from "../builder-BEYXb-rJ.js";
20
20
  import { test } from "../testing-BZ0dJ4qn.js";
21
21
  import { assertExists } from "../std__assert-B3iAixc-.js";
22
22
  import "../assert_rejects-DceVjUlD.js";
@@ -7,32 +7,32 @@ import { assertEquals } from "../assert_equals-C5gKCm6A.js";
7
7
  import { assert } from "../assert-DwEa6glZ.js";
8
8
  import "../assert_instance_of-C9QtN-X9.js";
9
9
  import { MemoryKvStore } from "../kv-D7Yt6pnB.js";
10
- import { acceptsJsonLd, createFederation, handleActor, handleCollection, handleInbox, handleObject, respondWithObject, respondWithObjectIfAcceptable } from "../middleware-Cx7PzWQ-.js";
11
- import "../docloader-CZtt5bKC.js";
10
+ import { acceptsJsonLd, createFederation, handleActor, handleCollection, handleInbox, handleObject, respondWithObject, respondWithObjectIfAcceptable } from "../middleware-B2bxnfXH.js";
11
+ import "../docloader-C4AU11wI.js";
12
12
  import "../url-kTAI6_KP.js";
13
13
  import "../semver-DWClQt_5.js";
14
- import "../client-Dlp5vXyk.js";
14
+ import "../client-CP4GNyj2.js";
15
15
  import "../router-D3UybECj.js";
16
16
  import "../types-C7C_l-jz.js";
17
17
  import "../multibase-DeCHcK8L.js";
18
- import { Create, Note, Person } from "../vocab-Bbt7Qver.js";
18
+ import { Create, Note, Person } from "../vocab-Cwr8wyIv.js";
19
19
  import "../langstr-DbWheeIS.js";
20
- import "../lookup-BEu4BWoB.js";
20
+ import "../lookup-dYdQ35AZ.js";
21
21
  import "../type-D2s5lmbZ.js";
22
- import "../actor-B8aniAg7.js";
23
- import "../key-CnaXDbNU.js";
24
- import { signRequest } from "../http-BZYcajQd.js";
25
- import "../authdocloader-CCFNDgQC.js";
26
- import "../ld-CgZuygXg.js";
27
- import "../owner-D0pCp853.js";
28
- import "../proof-Qigm6KKz.js";
29
- import "../lookup-uTX8Y6_c.js";
30
- import "../inbox-C8SK35L6.js";
31
- import "../builder-CyhGxhyN.js";
22
+ import "../actor-DVErbLrM.js";
23
+ import "../key-DX8vK9hC.js";
24
+ import { signRequest } from "../http-CHM0y3Xk.js";
25
+ import "../authdocloader-DPZH9Zxv.js";
26
+ import "../ld-Nubf9uTh.js";
27
+ import "../owner-CkxG1zOL.js";
28
+ import "../proof-CSnIckAt.js";
29
+ import "../lookup-EF88t1Wo.js";
30
+ import "../inbox-BWf2svgk.js";
31
+ import "../builder-BEYXb-rJ.js";
32
32
  import "../collection-Dfb0TPno.js";
33
- import "../keycache-D9xRlkpl.js";
33
+ import "../keycache-BkCbVqQw.js";
34
34
  import "../retry-BiIhZWgD.js";
35
- import "../send-eoQysTgr.js";
35
+ import "../send-6GSSkKGA.js";
36
36
  import { test } from "../testing-BZ0dJ4qn.js";
37
37
  import "../std__assert-B3iAixc-.js";
38
38
  import { assertFalse } from "../assert_rejects-DceVjUlD.js";
@@ -40,8 +40,8 @@ import "../assert_is_error-DQdKoRgb.js";
40
40
  import "../assert_not_equals-7pyUM3Ib.js";
41
41
  import "../assert_throws-DTDC_gwN.js";
42
42
  import { mockDocumentLoader } from "../docloader-09nVWLAZ.js";
43
- import { createInboxContext, createRequestContext } from "../context-DTOCk8LL.js";
44
- import { rsaPrivateKey3, rsaPublicKey2, rsaPublicKey3 } from "../keys-D3uTr1UC.js";
43
+ import { createInboxContext, createRequestContext } from "../context-1H5Ljjei.js";
44
+ import { rsaPrivateKey3, rsaPublicKey2, rsaPublicKey3 } from "../keys-C_pG5ijW.js";
45
45
 
46
46
  //#region federation/handler.test.ts
47
47
  test("acceptsJsonLd()", () => {
@@ -4,13 +4,13 @@
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
6
  import { assertEquals } from "../assert_equals-C5gKCm6A.js";
7
- import "../docloader-CZtt5bKC.js";
7
+ import "../docloader-C4AU11wI.js";
8
8
  import "../url-kTAI6_KP.js";
9
9
  import "../multibase-DeCHcK8L.js";
10
- import { Activity, Create, Invite, Offer, Update } from "../vocab-Bbt7Qver.js";
10
+ import { Activity, Create, Invite, Offer, Update } from "../vocab-Cwr8wyIv.js";
11
11
  import "../langstr-DbWheeIS.js";
12
12
  import "../type-D2s5lmbZ.js";
13
- import { InboxListenerSet } from "../inbox-C8SK35L6.js";
13
+ import { InboxListenerSet } from "../inbox-BWf2svgk.js";
14
14
  import { test } from "../testing-BZ0dJ4qn.js";
15
15
  import "../assert_is_error-DQdKoRgb.js";
16
16
  import { assertThrows } from "../assert_throws-DTDC_gwN.js";
@@ -7,12 +7,12 @@ import { assertEquals } from "../assert_equals-C5gKCm6A.js";
7
7
  import { assert } from "../assert-DwEa6glZ.js";
8
8
  import { assertInstanceOf } from "../assert_instance_of-C9QtN-X9.js";
9
9
  import { MemoryKvStore } from "../kv-D7Yt6pnB.js";
10
- import "../docloader-CZtt5bKC.js";
10
+ import "../docloader-C4AU11wI.js";
11
11
  import "../url-kTAI6_KP.js";
12
12
  import "../multibase-DeCHcK8L.js";
13
- import { CryptographicKey, Multikey } from "../vocab-Bbt7Qver.js";
13
+ import { CryptographicKey, Multikey } from "../vocab-Cwr8wyIv.js";
14
14
  import "../langstr-DbWheeIS.js";
15
- import { KvKeyCache } from "../keycache-D9xRlkpl.js";
15
+ import { KvKeyCache } from "../keycache-BkCbVqQw.js";
16
16
  import { test } from "../testing-BZ0dJ4qn.js";
17
17
 
18
18
  //#region federation/keycache.test.ts
@@ -7,32 +7,32 @@ import { assertEquals } from "../assert_equals-C5gKCm6A.js";
7
7
  import { assert } from "../assert-DwEa6glZ.js";
8
8
  import { assertInstanceOf } from "../assert_instance_of-C9QtN-X9.js";
9
9
  import { MemoryKvStore } from "../kv-D7Yt6pnB.js";
10
- import { ContextImpl, FederationImpl, InboxContextImpl, KvSpecDeterminer, createFederation } from "../middleware-Cx7PzWQ-.js";
11
- import { FetchError, fetchDocumentLoader } from "../docloader-CZtt5bKC.js";
10
+ import { ContextImpl, FederationImpl, InboxContextImpl, KvSpecDeterminer, createFederation } from "../middleware-B2bxnfXH.js";
11
+ import { FetchError, fetchDocumentLoader } from "../docloader-C4AU11wI.js";
12
12
  import "../url-kTAI6_KP.js";
13
13
  import "../semver-DWClQt_5.js";
14
- import "../client-Dlp5vXyk.js";
14
+ import "../client-CP4GNyj2.js";
15
15
  import { RouterError } from "../router-D3UybECj.js";
16
16
  import "../types-C7C_l-jz.js";
17
17
  import "../multibase-DeCHcK8L.js";
18
- import { Activity, Announce, Create, Invite, Multikey, Note, Object as Object$1, Offer, Person } from "../vocab-Bbt7Qver.js";
18
+ import { Activity, Announce, Create, Invite, Multikey, Note, Object as Object$1, Offer, Person } from "../vocab-Cwr8wyIv.js";
19
19
  import "../langstr-DbWheeIS.js";
20
- import "../lookup-BEu4BWoB.js";
20
+ import "../lookup-dYdQ35AZ.js";
21
21
  import { getTypeId } from "../type-D2s5lmbZ.js";
22
- import "../actor-B8aniAg7.js";
23
- import "../key-CnaXDbNU.js";
24
- import { signRequest, verifyRequest } from "../http-BZYcajQd.js";
25
- import { getAuthenticatedDocumentLoader } from "../authdocloader-CCFNDgQC.js";
26
- import { detachSignature, signJsonLd, verifyJsonLd } from "../ld-CgZuygXg.js";
27
- import { doesActorOwnKey } from "../owner-D0pCp853.js";
28
- import { signObject, verifyObject } from "../proof-Qigm6KKz.js";
29
- import { lookupObject } from "../lookup-uTX8Y6_c.js";
30
- import "../inbox-C8SK35L6.js";
31
- import "../builder-CyhGxhyN.js";
22
+ import "../actor-DVErbLrM.js";
23
+ import "../key-DX8vK9hC.js";
24
+ import { signRequest, verifyRequest } from "../http-CHM0y3Xk.js";
25
+ import { getAuthenticatedDocumentLoader } from "../authdocloader-DPZH9Zxv.js";
26
+ import { detachSignature, signJsonLd, verifyJsonLd } from "../ld-Nubf9uTh.js";
27
+ import { doesActorOwnKey } from "../owner-CkxG1zOL.js";
28
+ import { signObject, verifyObject } from "../proof-CSnIckAt.js";
29
+ import { lookupObject } from "../lookup-EF88t1Wo.js";
30
+ import "../inbox-BWf2svgk.js";
31
+ import "../builder-BEYXb-rJ.js";
32
32
  import "../collection-Dfb0TPno.js";
33
- import "../keycache-D9xRlkpl.js";
33
+ import "../keycache-BkCbVqQw.js";
34
34
  import "../retry-BiIhZWgD.js";
35
- import "../send-eoQysTgr.js";
35
+ import "../send-6GSSkKGA.js";
36
36
  import { test } from "../testing-BZ0dJ4qn.js";
37
37
  import { assertStrictEquals } from "../std__assert-B3iAixc-.js";
38
38
  import { assertFalse, assertRejects } from "../assert_rejects-DceVjUlD.js";
@@ -40,7 +40,7 @@ import "../assert_is_error-DQdKoRgb.js";
40
40
  import { assertNotEquals } from "../assert_not_equals-7pyUM3Ib.js";
41
41
  import { assertThrows } from "../assert_throws-DTDC_gwN.js";
42
42
  import { mockDocumentLoader } from "../docloader-09nVWLAZ.js";
43
- import { ed25519Multikey, ed25519PrivateKey, ed25519PublicKey, rsaPrivateKey2, rsaPrivateKey3, rsaPublicKey2, rsaPublicKey3 } from "../keys-D3uTr1UC.js";
43
+ import { ed25519Multikey, ed25519PrivateKey, ed25519PublicKey, rsaPrivateKey2, rsaPrivateKey3, rsaPublicKey2, rsaPublicKey3 } from "../keys-C_pG5ijW.js";
44
44
  import { esm_default } from "../esm-d-9EVGaP.js";
45
45
 
46
46
  //#region testing/fixtures/example.com/person.json
@@ -5,11 +5,11 @@ import "../docloader-BeCtcTOJ.js";
5
5
  import "../client-BQ4AQGKo.js";
6
6
  import "../vocab-By6mpzr-.js";
7
7
  import "../actor-B4TBtqRP.js";
8
- import "../http-CP2ZUALI.js";
8
+ import "../http-D1uoUH4N.js";
9
9
  import "../owner-CEv_PfyK.js";
10
10
  import "../mod-BFwgZ7_K.js";
11
11
  import "../lookup-J_m4YZg0.js";
12
- import { ActorAliasMapper, ActorCallbackSetters, ActorDispatcher, ActorHandleMapper, ActorKeyPair, ActorKeyPairsDispatcher, AuthorizePredicate, CollectionCallbackSetters, CollectionCounter, CollectionCursor, CollectionDispatcher, Context, CreateExponentialBackoffPolicyOptions, CreateFederationOptions, Federatable, Federation, FederationBuilder, FederationFetchOptions, FederationKvPrefixes, FederationOptions, FederationOrigin, FederationQueueOptions, FederationStartQueueOptions, ForwardActivityOptions, GetSignedKeyOptions, InboxContext, InboxErrorHandler, InboxListener, InboxListenerSetters, Message, NodeInfoDispatcher, ObjectAuthorizePredicate, ObjectCallbackSetters, ObjectDispatcher, OutboxErrorHandler, PageItems, ParseUriResult, RequestContext, RespondWithObjectOptions, RetryContext, RetryPolicy, RouteActivityOptions, Router, RouterError, RouterOptions, RouterRouteResult, SendActivityOptions, SendActivityOptionsForCollection, SenderKeyPair, SharedInboxKeyDispatcher, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, digest, respondWithObject, respondWithObjectIfAcceptable } from "../context-CrSyJrIa.js";
12
+ import { ActorAliasMapper, ActorCallbackSetters, ActorDispatcher, ActorHandleMapper, ActorKeyPair, ActorKeyPairsDispatcher, AuthorizePredicate, CollectionCallbackSetters, CollectionCounter, CollectionCursor, CollectionDispatcher, Context, CreateExponentialBackoffPolicyOptions, CreateFederationOptions, Federatable, Federation, FederationBuilder, FederationFetchOptions, FederationKvPrefixes, FederationOptions, FederationOrigin, FederationQueueOptions, FederationStartQueueOptions, ForwardActivityOptions, GetSignedKeyOptions, InboxContext, InboxErrorHandler, InboxListener, InboxListenerSetters, Message, NodeInfoDispatcher, ObjectAuthorizePredicate, ObjectCallbackSetters, ObjectDispatcher, OutboxErrorHandler, PageItems, ParseUriResult, RequestContext, RespondWithObjectOptions, RetryContext, RetryPolicy, RouteActivityOptions, Router, RouterError, RouterOptions, RouterRouteResult, SendActivityOptions, SendActivityOptionsForCollection, SenderKeyPair, SharedInboxKeyDispatcher, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, digest, respondWithObject, respondWithObjectIfAcceptable } from "../context-B6mUZhs_.js";
13
13
  import { InProcessMessageQueue, InProcessMessageQueueOptions, MessageQueue, MessageQueueEnqueueOptions, MessageQueueListenOptions, ParallelMessageQueue } from "../mq-DYKDDJmp.js";
14
14
  import "../mod-g0xFzAP9.js";
15
15
  export { ActorAliasMapper, ActorCallbackSetters, ActorDispatcher, ActorHandleMapper, ActorKeyPair, ActorKeyPairsDispatcher, AuthorizePredicate, CollectionCallbackSetters, CollectionCounter, CollectionCursor, CollectionDispatcher, Context, CreateExponentialBackoffPolicyOptions, CreateFederationOptions, Federatable, Federation, FederationBuilder, FederationFetchOptions, FederationKvPrefixes, FederationOptions, FederationOrigin, FederationQueueOptions, FederationStartQueueOptions, ForwardActivityOptions, GetSignedKeyOptions, InProcessMessageQueue, InProcessMessageQueueOptions, InboxContext, InboxErrorHandler, InboxListener, InboxListenerSetters, KvKey, KvStore, KvStoreSetOptions, MemoryKvStore, Message, MessageQueue, MessageQueueEnqueueOptions, MessageQueueListenOptions, NodeInfoDispatcher, ObjectAuthorizePredicate, ObjectCallbackSetters, ObjectDispatcher, OutboxErrorHandler, PageItems, ParallelMessageQueue, ParseUriResult, RequestContext, RespondWithObjectOptions, RetryContext, RetryPolicy, RouteActivityOptions, Router, RouterError, RouterOptions, RouterRouteResult, SendActivityOptions, SendActivityOptionsForCollection, SenderKeyPair, SharedInboxKeyDispatcher, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, digest, respondWithObject, respondWithObjectIfAcceptable };
@@ -3,16 +3,16 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
 
5
5
  import "../transformers-ghwJuzGY.js";
6
- import "../docloader-BaHyTL_k.js";
7
- import "../actor-CyN-vMEz.js";
8
- import { Router, RouterError, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, digest, respondWithObject, respondWithObjectIfAcceptable } from "../middleware-m-T0T-A7.js";
9
- import "../lookup-pql0S7o4.js";
10
- import "../key-BbVPNqxi.js";
11
- import "../http-C0iTDVRU.js";
12
- import "../proof-KxV6FTop.js";
6
+ import "../docloader-D7T9Rjc3.js";
7
+ import "../actor-CCqoG6Kg.js";
8
+ import { Router, RouterError, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, digest, respondWithObject, respondWithObjectIfAcceptable } from "../middleware-i3EBSaDG.js";
9
+ import "../lookup-Cz7Wo58w.js";
10
+ import "../key-D2PRsZ3N.js";
11
+ import "../http-Ca-7bMO9.js";
12
+ import "../proof-DXRhLSY5.js";
13
13
  import { InProcessMessageQueue, MemoryKvStore, ParallelMessageQueue } from "../federation-C44ekWNP.js";
14
- import "../types-DLvHb1O3.js";
15
- import "../authdocloader-BAh-s1OX.js";
16
- import "../vocab-By1FqQDs.js";
14
+ import "../types-DRywLxYe.js";
15
+ import "../authdocloader-WYCAL-3S.js";
16
+ import "../vocab-EhOgT0NZ.js";
17
17
 
18
18
  export { InProcessMessageQueue, MemoryKvStore, ParallelMessageQueue, Router, RouterError, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, digest, respondWithObject, respondWithObjectIfAcceptable };
@@ -6,18 +6,18 @@
6
6
  import { assertEquals } from "../assert_equals-C5gKCm6A.js";
7
7
  import { assert } from "../assert-DwEa6glZ.js";
8
8
  import "../assert_instance_of-C9QtN-X9.js";
9
- import "../docloader-CZtt5bKC.js";
9
+ import "../docloader-C4AU11wI.js";
10
10
  import "../url-kTAI6_KP.js";
11
11
  import "../multibase-DeCHcK8L.js";
12
- import { Activity, Application, Endpoints, Group, Person, Service } from "../vocab-Bbt7Qver.js";
12
+ import { Activity, Application, Endpoints, Group, Person, Service } from "../vocab-Cwr8wyIv.js";
13
13
  import "../langstr-DbWheeIS.js";
14
- import "../lookup-BEu4BWoB.js";
14
+ import "../lookup-dYdQ35AZ.js";
15
15
  import "../type-D2s5lmbZ.js";
16
- import "../actor-B8aniAg7.js";
17
- import "../key-CnaXDbNU.js";
18
- import { verifyRequest } from "../http-BZYcajQd.js";
19
- import { doesActorOwnKey } from "../owner-D0pCp853.js";
20
- import { extractInboxes, sendActivity } from "../send-eoQysTgr.js";
16
+ import "../actor-DVErbLrM.js";
17
+ import "../key-DX8vK9hC.js";
18
+ import { verifyRequest } from "../http-CHM0y3Xk.js";
19
+ import { doesActorOwnKey } from "../owner-CkxG1zOL.js";
20
+ import { extractInboxes, sendActivity } from "../send-6GSSkKGA.js";
21
21
  import { test } from "../testing-BZ0dJ4qn.js";
22
22
  import "../std__assert-B3iAixc-.js";
23
23
  import { assertFalse, assertRejects } from "../assert_rejects-DceVjUlD.js";
@@ -25,7 +25,7 @@ import "../assert_is_error-DQdKoRgb.js";
25
25
  import { assertNotEquals } from "../assert_not_equals-7pyUM3Ib.js";
26
26
  import "../assert_throws-DTDC_gwN.js";
27
27
  import { mockDocumentLoader } from "../docloader-09nVWLAZ.js";
28
- import { ed25519Multikey, ed25519PrivateKey, rsaPrivateKey2, rsaPublicKey2 } from "../keys-D3uTr1UC.js";
28
+ import { ed25519Multikey, ed25519PrivateKey, rsaPrivateKey2, rsaPublicKey2 } from "../keys-C_pG5ijW.js";
29
29
  import { esm_default } from "../esm-d-9EVGaP.js";
30
30
 
31
31
  //#region federation/send.test.ts
@@ -3,9 +3,9 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { deno_default } from "./docloader-CZtt5bKC.js";
7
- import { CryptographicKey } from "./vocab-Bbt7Qver.js";
8
- import { fetchKey, validateCryptoKey } from "./key-CnaXDbNU.js";
6
+ import { deno_default } from "./docloader-C4AU11wI.js";
7
+ import { CryptographicKey } from "./vocab-Cwr8wyIv.js";
8
+ import { fetchKey, validateCryptoKey } from "./key-DX8vK9hC.js";
9
9
  import { getLogger } from "@logtape/logtape";
10
10
  import { SpanStatusCode, trace } from "@opentelemetry/api";
11
11
  import { ATTR_HTTP_REQUEST_HEADER, ATTR_HTTP_REQUEST_METHOD, ATTR_URL_FULL } from "@opentelemetry/semantic-conventions";
@@ -31,8 +31,8 @@ async function signRequest(request, privateKey, keyId, options = {}) {
31
31
  try {
32
32
  const spec = options.spec ?? "draft-cavage-http-signatures-12";
33
33
  let signed;
34
- if (spec === "rfc9421") signed = await signRequestRfc9421(request, privateKey, keyId, span, options.currentTime);
35
- else signed = await signRequestDraft(request, privateKey, keyId, span, options.currentTime);
34
+ if (spec === "rfc9421") signed = await signRequestRfc9421(request, privateKey, keyId, span, options.currentTime, options.body);
35
+ else signed = await signRequestDraft(request, privateKey, keyId, span, options.currentTime, options.body);
36
36
  if (span.isRecording()) {
37
37
  span.setAttribute(ATTR_HTTP_REQUEST_METHOD, signed.method);
38
38
  span.setAttribute(ATTR_URL_FULL, signed.url);
@@ -51,10 +51,10 @@ async function signRequest(request, privateKey, keyId, options = {}) {
51
51
  }
52
52
  });
53
53
  }
54
- async function signRequestDraft(request, privateKey, keyId, span, currentTime) {
54
+ async function signRequestDraft(request, privateKey, keyId, span, currentTime, bodyBuffer) {
55
55
  if (privateKey.algorithm.name !== "RSASSA-PKCS1-v1_5") throw new TypeError("Unsupported algorithm: " + privateKey.algorithm.name);
56
56
  const url = new URL(request.url);
57
- const body = request.method !== "GET" && request.method !== "HEAD" ? await request.clone().arrayBuffer() : null;
57
+ const body = bodyBuffer !== void 0 ? bodyBuffer : request.method !== "GET" && request.method !== "HEAD" ? await request.clone().arrayBuffer() : null;
58
58
  const headers = new Headers(request.headers);
59
59
  if (!headers.has("Host")) headers.set("Host", url.host);
60
60
  if (!headers.has("Digest") && body != null) {
@@ -185,10 +185,10 @@ function parseRfc9421Signature(signature) {
185
185
  for (const [key, value] of Object.entries(dict)) if (value.value instanceof Uint8Array) result[key] = value.value;
186
186
  return result;
187
187
  }
188
- async function signRequestRfc9421(request, privateKey, keyId, span, currentTime) {
188
+ async function signRequestRfc9421(request, privateKey, keyId, span, currentTime, bodyBuffer) {
189
189
  if (privateKey.algorithm.name !== "RSASSA-PKCS1-v1_5") throw new TypeError("Unsupported algorithm: " + privateKey.algorithm.name);
190
190
  const url = new URL(request.url);
191
- const body = request.method !== "GET" && request.method !== "HEAD" ? await request.clone().arrayBuffer() : null;
191
+ const body = bodyBuffer !== void 0 ? bodyBuffer : request.method !== "GET" && request.method !== "HEAD" ? await request.clone().arrayBuffer() : null;
192
192
  const headers = new Headers(request.headers);
193
193
  if (!headers.has("Host")) headers.set("Host", url.host);
194
194
  if (!headers.has("Content-Digest") && body != null) {
@@ -645,6 +645,29 @@ async function verifyRequestRfc9421(request, span, { documentLoader, contextLoad
645
645
  return validKey;
646
646
  }
647
647
  /**
648
+ * Helper function to create a new Request for redirect handling.
649
+ * @param request The original request.
650
+ * @param location The redirect location.
651
+ * @param body The request body as ArrayBuffer or null.
652
+ * @returns A new Request object for the redirect.
653
+ */
654
+ function createRedirectRequest(request, location, body) {
655
+ return new Request(location, {
656
+ method: request.method,
657
+ headers: request.headers,
658
+ body,
659
+ redirect: "manual",
660
+ signal: request.signal,
661
+ mode: request.mode,
662
+ credentials: request.credentials,
663
+ referrer: request.referrer,
664
+ referrerPolicy: request.referrerPolicy,
665
+ integrity: request.integrity,
666
+ keepalive: request.keepalive,
667
+ cache: request.cache
668
+ });
669
+ }
670
+ /**
648
671
  * Performs a double-knock request to the given URL. For the details of
649
672
  * double-knocking, see
650
673
  * <https://swicg.github.io/activitypub-http-signature/#how-to-upgrade-supported-versions>.
@@ -658,28 +681,20 @@ async function doubleKnock(request, identity, options = {}) {
658
681
  const { specDeterminer, log, tracerProvider } = options;
659
682
  const origin = new URL(request.url).origin;
660
683
  const firstTrySpec = specDeterminer == null ? "rfc9421" : await specDeterminer.determineSpec(origin);
684
+ const body = options.body !== void 0 ? options.body : request.method !== "GET" && request.method !== "HEAD" ? await request.clone().arrayBuffer() : null;
661
685
  let signedRequest = await signRequest(request, identity.privateKey, identity.keyId, {
662
686
  spec: firstTrySpec,
663
- tracerProvider
687
+ tracerProvider,
688
+ body
664
689
  });
665
690
  log?.(signedRequest);
666
691
  let response = await fetch(signedRequest, { redirect: "manual" });
667
692
  if (response.status >= 300 && response.status < 400 && response.headers.has("Location")) {
668
693
  const location = response.headers.get("Location");
669
- const body = request.method !== "GET" && request.method !== "HEAD" ? await request.clone().arrayBuffer() : void 0;
670
- return doubleKnock(new Request(location, {
671
- method: request.method,
672
- headers: request.headers,
673
- body,
674
- redirect: "manual",
675
- signal: request.signal,
676
- mode: request.mode,
677
- credentials: request.credentials,
678
- referrer: request.referrer,
679
- referrerPolicy: request.referrerPolicy,
680
- integrity: request.integrity,
681
- keepalive: request.keepalive
682
- }), identity, options);
694
+ return doubleKnock(createRedirectRequest(request, location, body), identity, {
695
+ ...options,
696
+ body
697
+ });
683
698
  } else if (response.status === 400 || response.status === 401 || response.status > 401) {
684
699
  const spec = firstTrySpec === "draft-cavage-http-signatures-12" ? "rfc9421" : "draft-cavage-http-signatures-12";
685
700
  getLogger([
@@ -694,17 +709,17 @@ async function doubleKnock(request, identity, options = {}) {
694
709
  });
695
710
  signedRequest = await signRequest(request, identity.privateKey, identity.keyId, {
696
711
  spec,
697
- tracerProvider
712
+ tracerProvider,
713
+ body
698
714
  });
699
715
  log?.(signedRequest);
700
716
  response = await fetch(signedRequest, { redirect: "manual" });
701
717
  if (response.status >= 300 && response.status < 400 && response.headers.has("Location")) {
702
718
  const location = response.headers.get("Location");
703
- const body = request.method !== "GET" && request.method !== "HEAD" ? request.clone().body : null;
704
- return doubleKnock(new Request(location, {
705
- ...request,
719
+ return doubleKnock(createRedirectRequest(request, location, body), identity, {
720
+ ...options,
706
721
  body
707
- }), identity, options);
722
+ });
708
723
  } else if (response.status !== 400 && response.status !== 401) await specDeterminer?.rememberSpec(origin, spec);
709
724
  } else await specDeterminer?.rememberSpec(origin, firstTrySpec);
710
725
  return response;