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