@geekity/cms 0.31.0 → 0.32.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 (745) hide show
  1. package/admin/components/badge.njk +4 -0
  2. package/admin/components/fields.njk +41 -24
  3. package/admin/components/job-status.njk +45 -0
  4. package/admin/components/setting-fields.njk +38 -0
  5. package/admin/layouts/settings-page.njk +16 -0
  6. package/admin/pages/comments/all.njk +1 -2
  7. package/admin/pages/documents/editor.njk +17 -15
  8. package/admin/pages/documents/syndication.njk +4 -4
  9. package/admin/pages/federation/followers.njk +56 -6
  10. package/admin/pages/federation/settings.njk +1 -1
  11. package/admin/pages/media/library.njk +52 -3
  12. package/admin/pages/navigation/menus.njk +2 -2
  13. package/admin/pages/plugins/screen.njk +5 -46
  14. package/admin/pages/settings/discussion.njk +76 -47
  15. package/admin/pages/settings/email.njk +75 -47
  16. package/admin/pages/settings/general.njk +15 -15
  17. package/admin/pages/settings/permalinks.njk +8 -8
  18. package/admin/pages/settings/privacy.njk +6 -6
  19. package/admin/pages/settings/reading.njk +36 -36
  20. package/admin/pages/tools/dev-mode.njk +29 -3
  21. package/admin/pages/tools/export.njk +89 -0
  22. package/admin/pages/tools/maintenance.njk +51 -0
  23. package/admin/pages/users/apps.njk +2 -2
  24. package/admin/pages/users/edit.njk +3 -3
  25. package/admin/pages/users/new.njk +2 -2
  26. package/admin/static/admin.css +80 -0
  27. package/dist/admin/app-activity.d.ts.map +1 -1
  28. package/dist/admin/app-activity.js +2 -3
  29. package/dist/admin/app-activity.js.map +1 -1
  30. package/dist/admin/appearance.d.ts +1 -5
  31. package/dist/admin/appearance.d.ts.map +1 -1
  32. package/dist/admin/appearance.js +9 -16
  33. package/dist/admin/appearance.js.map +1 -1
  34. package/dist/admin/comments.d.ts.map +1 -1
  35. package/dist/admin/comments.js +2 -3
  36. package/dist/admin/comments.js.map +1 -1
  37. package/dist/admin/confirm-password.d.ts +4 -0
  38. package/dist/admin/confirm-password.d.ts.map +1 -0
  39. package/dist/admin/confirm-password.js +11 -0
  40. package/dist/admin/confirm-password.js.map +1 -0
  41. package/dist/admin/connected-apps.d.ts.map +1 -1
  42. package/dist/admin/connected-apps.js +17 -22
  43. package/dist/admin/connected-apps.js.map +1 -1
  44. package/dist/admin/dev-mode.d.ts.map +1 -1
  45. package/dist/admin/dev-mode.js +35 -10
  46. package/dist/admin/dev-mode.js.map +1 -1
  47. package/dist/admin/documents.d.ts.map +1 -1
  48. package/dist/admin/documents.js +22 -10
  49. package/dist/admin/documents.js.map +1 -1
  50. package/dist/admin/editor-actions.d.ts.map +1 -1
  51. package/dist/admin/editor-actions.js +1 -2
  52. package/dist/admin/editor-actions.js.map +1 -1
  53. package/dist/admin/editor-layout.js +1 -1
  54. package/dist/admin/editor-layout.js.map +1 -1
  55. package/dist/admin/export.d.ts +10 -0
  56. package/dist/admin/export.d.ts.map +1 -0
  57. package/dist/admin/export.js +72 -0
  58. package/dist/admin/export.js.map +1 -0
  59. package/dist/admin/federation.d.ts +1 -12
  60. package/dist/admin/federation.d.ts.map +1 -1
  61. package/dist/admin/federation.js +34 -87
  62. package/dist/admin/federation.js.map +1 -1
  63. package/dist/admin/index.d.ts +2 -5
  64. package/dist/admin/index.d.ts.map +1 -1
  65. package/dist/admin/index.js +2 -4
  66. package/dist/admin/index.js.map +1 -1
  67. package/dist/admin/indieauth-consent.d.ts.map +1 -1
  68. package/dist/admin/indieauth-consent.js +5 -7
  69. package/dist/admin/indieauth-consent.js.map +1 -1
  70. package/dist/admin/job-status.d.ts +25 -0
  71. package/dist/admin/job-status.d.ts.map +1 -0
  72. package/dist/admin/job-status.js +53 -0
  73. package/dist/admin/job-status.js.map +1 -0
  74. package/dist/admin/legacy-migrations.d.ts.map +1 -1
  75. package/dist/admin/legacy-migrations.js +7 -6
  76. package/dist/admin/legacy-migrations.js.map +1 -1
  77. package/dist/admin/maintenance.d.ts +9 -0
  78. package/dist/admin/maintenance.d.ts.map +1 -0
  79. package/dist/admin/maintenance.js +42 -0
  80. package/dist/admin/maintenance.js.map +1 -0
  81. package/dist/admin/media.d.ts +4 -1
  82. package/dist/admin/media.d.ts.map +1 -1
  83. package/dist/admin/media.js +16 -1
  84. package/dist/admin/media.js.map +1 -1
  85. package/dist/admin/menu.d.ts.map +1 -1
  86. package/dist/admin/menu.js +4 -0
  87. package/dist/admin/menu.js.map +1 -1
  88. package/dist/admin/messages.d.ts.map +1 -1
  89. package/dist/admin/messages.js +2 -3
  90. package/dist/admin/messages.js.map +1 -1
  91. package/dist/admin/navigation.d.ts.map +1 -1
  92. package/dist/admin/navigation.js +27 -23
  93. package/dist/admin/navigation.js.map +1 -1
  94. package/dist/admin/plugins.d.ts.map +1 -1
  95. package/dist/admin/plugins.js +19 -66
  96. package/dist/admin/plugins.js.map +1 -1
  97. package/dist/admin/preview.d.ts.map +1 -1
  98. package/dist/admin/preview.js +5 -6
  99. package/dist/admin/preview.js.map +1 -1
  100. package/dist/admin/recovery.js +2 -2
  101. package/dist/admin/recovery.js.map +1 -1
  102. package/dist/admin/routes.d.ts.map +1 -1
  103. package/dist/admin/routes.js +6 -3
  104. package/dist/admin/routes.js.map +1 -1
  105. package/dist/admin/setting-overrides.d.ts +4 -0
  106. package/dist/admin/setting-overrides.d.ts.map +1 -0
  107. package/dist/admin/setting-overrides.js +24 -0
  108. package/dist/admin/setting-overrides.js.map +1 -0
  109. package/dist/admin/settings-discussion.d.ts +6 -4
  110. package/dist/admin/settings-discussion.d.ts.map +1 -1
  111. package/dist/admin/settings-discussion.js +75 -45
  112. package/dist/admin/settings-discussion.js.map +1 -1
  113. package/dist/admin/settings-email.d.ts +11 -8
  114. package/dist/admin/settings-email.d.ts.map +1 -1
  115. package/dist/admin/settings-email.js +88 -77
  116. package/dist/admin/settings-email.js.map +1 -1
  117. package/dist/admin/settings-federation.d.ts +0 -7
  118. package/dist/admin/settings-federation.d.ts.map +1 -1
  119. package/dist/admin/settings-federation.js +0 -36
  120. package/dist/admin/settings-federation.js.map +1 -1
  121. package/dist/admin/settings-fields.d.ts +32 -0
  122. package/dist/admin/settings-fields.d.ts.map +1 -0
  123. package/dist/admin/settings-fields.js +368 -0
  124. package/dist/admin/settings-fields.js.map +1 -0
  125. package/dist/admin/settings-general.d.ts.map +1 -1
  126. package/dist/admin/settings-general.js +10 -19
  127. package/dist/admin/settings-general.js.map +1 -1
  128. package/dist/admin/settings-page.d.ts +3 -29
  129. package/dist/admin/settings-page.d.ts.map +1 -1
  130. package/dist/admin/settings-page.js +38 -53
  131. package/dist/admin/settings-page.js.map +1 -1
  132. package/dist/admin/settings-permalinks.js +2 -2
  133. package/dist/admin/settings-permalinks.js.map +1 -1
  134. package/dist/admin/settings-privacy.js +1 -1
  135. package/dist/admin/settings-privacy.js.map +1 -1
  136. package/dist/admin/settings-reading.js +13 -13
  137. package/dist/admin/settings-reading.js.map +1 -1
  138. package/dist/admin/settings-renderer.d.ts +32 -0
  139. package/dist/admin/settings-renderer.d.ts.map +1 -0
  140. package/dist/admin/settings-renderer.js +79 -0
  141. package/dist/admin/settings-renderer.js.map +1 -0
  142. package/dist/admin/site-setting-edit.d.ts +4 -0
  143. package/dist/admin/site-setting-edit.d.ts.map +1 -0
  144. package/dist/admin/site-setting-edit.js +20 -0
  145. package/dist/admin/site-setting-edit.js.map +1 -0
  146. package/dist/admin/taxonomy.d.ts.map +1 -1
  147. package/dist/admin/taxonomy.js +10 -19
  148. package/dist/admin/taxonomy.js.map +1 -1
  149. package/dist/admin/templates.d.ts +2 -0
  150. package/dist/admin/templates.d.ts.map +1 -1
  151. package/dist/admin/templates.js +2 -0
  152. package/dist/admin/templates.js.map +1 -1
  153. package/dist/admin/users.js +1 -1
  154. package/dist/admin/users.js.map +1 -1
  155. package/dist/avatars/avatars.d.ts +0 -2
  156. package/dist/avatars/avatars.d.ts.map +1 -1
  157. package/dist/avatars/avatars.js +9 -10
  158. package/dist/avatars/avatars.js.map +1 -1
  159. package/dist/avatars/index.d.ts +1 -1
  160. package/dist/avatars/index.d.ts.map +1 -1
  161. package/dist/avatars/index.js +1 -1
  162. package/dist/avatars/index.js.map +1 -1
  163. package/dist/cache.d.ts +0 -2
  164. package/dist/cache.d.ts.map +1 -1
  165. package/dist/cache.js +2 -4
  166. package/dist/cache.js.map +1 -1
  167. package/dist/cli.d.ts +1 -1
  168. package/dist/cli.d.ts.map +1 -1
  169. package/dist/cli.js +500 -86
  170. package/dist/cli.js.map +1 -1
  171. package/dist/cms/app.d.ts +1 -1
  172. package/dist/cms/app.d.ts.map +1 -1
  173. package/dist/cms/app.js +13 -2
  174. package/dist/cms/app.js.map +1 -1
  175. package/dist/cms/boot.d.ts +12 -0
  176. package/dist/cms/boot.d.ts.map +1 -1
  177. package/dist/cms/boot.js +37 -16
  178. package/dist/cms/boot.js.map +1 -1
  179. package/dist/cms/create.d.ts +24 -0
  180. package/dist/cms/create.d.ts.map +1 -1
  181. package/dist/cms/create.js +14 -0
  182. package/dist/cms/create.js.map +1 -1
  183. package/dist/cms/services.d.ts +3 -1
  184. package/dist/cms/services.d.ts.map +1 -1
  185. package/dist/cms/services.js +83 -26
  186. package/dist/cms/services.js.map +1 -1
  187. package/dist/cms/site-records.d.ts.map +1 -1
  188. package/dist/cms/site-records.js +0 -2
  189. package/dist/cms/site-records.js.map +1 -1
  190. package/dist/comments/akismet.d.ts +13 -46
  191. package/dist/comments/akismet.d.ts.map +1 -1
  192. package/dist/comments/akismet.js +29 -68
  193. package/dist/comments/akismet.js.map +1 -1
  194. package/dist/comments/conversation.d.ts +14 -8
  195. package/dist/comments/conversation.d.ts.map +1 -1
  196. package/dist/comments/conversation.js.map +1 -1
  197. package/dist/comments/index.d.ts +4 -4
  198. package/dist/comments/index.d.ts.map +1 -1
  199. package/dist/comments/index.js +3 -3
  200. package/dist/comments/index.js.map +1 -1
  201. package/dist/comments/policy.d.ts +23 -26
  202. package/dist/comments/policy.d.ts.map +1 -1
  203. package/dist/comments/policy.js +13 -20
  204. package/dist/comments/policy.js.map +1 -1
  205. package/dist/comments/records.d.ts +0 -2
  206. package/dist/comments/records.d.ts.map +1 -1
  207. package/dist/comments/records.js +2 -3
  208. package/dist/comments/records.js.map +1 -1
  209. package/dist/comments/reply-notices.d.ts +5 -6
  210. package/dist/comments/reply-notices.d.ts.map +1 -1
  211. package/dist/comments/reply-notices.js +27 -15
  212. package/dist/comments/reply-notices.js.map +1 -1
  213. package/dist/comments/reply-post.d.ts.map +1 -1
  214. package/dist/comments/reply-post.js +2 -3
  215. package/dist/comments/reply-post.js.map +1 -1
  216. package/dist/comments/submission.d.ts +0 -2
  217. package/dist/comments/submission.d.ts.map +1 -1
  218. package/dist/comments/submission.js +1 -3
  219. package/dist/comments/submission.js.map +1 -1
  220. package/dist/config-loader.d.ts.map +1 -1
  221. package/dist/config-loader.js +2 -1
  222. package/dist/config-loader.js.map +1 -1
  223. package/dist/config.d.ts +27 -1
  224. package/dist/config.d.ts.map +1 -1
  225. package/dist/config.js +5 -1
  226. package/dist/config.js.map +1 -1
  227. package/dist/contact/delivery.d.ts +2 -4
  228. package/dist/contact/delivery.d.ts.map +1 -1
  229. package/dist/contact/delivery.js +1 -2
  230. package/dist/contact/delivery.js.map +1 -1
  231. package/dist/contact/index.d.ts +1 -1
  232. package/dist/contact/index.d.ts.map +1 -1
  233. package/dist/contact/index.js +1 -1
  234. package/dist/contact/index.js.map +1 -1
  235. package/dist/contact/records.d.ts +0 -2
  236. package/dist/contact/records.d.ts.map +1 -1
  237. package/dist/contact/records.js +3 -5
  238. package/dist/contact/records.js.map +1 -1
  239. package/dist/content/citation.d.ts +1 -0
  240. package/dist/content/citation.d.ts.map +1 -1
  241. package/dist/content/citation.js.map +1 -1
  242. package/dist/content/document-form.d.ts +3 -1
  243. package/dist/content/document-form.d.ts.map +1 -1
  244. package/dist/content/document-form.js.map +1 -1
  245. package/dist/content/enclosure-form.d.ts.map +1 -1
  246. package/dist/content/enclosure-form.js +5 -6
  247. package/dist/content/enclosure-form.js.map +1 -1
  248. package/dist/content/excerpt.d.ts +1 -0
  249. package/dist/content/excerpt.d.ts.map +1 -1
  250. package/dist/content/excerpt.js +3 -0
  251. package/dist/content/excerpt.js.map +1 -1
  252. package/dist/content/index.d.ts +3 -3
  253. package/dist/content/index.d.ts.map +1 -1
  254. package/dist/content/index.js +2 -2
  255. package/dist/content/index.js.map +1 -1
  256. package/dist/content/kept-properties.d.ts +0 -1
  257. package/dist/content/kept-properties.d.ts.map +1 -1
  258. package/dist/content/kept-properties.js +2 -2
  259. package/dist/content/kept-properties.js.map +1 -1
  260. package/dist/content/locations.d.ts +0 -1
  261. package/dist/content/locations.d.ts.map +1 -1
  262. package/dist/content/locations.js +2 -2
  263. package/dist/content/locations.js.map +1 -1
  264. package/dist/content/media.d.ts +7 -0
  265. package/dist/content/media.d.ts.map +1 -1
  266. package/dist/content/media.js +12 -1
  267. package/dist/content/media.js.map +1 -1
  268. package/dist/content/metadata/strip-job.d.ts +16 -0
  269. package/dist/content/metadata/strip-job.d.ts.map +1 -0
  270. package/dist/content/metadata/strip-job.js +24 -0
  271. package/dist/content/metadata/strip-job.js.map +1 -0
  272. package/dist/content/metadata/sweep.d.ts +13 -1
  273. package/dist/content/metadata/sweep.d.ts.map +1 -1
  274. package/dist/content/metadata/sweep.js +47 -25
  275. package/dist/content/metadata/sweep.js.map +1 -1
  276. package/dist/content/permalink-file.d.ts +2 -1
  277. package/dist/content/permalink-file.d.ts.map +1 -1
  278. package/dist/content/permalink-file.js +3 -3
  279. package/dist/content/permalink-file.js.map +1 -1
  280. package/dist/content/photo-form.d.ts +1 -0
  281. package/dist/content/photo-form.d.ts.map +1 -1
  282. package/dist/content/photo-form.js +8 -5
  283. package/dist/content/photo-form.js.map +1 -1
  284. package/dist/content/photo.d.ts +1 -0
  285. package/dist/content/photo.d.ts.map +1 -1
  286. package/dist/content/photo.js +1 -1
  287. package/dist/content/photo.js.map +1 -1
  288. package/dist/content/post-fields.d.ts.map +1 -1
  289. package/dist/content/post-fields.js +5 -9
  290. package/dist/content/post-fields.js.map +1 -1
  291. package/dist/content/read-form.d.ts +10 -3
  292. package/dist/content/read-form.d.ts.map +1 -1
  293. package/dist/content/read-form.js +67 -9
  294. package/dist/content/read-form.js.map +1 -1
  295. package/dist/content/read.d.ts +9 -2
  296. package/dist/content/read.d.ts.map +1 -1
  297. package/dist/content/read.js +22 -3
  298. package/dist/content/read.js.map +1 -1
  299. package/dist/content/store.d.ts +0 -1
  300. package/dist/content/store.d.ts.map +1 -1
  301. package/dist/content/store.js +0 -1
  302. package/dist/content/store.js.map +1 -1
  303. package/dist/content/uploads.d.ts +1 -1
  304. package/dist/content/uploads.d.ts.map +1 -1
  305. package/dist/content/uploads.js +6 -1
  306. package/dist/content/uploads.js.map +1 -1
  307. package/dist/content/write.d.ts +1 -1
  308. package/dist/content/write.d.ts.map +1 -1
  309. package/dist/content/write.js +7 -3
  310. package/dist/content/write.js.map +1 -1
  311. package/dist/dev-mode.d.ts +4 -26
  312. package/dist/dev-mode.d.ts.map +1 -1
  313. package/dist/dev-mode.js +4 -53
  314. package/dist/dev-mode.js.map +1 -1
  315. package/dist/export/export-archives.d.ts +29 -0
  316. package/dist/export/export-archives.d.ts.map +1 -0
  317. package/dist/export/export-archives.js +88 -0
  318. package/dist/export/export-archives.js.map +1 -0
  319. package/dist/export/export-job.d.ts +21 -0
  320. package/dist/export/export-job.d.ts.map +1 -0
  321. package/dist/export/export-job.js +63 -0
  322. package/dist/export/export-job.js.map +1 -0
  323. package/dist/export/site-export.d.ts +101 -0
  324. package/dist/export/site-export.d.ts.map +1 -0
  325. package/dist/export/site-export.js +243 -0
  326. package/dist/export/site-export.js.map +1 -0
  327. package/dist/export/site-import.d.ts +75 -0
  328. package/dist/export/site-import.d.ts.map +1 -0
  329. package/dist/export/site-import.js +492 -0
  330. package/dist/export/site-import.js.map +1 -0
  331. package/dist/exports.d.ts +9 -4
  332. package/dist/exports.d.ts.map +1 -1
  333. package/dist/exports.js +3 -1
  334. package/dist/exports.js.map +1 -1
  335. package/dist/federation/article.d.ts.map +1 -1
  336. package/dist/federation/article.js +22 -20
  337. package/dist/federation/article.js.map +1 -1
  338. package/dist/federation/backfill.d.ts +3 -1
  339. package/dist/federation/backfill.d.ts.map +1 -1
  340. package/dist/federation/backfill.js +5 -3
  341. package/dist/federation/backfill.js.map +1 -1
  342. package/dist/federation/cited-post.d.ts +1 -1
  343. package/dist/federation/cited-post.d.ts.map +1 -1
  344. package/dist/federation/cited-post.js +1 -1
  345. package/dist/federation/cited-post.js.map +1 -1
  346. package/dist/federation/delivery.d.ts +5 -2
  347. package/dist/federation/delivery.d.ts.map +1 -1
  348. package/dist/federation/delivery.js +16 -12
  349. package/dist/federation/delivery.js.map +1 -1
  350. package/dist/federation/federation.d.ts +7 -7
  351. package/dist/federation/federation.d.ts.map +1 -1
  352. package/dist/federation/federation.js +5 -12
  353. package/dist/federation/federation.js.map +1 -1
  354. package/dist/federation/handles.d.ts +1 -1
  355. package/dist/federation/handles.d.ts.map +1 -1
  356. package/dist/federation/handles.js +1 -1
  357. package/dist/federation/handles.js.map +1 -1
  358. package/dist/federation/inbox.js +1 -1
  359. package/dist/federation/inbox.js.map +1 -1
  360. package/dist/federation/keys.js +3 -3
  361. package/dist/federation/keys.js.map +1 -1
  362. package/dist/federation/profiles.d.ts +1 -1
  363. package/dist/federation/profiles.d.ts.map +1 -1
  364. package/dist/federation/profiles.js +1 -1
  365. package/dist/federation/profiles.js.map +1 -1
  366. package/dist/federation/queue.d.ts +32 -17
  367. package/dist/federation/queue.d.ts.map +1 -1
  368. package/dist/federation/queue.js +173 -39
  369. package/dist/federation/queue.js.map +1 -1
  370. package/dist/federation/relays.d.ts +6 -2
  371. package/dist/federation/relays.d.ts.map +1 -1
  372. package/dist/federation/relays.js +43 -36
  373. package/dist/federation/relays.js.map +1 -1
  374. package/dist/federation/resend-job.d.ts +44 -0
  375. package/dist/federation/resend-job.d.ts.map +1 -0
  376. package/dist/federation/resend-job.js +59 -0
  377. package/dist/federation/resend-job.js.map +1 -0
  378. package/dist/files/atomic.d.ts +9 -0
  379. package/dist/files/atomic.d.ts.map +1 -1
  380. package/dist/files/atomic.js +1 -1
  381. package/dist/files/atomic.js.map +1 -1
  382. package/dist/files/data-files.d.ts +104 -0
  383. package/dist/files/data-files.d.ts.map +1 -0
  384. package/dist/files/data-files.js +330 -0
  385. package/dist/files/data-files.js.map +1 -0
  386. package/dist/files/export-archives.d.ts +12 -0
  387. package/dist/files/export-archives.d.ts.map +1 -0
  388. package/dist/files/export-archives.js +67 -0
  389. package/dist/files/export-archives.js.map +1 -0
  390. package/dist/files/static-files.d.ts.map +1 -1
  391. package/dist/files/static-files.js +7 -22
  392. package/dist/files/static-files.js.map +1 -1
  393. package/dist/files/tar.d.ts +29 -0
  394. package/dist/files/tar.d.ts.map +1 -0
  395. package/dist/files/tar.js +206 -0
  396. package/dist/files/tar.js.map +1 -0
  397. package/dist/files/upload-types.d.ts +81 -0
  398. package/dist/files/upload-types.d.ts.map +1 -0
  399. package/dist/files/upload-types.js +234 -0
  400. package/dist/files/upload-types.js.map +1 -0
  401. package/dist/forms/protection.d.ts +0 -8
  402. package/dist/forms/protection.d.ts.map +1 -1
  403. package/dist/forms/protection.js +2 -10
  404. package/dist/forms/protection.js.map +1 -1
  405. package/dist/images/icons.d.ts.map +1 -1
  406. package/dist/images/icons.js +2 -0
  407. package/dist/images/icons.js.map +1 -1
  408. package/dist/images/index.d.ts +1 -1
  409. package/dist/images/index.d.ts.map +1 -1
  410. package/dist/images/index.js +1 -1
  411. package/dist/images/index.js.map +1 -1
  412. package/dist/images/markup.d.ts +4 -1
  413. package/dist/images/markup.d.ts.map +1 -1
  414. package/dist/images/markup.js +10 -6
  415. package/dist/images/markup.js.map +1 -1
  416. package/dist/images/paths.d.ts +1 -4
  417. package/dist/images/paths.d.ts.map +1 -1
  418. package/dist/images/paths.js +6 -12
  419. package/dist/images/paths.js.map +1 -1
  420. package/dist/images/variants.d.ts +4 -2
  421. package/dist/images/variants.d.ts.map +1 -1
  422. package/dist/images/variants.js +21 -21
  423. package/dist/images/variants.js.map +1 -1
  424. package/dist/index.d.ts +1 -0
  425. package/dist/index.d.ts.map +1 -1
  426. package/dist/index.js +1 -0
  427. package/dist/index.js.map +1 -1
  428. package/dist/indexnow.d.ts +4 -2
  429. package/dist/indexnow.d.ts.map +1 -1
  430. package/dist/indexnow.js +32 -20
  431. package/dist/indexnow.js.map +1 -1
  432. package/dist/indieauth/tokens.d.ts +0 -2
  433. package/dist/indieauth/tokens.d.ts.map +1 -1
  434. package/dist/indieauth/tokens.js +2 -4
  435. package/dist/indieauth/tokens.js.map +1 -1
  436. package/dist/jobs/file-records.d.ts +13 -0
  437. package/dist/jobs/file-records.d.ts.map +1 -0
  438. package/dist/jobs/file-records.js +104 -0
  439. package/dist/jobs/file-records.js.map +1 -0
  440. package/dist/jobs/in-process.d.ts +10 -0
  441. package/dist/jobs/in-process.d.ts.map +1 -0
  442. package/dist/jobs/in-process.js +45 -0
  443. package/dist/jobs/in-process.js.map +1 -0
  444. package/dist/jobs/lock-file.d.ts +13 -0
  445. package/dist/jobs/lock-file.d.ts.map +1 -0
  446. package/dist/jobs/lock-file.js +107 -0
  447. package/dist/jobs/lock-file.js.map +1 -0
  448. package/dist/jobs/processes.d.ts +11 -0
  449. package/dist/jobs/processes.d.ts.map +1 -0
  450. package/dist/jobs/processes.js +50 -0
  451. package/dist/jobs/processes.js.map +1 -0
  452. package/dist/jobs/queue.d.ts +18 -0
  453. package/dist/jobs/queue.d.ts.map +1 -0
  454. package/dist/jobs/queue.js +220 -0
  455. package/dist/jobs/queue.js.map +1 -0
  456. package/dist/jobs/types.d.ts +159 -0
  457. package/dist/jobs/types.d.ts.map +1 -0
  458. package/dist/jobs/types.js +22 -0
  459. package/dist/jobs/types.js.map +1 -0
  460. package/dist/mail/index.d.ts +0 -2
  461. package/dist/mail/index.d.ts.map +1 -1
  462. package/dist/mail/index.js +0 -1
  463. package/dist/mail/index.js.map +1 -1
  464. package/dist/maintenance.d.ts +5 -42
  465. package/dist/maintenance.d.ts.map +1 -1
  466. package/dist/maintenance.js +4 -67
  467. package/dist/maintenance.js.map +1 -1
  468. package/dist/media/library.d.ts +1 -1
  469. package/dist/media/library.d.ts.map +1 -1
  470. package/dist/media/library.js +4 -1
  471. package/dist/media/library.js.map +1 -1
  472. package/dist/media/uploads.d.ts +1 -1
  473. package/dist/media/uploads.d.ts.map +1 -1
  474. package/dist/media/uploads.js +1 -1
  475. package/dist/media/uploads.js.map +1 -1
  476. package/dist/micropub/endpoint.js +10 -10
  477. package/dist/micropub/endpoint.js.map +1 -1
  478. package/dist/micropub/media.d.ts +0 -2
  479. package/dist/micropub/media.d.ts.map +1 -1
  480. package/dist/micropub/media.js +5 -7
  481. package/dist/micropub/media.js.map +1 -1
  482. package/dist/notifications/comments.d.ts +4 -2
  483. package/dist/notifications/comments.d.ts.map +1 -1
  484. package/dist/notifications/comments.js +77 -65
  485. package/dist/notifications/comments.js.map +1 -1
  486. package/dist/notifications/digest.d.ts +2 -4
  487. package/dist/notifications/digest.d.ts.map +1 -1
  488. package/dist/notifications/digest.js +9 -10
  489. package/dist/notifications/digest.js.map +1 -1
  490. package/dist/notifications/index.d.ts +3 -3
  491. package/dist/notifications/index.d.ts.map +1 -1
  492. package/dist/notifications/index.js +3 -3
  493. package/dist/notifications/index.js.map +1 -1
  494. package/dist/notifications/mail-service.d.ts +10 -8
  495. package/dist/notifications/mail-service.d.ts.map +1 -1
  496. package/dist/notifications/mail-service.js +70 -70
  497. package/dist/notifications/mail-service.js.map +1 -1
  498. package/dist/notifications/optouts.d.ts +0 -2
  499. package/dist/notifications/optouts.d.ts.map +1 -1
  500. package/dist/notifications/optouts.js +2 -4
  501. package/dist/notifications/optouts.js.map +1 -1
  502. package/dist/notifications/tokens.d.ts +0 -2
  503. package/dist/notifications/tokens.d.ts.map +1 -1
  504. package/dist/notifications/tokens.js +2 -28
  505. package/dist/notifications/tokens.js.map +1 -1
  506. package/dist/notify.d.ts +4 -2
  507. package/dist/notify.d.ts.map +1 -1
  508. package/dist/notify.js +27 -15
  509. package/dist/notify.js.map +1 -1
  510. package/dist/plugin.d.ts +36 -16
  511. package/dist/plugin.d.ts.map +1 -1
  512. package/dist/plugin.js +1 -1
  513. package/dist/plugin.js.map +1 -1
  514. package/dist/plugins/changes.d.ts +0 -1
  515. package/dist/plugins/changes.d.ts.map +1 -1
  516. package/dist/plugins/changes.js +2 -3
  517. package/dist/plugins/changes.js.map +1 -1
  518. package/dist/plugins/data.d.ts +19 -0
  519. package/dist/plugins/data.d.ts.map +1 -0
  520. package/dist/plugins/data.js +117 -0
  521. package/dist/plugins/data.js.map +1 -0
  522. package/dist/plugins/enabled.d.ts +1 -13
  523. package/dist/plugins/enabled.d.ts.map +1 -1
  524. package/dist/plugins/enabled.js +11 -23
  525. package/dist/plugins/enabled.js.map +1 -1
  526. package/dist/plugins/install.d.ts +1 -1
  527. package/dist/plugins/install.d.ts.map +1 -1
  528. package/dist/plugins/install.js +7 -42
  529. package/dist/plugins/install.js.map +1 -1
  530. package/dist/plugins/migrate-settings.d.ts +7 -0
  531. package/dist/plugins/migrate-settings.d.ts.map +1 -0
  532. package/dist/plugins/migrate-settings.js +41 -0
  533. package/dist/plugins/migrate-settings.js.map +1 -0
  534. package/dist/plugins/registry.d.ts +10 -14
  535. package/dist/plugins/registry.d.ts.map +1 -1
  536. package/dist/plugins/registry.js +56 -36
  537. package/dist/plugins/registry.js.map +1 -1
  538. package/dist/plugins/settings.d.ts +5 -57
  539. package/dist/plugins/settings.d.ts.map +1 -1
  540. package/dist/plugins/settings.js +47 -180
  541. package/dist/plugins/settings.js.map +1 -1
  542. package/dist/plugins/site.d.ts +2 -1
  543. package/dist/plugins/site.d.ts.map +1 -1
  544. package/dist/plugins/site.js +5 -5
  545. package/dist/plugins/site.js.map +1 -1
  546. package/dist/privacy/retention.d.ts +4 -0
  547. package/dist/privacy/retention.d.ts.map +1 -1
  548. package/dist/privacy/retention.js +12 -5
  549. package/dist/privacy/retention.js.map +1 -1
  550. package/dist/settings/akismet.d.ts +9 -0
  551. package/dist/settings/akismet.d.ts.map +1 -0
  552. package/dist/settings/akismet.js +46 -0
  553. package/dist/settings/akismet.js.map +1 -0
  554. package/dist/settings/declare.d.ts +15 -0
  555. package/dist/settings/declare.d.ts.map +1 -0
  556. package/dist/settings/declare.js +20 -0
  557. package/dist/settings/declare.js.map +1 -0
  558. package/dist/settings/dev-mode.d.ts +29 -0
  559. package/dist/settings/dev-mode.d.ts.map +1 -0
  560. package/dist/settings/dev-mode.js +77 -0
  561. package/dist/settings/dev-mode.js.map +1 -0
  562. package/dist/settings/kinds.d.ts +13 -0
  563. package/dist/settings/kinds.d.ts.map +1 -0
  564. package/dist/settings/kinds.js +108 -0
  565. package/dist/settings/kinds.js.map +1 -0
  566. package/dist/settings/mail.d.ts +10 -0
  567. package/dist/settings/mail.d.ts.map +1 -0
  568. package/dist/settings/mail.js +92 -0
  569. package/dist/settings/mail.js.map +1 -0
  570. package/dist/settings/maintenance.d.ts +6 -0
  571. package/dist/settings/maintenance.d.ts.map +1 -0
  572. package/dist/settings/maintenance.js +33 -0
  573. package/dist/settings/maintenance.js.map +1 -0
  574. package/dist/settings/names.d.ts +7 -0
  575. package/dist/settings/names.d.ts.map +1 -0
  576. package/dist/settings/names.js +31 -0
  577. package/dist/settings/names.js.map +1 -0
  578. package/dist/settings/presence.d.ts +2 -0
  579. package/dist/settings/presence.d.ts.map +1 -0
  580. package/dist/settings/presence.js +7 -0
  581. package/dist/settings/presence.js.map +1 -0
  582. package/dist/settings/registry.d.ts +14 -0
  583. package/dist/settings/registry.d.ts.map +1 -0
  584. package/dist/settings/registry.js +369 -0
  585. package/dist/settings/registry.js.map +1 -0
  586. package/dist/settings/types.d.ts +176 -0
  587. package/dist/settings/types.d.ts.map +1 -0
  588. package/dist/settings/types.js +2 -0
  589. package/dist/settings/types.js.map +1 -0
  590. package/dist/site/namespace.d.ts +88 -0
  591. package/dist/site/namespace.d.ts.map +1 -0
  592. package/dist/site/namespace.js +471 -0
  593. package/dist/site/namespace.js.map +1 -0
  594. package/dist/site/setting-rows.d.ts +9 -10
  595. package/dist/site/setting-rows.d.ts.map +1 -1
  596. package/dist/site/setting-rows.js +109 -228
  597. package/dist/site/setting-rows.js.map +1 -1
  598. package/dist/site/settings-form.d.ts.map +1 -1
  599. package/dist/site/settings-form.js +6 -10
  600. package/dist/site/settings-form.js.map +1 -1
  601. package/dist/site/settings.d.ts +6 -322
  602. package/dist/site/settings.d.ts.map +1 -1
  603. package/dist/site/settings.js +13 -76
  604. package/dist/site/settings.js.map +1 -1
  605. package/dist/site/site-json.d.ts +0 -31
  606. package/dist/site/site-json.d.ts.map +1 -1
  607. package/dist/site/site-json.js +5 -49
  608. package/dist/site/site-json.js.map +1 -1
  609. package/dist/site/users.d.ts +0 -9
  610. package/dist/site/users.d.ts.map +1 -1
  611. package/dist/site/users.js +2 -11
  612. package/dist/site/users.js.map +1 -1
  613. package/dist/store/queue-database.d.ts +11 -0
  614. package/dist/store/queue-database.d.ts.map +1 -0
  615. package/dist/store/queue-database.js +39 -0
  616. package/dist/store/queue-database.js.map +1 -0
  617. package/dist/supervisor/control.d.ts +1 -0
  618. package/dist/supervisor/control.d.ts.map +1 -1
  619. package/dist/supervisor/control.js +10 -0
  620. package/dist/supervisor/control.js.map +1 -1
  621. package/dist/supervisor/primary.d.ts.map +1 -1
  622. package/dist/supervisor/primary.js +15 -3
  623. package/dist/supervisor/primary.js.map +1 -1
  624. package/dist/testing.d.ts +1 -1
  625. package/dist/testing.d.ts.map +1 -1
  626. package/dist/testing.js +1 -1
  627. package/dist/testing.js.map +1 -1
  628. package/dist/theme/site-data.d.ts +1 -1
  629. package/dist/theme/site-data.d.ts.map +1 -1
  630. package/dist/theme/site-data.js.map +1 -1
  631. package/dist/web/asset-routes.d.ts +6 -2
  632. package/dist/web/asset-routes.d.ts.map +1 -1
  633. package/dist/web/asset-routes.js +12 -4
  634. package/dist/web/asset-routes.js.map +1 -1
  635. package/dist/web/comment-routes.d.ts.map +1 -1
  636. package/dist/web/comment-routes.js +4 -4
  637. package/dist/web/comment-routes.js.map +1 -1
  638. package/dist/web/contact-routes.js +1 -1
  639. package/dist/web/contact-routes.js.map +1 -1
  640. package/dist/web/context.d.ts +5 -0
  641. package/dist/web/context.d.ts.map +1 -1
  642. package/dist/web/context.js +9 -4
  643. package/dist/web/context.js.map +1 -1
  644. package/dist/web/conversation.d.ts +1 -1
  645. package/dist/web/conversation.d.ts.map +1 -1
  646. package/dist/web/conversation.js +13 -16
  647. package/dist/web/conversation.js.map +1 -1
  648. package/dist/web/document-page.d.ts.map +1 -1
  649. package/dist/web/document-page.js +5 -4
  650. package/dist/web/document-page.js.map +1 -1
  651. package/dist/web/document-site.d.ts +1 -1
  652. package/dist/web/document-site.d.ts.map +1 -1
  653. package/dist/web/document-site.js +2 -1
  654. package/dist/web/document-site.js.map +1 -1
  655. package/dist/web/embed.js +1 -1
  656. package/dist/web/embed.js.map +1 -1
  657. package/dist/web/env.d.ts +9 -0
  658. package/dist/web/env.d.ts.map +1 -1
  659. package/dist/web/federation-routes.d.ts.map +1 -1
  660. package/dist/web/federation-routes.js +3 -1
  661. package/dist/web/federation-routes.js.map +1 -1
  662. package/dist/web/feed-item.js +1 -1
  663. package/dist/web/feed-item.js.map +1 -1
  664. package/dist/web/feed-routes.d.ts +3 -4
  665. package/dist/web/feed-routes.d.ts.map +1 -1
  666. package/dist/web/feed-routes.js +17 -15
  667. package/dist/web/feed-routes.js.map +1 -1
  668. package/dist/web/health.js +1 -1
  669. package/dist/web/health.js.map +1 -1
  670. package/dist/web/index.d.ts +1 -1
  671. package/dist/web/index.d.ts.map +1 -1
  672. package/dist/web/index.js.map +1 -1
  673. package/dist/web/indieauth-activity-log.d.ts +0 -2
  674. package/dist/web/indieauth-activity-log.d.ts.map +1 -1
  675. package/dist/web/indieauth-activity-log.js +2 -4
  676. package/dist/web/indieauth-activity-log.js.map +1 -1
  677. package/dist/web/indieauth-bearer.js +2 -2
  678. package/dist/web/indieauth-bearer.js.map +1 -1
  679. package/dist/web/indieauth-discovery.d.ts +0 -4
  680. package/dist/web/indieauth-discovery.d.ts.map +1 -1
  681. package/dist/web/indieauth-discovery.js +3 -10
  682. package/dist/web/indieauth-discovery.js.map +1 -1
  683. package/dist/web/indieauth-token.d.ts.map +1 -1
  684. package/dist/web/indieauth-token.js +3 -3
  685. package/dist/web/indieauth-token.js.map +1 -1
  686. package/dist/web/listing-pages.d.ts.map +1 -1
  687. package/dist/web/listing-pages.js +1 -2
  688. package/dist/web/listing-pages.js.map +1 -1
  689. package/dist/web/maintenance.js +3 -3
  690. package/dist/web/maintenance.js.map +1 -1
  691. package/dist/web/page-sources.d.ts +1 -2
  692. package/dist/web/page-sources.d.ts.map +1 -1
  693. package/dist/web/page-sources.js +6 -7
  694. package/dist/web/page-sources.js.map +1 -1
  695. package/dist/web/paths.js +1 -1
  696. package/dist/web/paths.js.map +1 -1
  697. package/dist/web/pingback-routes.d.ts.map +1 -1
  698. package/dist/web/pingback-routes.js +3 -3
  699. package/dist/web/pingback-routes.js.map +1 -1
  700. package/dist/web/plugin-federation.js +50 -40
  701. package/dist/web/plugin-federation.js.map +1 -1
  702. package/dist/web/render.d.ts +12 -5
  703. package/dist/web/render.d.ts.map +1 -1
  704. package/dist/web/render.js +31 -21
  705. package/dist/web/render.js.map +1 -1
  706. package/dist/web/request.js +1 -1
  707. package/dist/web/request.js.map +1 -1
  708. package/dist/web/routes.d.ts.map +1 -1
  709. package/dist/web/routes.js +8 -9
  710. package/dist/web/routes.js.map +1 -1
  711. package/dist/web/site-index.d.ts.map +1 -1
  712. package/dist/web/site-index.js +1 -2
  713. package/dist/web/site-index.js.map +1 -1
  714. package/dist/web/site-view.d.ts +0 -2
  715. package/dist/web/site-view.d.ts.map +1 -1
  716. package/dist/web/site-view.js +0 -2
  717. package/dist/web/site-view.js.map +1 -1
  718. package/dist/web/webmention-routes.d.ts.map +1 -1
  719. package/dist/web/webmention-routes.js +2 -2
  720. package/dist/web/webmention-routes.js.map +1 -1
  721. package/dist/web/well-known.d.ts.map +1 -1
  722. package/dist/web/well-known.js +6 -7
  723. package/dist/web/well-known.js.map +1 -1
  724. package/dist/webmention/cited-picture.js +1 -1
  725. package/dist/webmention/cited-picture.js.map +1 -1
  726. package/dist/webmention/pingback.d.ts +1 -8
  727. package/dist/webmention/pingback.d.ts.map +1 -1
  728. package/dist/webmention/pingback.js +2 -11
  729. package/dist/webmention/pingback.js.map +1 -1
  730. package/dist/webmention/receive.d.ts +3 -1
  731. package/dist/webmention/receive.d.ts.map +1 -1
  732. package/dist/webmention/receive.js +5 -3
  733. package/dist/webmention/receive.js.map +1 -1
  734. package/dist/webmention/reply-contexts.d.ts +14 -3
  735. package/dist/webmention/reply-contexts.d.ts.map +1 -1
  736. package/dist/webmention/reply-contexts.js +12 -10
  737. package/dist/webmention/reply-contexts.js.map +1 -1
  738. package/dist/webmention/service.d.ts +3 -1
  739. package/dist/webmention/service.d.ts.map +1 -1
  740. package/dist/webmention/service.js +66 -53
  741. package/dist/webmention/service.js.map +1 -1
  742. package/package.json +13 -11
  743. package/themes/default/partials/post-list.njk +11 -11
  744. package/themes/default/src/style.css +12 -0
  745. package/themes/default/static/style.css +19 -0
@@ -1,32 +1,6 @@
1
1
  import { createHmac, randomBytes, timingSafeEqual } from 'node:crypto';
2
- import path from 'node:path';
3
2
  import { readFileIfPresentSync, writeFileAtomicallySync } from '../files/atomic.js';
4
- /**
5
- * The thing that makes a link in an email work without a login.
6
- *
7
- * A notification is only worth sending if acting on it is one click. That
8
- * means the link itself has to carry the authority, and the two ways of doing
9
- * that are a random string written down somewhere and a signed claim that
10
- * needs nothing written down. This is the second, for one reason: a link lives
11
- * in an inbox for a week, and `data/geekity.db` is a cache that a site may
12
- * legitimately delete, rebuild or restore from a backup at any moment
13
- * (decision-9). A stack of rows would take every link in flight with it.
14
- *
15
- * So the token says what it is for — approve *this* comment, unsubscribe
16
- * *this* address — and carries an HMAC over exactly that, taken with a secret
17
- * in `data/notification-secret`. Nothing but the secret is needed to check
18
- * one, the claim cannot be edited without breaking the signature, and a token
19
- * signed by one site means nothing to another.
20
- *
21
- * What is *not* in the token is the right to be used twice. That is a row in
22
- * the cache (`spent_tokens`), and it is deliberately the half that a lost
23
- * database forgets: forgetting that a link was spent re-enables an action that
24
- * has already happened and is idempotent — approving an approved comment, or
25
- * deleting one that is gone — whereas forgetting the secret would break every
26
- * link a site had sent.
27
- */
28
- /** Where the signing secret lives, under `dataDir`. */
29
- export const NOTIFICATION_SECRET_FILE = 'notification-secret';
3
+ import { NOTIFICATION_SECRET, dataPath } from '../files/data-files.js';
30
4
  /** Mint a signed link token. It is the whole of what the link carries. */
31
5
  export function signNotificationToken(dataDir, claim, now) {
32
6
  const expiresAt = Math.floor(now.getTime() / 1000) + claim.lifetimeSeconds;
@@ -114,7 +88,7 @@ function matches(expected, given) {
114
88
  * every link a site has sent and costs nothing else.
115
89
  */
116
90
  function notificationSecret(dataDir) {
117
- const file = path.join(dataDir, NOTIFICATION_SECRET_FILE);
91
+ const file = dataPath(dataDir, NOTIFICATION_SECRET);
118
92
  const held = readFileIfPresentSync(file)?.trim();
119
93
  if (held !== undefined && held !== '')
120
94
  return held;
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/notifications/tokens.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/notifications/tokens.ts"],"names":[],"mappings":"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"}
package/dist/notify.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import type { ResolvedConfig } from './config.ts';
2
+ import type { SettingsRegistry } from './settings/types.ts';
2
3
  import type { DocumentChange } from './content/sync.ts';
3
4
  /**
4
5
  * How long one ping is given before it is abandoned.
@@ -34,7 +35,8 @@ export interface CreateFeedNotifierOptions {
34
35
  * scheduled post is held against, and the content directory the settings —
35
36
  * the notify server and the two archive bases — are read from.
36
37
  */
37
- config: Pick<ResolvedConfig, 'baseUrl' | 'contentDir' | 'dataDir' | 'devMode' | 'now'>;
38
+ config: Pick<ResolvedConfig, 'baseUrl' | 'contentDir' | 'dataDir' | 'now'>;
39
+ settings: SettingsRegistry;
38
40
  /** Where failures are reported. Defaults to `console`. */
39
41
  logger?: NotifyLogger | undefined;
40
42
  }
@@ -69,7 +71,7 @@ export interface FeedNotifier {
69
71
  * the post carried before or after it. Absolute, deduplicated, and empty
70
72
  * when the change moved no feed at all.
71
73
  */
72
- feedsFor(change: DocumentChange): string[];
74
+ feedsFor(change: DocumentChange): Promise<string[]>;
73
75
  /** Resolve once every queued ping has finished, however it finished. */
74
76
  settled(): Promise<void>;
75
77
  }
@@ -1 +1 @@
1
- {"version":3,"file":"notify.d.ts","sourceRoot":"","sources":["../src/notify.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAIlD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAaxD;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,QAAS,CAAC;AAExC,6BAA6B;AAC7B,MAAM,WAAW,UAAU;IACzB,0CAA0C;IAC1C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,uCAAuC;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,yDAAyD;AACzD,MAAM,WAAW,YAAY;IAC3B,0EAA0E;IAC1E,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,gEAAgE;IAChE,QAAQ,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,CAAC;CACvC;AAED,wEAAwE;AACxE,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,6CAA6C;AAC7C,MAAM,WAAW,yBAAyB;IACxC;;;;OAIG;IACH,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,SAAS,GAAG,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,KAAK,CAAC,CAAC;IACvF,0DAA0D;IAC1D,MAAM,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;CACnC;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,MAAM,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACvD;;;;;;;OAOG;IACH,MAAM,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAAC;IACrC;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,EAAE,CAAC;IAC3C,wEAAwE;IACxE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,YAAY,CAgGnF"}
1
+ {"version":3,"file":"notify.d.ts","sourceRoot":"","sources":["../src/notify.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAIlD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAaxD;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,QAAS,CAAC;AAExC,6BAA6B;AAC7B,MAAM,WAAW,UAAU;IACzB,0CAA0C;IAC1C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,uCAAuC;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,yDAAyD;AACzD,MAAM,WAAW,YAAY;IAC3B,0EAA0E;IAC1E,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,gEAAgE;IAChE,QAAQ,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,CAAC;CACvC;AAED,wEAAwE;AACxE,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,6CAA6C;AAC7C,MAAM,WAAW,yBAAyB;IACxC;;;;OAIG;IACH,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,SAAS,GAAG,YAAY,GAAG,SAAS,GAAG,KAAK,CAAC,CAAC;IAC3E,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,0DAA0D;IAC1D,MAAM,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;CACnC;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,MAAM,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACvD;;;;;;;OAOG;IACH,MAAM,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAAC;IACrC;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACpD,wEAAwE;IACxE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,YAAY,CAwGnF"}
package/dist/notify.js CHANGED
@@ -2,7 +2,7 @@ import { isMigratedArrival } from './content/migrated.js';
2
2
  import { holdOutbound } from './dev-mode.js';
3
3
  import { isFederatedDocument, isListed } from './content/served.js';
4
4
  import { taxonomyBasesFromSettings } from './site/settings.js';
5
- import { readSiteSettings } from './site/site-json.js';
5
+ import { SITE } from './site/namespace.js';
6
6
  import { messageOf } from './util/errors.js';
7
7
  import { createSerialQueue } from './util/queue.js';
8
8
  import { absoluteUrl } from './util/url.js';
@@ -24,12 +24,13 @@ export const NOTIFY_TIMEOUT_MS = 10_000;
24
24
  * restart — the same way the feeds pick up the new address.
25
25
  */
26
26
  export function createFeedNotifier(options) {
27
- const { config } = options;
27
+ const { config, settings } = options;
28
28
  const logger = options.logger ?? console;
29
29
  const pings = createSerialQueue();
30
+ const gathering = createSerialQueue();
30
31
  /** The server the settings name, or `undefined` when they name none. */
31
- function server() {
32
- return notifyEndpoints(readSiteSettings(config.contentDir).notifyServer);
32
+ async function server() {
33
+ return notifyEndpoints(await settings.get(SITE.notify_server));
33
34
  }
34
35
  /** Tell one server about one feed, answering with what happened. */
35
36
  async function ping(endpoint, url) {
@@ -54,14 +55,18 @@ export function createFeedNotifier(options) {
54
55
  }
55
56
  return {
56
57
  async notify(urls) {
57
- const endpoint = server();
58
+ const endpoint = await server();
58
59
  const wanted = [...new Set(urls)];
59
60
  if (endpoint === undefined || wanted.length === 0)
60
61
  return { pings: [] };
61
- if (holdOutbound(config, { kind: 'feed-ping', what: wanted.join(' '), to: [endpoint.ping] })) {
62
- return { server: endpoint.base, pings: [] };
63
- }
64
62
  return await pings.run(async () => {
63
+ const held = await holdOutbound(settings, config, {
64
+ kind: 'feed-ping',
65
+ what: wanted.join(' '),
66
+ to: [endpoint.ping],
67
+ });
68
+ if (held)
69
+ return { server: endpoint.base, pings: [] };
65
70
  const sent = [];
66
71
  for (const url of wanted) {
67
72
  const result = await ping(endpoint, url);
@@ -73,7 +78,7 @@ export function createFeedNotifier(options) {
73
78
  return { server: endpoint.base, pings: sent };
74
79
  });
75
80
  },
76
- feedsFor(change) {
81
+ async feedsFor(change) {
77
82
  // A full scan is a rebuild of the index, not news about the site: the
78
83
  // boot scan reports a cold index as a directory full of creations, and
79
84
  // pinging for each would announce the whole archive every time somebody
@@ -87,7 +92,7 @@ export function createFeedNotifier(options) {
87
92
  const after = inFeeds(change.next, now);
88
93
  if (before === undefined && after === undefined)
89
94
  return [];
90
- const bases = taxonomyBasesFromSettings(readSiteSettings(config.contentDir));
95
+ const bases = taxonomyBasesFromSettings(await settings.values(SITE));
91
96
  const urls = new Set();
92
97
  for (const format of FEED_FORMATS) {
93
98
  urls.add(absoluteUrl(feedHref(undefined, format, bases), config.baseUrl));
@@ -102,12 +107,19 @@ export function createFeedNotifier(options) {
102
107
  return [...urls];
103
108
  },
104
109
  handle(change) {
105
- const urls = this.feedsFor(change);
106
- if (urls.length > 0)
107
- void this.notify(urls);
110
+ void gathering
111
+ .run(async () => {
112
+ const urls = await this.feedsFor(change);
113
+ if (urls.length > 0)
114
+ await this.notify(urls);
115
+ })
116
+ .catch((thrown) => {
117
+ logger.warn(`Could not work out which feeds changed: ${messageOf(thrown)}`);
118
+ });
108
119
  },
109
- settled() {
110
- return pings.settled();
120
+ async settled() {
121
+ await gathering.settled();
122
+ await pings.settled();
111
123
  },
112
124
  };
113
125
  }
@@ -1 +1 @@
1
- {"version":3,"file":"notify.js","sourceRoot":"","sources":["../src/notify.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAE/D,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAG5D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAyExC;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAkC;IACnE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAC3B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC;IAEzC,MAAM,KAAK,GAAG,iBAAiB,EAAE,CAAC;IAElC,wEAAwE;IACxE,SAAS,MAAM;QACb,OAAO,eAAe,CAAC,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC;IAC3E,CAAC;IAED,oEAAoE;IACpE,KAAK,UAAU,IAAI,CAAC,QAAsB,EAAE,GAAW;QACrD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE;gBAC1C,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,mCAAmC;oBACnD,MAAM,EAAE,kBAAkB;iBAC3B;gBACD,IAAI,EAAE,IAAI,eAAe,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE;gBAC7C,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,iBAAiB,CAAC;aAC/C,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,IAAI,aAAa,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YAC3F,CAAC;YACD,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;QAC3B,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YAChB,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QACtD,CAAC;IACH,CAAC;IAED,OAAO;QACL,KAAK,CAAC,MAAM,CAAC,IAAI;YACf,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC;YAC1B,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YAClC,IAAI,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;YACxE,IACE,YAAY,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EACxF,CAAC;gBACD,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;YAC9C,CAAC;YAED,OAAO,MAAM,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;gBAChC,MAAM,IAAI,GAAiB,EAAE,CAAC;gBAC9B,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;oBACzB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;oBACzC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;wBACf,MAAM,CAAC,IAAI,CAAC,kBAAkB,QAAQ,CAAC,IAAI,UAAU,GAAG,KAAK,MAAM,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC,CAAC;oBACrF,CAAC;oBACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACpB,CAAC;gBACD,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;YAChD,CAAC,CAAC,CAAC;QACL,CAAC;QAED,QAAQ,CAAC,MAAM;YACb,sEAAsE;YACtE,uEAAuE;YACvE,wEAAwE;YACxE,wBAAwB;YACxB,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM;gBAAE,OAAO,EAAE,CAAC;YAExC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;YACzB,IAAI,iBAAiB,CAAC,MAAM,EAAE,GAAG,CAAC;gBAAE,OAAO,EAAE,CAAC;YAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YAC7C,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACxC,IAAI,MAAM,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS;gBAAE,OAAO,EAAE,CAAC;YAE3D,MAAM,KAAK,GAAG,yBAAyB,CAAC,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;YAC7E,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;YAE/B,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;gBAClC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;YAC5E,CAAC;YACD,wEAAwE;YACxE,wCAAwC;YACxC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;gBAC1C,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;oBAClC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;gBACvE,CAAC;YACH,CAAC;YAED,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;QACnB,CAAC;QAED,MAAM,CAAC,MAAM;YACX,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACnC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;gBAAE,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO;YACL,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC;QACzB,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,OAAO,CAAC,QAA8B,EAAE,GAAS;IACxD,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC7C,OAAO,mBAAmB,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9F,CAAC;AAED,6EAA6E;AAC7E,SAAS,OAAO,CAAC,MAA4B,EAAE,KAA2B;IACxE,MAAM,KAAK,GAAmB,EAAE,CAAC;IACjC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,KAAK,MAAM,QAAQ,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;QACvC,IAAI,QAAQ,KAAK,SAAS;YAAE,SAAS;QACrC,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;YAClC,KAAK,MAAM,IAAI,IAAI,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;gBAC5E,MAAM,GAAG,GAAG,GAAG,QAAQ,IAAI,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC;gBACrD,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;oBAAE,SAAS;gBAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACd,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"notify.js","sourceRoot":"","sources":["../src/notify.ts"],"names":[],"mappings":"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"}
package/dist/plugin.d.ts CHANGED
@@ -23,7 +23,7 @@ import type { KvStore } from '@fedify/fedify';
23
23
  * value reshaped, or a behavior a plugin relies on changed. Adding a method, an
24
24
  * optional field or a new extension point keeps the number.
25
25
  */
26
- export declare const HOST_API_VERSION = 1;
26
+ export declare const HOST_API_VERSION = 2;
27
27
  /**
28
28
  * The site federation's key-value store, as Fedify defines it. A plugin that
29
29
  * runs a federation of its own hands it this store, so the two agree about
@@ -195,10 +195,24 @@ export type PluginUploadCheck = {
195
195
  readonly accepted: false;
196
196
  readonly why: string;
197
197
  };
198
- /** The plugin's private folder, `data/plugins/<package name>/`. */
198
+ /**
199
+ * What a file in a plugin's folder is to the site, and so what a site export
200
+ * does with it.
201
+
202
+ *
203
+ * - `kept`: the site cannot be rebuilt without it. Always exported.
204
+ * - `rebuildable`: the plugin makes it again, fetches it again, or falls back
205
+ * to a default. Never exported.
206
+ * - `credential`: typed in again from another service, such as an API key.
207
+ * Exported only when asked, and written at mode `0600`.
208
+ */
209
+ export type PluginDataClass = 'kept' | 'rebuildable' | 'credential';
210
+ /**
211
+ * The plugin's private folder, `data/plugins/<package name>/`. It reads and
212
+ * writes only the files {@link Plugin.data} declares, and throws on any other
213
+ * name.
214
+ */
199
215
  export interface PluginDataFolder {
200
- /** The folder, absolute. */
201
- readonly path: string;
202
216
  /** A file's text, or `undefined` when it is not there. */
203
217
  read(file: string): string | undefined;
204
218
  /**
@@ -248,9 +262,9 @@ export interface PluginFederationContext {
248
262
  * A user's outbox, the activities announcing their posts, or `undefined`
249
263
  * for a user the site does not have.
250
264
  */
251
- outbox(username: string): PluginCollection<JsonLdDocument> | undefined;
265
+ outbox(username: string): Promise<PluginCollection<JsonLdDocument> | undefined>;
252
266
  /** A user's followers, or `undefined` for a user the site does not have. */
253
- followers(username: string): PluginCollection<PluginRecipient> | undefined;
267
+ followers(username: string): Promise<PluginCollection<PluginRecipient> | undefined>;
254
268
  /**
255
269
  * Handle an activity a plugin's inbox verified, as the site's own inbox
256
270
  * handles it. `recipient` is the username of the personal inbox it arrived
@@ -310,7 +324,7 @@ export interface PluginScreenAction {
310
324
  export interface PluginScreen {
311
325
  /** Its heading and its label in the menu. */
312
326
  readonly title: string;
313
- render(context: PluginScreenContext): readonly PluginScreenCard[];
327
+ render(context: PluginScreenContext): readonly PluginScreenCard[] | Promise<readonly PluginScreenCard[]>;
314
328
  /** Buttons core draws under the settings, each run when pressed. */
315
329
  readonly actions?: readonly PluginScreenAction[] | undefined;
316
330
  }
@@ -318,8 +332,8 @@ export interface PluginScreen {
318
332
  interface PluginSettingBase {
319
333
  /**
320
334
  * Lower case words joined by `_`, such as `api_key`. It is the key in
321
- * `site.json` or `secrets.json`, and upper-cased it ends the field's
322
- * environment variable.
335
+ * `settings.json` or `secrets.json` in the plugin's data folder, and
336
+ * upper-cased it ends the field's environment variable.
323
337
  */
324
338
  readonly key: string;
325
339
  readonly label: string;
@@ -371,7 +385,7 @@ export interface PluginSettings<Fields extends readonly PluginSettingField[]> {
371
385
  * The values now, read from the files and the environment on every call. A
372
386
  * stored value the field does not accept is replaced by the field's default.
373
387
  */
374
- current(): PluginSettingValues<Fields>;
388
+ current(): Promise<PluginSettingValues<Fields>>;
375
389
  }
376
390
  /** One option a command takes. */
377
391
  export interface PluginCommandOption {
@@ -557,10 +571,10 @@ export interface PluginHost<Name extends string = string, Requires extends Plugi
557
571
  screen(screen: PluginScreen): void;
558
572
  /**
559
573
  * Declare the plugin's settings, which core draws as a form on its screen.
560
- * At most once per plugin. Public values are kept under the plugin's key in
561
- * `content/_data/site.json`; secrets in `secrets.json` in its data folder,
562
- * or in the environment variable named by the package name, `__` and the
563
- * key, upper-cased with every run of other characters as one `_`.
574
+ * At most once per plugin. Public values are kept in `settings.json` in its
575
+ * data folder and secrets in `secrets.json` beside it. Any of them can be
576
+ * set instead by the environment variable named by the package name, `__`
577
+ * and the key, upper-cased with every run of other characters as one `_`.
564
578
  */
565
579
  settings<const Fields extends readonly PluginSettingField[]>(fields: Fields): PluginSettings<Fields>;
566
580
  /**
@@ -575,8 +589,8 @@ export interface PluginHost<Name extends string = string, Requires extends Plugi
575
589
  * with the page's CSRF token reaches.
576
590
  */
577
591
  editorAction(action: PluginEditorAction): void;
578
- /** The site's base URL and title, read when asked. */
579
- siteInfo(): PluginSiteInfo;
592
+ /** The site's base URL and its title as the settings have it when asked. */
593
+ siteInfo(): Promise<PluginSiteInfo>;
580
594
  /**
581
595
  * `GET` another site's URL. Redirects are followed, at most five, and every
582
596
  * address on the way must be public: a loopback, private or link-local
@@ -622,6 +636,12 @@ export interface Plugin<Name extends string = string, Requires extends PluginReq
622
636
  readonly hostApi: number;
623
637
  /** The plugins it needs installed and enabled before it can be enabled. */
624
638
  readonly requires?: Requires;
639
+ /**
640
+ * Every file it keeps in its folder through {@link PluginHost.data}, by
641
+ * name, with its class. A name is one path segment and may not be
642
+ * `settings.json` or `secrets.json`, which hold its settings.
643
+ */
644
+ readonly data?: Readonly<Record<string, PluginDataClass>>;
625
645
  /**
626
646
  * Called once at boot for every installed plugin, enabled or not, to
627
647
  * declare what the plugin contributes.
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
package/dist/plugin.js CHANGED
@@ -21,7 +21,7 @@
21
21
  * value reshaped, or a behavior a plugin relies on changed. Adding a method, an
22
22
  * optional field or a new extension point keeps the number.
23
23
  */
24
- export const HOST_API_VERSION = 1;
24
+ export const HOST_API_VERSION = 2;
25
25
  /**
26
26
  * The key rule (decision-51), so a plugin that writes comments keys each one
27
27
  * as the site would key the same comment arriving here: a fediverse reply or
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AASlC;;;;;GAKG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;;GAGG;AACH,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAExE;;;;GAIG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,wEAAwE;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAGxD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAsoB7C;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAK1B,MAA8B;IAI9B,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AASlC;;;;;GAKG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;;GAGG;AACH,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAExE;;;;GAIG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,wEAAwE;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAGxD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AA6pB7C;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAK1B,MAA8B;IAI9B,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1,4 +1,3 @@
1
- export declare const PLUGIN_CHANGES_FILE = "plugin-changes.json";
2
1
  export type PluginChange = {
3
2
  readonly action: 'add';
4
3
  readonly name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"changes.d.ts","sourceRoot":"","sources":["../../src/plugins/changes.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AAKzD,MAAM,MAAM,YAAY,GACpB;IACE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC,GACD;IAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAChG;IAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAE7F,MAAM,MAAM,iBAAiB,GAAG,YAAY,GAAG;IAC7C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,6CAA6C;IAC7C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,CAAC;AAgBF,2CAA2C;AAC3C,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAEtE;AAED,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,EACf,EAAE,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,IAAI,CAAA;CAAE,EAC9B,OAAO,EAAE,SAAS,YAAY,EAAE,GAC/B,OAAO,CAAC,IAAI,CAAC,CAYf"}
1
+ {"version":3,"file":"changes.d.ts","sourceRoot":"","sources":["../../src/plugins/changes.ts"],"names":[],"mappings":"AAaA,MAAM,MAAM,YAAY,GACpB;IACE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC,GACD;IAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAChG;IAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAE7F,MAAM,MAAM,iBAAiB,GAAG,YAAY,GAAG;IAC7C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,6CAA6C;IAC7C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,CAAC;AAgBF,2CAA2C;AAC3C,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAEtE;AAED,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,EACf,EAAE,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,IAAI,CAAA;CAAE,EAC9B,OAAO,EAAE,SAAS,YAAY,EAAE,GAC/B,OAAO,CAAC,IAAI,CAAC,CAYf"}
@@ -4,13 +4,12 @@
4
4
  * from anything else, so it is a file (decision-9).
5
5
  */
6
6
  import { randomUUID } from 'node:crypto';
7
- import path from 'node:path';
8
7
  import { readFileIfPresentSync, updateFileAtomically } from '../files/atomic.js';
9
- export const PLUGIN_CHANGES_FILE = 'plugin-changes.json';
8
+ import { PLUGIN_CHANGES, dataPath } from '../files/data-files.js';
10
9
  /** How many changes are kept, newest first. */
11
10
  const PLUGIN_CHANGES_LIMIT = 200;
12
11
  function changesFile(dataDir) {
13
- return path.join(dataDir, PLUGIN_CHANGES_FILE);
12
+ return dataPath(dataDir, PLUGIN_CHANGES);
14
13
  }
15
14
  function parse(text) {
16
15
  if (text === undefined)
@@ -1 +1 @@
1
- {"version":3,"file":"changes.js","sourceRoot":"","sources":["../../src/plugins/changes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAEjF,MAAM,CAAC,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;AAEzD,+CAA+C;AAC/C,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAqBjC,SAAS,WAAW,CAAC,OAAe;IAClC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,KAAK,CAAC,IAAwB;IACrC,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IAClC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAA0B,CAAC;QACzD,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAE,MAAM,CAAC,OAA+B,CAAC,CAAC,CAAC,EAAE,CAAC;IACtF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,2CAA2C;AAC3C,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC/C,OAAO,KAAK,CAAC,qBAAqB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAAe,EACf,EAA8B,EAC9B,OAAgC;IAEhC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IACjC,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC5F,MAAM,oBAAoB,CACxB,WAAW,CAAC,OAAO,CAAC,EACpB,CAAC,OAAO,EAAE,EAAE;QACV,MAAM,OAAO,GAAG,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC;QACvF,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;IACrD,CAAC,EACD,EAAE,IAAI,EAAE,KAAK,EAAE,CAChB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"changes.js","sourceRoot":"","sources":["../../src/plugins/changes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElE,+CAA+C;AAC/C,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAqBjC,SAAS,WAAW,CAAC,OAAe;IAClC,OAAO,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,KAAK,CAAC,IAAwB;IACrC,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IAClC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAA0B,CAAC;QACzD,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAE,MAAM,CAAC,OAA+B,CAAC,CAAC,CAAC,EAAE,CAAC;IACtF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,2CAA2C;AAC3C,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC/C,OAAO,KAAK,CAAC,qBAAqB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAAe,EACf,EAA8B,EAC9B,OAAgC;IAEhC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IACjC,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC5F,MAAM,oBAAoB,CACxB,WAAW,CAAC,OAAO,CAAC,EACpB,CAAC,OAAO,EAAE,EAAE;QACV,MAAM,OAAO,GAAG,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC;QACvF,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;IACrD,CAAC,EACD,EAAE,IAAI,EAAE,KAAK,EAAE,CAChB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { DataFileDeclaration } from '../files/data-files.ts';
2
+ import type { Plugin, PluginDataFolder } from '../plugin.ts';
3
+ import type { SettingsRegistry } from '../settings/types.ts';
4
+ import type { PluginRegistry } from './registry.ts';
5
+ type DeclaringPlugin = Pick<Plugin, 'name' | 'data'>;
6
+ export declare function pluginDataFiles(plugin: DeclaringPlugin): DataFileDeclaration[];
7
+ /** `data/plugins/<package name>/`, holding only the files the plugin's `data` declares. */
8
+ export declare function pluginDataFolder(dataDir: string, plugin: DeclaringPlugin): PluginDataFolder;
9
+ export declare function declaredDataFolder(dataDir: string, name: string, dataFiles: readonly DataFileDeclaration[]): PluginDataFolder;
10
+ export declare function pluginFolderOf(relative: string): string | undefined;
11
+ export declare function unloadedPluginFolder(name: string): DataFileDeclaration[];
12
+ export interface SiteDataFilesOptions {
13
+ readonly dataDir: string;
14
+ readonly settings: SettingsRegistry;
15
+ readonly plugins: PluginRegistry;
16
+ }
17
+ export declare function siteDataFiles({ dataDir, settings, plugins, }: SiteDataFilesOptions): DataFileDeclaration[];
18
+ export {};
19
+ //# sourceMappingURL=data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../src/plugins/data.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAa,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,KAAK,EAAE,MAAM,EAAmB,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAsBpD,KAAK,eAAe,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;AA6BrD,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,mBAAmB,EAAE,CAI9E;AAED,2FAA2F;AAC3F,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,GAAG,gBAAgB,CAE3F;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,SAAS,mBAAmB,EAAE,GACxC,gBAAgB,CA0BlB;AAqBD,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKnE;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,EAAE,CAaxE;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;CAClC;AAED,wBAAgB,aAAa,CAAC,EAC5B,OAAO,EACP,QAAQ,EACR,OAAO,GACR,EAAE,oBAAoB,GAAG,mBAAmB,EAAE,CAW9C"}
@@ -0,0 +1,117 @@
1
+ import { readdirSync } from 'node:fs';
2
+ import path from 'node:path';
3
+ import { readFileIfPresentSync, updateFileAtomically } from '../files/atomic.js';
4
+ import { CORE_DATA_FILES, dataPath, declareDataFile, writtenPrivately, } from '../files/data-files.js';
5
+ import { isNotFound } from '../util/files.js';
6
+ import { pluginsFolderPath, SECRETS_FILE, SETTINGS_FILE } from './settings.js';
7
+ const DATA_FILE_NAME = /^[A-Za-z0-9_-][A-Za-z0-9._-]*$/;
8
+ const PLUGIN_CLASSES = {
9
+ kept: {
10
+ dataClass: { kind: 'kept' },
11
+ lost: 'What the plugin keeps in it, which nothing else holds.',
12
+ },
13
+ rebuildable: {
14
+ dataClass: { kind: 'rebuildable' },
15
+ lost: 'Nothing the plugin cannot make or fetch again.',
16
+ },
17
+ credential: {
18
+ dataClass: { kind: 'credential' },
19
+ lost: 'A credential, typed in again from the service it came from.',
20
+ },
21
+ };
22
+ const PLUGIN_CLASS_NAMES = 'kept, rebuildable or credential';
23
+ function declarePluginFile(plugin, file, kind) {
24
+ const quoted = JSON.stringify(file);
25
+ if (!DATA_FILE_NAME.test(file)) {
26
+ throw new Error(`Its data declares ${quoted}, which is not a file name a plugin can use in its folder.`);
27
+ }
28
+ if (file === SETTINGS_FILE || file === SECRETS_FILE) {
29
+ throw new Error(`Its data declares ${quoted}, which holds its settings.`);
30
+ }
31
+ if (typeof kind !== 'string' || !Object.hasOwn(PLUGIN_CLASSES, kind)) {
32
+ throw new Error(`Its data declares ${quoted} as ${JSON.stringify(kind)}, and a plugin's file is ${PLUGIN_CLASS_NAMES}.`);
33
+ }
34
+ const { dataClass, lost } = PLUGIN_CLASSES[kind];
35
+ return declareDataFile({
36
+ pattern: path.posix.join('plugins', plugin.name, file),
37
+ dataClass,
38
+ lost: `${plugin.name}: ${lost}`,
39
+ });
40
+ }
41
+ export function pluginDataFiles(plugin) {
42
+ return Object.entries(plugin.data ?? {}).map(([file, kind]) => declarePluginFile(plugin, file, kind));
43
+ }
44
+ /** `data/plugins/<package name>/`, holding only the files the plugin's `data` declares. */
45
+ export function pluginDataFolder(dataDir, plugin) {
46
+ return declaredDataFolder(dataDir, plugin.name, pluginDataFiles(plugin));
47
+ }
48
+ export function declaredDataFolder(dataDir, name, dataFiles) {
49
+ const declared = new Map(dataFiles.map((declaration) => [path.posix.basename(declaration.pattern), declaration]));
50
+ function declarationOf(file) {
51
+ const declaration = declared.get(file);
52
+ if (declaration === undefined) {
53
+ throw new Error(`${name} uses ${JSON.stringify(file)} in its folder, which its definition does not declare. Add the file to the plugin's \`data\` field with its class: ${PLUGIN_CLASS_NAMES}.`);
54
+ }
55
+ return declaration;
56
+ }
57
+ return {
58
+ read: (file) => readFileIfPresentSync(dataPath(dataDir, declarationOf(file))),
59
+ async update(file, change) {
60
+ const declaration = declarationOf(file);
61
+ await updateFileAtomically(dataPath(dataDir, declaration), change, writtenPrivately(declaration) ? { mode: 0o600 } : {});
62
+ },
63
+ };
64
+ }
65
+ function pluginFolders(dataDir) {
66
+ const directoriesIn = (folder) => {
67
+ try {
68
+ return readdirSync(folder, { withFileTypes: true })
69
+ .filter((entry) => entry.isDirectory())
70
+ .map((entry) => entry.name);
71
+ }
72
+ catch (error) {
73
+ if (isNotFound(error))
74
+ return [];
75
+ throw error;
76
+ }
77
+ };
78
+ const root = pluginsFolderPath(dataDir);
79
+ return directoriesIn(root).flatMap((name) => name.startsWith('@')
80
+ ? directoriesIn(path.join(root, name)).map((inner) => `${name}/${inner}`)
81
+ : [name]);
82
+ }
83
+ export function pluginFolderOf(relative) {
84
+ const [first, second, third, fourth] = relative.split('/');
85
+ if (first !== 'plugins' || second === undefined || third === undefined)
86
+ return undefined;
87
+ if (!second.startsWith('@'))
88
+ return second;
89
+ return fourth === undefined ? undefined : `${second}/${third}`;
90
+ }
91
+ export function unloadedPluginFolder(name) {
92
+ return [
93
+ declareDataFile({
94
+ pattern: path.posix.join('plugins', name, SECRETS_FILE),
95
+ dataClass: { kind: 'credential' },
96
+ lost: `${name}: the API keys of a plugin that is not loaded.`,
97
+ }),
98
+ declareDataFile({
99
+ pattern: path.posix.join('plugins', name, '**'),
100
+ dataClass: { kind: 'kept' },
101
+ lost: `${name}: the files of a plugin that is not loaded, kept so it can be added again.`,
102
+ }),
103
+ ];
104
+ }
105
+ export function siteDataFiles({ dataDir, settings, plugins, }) {
106
+ const registered = plugins.plugins.filter((entry) => entry.registered);
107
+ const registeredNames = new Set(registered.map((entry) => entry.plugin.name));
108
+ return [
109
+ ...CORE_DATA_FILES,
110
+ ...settings.dataFiles(),
111
+ ...registered.flatMap((entry) => entry.dataFiles),
112
+ ...pluginFolders(dataDir)
113
+ .filter((name) => !registeredNames.has(name))
114
+ .flatMap(unloadedPluginFolder),
115
+ ];
116
+ }
117
+ //# sourceMappingURL=data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data.js","sourceRoot":"","sources":["../../src/plugins/data.ts"],"names":[],"mappings":"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"}