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