fedipod-server 0.28.1 → 0.30.0
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/README.md +38 -34
- package/config/server.json +22 -0
- package/dist/claims.js +3 -2
- package/dist/directory.d.ts +2 -0
- package/dist/door.d.ts +4 -0
- package/dist/door.js +31 -0
- package/dist/fedipod.d.ts +16 -0
- package/dist/fedipod.js +13 -0
- package/dist/front.d.ts +3 -0
- package/dist/front.js +94 -0
- package/dist/handler.d.ts +39 -101
- package/dist/handler.js +86 -617
- package/dist/handler.jsonld +6 -30
- package/dist/identities.d.ts +62 -0
- package/dist/identities.js +236 -0
- package/dist/mounts.d.ts +43 -0
- package/dist/mounts.js +123 -0
- package/dist/opt-in.d.ts +46 -0
- package/dist/opt-in.js +176 -0
- package/dist/store-pod.js +37 -0
- package/package.json +10 -18
- package/lib/client/c2s.mjs +0 -582
- package/lib/client/localapi.mjs +0 -87
- package/lib/client/masto/accounts.mjs +0 -309
- package/lib/client/masto/body.mjs +0 -156
- package/lib/client/masto/index.mjs +0 -206
- package/lib/client/masto/instance.mjs +0 -112
- package/lib/client/masto/media.mjs +0 -79
- package/lib/client/masto/oauth.mjs +0 -656
- package/lib/client/masto/render.mjs +0 -518
- package/lib/client/masto/statuses.mjs +0 -372
- package/lib/client/masto/timelines.mjs +0 -438
- package/lib/client/oidc-auth.mjs +0 -62
- package/lib/client/streaming.mjs +0 -154
- package/lib/client/webpush.mjs +0 -98
- package/lib/connections/acctfeed.mjs +0 -257
- package/lib/connections/atproto.mjs +0 -309
- package/lib/connections/bskyfeed.mjs +0 -243
- package/lib/connections/bskygroup.mjs +0 -162
- package/lib/connections/fediacct.mjs +0 -253
- package/lib/connections/import.mjs +0 -357
- package/lib/connections/tagfeed.mjs +0 -212
- package/lib/connections/vault.mjs +0 -114
- package/lib/core/as2.mjs +0 -206
- package/lib/core/contexts/activitystreams.json +0 -379
- package/lib/core/contexts/anno.json +0 -126
- package/lib/core/contexts/did-v1.json +0 -57
- package/lib/core/contexts/fep-5711.json +0 -36
- package/lib/core/contexts/gotosocial.json +0 -86
- package/lib/core/contexts/identity-v1.json +0 -152
- package/lib/core/contexts/index.mjs +0 -63
- package/lib/core/contexts/join-lemmy.json +0 -33
- package/lib/core/contexts/joinmastodon.json +0 -28
- package/lib/core/contexts/litepub-0.1.json +0 -60
- package/lib/core/contexts/map.json +0 -19
- package/lib/core/contexts/miscellany.json +0 -19
- package/lib/core/contexts/quotes.json +0 -18
- package/lib/core/contexts/schemaorg.json +0 -8845
- package/lib/core/contexts/security-data-integrity-v1.json +0 -78
- package/lib/core/contexts/security-data-integrity-v2.json +0 -81
- package/lib/core/contexts/security-multikey-v1.json +0 -35
- package/lib/core/contexts/security-v1.json +0 -74
- package/lib/core/contexts/webfinger.json +0 -10
- package/lib/core/deliver.mjs +0 -371
- package/lib/core/graphview.mjs +0 -327
- package/lib/core/intake/activities.mjs +0 -633
- package/lib/core/intake/activity.mjs +0 -318
- package/lib/core/intake/channel.mjs +0 -144
- package/lib/core/intake/group.mjs +0 -256
- package/lib/core/intake/index.mjs +0 -701
- package/lib/core/intake/notes.mjs +0 -360
- package/lib/core/intake/verify.mjs +0 -142
- package/lib/core/keys.mjs +0 -153
- package/lib/core/lease.mjs +0 -206
- package/lib/core/polls.mjs +0 -105
- package/lib/core/profile-page.mjs +0 -104
- package/lib/core/proof.mjs +0 -79
- package/lib/core/publisher/collections.mjs +0 -237
- package/lib/core/publisher/index.mjs +0 -500
- package/lib/core/publisher/notes.mjs +0 -453
- package/lib/core/publisher/questions.mjs +0 -239
- package/lib/core/publisher/restore.mjs +0 -224
- package/lib/core/shapes/activitystreams.ttl +0 -157
- package/lib/core/shapes/index.mjs +0 -132
- package/lib/core/shapes/shapes-text.mjs +0 -13
- package/lib/core/social.mjs +0 -531
- package/lib/core/storage.mjs +0 -176
- package/lib/core/store.mjs +0 -568
- package/lib/core/wire-quotes.mjs +0 -71
- package/lib/core/wire.mjs +0 -889
- package/lib/device/account.mjs +0 -87
- package/lib/device/admin/index.mjs +0 -13
- package/lib/device/admin/origins.mjs +0 -35
- package/lib/device/admin/routes/connections.mjs +0 -144
- package/lib/device/admin/routes/gateway.mjs +0 -199
- package/lib/device/admin/routes/lifecycle.mjs +0 -200
- package/lib/device/admin/routes/owner.mjs +0 -322
- package/lib/device/admin/routes/setup.mjs +0 -412
- package/lib/device/admin/routes/social.mjs +0 -188
- package/lib/device/admin/server.mjs +0 -95
- package/lib/device/admin/static.mjs +0 -247
- package/lib/device/admin/surface.mjs +0 -315
- package/lib/device/certs.mjs +0 -281
- package/lib/device/cli/commands/account.mjs +0 -586
- package/lib/device/cli/commands/run.mjs +0 -278
- package/lib/device/cli/commands/service.mjs +0 -221
- package/lib/device/cli/commands/setup.mjs +0 -447
- package/lib/device/cli/commands/state.mjs +0 -561
- package/lib/device/cli/context.mjs +0 -288
- package/lib/device/export-collections.mjs +0 -161
- package/lib/device/gateway-move.mjs +0 -58
- package/lib/device/home.mjs +0 -161
- package/lib/device/migrate.mjs +0 -115
- package/lib/device/ports.mjs +0 -27
- package/lib/device/remote.mjs +0 -54
- package/lib/device/setup.mjs +0 -459
- package/lib/device/update.mjs +0 -96
- package/lib/gateway/caches.mjs +0 -36
- package/lib/gateway/directory.mjs +0 -90
- package/lib/gateway/front-core.mjs +0 -970
- package/lib/gateway/gateway-core.mjs +0 -165
- package/lib/gateway/headers.mjs +0 -49
- package/lib/gateway/httpsig.mjs +0 -159
- package/lib/gateway/notices.mjs +0 -84
- package/lib/gateway/quiet.mjs +0 -189
- package/lib/pod/README.md +0 -61
- package/lib/pod/actor.mjs +0 -96
- package/lib/pod/collection.mjs +0 -77
- package/lib/pod/containers.mjs +0 -140
- package/lib/pod/discovery.mjs +0 -46
- package/lib/pod/featured.mjs +0 -18
- package/lib/pod/followers.mjs +0 -24
- package/lib/pod/following.mjs +0 -10
- package/lib/pod/http.mjs +0 -74
- package/lib/pod/inbox.mjs +0 -166
- package/lib/pod/links.mjs +0 -35
- package/lib/pod/media.mjs +0 -27
- package/lib/pod/notes.mjs +0 -80
- package/lib/pod/notifications.mjs +0 -89
- package/lib/pod/outbox.mjs +0 -18
- package/lib/pod/package.json +0 -19
- package/lib/pod/policy.mjs +0 -58
- package/lib/pod/private.mjs +0 -19
- package/lib/pod/root.mjs +0 -104
- package/lib/pod/state.mjs +0 -40
- package/lib/pod/transport.mjs +0 -525
- package/lib/pod/urls.mjs +0 -85
- package/lib/server/embed.mjs +0 -423
- package/lib/session/README.md +0 -137
- package/lib/session/demo.html +0 -94
- package/lib/session/fedi-account.mjs +0 -408
- package/lib/session/fedi-login.mjs +0 -123
- package/lib/session/oidc-session.mjs +0 -233
- package/lib/session/package.json +0 -49
- package/lib/shared/guard.mjs +0 -213
- package/lib/shared/links.mjs +0 -9
- package/lib/shared/safefetch.mjs +0 -235
- package/lib/shared/ua.mjs +0 -29
- package/phanpy/dist/404.html +0 -40
- package/phanpy/dist/_headers +0 -2
- package/phanpy/dist/apple-touch-icon.png +0 -0
- package/phanpy/dist/assets/ICONS-DIPJeU0C.js +0 -2
- package/phanpy/dist/assets/ICONS-DIPJeU0C.js.map +0 -1
- package/phanpy/dist/assets/ScheduledAtField-D-Abfo4J.js +0 -183
- package/phanpy/dist/assets/ScheduledAtField-D-Abfo4J.js.map +0 -1
- package/phanpy/dist/assets/Temml-CCjoacWt.woff2 +0 -0
- package/phanpy/dist/assets/__vite-browser-external-C7iut881.js +0 -2
- package/phanpy/dist/assets/__vite-browser-external-C7iut881.js.map +0 -1
- package/phanpy/dist/assets/boosts-carousel-BiOaNdMT.jpg +0 -0
- package/phanpy/dist/assets/catch-up-O5q5C75Z.png +0 -0
- package/phanpy/dist/assets/chunk-aKtaBQYM.js +0 -1
- package/phanpy/dist/assets/compose-CFEx7wb4.js +0 -2
- package/phanpy/dist/assets/compose-CFEx7wb4.js.map +0 -1
- package/phanpy/dist/assets/compose-ZJN5xSb4.js +0 -35
- package/phanpy/dist/assets/compose-ZJN5xSb4.js.map +0 -1
- package/phanpy/dist/assets/debug.module-YFQgwnIr.js +0 -52
- package/phanpy/dist/assets/debug.module-YFQgwnIr.js.map +0 -1
- package/phanpy/dist/assets/dom-p1YcJ5Rw.js +0 -2
- package/phanpy/dist/assets/dom-p1YcJ5Rw.js.map +0 -1
- package/phanpy/dist/assets/home-mobile-dark@2x-Dc-J8-SM.png +0 -0
- package/phanpy/dist/assets/home-mobile-light@2x-Bd3fod8m.png +0 -0
- package/phanpy/dist/assets/home-tablet-dark@2x-BgcNI8le.png +0 -0
- package/phanpy/dist/assets/home-tablet-light@2x-BW2RV9T6.png +0 -0
- package/phanpy/dist/assets/icons/add-circle-line-WD0mwORD.js +0 -1
- package/phanpy/dist/assets/icons/alert-line-CpFUMf9s.js +0 -1
- package/phanpy/dist/assets/icons/android-2-line-Bzxnrd3S.js +0 -1
- package/phanpy/dist/assets/icons/announcement-line-5nwaJFJm.js +0 -1
- package/phanpy/dist/assets/icons/arrow-down-circle-line-a7Id9-Iv.js +0 -1
- package/phanpy/dist/assets/icons/arrow-down-line-B8uzXzq6.js +0 -1
- package/phanpy/dist/assets/icons/arrow-left-line-CGrGT9C-.js +0 -1
- package/phanpy/dist/assets/icons/arrow-right-line-CE-HERfX.js +0 -1
- package/phanpy/dist/assets/icons/arrow-to-up-line-CvdQjmcy.js +0 -1
- package/phanpy/dist/assets/icons/arrow-up-circle-line-DEparSNF.js +0 -1
- package/phanpy/dist/assets/icons/arrow-up-line-C7yBeugc.js +0 -1
- package/phanpy/dist/assets/icons/arrows-right-line-BtbXmJGP.js +0 -1
- package/phanpy/dist/assets/icons/at-line-CF66Bznk.js +0 -1
- package/phanpy/dist/assets/icons/attachment-line-BY8It-l9.js +0 -1
- package/phanpy/dist/assets/icons/blockquote-line-BS6pU_hm.js +0 -1
- package/phanpy/dist/assets/icons/board-line-C0UWXyA6.js +0 -1
- package/phanpy/dist/assets/icons/bookmark-line-1CtX5JLF.js +0 -1
- package/phanpy/dist/assets/icons/building-5-line-Dd59MzbO.js +0 -1
- package/phanpy/dist/assets/icons/bus-2-line-6_dvA0GG.js +0 -1
- package/phanpy/dist/assets/icons/calendar-day-line-Crpl_fmu.js +0 -1
- package/phanpy/dist/assets/icons/calendar-month-line-vommts2C.js +0 -1
- package/phanpy/dist/assets/icons/calendar-time-add-line-BU_DTlQk.js +0 -1
- package/phanpy/dist/assets/icons/camera-line-Cv69MEei.js +0 -1
- package/phanpy/dist/assets/icons/celebrate-line-B8DvIoi0.js +0 -1
- package/phanpy/dist/assets/icons/chart-bar-line-FK-QOmtF.js +0 -1
- package/phanpy/dist/assets/icons/chart-line-line-BGcJAFWw.js +0 -1
- package/phanpy/dist/assets/icons/chat-3-line-YFK2-hwz.js +0 -1
- package/phanpy/dist/assets/icons/check-circle-line-DsAxFr5-.js +0 -1
- package/phanpy/dist/assets/icons/clipboard-line-BBp364gJ.js +0 -1
- package/phanpy/dist/assets/icons/close-circle-line-CICdiuGz.js +0 -1
- package/phanpy/dist/assets/icons/close-line-DYrFWcjv.js +0 -1
- package/phanpy/dist/assets/icons/cloud-line-tiQAbah8.js +0 -1
- package/phanpy/dist/assets/icons/code-line-fAl8iiV3.js +0 -1
- package/phanpy/dist/assets/icons/comment-2-line-CR3g7WeB.js +0 -1
- package/phanpy/dist/assets/icons/copy-2-line-CLW69yF5.js +0 -1
- package/phanpy/dist/assets/icons/delete-2-line-B8xmbr4n.js +0 -1
- package/phanpy/dist/assets/icons/document-3-line-DBGNhAg2.js +0 -1
- package/phanpy/dist/assets/icons/document-line-C7mb9sb7.js +0 -1
- package/phanpy/dist/assets/icons/down-line-BGqSSThd.js +0 -1
- package/phanpy/dist/assets/icons/edit-4-line-DcgGaEhx.js +0 -1
- package/phanpy/dist/assets/icons/emoji-2-line-D8YgnM-y.js +0 -1
- package/phanpy/dist/assets/icons/exit-line-Dc07BS-x.js +0 -1
- package/phanpy/dist/assets/icons/external-link-line-BvpSkmjO.js +0 -1
- package/phanpy/dist/assets/icons/eye-2-line-CiWXx-f_.js +0 -1
- package/phanpy/dist/assets/icons/eye-close-line-BgTaSJ4P.js +0 -1
- package/phanpy/dist/assets/icons/filter-2-line-B_mR2usy.js +0 -1
- package/phanpy/dist/assets/icons/filter-line-C_nm-3cU.js +0 -1
- package/phanpy/dist/assets/icons/flag-1-line-C2HB05I0.js +0 -1
- package/phanpy/dist/assets/icons/forbid-circle-line-D3LTT9yd.js +0 -1
- package/phanpy/dist/assets/icons/formula-line-DLrt2d6j.js +0 -1
- package/phanpy/dist/assets/icons/grid-line-CgUmEikf.js +0 -1
- package/phanpy/dist/assets/icons/group-line-C5fnX0wU.js +0 -1
- package/phanpy/dist/assets/icons/hand-finger-2-line-BGgxbuL9.js +0 -1
- package/phanpy/dist/assets/icons/hashtag-line-CyTEEXBb.js +0 -1
- package/phanpy/dist/assets/icons/heart-crack-line-BZddbO2C.js +0 -1
- package/phanpy/dist/assets/icons/heart-line-CJ7K47J4.js +0 -1
- package/phanpy/dist/assets/icons/history-2-line-kWWvFzqv.js +0 -1
- package/phanpy/dist/assets/icons/history-line-bGQiwbTH.js +0 -1
- package/phanpy/dist/assets/icons/home-3-line-fRU1zeLG.js +0 -1
- package/phanpy/dist/assets/icons/information-line-iNk6-sOY.js +0 -1
- package/phanpy/dist/assets/icons/keyboard-line-DsCyuQNz.js +0 -1
- package/phanpy/dist/assets/icons/layout-4-line-CZkOX52Z.js +0 -1
- package/phanpy/dist/assets/icons/layout-5-line-B_znt5wO.js +0 -1
- package/phanpy/dist/assets/icons/left-line-eUw0tya4.js +0 -1
- package/phanpy/dist/assets/icons/lightning-line-DaKoDdix.js +0 -1
- package/phanpy/dist/assets/icons/link-2-line-DCqLmMA7.js +0 -1
- package/phanpy/dist/assets/icons/list-check-line-BAxosBh9.js +0 -1
- package/phanpy/dist/assets/icons/lock-line-CPoaXeUW.js +0 -1
- package/phanpy/dist/assets/icons/mail-line-B0P8aa1L.js +0 -1
- package/phanpy/dist/assets/icons/moon-line-CEqNAToP.js +0 -1
- package/phanpy/dist/assets/icons/more-1-fill-Dw2e5xab.js +0 -1
- package/phanpy/dist/assets/icons/more-3-line-BIiVjYTz.js +0 -1
- package/phanpy/dist/assets/icons/notification-line-BZZq2Gtu.js +0 -1
- package/phanpy/dist/assets/icons/pencil-line-CKh8-A1v.js +0 -1
- package/phanpy/dist/assets/icons/photo-album-line-Bnfg2u40.js +0 -1
- package/phanpy/dist/assets/icons/pin-line-DpTolyhs.js +0 -1
- package/phanpy/dist/assets/icons/play-fill-B0-G_8lX.js +0 -1
- package/phanpy/dist/assets/icons/qrcode-2-line-B6SPCaHn.js +0 -1
- package/phanpy/dist/assets/icons/quill-pen-line-B6LUrnCP.js +0 -1
- package/phanpy/dist/assets/icons/quote-left-fill-hQZ1cj_6.js +0 -1
- package/phanpy/dist/assets/icons/radar-line-CKyroTth.js +0 -1
- package/phanpy/dist/assets/icons/react-line-CoIKhhtK.js +0 -1
- package/phanpy/dist/assets/icons/refresh-2-line-D0mTF97S.js +0 -1
- package/phanpy/dist/assets/icons/right-line-B3KWJaqc.js +0 -1
- package/phanpy/dist/assets/icons/rocket-line-4KZl537D.js +0 -1
- package/phanpy/dist/assets/icons/round-fill-C69NTrZ0.js +0 -1
- package/phanpy/dist/assets/icons/round-line-B9k_1uo-.js +0 -1
- package/phanpy/dist/assets/icons/route-line-B28ReHcE.js +0 -1
- package/phanpy/dist/assets/icons/rows-4-line-CrBniagM.js +0 -1
- package/phanpy/dist/assets/icons/scan-line-DSf74YdP.js +0 -1
- package/phanpy/dist/assets/icons/search-2-line-B6geIU1z.js +0 -1
- package/phanpy/dist/assets/icons/settings-3-line-azJwK47w.js +0 -1
- package/phanpy/dist/assets/icons/settings-6-line-C_5zc5YR.js +0 -1
- package/phanpy/dist/assets/icons/share-2-line-D5MxWjrm.js +0 -1
- package/phanpy/dist/assets/icons/share-forward-line-Cp61fZzZ.js +0 -1
- package/phanpy/dist/assets/icons/sparkles-2-line-DYYyXTaW.js +0 -1
- package/phanpy/dist/assets/icons/sparkles-line-C2hY1s6I.js +0 -1
- package/phanpy/dist/assets/icons/time-line-BF3eet1v.js +0 -1
- package/phanpy/dist/assets/icons/transfer-4-line-oisfvTBw.js +0 -1
- package/phanpy/dist/assets/icons/translate-line-BFWol2Ce.js +0 -1
- package/phanpy/dist/assets/icons/unlock-line-X_x5vwv3.js +0 -1
- package/phanpy/dist/assets/icons/upload-3-line-DgzwUJeW.js +0 -1
- package/phanpy/dist/assets/icons/user-4-line-BVSynZCp.js +0 -1
- package/phanpy/dist/assets/icons/user-add-2-line-BlGS5Q8q.js +0 -1
- package/phanpy/dist/assets/icons/user-add-line-BbXdHG4z.js +0 -1
- package/phanpy/dist/assets/icons/user-edit-line-BFAHOV0X.js +0 -1
- package/phanpy/dist/assets/icons/user-follow-line-BXux0wSd.js +0 -1
- package/phanpy/dist/assets/icons/user-star-line-DdYlpHLU.js +0 -1
- package/phanpy/dist/assets/icons/user-warning-line-Cj43j0_E.js +0 -1
- package/phanpy/dist/assets/icons/user-x-line-DIDgNlPH.js +0 -1
- package/phanpy/dist/assets/icons/volume-line-Bs390KQt.js +0 -1
- package/phanpy/dist/assets/icons/volume-mute-line-DzlzIqFZ.js +0 -1
- package/phanpy/dist/assets/icons/walk-line-yNXfB-md.js +0 -1
- package/phanpy/dist/assets/icons/world-2-line-CenkGIwj.js +0 -1
- package/phanpy/dist/assets/icons/zoom-in-line-CaENUphf.js +0 -1
- package/phanpy/dist/assets/icons/zoom-out-line-BDNk0EWo.js +0 -1
- package/phanpy/dist/assets/instances-BNPptnn-.json +0 -333
- package/phanpy/dist/assets/locales/ar-SA-CfheRbCu.js +0 -1
- package/phanpy/dist/assets/locales/ca-ES-DHRW86Tz.js +0 -1
- package/phanpy/dist/assets/locales/cs-CZ-CKoqEuA1.js +0 -1
- package/phanpy/dist/assets/locales/de-DE-ByRPMRFy.js +0 -1
- package/phanpy/dist/assets/locales/eo-UY-CPC7wLCS.js +0 -1
- package/phanpy/dist/assets/locales/es-ES-dJa0Fd9t.js +0 -1
- package/phanpy/dist/assets/locales/eu-ES-C3djlPR2.js +0 -1
- package/phanpy/dist/assets/locales/fa-IR-DTT490Ck.js +0 -1
- package/phanpy/dist/assets/locales/fi-FI-B23MCPuz.js +0 -1
- package/phanpy/dist/assets/locales/fr-FR-BcaQsO5C.js +0 -1
- package/phanpy/dist/assets/locales/gl-ES-BR-CVKBN.js +0 -1
- package/phanpy/dist/assets/locales/he-IL-CfheRbCu.js +0 -1
- package/phanpy/dist/assets/locales/hu-HU-CfheRbCu.js +0 -1
- package/phanpy/dist/assets/locales/it-IT-C1136UFV.js +0 -1
- package/phanpy/dist/assets/locales/ja-JP-CRZmRAhD.js +0 -1
- package/phanpy/dist/assets/locales/kab-Cz8xH_TT.js +0 -1
- package/phanpy/dist/assets/locales/ko-KR-CG9UiY4o.js +0 -1
- package/phanpy/dist/assets/locales/lt-LT-CJcI6sHZ.js +0 -1
- package/phanpy/dist/assets/locales/nb-NO-CfheRbCu.js +0 -1
- package/phanpy/dist/assets/locales/nl-NL-DxN4Yc1t.js +0 -1
- package/phanpy/dist/assets/locales/oc-FR-CfheRbCu.js +0 -1
- package/phanpy/dist/assets/locales/pl-PL-DkwGXf6P.js +0 -1
- package/phanpy/dist/assets/locales/pseudo-LOCALE-CQ4XxkQ0.js +0 -1
- package/phanpy/dist/assets/locales/pt-BR-nGL0HdFS.js +0 -1
- package/phanpy/dist/assets/locales/pt-PT-Cp17aj2z.js +0 -1
- package/phanpy/dist/assets/locales/ru-RU-0Y8cIoaK.js +0 -1
- package/phanpy/dist/assets/locales/th-TH-CfheRbCu.js +0 -1
- package/phanpy/dist/assets/locales/tok-CfheRbCu.js +0 -1
- package/phanpy/dist/assets/locales/tr-TR-CfheRbCu.js +0 -1
- package/phanpy/dist/assets/locales/uk-UA-C5E3dFBf.js +0 -1
- package/phanpy/dist/assets/locales/zh-CN-BHJi7_et.js +0 -1
- package/phanpy/dist/assets/locales/zh-TW-CfheRbCu.js +0 -1
- package/phanpy/dist/assets/main-BdqNbG-a.js +0 -26
- package/phanpy/dist/assets/main-BdqNbG-a.js.map +0 -1
- package/phanpy/dist/assets/mock-home-DGhR__He.js +0 -2
- package/phanpy/dist/assets/mock-home-DGhR__He.js.map +0 -1
- package/phanpy/dist/assets/multi-column-ROck0NVt.jpg +0 -0
- package/phanpy/dist/assets/multi-hashtag-timeline-DH5INVHi.jpg +0 -0
- package/phanpy/dist/assets/nested-comments-thread-hv59kZLc.jpg +0 -0
- package/phanpy/dist/assets/polyfill-force-H8sUkLGp.js +0 -2
- package/phanpy/dist/assets/polyfill-force-H8sUkLGp.js.map +0 -1
- package/phanpy/dist/assets/pwa-viewport-ogKbF51K.js +0 -20
- package/phanpy/dist/assets/pwa-viewport-ogKbF51K.js.map +0 -1
- package/phanpy/dist/assets/style-B1iLPTPR.css +0 -2
- package/phanpy/dist/assets/temml-DuyIQMei.js +0 -97
- package/phanpy/dist/assets/temml-DuyIQMei.js.map +0 -1
- package/phanpy/dist/assets/tinyld.light.node-DtbBhLYC.js +0 -2
- package/phanpy/dist/assets/tinyld.light.node-DtbBhLYC.js.map +0 -1
- package/phanpy/dist/assets/year-in-posts-B2lywqdx.png +0 -0
- package/phanpy/dist/assets/year-in-posts-DJv_star.js +0 -3
- package/phanpy/dist/assets/year-in-posts-DJv_star.js.map +0 -1
- package/phanpy/dist/compose/index.html +0 -20
- package/phanpy/dist/favicon.ico +0 -0
- package/phanpy/dist/index.html +0 -73
- package/phanpy/dist/logo-192.png +0 -0
- package/phanpy/dist/logo-512.png +0 -0
- package/phanpy/dist/logo-badge-72.png +0 -0
- package/phanpy/dist/logo-maskable-512.png +0 -0
- package/phanpy/dist/logo-monochrome-512.png +0 -0
- package/phanpy/dist/logo-monochrome-maskable-512.png +0 -0
- package/phanpy/dist/manifest.webmanifest +0 -1
- package/phanpy/dist/og-image-2.jpg +0 -0
- package/phanpy/dist/og-image.png +0 -0
- package/phanpy/dist/robots.txt +0 -2
- package/phanpy/dist/sw.js +0 -2
- package/phanpy/dist/sw.js.map +0 -1
- package/phanpy/dist/version.json +0 -1
- package/run-agent.mjs +0 -897
- package/vendor/gate.cjs +0 -138
- package/vendor/idp-grant.cjs +0 -394
- package/vendor/jfetch.cjs +0 -16
- package/web/admin/actors.js +0 -145
- package/web/admin/bar.css +0 -126
- package/web/admin/bar.js +0 -99
- package/web/admin/client/client.js +0 -66
- package/web/admin/client/index.html +0 -69
- package/web/admin/client-pick.js +0 -79
- package/web/admin/common.js +0 -23
- package/web/admin/connections.js +0 -112
- package/web/admin/gateway.js +0 -133
- package/web/admin/group.js +0 -258
- package/web/admin/index.html +0 -603
- package/web/admin/notices-bar.js +0 -90
- package/web/admin/oauth-signin.mjs +0 -37
- package/web/admin/record.js +0 -390
- package/web/admin/setup/index.html +0 -241
- package/web/admin/setup/setup.js +0 -326
- package/web/admin/tokens.css +0 -68
- package/web/admin/upkeep.js +0 -177
- package/web/admin/window.css +0 -55
- package/web/admin/window.js +0 -136
- package/web/app/README.md +0 -81
- package/web/app/admin-facade.mjs +0 -588
- package/web/app/agent.mjs +0 -663
- package/web/app/atproto-browser.mjs +0 -86
- package/web/app/authorize_interaction.html +0 -56
- package/web/app/authorize_interaction.js +0 -69
- package/web/app/boot.mjs +0 -576
- package/web/app/deliver-relay.mjs +0 -129
- package/web/app/dist/boot.js +0 -34218
- package/web/app/dist/boot.js.map +0 -7
- package/web/app/dist/sw.js +0 -72810
- package/web/app/dist/sw.js.map +0 -7
- package/web/app/fediacct-browser.mjs +0 -146
- package/web/app/gateway-move.mjs +0 -60
- package/web/app/idb-kv.mjs +0 -35
- package/web/app/index.html +0 -242
- package/web/app/keys-browser.mjs +0 -71
- package/web/app/keystore.mjs +0 -82
- package/web/app/oidc-session.mjs +0 -6
- package/web/app/pod-auth.mjs +0 -248
- package/web/app/pod-remote.mjs +0 -84
- package/web/app/shims/_globals.mjs +0 -2
- package/web/app/shims/fedify-sig.mjs +0 -77
- package/web/app/shims/node-crypto.mjs +0 -113
- package/web/app/shims/node-fs.mjs +0 -17
- package/web/app/shims/node-path.mjs +0 -19
- package/web/app/shims/node-url.mjs +0 -7
- package/web/app/shims/prelude.js +0 -58
- package/web/app/shims/safefetch.mjs +0 -58
- package/web/app/shims/shapes-text.mjs +0 -8
- package/web/app/shims/web-push.mjs +0 -14
- package/web/app/signup.mjs +0 -318
- package/web/app/sw-src.mjs +0 -220
- package/web/app/update.js +0 -70
- package/web/front/admin.html +0 -55
- package/web/front/admin.js +0 -89
- package/web/front/install.sh +0 -69
- package/web/front/new-account.html +0 -35
- package/web/front/new-account.js +0 -13
- package/web/front/notices.html +0 -69
- package/web/front/notices.js +0 -107
- package/web/front/run.html +0 -58
- package/web/front/run.js +0 -195
- package/web/front/solid-oidc-client.js +0 -6
- package/web/icons/forum.svg +0 -11
- package/web/icons/gateway.svg +0 -14
- package/web/icons/local.svg +0 -11
package/lib/core/as2.mjs
DELETED
|
@@ -1,206 +0,0 @@
|
|
|
1
|
-
// as2.mjs — the one place ActivityStreams bytes become something to handle.
|
|
2
|
-
//
|
|
3
|
-
// An AS2 document IS a JSON-LD document; ActivityStreams 2.0 Core says so. We
|
|
4
|
-
// read it as one. Expanding it to a graph is what makes the document mean the
|
|
5
|
-
// same thing however its sender chose to write it — `"type": "Create"` and
|
|
6
|
-
// `"@type": "as:Create"` are the same statement, and only a JSON-LD reader
|
|
7
|
-
// knows that.
|
|
8
|
-
//
|
|
9
|
-
// The graph is what the handlers read, through lib/core/graphview.mjs. `doc`,
|
|
10
|
-
// the copy compacted against the standard context, is kept for the callers
|
|
11
|
-
// that republish what they read rather than act on it — compaction alone drops
|
|
12
|
-
// any term the sender defined in its own context, so it is the weaker read.
|
|
13
|
-
//
|
|
14
|
-
// What we STORE and SEND is untouched by any of this. Bytes go into the pod as
|
|
15
|
-
// they arrived, and lib/core/wire.mjs builds what we send as compacted AS2
|
|
16
|
-
// with a plain string @context, as it always did. This is a reading layer.
|
|
17
|
-
//
|
|
18
|
-
// Every document goes through the processor. There is no shortcut for the
|
|
19
|
-
// common shape: one that skipped it would not be read as JSON-LD, and would
|
|
20
|
-
// produce no graph, so nothing could be validated against it.
|
|
21
|
-
//
|
|
22
|
-
// CONTEXTS ARE NEVER FETCHED. The loader serves the ones the fediverse
|
|
23
|
-
// actually uses and refuses every other URL. That refusal is the point: this
|
|
24
|
-
// code runs on documents a stranger wrote, in the same path the SSRF guards
|
|
25
|
-
// protect, and expanding one would otherwise mean dereferencing a URL of their
|
|
26
|
-
// choosing. A document naming a context we do not hold is not lost for it —
|
|
27
|
-
// `groundContext` reads it against the contexts we hold and says so in
|
|
28
|
-
// `degraded` — but nothing is ever fetched to make that happen.
|
|
29
|
-
|
|
30
|
-
import jsonld from 'jsonld';
|
|
31
|
-
import { AS_CTX } from './wire.mjs';
|
|
32
|
-
import { CONTEXTS } from './contexts/index.mjs';
|
|
33
|
-
import { graphView } from './graphview.mjs';
|
|
34
|
-
|
|
35
|
-
export { CONTEXTS };
|
|
36
|
-
|
|
37
|
-
/** Why a document could not be read. Carried to the caller so a drop is explained. */
|
|
38
|
-
export class AS2Error extends Error {
|
|
39
|
-
constructor(reason, { context = null } = {}) {
|
|
40
|
-
super(reason);
|
|
41
|
-
this.name = 'AS2Error';
|
|
42
|
-
this.context = context;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
* A loader over the contexts we hold, and nothing else.
|
|
48
|
-
*
|
|
49
|
-
* jsonld calls this for every `@context` URL in a document. Anything not in
|
|
50
|
-
* the map throws rather than being fetched, so a document cannot make this
|
|
51
|
-
* process reach out to an address its sender picked.
|
|
52
|
-
*/
|
|
53
|
-
// Pleroma and Akkoma name their own copy of the litepub schema, one URL per
|
|
54
|
-
// instance. Every copy is the same document, held here under the litepub
|
|
55
|
-
// namespace, so a per-instance URL names that entry.
|
|
56
|
-
const LITEPUB = 'http://litepub.social/ns';
|
|
57
|
-
export const heldKey = (url) => (typeof url === 'string' && /\/schemas\/litepub-0\.1\.jsonld$/u.test(url) ? LITEPUB : url);
|
|
58
|
-
|
|
59
|
-
export function contextLoader(url) {
|
|
60
|
-
const doc = CONTEXTS[heldKey(url)];
|
|
61
|
-
if (!doc) {
|
|
62
|
-
return Promise.reject(new AS2Error(`context not held here: ${url}`, { context: url }));
|
|
63
|
-
}
|
|
64
|
-
return Promise.resolve({ contextUrl: null, documentUrl: url, document: doc });
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
/**
|
|
68
|
-
* Read AS2 bytes.
|
|
69
|
-
*
|
|
70
|
-
* Returns `{ doc, graph }` — the document compacted against the standard
|
|
71
|
-
* context, which is what handlers read, and its quads, which is what a shape
|
|
72
|
-
* is validated against. Throws AS2Error when the document cannot be read as
|
|
73
|
-
* JSON-LD at all.
|
|
74
|
-
*
|
|
75
|
-
* `raw` is a string or a parsed object; both arrive here in practice.
|
|
76
|
-
*/
|
|
77
|
-
export async function parseAS2(raw) {
|
|
78
|
-
let input;
|
|
79
|
-
if (typeof raw === 'string') {
|
|
80
|
-
try {
|
|
81
|
-
input = JSON.parse(raw);
|
|
82
|
-
} catch (e) {
|
|
83
|
-
throw new AS2Error(`not JSON: ${e.message}`);
|
|
84
|
-
}
|
|
85
|
-
} else {
|
|
86
|
-
input = raw;
|
|
87
|
-
}
|
|
88
|
-
if (!input || typeof input !== 'object') throw new AS2Error('not a JSON object');
|
|
89
|
-
|
|
90
|
-
// A document with no @context expands to nothing at all — every term is
|
|
91
|
-
// dropped, and the result is an empty graph rather than an error. Silently
|
|
92
|
-
// reading a delivery as "no statements" is the worst of the outcomes, so it
|
|
93
|
-
// is named here instead.
|
|
94
|
-
if (input['@context'] === undefined) throw new AS2Error('no @context');
|
|
95
|
-
|
|
96
|
-
const options = { documentLoader: contextLoader };
|
|
97
|
-
let graph;
|
|
98
|
-
let doc;
|
|
99
|
-
try {
|
|
100
|
-
graph = await jsonld.toRDF(input, options); // RDF/JS quads, which is what a shape is checked against
|
|
101
|
-
doc = await jsonld.compact(input, AS_CTX, options);
|
|
102
|
-
} catch (e) {
|
|
103
|
-
if (e instanceof AS2Error) throw e;
|
|
104
|
-
// jsonld wraps a loader rejection; recover ours so the caller can say which
|
|
105
|
-
// context was missing rather than reporting a library's own phrasing.
|
|
106
|
-
const cause = e?.details?.cause ?? e?.cause;
|
|
107
|
-
if (cause instanceof AS2Error) throw cause;
|
|
108
|
-
throw new AS2Error(`not readable as JSON-LD: ${e.message}`);
|
|
109
|
-
}
|
|
110
|
-
return { doc, graph };
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
/**
|
|
114
|
-
* Rewrite a document's `@context` to one we can read without fetching anything.
|
|
115
|
-
*
|
|
116
|
-
* A document carrying no `@context` is not a puzzle: AS2 Core §2.1 says a
|
|
117
|
-
* consumer meeting `application/activity+json` without one MUST assume the
|
|
118
|
-
* normative context still applies. That is what this does. A document naming a
|
|
119
|
-
* context we do not hold keeps every entry we DO hold — inline objects
|
|
120
|
-
* included, since those need no fetch — and loses only the unfetchable ones,
|
|
121
|
-
* so a Mastodon post with an unknown extension still reads as a post.
|
|
122
|
-
*
|
|
123
|
-
* Nothing here dereferences a URL. The result names only contexts already on
|
|
124
|
-
* disk, so the guarantee that a stranger's document cannot make us reach out
|
|
125
|
-
* survives the fallback.
|
|
126
|
-
*/
|
|
127
|
-
export function groundContext(input) {
|
|
128
|
-
const ctx = input['@context'];
|
|
129
|
-
const held = (c) => typeof c === 'string' ? Object.hasOwn(CONTEXTS, heldKey(c)) : (c && typeof c === 'object');
|
|
130
|
-
let kept;
|
|
131
|
-
if (ctx === undefined || ctx === null) kept = [];
|
|
132
|
-
else if (Array.isArray(ctx)) kept = ctx.filter(held);
|
|
133
|
-
else kept = held(ctx) ? [ctx] : [];
|
|
134
|
-
if (!kept.some(c => c === AS_CTX)) kept.unshift(AS_CTX);
|
|
135
|
-
return { ...input, '@context': kept.length === 1 ? kept[0] : kept };
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
/**
|
|
139
|
-
* Read AS2 bytes, and when they cannot be read as JSON-LD as written, read
|
|
140
|
-
* them against the contexts we do hold.
|
|
141
|
-
*
|
|
142
|
-
* A delivery naming a context we do not hold, or carrying none at all, is
|
|
143
|
-
* still a delivery somebody sent. It is now grounded rather than refused, so
|
|
144
|
-
* `graph` is present for anything that is JSON at all — which is what lets the
|
|
145
|
-
* handlers read the graph instead of the document. `degraded` still carries
|
|
146
|
-
* the reason the document could not be read exactly as written, so a caller
|
|
147
|
-
* records what happened instead of letting it pass unnoticed.
|
|
148
|
-
*
|
|
149
|
-
* `doc` and `graph` are null only when the bytes are not JSON at all, which is
|
|
150
|
-
* what the plain read would have concluded too.
|
|
151
|
-
*/
|
|
152
|
-
/**
|
|
153
|
-
* What a `null` in the document meant, carried onto the reading of it.
|
|
154
|
-
*
|
|
155
|
-
* ActivityPub §6.3.1: in an Update, a key set to `null` says REMOVE that
|
|
156
|
-
* property. JSON-LD has no way to carry that — expansion drops a null outright
|
|
157
|
-
* — so a partial update that takes something away arrives through the graph
|
|
158
|
-
* saying nothing at all, and is indistinguishable from an Update that never
|
|
159
|
-
* mentioned the property. The document plainly said it, so it is put back.
|
|
160
|
-
*
|
|
161
|
-
* Only nulls, only on the activity and its object, and only where the reading
|
|
162
|
-
* does not already have the key: nothing here overrides what the graph carried.
|
|
163
|
-
*/
|
|
164
|
-
function carryRemovals(input, view) {
|
|
165
|
-
if (!input || typeof input !== 'object' || !view || typeof view !== 'object') return view;
|
|
166
|
-
for (const [key, value] of Object.entries(input)) {
|
|
167
|
-
if (value === null) {
|
|
168
|
-
if (!(key in view)) view[key] = null;
|
|
169
|
-
} else if (key === 'object' && typeof value === 'object' && !Array.isArray(value)
|
|
170
|
-
&& view.object && typeof view.object === 'object' && !Array.isArray(view.object)) {
|
|
171
|
-
carryRemovals(value, view.object);
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
return view;
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
export async function readLenient(raw) {
|
|
178
|
-
// The document's own node is the one its `id` names. Handed to the view
|
|
179
|
-
// as the root, so a document that points at itself — every actor does,
|
|
180
|
-
// through its key's `owner` — is still read as itself.
|
|
181
|
-
let input = null;
|
|
182
|
-
try { input = typeof raw === 'string' ? JSON.parse(raw) : (raw ?? null); } catch { /* not JSON either */ }
|
|
183
|
-
const own = input && typeof input === 'object' ? (input.id ?? input['@id']) : null;
|
|
184
|
-
const root = typeof own === 'string' && /^https?:\/\//u.test(own) ? own : null;
|
|
185
|
-
try {
|
|
186
|
-
const { doc, graph } = await parseAS2(raw);
|
|
187
|
-
return { doc, graph, view: carryRemovals(input, graphView(graph, { root })), degraded: null };
|
|
188
|
-
} catch (e) {
|
|
189
|
-
if (!input || typeof input !== 'object') return { doc: null, graph: null, view: null, degraded: e.message };
|
|
190
|
-
// Grounded, so a graph exists for every document that is JSON at all.
|
|
191
|
-
//
|
|
192
|
-
// `doc` stays the bytes as they were parsed, NOT the grounded compaction.
|
|
193
|
-
// Compacting shortens an IRI to whatever term names it — `#Public` comes
|
|
194
|
-
// back as `as:Public` — and the callers that still read `doc` republish
|
|
195
|
-
// what they read, so rewriting it here silently changed what they posted.
|
|
196
|
-
try {
|
|
197
|
-
const { graph } = await parseAS2(groundContext(input));
|
|
198
|
-
return { doc: input, graph, view: carryRemovals(input, graphView(graph, { root })), degraded: e.message };
|
|
199
|
-
} catch (inner) {
|
|
200
|
-
// Grounding names only held contexts, so reaching here means the document
|
|
201
|
-
// is malformed JSON-LD rather than unfetchable. Hand back what a plain
|
|
202
|
-
// read would have seen, with no graph, as this always did.
|
|
203
|
-
return { doc: input, graph: null, view: null, degraded: `${e.message}; grounded read also failed: ${inner.message}` };
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
}
|
|
@@ -1,379 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"@context": {
|
|
3
|
-
"@vocab": "_:",
|
|
4
|
-
"xsd": "http://www.w3.org/2001/XMLSchema#",
|
|
5
|
-
"as": "https://www.w3.org/ns/activitystreams#",
|
|
6
|
-
"ldp": "http://www.w3.org/ns/ldp#",
|
|
7
|
-
"vcard": "http://www.w3.org/2006/vcard/ns#",
|
|
8
|
-
"id": "@id",
|
|
9
|
-
"type": "@type",
|
|
10
|
-
"Accept": "as:Accept",
|
|
11
|
-
"Activity": "as:Activity",
|
|
12
|
-
"IntransitiveActivity": "as:IntransitiveActivity",
|
|
13
|
-
"Add": "as:Add",
|
|
14
|
-
"Announce": "as:Announce",
|
|
15
|
-
"Application": "as:Application",
|
|
16
|
-
"Arrive": "as:Arrive",
|
|
17
|
-
"Article": "as:Article",
|
|
18
|
-
"Audio": "as:Audio",
|
|
19
|
-
"Block": "as:Block",
|
|
20
|
-
"Collection": "as:Collection",
|
|
21
|
-
"CollectionPage": "as:CollectionPage",
|
|
22
|
-
"Relationship": "as:Relationship",
|
|
23
|
-
"Create": "as:Create",
|
|
24
|
-
"Delete": "as:Delete",
|
|
25
|
-
"Dislike": "as:Dislike",
|
|
26
|
-
"Document": "as:Document",
|
|
27
|
-
"Event": "as:Event",
|
|
28
|
-
"Follow": "as:Follow",
|
|
29
|
-
"Flag": "as:Flag",
|
|
30
|
-
"Group": "as:Group",
|
|
31
|
-
"Ignore": "as:Ignore",
|
|
32
|
-
"Image": "as:Image",
|
|
33
|
-
"Invite": "as:Invite",
|
|
34
|
-
"Join": "as:Join",
|
|
35
|
-
"Leave": "as:Leave",
|
|
36
|
-
"Like": "as:Like",
|
|
37
|
-
"Link": "as:Link",
|
|
38
|
-
"Mention": "as:Mention",
|
|
39
|
-
"Note": "as:Note",
|
|
40
|
-
"Object": "as:Object",
|
|
41
|
-
"Offer": "as:Offer",
|
|
42
|
-
"OrderedCollection": "as:OrderedCollection",
|
|
43
|
-
"OrderedCollectionPage": "as:OrderedCollectionPage",
|
|
44
|
-
"Organization": "as:Organization",
|
|
45
|
-
"Page": "as:Page",
|
|
46
|
-
"Person": "as:Person",
|
|
47
|
-
"Place": "as:Place",
|
|
48
|
-
"Profile": "as:Profile",
|
|
49
|
-
"Question": "as:Question",
|
|
50
|
-
"Reject": "as:Reject",
|
|
51
|
-
"Remove": "as:Remove",
|
|
52
|
-
"Service": "as:Service",
|
|
53
|
-
"TentativeAccept": "as:TentativeAccept",
|
|
54
|
-
"TentativeReject": "as:TentativeReject",
|
|
55
|
-
"Tombstone": "as:Tombstone",
|
|
56
|
-
"Undo": "as:Undo",
|
|
57
|
-
"Update": "as:Update",
|
|
58
|
-
"Video": "as:Video",
|
|
59
|
-
"View": "as:View",
|
|
60
|
-
"Listen": "as:Listen",
|
|
61
|
-
"Read": "as:Read",
|
|
62
|
-
"Move": "as:Move",
|
|
63
|
-
"Travel": "as:Travel",
|
|
64
|
-
"IsFollowing": "as:IsFollowing",
|
|
65
|
-
"IsFollowedBy": "as:IsFollowedBy",
|
|
66
|
-
"IsContact": "as:IsContact",
|
|
67
|
-
"IsMember": "as:IsMember",
|
|
68
|
-
"subject": {
|
|
69
|
-
"@id": "as:subject",
|
|
70
|
-
"@type": "@id"
|
|
71
|
-
},
|
|
72
|
-
"relationship": {
|
|
73
|
-
"@id": "as:relationship",
|
|
74
|
-
"@type": "@id"
|
|
75
|
-
},
|
|
76
|
-
"actor": {
|
|
77
|
-
"@id": "as:actor",
|
|
78
|
-
"@type": "@id"
|
|
79
|
-
},
|
|
80
|
-
"attributedTo": {
|
|
81
|
-
"@id": "as:attributedTo",
|
|
82
|
-
"@type": "@id"
|
|
83
|
-
},
|
|
84
|
-
"attachment": {
|
|
85
|
-
"@id": "as:attachment",
|
|
86
|
-
"@type": "@id"
|
|
87
|
-
},
|
|
88
|
-
"bcc": {
|
|
89
|
-
"@id": "as:bcc",
|
|
90
|
-
"@type": "@id"
|
|
91
|
-
},
|
|
92
|
-
"bto": {
|
|
93
|
-
"@id": "as:bto",
|
|
94
|
-
"@type": "@id"
|
|
95
|
-
},
|
|
96
|
-
"cc": {
|
|
97
|
-
"@id": "as:cc",
|
|
98
|
-
"@type": "@id"
|
|
99
|
-
},
|
|
100
|
-
"context": {
|
|
101
|
-
"@id": "as:context",
|
|
102
|
-
"@type": "@id"
|
|
103
|
-
},
|
|
104
|
-
"current": {
|
|
105
|
-
"@id": "as:current",
|
|
106
|
-
"@type": "@id"
|
|
107
|
-
},
|
|
108
|
-
"first": {
|
|
109
|
-
"@id": "as:first",
|
|
110
|
-
"@type": "@id"
|
|
111
|
-
},
|
|
112
|
-
"generator": {
|
|
113
|
-
"@id": "as:generator",
|
|
114
|
-
"@type": "@id"
|
|
115
|
-
},
|
|
116
|
-
"icon": {
|
|
117
|
-
"@id": "as:icon",
|
|
118
|
-
"@type": "@id"
|
|
119
|
-
},
|
|
120
|
-
"image": {
|
|
121
|
-
"@id": "as:image",
|
|
122
|
-
"@type": "@id"
|
|
123
|
-
},
|
|
124
|
-
"inReplyTo": {
|
|
125
|
-
"@id": "as:inReplyTo",
|
|
126
|
-
"@type": "@id"
|
|
127
|
-
},
|
|
128
|
-
"items": {
|
|
129
|
-
"@id": "as:items",
|
|
130
|
-
"@type": "@id"
|
|
131
|
-
},
|
|
132
|
-
"instrument": {
|
|
133
|
-
"@id": "as:instrument",
|
|
134
|
-
"@type": "@id"
|
|
135
|
-
},
|
|
136
|
-
"orderedItems": {
|
|
137
|
-
"@id": "as:items",
|
|
138
|
-
"@type": "@id",
|
|
139
|
-
"@container": "@list"
|
|
140
|
-
},
|
|
141
|
-
"last": {
|
|
142
|
-
"@id": "as:last",
|
|
143
|
-
"@type": "@id"
|
|
144
|
-
},
|
|
145
|
-
"location": {
|
|
146
|
-
"@id": "as:location",
|
|
147
|
-
"@type": "@id"
|
|
148
|
-
},
|
|
149
|
-
"next": {
|
|
150
|
-
"@id": "as:next",
|
|
151
|
-
"@type": "@id"
|
|
152
|
-
},
|
|
153
|
-
"object": {
|
|
154
|
-
"@id": "as:object",
|
|
155
|
-
"@type": "@id"
|
|
156
|
-
},
|
|
157
|
-
"oneOf": {
|
|
158
|
-
"@id": "as:oneOf",
|
|
159
|
-
"@type": "@id"
|
|
160
|
-
},
|
|
161
|
-
"anyOf": {
|
|
162
|
-
"@id": "as:anyOf",
|
|
163
|
-
"@type": "@id"
|
|
164
|
-
},
|
|
165
|
-
"closed": {
|
|
166
|
-
"@id": "as:closed",
|
|
167
|
-
"@type": "xsd:dateTime"
|
|
168
|
-
},
|
|
169
|
-
"origin": {
|
|
170
|
-
"@id": "as:origin",
|
|
171
|
-
"@type": "@id"
|
|
172
|
-
},
|
|
173
|
-
"accuracy": {
|
|
174
|
-
"@id": "as:accuracy",
|
|
175
|
-
"@type": "xsd:float"
|
|
176
|
-
},
|
|
177
|
-
"prev": {
|
|
178
|
-
"@id": "as:prev",
|
|
179
|
-
"@type": "@id"
|
|
180
|
-
},
|
|
181
|
-
"preview": {
|
|
182
|
-
"@id": "as:preview",
|
|
183
|
-
"@type": "@id"
|
|
184
|
-
},
|
|
185
|
-
"replies": {
|
|
186
|
-
"@id": "as:replies",
|
|
187
|
-
"@type": "@id"
|
|
188
|
-
},
|
|
189
|
-
"result": {
|
|
190
|
-
"@id": "as:result",
|
|
191
|
-
"@type": "@id"
|
|
192
|
-
},
|
|
193
|
-
"audience": {
|
|
194
|
-
"@id": "as:audience",
|
|
195
|
-
"@type": "@id"
|
|
196
|
-
},
|
|
197
|
-
"partOf": {
|
|
198
|
-
"@id": "as:partOf",
|
|
199
|
-
"@type": "@id"
|
|
200
|
-
},
|
|
201
|
-
"tag": {
|
|
202
|
-
"@id": "as:tag",
|
|
203
|
-
"@type": "@id"
|
|
204
|
-
},
|
|
205
|
-
"target": {
|
|
206
|
-
"@id": "as:target",
|
|
207
|
-
"@type": "@id"
|
|
208
|
-
},
|
|
209
|
-
"to": {
|
|
210
|
-
"@id": "as:to",
|
|
211
|
-
"@type": "@id"
|
|
212
|
-
},
|
|
213
|
-
"url": {
|
|
214
|
-
"@id": "as:url",
|
|
215
|
-
"@type": "@id"
|
|
216
|
-
},
|
|
217
|
-
"altitude": {
|
|
218
|
-
"@id": "as:altitude",
|
|
219
|
-
"@type": "xsd:float"
|
|
220
|
-
},
|
|
221
|
-
"content": "as:content",
|
|
222
|
-
"contentMap": {
|
|
223
|
-
"@id": "as:content",
|
|
224
|
-
"@container": "@language"
|
|
225
|
-
},
|
|
226
|
-
"name": "as:name",
|
|
227
|
-
"nameMap": {
|
|
228
|
-
"@id": "as:name",
|
|
229
|
-
"@container": "@language"
|
|
230
|
-
},
|
|
231
|
-
"duration": {
|
|
232
|
-
"@id": "as:duration",
|
|
233
|
-
"@type": "xsd:duration"
|
|
234
|
-
},
|
|
235
|
-
"endTime": {
|
|
236
|
-
"@id": "as:endTime",
|
|
237
|
-
"@type": "xsd:dateTime"
|
|
238
|
-
},
|
|
239
|
-
"height": {
|
|
240
|
-
"@id": "as:height",
|
|
241
|
-
"@type": "xsd:nonNegativeInteger"
|
|
242
|
-
},
|
|
243
|
-
"href": {
|
|
244
|
-
"@id": "as:href",
|
|
245
|
-
"@type": "@id"
|
|
246
|
-
},
|
|
247
|
-
"hreflang": "as:hreflang",
|
|
248
|
-
"latitude": {
|
|
249
|
-
"@id": "as:latitude",
|
|
250
|
-
"@type": "xsd:float"
|
|
251
|
-
},
|
|
252
|
-
"longitude": {
|
|
253
|
-
"@id": "as:longitude",
|
|
254
|
-
"@type": "xsd:float"
|
|
255
|
-
},
|
|
256
|
-
"mediaType": "as:mediaType",
|
|
257
|
-
"published": {
|
|
258
|
-
"@id": "as:published",
|
|
259
|
-
"@type": "xsd:dateTime"
|
|
260
|
-
},
|
|
261
|
-
"radius": {
|
|
262
|
-
"@id": "as:radius",
|
|
263
|
-
"@type": "xsd:float"
|
|
264
|
-
},
|
|
265
|
-
"rel": "as:rel",
|
|
266
|
-
"startIndex": {
|
|
267
|
-
"@id": "as:startIndex",
|
|
268
|
-
"@type": "xsd:nonNegativeInteger"
|
|
269
|
-
},
|
|
270
|
-
"startTime": {
|
|
271
|
-
"@id": "as:startTime",
|
|
272
|
-
"@type": "xsd:dateTime"
|
|
273
|
-
},
|
|
274
|
-
"summary": "as:summary",
|
|
275
|
-
"summaryMap": {
|
|
276
|
-
"@id": "as:summary",
|
|
277
|
-
"@container": "@language"
|
|
278
|
-
},
|
|
279
|
-
"totalItems": {
|
|
280
|
-
"@id": "as:totalItems",
|
|
281
|
-
"@type": "xsd:nonNegativeInteger"
|
|
282
|
-
},
|
|
283
|
-
"units": "as:units",
|
|
284
|
-
"updated": {
|
|
285
|
-
"@id": "as:updated",
|
|
286
|
-
"@type": "xsd:dateTime"
|
|
287
|
-
},
|
|
288
|
-
"width": {
|
|
289
|
-
"@id": "as:width",
|
|
290
|
-
"@type": "xsd:nonNegativeInteger"
|
|
291
|
-
},
|
|
292
|
-
"describes": {
|
|
293
|
-
"@id": "as:describes",
|
|
294
|
-
"@type": "@id"
|
|
295
|
-
},
|
|
296
|
-
"formerType": {
|
|
297
|
-
"@id": "as:formerType",
|
|
298
|
-
"@type": "@id"
|
|
299
|
-
},
|
|
300
|
-
"deleted": {
|
|
301
|
-
"@id": "as:deleted",
|
|
302
|
-
"@type": "xsd:dateTime"
|
|
303
|
-
},
|
|
304
|
-
"inbox": {
|
|
305
|
-
"@id": "ldp:inbox",
|
|
306
|
-
"@type": "@id"
|
|
307
|
-
},
|
|
308
|
-
"outbox": {
|
|
309
|
-
"@id": "as:outbox",
|
|
310
|
-
"@type": "@id"
|
|
311
|
-
},
|
|
312
|
-
"following": {
|
|
313
|
-
"@id": "as:following",
|
|
314
|
-
"@type": "@id"
|
|
315
|
-
},
|
|
316
|
-
"followers": {
|
|
317
|
-
"@id": "as:followers",
|
|
318
|
-
"@type": "@id"
|
|
319
|
-
},
|
|
320
|
-
"streams": {
|
|
321
|
-
"@id": "as:streams",
|
|
322
|
-
"@type": "@id"
|
|
323
|
-
},
|
|
324
|
-
"preferredUsername": "as:preferredUsername",
|
|
325
|
-
"endpoints": {
|
|
326
|
-
"@id": "as:endpoints",
|
|
327
|
-
"@type": "@id"
|
|
328
|
-
},
|
|
329
|
-
"uploadMedia": {
|
|
330
|
-
"@id": "as:uploadMedia",
|
|
331
|
-
"@type": "@id"
|
|
332
|
-
},
|
|
333
|
-
"proxyUrl": {
|
|
334
|
-
"@id": "as:proxyUrl",
|
|
335
|
-
"@type": "@id"
|
|
336
|
-
},
|
|
337
|
-
"liked": {
|
|
338
|
-
"@id": "as:liked",
|
|
339
|
-
"@type": "@id"
|
|
340
|
-
},
|
|
341
|
-
"oauthAuthorizationEndpoint": {
|
|
342
|
-
"@id": "as:oauthAuthorizationEndpoint",
|
|
343
|
-
"@type": "@id"
|
|
344
|
-
},
|
|
345
|
-
"oauthTokenEndpoint": {
|
|
346
|
-
"@id": "as:oauthTokenEndpoint",
|
|
347
|
-
"@type": "@id"
|
|
348
|
-
},
|
|
349
|
-
"provideClientKey": {
|
|
350
|
-
"@id": "as:provideClientKey",
|
|
351
|
-
"@type": "@id"
|
|
352
|
-
},
|
|
353
|
-
"signClientKey": {
|
|
354
|
-
"@id": "as:signClientKey",
|
|
355
|
-
"@type": "@id"
|
|
356
|
-
},
|
|
357
|
-
"sharedInbox": {
|
|
358
|
-
"@id": "as:sharedInbox",
|
|
359
|
-
"@type": "@id"
|
|
360
|
-
},
|
|
361
|
-
"Public": {
|
|
362
|
-
"@id": "as:Public",
|
|
363
|
-
"@type": "@id"
|
|
364
|
-
},
|
|
365
|
-
"source": "as:source",
|
|
366
|
-
"likes": {
|
|
367
|
-
"@id": "as:likes",
|
|
368
|
-
"@type": "@id"
|
|
369
|
-
},
|
|
370
|
-
"shares": {
|
|
371
|
-
"@id": "as:shares",
|
|
372
|
-
"@type": "@id"
|
|
373
|
-
},
|
|
374
|
-
"alsoKnownAs": {
|
|
375
|
-
"@id": "as:alsoKnownAs",
|
|
376
|
-
"@type": "@id"
|
|
377
|
-
}
|
|
378
|
-
}
|
|
379
|
-
}
|