@fedify/fedify 2.0.0-dev.1961 → 2.0.0-dev.206
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.
- package/LICENSE +1 -1
- package/README.md +66 -36
- package/dist/{builder-BrqBKkVi.js → builder-BU9qEchZ.js} +5 -3
- package/dist/{client-BsGzbnV-.d.ts → client-CUTUGgvJ.d.ts} +18 -18
- package/dist/{client-pY7-3icS.js → client-Dg7OfUDA.js} +28 -23
- package/dist/{client-94iWEfQa.d.cts → client-by-PEGAJ.d.cts} +18 -18
- package/dist/compat/mod.cjs +1 -1
- package/dist/compat/mod.d.cts +6 -10
- package/dist/compat/mod.d.ts +6 -10
- package/dist/compat/mod.js +1 -1
- package/dist/compat/transformers.test.js +22 -21
- package/dist/context-Bns6uTJq.js +109 -0
- package/dist/{context-V-XS2_6O.d.ts → context-C7vzWilY.d.ts} +63 -65
- package/dist/{context-PxGADCsD.d.cts → context-CrB9RFy5.d.cts} +63 -65
- package/dist/deno-BUTHG7dM.js +117 -0
- package/dist/{testing-DpRy1YTU.js → dist-B5f6a8Tt.js} +90 -110
- package/dist/{docloader-HB61Uc88.js → docloader-BaYIAi2d.js} +3 -3
- package/dist/{esm-DaZiDvFW.js → esm-DGl7uK1r.js} +1 -1
- package/dist/federation/builder.test.js +7 -5
- package/dist/federation/collection.test.js +2 -3
- package/dist/federation/handler.test.js +110 -22
- package/dist/federation/idempotency.test.js +23 -22
- package/dist/federation/inbox.test.js +4 -3
- package/dist/federation/keycache.test.js +4 -4
- package/dist/federation/kv.test.js +56 -3
- package/dist/federation/middleware.test.js +95 -93
- package/dist/federation/mod.cjs +8 -10
- package/dist/federation/mod.d.cts +7 -11
- package/dist/federation/mod.d.ts +7 -11
- package/dist/federation/mod.js +8 -11
- package/dist/federation/mq.test.js +5 -6
- package/dist/federation/negotiation.test.js +2 -3
- package/dist/federation/retry.test.js +2 -3
- package/dist/federation/router.test.js +2 -2
- package/dist/federation/send.test.js +51 -9
- package/dist/{webfinger/handler.test.js → federation/webfinger.test.js} +24 -22
- package/dist/{federation-CRpdnOMS.cjs → federation-B431K2gm.cjs} +22 -0
- package/dist/{federation-jcR8-ZxP.js → federation-BbZwNNWj.js} +28 -6
- package/dist/{http-B2bao4EB.js → http-BxDH6plL.js} +3 -2
- package/dist/{http-M8k5mKc0.d.cts → http-ClB3pLcL.d.cts} +1 -1
- package/dist/{http-BbO0ejuk.d.ts → http-DLBDPal9.d.ts} +1 -1
- package/dist/{http-CUsGQiwU.js → http-DbN7EWyT.js} +119 -9
- package/dist/{http-BxgYWxTY.cjs → http-xz1rOLDK.cjs} +132 -16
- package/dist/{inbox-CAojlSWc.js → inbox-Cv5jVEEr.js} +2 -1
- package/dist/{key-Dz-KWCap.js → key-s_Hu2h8g.js} +3 -3
- package/dist/{keycache-Czcf33al.js → keycache-DRxpZ5r9.js} +1 -1
- package/dist/{keys-BN4nelft.js → keys-ZbcByPg9.js} +1 -1
- package/dist/{kv-Bxr0Q87_.d.cts → kv-B4vFhIYL.d.cts} +30 -1
- package/dist/{kv-BKNZ-Tb-.d.ts → kv-CYySNrsn.d.ts} +30 -1
- package/dist/{kv-CRZrzyXm.js → kv-QzKcOQgP.js} +22 -0
- package/dist/{kv-cache-5j5Pb-V6.cjs → kv-cache-BCBmDkwr.cjs} +2 -2
- package/dist/{kv-cache-DN9pfMBe.js → kv-cache-BEeqyGER.js} +14 -1
- package/dist/{kv-cache-Bq6kUUoG.js → kv-cache-CCkFOmOl.js} +2 -2
- package/dist/{ld-CEJHYq8u.js → ld-DXqgYcc9.js} +4 -3
- package/dist/middleware-CTmdJqh8.cjs +12 -0
- package/dist/middleware-CjwpmFSb.js +26 -0
- package/dist/{middleware-DgrceAHB.js → middleware-DzYMj3P9.js} +162 -165
- package/dist/middleware-FbKIfGNn.js +12 -0
- package/dist/{middleware-DW3rJHWy.cjs → middleware-IW3LA3Vi.cjs} +210 -194
- package/dist/{middleware-Df9OWALM.js → middleware-mAVYJs2q.js} +164 -154
- package/dist/{mod-DMpuiKXi.d.cts → mod-0p9zUdzg.d.cts} +6 -6
- package/dist/mod-0qnPv4EC.d.cts +62 -0
- package/dist/{mod-DgxG-byT.d.cts → mod-BrS8tiad.d.cts} +2 -2
- package/dist/mod-C3SOvTD1.d.ts +64 -0
- package/dist/{mod-BoRKfJPE.d.cts → mod-D6pS5_xJ.d.cts} +4 -4
- package/dist/{mod-D5Z2tISD.d.ts → mod-jOa7W503.d.ts} +2 -2
- package/dist/{mod-Cdo6SYlJ.d.ts → mod-waqu-BL_.d.ts} +4 -4
- package/dist/{mod-aAE2wOWV.d.ts → mod-xc20HhMD.d.ts} +6 -6
- package/dist/mod.cjs +11 -93
- package/dist/mod.d.cts +11 -15
- package/dist/mod.d.ts +11 -15
- package/dist/mod.js +11 -15
- package/dist/nodeinfo/client.test.js +3 -4
- package/dist/nodeinfo/handler.test.js +22 -21
- package/dist/nodeinfo/mod.cjs +2 -2
- package/dist/nodeinfo/mod.d.cts +2 -2
- package/dist/nodeinfo/mod.d.ts +2 -2
- package/dist/nodeinfo/mod.js +2 -2
- package/dist/nodeinfo/types.test.js +2 -3
- package/dist/otel/exporter.test.js +893 -0
- package/dist/otel/mod.cjs +256 -0
- package/dist/otel/mod.d.cts +230 -0
- package/dist/otel/mod.d.ts +232 -0
- package/dist/otel/mod.js +255 -0
- package/dist/{owner-kQRGVXG1.d.ts → owner-BgI8C-VY.d.ts} +1 -2
- package/dist/{owner-B4HbyP8s.d.cts → owner-C-zfmVAD.d.cts} +1 -2
- package/dist/{owner-JwI-WzF-.js → owner-VcVFcfvO.js} +44 -8
- package/dist/{proof-CObJuclI.cjs → proof-LJKB8sTg.cjs} +63 -28
- package/dist/{proof-xH0V1mdD.js → proof-Q-IWSQjT.js} +46 -11
- package/dist/{proof-Dhqndmfg.js → proof-VthB8GiV.js} +3 -2
- package/dist/router-D9eI0s4b.js +118 -0
- package/dist/{send-1o7D-GGL.js → send-Bb7N5G5a.js} +9 -4
- package/dist/sig/http.test.js +6 -7
- package/dist/sig/key.test.js +5 -5
- package/dist/sig/ld.test.js +6 -6
- package/dist/sig/mod.cjs +3 -5
- package/dist/sig/mod.d.cts +3 -5
- package/dist/sig/mod.d.ts +3 -5
- package/dist/sig/mod.js +3 -5
- package/dist/sig/owner.test.js +29 -6
- package/dist/sig/proof.test.js +6 -6
- package/dist/testing/mod.d.ts +70 -6999
- package/dist/testing/mod.js +4 -3
- package/dist/{transformers-CoBS-oFG.cjs → transformers-BjBg6Lag.cjs} +2 -2
- package/dist/{transformers-BFT6d7J5.js → transformers-N_ip_y4P.js} +2 -2
- package/dist/{types-BtUjyi5y.js → types-8l28uC8o.js} +30 -25
- package/dist/{types-CWgzGaqk.cjs → types-B6z6CqIz.cjs} +30 -25
- package/dist/{types-C2XVl6gj.js → types-CPz01LGH.js} +3 -3
- package/dist/utils/docloader.test.js +7 -8
- package/dist/utils/kv-cache.test.js +5 -3
- package/dist/utils/mod.cjs +3 -5
- package/dist/utils/mod.d.cts +3 -4
- package/dist/utils/mod.d.ts +3 -4
- package/dist/utils/mod.js +3 -5
- package/package.json +24 -35
- package/dist/actor-DhgrrgXz.cjs +0 -42079
- package/dist/actor-DiKHxw_H.js +0 -41647
- package/dist/actor-DqFajh9s.d.ts +0 -130
- package/dist/actor-Kqyoic-M.js +0 -146
- package/dist/actor-f2NtjyCg.d.cts +0 -128
- package/dist/fixtures/activitypub.academy/users/brauca_darradiul.json +0 -83
- package/dist/fixtures/example.com/announce.json +0 -6
- package/dist/fixtures/example.com/collection.json +0 -19
- package/dist/fixtures/example.com/create.json +0 -6
- package/dist/fixtures/example.com/cross-origin-actor.json +0 -6
- package/dist/fixtures/example.com/hong-gildong.json +0 -11
- package/dist/fixtures/example.com/invite.json +0 -7
- package/dist/fixtures/example.com/key.json +0 -7
- package/dist/fixtures/example.com/key2.json +0 -6
- package/dist/fixtures/example.com/object.json +0 -6
- package/dist/fixtures/example.com/orderedcollectionpage.json +0 -24
- package/dist/fixtures/example.com/paged/a.json +0 -13
- package/dist/fixtures/example.com/paged/b.json +0 -16
- package/dist/fixtures/example.com/paged-collection.json +0 -6
- package/dist/fixtures/example.com/person.json +0 -22
- package/dist/fixtures/example.com/person2.json +0 -40
- package/dist/fixtures/example.com/test.json +0 -5
- package/dist/fixtures/example.com/users/handle.json +0 -16
- package/dist/fixtures/example.com/wrong-type.json +0 -3
- package/dist/fixtures/media.example.com/avatars/test-avatar.jpg.json +0 -6
- package/dist/fixtures/oeee.cafe/ap/users/3609fd4e-d51d-4db8-9f04-4189815864dd.json +0 -24
- package/dist/fixtures/remote.domain/users/bob.json +0 -20
- package/dist/fixtures/server.example/users/alice.json +0 -20
- package/dist/fixtures/w3id.org/identity/v1.json +0 -152
- package/dist/fixtures/w3id.org/security/data-integrity/v1.json +0 -74
- package/dist/fixtures/w3id.org/security/multikey/v1.json +0 -35
- package/dist/fixtures/w3id.org/security/v1.json +0 -50
- package/dist/fixtures/wizard.casa/users/hongminhee.json +0 -69
- package/dist/fixtures/www.w3.org/ns/activitystreams.json +0 -379
- package/dist/fixtures/www.w3.org/ns/did/v1.json +0 -58
- package/dist/lookup-D8hvtZHY.js +0 -42178
- package/dist/lookup-_Hap2IXS.cjs +0 -265
- package/dist/lookup-gMu_9ZKY.js +0 -253
- package/dist/middleware-19QFZj7b.js +0 -26
- package/dist/middleware-BbbcXY4w.cjs +0 -15
- package/dist/middleware-CSTK543z.js +0 -15
- package/dist/mod-BlVovdcy.d.ts +0 -309
- package/dist/mod-BxRCHTz-.d.cts +0 -307
- package/dist/mod-C58MZ7Wx.d.cts +0 -113
- package/dist/mod-CcDPcLJW.d.cts +0 -1
- package/dist/mod-Ds0mpFZU.d.ts +0 -115
- package/dist/mod-bjzj5QIb.d.ts +0 -2
- package/dist/src/vocab/accept.yaml +0 -15
- package/dist/src/vocab/activity.yaml +0 -98
- package/dist/src/vocab/add.yaml +0 -16
- package/dist/src/vocab/announce.yaml +0 -30
- package/dist/src/vocab/application.yaml +0 -324
- package/dist/src/vocab/arrive.yaml +0 -15
- package/dist/src/vocab/article.yaml +0 -46
- package/dist/src/vocab/audio.yaml +0 -11
- package/dist/src/vocab/block.yaml +0 -16
- package/dist/src/vocab/chatmessage.yaml +0 -50
- package/dist/src/vocab/collection.yaml +0 -154
- package/dist/src/vocab/collectionpage.yaml +0 -55
- package/dist/src/vocab/create.yaml +0 -28
- package/dist/src/vocab/dataintegrityproof.yaml +0 -56
- package/dist/src/vocab/delete.yaml +0 -27
- package/dist/src/vocab/didservice.yaml +0 -22
- package/dist/src/vocab/dislike.yaml +0 -14
- package/dist/src/vocab/document.yaml +0 -31
- package/dist/src/vocab/emoji.yaml +0 -12
- package/dist/src/vocab/emojireact.yaml +0 -17
- package/dist/src/vocab/endpoints.yaml +0 -85
- package/dist/src/vocab/event.yaml +0 -11
- package/dist/src/vocab/export.yaml +0 -9
- package/dist/src/vocab/flag.yaml +0 -15
- package/dist/src/vocab/follow.yaml +0 -19
- package/dist/src/vocab/group.yaml +0 -324
- package/dist/src/vocab/hashtag.yaml +0 -14
- package/dist/src/vocab/ignore.yaml +0 -14
- package/dist/src/vocab/image.yaml +0 -9
- package/dist/src/vocab/intransitiveactivity.yaml +0 -15
- package/dist/src/vocab/invite.yaml +0 -14
- package/dist/src/vocab/join.yaml +0 -14
- package/dist/src/vocab/key.yaml +0 -28
- package/dist/src/vocab/leave.yaml +0 -14
- package/dist/src/vocab/like.yaml +0 -16
- package/dist/src/vocab/link.yaml +0 -101
- package/dist/src/vocab/listen.yaml +0 -12
- package/dist/src/vocab/mention.yaml +0 -9
- package/dist/src/vocab/move.yaml +0 -15
- package/dist/src/vocab/multikey.yaml +0 -36
- package/dist/src/vocab/note.yaml +0 -48
- package/dist/src/vocab/object.yaml +0 -404
- package/dist/src/vocab/offer.yaml +0 -15
- package/dist/src/vocab/orderedcollection.yaml +0 -39
- package/dist/src/vocab/orderedcollectionpage.yaml +0 -50
- package/dist/src/vocab/organization.yaml +0 -324
- package/dist/src/vocab/page.yaml +0 -11
- package/dist/src/vocab/person.yaml +0 -324
- package/dist/src/vocab/place.yaml +0 -75
- package/dist/src/vocab/profile.yaml +0 -26
- package/dist/src/vocab/propertyvalue.yaml +0 -32
- package/dist/src/vocab/question.yaml +0 -103
- package/dist/src/vocab/read.yaml +0 -13
- package/dist/src/vocab/reject.yaml +0 -14
- package/dist/src/vocab/relationship.yaml +0 -52
- package/dist/src/vocab/remove.yaml +0 -14
- package/dist/src/vocab/service.yaml +0 -324
- package/dist/src/vocab/source.yaml +0 -26
- package/dist/src/vocab/tentativeaccept.yaml +0 -14
- package/dist/src/vocab/tentativereject.yaml +0 -14
- package/dist/src/vocab/tombstone.yaml +0 -24
- package/dist/src/vocab/travel.yaml +0 -16
- package/dist/src/vocab/undo.yaml +0 -26
- package/dist/src/vocab/update.yaml +0 -58
- package/dist/src/vocab/video.yaml +0 -11
- package/dist/src/vocab/view.yaml +0 -13
- package/dist/testing/docloader.test.js +0 -22
- package/dist/vocab/actor.test.js +0 -5963
- package/dist/vocab/lookup.test.d.ts +0 -3
- package/dist/vocab/lookup.test.js +0 -454
- package/dist/vocab/mod.cjs +0 -86
- package/dist/vocab/mod.d.cts +0 -4
- package/dist/vocab/mod.d.ts +0 -6
- package/dist/vocab/mod.js +0 -9
- package/dist/vocab/type.test.d.ts +0 -3
- package/dist/vocab/type.test.js +0 -24
- package/dist/vocab/vocab.test.d.ts +0 -3
- package/dist/vocab/vocab.test.js +0 -9397
- package/dist/vocab-BCWe1Ih5.d.ts +0 -14905
- package/dist/vocab-CAwj263k.js +0 -255
- package/dist/vocab-CeDBzu-f.d.cts +0 -14903
- package/dist/vocab-DgHGCFcw.cjs +0 -291
- package/dist/webfinger/handler.test.d.ts +0 -3
- package/dist/webfinger/lookup.test.d.ts +0 -3
- package/dist/webfinger/lookup.test.js +0 -193
- package/dist/webfinger/mod.cjs +0 -8
- package/dist/webfinger/mod.d.cts +0 -2
- package/dist/webfinger/mod.d.ts +0 -4
- package/dist/webfinger/mod.js +0 -8
- package/dist/webfinger-C72Y8lrh.js +0 -4
- package/dist/webfinger-vAtLmxOF.cjs +0 -4
- /package/dist/{collection-BzWsN9pB.js → collection-CcnIw1qY.js} +0 -0
- /package/dist/{testing/docloader.test.d.ts → federation/webfinger.test.d.ts} +0 -0
- /package/dist/{mod-CVgZgliM.d.ts → mod-1E3W847c.d.ts} +0 -0
- /package/dist/{mod-B-hUPT2N.d.cts → mod-C81L6_lQ.d.cts} +0 -0
- /package/dist/{negotiation-C4nFufNk.js → negotiation-5NPJL6zp.js} +0 -0
- /package/dist/{nodeinfo-BnthBobC.js → nodeinfo-BlLsRSiT.js} +0 -0
- /package/dist/{nodeinfo-CdN0rEnZ.cjs → nodeinfo-DuMYTpbZ.cjs} +0 -0
- /package/dist/{vocab/actor.test.d.ts → otel/exporter.test.d.ts} +0 -0
- /package/dist/{retry-CfF8Gn4d.js → retry-D4GJ670a.js} +0 -0
- /package/dist/{sig-C34-oHBl.js → sig-CwuONEzF.js} +0 -0
- /package/dist/{sig-YYj5tCnr.cjs → sig-DeXX2xnj.cjs} +0 -0
- /package/dist/{utils-DyRU1gdZ.cjs → utils-Db0ZmjcD.cjs} +0 -0
- /package/dist/{utils-D-Va7aXC.js → utils-Wranxuoe.js} +0 -0
package/LICENSE
CHANGED
package/README.md
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
<!-- deno-fmt-ignore-file -->
|
|
2
2
|
|
|
3
|
-

|
|
4
|
-
|
|
5
|
-
=======================================
|
|
3
|
+
 Fedify: an ActivityPub server framework
|
|
4
|
+
=======================================================
|
|
6
5
|
|
|
7
6
|
[![JSR][JSR badge]][JSR]
|
|
8
7
|
[![npm][npm badge]][npm]
|
|
@@ -16,7 +15,7 @@ Fedify: an ActivityPub server framework
|
|
|
16
15
|
|
|
17
16
|
Fedify is a TypeScript library for building federated server apps
|
|
18
17
|
powered by [ActivityPub] and other standards, so-called [fediverse].[^1]
|
|
19
|
-
It aims to eliminate the complexity and
|
|
18
|
+
It aims to eliminate the complexity and boilerplate code when
|
|
20
19
|
building a federated server app, so that you can focus on your business logic
|
|
21
20
|
and user experience.
|
|
22
21
|
|
|
@@ -29,20 +28,20 @@ Currently, Fedify provides the following features out of the box:
|
|
|
29
28
|
- [Object Integrity Proofs][FEP-8b32] & [Linked Data Signatures]
|
|
30
29
|
- Middlewares for handling webhooks
|
|
31
30
|
- [NodeInfo] protocol
|
|
32
|
-
-
|
|
33
|
-
|
|
31
|
+
- Enhanced interoperability with Mastodon and other popular fediverse
|
|
32
|
+
software
|
|
34
33
|
- Integration with various web frameworks
|
|
35
34
|
- CLI toolchain for testing and debugging
|
|
36
35
|
|
|
37
36
|
If you want to know more about the project, please take a look at the following
|
|
38
37
|
resources:
|
|
39
38
|
|
|
40
|
-
- [Installation]
|
|
39
|
+
- [Installation]
|
|
41
40
|
- Tutorials:
|
|
42
|
-
[Learning the basics]
|
|
43
|
-
[Creating a microblog]
|
|
41
|
+
[Learning the basics] &
|
|
42
|
+
[Creating a microblog]
|
|
44
43
|
- [API reference][JSR]
|
|
45
|
-
- [Examples]
|
|
44
|
+
- [Examples]
|
|
46
45
|
|
|
47
46
|
If you have any questions, suggestions, or feedback, please feel free to
|
|
48
47
|
join our [Matrix chat space][Matrix] or [Discord server][Discord] or
|
|
@@ -51,16 +50,16 @@ join our [Matrix chat space][Matrix] or [Discord server][Discord] or
|
|
|
51
50
|
[^1]: You may already know some of the networks in the fediverse, such as
|
|
52
51
|
[Mastodon], [Lemmy], [Pixelfed], [PeerTube], and so on.
|
|
53
52
|
|
|
54
|
-
[JSR]: https://jsr.io/@fedify/fedify
|
|
55
53
|
[JSR badge]: https://jsr.io/badges/@fedify/fedify
|
|
56
|
-
[
|
|
54
|
+
[JSR]: https://jsr.io/@fedify/fedify
|
|
57
55
|
[npm badge]: https://img.shields.io/npm/v/@fedify/fedify?logo=npm
|
|
58
|
-
[
|
|
56
|
+
[npm]: https://www.npmjs.com/package/@fedify/fedify
|
|
59
57
|
[GitHub Actions badge]: https://github.com/fedify-dev/fedify/actions/workflows/build.yaml/badge.svg
|
|
60
|
-
[
|
|
58
|
+
[GitHub Actions]: https://github.com/fedify-dev/fedify/actions/workflows/build.yaml
|
|
61
59
|
[Matrix badge]: https://img.shields.io/matrix/fedify%3Amatrix.org?logo=matrix
|
|
62
|
-
[
|
|
60
|
+
[Matrix]: https://matrix.to/#/#fedify:matrix.org
|
|
63
61
|
[Discord badge]: https://img.shields.io/discord/1295652627505217647?logo=discord&cacheSeconds=60
|
|
62
|
+
[Discord]: https://discord.gg/bhtwpzURwd
|
|
64
63
|
[@fedify@hollo.social badge]: https://fedi-badge.deno.dev/@fedify@hollo.social/followers.svg
|
|
65
64
|
[@fedify@hollo.social]: https://hollo.social/@fedify
|
|
66
65
|
[Fedify Demo]: https://dash.deno.com/playground/fedify-demo
|
|
@@ -73,8 +72,13 @@ join our [Matrix chat space][Matrix] or [Discord server][Discord] or
|
|
|
73
72
|
[FEP-8b32]: https://w3id.org/fep/8b32
|
|
74
73
|
[Linked Data Signatures]: https://web.archive.org/web/20170923124140/https://w3c-dvcg.github.io/ld-signatures/
|
|
75
74
|
[NodeInfo]: https://nodeinfo.diaspora.software/
|
|
75
|
+
[Installation]: https://fedify.dev/install
|
|
76
|
+
[Learning the basics]: https://fedify.dev/tutorial/basics
|
|
77
|
+
[Creating a microblog]: https://fedify.dev/tutorial/microblog
|
|
78
|
+
[Examples]: https://github.com/fedify-dev/fedify/tree/main/examples
|
|
76
79
|
[GitHub Discussions]: https://github.com/fedify-dev/fedify/discussions
|
|
77
80
|
[#Fedify]: https://mastodon.social/tags/fedify
|
|
81
|
+
|
|
78
82
|
[Mastodon]: https://joinmastodon.org/
|
|
79
83
|
[Lemmy]: https://join-lemmy.org/
|
|
80
84
|
[Pixelfed]: https://pixelfed.org/
|
|
@@ -85,31 +89,38 @@ Packages
|
|
|
85
89
|
--------
|
|
86
90
|
|
|
87
91
|
Fedify is a monorepo that contains several packages, each of which provides
|
|
88
|
-
different features
|
|
92
|
+
different features. The main package is *@fedify/fedify*,
|
|
89
93
|
which provides the core functionality of the framework. Other packages provide
|
|
90
94
|
integrations with various web frameworks, database drivers, and other features.
|
|
91
95
|
Here is the list of packages:
|
|
92
96
|
|
|
93
|
-
| Package
|
|
94
|
-
|
|
|
95
|
-
| [@fedify/fedify](/packages/fedify/)
|
|
96
|
-
| [@fedify/cli](/packages/cli/)
|
|
97
|
-
| [@fedify/amqp](/packages/amqp/)
|
|
98
|
-
| [@fedify/cfworkers](/packages/cfworkers/)
|
|
99
|
-
| [@fedify/denokv](/packages/denokv/)
|
|
100
|
-
| [@fedify/elysia](/packages/elysia/)
|
|
101
|
-
| [@fedify/express](/packages/express/)
|
|
102
|
-
| [@fedify/
|
|
103
|
-
| [@fedify/
|
|
104
|
-
| [@fedify/
|
|
105
|
-
| [@fedify/
|
|
106
|
-
| [@fedify/
|
|
107
|
-
| [@fedify/
|
|
108
|
-
| [@fedify/
|
|
109
|
-
| [@fedify/
|
|
110
|
-
| [@fedify/
|
|
111
|
-
| [@fedify/
|
|
112
|
-
| [@fedify/
|
|
97
|
+
| Package | JSR | npm | Description |
|
|
98
|
+
| ------------------------------------------------- | -------------------------------- | -------------------------------- | ---------------------------------------- |
|
|
99
|
+
| [@fedify/fedify](/packages/fedify/) | [JSR] | [npm] | The core framework of Fedify |
|
|
100
|
+
| [@fedify/cli](/packages/cli/) | [JSR][jsr:@fedify/cli] | [npm][npm:@fedify/cli] | CLI toolchain for testing and debugging |
|
|
101
|
+
| [@fedify/amqp](/packages/amqp/) | [JSR][jsr:@fedify/amqp] | [npm][npm:@fedify/amqp] | AMQP/RabbitMQ driver |
|
|
102
|
+
| [@fedify/cfworkers](/packages/cfworkers/) | [JSR][jsr:@fedify/cfworkers] | [npm][npm:@fedify/cfworkers] | Cloudflare Workers integration |
|
|
103
|
+
| [@fedify/denokv](/packages/denokv/) | [JSR][jsr:@fedify/denokv] | | Deno KV integration |
|
|
104
|
+
| [@fedify/elysia](/packages/elysia/) | | [npm][npm:@fedify/elysia] | Elysia integration |
|
|
105
|
+
| [@fedify/express](/packages/express/) | [JSR][jsr:@fedify/express] | [npm][npm:@fedify/express] | Express integration |
|
|
106
|
+
| [@fedify/fastify](/packages/fastify/) | [JSR][jsr:@fedify/fastify] | [npm][npm:@fedify/fastify] | Fastify integration |
|
|
107
|
+
| [@fedify/fresh](/packages/fresh/) | [JSR][jsr:@fedify/fresh] | | Fresh integration |
|
|
108
|
+
| [@fedify/h3](/packages/h3/) | [JSR][jsr:@fedify/h3] | [npm][npm:@fedify/h3] | H3 integration |
|
|
109
|
+
| [@fedify/hono](/packages/hono/) | [JSR][jsr:@fedify/hono] | [npm][npm:@fedify/hono] | Hono integration |
|
|
110
|
+
| [@fedify/koa](/packages/koa/) | [JSR][jsr:@fedify/koa] | [npm][npm:@fedify/koa] | Koa integration |
|
|
111
|
+
| [@fedify/lint](/packages/lint/) | [JSR][jsr:@fedify/lint] | [npm][npm:@fedify/lint] | Linting utilities |
|
|
112
|
+
| [@fedify/nestjs](/packages/nestjs/) | | [npm][npm:@fedify/nestjs] | NestJS integration |
|
|
113
|
+
| [@fedify/next](/packages/next/) | | [npm][npm:@fedify/next] | Next.js integration |
|
|
114
|
+
| [@fedify/postgres](/packages/postgres/) | [JSR][jsr:@fedify/postgres] | [npm][npm:@fedify/postgres] | PostgreSQL driver |
|
|
115
|
+
| [@fedify/redis](/packages/redis/) | [JSR][jsr:@fedify/redis] | [npm][npm:@fedify/redis] | Redis driver |
|
|
116
|
+
| [@fedify/relay](/packages/relay/) | [JSR][jsr:@fedify/relay] | [npm][npm:@fedify/relay] | ActivityPub relay support |
|
|
117
|
+
| [@fedify/sqlite](/packages/sqlite/) | [JSR][jsr:@fedify/sqlite] | [npm][npm:@fedify/sqlite] | SQLite driver |
|
|
118
|
+
| [@fedify/sveltekit](/packages/sveltekit/) | [JSR][jsr:@fedify/sveltekit] | [npm][npm:@fedify/sveltekit] | SvelteKit integration |
|
|
119
|
+
| [@fedify/testing](/packages/testing/) | [JSR][jsr:@fedify/testing] | [npm][npm:@fedify/testing] | Testing utilities |
|
|
120
|
+
| [@fedify/vocab](/packages/vocab/) | [JSR][jsr:@fedify/vocab] | [npm][npm:@fedify/vocab] | Activity Vocabulary library |
|
|
121
|
+
| [@fedify/vocab-runtime](/packages/vocab-runtime/) | [JSR][jsr:@fedify/vocab-runtime] | [npm][npm:@fedify/vocab-runtime] | Runtime library for code-generated vocab |
|
|
122
|
+
| [@fedify/vocab-tools](/packages/vocab-tools/) | [JSR][jsr:@fedify/vocab-tools] | [npm][npm:@fedify/vocab-tools] | Code generation tools for Activity Vocab |
|
|
123
|
+
| [@fedify/webfinger](/packages/webfinger/) | [JSR][jsr:@fedify/webfinger] | [npm][npm:@fedify/webfinger] | WebFinger client library for ActivityPub |
|
|
113
124
|
|
|
114
125
|
[jsr:@fedify/cli]: https://jsr.io/@fedify/cli
|
|
115
126
|
[npm:@fedify/cli]: https://www.npmjs.com/package/@fedify/cli
|
|
@@ -121,12 +132,17 @@ Here is the list of packages:
|
|
|
121
132
|
[npm:@fedify/elysia]: https://www.npmjs.com/package/@fedify/elysia
|
|
122
133
|
[jsr:@fedify/express]: https://jsr.io/@fedify/express
|
|
123
134
|
[npm:@fedify/express]: https://www.npmjs.com/package/@fedify/express
|
|
135
|
+
[jsr:@fedify/fastify]: https://jsr.io/@fedify/fastify
|
|
136
|
+
[npm:@fedify/fastify]: https://www.npmjs.com/package/@fedify/fastify
|
|
137
|
+
[jsr:@fedify/fresh]: https://jsr.io/@fedify/fresh
|
|
124
138
|
[jsr:@fedify/h3]: https://jsr.io/@fedify/h3
|
|
125
139
|
[npm:@fedify/h3]: https://www.npmjs.com/package/@fedify/h3
|
|
126
140
|
[jsr:@fedify/hono]: https://jsr.io/@fedify/hono
|
|
127
141
|
[npm:@fedify/hono]: https://www.npmjs.com/package/@fedify/hono
|
|
128
142
|
[jsr:@fedify/koa]: https://jsr.io/@fedify/koa
|
|
129
143
|
[npm:@fedify/koa]: https://www.npmjs.com/package/@fedify/koa
|
|
144
|
+
[jsr:@fedify/lint]: https://jsr.io/@fedify/lint
|
|
145
|
+
[npm:@fedify/lint]: https://www.npmjs.com/package/@fedify/lint
|
|
130
146
|
[npm:@fedify/nestjs]: https://www.npmjs.com/package/@fedify/nestjs
|
|
131
147
|
[npm:@fedify/next]: https://www.npmjs.com/package/@fedify/next
|
|
132
148
|
[jsr:@fedify/postgres]: https://jsr.io/@fedify/postgres
|
|
@@ -141,6 +157,14 @@ Here is the list of packages:
|
|
|
141
157
|
[npm:@fedify/sveltekit]: https://www.npmjs.com/package/@fedify/sveltekit
|
|
142
158
|
[jsr:@fedify/testing]: https://jsr.io/@fedify/testing
|
|
143
159
|
[npm:@fedify/testing]: https://www.npmjs.com/package/@fedify/testing
|
|
160
|
+
[jsr:@fedify/vocab]: https://jsr.io/@fedify/vocab
|
|
161
|
+
[npm:@fedify/vocab]: https://www.npmjs.com/package/@fedify/vocab
|
|
162
|
+
[jsr:@fedify/vocab-runtime]: https://jsr.io/@fedify/vocab-runtime
|
|
163
|
+
[npm:@fedify/vocab-runtime]: https://www.npmjs.com/package/@fedify/vocab-runtime
|
|
164
|
+
[jsr:@fedify/vocab-tools]: https://jsr.io/@fedify/vocab-tools
|
|
165
|
+
[npm:@fedify/vocab-tools]: https://www.npmjs.com/package/@fedify/vocab-tools
|
|
166
|
+
[jsr:@fedify/webfinger]: https://jsr.io/@fedify/webfinger
|
|
167
|
+
[npm:@fedify/webfinger]: https://www.npmjs.com/package/@fedify/webfinger
|
|
144
168
|
|
|
145
169
|
|
|
146
170
|
Sponsors
|
|
@@ -152,7 +176,10 @@ financial contributors:[^2]
|
|
|
152
176
|
|
|
153
177
|
[^2]: Those lists are automatically updated every hour.
|
|
154
178
|
|
|
179
|
+
<!-- hongdown-disable -->
|
|
180
|
+
|
|
155
181
|
<!-- cSpell: disable -->
|
|
182
|
+
|
|
156
183
|
<!-- DO NOT EDIT(h3): this section is automatically generated by the script -->
|
|
157
184
|
|
|
158
185
|
### Corporate sponsors
|
|
@@ -175,8 +202,11 @@ Robin Riley, yamanoku, Encyclia, taye, okin, Andy Piper, box464, Evan Prodromou,
|
|
|
175
202
|
Robin Riley, Markus P, Nils Bergmann, Rameez
|
|
176
203
|
|
|
177
204
|
<!-- /DO NOT EDIT -->
|
|
205
|
+
|
|
178
206
|
<!-- cSpell: enable -->
|
|
179
207
|
|
|
208
|
+
<!-- hongdown-enable -->
|
|
209
|
+
|
|
180
210
|
### Become a sponsor
|
|
181
211
|
|
|
182
212
|
We welcome financial contributions to help us maintain and improve this project.
|
|
@@ -3,9 +3,11 @@
|
|
|
3
3
|
import { URLPattern } from "urlpattern-polyfill";
|
|
4
4
|
globalThis.addEventListener = () => {};
|
|
5
5
|
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
6
|
+
import { deno_default } from "./deno-BUTHG7dM.js";
|
|
7
|
+
import { Router, RouterError } from "./router-D9eI0s4b.js";
|
|
8
|
+
import { InboxListenerSet } from "./inbox-Cv5jVEEr.js";
|
|
8
9
|
import { getLogger } from "@logtape/logtape";
|
|
10
|
+
import { getTypeId } from "@fedify/vocab";
|
|
9
11
|
import { SpanKind, SpanStatusCode, trace } from "@opentelemetry/api";
|
|
10
12
|
|
|
11
13
|
//#region src/federation/builder.ts
|
|
@@ -42,7 +44,7 @@ var FederationBuilderImpl = class {
|
|
|
42
44
|
this.collectionTypeIds = {};
|
|
43
45
|
}
|
|
44
46
|
async build(options) {
|
|
45
|
-
const { FederationImpl } = await import("./middleware-
|
|
47
|
+
const { FederationImpl } = await import("./middleware-CjwpmFSb.js");
|
|
46
48
|
const f = new FederationImpl(options);
|
|
47
49
|
const trailingSlashInsensitiveValue = f.router.trailingSlashInsensitive;
|
|
48
50
|
f.router = this.router.clone();
|
|
@@ -16,29 +16,29 @@ interface NodeInfo {
|
|
|
16
16
|
/**
|
|
17
17
|
* Metadata about server software in use.
|
|
18
18
|
*/
|
|
19
|
-
software: Software;
|
|
19
|
+
readonly software: Software;
|
|
20
20
|
/**
|
|
21
21
|
* The protocols supported on this server. At least one protocol must be
|
|
22
22
|
* supported.
|
|
23
23
|
*/
|
|
24
|
-
protocols: Protocol[];
|
|
24
|
+
readonly protocols: readonly Protocol[];
|
|
25
25
|
/**
|
|
26
26
|
* The third party sites this server can connect to via their application API.
|
|
27
27
|
*/
|
|
28
|
-
services?: Services;
|
|
28
|
+
readonly services?: Services;
|
|
29
29
|
/**
|
|
30
30
|
* Whether this server allows open self-registration. Defaults to `false`.
|
|
31
31
|
*/
|
|
32
|
-
openRegistrations?: boolean;
|
|
32
|
+
readonly openRegistrations?: boolean;
|
|
33
33
|
/**
|
|
34
34
|
* Usage statistics for this server.
|
|
35
35
|
*/
|
|
36
|
-
usage: Usage;
|
|
36
|
+
readonly usage: Usage;
|
|
37
37
|
/**
|
|
38
38
|
* Free form key value pairs for software specific values.
|
|
39
39
|
* Clients should not rely on any specific key present.
|
|
40
40
|
*/
|
|
41
|
-
metadata?: Record<string, JsonValue
|
|
41
|
+
readonly metadata?: Readonly<Record<string, JsonValue>>;
|
|
42
42
|
}
|
|
43
43
|
/**
|
|
44
44
|
* Metadata about server software in use.
|
|
@@ -48,19 +48,19 @@ interface Software {
|
|
|
48
48
|
* The canonical name of this server software. This must comply with
|
|
49
49
|
* pattern `/^[a-z0-9-]+$/`.
|
|
50
50
|
*/
|
|
51
|
-
name: string;
|
|
51
|
+
readonly name: string;
|
|
52
52
|
/**
|
|
53
53
|
* The version of this server software.
|
|
54
54
|
*/
|
|
55
|
-
version: string;
|
|
55
|
+
readonly version: string;
|
|
56
56
|
/**
|
|
57
57
|
* The URL of the source code repository of this server software.
|
|
58
58
|
*/
|
|
59
|
-
repository?: URL;
|
|
59
|
+
readonly repository?: URL;
|
|
60
60
|
/**
|
|
61
61
|
* The URL of the homepage of this server software.
|
|
62
62
|
*/
|
|
63
|
-
homepage?: URL;
|
|
63
|
+
readonly homepage?: URL;
|
|
64
64
|
}
|
|
65
65
|
/**
|
|
66
66
|
* The protocols supported on this server.
|
|
@@ -74,12 +74,12 @@ interface Services {
|
|
|
74
74
|
* The third party sites this server can retrieve messages from for combined
|
|
75
75
|
* display with regular traffic.
|
|
76
76
|
*/
|
|
77
|
-
inbound?: InboundService[];
|
|
77
|
+
readonly inbound?: readonly InboundService[];
|
|
78
78
|
/**
|
|
79
79
|
* The third party sites this server can publish messages to on the behalf
|
|
80
80
|
* of a user.
|
|
81
81
|
*/
|
|
82
|
-
outbound?: OutboundService[];
|
|
82
|
+
readonly outbound?: readonly OutboundService[];
|
|
83
83
|
}
|
|
84
84
|
/**
|
|
85
85
|
* The third party sites this server can retrieve messages from for combined
|
|
@@ -98,33 +98,33 @@ interface Usage {
|
|
|
98
98
|
/**
|
|
99
99
|
* Statistics about the users of this server.
|
|
100
100
|
*/
|
|
101
|
-
users: {
|
|
101
|
+
readonly users: {
|
|
102
102
|
/**
|
|
103
103
|
* The total amount of on this server registered users. This number
|
|
104
104
|
* has to be an integer greater than or equal to zero.
|
|
105
105
|
*/
|
|
106
|
-
total?: number;
|
|
106
|
+
readonly total?: number;
|
|
107
107
|
/**
|
|
108
108
|
* The amount of users that signed in at least once in the last 180 days.
|
|
109
109
|
* This number has to be an integer greater than or equal to zero.
|
|
110
110
|
*/
|
|
111
|
-
activeHalfyear?: number;
|
|
111
|
+
readonly activeHalfyear?: number;
|
|
112
112
|
/**
|
|
113
113
|
* The amount of users that signed in at least once in the last 30 days.
|
|
114
114
|
* This number has to be an integer greater than or equal to zero.
|
|
115
115
|
*/
|
|
116
|
-
activeMonth?: number;
|
|
116
|
+
readonly activeMonth?: number;
|
|
117
117
|
};
|
|
118
118
|
/**
|
|
119
119
|
* The amount of posts that were made by users that are registered on this
|
|
120
120
|
* server. This number has to be an integer greater than or equal to zero.
|
|
121
121
|
*/
|
|
122
|
-
localPosts: number;
|
|
122
|
+
readonly localPosts: number;
|
|
123
123
|
/**
|
|
124
124
|
* The amount of comments that were made by users that are registered on this
|
|
125
125
|
* server. This number has to be an integer greater than or equal to zero.
|
|
126
126
|
*/
|
|
127
|
-
localComments: number;
|
|
127
|
+
readonly localComments: number;
|
|
128
128
|
}
|
|
129
129
|
/**
|
|
130
130
|
* Converts a {@link NodeInfo} object to a JSON value.
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
import { URLPattern } from "urlpattern-polyfill";
|
|
4
4
|
globalThis.addEventListener = () => {};
|
|
5
5
|
|
|
6
|
-
import { getUserAgent } from "@fedify/vocab-runtime";
|
|
7
6
|
import { getLogger } from "@logtape/logtape";
|
|
7
|
+
import { getUserAgent } from "@fedify/vocab-runtime";
|
|
8
8
|
|
|
9
9
|
//#region src/nodeinfo/client.ts
|
|
10
10
|
const logger = getLogger([
|
|
@@ -111,15 +111,14 @@ function parseNodeInfo(data, options = {}) {
|
|
|
111
111
|
if (typeof data.metadata === "object" && data.metadata != null) metadata = Object.fromEntries(Object.entries(data.metadata));
|
|
112
112
|
else if (!options.tryBestEffort) return null;
|
|
113
113
|
}
|
|
114
|
-
|
|
114
|
+
return {
|
|
115
115
|
software,
|
|
116
116
|
protocols,
|
|
117
|
-
usage
|
|
117
|
+
usage,
|
|
118
|
+
...services != null && { services },
|
|
119
|
+
...openRegistrations != null && { openRegistrations },
|
|
120
|
+
...metadata != null && { metadata }
|
|
118
121
|
};
|
|
119
|
-
if (services != null) result.services = services;
|
|
120
|
-
if (openRegistrations != null) result.openRegistrations = openRegistrations;
|
|
121
|
-
if (metadata != null) result.metadata = metadata;
|
|
122
|
-
return result;
|
|
123
122
|
}
|
|
124
123
|
function parseSoftware(data, options = {}) {
|
|
125
124
|
if (typeof data !== "object" || data == null) {
|
|
@@ -155,13 +154,12 @@ function parseSoftware(data, options = {}) {
|
|
|
155
154
|
}
|
|
156
155
|
else if (!options.tryBestEffort) return null;
|
|
157
156
|
}
|
|
158
|
-
|
|
157
|
+
return {
|
|
159
158
|
name,
|
|
160
|
-
version
|
|
159
|
+
version,
|
|
160
|
+
...repository != null && { repository },
|
|
161
|
+
...homepage != null && { homepage }
|
|
161
162
|
};
|
|
162
|
-
if (repository != null) result.repository = repository;
|
|
163
|
-
if (homepage != null) result.homepage = homepage;
|
|
164
|
-
return result;
|
|
165
163
|
}
|
|
166
164
|
function parseProtocol(data) {
|
|
167
165
|
if (data === "activitypub" || data === "buddycloud" || data === "dfrn" || data === "diaspora" || data === "libertree" || data === "ostatus" || data === "pumpio" || data === "tent" || data === "xmpp" || data === "zot") return data;
|
|
@@ -184,10 +182,10 @@ function parseServices(data, options = {}) {
|
|
|
184
182
|
outbound = os.filter((o) => o != null);
|
|
185
183
|
if (os.length > outbound.length && !options.tryBestEffort) return null;
|
|
186
184
|
}
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
185
|
+
return {
|
|
186
|
+
...inbound != null && { inbound },
|
|
187
|
+
...outbound != null && { outbound }
|
|
188
|
+
};
|
|
191
189
|
}
|
|
192
190
|
function parseInboundService(data) {
|
|
193
191
|
if (data === "atom1.0" || data === "gnusocial" || data === "imap" || data === "pnut" || data === "pop3" || data === "pumpio" || data === "rss2.0" || data === "twitter") return data;
|
|
@@ -199,33 +197,40 @@ function parseOutboundService(data) {
|
|
|
199
197
|
}
|
|
200
198
|
function parseUsage(data, options = {}) {
|
|
201
199
|
if (typeof data !== "object" || data == null) return null;
|
|
202
|
-
|
|
200
|
+
let total;
|
|
201
|
+
let activeHalfyear;
|
|
202
|
+
let activeMonth;
|
|
203
203
|
if ("users" in data && typeof data.users === "object" && data.users != null) {
|
|
204
|
-
if ("total" in data.users) if (typeof data.users.total === "number")
|
|
204
|
+
if ("total" in data.users) if (typeof data.users.total === "number") total = data.users.total;
|
|
205
205
|
else {
|
|
206
206
|
if (!options.tryBestEffort) return null;
|
|
207
207
|
if (typeof data.users.total === "string") {
|
|
208
208
|
const n = parseInt(data.users.total);
|
|
209
|
-
if (!isNaN(n))
|
|
209
|
+
if (!isNaN(n)) total = n;
|
|
210
210
|
}
|
|
211
211
|
}
|
|
212
|
-
if ("activeHalfyear" in data.users) if (typeof data.users.activeHalfyear === "number")
|
|
212
|
+
if ("activeHalfyear" in data.users) if (typeof data.users.activeHalfyear === "number") activeHalfyear = data.users.activeHalfyear;
|
|
213
213
|
else {
|
|
214
214
|
if (!options.tryBestEffort) return null;
|
|
215
215
|
if (typeof data.users.activeHalfyear === "string") {
|
|
216
216
|
const n = parseInt(data.users.activeHalfyear);
|
|
217
|
-
if (!isNaN(n))
|
|
217
|
+
if (!isNaN(n)) activeHalfyear = n;
|
|
218
218
|
}
|
|
219
219
|
}
|
|
220
|
-
if ("activeMonth" in data.users) if (typeof data.users.activeMonth === "number")
|
|
220
|
+
if ("activeMonth" in data.users) if (typeof data.users.activeMonth === "number") activeMonth = data.users.activeMonth;
|
|
221
221
|
else {
|
|
222
222
|
if (!options.tryBestEffort) return null;
|
|
223
223
|
if (typeof data.users.activeMonth === "string") {
|
|
224
224
|
const n = parseInt(data.users.activeMonth);
|
|
225
|
-
if (!isNaN(n))
|
|
225
|
+
if (!isNaN(n)) activeMonth = n;
|
|
226
226
|
}
|
|
227
227
|
}
|
|
228
228
|
} else if (!options.tryBestEffort) return null;
|
|
229
|
+
const users = {
|
|
230
|
+
...total != null && { total },
|
|
231
|
+
...activeHalfyear != null && { activeHalfyear },
|
|
232
|
+
...activeMonth != null && { activeMonth }
|
|
233
|
+
};
|
|
229
234
|
let localPosts = 0;
|
|
230
235
|
if ("localPosts" in data) if (typeof data.localPosts === "number") localPosts = data.localPosts;
|
|
231
236
|
else {
|
|
@@ -14,29 +14,29 @@ interface NodeInfo {
|
|
|
14
14
|
/**
|
|
15
15
|
* Metadata about server software in use.
|
|
16
16
|
*/
|
|
17
|
-
software: Software;
|
|
17
|
+
readonly software: Software;
|
|
18
18
|
/**
|
|
19
19
|
* The protocols supported on this server. At least one protocol must be
|
|
20
20
|
* supported.
|
|
21
21
|
*/
|
|
22
|
-
protocols: Protocol[];
|
|
22
|
+
readonly protocols: readonly Protocol[];
|
|
23
23
|
/**
|
|
24
24
|
* The third party sites this server can connect to via their application API.
|
|
25
25
|
*/
|
|
26
|
-
services?: Services;
|
|
26
|
+
readonly services?: Services;
|
|
27
27
|
/**
|
|
28
28
|
* Whether this server allows open self-registration. Defaults to `false`.
|
|
29
29
|
*/
|
|
30
|
-
openRegistrations?: boolean;
|
|
30
|
+
readonly openRegistrations?: boolean;
|
|
31
31
|
/**
|
|
32
32
|
* Usage statistics for this server.
|
|
33
33
|
*/
|
|
34
|
-
usage: Usage;
|
|
34
|
+
readonly usage: Usage;
|
|
35
35
|
/**
|
|
36
36
|
* Free form key value pairs for software specific values.
|
|
37
37
|
* Clients should not rely on any specific key present.
|
|
38
38
|
*/
|
|
39
|
-
metadata?: Record<string, JsonValue
|
|
39
|
+
readonly metadata?: Readonly<Record<string, JsonValue>>;
|
|
40
40
|
}
|
|
41
41
|
/**
|
|
42
42
|
* Metadata about server software in use.
|
|
@@ -46,19 +46,19 @@ interface Software {
|
|
|
46
46
|
* The canonical name of this server software. This must comply with
|
|
47
47
|
* pattern `/^[a-z0-9-]+$/`.
|
|
48
48
|
*/
|
|
49
|
-
name: string;
|
|
49
|
+
readonly name: string;
|
|
50
50
|
/**
|
|
51
51
|
* The version of this server software.
|
|
52
52
|
*/
|
|
53
|
-
version: string;
|
|
53
|
+
readonly version: string;
|
|
54
54
|
/**
|
|
55
55
|
* The URL of the source code repository of this server software.
|
|
56
56
|
*/
|
|
57
|
-
repository?: URL;
|
|
57
|
+
readonly repository?: URL;
|
|
58
58
|
/**
|
|
59
59
|
* The URL of the homepage of this server software.
|
|
60
60
|
*/
|
|
61
|
-
homepage?: URL;
|
|
61
|
+
readonly homepage?: URL;
|
|
62
62
|
}
|
|
63
63
|
/**
|
|
64
64
|
* The protocols supported on this server.
|
|
@@ -72,12 +72,12 @@ interface Services {
|
|
|
72
72
|
* The third party sites this server can retrieve messages from for combined
|
|
73
73
|
* display with regular traffic.
|
|
74
74
|
*/
|
|
75
|
-
inbound?: InboundService[];
|
|
75
|
+
readonly inbound?: readonly InboundService[];
|
|
76
76
|
/**
|
|
77
77
|
* The third party sites this server can publish messages to on the behalf
|
|
78
78
|
* of a user.
|
|
79
79
|
*/
|
|
80
|
-
outbound?: OutboundService[];
|
|
80
|
+
readonly outbound?: readonly OutboundService[];
|
|
81
81
|
}
|
|
82
82
|
/**
|
|
83
83
|
* The third party sites this server can retrieve messages from for combined
|
|
@@ -96,33 +96,33 @@ interface Usage {
|
|
|
96
96
|
/**
|
|
97
97
|
* Statistics about the users of this server.
|
|
98
98
|
*/
|
|
99
|
-
users: {
|
|
99
|
+
readonly users: {
|
|
100
100
|
/**
|
|
101
101
|
* The total amount of on this server registered users. This number
|
|
102
102
|
* has to be an integer greater than or equal to zero.
|
|
103
103
|
*/
|
|
104
|
-
total?: number;
|
|
104
|
+
readonly total?: number;
|
|
105
105
|
/**
|
|
106
106
|
* The amount of users that signed in at least once in the last 180 days.
|
|
107
107
|
* This number has to be an integer greater than or equal to zero.
|
|
108
108
|
*/
|
|
109
|
-
activeHalfyear?: number;
|
|
109
|
+
readonly activeHalfyear?: number;
|
|
110
110
|
/**
|
|
111
111
|
* The amount of users that signed in at least once in the last 30 days.
|
|
112
112
|
* This number has to be an integer greater than or equal to zero.
|
|
113
113
|
*/
|
|
114
|
-
activeMonth?: number;
|
|
114
|
+
readonly activeMonth?: number;
|
|
115
115
|
};
|
|
116
116
|
/**
|
|
117
117
|
* The amount of posts that were made by users that are registered on this
|
|
118
118
|
* server. This number has to be an integer greater than or equal to zero.
|
|
119
119
|
*/
|
|
120
|
-
localPosts: number;
|
|
120
|
+
readonly localPosts: number;
|
|
121
121
|
/**
|
|
122
122
|
* The amount of comments that were made by users that are registered on this
|
|
123
123
|
* server. This number has to be an integer greater than or equal to zero.
|
|
124
124
|
*/
|
|
125
|
-
localComments: number;
|
|
125
|
+
readonly localComments: number;
|
|
126
126
|
}
|
|
127
127
|
/**
|
|
128
128
|
* Converts a {@link NodeInfo} object to a JSON value.
|
package/dist/compat/mod.cjs
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
const { Temporal } = require("@js-temporal/polyfill");
|
|
3
3
|
const { URLPattern } = require("urlpattern-polyfill");
|
|
4
4
|
|
|
5
|
-
const require_transformers = require('../transformers-
|
|
5
|
+
const require_transformers = require('../transformers-BjBg6Lag.cjs');
|
|
6
6
|
require('../compat-DmDDELst.cjs');
|
|
7
7
|
|
|
8
8
|
exports.actorDehydrator = require_transformers.actorDehydrator;
|
package/dist/compat/mod.d.cts
CHANGED
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
import "../client-
|
|
2
|
-
import "../
|
|
3
|
-
import "../
|
|
4
|
-
import "../
|
|
5
|
-
import "../
|
|
6
|
-
import "../mod-
|
|
7
|
-
import "../mod-C58MZ7Wx.cjs";
|
|
8
|
-
import { ActivityTransformer } from "../context-PxGADCsD.cjs";
|
|
9
|
-
import "../kv-Bxr0Q87_.cjs";
|
|
10
|
-
import { actorDehydrator, autoIdAssigner, getDefaultActivityTransformers } from "../mod-BoRKfJPE.cjs";
|
|
1
|
+
import "../client-by-PEGAJ.cjs";
|
|
2
|
+
import "../http-ClB3pLcL.cjs";
|
|
3
|
+
import "../owner-C-zfmVAD.cjs";
|
|
4
|
+
import { ActivityTransformer } from "../context-CrB9RFy5.cjs";
|
|
5
|
+
import "../kv-B4vFhIYL.cjs";
|
|
6
|
+
import { actorDehydrator, autoIdAssigner, getDefaultActivityTransformers } from "../mod-D6pS5_xJ.cjs";
|
|
11
7
|
export { ActivityTransformer, actorDehydrator, autoIdAssigner, getDefaultActivityTransformers };
|
package/dist/compat/mod.d.ts
CHANGED
|
@@ -1,13 +1,9 @@
|
|
|
1
1
|
import { Temporal } from "@js-temporal/polyfill";
|
|
2
2
|
import { URLPattern } from "urlpattern-polyfill";
|
|
3
|
-
import "../client-
|
|
4
|
-
import "../
|
|
5
|
-
import "../
|
|
6
|
-
import "../
|
|
7
|
-
import "../
|
|
8
|
-
import "../mod-
|
|
9
|
-
import "../mod-Ds0mpFZU.js";
|
|
10
|
-
import { ActivityTransformer } from "../context-V-XS2_6O.js";
|
|
11
|
-
import "../kv-BKNZ-Tb-.js";
|
|
12
|
-
import { actorDehydrator, autoIdAssigner, getDefaultActivityTransformers } from "../mod-Cdo6SYlJ.js";
|
|
3
|
+
import "../client-CUTUGgvJ.js";
|
|
4
|
+
import "../http-DLBDPal9.js";
|
|
5
|
+
import "../owner-BgI8C-VY.js";
|
|
6
|
+
import { ActivityTransformer } from "../context-C7vzWilY.js";
|
|
7
|
+
import "../kv-CYySNrsn.js";
|
|
8
|
+
import { actorDehydrator, autoIdAssigner, getDefaultActivityTransformers } from "../mod-waqu-BL_.js";
|
|
13
9
|
export { ActivityTransformer, actorDehydrator, autoIdAssigner, getDefaultActivityTransformers };
|
package/dist/compat/mod.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { Temporal } from "@js-temporal/polyfill";
|
|
3
3
|
import { URLPattern } from "urlpattern-polyfill";
|
|
4
4
|
|
|
5
|
-
import { actorDehydrator, autoIdAssigner, getDefaultActivityTransformers } from "../transformers-
|
|
5
|
+
import { actorDehydrator, autoIdAssigner, getDefaultActivityTransformers } from "../transformers-N_ip_y4P.js";
|
|
6
6
|
import "../compat-nxUqe4Z-.js";
|
|
7
7
|
|
|
8
8
|
export { actorDehydrator, autoIdAssigner, getDefaultActivityTransformers };
|