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