@geekity/cms 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 (1393) hide show
  1. package/README.md +26 -4214
  2. package/admin/pages/settings/privacy.njk +1 -1
  3. package/dist/access-log.d.ts +2 -10
  4. package/dist/access-log.d.ts.map +1 -1
  5. package/dist/access-log.js +1 -1
  6. package/dist/access-log.js.map +1 -1
  7. package/dist/{web → admin}/admin-bar.d.ts +3 -2
  8. package/dist/admin/admin-bar.d.ts.map +1 -0
  9. package/dist/{web → admin}/admin-bar.js +20 -17
  10. package/dist/admin/admin-bar.js.map +1 -0
  11. package/dist/{indieauth → admin}/app-activity.d.ts +2 -2
  12. package/dist/admin/app-activity.d.ts.map +1 -0
  13. package/dist/{indieauth → admin}/app-activity.js +5 -5
  14. package/dist/admin/app-activity.js.map +1 -0
  15. package/dist/admin/appearance.d.ts +3 -3
  16. package/dist/admin/appearance.d.ts.map +1 -1
  17. package/dist/admin/appearance.js +12 -6
  18. package/dist/admin/appearance.js.map +1 -1
  19. package/dist/admin/assets.d.ts +1 -8
  20. package/dist/admin/assets.d.ts.map +1 -1
  21. package/dist/admin/assets.js +2 -9
  22. package/dist/admin/assets.js.map +1 -1
  23. package/dist/admin/comments.d.ts +2 -2
  24. package/dist/admin/comments.d.ts.map +1 -1
  25. package/dist/admin/comments.js +16 -17
  26. package/dist/admin/comments.js.map +1 -1
  27. package/dist/{indieauth → admin}/connected-apps.d.ts +2 -2
  28. package/dist/admin/connected-apps.d.ts.map +1 -0
  29. package/dist/{indieauth → admin}/connected-apps.js +18 -19
  30. package/dist/admin/connected-apps.js.map +1 -0
  31. package/dist/admin/credentials.js +1 -1
  32. package/dist/admin/credentials.js.map +1 -1
  33. package/dist/admin/dev-mode.d.ts +1 -1
  34. package/dist/admin/dev-mode.d.ts.map +1 -1
  35. package/dist/admin/documents.d.ts +16 -301
  36. package/dist/admin/documents.d.ts.map +1 -1
  37. package/dist/admin/documents.js +74 -1032
  38. package/dist/admin/documents.js.map +1 -1
  39. package/dist/admin/editor-actions.d.ts +3 -2
  40. package/dist/admin/editor-actions.d.ts.map +1 -1
  41. package/dist/admin/editor-actions.js +8 -8
  42. package/dist/admin/editor-actions.js.map +1 -1
  43. package/dist/admin/editor-fields.d.ts +45 -0
  44. package/dist/admin/editor-fields.d.ts.map +1 -0
  45. package/dist/admin/editor-fields.js +71 -0
  46. package/dist/admin/editor-fields.js.map +1 -0
  47. package/dist/admin/editor-layout.d.ts +2 -10
  48. package/dist/admin/editor-layout.d.ts.map +1 -1
  49. package/dist/admin/editor-layout.js +1 -1
  50. package/dist/admin/editor-layout.js.map +1 -1
  51. package/dist/admin/federation.d.ts +5 -5
  52. package/dist/admin/federation.d.ts.map +1 -1
  53. package/dist/admin/federation.js +16 -18
  54. package/dist/admin/federation.js.map +1 -1
  55. package/dist/admin/flash.d.ts +2 -2
  56. package/dist/admin/flash.d.ts.map +1 -1
  57. package/dist/admin/headers.d.ts +1 -1
  58. package/dist/admin/headers.d.ts.map +1 -1
  59. package/dist/admin/headers.js +1 -1
  60. package/dist/admin/headers.js.map +1 -1
  61. package/dist/admin/index.d.ts +38 -20
  62. package/dist/admin/index.d.ts.map +1 -1
  63. package/dist/admin/index.js +27 -13
  64. package/dist/admin/index.js.map +1 -1
  65. package/dist/{indieauth/consent.d.ts → admin/indieauth-consent.d.ts} +4 -4
  66. package/dist/admin/indieauth-consent.d.ts.map +1 -0
  67. package/dist/{indieauth/consent.js → admin/indieauth-consent.js} +17 -18
  68. package/dist/admin/indieauth-consent.js.map +1 -0
  69. package/dist/admin/legacy-migrations.d.ts +131 -0
  70. package/dist/admin/legacy-migrations.d.ts.map +1 -0
  71. package/dist/admin/legacy-migrations.js +235 -0
  72. package/dist/admin/legacy-migrations.js.map +1 -0
  73. package/dist/admin/media.d.ts +4 -108
  74. package/dist/admin/media.d.ts.map +1 -1
  75. package/dist/admin/media.js +19 -187
  76. package/dist/admin/media.js.map +1 -1
  77. package/dist/admin/menu.d.ts.map +1 -1
  78. package/dist/admin/menu.js +7 -7
  79. package/dist/admin/menu.js.map +1 -1
  80. package/dist/admin/messages.d.ts +1 -1
  81. package/dist/admin/messages.d.ts.map +1 -1
  82. package/dist/admin/messages.js +10 -12
  83. package/dist/admin/messages.js.map +1 -1
  84. package/dist/admin/navigation.d.ts +3 -3
  85. package/dist/admin/navigation.d.ts.map +1 -1
  86. package/dist/admin/navigation.js +9 -12
  87. package/dist/admin/navigation.js.map +1 -1
  88. package/dist/admin/personal-data.d.ts +1 -1
  89. package/dist/admin/personal-data.d.ts.map +1 -1
  90. package/dist/admin/personal-data.js +3 -6
  91. package/dist/admin/personal-data.js.map +1 -1
  92. package/dist/admin/plugins.d.ts +1 -1
  93. package/dist/admin/plugins.d.ts.map +1 -1
  94. package/dist/admin/plugins.js +11 -15
  95. package/dist/admin/plugins.js.map +1 -1
  96. package/dist/admin/preview.d.ts +2 -1
  97. package/dist/admin/preview.d.ts.map +1 -1
  98. package/dist/admin/preview.js +28 -32
  99. package/dist/admin/preview.js.map +1 -1
  100. package/dist/admin/recovery.d.ts +3 -3
  101. package/dist/admin/recovery.d.ts.map +1 -1
  102. package/dist/admin/recovery.js +10 -12
  103. package/dist/admin/recovery.js.map +1 -1
  104. package/dist/admin/routes.d.ts +1 -3
  105. package/dist/admin/routes.d.ts.map +1 -1
  106. package/dist/admin/routes.js +28 -26
  107. package/dist/admin/routes.js.map +1 -1
  108. package/dist/admin/settings-discussion.d.ts.map +1 -1
  109. package/dist/admin/settings-discussion.js +7 -4
  110. package/dist/admin/settings-discussion.js.map +1 -1
  111. package/dist/admin/settings-email.d.ts +1 -1
  112. package/dist/admin/settings-email.d.ts.map +1 -1
  113. package/dist/admin/settings-email.js +13 -10
  114. package/dist/admin/settings-email.js.map +1 -1
  115. package/dist/admin/settings-general.d.ts.map +1 -1
  116. package/dist/admin/settings-general.js +10 -7
  117. package/dist/admin/settings-general.js.map +1 -1
  118. package/dist/admin/settings-page.d.ts +3 -4
  119. package/dist/admin/settings-page.d.ts.map +1 -1
  120. package/dist/admin/settings-page.js +5 -6
  121. package/dist/admin/settings-page.js.map +1 -1
  122. package/dist/admin/settings-pages.d.ts +1 -1
  123. package/dist/admin/settings-pages.d.ts.map +1 -1
  124. package/dist/admin/settings-permalinks.js +1 -1
  125. package/dist/admin/settings-permalinks.js.map +1 -1
  126. package/dist/admin/settings-reading.d.ts +2 -2
  127. package/dist/admin/settings-reading.d.ts.map +1 -1
  128. package/dist/admin/settings-reading.js +4 -3
  129. package/dist/admin/settings-reading.js.map +1 -1
  130. package/dist/admin/settings.d.ts +0 -579
  131. package/dist/admin/settings.d.ts.map +1 -1
  132. package/dist/admin/settings.js +1 -1155
  133. package/dist/admin/settings.js.map +1 -1
  134. package/dist/admin/syndication-targets.d.ts +1 -1
  135. package/dist/admin/syndication-targets.d.ts.map +1 -1
  136. package/dist/admin/syndication-targets.js +11 -15
  137. package/dist/admin/syndication-targets.js.map +1 -1
  138. package/dist/admin/taxonomy.d.ts +2 -2
  139. package/dist/admin/taxonomy.d.ts.map +1 -1
  140. package/dist/admin/taxonomy.js +8 -11
  141. package/dist/admin/taxonomy.js.map +1 -1
  142. package/dist/admin/templates.js +1 -1
  143. package/dist/admin/templates.js.map +1 -1
  144. package/dist/admin/tools.d.ts +4 -4
  145. package/dist/admin/tools.d.ts.map +1 -1
  146. package/dist/admin/tools.js +3 -6
  147. package/dist/admin/tools.js.map +1 -1
  148. package/dist/admin/uploads.d.ts +1 -106
  149. package/dist/admin/uploads.d.ts.map +1 -1
  150. package/dist/admin/uploads.js +2 -191
  151. package/dist/admin/uploads.js.map +1 -1
  152. package/dist/admin/users.d.ts +20 -15
  153. package/dist/admin/users.d.ts.map +1 -1
  154. package/dist/admin/users.js +83 -80
  155. package/dist/admin/users.js.map +1 -1
  156. package/dist/avatars/avatars.d.ts +2 -2
  157. package/dist/avatars/avatars.d.ts.map +1 -1
  158. package/dist/avatars/avatars.js +6 -9
  159. package/dist/avatars/avatars.js.map +1 -1
  160. package/dist/avatars/index.d.ts +0 -1
  161. package/dist/avatars/index.d.ts.map +1 -1
  162. package/dist/avatars/index.js +0 -1
  163. package/dist/avatars/index.js.map +1 -1
  164. package/dist/cache.d.ts +4 -2
  165. package/dist/cache.d.ts.map +1 -1
  166. package/dist/cache.js +11 -5
  167. package/dist/cache.js.map +1 -1
  168. package/dist/cli.d.ts +2 -33
  169. package/dist/cli.d.ts.map +1 -1
  170. package/dist/cli.js +245 -267
  171. package/dist/cli.js.map +1 -1
  172. package/dist/cms/app.d.ts +11 -0
  173. package/dist/cms/app.d.ts.map +1 -0
  174. package/dist/cms/app.js +115 -0
  175. package/dist/cms/app.js.map +1 -0
  176. package/dist/cms/boot.d.ts +14 -0
  177. package/dist/cms/boot.d.ts.map +1 -0
  178. package/dist/cms/boot.js +107 -0
  179. package/dist/cms/boot.js.map +1 -0
  180. package/dist/cms/create.d.ts +248 -0
  181. package/dist/cms/create.d.ts.map +1 -0
  182. package/dist/cms/create.js +167 -0
  183. package/dist/cms/create.js.map +1 -0
  184. package/dist/cms/lifecycle.d.ts +11 -0
  185. package/dist/cms/lifecycle.d.ts.map +1 -0
  186. package/dist/cms/lifecycle.js +15 -0
  187. package/dist/cms/lifecycle.js.map +1 -0
  188. package/dist/{web/errors.d.ts → cms/server-error.d.ts} +2 -8
  189. package/dist/cms/server-error.d.ts.map +1 -0
  190. package/dist/{web/errors.js → cms/server-error.js} +4 -14
  191. package/dist/cms/server-error.js.map +1 -0
  192. package/dist/cms/services.d.ts +55 -0
  193. package/dist/cms/services.d.ts.map +1 -0
  194. package/dist/cms/services.js +353 -0
  195. package/dist/cms/services.js.map +1 -0
  196. package/dist/cms/site-records.d.ts +4 -0
  197. package/dist/cms/site-records.d.ts.map +1 -0
  198. package/dist/cms/site-records.js +15 -0
  199. package/dist/cms/site-records.js.map +1 -0
  200. package/dist/comments/akismet.d.ts +1 -1
  201. package/dist/comments/akismet.d.ts.map +1 -1
  202. package/dist/comments/akismet.js +1 -3
  203. package/dist/comments/akismet.js.map +1 -1
  204. package/dist/comments/conversation.d.ts +334 -0
  205. package/dist/comments/conversation.d.ts.map +1 -0
  206. package/dist/comments/conversation.js +51 -0
  207. package/dist/comments/conversation.js.map +1 -0
  208. package/dist/comments/form.d.ts +2 -2
  209. package/dist/comments/form.d.ts.map +1 -1
  210. package/dist/comments/form.js +2 -2
  211. package/dist/comments/form.js.map +1 -1
  212. package/dist/comments/index.d.ts +12 -6
  213. package/dist/comments/index.d.ts.map +1 -1
  214. package/dist/comments/index.js +7 -4
  215. package/dist/comments/index.js.map +1 -1
  216. package/dist/comments/intake.d.ts +147 -0
  217. package/dist/comments/intake.d.ts.map +1 -0
  218. package/dist/comments/intake.js +161 -0
  219. package/dist/comments/intake.js.map +1 -0
  220. package/dist/comments/markdown.d.ts.map +1 -1
  221. package/dist/comments/markdown.js +2 -9
  222. package/dist/comments/markdown.js.map +1 -1
  223. package/dist/comments/migrations.d.ts +45 -0
  224. package/dist/comments/migrations.d.ts.map +1 -0
  225. package/dist/comments/migrations.js +194 -0
  226. package/dist/comments/migrations.js.map +1 -0
  227. package/dist/comments/moderate.d.ts +2 -2
  228. package/dist/comments/moderate.d.ts.map +1 -1
  229. package/dist/comments/moderate.js +3 -13
  230. package/dist/comments/moderate.js.map +1 -1
  231. package/dist/comments/page-form.d.ts +52 -0
  232. package/dist/comments/page-form.d.ts.map +1 -0
  233. package/dist/comments/page-form.js +62 -0
  234. package/dist/comments/page-form.js.map +1 -0
  235. package/dist/comments/policy.d.ts +1 -9
  236. package/dist/comments/policy.d.ts.map +1 -1
  237. package/dist/comments/policy.js +3 -18
  238. package/dist/comments/policy.js.map +1 -1
  239. package/dist/comments/records.d.ts +25 -173
  240. package/dist/comments/records.d.ts.map +1 -1
  241. package/dist/comments/records.js +69 -265
  242. package/dist/comments/records.js.map +1 -1
  243. package/dist/comments/reply-notices.d.ts +5 -5
  244. package/dist/comments/reply-notices.d.ts.map +1 -1
  245. package/dist/comments/reply-notices.js +6 -6
  246. package/dist/comments/reply-notices.js.map +1 -1
  247. package/dist/comments/reply-post.d.ts +2 -2
  248. package/dist/comments/reply-post.d.ts.map +1 -1
  249. package/dist/comments/reply-post.js +7 -5
  250. package/dist/comments/reply-post.js.map +1 -1
  251. package/dist/comments/routes.d.ts +3 -3
  252. package/dist/comments/routes.d.ts.map +1 -1
  253. package/dist/comments/routes.js +22 -34
  254. package/dist/comments/routes.js.map +1 -1
  255. package/dist/comments/submission.d.ts +5 -100
  256. package/dist/comments/submission.d.ts.map +1 -1
  257. package/dist/comments/submission.js +5 -20
  258. package/dist/comments/submission.js.map +1 -1
  259. package/dist/comments/viewer.d.ts +1 -25
  260. package/dist/comments/viewer.d.ts.map +1 -1
  261. package/dist/comments/viewer.js +1 -44
  262. package/dist/comments/viewer.js.map +1 -1
  263. package/dist/config-loader.d.ts +35 -0
  264. package/dist/config-loader.d.ts.map +1 -0
  265. package/dist/config-loader.js +116 -0
  266. package/dist/config-loader.js.map +1 -0
  267. package/dist/config.d.ts +72 -50
  268. package/dist/config.d.ts.map +1 -1
  269. package/dist/config.js +132 -180
  270. package/dist/config.js.map +1 -1
  271. package/dist/contact/delivery.d.ts +1 -1
  272. package/dist/contact/delivery.d.ts.map +1 -1
  273. package/dist/contact/delivery.js +5 -13
  274. package/dist/contact/delivery.js.map +1 -1
  275. package/dist/contact/form.d.ts +2 -4
  276. package/dist/contact/form.d.ts.map +1 -1
  277. package/dist/contact/form.js +3 -4
  278. package/dist/contact/form.js.map +1 -1
  279. package/dist/contact/index.d.ts +2 -2
  280. package/dist/contact/index.d.ts.map +1 -1
  281. package/dist/contact/index.js +2 -2
  282. package/dist/contact/index.js.map +1 -1
  283. package/dist/contact/records.d.ts.map +1 -1
  284. package/dist/contact/records.js +8 -11
  285. package/dist/contact/records.js.map +1 -1
  286. package/dist/contact/submission.d.ts +2 -2
  287. package/dist/contact/submission.d.ts.map +1 -1
  288. package/dist/contact/submission.js +7 -16
  289. package/dist/contact/submission.js.map +1 -1
  290. package/dist/{images → content}/alt-text.d.ts +1 -1
  291. package/dist/content/alt-text.d.ts.map +1 -0
  292. package/dist/{images → content}/alt-text.js +3 -5
  293. package/dist/content/alt-text.js.map +1 -0
  294. package/dist/content/authors.d.ts +79 -0
  295. package/dist/content/authors.d.ts.map +1 -0
  296. package/dist/content/authors.js +106 -0
  297. package/dist/content/authors.js.map +1 -0
  298. package/dist/content/citation.d.ts +3 -0
  299. package/dist/content/citation.d.ts.map +1 -1
  300. package/dist/content/citation.js +3 -0
  301. package/dist/content/citation.js.map +1 -1
  302. package/dist/content/comments.d.ts +3 -0
  303. package/dist/content/comments.d.ts.map +1 -0
  304. package/dist/content/comments.js +3 -0
  305. package/dist/content/comments.js.map +1 -0
  306. package/dist/content/contact.d.ts +3 -0
  307. package/dist/content/contact.d.ts.map +1 -0
  308. package/dist/content/contact.js +3 -0
  309. package/dist/content/contact.js.map +1 -0
  310. package/dist/content/document-form.d.ts +195 -0
  311. package/dist/content/document-form.d.ts.map +1 -0
  312. package/dist/content/document-form.js +201 -0
  313. package/dist/content/document-form.js.map +1 -0
  314. package/dist/content/document-kind.d.ts +55 -0
  315. package/dist/content/document-kind.d.ts.map +1 -0
  316. package/dist/content/document-kind.js +30 -0
  317. package/dist/content/document-kind.js.map +1 -0
  318. package/dist/{admin/enclosure-field.d.ts → content/enclosure-form.d.ts} +14 -34
  319. package/dist/content/enclosure-form.d.ts.map +1 -0
  320. package/dist/{admin/enclosure-field.js → content/enclosure-form.js} +39 -76
  321. package/dist/content/enclosure-form.js.map +1 -0
  322. package/dist/content/enclosure.d.ts.map +1 -1
  323. package/dist/content/enclosure.js +3 -4
  324. package/dist/content/enclosure.js.map +1 -1
  325. package/dist/{admin/event-field.d.ts → content/event-form.d.ts} +6 -5
  326. package/dist/content/event-form.d.ts.map +1 -0
  327. package/dist/{admin/event-field.js → content/event-form.js} +45 -12
  328. package/dist/content/event-form.js.map +1 -0
  329. package/dist/content/excerpt.d.ts +25 -0
  330. package/dist/content/excerpt.d.ts.map +1 -0
  331. package/dist/content/excerpt.js +43 -0
  332. package/dist/content/excerpt.js.map +1 -0
  333. package/dist/content/form-error.d.ts +10 -0
  334. package/dist/content/form-error.d.ts.map +1 -0
  335. package/dist/content/form-error.js +2 -0
  336. package/dist/content/form-error.js.map +1 -0
  337. package/dist/{web → content}/guids.d.ts +14 -19
  338. package/dist/content/guids.d.ts.map +1 -0
  339. package/dist/{web → content}/guids.js +30 -19
  340. package/dist/content/guids.js.map +1 -0
  341. package/dist/content/image-tags.d.ts +25 -0
  342. package/dist/content/image-tags.d.ts.map +1 -0
  343. package/dist/content/image-tags.js +55 -0
  344. package/dist/content/image-tags.js.map +1 -0
  345. package/dist/content/index.d.ts +9 -4
  346. package/dist/content/index.d.ts.map +1 -1
  347. package/dist/content/index.js +5 -2
  348. package/dist/content/index.js.map +1 -1
  349. package/dist/content/language.d.ts +19 -0
  350. package/dist/content/language.d.ts.map +1 -0
  351. package/dist/content/language.js +19 -0
  352. package/dist/content/language.js.map +1 -0
  353. package/dist/content/license.d.ts.map +1 -0
  354. package/dist/content/license.js.map +1 -0
  355. package/dist/{web → content}/locale.d.ts +0 -6
  356. package/dist/content/locale.d.ts.map +1 -0
  357. package/dist/{web → content}/locale.js +1 -6
  358. package/dist/content/locale.js.map +1 -0
  359. package/dist/content/location-form.d.ts +17 -0
  360. package/dist/content/location-form.d.ts.map +1 -0
  361. package/dist/{admin/location-field.js → content/location-form.js} +2 -23
  362. package/dist/content/location-form.js.map +1 -0
  363. package/dist/content/location.d.ts.map +1 -1
  364. package/dist/content/location.js +1 -3
  365. package/dist/content/location.js.map +1 -1
  366. package/dist/content/markdown-links.d.ts +11 -0
  367. package/dist/content/markdown-links.d.ts.map +1 -0
  368. package/dist/content/markdown-links.js +223 -0
  369. package/dist/content/markdown-links.js.map +1 -0
  370. package/dist/content/markdown.d.ts +2 -1
  371. package/dist/content/markdown.d.ts.map +1 -1
  372. package/dist/content/markdown.js +1 -1
  373. package/dist/content/markdown.js.map +1 -1
  374. package/dist/content/migrated.js +1 -1
  375. package/dist/content/migrated.js.map +1 -1
  376. package/dist/content/parser.d.ts.map +1 -1
  377. package/dist/content/parser.js +1 -12
  378. package/dist/content/parser.js.map +1 -1
  379. package/dist/content/permalinks.d.ts +34 -0
  380. package/dist/content/permalinks.d.ts.map +1 -0
  381. package/dist/{web/documents.js → content/permalinks.js} +6 -56
  382. package/dist/content/permalinks.js.map +1 -0
  383. package/dist/content/photo-form.d.ts +28 -0
  384. package/dist/content/photo-form.d.ts.map +1 -0
  385. package/dist/{admin/photo-field.js → content/photo-form.js} +36 -36
  386. package/dist/content/photo-form.js.map +1 -0
  387. package/dist/content/photo.d.ts +1 -1
  388. package/dist/content/photo.d.ts.map +1 -1
  389. package/dist/content/photo.js +1 -1
  390. package/dist/content/photo.js.map +1 -1
  391. package/dist/content/post-fields.d.ts +40 -0
  392. package/dist/content/post-fields.d.ts.map +1 -0
  393. package/dist/content/post-fields.js +256 -0
  394. package/dist/content/post-fields.js.map +1 -0
  395. package/dist/{admin/read-field.d.ts → content/read-form.d.ts} +6 -4
  396. package/dist/content/read-form.d.ts.map +1 -0
  397. package/dist/content/read-form.js +99 -0
  398. package/dist/content/read-form.js.map +1 -0
  399. package/dist/content/read.d.ts.map +1 -1
  400. package/dist/content/read.js +7 -11
  401. package/dist/content/read.js.map +1 -1
  402. package/dist/content/redirects.d.ts +84 -0
  403. package/dist/content/redirects.d.ts.map +1 -0
  404. package/dist/content/redirects.js +234 -0
  405. package/dist/content/redirects.js.map +1 -0
  406. package/dist/content/sanitize.d.ts +13 -0
  407. package/dist/content/sanitize.d.ts.map +1 -0
  408. package/dist/{web → content}/sanitize.js +4 -71
  409. package/dist/content/sanitize.js.map +1 -0
  410. package/dist/content/save.d.ts +5 -8
  411. package/dist/content/save.d.ts.map +1 -1
  412. package/dist/content/save.js +5 -26
  413. package/dist/content/save.js.map +1 -1
  414. package/dist/content/schedule.d.ts +2 -2
  415. package/dist/content/schedule.d.ts.map +1 -1
  416. package/dist/content/schedule.js +1 -3
  417. package/dist/content/schedule.js.map +1 -1
  418. package/dist/content/served.d.ts +58 -0
  419. package/dist/content/served.d.ts.map +1 -0
  420. package/dist/content/served.js +65 -0
  421. package/dist/content/served.js.map +1 -0
  422. package/dist/content/site-links.d.ts +72 -0
  423. package/dist/content/site-links.d.ts.map +1 -0
  424. package/dist/content/site-links.js +191 -0
  425. package/dist/content/site-links.js.map +1 -0
  426. package/dist/content/sqlite/archive.d.ts +4 -0
  427. package/dist/content/sqlite/archive.d.ts.map +1 -0
  428. package/dist/content/sqlite/archive.js +96 -0
  429. package/dist/content/sqlite/archive.js.map +1 -0
  430. package/dist/content/sqlite/backlinks.d.ts +4 -0
  431. package/dist/content/sqlite/backlinks.d.ts.map +1 -0
  432. package/dist/content/sqlite/backlinks.js +46 -0
  433. package/dist/content/sqlite/backlinks.js.map +1 -0
  434. package/dist/content/sqlite/catalog.d.ts +4 -0
  435. package/dist/content/sqlite/catalog.d.ts.map +1 -0
  436. package/dist/content/sqlite/catalog.js +62 -0
  437. package/dist/content/sqlite/catalog.js.map +1 -0
  438. package/dist/content/sqlite/clauses.d.ts +57 -0
  439. package/dist/content/sqlite/clauses.d.ts.map +1 -0
  440. package/dist/content/sqlite/clauses.js +76 -0
  441. package/dist/content/sqlite/clauses.js.map +1 -0
  442. package/dist/content/sqlite/database.d.ts +26 -0
  443. package/dist/content/sqlite/database.d.ts.map +1 -0
  444. package/dist/content/sqlite/database.js +27 -0
  445. package/dist/content/sqlite/database.js.map +1 -0
  446. package/dist/content/sqlite/documents.d.ts +12 -0
  447. package/dist/content/sqlite/documents.d.ts.map +1 -0
  448. package/dist/content/sqlite/documents.js +40 -0
  449. package/dist/content/sqlite/documents.js.map +1 -0
  450. package/dist/content/sqlite/lookups.d.ts +6 -0
  451. package/dist/content/sqlite/lookups.d.ts.map +1 -0
  452. package/dist/content/sqlite/lookups.js +25 -0
  453. package/dist/content/sqlite/lookups.js.map +1 -0
  454. package/dist/content/sqlite/open.d.ts +8 -0
  455. package/dist/content/sqlite/open.d.ts.map +1 -0
  456. package/dist/content/sqlite/open.js +63 -0
  457. package/dist/content/sqlite/open.js.map +1 -0
  458. package/dist/content/sqlite/replies.d.ts +4 -0
  459. package/dist/content/sqlite/replies.d.ts.map +1 -0
  460. package/dist/content/sqlite/replies.js +21 -0
  461. package/dist/content/sqlite/replies.js.map +1 -0
  462. package/dist/content/sqlite/rows.d.ts +22 -0
  463. package/dist/content/sqlite/rows.d.ts.map +1 -0
  464. package/dist/content/sqlite/rows.js +93 -0
  465. package/dist/content/sqlite/rows.js.map +1 -0
  466. package/dist/content/sqlite/schedule.d.ts +4 -0
  467. package/dist/content/sqlite/schedule.d.ts.map +1 -0
  468. package/dist/content/sqlite/schedule.js +16 -0
  469. package/dist/content/sqlite/schedule.js.map +1 -0
  470. package/dist/content/sqlite/schema.d.ts +10 -0
  471. package/dist/content/sqlite/schema.d.ts.map +1 -0
  472. package/dist/content/sqlite/schema.js +209 -0
  473. package/dist/content/sqlite/schema.js.map +1 -0
  474. package/dist/content/sqlite/search.d.ts +4 -0
  475. package/dist/content/sqlite/search.d.ts.map +1 -0
  476. package/dist/content/sqlite/search.js +54 -0
  477. package/dist/content/sqlite/search.js.map +1 -0
  478. package/dist/content/sqlite/spellings.d.ts +6 -0
  479. package/dist/content/sqlite/spellings.d.ts.map +1 -0
  480. package/dist/content/sqlite/spellings.js +80 -0
  481. package/dist/content/sqlite/spellings.js.map +1 -0
  482. package/dist/content/sqlite/taxonomy.d.ts +4 -0
  483. package/dist/content/sqlite/taxonomy.d.ts.map +1 -0
  484. package/dist/content/sqlite/taxonomy.js +75 -0
  485. package/dist/content/sqlite/taxonomy.js.map +1 -0
  486. package/dist/content/sqlite/writes.d.ts +9 -0
  487. package/dist/content/sqlite/writes.d.ts.map +1 -0
  488. package/dist/content/sqlite/writes.js +164 -0
  489. package/dist/content/sqlite/writes.js.map +1 -0
  490. package/dist/content/store.d.ts +142 -137
  491. package/dist/content/store.d.ts.map +1 -1
  492. package/dist/content/store.js +0 -1050
  493. package/dist/content/store.js.map +1 -1
  494. package/dist/content/sync.d.ts +12 -4
  495. package/dist/content/sync.d.ts.map +1 -1
  496. package/dist/content/sync.js +24 -41
  497. package/dist/content/sync.js.map +1 -1
  498. package/dist/content/syndicate-to.d.ts +25 -0
  499. package/dist/content/syndicate-to.d.ts.map +1 -0
  500. package/dist/content/syndicate-to.js +8 -0
  501. package/dist/content/syndicate-to.js.map +1 -0
  502. package/dist/{web → content}/taxonomy.d.ts +1 -1
  503. package/dist/content/taxonomy.d.ts.map +1 -0
  504. package/dist/{web → content}/taxonomy.js +2 -2
  505. package/dist/content/taxonomy.js.map +1 -0
  506. package/dist/content/time.d.ts +2 -2
  507. package/dist/content/time.d.ts.map +1 -1
  508. package/dist/content/time.js +3 -3
  509. package/dist/content/time.js.map +1 -1
  510. package/dist/content/trash.d.ts +35 -0
  511. package/dist/content/trash.d.ts.map +1 -0
  512. package/dist/content/trash.js +83 -0
  513. package/dist/content/trash.js.map +1 -0
  514. package/dist/content/uploads.d.ts +24 -0
  515. package/dist/content/uploads.d.ts.map +1 -0
  516. package/dist/content/uploads.js +27 -0
  517. package/dist/content/uploads.js.map +1 -0
  518. package/dist/content/video.d.ts.map +1 -1
  519. package/dist/content/video.js +3 -5
  520. package/dist/content/video.js.map +1 -1
  521. package/dist/content/write.d.ts +84 -0
  522. package/dist/content/write.d.ts.map +1 -0
  523. package/dist/content/write.js +566 -0
  524. package/dist/content/write.js.map +1 -0
  525. package/dist/content/writer.d.ts.map +1 -1
  526. package/dist/content/writer.js +1 -2
  527. package/dist/content/writer.js.map +1 -1
  528. package/dist/dev-mode.d.ts +5 -3
  529. package/dist/dev-mode.d.ts.map +1 -1
  530. package/dist/dev-mode.js +3 -3
  531. package/dist/dev-mode.js.map +1 -1
  532. package/dist/drain.d.ts +2 -3
  533. package/dist/drain.d.ts.map +1 -1
  534. package/dist/drain.js +2 -1
  535. package/dist/drain.js.map +1 -1
  536. package/dist/exports.d.ts +26 -0
  537. package/dist/exports.d.ts.map +1 -0
  538. package/dist/exports.js +8 -0
  539. package/dist/exports.js.map +1 -0
  540. package/dist/federation/actor.d.ts +1 -1
  541. package/dist/federation/actor.d.ts.map +1 -1
  542. package/dist/federation/actor.js +6 -13
  543. package/dist/federation/actor.js.map +1 -1
  544. package/dist/federation/article.d.ts +4 -14
  545. package/dist/federation/article.d.ts.map +1 -1
  546. package/dist/federation/article.js +19 -32
  547. package/dist/federation/article.js.map +1 -1
  548. package/dist/federation/backfill.d.ts +4 -4
  549. package/dist/federation/backfill.d.ts.map +1 -1
  550. package/dist/federation/backfill.js +12 -13
  551. package/dist/federation/backfill.js.map +1 -1
  552. package/dist/federation/citations.d.ts.map +1 -1
  553. package/dist/federation/citations.js.map +1 -1
  554. package/dist/federation/cited-post.d.ts.map +1 -1
  555. package/dist/federation/cited-post.js +2 -4
  556. package/dist/federation/cited-post.js.map +1 -1
  557. package/dist/federation/delivery-plan.d.ts +85 -0
  558. package/dist/federation/delivery-plan.d.ts.map +1 -0
  559. package/dist/federation/delivery-plan.js +137 -0
  560. package/dist/federation/delivery-plan.js.map +1 -0
  561. package/dist/federation/delivery.d.ts +7 -32
  562. package/dist/federation/delivery.d.ts.map +1 -1
  563. package/dist/federation/delivery.js +64 -201
  564. package/dist/federation/delivery.js.map +1 -1
  565. package/dist/federation/federation.d.ts +5 -5
  566. package/dist/federation/federation.d.ts.map +1 -1
  567. package/dist/federation/federation.js +7 -6
  568. package/dist/federation/federation.js.map +1 -1
  569. package/dist/federation/followers.d.ts +1 -1
  570. package/dist/federation/followers.d.ts.map +1 -1
  571. package/dist/federation/inbox.d.ts +1 -1
  572. package/dist/federation/inbox.d.ts.map +1 -1
  573. package/dist/federation/inbox.js +5 -4
  574. package/dist/federation/inbox.js.map +1 -1
  575. package/dist/federation/index.d.ts +10 -8
  576. package/dist/federation/index.d.ts.map +1 -1
  577. package/dist/federation/index.js +7 -5
  578. package/dist/federation/index.js.map +1 -1
  579. package/dist/federation/keys.d.ts +8 -27
  580. package/dist/federation/keys.d.ts.map +1 -1
  581. package/dist/federation/keys.js +4 -47
  582. package/dist/federation/keys.js.map +1 -1
  583. package/dist/federation/mount.d.ts +2 -2
  584. package/dist/federation/mount.d.ts.map +1 -1
  585. package/dist/federation/mount.js +9 -7
  586. package/dist/federation/mount.js.map +1 -1
  587. package/dist/federation/paths.d.ts +1 -9
  588. package/dist/federation/paths.d.ts.map +1 -1
  589. package/dist/federation/paths.js +2 -12
  590. package/dist/federation/paths.js.map +1 -1
  591. package/dist/federation/profiles.d.ts +1 -1
  592. package/dist/federation/profiles.d.ts.map +1 -1
  593. package/dist/federation/profiles.js +5 -8
  594. package/dist/federation/profiles.js.map +1 -1
  595. package/dist/federation/quotes.d.ts +2 -2
  596. package/dist/federation/quotes.d.ts.map +1 -1
  597. package/dist/federation/quotes.js +4 -4
  598. package/dist/federation/quotes.js.map +1 -1
  599. package/dist/federation/records.d.ts +2 -2
  600. package/dist/federation/records.d.ts.map +1 -1
  601. package/dist/federation/records.js +12 -19
  602. package/dist/federation/records.js.map +1 -1
  603. package/dist/federation/relays.d.ts +2 -3
  604. package/dist/federation/relays.d.ts.map +1 -1
  605. package/dist/federation/relays.js +22 -30
  606. package/dist/federation/relays.js.map +1 -1
  607. package/dist/federation/site-loaders.js +1 -1
  608. package/dist/federation/site-loaders.js.map +1 -1
  609. package/dist/federation/webfinger.d.ts +23 -0
  610. package/dist/federation/webfinger.d.ts.map +1 -0
  611. package/dist/federation/webfinger.js +70 -0
  612. package/dist/federation/webfinger.js.map +1 -0
  613. package/dist/files/atomic.d.ts.map +1 -1
  614. package/dist/files/atomic.js +4 -9
  615. package/dist/files/atomic.js.map +1 -1
  616. package/dist/files/static-files.d.ts +21 -0
  617. package/dist/files/static-files.d.ts.map +1 -0
  618. package/dist/files/static-files.js +88 -0
  619. package/dist/files/static-files.js.map +1 -0
  620. package/dist/forms/checker.d.ts +93 -0
  621. package/dist/forms/checker.d.ts.map +1 -0
  622. package/dist/forms/checker.js +2 -0
  623. package/dist/forms/checker.js.map +1 -0
  624. package/dist/forms/protection.d.ts +3 -1
  625. package/dist/forms/protection.d.ts.map +1 -1
  626. package/dist/forms/protection.js +3 -1
  627. package/dist/forms/protection.js.map +1 -1
  628. package/dist/images/icons.js +2 -2
  629. package/dist/images/icons.js.map +1 -1
  630. package/dist/images/index.d.ts +2 -1
  631. package/dist/images/index.d.ts.map +1 -1
  632. package/dist/images/index.js +2 -1
  633. package/dist/images/index.js.map +1 -1
  634. package/dist/images/markup.d.ts +0 -20
  635. package/dist/images/markup.d.ts.map +1 -1
  636. package/dist/images/markup.js +5 -64
  637. package/dist/images/markup.js.map +1 -1
  638. package/dist/images/paths.d.ts +0 -10
  639. package/dist/images/paths.d.ts.map +1 -1
  640. package/dist/images/paths.js +3 -11
  641. package/dist/images/paths.js.map +1 -1
  642. package/dist/images/variants.d.ts +2 -2
  643. package/dist/images/variants.d.ts.map +1 -1
  644. package/dist/images/variants.js +4 -3
  645. package/dist/images/variants.js.map +1 -1
  646. package/dist/index.d.ts +3 -291
  647. package/dist/index.d.ts.map +1 -1
  648. package/dist/index.js +2 -838
  649. package/dist/index.js.map +1 -1
  650. package/dist/indexnow.d.ts.map +1 -1
  651. package/dist/indexnow.js +21 -26
  652. package/dist/indexnow.js.map +1 -1
  653. package/dist/indieauth/client.d.ts +1 -1
  654. package/dist/indieauth/client.d.ts.map +1 -1
  655. package/dist/indieauth/client.js +1 -1
  656. package/dist/indieauth/client.js.map +1 -1
  657. package/dist/indieauth/grants.d.ts +1 -1
  658. package/dist/indieauth/grants.d.ts.map +1 -1
  659. package/dist/indieauth/identity.d.ts +2 -2
  660. package/dist/indieauth/identity.d.ts.map +1 -1
  661. package/dist/indieauth/identity.js +5 -7
  662. package/dist/indieauth/identity.js.map +1 -1
  663. package/dist/indieauth/redeem.d.ts +1 -1
  664. package/dist/indieauth/redeem.d.ts.map +1 -1
  665. package/dist/indieauth/redeem.js.map +1 -1
  666. package/dist/indieauth/request.d.ts +5 -1
  667. package/dist/indieauth/request.d.ts.map +1 -1
  668. package/dist/indieauth/request.js +6 -2
  669. package/dist/indieauth/request.js.map +1 -1
  670. package/dist/indieauth/tokens.d.ts +1 -1
  671. package/dist/indieauth/tokens.d.ts.map +1 -1
  672. package/dist/indieauth/tokens.js +2 -2
  673. package/dist/indieauth/tokens.js.map +1 -1
  674. package/dist/mail/index.d.ts +1 -5
  675. package/dist/mail/index.d.ts.map +1 -1
  676. package/dist/mail/index.js +0 -2
  677. package/dist/mail/index.js.map +1 -1
  678. package/dist/mail/provider.d.ts +7 -0
  679. package/dist/mail/provider.d.ts.map +1 -1
  680. package/dist/maintenance.d.ts +1 -1
  681. package/dist/maintenance.d.ts.map +1 -1
  682. package/dist/media/library.d.ts +99 -0
  683. package/dist/media/library.d.ts.map +1 -0
  684. package/dist/media/library.js +157 -0
  685. package/dist/media/library.js.map +1 -0
  686. package/dist/media/uploads.d.ts +106 -0
  687. package/dist/media/uploads.d.ts.map +1 -0
  688. package/dist/media/uploads.js +192 -0
  689. package/dist/media/uploads.js.map +1 -0
  690. package/dist/micropub/content.js +1 -1
  691. package/dist/micropub/content.js.map +1 -1
  692. package/dist/micropub/create.d.ts +7 -15
  693. package/dist/micropub/create.d.ts.map +1 -1
  694. package/dist/micropub/create.js +48 -184
  695. package/dist/micropub/create.js.map +1 -1
  696. package/dist/micropub/endpoint.d.ts +2 -2
  697. package/dist/micropub/endpoint.d.ts.map +1 -1
  698. package/dist/micropub/endpoint.js +29 -40
  699. package/dist/micropub/endpoint.js.map +1 -1
  700. package/dist/micropub/media.d.ts +1 -1
  701. package/dist/micropub/media.d.ts.map +1 -1
  702. package/dist/micropub/media.js +6 -6
  703. package/dist/micropub/media.js.map +1 -1
  704. package/dist/micropub/update.d.ts +6 -14
  705. package/dist/micropub/update.d.ts.map +1 -1
  706. package/dist/micropub/update.js +37 -90
  707. package/dist/micropub/update.js.map +1 -1
  708. package/dist/notifications/comments.d.ts +4 -4
  709. package/dist/notifications/comments.d.ts.map +1 -1
  710. package/dist/notifications/comments.js +6 -14
  711. package/dist/notifications/comments.js.map +1 -1
  712. package/dist/notifications/digest.d.ts +4 -4
  713. package/dist/notifications/digest.d.ts.map +1 -1
  714. package/dist/notifications/digest.js +6 -16
  715. package/dist/notifications/digest.js.map +1 -1
  716. package/dist/notifications/index.d.ts +6 -3
  717. package/dist/notifications/index.d.ts.map +1 -1
  718. package/dist/notifications/index.js +3 -2
  719. package/dist/notifications/index.js.map +1 -1
  720. package/dist/notifications/links.d.ts.map +1 -1
  721. package/dist/notifications/links.js +2 -2
  722. package/dist/notifications/links.js.map +1 -1
  723. package/dist/{mail/service.d.ts → notifications/mail-service.d.ts} +7 -13
  724. package/dist/notifications/mail-service.d.ts.map +1 -0
  725. package/dist/{mail/service.js → notifications/mail-service.js} +33 -54
  726. package/dist/notifications/mail-service.js.map +1 -0
  727. package/dist/{mail/templates.d.ts → notifications/mail-templates.d.ts} +4 -2
  728. package/dist/notifications/mail-templates.d.ts.map +1 -0
  729. package/dist/{mail/templates.js → notifications/mail-templates.js} +5 -3
  730. package/dist/notifications/mail-templates.js.map +1 -0
  731. package/dist/notifications/tokens.d.ts +2 -2
  732. package/dist/notifications/tokens.d.ts.map +1 -1
  733. package/dist/notifications/tokens.js +2 -2
  734. package/dist/notifications/tokens.js.map +1 -1
  735. package/dist/notify.d.ts.map +1 -1
  736. package/dist/notify.js +12 -24
  737. package/dist/notify.js.map +1 -1
  738. package/dist/plugin.d.ts +48 -2
  739. package/dist/plugin.d.ts.map +1 -1
  740. package/dist/plugin.js +28 -2
  741. package/dist/plugin.js.map +1 -1
  742. package/dist/plugins/enabled.d.ts.map +1 -1
  743. package/dist/plugins/enabled.js +2 -4
  744. package/dist/plugins/enabled.js.map +1 -1
  745. package/dist/plugins/fetch.d.ts +1 -1
  746. package/dist/plugins/fetch.d.ts.map +1 -1
  747. package/dist/plugins/fetch.js +1 -1
  748. package/dist/plugins/fetch.js.map +1 -1
  749. package/dist/plugins/folder.d.ts.map +1 -1
  750. package/dist/plugins/folder.js +1 -3
  751. package/dist/plugins/folder.js.map +1 -1
  752. package/dist/plugins/install.d.ts.map +1 -1
  753. package/dist/plugins/install.js +7 -3
  754. package/dist/plugins/install.js.map +1 -1
  755. package/dist/plugins/manage.d.ts +1 -1
  756. package/dist/plugins/manage.d.ts.map +1 -1
  757. package/dist/plugins/registry.d.ts.map +1 -1
  758. package/dist/plugins/registry.js +7 -9
  759. package/dist/plugins/registry.js.map +1 -1
  760. package/dist/plugins/settings.d.ts.map +1 -1
  761. package/dist/plugins/settings.js +2 -3
  762. package/dist/plugins/settings.js.map +1 -1
  763. package/dist/plugins/site.d.ts +1 -1
  764. package/dist/plugins/site.d.ts.map +1 -1
  765. package/dist/plugins/site.js +10 -4
  766. package/dist/plugins/site.js.map +1 -1
  767. package/dist/plugins/upgrade.d.ts.map +1 -1
  768. package/dist/plugins/upgrade.js +4 -3
  769. package/dist/plugins/upgrade.js.map +1 -1
  770. package/dist/privacy/erase.d.ts +1 -1
  771. package/dist/privacy/erase.d.ts.map +1 -1
  772. package/dist/privacy/retention.d.ts +2 -2
  773. package/dist/privacy/retention.d.ts.map +1 -1
  774. package/dist/privacy/retention.js +9 -11
  775. package/dist/privacy/retention.js.map +1 -1
  776. package/dist/site/admin-paths.d.ts +23 -0
  777. package/dist/site/admin-paths.d.ts.map +1 -0
  778. package/dist/site/admin-paths.js +25 -0
  779. package/dist/site/admin-paths.js.map +1 -0
  780. package/dist/site/admin-theme.d.ts.map +1 -0
  781. package/dist/site/admin-theme.js.map +1 -0
  782. package/dist/{web → site}/authors.d.ts +1 -72
  783. package/dist/site/authors.d.ts.map +1 -0
  784. package/dist/site/authors.js +107 -0
  785. package/dist/site/authors.js.map +1 -0
  786. package/dist/site/feed-settings.d.ts +28 -0
  787. package/dist/site/feed-settings.d.ts.map +1 -0
  788. package/dist/site/feed-settings.js +22 -0
  789. package/dist/site/feed-settings.js.map +1 -0
  790. package/dist/{web/indexnow.d.ts → site/indexnow-key.d.ts} +1 -1
  791. package/dist/site/indexnow-key.d.ts.map +1 -0
  792. package/dist/{web/indexnow.js → site/indexnow-key.js} +1 -1
  793. package/dist/site/indexnow-key.js.map +1 -0
  794. package/dist/{web → site}/navigation.d.ts +7 -1
  795. package/dist/site/navigation.d.ts.map +1 -0
  796. package/dist/{web → site}/navigation.js +18 -0
  797. package/dist/site/navigation.js.map +1 -0
  798. package/dist/{notifications/preferences.d.ts → site/notification-preferences.d.ts} +2 -2
  799. package/dist/site/notification-preferences.d.ts.map +1 -0
  800. package/dist/{notifications/preferences.js → site/notification-preferences.js} +1 -1
  801. package/dist/site/notification-preferences.js.map +1 -0
  802. package/dist/site/passwords.d.ts.map +1 -0
  803. package/dist/site/passwords.js.map +1 -0
  804. package/dist/{privacy/policy.d.ts → site/retention-policy.d.ts} +1 -1
  805. package/dist/site/retention-policy.d.ts.map +1 -0
  806. package/dist/{privacy/policy.js → site/retention-policy.js} +1 -1
  807. package/dist/site/retention-policy.js.map +1 -0
  808. package/dist/site/robots.d.ts +62 -0
  809. package/dist/site/robots.d.ts.map +1 -0
  810. package/dist/site/robots.js +130 -0
  811. package/dist/site/robots.js.map +1 -0
  812. package/dist/site/setting-rows.d.ts +46 -0
  813. package/dist/site/setting-rows.d.ts.map +1 -0
  814. package/dist/site/setting-rows.js +480 -0
  815. package/dist/site/setting-rows.js.map +1 -0
  816. package/dist/site/setting-values.d.ts +63 -0
  817. package/dist/site/setting-values.d.ts.map +1 -0
  818. package/dist/site/setting-values.js +170 -0
  819. package/dist/site/setting-values.js.map +1 -0
  820. package/dist/site/settings-form.d.ts +30 -0
  821. package/dist/site/settings-form.d.ts.map +1 -0
  822. package/dist/site/settings-form.js +58 -0
  823. package/dist/site/settings-form.js.map +1 -0
  824. package/dist/site/settings.d.ts +345 -0
  825. package/dist/site/settings.d.ts.map +1 -0
  826. package/dist/site/settings.js +107 -0
  827. package/dist/site/settings.js.map +1 -0
  828. package/dist/site/site-json.d.ts +69 -0
  829. package/dist/site/site-json.d.ts.map +1 -0
  830. package/dist/site/site-json.js +113 -0
  831. package/dist/site/site-json.js.map +1 -0
  832. package/dist/{admin/accounts.d.ts → site/users.d.ts} +25 -41
  833. package/dist/site/users.d.ts.map +1 -0
  834. package/dist/{admin/accounts.js → site/users.js} +49 -155
  835. package/dist/site/users.js.map +1 -0
  836. package/dist/store/admin-store.d.ts +72 -0
  837. package/dist/store/admin-store.d.ts.map +1 -0
  838. package/dist/store/admin-store.js +62 -0
  839. package/dist/store/admin-store.js.map +1 -0
  840. package/dist/store/comments.d.ts +253 -0
  841. package/dist/store/comments.d.ts.map +1 -0
  842. package/dist/store/comments.js +234 -0
  843. package/dist/store/comments.js.map +1 -0
  844. package/dist/store/conversation.d.ts +28 -0
  845. package/dist/store/conversation.d.ts.map +1 -0
  846. package/dist/store/conversation.js +16 -0
  847. package/dist/store/conversation.js.map +1 -0
  848. package/dist/store/deliveries.d.ts +92 -0
  849. package/dist/store/deliveries.d.ts.map +1 -0
  850. package/dist/store/deliveries.js +88 -0
  851. package/dist/store/deliveries.js.map +1 -0
  852. package/dist/store/followers.d.ts +91 -0
  853. package/dist/store/followers.d.ts.map +1 -0
  854. package/dist/store/followers.js +79 -0
  855. package/dist/store/followers.js.map +1 -0
  856. package/dist/{federation/replies.d.ts → store/inbox-replies.d.ts} +2 -2
  857. package/dist/store/inbox-replies.d.ts.map +1 -0
  858. package/dist/{federation/replies.js → store/inbox-replies.js} +2 -4
  859. package/dist/store/inbox-replies.js.map +1 -0
  860. package/dist/store/inbox.d.ts +132 -0
  861. package/dist/store/inbox.d.ts.map +1 -0
  862. package/dist/store/inbox.js +157 -0
  863. package/dist/store/inbox.js.map +1 -0
  864. package/dist/store/profiles.d.ts +49 -0
  865. package/dist/store/profiles.d.ts.map +1 -0
  866. package/dist/store/profiles.js +71 -0
  867. package/dist/store/profiles.js.map +1 -0
  868. package/dist/store/relays.d.ts +66 -0
  869. package/dist/store/relays.d.ts.map +1 -0
  870. package/dist/store/relays.js +69 -0
  871. package/dist/store/relays.js.map +1 -0
  872. package/dist/store/rows.d.ts +33 -0
  873. package/dist/store/rows.d.ts.map +1 -0
  874. package/dist/store/rows.js +44 -0
  875. package/dist/store/rows.js.map +1 -0
  876. package/dist/store/schema.d.ts +14 -0
  877. package/dist/store/schema.d.ts.map +1 -0
  878. package/dist/store/schema.js +588 -0
  879. package/dist/store/schema.js.map +1 -0
  880. package/dist/store/sessions.d.ts +90 -0
  881. package/dist/store/sessions.d.ts.map +1 -0
  882. package/dist/store/sessions.js +107 -0
  883. package/dist/store/sessions.js.map +1 -0
  884. package/dist/store/state.d.ts +18 -0
  885. package/dist/store/state.d.ts.map +1 -0
  886. package/dist/store/state.js +19 -0
  887. package/dist/store/state.js.map +1 -0
  888. package/dist/store/tokens.d.ts +75 -0
  889. package/dist/store/tokens.d.ts.map +1 -0
  890. package/dist/store/tokens.js +82 -0
  891. package/dist/store/tokens.js.map +1 -0
  892. package/dist/store/webmentions.d.ts +66 -0
  893. package/dist/store/webmentions.d.ts.map +1 -0
  894. package/dist/store/webmentions.js +84 -0
  895. package/dist/store/webmentions.js.map +1 -0
  896. package/dist/supervisor/primary.d.ts +1 -1
  897. package/dist/supervisor/primary.d.ts.map +1 -1
  898. package/dist/supervisor/primary.js +31 -11
  899. package/dist/supervisor/primary.js.map +1 -1
  900. package/dist/supervisor/worker.d.ts +6 -2
  901. package/dist/supervisor/worker.d.ts.map +1 -1
  902. package/dist/supervisor/worker.js +4 -4
  903. package/dist/supervisor/worker.js.map +1 -1
  904. package/dist/testing.d.ts +8 -0
  905. package/dist/testing.d.ts.map +1 -0
  906. package/dist/testing.js +6 -0
  907. package/dist/testing.js.map +1 -0
  908. package/dist/{web → theme}/assets.d.ts +1 -32
  909. package/dist/theme/assets.d.ts.map +1 -0
  910. package/dist/{web → theme}/assets.js +2 -100
  911. package/dist/theme/assets.js.map +1 -0
  912. package/dist/theme/site-data.d.ts +187 -0
  913. package/dist/theme/site-data.d.ts.map +1 -0
  914. package/dist/theme/site-data.js +160 -0
  915. package/dist/theme/site-data.js.map +1 -0
  916. package/dist/{web → theme}/templates.d.ts +2 -0
  917. package/dist/theme/templates.d.ts.map +1 -0
  918. package/dist/{web → theme}/templates.js +9 -32
  919. package/dist/theme/templates.js.map +1 -0
  920. package/dist/{web → theme}/themes.d.ts +1 -0
  921. package/dist/theme/themes.d.ts.map +1 -0
  922. package/dist/{web → theme}/themes.js +6 -3
  923. package/dist/theme/themes.js.map +1 -0
  924. package/dist/util/client-id.d.ts.map +1 -0
  925. package/dist/util/client-id.js.map +1 -0
  926. package/dist/util/clock.d.ts +9 -0
  927. package/dist/util/clock.d.ts.map +1 -0
  928. package/dist/util/clock.js +2 -0
  929. package/dist/util/clock.js.map +1 -0
  930. package/dist/util/errors.d.ts +3 -0
  931. package/dist/util/errors.d.ts.map +1 -0
  932. package/dist/util/errors.js +5 -0
  933. package/dist/util/errors.js.map +1 -0
  934. package/dist/util/files.d.ts +5 -0
  935. package/dist/util/files.d.ts.map +1 -0
  936. package/dist/util/files.js +38 -0
  937. package/dist/util/files.js.map +1 -0
  938. package/dist/util/forms.d.ts +5 -0
  939. package/dist/util/forms.d.ts.map +1 -0
  940. package/dist/util/forms.js +17 -0
  941. package/dist/util/forms.js.map +1 -0
  942. package/dist/util/guards.d.ts +4 -0
  943. package/dist/util/guards.d.ts.map +1 -0
  944. package/dist/util/guards.js +12 -0
  945. package/dist/util/guards.js.map +1 -0
  946. package/dist/{webmention/html.d.ts → util/html-tree.d.ts} +2 -2
  947. package/dist/util/html-tree.d.ts.map +1 -0
  948. package/dist/{webmention/html.js → util/html-tree.js} +3 -64
  949. package/dist/util/html-tree.js.map +1 -0
  950. package/dist/util/html.d.ts +4 -0
  951. package/dist/util/html.d.ts.map +1 -0
  952. package/dist/util/html.js +34 -0
  953. package/dist/util/html.js.map +1 -0
  954. package/dist/util/public-address.d.ts.map +1 -0
  955. package/dist/util/public-address.js.map +1 -0
  956. package/dist/util/queue.d.ts +7 -0
  957. package/dist/util/queue.d.ts.map +1 -0
  958. package/dist/util/queue.js +23 -0
  959. package/dist/util/queue.js.map +1 -0
  960. package/dist/util/retry.d.ts +11 -0
  961. package/dist/util/retry.d.ts.map +1 -0
  962. package/dist/util/retry.js +14 -0
  963. package/dist/util/retry.js.map +1 -0
  964. package/dist/util/url.d.ts +11 -0
  965. package/dist/util/url.d.ts.map +1 -0
  966. package/dist/util/url.js +20 -0
  967. package/dist/util/url.js.map +1 -0
  968. package/dist/web/absolute-urls.js +1 -1
  969. package/dist/web/absolute-urls.js.map +1 -1
  970. package/dist/web/archive.js +2 -2
  971. package/dist/web/archive.js.map +1 -1
  972. package/dist/web/asset-routes.d.ts +48 -0
  973. package/dist/web/asset-routes.d.ts.map +1 -0
  974. package/dist/web/asset-routes.js +107 -0
  975. package/dist/web/asset-routes.js.map +1 -0
  976. package/dist/{avatars/routes.d.ts → web/avatar-routes.d.ts} +2 -2
  977. package/dist/web/avatar-routes.d.ts.map +1 -0
  978. package/dist/{avatars/routes.js → web/avatar-routes.js} +3 -3
  979. package/dist/web/avatar-routes.js.map +1 -0
  980. package/dist/web/comment-routes.d.ts +18 -0
  981. package/dist/web/comment-routes.d.ts.map +1 -0
  982. package/dist/web/comment-routes.js +177 -0
  983. package/dist/web/comment-routes.js.map +1 -0
  984. package/dist/web/compression.d.ts.map +1 -1
  985. package/dist/web/compression.js +1 -2
  986. package/dist/web/compression.js.map +1 -1
  987. package/dist/{contact/routes.d.ts → web/contact-routes.d.ts} +2 -2
  988. package/dist/web/contact-routes.d.ts.map +1 -0
  989. package/dist/{contact/routes.js → web/contact-routes.js} +14 -17
  990. package/dist/web/contact-routes.js.map +1 -0
  991. package/dist/web/context.d.ts +1 -187
  992. package/dist/web/context.d.ts.map +1 -1
  993. package/dist/web/context.js +5 -171
  994. package/dist/web/context.js.map +1 -1
  995. package/dist/web/conversation.d.ts +6 -333
  996. package/dist/web/conversation.d.ts.map +1 -1
  997. package/dist/web/conversation.js +280 -220
  998. package/dist/web/conversation.js.map +1 -1
  999. package/dist/web/document-page.d.ts +13 -0
  1000. package/dist/web/document-page.d.ts.map +1 -0
  1001. package/dist/web/document-page.js +136 -0
  1002. package/dist/web/document-page.js.map +1 -0
  1003. package/dist/web/document-site.d.ts +14 -0
  1004. package/dist/web/document-site.d.ts.map +1 -0
  1005. package/dist/web/document-site.js +28 -0
  1006. package/dist/web/document-site.js.map +1 -0
  1007. package/dist/web/embed.d.ts +13 -0
  1008. package/dist/web/embed.d.ts.map +1 -0
  1009. package/dist/web/embed.js +66 -0
  1010. package/dist/web/embed.js.map +1 -0
  1011. package/dist/{env.d.ts → web/env.d.ts} +27 -26
  1012. package/dist/web/env.d.ts.map +1 -0
  1013. package/dist/web/env.js.map +1 -0
  1014. package/dist/web/federation-routes.d.ts +33 -0
  1015. package/dist/web/federation-routes.d.ts.map +1 -0
  1016. package/dist/web/federation-routes.js +280 -0
  1017. package/dist/web/federation-routes.js.map +1 -0
  1018. package/dist/web/feed-atom.d.ts.map +1 -1
  1019. package/dist/web/feed-atom.js +4 -3
  1020. package/dist/web/feed-atom.js.map +1 -1
  1021. package/dist/web/feed-item.d.ts +4 -39
  1022. package/dist/web/feed-item.d.ts.map +1 -1
  1023. package/dist/web/feed-item.js +8 -72
  1024. package/dist/web/feed-item.js.map +1 -1
  1025. package/dist/web/feed-json.js +2 -2
  1026. package/dist/web/feed-json.js.map +1 -1
  1027. package/dist/web/feed-routes.d.ts +36 -0
  1028. package/dist/web/feed-routes.d.ts.map +1 -0
  1029. package/dist/web/feed-routes.js +124 -0
  1030. package/dist/web/feed-routes.js.map +1 -0
  1031. package/dist/web/feed-rss.d.ts.map +1 -1
  1032. package/dist/web/feed-rss.js +9 -6
  1033. package/dist/web/feed-rss.js.map +1 -1
  1034. package/dist/web/feed-source.d.ts +13 -40
  1035. package/dist/web/feed-source.d.ts.map +1 -1
  1036. package/dist/web/feed-source.js +14 -43
  1037. package/dist/web/feed-source.js.map +1 -1
  1038. package/dist/web/feeds.d.ts +4 -2
  1039. package/dist/web/feeds.d.ts.map +1 -1
  1040. package/dist/web/feeds.js +8 -5
  1041. package/dist/web/feeds.js.map +1 -1
  1042. package/dist/web/health.d.ts +1 -1
  1043. package/dist/web/health.d.ts.map +1 -1
  1044. package/dist/web/index.d.ts +53 -29
  1045. package/dist/web/index.d.ts.map +1 -1
  1046. package/dist/web/index.js +37 -18
  1047. package/dist/web/index.js.map +1 -1
  1048. package/dist/{indieauth/activity-log.d.ts → web/indieauth-activity-log.d.ts} +3 -3
  1049. package/dist/web/indieauth-activity-log.d.ts.map +1 -0
  1050. package/dist/{indieauth/activity-log.js → web/indieauth-activity-log.js} +5 -6
  1051. package/dist/web/indieauth-activity-log.js.map +1 -0
  1052. package/dist/{indieauth/bearer.d.ts → web/indieauth-bearer.d.ts} +5 -5
  1053. package/dist/web/indieauth-bearer.d.ts.map +1 -0
  1054. package/dist/{indieauth/bearer.js → web/indieauth-bearer.js} +4 -4
  1055. package/dist/web/indieauth-bearer.js.map +1 -0
  1056. package/dist/{indieauth/discovery.d.ts → web/indieauth-discovery.d.ts} +2 -7
  1057. package/dist/web/indieauth-discovery.d.ts.map +1 -0
  1058. package/dist/{indieauth/discovery.js → web/indieauth-discovery.js} +6 -9
  1059. package/dist/web/indieauth-discovery.js.map +1 -0
  1060. package/dist/{indieauth/token.d.ts → web/indieauth-token.d.ts} +2 -2
  1061. package/dist/web/indieauth-token.d.ts.map +1 -0
  1062. package/dist/{indieauth/token.js → web/indieauth-token.js} +7 -7
  1063. package/dist/web/indieauth-token.js.map +1 -0
  1064. package/dist/web/listing-pages.d.ts +19 -0
  1065. package/dist/web/listing-pages.d.ts.map +1 -0
  1066. package/dist/web/listing-pages.js +148 -0
  1067. package/dist/web/listing-pages.js.map +1 -0
  1068. package/dist/web/listing-subject.d.ts +58 -0
  1069. package/dist/web/listing-subject.d.ts.map +1 -0
  1070. package/dist/web/listing-subject.js +89 -0
  1071. package/dist/web/listing-subject.js.map +1 -0
  1072. package/dist/web/llms.d.ts +16 -15
  1073. package/dist/web/llms.d.ts.map +1 -1
  1074. package/dist/web/llms.js +23 -35
  1075. package/dist/web/llms.js.map +1 -1
  1076. package/dist/web/maintenance.d.ts +1 -1
  1077. package/dist/web/maintenance.d.ts.map +1 -1
  1078. package/dist/web/maintenance.js +7 -13
  1079. package/dist/web/maintenance.js.map +1 -1
  1080. package/dist/web/manifest.d.ts +1 -1
  1081. package/dist/web/manifest.d.ts.map +1 -1
  1082. package/dist/web/manifest.js +2 -1
  1083. package/dist/web/manifest.js.map +1 -1
  1084. package/dist/web/markdown-page.d.ts +76 -0
  1085. package/dist/web/markdown-page.d.ts.map +1 -0
  1086. package/dist/web/markdown-page.js +79 -0
  1087. package/dist/web/markdown-page.js.map +1 -0
  1088. package/dist/web/markdown-representation.d.ts +15 -0
  1089. package/dist/web/markdown-representation.d.ts.map +1 -0
  1090. package/dist/web/markdown-representation.js +130 -0
  1091. package/dist/web/markdown-representation.js.map +1 -0
  1092. package/dist/web/negotiate.d.ts +5 -12
  1093. package/dist/web/negotiate.d.ts.map +1 -1
  1094. package/dist/web/negotiate.js +11 -18
  1095. package/dist/web/negotiate.js.map +1 -1
  1096. package/dist/{notifications/routes.d.ts → web/notification-routes.d.ts} +2 -2
  1097. package/dist/web/notification-routes.d.ts.map +1 -0
  1098. package/dist/{notifications/routes.js → web/notification-routes.js} +24 -29
  1099. package/dist/web/notification-routes.js.map +1 -0
  1100. package/dist/web/oembed.d.ts +2 -2
  1101. package/dist/web/oembed.d.ts.map +1 -1
  1102. package/dist/web/oembed.js +5 -4
  1103. package/dist/web/oembed.js.map +1 -1
  1104. package/dist/web/opensearch.d.ts.map +1 -1
  1105. package/dist/web/opensearch.js +2 -1
  1106. package/dist/web/opensearch.js.map +1 -1
  1107. package/dist/web/page-sources.d.ts +15 -0
  1108. package/dist/web/page-sources.d.ts.map +1 -0
  1109. package/dist/web/page-sources.js +44 -0
  1110. package/dist/web/page-sources.js.map +1 -0
  1111. package/dist/web/pagination.d.ts +1 -0
  1112. package/dist/web/pagination.d.ts.map +1 -1
  1113. package/dist/web/pagination.js +4 -1
  1114. package/dist/web/pagination.js.map +1 -1
  1115. package/dist/web/paths.d.ts +52 -0
  1116. package/dist/web/paths.d.ts.map +1 -0
  1117. package/dist/web/paths.js +208 -0
  1118. package/dist/web/paths.js.map +1 -0
  1119. package/dist/web/pingback-routes.d.ts +5 -0
  1120. package/dist/web/pingback-routes.d.ts.map +1 -0
  1121. package/dist/web/pingback-routes.js +100 -0
  1122. package/dist/web/pingback-routes.js.map +1 -0
  1123. package/dist/{plugins/federation.d.ts → web/plugin-federation.d.ts} +3 -3
  1124. package/dist/web/plugin-federation.d.ts.map +1 -0
  1125. package/dist/{plugins/federation.js → web/plugin-federation.js} +5 -5
  1126. package/dist/web/plugin-federation.js.map +1 -0
  1127. package/dist/{plugins/mount.d.ts → web/plugin-routes.d.ts} +3 -3
  1128. package/dist/web/plugin-routes.d.ts.map +1 -0
  1129. package/dist/{plugins/mount.js → web/plugin-routes.js} +2 -2
  1130. package/dist/web/plugin-routes.js.map +1 -0
  1131. package/dist/web/redirects.d.ts +1 -84
  1132. package/dist/web/redirects.d.ts.map +1 -1
  1133. package/dist/web/redirects.js +0 -232
  1134. package/dist/web/redirects.js.map +1 -1
  1135. package/dist/web/render.d.ts +43 -7
  1136. package/dist/web/render.d.ts.map +1 -1
  1137. package/dist/web/render.js +96 -48
  1138. package/dist/web/render.js.map +1 -1
  1139. package/dist/web/request.d.ts +44 -0
  1140. package/dist/web/request.d.ts.map +1 -0
  1141. package/dist/web/request.js +82 -0
  1142. package/dist/web/request.js.map +1 -0
  1143. package/dist/web/robots.d.ts +1 -46
  1144. package/dist/web/robots.d.ts.map +1 -1
  1145. package/dist/web/robots.js +5 -131
  1146. package/dist/web/robots.js.map +1 -1
  1147. package/dist/web/routes.d.ts +5 -39
  1148. package/dist/web/routes.d.ts.map +1 -1
  1149. package/dist/web/routes.js +112 -1373
  1150. package/dist/web/routes.js.map +1 -1
  1151. package/dist/web/search.d.ts.map +1 -1
  1152. package/dist/web/search.js +2 -9
  1153. package/dist/web/search.js.map +1 -1
  1154. package/dist/{admin → web}/session.d.ts +1 -5
  1155. package/dist/web/session.d.ts.map +1 -0
  1156. package/dist/{admin → web}/session.js +0 -4
  1157. package/dist/web/session.js.map +1 -0
  1158. package/dist/web/share-image.d.ts.map +1 -1
  1159. package/dist/web/share-image.js +3 -2
  1160. package/dist/web/share-image.js.map +1 -1
  1161. package/dist/web/signed-in.d.ts +27 -0
  1162. package/dist/web/signed-in.d.ts.map +1 -0
  1163. package/dist/web/signed-in.js +45 -0
  1164. package/dist/web/signed-in.js.map +1 -0
  1165. package/dist/web/site-index.d.ts +13 -0
  1166. package/dist/web/site-index.d.ts.map +1 -0
  1167. package/dist/web/site-index.js +143 -0
  1168. package/dist/web/site-index.js.map +1 -0
  1169. package/dist/web/site-view.d.ts +45 -0
  1170. package/dist/web/site-view.d.ts.map +1 -0
  1171. package/dist/web/site-view.js +67 -0
  1172. package/dist/web/site-view.js.map +1 -0
  1173. package/dist/web/sitemap.d.ts.map +1 -1
  1174. package/dist/web/sitemap.js +5 -7
  1175. package/dist/web/sitemap.js.map +1 -1
  1176. package/dist/{admin → web}/throttle.d.ts +3 -4
  1177. package/dist/web/throttle.d.ts.map +1 -0
  1178. package/dist/{admin → web}/throttle.js +1 -2
  1179. package/dist/web/throttle.js.map +1 -0
  1180. package/dist/web/webmention-routes.d.ts +11 -0
  1181. package/dist/web/webmention-routes.d.ts.map +1 -0
  1182. package/dist/web/webmention-routes.js +51 -0
  1183. package/dist/web/webmention-routes.js.map +1 -0
  1184. package/dist/web/well-known.d.ts +2 -2
  1185. package/dist/web/well-known.d.ts.map +1 -1
  1186. package/dist/web/well-known.js +5 -14
  1187. package/dist/web/well-known.js.map +1 -1
  1188. package/dist/webmention/cited-picture.d.ts +1 -2
  1189. package/dist/webmention/cited-picture.d.ts.map +1 -1
  1190. package/dist/webmention/cited-picture.js +4 -6
  1191. package/dist/webmention/cited-picture.js.map +1 -1
  1192. package/dist/webmention/discovery.d.ts +2 -13
  1193. package/dist/webmention/discovery.d.ts.map +1 -1
  1194. package/dist/webmention/discovery.js +18 -73
  1195. package/dist/webmention/discovery.js.map +1 -1
  1196. package/dist/webmention/endpoint.d.ts +27 -0
  1197. package/dist/webmention/endpoint.d.ts.map +1 -0
  1198. package/dist/webmention/endpoint.js +26 -0
  1199. package/dist/webmention/endpoint.js.map +1 -0
  1200. package/dist/webmention/fetch-public.d.ts +18 -1
  1201. package/dist/webmention/fetch-public.d.ts.map +1 -1
  1202. package/dist/webmention/fetch-public.js +57 -23
  1203. package/dist/webmention/fetch-public.js.map +1 -1
  1204. package/dist/webmention/index.d.ts +11 -9
  1205. package/dist/webmention/index.d.ts.map +1 -1
  1206. package/dist/webmention/index.js +7 -6
  1207. package/dist/webmention/index.js.map +1 -1
  1208. package/dist/webmention/links.d.ts +0 -55
  1209. package/dist/webmention/links.d.ts.map +1 -1
  1210. package/dist/webmention/links.js +2 -185
  1211. package/dist/webmention/links.js.map +1 -1
  1212. package/dist/webmention/microformats.d.ts +1 -1
  1213. package/dist/webmention/microformats.d.ts.map +1 -1
  1214. package/dist/webmention/microformats.js +1 -1
  1215. package/dist/webmention/microformats.js.map +1 -1
  1216. package/dist/webmention/pingback.d.ts +12 -4
  1217. package/dist/webmention/pingback.d.ts.map +1 -1
  1218. package/dist/webmention/pingback.js +4 -102
  1219. package/dist/webmention/pingback.js.map +1 -1
  1220. package/dist/webmention/receive.d.ts +7 -4
  1221. package/dist/webmention/receive.d.ts.map +1 -1
  1222. package/dist/webmention/receive.js +34 -42
  1223. package/dist/webmention/receive.js.map +1 -1
  1224. package/dist/webmention/reply-context/fediverse.d.ts +29 -0
  1225. package/dist/webmention/reply-context/fediverse.d.ts.map +1 -0
  1226. package/dist/webmention/reply-context/fediverse.js +59 -0
  1227. package/dist/webmention/reply-context/fediverse.js.map +1 -0
  1228. package/dist/webmention/reply-context/json-ld.d.ts +5 -0
  1229. package/dist/webmention/reply-context/json-ld.d.ts.map +1 -0
  1230. package/dist/webmention/reply-context/json-ld.js +78 -0
  1231. package/dist/webmention/reply-context/json-ld.js.map +1 -0
  1232. package/dist/webmention/reply-context/oembed.d.ts +21 -0
  1233. package/dist/webmention/reply-context/oembed.d.ts.map +1 -0
  1234. package/dist/webmention/reply-context/oembed.js +137 -0
  1235. package/dist/webmention/reply-context/oembed.js.map +1 -0
  1236. package/dist/webmention/reply-context/page.d.ts +30 -0
  1237. package/dist/webmention/reply-context/page.d.ts.map +1 -0
  1238. package/dist/webmention/reply-context/page.js +134 -0
  1239. package/dist/webmention/reply-context/page.js.map +1 -0
  1240. package/dist/webmention/reply-context/source.d.ts +29 -0
  1241. package/dist/webmention/reply-context/source.d.ts.map +1 -0
  1242. package/dist/webmention/reply-context/source.js +46 -0
  1243. package/dist/webmention/reply-context/source.js.map +1 -0
  1244. package/dist/webmention/reply-context.d.ts +5 -34
  1245. package/dist/webmention/reply-context.d.ts.map +1 -1
  1246. package/dist/webmention/reply-context.js +9 -432
  1247. package/dist/webmention/reply-context.js.map +1 -1
  1248. package/dist/webmention/reply-contexts.d.ts +3 -3
  1249. package/dist/webmention/reply-contexts.d.ts.map +1 -1
  1250. package/dist/webmention/reply-contexts.js +7 -10
  1251. package/dist/webmention/reply-contexts.js.map +1 -1
  1252. package/dist/webmention/routes.d.ts +1 -1
  1253. package/dist/webmention/routes.d.ts.map +1 -1
  1254. package/dist/webmention/routes.js +5 -8
  1255. package/dist/webmention/routes.js.map +1 -1
  1256. package/dist/webmention/service.d.ts +7 -7
  1257. package/dist/webmention/service.d.ts.map +1 -1
  1258. package/dist/webmention/service.js +49 -61
  1259. package/dist/webmention/service.js.map +1 -1
  1260. package/dist/webmention/syndication.d.ts +3 -26
  1261. package/dist/webmention/syndication.d.ts.map +1 -1
  1262. package/dist/webmention/syndication.js +6 -20
  1263. package/dist/webmention/syndication.js.map +1 -1
  1264. package/package.json +5 -1
  1265. package/themes/default/README.md +36 -2329
  1266. package/themes/default/layouts/base.njk +5 -4
  1267. package/themes/default/layouts/comment.njk +3 -3
  1268. package/themes/default/layouts/front-page.njk +4 -3
  1269. package/themes/default/layouts/page.njk +2 -0
  1270. package/themes/default/partials/comment-form.njk +1 -1
  1271. package/themes/default/partials/comment.njk +5 -5
  1272. package/themes/default/partials/contact-form.njk +1 -2
  1273. package/themes/default/partials/conversation.njk +1 -2
  1274. package/themes/default/partials/markdown-footer.md.njk +24 -0
  1275. package/themes/default/partials/markdown-header.md.njk +31 -0
  1276. package/themes/default/src/style.css +6 -6
  1277. package/dist/admin/accounts.d.ts.map +0 -1
  1278. package/dist/admin/accounts.js.map +0 -1
  1279. package/dist/admin/admin-theme.d.ts.map +0 -1
  1280. package/dist/admin/admin-theme.js.map +0 -1
  1281. package/dist/admin/enclosure-field.d.ts.map +0 -1
  1282. package/dist/admin/enclosure-field.js.map +0 -1
  1283. package/dist/admin/event-field.d.ts.map +0 -1
  1284. package/dist/admin/event-field.js.map +0 -1
  1285. package/dist/admin/location-field.d.ts +0 -27
  1286. package/dist/admin/location-field.d.ts.map +0 -1
  1287. package/dist/admin/location-field.js.map +0 -1
  1288. package/dist/admin/passwords.d.ts.map +0 -1
  1289. package/dist/admin/passwords.js.map +0 -1
  1290. package/dist/admin/photo-field.d.ts +0 -38
  1291. package/dist/admin/photo-field.d.ts.map +0 -1
  1292. package/dist/admin/photo-field.js.map +0 -1
  1293. package/dist/admin/read-field.d.ts.map +0 -1
  1294. package/dist/admin/read-field.js +0 -61
  1295. package/dist/admin/read-field.js.map +0 -1
  1296. package/dist/admin/session.d.ts.map +0 -1
  1297. package/dist/admin/session.js.map +0 -1
  1298. package/dist/admin/store.d.ts +0 -998
  1299. package/dist/admin/store.d.ts.map +0 -1
  1300. package/dist/admin/store.js +0 -1588
  1301. package/dist/admin/store.js.map +0 -1
  1302. package/dist/admin/throttle.d.ts.map +0 -1
  1303. package/dist/admin/throttle.js.map +0 -1
  1304. package/dist/avatars/routes.d.ts.map +0 -1
  1305. package/dist/avatars/routes.js.map +0 -1
  1306. package/dist/contact/routes.d.ts.map +0 -1
  1307. package/dist/contact/routes.js.map +0 -1
  1308. package/dist/env.d.ts.map +0 -1
  1309. package/dist/env.js.map +0 -1
  1310. package/dist/federation/replies.d.ts.map +0 -1
  1311. package/dist/federation/replies.js.map +0 -1
  1312. package/dist/images/alt-text.d.ts.map +0 -1
  1313. package/dist/images/alt-text.js.map +0 -1
  1314. package/dist/indieauth/activity-log.d.ts.map +0 -1
  1315. package/dist/indieauth/activity-log.js.map +0 -1
  1316. package/dist/indieauth/app-activity.d.ts.map +0 -1
  1317. package/dist/indieauth/app-activity.js.map +0 -1
  1318. package/dist/indieauth/bearer.d.ts.map +0 -1
  1319. package/dist/indieauth/bearer.js.map +0 -1
  1320. package/dist/indieauth/client-id.d.ts.map +0 -1
  1321. package/dist/indieauth/client-id.js.map +0 -1
  1322. package/dist/indieauth/connected-apps.d.ts.map +0 -1
  1323. package/dist/indieauth/connected-apps.js.map +0 -1
  1324. package/dist/indieauth/consent.d.ts.map +0 -1
  1325. package/dist/indieauth/consent.js.map +0 -1
  1326. package/dist/indieauth/discovery.d.ts.map +0 -1
  1327. package/dist/indieauth/discovery.js.map +0 -1
  1328. package/dist/indieauth/token.d.ts.map +0 -1
  1329. package/dist/indieauth/token.js.map +0 -1
  1330. package/dist/mail/service.d.ts.map +0 -1
  1331. package/dist/mail/service.js.map +0 -1
  1332. package/dist/mail/templates.d.ts.map +0 -1
  1333. package/dist/mail/templates.js.map +0 -1
  1334. package/dist/notifications/preferences.d.ts.map +0 -1
  1335. package/dist/notifications/preferences.js.map +0 -1
  1336. package/dist/notifications/routes.d.ts.map +0 -1
  1337. package/dist/notifications/routes.js.map +0 -1
  1338. package/dist/plugins/federation.d.ts.map +0 -1
  1339. package/dist/plugins/federation.js.map +0 -1
  1340. package/dist/plugins/mount.d.ts.map +0 -1
  1341. package/dist/plugins/mount.js.map +0 -1
  1342. package/dist/privacy/policy.d.ts.map +0 -1
  1343. package/dist/privacy/policy.js.map +0 -1
  1344. package/dist/web/admin-bar.d.ts.map +0 -1
  1345. package/dist/web/admin-bar.js.map +0 -1
  1346. package/dist/web/assets.d.ts.map +0 -1
  1347. package/dist/web/assets.js.map +0 -1
  1348. package/dist/web/authors.d.ts.map +0 -1
  1349. package/dist/web/authors.js +0 -211
  1350. package/dist/web/authors.js.map +0 -1
  1351. package/dist/web/documents.d.ts +0 -81
  1352. package/dist/web/documents.d.ts.map +0 -1
  1353. package/dist/web/documents.js.map +0 -1
  1354. package/dist/web/errors.d.ts.map +0 -1
  1355. package/dist/web/errors.js.map +0 -1
  1356. package/dist/web/guids.d.ts.map +0 -1
  1357. package/dist/web/guids.js.map +0 -1
  1358. package/dist/web/indexnow.d.ts.map +0 -1
  1359. package/dist/web/indexnow.js.map +0 -1
  1360. package/dist/web/license.d.ts.map +0 -1
  1361. package/dist/web/license.js.map +0 -1
  1362. package/dist/web/locale.d.ts.map +0 -1
  1363. package/dist/web/locale.js.map +0 -1
  1364. package/dist/web/navigation.d.ts.map +0 -1
  1365. package/dist/web/navigation.js.map +0 -1
  1366. package/dist/web/recent.d.ts +0 -43
  1367. package/dist/web/recent.d.ts.map +0 -1
  1368. package/dist/web/recent.js +0 -37
  1369. package/dist/web/recent.js.map +0 -1
  1370. package/dist/web/sanitize.d.ts +0 -29
  1371. package/dist/web/sanitize.d.ts.map +0 -1
  1372. package/dist/web/sanitize.js.map +0 -1
  1373. package/dist/web/taxonomy.d.ts.map +0 -1
  1374. package/dist/web/taxonomy.js.map +0 -1
  1375. package/dist/web/templates.d.ts.map +0 -1
  1376. package/dist/web/templates.js.map +0 -1
  1377. package/dist/web/themes.d.ts.map +0 -1
  1378. package/dist/web/themes.js.map +0 -1
  1379. package/dist/webmention/html.d.ts.map +0 -1
  1380. package/dist/webmention/html.js.map +0 -1
  1381. package/dist/webmention/public-address.d.ts.map +0 -1
  1382. package/dist/webmention/public-address.js.map +0 -1
  1383. /package/dist/{web → content}/license.d.ts +0 -0
  1384. /package/dist/{web → content}/license.js +0 -0
  1385. /package/dist/{admin → site}/admin-theme.d.ts +0 -0
  1386. /package/dist/{admin → site}/admin-theme.js +0 -0
  1387. /package/dist/{admin → site}/passwords.d.ts +0 -0
  1388. /package/dist/{admin → site}/passwords.js +0 -0
  1389. /package/dist/{indieauth → util}/client-id.d.ts +0 -0
  1390. /package/dist/{indieauth → util}/client-id.js +0 -0
  1391. /package/dist/{webmention → util}/public-address.d.ts +0 -0
  1392. /package/dist/{webmention → util}/public-address.js +0 -0
  1393. /package/dist/{env.js → web/env.js} +0 -0
@@ -1,998 +0,0 @@
1
- import type { RsvpValue } from '../content/rsvp.ts';
2
- /** Where {@link openAdminStore} puts, and finds, its tables. */
3
- export interface OpenAdminStoreOptions {
4
- /** Directory the database lives in. Created if it is missing. */
5
- dataDir: string;
6
- /**
7
- * The site's base URL, which a native comment's `/replies/` key is worked
8
- * out against (TASK-327). Opening with a different one than last time works
9
- * every key out again; opening with none leaves new comments without keys.
10
- */
11
- baseUrl?: string | undefined;
12
- }
13
- /**
14
- * A login, or the anonymous session that carries a CSRF token to a visitor who
15
- * has not logged in yet.
16
- */
17
- export interface Session {
18
- /** 256 random bits, hex encoded. This is the value in the cookie. */
19
- readonly id: string;
20
- /** The user, or `null` while the session is anonymous. */
21
- readonly userId: number | null;
22
- /**
23
- * The token every mutating form on this session has to send back. It is a
24
- * second secret rather than the session id, so a token that leaks through a
25
- * form, a log or a referrer is not a login.
26
- */
27
- readonly csrfToken: string;
28
- /** When the session was created, as an ISO 8601 instant. */
29
- readonly createdAt: string;
30
- /** When it stops being valid, as an ISO 8601 instant. */
31
- readonly expiresAt: string;
32
- }
33
- /** How loudly a flash message reads. */
34
- export type FlashKind = 'notice' | 'warning' | 'error';
35
- /**
36
- * One message queued for the next page a session asks for.
37
- *
38
- * Flashes live on the session row rather than in a cookie so they cannot be
39
- * replayed, forged or grown past a cookie's size, and so they disappear with
40
- * the session.
41
- */
42
- export interface FlashMessage {
43
- /** Which style the message renders in. */
44
- kind: FlashKind;
45
- /** The message itself, in plain text. Templates escape it. */
46
- message: string;
47
- }
48
- /** What {@link AdminStore.createSession} is given. */
49
- export interface CreateSessionInput {
50
- /** The user logging in, or `null` for the pre-login CSRF session. */
51
- userId: number | null;
52
- /** How long the session lasts, in seconds. */
53
- lifetimeSeconds: number;
54
- /** The clock, injectable so expiry is testable. Defaults to now. */
55
- now?: Date | undefined;
56
- }
57
- /** How long a session id is, in bytes. 32 is the 256 bits doc-5 asks for. */
58
- export declare const SESSION_ID_BYTES = 32;
59
- /**
60
- * One outstanding password reset: the right to set one user's password once,
61
- * until it is used or it expires.
62
- *
63
- * The token is only ever in hand at the moment it is made, because the link is
64
- * the only copy: the database keeps its SHA-256, so reading the table tells
65
- * somebody that a reset was asked for and nothing more.
66
- */
67
- export interface PasswordReset {
68
- /** Whose password this sets. */
69
- readonly userId: number;
70
- /** When it was asked for, as an ISO 8601 instant. */
71
- readonly createdAt: string;
72
- /** When it stops working, as an ISO 8601 instant. */
73
- readonly expiresAt: string;
74
- }
75
- /** A {@link PasswordReset} with the one thing the database never keeps. */
76
- export interface IssuedPasswordReset extends PasswordReset {
77
- /**
78
- * The token itself, 256 random bits hex encoded, handed back exactly once.
79
- * It goes in the link and nowhere else.
80
- */
81
- readonly token: string;
82
- }
83
- /** What {@link AdminStore.createPasswordReset} is given. */
84
- export interface CreatePasswordResetInput {
85
- /** Whose password the link will set. */
86
- userId: number;
87
- /** How long the link lasts, in seconds. */
88
- lifetimeSeconds: number;
89
- /** The clock, injectable so expiry is testable. Defaults to now. */
90
- now?: Date | undefined;
91
- }
92
- /**
93
- * A remote actor that follows this site.
94
- *
95
- * The followers are irreplaceable — an actor that followed and was forgotten
96
- * never hears from the site again and has no way of noticing — so
97
- * `content/_data/federation/followers.json` is where they are kept
98
- * (decision-9), and this row is the index of that file, emptied and read back
99
- * on every boot. The display columns are a copy of what the actor said about
100
- * itself when it followed, so the admin can list its followers without
101
- * dereferencing every one of them.
102
- */
103
- export interface Follower {
104
- /**
105
- * Which user is followed (decision-14).
106
- *
107
- * Every user is an actor with followers of their own, so a follower is only
108
- * ever a follower *of somebody*: the column is what makes one person's
109
- * followers collection, and one person's delivery, theirs. It is the name of
110
- * the directory the file came from rather than anything the file says.
111
- */
112
- readonly username: string;
113
- /** The follower's ActivityStreams id, which is what identifies it. */
114
- readonly actorId: string;
115
- /** Where an activity addressed to this follower is delivered. */
116
- readonly inboxId: string;
117
- /**
118
- * The follower's instance-wide inbox, when it published one. Delivering one
119
- * activity to a shared inbox reaches every follower on that instance, so it
120
- * is what keeps a popular post from becoming a thousand POSTs.
121
- */
122
- readonly sharedInboxId: string | null;
123
- /** `@name@host`, as the follower's own instance spells it, or `null`. */
124
- readonly handle: string | null;
125
- /** The display name the actor published, or `null`. */
126
- readonly name: string | null;
127
- /** The actor's avatar, or `null`. */
128
- readonly iconUrl: string | null;
129
- /** The actor's profile page, for a human following the link, or `null`. */
130
- readonly url: string | null;
131
- /** When the follow arrived, as an ISO 8601 instant. */
132
- readonly followedAt: string;
133
- }
134
- /**
135
- * A {@link Follower} on its way in.
136
- *
137
- * `followedAt` is optional and defaults to now; naming one is what makes an
138
- * import — or a test — able to say when a follow really happened.
139
- */
140
- export type NewFollower = Omit<Follower, 'followedAt'> & {
141
- followedAt?: string | undefined;
142
- };
143
- /**
144
- * How a remote actor presents itself: what a conversation shows of somebody
145
- * who is not a follower (TASK-184).
146
- *
147
- * Read out of the actor document when one of their activities arrives, and
148
- * kept only in the cache (decision-9): a profile is somebody else's to change,
149
- * and it can always be fetched again.
150
- */
151
- export interface ActorProfile {
152
- /** The actor's ActivityStreams id, which is what identifies them. */
153
- readonly actorId: string;
154
- /** `@preferredUsername@host`, or `null` when the document names no username. */
155
- readonly handle: string | null;
156
- /** The display name the actor published, or `null`. */
157
- readonly name: string | null;
158
- /** The actor's avatar, or `null`. */
159
- readonly iconUrl: string | null;
160
- /** The actor's profile page, for a human following the link, or `null`. */
161
- readonly url: string | null;
162
- }
163
- /** An {@link ActorProfile} as the cache holds it, with when it was fetched. */
164
- export interface StoredActorProfile extends ActorProfile {
165
- /** When the document was read, as an ISO 8601 instant. */
166
- readonly fetchedAt: string;
167
- }
168
- /** How {@link AdminStore.listFollowers} and its inbox-log sibling page. */
169
- export interface ListPageOptions {
170
- /** Largest number of rows to return. Everything, when it is not given. */
171
- limit?: number | undefined;
172
- /** How many rows to skip first. Zero when it is not given. */
173
- offset?: number | undefined;
174
- }
175
- /**
176
- * One activity that arrived in the inbox and was recorded rather than acted
177
- * on: doc-4's `Like`, `Announce` and `Create(Note)` reply, and the follow
178
- * traffic alongside them.
179
- *
180
- * The raw JSON-LD is kept whole because a later phase surfaces likes, boosts
181
- * and comments, and what that phase needs out of an activity is not knowable
182
- * from here.
183
- */
184
- export interface InboxActivity {
185
- /** Row id, and the order activities arrived in. */
186
- readonly id: number;
187
- /** The activity's own id, or `null` for one that arrived without one. */
188
- readonly activityId: string | null;
189
- /** The compacted ActivityStreams type name, such as `Like` or `Announce`. */
190
- readonly activityType: string;
191
- /** Who sent it. */
192
- readonly actorId: string;
193
- /** What it was about — the post that was liked, the note replied to — or `null`. */
194
- readonly objectId: string | null;
195
- /**
196
- * Which of this site's users it was addressed to, or `null` for one
197
- * delivered to the shared inbox without naming one.
198
- *
199
- * decision-14 makes every user an actor, so the log records whose inbox was
200
- * told as well as what it was told. Derived from the log line rather than
201
- * from the activity, because the addressee is a fact about the delivery.
202
- */
203
- readonly recipient: string | null;
204
- /**
205
- * The object this activity answers, for a `Create` that carried an
206
- * `inReplyTo`, and `null` for everything else.
207
- *
208
- * Derived from {@link InboxActivity.json} by {@link replyTargetOf} rather
209
- * than supplied, so an index rebuilt from the inbox log holds exactly what
210
- * the live one holds. It is a column so a post's replies can be counted
211
- * without reading every activity the site was ever sent.
212
- */
213
- readonly inReplyTo: string | null;
214
- /** When it arrived, as an ISO 8601 instant. */
215
- readonly receivedAt: string;
216
- /**
217
- * Whether the site read it rather than was told it: a reply found in a
218
- * fediverse reply's `replies` collection (TASK-321), logged as the `Create`
219
- * nobody delivered. Only these are the site's to remove when the remote
220
- * server stops listing them.
221
- */
222
- readonly fetched: boolean;
223
- /** The activity as compacted JSON-LD, exactly as it was received. */
224
- readonly json: string;
225
- }
226
- /**
227
- * An {@link InboxActivity} before the store has given it a row and the reply
228
- * target it derives.
229
- *
230
- * `receivedAt` is optional and defaults to now, exactly as a follower's
231
- * `followedAt` is: naming one is what lets the boot rebuild put the log's own
232
- * arrival times back rather than stamping every activity with the moment the
233
- * index was rebuilt.
234
- */
235
- export type NewInboxActivity = Omit<InboxActivity, 'id' | 'receivedAt' | 'inReplyTo' | 'recipient' | 'fetched'> & {
236
- receivedAt?: string | undefined;
237
- /** Delivered, unless it says otherwise. */
238
- fetched?: boolean | undefined;
239
- /**
240
- * Who it was addressed to, when the delivery said. Optional and `null` by
241
- * default: an activity that reached the shared inbox without naming one of
242
- * this site's actors is addressed to nobody in particular, and so is every
243
- * line of a log written before decision-14.
244
- */
245
- recipient?: string | null | undefined;
246
- };
247
- /** How one delivery of one activity to one follower ended. */
248
- export declare const DELIVERY_STATUSES: readonly ['sent', 'queued', 'failed'];
249
- /**
250
- * One of {@link DELIVERY_STATUSES}.
251
- *
252
- * `sent` is a POST the follower's server accepted. `queued` is one handed to
253
- * Fedify's outbox queue, which is as much as a site running with a queue can
254
- * know from the call: the queue retries out of band and does not report back.
255
- * `failed` is a delivery that threw, with the reason in the row.
256
- */
257
- export type DeliveryStatus = (typeof DELIVERY_STATUSES)[number];
258
- /**
259
- * How one attempt to deliver one activity to one recipient ended, and what the
260
- * activity was.
261
- *
262
- * The whole of what SQLite keeps about anything the site has sent (decision-9).
263
- * No payload goes with it: an activity is rebuilt from the post's file at the
264
- * moment somebody asks for it to go again, so storing the bytes that went out
265
- * last time would only be a second, staler answer to the same question. What
266
- * is left is a cache of outcomes, and a site that deletes its database loses
267
- * nothing but the record of how yesterday's delivery went.
268
- *
269
- * The activity's own columns are here rather than in a table of their own
270
- * because there is no longer anything else to put in one: they are what the
271
- * federation screen reads to say what went out and when.
272
- */
273
- export interface Delivery {
274
- /** The id of the activity that was delivered. */
275
- readonly activityId: string;
276
- /** `Create`, `Update` or `Delete`. */
277
- readonly activityType: string;
278
- /**
279
- * The ActivityStreams id of what it was about: a post, or the site's own
280
- * actor when the profile itself was what moved.
281
- */
282
- readonly objectId: string;
283
- /**
284
- * The post's slug when the activity went out, or `null` for an activity
285
- * about no post — which is what an actor `Update` is.
286
- */
287
- readonly slug: string | null;
288
- /** Which follower or relay it was delivered to. */
289
- readonly actorId: string;
290
- /** The inbox actually used, which is the shared one when the follower has one. */
291
- readonly inboxId: string;
292
- /** How it went. */
293
- readonly status: DeliveryStatus;
294
- /** Why it failed, or `null`. */
295
- readonly error: string | null;
296
- /** When the attempt was made, as an ISO 8601 instant. */
297
- readonly attemptedAt: string;
298
- }
299
- /** A {@link Delivery} before the store has timed it. */
300
- export type NewDelivery = Omit<Delivery, 'attemptedAt'> & {
301
- attemptedAt?: string | undefined;
302
- };
303
- /** Where a relay subscription stands (FEP-ae0c). */
304
- export declare const RELAY_STATES: readonly ['pending', 'accepted', 'rejected'];
305
- /**
306
- * One of {@link RELAY_STATES}.
307
- *
308
- * `pending` is a `Follow` that has gone out and not been answered — which may
309
- * take days, because a relay is allowed to hold one for a human to approve.
310
- * `accepted` is one the relay answered `Accept` to, and the only state the
311
- * site delivers to. `rejected` is one it answered `Reject` to, with whatever
312
- * it said in {@link Relay.reason}.
313
- */
314
- export type RelayState = (typeof RELAY_STATES)[number];
315
- /**
316
- * The site's subscription to one relay.
317
- *
318
- * The list of relays itself is a setting, and so lives in `site.json`; this is
319
- * the state of the handshake with each of them, which is operational rather
320
- * than editorial. Keyed by the inbox because that is the only thing known when the
321
- * `Follow` goes out: a relay's actor id is not learned until it answers.
322
- */
323
- export interface Relay {
324
- /** The relay's inbox, which is what the site was given and what it delivers to. */
325
- readonly inboxId: string;
326
- /** The relay actor's id, once it has answered, and `null` until then. */
327
- readonly actorId: string | null;
328
- /** Where the subscription stands. */
329
- readonly state: RelayState;
330
- /** Why a `Reject` was a reject, when it gave a reason, or `null`. */
331
- readonly reason: string | null;
332
- /** The id of the `Follow` that was sent, which an `Accept` names. */
333
- readonly followId: string | null;
334
- /** When the site first subscribed, as an ISO 8601 instant. */
335
- readonly createdAt: string;
336
- /** When the subscription last moved — accepted, rejected, re-followed. */
337
- readonly updatedAt: string;
338
- }
339
- /** A {@link Relay} before the store has timed it. */
340
- export type NewRelay = Omit<Relay, 'createdAt' | 'updatedAt'> & {
341
- createdAt?: string | undefined;
342
- };
343
- /** How one webmention this site sent to one page ended. */
344
- export declare const WEBMENTION_SEND_STATUSES: readonly ['sent', 'none', 'failed'];
345
- /**
346
- * One of {@link WEBMENTION_SEND_STATUSES}.
347
- *
348
- * `sent` is an endpoint that accepted the notification. `none` is a page that
349
- * advertises no endpoint, which is most of the web and is not a failure —
350
- * recording it is what stops the sender asking the same page again on every
351
- * edit and what tells a person why nothing went. `failed` is an endpoint that
352
- * was there and refused, with the reason in the row.
353
- */
354
- export type WebmentionSendStatus = (typeof WEBMENTION_SEND_STATUSES)[number];
355
- /**
356
- * How one attempt to tell one page that a post links to it ended.
357
- *
358
- * The whole of what SQLite keeps about the webmentions a site has sent, and a
359
- * cache like every other outcome here (decision-9): the links are in the
360
- * post's file, so a database thrown away costs the record of how yesterday's
361
- * notification went and nothing else. One row per (post, target), because the
362
- * question it answers is "where does this post stand with that page" and a
363
- * resend moves that answer rather than adding a second one.
364
- */
365
- export interface SentWebmention {
366
- /** The post the links were in. */
367
- readonly slug: string;
368
- /** The post's absolute URL, which is the `source` that was sent. */
369
- readonly source: string;
370
- /** The page that was linked to, which is the `target` that was sent. */
371
- readonly target: string;
372
- /** The endpoint it was sent to, or `null` when the target advertised none. */
373
- readonly endpoint: string | null;
374
- /** How it went. */
375
- readonly status: WebmentionSendStatus;
376
- /** Why it failed, or `null`. */
377
- readonly error: string | null;
378
- /** When the attempt was made, as an ISO 8601 instant. */
379
- readonly attemptedAt: string;
380
- }
381
- /** A {@link SentWebmention} before the store has timed it. */
382
- export type NewSentWebmention = Omit<SentWebmention, 'attemptedAt'> & {
383
- attemptedAt?: string | undefined;
384
- };
385
- /** Where a comment came from. */
386
- export declare const COMMENT_SOURCES: readonly ['comment', 'webmention', 'activitypub'];
387
- /**
388
- * One of {@link COMMENT_SOURCES}.
389
- *
390
- * `comment` is the form under the post. `webmention` is another site's post
391
- * pointing at this one (TASK-51), which lands in the same file with the same
392
- * shape and is told apart only by this. `activitypub` is a fediverse reply or
393
- * reaction a site received before it ran Geekity, brought across by an import:
394
- * one this site receives itself is logged in the inbox instead.
395
- */
396
- export type CommentSource = (typeof COMMENT_SOURCES)[number];
397
- /** What a comment is: something written, or a wordless pointer at the post. */
398
- export declare const COMMENT_KINDS: readonly ['reply', 'like', 'boost', 'mention', 'repost'];
399
- /**
400
- * One of {@link COMMENT_KINDS}. The same five a conversation knows.
401
- *
402
- * `reply`, `like` and `boost` are the fediverse's three. `repost` and
403
- * `mention` are the webmention vocabulary's two extra: a repost is a boost by
404
- * another name and is shown with them, and a mention is the one thing neither
405
- * of the others is — somebody's page pointing at this one without answering
406
- * it (TASK-51).
407
- */
408
- export type CommentKind = (typeof COMMENT_KINDS)[number];
409
- /** Where a comment stands with the moderator. */
410
- export declare const COMMENT_STATUSES: readonly ['pending', 'approved', 'spam'];
411
- /**
412
- * One of {@link COMMENT_STATUSES}.
413
- *
414
- * `pending` is waiting for somebody to look at it, and is the state almost
415
- * every comment starts in; `approved` is on the page and in the feeds; `spam`
416
- * is kept rather than deleted, so a checker can be told it was wrong and so a
417
- * mistake can be undone.
418
- */
419
- export type CommentStatus = (typeof COMMENT_STATUSES)[number];
420
- /** What a comment can have had removed from it for privacy (TASK-135). */
421
- export declare const REDACTED_FIELDS: readonly ['email', 'addressHash', 'author'];
422
- /**
423
- * One of {@link REDACTED_FIELDS}.
424
- *
425
- * `email` and `addressHash` are what the retention sweep removes once they
426
- * have outlived the site's periods. `author` is an erasure on request: the
427
- * name, website, picture and email all went at once.
428
- */
429
- export type RedactedField = (typeof REDACTED_FIELDS)[number];
430
- /** Who wrote a comment, as much as the site knows. */
431
- export interface CommentAuthor {
432
- /** The name they gave, which is what the page shows. */
433
- name: string;
434
- /** Their website, or `null`. Shown, and marked `nofollow ugc` like any link. */
435
- url: string | null;
436
- /**
437
- * Their email, or `null`. **Never shown**: it is here for the moderator, for
438
- * the auto-approval rule, and for the spam checker.
439
- */
440
- email: string | null;
441
- /**
442
- * Their avatar, or `null`.
443
- *
444
- * Only a webmention ever has one, out of the `u-photo` of the source page's
445
- * `h-card` (TASK-51): a form asks for no picture, and one it did ask for
446
- * would be a stranger's file on somebody else's page. It is a URL on the
447
- * author's own site, printed as an `<img>` exactly as a fediverse reply's is.
448
- */
449
- avatar: string | null;
450
- }
451
- /** What a comment says, in both the forms the site keeps. */
452
- export interface CommentContent {
453
- /** What was typed, which is what a person wrote and the source of truth. */
454
- markdown: string;
455
- /** {@link CommentContent.markdown} through the restricted profile. */
456
- html: string;
457
- }
458
- /**
459
- * One comment, as its post's file under `content/_data/comments/` holds it.
460
- *
461
- * The shape is deliberately wider than a form submission. A webmention
462
- * (TASK-51) is somebody else's post pointing at this one: it has a `url` and no
463
- * email, it may be a like rather than a reply, and it belongs in the same file
464
- * and the same thread. So every entry says its `source` and its `kind`, and
465
- * nothing assumes a person filled in a form.
466
- */
467
- export interface CommentRecord {
468
- /** Its name, unique across the site, and what a reply puts in `inReplyTo`. */
469
- id: string;
470
- /** Where it came from. */
471
- source: CommentSource;
472
- /** What it is. */
473
- kind: CommentKind;
474
- /** Where it stands with the moderator. */
475
- status: CommentStatus;
476
- /** Who wrote it. */
477
- author: CommentAuthor;
478
- /** What it says. */
479
- content: CommentContent;
480
- /** When it was submitted, as an ISO 8601 instant. */
481
- submitted: string;
482
- /**
483
- * A salted hash of the address it came from, or `null`.
484
- *
485
- * The address itself is not kept: the file is published with the site and
486
- * goes into git, and an IP address there would be a reader's home written
487
- * into a public repository. The hash is enough to see that two comments came
488
- * from one place, which is what a moderator is actually asking.
489
- */
490
- addressHash: string | null;
491
- /** The comment it answers, or `null` for one answering the post itself. */
492
- inReplyTo: string | null;
493
- /**
494
- * Where it lives when it lives somewhere else: the source page of a
495
- * webmention, and `null` for a comment written on this site.
496
- *
497
- * It is what a later webmention from the same page is recognised by, which
498
- * is how one updates the comment it made before instead of adding a second,
499
- * and it is where the thread's permalink points for an entry this site did
500
- * not host.
501
- */
502
- url: string | null;
503
- /**
504
- * Whether whoever wrote it asked to hear about replies to it (TASK-55).
505
- *
506
- * Only ever true for a comment that carries an `author.email`, because there
507
- * would be nowhere to send it otherwise, and only ever set by somebody
508
- * ticking the box on the form — a webmention has nobody to ask. What it buys
509
- * is one message when a reply to this comment is approved, carrying an
510
- * unsubscribe link that needs no login.
511
- */
512
- notify: boolean;
513
- /**
514
- * What was removed from it for privacy, in the order {@link REDACTED_FIELDS}
515
- * lists them, when anything was (TASK-135). Absent rather than empty otherwise, so the files of a site
516
- * that has never swept stay byte for byte what they were.
517
- *
518
- * It is what tells an email that was taken away from one that was never
519
- * given: an author whose email was removed must not match the auto-approval
520
- * rule the way an author who gave none does, or anybody typing their name
521
- * would walk past the queue.
522
- */
523
- redacted?: readonly RedactedField[];
524
- /**
525
- * What a reply that is an RSVP says (TASK-198): the `p-rsvp` of the page a
526
- * webmention came from. Absent for every other comment, so the files of a
527
- * site that has had none stay byte for byte what they were.
528
- */
529
- rsvp?: RsvpValue;
530
- /**
531
- * The page whose entry carried it, for a webmention reply read out of
532
- * another webmention's source rather than sent on its own (a salmention,
533
- * TASK-320). Absent for every other comment.
534
- */
535
- via?: string;
536
- }
537
- /** A comment's {@link CommentRecord.rsvp} as a record carries it: present only when there is one. */
538
- export declare function rsvpField(rsvp: RsvpValue | undefined): Pick<CommentRecord, 'rsvp'>;
539
- /** A comment's {@link CommentRecord.via} as a record carries it: present only when there is one. */
540
- export declare function viaField(via: string | null | undefined): Pick<CommentRecord, 'via'>;
541
- /**
542
- * A {@link CommentRecord} with the post it is on.
543
- *
544
- * The file it lives in is named after the post's slug and records the post's
545
- * permalink, so both are facts of the file rather than of the entry; the index
546
- * carries them on the row because a query by id has no file to read them from.
547
- */
548
- export interface PostComment extends CommentRecord {
549
- /** The post's slug, which names the file the comment lives in. */
550
- slug: string;
551
- /** That post's permalink, for the moderation screen and the feeds. */
552
- permalink: string;
553
- }
554
- /** How {@link AdminStore.listComments} narrows and pages. */
555
- export interface ListCommentsOptions extends ListPageOptions {
556
- /** Only comments at this status. Every status when it is not given. */
557
- status?: CommentStatus | undefined;
558
- }
559
- /**
560
- * Everything the database holds that is not the content index: the sessions,
561
- * the followers and inbox indexes, the delivery outcomes, the relay handshake
562
- * and the scheduler's watermark.
563
- *
564
- * All of it is a cache (decision-9). The followers and the inbox rows are read
565
- * back from `content/_data/federation/` on every boot; the rest a site is free
566
- * to lose, and the README says what losing it costs. It is deliberately not
567
- * part of the {@link ContentStore}: the two share the file, one database per
568
- * site with a migration ledger each, and nothing else.
569
- */
570
- export interface AdminStore {
571
- /** Absolute path of the SQLite file, the same one the content index uses. */
572
- readonly file: string;
573
- /** Start a session and hand back its id and CSRF token. */
574
- createSession(input: CreateSessionInput): Session;
575
- /**
576
- * The session behind an id, or `undefined` when there is none or it has
577
- * expired. An expired row is deleted on the way past, so an expired session
578
- * is gone rather than merely ignored.
579
- */
580
- getSession(id: string, now?: Date): Session | undefined;
581
- /** Delete a session. Returns `false` when there was nothing to delete. */
582
- deleteSession(id: string): boolean;
583
- /**
584
- * End every session a user has, optionally sparing one. Returns how many
585
- * went.
586
- *
587
- * `except` is what makes a password change sign out every other browser
588
- * holding that login without signing out the one doing the changing.
589
- */
590
- deleteSessionsForUser(userId: number, options?: {
591
- except?: string;
592
- }): number;
593
- /**
594
- * Issue a password reset link and hand back its token, which is the only
595
- * time the token exists outside the link.
596
- */
597
- createPasswordReset(input: CreatePasswordResetInput): IssuedPasswordReset;
598
- /**
599
- * What a token entitles its holder to, or `undefined` when it entitles them
600
- * to nothing: no such token, or one that has expired. An expired row is
601
- * deleted on the way past, as an expired session's is.
602
- */
603
- getPasswordReset(token: string, now?: Date): PasswordReset | undefined;
604
- /** Spend a token. Returns `false` when there was nothing to spend. */
605
- deletePasswordReset(token: string): boolean;
606
- /**
607
- * Cancel every reset a user has outstanding, and say how many went.
608
- *
609
- * What a finished reset calls: the link that was used is spent, and so is
610
- * every other one asked for in the meantime, because whoever set the
611
- * password now owns the account and the others are only ways back in for
612
- * somebody who does not.
613
- */
614
- deletePasswordResetsForUser(userId: number): number;
615
- /** Delete every expired reset. Returns how many went. */
616
- prunePasswordResets(now?: Date): number;
617
- /**
618
- * Spend a one-click link's token, and say whether it had anything left.
619
- *
620
- * `true` the first time and `false` for ever after, which is what makes a
621
- * link in an email single use (TASK-55). Only the token's SHA-256 is kept,
622
- * as a password reset's is, so a copy of this file is not a list of the
623
- * links a site has sent. `expiresAt` is the moment the token's own signature
624
- * stops meaning anything, and is only there so the row can be swept.
625
- */
626
- spendToken(token: string, expiresAt: string, now?: Date): boolean;
627
- /** Delete every spent token that has expired. Returns how many went. */
628
- pruneSpentTokens(now?: Date): number;
629
- /**
630
- * The rows of the settings table an older version of this CMS wrote, or
631
- * `undefined` when the table is gone — which it is on every site that has
632
- * booted this version once.
633
- *
634
- * Settings live in `content/_data/site.json` now (decision-9). This is the
635
- * one read left of the table they used to live in, so the first boot after
636
- * the upgrade can write them out; `migrateSettingsToFile` in `settings.ts`
637
- * is what decides what they mean.
638
- */
639
- legacySettings(): LegacySetting[] | undefined;
640
- /**
641
- * The rows of the actor key table an older version of this CMS wrote, or
642
- * `undefined` when the table is gone — which it is on every site that has
643
- * booted this version once.
644
- *
645
- * Key pairs live in `data/keys` now (decision-9). This is the one read left
646
- * of the table they used to live in, and the reason it exists at all is that
647
- * losing an actor's private key is the one loss a federated site cannot
648
- * recover from; `migrateActorKeysToFiles` in `federation/keys.ts` writes them
649
- * out before the table is dropped.
650
- */
651
- legacyActorKeys(): LegacyActorKey[] | undefined;
652
- /**
653
- * The rows of the users table an older version of this CMS wrote, or
654
- * `undefined` when the table is gone — which it is on every site that has
655
- * booted this version once.
656
- *
657
- * Accounts live in `data/users.json` now (decision-9). This is the one read
658
- * left of the table they used to live in, so the first boot after the
659
- * upgrade can write them out; `migrateUsersToFile` in `accounts.ts` is what
660
- * does it, ids and all, so a session that names a user still finds them.
661
- */
662
- legacyUsers(): LegacyUser[] | undefined;
663
- /**
664
- * Drop a table whose contents this version keeps in files instead.
665
- *
666
- * Called once the rows have been written out, and safe when the table is
667
- * already gone. It is deliberately not a schema migration: a migration runs
668
- * when the database is opened, which is before anything knows where the
669
- * content directory is, and dropping the rows before they are written out is
670
- * the one mistake this milestone cannot make.
671
- */
672
- dropLegacyTable(name: string): void;
673
- /**
674
- * One piece of the CMS's own operational state, or `undefined`.
675
- *
676
- * Not a setting: nothing here is a site's choice and nothing here belongs in
677
- * `content/_data/site.json`, which is where a setting lives. It is a cache
678
- * like the rest of the database, and losing it costs a site nothing it
679
- * cannot work out again. The scheduler's watermark — how far through the
680
- * calendar it has got — lives here.
681
- */
682
- getState(key: string): string | undefined;
683
- /** Write one piece of that state. */
684
- setState(key: string, value: string): void;
685
- /**
686
- * How many actors follow one user, or the whole site when no user is named.
687
- * What a user's followers collection counts.
688
- */
689
- countFollowers(username?: string): number;
690
- /**
691
- * Followers, newest follow first, optionally one page of them.
692
- *
693
- * Newest first matches the outbox, and means the collection's first page is
694
- * the followers a human is most likely to be looking for. A follow that
695
- * arrives while somebody is walking the collection shifts the pages under
696
- * them by one, which is the same trade the outbox makes.
697
- */
698
- listFollowers(username?: string, options?: ListPageOptions): Follower[];
699
- /** One user's follower by actor id, or `undefined`. */
700
- getFollower(username: string, actorId: string): Follower | undefined;
701
- /**
702
- * Whether a URL is an avatar a reader of this site can be shown: the picture
703
- * of a follower who has done something to a post, or of the author of an
704
- * approved comment or webmention. The avatar proxy fetches nothing else
705
- * (TASK-134), so it cannot be pointed at an arbitrary URL.
706
- */
707
- isAvatarSource(url: string): boolean;
708
- /** Every URL {@link AdminStore.isAvatarSource} answers yes for, each once. */
709
- listAvatarSources(): string[];
710
- /** The stored profile of a remote actor, or `undefined` (TASK-184). */
711
- getActorProfile(actorId: string): StoredActorProfile | undefined;
712
- /** Store a remote actor's profile, replacing whatever was stored for them. */
713
- putActorProfile(profile: StoredActorProfile): void;
714
- /**
715
- * Every actor the inbox log names who is not a follower and whose profile
716
- * is missing or was fetched before `fetchedBefore`, each once: the actors
717
- * whose profiles are due.
718
- */
719
- listActorsToProfile(fetchedBefore: string): string[];
720
- /**
721
- * Store a follower, replacing whatever was known about that actor. The
722
- * original `followedAt` is kept, because a repeat `Follow` from an actor
723
- * that already follows is a redelivery rather than a new follow.
724
- */
725
- putFollower(follower: NewFollower): Follower;
726
- /** Forget one user's follower. Returns `false` when there was nothing to forget. */
727
- deleteFollower(username: string, actorId: string): boolean;
728
- /**
729
- * Make the followers index say exactly this, in one transaction.
730
- *
731
- * What a rebuild from every `content/_data/federation/{username}/followers.json` calls
732
- * (decision-9): the file is the source, so a row it does not carry is a row
733
- * that should not be delivered to, and replacing the lot is the only way to
734
- * say that. Nothing outside a rebuild should reach for it.
735
- */
736
- replaceFollowers(followers: readonly NewFollower[]): void;
737
- /** How many activities the inbound log holds. */
738
- countInboxActivities(): number;
739
- /** Logged activities, newest first, optionally one page of them. */
740
- listInboxActivities(options?: ListPageOptions): InboxActivity[];
741
- /**
742
- * Record an inbound activity, replacing an earlier row with the same
743
- * activity id so a redelivered `Like` stays one like. An activity that
744
- * arrived without an id is always a new row: there is nothing to match it
745
- * against.
746
- */
747
- logInboxActivity(activity: NewInboxActivity): InboxActivity;
748
- /** Forget one logged activity by its row id. Returns `false` when there was none. */
749
- deleteInboxActivity(id: number): boolean;
750
- /**
751
- * Make the inbound log index say exactly this, in one transaction, with the
752
- * row ids starting again from one.
753
- *
754
- * The counterpart of {@link AdminStore.replaceFollowers} over
755
- * `content/_data/federation/inbox/{yyyy}-{mm}.jsonl`. The ids restart
756
- * because a row id is the order things arrived in and nothing else: letting
757
- * them climb on every boot would give the same log different ids on two
758
- * machines holding the same files.
759
- */
760
- replaceInboxActivities(activities: readonly NewInboxActivity[]): void;
761
- /** How many logged activities are replies to anything at all. */
762
- countReplies(): number;
763
- /** Every logged reply, newest first, optionally one page of them. */
764
- listReplies(options?: ListPageOptions): InboxActivity[];
765
- /** How many replies one object — a post's ActivityStreams id — has. */
766
- countRepliesTo(objectId: string): number;
767
- /** One object's replies, newest first, optionally one page of them. */
768
- listRepliesTo(objectId: string, options?: ListPageOptions): InboxActivity[];
769
- /**
770
- * Every logged activity that names one of these objects — as what it is
771
- * about, or as what it answers — oldest first.
772
- *
773
- * The query a conversation is built from: the likes and boosts of a post,
774
- * the replies to it, and the `Delete` or `Undo` that takes one of those
775
- * back, all name an object this side already knows the id of. Both columns
776
- * are read because a `Create` is *about* the note it carries and only
777
- * `in_reply_to` says which post that note answers.
778
- *
779
- * Oldest first, because that is the order a thread reads in; a caller
780
- * wanting the newest can reverse a page it has. Naming nothing returns
781
- * nothing rather than everything.
782
- */
783
- listActivitiesAbout(objectIds: readonly string[]): InboxActivity[];
784
- /** One post's comments, oldest first, whatever status they are at. */
785
- listCommentsFor(slug: string): PostComment[];
786
- /**
787
- * Comments across the site, newest first, optionally of one status and one
788
- * page of them. What the moderation screen and the site-wide feed read.
789
- */
790
- listComments(options: ListCommentsOptions): PostComment[];
791
- /** One comment by id, or `undefined`. */
792
- getComment(id: string): PostComment | undefined;
793
- /** The comments whose `url` is this one, whatever their status (TASK-300). */
794
- listCommentsAt(url: string): PostComment[];
795
- /**
796
- * The comments and webmentions whose feed guid has this `/replies/` key,
797
- * whatever their status (TASK-327): one indexed lookup.
798
- */
799
- listCommentsByRepliesKey(key: string): PostComment[];
800
- /** The logged replies whose note's id has this `/replies/` key (TASK-327). */
801
- listRepliesByKey(key: string): InboxActivity[];
802
- /** How many comments stand at each status. What the dashboard shows. */
803
- countCommentsByStatus(): Record<CommentStatus, number>;
804
- /**
805
- * Whether this name and email have had a comment approved before.
806
- *
807
- * WordPress's rule, and the whole of the auto-approval decision: somebody a
808
- * moderator has already let through does not queue again. Both have to
809
- * match, so a stranger typing a regular's name is still held.
810
- */
811
- hasApprovedAuthor(name: string, email: string | null): boolean;
812
- /** Store a comment, replacing whatever was known about that id. */
813
- putComment(comment: PostComment): PostComment;
814
- /** Forget a comment. Returns `false` when there was nothing to forget. */
815
- deleteComment(id: string): boolean;
816
- /**
817
- * Hear about every comment written or forgotten and every activity logged,
818
- * as it happens (TASK-320). A rebuild of either index is not news and says
819
- * nothing. Returns the function that stops listening.
820
- */
821
- onConversationWrite(listener: (written: ConversationWrite) => void): () => void;
822
- /**
823
- * Make the comment index say exactly this, in one transaction.
824
- *
825
- * What a rebuild from `content/_data/comments/` calls (decision-9): the
826
- * files are the source, so a row they do not carry is a comment that should
827
- * not be on the page. Nothing outside a rebuild should reach for it.
828
- */
829
- replaceComments(comments: readonly PostComment[]): void;
830
- /**
831
- * Record how one delivery to one follower ended, replacing the previous
832
- * outcome for that pair: the table answers "where does this activity stand
833
- * with each follower", which a resend moves rather than adds to.
834
- */
835
- recordDelivery(delivery: NewDelivery): Delivery;
836
- /** Every follower's outcome for one activity, in follower order. */
837
- listDeliveries(activityId: string): Delivery[];
838
- /** How many followers this activity stands at each status with. */
839
- countDeliveriesByStatus(activityId: string): Record<DeliveryStatus, number>;
840
- /**
841
- * The most recent delivery to one inbox, whichever activity it carried, or
842
- * `undefined` when nothing has ever gone there.
843
- *
844
- * Keyed by the inbox rather than by the actor because that is what a relay
845
- * has: it is not a follower, so there is no follower row to look its
846
- * outcomes up by, and the inbox is the thing the site was told to deliver to.
847
- */
848
- lastDeliveryToInbox(inboxId: string): Delivery | undefined;
849
- /**
850
- * The most recent delivery about one object — a post's ActivityStreams id,
851
- * or the site actor's — or `undefined` when nothing about it has ever gone
852
- * out.
853
- *
854
- * What the federation screen's per-post row is filled in from. Keyed by the
855
- * object rather than by the activity because a post is a series of
856
- * activities and the row is about the post: the newest outcome is the one
857
- * that says where the post currently stands with the fediverse.
858
- */
859
- lastDeliveryToObject(objectId: string): Delivery | undefined;
860
- /**
861
- * Record how one webmention to one page ended, replacing the previous
862
- * outcome for that (post, target): the table answers "where does this post
863
- * stand with that page", which a resend moves rather than adds to.
864
- */
865
- recordSentWebmention(sent: NewSentWebmention): SentWebmention;
866
- /** What one post's links came to, target by target, in target order. */
867
- listSentWebmentions(slug: string): SentWebmention[];
868
- /** How many of one post's targets stand at each status. */
869
- countSentWebmentionsByStatus(slug: string): Record<WebmentionSendStatus, number>;
870
- /** Every (post, source) the sent webmentions are recorded under. */
871
- listSentWebmentionSources(): Pick<SentWebmention, 'slug' | 'source'>[];
872
- /**
873
- * File what one post sent from one source under another post, as a post
874
- * whose slug changed is (TASK-332). Where both hold an outcome for one
875
- * target, the later attempt is the one kept.
876
- */
877
- moveSentWebmentions(from: Pick<SentWebmention, 'slug' | 'source'>, to: string): void;
878
- /** Every relay subscription, oldest first, however it stands. */
879
- listRelays(): Relay[];
880
- /** One relay subscription by the inbox it was made to, or `undefined`. */
881
- getRelay(inboxId: string): Relay | undefined;
882
- /**
883
- * The subscription one `Follow` established, or `undefined`.
884
- *
885
- * This is how an `Accept` or a `Reject` arriving later finds the relay it
886
- * answers: the activity names the follow, and the follow names the record.
887
- */
888
- getRelayByFollow(followId: string): Relay | undefined;
889
- /**
890
- * Store a relay subscription, replacing whatever was known about that inbox
891
- * and leaving the original `createdAt` alone: a subscription that moves from
892
- * pending to accepted is the same subscription, and when it began is a fact
893
- * only the row remembers.
894
- */
895
- putRelay(relay: NewRelay): Relay;
896
- /** Forget a relay subscription. Returns `false` when there was nothing to forget. */
897
- deleteRelay(inboxId: string): boolean;
898
- /** Delete every expired session. Returns how many went. */
899
- pruneSessions(now?: Date): number;
900
- /**
901
- * Queue a message for the next page this session asks for. Does nothing when
902
- * there is no such session, which is what a logout followed by a flash is.
903
- */
904
- pushFlash(sessionId: string, entry: FlashMessage): void;
905
- /**
906
- * Every queued message for a session, in order, removed as it is read, so a
907
- * flash survives exactly one page and no more. A read-only store leaves them
908
- * queued, for the worker that takes over to show again.
909
- */
910
- takeFlash(sessionId: string): FlashMessage[];
911
- /**
912
- * Refuse every write on this connection while on, with SQLite's
913
- * `query_only`. A worker handing over to a new one under `geekity serve`
914
- * turns it on, so the new worker's boot migrations run alone (TASK-288).
915
- */
916
- setReadOnly(readOnly: boolean): void;
917
- /** Close the database. Safe to call twice. */
918
- close(): void;
919
- }
920
- /**
921
- * What {@link AdminStore.onConversationWrite} hears: a comment on the post of
922
- * that slug, or an activity naming these objects as what it is about or what
923
- * it answers. `approved` says this write is the one that approved the comment,
924
- * so it is on the page now and was not before (TASK-333).
925
- */
926
- export type ConversationWrite = {
927
- readonly kind: 'comment';
928
- readonly slug: string;
929
- readonly id: string;
930
- readonly approved: boolean;
931
- } | {
932
- readonly kind: 'activity';
933
- readonly about: readonly string[];
934
- };
935
- /**
936
- * Open (and if needed create) the admin tables in `dataDir`, applying every
937
- * migration the package ships. Applying them is idempotent.
938
- *
939
- * The connection is its own; SQLite in WAL mode is happy with the content
940
- * index holding a second one on the same file.
941
- */
942
- export declare function openAdminStore(options: OpenAdminStoreOptions): AdminStore;
943
- /**
944
- * One row of the settings table TASK-14 wrote, for the one boot that reads it.
945
- *
946
- * Settings live in `content/_data/site.json` now (decision-9), so this shape
947
- * exists only so `migrateSettingsToFile` can write the rows out before the
948
- * table goes. `updatedAt` is what tells a row written by the settings screen
949
- * from a `site.json` a person edited afterwards.
950
- */
951
- export interface LegacySetting {
952
- /** The setting's name, e.g. `title`. */
953
- key: string;
954
- /** Its value, always a string; numbers and lists were spelled as text. */
955
- value: string;
956
- /** When it was last written, as an ISO instant. */
957
- updatedAt: string;
958
- }
959
- /**
960
- * One row of the actor key table TASK-16 wrote, for the one boot that reads it.
961
- *
962
- * Key pairs live in `data/keys` as JWK files now (decision-9), so this shape
963
- * exists only so `migrateActorKeysToFiles` can write the rows out before the
964
- * table goes. The public half the table also held is not here: it is derived
965
- * from the private one, and reading it would only invite the two to disagree.
966
- */
967
- export interface LegacyActorKey {
968
- /** Which actor the pair belonged to: the sentinel identifier, not a handle. */
969
- identifier: string;
970
- /**
971
- * Which algorithm it is for, as the table spelled it. A bare string rather
972
- * than one of the algorithms this version knows, on purpose: a row a later
973
- * version wrote is still a key that must reach a file rather than go with
974
- * the table.
975
- */
976
- algorithm: string;
977
- /** The private key as JWK, JSON encoded. What the file ends up holding. */
978
- privateJwk: string;
979
- }
980
- /**
981
- * One row of the users table TASK-9 wrote, for the one boot that reads it.
982
- *
983
- * Accounts live in `data/users.json` now (decision-9), so this shape exists
984
- * only so `migrateUsersToFile` can write the rows out before the table goes.
985
- * The id comes with them: a session in the same database names its user by it,
986
- * and a migration that renumbered everybody would sign the whole site out.
987
- */
988
- export interface LegacyUser {
989
- /** The row id, which the file keeps. */
990
- id: number;
991
- /** The login name. */
992
- username: string;
993
- /** The PHC-encoded argon2id hash, moved into the file as it stands. */
994
- passwordHash: string;
995
- /** When the user was created, as an ISO instant. */
996
- createdAt: string;
997
- }
998
- //# sourceMappingURL=store.d.ts.map