@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
@@ -1,4 +1,4 @@
1
- $schema: ../codegen/schema.yaml
1
+ $schema: ../../../vocab-tools/schema.yaml
2
2
  name: Organization
3
3
  compactName: Organization
4
4
  uri: "https://www.w3.org/ns/activitystreams#Organization"
@@ -1,4 +1,4 @@
1
- $schema: ../codegen/schema.yaml
1
+ $schema: ../../../vocab-tools/schema.yaml
2
2
  name: Page
3
3
  compactName: Page
4
4
  uri: "https://www.w3.org/ns/activitystreams#Page"
@@ -1,4 +1,4 @@
1
- $schema: ../codegen/schema.yaml
1
+ $schema: ../../../vocab-tools/schema.yaml
2
2
  name: Person
3
3
  compactName: Person
4
4
  uri: "https://www.w3.org/ns/activitystreams#Person"
@@ -1,4 +1,4 @@
1
- $schema: ../codegen/schema.yaml
1
+ $schema: ../../../vocab-tools/schema.yaml
2
2
  name: Place
3
3
  compactName: Place
4
4
  uri: "https://www.w3.org/ns/activitystreams#Place"
@@ -1,4 +1,4 @@
1
- $schema: ../codegen/schema.yaml
1
+ $schema: ../../../vocab-tools/schema.yaml
2
2
  name: Profile
3
3
  compactName: Profile
4
4
  uri: "https://www.w3.org/ns/activitystreams#Profile"
@@ -1,4 +1,4 @@
1
- $schema: ../codegen/schema.yaml
1
+ $schema: ../../../vocab-tools/schema.yaml
2
2
  name: PropertyValue
3
3
  compactName: PropertyValue
4
4
  # The below URI intentionally lacks a path slash due to Mastodon's mistake:
@@ -1,4 +1,4 @@
1
- $schema: ../codegen/schema.yaml
1
+ $schema: ../../../vocab-tools/schema.yaml
2
2
  name: Question
3
3
  compactName: Question
4
4
  uri: "https://www.w3.org/ns/activitystreams#Question"
@@ -1,4 +1,4 @@
1
- $schema: ../codegen/schema.yaml
1
+ $schema: ../../../vocab-tools/schema.yaml
2
2
  name: Read
3
3
  compactName: Read
4
4
  uri: "https://www.w3.org/ns/activitystreams#Read"
@@ -1,4 +1,4 @@
1
- $schema: ../codegen/schema.yaml
1
+ $schema: ../../../vocab-tools/schema.yaml
2
2
  name: Reject
3
3
  compactName: Reject
4
4
  uri: "https://www.w3.org/ns/activitystreams#Reject"
@@ -1,4 +1,4 @@
1
- $schema: ../codegen/schema.yaml
1
+ $schema: ../../../vocab-tools/schema.yaml
2
2
  name: Relationship
3
3
  compactName: Relationship
4
4
  uri: "https://www.w3.org/ns/activitystreams#Relationship"
@@ -1,4 +1,4 @@
1
- $schema: ../codegen/schema.yaml
1
+ $schema: ../../../vocab-tools/schema.yaml
2
2
  name: Remove
3
3
  compactName: Remove
4
4
  uri: "https://www.w3.org/ns/activitystreams#Remove"
@@ -1,4 +1,4 @@
1
- $schema: ../codegen/schema.yaml
1
+ $schema: ../../../vocab-tools/schema.yaml
2
2
  name: Service
3
3
  compactName: Service
4
4
  uri: "https://www.w3.org/ns/activitystreams#Service"
@@ -1,4 +1,4 @@
1
- $schema: ../codegen/schema.yaml
1
+ $schema: ../../../vocab-tools/schema.yaml
2
2
  name: Source
3
3
  compactName: as:Source
4
4
  uri: "https://www.w3.org/ns/activitystreams#Source"
@@ -1,4 +1,4 @@
1
- $schema: ../codegen/schema.yaml
1
+ $schema: ../../../vocab-tools/schema.yaml
2
2
  name: TentativeAccept
3
3
  compactName: TentativeAccept
4
4
  uri: "https://www.w3.org/ns/activitystreams#TentativeAccept"
@@ -1,4 +1,4 @@
1
- $schema: ../codegen/schema.yaml
1
+ $schema: ../../../vocab-tools/schema.yaml
2
2
  name: TentativeReject
3
3
  compactName: TentativeReject
4
4
  uri: "https://www.w3.org/ns/activitystreams#TentativeReject"
@@ -1,4 +1,4 @@
1
- $schema: ../codegen/schema.yaml
1
+ $schema: ../../../vocab-tools/schema.yaml
2
2
  name: Tombstone
3
3
  compactName: Tombstone
4
4
  uri: "https://www.w3.org/ns/activitystreams#Tombstone"
@@ -1,4 +1,4 @@
1
- $schema: ../codegen/schema.yaml
1
+ $schema: ../../../vocab-tools/schema.yaml
2
2
  name: Travel
3
3
  compactName: Travel
4
4
  uri: "https://www.w3.org/ns/activitystreams#Travel"
@@ -1,4 +1,4 @@
1
- $schema: ../codegen/schema.yaml
1
+ $schema: ../../../vocab-tools/schema.yaml
2
2
  name: Undo
3
3
  compactName: Undo
4
4
  uri: "https://www.w3.org/ns/activitystreams#Undo"
@@ -1,4 +1,4 @@
1
- $schema: ../codegen/schema.yaml
1
+ $schema: ../../../vocab-tools/schema.yaml
2
2
  name: Update
3
3
  compactName: Update
4
4
  uri: "https://www.w3.org/ns/activitystreams#Update"
@@ -1,4 +1,4 @@
1
- $schema: ../codegen/schema.yaml
1
+ $schema: ../../../vocab-tools/schema.yaml
2
2
  name: Video
3
3
  compactName: Video
4
4
  uri: "https://www.w3.org/ns/activitystreams#Video"
@@ -1,4 +1,4 @@
1
- $schema: ../codegen/schema.yaml
1
+ $schema: ../../../vocab-tools/schema.yaml
2
2
  name: View
3
3
  compactName: View
4
4
  uri: "https://www.w3.org/ns/activitystreams#View"
@@ -3,17 +3,15 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import "../type-E_91dusN.js";
6
+ import "../lookup-C7SSHgK7.js";
7
7
  import { assertEquals } from "../assert_equals-DSbWqCm3.js";
8
8
  import "../assert-MZs1qjMx.js";
9
9
  import "../assert_instance_of-DHz7EHNU.js";
10
- import "../lookup-Co4Y1ycg.js";
11
- import { mockDocumentLoader, test } from "../testing-B17zODFD.js";
12
- import "../std__assert-X-_kMxKM.js";
13
- import "../assert_rejects-DiIiJbZn.js";
14
- import "../assert_is_error-BPGph1Jx.js";
15
- import "../assert_not_equals-f3m3epl3.js";
16
- import "../assert_throws-BOO88avQ.js";
10
+ import { mockDocumentLoader, test } from "../testing-D-nLIHkh.js";
11
+ import "../std__assert-DWivtrGR.js";
12
+ import "../assert_rejects-Ce45JcFg.js";
13
+ import "../assert_throws-BNXdRGWP.js";
14
+ import "../assert_not_equals-C80BG-_5.js";
17
15
 
18
16
  //#region src/testing/docloader.test.ts
19
17
  test("mockDocumentLoader()", async () => {
@@ -1,102 +1,9 @@
1
1
  import { Temporal } from "@js-temporal/polyfill";
2
2
  import { URLPattern } from "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
+ import { DocumentLoader, GetUserAgentOptions, LanguageString } from "@fedify/vocab-runtime";
4
5
  import { Span, TracerProvider } from "@opentelemetry/api";
5
- import { LanguageTag } from "@phensley/language-tag";
6
6
 
7
- //#region src/runtime/docloader.d.ts
8
- /**
9
- * A remote JSON-LD document and its context fetched by
10
- * a {@link DocumentLoader}.
11
- */
12
- interface RemoteDocument {
13
- /**
14
- * The URL of the context document.
15
- */
16
- contextUrl: string | null;
17
- /**
18
- * The fetched JSON-LD document.
19
- */
20
- document: unknown;
21
- /**
22
- * The URL of the fetched document.
23
- */
24
- documentUrl: string;
25
- }
26
- /**
27
- * Options for {@link DocumentLoader}.
28
- * @since 1.8.0
29
- */
30
- interface DocumentLoaderOptions {
31
- /**
32
- * An `AbortSignal` for cancellation.
33
- * @since 1.8.0
34
- */
35
- signal?: AbortSignal;
36
- }
37
- /**
38
- * A JSON-LD document loader that fetches documents from the Web.
39
- * @param url The URL of the document to load.
40
- * @param options The options for the document loader.
41
- * @returns The loaded remote document.
42
- */
43
- type DocumentLoader = (url: string, options?: DocumentLoaderOptions) => Promise<RemoteDocument>;
44
- /**
45
- * A factory function that creates a {@link DocumentLoader} with options.
46
- * @param options The options for the document loader.
47
- * @returns The document loader.
48
- * @since 1.4.0
49
- */
50
-
51
- /**
52
- * Options for making `User-Agent` string.
53
- * @see {@link getUserAgent}
54
- * @since 1.3.0
55
- */
56
- interface GetUserAgentOptions {
57
- /**
58
- * An optional software name and version, e.g., `"Hollo/1.0.0"`.
59
- */
60
- software?: string | null;
61
- /**
62
- * An optional URL to append to the user agent string.
63
- * Usually the URL of the ActivityPub instance.
64
- */
65
- url?: string | URL | null;
66
- }
67
- /**
68
- * Gets the user agent string for the given application and URL.
69
- * @param options The options for making the user agent string.
70
- * @returns The user agent string.
71
- * @since 1.3.0
72
- */
73
- //#endregion
74
- //#region src/nodeinfo/semver.d.ts
75
- /**
76
- * A SemVer object parsed into its constituent parts.
77
- * @since 1.2.0
78
- */
79
- interface SemVer {
80
- /** The major version */
81
- major: number;
82
- /** The minor version */
83
- minor: number;
84
- /** The patch version */
85
- patch: number;
86
- /**
87
- * The prerelease version
88
- *
89
- * @default {[]}
90
- */
91
- prerelease?: (string | number)[];
92
- /**
93
- * The build metadata
94
- *
95
- * @default {[]}
96
- */
97
- build?: string[];
98
- }
99
- //#endregion
100
7
  //#region src/nodeinfo/types.d.ts
101
8
  /**
102
9
  * The type of the result of parsing JSON.
@@ -146,9 +53,8 @@ interface Software {
146
53
  name: string;
147
54
  /**
148
55
  * The version of this server software.
149
- * @see {@link parseSemVer}
150
56
  */
151
- version: SemVer;
57
+ version: string;
152
58
  /**
153
59
  * The URL of the source code repository of this server software.
154
60
  */
@@ -276,21 +182,6 @@ interface GetNodeInfoOptions {
276
182
  * @since 1.2.0
277
183
  */
278
184
  //#endregion
279
- //#region src/runtime/langstr.d.ts
280
- /**
281
- * A language-tagged string which corresponds to the `rdf:langString` type.
282
- */
283
- declare class LanguageString extends String {
284
- readonly language: LanguageTag;
285
- /**
286
- * Constructs a new `LanguageString`.
287
- * @param value A string value written in the given language.
288
- * @param language The language of the string. If a string is given, it will
289
- * be parsed as a `LanguageTag`.
290
- */
291
- constructor(value: string, language: LanguageTag | string);
292
- }
293
- //#endregion
294
185
  //#region src/vocab/vocab.d.ts
295
186
  /** Describes an object of any kind. The Object type serves as the base type for
296
187
  * most of the other kinds of objects defined in the Activity Vocabulary,
@@ -4229,7 +4120,7 @@ declare class Link {
4229
4120
  mediaType?: string | null;
4230
4121
  name?: string | LanguageString | null;
4231
4122
  names?: ((string | LanguageString))[];
4232
- language?: LanguageTag | null;
4123
+ language?: Intl.Locale | null;
4233
4124
  height?: number | null;
4234
4125
  width?: number | null;
4235
4126
  previews?: (Link | Object$1 | URL)[];
@@ -4252,7 +4143,7 @@ declare class Link {
4252
4143
  mediaType?: string | null;
4253
4144
  name?: string | LanguageString | null;
4254
4145
  names?: ((string | LanguageString))[];
4255
- language?: LanguageTag | null;
4146
+ language?: Intl.Locale | null;
4256
4147
  height?: number | null;
4257
4148
  width?: number | null;
4258
4149
  previews?: (Link | Object$1 | URL)[];
@@ -4296,7 +4187,7 @@ declare class Link {
4296
4187
  /** Hints as to the language used by the target resource.
4297
4188
  * Value MUST be a BCP 47 Language-Tag.
4298
4189
  */
4299
- get language(): LanguageTag | null;
4190
+ get language(): Intl.Locale | null;
4300
4191
  /** On a {@link Link}, specifies a hint as to the rendering height in
4301
4192
  * device-independent pixels of the linked resource.
4302
4193
  */
@@ -4383,7 +4274,7 @@ declare class Hashtag extends Link {
4383
4274
  mediaType?: string | null;
4384
4275
  name?: string | LanguageString | null;
4385
4276
  names?: ((string | LanguageString))[];
4386
- language?: LanguageTag | null;
4277
+ language?: Intl.Locale | null;
4387
4278
  height?: number | null;
4388
4279
  width?: number | null;
4389
4280
  previews?: (Link | Object$1 | URL)[];
@@ -4406,7 +4297,7 @@ declare class Hashtag extends Link {
4406
4297
  mediaType?: string | null;
4407
4298
  name?: string | LanguageString | null;
4408
4299
  names?: ((string | LanguageString))[];
4409
- language?: LanguageTag | null;
4300
+ language?: Intl.Locale | null;
4410
4301
  height?: number | null;
4411
4302
  width?: number | null;
4412
4303
  previews?: (Link | Object$1 | URL)[];
@@ -8127,13 +8018,13 @@ interface CollectionCallbackSetters<TContext extends Context<TContextData>, TCon
8127
8018
  *
8128
8019
  * - `"per-origin"`: Activities are deduplicated per receiving server's origin.
8129
8020
  * The same activity ID will be processed only once on each receiving server,
8130
- * but can be processed separately on different receiving servers. This was
8131
- * the default behavior in Fedify 1.x versions.
8021
+ * but can be processed separately on different receiving servers. This had
8022
+ * been the default behavior in Fedify 1.x versions.
8132
8023
  *
8133
8024
  * - `"per-inbox"`: Activities are deduplicated per inbox. The same activity
8134
8025
  * ID can be processed once per inbox, allowing the same activity to be
8135
8026
  * delivered to multiple inboxes independently. This follows standard
8136
- * ActivityPub behavior and will be the default in Fedify 2.0.
8027
+ * ActivityPub behavior and is the default strategy since Fedify 2.0.0.
8137
8028
  *
8138
8029
  * @since 1.9.0
8139
8030
  */
@@ -3,8 +3,7 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import "../type-E_91dusN.js";
7
- import "../lookup-Co4Y1ycg.js";
8
- import { createInboxContext, createRequestContext, test, testDefinitions } from "../testing-B17zODFD.js";
6
+ import "../lookup-C7SSHgK7.js";
7
+ import { createInboxContext, createRequestContext, test, testDefinitions } from "../testing-D-nLIHkh.js";
9
8
 
10
9
  export { createInboxContext, createRequestContext, test, testDefinitions };
@@ -3,8 +3,7 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { __require, lookupWebFinger } from "./type-E_91dusN.js";
7
- import { RouterError, lookupObject, traverseCollection } from "./lookup-Co4Y1ycg.js";
6
+ import { RouterError, __require, lookupObject, lookupWebFinger, traverseCollection } from "./lookup-C7SSHgK7.js";
8
7
  import { configure, getConsoleSink, getLogger, reset } from "@logtape/logtape";
9
8
  import { trace } from "@opentelemetry/api";
10
9
 
@@ -2,152 +2,9 @@
2
2
  import { Temporal } from "@js-temporal/polyfill";
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
 
5
- import { getUserAgent } from "./docloader-CLYexeNv.js";
6
5
  import { getLogger } from "@logtape/logtape";
6
+ import { getUserAgent } from "@fedify/vocab-runtime";
7
7
 
8
- //#region src/nodeinfo/semver.ts
9
- const MAX_LENGTH = 256;
10
- /**
11
- * A single `0`, or a non-zero digit followed by zero or more digits.
12
- */
13
- const NUMERIC_IDENTIFIER = "0|[1-9]\\d*";
14
- /**
15
- * Zero or more digits, followed by a letter or hyphen, and then zero or more letters, digits, or hyphens.
16
- */
17
- const NON_NUMERIC_IDENTIFIER = "\\d*[a-zA-Z-][a-zA-Z0-9-]*";
18
- /**
19
- * Three dot-separated numeric identifiers.
20
- */
21
- const VERSION_CORE = `(?<major>${NUMERIC_IDENTIFIER})\\.(?<minor>${NUMERIC_IDENTIFIER})\\.(?<patch>${NUMERIC_IDENTIFIER})`;
22
- /**
23
- * A numeric identifier, or a non-numeric identifier.
24
- */
25
- const PRERELEASE_IDENTIFIER = `(?:${NUMERIC_IDENTIFIER}|${NON_NUMERIC_IDENTIFIER})`;
26
- /**
27
- * A hyphen, followed by one or more dot-separated pre-release version identifiers.
28
- * @example "-pre.release"
29
- */
30
- const PRERELEASE = `(?:-(?<prerelease>${PRERELEASE_IDENTIFIER}(?:\\.${PRERELEASE_IDENTIFIER})*))`;
31
- /**
32
- * Any combination of digits, letters, or hyphens.
33
- */
34
- const BUILD_IDENTIFIER = "[0-9A-Za-z-]+";
35
- /**
36
- * A plus sign, followed by one or more period-separated build metadata identifiers.
37
- * @example "+build.meta"
38
- */
39
- const BUILD = `(?:\\+(?<buildmetadata>${BUILD_IDENTIFIER}(?:\\.${BUILD_IDENTIFIER})*))`;
40
- /**
41
- * A version, followed optionally by a pre-release version and build metadata.
42
- */
43
- const FULL_VERSION = `v?${VERSION_CORE}${PRERELEASE}?${BUILD}?`;
44
- const FULL_REGEXP = /* @__PURE__ */ new RegExp(`^${FULL_VERSION}$`);
45
- /**
46
- * Attempt to parse a string as a semantic version, returning a SemVer object.
47
- *
48
- * @example Usage
49
- * ```ts
50
- * import { parseSemVer } from "@fedify/fedify/nodeinfo";
51
- * import { assertEquals } from "@std/assert";
52
- *
53
- * const version = parseSemVer("1.2.3");
54
- * assertEquals(version, {
55
- * major: 1,
56
- * minor: 2,
57
- * patch: 3,
58
- * prerelease: [],
59
- * build: [],
60
- * });
61
- * ```
62
- *
63
- * @throws {TypeError} If the input string is invalid.
64
- * @param value The version string to parse
65
- * @returns A valid SemVer
66
- * @since 1.2.0
67
- */
68
- function parseSemVer(value) {
69
- if (typeof value !== "string") throw new TypeError(`Cannot parse version as version must be a string: received ${typeof value}`);
70
- if (value.length > MAX_LENGTH) throw new TypeError(`Cannot parse version as version length is too long: length is ${value.length}, max length is ${MAX_LENGTH}`);
71
- value = value.trim();
72
- const groups = value.match(FULL_REGEXP)?.groups;
73
- if (!groups) throw new TypeError(`Cannot parse version: ${value}`);
74
- const major = parseNumber(groups.major, `Cannot parse version ${value}: invalid major version`);
75
- const minor = parseNumber(groups.minor, `Cannot parse version ${value}: invalid minor version`);
76
- const patch = parseNumber(groups.patch, `Cannot parse version ${value}: invalid patch version`);
77
- const prerelease = groups.prerelease ? parsePrerelease(groups.prerelease) : [];
78
- const build = groups.buildmetadata ? parseBuild(groups.buildmetadata) : [];
79
- return {
80
- major,
81
- minor,
82
- patch,
83
- prerelease,
84
- build
85
- };
86
- }
87
- /**
88
- * Returns true if the value is a valid SemVer number.
89
- *
90
- * Must be a number. Must not be NaN. Can be positive or negative infinity.
91
- * Can be between 0 and MAX_SAFE_INTEGER.
92
- * @param value The value to check
93
- * @returns True if its a valid semver number
94
- */
95
- function isValidNumber(value) {
96
- return typeof value === "number" && !Number.isNaN(value) && (!Number.isFinite(value) || 0 <= value && value <= Number.MAX_SAFE_INTEGER);
97
- }
98
- const NUMERIC_IDENTIFIER_REGEXP = /* @__PURE__ */ new RegExp(`^${NUMERIC_IDENTIFIER}$`);
99
- function parsePrerelease(prerelease) {
100
- return prerelease.split(".").filter(Boolean).map((id) => {
101
- if (NUMERIC_IDENTIFIER_REGEXP.test(id)) {
102
- const number = Number(id);
103
- if (isValidNumber(number)) return number;
104
- }
105
- return id;
106
- });
107
- }
108
- function parseBuild(buildmetadata) {
109
- return buildmetadata.split(".").filter(Boolean);
110
- }
111
- function parseNumber(input, errorMessage) {
112
- const number = Number(input);
113
- if (!isValidNumber(number)) throw new TypeError(errorMessage);
114
- return number;
115
- }
116
- function formatNumber(value) {
117
- return value.toFixed(0);
118
- }
119
- /**
120
- * Format a SemVer object into a string.
121
- *
122
- * @example Usage
123
- * ```ts
124
- * import { formatSemVer } from "@fedify/fedify/nodeinfo";
125
- * import { assertEquals } from "@std/assert";
126
- *
127
- * const semver = {
128
- * major: 1,
129
- * minor: 2,
130
- * patch: 3,
131
- * };
132
- * assertEquals(formatSemVer(semver), "1.2.3");
133
- * ```
134
- *
135
- * @param version The SemVer to format
136
- * @returns The string representation of a semantic version.
137
- * @since 1.2.0
138
- */
139
- function formatSemVer(version) {
140
- const major = formatNumber(version.major);
141
- const minor = formatNumber(version.minor);
142
- const patch = formatNumber(version.patch);
143
- const pre = version.prerelease?.join(".") ?? "";
144
- const build = version.build?.join(".") ?? "";
145
- const primary = `${major}.${minor}.${patch}`;
146
- const release = [primary, pre].filter((v) => v).join("-");
147
- return [release, build].filter((v) => v).join("+");
148
- }
149
-
150
- //#endregion
151
8
  //#region src/nodeinfo/client.ts
152
9
  const logger = getLogger([
153
10
  "fedify",
@@ -274,28 +131,10 @@ function parseSoftware(data, options = {}) {
274
131
  name = data.name.trim().toLowerCase();
275
132
  } else return null;
276
133
  let version;
277
- if ("version" in data && typeof data.version === "string") try {
278
- version = parseSemVer(data.version);
279
- } catch {
280
- if (!options.tryBestEffort) return null;
281
- const parts = data.version.split(".").map((p) => parseInt(p, 10));
282
- version = {
283
- major: !isNaN(parts[0]) ? parts[0] : 0,
284
- minor: !isNaN(parts[1]) ? parts[1] : 0,
285
- patch: !isNaN(parts[2]) ? parts[2] : 0,
286
- build: [],
287
- prerelease: []
288
- };
289
- }
134
+ if ("version" in data) version = String(data.version);
290
135
  else {
291
136
  if (!options.tryBestEffort) return null;
292
- version = {
293
- major: 0,
294
- minor: 0,
295
- patch: 0,
296
- build: [],
297
- prerelease: []
298
- };
137
+ version = "0.0.0";
299
138
  }
300
139
  let repository;
301
140
  if ("repository" in data) {
@@ -432,7 +271,7 @@ function nodeInfoToJson(nodeInfo) {
432
271
  version: "2.1",
433
272
  software: {
434
273
  name: nodeInfo.software.name,
435
- version: formatSemVer(nodeInfo.software.version),
274
+ version: nodeInfo.software.version,
436
275
  repository: nodeInfo.software.repository?.href,
437
276
  homepage: nodeInfo.software.homepage?.href
438
277
  },
@@ -455,4 +294,4 @@ function nodeInfoToJson(nodeInfo) {
455
294
  }
456
295
 
457
296
  //#endregion
458
- export { formatSemVer, getNodeInfo, nodeInfoToJson, parseNodeInfo, parseSemVer };
297
+ export { getNodeInfo, nodeInfoToJson, parseNodeInfo };
@@ -3,8 +3,6 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { formatSemVer } from "./semver-dArNLkR9.js";
7
-
8
6
  //#region src/nodeinfo/types.ts
9
7
  /**
10
8
  * Converts a {@link NodeInfo} object to a JSON value.
@@ -25,7 +23,7 @@ function nodeInfoToJson(nodeInfo) {
25
23
  version: "2.1",
26
24
  software: {
27
25
  name: nodeInfo.software.name,
28
- version: formatSemVer(nodeInfo.software.version),
26
+ version: nodeInfo.software.version,
29
27
  repository: nodeInfo.software.repository?.href,
30
28
  homepage: nodeInfo.software.homepage?.href
31
29
  },