@fedify/fedify 1.11.0-dev.92 → 2.0.0-dev.109

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 (276) hide show
  1. package/README.md +34 -20
  2. package/dist/{actor-BSf1RMUB.js → actor-BZTYJWzP.js} +1 -1
  3. package/dist/{actor-B6ovE-4c.js → actor-Cm25mX8I.js} +220 -705
  4. package/dist/{actor-eeONG_sv.d.ts → actor-DqFajh9s.d.ts} +2 -2
  5. package/dist/{actor-DMxe8a2S.cjs → actor-ZEAP42Ry.cjs} +952 -1479
  6. package/dist/{actor-D190nbTD.d.cts → actor-f2NtjyCg.d.cts} +2 -2
  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-CvMAl7DC.js → builder-CWMz7B2F.js} +3 -4
  10. package/dist/{client-n6L4GtQL.d.cts → client-94iWEfQa.d.cts} +3 -75
  11. package/dist/{client-B3mQJNO7.d.ts → client-BsGzbnV-.d.ts} +3 -75
  12. package/dist/{client-gwmljOpB.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-WJoO0SQs.d.cts → context-DBQ7nMCw.d.cts} +152 -27
  17. package/dist/{context-Cr5DIxq_.d.ts → context-mM0Nu5yo.d.ts} +152 -27
  18. package/dist/{authdocloader-D-v1l7De.js → docloader-BeSgUTFj.js} +17 -8
  19. package/dist/{esm-D55VN1Km.js → esm-bEFTDE2Q.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-C9J5l76C.js → http-B8aQ8cUK.js} +256 -6
  38. package/dist/{http-C2x6TpEb.js → http-BF8Z1B-J.js} +2 -2
  39. package/dist/{http-DS9z_HzB.d.ts → http-BbO0ejuk.d.ts} +2 -2
  40. package/dist/{http-DOST1wn2.cjs → http-Dy7ENa6t.cjs} +289 -9
  41. package/dist/{http-C_1RU1U_.d.cts → http-M8k5mKc0.d.cts} +2 -2
  42. package/dist/{inbox-CeWZnS6I.js → inbox-CReikedp.js} +2 -7
  43. package/dist/{key-w6smvEIf.js → key-C85if3Ia.js} +3 -2
  44. package/dist/{keycache-DIPsFeDQ.js → keycache-BjRr5pe2.js} +1 -1
  45. package/dist/{keys-Bkp2oOoh.js → keys-do4GUlRT.js} +2 -1
  46. package/dist/{kv-DipCBaw2.d.ts → kv-BpJND1Hr.d.ts} +2 -1
  47. package/dist/{kv-BqEOXcZv.d.cts → kv-cD_d4hg-.d.cts} +2 -1
  48. package/dist/kv-cache-B4Y86MKl.js +122 -0
  49. package/dist/kv-cache-D7LFlByV.js +107 -0
  50. package/dist/kv-cache-qW5Mv9rV.cjs +134 -0
  51. package/dist/{ld-Dk2eojF9.js → ld-0Wpf83DM.js} +3 -2
  52. package/dist/{lookup-BI5Omd9s.cjs → lookup-Br9_ufLS.cjs} +134 -5
  53. package/dist/{lookup-Fk5eyxDk.js → lookup-Cj543vD4.js} +125 -2
  54. package/dist/{type-DMwrwZj3.js → lookup-D6_9czrD.js} +547 -5409
  55. package/dist/middleware-BPmn8w0u.cjs +15 -0
  56. package/dist/middleware-BXodt-Uj.js +26 -0
  57. package/dist/{middleware-BgI9lQ4P.js → middleware-Bq8dxPN6.js} +43 -146
  58. package/dist/{middleware-YNYjpKML.cjs → middleware-CDzg72dQ.cjs} +58 -104
  59. package/dist/middleware-DvA6x8_h.js +15 -0
  60. package/dist/{middleware-CNMzY5iD.js → middleware-hM1Z5nWM.js} +38 -84
  61. package/dist/{mod-DS4kJskR.d.ts → mod-BlVovdcy.d.ts} +2 -2
  62. package/dist/{mod-D5rfgGFE.d.cts → mod-BxRCHTz-.d.cts} +2 -2
  63. package/dist/{mod-CxMBb_dd.d.cts → mod-C58MZ7Wx.d.cts} +1 -1
  64. package/dist/mod-CAdoBu0x.d.ts +109 -0
  65. package/dist/{mod-BZfdiPBo.d.ts → mod-D5Z2tISD.d.ts} +3 -3
  66. package/dist/{mod-Dz5Y15Uy.d.cts → mod-DgxG-byT.d.cts} +3 -3
  67. package/dist/{mod-ChbckRnC.d.ts → mod-Ds0mpFZU.d.ts} +1 -1
  68. package/dist/{mod-OQfb33eH.d.cts → mod-Dy2fJtmN.d.cts} +2 -2
  69. package/dist/{mod-CnULG6Aa.d.ts → mod-GetHzY6F.d.ts} +2 -2
  70. package/dist/mod-fxr25Gv7.d.cts +107 -0
  71. package/dist/mod.cjs +19 -34
  72. package/dist/mod.d.cts +15 -17
  73. package/dist/mod.d.ts +15 -17
  74. package/dist/mod.js +14 -16
  75. package/dist/negotiation-C4nFufNk.js +71 -0
  76. package/dist/nodeinfo/client.test.js +30 -111
  77. package/dist/nodeinfo/handler.test.js +25 -26
  78. package/dist/nodeinfo/mod.cjs +3 -6
  79. package/dist/nodeinfo/mod.d.cts +3 -5
  80. package/dist/nodeinfo/mod.d.ts +3 -5
  81. package/dist/nodeinfo/mod.js +3 -4
  82. package/dist/nodeinfo/types.test.js +8 -15
  83. package/dist/otel/exporter.test.js +44 -70
  84. package/dist/otel/mod.cjs +17 -34
  85. package/dist/otel/mod.d.cts +5 -6
  86. package/dist/otel/mod.d.ts +5 -6
  87. package/dist/otel/mod.js +17 -34
  88. package/dist/{otel-Chy5T2Xh.js → otel-Bfe_BgOV.js} +1 -2
  89. package/dist/{owner-C_e5oYyI.js → owner-B2ziOXAb.js} +3 -2
  90. package/dist/{owner-AcrG3Xz1.d.cts → owner-B4HbyP8s.d.cts} +3 -3
  91. package/dist/{owner-8NMhXwJd.d.ts → owner-kQRGVXG1.d.ts} +3 -3
  92. package/dist/{proof-GRfyDBRU.js → proof-CN_ohUto.js} +2 -2
  93. package/dist/{proof-C5COc2tW.cjs → proof-CWQ0o-yI.cjs} +18 -17
  94. package/dist/{proof-BWebFnAY.js → proof-CXrz_moF.js} +5 -4
  95. package/dist/{send-Dd4ncQqL.js → send-Bt_ukOqY.js} +2 -2
  96. package/dist/sig/http.test.js +12 -13
  97. package/dist/sig/key.test.js +9 -11
  98. package/dist/sig/ld.test.js +8 -10
  99. package/dist/sig/mod.cjs +9 -11
  100. package/dist/sig/mod.d.cts +5 -7
  101. package/dist/sig/mod.d.ts +5 -7
  102. package/dist/sig/mod.js +5 -7
  103. package/dist/sig/owner.test.js +11 -13
  104. package/dist/sig/proof.test.js +13 -14
  105. package/dist/src/vocab/accept.yaml +1 -1
  106. package/dist/src/vocab/activity.yaml +1 -1
  107. package/dist/src/vocab/add.yaml +1 -1
  108. package/dist/src/vocab/announce.yaml +1 -1
  109. package/dist/src/vocab/application.yaml +1 -1
  110. package/dist/src/vocab/arrive.yaml +1 -1
  111. package/dist/src/vocab/article.yaml +1 -1
  112. package/dist/src/vocab/audio.yaml +1 -1
  113. package/dist/src/vocab/block.yaml +1 -1
  114. package/dist/src/vocab/chatmessage.yaml +1 -1
  115. package/dist/src/vocab/collection.yaml +1 -1
  116. package/dist/src/vocab/collectionpage.yaml +1 -1
  117. package/dist/src/vocab/create.yaml +1 -1
  118. package/dist/src/vocab/dataintegrityproof.yaml +1 -1
  119. package/dist/src/vocab/delete.yaml +1 -1
  120. package/dist/src/vocab/didservice.yaml +1 -1
  121. package/dist/src/vocab/dislike.yaml +1 -1
  122. package/dist/src/vocab/document.yaml +1 -1
  123. package/dist/src/vocab/emoji.yaml +1 -1
  124. package/dist/src/vocab/emojireact.yaml +1 -1
  125. package/dist/src/vocab/endpoints.yaml +1 -1
  126. package/dist/src/vocab/event.yaml +1 -1
  127. package/dist/src/vocab/export.yaml +1 -1
  128. package/dist/src/vocab/flag.yaml +1 -1
  129. package/dist/src/vocab/follow.yaml +1 -1
  130. package/dist/src/vocab/group.yaml +1 -1
  131. package/dist/src/vocab/hashtag.yaml +1 -1
  132. package/dist/src/vocab/ignore.yaml +1 -1
  133. package/dist/src/vocab/image.yaml +1 -1
  134. package/dist/src/vocab/intransitiveactivity.yaml +1 -1
  135. package/dist/src/vocab/invite.yaml +1 -1
  136. package/dist/src/vocab/join.yaml +1 -1
  137. package/dist/src/vocab/key.yaml +1 -1
  138. package/dist/src/vocab/leave.yaml +1 -1
  139. package/dist/src/vocab/like.yaml +1 -1
  140. package/dist/src/vocab/link.yaml +1 -1
  141. package/dist/src/vocab/listen.yaml +1 -1
  142. package/dist/src/vocab/mention.yaml +1 -1
  143. package/dist/src/vocab/move.yaml +1 -1
  144. package/dist/src/vocab/multikey.yaml +1 -1
  145. package/dist/src/vocab/note.yaml +1 -1
  146. package/dist/src/vocab/object.yaml +1 -1
  147. package/dist/src/vocab/offer.yaml +1 -1
  148. package/dist/src/vocab/orderedcollection.yaml +1 -1
  149. package/dist/src/vocab/orderedcollectionpage.yaml +1 -1
  150. package/dist/src/vocab/organization.yaml +1 -1
  151. package/dist/src/vocab/page.yaml +1 -1
  152. package/dist/src/vocab/person.yaml +1 -1
  153. package/dist/src/vocab/place.yaml +1 -1
  154. package/dist/src/vocab/profile.yaml +1 -1
  155. package/dist/src/vocab/propertyvalue.yaml +1 -1
  156. package/dist/src/vocab/question.yaml +1 -1
  157. package/dist/src/vocab/read.yaml +1 -1
  158. package/dist/src/vocab/reject.yaml +1 -1
  159. package/dist/src/vocab/relationship.yaml +1 -1
  160. package/dist/src/vocab/remove.yaml +1 -1
  161. package/dist/src/vocab/service.yaml +1 -1
  162. package/dist/src/vocab/source.yaml +1 -1
  163. package/dist/src/vocab/tentativeaccept.yaml +1 -1
  164. package/dist/src/vocab/tentativereject.yaml +1 -1
  165. package/dist/src/vocab/tombstone.yaml +1 -1
  166. package/dist/src/vocab/travel.yaml +1 -1
  167. package/dist/src/vocab/undo.yaml +1 -1
  168. package/dist/src/vocab/update.yaml +1 -1
  169. package/dist/src/vocab/video.yaml +1 -1
  170. package/dist/src/vocab/view.yaml +1 -1
  171. package/dist/testing/docloader.test.js +6 -8
  172. package/dist/testing/mod.d.ts +10 -119
  173. package/dist/testing/mod.js +2 -3
  174. package/dist/{testing-Dl_uo19c.js → testing-DcJ3qTSi.js} +1 -2
  175. package/dist/{types-CPPQlW2w.js → types-BtUjyi5y.js} +5 -166
  176. package/dist/{types-BIgY6c-l.js → types-C2XVl6gj.js} +1 -3
  177. package/dist/{types-tmeoSVgM.cjs → types-CWgzGaqk.cjs} +6 -179
  178. package/dist/{runtime/authdocloader.test.js → utils/docloader.test.js} +14 -15
  179. package/dist/utils/kv-cache.test.js +212 -0
  180. package/dist/utils/mod.cjs +12 -0
  181. package/dist/utils/mod.d.cts +5 -0
  182. package/dist/utils/mod.d.ts +7 -0
  183. package/dist/utils/mod.js +11 -0
  184. package/dist/vocab/actor.test.js +8 -10
  185. package/dist/vocab/lookup.test.js +8 -10
  186. package/dist/vocab/mod.cjs +3 -4
  187. package/dist/vocab/mod.d.cts +3 -5
  188. package/dist/vocab/mod.d.ts +3 -5
  189. package/dist/vocab/mod.js +3 -4
  190. package/dist/vocab/type.test.js +2 -3
  191. package/dist/vocab/vocab.test.js +7618 -1973
  192. package/dist/{vocab-BASuuzcJ.d.ts → vocab-BCWe1Ih5.d.ts} +9 -25
  193. package/dist/{vocab-DPMmFPJ1.d.cts → vocab-CeDBzu-f.d.cts} +9 -25
  194. package/dist/{vocab-kxSYUP1j.js → vocab-DZvBYZFH.js} +3 -3
  195. package/dist/{vocab-BnNSNBil.cjs → vocab-aeFsUPtk.cjs} +5 -5
  196. package/dist/webfinger/handler.test.js +24 -25
  197. package/dist/webfinger/lookup.test.js +7 -9
  198. package/dist/webfinger/mod.cjs +2 -3
  199. package/dist/webfinger/mod.d.cts +1 -3
  200. package/dist/webfinger/mod.d.ts +1 -3
  201. package/dist/webfinger/mod.js +2 -3
  202. package/package.json +33 -66
  203. package/dist/assert_throws-BOO88avQ.js +0 -39
  204. package/dist/authdocloader-Bn3Jg414.js +0 -52
  205. package/dist/authdocloader-DmTWTYA4.cjs +0 -58
  206. package/dist/denokv-D0nfNQ1x.js +0 -57
  207. package/dist/docloader-BucCRHZI.d.ts +0 -221
  208. package/dist/docloader-CgESja7v.js +0 -4835
  209. package/dist/docloader-ChxNLZAA.d.cts +0 -219
  210. package/dist/docloader-DJCmWQFv.cjs +0 -4901
  211. package/dist/key-BUDjxXee.js +0 -10
  212. package/dist/key-Bl-6W_Cx.cjs +0 -290
  213. package/dist/key-BluX4ryA.js +0 -260
  214. package/dist/key-DWZlSSOl.cjs +0 -10
  215. package/dist/key-zkx54yxw.js +0 -10
  216. package/dist/lookup-DFrFssJ8.js +0 -336
  217. package/dist/middleware-BmGndt7n.cjs +0 -17
  218. package/dist/middleware-CxG8rL1c.js +0 -26
  219. package/dist/middleware-etnOMaDs.js +0 -17
  220. package/dist/mod-CD7gfdq3.d.ts +0 -104
  221. package/dist/mod-JUhOKMHj.d.cts +0 -102
  222. package/dist/mq-B7R1Q-M5.d.cts +0 -140
  223. package/dist/mq-CRGm1e_F.d.ts +0 -143
  224. package/dist/nodeinfo/semver.test.js +0 -143
  225. package/dist/runtime/docloader.test.js +0 -599
  226. package/dist/runtime/key.test.d.ts +0 -3
  227. package/dist/runtime/key.test.js +0 -103
  228. package/dist/runtime/langstr.test.d.ts +0 -3
  229. package/dist/runtime/langstr.test.js +0 -40
  230. package/dist/runtime/link.test.d.ts +0 -3
  231. package/dist/runtime/link.test.js +0 -61
  232. package/dist/runtime/mod.cjs +0 -25
  233. package/dist/runtime/mod.d.cts +0 -6
  234. package/dist/runtime/mod.d.ts +0 -8
  235. package/dist/runtime/mod.js +0 -13
  236. package/dist/runtime/multibase/multibase.test.d.ts +0 -3
  237. package/dist/runtime/multibase/multibase.test.js +0 -358
  238. package/dist/runtime/url.test.d.ts +0 -3
  239. package/dist/runtime/url.test.js +0 -45
  240. package/dist/semver-dArNLkR9.js +0 -149
  241. package/dist/vocab/schema.yaml +0 -247
  242. package/dist/x/cfworkers.cjs +0 -100
  243. package/dist/x/cfworkers.d.cts +0 -59
  244. package/dist/x/cfworkers.d.ts +0 -61
  245. package/dist/x/cfworkers.js +0 -98
  246. package/dist/x/cfworkers.test.d.ts +0 -3
  247. package/dist/x/cfworkers.test.js +0 -179
  248. package/dist/x/hono.cjs +0 -61
  249. package/dist/x/hono.d.cts +0 -54
  250. package/dist/x/hono.d.ts +0 -56
  251. package/dist/x/hono.js +0 -60
  252. package/dist/x/sveltekit.cjs +0 -69
  253. package/dist/x/sveltekit.d.cts +0 -46
  254. package/dist/x/sveltekit.d.ts +0 -48
  255. package/dist/x/sveltekit.js +0 -68
  256. /package/dist/{assert_not_equals-f3m3epl3.js → assert_not_equals-C80BG-_5.js} +0 -0
  257. /package/dist/{collection-CSzG2j1P.js → collection-BzWsN9pB.js} +0 -0
  258. /package/dist/{nodeinfo/semver.test.d.ts → federation/negotiation.test.d.ts} +0 -0
  259. /package/dist/{federation-C15gGOh1.cjs → federation-CoW-KDKv.cjs} +0 -0
  260. /package/dist/{federation-K-xsO03l.js → federation-D0hkM4T7.js} +0 -0
  261. /package/dist/{mod-C2tOeRkN.d.cts → mod-B-hUPT2N.d.cts} +0 -0
  262. /package/dist/{mod-1pDWKvUL.d.ts → mod-CVgZgliM.d.ts} +0 -0
  263. /package/dist/{mod-FZd39qVq.d.cts → mod-CcDPcLJW.d.cts} +0 -0
  264. /package/dist/{mod-g0xFzAP9.d.ts → mod-bjzj5QIb.d.ts} +0 -0
  265. /package/dist/{nodeinfo-DfycQ8Wf.js → nodeinfo-BnthBobC.js} +0 -0
  266. /package/dist/{nodeinfo-Co9lJrWl.cjs → nodeinfo-CdN0rEnZ.cjs} +0 -0
  267. /package/dist/{retry-D4GJ670a.js → retry-CfF8Gn4d.js} +0 -0
  268. /package/dist/{runtime-DPYEDf-o.js → sig-C34-oHBl.js} +0 -0
  269. /package/dist/{runtime-C58AJWSv.cjs → sig-YYj5tCnr.cjs} +0 -0
  270. /package/dist/{std__assert-X-_kMxKM.js → std__assert-DWivtrGR.js} +0 -0
  271. /package/dist/{runtime → utils}/docloader.test.d.ts +0 -0
  272. /package/dist/{runtime/authdocloader.test.d.ts → utils/kv-cache.test.d.ts} +0 -0
  273. /package/dist/{sig-Cj3tk-ig.js → utils-D-Va7aXC.js} +0 -0
  274. /package/dist/{sig-ByHXzqUi.cjs → utils-DyRU1gdZ.cjs} +0 -0
  275. /package/dist/{webfinger-De_bU0iE.js → webfinger-C72Y8lrh.js} +0 -0
  276. /package/dist/{webfinger-BjOEdFPs.cjs → webfinger-vAtLmxOF.cjs} +0 -0
@@ -4,21 +4,20 @@
4
4
 
5
5
  const require_chunk = require('./chunk-DqRYRqnO.cjs');
6
6
  const require_transformers = require('./transformers-CoBS-oFG.cjs');
7
- const require_docloader = require('./docloader-DJCmWQFv.cjs');
8
- const require_actor = require('./actor-DMxe8a2S.cjs');
9
- const require_lookup = require('./lookup-BI5Omd9s.cjs');
10
- const require_key = require('./key-Bl-6W_Cx.cjs');
11
- const require_http = require('./http-DOST1wn2.cjs');
12
- const require_proof = require('./proof-C5COc2tW.cjs');
13
- const require_types = require('./types-tmeoSVgM.cjs');
14
- const require_authdocloader = require('./authdocloader-DmTWTYA4.cjs');
15
- const require_vocab = require('./vocab-BnNSNBil.cjs');
7
+ const require_lookup = require('./lookup-Br9_ufLS.cjs');
8
+ const require_actor = require('./actor-ZEAP42Ry.cjs');
9
+ const require_http = require('./http-Dy7ENa6t.cjs');
10
+ const require_proof = require('./proof-CWQ0o-yI.cjs');
11
+ const require_types = require('./types-CWgzGaqk.cjs');
12
+ const require_kv_cache = require('./kv-cache-qW5Mv9rV.cjs');
13
+ const require_vocab = require('./vocab-aeFsUPtk.cjs');
16
14
  const __logtape_logtape = require_chunk.__toESM(require("@logtape/logtape"));
17
15
  const __opentelemetry_api = require_chunk.__toESM(require("@opentelemetry/api"));
18
- const byte_encodings_hex = require_chunk.__toESM(require("byte-encodings/hex"));
16
+ const __fedify_vocab_runtime = require_chunk.__toESM(require("@fedify/vocab-runtime"));
19
17
  const es_toolkit = require_chunk.__toESM(require("es-toolkit"));
20
18
  const uri_template_router = require_chunk.__toESM(require("uri-template-router"));
21
19
  const url_template = require_chunk.__toESM(require("url-template"));
20
+ const byte_encodings_hex = require_chunk.__toESM(require("byte-encodings/hex"));
22
21
  const __opentelemetry_semantic_conventions = require_chunk.__toESM(require("@opentelemetry/semantic-conventions"));
23
22
  const node_url = require_chunk.__toESM(require("node:url"));
24
23
 
@@ -56,7 +55,6 @@ var InboxListenerSet = class InboxListenerSet {
56
55
  return this.dispatchWithClass(activity)?.listener ?? null;
57
56
  }
58
57
  };
59
- let warnedAboutDefaultIdempotency = false;
60
58
  async function routeActivity({ context: ctx, json, activity, recipient, inboxListeners, inboxContextFactory, inboxErrorHandler, kv, kvPrefixes, queue, span, tracerProvider, idempotencyStrategy }) {
61
59
  const logger$1 = (0, __logtape_logtape.getLogger)([
62
60
  "fedify",
@@ -66,11 +64,7 @@ async function routeActivity({ context: ctx, json, activity, recipient, inboxLis
66
64
  let cacheKey = null;
67
65
  if (activity.id != null) {
68
66
  const inboxContext = inboxContextFactory(recipient, json, activity.id?.href, require_actor.getTypeId(activity).href);
69
- const strategy = idempotencyStrategy ?? "per-origin";
70
- if (idempotencyStrategy === void 0 && !warnedAboutDefaultIdempotency) {
71
- logger$1.warn("Using default idempotency strategy 'per-origin'. This default will change to 'per-inbox' in Fedify 2.0. Please explicitly set the idempotency strategy using .withIdempotency().");
72
- warnedAboutDefaultIdempotency = true;
73
- }
67
+ const strategy = idempotencyStrategy ?? "per-inbox";
74
68
  let keyString;
75
69
  if (typeof strategy === "function") {
76
70
  const result = await strategy(inboxContext, activity);
@@ -148,7 +142,7 @@ async function routeActivity({ context: ctx, json, activity, recipient, inboxLis
148
142
  return "enqueued";
149
143
  }
150
144
  tracerProvider = tracerProvider ?? __opentelemetry_api.trace.getTracerProvider();
151
- const tracer = tracerProvider.getTracer(require_docloader.deno_default.name, require_docloader.deno_default.version);
145
+ const tracer = tracerProvider.getTracer(require_lookup.deno_default.name, require_lookup.deno_default.version);
152
146
  return await tracer.startActiveSpan("activitypub.dispatch_inbox_listener", { kind: __opentelemetry_api.SpanKind.INTERNAL }, async (span$1) => {
153
147
  const dispatched = inboxListeners?.dispatchWithClass(activity);
154
148
  if (dispatched == null) {
@@ -345,7 +339,7 @@ var FederationBuilderImpl = class {
345
339
  this.collectionTypeIds = {};
346
340
  }
347
341
  async build(options) {
348
- const { FederationImpl: FederationImpl$1 } = await Promise.resolve().then(() => require("./middleware-BmGndt7n.cjs"));
342
+ const { FederationImpl: FederationImpl$1 } = await Promise.resolve().then(() => require("./middleware-BPmn8w0u.cjs"));
349
343
  const f = new FederationImpl$1(options);
350
344
  const trailingSlashInsensitiveValue = f.router.trailingSlashInsensitive;
351
345
  f.router = this.router.clone();
@@ -371,7 +365,7 @@ var FederationBuilderImpl = class {
371
365
  return f;
372
366
  }
373
367
  _getTracer() {
374
- return __opentelemetry_api.trace.getTracer(require_docloader.deno_default.name, require_docloader.deno_default.version);
368
+ return __opentelemetry_api.trace.getTracer(require_lookup.deno_default.name, require_lookup.deno_default.version);
375
369
  }
376
370
  setActorDispatcher(path, dispatcher) {
377
371
  if (this.router.has("actor")) throw new RouterError("Actor dispatcher already set.");
@@ -1008,9 +1002,6 @@ function preferredMediaTypes(accept) {
1008
1002
  const accepts = parseAccept(accept === void 0 ? "*/*" : accept ?? "");
1009
1003
  return accepts.filter(isQuality).sort(compareSpecs).map(getFullType);
1010
1004
  }
1011
-
1012
- //#endregion
1013
- //#region src/federation/handler.ts
1014
1005
  function acceptsJsonLd(request) {
1015
1006
  const accept = request.headers.get("Accept");
1016
1007
  const types = accept ? preferredMediaTypes(accept) : ["*/*"];
@@ -1018,6 +1009,9 @@ function acceptsJsonLd(request) {
1018
1009
  if (types[0] === "text/html" || types[0] === "application/xhtml+xml") return false;
1019
1010
  return types.includes("application/activity+json") || types.includes("application/ld+json") || types.includes("application/json");
1020
1011
  }
1012
+
1013
+ //#endregion
1014
+ //#region src/federation/handler.ts
1021
1015
  /**
1022
1016
  * Handles an actor request.
1023
1017
  * @template TContextData The context data to pass to the context.
@@ -1025,7 +1019,7 @@ function acceptsJsonLd(request) {
1025
1019
  * @param parameters The parameters for handling the actor.
1026
1020
  * @returns A promise that resolves to an HTTP response.
1027
1021
  */
1028
- async function handleActor(request, { identifier, context: context$2, actorDispatcher, authorizePredicate, onNotFound, onNotAcceptable, onUnauthorized }) {
1022
+ async function handleActor(request, { identifier, context: context$2, actorDispatcher, authorizePredicate, onNotFound, onUnauthorized }) {
1029
1023
  const logger$1 = (0, __logtape_logtape.getLogger)([
1030
1024
  "fedify",
1031
1025
  "federation",
@@ -1040,7 +1034,6 @@ async function handleActor(request, { identifier, context: context$2, actorDispa
1040
1034
  logger$1.debug("Actor {identifier} not found.", { identifier });
1041
1035
  return await onNotFound(request);
1042
1036
  }
1043
- if (!acceptsJsonLd(request)) return await onNotAcceptable(request);
1044
1037
  if (authorizePredicate != null) {
1045
1038
  let key = await context$2.getSignedKey();
1046
1039
  key = key?.clone({}, { $warning: {
@@ -1075,11 +1068,10 @@ async function handleActor(request, { identifier, context: context$2, actorDispa
1075
1068
  * @param parameters The parameters for handling the object.
1076
1069
  * @returns A promise that resolves to an HTTP response.
1077
1070
  */
1078
- async function handleObject(request, { values, context: context$2, objectDispatcher, authorizePredicate, onNotFound, onNotAcceptable, onUnauthorized }) {
1071
+ async function handleObject(request, { values, context: context$2, objectDispatcher, authorizePredicate, onNotFound, onUnauthorized }) {
1079
1072
  if (objectDispatcher == null) return await onNotFound(request);
1080
1073
  const object = await objectDispatcher(context$2, values);
1081
1074
  if (object == null) return await onNotFound(request);
1082
- if (!acceptsJsonLd(request)) return await onNotAcceptable(request);
1083
1075
  if (authorizePredicate != null) {
1084
1076
  let key = await context$2.getSignedKey();
1085
1077
  key = key?.clone({}, { $warning: {
@@ -1117,10 +1109,10 @@ async function handleObject(request, { values, context: context$2, objectDispatc
1117
1109
  * @param parameters The parameters for handling the collection.
1118
1110
  * @returns A promise that resolves to an HTTP response.
1119
1111
  */
1120
- async function handleCollection(request, { name, identifier, uriGetter, filter, filterPredicate, context: context$2, collectionCallbacks, tracerProvider, onUnauthorized, onNotFound, onNotAcceptable }) {
1112
+ async function handleCollection(request, { name, identifier, uriGetter, filter, filterPredicate, context: context$2, collectionCallbacks, tracerProvider, onUnauthorized, onNotFound }) {
1121
1113
  const spanName = name.trim().replace(/\s+/g, "_");
1122
1114
  tracerProvider = tracerProvider ?? __opentelemetry_api.trace.getTracerProvider();
1123
- const tracer = tracerProvider.getTracer(require_docloader.deno_default.name, require_docloader.deno_default.version);
1115
+ const tracer = tracerProvider.getTracer(require_lookup.deno_default.name, require_lookup.deno_default.version);
1124
1116
  const url = new URL(request.url);
1125
1117
  const cursor = url.searchParams.get("cursor");
1126
1118
  if (collectionCallbacks == null) return await onNotFound(request);
@@ -1230,7 +1222,6 @@ async function handleCollection(request, { name, identifier, uriGetter, filter,
1230
1222
  partOf
1231
1223
  });
1232
1224
  }
1233
- if (!acceptsJsonLd(request)) return await onNotAcceptable(request);
1234
1225
  if (collectionCallbacks.authorizePredicate != null) {
1235
1226
  let key = await context$2.getSignedKey();
1236
1227
  key = key?.clone({}, { $warning: {
@@ -1298,7 +1289,7 @@ function filterCollectionItems(items, collectionName, filterPredicate) {
1298
1289
  */
1299
1290
  async function handleInbox(request, options) {
1300
1291
  const tracerProvider = options.tracerProvider ?? __opentelemetry_api.trace.getTracerProvider();
1301
- const tracer = tracerProvider.getTracer(require_docloader.deno_default.name, require_docloader.deno_default.version);
1292
+ const tracer = tracerProvider.getTracer(require_lookup.deno_default.name, require_lookup.deno_default.version);
1302
1293
  return await tracer.startActiveSpan("activitypub.inbox", {
1303
1294
  kind: options.queue == null ? __opentelemetry_api.SpanKind.SERVER : __opentelemetry_api.SpanKind.PRODUCER,
1304
1295
  attributes: { "activitypub.shared_inbox": options.recipient == null }
@@ -1577,7 +1568,6 @@ async function handleInboxInternal(request, parameters, span) {
1577
1568
  const handleCustomCollection = exceptWrapper(_handleCustomCollection);
1578
1569
  async function _handleCustomCollection(request, { name, values, context: context$2, tracerProvider, collectionCallbacks: callbacks, filterPredicate }) {
1579
1570
  verifyDefined(callbacks);
1580
- verifyJsonLdRequest(request);
1581
1571
  await authIfNeeded(context$2, values, callbacks);
1582
1572
  const cursor = new URL(request.url).searchParams.get("cursor");
1583
1573
  return await new CustomCollectionHandler(name, values, context$2, callbacks, tracerProvider, require_actor.Collection, require_actor.CollectionPage, filterPredicate).fetchCollection(cursor).toJsonLd().then(respondAsActivity);
@@ -1596,7 +1586,6 @@ async function _handleCustomCollection(request, { name, values, context: context
1596
1586
  const handleOrderedCollection = exceptWrapper(_handleOrderedCollection);
1597
1587
  async function _handleOrderedCollection(request, { name, values, context: context$2, tracerProvider, collectionCallbacks: callbacks, filterPredicate }) {
1598
1588
  verifyDefined(callbacks);
1599
- verifyJsonLdRequest(request);
1600
1589
  await authIfNeeded(context$2, values, callbacks);
1601
1590
  const cursor = new URL(request.url).searchParams.get("cursor");
1602
1591
  return await new CustomCollectionHandler(name, values, context$2, callbacks, tracerProvider, require_actor.OrderedCollection, require_actor.OrderedCollectionPage, filterPredicate).fetchCollection(cursor).toJsonLd().then(respondAsActivity);
@@ -1659,7 +1648,7 @@ var CustomCollectionHandler = class {
1659
1648
  this.CollectionPage = CollectionPage$1;
1660
1649
  this.filterPredicate = filterPredicate;
1661
1650
  this.name = this.name.trim().replace(/\s+/g, "_");
1662
- this.#tracer = this.tracerProvider.getTracer(require_docloader.deno_default.name, require_docloader.deno_default.version);
1651
+ this.#tracer = this.tracerProvider.getTracer(require_lookup.deno_default.name, require_lookup.deno_default.version);
1663
1652
  this.#id = new URL(this.context.url);
1664
1653
  this.#dispatcher = callbacks.dispatcher.bind(callbacks);
1665
1654
  }
@@ -1873,10 +1862,9 @@ function exceptWrapper(handler) {
1873
1862
  try {
1874
1863
  return await handler(request, handlerParams);
1875
1864
  } catch (error) {
1876
- const { onNotFound, onNotAcceptable, onUnauthorized } = handlerParams;
1865
+ const { onNotFound, onUnauthorized } = handlerParams;
1877
1866
  switch (error?.constructor) {
1878
1867
  case ItemsNotFoundError: return await onNotFound(request);
1879
- case NotAcceptableError: return await onNotAcceptable(request);
1880
1868
  case UnauthorizedError: return await onUnauthorized(request);
1881
1869
  default: throw error;
1882
1870
  }
@@ -1894,15 +1882,6 @@ const verifyDefined = (callbacks) => {
1894
1882
  if (callbacks === void 0) throw new ItemsNotFoundError();
1895
1883
  };
1896
1884
  /**
1897
- * Verifies that a request accepts JSON-LD content type.
1898
- * @param request The HTTP request to verify.
1899
- * @throws {NotAcceptableError} If the request doesn't accept JSON-LD.
1900
- * @since 1.8.0
1901
- */
1902
- const verifyJsonLdRequest = (request) => {
1903
- if (!acceptsJsonLd(request)) throw new NotAcceptableError();
1904
- };
1905
- /**
1906
1885
  * Performs authorization if needed based on the authorization predicate.
1907
1886
  * @template TContextData The context data type.
1908
1887
  * @param {RequestContext<TContextData>} context The request context.
@@ -1986,15 +1965,6 @@ var ItemsNotFoundError = class extends HandlerError {
1986
1965
  }
1987
1966
  };
1988
1967
  /**
1989
- * Error thrown when the request is not acceptable (e.g., wrong content type).
1990
- * @since 1.8.0
1991
- */
1992
- var NotAcceptableError = class extends HandlerError {
1993
- constructor() {
1994
- super("The request is not acceptable.");
1995
- }
1996
- };
1997
- /**
1998
1968
  * Error thrown when access to a collection is unauthorized.
1999
1969
  * @since 1.8.0
2000
1970
  */
@@ -2269,7 +2239,7 @@ function extractInboxes({ recipients, preferSharedInbox, excludeBaseUris }) {
2269
2239
  */
2270
2240
  function sendActivity(options) {
2271
2241
  const tracerProvider = options.tracerProvider ?? __opentelemetry_api.trace.getTracerProvider();
2272
- const tracer = tracerProvider.getTracer(require_docloader.deno_default.name, require_docloader.deno_default.version);
2242
+ const tracer = tracerProvider.getTracer(require_lookup.deno_default.name, require_lookup.deno_default.version);
2273
2243
  return tracer.startActiveSpan("activitypub.send_activity", {
2274
2244
  kind: __opentelemetry_api.SpanKind.CLIENT,
2275
2245
  attributes: { "activitypub.shared_inbox": options.sharedInbox ?? false }
@@ -2391,7 +2361,6 @@ var FederationImpl = class extends FederationBuilderImpl {
2391
2361
  firstKnock;
2392
2362
  constructor(options) {
2393
2363
  super();
2394
- const logger$1 = (0, __logtape_logtape.getLogger)(["fedify", "federation"]);
2395
2364
  this.kv = options.kv;
2396
2365
  this.kvPrefixes = {
2397
2366
  activityIdempotence: ["_fedify", "activityIdempotence"],
@@ -2439,19 +2408,15 @@ var FederationImpl = class extends FederationBuilderImpl {
2439
2408
  this.router.trailingSlashInsensitive = options.trailingSlashInsensitive ?? false;
2440
2409
  this._initializeRouter();
2441
2410
  if (options.allowPrivateAddress || options.userAgent != null) {
2442
- if (options.documentLoader != null) throw new TypeError("Cannot set documentLoader with allowPrivateAddress or userAgent options.");
2443
- else if (options.contextLoader != null) throw new TypeError("Cannot set contextLoader with allowPrivateAddress or userAgent options.");
2444
- else if (options.authenticatedDocumentLoaderFactory != null) throw new TypeError("Cannot set authenticatedDocumentLoaderFactory with allowPrivateAddress or userAgent options.");
2411
+ if (options.documentLoaderFactory != null) throw new TypeError("Cannot set documentLoaderFactory with allowPrivateAddress or userAgent options.");
2412
+ if (options.contextLoaderFactory != null) throw new TypeError("Cannot set contextLoaderFactory with allowPrivateAddress or userAgent options.");
2413
+ if (options.authenticatedDocumentLoaderFactory != null) throw new TypeError("Cannot set authenticatedDocumentLoaderFactory with allowPrivateAddress or userAgent options.");
2445
2414
  }
2446
2415
  const { allowPrivateAddress, userAgent } = options;
2447
2416
  this.allowPrivateAddress = allowPrivateAddress ?? false;
2448
- if (options.documentLoader != null) {
2449
- if (options.documentLoaderFactory != null) throw new TypeError("Cannot set both documentLoader and documentLoaderFactory options at a time; use documentLoaderFactory only.");
2450
- this.documentLoaderFactory = () => options.documentLoader;
2451
- logger$1.warn("The documentLoader option is deprecated; use documentLoaderFactory option instead.");
2452
- } else this.documentLoaderFactory = options.documentLoaderFactory ?? ((opts) => {
2453
- return require_docloader.kvCache({
2454
- loader: require_docloader.getDocumentLoader({
2417
+ this.documentLoaderFactory = options.documentLoaderFactory ?? ((opts) => {
2418
+ return require_kv_cache.kvCache({
2419
+ loader: (0, __fedify_vocab_runtime.getDocumentLoader)({
2455
2420
  allowPrivateAddress: opts?.allowPrivateAddress ?? allowPrivateAddress,
2456
2421
  userAgent: opts?.userAgent ?? userAgent
2457
2422
  }),
@@ -2459,12 +2424,8 @@ var FederationImpl = class extends FederationBuilderImpl {
2459
2424
  prefix: this.kvPrefixes.remoteDocument
2460
2425
  });
2461
2426
  });
2462
- if (options.contextLoader != null) {
2463
- if (options.contextLoaderFactory != null) throw new TypeError("Cannot set both contextLoader and contextLoaderFactory options at a time; use contextLoaderFactory only.");
2464
- this.contextLoaderFactory = () => options.contextLoader;
2465
- logger$1.warn("The contextLoader option is deprecated; use contextLoaderFactory option instead.");
2466
- } else this.contextLoaderFactory = options.contextLoaderFactory ?? this.documentLoaderFactory;
2467
- this.authenticatedDocumentLoaderFactory = options.authenticatedDocumentLoaderFactory ?? ((identity) => require_authdocloader.getAuthenticatedDocumentLoader(identity, {
2427
+ this.contextLoaderFactory = options.contextLoaderFactory ?? this.documentLoaderFactory;
2428
+ this.authenticatedDocumentLoaderFactory = options.authenticatedDocumentLoaderFactory ?? ((identity) => require_kv_cache.getAuthenticatedDocumentLoader(identity, {
2468
2429
  allowPrivateAddress,
2469
2430
  userAgent,
2470
2431
  specDeterminer: new KvSpecDeterminer(this.kv, this.kvPrefixes.httpMessageSignaturesSpec, options.firstKnock),
@@ -2485,7 +2446,7 @@ var FederationImpl = class extends FederationBuilderImpl {
2485
2446
  this.router.add("/.well-known/nodeinfo", "nodeInfoJrd");
2486
2447
  }
2487
2448
  _getTracer() {
2488
- return this.tracerProvider.getTracer(require_docloader.deno_default.name, require_docloader.deno_default.version);
2449
+ return this.tracerProvider.getTracer(require_lookup.deno_default.name, require_lookup.deno_default.version);
2489
2450
  }
2490
2451
  async _startQueueInternal(ctxData, signal, queue) {
2491
2452
  if (this.inboxQueue == null && this.outboxQueue == null) return;
@@ -2583,7 +2544,7 @@ var FederationImpl = class extends FederationBuilderImpl {
2583
2544
  });
2584
2545
  const keys = await Promise.all(message.keys.map(async ({ keyId, privateKey }) => ({
2585
2546
  keyId: new URL(keyId),
2586
- privateKey: await require_key.importJwk(privateKey, "private")
2547
+ privateKey: await require_http.importJwk(privateKey, "private")
2587
2548
  })));
2588
2549
  const activity = await require_actor.Activity.fromJsonLd(message.activity, {
2589
2550
  contextLoader: this.contextLoaderFactory({
@@ -2624,7 +2585,7 @@ var FederationImpl = class extends FederationBuilderImpl {
2624
2585
  for (const { keyId, privateKey } of message.keys) {
2625
2586
  const pair = {
2626
2587
  keyId: new URL(keyId),
2627
- privateKey: await require_key.importJwk(privateKey, "private")
2588
+ privateKey: await require_http.importJwk(privateKey, "private")
2628
2589
  };
2629
2590
  if (rsaKeyPair == null && pair.privateKey.algorithm.name === "RSASSA-PKCS1-v1_5") rsaKeyPair = pair;
2630
2591
  keys.push(pair);
@@ -2859,7 +2820,7 @@ var FederationImpl = class extends FederationBuilderImpl {
2859
2820
  let proofCreated = false;
2860
2821
  let rsaKey = null;
2861
2822
  for (const { keyId, privateKey } of keys) {
2862
- require_key.validateCryptoKey(privateKey, "private");
2823
+ require_http.validateCryptoKey(privateKey, "private");
2863
2824
  if (rsaKey == null && privateKey.algorithm.name === "RSASSA-PKCS1-v1_5") {
2864
2825
  rsaKey = {
2865
2826
  keyId,
@@ -2927,7 +2888,7 @@ var FederationImpl = class extends FederationBuilderImpl {
2927
2888
  });
2928
2889
  const keyJwkPairs = [];
2929
2890
  for (const { keyId, privateKey } of keys) {
2930
- const privateKeyJwk = await require_key.exportJwk(privateKey);
2891
+ const privateKeyJwk = await require_http.exportJwk(privateKey);
2931
2892
  keyJwkPairs.push({
2932
2893
  keyId: keyId.href,
2933
2894
  privateKey: privateKeyJwk
@@ -3002,6 +2963,7 @@ var FederationImpl = class extends FederationBuilderImpl {
3002
2963
  span,
3003
2964
  tracer
3004
2965
  });
2966
+ if (acceptsJsonLd(request)) response.headers.set("Vary", "Accept");
3005
2967
  } catch (error) {
3006
2968
  span.setStatus({
3007
2969
  code: __opentelemetry_api.SpanStatusCode.ERROR,
@@ -3065,6 +3027,9 @@ var FederationImpl = class extends FederationBuilderImpl {
3065
3027
  context: context$2,
3066
3028
  nodeInfoDispatcher: this.nodeInfoDispatcher
3067
3029
  });
3030
+ }
3031
+ if (request.method !== "POST" && !acceptsJsonLd(request)) return await onNotAcceptable(request);
3032
+ switch (routeName) {
3068
3033
  case "actor":
3069
3034
  context$2 = this.#createContext(request, contextData, { invokedFromActorDispatcher: { identifier: route.values.identifier ?? route.values.handle } });
3070
3035
  return await handleActor(request, {
@@ -3073,8 +3038,7 @@ var FederationImpl = class extends FederationBuilderImpl {
3073
3038
  actorDispatcher: this.actorCallbacks?.dispatcher,
3074
3039
  authorizePredicate: this.actorCallbacks?.authorizePredicate,
3075
3040
  onUnauthorized,
3076
- onNotFound,
3077
- onNotAcceptable
3041
+ onNotFound
3078
3042
  });
3079
3043
  case "object": {
3080
3044
  const typeId = route.name.replace(/^object:/, "");
@@ -3090,8 +3054,7 @@ var FederationImpl = class extends FederationBuilderImpl {
3090
3054
  objectDispatcher: callbacks?.dispatcher,
3091
3055
  authorizePredicate: callbacks?.authorizePredicate,
3092
3056
  onUnauthorized,
3093
- onNotFound,
3094
- onNotAcceptable
3057
+ onNotFound
3095
3058
  });
3096
3059
  }
3097
3060
  case "outbox": return await handleCollection(request, {
@@ -3102,8 +3065,7 @@ var FederationImpl = class extends FederationBuilderImpl {
3102
3065
  collectionCallbacks: this.outboxCallbacks,
3103
3066
  tracerProvider: this.tracerProvider,
3104
3067
  onUnauthorized,
3105
- onNotFound,
3106
- onNotAcceptable
3068
+ onNotFound
3107
3069
  });
3108
3070
  case "inbox":
3109
3071
  if (request.method !== "POST") return await handleCollection(request, {
@@ -3114,8 +3076,7 @@ var FederationImpl = class extends FederationBuilderImpl {
3114
3076
  collectionCallbacks: this.inboxCallbacks,
3115
3077
  tracerProvider: this.tracerProvider,
3116
3078
  onUnauthorized,
3117
- onNotFound,
3118
- onNotAcceptable
3079
+ onNotFound
3119
3080
  });
3120
3081
  context$2 = this.#createContext(request, contextData, { documentLoader: await context$2.getDocumentLoader({ identifier: route.values.identifier ?? route.values.handle }) });
3121
3082
  case "sharedInbox":
@@ -3148,8 +3109,7 @@ var FederationImpl = class extends FederationBuilderImpl {
3148
3109
  collectionCallbacks: this.followingCallbacks,
3149
3110
  tracerProvider: this.tracerProvider,
3150
3111
  onUnauthorized,
3151
- onNotFound,
3152
- onNotAcceptable
3112
+ onNotFound
3153
3113
  });
3154
3114
  case "followers": {
3155
3115
  let baseUrl = url.searchParams.get("base-url");
@@ -3172,8 +3132,7 @@ var FederationImpl = class extends FederationBuilderImpl {
3172
3132
  collectionCallbacks: this.followersCallbacks,
3173
3133
  tracerProvider: this.tracerProvider,
3174
3134
  onUnauthorized,
3175
- onNotFound,
3176
- onNotAcceptable
3135
+ onNotFound
3177
3136
  });
3178
3137
  }
3179
3138
  case "liked": return await handleCollection(request, {
@@ -3184,8 +3143,7 @@ var FederationImpl = class extends FederationBuilderImpl {
3184
3143
  collectionCallbacks: this.likedCallbacks,
3185
3144
  tracerProvider: this.tracerProvider,
3186
3145
  onUnauthorized,
3187
- onNotFound,
3188
- onNotAcceptable
3146
+ onNotFound
3189
3147
  });
3190
3148
  case "featured": return await handleCollection(request, {
3191
3149
  name: "featured",
@@ -3195,8 +3153,7 @@ var FederationImpl = class extends FederationBuilderImpl {
3195
3153
  collectionCallbacks: this.featuredCallbacks,
3196
3154
  tracerProvider: this.tracerProvider,
3197
3155
  onUnauthorized,
3198
- onNotFound,
3199
- onNotAcceptable
3156
+ onNotFound
3200
3157
  });
3201
3158
  case "featuredTags": return await handleCollection(request, {
3202
3159
  name: "featured tags",
@@ -3206,8 +3163,7 @@ var FederationImpl = class extends FederationBuilderImpl {
3206
3163
  collectionCallbacks: this.featuredTagsCallbacks,
3207
3164
  tracerProvider: this.tracerProvider,
3208
3165
  onUnauthorized,
3209
- onNotFound,
3210
- onNotAcceptable
3166
+ onNotFound
3211
3167
  });
3212
3168
  case "collection": {
3213
3169
  const name = route.name.replace(/^collection:/, "");
@@ -3219,8 +3175,7 @@ var FederationImpl = class extends FederationBuilderImpl {
3219
3175
  collectionCallbacks: callbacks,
3220
3176
  tracerProvider: this.tracerProvider,
3221
3177
  onUnauthorized,
3222
- onNotFound,
3223
- onNotAcceptable
3178
+ onNotFound
3224
3179
  });
3225
3180
  }
3226
3181
  case "orderedCollection": {
@@ -3233,8 +3188,7 @@ var FederationImpl = class extends FederationBuilderImpl {
3233
3188
  collectionCallbacks: callbacks,
3234
3189
  tracerProvider: this.tracerProvider,
3235
3190
  onUnauthorized,
3236
- onNotFound,
3237
- onNotAcceptable
3191
+ onNotFound
3238
3192
  });
3239
3193
  }
3240
3194
  default: {
@@ -3634,7 +3588,7 @@ var ContextImpl = class ContextImpl {
3634
3588
  });
3635
3589
  }
3636
3590
  sendActivity(sender, recipients, activity, options = {}) {
3637
- const tracer = this.tracerProvider.getTracer(require_docloader.deno_default.name, require_docloader.deno_default.version);
3591
+ const tracer = this.tracerProvider.getTracer(require_lookup.deno_default.name, require_lookup.deno_default.version);
3638
3592
  return tracer.startActiveSpan(this.federation.outboxQueue == null || options.immediate ? "activitypub.outbox" : "activitypub.fanout", {
3639
3593
  kind: this.federation.outboxQueue == null || options.immediate ? __opentelemetry_api.SpanKind.CLIENT : __opentelemetry_api.SpanKind.PRODUCER,
3640
3594
  attributes: {
@@ -3691,7 +3645,7 @@ var ContextImpl = class ContextImpl {
3691
3645
  keys = sender;
3692
3646
  } else keys = [sender];
3693
3647
  if (keys.length < 1) throw new TypeError("The sender's keys must not be empty.");
3694
- for (const { privateKey } of keys) require_key.validateCryptoKey(privateKey, "private");
3648
+ for (const { privateKey } of keys) require_http.validateCryptoKey(privateKey, "private");
3695
3649
  const opts = { context: this };
3696
3650
  let expandedRecipients;
3697
3651
  if (Array.isArray(recipients)) expandedRecipients = recipients;
@@ -3732,7 +3686,7 @@ var ContextImpl = class ContextImpl {
3732
3686
  }
3733
3687
  const keyJwkPairs = await Promise.all(keys.map(async ({ keyId, privateKey }) => ({
3734
3688
  keyId: keyId.href,
3735
- privateKey: await require_key.exportJwk(privateKey)
3689
+ privateKey: await require_http.exportJwk(privateKey)
3736
3690
  })));
3737
3691
  const carrier = {};
3738
3692
  __opentelemetry_api.propagation.inject(__opentelemetry_api.context.active(), carrier);
@@ -3780,7 +3734,7 @@ var ContextImpl = class ContextImpl {
3780
3734
  }
3781
3735
  routeActivity(recipient, activity, options = {}) {
3782
3736
  const tracerProvider = this.tracerProvider ?? this.tracerProvider;
3783
- const tracer = tracerProvider.getTracer(require_docloader.deno_default.name, require_docloader.deno_default.version);
3737
+ const tracer = tracerProvider.getTracer(require_lookup.deno_default.name, require_lookup.deno_default.version);
3784
3738
  return tracer.startActiveSpan("activitypub.inbox", {
3785
3739
  kind: this.federation.inboxQueue == null || options.immediate ? __opentelemetry_api.SpanKind.INTERNAL : __opentelemetry_api.SpanKind.PRODUCER,
3786
3740
  attributes: { "activitypub.activity.type": require_actor.getTypeId(activity).href }
@@ -3998,7 +3952,7 @@ var InboxContextImpl = class InboxContextImpl extends ContextImpl {
3998
3952
  });
3999
3953
  }
4000
3954
  forwardActivity(forwarder, recipients, options) {
4001
- const tracer = this.tracerProvider.getTracer(require_docloader.deno_default.name, require_docloader.deno_default.version);
3955
+ const tracer = this.tracerProvider.getTracer(require_lookup.deno_default.name, require_lookup.deno_default.version);
4002
3956
  return tracer.startActiveSpan("activitypub.outbox", {
4003
3957
  kind: this.federation.outboxQueue == null || options?.immediate ? __opentelemetry_api.SpanKind.CLIENT : __opentelemetry_api.SpanKind.PRODUCER,
4004
3958
  attributes: { "activitypub.activity.type": this.activityType }
@@ -4099,7 +4053,7 @@ var InboxContextImpl = class InboxContextImpl extends ContextImpl {
4099
4053
  });
4100
4054
  const keyJwkPairs = [];
4101
4055
  for (const { keyId, privateKey } of keys) {
4102
- const privateKeyJwk = await require_key.exportJwk(privateKey);
4056
+ const privateKeyJwk = await require_http.exportJwk(privateKey);
4103
4057
  keyJwkPairs.push({
4104
4058
  keyId: keyId.href,
4105
4059
  privateKey: privateKeyJwk
@@ -0,0 +1,15 @@
1
+
2
+ import { Temporal } from "@js-temporal/polyfill";
3
+ import { URLPattern } from "urlpattern-polyfill";
4
+
5
+ import "./transformers-BFT6d7J5.js";
6
+ import "./lookup-Cj543vD4.js";
7
+ import "./actor-Cm25mX8I.js";
8
+ import { ContextImpl, FederationImpl, InboxContextImpl, KvSpecDeterminer, createFederation } from "./middleware-hM1Z5nWM.js";
9
+ import "./http-B8aQ8cUK.js";
10
+ import "./proof-CXrz_moF.js";
11
+ import "./types-BtUjyi5y.js";
12
+ import "./kv-cache-B4Y86MKl.js";
13
+ import "./vocab-DZvBYZFH.js";
14
+
15
+ export { FederationImpl };