@fedify/fedify 1.8.1-pr.315.1091 → 1.8.1-pr.315.1275

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 (203) hide show
  1. package/README.md +16 -10
  2. package/dist/{actor-C_d9cZrz.js → actor-B9oI1pGu.js} +2 -5
  3. package/dist/{actor-1rvS-py8.d.ts → actor-CYyhXZHp.d.ts} +3 -3
  4. package/dist/{actor-DLZ25ttS.js → actor-Cg2FBINf.js} +189 -189
  5. package/dist/{assert-DwEa6glZ.js → assert-MZs1qjMx.js} +2 -2
  6. package/dist/{assert_equals-C5gKCm6A.js → assert_equals-DSbWqCm3.js} +9 -9
  7. package/dist/{assert_instance_of-C9QtN-X9.js → assert_instance_of-DHz7EHNU.js} +2 -2
  8. package/dist/{assert_is_error-DQdKoRgb.js → assert_is_error-BPGph1Jx.js} +2 -2
  9. package/dist/{assert_not_equals-7pyUM3Ib.js → assert_not_equals-f3m3epl3.js} +2 -2
  10. package/dist/{assert_rejects-DceVjUlD.js → assert_rejects-DiIiJbZn.js} +4 -4
  11. package/dist/{assert_throws-DTDC_gwN.js → assert_throws-BOO88avQ.js} +3 -3
  12. package/dist/{authdocloader-CLixqGPW.js → authdocloader-0urt38S6.js} +4 -4
  13. package/dist/{authdocloader-DUnUXs5R.js → authdocloader-BkwhwBf_.js} +4 -5
  14. package/dist/{builder-Js_TKEl1.js → builder-B-wZuoFJ.js} +75 -6
  15. package/dist/{client-DK4qnXK0.d.ts → client-B_KFjN3D.d.ts} +4 -4
  16. package/dist/{client-Cu9HMcIJ.js → client-Cr3DvU-q.js} +3 -3
  17. package/dist/{collection-Dfb0TPno.js → collection-CSzG2j1P.js} +1 -1
  18. package/dist/compat/mod.d.ts +12 -12
  19. package/dist/compat/mod.js +1 -1
  20. package/dist/compat/transformers.test.js +25 -32
  21. package/dist/{context-BhO5LP_t.d.ts → context-BRl3Ndz3.d.ts} +286 -73
  22. package/dist/{denokv-QWKsIqML.js → denokv-2x6-IpXO.js} +1 -1
  23. package/dist/{docloader-BindvZ7y.js → docloader-BLgRerm3.js} +41 -40
  24. package/dist/{docloader-DtGccyuM.d.ts → docloader-DJT1UZH4.d.ts} +5 -2
  25. package/dist/{esm-d-9EVGaP.js → esm-CRotYXVH.js} +15 -15
  26. package/dist/federation/builder.test.js +35 -21
  27. package/dist/federation/collection.test.js +13 -11
  28. package/dist/federation/handler.test.js +341 -40
  29. package/dist/federation/inbox.test.js +8 -12
  30. package/dist/federation/keycache.test.js +9 -12
  31. package/dist/federation/kv.test.js +13 -11
  32. package/dist/federation/middleware.test.js +65 -42
  33. package/dist/federation/mod.d.ts +12 -12
  34. package/dist/federation/mod.js +12 -12
  35. package/dist/federation/mq.test.js +15 -13
  36. package/dist/federation/retry.test.js +7 -5
  37. package/dist/federation/router.test.js +12 -11
  38. package/dist/federation/send.test.js +19 -25
  39. package/dist/{federation-C44ekWNP.js → federation-CMX7WzeL.js} +2 -2
  40. package/dist/{http-BigTqmE7.js → http-BkzChfDi.js} +5 -5
  41. package/dist/{http-Cp-0z2Ja.d.ts → http-CMfQwn0N.d.ts} +6 -6
  42. package/dist/{http-DIyD7he1.js → http-g01-ecph.js} +6 -5
  43. package/dist/{inbox-BB6ajp8P.js → inbox-CpONbSbQ.js} +2 -4
  44. package/dist/{key-D9LuuzMv.js → key-B9Yg9Nqz.js} +4 -5
  45. package/dist/{key-BfI9Ju0m.js → key-C3aLobhY.js} +4 -4
  46. package/dist/{key-DlkWX5Fp.js → key-DdT7xoLD.js} +4 -4
  47. package/dist/key-RnJPgo1m.js +10 -0
  48. package/dist/{keycache-C4C7f09E.js → keycache-BvyhLLHV.js} +2 -2
  49. package/dist/{keys-BjET3ZIs.js → keys-BRSTnUlp.js} +2 -2
  50. package/dist/{kv-DDdb1hMa.d.ts → kv-C7sopW2E.d.ts} +2 -2
  51. package/dist/{kv-D7Yt6pnB.js → kv-CRZrzyXm.js} +1 -1
  52. package/dist/{ld-CYqXYuyr.js → ld-i6KANj32.js} +3 -5
  53. package/dist/{lookup-BYiP0j0F.js → lookup-BGA_VdZm.js} +115 -8
  54. package/dist/{lookup-_XgQq_BY.js → lookup-D5NvwwsS.js} +2 -2
  55. package/dist/{lookup-m3U6KA0u.d.ts → lookup-DXPWo3Hz.d.ts} +3 -3
  56. package/dist/{middleware-e74I4DJ9.js → middleware-BdFHk7bB.js} +629 -24
  57. package/dist/{middleware-VSdfWI3m.js → middleware-Chh21-S_.js} +563 -32
  58. package/dist/middleware-DEwSbDYQ.js +26 -0
  59. package/dist/middleware-DyY-_2Np.js +17 -0
  60. package/dist/{mod-c1I-Ydch.d.ts → mod-Cozftwmt.d.ts} +4 -4
  61. package/dist/{mod-yPzXIjJX.d.ts → mod-DHoWcUrW.d.ts} +6 -6
  62. package/dist/{mod-nlVEnYuj.d.ts → mod-DyY7EVjn.d.ts} +6 -6
  63. package/dist/{mod-BqCBztub.d.ts → mod-DyvbAsBu.d.ts} +6 -6
  64. package/dist/mod.d.ts +15 -15
  65. package/dist/mod.js +12 -12
  66. package/dist/{mq-DYKDDJmp.d.ts → mq-CRGm1e_F.d.ts} +1 -1
  67. package/dist/nodeinfo/client.test.js +15 -15
  68. package/dist/nodeinfo/handler.test.js +30 -39
  69. package/dist/nodeinfo/mod.d.ts +3 -3
  70. package/dist/nodeinfo/mod.js +2 -2
  71. package/dist/nodeinfo/semver.test.js +13 -11
  72. package/dist/nodeinfo/types.test.js +14 -12
  73. package/dist/{owner-BK4eWKBp.d.ts → owner-CfnEgfAc.d.ts} +4 -4
  74. package/dist/{owner-D7RvVquY.js → owner-DSr0c3Yp.js} +3 -4
  75. package/dist/{proof-D4z1cLgw.js → proof-B83O-qBN.js} +4 -6
  76. package/dist/{proof-ChRSmA_D.js → proof-a4fXDkG3.js} +7 -7
  77. package/dist/{retry-BiIhZWgD.js → retry-D4GJ670a.js} +1 -1
  78. package/dist/runtime/authdocloader.test.js +18 -24
  79. package/dist/runtime/docloader.test.js +14 -15
  80. package/dist/runtime/key.test.js +14 -19
  81. package/dist/runtime/langstr.test.js +12 -11
  82. package/dist/runtime/mod.d.ts +5 -5
  83. package/dist/runtime/mod.js +6 -6
  84. package/dist/runtime/multibase/multibase.test.js +12 -11
  85. package/dist/runtime/url.test.js +8 -7
  86. package/dist/{semver-DWClQt_5.js → semver-dArNLkR9.js} +1 -1
  87. package/dist/{send-DmlRAY0X.js → send-QRloWueE.js} +3 -3
  88. package/dist/sig/http.test.js +40 -23
  89. package/dist/sig/key.test.js +15 -21
  90. package/dist/sig/ld.test.js +13 -19
  91. package/dist/sig/mod.d.ts +7 -7
  92. package/dist/sig/mod.js +6 -6
  93. package/dist/sig/owner.test.js +16 -23
  94. package/dist/sig/proof.test.js +16 -22
  95. package/dist/{std__assert-B3iAixc-.js → std__assert-X-_kMxKM.js} +6 -6
  96. package/dist/testing/docloader.test.js +12 -11
  97. package/dist/testing/mod.d.ts +8622 -2
  98. package/dist/testing/mod.js +4 -2
  99. package/dist/testing-A4u9tSVX.js +302 -0
  100. package/dist/{transformers-ghwJuzGY.js → transformers-Dna8Fg7k.js} +4 -4
  101. package/dist/{vocab-dw0HG0EQ.js → type-DHDlfpLg.js} +5246 -185
  102. package/dist/{types-C7C_l-jz.js → types-BIgY6c-l.js} +2 -2
  103. package/dist/{types-DuZ6KMHu.js → types-DbFIDnXK.js} +4 -4
  104. package/dist/vocab/actor.test.js +143 -149
  105. package/dist/vocab/lookup.test.js +13 -20
  106. package/dist/vocab/mod.d.ts +5 -5
  107. package/dist/vocab/mod.js +4 -4
  108. package/dist/vocab/type.test.js +5 -9
  109. package/dist/vocab/vocab.test.js +54 -58
  110. package/dist/{vocab-CI5oydJj.js → vocab-DN6Plgg2.js} +6 -6
  111. package/dist/{vocab-B52eQhpN.d.ts → vocab-KgaI50mH.d.ts} +3 -3
  112. package/dist/webfinger/handler.test.js +30 -39
  113. package/dist/webfinger/lookup.test.js +13 -14
  114. package/dist/webfinger/mod.d.ts +3 -3
  115. package/dist/webfinger/mod.js +2 -2
  116. package/dist/x/cfworkers.d.ts +3 -3
  117. package/dist/x/cfworkers.js +1 -1
  118. package/dist/x/cfworkers.test.js +13 -11
  119. package/dist/x/hono.d.ts +16 -16
  120. package/dist/x/hono.js +3 -3
  121. package/dist/x/sveltekit.d.ts +13 -13
  122. package/dist/x/sveltekit.js +2 -2
  123. package/package.json +3 -3
  124. package/dist/chunk-HsBuZ-b2.js +0 -41
  125. package/dist/context-CXi1nrZE.js +0 -108
  126. package/dist/docloader-Bh-sDknx.js +0 -68
  127. package/dist/docloader-CJ7eOrpZ.js +0 -4514
  128. package/dist/key-DG7lKWv0.js +0 -16
  129. package/dist/langstr-DbWheeIS.js +0 -33
  130. package/dist/lookup-CEbB0_t_.js +0 -133
  131. package/dist/middleware-Dd2mc8-e.js +0 -33
  132. package/dist/middleware-DjA978L0.js +0 -17
  133. package/dist/multibase-DeCHcK8L.js +0 -316
  134. package/dist/router-D3UybECj.js +0 -118
  135. package/dist/testing-BZ0dJ4qn.js +0 -143
  136. package/dist/type-D2s5lmbZ.js +0 -14
  137. package/dist/url-kTAI6_KP.js +0 -68
  138. /package/dist/{vocab → src/vocab}/accept.yaml +0 -0
  139. /package/dist/{vocab → src/vocab}/activity.yaml +0 -0
  140. /package/dist/{vocab → src/vocab}/add.yaml +0 -0
  141. /package/dist/{vocab → src/vocab}/announce.yaml +0 -0
  142. /package/dist/{vocab → src/vocab}/application.yaml +0 -0
  143. /package/dist/{vocab → src/vocab}/arrive.yaml +0 -0
  144. /package/dist/{vocab → src/vocab}/article.yaml +0 -0
  145. /package/dist/{vocab → src/vocab}/audio.yaml +0 -0
  146. /package/dist/{vocab → src/vocab}/block.yaml +0 -0
  147. /package/dist/{vocab → src/vocab}/chatmessage.yaml +0 -0
  148. /package/dist/{vocab → src/vocab}/collection.yaml +0 -0
  149. /package/dist/{vocab → src/vocab}/collectionpage.yaml +0 -0
  150. /package/dist/{vocab → src/vocab}/create.yaml +0 -0
  151. /package/dist/{vocab → src/vocab}/dataintegrityproof.yaml +0 -0
  152. /package/dist/{vocab → src/vocab}/delete.yaml +0 -0
  153. /package/dist/{vocab → src/vocab}/didservice.yaml +0 -0
  154. /package/dist/{vocab → src/vocab}/dislike.yaml +0 -0
  155. /package/dist/{vocab → src/vocab}/document.yaml +0 -0
  156. /package/dist/{vocab → src/vocab}/emoji.yaml +0 -0
  157. /package/dist/{vocab → src/vocab}/emojireact.yaml +0 -0
  158. /package/dist/{vocab → src/vocab}/endpoints.yaml +0 -0
  159. /package/dist/{vocab → src/vocab}/event.yaml +0 -0
  160. /package/dist/{vocab → src/vocab}/export.yaml +0 -0
  161. /package/dist/{vocab → src/vocab}/flag.yaml +0 -0
  162. /package/dist/{vocab → src/vocab}/follow.yaml +0 -0
  163. /package/dist/{vocab → src/vocab}/group.yaml +0 -0
  164. /package/dist/{vocab → src/vocab}/hashtag.yaml +0 -0
  165. /package/dist/{vocab → src/vocab}/ignore.yaml +0 -0
  166. /package/dist/{vocab → src/vocab}/image.yaml +0 -0
  167. /package/dist/{vocab → src/vocab}/intransitiveactivity.yaml +0 -0
  168. /package/dist/{vocab → src/vocab}/invite.yaml +0 -0
  169. /package/dist/{vocab → src/vocab}/join.yaml +0 -0
  170. /package/dist/{vocab → src/vocab}/key.yaml +0 -0
  171. /package/dist/{vocab → src/vocab}/leave.yaml +0 -0
  172. /package/dist/{vocab → src/vocab}/like.yaml +0 -0
  173. /package/dist/{vocab → src/vocab}/link.yaml +0 -0
  174. /package/dist/{vocab → src/vocab}/listen.yaml +0 -0
  175. /package/dist/{vocab → src/vocab}/mention.yaml +0 -0
  176. /package/dist/{vocab → src/vocab}/move.yaml +0 -0
  177. /package/dist/{vocab → src/vocab}/multikey.yaml +0 -0
  178. /package/dist/{vocab → src/vocab}/note.yaml +0 -0
  179. /package/dist/{vocab → src/vocab}/object.yaml +0 -0
  180. /package/dist/{vocab → src/vocab}/offer.yaml +0 -0
  181. /package/dist/{vocab → src/vocab}/orderedcollection.yaml +0 -0
  182. /package/dist/{vocab → src/vocab}/orderedcollectionpage.yaml +0 -0
  183. /package/dist/{vocab → src/vocab}/organization.yaml +0 -0
  184. /package/dist/{vocab → src/vocab}/page.yaml +0 -0
  185. /package/dist/{vocab → src/vocab}/person.yaml +0 -0
  186. /package/dist/{vocab → src/vocab}/place.yaml +0 -0
  187. /package/dist/{vocab → src/vocab}/profile.yaml +0 -0
  188. /package/dist/{vocab → src/vocab}/propertyvalue.yaml +0 -0
  189. /package/dist/{vocab → src/vocab}/question.yaml +0 -0
  190. /package/dist/{vocab → src/vocab}/read.yaml +0 -0
  191. /package/dist/{vocab → src/vocab}/reject.yaml +0 -0
  192. /package/dist/{vocab → src/vocab}/relationship.yaml +0 -0
  193. /package/dist/{vocab → src/vocab}/remove.yaml +0 -0
  194. /package/dist/{vocab → src/vocab}/service.yaml +0 -0
  195. /package/dist/{vocab → src/vocab}/source.yaml +0 -0
  196. /package/dist/{vocab → src/vocab}/tentativeaccept.yaml +0 -0
  197. /package/dist/{vocab → src/vocab}/tentativereject.yaml +0 -0
  198. /package/dist/{vocab → src/vocab}/tombstone.yaml +0 -0
  199. /package/dist/{vocab → src/vocab}/travel.yaml +0 -0
  200. /package/dist/{vocab → src/vocab}/undo.yaml +0 -0
  201. /package/dist/{vocab → src/vocab}/update.yaml +0 -0
  202. /package/dist/{vocab → src/vocab}/video.yaml +0 -0
  203. /package/dist/{vocab → src/vocab}/view.yaml +0 -0
@@ -3,9 +3,9 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { AssertionError } from "./assert_equals-C5gKCm6A.js";
6
+ import { AssertionError } from "./assert_equals-DSbWqCm3.js";
7
7
 
8
- //#region ../node_modules/.pnpm/@jsr+std__assert@0.226.0/node_modules/@jsr/std__assert/assert.js
8
+ //#region ../../node_modules/.pnpm/@jsr+std__assert@0.226.0/node_modules/@jsr/std__assert/assert.js
9
9
  /**
10
10
  * Make an assertion, error will be thrown if `expr` does not have truthy value.
11
11
  *
@@ -3,7 +3,7 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- //#region ../node_modules/.pnpm/@jsr+std__assert@0.226.0/node_modules/@jsr/std__assert/assertion_error.js
6
+ //#region ../../node_modules/.pnpm/@jsr+std__assert@0.226.0/node_modules/@jsr/std__assert/assertion_error.js
7
7
  /**
8
8
  * Error thrown when an assertion fails.
9
9
  *
@@ -31,7 +31,7 @@
31
31
  };
32
32
 
33
33
  //#endregion
34
- //#region ../node_modules/.pnpm/@jsr+std__assert@0.226.0/node_modules/@jsr/std__assert/equal.js
34
+ //#region ../../node_modules/.pnpm/@jsr+std__assert@0.226.0/node_modules/@jsr/std__assert/equal.js
35
35
  function isKeyedCollection(x) {
36
36
  return [Symbol.iterator, "size"].every((k) => k in x);
37
37
  }
@@ -105,7 +105,7 @@ function constructorsEqual(a, b) {
105
105
  }
106
106
 
107
107
  //#endregion
108
- //#region ../node_modules/.pnpm/@jsr+std__internal@1.0.8/node_modules/@jsr/std__internal/assertion_state.js
108
+ //#region ../../node_modules/.pnpm/@jsr+std__internal@1.0.8/node_modules/@jsr/std__internal/assertion_state.js
109
109
  /**
110
110
  * Check the test suite internal state
111
111
  *
@@ -284,7 +284,7 @@ function constructorsEqual(a, b) {
284
284
  const assertionState = new AssertionState();
285
285
 
286
286
  //#endregion
287
- //#region ../node_modules/.pnpm/@jsr+std__internal@1.0.8/node_modules/@jsr/std__internal/styles.js
287
+ //#region ../../node_modules/.pnpm/@jsr+std__internal@1.0.8/node_modules/@jsr/std__internal/styles.js
288
288
  const { Deno } = globalThis;
289
289
  const noColor = typeof Deno?.noColor === "boolean" ? Deno.noColor : false;
290
290
  const enabled = !noColor;
@@ -451,7 +451,7 @@ const ANSI_PATTERN = new RegExp(["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-z
451
451
  }
452
452
 
453
453
  //#endregion
454
- //#region ../node_modules/.pnpm/@jsr+std__internal@1.0.8/node_modules/@jsr/std__internal/build_message.js
454
+ //#region ../../node_modules/.pnpm/@jsr+std__internal@1.0.8/node_modules/@jsr/std__internal/build_message.js
455
455
  /**
456
456
  * Colors the output of assertion diffs.
457
457
  *
@@ -545,7 +545,7 @@ const ANSI_PATTERN = new RegExp(["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-z
545
545
  }
546
546
 
547
547
  //#endregion
548
- //#region ../node_modules/.pnpm/@jsr+std__internal@1.0.8/node_modules/@jsr/std__internal/diff.js
548
+ //#region ../../node_modules/.pnpm/@jsr+std__internal@1.0.8/node_modules/@jsr/std__internal/diff.js
549
549
  const REMOVED = 1;
550
550
  const COMMON = 2;
551
551
  const ADDED = 3;
@@ -814,7 +814,7 @@ const ADDED = 3;
814
814
  }
815
815
 
816
816
  //#endregion
817
- //#region ../node_modules/.pnpm/@jsr+std__internal@1.0.8/node_modules/@jsr/std__internal/diff_str.js
817
+ //#region ../../node_modules/.pnpm/@jsr+std__internal@1.0.8/node_modules/@jsr/std__internal/diff_str.js
818
818
  /**
819
819
  * Unescape invisible characters.
820
820
  *
@@ -955,7 +955,7 @@ const NON_WHITESPACE_REGEXP = /\S/;
955
955
  }
956
956
 
957
957
  //#endregion
958
- //#region ../node_modules/.pnpm/@jsr+std__internal@1.0.8/node_modules/@jsr/std__internal/format.js
958
+ //#region ../../node_modules/.pnpm/@jsr+std__internal@1.0.8/node_modules/@jsr/std__internal/format.js
959
959
  /**
960
960
  * Converts the input into a string. Objects, Sets and Maps are sorted so as to
961
961
  * make tests less flaky.
@@ -987,7 +987,7 @@ const NON_WHITESPACE_REGEXP = /\S/;
987
987
  }
988
988
 
989
989
  //#endregion
990
- //#region ../node_modules/.pnpm/@jsr+std__assert@0.226.0/node_modules/@jsr/std__assert/assert_equals.js
990
+ //#region ../../node_modules/.pnpm/@jsr+std__assert@0.226.0/node_modules/@jsr/std__assert/assert_equals.js
991
991
  /**
992
992
  * Make an assertion that `actual` and `expected` are equal, deeply. If not
993
993
  * deeply equal, then throw.
@@ -3,9 +3,9 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { AssertionError } from "./assert_equals-C5gKCm6A.js";
6
+ import { AssertionError } from "./assert_equals-DSbWqCm3.js";
7
7
 
8
- //#region ../node_modules/.pnpm/@jsr+std__assert@0.226.0/node_modules/@jsr/std__assert/assert_instance_of.js
8
+ //#region ../../node_modules/.pnpm/@jsr+std__assert@0.226.0/node_modules/@jsr/std__assert/assert_instance_of.js
9
9
  /**
10
10
  * Make an assertion that `obj` is an instance of `type`.
11
11
  * If not then throw.
@@ -3,9 +3,9 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { AssertionError, stripAnsiCode } from "./assert_equals-C5gKCm6A.js";
6
+ import { AssertionError, stripAnsiCode } from "./assert_equals-DSbWqCm3.js";
7
7
 
8
- //#region ../node_modules/.pnpm/@jsr+std__assert@0.226.0/node_modules/@jsr/std__assert/assert_is_error.js
8
+ //#region ../../node_modules/.pnpm/@jsr+std__assert@0.226.0/node_modules/@jsr/std__assert/assert_is_error.js
9
9
  /**
10
10
  * Make an assertion that `error` is an `Error`.
11
11
  * If not then an error will be thrown.
@@ -3,9 +3,9 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { AssertionError, equal } from "./assert_equals-C5gKCm6A.js";
6
+ import { AssertionError, equal } from "./assert_equals-DSbWqCm3.js";
7
7
 
8
- //#region ../node_modules/.pnpm/@jsr+std__assert@0.226.0/node_modules/@jsr/std__assert/assert_not_equals.js
8
+ //#region ../../node_modules/.pnpm/@jsr+std__assert@0.226.0/node_modules/@jsr/std__assert/assert_not_equals.js
9
9
  /**
10
10
  * Make an assertion that `actual` and `expected` are not equal, deeply.
11
11
  * If not then throw.
@@ -3,10 +3,10 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { AssertionError } from "./assert_equals-C5gKCm6A.js";
7
- import { assertIsError } from "./assert_is_error-DQdKoRgb.js";
6
+ import { AssertionError } from "./assert_equals-DSbWqCm3.js";
7
+ import { assertIsError } from "./assert_is_error-BPGph1Jx.js";
8
8
 
9
- //#region ../node_modules/.pnpm/@jsr+std__assert@0.226.0/node_modules/@jsr/std__assert/assert_false.js
9
+ //#region ../../node_modules/.pnpm/@jsr+std__assert@0.226.0/node_modules/@jsr/std__assert/assert_false.js
10
10
  /**
11
11
  * Make an assertion, error will be thrown if `expr` have truthy value.
12
12
  *
@@ -25,7 +25,7 @@ import { assertIsError } from "./assert_is_error-DQdKoRgb.js";
25
25
  }
26
26
 
27
27
  //#endregion
28
- //#region ../node_modules/.pnpm/@jsr+std__assert@0.226.0/node_modules/@jsr/std__assert/assert_rejects.js
28
+ //#region ../../node_modules/.pnpm/@jsr+std__assert@0.226.0/node_modules/@jsr/std__assert/assert_rejects.js
29
29
  async function assertRejects(fn, errorClassOrMsg, msgIncludesOrMsg, msg) {
30
30
  let ErrorClass = void 0;
31
31
  let msgIncludes = void 0;
@@ -3,10 +3,10 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { AssertionError } from "./assert_equals-C5gKCm6A.js";
7
- import { assertIsError } from "./assert_is_error-DQdKoRgb.js";
6
+ import { AssertionError } from "./assert_equals-DSbWqCm3.js";
7
+ import { assertIsError } from "./assert_is_error-BPGph1Jx.js";
8
8
 
9
- //#region ../node_modules/.pnpm/@jsr+std__assert@0.226.0/node_modules/@jsr/std__assert/assert_throws.js
9
+ //#region ../../node_modules/.pnpm/@jsr+std__assert@0.226.0/node_modules/@jsr/std__assert/assert_throws.js
10
10
  function assertThrows(fn, errorClassOrMsg, msgIncludesOrMsg, msg) {
11
11
  let ErrorClass = void 0;
12
12
  let msgIncludes = void 0;
@@ -2,12 +2,12 @@
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-BindvZ7y.js";
6
- import { validateCryptoKey } from "./key-BfI9Ju0m.js";
7
- import { doubleKnock } from "./http-DIyD7he1.js";
5
+ import { UrlError, createRequest, getRemoteDocument, logRequest, validatePublicUrl } from "./docloader-BLgRerm3.js";
6
+ import { validateCryptoKey } from "./key-C3aLobhY.js";
7
+ import { doubleKnock } from "./http-g01-ecph.js";
8
8
  import { getLogger } from "@logtape/logtape";
9
9
 
10
- //#region runtime/authdocloader.ts
10
+ //#region src/runtime/authdocloader.ts
11
11
  const logger = getLogger([
12
12
  "fedify",
13
13
  "runtime",
@@ -3,13 +3,12 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { createRequest, getRemoteDocument, logRequest } from "./docloader-CJ7eOrpZ.js";
7
- import { UrlError, validatePublicUrl } from "./url-kTAI6_KP.js";
8
- import { validateCryptoKey } from "./key-D9LuuzMv.js";
9
- import { doubleKnock } from "./http-BigTqmE7.js";
6
+ import { UrlError, createRequest, getRemoteDocument, logRequest, validatePublicUrl } from "./type-DHDlfpLg.js";
7
+ import { validateCryptoKey } from "./key-B9Yg9Nqz.js";
8
+ import { doubleKnock } from "./http-BkzChfDi.js";
10
9
  import { getLogger } from "@logtape/logtape";
11
10
 
12
- //#region runtime/authdocloader.ts
11
+ //#region src/runtime/authdocloader.ts
13
12
  const logger = getLogger([
14
13
  "fedify",
15
14
  "runtime",
@@ -3,14 +3,13 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { deno_default } from "./docloader-CJ7eOrpZ.js";
7
- import { Router, RouterError } from "./router-D3UybECj.js";
8
- import { getTypeId } from "./type-D2s5lmbZ.js";
9
- import { InboxListenerSet } from "./inbox-BB6ajp8P.js";
6
+ import { deno_default, getTypeId } from "./type-DHDlfpLg.js";
7
+ import { Router, RouterError } from "./lookup-BGA_VdZm.js";
8
+ import { InboxListenerSet } from "./inbox-CpONbSbQ.js";
10
9
  import { getLogger } from "@logtape/logtape";
11
10
  import { SpanKind, SpanStatusCode, trace } from "@opentelemetry/api";
12
11
 
13
- //#region federation/builder.ts
12
+ //#region src/federation/builder.ts
14
13
  var FederationBuilderImpl = class {
15
14
  router;
16
15
  actorCallbacks;
@@ -28,13 +27,21 @@ var FederationBuilderImpl = class {
28
27
  inboxListeners;
29
28
  inboxErrorHandler;
30
29
  sharedInboxKeyDispatcher;
30
+ collectionTypeIds;
31
+ collectionCallbacks;
32
+ /**
33
+ * Symbol registry for unique identification of unnamed symbols.
34
+ */
35
+ #symbolRegistry = /* @__PURE__ */ new Map();
31
36
  constructor() {
32
37
  this.router = new Router();
33
38
  this.objectCallbacks = {};
34
39
  this.objectTypeIds = {};
40
+ this.collectionCallbacks = {};
41
+ this.collectionTypeIds = {};
35
42
  }
36
43
  async build(options) {
37
- const { FederationImpl } = await import("./middleware-Dd2mc8-e.js");
44
+ const { FederationImpl } = await import("./middleware-DEwSbDYQ.js");
38
45
  const f = new FederationImpl(options);
39
46
  const trailingSlashInsensitiveValue = f.router.trailingSlashInsensitive;
40
47
  f.router = this.router.clone();
@@ -478,6 +485,68 @@ var FederationBuilderImpl = class {
478
485
  };
479
486
  return setters;
480
487
  }
488
+ setCollectionDispatcher(name, ...args) {
489
+ return this.#setCustomCollectionDispatcher(name, "collection", ...args);
490
+ }
491
+ setOrderedCollectionDispatcher(name, ...args) {
492
+ return this.#setCustomCollectionDispatcher(name, "orderedCollection", ...args);
493
+ }
494
+ #setCustomCollectionDispatcher(name, collectionType, itemType, path, dispatcher) {
495
+ const strName = String(name);
496
+ const routeName = `${collectionType}:${this.#uniqueCollectionId(name)}`;
497
+ if (this.router.has(routeName)) throw new RouterError(`Collection dispatcher for ${strName} already set.`);
498
+ if (this.collectionCallbacks[name] != null) throw new RouterError(`Collection dispatcher for ${strName} already set.`);
499
+ const variables = this.router.add(path, routeName);
500
+ if (variables.size < 1) throw new RouterError("Path for collection dispatcher must have at least one variable.");
501
+ const callbacks = { dispatcher };
502
+ this.collectionCallbacks[name] = callbacks;
503
+ this.collectionTypeIds[name] = itemType;
504
+ const setters = {
505
+ setCounter(counter) {
506
+ callbacks.counter = counter;
507
+ return setters;
508
+ },
509
+ setFirstCursor(cursor) {
510
+ callbacks.firstCursor = cursor;
511
+ return setters;
512
+ },
513
+ setLastCursor(cursor) {
514
+ callbacks.lastCursor = cursor;
515
+ return setters;
516
+ },
517
+ authorize(predicate) {
518
+ callbacks.authorizePredicate = predicate;
519
+ return setters;
520
+ }
521
+ };
522
+ return setters;
523
+ }
524
+ /**
525
+ * Get the URL path for a custom collection.
526
+ * If the collection is not registered, returns null.
527
+ * @template TParam The parameter names of the requested URL.
528
+ * @param {string | symbol} name The name of the custom collection.
529
+ * @param {TParam} values The values to fill in the URL parameters.
530
+ * @returns {string | null} The URL path for the custom collection, or null if not registered.
531
+ */
532
+ getCollectionPath(name, values) {
533
+ if (!(name in this.collectionCallbacks)) return null;
534
+ const routeName = this.#uniqueCollectionId(name);
535
+ const path = this.router.build(`collection:${routeName}`, values) ?? this.router.build(`orderedCollection:${routeName}`, values);
536
+ return path;
537
+ }
538
+ /**
539
+ * Converts a name (string or symbol) to a unique string identifier.
540
+ * For symbols, generates and caches a UUID if not already present.
541
+ * For strings, returns the string as-is.
542
+ * @param name The name to convert to a unique identifier
543
+ * @returns A unique string identifier
544
+ */
545
+ #uniqueCollectionId(name) {
546
+ if (typeof name === "string") return name;
547
+ if (!this.#symbolRegistry.has(name)) this.#symbolRegistry.set(name, crypto.randomUUID());
548
+ return this.#symbolRegistry.get(name);
549
+ }
481
550
  };
482
551
  /**
483
552
  * Creates a new {@link FederationBuilder} instance.
@@ -1,8 +1,8 @@
1
1
  import { Temporal } from "@js-temporal/polyfill";
2
2
  import { URLPattern } from "urlpattern-polyfill";
3
- import { GetUserAgentOptions } from "./docloader-DtGccyuM.js";
3
+ import { GetUserAgentOptions } from "./docloader-DJT1UZH4.js";
4
4
 
5
- //#region nodeinfo/semver.d.ts
5
+ //#region src/nodeinfo/semver.d.ts
6
6
  /**
7
7
  * A SemVer object parsed into its constituent parts.
8
8
  * @since 1.2.0
@@ -73,7 +73,7 @@ declare function parseSemVer(value: string): SemVer;
73
73
  */
74
74
  declare function formatSemVer(version: SemVer): string;
75
75
  //#endregion
76
- //#region nodeinfo/types.d.ts
76
+ //#region src/nodeinfo/types.d.ts
77
77
  /**
78
78
  * The type of the result of parsing JSON.
79
79
  */
@@ -206,7 +206,7 @@ interface Usage {
206
206
  */
207
207
  declare function nodeInfoToJson(nodeInfo: NodeInfo): JsonValue;
208
208
  //#endregion
209
- //#region nodeinfo/client.d.ts
209
+ //#region src/nodeinfo/client.d.ts
210
210
  /**
211
211
  * Options for {@link getNodeInfo} function.
212
212
  * @since 1.2.0
@@ -3,11 +3,11 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { getUserAgent } from "./docloader-CJ7eOrpZ.js";
7
- import { parseSemVer } from "./semver-DWClQt_5.js";
6
+ import { getUserAgent } from "./type-DHDlfpLg.js";
7
+ import { parseSemVer } from "./semver-dArNLkR9.js";
8
8
  import { getLogger } from "@logtape/logtape";
9
9
 
10
- //#region nodeinfo/client.ts
10
+ //#region src/nodeinfo/client.ts
11
11
  const logger = getLogger([
12
12
  "fedify",
13
13
  "nodeinfo",
@@ -5,7 +5,7 @@
5
5
 
6
6
  import { encodeHex } from "byte-encodings/hex";
7
7
 
8
- //#region federation/collection.ts
8
+ //#region src/federation/collection.ts
9
9
  /**
10
10
  * Calculates the [partial follower collection digest][1].
11
11
  *
@@ -1,15 +1,15 @@
1
1
  import { Temporal } from "@js-temporal/polyfill";
2
2
  import { URLPattern } from "urlpattern-polyfill";
3
- import "../kv-DDdb1hMa.js";
4
- import "../docloader-DtGccyuM.js";
5
- import "../client-DK4qnXK0.js";
6
- import "../vocab-B52eQhpN.js";
7
- import "../actor-1rvS-py8.js";
8
- import "../http-Cp-0z2Ja.js";
9
- import "../owner-BK4eWKBp.js";
10
- import "../mod-BqCBztub.js";
11
- import "../lookup-m3U6KA0u.js";
12
- import { ActivityTransformer } from "../context-BhO5LP_t.js";
13
- import "../mq-DYKDDJmp.js";
14
- import { actorDehydrator, autoIdAssigner, getDefaultActivityTransformers } from "../mod-nlVEnYuj.js";
3
+ import "../kv-C7sopW2E.js";
4
+ import "../docloader-DJT1UZH4.js";
5
+ import "../client-B_KFjN3D.js";
6
+ import "../vocab-KgaI50mH.js";
7
+ import "../actor-CYyhXZHp.js";
8
+ import "../http-CMfQwn0N.js";
9
+ import "../owner-CfnEgfAc.js";
10
+ import "../mod-DyvbAsBu.js";
11
+ import "../lookup-DXPWo3Hz.js";
12
+ import { ActivityTransformer } from "../context-BRl3Ndz3.js";
13
+ import "../mq-CRGm1e_F.js";
14
+ import { actorDehydrator, autoIdAssigner, getDefaultActivityTransformers } from "../mod-DyY7EVjn.js";
15
15
  export { ActivityTransformer, actorDehydrator, autoIdAssigner, getDefaultActivityTransformers };
@@ -2,7 +2,7 @@
2
2
  import { Temporal } from "@js-temporal/polyfill";
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
 
5
- import { actorDehydrator, autoIdAssigner, getDefaultActivityTransformers } from "../transformers-ghwJuzGY.js";
5
+ import { actorDehydrator, autoIdAssigner, getDefaultActivityTransformers } from "../transformers-Dna8Fg7k.js";
6
6
  import "../compat-Bb5myD13.js";
7
7
 
8
8
  export { actorDehydrator, autoIdAssigner, getDefaultActivityTransformers };
@@ -3,39 +3,32 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { assertEquals } from "../assert_equals-C5gKCm6A.js";
7
- import { assert } from "../assert-DwEa6glZ.js";
8
- import { assertInstanceOf } from "../assert_instance_of-C9QtN-X9.js";
9
- import { MemoryKvStore } from "../kv-D7Yt6pnB.js";
10
- import { FederationImpl, actorDehydrator, autoIdAssigner } from "../middleware-VSdfWI3m.js";
11
- import "../docloader-CJ7eOrpZ.js";
12
- import "../url-kTAI6_KP.js";
13
- import "../semver-DWClQt_5.js";
14
- import "../client-Cu9HMcIJ.js";
15
- import "../router-D3UybECj.js";
16
- import "../types-C7C_l-jz.js";
17
- import "../multibase-DeCHcK8L.js";
18
- import { Follow, Person } from "../vocab-dw0HG0EQ.js";
19
- import "../langstr-DbWheeIS.js";
20
- import "../lookup-CEbB0_t_.js";
21
- import "../type-D2s5lmbZ.js";
22
- import "../actor-C_d9cZrz.js";
23
- import "../key-D9LuuzMv.js";
24
- import "../http-BigTqmE7.js";
25
- import "../authdocloader-DUnUXs5R.js";
26
- import "../ld-CYqXYuyr.js";
27
- import "../owner-D7RvVquY.js";
28
- import "../proof-D4z1cLgw.js";
29
- import "../lookup-BYiP0j0F.js";
30
- import "../inbox-BB6ajp8P.js";
31
- import "../builder-Js_TKEl1.js";
32
- import "../collection-Dfb0TPno.js";
33
- import "../keycache-C4C7f09E.js";
34
- import "../retry-BiIhZWgD.js";
35
- import "../send-DmlRAY0X.js";
36
- import { test } from "../testing-BZ0dJ4qn.js";
6
+ import { Follow, Person } from "../type-DHDlfpLg.js";
7
+ import { assertEquals } from "../assert_equals-DSbWqCm3.js";
8
+ import { assert } from "../assert-MZs1qjMx.js";
9
+ import { assertInstanceOf } from "../assert_instance_of-DHz7EHNU.js";
10
+ import { MemoryKvStore } from "../kv-CRZrzyXm.js";
11
+ import { FederationImpl, actorDehydrator, autoIdAssigner } from "../middleware-Chh21-S_.js";
12
+ import "../semver-dArNLkR9.js";
13
+ import "../client-Cr3DvU-q.js";
14
+ import "../lookup-BGA_VdZm.js";
15
+ import "../types-BIgY6c-l.js";
16
+ import "../actor-B9oI1pGu.js";
17
+ import "../key-B9Yg9Nqz.js";
18
+ import "../http-BkzChfDi.js";
19
+ import "../authdocloader-BkwhwBf_.js";
20
+ import "../ld-i6KANj32.js";
21
+ import "../owner-DSr0c3Yp.js";
22
+ import "../proof-B83O-qBN.js";
23
+ import "../inbox-CpONbSbQ.js";
24
+ import "../builder-B-wZuoFJ.js";
25
+ import "../collection-CSzG2j1P.js";
26
+ import "../keycache-BvyhLLHV.js";
27
+ import "../retry-D4GJ670a.js";
28
+ import "../send-QRloWueE.js";
29
+ import { test } from "../testing-A4u9tSVX.js";
37
30
 
38
- //#region compat/transformers.test.ts
31
+ //#region src/compat/transformers.test.ts
39
32
  const federation = new FederationImpl({ kv: new MemoryKvStore() });
40
33
  const context = federation.createContext(new URL("http://example.com/"));
41
34
  test("autoIdAssigner", async () => {