@fedify/fedify 2.0.0-dev.1485 → 2.0.0-dev.149

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 (311) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +38 -18
  3. package/dist/actor-CCAL5-E_.cjs +42079 -0
  4. package/dist/{actor-7ivEf1H3.js → actor-DYdPViDz.js} +4 -1
  5. package/dist/{actor-C22bXuuC.d.ts → actor-DqFajh9s.d.ts} +2 -2
  6. package/dist/{actor-DXTdNCfp.js → actor-U_BZZ2ps.js} +7058 -2722
  7. package/dist/actor-f2NtjyCg.d.cts +128 -0
  8. package/dist/{assert-MZs1qjMx.js → assert-Dp5_aoAs.js} +1 -1
  9. package/dist/{assert_instance_of-DHz7EHNU.js → assert_instance_of-D1m8F7x0.js} +1 -1
  10. package/dist/{assert_not_equals-f3m3epl3.js → assert_not_equals-B2R_8p36.js} +1 -1
  11. package/dist/{assert_rejects-DiIiJbZn.js → assert_rejects-BoKYY0g1.js} +2 -2
  12. package/dist/{assert_is_error-BPGph1Jx.js → assert_throws-DjkXin1a.js} +32 -2
  13. package/dist/{builder-BPGqEvtB.js → builder-CYR2yKqn.js} +20 -8
  14. package/dist/chunk-DqRYRqnO.cjs +34 -0
  15. package/dist/chunk-HsBuZ-b2.js +41 -0
  16. package/dist/client-94iWEfQa.d.cts +222 -0
  17. package/dist/{client-DF8anIB5.d.ts → client-BsGzbnV-.d.ts} +3 -75
  18. package/dist/{client-g2FDBoeY.js → client-CD87uCL_.js} +4 -23
  19. package/dist/compat/mod.cjs +10 -0
  20. package/dist/compat/mod.d.cts +11 -0
  21. package/dist/compat/mod.d.ts +10 -12
  22. package/dist/compat/mod.js +5 -5
  23. package/dist/compat/transformers.test.js +29 -24
  24. package/dist/compat-DmDDELst.cjs +4 -0
  25. package/dist/compat-nxUqe4Z-.js +4 -0
  26. package/dist/context-DBQ7nMCw.d.cts +2449 -0
  27. package/dist/context-DH7LHJdw.js +109 -0
  28. package/dist/{context-DmlbRh9p.d.ts → context-mM0Nu5yo.d.ts} +335 -134
  29. package/dist/deno-BTeveqhY.js +131 -0
  30. package/dist/{testing-BG_8Fyas.js → dist-lStjlyET.js} +73 -114
  31. package/dist/{authdocloader-D_IvQE4z.js → docloader-BSGGKhrl.js} +17 -8
  32. package/dist/{esm-CPZhxxGc.js → esm-B52TuumP.js} +32 -17
  33. package/dist/federation/builder.test.js +16 -16
  34. package/dist/federation/collection.test.js +9 -12
  35. package/dist/federation/handler.test.js +123 -152
  36. package/dist/federation/idempotency.test.js +206 -0
  37. package/dist/federation/inbox.test.js +7 -7
  38. package/dist/federation/keycache.test.js +7 -8
  39. package/dist/federation/kv.test.js +64 -12
  40. package/dist/federation/middleware.test.js +281 -99
  41. package/dist/federation/mod.cjs +27 -0
  42. package/dist/federation/mod.d.cts +11 -0
  43. package/dist/federation/mod.d.ts +11 -13
  44. package/dist/federation/mod.js +13 -15
  45. package/dist/federation/mq.test.js +12 -13
  46. package/dist/federation/negotiation.test.js +25 -0
  47. package/dist/federation/retry.test.js +4 -6
  48. package/dist/federation/router.test.js +9 -11
  49. package/dist/federation/send.test.js +61 -18
  50. package/dist/federation-CoW-KDKv.cjs +266 -0
  51. package/dist/{federation-CMX7WzeL.js → federation-D0hkM4T7.js} +25 -3
  52. package/dist/{http-C7rxW7Kh.js → http-BIDOYI9f.js} +4 -3
  53. package/dist/{http-zsOxPKCt.js → http-BQRnmfXP.js} +260 -10
  54. package/dist/{http-DqSNLFNY.d.ts → http-BbO0ejuk.d.ts} +2 -2
  55. package/dist/http-DtYHWbwa.cjs +1106 -0
  56. package/dist/http-M8k5mKc0.d.cts +253 -0
  57. package/dist/{inbox-eK2W2MF3.js → inbox-DNjplQSR.js} +26 -7
  58. package/dist/{key-CYOcZ9G5.js → key-dws2_YsP.js} +4 -2
  59. package/dist/{keycache-BLq6GT4_.js → keycache-BbbXRjc-.js} +1 -1
  60. package/dist/{keys-BIwlbtMN.js → keys-C6QyjjIN.js} +2 -1
  61. package/dist/{kv-C7sopW2E.d.ts → kv-BpJND1Hr.d.ts} +30 -1
  62. package/dist/{kv-CRZrzyXm.js → kv-DaWUKuhD.js} +22 -0
  63. package/dist/kv-cD_d4hg-.d.cts +110 -0
  64. package/dist/kv-cache-1_lcnUMp.cjs +134 -0
  65. package/dist/kv-cache-BEP4OyiZ.js +122 -0
  66. package/dist/kv-cache-C6NrTtII.js +107 -0
  67. package/dist/{ld-DWwLYT4e.js → ld-C6UrncJk.js} +7 -4
  68. package/dist/lookup-BORWbouU.cjs +268 -0
  69. package/dist/lookup-BV72lfsA.js +256 -0
  70. package/dist/{lookup-DNQyH8UQ.js → lookup-BoiLMtAx.js} +33 -125
  71. package/dist/{lookup-BHYMosdS.js → lookup-yv_aH7K7.js} +3 -1
  72. package/dist/{middleware-BcVqlHyD.js → middleware--1K3DAB8.js} +143 -136
  73. package/dist/middleware-7Yg2p_nl.js +31 -0
  74. package/dist/{middleware-DakCaqXu.js → middleware-8Oymc6Na.js} +105 -188
  75. package/dist/middleware-C6YBw2qx.cjs +15 -0
  76. package/dist/middleware-D6XNERu3.js +15 -0
  77. package/dist/middleware-DBHDivdC.cjs +4237 -0
  78. package/dist/mod-B-hUPT2N.d.cts +1 -0
  79. package/dist/{mod-Cxt4Kpf6.d.ts → mod-BlVovdcy.d.ts} +20 -2
  80. package/dist/mod-BxRCHTz-.d.cts +307 -0
  81. package/dist/mod-C58MZ7Wx.d.cts +113 -0
  82. package/dist/mod-CAdoBu0x.d.ts +109 -0
  83. package/dist/mod-CcDPcLJW.d.cts +1 -0
  84. package/dist/{mod-Drmz72EK.d.ts → mod-D5Z2tISD.d.ts} +3 -3
  85. package/dist/mod-DgxG-byT.d.cts +266 -0
  86. package/dist/{lookup-3czM5mmU.d.ts → mod-Ds0mpFZU.d.ts} +9 -2
  87. package/dist/mod-Dy2fJtmN.d.cts +80 -0
  88. package/dist/{mod-0EysZ-dJ.d.ts → mod-GetHzY6F.d.ts} +2 -2
  89. package/dist/mod-fxr25Gv7.d.cts +107 -0
  90. package/dist/mod.cjs +137 -0
  91. package/dist/mod.d.cts +15 -0
  92. package/dist/mod.d.ts +15 -18
  93. package/dist/mod.js +19 -21
  94. package/dist/negotiation-B4NJHk1f.js +71 -0
  95. package/dist/nodeinfo/client.test.js +32 -114
  96. package/dist/nodeinfo/handler.test.js +35 -30
  97. package/dist/nodeinfo/mod.cjs +10 -0
  98. package/dist/nodeinfo/mod.d.cts +3 -0
  99. package/dist/nodeinfo/mod.d.ts +3 -5
  100. package/dist/nodeinfo/mod.js +6 -7
  101. package/dist/nodeinfo/types.test.js +10 -18
  102. package/dist/nodeinfo-BnthBobC.js +4 -0
  103. package/dist/nodeinfo-CdN0rEnZ.cjs +4 -0
  104. package/dist/otel/exporter.test.js +899 -0
  105. package/dist/otel/mod.cjs +262 -0
  106. package/dist/otel/mod.d.cts +230 -0
  107. package/dist/otel/mod.d.ts +232 -0
  108. package/dist/otel/mod.js +261 -0
  109. package/dist/owner-B4HbyP8s.d.cts +67 -0
  110. package/dist/{owner-smArESGi.js → owner-DQuVKHuY.js} +46 -8
  111. package/dist/{owner-CQPnQVtf.d.ts → owner-kQRGVXG1.d.ts} +3 -3
  112. package/dist/{proof-CT1SITRP.js → proof-BG2G4cDG.js} +53 -16
  113. package/dist/proof-C3K5Z8RT.cjs +710 -0
  114. package/dist/{proof-C6z-uqeO.js → proof-GrivUN5L.js} +5 -3
  115. package/dist/router-CVRQXlZi.js +118 -0
  116. package/dist/{send-1zdmNlUo.js → send-B_dTZyUD.js} +9 -4
  117. package/dist/sig/http.test.js +19 -17
  118. package/dist/sig/key.test.js +15 -14
  119. package/dist/sig/ld.test.js +13 -12
  120. package/dist/sig/mod.cjs +28 -0
  121. package/dist/sig/mod.d.cts +6 -0
  122. package/dist/sig/mod.d.ts +5 -7
  123. package/dist/sig/mod.js +8 -10
  124. package/dist/sig/owner.test.js +40 -15
  125. package/dist/sig/proof.test.js +19 -17
  126. package/dist/sig-C34-oHBl.js +4 -0
  127. package/dist/sig-YYj5tCnr.cjs +4 -0
  128. package/dist/{std__assert-X-_kMxKM.js → std__assert-Cm-MfI66.js} +1 -1
  129. package/dist/testing/mod.d.ts +410 -232
  130. package/dist/testing/mod.js +9 -4
  131. package/dist/{transformers-Dna8Fg7k.js → transformers-BFT6d7J5.js} +3 -3
  132. package/dist/transformers-CoBS-oFG.cjs +116 -0
  133. package/dist/type-BSNcIxTd.js +14 -0
  134. package/dist/{types-BzyGRkRt.js → types-BtUjyi5y.js} +9 -170
  135. package/dist/types-CWgzGaqk.cjs +315 -0
  136. package/dist/{types-BIgY6c-l.js → types-D2jhK2VG.js} +1 -3
  137. package/dist/{runtime/authdocloader.test.js → utils/docloader.test.js} +20 -18
  138. package/dist/utils/kv-cache.test.js +211 -0
  139. package/dist/utils/mod.cjs +12 -0
  140. package/dist/utils/mod.d.cts +5 -0
  141. package/dist/utils/mod.d.ts +7 -0
  142. package/dist/utils/mod.js +11 -0
  143. package/dist/utils-D-Va7aXC.js +4 -0
  144. package/dist/utils-DyRU1gdZ.cjs +4 -0
  145. package/dist/vocab/actor.test.js +15 -13
  146. package/dist/vocab/lookup.test.js +285 -12
  147. package/dist/vocab/mod.cjs +86 -0
  148. package/dist/vocab/mod.d.cts +4 -0
  149. package/dist/vocab/mod.d.ts +3 -5
  150. package/dist/vocab/mod.js +6 -7
  151. package/dist/vocab/type.test.js +4 -4
  152. package/dist/vocab/vocab.test.js +8058 -1987
  153. package/dist/{vocab-Bg1J3mu4.js → vocab-Aig1Fmi8.js} +32 -18
  154. package/dist/{vocab-SOE1ifCr.d.ts → vocab-BCWe1Ih5.d.ts} +292 -21
  155. package/dist/{type-I68qwqmo.js → vocab-C3nSleOZ.js} +6947 -7381
  156. package/dist/vocab-CeDBzu-f.d.cts +14903 -0
  157. package/dist/vocab-DFMYh9aV.cjs +296 -0
  158. package/dist/webfinger/handler.test.js +62 -29
  159. package/dist/webfinger/lookup.test.js +11 -12
  160. package/dist/webfinger/mod.cjs +8 -0
  161. package/dist/webfinger/mod.d.cts +2 -0
  162. package/dist/webfinger/mod.d.ts +1 -4
  163. package/dist/webfinger/mod.js +5 -6
  164. package/dist/webfinger-C72Y8lrh.js +4 -0
  165. package/dist/webfinger-vAtLmxOF.cjs +4 -0
  166. package/package.json +81 -45
  167. package/dist/assert_throws-BOO88avQ.js +0 -39
  168. package/dist/authdocloader-Bq0gEHRj.js +0 -52
  169. package/dist/compat-Bb5myD13.js +0 -4
  170. package/dist/denokv-Bv33Xxea.js +0 -57
  171. package/dist/docloader-BlVueewg.js +0 -4615
  172. package/dist/docloader-CxWcuWqQ.d.ts +0 -221
  173. package/dist/fixtures/activitypub.academy/users/brauca_darradiul.json +0 -83
  174. package/dist/fixtures/example.com/announce.json +0 -6
  175. package/dist/fixtures/example.com/collection.json +0 -19
  176. package/dist/fixtures/example.com/create.json +0 -6
  177. package/dist/fixtures/example.com/cross-origin-actor.json +0 -6
  178. package/dist/fixtures/example.com/hong-gildong.json +0 -11
  179. package/dist/fixtures/example.com/invite.json +0 -7
  180. package/dist/fixtures/example.com/key.json +0 -7
  181. package/dist/fixtures/example.com/key2.json +0 -6
  182. package/dist/fixtures/example.com/object.json +0 -6
  183. package/dist/fixtures/example.com/orderedcollectionpage.json +0 -24
  184. package/dist/fixtures/example.com/paged/a.json +0 -13
  185. package/dist/fixtures/example.com/paged/b.json +0 -16
  186. package/dist/fixtures/example.com/paged-collection.json +0 -6
  187. package/dist/fixtures/example.com/person.json +0 -22
  188. package/dist/fixtures/example.com/person2.json +0 -40
  189. package/dist/fixtures/example.com/test.json +0 -5
  190. package/dist/fixtures/example.com/users/handle.json +0 -16
  191. package/dist/fixtures/example.com/wrong-type.json +0 -3
  192. package/dist/fixtures/oeee.cafe/ap/users/3609fd4e-d51d-4db8-9f04-4189815864dd.json +0 -24
  193. package/dist/fixtures/remote.domain/users/bob.json +0 -20
  194. package/dist/fixtures/server.example/users/alice.json +0 -20
  195. package/dist/fixtures/w3id.org/identity/v1.json +0 -152
  196. package/dist/fixtures/w3id.org/security/data-integrity/v1.json +0 -74
  197. package/dist/fixtures/w3id.org/security/multikey/v1.json +0 -35
  198. package/dist/fixtures/w3id.org/security/v1.json +0 -50
  199. package/dist/fixtures/wizard.casa/users/hongminhee.json +0 -69
  200. package/dist/fixtures/www.w3.org/ns/activitystreams.json +0 -379
  201. package/dist/fixtures/www.w3.org/ns/did/v1.json +0 -58
  202. package/dist/key-Dn7Lram-.js +0 -260
  203. package/dist/key-S7WllAWz.js +0 -10
  204. package/dist/key-rRCUafNm.js +0 -10
  205. package/dist/middleware-CWbGhXnl.js +0 -26
  206. package/dist/middleware-D-OlNiyj.js +0 -17
  207. package/dist/mod-TFoH2Ql8.d.ts +0 -104
  208. package/dist/mod-g0xFzAP9.d.ts +0 -2
  209. package/dist/mq-CRGm1e_F.d.ts +0 -143
  210. package/dist/nodeinfo/semver.test.js +0 -143
  211. package/dist/nodeinfo-CyEbLjHs.js +0 -4
  212. package/dist/runtime/docloader.test.js +0 -522
  213. package/dist/runtime/key.test.js +0 -103
  214. package/dist/runtime/langstr.test.d.ts +0 -3
  215. package/dist/runtime/langstr.test.js +0 -39
  216. package/dist/runtime/mod.d.ts +0 -8
  217. package/dist/runtime/mod.js +0 -13
  218. package/dist/runtime/multibase/multibase.test.d.ts +0 -3
  219. package/dist/runtime/multibase/multibase.test.js +0 -358
  220. package/dist/runtime/url.test.d.ts +0 -3
  221. package/dist/runtime/url.test.js +0 -45
  222. package/dist/runtime-BSkOVUWM.js +0 -4
  223. package/dist/semver-dArNLkR9.js +0 -149
  224. package/dist/sig-BXJO--F9.js +0 -4
  225. package/dist/src/vocab/accept.yaml +0 -15
  226. package/dist/src/vocab/activity.yaml +0 -98
  227. package/dist/src/vocab/add.yaml +0 -16
  228. package/dist/src/vocab/announce.yaml +0 -30
  229. package/dist/src/vocab/application.yaml +0 -324
  230. package/dist/src/vocab/arrive.yaml +0 -15
  231. package/dist/src/vocab/article.yaml +0 -46
  232. package/dist/src/vocab/audio.yaml +0 -11
  233. package/dist/src/vocab/block.yaml +0 -16
  234. package/dist/src/vocab/chatmessage.yaml +0 -50
  235. package/dist/src/vocab/collection.yaml +0 -154
  236. package/dist/src/vocab/collectionpage.yaml +0 -55
  237. package/dist/src/vocab/create.yaml +0 -28
  238. package/dist/src/vocab/dataintegrityproof.yaml +0 -56
  239. package/dist/src/vocab/delete.yaml +0 -27
  240. package/dist/src/vocab/didservice.yaml +0 -22
  241. package/dist/src/vocab/dislike.yaml +0 -14
  242. package/dist/src/vocab/document.yaml +0 -31
  243. package/dist/src/vocab/emoji.yaml +0 -12
  244. package/dist/src/vocab/emojireact.yaml +0 -17
  245. package/dist/src/vocab/endpoints.yaml +0 -85
  246. package/dist/src/vocab/event.yaml +0 -11
  247. package/dist/src/vocab/export.yaml +0 -9
  248. package/dist/src/vocab/flag.yaml +0 -15
  249. package/dist/src/vocab/follow.yaml +0 -19
  250. package/dist/src/vocab/group.yaml +0 -324
  251. package/dist/src/vocab/hashtag.yaml +0 -14
  252. package/dist/src/vocab/ignore.yaml +0 -14
  253. package/dist/src/vocab/image.yaml +0 -9
  254. package/dist/src/vocab/intransitiveactivity.yaml +0 -15
  255. package/dist/src/vocab/invite.yaml +0 -14
  256. package/dist/src/vocab/join.yaml +0 -14
  257. package/dist/src/vocab/key.yaml +0 -28
  258. package/dist/src/vocab/leave.yaml +0 -14
  259. package/dist/src/vocab/like.yaml +0 -16
  260. package/dist/src/vocab/link.yaml +0 -101
  261. package/dist/src/vocab/listen.yaml +0 -12
  262. package/dist/src/vocab/mention.yaml +0 -9
  263. package/dist/src/vocab/move.yaml +0 -15
  264. package/dist/src/vocab/multikey.yaml +0 -36
  265. package/dist/src/vocab/note.yaml +0 -48
  266. package/dist/src/vocab/object.yaml +0 -404
  267. package/dist/src/vocab/offer.yaml +0 -15
  268. package/dist/src/vocab/orderedcollection.yaml +0 -39
  269. package/dist/src/vocab/orderedcollectionpage.yaml +0 -50
  270. package/dist/src/vocab/organization.yaml +0 -324
  271. package/dist/src/vocab/page.yaml +0 -11
  272. package/dist/src/vocab/person.yaml +0 -324
  273. package/dist/src/vocab/place.yaml +0 -75
  274. package/dist/src/vocab/profile.yaml +0 -26
  275. package/dist/src/vocab/propertyvalue.yaml +0 -32
  276. package/dist/src/vocab/question.yaml +0 -103
  277. package/dist/src/vocab/read.yaml +0 -13
  278. package/dist/src/vocab/reject.yaml +0 -14
  279. package/dist/src/vocab/relationship.yaml +0 -52
  280. package/dist/src/vocab/remove.yaml +0 -14
  281. package/dist/src/vocab/service.yaml +0 -324
  282. package/dist/src/vocab/source.yaml +0 -26
  283. package/dist/src/vocab/tentativeaccept.yaml +0 -14
  284. package/dist/src/vocab/tentativereject.yaml +0 -14
  285. package/dist/src/vocab/tombstone.yaml +0 -24
  286. package/dist/src/vocab/travel.yaml +0 -16
  287. package/dist/src/vocab/undo.yaml +0 -26
  288. package/dist/src/vocab/update.yaml +0 -58
  289. package/dist/src/vocab/video.yaml +0 -11
  290. package/dist/src/vocab/view.yaml +0 -13
  291. package/dist/testing/docloader.test.js +0 -24
  292. package/dist/vocab/schema.yaml +0 -247
  293. package/dist/webfinger-C3GIyXIg.js +0 -4
  294. package/dist/x/cfworkers.d.ts +0 -61
  295. package/dist/x/cfworkers.js +0 -98
  296. package/dist/x/cfworkers.test.d.ts +0 -3
  297. package/dist/x/cfworkers.test.js +0 -179
  298. package/dist/x/hono.d.ts +0 -56
  299. package/dist/x/hono.js +0 -60
  300. package/dist/x/sveltekit.d.ts +0 -48
  301. package/dist/x/sveltekit.js +0 -68
  302. /package/dist/{assert_equals-DSbWqCm3.js → assert_equals-Gbplq4lg.js} +0 -0
  303. /package/dist/{collection-CSzG2j1P.js → collection-CrkRM5Ep.js} +0 -0
  304. /package/dist/{nodeinfo/semver.test.d.ts → federation/idempotency.test.d.ts} +0 -0
  305. /package/dist/{runtime/authdocloader.test.d.ts → federation/negotiation.test.d.ts} +0 -0
  306. /package/dist/{mod-1pDWKvUL.d.ts → mod-CVgZgliM.d.ts} +0 -0
  307. /package/dist/{mod-GIh5OYxW.d.ts → mod-bjzj5QIb.d.ts} +0 -0
  308. /package/dist/{runtime/docloader.test.d.ts → otel/exporter.test.d.ts} +0 -0
  309. /package/dist/{retry-D4GJ670a.js → retry-Bz5pP75o.js} +0 -0
  310. /package/dist/{testing → utils}/docloader.test.d.ts +0 -0
  311. /package/dist/{runtime/key.test.d.ts → utils/kv-cache.test.d.ts} +0 -0
@@ -3,45 +3,43 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { Create, Note, Person } from "../type-I68qwqmo.js";
7
- import { assertEquals } from "../assert_equals-DSbWqCm3.js";
8
- import { assert } from "../assert-MZs1qjMx.js";
9
- import "../assert_instance_of-DHz7EHNU.js";
10
- import { MemoryKvStore } from "../kv-CRZrzyXm.js";
11
- import { acceptsJsonLd, createFederation, handleActor, handleCollection, handleCustomCollection, handleInbox, handleObject, respondWithObject, respondWithObjectIfAcceptable } from "../middleware-DakCaqXu.js";
12
- import "../semver-dArNLkR9.js";
13
- import "../client-g2FDBoeY.js";
14
- import "../lookup-DNQyH8UQ.js";
15
- import "../types-BIgY6c-l.js";
16
- import "../actor-7ivEf1H3.js";
17
- import "../key-CYOcZ9G5.js";
18
- import { signRequest } from "../http-C7rxW7Kh.js";
19
- import "../authdocloader-D_IvQE4z.js";
20
- import "../ld-DWwLYT4e.js";
21
- import "../owner-smArESGi.js";
22
- import "../proof-C6z-uqeO.js";
23
- import { InboxListenerSet } from "../inbox-eK2W2MF3.js";
24
- import "../builder-BPGqEvtB.js";
25
- import "../collection-CSzG2j1P.js";
26
- import "../keycache-BLq6GT4_.js";
27
- import "../retry-D4GJ670a.js";
28
- import "../send-1zdmNlUo.js";
29
- import { createInboxContext, createRequestContext, mockDocumentLoader, test } from "../testing-BG_8Fyas.js";
30
- import "../std__assert-X-_kMxKM.js";
31
- import { assertFalse } from "../assert_rejects-DiIiJbZn.js";
32
- import "../assert_is_error-BPGph1Jx.js";
33
- import "../assert_not_equals-f3m3epl3.js";
34
- import "../assert_throws-BOO88avQ.js";
35
- import { rsaPrivateKey3, rsaPublicKey2, rsaPublicKey3 } from "../keys-BIwlbtMN.js";
6
+ import { createTestTracerProvider, mockDocumentLoader, test } from "../dist-lStjlyET.js";
7
+ import { assertEquals } from "../assert_equals-Gbplq4lg.js";
8
+ import { assert } from "../assert-Dp5_aoAs.js";
9
+ import "../assert_instance_of-D1m8F7x0.js";
10
+ import { MemoryKvStore } from "../kv-DaWUKuhD.js";
11
+ import "../deno-BTeveqhY.js";
12
+ import { createFederation, handleActor, handleCollection, handleCustomCollection, handleInbox, handleObject, respondWithObject, respondWithObjectIfAcceptable } from "../middleware-8Oymc6Na.js";
13
+ import "../client-CD87uCL_.js";
14
+ import "../router-CVRQXlZi.js";
15
+ import "../types-D2jhK2VG.js";
16
+ import { Create, Note, Person } from "../vocab-C3nSleOZ.js";
17
+ import "../lookup-yv_aH7K7.js";
18
+ import "../type-BSNcIxTd.js";
19
+ import "../actor-DYdPViDz.js";
20
+ import "../key-dws2_YsP.js";
21
+ import { signRequest } from "../http-BIDOYI9f.js";
22
+ import "../ld-C6UrncJk.js";
23
+ import "../owner-DQuVKHuY.js";
24
+ import "../proof-GrivUN5L.js";
25
+ import "../docloader-BSGGKhrl.js";
26
+ import "../kv-cache-C6NrTtII.js";
27
+ import "../lookup-BoiLMtAx.js";
28
+ import { InboxListenerSet } from "../inbox-DNjplQSR.js";
29
+ import "../builder-CYR2yKqn.js";
30
+ import "../collection-CrkRM5Ep.js";
31
+ import "../keycache-BbbXRjc-.js";
32
+ import "../negotiation-B4NJHk1f.js";
33
+ import "../retry-Bz5pP75o.js";
34
+ import "../send-B_dTZyUD.js";
35
+ import "../std__assert-Cm-MfI66.js";
36
+ import "../assert_rejects-BoKYY0g1.js";
37
+ import "../assert_throws-DjkXin1a.js";
38
+ import "../assert_not_equals-B2R_8p36.js";
39
+ import { createInboxContext, createRequestContext } from "../context-DH7LHJdw.js";
40
+ import { rsaPrivateKey3, rsaPublicKey2, rsaPublicKey3 } from "../keys-C6QyjjIN.js";
36
41
 
37
42
  //#region src/federation/handler.test.ts
38
- test("acceptsJsonLd()", () => {
39
- assert(acceptsJsonLd(new Request("https://example.com/", { headers: { Accept: "application/activity+json" } })));
40
- assert(acceptsJsonLd(new Request("https://example.com/", { headers: { Accept: "application/ld+json" } })));
41
- assert(acceptsJsonLd(new Request("https://example.com/", { headers: { Accept: "application/json" } })));
42
- assertFalse(acceptsJsonLd(new Request("https://example.com/", { headers: { Accept: "application/ld+json; q=0.5, text/html; q=0.8" } })));
43
- assertFalse(acceptsJsonLd(new Request("https://example.com/", { headers: { Accept: "application/ld+json; q=0.4, application/xhtml+xml; q=0.9" } })));
44
- });
45
43
  test("handleActor()", async () => {
46
44
  const federation = createFederation({ kv: new MemoryKvStore() });
47
45
  let context = createRequestContext({
@@ -64,11 +62,6 @@ test("handleActor()", async () => {
64
62
  onNotFoundCalled = request;
65
63
  return new Response("Not found", { status: 404 });
66
64
  };
67
- let onNotAcceptableCalled = null;
68
- const onNotAcceptable = (request) => {
69
- onNotAcceptableCalled = request;
70
- return new Response("Not acceptable", { status: 406 });
71
- };
72
65
  let onUnauthorizedCalled = null;
73
66
  const onUnauthorized = (request) => {
74
67
  onUnauthorizedCalled = request;
@@ -78,44 +71,21 @@ test("handleActor()", async () => {
78
71
  context,
79
72
  identifier: "someone",
80
73
  onNotFound,
81
- onNotAcceptable,
82
74
  onUnauthorized
83
75
  });
84
76
  assertEquals(response.status, 404);
85
77
  assertEquals(onNotFoundCalled, context.request);
86
- assertEquals(onNotAcceptableCalled, null);
87
78
  assertEquals(onUnauthorizedCalled, null);
88
79
  onNotFoundCalled = null;
89
- context = createRequestContext({
90
- ...context,
91
- getActor(handle) {
92
- return Promise.resolve(actorDispatcher(context, handle));
93
- }
94
- });
95
- response = await handleActor(context.request, {
96
- context,
97
- identifier: "someone",
98
- actorDispatcher,
99
- onNotFound,
100
- onNotAcceptable,
101
- onUnauthorized
102
- });
103
- assertEquals(response.status, 406);
104
- assertEquals(onNotFoundCalled, null);
105
- assertEquals(onNotAcceptableCalled, context.request);
106
- assertEquals(onUnauthorizedCalled, null);
107
- onNotAcceptableCalled = null;
108
80
  response = await handleActor(context.request, {
109
81
  context,
110
82
  identifier: "no-one",
111
83
  actorDispatcher,
112
84
  onNotFound,
113
- onNotAcceptable,
114
85
  onUnauthorized
115
86
  });
116
87
  assertEquals(response.status, 404);
117
88
  assertEquals(onNotFoundCalled, context.request);
118
- assertEquals(onNotAcceptableCalled, null);
119
89
  assertEquals(onUnauthorizedCalled, null);
120
90
  onNotFoundCalled = null;
121
91
  context = createRequestContext({
@@ -127,7 +97,6 @@ test("handleActor()", async () => {
127
97
  identifier: "someone",
128
98
  actorDispatcher,
129
99
  onNotFound,
130
- onNotAcceptable,
131
100
  onUnauthorized
132
101
  });
133
102
  assertEquals(response.status, 200);
@@ -176,19 +145,16 @@ test("handleActor()", async () => {
176
145
  name: "Someone"
177
146
  });
178
147
  assertEquals(onNotFoundCalled, null);
179
- assertEquals(onNotAcceptableCalled, null);
180
148
  assertEquals(onUnauthorizedCalled, null);
181
149
  response = await handleActor(context.request, {
182
150
  context,
183
151
  identifier: "no-one",
184
152
  actorDispatcher,
185
153
  onNotFound,
186
- onNotAcceptable,
187
154
  onUnauthorized
188
155
  });
189
156
  assertEquals(response.status, 404);
190
157
  assertEquals(onNotFoundCalled, context.request);
191
- assertEquals(onNotAcceptableCalled, null);
192
158
  assertEquals(onUnauthorizedCalled, null);
193
159
  onNotFoundCalled = null;
194
160
  response = await handleActor(context.request, {
@@ -197,12 +163,10 @@ test("handleActor()", async () => {
197
163
  actorDispatcher,
198
164
  authorizePredicate: (_ctx, _handle, signedKey, signedKeyOwner) => signedKey != null && signedKeyOwner != null,
199
165
  onNotFound,
200
- onNotAcceptable,
201
166
  onUnauthorized
202
167
  });
203
168
  assertEquals(response.status, 401);
204
169
  assertEquals(onNotFoundCalled, null);
205
- assertEquals(onNotAcceptableCalled, null);
206
170
  assertEquals(onUnauthorizedCalled, context.request);
207
171
  onUnauthorizedCalled = null;
208
172
  context = createRequestContext({
@@ -216,7 +180,6 @@ test("handleActor()", async () => {
216
180
  actorDispatcher,
217
181
  authorizePredicate: (_ctx, _handle, signedKey, signedKeyOwner) => signedKey != null && signedKeyOwner != null,
218
182
  onNotFound,
219
- onNotAcceptable,
220
183
  onUnauthorized
221
184
  });
222
185
  assertEquals(response.status, 200);
@@ -265,7 +228,6 @@ test("handleActor()", async () => {
265
228
  name: "Someone"
266
229
  });
267
230
  assertEquals(onNotFoundCalled, null);
268
- assertEquals(onNotAcceptableCalled, null);
269
231
  assertEquals(onUnauthorizedCalled, null);
270
232
  });
271
233
  test("handleObject()", async () => {
@@ -290,11 +252,6 @@ test("handleObject()", async () => {
290
252
  onNotFoundCalled = request;
291
253
  return new Response("Not found", { status: 404 });
292
254
  };
293
- let onNotAcceptableCalled = null;
294
- const onNotAcceptable = (request) => {
295
- onNotAcceptableCalled = request;
296
- return new Response("Not acceptable", { status: 406 });
297
- };
298
255
  let onUnauthorizedCalled = null;
299
256
  const onUnauthorized = (request) => {
300
257
  onUnauthorizedCalled = request;
@@ -307,12 +264,10 @@ test("handleObject()", async () => {
307
264
  id: "123"
308
265
  },
309
266
  onNotFound,
310
- onNotAcceptable,
311
267
  onUnauthorized
312
268
  });
313
269
  assertEquals(response.status, 404);
314
270
  assertEquals(onNotFoundCalled, context.request);
315
- assertEquals(onNotAcceptableCalled, null);
316
271
  assertEquals(onUnauthorizedCalled, null);
317
272
  onNotFoundCalled = null;
318
273
  response = await handleObject(context.request, {
@@ -323,14 +278,11 @@ test("handleObject()", async () => {
323
278
  },
324
279
  objectDispatcher,
325
280
  onNotFound,
326
- onNotAcceptable,
327
281
  onUnauthorized
328
282
  });
329
- assertEquals(response.status, 406);
283
+ assertEquals(response.status, 200);
330
284
  assertEquals(onNotFoundCalled, null);
331
- assertEquals(onNotAcceptableCalled, context.request);
332
285
  assertEquals(onUnauthorizedCalled, null);
333
- onNotAcceptableCalled = null;
334
286
  response = await handleObject(context.request, {
335
287
  context,
336
288
  values: {
@@ -339,12 +291,10 @@ test("handleObject()", async () => {
339
291
  },
340
292
  objectDispatcher,
341
293
  onNotFound,
342
- onNotAcceptable,
343
294
  onUnauthorized
344
295
  });
345
296
  assertEquals(response.status, 404);
346
297
  assertEquals(onNotFoundCalled, context.request);
347
- assertEquals(onNotAcceptableCalled, null);
348
298
  assertEquals(onUnauthorizedCalled, null);
349
299
  onNotFoundCalled = null;
350
300
  response = await handleObject(context.request, {
@@ -355,12 +305,10 @@ test("handleObject()", async () => {
355
305
  },
356
306
  objectDispatcher,
357
307
  onNotFound,
358
- onNotAcceptable,
359
308
  onUnauthorized
360
309
  });
361
310
  assertEquals(response.status, 404);
362
311
  assertEquals(onNotFoundCalled, context.request);
363
- assertEquals(onNotAcceptableCalled, null);
364
312
  assertEquals(onUnauthorizedCalled, null);
365
313
  onNotFoundCalled = null;
366
314
  context = createRequestContext({
@@ -375,7 +323,6 @@ test("handleObject()", async () => {
375
323
  },
376
324
  objectDispatcher,
377
325
  onNotFound,
378
- onNotAcceptable,
379
326
  onUnauthorized
380
327
  });
381
328
  assertEquals(response.status, 200);
@@ -405,7 +352,6 @@ test("handleObject()", async () => {
405
352
  type: "Note"
406
353
  });
407
354
  assertEquals(onNotFoundCalled, null);
408
- assertEquals(onNotAcceptableCalled, null);
409
355
  assertEquals(onUnauthorizedCalled, null);
410
356
  response = await handleObject(context.request, {
411
357
  context,
@@ -415,12 +361,10 @@ test("handleObject()", async () => {
415
361
  },
416
362
  objectDispatcher,
417
363
  onNotFound,
418
- onNotAcceptable,
419
364
  onUnauthorized
420
365
  });
421
366
  assertEquals(response.status, 404);
422
367
  assertEquals(onNotFoundCalled, context.request);
423
- assertEquals(onNotAcceptableCalled, null);
424
368
  assertEquals(onUnauthorizedCalled, null);
425
369
  onNotFoundCalled = null;
426
370
  response = await handleObject(context.request, {
@@ -431,12 +375,10 @@ test("handleObject()", async () => {
431
375
  },
432
376
  objectDispatcher,
433
377
  onNotFound,
434
- onNotAcceptable,
435
378
  onUnauthorized
436
379
  });
437
380
  assertEquals(response.status, 404);
438
381
  assertEquals(onNotFoundCalled, context.request);
439
- assertEquals(onNotAcceptableCalled, null);
440
382
  assertEquals(onUnauthorizedCalled, null);
441
383
  onNotFoundCalled = null;
442
384
  response = await handleObject(context.request, {
@@ -448,12 +390,10 @@ test("handleObject()", async () => {
448
390
  objectDispatcher,
449
391
  authorizePredicate: (_ctx, _values, signedKey, signedKeyOwner) => signedKey != null && signedKeyOwner != null,
450
392
  onNotFound,
451
- onNotAcceptable,
452
393
  onUnauthorized
453
394
  });
454
395
  assertEquals(response.status, 401);
455
396
  assertEquals(onNotFoundCalled, null);
456
- assertEquals(onNotAcceptableCalled, null);
457
397
  assertEquals(onUnauthorizedCalled, context.request);
458
398
  onUnauthorizedCalled = null;
459
399
  context = createRequestContext({
@@ -470,7 +410,6 @@ test("handleObject()", async () => {
470
410
  objectDispatcher,
471
411
  authorizePredicate: (_ctx, _values, signedKey, signedKeyOwner) => signedKey != null && signedKeyOwner != null,
472
412
  onNotFound,
473
- onNotAcceptable,
474
413
  onUnauthorized
475
414
  });
476
415
  assertEquals(response.status, 200);
@@ -500,7 +439,6 @@ test("handleObject()", async () => {
500
439
  type: "Note"
501
440
  });
502
441
  assertEquals(onNotFoundCalled, null);
503
- assertEquals(onNotAcceptableCalled, null);
504
442
  assertEquals(onUnauthorizedCalled, null);
505
443
  });
506
444
  test("handleCollection()", async () => {
@@ -538,11 +476,6 @@ test("handleCollection()", async () => {
538
476
  onNotFoundCalled = request;
539
477
  return new Response("Not found", { status: 404 });
540
478
  };
541
- let onNotAcceptableCalled = null;
542
- const onNotAcceptable = (request) => {
543
- onNotAcceptableCalled = request;
544
- return new Response("Not acceptable", { status: 406 });
545
- };
546
479
  let onUnauthorizedCalled = null;
547
480
  const onUnauthorized = (request) => {
548
481
  onUnauthorizedCalled = request;
@@ -556,12 +489,10 @@ test("handleCollection()", async () => {
556
489
  return new URL(`https://example.com/users/${identifier}`);
557
490
  },
558
491
  onNotFound,
559
- onNotAcceptable,
560
492
  onUnauthorized
561
493
  });
562
494
  assertEquals(response.status, 404);
563
495
  assertEquals(onNotFoundCalled, context.request);
564
- assertEquals(onNotAcceptableCalled, null);
565
496
  assertEquals(onUnauthorizedCalled, null);
566
497
  onNotFoundCalled = null;
567
498
  response = await handleCollection(context.request, {
@@ -573,14 +504,11 @@ test("handleCollection()", async () => {
573
504
  },
574
505
  collectionCallbacks: { dispatcher },
575
506
  onNotFound,
576
- onNotAcceptable,
577
507
  onUnauthorized
578
508
  });
579
- assertEquals(response.status, 406);
509
+ assertEquals(response.status, 200);
580
510
  assertEquals(onNotFoundCalled, null);
581
- assertEquals(onNotAcceptableCalled, context.request);
582
511
  assertEquals(onUnauthorizedCalled, null);
583
- onNotAcceptableCalled = null;
584
512
  response = await handleCollection(context.request, {
585
513
  context,
586
514
  name: "collection",
@@ -590,12 +518,10 @@ test("handleCollection()", async () => {
590
518
  },
591
519
  collectionCallbacks: { dispatcher },
592
520
  onNotFound,
593
- onNotAcceptable,
594
521
  onUnauthorized
595
522
  });
596
523
  assertEquals(response.status, 404);
597
524
  assertEquals(onNotFoundCalled, context.request);
598
- assertEquals(onNotAcceptableCalled, null);
599
525
  assertEquals(onUnauthorizedCalled, null);
600
526
  onNotFoundCalled = null;
601
527
  context = createRequestContext({
@@ -611,12 +537,10 @@ test("handleCollection()", async () => {
611
537
  },
612
538
  collectionCallbacks: { dispatcher },
613
539
  onNotFound,
614
- onNotAcceptable,
615
540
  onUnauthorized
616
541
  });
617
542
  assertEquals(response.status, 404);
618
543
  assertEquals(onNotFoundCalled, context.request);
619
- assertEquals(onNotAcceptableCalled, null);
620
544
  assertEquals(onUnauthorizedCalled, null);
621
545
  onNotFoundCalled = null;
622
546
  response = await handleCollection(context.request, {
@@ -628,7 +552,6 @@ test("handleCollection()", async () => {
628
552
  },
629
553
  collectionCallbacks: { dispatcher },
630
554
  onNotFound,
631
- onNotAcceptable,
632
555
  onUnauthorized
633
556
  });
634
557
  assertEquals(response.status, 200);
@@ -701,7 +624,6 @@ test("handleCollection()", async () => {
701
624
  ]
702
625
  });
703
626
  assertEquals(onNotFoundCalled, null);
704
- assertEquals(onNotAcceptableCalled, null);
705
627
  assertEquals(onUnauthorizedCalled, null);
706
628
  response = await handleCollection(context.request, {
707
629
  context,
@@ -715,12 +637,10 @@ test("handleCollection()", async () => {
715
637
  authorizePredicate: (_ctx, _handle, key, keyOwner) => key != null && keyOwner != null
716
638
  },
717
639
  onNotFound,
718
- onNotAcceptable,
719
640
  onUnauthorized
720
641
  });
721
642
  assertEquals(response.status, 401);
722
643
  assertEquals(onNotFoundCalled, null);
723
- assertEquals(onNotAcceptableCalled, null);
724
644
  assertEquals(onUnauthorizedCalled, context.request);
725
645
  onUnauthorizedCalled = null;
726
646
  context = createRequestContext({
@@ -740,7 +660,6 @@ test("handleCollection()", async () => {
740
660
  authorizePredicate: (_ctx, _handle, key, keyOwner) => key != null && keyOwner != null
741
661
  },
742
662
  onNotFound,
743
- onNotAcceptable,
744
663
  onUnauthorized
745
664
  });
746
665
  assertEquals(response.status, 200);
@@ -788,7 +707,6 @@ test("handleCollection()", async () => {
788
707
  ]
789
708
  });
790
709
  assertEquals(onNotFoundCalled, null);
791
- assertEquals(onNotAcceptableCalled, null);
792
710
  assertEquals(onUnauthorizedCalled, null);
793
711
  response = await handleCollection(context.request, {
794
712
  context,
@@ -804,7 +722,6 @@ test("handleCollection()", async () => {
804
722
  lastCursor
805
723
  },
806
724
  onNotFound,
807
- onNotAcceptable,
808
725
  onUnauthorized
809
726
  });
810
727
  assertEquals(response.status, 200);
@@ -838,7 +755,6 @@ test("handleCollection()", async () => {
838
755
  last: "https://example.com/?cursor=2"
839
756
  });
840
757
  assertEquals(onNotFoundCalled, null);
841
- assertEquals(onNotAcceptableCalled, null);
842
758
  assertEquals(onUnauthorizedCalled, null);
843
759
  let url = new URL("https://example.com/?cursor=0");
844
760
  context = createRequestContext({
@@ -860,7 +776,6 @@ test("handleCollection()", async () => {
860
776
  lastCursor
861
777
  },
862
778
  onNotFound,
863
- onNotAcceptable,
864
779
  onUnauthorized
865
780
  });
866
781
  assertEquals(response.status, 200);
@@ -898,7 +813,6 @@ test("handleCollection()", async () => {
898
813
  }]
899
814
  });
900
815
  assertEquals(onNotFoundCalled, null);
901
- assertEquals(onNotAcceptableCalled, null);
902
816
  assertEquals(onUnauthorizedCalled, null);
903
817
  url = new URL("https://example.com/?cursor=2");
904
818
  context = createRequestContext({
@@ -920,7 +834,6 @@ test("handleCollection()", async () => {
920
834
  lastCursor
921
835
  },
922
836
  onNotFound,
923
- onNotAcceptable,
924
837
  onUnauthorized
925
838
  });
926
839
  assertEquals(response.status, 200);
@@ -958,7 +871,6 @@ test("handleCollection()", async () => {
958
871
  }]
959
872
  });
960
873
  assertEquals(onNotFoundCalled, null);
961
- assertEquals(onNotAcceptableCalled, null);
962
874
  assertEquals(onUnauthorizedCalled, null);
963
875
  });
964
876
  test("handleInbox()", async () => {
@@ -1330,11 +1242,6 @@ test("handleCustomCollection()", async () => {
1330
1242
  onNotFoundCalled = request;
1331
1243
  return new Response("Not found", { status: 404 });
1332
1244
  };
1333
- let onNotAcceptableCalled = null;
1334
- const onNotAcceptable = (request) => {
1335
- onNotAcceptableCalled = request;
1336
- return new Response("Not acceptable", { status: 406 });
1337
- };
1338
1245
  let onUnauthorizedCalled = null;
1339
1246
  const onUnauthorized = (request) => {
1340
1247
  onUnauthorizedCalled = request;
@@ -1342,7 +1249,6 @@ test("handleCustomCollection()", async () => {
1342
1249
  };
1343
1250
  const errorHandlers = {
1344
1251
  onNotFound,
1345
- onNotAcceptable,
1346
1252
  onUnauthorized
1347
1253
  };
1348
1254
  let response = await handleCustomCollection(context.request, {
@@ -1353,21 +1259,7 @@ test("handleCustomCollection()", async () => {
1353
1259
  });
1354
1260
  assertEquals(response.status, 404);
1355
1261
  assertEquals(onNotFoundCalled, context.request);
1356
- assertEquals(onNotAcceptableCalled, null);
1357
- assertEquals(onUnauthorizedCalled, null);
1358
- onNotFoundCalled = null;
1359
- response = await handleCustomCollection(context.request, {
1360
- context,
1361
- name: "custom collection",
1362
- values: { handle: "someone" },
1363
- collectionCallbacks: { dispatcher },
1364
- ...errorHandlers
1365
- });
1366
- assertEquals(response.status, 406);
1367
- assertEquals(onNotFoundCalled, null);
1368
- assertEquals(onNotAcceptableCalled, context.request);
1369
1262
  assertEquals(onUnauthorizedCalled, null);
1370
- onNotAcceptableCalled = null;
1371
1263
  context = createRequestContext({
1372
1264
  ...context,
1373
1265
  request: new Request(context.url, { headers: { Accept: "application/activity+json" } })
@@ -1381,7 +1273,6 @@ test("handleCustomCollection()", async () => {
1381
1273
  });
1382
1274
  assertEquals(response.status, 404);
1383
1275
  assertEquals(onNotFoundCalled, context.request);
1384
- assertEquals(onNotAcceptableCalled, null);
1385
1276
  assertEquals(onUnauthorizedCalled, null);
1386
1277
  onNotFoundCalled = null;
1387
1278
  response = await handleCustomCollection(context.request, {
@@ -1462,7 +1353,6 @@ test("handleCustomCollection()", async () => {
1462
1353
  ]
1463
1354
  });
1464
1355
  assertEquals(onNotFoundCalled, null);
1465
- assertEquals(onNotAcceptableCalled, null);
1466
1356
  assertEquals(onUnauthorizedCalled, null);
1467
1357
  response = await handleCustomCollection(context.request, {
1468
1358
  context,
@@ -1476,7 +1366,6 @@ test("handleCustomCollection()", async () => {
1476
1366
  });
1477
1367
  assertEquals(response.status, 401);
1478
1368
  assertEquals(onNotFoundCalled, null);
1479
- assertEquals(onNotAcceptableCalled, null);
1480
1369
  assertEquals(onUnauthorizedCalled, context.request);
1481
1370
  onUnauthorizedCalled = null;
1482
1371
  context = createRequestContext({
@@ -1519,7 +1408,6 @@ test("handleCustomCollection()", async () => {
1519
1408
  ]
1520
1409
  });
1521
1410
  assertEquals(onNotFoundCalled, null);
1522
- assertEquals(onNotAcceptableCalled, null);
1523
1411
  assertEquals(onUnauthorizedCalled, null);
1524
1412
  response = await handleCustomCollection(context.request, {
1525
1413
  context,
@@ -1539,7 +1427,6 @@ test("handleCustomCollection()", async () => {
1539
1427
  last: "https://example.com/?cursor=2"
1540
1428
  });
1541
1429
  assertEquals(onNotFoundCalled, null);
1542
- assertEquals(onNotAcceptableCalled, null);
1543
1430
  assertEquals(onUnauthorizedCalled, null);
1544
1431
  let url = new URL("https://example.com/?cursor=0");
1545
1432
  context = createRequestContext({
@@ -1569,7 +1456,6 @@ test("handleCustomCollection()", async () => {
1569
1456
  }
1570
1457
  });
1571
1458
  assertEquals(onNotFoundCalled, null);
1572
- assertEquals(onNotAcceptableCalled, null);
1573
1459
  assertEquals(onUnauthorizedCalled, null);
1574
1460
  url = new URL("https://example.com/?cursor=2");
1575
1461
  context = createRequestContext({
@@ -1599,8 +1485,93 @@ test("handleCustomCollection()", async () => {
1599
1485
  }
1600
1486
  });
1601
1487
  assertEquals(onNotFoundCalled, null);
1602
- assertEquals(onNotAcceptableCalled, null);
1603
1488
  assertEquals(onUnauthorizedCalled, null);
1604
1489
  });
1490
+ test("handleInbox() records OpenTelemetry span events", async () => {
1491
+ const [tracerProvider, exporter] = createTestTracerProvider();
1492
+ const kv = new MemoryKvStore();
1493
+ const federation = createFederation({
1494
+ kv,
1495
+ tracerProvider
1496
+ });
1497
+ const activity = new Create({
1498
+ id: new URL("https://example.com/activity"),
1499
+ actor: new URL("https://example.com/users/someone"),
1500
+ object: new Note({
1501
+ id: new URL("https://example.com/note"),
1502
+ content: "Hello, world!"
1503
+ })
1504
+ });
1505
+ const request = new Request("https://example.com/users/someone/inbox", {
1506
+ method: "POST",
1507
+ headers: { "Content-Type": "application/activity+json" },
1508
+ body: JSON.stringify(await activity.toJsonLd())
1509
+ });
1510
+ const signed = await signRequest(request, rsaPrivateKey3, new URL("https://example.com/users/someone#main-key"));
1511
+ const context = createRequestContext({
1512
+ federation,
1513
+ request: signed,
1514
+ url: new URL(signed.url),
1515
+ data: void 0,
1516
+ documentLoader: mockDocumentLoader,
1517
+ contextLoader: mockDocumentLoader,
1518
+ getActorUri(identifier) {
1519
+ return new URL(`https://example.com/users/${identifier}`);
1520
+ }
1521
+ });
1522
+ const actorDispatcher = (ctx, handle) => {
1523
+ if (handle !== "someone") return null;
1524
+ return new Person({
1525
+ id: ctx.getActorUri(handle),
1526
+ name: "Someone",
1527
+ inbox: new URL("https://example.com/users/someone/inbox"),
1528
+ publicKey: rsaPublicKey2
1529
+ });
1530
+ };
1531
+ const listeners = new InboxListenerSet();
1532
+ let receivedActivity = null;
1533
+ listeners.add(Create, (_ctx, activity$1) => {
1534
+ receivedActivity = activity$1;
1535
+ });
1536
+ const response = await handleInbox(signed, {
1537
+ recipient: "someone",
1538
+ context,
1539
+ inboxContextFactory(_activity) {
1540
+ return createInboxContext({
1541
+ ...context,
1542
+ clone: void 0
1543
+ });
1544
+ },
1545
+ kv,
1546
+ kvPrefixes: {
1547
+ activityIdempotence: ["activityIdempotence"],
1548
+ publicKey: ["publicKey"]
1549
+ },
1550
+ actorDispatcher,
1551
+ inboxListeners: listeners,
1552
+ inboxErrorHandler: void 0,
1553
+ onNotFound: (_request) => new Response("Not found", { status: 404 }),
1554
+ signatureTimeWindow: false,
1555
+ skipSignatureVerification: true,
1556
+ tracerProvider
1557
+ });
1558
+ assertEquals(response.status, 202);
1559
+ assert(receivedActivity != null);
1560
+ const spans = exporter.getSpans("activitypub.inbox");
1561
+ assertEquals(spans.length, 1);
1562
+ const span = spans[0];
1563
+ assertEquals(span.attributes["fedify.inbox.recipient"], "someone");
1564
+ assertEquals(span.attributes["activitypub.activity.id"], "https://example.com/activity");
1565
+ const events = exporter.getEvents("activitypub.inbox", "activitypub.activity.received");
1566
+ assertEquals(events.length, 1);
1567
+ const event = events[0];
1568
+ assert(event.attributes != null);
1569
+ assertEquals(event.attributes["activitypub.activity.verified"], true);
1570
+ assertEquals(event.attributes["http_signatures.verified"], false);
1571
+ assert(typeof event.attributes["activitypub.activity.json"] === "string");
1572
+ const recordedActivity = JSON.parse(event.attributes["activitypub.activity.json"]);
1573
+ assertEquals(recordedActivity.id, "https://example.com/activity");
1574
+ assertEquals(recordedActivity.type, "Create");
1575
+ });
1605
1576
 
1606
1577
  //#endregion