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.
Files changed (438) hide show
  1. package/README.md +38 -34
  2. package/config/server.json +22 -0
  3. package/dist/claims.js +3 -2
  4. package/dist/directory.d.ts +2 -0
  5. package/dist/door.d.ts +4 -0
  6. package/dist/door.js +31 -0
  7. package/dist/fedipod.d.ts +16 -0
  8. package/dist/fedipod.js +13 -0
  9. package/dist/front.d.ts +3 -0
  10. package/dist/front.js +94 -0
  11. package/dist/handler.d.ts +39 -101
  12. package/dist/handler.js +86 -617
  13. package/dist/handler.jsonld +6 -30
  14. package/dist/identities.d.ts +62 -0
  15. package/dist/identities.js +236 -0
  16. package/dist/mounts.d.ts +43 -0
  17. package/dist/mounts.js +123 -0
  18. package/dist/opt-in.d.ts +46 -0
  19. package/dist/opt-in.js +176 -0
  20. package/dist/store-pod.js +37 -0
  21. package/package.json +10 -18
  22. package/lib/client/c2s.mjs +0 -582
  23. package/lib/client/localapi.mjs +0 -87
  24. package/lib/client/masto/accounts.mjs +0 -309
  25. package/lib/client/masto/body.mjs +0 -156
  26. package/lib/client/masto/index.mjs +0 -206
  27. package/lib/client/masto/instance.mjs +0 -112
  28. package/lib/client/masto/media.mjs +0 -79
  29. package/lib/client/masto/oauth.mjs +0 -656
  30. package/lib/client/masto/render.mjs +0 -518
  31. package/lib/client/masto/statuses.mjs +0 -372
  32. package/lib/client/masto/timelines.mjs +0 -438
  33. package/lib/client/oidc-auth.mjs +0 -62
  34. package/lib/client/streaming.mjs +0 -154
  35. package/lib/client/webpush.mjs +0 -98
  36. package/lib/connections/acctfeed.mjs +0 -257
  37. package/lib/connections/atproto.mjs +0 -309
  38. package/lib/connections/bskyfeed.mjs +0 -243
  39. package/lib/connections/bskygroup.mjs +0 -162
  40. package/lib/connections/fediacct.mjs +0 -253
  41. package/lib/connections/import.mjs +0 -357
  42. package/lib/connections/tagfeed.mjs +0 -212
  43. package/lib/connections/vault.mjs +0 -114
  44. package/lib/core/as2.mjs +0 -206
  45. package/lib/core/contexts/activitystreams.json +0 -379
  46. package/lib/core/contexts/anno.json +0 -126
  47. package/lib/core/contexts/did-v1.json +0 -57
  48. package/lib/core/contexts/fep-5711.json +0 -36
  49. package/lib/core/contexts/gotosocial.json +0 -86
  50. package/lib/core/contexts/identity-v1.json +0 -152
  51. package/lib/core/contexts/index.mjs +0 -63
  52. package/lib/core/contexts/join-lemmy.json +0 -33
  53. package/lib/core/contexts/joinmastodon.json +0 -28
  54. package/lib/core/contexts/litepub-0.1.json +0 -60
  55. package/lib/core/contexts/map.json +0 -19
  56. package/lib/core/contexts/miscellany.json +0 -19
  57. package/lib/core/contexts/quotes.json +0 -18
  58. package/lib/core/contexts/schemaorg.json +0 -8845
  59. package/lib/core/contexts/security-data-integrity-v1.json +0 -78
  60. package/lib/core/contexts/security-data-integrity-v2.json +0 -81
  61. package/lib/core/contexts/security-multikey-v1.json +0 -35
  62. package/lib/core/contexts/security-v1.json +0 -74
  63. package/lib/core/contexts/webfinger.json +0 -10
  64. package/lib/core/deliver.mjs +0 -371
  65. package/lib/core/graphview.mjs +0 -327
  66. package/lib/core/intake/activities.mjs +0 -633
  67. package/lib/core/intake/activity.mjs +0 -318
  68. package/lib/core/intake/channel.mjs +0 -144
  69. package/lib/core/intake/group.mjs +0 -256
  70. package/lib/core/intake/index.mjs +0 -701
  71. package/lib/core/intake/notes.mjs +0 -360
  72. package/lib/core/intake/verify.mjs +0 -142
  73. package/lib/core/keys.mjs +0 -153
  74. package/lib/core/lease.mjs +0 -206
  75. package/lib/core/polls.mjs +0 -105
  76. package/lib/core/profile-page.mjs +0 -104
  77. package/lib/core/proof.mjs +0 -79
  78. package/lib/core/publisher/collections.mjs +0 -237
  79. package/lib/core/publisher/index.mjs +0 -500
  80. package/lib/core/publisher/notes.mjs +0 -453
  81. package/lib/core/publisher/questions.mjs +0 -239
  82. package/lib/core/publisher/restore.mjs +0 -224
  83. package/lib/core/shapes/activitystreams.ttl +0 -157
  84. package/lib/core/shapes/index.mjs +0 -132
  85. package/lib/core/shapes/shapes-text.mjs +0 -13
  86. package/lib/core/social.mjs +0 -531
  87. package/lib/core/storage.mjs +0 -176
  88. package/lib/core/store.mjs +0 -568
  89. package/lib/core/wire-quotes.mjs +0 -71
  90. package/lib/core/wire.mjs +0 -889
  91. package/lib/device/account.mjs +0 -87
  92. package/lib/device/admin/index.mjs +0 -13
  93. package/lib/device/admin/origins.mjs +0 -35
  94. package/lib/device/admin/routes/connections.mjs +0 -144
  95. package/lib/device/admin/routes/gateway.mjs +0 -199
  96. package/lib/device/admin/routes/lifecycle.mjs +0 -200
  97. package/lib/device/admin/routes/owner.mjs +0 -322
  98. package/lib/device/admin/routes/setup.mjs +0 -412
  99. package/lib/device/admin/routes/social.mjs +0 -188
  100. package/lib/device/admin/server.mjs +0 -95
  101. package/lib/device/admin/static.mjs +0 -247
  102. package/lib/device/admin/surface.mjs +0 -315
  103. package/lib/device/certs.mjs +0 -281
  104. package/lib/device/cli/commands/account.mjs +0 -586
  105. package/lib/device/cli/commands/run.mjs +0 -278
  106. package/lib/device/cli/commands/service.mjs +0 -221
  107. package/lib/device/cli/commands/setup.mjs +0 -447
  108. package/lib/device/cli/commands/state.mjs +0 -561
  109. package/lib/device/cli/context.mjs +0 -288
  110. package/lib/device/export-collections.mjs +0 -161
  111. package/lib/device/gateway-move.mjs +0 -58
  112. package/lib/device/home.mjs +0 -161
  113. package/lib/device/migrate.mjs +0 -115
  114. package/lib/device/ports.mjs +0 -27
  115. package/lib/device/remote.mjs +0 -54
  116. package/lib/device/setup.mjs +0 -459
  117. package/lib/device/update.mjs +0 -96
  118. package/lib/gateway/caches.mjs +0 -36
  119. package/lib/gateway/directory.mjs +0 -90
  120. package/lib/gateway/front-core.mjs +0 -970
  121. package/lib/gateway/gateway-core.mjs +0 -165
  122. package/lib/gateway/headers.mjs +0 -49
  123. package/lib/gateway/httpsig.mjs +0 -159
  124. package/lib/gateway/notices.mjs +0 -84
  125. package/lib/gateway/quiet.mjs +0 -189
  126. package/lib/pod/README.md +0 -61
  127. package/lib/pod/actor.mjs +0 -96
  128. package/lib/pod/collection.mjs +0 -77
  129. package/lib/pod/containers.mjs +0 -140
  130. package/lib/pod/discovery.mjs +0 -46
  131. package/lib/pod/featured.mjs +0 -18
  132. package/lib/pod/followers.mjs +0 -24
  133. package/lib/pod/following.mjs +0 -10
  134. package/lib/pod/http.mjs +0 -74
  135. package/lib/pod/inbox.mjs +0 -166
  136. package/lib/pod/links.mjs +0 -35
  137. package/lib/pod/media.mjs +0 -27
  138. package/lib/pod/notes.mjs +0 -80
  139. package/lib/pod/notifications.mjs +0 -89
  140. package/lib/pod/outbox.mjs +0 -18
  141. package/lib/pod/package.json +0 -19
  142. package/lib/pod/policy.mjs +0 -58
  143. package/lib/pod/private.mjs +0 -19
  144. package/lib/pod/root.mjs +0 -104
  145. package/lib/pod/state.mjs +0 -40
  146. package/lib/pod/transport.mjs +0 -525
  147. package/lib/pod/urls.mjs +0 -85
  148. package/lib/server/embed.mjs +0 -423
  149. package/lib/session/README.md +0 -137
  150. package/lib/session/demo.html +0 -94
  151. package/lib/session/fedi-account.mjs +0 -408
  152. package/lib/session/fedi-login.mjs +0 -123
  153. package/lib/session/oidc-session.mjs +0 -233
  154. package/lib/session/package.json +0 -49
  155. package/lib/shared/guard.mjs +0 -213
  156. package/lib/shared/links.mjs +0 -9
  157. package/lib/shared/safefetch.mjs +0 -235
  158. package/lib/shared/ua.mjs +0 -29
  159. package/phanpy/dist/404.html +0 -40
  160. package/phanpy/dist/_headers +0 -2
  161. package/phanpy/dist/apple-touch-icon.png +0 -0
  162. package/phanpy/dist/assets/ICONS-DIPJeU0C.js +0 -2
  163. package/phanpy/dist/assets/ICONS-DIPJeU0C.js.map +0 -1
  164. package/phanpy/dist/assets/ScheduledAtField-D-Abfo4J.js +0 -183
  165. package/phanpy/dist/assets/ScheduledAtField-D-Abfo4J.js.map +0 -1
  166. package/phanpy/dist/assets/Temml-CCjoacWt.woff2 +0 -0
  167. package/phanpy/dist/assets/__vite-browser-external-C7iut881.js +0 -2
  168. package/phanpy/dist/assets/__vite-browser-external-C7iut881.js.map +0 -1
  169. package/phanpy/dist/assets/boosts-carousel-BiOaNdMT.jpg +0 -0
  170. package/phanpy/dist/assets/catch-up-O5q5C75Z.png +0 -0
  171. package/phanpy/dist/assets/chunk-aKtaBQYM.js +0 -1
  172. package/phanpy/dist/assets/compose-CFEx7wb4.js +0 -2
  173. package/phanpy/dist/assets/compose-CFEx7wb4.js.map +0 -1
  174. package/phanpy/dist/assets/compose-ZJN5xSb4.js +0 -35
  175. package/phanpy/dist/assets/compose-ZJN5xSb4.js.map +0 -1
  176. package/phanpy/dist/assets/debug.module-YFQgwnIr.js +0 -52
  177. package/phanpy/dist/assets/debug.module-YFQgwnIr.js.map +0 -1
  178. package/phanpy/dist/assets/dom-p1YcJ5Rw.js +0 -2
  179. package/phanpy/dist/assets/dom-p1YcJ5Rw.js.map +0 -1
  180. package/phanpy/dist/assets/home-mobile-dark@2x-Dc-J8-SM.png +0 -0
  181. package/phanpy/dist/assets/home-mobile-light@2x-Bd3fod8m.png +0 -0
  182. package/phanpy/dist/assets/home-tablet-dark@2x-BgcNI8le.png +0 -0
  183. package/phanpy/dist/assets/home-tablet-light@2x-BW2RV9T6.png +0 -0
  184. package/phanpy/dist/assets/icons/add-circle-line-WD0mwORD.js +0 -1
  185. package/phanpy/dist/assets/icons/alert-line-CpFUMf9s.js +0 -1
  186. package/phanpy/dist/assets/icons/android-2-line-Bzxnrd3S.js +0 -1
  187. package/phanpy/dist/assets/icons/announcement-line-5nwaJFJm.js +0 -1
  188. package/phanpy/dist/assets/icons/arrow-down-circle-line-a7Id9-Iv.js +0 -1
  189. package/phanpy/dist/assets/icons/arrow-down-line-B8uzXzq6.js +0 -1
  190. package/phanpy/dist/assets/icons/arrow-left-line-CGrGT9C-.js +0 -1
  191. package/phanpy/dist/assets/icons/arrow-right-line-CE-HERfX.js +0 -1
  192. package/phanpy/dist/assets/icons/arrow-to-up-line-CvdQjmcy.js +0 -1
  193. package/phanpy/dist/assets/icons/arrow-up-circle-line-DEparSNF.js +0 -1
  194. package/phanpy/dist/assets/icons/arrow-up-line-C7yBeugc.js +0 -1
  195. package/phanpy/dist/assets/icons/arrows-right-line-BtbXmJGP.js +0 -1
  196. package/phanpy/dist/assets/icons/at-line-CF66Bznk.js +0 -1
  197. package/phanpy/dist/assets/icons/attachment-line-BY8It-l9.js +0 -1
  198. package/phanpy/dist/assets/icons/blockquote-line-BS6pU_hm.js +0 -1
  199. package/phanpy/dist/assets/icons/board-line-C0UWXyA6.js +0 -1
  200. package/phanpy/dist/assets/icons/bookmark-line-1CtX5JLF.js +0 -1
  201. package/phanpy/dist/assets/icons/building-5-line-Dd59MzbO.js +0 -1
  202. package/phanpy/dist/assets/icons/bus-2-line-6_dvA0GG.js +0 -1
  203. package/phanpy/dist/assets/icons/calendar-day-line-Crpl_fmu.js +0 -1
  204. package/phanpy/dist/assets/icons/calendar-month-line-vommts2C.js +0 -1
  205. package/phanpy/dist/assets/icons/calendar-time-add-line-BU_DTlQk.js +0 -1
  206. package/phanpy/dist/assets/icons/camera-line-Cv69MEei.js +0 -1
  207. package/phanpy/dist/assets/icons/celebrate-line-B8DvIoi0.js +0 -1
  208. package/phanpy/dist/assets/icons/chart-bar-line-FK-QOmtF.js +0 -1
  209. package/phanpy/dist/assets/icons/chart-line-line-BGcJAFWw.js +0 -1
  210. package/phanpy/dist/assets/icons/chat-3-line-YFK2-hwz.js +0 -1
  211. package/phanpy/dist/assets/icons/check-circle-line-DsAxFr5-.js +0 -1
  212. package/phanpy/dist/assets/icons/clipboard-line-BBp364gJ.js +0 -1
  213. package/phanpy/dist/assets/icons/close-circle-line-CICdiuGz.js +0 -1
  214. package/phanpy/dist/assets/icons/close-line-DYrFWcjv.js +0 -1
  215. package/phanpy/dist/assets/icons/cloud-line-tiQAbah8.js +0 -1
  216. package/phanpy/dist/assets/icons/code-line-fAl8iiV3.js +0 -1
  217. package/phanpy/dist/assets/icons/comment-2-line-CR3g7WeB.js +0 -1
  218. package/phanpy/dist/assets/icons/copy-2-line-CLW69yF5.js +0 -1
  219. package/phanpy/dist/assets/icons/delete-2-line-B8xmbr4n.js +0 -1
  220. package/phanpy/dist/assets/icons/document-3-line-DBGNhAg2.js +0 -1
  221. package/phanpy/dist/assets/icons/document-line-C7mb9sb7.js +0 -1
  222. package/phanpy/dist/assets/icons/down-line-BGqSSThd.js +0 -1
  223. package/phanpy/dist/assets/icons/edit-4-line-DcgGaEhx.js +0 -1
  224. package/phanpy/dist/assets/icons/emoji-2-line-D8YgnM-y.js +0 -1
  225. package/phanpy/dist/assets/icons/exit-line-Dc07BS-x.js +0 -1
  226. package/phanpy/dist/assets/icons/external-link-line-BvpSkmjO.js +0 -1
  227. package/phanpy/dist/assets/icons/eye-2-line-CiWXx-f_.js +0 -1
  228. package/phanpy/dist/assets/icons/eye-close-line-BgTaSJ4P.js +0 -1
  229. package/phanpy/dist/assets/icons/filter-2-line-B_mR2usy.js +0 -1
  230. package/phanpy/dist/assets/icons/filter-line-C_nm-3cU.js +0 -1
  231. package/phanpy/dist/assets/icons/flag-1-line-C2HB05I0.js +0 -1
  232. package/phanpy/dist/assets/icons/forbid-circle-line-D3LTT9yd.js +0 -1
  233. package/phanpy/dist/assets/icons/formula-line-DLrt2d6j.js +0 -1
  234. package/phanpy/dist/assets/icons/grid-line-CgUmEikf.js +0 -1
  235. package/phanpy/dist/assets/icons/group-line-C5fnX0wU.js +0 -1
  236. package/phanpy/dist/assets/icons/hand-finger-2-line-BGgxbuL9.js +0 -1
  237. package/phanpy/dist/assets/icons/hashtag-line-CyTEEXBb.js +0 -1
  238. package/phanpy/dist/assets/icons/heart-crack-line-BZddbO2C.js +0 -1
  239. package/phanpy/dist/assets/icons/heart-line-CJ7K47J4.js +0 -1
  240. package/phanpy/dist/assets/icons/history-2-line-kWWvFzqv.js +0 -1
  241. package/phanpy/dist/assets/icons/history-line-bGQiwbTH.js +0 -1
  242. package/phanpy/dist/assets/icons/home-3-line-fRU1zeLG.js +0 -1
  243. package/phanpy/dist/assets/icons/information-line-iNk6-sOY.js +0 -1
  244. package/phanpy/dist/assets/icons/keyboard-line-DsCyuQNz.js +0 -1
  245. package/phanpy/dist/assets/icons/layout-4-line-CZkOX52Z.js +0 -1
  246. package/phanpy/dist/assets/icons/layout-5-line-B_znt5wO.js +0 -1
  247. package/phanpy/dist/assets/icons/left-line-eUw0tya4.js +0 -1
  248. package/phanpy/dist/assets/icons/lightning-line-DaKoDdix.js +0 -1
  249. package/phanpy/dist/assets/icons/link-2-line-DCqLmMA7.js +0 -1
  250. package/phanpy/dist/assets/icons/list-check-line-BAxosBh9.js +0 -1
  251. package/phanpy/dist/assets/icons/lock-line-CPoaXeUW.js +0 -1
  252. package/phanpy/dist/assets/icons/mail-line-B0P8aa1L.js +0 -1
  253. package/phanpy/dist/assets/icons/moon-line-CEqNAToP.js +0 -1
  254. package/phanpy/dist/assets/icons/more-1-fill-Dw2e5xab.js +0 -1
  255. package/phanpy/dist/assets/icons/more-3-line-BIiVjYTz.js +0 -1
  256. package/phanpy/dist/assets/icons/notification-line-BZZq2Gtu.js +0 -1
  257. package/phanpy/dist/assets/icons/pencil-line-CKh8-A1v.js +0 -1
  258. package/phanpy/dist/assets/icons/photo-album-line-Bnfg2u40.js +0 -1
  259. package/phanpy/dist/assets/icons/pin-line-DpTolyhs.js +0 -1
  260. package/phanpy/dist/assets/icons/play-fill-B0-G_8lX.js +0 -1
  261. package/phanpy/dist/assets/icons/qrcode-2-line-B6SPCaHn.js +0 -1
  262. package/phanpy/dist/assets/icons/quill-pen-line-B6LUrnCP.js +0 -1
  263. package/phanpy/dist/assets/icons/quote-left-fill-hQZ1cj_6.js +0 -1
  264. package/phanpy/dist/assets/icons/radar-line-CKyroTth.js +0 -1
  265. package/phanpy/dist/assets/icons/react-line-CoIKhhtK.js +0 -1
  266. package/phanpy/dist/assets/icons/refresh-2-line-D0mTF97S.js +0 -1
  267. package/phanpy/dist/assets/icons/right-line-B3KWJaqc.js +0 -1
  268. package/phanpy/dist/assets/icons/rocket-line-4KZl537D.js +0 -1
  269. package/phanpy/dist/assets/icons/round-fill-C69NTrZ0.js +0 -1
  270. package/phanpy/dist/assets/icons/round-line-B9k_1uo-.js +0 -1
  271. package/phanpy/dist/assets/icons/route-line-B28ReHcE.js +0 -1
  272. package/phanpy/dist/assets/icons/rows-4-line-CrBniagM.js +0 -1
  273. package/phanpy/dist/assets/icons/scan-line-DSf74YdP.js +0 -1
  274. package/phanpy/dist/assets/icons/search-2-line-B6geIU1z.js +0 -1
  275. package/phanpy/dist/assets/icons/settings-3-line-azJwK47w.js +0 -1
  276. package/phanpy/dist/assets/icons/settings-6-line-C_5zc5YR.js +0 -1
  277. package/phanpy/dist/assets/icons/share-2-line-D5MxWjrm.js +0 -1
  278. package/phanpy/dist/assets/icons/share-forward-line-Cp61fZzZ.js +0 -1
  279. package/phanpy/dist/assets/icons/sparkles-2-line-DYYyXTaW.js +0 -1
  280. package/phanpy/dist/assets/icons/sparkles-line-C2hY1s6I.js +0 -1
  281. package/phanpy/dist/assets/icons/time-line-BF3eet1v.js +0 -1
  282. package/phanpy/dist/assets/icons/transfer-4-line-oisfvTBw.js +0 -1
  283. package/phanpy/dist/assets/icons/translate-line-BFWol2Ce.js +0 -1
  284. package/phanpy/dist/assets/icons/unlock-line-X_x5vwv3.js +0 -1
  285. package/phanpy/dist/assets/icons/upload-3-line-DgzwUJeW.js +0 -1
  286. package/phanpy/dist/assets/icons/user-4-line-BVSynZCp.js +0 -1
  287. package/phanpy/dist/assets/icons/user-add-2-line-BlGS5Q8q.js +0 -1
  288. package/phanpy/dist/assets/icons/user-add-line-BbXdHG4z.js +0 -1
  289. package/phanpy/dist/assets/icons/user-edit-line-BFAHOV0X.js +0 -1
  290. package/phanpy/dist/assets/icons/user-follow-line-BXux0wSd.js +0 -1
  291. package/phanpy/dist/assets/icons/user-star-line-DdYlpHLU.js +0 -1
  292. package/phanpy/dist/assets/icons/user-warning-line-Cj43j0_E.js +0 -1
  293. package/phanpy/dist/assets/icons/user-x-line-DIDgNlPH.js +0 -1
  294. package/phanpy/dist/assets/icons/volume-line-Bs390KQt.js +0 -1
  295. package/phanpy/dist/assets/icons/volume-mute-line-DzlzIqFZ.js +0 -1
  296. package/phanpy/dist/assets/icons/walk-line-yNXfB-md.js +0 -1
  297. package/phanpy/dist/assets/icons/world-2-line-CenkGIwj.js +0 -1
  298. package/phanpy/dist/assets/icons/zoom-in-line-CaENUphf.js +0 -1
  299. package/phanpy/dist/assets/icons/zoom-out-line-BDNk0EWo.js +0 -1
  300. package/phanpy/dist/assets/instances-BNPptnn-.json +0 -333
  301. package/phanpy/dist/assets/locales/ar-SA-CfheRbCu.js +0 -1
  302. package/phanpy/dist/assets/locales/ca-ES-DHRW86Tz.js +0 -1
  303. package/phanpy/dist/assets/locales/cs-CZ-CKoqEuA1.js +0 -1
  304. package/phanpy/dist/assets/locales/de-DE-ByRPMRFy.js +0 -1
  305. package/phanpy/dist/assets/locales/eo-UY-CPC7wLCS.js +0 -1
  306. package/phanpy/dist/assets/locales/es-ES-dJa0Fd9t.js +0 -1
  307. package/phanpy/dist/assets/locales/eu-ES-C3djlPR2.js +0 -1
  308. package/phanpy/dist/assets/locales/fa-IR-DTT490Ck.js +0 -1
  309. package/phanpy/dist/assets/locales/fi-FI-B23MCPuz.js +0 -1
  310. package/phanpy/dist/assets/locales/fr-FR-BcaQsO5C.js +0 -1
  311. package/phanpy/dist/assets/locales/gl-ES-BR-CVKBN.js +0 -1
  312. package/phanpy/dist/assets/locales/he-IL-CfheRbCu.js +0 -1
  313. package/phanpy/dist/assets/locales/hu-HU-CfheRbCu.js +0 -1
  314. package/phanpy/dist/assets/locales/it-IT-C1136UFV.js +0 -1
  315. package/phanpy/dist/assets/locales/ja-JP-CRZmRAhD.js +0 -1
  316. package/phanpy/dist/assets/locales/kab-Cz8xH_TT.js +0 -1
  317. package/phanpy/dist/assets/locales/ko-KR-CG9UiY4o.js +0 -1
  318. package/phanpy/dist/assets/locales/lt-LT-CJcI6sHZ.js +0 -1
  319. package/phanpy/dist/assets/locales/nb-NO-CfheRbCu.js +0 -1
  320. package/phanpy/dist/assets/locales/nl-NL-DxN4Yc1t.js +0 -1
  321. package/phanpy/dist/assets/locales/oc-FR-CfheRbCu.js +0 -1
  322. package/phanpy/dist/assets/locales/pl-PL-DkwGXf6P.js +0 -1
  323. package/phanpy/dist/assets/locales/pseudo-LOCALE-CQ4XxkQ0.js +0 -1
  324. package/phanpy/dist/assets/locales/pt-BR-nGL0HdFS.js +0 -1
  325. package/phanpy/dist/assets/locales/pt-PT-Cp17aj2z.js +0 -1
  326. package/phanpy/dist/assets/locales/ru-RU-0Y8cIoaK.js +0 -1
  327. package/phanpy/dist/assets/locales/th-TH-CfheRbCu.js +0 -1
  328. package/phanpy/dist/assets/locales/tok-CfheRbCu.js +0 -1
  329. package/phanpy/dist/assets/locales/tr-TR-CfheRbCu.js +0 -1
  330. package/phanpy/dist/assets/locales/uk-UA-C5E3dFBf.js +0 -1
  331. package/phanpy/dist/assets/locales/zh-CN-BHJi7_et.js +0 -1
  332. package/phanpy/dist/assets/locales/zh-TW-CfheRbCu.js +0 -1
  333. package/phanpy/dist/assets/main-BdqNbG-a.js +0 -26
  334. package/phanpy/dist/assets/main-BdqNbG-a.js.map +0 -1
  335. package/phanpy/dist/assets/mock-home-DGhR__He.js +0 -2
  336. package/phanpy/dist/assets/mock-home-DGhR__He.js.map +0 -1
  337. package/phanpy/dist/assets/multi-column-ROck0NVt.jpg +0 -0
  338. package/phanpy/dist/assets/multi-hashtag-timeline-DH5INVHi.jpg +0 -0
  339. package/phanpy/dist/assets/nested-comments-thread-hv59kZLc.jpg +0 -0
  340. package/phanpy/dist/assets/polyfill-force-H8sUkLGp.js +0 -2
  341. package/phanpy/dist/assets/polyfill-force-H8sUkLGp.js.map +0 -1
  342. package/phanpy/dist/assets/pwa-viewport-ogKbF51K.js +0 -20
  343. package/phanpy/dist/assets/pwa-viewport-ogKbF51K.js.map +0 -1
  344. package/phanpy/dist/assets/style-B1iLPTPR.css +0 -2
  345. package/phanpy/dist/assets/temml-DuyIQMei.js +0 -97
  346. package/phanpy/dist/assets/temml-DuyIQMei.js.map +0 -1
  347. package/phanpy/dist/assets/tinyld.light.node-DtbBhLYC.js +0 -2
  348. package/phanpy/dist/assets/tinyld.light.node-DtbBhLYC.js.map +0 -1
  349. package/phanpy/dist/assets/year-in-posts-B2lywqdx.png +0 -0
  350. package/phanpy/dist/assets/year-in-posts-DJv_star.js +0 -3
  351. package/phanpy/dist/assets/year-in-posts-DJv_star.js.map +0 -1
  352. package/phanpy/dist/compose/index.html +0 -20
  353. package/phanpy/dist/favicon.ico +0 -0
  354. package/phanpy/dist/index.html +0 -73
  355. package/phanpy/dist/logo-192.png +0 -0
  356. package/phanpy/dist/logo-512.png +0 -0
  357. package/phanpy/dist/logo-badge-72.png +0 -0
  358. package/phanpy/dist/logo-maskable-512.png +0 -0
  359. package/phanpy/dist/logo-monochrome-512.png +0 -0
  360. package/phanpy/dist/logo-monochrome-maskable-512.png +0 -0
  361. package/phanpy/dist/manifest.webmanifest +0 -1
  362. package/phanpy/dist/og-image-2.jpg +0 -0
  363. package/phanpy/dist/og-image.png +0 -0
  364. package/phanpy/dist/robots.txt +0 -2
  365. package/phanpy/dist/sw.js +0 -2
  366. package/phanpy/dist/sw.js.map +0 -1
  367. package/phanpy/dist/version.json +0 -1
  368. package/run-agent.mjs +0 -897
  369. package/vendor/gate.cjs +0 -138
  370. package/vendor/idp-grant.cjs +0 -394
  371. package/vendor/jfetch.cjs +0 -16
  372. package/web/admin/actors.js +0 -145
  373. package/web/admin/bar.css +0 -126
  374. package/web/admin/bar.js +0 -99
  375. package/web/admin/client/client.js +0 -66
  376. package/web/admin/client/index.html +0 -69
  377. package/web/admin/client-pick.js +0 -79
  378. package/web/admin/common.js +0 -23
  379. package/web/admin/connections.js +0 -112
  380. package/web/admin/gateway.js +0 -133
  381. package/web/admin/group.js +0 -258
  382. package/web/admin/index.html +0 -603
  383. package/web/admin/notices-bar.js +0 -90
  384. package/web/admin/oauth-signin.mjs +0 -37
  385. package/web/admin/record.js +0 -390
  386. package/web/admin/setup/index.html +0 -241
  387. package/web/admin/setup/setup.js +0 -326
  388. package/web/admin/tokens.css +0 -68
  389. package/web/admin/upkeep.js +0 -177
  390. package/web/admin/window.css +0 -55
  391. package/web/admin/window.js +0 -136
  392. package/web/app/README.md +0 -81
  393. package/web/app/admin-facade.mjs +0 -588
  394. package/web/app/agent.mjs +0 -663
  395. package/web/app/atproto-browser.mjs +0 -86
  396. package/web/app/authorize_interaction.html +0 -56
  397. package/web/app/authorize_interaction.js +0 -69
  398. package/web/app/boot.mjs +0 -576
  399. package/web/app/deliver-relay.mjs +0 -129
  400. package/web/app/dist/boot.js +0 -34218
  401. package/web/app/dist/boot.js.map +0 -7
  402. package/web/app/dist/sw.js +0 -72810
  403. package/web/app/dist/sw.js.map +0 -7
  404. package/web/app/fediacct-browser.mjs +0 -146
  405. package/web/app/gateway-move.mjs +0 -60
  406. package/web/app/idb-kv.mjs +0 -35
  407. package/web/app/index.html +0 -242
  408. package/web/app/keys-browser.mjs +0 -71
  409. package/web/app/keystore.mjs +0 -82
  410. package/web/app/oidc-session.mjs +0 -6
  411. package/web/app/pod-auth.mjs +0 -248
  412. package/web/app/pod-remote.mjs +0 -84
  413. package/web/app/shims/_globals.mjs +0 -2
  414. package/web/app/shims/fedify-sig.mjs +0 -77
  415. package/web/app/shims/node-crypto.mjs +0 -113
  416. package/web/app/shims/node-fs.mjs +0 -17
  417. package/web/app/shims/node-path.mjs +0 -19
  418. package/web/app/shims/node-url.mjs +0 -7
  419. package/web/app/shims/prelude.js +0 -58
  420. package/web/app/shims/safefetch.mjs +0 -58
  421. package/web/app/shims/shapes-text.mjs +0 -8
  422. package/web/app/shims/web-push.mjs +0 -14
  423. package/web/app/signup.mjs +0 -318
  424. package/web/app/sw-src.mjs +0 -220
  425. package/web/app/update.js +0 -70
  426. package/web/front/admin.html +0 -55
  427. package/web/front/admin.js +0 -89
  428. package/web/front/install.sh +0 -69
  429. package/web/front/new-account.html +0 -35
  430. package/web/front/new-account.js +0 -13
  431. package/web/front/notices.html +0 -69
  432. package/web/front/notices.js +0 -107
  433. package/web/front/run.html +0 -58
  434. package/web/front/run.js +0 -195
  435. package/web/front/solid-oidc-client.js +0 -6
  436. package/web/icons/forum.svg +0 -11
  437. package/web/icons/gateway.svg +0 -14
  438. 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
- }