@fedify/fedify 1.10.0-dev.2 → 2.0.0-dev.12

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 (271) hide show
  1. package/README.md +3 -0
  2. package/dist/{actor-eIATKOh7.js → actor-C-FuEZU4.js} +220 -705
  3. package/dist/{actor-C1Euqngb.d.ts → actor-DqFajh9s.d.ts} +2 -2
  4. package/dist/{actor-8zynMl2a.cjs → actor-_9UN5RVT.cjs} +952 -1479
  5. package/dist/{actor-Ydzhc8dj.d.cts → actor-f2NtjyCg.d.cts} +2 -2
  6. package/dist/{actor-Bv7llTFW.js → actor-rOm0sXHU.js} +1 -1
  7. package/dist/{assert_rejects-DiIiJbZn.js → assert_rejects-Ce45JcFg.js} +1 -1
  8. package/dist/{assert_is_error-BPGph1Jx.js → assert_throws-BNXdRGWP.js} +31 -1
  9. package/dist/{builder-C7fApQY_.js → builder-hArjoWjW.js} +3 -4
  10. package/dist/{client-DjT_tegg.d.cts → client-94iWEfQa.d.cts} +3 -75
  11. package/dist/{client-DF8anIB5.d.ts → client-BsGzbnV-.d.ts} +3 -75
  12. package/dist/{client-Bwnrdh_A.js → client-pY7-3icS.js} +3 -22
  13. package/dist/compat/mod.d.cts +10 -12
  14. package/dist/compat/mod.d.ts +10 -12
  15. package/dist/compat/transformers.test.js +20 -20
  16. package/dist/{context-CwUAkopp.d.cts → context-PxGADCsD.d.cts} +152 -27
  17. package/dist/{context-CXUibY4L.d.ts → context-V-XS2_6O.d.ts} +152 -27
  18. package/dist/{authdocloader-TNeksncq.js → docloader-CE1lRhEV.js} +17 -8
  19. package/dist/{esm-aj4vkb76.js → esm-BEFbR5eN.js} +32 -17
  20. package/dist/federation/builder.test.js +9 -12
  21. package/dist/federation/collection.test.js +7 -9
  22. package/dist/federation/handler.test.js +28 -149
  23. package/dist/federation/idempotency.test.js +26 -27
  24. package/dist/federation/inbox.test.js +4 -6
  25. package/dist/federation/keycache.test.js +3 -4
  26. package/dist/federation/kv.test.js +6 -8
  27. package/dist/federation/middleware.test.js +270 -93
  28. package/dist/federation/mod.cjs +9 -11
  29. package/dist/federation/mod.d.cts +10 -12
  30. package/dist/federation/mod.d.ts +10 -12
  31. package/dist/federation/mod.js +9 -11
  32. package/dist/federation/mq.test.js +10 -10
  33. package/dist/federation/negotiation.test.js +26 -0
  34. package/dist/federation/retry.test.js +4 -5
  35. package/dist/federation/router.test.js +6 -8
  36. package/dist/federation/send.test.js +14 -16
  37. package/dist/{http-wsGR6KkT.d.ts → http-BbO0ejuk.d.ts} +2 -2
  38. package/dist/{http-DXmKLE1t.js → http-Bmx7ea3F.js} +2 -2
  39. package/dist/{http-B1_DzfAU.d.cts → http-M8k5mKc0.d.cts} +2 -2
  40. package/dist/{http-DMJrVRf0.js → http-Q_l4fCEE.js} +256 -6
  41. package/dist/{http-CK80ff9S.cjs → http-So5V_Tgv.cjs} +289 -9
  42. package/dist/{inbox-Dt-Q2rJt.js → inbox-B9PjFn2S.js} +2 -7
  43. package/dist/{key-Tt9B2Qkj.js → key-khQpfFdw.js} +3 -2
  44. package/dist/{keycache-CXF4YAON.js → keycache-BU3fsZFa.js} +1 -1
  45. package/dist/{keys-CAUbEZtV.js → keys-BaMFfIdL.js} +2 -1
  46. package/dist/kv-cache-DN9pfMBe.js +94 -0
  47. package/dist/kv-cache-R1oW382l.js +122 -0
  48. package/dist/kv-cache-X2ggcnHI.cjs +134 -0
  49. package/dist/{ld-CqoYKNwB.js → ld-BLMebnep.js} +3 -2
  50. package/dist/{type-E_91dusN.js → lookup-C7SSHgK7.js} +542 -5394
  51. package/dist/{lookup-BXlOCJsH.cjs → lookup-CLaDFNx1.cjs} +134 -5
  52. package/dist/{lookup-8Ik9lSMm.js → lookup-CtC3x1M6.js} +125 -2
  53. package/dist/middleware-BYBwqvTv.cjs +15 -0
  54. package/dist/{middleware-DnXc8LK4.js → middleware-Bda2JO66.js} +38 -84
  55. package/dist/{middleware-nSw7nWf8.js → middleware-C3ml59Hp.js} +43 -146
  56. package/dist/middleware-DC7h2qq-.js +26 -0
  57. package/dist/{middleware-bN29Orv5.cjs → middleware-DFLterpx.cjs} +58 -104
  58. package/dist/middleware-mQR2SM7T.js +15 -0
  59. package/dist/{mod-CDObsV1d.d.ts → mod-BlVovdcy.d.ts} +2 -2
  60. package/dist/{mod-mXx9V0q5.d.cts → mod-BoRKfJPE.d.cts} +2 -2
  61. package/dist/{mod-BUbqxBev.d.cts → mod-BxRCHTz-.d.cts} +2 -2
  62. package/dist/{mod-jQ4OODsl.d.cts → mod-C58MZ7Wx.d.cts} +1 -1
  63. package/dist/{mod-BcObK1Lz.d.ts → mod-Cdo6SYlJ.d.ts} +2 -2
  64. package/dist/{mod-DgcYoyZK.d.ts → mod-D5Z2tISD.d.ts} +3 -3
  65. package/dist/mod-DMpuiKXi.d.cts +107 -0
  66. package/dist/{mod-fjqfsrty.d.cts → mod-DgxG-byT.d.cts} +3 -3
  67. package/dist/{mod-DBzN0aCM.d.ts → mod-Ds0mpFZU.d.ts} +1 -1
  68. package/dist/mod-aAE2wOWV.d.ts +109 -0
  69. package/dist/mod.cjs +19 -34
  70. package/dist/mod.d.cts +15 -17
  71. package/dist/mod.d.ts +15 -17
  72. package/dist/mod.js +14 -16
  73. package/dist/negotiation-C4nFufNk.js +71 -0
  74. package/dist/nodeinfo/client.test.js +30 -111
  75. package/dist/nodeinfo/handler.test.js +25 -26
  76. package/dist/nodeinfo/mod.cjs +3 -6
  77. package/dist/nodeinfo/mod.d.cts +3 -5
  78. package/dist/nodeinfo/mod.d.ts +3 -5
  79. package/dist/nodeinfo/mod.js +3 -4
  80. package/dist/nodeinfo/types.test.js +8 -15
  81. package/dist/{owner-6KSEp9eV.d.cts → owner-B4HbyP8s.d.cts} +3 -3
  82. package/dist/{owner-9jSx_21P.js → owner-XzzTSr4S.js} +3 -2
  83. package/dist/{owner-BbeUDvOu.d.ts → owner-kQRGVXG1.d.ts} +3 -3
  84. package/dist/{proof-BT3OPhWQ.js → proof-B-qOSAuQ.js} +5 -4
  85. package/dist/{proof-BuLnngRI.cjs → proof-BzJkFBBF.cjs} +18 -17
  86. package/dist/{proof-B5YI7sn5.js → proof-C9sfVit1.js} +2 -2
  87. package/dist/{send-DlPE7bKe.js → send-yEkZlxzW.js} +2 -2
  88. package/dist/sig/http.test.js +12 -13
  89. package/dist/sig/key.test.js +9 -11
  90. package/dist/sig/ld.test.js +8 -10
  91. package/dist/sig/mod.cjs +9 -11
  92. package/dist/sig/mod.d.cts +5 -7
  93. package/dist/sig/mod.d.ts +5 -7
  94. package/dist/sig/mod.js +5 -7
  95. package/dist/sig/owner.test.js +11 -13
  96. package/dist/sig/proof.test.js +13 -14
  97. package/dist/src/vocab/accept.yaml +1 -1
  98. package/dist/src/vocab/activity.yaml +1 -1
  99. package/dist/src/vocab/add.yaml +1 -1
  100. package/dist/src/vocab/announce.yaml +1 -1
  101. package/dist/src/vocab/application.yaml +1 -1
  102. package/dist/src/vocab/arrive.yaml +1 -1
  103. package/dist/src/vocab/article.yaml +1 -1
  104. package/dist/src/vocab/audio.yaml +1 -1
  105. package/dist/src/vocab/block.yaml +1 -1
  106. package/dist/src/vocab/chatmessage.yaml +1 -1
  107. package/dist/src/vocab/collection.yaml +1 -1
  108. package/dist/src/vocab/collectionpage.yaml +1 -1
  109. package/dist/src/vocab/create.yaml +1 -1
  110. package/dist/src/vocab/dataintegrityproof.yaml +1 -1
  111. package/dist/src/vocab/delete.yaml +1 -1
  112. package/dist/src/vocab/didservice.yaml +1 -1
  113. package/dist/src/vocab/dislike.yaml +1 -1
  114. package/dist/src/vocab/document.yaml +1 -1
  115. package/dist/src/vocab/emoji.yaml +1 -1
  116. package/dist/src/vocab/emojireact.yaml +1 -1
  117. package/dist/src/vocab/endpoints.yaml +1 -1
  118. package/dist/src/vocab/event.yaml +1 -1
  119. package/dist/src/vocab/export.yaml +1 -1
  120. package/dist/src/vocab/flag.yaml +1 -1
  121. package/dist/src/vocab/follow.yaml +1 -1
  122. package/dist/src/vocab/group.yaml +1 -1
  123. package/dist/src/vocab/hashtag.yaml +1 -1
  124. package/dist/src/vocab/ignore.yaml +1 -1
  125. package/dist/src/vocab/image.yaml +1 -1
  126. package/dist/src/vocab/intransitiveactivity.yaml +1 -1
  127. package/dist/src/vocab/invite.yaml +1 -1
  128. package/dist/src/vocab/join.yaml +1 -1
  129. package/dist/src/vocab/key.yaml +1 -1
  130. package/dist/src/vocab/leave.yaml +1 -1
  131. package/dist/src/vocab/like.yaml +1 -1
  132. package/dist/src/vocab/link.yaml +1 -1
  133. package/dist/src/vocab/listen.yaml +1 -1
  134. package/dist/src/vocab/mention.yaml +1 -1
  135. package/dist/src/vocab/move.yaml +1 -1
  136. package/dist/src/vocab/multikey.yaml +1 -1
  137. package/dist/src/vocab/note.yaml +1 -1
  138. package/dist/src/vocab/object.yaml +1 -1
  139. package/dist/src/vocab/offer.yaml +1 -1
  140. package/dist/src/vocab/orderedcollection.yaml +1 -1
  141. package/dist/src/vocab/orderedcollectionpage.yaml +1 -1
  142. package/dist/src/vocab/organization.yaml +1 -1
  143. package/dist/src/vocab/page.yaml +1 -1
  144. package/dist/src/vocab/person.yaml +1 -1
  145. package/dist/src/vocab/place.yaml +1 -1
  146. package/dist/src/vocab/profile.yaml +1 -1
  147. package/dist/src/vocab/propertyvalue.yaml +1 -1
  148. package/dist/src/vocab/question.yaml +1 -1
  149. package/dist/src/vocab/read.yaml +1 -1
  150. package/dist/src/vocab/reject.yaml +1 -1
  151. package/dist/src/vocab/relationship.yaml +1 -1
  152. package/dist/src/vocab/remove.yaml +1 -1
  153. package/dist/src/vocab/service.yaml +1 -1
  154. package/dist/src/vocab/source.yaml +1 -1
  155. package/dist/src/vocab/tentativeaccept.yaml +1 -1
  156. package/dist/src/vocab/tentativereject.yaml +1 -1
  157. package/dist/src/vocab/tombstone.yaml +1 -1
  158. package/dist/src/vocab/travel.yaml +1 -1
  159. package/dist/src/vocab/undo.yaml +1 -1
  160. package/dist/src/vocab/update.yaml +1 -1
  161. package/dist/src/vocab/video.yaml +1 -1
  162. package/dist/src/vocab/view.yaml +1 -1
  163. package/dist/testing/docloader.test.js +6 -8
  164. package/dist/testing/mod.d.ts +10 -119
  165. package/dist/testing/mod.js +2 -3
  166. package/dist/{testing-B17zODFD.js → testing-D-nLIHkh.js} +1 -2
  167. package/dist/{types-By5LByL1.js → types-BtUjyi5y.js} +5 -166
  168. package/dist/{types-BIgY6c-l.js → types-C2XVl6gj.js} +1 -3
  169. package/dist/{types-Ci8XKEfO.cjs → types-CWgzGaqk.cjs} +6 -179
  170. package/dist/{runtime/authdocloader.test.js → utils/docloader.test.js} +14 -15
  171. package/dist/utils/kv-cache.test.js +209 -0
  172. package/dist/utils/mod.cjs +12 -0
  173. package/dist/utils/mod.d.cts +5 -0
  174. package/dist/utils/mod.d.ts +7 -0
  175. package/dist/utils/mod.js +11 -0
  176. package/dist/vocab/actor.test.js +8 -10
  177. package/dist/vocab/lookup.test.js +8 -10
  178. package/dist/vocab/mod.cjs +3 -4
  179. package/dist/vocab/mod.d.cts +3 -5
  180. package/dist/vocab/mod.d.ts +3 -5
  181. package/dist/vocab/mod.js +3 -4
  182. package/dist/vocab/type.test.js +2 -3
  183. package/dist/vocab/vocab.test.js +7618 -1973
  184. package/dist/{vocab-CDHNj5zp.d.ts → vocab-BCWe1Ih5.d.ts} +9 -25
  185. package/dist/{vocab-BjnZ49Xt.cjs → vocab-C96aggZM.cjs} +5 -5
  186. package/dist/{vocab-Cfs0937i.d.cts → vocab-CeDBzu-f.d.cts} +9 -25
  187. package/dist/{vocab-CthegyUc.js → vocab-axlR_8k0.js} +3 -3
  188. package/dist/webfinger/handler.test.js +24 -25
  189. package/dist/webfinger/lookup.test.js +7 -9
  190. package/dist/webfinger/mod.cjs +2 -3
  191. package/dist/webfinger/mod.d.cts +1 -3
  192. package/dist/webfinger/mod.d.ts +1 -3
  193. package/dist/webfinger/mod.js +2 -3
  194. package/package.json +20 -51
  195. package/dist/assert_throws-BOO88avQ.js +0 -39
  196. package/dist/authdocloader-BEPeTSD8.cjs +0 -58
  197. package/dist/authdocloader-BNIyrORx.js +0 -52
  198. package/dist/denokv-D0nfNQ1x.js +0 -57
  199. package/dist/docloader-CLYexeNv.js +0 -4825
  200. package/dist/docloader-CdsuyjrU.cjs +0 -4891
  201. package/dist/docloader-CxWcuWqQ.d.ts +0 -221
  202. package/dist/docloader-D-MrRyHl.d.cts +0 -219
  203. package/dist/key-BL8DRhuI.js +0 -10
  204. package/dist/key-BU1Vsq8S.cjs +0 -290
  205. package/dist/key-DTzAk78O.js +0 -10
  206. package/dist/key-DWDJFZzD.js +0 -260
  207. package/dist/key-gZEWdYwT.cjs +0 -10
  208. package/dist/lookup-Co4Y1ycg.js +0 -336
  209. package/dist/middleware-09gZVY21.cjs +0 -17
  210. package/dist/middleware-B8Q9c1ys.js +0 -26
  211. package/dist/middleware-DHUCp8iq.js +0 -17
  212. package/dist/mod-CIbqfZW0.d.ts +0 -104
  213. package/dist/mod-Dt-G9ZOS.d.cts +0 -102
  214. package/dist/mq-B7R1Q-M5.d.cts +0 -140
  215. package/dist/mq-CRGm1e_F.d.ts +0 -143
  216. package/dist/nodeinfo/semver.test.js +0 -143
  217. package/dist/runtime/docloader.test.js +0 -588
  218. package/dist/runtime/key.test.d.ts +0 -3
  219. package/dist/runtime/key.test.js +0 -103
  220. package/dist/runtime/langstr.test.d.ts +0 -3
  221. package/dist/runtime/langstr.test.js +0 -40
  222. package/dist/runtime/link.test.d.ts +0 -3
  223. package/dist/runtime/link.test.js +0 -61
  224. package/dist/runtime/mod.cjs +0 -25
  225. package/dist/runtime/mod.d.cts +0 -6
  226. package/dist/runtime/mod.d.ts +0 -8
  227. package/dist/runtime/mod.js +0 -13
  228. package/dist/runtime/multibase/multibase.test.d.ts +0 -3
  229. package/dist/runtime/multibase/multibase.test.js +0 -358
  230. package/dist/runtime/url.test.d.ts +0 -3
  231. package/dist/runtime/url.test.js +0 -45
  232. package/dist/semver-dArNLkR9.js +0 -149
  233. package/dist/vocab/schema.yaml +0 -247
  234. package/dist/x/cfworkers.cjs +0 -100
  235. package/dist/x/cfworkers.d.cts +0 -59
  236. package/dist/x/cfworkers.d.ts +0 -61
  237. package/dist/x/cfworkers.js +0 -98
  238. package/dist/x/cfworkers.test.d.ts +0 -3
  239. package/dist/x/cfworkers.test.js +0 -179
  240. package/dist/x/hono.cjs +0 -61
  241. package/dist/x/hono.d.cts +0 -54
  242. package/dist/x/hono.d.ts +0 -56
  243. package/dist/x/hono.js +0 -60
  244. package/dist/x/sveltekit.cjs +0 -69
  245. package/dist/x/sveltekit.d.cts +0 -46
  246. package/dist/x/sveltekit.d.ts +0 -48
  247. package/dist/x/sveltekit.js +0 -68
  248. /package/dist/{assert_not_equals-f3m3epl3.js → assert_not_equals-C80BG-_5.js} +0 -0
  249. /package/dist/{collection-CSzG2j1P.js → collection-BzWsN9pB.js} +0 -0
  250. /package/dist/{nodeinfo/semver.test.d.ts → federation/negotiation.test.d.ts} +0 -0
  251. /package/dist/{federation-H2_En3j5.cjs → federation-CRpdnOMS.cjs} +0 -0
  252. /package/dist/{federation-D1U8YY9t.js → federation-jcR8-ZxP.js} +0 -0
  253. /package/dist/{kv-C7sopW2E.d.ts → kv-BKNZ-Tb-.d.ts} +0 -0
  254. /package/dist/{kv-63Cil1MD.d.cts → kv-Bxr0Q87_.d.cts} +0 -0
  255. /package/dist/{mod-C2tOeRkN.d.cts → mod-B-hUPT2N.d.cts} +0 -0
  256. /package/dist/{mod-1pDWKvUL.d.ts → mod-CVgZgliM.d.ts} +0 -0
  257. /package/dist/{mod-FZd39qVq.d.cts → mod-CcDPcLJW.d.cts} +0 -0
  258. /package/dist/{mod-g0xFzAP9.d.ts → mod-bjzj5QIb.d.ts} +0 -0
  259. /package/dist/{nodeinfo-DfycQ8Wf.js → nodeinfo-BnthBobC.js} +0 -0
  260. /package/dist/{nodeinfo-Co9lJrWl.cjs → nodeinfo-CdN0rEnZ.cjs} +0 -0
  261. /package/dist/{otel-Chy5T2Xh.js → otel-1BmGPuZc.js} +0 -0
  262. /package/dist/{retry-D4GJ670a.js → retry-CfF8Gn4d.js} +0 -0
  263. /package/dist/{runtime-DPYEDf-o.js → sig-C34-oHBl.js} +0 -0
  264. /package/dist/{runtime-C58AJWSv.cjs → sig-YYj5tCnr.cjs} +0 -0
  265. /package/dist/{std__assert-X-_kMxKM.js → std__assert-DWivtrGR.js} +0 -0
  266. /package/dist/{runtime → utils}/docloader.test.d.ts +0 -0
  267. /package/dist/{runtime/authdocloader.test.d.ts → utils/kv-cache.test.d.ts} +0 -0
  268. /package/dist/{sig-Cj3tk-ig.js → utils-D-Va7aXC.js} +0 -0
  269. /package/dist/{sig-ByHXzqUi.cjs → utils-DyRU1gdZ.cjs} +0 -0
  270. /package/dist/{webfinger-De_bU0iE.js → webfinger-C72Y8lrh.js} +0 -0
  271. /package/dist/{webfinger-BjOEdFPs.cjs → webfinger-vAtLmxOF.cjs} +0 -0
@@ -3,22 +3,24 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { Activity, Collection, CollectionPage, CryptographicKey, Link, Multikey, Object as Object$1, OrderedCollection, OrderedCollectionPage, deno_default, getDocumentLoader, getTypeId, kvCache, lookupWebFinger } from "./type-E_91dusN.js";
7
- import { getNodeInfo } from "./client-Bwnrdh_A.js";
8
- import { RouterError, lookupObject, traverseCollection } from "./lookup-Co4Y1ycg.js";
9
- import { nodeInfoToJson } from "./types-BIgY6c-l.js";
10
- import { exportJwk, importJwk, validateCryptoKey } from "./key-Tt9B2Qkj.js";
11
- import { verifyRequest } from "./http-DXmKLE1t.js";
12
- import { getAuthenticatedDocumentLoader } from "./authdocloader-TNeksncq.js";
13
- import { detachSignature, hasSignature, signJsonLd, verifyJsonLd } from "./ld-CqoYKNwB.js";
14
- import { doesActorOwnKey, getKeyOwner } from "./owner-9jSx_21P.js";
15
- import { signObject, verifyObject } from "./proof-B5YI7sn5.js";
16
- import { routeActivity } from "./inbox-Dt-Q2rJt.js";
17
- import { FederationBuilderImpl } from "./builder-C7fApQY_.js";
18
- import { buildCollectionSynchronizationHeader } from "./collection-CSzG2j1P.js";
19
- import { KvKeyCache } from "./keycache-CXF4YAON.js";
20
- import { createExponentialBackoffPolicy } from "./retry-D4GJ670a.js";
21
- import { extractInboxes, sendActivity } from "./send-DlPE7bKe.js";
6
+ import { Activity, Collection, CollectionPage, CryptographicKey, Link, Multikey, Object as Object$1, OrderedCollection, OrderedCollectionPage, RouterError, deno_default, getTypeId, lookupObject, lookupWebFinger, traverseCollection } from "./lookup-C7SSHgK7.js";
7
+ import { getNodeInfo } from "./client-pY7-3icS.js";
8
+ import { nodeInfoToJson } from "./types-C2XVl6gj.js";
9
+ import { exportJwk, importJwk, validateCryptoKey } from "./key-khQpfFdw.js";
10
+ import { verifyRequest } from "./http-Bmx7ea3F.js";
11
+ import { detachSignature, hasSignature, signJsonLd, verifyJsonLd } from "./ld-BLMebnep.js";
12
+ import { doesActorOwnKey, getKeyOwner } from "./owner-XzzTSr4S.js";
13
+ import { signObject, verifyObject } from "./proof-C9sfVit1.js";
14
+ import { getAuthenticatedDocumentLoader } from "./docloader-CE1lRhEV.js";
15
+ import { kvCache } from "./kv-cache-DN9pfMBe.js";
16
+ import { routeActivity } from "./inbox-B9PjFn2S.js";
17
+ import { FederationBuilderImpl } from "./builder-hArjoWjW.js";
18
+ import { buildCollectionSynchronizationHeader } from "./collection-BzWsN9pB.js";
19
+ import { KvKeyCache } from "./keycache-BU3fsZFa.js";
20
+ import { acceptsJsonLd } from "./negotiation-C4nFufNk.js";
21
+ import { createExponentialBackoffPolicy } from "./retry-CfF8Gn4d.js";
22
+ import { extractInboxes, sendActivity } from "./send-yEkZlxzW.js";
23
+ import { getDocumentLoader } from "@fedify/vocab-runtime";
22
24
  import { getLogger, withContext } from "@logtape/logtape";
23
25
  import { SpanKind, SpanStatusCode, context, propagation, trace } from "@opentelemetry/api";
24
26
  import { ATTR_HTTP_REQUEST_HEADER, ATTR_HTTP_REQUEST_METHOD, ATTR_HTTP_RESPONSE_HEADER, ATTR_HTTP_RESPONSE_STATUS_CODE, ATTR_URL_FULL } from "@opentelemetry/semantic-conventions";
@@ -297,73 +299,8 @@ async function handleWebFingerInternal(request, { context: context$1, host, acto
297
299
  } });
298
300
  }
299
301
 
300
- //#endregion
301
- //#region src/federation/negotiation.ts
302
- function compareSpecs(a, b) {
303
- return b.q - a.q || (b.s ?? 0) - (a.s ?? 0) || (a.o ?? 0) - (b.o ?? 0) || a.i - b.i || 0;
304
- }
305
- function isQuality(spec) {
306
- return spec.q > 0;
307
- }
308
- const simpleMediaTypeRegExp = /^\s*([^\s\/;]+)\/([^;\s]+)\s*(?:;(.*))?$/;
309
- function splitKeyValuePair(str) {
310
- const [key, value] = str.split("=");
311
- return [key.toLowerCase(), value];
312
- }
313
- function parseMediaType(str, i) {
314
- const match = simpleMediaTypeRegExp.exec(str);
315
- if (!match) return;
316
- const [, type, subtype, parameters] = match;
317
- if (!type || !subtype) return;
318
- const params = Object.create(null);
319
- let q = 1;
320
- if (parameters) {
321
- const kvps = parameters.split(";").map((p) => p.trim()).map(splitKeyValuePair);
322
- for (const [key, val] of kvps) {
323
- const value = val && val[0] === `"` && val[val.length - 1] === `"` ? val.slice(1, val.length - 1) : val;
324
- if (key === "q" && value) {
325
- q = parseFloat(value);
326
- break;
327
- }
328
- params[key] = value;
329
- }
330
- }
331
- return {
332
- type,
333
- subtype,
334
- params,
335
- i,
336
- o: void 0,
337
- q,
338
- s: void 0
339
- };
340
- }
341
- function parseAccept(accept) {
342
- const accepts = accept.split(",").map((p) => p.trim());
343
- const mediaTypes = [];
344
- for (const [index, accept$1] of accepts.entries()) {
345
- const mediaType = parseMediaType(accept$1.trim(), index);
346
- if (mediaType) mediaTypes.push(mediaType);
347
- }
348
- return mediaTypes;
349
- }
350
- function getFullType(spec) {
351
- return `${spec.type}/${spec.subtype}`;
352
- }
353
- function preferredMediaTypes(accept) {
354
- const accepts = parseAccept(accept === void 0 ? "*/*" : accept ?? "");
355
- return accepts.filter(isQuality).sort(compareSpecs).map(getFullType);
356
- }
357
-
358
302
  //#endregion
359
303
  //#region src/federation/handler.ts
360
- function acceptsJsonLd(request) {
361
- const accept = request.headers.get("Accept");
362
- const types = accept ? preferredMediaTypes(accept) : ["*/*"];
363
- if (types == null) return true;
364
- if (types[0] === "text/html" || types[0] === "application/xhtml+xml") return false;
365
- return types.includes("application/activity+json") || types.includes("application/ld+json") || types.includes("application/json");
366
- }
367
304
  /**
368
305
  * Handles an actor request.
369
306
  * @template TContextData The context data to pass to the context.
@@ -371,7 +308,7 @@ function acceptsJsonLd(request) {
371
308
  * @param parameters The parameters for handling the actor.
372
309
  * @returns A promise that resolves to an HTTP response.
373
310
  */
374
- async function handleActor(request, { identifier, context: context$1, actorDispatcher, authorizePredicate, onNotFound, onNotAcceptable, onUnauthorized }) {
311
+ async function handleActor(request, { identifier, context: context$1, actorDispatcher, authorizePredicate, onNotFound, onUnauthorized }) {
375
312
  const logger$2 = getLogger([
376
313
  "fedify",
377
314
  "federation",
@@ -386,7 +323,6 @@ async function handleActor(request, { identifier, context: context$1, actorDispa
386
323
  logger$2.debug("Actor {identifier} not found.", { identifier });
387
324
  return await onNotFound(request);
388
325
  }
389
- if (!acceptsJsonLd(request)) return await onNotAcceptable(request);
390
326
  if (authorizePredicate != null) {
391
327
  let key = await context$1.getSignedKey();
392
328
  key = key?.clone({}, { $warning: {
@@ -421,11 +357,10 @@ async function handleActor(request, { identifier, context: context$1, actorDispa
421
357
  * @param parameters The parameters for handling the object.
422
358
  * @returns A promise that resolves to an HTTP response.
423
359
  */
424
- async function handleObject(request, { values, context: context$1, objectDispatcher, authorizePredicate, onNotFound, onNotAcceptable, onUnauthorized }) {
360
+ async function handleObject(request, { values, context: context$1, objectDispatcher, authorizePredicate, onNotFound, onUnauthorized }) {
425
361
  if (objectDispatcher == null) return await onNotFound(request);
426
362
  const object = await objectDispatcher(context$1, values);
427
363
  if (object == null) return await onNotFound(request);
428
- if (!acceptsJsonLd(request)) return await onNotAcceptable(request);
429
364
  if (authorizePredicate != null) {
430
365
  let key = await context$1.getSignedKey();
431
366
  key = key?.clone({}, { $warning: {
@@ -463,7 +398,7 @@ async function handleObject(request, { values, context: context$1, objectDispatc
463
398
  * @param parameters The parameters for handling the collection.
464
399
  * @returns A promise that resolves to an HTTP response.
465
400
  */
466
- async function handleCollection(request, { name, identifier, uriGetter, filter, filterPredicate, context: context$1, collectionCallbacks, tracerProvider, onUnauthorized, onNotFound, onNotAcceptable }) {
401
+ async function handleCollection(request, { name, identifier, uriGetter, filter, filterPredicate, context: context$1, collectionCallbacks, tracerProvider, onUnauthorized, onNotFound }) {
467
402
  const spanName = name.trim().replace(/\s+/g, "_");
468
403
  tracerProvider = tracerProvider ?? trace.getTracerProvider();
469
404
  const tracer = tracerProvider.getTracer(deno_default.name, deno_default.version);
@@ -576,7 +511,6 @@ async function handleCollection(request, { name, identifier, uriGetter, filter,
576
511
  partOf
577
512
  });
578
513
  }
579
- if (!acceptsJsonLd(request)) return await onNotAcceptable(request);
580
514
  if (collectionCallbacks.authorizePredicate != null) {
581
515
  let key = await context$1.getSignedKey();
582
516
  key = key?.clone({}, { $warning: {
@@ -923,7 +857,6 @@ async function handleInboxInternal(request, parameters, span) {
923
857
  const handleCustomCollection = exceptWrapper(_handleCustomCollection);
924
858
  async function _handleCustomCollection(request, { name, values, context: context$1, tracerProvider, collectionCallbacks: callbacks, filterPredicate }) {
925
859
  verifyDefined(callbacks);
926
- verifyJsonLdRequest(request);
927
860
  await authIfNeeded(context$1, values, callbacks);
928
861
  const cursor = new URL(request.url).searchParams.get("cursor");
929
862
  return await new CustomCollectionHandler(name, values, context$1, callbacks, tracerProvider, Collection, CollectionPage, filterPredicate).fetchCollection(cursor).toJsonLd().then(respondAsActivity);
@@ -942,7 +875,6 @@ async function _handleCustomCollection(request, { name, values, context: context
942
875
  const handleOrderedCollection = exceptWrapper(_handleOrderedCollection);
943
876
  async function _handleOrderedCollection(request, { name, values, context: context$1, tracerProvider, collectionCallbacks: callbacks, filterPredicate }) {
944
877
  verifyDefined(callbacks);
945
- verifyJsonLdRequest(request);
946
878
  await authIfNeeded(context$1, values, callbacks);
947
879
  const cursor = new URL(request.url).searchParams.get("cursor");
948
880
  return await new CustomCollectionHandler(name, values, context$1, callbacks, tracerProvider, OrderedCollection, OrderedCollectionPage, filterPredicate).fetchCollection(cursor).toJsonLd().then(respondAsActivity);
@@ -1219,10 +1151,9 @@ function exceptWrapper(handler) {
1219
1151
  try {
1220
1152
  return await handler(request, handlerParams);
1221
1153
  } catch (error) {
1222
- const { onNotFound, onNotAcceptable, onUnauthorized } = handlerParams;
1154
+ const { onNotFound, onUnauthorized } = handlerParams;
1223
1155
  switch (error?.constructor) {
1224
1156
  case ItemsNotFoundError: return await onNotFound(request);
1225
- case NotAcceptableError: return await onNotAcceptable(request);
1226
1157
  case UnauthorizedError: return await onUnauthorized(request);
1227
1158
  default: throw error;
1228
1159
  }
@@ -1240,15 +1171,6 @@ const verifyDefined = (callbacks) => {
1240
1171
  if (callbacks === void 0) throw new ItemsNotFoundError();
1241
1172
  };
1242
1173
  /**
1243
- * Verifies that a request accepts JSON-LD content type.
1244
- * @param request The HTTP request to verify.
1245
- * @throws {NotAcceptableError} If the request doesn't accept JSON-LD.
1246
- * @since 1.8.0
1247
- */
1248
- const verifyJsonLdRequest = (request) => {
1249
- if (!acceptsJsonLd(request)) throw new NotAcceptableError();
1250
- };
1251
- /**
1252
1174
  * Performs authorization if needed based on the authorization predicate.
1253
1175
  * @template TContextData The context data type.
1254
1176
  * @param {RequestContext<TContextData>} context The request context.
@@ -1332,15 +1254,6 @@ var ItemsNotFoundError = class extends HandlerError {
1332
1254
  }
1333
1255
  };
1334
1256
  /**
1335
- * Error thrown when the request is not acceptable (e.g., wrong content type).
1336
- * @since 1.8.0
1337
- */
1338
- var NotAcceptableError = class extends HandlerError {
1339
- constructor() {
1340
- super("The request is not acceptable.");
1341
- }
1342
- };
1343
- /**
1344
1257
  * Error thrown when access to a collection is unauthorized.
1345
1258
  * @since 1.8.0
1346
1259
  */
@@ -1413,7 +1326,6 @@ var FederationImpl = class extends FederationBuilderImpl {
1413
1326
  firstKnock;
1414
1327
  constructor(options) {
1415
1328
  super();
1416
- const logger$2 = getLogger(["fedify", "federation"]);
1417
1329
  this.kv = options.kv;
1418
1330
  this.kvPrefixes = {
1419
1331
  activityIdempotence: ["_fedify", "activityIdempotence"],
@@ -1461,17 +1373,13 @@ var FederationImpl = class extends FederationBuilderImpl {
1461
1373
  this.router.trailingSlashInsensitive = options.trailingSlashInsensitive ?? false;
1462
1374
  this._initializeRouter();
1463
1375
  if (options.allowPrivateAddress || options.userAgent != null) {
1464
- if (options.documentLoader != null) throw new TypeError("Cannot set documentLoader with allowPrivateAddress or userAgent options.");
1465
- else if (options.contextLoader != null) throw new TypeError("Cannot set contextLoader with allowPrivateAddress or userAgent options.");
1466
- else if (options.authenticatedDocumentLoaderFactory != null) throw new TypeError("Cannot set authenticatedDocumentLoaderFactory with allowPrivateAddress or userAgent options.");
1376
+ if (options.documentLoaderFactory != null) throw new TypeError("Cannot set documentLoaderFactory with allowPrivateAddress or userAgent options.");
1377
+ if (options.contextLoaderFactory != null) throw new TypeError("Cannot set contextLoaderFactory with allowPrivateAddress or userAgent options.");
1378
+ if (options.authenticatedDocumentLoaderFactory != null) throw new TypeError("Cannot set authenticatedDocumentLoaderFactory with allowPrivateAddress or userAgent options.");
1467
1379
  }
1468
1380
  const { allowPrivateAddress, userAgent } = options;
1469
1381
  this.allowPrivateAddress = allowPrivateAddress ?? false;
1470
- if (options.documentLoader != null) {
1471
- if (options.documentLoaderFactory != null) throw new TypeError("Cannot set both documentLoader and documentLoaderFactory options at a time; use documentLoaderFactory only.");
1472
- this.documentLoaderFactory = () => options.documentLoader;
1473
- logger$2.warn("The documentLoader option is deprecated; use documentLoaderFactory option instead.");
1474
- } else this.documentLoaderFactory = options.documentLoaderFactory ?? ((opts) => {
1382
+ this.documentLoaderFactory = options.documentLoaderFactory ?? ((opts) => {
1475
1383
  return kvCache({
1476
1384
  loader: getDocumentLoader({
1477
1385
  allowPrivateAddress: opts?.allowPrivateAddress ?? allowPrivateAddress,
@@ -1481,11 +1389,7 @@ var FederationImpl = class extends FederationBuilderImpl {
1481
1389
  prefix: this.kvPrefixes.remoteDocument
1482
1390
  });
1483
1391
  });
1484
- if (options.contextLoader != null) {
1485
- if (options.contextLoaderFactory != null) throw new TypeError("Cannot set both contextLoader and contextLoaderFactory options at a time; use contextLoaderFactory only.");
1486
- this.contextLoaderFactory = () => options.contextLoader;
1487
- logger$2.warn("The contextLoader option is deprecated; use contextLoaderFactory option instead.");
1488
- } else this.contextLoaderFactory = options.contextLoaderFactory ?? this.documentLoaderFactory;
1392
+ this.contextLoaderFactory = options.contextLoaderFactory ?? this.documentLoaderFactory;
1489
1393
  this.authenticatedDocumentLoaderFactory = options.authenticatedDocumentLoaderFactory ?? ((identity) => getAuthenticatedDocumentLoader(identity, {
1490
1394
  allowPrivateAddress,
1491
1395
  userAgent,
@@ -2024,6 +1928,7 @@ var FederationImpl = class extends FederationBuilderImpl {
2024
1928
  span,
2025
1929
  tracer
2026
1930
  });
1931
+ if (acceptsJsonLd(request)) response.headers.set("Vary", "Accept");
2027
1932
  } catch (error) {
2028
1933
  span.setStatus({
2029
1934
  code: SpanStatusCode.ERROR,
@@ -2087,6 +1992,9 @@ var FederationImpl = class extends FederationBuilderImpl {
2087
1992
  context: context$1,
2088
1993
  nodeInfoDispatcher: this.nodeInfoDispatcher
2089
1994
  });
1995
+ }
1996
+ if (request.method !== "POST" && !acceptsJsonLd(request)) return await onNotAcceptable(request);
1997
+ switch (routeName) {
2090
1998
  case "actor":
2091
1999
  context$1 = this.#createContext(request, contextData, { invokedFromActorDispatcher: { identifier: route.values.identifier ?? route.values.handle } });
2092
2000
  return await handleActor(request, {
@@ -2095,8 +2003,7 @@ var FederationImpl = class extends FederationBuilderImpl {
2095
2003
  actorDispatcher: this.actorCallbacks?.dispatcher,
2096
2004
  authorizePredicate: this.actorCallbacks?.authorizePredicate,
2097
2005
  onUnauthorized,
2098
- onNotFound,
2099
- onNotAcceptable
2006
+ onNotFound
2100
2007
  });
2101
2008
  case "object": {
2102
2009
  const typeId = route.name.replace(/^object:/, "");
@@ -2112,8 +2019,7 @@ var FederationImpl = class extends FederationBuilderImpl {
2112
2019
  objectDispatcher: callbacks?.dispatcher,
2113
2020
  authorizePredicate: callbacks?.authorizePredicate,
2114
2021
  onUnauthorized,
2115
- onNotFound,
2116
- onNotAcceptable
2022
+ onNotFound
2117
2023
  });
2118
2024
  }
2119
2025
  case "outbox": return await handleCollection(request, {
@@ -2124,8 +2030,7 @@ var FederationImpl = class extends FederationBuilderImpl {
2124
2030
  collectionCallbacks: this.outboxCallbacks,
2125
2031
  tracerProvider: this.tracerProvider,
2126
2032
  onUnauthorized,
2127
- onNotFound,
2128
- onNotAcceptable
2033
+ onNotFound
2129
2034
  });
2130
2035
  case "inbox":
2131
2036
  if (request.method !== "POST") return await handleCollection(request, {
@@ -2136,8 +2041,7 @@ var FederationImpl = class extends FederationBuilderImpl {
2136
2041
  collectionCallbacks: this.inboxCallbacks,
2137
2042
  tracerProvider: this.tracerProvider,
2138
2043
  onUnauthorized,
2139
- onNotFound,
2140
- onNotAcceptable
2044
+ onNotFound
2141
2045
  });
2142
2046
  context$1 = this.#createContext(request, contextData, { documentLoader: await context$1.getDocumentLoader({ identifier: route.values.identifier ?? route.values.handle }) });
2143
2047
  case "sharedInbox":
@@ -2170,8 +2074,7 @@ var FederationImpl = class extends FederationBuilderImpl {
2170
2074
  collectionCallbacks: this.followingCallbacks,
2171
2075
  tracerProvider: this.tracerProvider,
2172
2076
  onUnauthorized,
2173
- onNotFound,
2174
- onNotAcceptable
2077
+ onNotFound
2175
2078
  });
2176
2079
  case "followers": {
2177
2080
  let baseUrl = url.searchParams.get("base-url");
@@ -2194,8 +2097,7 @@ var FederationImpl = class extends FederationBuilderImpl {
2194
2097
  collectionCallbacks: this.followersCallbacks,
2195
2098
  tracerProvider: this.tracerProvider,
2196
2099
  onUnauthorized,
2197
- onNotFound,
2198
- onNotAcceptable
2100
+ onNotFound
2199
2101
  });
2200
2102
  }
2201
2103
  case "liked": return await handleCollection(request, {
@@ -2206,8 +2108,7 @@ var FederationImpl = class extends FederationBuilderImpl {
2206
2108
  collectionCallbacks: this.likedCallbacks,
2207
2109
  tracerProvider: this.tracerProvider,
2208
2110
  onUnauthorized,
2209
- onNotFound,
2210
- onNotAcceptable
2111
+ onNotFound
2211
2112
  });
2212
2113
  case "featured": return await handleCollection(request, {
2213
2114
  name: "featured",
@@ -2217,8 +2118,7 @@ var FederationImpl = class extends FederationBuilderImpl {
2217
2118
  collectionCallbacks: this.featuredCallbacks,
2218
2119
  tracerProvider: this.tracerProvider,
2219
2120
  onUnauthorized,
2220
- onNotFound,
2221
- onNotAcceptable
2121
+ onNotFound
2222
2122
  });
2223
2123
  case "featuredTags": return await handleCollection(request, {
2224
2124
  name: "featured tags",
@@ -2228,8 +2128,7 @@ var FederationImpl = class extends FederationBuilderImpl {
2228
2128
  collectionCallbacks: this.featuredTagsCallbacks,
2229
2129
  tracerProvider: this.tracerProvider,
2230
2130
  onUnauthorized,
2231
- onNotFound,
2232
- onNotAcceptable
2131
+ onNotFound
2233
2132
  });
2234
2133
  case "collection": {
2235
2134
  const name = route.name.replace(/^collection:/, "");
@@ -2241,8 +2140,7 @@ var FederationImpl = class extends FederationBuilderImpl {
2241
2140
  collectionCallbacks: callbacks,
2242
2141
  tracerProvider: this.tracerProvider,
2243
2142
  onUnauthorized,
2244
- onNotFound,
2245
- onNotAcceptable
2143
+ onNotFound
2246
2144
  });
2247
2145
  }
2248
2146
  case "orderedCollection": {
@@ -2255,8 +2153,7 @@ var FederationImpl = class extends FederationBuilderImpl {
2255
2153
  collectionCallbacks: callbacks,
2256
2154
  tracerProvider: this.tracerProvider,
2257
2155
  onUnauthorized,
2258
- onNotFound,
2259
- onNotAcceptable
2156
+ onNotFound
2260
2157
  });
2261
2158
  }
2262
2159
  default: {
@@ -3225,4 +3122,4 @@ function getRequestId(request) {
3225
3122
  }
3226
3123
 
3227
3124
  //#endregion
3228
- export { ContextImpl, FederationImpl, InboxContextImpl, KvSpecDeterminer, acceptsJsonLd, actorDehydrator, autoIdAssigner, createFederation, handleActor, handleCollection, handleCustomCollection, handleInbox, handleNodeInfo, handleNodeInfoJrd, handleObject, handleWebFinger, respondWithObject, respondWithObjectIfAcceptable };
3125
+ export { ContextImpl, FederationImpl, InboxContextImpl, KvSpecDeterminer, actorDehydrator, autoIdAssigner, createFederation, handleActor, handleCollection, handleCustomCollection, handleInbox, handleNodeInfo, handleNodeInfoJrd, handleObject, handleWebFinger, respondWithObject, respondWithObjectIfAcceptable };
@@ -0,0 +1,26 @@
1
+
2
+ import { Temporal } from "@js-temporal/polyfill";
3
+ import { URLPattern } from "urlpattern-polyfill";
4
+ globalThis.addEventListener = () => {};
5
+
6
+ import "./lookup-C7SSHgK7.js";
7
+ import { ContextImpl, FederationImpl, InboxContextImpl, KvSpecDeterminer, createFederation } from "./middleware-C3ml59Hp.js";
8
+ import "./client-pY7-3icS.js";
9
+ import "./types-C2XVl6gj.js";
10
+ import "./actor-rOm0sXHU.js";
11
+ import "./key-khQpfFdw.js";
12
+ import "./http-Bmx7ea3F.js";
13
+ import "./ld-BLMebnep.js";
14
+ import "./owner-XzzTSr4S.js";
15
+ import "./proof-C9sfVit1.js";
16
+ import "./docloader-CE1lRhEV.js";
17
+ import "./kv-cache-DN9pfMBe.js";
18
+ import "./inbox-B9PjFn2S.js";
19
+ import "./builder-hArjoWjW.js";
20
+ import "./collection-BzWsN9pB.js";
21
+ import "./keycache-BU3fsZFa.js";
22
+ import "./negotiation-C4nFufNk.js";
23
+ import "./retry-CfF8Gn4d.js";
24
+ import "./send-yEkZlxzW.js";
25
+
26
+ export { FederationImpl };