@crowi/api 2.0.0-alpha.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/LICENSE +21 -0
- package/dist/app.d.ts +8 -0
- package/dist/app.js +65 -0
- package/dist/app.js.map +1 -0
- package/dist/collab/attach.d.ts +33 -0
- package/dist/collab/attach.js +341 -0
- package/dist/collab/attach.js.map +1 -0
- package/dist/collab/extension-redis.d.ts +25 -0
- package/dist/collab/extension-redis.js +133 -0
- package/dist/collab/extension-redis.js.map +1 -0
- package/dist/common/functions/path2name.d.ts +1 -0
- package/dist/common/functions/path2name.js +22 -0
- package/dist/common/functions/path2name.js.map +1 -0
- package/dist/common/functions/renderIcon.d.ts +1 -0
- package/dist/common/functions/renderIcon.js +9 -0
- package/dist/common/functions/renderIcon.js.map +1 -0
- package/dist/controllers/admin.d.ts +3 -0
- package/dist/controllers/admin.js +474 -0
- package/dist/controllers/admin.js.map +1 -0
- package/dist/controllers/attachment.d.ts +4 -0
- package/dist/controllers/attachment.js +200 -0
- package/dist/controllers/attachment.js.map +1 -0
- package/dist/controllers/backlink.d.ts +3 -0
- package/dist/controllers/backlink.js +42 -0
- package/dist/controllers/backlink.js.map +1 -0
- package/dist/controllers/bookmark.d.ts +3 -0
- package/dist/controllers/bookmark.js +100 -0
- package/dist/controllers/bookmark.js.map +1 -0
- package/dist/controllers/comment.d.ts +3 -0
- package/dist/controllers/comment.js +111 -0
- package/dist/controllers/comment.js.map +1 -0
- package/dist/controllers/index.d.ts +25 -0
- package/dist/controllers/index.js +44 -0
- package/dist/controllers/index.js.map +1 -0
- package/dist/controllers/installer.d.ts +3 -0
- package/dist/controllers/installer.js +48 -0
- package/dist/controllers/installer.js.map +1 -0
- package/dist/controllers/login.d.ts +4 -0
- package/dist/controllers/login.js +438 -0
- package/dist/controllers/login.js.map +1 -0
- package/dist/controllers/logout.d.ts +5 -0
- package/dist/controllers/logout.js +11 -0
- package/dist/controllers/logout.js.map +1 -0
- package/dist/controllers/me.d.ts +4 -0
- package/dist/controllers/me.js +369 -0
- package/dist/controllers/me.js.map +1 -0
- package/dist/controllers/notification.d.ts +3 -0
- package/dist/controllers/notification.js +88 -0
- package/dist/controllers/notification.js.map +1 -0
- package/dist/controllers/page.d.ts +3 -0
- package/dist/controllers/page.js +881 -0
- package/dist/controllers/page.js.map +1 -0
- package/dist/controllers/revision.d.ts +3 -0
- package/dist/controllers/revision.js +91 -0
- package/dist/controllers/revision.js.map +1 -0
- package/dist/controllers/search.d.ts +3 -0
- package/dist/controllers/search.js +93 -0
- package/dist/controllers/search.js.map +1 -0
- package/dist/controllers/share.d.ts +3 -0
- package/dist/controllers/share.js +207 -0
- package/dist/controllers/share.js.map +1 -0
- package/dist/controllers/shareAccess.d.ts +3 -0
- package/dist/controllers/shareAccess.js +28 -0
- package/dist/controllers/shareAccess.js.map +1 -0
- package/dist/controllers/slack.d.ts +3 -0
- package/dist/controllers/slack.js +87 -0
- package/dist/controllers/slack.js.map +1 -0
- package/dist/controllers/tokenAuth.d.ts +10 -0
- package/dist/controllers/tokenAuth.js +292 -0
- package/dist/controllers/tokenAuth.js.map +1 -0
- package/dist/controllers/user.d.ts +3 -0
- package/dist/controllers/user.js +67 -0
- package/dist/controllers/user.js.map +1 -0
- package/dist/controllers/version.d.ts +4 -0
- package/dist/controllers/version.js +19 -0
- package/dist/controllers/version.js.map +1 -0
- package/dist/crowi/express-init.d.ts +4 -0
- package/dist/crowi/express-init.js +101 -0
- package/dist/crowi/express-init.js.map +1 -0
- package/dist/crowi/index.d.ts +245 -0
- package/dist/crowi/index.js +726 -0
- package/dist/crowi/index.js.map +1 -0
- package/dist/events/activity.d.ts +7 -0
- package/dist/events/activity.js +15 -0
- package/dist/events/activity.js.map +1 -0
- package/dist/events/bookmark.d.ts +8 -0
- package/dist/events/bookmark.js +16 -0
- package/dist/events/bookmark.js.map +1 -0
- package/dist/events/comment.d.ts +6 -0
- package/dist/events/comment.js +14 -0
- package/dist/events/comment.js.map +1 -0
- package/dist/events/config.d.ts +6 -0
- package/dist/events/config.js +12 -0
- package/dist/events/config.js.map +1 -0
- package/dist/events/index.d.ts +17 -0
- package/dist/events/index.js +22 -0
- package/dist/events/index.js.map +1 -0
- package/dist/events/mention-dispatch.d.ts +44 -0
- package/dist/events/mention-dispatch.js +151 -0
- package/dist/events/mention-dispatch.js.map +1 -0
- package/dist/events/notification.d.ts +7 -0
- package/dist/events/notification.js +15 -0
- package/dist/events/notification.js.map +1 -0
- package/dist/events/page.d.ts +44 -0
- package/dist/events/page.js +134 -0
- package/dist/events/page.js.map +1 -0
- package/dist/events/render-cache.d.ts +24 -0
- package/dist/events/render-cache.js +63 -0
- package/dist/events/render-cache.js.map +1 -0
- package/dist/events/user.d.ts +9 -0
- package/dist/events/user.js +39 -0
- package/dist/events/user.js.map +1 -0
- package/dist/form/admin/app.d.ts +2 -0
- package/dist/form/admin/app.js +9 -0
- package/dist/form/admin/app.js.map +1 -0
- package/dist/form/admin/auth.d.ts +2 -0
- package/dist/form/admin/auth.js +9 -0
- package/dist/form/admin/auth.js.map +1 -0
- package/dist/form/admin/aws.d.ts +2 -0
- package/dist/form/admin/aws.js +13 -0
- package/dist/form/admin/aws.js.map +1 -0
- package/dist/form/admin/github.d.ts +2 -0
- package/dist/form/admin/github.js +15 -0
- package/dist/form/admin/github.js.map +1 -0
- package/dist/form/admin/google.d.ts +2 -0
- package/dist/form/admin/google.js +13 -0
- package/dist/form/admin/google.js.map +1 -0
- package/dist/form/admin/mail.d.ts +2 -0
- package/dist/form/admin/mail.js +13 -0
- package/dist/form/admin/mail.js.map +1 -0
- package/dist/form/admin/sec.d.ts +2 -0
- package/dist/form/admin/sec.js +10 -0
- package/dist/form/admin/sec.js.map +1 -0
- package/dist/form/admin/slackSetting.d.ts +2 -0
- package/dist/form/admin/slackSetting.js +13 -0
- package/dist/form/admin/slackSetting.js.map +1 -0
- package/dist/form/admin/userEdit.d.ts +2 -0
- package/dist/form/admin/userEdit.js +9 -0
- package/dist/form/admin/userEdit.js.map +1 -0
- package/dist/form/admin/userInvite.d.ts +2 -0
- package/dist/form/admin/userInvite.js +9 -0
- package/dist/form/admin/userInvite.js.map +1 -0
- package/dist/form/comment.d.ts +2 -0
- package/dist/form/comment.js +9 -0
- package/dist/form/comment.js.map +1 -0
- package/dist/form/index.d.ts +25 -0
- package/dist/form/index.js +48 -0
- package/dist/form/index.js.map +1 -0
- package/dist/form/invited.d.ts +2 -0
- package/dist/form/invited.js +13 -0
- package/dist/form/invited.js.map +1 -0
- package/dist/form/login.d.ts +2 -0
- package/dist/form/login.js +11 -0
- package/dist/form/login.js.map +1 -0
- package/dist/form/me/apiToken.d.ts +2 -0
- package/dist/form/me/apiToken.js +9 -0
- package/dist/form/me/apiToken.js.map +1 -0
- package/dist/form/me/password.d.ts +2 -0
- package/dist/form/me/password.js +11 -0
- package/dist/form/me/password.js.map +1 -0
- package/dist/form/me/user.d.ts +2 -0
- package/dist/form/me/user.js +9 -0
- package/dist/form/me/user.js.map +1 -0
- package/dist/form/register.d.ts +2 -0
- package/dist/form/register.js +13 -0
- package/dist/form/register.js.map +1 -0
- package/dist/form/revision.d.ts +2 -0
- package/dist/form/revision.js +13 -0
- package/dist/form/revision.js.map +1 -0
- package/dist/hono/app.d.ts +19 -0
- package/dist/hono/app.js +21 -0
- package/dist/hono/app.js.map +1 -0
- package/dist/hono/handlers/_helpers/errors.d.ts +61 -0
- package/dist/hono/handlers/_helpers/errors.js +51 -0
- package/dist/hono/handlers/_helpers/errors.js.map +1 -0
- package/dist/hono/handlers/_helpers/user-shape.d.ts +46 -0
- package/dist/hono/handlers/_helpers/user-shape.js +23 -0
- package/dist/hono/handlers/_helpers/user-shape.js.map +1 -0
- package/dist/hono/handlers/access-token.d.ts +221 -0
- package/dist/hono/handlers/access-token.js +113 -0
- package/dist/hono/handlers/access-token.js.map +1 -0
- package/dist/hono/handlers/activation.d.ts +117 -0
- package/dist/hono/handlers/activation.js +77 -0
- package/dist/hono/handlers/activation.js.map +1 -0
- package/dist/hono/handlers/admin/app.d.ts +123 -0
- package/dist/hono/handlers/admin/app.js +76 -0
- package/dist/hono/handlers/admin/app.js.map +1 -0
- package/dist/hono/handlers/admin/auth.d.ts +127 -0
- package/dist/hono/handlers/admin/auth.js +91 -0
- package/dist/hono/handlers/admin/auth.js.map +1 -0
- package/dist/hono/handlers/admin/mail.d.ts +168 -0
- package/dist/hono/handlers/admin/mail.js +76 -0
- package/dist/hono/handlers/admin/mail.js.map +1 -0
- package/dist/hono/handlers/admin/plugins.d.ts +409 -0
- package/dist/hono/handlers/admin/plugins.js +257 -0
- package/dist/hono/handlers/admin/plugins.js.map +1 -0
- package/dist/hono/handlers/admin/search.d.ts +57 -0
- package/dist/hono/handlers/admin/search.js +55 -0
- package/dist/hono/handlers/admin/search.js.map +1 -0
- package/dist/hono/handlers/admin/security.d.ts +112 -0
- package/dist/hono/handlers/admin/security.js +71 -0
- package/dist/hono/handlers/admin/security.js.map +1 -0
- package/dist/hono/handlers/admin/share.d.ts +106 -0
- package/dist/hono/handlers/admin/share.js +55 -0
- package/dist/hono/handlers/admin/share.js.map +1 -0
- package/dist/hono/handlers/admin/storage.d.ts +55 -0
- package/dist/hono/handlers/admin/storage.js +40 -0
- package/dist/hono/handlers/admin/storage.js.map +1 -0
- package/dist/hono/handlers/admin/users.d.ts +1230 -0
- package/dist/hono/handlers/admin/users.js +316 -0
- package/dist/hono/handlers/admin/users.js.map +1 -0
- package/dist/hono/handlers/adminCrypto.d.ts +110 -0
- package/dist/hono/handlers/adminCrypto.js +151 -0
- package/dist/hono/handlers/adminCrypto.js.map +1 -0
- package/dist/hono/handlers/app.d.ts +26 -0
- package/dist/hono/handlers/app.js +34 -0
- package/dist/hono/handlers/app.js.map +1 -0
- package/dist/hono/handlers/attachment-stream.d.ts +4 -0
- package/dist/hono/handlers/attachment-stream.js +211 -0
- package/dist/hono/handlers/attachment-stream.js.map +1 -0
- package/dist/hono/handlers/attachment.d.ts +687 -0
- package/dist/hono/handlers/attachment.js +566 -0
- package/dist/hono/handlers/attachment.js.map +1 -0
- package/dist/hono/handlers/autocomplete.d.ts +160 -0
- package/dist/hono/handlers/autocomplete.js +181 -0
- package/dist/hono/handlers/autocomplete.js.map +1 -0
- package/dist/hono/handlers/backlink.d.ts +78 -0
- package/dist/hono/handlers/backlink.js +93 -0
- package/dist/hono/handlers/backlink.js.map +1 -0
- package/dist/hono/handlers/bookmark.d.ts +558 -0
- package/dist/hono/handlers/bookmark.js +166 -0
- package/dist/hono/handlers/bookmark.js.map +1 -0
- package/dist/hono/handlers/comment.d.ts +231 -0
- package/dist/hono/handlers/comment.js +191 -0
- package/dist/hono/handlers/comment.js.map +1 -0
- package/dist/hono/handlers/draft.d.ts +136 -0
- package/dist/hono/handlers/draft.js +191 -0
- package/dist/hono/handlers/draft.js.map +1 -0
- package/dist/hono/handlers/emailChange.d.ts +124 -0
- package/dist/hono/handlers/emailChange.js +79 -0
- package/dist/hono/handlers/emailChange.js.map +1 -0
- package/dist/hono/handlers/installer.d.ts +94 -0
- package/dist/hono/handlers/installer.js +93 -0
- package/dist/hono/handlers/installer.js.map +1 -0
- package/dist/hono/handlers/inviteAccept.d.ts +180 -0
- package/dist/hono/handlers/inviteAccept.js +94 -0
- package/dist/hono/handlers/inviteAccept.js.map +1 -0
- package/dist/hono/handlers/me.d.ts +401 -0
- package/dist/hono/handlers/me.js +390 -0
- package/dist/hono/handlers/me.js.map +1 -0
- package/dist/hono/handlers/notification.d.ts +274 -0
- package/dist/hono/handlers/notification.js +224 -0
- package/dist/hono/handlers/notification.js.map +1 -0
- package/dist/hono/handlers/oauth.d.ts +299 -0
- package/dist/hono/handlers/oauth.js +443 -0
- package/dist/hono/handlers/oauth.js.map +1 -0
- package/dist/hono/handlers/page-collab.d.ts +79 -0
- package/dist/hono/handlers/page-collab.js +98 -0
- package/dist/hono/handlers/page-collab.js.map +1 -0
- package/dist/hono/handlers/page-preview.d.ts +48 -0
- package/dist/hono/handlers/page-preview.js +83 -0
- package/dist/hono/handlers/page-preview.js.map +1 -0
- package/dist/hono/handlers/page.d.ts +2059 -0
- package/dist/hono/handlers/page.js +793 -0
- package/dist/hono/handlers/page.js.map +1 -0
- package/dist/hono/handlers/passwordReset.d.ts +181 -0
- package/dist/hono/handlers/passwordReset.js +101 -0
- package/dist/hono/handlers/passwordReset.js.map +1 -0
- package/dist/hono/handlers/presence.d.ts +178 -0
- package/dist/hono/handlers/presence.js +163 -0
- package/dist/hono/handlers/presence.js.map +1 -0
- package/dist/hono/handlers/revision.d.ts +345 -0
- package/dist/hono/handlers/revision.js +202 -0
- package/dist/hono/handlers/revision.js.map +1 -0
- package/dist/hono/handlers/search.d.ts +208 -0
- package/dist/hono/handlers/search.js +152 -0
- package/dist/hono/handlers/search.js.map +1 -0
- package/dist/hono/handlers/tokenAuth.d.ts +369 -0
- package/dist/hono/handlers/tokenAuth.js +240 -0
- package/dist/hono/handlers/tokenAuth.js.map +1 -0
- package/dist/hono/handlers/user.d.ts +710 -0
- package/dist/hono/handlers/user.js +212 -0
- package/dist/hono/handlers/user.js.map +1 -0
- package/dist/hono/index.d.ts +289 -0
- package/dist/hono/index.js +240 -0
- package/dist/hono/index.js.map +1 -0
- package/dist/hono/middleware/admin.d.ts +5 -0
- package/dist/hono/middleware/admin.js +34 -0
- package/dist/hono/middleware/admin.js.map +1 -0
- package/dist/hono/middleware/auth.d.ts +54 -0
- package/dist/hono/middleware/auth.js +142 -0
- package/dist/hono/middleware/auth.js.map +1 -0
- package/dist/hono/middleware/cors.d.ts +3 -0
- package/dist/hono/middleware/cors.js +86 -0
- package/dist/hono/middleware/cors.js.map +1 -0
- package/dist/hono/middleware/default-hook.d.ts +8 -0
- package/dist/hono/middleware/default-hook.js +17 -0
- package/dist/hono/middleware/default-hook.js.map +1 -0
- package/dist/hono/middleware/error-handler.d.ts +2 -0
- package/dist/hono/middleware/error-handler.js +20 -0
- package/dist/hono/middleware/error-handler.js.map +1 -0
- package/dist/hono/middleware/rate-limit.d.ts +57 -0
- package/dist/hono/middleware/rate-limit.js +42 -0
- package/dist/hono/middleware/rate-limit.js.map +1 -0
- package/dist/hono/middleware/require-scope.d.ts +50 -0
- package/dist/hono/middleware/require-scope.js +64 -0
- package/dist/hono/middleware/require-scope.js.map +1 -0
- package/dist/hono/path-rewrite.d.ts +15 -0
- package/dist/hono/path-rewrite.js +59 -0
- package/dist/hono/path-rewrite.js.map +1 -0
- package/dist/mail/i18n/en.d.ts +2 -0
- package/dist/mail/i18n/en.js +66 -0
- package/dist/mail/i18n/en.js.map +1 -0
- package/dist/mail/i18n/index.d.ts +46 -0
- package/dist/mail/i18n/index.js +31 -0
- package/dist/mail/i18n/index.js.map +1 -0
- package/dist/mail/i18n/ja.d.ts +2 -0
- package/dist/mail/i18n/ja.js +66 -0
- package/dist/mail/i18n/ja.js.map +1 -0
- package/dist/mcp/attach.d.ts +25 -0
- package/dist/mcp/attach.js +104 -0
- package/dist/mcp/attach.js.map +1 -0
- package/dist/mcp/dispatch.d.ts +59 -0
- package/dist/mcp/dispatch.js +70 -0
- package/dist/mcp/dispatch.js.map +1 -0
- package/dist/mcp/result.d.ts +40 -0
- package/dist/mcp/result.js +78 -0
- package/dist/mcp/result.js.map +1 -0
- package/dist/mcp/server.d.ts +67 -0
- package/dist/mcp/server.js +113 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/tools/page.d.ts +2 -0
- package/dist/mcp/tools/page.js +256 -0
- package/dist/mcp/tools/page.js.map +1 -0
- package/dist/mcp/tools/search.d.ts +2 -0
- package/dist/mcp/tools/search.js +36 -0
- package/dist/mcp/tools/search.js.map +1 -0
- package/dist/middlewares/accessTokenParser.d.ts +4 -0
- package/dist/middlewares/accessTokenParser.js +29 -0
- package/dist/middlewares/accessTokenParser.js.map +1 -0
- package/dist/middlewares/adminRequired.d.ts +10 -0
- package/dist/middlewares/adminRequired.js +35 -0
- package/dist/middlewares/adminRequired.js.map +1 -0
- package/dist/middlewares/applicationInstalled.d.ts +3 -0
- package/dist/middlewares/applicationInstalled.js +20 -0
- package/dist/middlewares/applicationInstalled.js.map +1 -0
- package/dist/middlewares/applicationNotInstalled.d.ts +3 -0
- package/dist/middlewares/applicationNotInstalled.js +13 -0
- package/dist/middlewares/applicationNotInstalled.js.map +1 -0
- package/dist/middlewares/basicAuth.d.ts +4 -0
- package/dist/middlewares/basicAuth.js +23 -0
- package/dist/middlewares/basicAuth.js.map +1 -0
- package/dist/middlewares/csrfVerify.d.ts +4 -0
- package/dist/middlewares/csrfVerify.js +24 -0
- package/dist/middlewares/csrfVerify.js.map +1 -0
- package/dist/middlewares/encodeSpace.d.ts +3 -0
- package/dist/middlewares/encodeSpace.js +14 -0
- package/dist/middlewares/encodeSpace.js.map +1 -0
- package/dist/middlewares/fileAccessRightOrLoginRequired.d.ts +4 -0
- package/dist/middlewares/fileAccessRightOrLoginRequired.js +29 -0
- package/dist/middlewares/fileAccessRightOrLoginRequired.js.map +1 -0
- package/dist/middlewares/index.d.ts +16 -0
- package/dist/middlewares/index.js +30 -0
- package/dist/middlewares/index.js.map +1 -0
- package/dist/middlewares/jwtAdminRequired.d.ts +8 -0
- package/dist/middlewares/jwtAdminRequired.js +35 -0
- package/dist/middlewares/jwtAdminRequired.js.map +1 -0
- package/dist/middlewares/jwtAuth.d.ts +4 -0
- package/dist/middlewares/jwtAuth.js +104 -0
- package/dist/middlewares/jwtAuth.js.map +1 -0
- package/dist/middlewares/loginChecker.d.ts +4 -0
- package/dist/middlewares/loginChecker.js +32 -0
- package/dist/middlewares/loginChecker.js.map +1 -0
- package/dist/middlewares/loginRequired.d.ts +4 -0
- package/dist/middlewares/loginRequired.js +88 -0
- package/dist/middlewares/loginRequired.js.map +1 -0
- package/dist/migration/cli-api.d.ts +83 -0
- package/dist/migration/cli-api.js +128 -0
- package/dist/migration/cli-api.js.map +1 -0
- package/dist/migration/migrations/index.d.ts +12 -0
- package/dist/migration/migrations/index.js +24 -0
- package/dist/migration/migrations/index.js.map +1 -0
- package/dist/migration/migrations/page-status-default.d.ts +25 -0
- package/dist/migration/migrations/page-status-default.js +79 -0
- package/dist/migration/migrations/page-status-default.js.map +1 -0
- package/dist/migration/migrations/revisions-schema-unify.d.ts +33 -0
- package/dist/migration/migrations/revisions-schema-unify.js +88 -0
- package/dist/migration/migrations/revisions-schema-unify.js.map +1 -0
- package/dist/migration/migrations/user-unique-prepare.d.ts +1 -0
- package/dist/migration/migrations/user-unique-prepare.js +214 -0
- package/dist/migration/migrations/user-unique-prepare.js.map +1 -0
- package/dist/migration/migrations/wikilink-format.d.ts +97 -0
- package/dist/migration/migrations/wikilink-format.js +418 -0
- package/dist/migration/migrations/wikilink-format.js.map +1 -0
- package/dist/migration/rebuild-api.d.ts +50 -0
- package/dist/migration/rebuild-api.js +45 -0
- package/dist/migration/rebuild-api.js.map +1 -0
- package/dist/migration/rebuild-runner.d.ts +64 -0
- package/dist/migration/rebuild-runner.js +42 -0
- package/dist/migration/rebuild-runner.js.map +1 -0
- package/dist/migration/rebuilds/index.d.ts +26 -0
- package/dist/migration/rebuilds/index.js +69 -0
- package/dist/migration/rebuilds/index.js.map +1 -0
- package/dist/migration/registry.d.ts +15 -0
- package/dist/migration/registry.js +96 -0
- package/dist/migration/registry.js.map +1 -0
- package/dist/migration/run-boot-migrations.d.ts +31 -0
- package/dist/migration/run-boot-migrations.js +95 -0
- package/dist/migration/run-boot-migrations.js.map +1 -0
- package/dist/migration/runner.d.ts +120 -0
- package/dist/migration/runner.js +276 -0
- package/dist/migration/runner.js.map +1 -0
- package/dist/migration/types.d.ts +153 -0
- package/dist/migration/types.js +13 -0
- package/dist/migration/types.js.map +1 -0
- package/dist/models/activity.d.ts +34 -0
- package/dist/models/activity.js +263 -0
- package/dist/models/activity.js.map +1 -0
- package/dist/models/attachment.d.ts +25 -0
- package/dist/models/attachment.js +82 -0
- package/dist/models/attachment.js.map +1 -0
- package/dist/models/backlink.d.ts +19 -0
- package/dist/models/backlink.js +138 -0
- package/dist/models/backlink.js.map +1 -0
- package/dist/models/bookmark.d.ts +28 -0
- package/dist/models/bookmark.js +136 -0
- package/dist/models/bookmark.js.map +1 -0
- package/dist/models/comment.d.ts +21 -0
- package/dist/models/comment.js +87 -0
- package/dist/models/comment.js.map +1 -0
- package/dist/models/config-sensitive.d.ts +21 -0
- package/dist/models/config-sensitive.js +71 -0
- package/dist/models/config-sensitive.js.map +1 -0
- package/dist/models/config.d.ts +34 -0
- package/dist/models/config.js +161 -0
- package/dist/models/config.js.map +1 -0
- package/dist/models/index.d.ts +30 -0
- package/dist/models/index.js +55 -0
- package/dist/models/index.js.map +1 -0
- package/dist/models/migration-application.d.ts +54 -0
- package/dist/models/migration-application.js +36 -0
- package/dist/models/migration-application.js.map +1 -0
- package/dist/models/notification.d.ts +28 -0
- package/dist/models/notification.js +285 -0
- package/dist/models/notification.js.map +1 -0
- package/dist/models/oauth-authorization-code.d.ts +34 -0
- package/dist/models/oauth-authorization-code.js +100 -0
- package/dist/models/oauth-authorization-code.js.map +1 -0
- package/dist/models/oauth-client.d.ts +36 -0
- package/dist/models/oauth-client.js +56 -0
- package/dist/models/oauth-client.js.map +1 -0
- package/dist/models/oauth-device-code.d.ts +55 -0
- package/dist/models/oauth-device-code.js +158 -0
- package/dist/models/oauth-device-code.js.map +1 -0
- package/dist/models/oauth-refresh-token.d.ts +31 -0
- package/dist/models/oauth-refresh-token.js +118 -0
- package/dist/models/oauth-refresh-token.js.map +1 -0
- package/dist/models/page-yjs-update.d.ts +35 -0
- package/dist/models/page-yjs-update.js +33 -0
- package/dist/models/page-yjs-update.js.map +1 -0
- package/dist/models/page.d.ts +200 -0
- package/dist/models/page.js +1117 -0
- package/dist/models/page.js.map +1 -0
- package/dist/models/personal-access-token.d.ts +30 -0
- package/dist/models/personal-access-token.js +107 -0
- package/dist/models/personal-access-token.js.map +1 -0
- package/dist/models/plugin-render-cache.d.ts +40 -0
- package/dist/models/plugin-render-cache.js +39 -0
- package/dist/models/plugin-render-cache.js.map +1 -0
- package/dist/models/revision.d.ts +145 -0
- package/dist/models/revision.js +241 -0
- package/dist/models/revision.js.map +1 -0
- package/dist/models/share.d.ts +38 -0
- package/dist/models/share.js +137 -0
- package/dist/models/share.js.map +1 -0
- package/dist/models/shareAccess.d.ts +20 -0
- package/dist/models/shareAccess.js +45 -0
- package/dist/models/shareAccess.js.map +1 -0
- package/dist/models/tracking.d.ts +14 -0
- package/dist/models/tracking.js +14 -0
- package/dist/models/tracking.js.map +1 -0
- package/dist/models/updatePost.d.ts +25 -0
- package/dist/models/updatePost.js +87 -0
- package/dist/models/updatePost.js.map +1 -0
- package/dist/models/user.d.ts +144 -0
- package/dist/models/user.js +681 -0
- package/dist/models/user.js.map +1 -0
- package/dist/models/watcher.d.ts +23 -0
- package/dist/models/watcher.js +75 -0
- package/dist/models/watcher.js.map +1 -0
- package/dist/notifications/attach.d.ts +63 -0
- package/dist/notifications/attach.js +426 -0
- package/dist/notifications/attach.js.map +1 -0
- package/dist/notifications/channel.d.ts +13 -0
- package/dist/notifications/channel.js +18 -0
- package/dist/notifications/channel.js.map +1 -0
- package/dist/plugin/index.d.ts +2 -0
- package/dist/plugin/index.js +6 -0
- package/dist/plugin/index.js.map +1 -0
- package/dist/plugin/plugin-context.d.ts +22 -0
- package/dist/plugin/plugin-context.js +126 -0
- package/dist/plugin/plugin-context.js.map +1 -0
- package/dist/plugin/plugin-manager.d.ts +164 -0
- package/dist/plugin/plugin-manager.js +328 -0
- package/dist/plugin/plugin-manager.js.map +1 -0
- package/dist/plugin/plugin-namespace.d.ts +28 -0
- package/dist/plugin/plugin-namespace.js +53 -0
- package/dist/plugin/plugin-namespace.js.map +1 -0
- package/dist/plugin/registries.d.ts +38 -0
- package/dist/plugin/registries.js +71 -0
- package/dist/plugin/registries.js.map +1 -0
- package/dist/plugin/schema-serializer.d.ts +34 -0
- package/dist/plugin/schema-serializer.js +122 -0
- package/dist/plugin/schema-serializer.js.map +1 -0
- package/dist/plugin/topo-sort.d.ts +15 -0
- package/dist/plugin/topo-sort.js +59 -0
- package/dist/plugin/topo-sort.js.map +1 -0
- package/dist/presence/attach.d.ts +36 -0
- package/dist/presence/attach.js +399 -0
- package/dist/presence/attach.js.map +1 -0
- package/dist/renderer/__fixtures__/echo-embed.d.ts +27 -0
- package/dist/renderer/__fixtures__/echo-embed.js +24 -0
- package/dist/renderer/__fixtures__/echo-embed.js.map +1 -0
- package/dist/renderer/cache/index.d.ts +60 -0
- package/dist/renderer/cache/index.js +219 -0
- package/dist/renderer/cache/index.js.map +1 -0
- package/dist/renderer/cache/mongodb-cache.d.ts +82 -0
- package/dist/renderer/cache/mongodb-cache.js +180 -0
- package/dist/renderer/cache/mongodb-cache.js.map +1 -0
- package/dist/renderer/cache/reservation.d.ts +20 -0
- package/dist/renderer/cache/reservation.js +115 -0
- package/dist/renderer/cache/reservation.js.map +1 -0
- package/dist/renderer/core/_mdast-walk.d.ts +35 -0
- package/dist/renderer/core/_mdast-walk.js +45 -0
- package/dist/renderer/core/_mdast-walk.js.map +1 -0
- package/dist/renderer/core/code-block-dispatch.d.ts +31 -0
- package/dist/renderer/core/code-block-dispatch.js +166 -0
- package/dist/renderer/core/code-block-dispatch.js.map +1 -0
- package/dist/renderer/core/code-blocks.d.ts +12 -0
- package/dist/renderer/core/code-blocks.js +32 -0
- package/dist/renderer/core/code-blocks.js.map +1 -0
- package/dist/renderer/core/embed-tags.d.ts +14 -0
- package/dist/renderer/core/embed-tags.js +154 -0
- package/dist/renderer/core/embed-tags.js.map +1 -0
- package/dist/renderer/core/headings.d.ts +16 -0
- package/dist/renderer/core/headings.js +31 -0
- package/dist/renderer/core/headings.js.map +1 -0
- package/dist/renderer/core/index.d.ts +65 -0
- package/dist/renderer/core/index.js +83 -0
- package/dist/renderer/core/index.js.map +1 -0
- package/dist/renderer/core/mention-resolve.d.ts +39 -0
- package/dist/renderer/core/mention-resolve.js +75 -0
- package/dist/renderer/core/mention-resolve.js.map +1 -0
- package/dist/renderer/core/mentions.d.ts +2 -0
- package/dist/renderer/core/mentions.js +83 -0
- package/dist/renderer/core/mentions.js.map +1 -0
- package/dist/renderer/core/syntax-highlight.d.ts +21 -0
- package/dist/renderer/core/syntax-highlight.js +64 -0
- package/dist/renderer/core/syntax-highlight.js.map +1 -0
- package/dist/renderer/core/url-inline-expand.d.ts +9 -0
- package/dist/renderer/core/url-inline-expand.js +157 -0
- package/dist/renderer/core/url-inline-expand.js.map +1 -0
- package/dist/renderer/core/wikilinks.d.ts +2 -0
- package/dist/renderer/core/wikilinks.js +118 -0
- package/dist/renderer/core/wikilinks.js.map +1 -0
- package/dist/renderer/index.d.ts +67 -0
- package/dist/renderer/index.js +99 -0
- package/dist/renderer/index.js.map +1 -0
- package/dist/renderer/pipeline.d.ts +134 -0
- package/dist/renderer/pipeline.js +203 -0
- package/dist/renderer/pipeline.js.map +1 -0
- package/dist/renderer/registry.d.ts +83 -0
- package/dist/renderer/registry.js +130 -0
- package/dist/renderer/registry.js.map +1 -0
- package/dist/renderer/serialize.d.ts +27 -0
- package/dist/renderer/serialize.js +46 -0
- package/dist/renderer/serialize.js.map +1 -0
- package/dist/renderer/version.d.ts +30 -0
- package/dist/renderer/version.js +34 -0
- package/dist/renderer/version.js.map +1 -0
- package/dist/routes/admin.d.ts +4 -0
- package/dist/routes/admin.js +17 -0
- package/dist/routes/admin.js.map +1 -0
- package/dist/routes/api/admin.d.ts +4 -0
- package/dist/routes/api/admin.js +37 -0
- package/dist/routes/api/admin.js.map +1 -0
- package/dist/routes/api/attachment.d.ts +4 -0
- package/dist/routes/api/attachment.js +19 -0
- package/dist/routes/api/attachment.js.map +1 -0
- package/dist/routes/api/bookmark.d.ts +4 -0
- package/dist/routes/api/bookmark.js +15 -0
- package/dist/routes/api/bookmark.js.map +1 -0
- package/dist/routes/api/comment.d.ts +4 -0
- package/dist/routes/api/comment.js +14 -0
- package/dist/routes/api/comment.js.map +1 -0
- package/dist/routes/api/index.d.ts +4 -0
- package/dist/routes/api/index.js +36 -0
- package/dist/routes/api/index.js.map +1 -0
- package/dist/routes/api/like.d.ts +4 -0
- package/dist/routes/api/like.js +13 -0
- package/dist/routes/api/like.js.map +1 -0
- package/dist/routes/api/notification.d.ts +4 -0
- package/dist/routes/api/notification.js +15 -0
- package/dist/routes/api/notification.js.map +1 -0
- package/dist/routes/api/page.d.ts +4 -0
- package/dist/routes/api/page.js +24 -0
- package/dist/routes/api/page.js.map +1 -0
- package/dist/routes/api/revision.d.ts +4 -0
- package/dist/routes/api/revision.js +14 -0
- package/dist/routes/api/revision.js.map +1 -0
- package/dist/routes/api/share.d.ts +4 -0
- package/dist/routes/api/share.js +16 -0
- package/dist/routes/api/share.js.map +1 -0
- package/dist/routes/api/version.d.ts +4 -0
- package/dist/routes/api/version.js +10 -0
- package/dist/routes/api/version.js.map +1 -0
- package/dist/routes/index.d.ts +4 -0
- package/dist/routes/index.js +71 -0
- package/dist/routes/index.js.map +1 -0
- package/dist/routes/login.d.ts +4 -0
- package/dist/routes/login.js +18 -0
- package/dist/routes/login.js.map +1 -0
- package/dist/routes/me.d.ts +4 -0
- package/dist/routes/me.js +24 -0
- package/dist/routes/me.js.map +1 -0
- package/dist/routes/ts-rest/admin/app.d.ts +4 -0
- package/dist/routes/ts-rest/admin/app.js +67 -0
- package/dist/routes/ts-rest/admin/app.js.map +1 -0
- package/dist/routes/ts-rest/admin/auth.d.ts +4 -0
- package/dist/routes/ts-rest/admin/auth.js +95 -0
- package/dist/routes/ts-rest/admin/auth.js.map +1 -0
- package/dist/routes/ts-rest/admin/index.d.ts +10 -0
- package/dist/routes/ts-rest/admin/index.js +35 -0
- package/dist/routes/ts-rest/admin/index.js.map +1 -0
- package/dist/routes/ts-rest/admin/mail.d.ts +4 -0
- package/dist/routes/ts-rest/admin/mail.js +156 -0
- package/dist/routes/ts-rest/admin/mail.js.map +1 -0
- package/dist/routes/ts-rest/admin/plugins.d.ts +4 -0
- package/dist/routes/ts-rest/admin/plugins.js +317 -0
- package/dist/routes/ts-rest/admin/plugins.js.map +1 -0
- package/dist/routes/ts-rest/admin/search.d.ts +4 -0
- package/dist/routes/ts-rest/admin/search.js +67 -0
- package/dist/routes/ts-rest/admin/search.js.map +1 -0
- package/dist/routes/ts-rest/admin/security.d.ts +4 -0
- package/dist/routes/ts-rest/admin/security.js +114 -0
- package/dist/routes/ts-rest/admin/security.js.map +1 -0
- package/dist/routes/ts-rest/admin/share.d.ts +4 -0
- package/dist/routes/ts-rest/admin/share.js +69 -0
- package/dist/routes/ts-rest/admin/share.js.map +1 -0
- package/dist/routes/ts-rest/admin/storage.d.ts +4 -0
- package/dist/routes/ts-rest/admin/storage.js +59 -0
- package/dist/routes/ts-rest/admin/storage.js.map +1 -0
- package/dist/routes/ts-rest/admin/users.d.ts +4 -0
- package/dist/routes/ts-rest/admin/users.js +215 -0
- package/dist/routes/ts-rest/admin/users.js.map +1 -0
- package/dist/routes/ts-rest/adminCrypto.d.ts +4 -0
- package/dist/routes/ts-rest/adminCrypto.js +111 -0
- package/dist/routes/ts-rest/adminCrypto.js.map +1 -0
- package/dist/routes/ts-rest/app.d.ts +4 -0
- package/dist/routes/ts-rest/app.js +23 -0
- package/dist/routes/ts-rest/app.js.map +1 -0
- package/dist/routes/ts-rest/attachment.d.ts +4 -0
- package/dist/routes/ts-rest/attachment.js +830 -0
- package/dist/routes/ts-rest/attachment.js.map +1 -0
- package/dist/routes/ts-rest/auth.d.ts +4 -0
- package/dist/routes/ts-rest/auth.js +70 -0
- package/dist/routes/ts-rest/auth.js.map +1 -0
- package/dist/routes/ts-rest/autocomplete.d.ts +30 -0
- package/dist/routes/ts-rest/autocomplete.js +189 -0
- package/dist/routes/ts-rest/autocomplete.js.map +1 -0
- package/dist/routes/ts-rest/backlink.d.ts +4 -0
- package/dist/routes/ts-rest/backlink.js +106 -0
- package/dist/routes/ts-rest/backlink.js.map +1 -0
- package/dist/routes/ts-rest/bookmark.d.ts +4 -0
- package/dist/routes/ts-rest/bookmark.js +189 -0
- package/dist/routes/ts-rest/bookmark.js.map +1 -0
- package/dist/routes/ts-rest/comment.d.ts +4 -0
- package/dist/routes/ts-rest/comment.js +217 -0
- package/dist/routes/ts-rest/comment.js.map +1 -0
- package/dist/routes/ts-rest/draft.d.ts +22 -0
- package/dist/routes/ts-rest/draft.js +200 -0
- package/dist/routes/ts-rest/draft.js.map +1 -0
- package/dist/routes/ts-rest/index.d.ts +4 -0
- package/dist/routes/ts-rest/index.js +103 -0
- package/dist/routes/ts-rest/index.js.map +1 -0
- package/dist/routes/ts-rest/installer.d.ts +4 -0
- package/dist/routes/ts-rest/installer.js +77 -0
- package/dist/routes/ts-rest/installer.js.map +1 -0
- package/dist/routes/ts-rest/me.d.ts +4 -0
- package/dist/routes/ts-rest/me.js +410 -0
- package/dist/routes/ts-rest/me.js.map +1 -0
- package/dist/routes/ts-rest/notification.d.ts +4 -0
- package/dist/routes/ts-rest/notification.js +241 -0
- package/dist/routes/ts-rest/notification.js.map +1 -0
- package/dist/routes/ts-rest/page-collab.d.ts +29 -0
- package/dist/routes/ts-rest/page-collab.js +90 -0
- package/dist/routes/ts-rest/page-collab.js.map +1 -0
- package/dist/routes/ts-rest/page-preview.d.ts +26 -0
- package/dist/routes/ts-rest/page-preview.js +80 -0
- package/dist/routes/ts-rest/page-preview.js.map +1 -0
- package/dist/routes/ts-rest/page.d.ts +4 -0
- package/dist/routes/ts-rest/page.js +676 -0
- package/dist/routes/ts-rest/page.js.map +1 -0
- package/dist/routes/ts-rest/presence.d.ts +30 -0
- package/dist/routes/ts-rest/presence.js +155 -0
- package/dist/routes/ts-rest/presence.js.map +1 -0
- package/dist/routes/ts-rest/revision.d.ts +4 -0
- package/dist/routes/ts-rest/revision.js +240 -0
- package/dist/routes/ts-rest/revision.js.map +1 -0
- package/dist/routes/ts-rest/search.d.ts +4 -0
- package/dist/routes/ts-rest/search.js +121 -0
- package/dist/routes/ts-rest/search.js.map +1 -0
- package/dist/routes/ts-rest/tokenAuth.d.ts +4 -0
- package/dist/routes/ts-rest/tokenAuth.js +94 -0
- package/dist/routes/ts-rest/tokenAuth.js.map +1 -0
- package/dist/routes/ts-rest/user.d.ts +4 -0
- package/dist/routes/ts-rest/user.js +307 -0
- package/dist/routes/ts-rest/user.js.map +1 -0
- package/dist/service/config.d.ts +50 -0
- package/dist/service/config.js +202 -0
- package/dist/service/config.js.map +1 -0
- package/dist/service/lru.d.ts +11 -0
- package/dist/service/lru.js +47 -0
- package/dist/service/lru.js.map +1 -0
- package/dist/service/mail.d.ts +107 -0
- package/dist/service/mail.js +220 -0
- package/dist/service/mail.js.map +1 -0
- package/dist/service/notification.d.ts +9 -0
- package/dist/service/notification.js +19 -0
- package/dist/service/notification.js.map +1 -0
- package/dist/service/presence.d.ts +219 -0
- package/dist/service/presence.js +602 -0
- package/dist/service/presence.js.map +1 -0
- package/dist/types/error.d.ts +13 -0
- package/dist/types/error.js +13 -0
- package/dist/types/error.js.map +1 -0
- package/dist/types/express.d.ts +34 -0
- package/dist/types/express.js +50 -0
- package/dist/types/express.js.map +1 -0
- package/dist/types/mongoose-extensions.d.ts +8 -0
- package/dist/types/mongoose-extensions.js +24 -0
- package/dist/types/mongoose-extensions.js.map +1 -0
- package/dist/util/accessTokenParser.d.ts +1 -0
- package/dist/util/accessTokenParser.js +34 -0
- package/dist/util/accessTokenParser.js.map +1 -0
- package/dist/util/activityDefine.d.ts +15 -0
- package/dist/util/activityDefine.js +52 -0
- package/dist/util/activityDefine.js.map +1 -0
- package/dist/util/admin-config.d.ts +57 -0
- package/dist/util/admin-config.js +99 -0
- package/dist/util/admin-config.js.map +1 -0
- package/dist/util/admin-pager.d.ts +24 -0
- package/dist/util/admin-pager.js +73 -0
- package/dist/util/admin-pager.js.map +1 -0
- package/dist/util/apiPaginate.d.ts +11 -0
- package/dist/util/apiPaginate.js +33 -0
- package/dist/util/apiPaginate.js.map +1 -0
- package/dist/util/apiResponse.d.ts +9 -0
- package/dist/util/apiResponse.js +23 -0
- package/dist/util/apiResponse.js.map +1 -0
- package/dist/util/auth.d.ts +11 -0
- package/dist/util/auth.js +48 -0
- package/dist/util/auth.js.map +1 -0
- package/dist/util/auto-watch.d.ts +35 -0
- package/dist/util/auto-watch.js +24 -0
- package/dist/util/auto-watch.js.map +1 -0
- package/dist/util/autocomplete-match.d.ts +44 -0
- package/dist/util/autocomplete-match.js +80 -0
- package/dist/util/autocomplete-match.js.map +1 -0
- package/dist/util/aws-config-migration.d.ts +11 -0
- package/dist/util/aws-config-migration.js +68 -0
- package/dist/util/aws-config-migration.js.map +1 -0
- package/dist/util/boot-reporter.d.ts +130 -0
- package/dist/util/boot-reporter.js +242 -0
- package/dist/util/boot-reporter.js.map +1 -0
- package/dist/util/collab-cap.d.ts +39 -0
- package/dist/util/collab-cap.js +90 -0
- package/dist/util/collab-cap.js.map +1 -0
- package/dist/util/crypto.d.ts +39 -0
- package/dist/util/crypto.js +105 -0
- package/dist/util/crypto.js.map +1 -0
- package/dist/util/dedup-users.d.ts +96 -0
- package/dist/util/dedup-users.js +149 -0
- package/dist/util/dedup-users.js.map +1 -0
- package/dist/util/editor-cap-counter.d.ts +90 -0
- package/dist/util/editor-cap-counter.js +175 -0
- package/dist/util/editor-cap-counter.js.map +1 -0
- package/dist/util/fileUploader.d.ts +55 -0
- package/dist/util/fileUploader.js +70 -0
- package/dist/util/fileUploader.js.map +1 -0
- package/dist/util/formUtil.d.ts +2 -0
- package/dist/util/formUtil.js +15 -0
- package/dist/util/formUtil.js.map +1 -0
- package/dist/util/githubAuth.d.ts +2 -0
- package/dist/util/githubAuth.js +82 -0
- package/dist/util/githubAuth.js.map +1 -0
- package/dist/util/googleAuth.d.ts +2 -0
- package/dist/util/googleAuth.js +85 -0
- package/dist/util/googleAuth.js.map +1 -0
- package/dist/util/jwt.d.ts +50 -0
- package/dist/util/jwt.js +127 -0
- package/dist/util/jwt.js.map +1 -0
- package/dist/util/linkDetector.d.ts +3 -0
- package/dist/util/linkDetector.js +91 -0
- package/dist/util/linkDetector.js.map +1 -0
- package/dist/util/mail-token.d.ts +24 -0
- package/dist/util/mail-token.js +117 -0
- package/dist/util/mail-token.js.map +1 -0
- package/dist/util/mailer.d.ts +7 -0
- package/dist/util/mailer.js +98 -0
- package/dist/util/mailer.js.map +1 -0
- package/dist/util/map-duplicate-key-error.d.ts +26 -0
- package/dist/util/map-duplicate-key-error.js +41 -0
- package/dist/util/map-duplicate-key-error.js.map +1 -0
- package/dist/util/mongoose-paginate.d.ts +10 -0
- package/dist/util/mongoose-paginate.js +23 -0
- package/dist/util/mongoose-paginate.js.map +1 -0
- package/dist/util/notifications-token.d.ts +35 -0
- package/dist/util/notifications-token.js +140 -0
- package/dist/util/notifications-token.js.map +1 -0
- package/dist/util/oauth-client-seed.d.ts +2 -0
- package/dist/util/oauth-client-seed.js +48 -0
- package/dist/util/oauth-client-seed.js.map +1 -0
- package/dist/util/oauth-redirect-uri.d.ts +2 -0
- package/dist/util/oauth-redirect-uri.js +55 -0
- package/dist/util/oauth-redirect-uri.js.map +1 -0
- package/dist/util/page-response.d.ts +113 -0
- package/dist/util/page-response.js +154 -0
- package/dist/util/page-response.js.map +1 -0
- package/dist/util/page-search-index.d.ts +19 -0
- package/dist/util/page-search-index.js +91 -0
- package/dist/util/page-search-index.js.map +1 -0
- package/dist/util/page-status-migration.d.ts +23 -0
- package/dist/util/page-status-migration.js +48 -0
- package/dist/util/page-status-migration.js.map +1 -0
- package/dist/util/path.d.ts +2 -0
- package/dist/util/path.js +12 -0
- package/dist/util/path.js.map +1 -0
- package/dist/util/pkce.d.ts +13 -0
- package/dist/util/pkce.js +30 -0
- package/dist/util/pkce.js.map +1 -0
- package/dist/util/presence-token.d.ts +21 -0
- package/dist/util/presence-token.js +120 -0
- package/dist/util/presence-token.js.map +1 -0
- package/dist/util/rate-limit.d.ts +67 -0
- package/dist/util/rate-limit.js +87 -0
- package/dist/util/rate-limit.js.map +1 -0
- package/dist/util/rebuild-backlink.d.ts +25 -0
- package/dist/util/rebuild-backlink.js +7 -0
- package/dist/util/rebuild-backlink.js.map +1 -0
- package/dist/util/rebuild-renderer.d.ts +31 -0
- package/dist/util/rebuild-renderer.js +7 -0
- package/dist/util/rebuild-renderer.js.map +1 -0
- package/dist/util/redis-opts.d.ts +17 -0
- package/dist/util/redis-opts.js +40 -0
- package/dist/util/redis-opts.js.map +1 -0
- package/dist/util/regex.d.ts +2 -0
- package/dist/util/regex.js +8 -0
- package/dist/util/regex.js.map +1 -0
- package/dist/util/search-rebuild.d.ts +18 -0
- package/dist/util/search-rebuild.js +28 -0
- package/dist/util/search-rebuild.js.map +1 -0
- package/dist/util/ssr.d.ts +3 -0
- package/dist/util/ssr.js +9 -0
- package/dist/util/ssr.js.map +1 -0
- package/dist/util/storage-copy.d.ts +40 -0
- package/dist/util/storage-copy.js +123 -0
- package/dist/util/storage-copy.js.map +1 -0
- package/dist/util/ts-rest-helpers.d.ts +110 -0
- package/dist/util/ts-rest-helpers.js +110 -0
- package/dist/util/ts-rest-helpers.js.map +1 -0
- package/dist/util/url.d.ts +1 -0
- package/dist/util/url.js +11 -0
- package/dist/util/url.js.map +1 -0
- package/dist/util/user-code.d.ts +10 -0
- package/dist/util/user-code.js +55 -0
- package/dist/util/user-code.js.map +1 -0
- package/dist/util/view.d.ts +10 -0
- package/dist/util/view.js +99 -0
- package/dist/util/view.js.map +1 -0
- package/dist/util/watcher-backfill.d.ts +30 -0
- package/dist/util/watcher-backfill.js +43 -0
- package/dist/util/watcher-backfill.js.map +1 -0
- package/dist/util/ws-token.d.ts +24 -0
- package/dist/util/ws-token.js +134 -0
- package/dist/util/ws-token.js.map +1 -0
- package/package.json +106 -0
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createPipelineEsmDepsLoader = createPipelineEsmDepsLoader;
|
|
4
|
+
exports.runPipeline = runPipeline;
|
|
5
|
+
const core_1 = require("./core");
|
|
6
|
+
const mention_resolve_1 = require("./core/mention-resolve");
|
|
7
|
+
// `createJiti` lets us synchronously `require()` ESM-only packages
|
|
8
|
+
// (`unified`, `remark-*`, `mdast-*`, `github-slugger`) from CJS Express.
|
|
9
|
+
// We can't use Node 22's native sync require-of-ESM because jest's
|
|
10
|
+
// runtime intercepts `require` and throws `Unexpected token 'export'`
|
|
11
|
+
// for ESM packages; we can't use `await import()` because under jest's
|
|
12
|
+
// `--experimental-vm-modules` flag the import callback intermittently
|
|
13
|
+
// fires after the test environment was torn down. jiti has its own
|
|
14
|
+
// loader that bypasses both, so all paths agree.
|
|
15
|
+
const jiti_1 = require("jiti");
|
|
16
|
+
// Bundled language set for shiki. Covers the languages we actually
|
|
17
|
+
// see in Crowi pages without dragging in the full ~150-language pack;
|
|
18
|
+
// unknown languages fall through unhighlighted and the web client
|
|
19
|
+
// renders them as plain `<pre><code>` (parity with Phase 2 behaviour).
|
|
20
|
+
// Add to this list when a new language shows up in real content.
|
|
21
|
+
const SHIKI_BUNDLED_LANGS = [
|
|
22
|
+
'ts',
|
|
23
|
+
'tsx',
|
|
24
|
+
'js',
|
|
25
|
+
'jsx',
|
|
26
|
+
'python',
|
|
27
|
+
'ruby',
|
|
28
|
+
'php',
|
|
29
|
+
'json',
|
|
30
|
+
'yaml',
|
|
31
|
+
'toml',
|
|
32
|
+
'shell',
|
|
33
|
+
'bash',
|
|
34
|
+
'html',
|
|
35
|
+
'css',
|
|
36
|
+
'markdown',
|
|
37
|
+
'sql',
|
|
38
|
+
'go',
|
|
39
|
+
'rust',
|
|
40
|
+
'java',
|
|
41
|
+
'c',
|
|
42
|
+
'cpp',
|
|
43
|
+
'csharp',
|
|
44
|
+
'dockerfile',
|
|
45
|
+
'diff',
|
|
46
|
+
];
|
|
47
|
+
// Dual theme: light + dark are both compiled into the highlighter and
|
|
48
|
+
// emitted together via `defaultColor: false` so a single render carries
|
|
49
|
+
// both colour sets as CSS variables. The web client switches between
|
|
50
|
+
// them with the `.dark` class — no re-render / second pipeline run.
|
|
51
|
+
const SHIKI_THEMES = {
|
|
52
|
+
light: 'github-light',
|
|
53
|
+
dark: 'github-dark',
|
|
54
|
+
};
|
|
55
|
+
function createPipelineEsmDepsLoader() {
|
|
56
|
+
let cached = null;
|
|
57
|
+
return async () => {
|
|
58
|
+
if (cached)
|
|
59
|
+
return cached;
|
|
60
|
+
// Sync `require`-of-ESM via jiti. Wrapped in async so the call
|
|
61
|
+
// site signature stays Promise<PipelineEsmDeps> (Phase 3 may go
|
|
62
|
+
// back to `await import()` once jest catches up to native ESM).
|
|
63
|
+
const jiti = (0, jiti_1.createJiti)(__filename, { interopDefault: true });
|
|
64
|
+
const unifiedMod = jiti('unified');
|
|
65
|
+
const remarkParseMod = jiti('remark-parse');
|
|
66
|
+
const remarkGfmMod = jiti('remark-gfm');
|
|
67
|
+
// remark-breaks is ESM-only (`type: module`); like the rest of
|
|
68
|
+
// the pipeline deps, we read `.default` ourselves because the
|
|
69
|
+
// package doesn't carry the `__esModule` marker jiti needs for
|
|
70
|
+
// its `interopDefault` unwrap.
|
|
71
|
+
const remarkBreaksMod = jiti('remark-breaks');
|
|
72
|
+
const sluggerMod = jiti('github-slugger');
|
|
73
|
+
const mdastToStringMod = jiti('mdast-util-to-string');
|
|
74
|
+
// shiki is ESM-only too; its bundled core entry exposes
|
|
75
|
+
// `createHighlighter` (^1.x and ^2.x and ^4.x). We init once with
|
|
76
|
+
// the dual (light + dark) theme + language set so per-block calls
|
|
77
|
+
// don't pay the cold-load every time.
|
|
78
|
+
const shikiMod = jiti('shiki');
|
|
79
|
+
const rawHighlighter = await shikiMod.createHighlighter({
|
|
80
|
+
themes: [SHIKI_THEMES.light, SHIKI_THEMES.dark],
|
|
81
|
+
langs: [...SHIKI_BUNDLED_LANGS],
|
|
82
|
+
});
|
|
83
|
+
const loadedLangs = new Set(rawHighlighter.getLoadedLanguages());
|
|
84
|
+
const shikiHighlighter = {
|
|
85
|
+
codeToHtml(code, lang) {
|
|
86
|
+
// `defaultColor: false` → tokens carry `--shiki-light` /
|
|
87
|
+
// `--shiki-dark` (and the `<pre>` `--shiki-light-bg` /
|
|
88
|
+
// `--shiki-dark-bg`) CSS variables instead of a single inlined
|
|
89
|
+
// colour, so `.dark` can switch them client-side.
|
|
90
|
+
return rawHighlighter.codeToHtml(code, {
|
|
91
|
+
lang,
|
|
92
|
+
themes: SHIKI_THEMES,
|
|
93
|
+
defaultColor: false,
|
|
94
|
+
});
|
|
95
|
+
},
|
|
96
|
+
hasLang(lang) {
|
|
97
|
+
return loadedLangs.has(lang);
|
|
98
|
+
},
|
|
99
|
+
};
|
|
100
|
+
cached = {
|
|
101
|
+
unified: unifiedMod.unified,
|
|
102
|
+
remarkParse: remarkParseMod.default,
|
|
103
|
+
remarkGfm: remarkGfmMod.default,
|
|
104
|
+
remarkBreaks: remarkBreaksMod.default,
|
|
105
|
+
GithubSlugger: sluggerMod.default,
|
|
106
|
+
mdastToString: mdastToStringMod.toString,
|
|
107
|
+
shikiHighlighter,
|
|
108
|
+
};
|
|
109
|
+
return cached;
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
async function runPipeline(body, registry, ctx, loadDeps, dispatch) {
|
|
113
|
+
const metadata = {
|
|
114
|
+
toc: [],
|
|
115
|
+
wikiLinks: [],
|
|
116
|
+
mentions: [],
|
|
117
|
+
codeBlockLanguages: [],
|
|
118
|
+
};
|
|
119
|
+
if (!body) {
|
|
120
|
+
return { tree: emptyRoot(), metadata };
|
|
121
|
+
}
|
|
122
|
+
const deps = await loadDeps();
|
|
123
|
+
const { unified, remarkParse, remarkGfm, remarkBreaks } = deps;
|
|
124
|
+
// Build the processor with parser + GFM tweaks first, then layer
|
|
125
|
+
// the core 4 transform plugins (headings → wikilinks → mentions →
|
|
126
|
+
// code-block-languages) bound to the metadata bag, and finally
|
|
127
|
+
// every external plugin from the registry in registration order.
|
|
128
|
+
let processor = unified().use(remarkParse).use(remarkGfm);
|
|
129
|
+
// Each transform plugin is `(metadata) => (tree) => void`. unified's
|
|
130
|
+
// `use(plugin, options)` invokes the plugin once with `options` and
|
|
131
|
+
// gets back the actual transformer.
|
|
132
|
+
for (const plugin of (0, core_1.buildCorePlugins)(deps)) {
|
|
133
|
+
processor = processor.use(plugin, metadata);
|
|
134
|
+
}
|
|
135
|
+
// GFM-compatible single-newline → `<br>` (Crowi default). Runs
|
|
136
|
+
// after the core 4 so heading slugs were computed against pristine
|
|
137
|
+
// heading text; runs before registry plugins so external transforms
|
|
138
|
+
// see the post-breaks tree.
|
|
139
|
+
processor = processor.use(remarkBreaks);
|
|
140
|
+
for (const plugin of registry.getTransformPlugins()) {
|
|
141
|
+
// External plugins can be either factory `(opts) => Transformer`
|
|
142
|
+
// or plain `Transformer`. We always pass `metadata` so external
|
|
143
|
+
// plugins that want to push into it can; those that don't will
|
|
144
|
+
// just ignore the option.
|
|
145
|
+
processor = processor.use(plugin, metadata);
|
|
146
|
+
}
|
|
147
|
+
const tree = processor.parse(body);
|
|
148
|
+
const transformed = processor.runSync(tree);
|
|
149
|
+
// Phase 4 plugin-dispatch — embed-tag + url-inline-expand. These
|
|
150
|
+
// need to be async (cache I/O + plugin render()) so they cannot
|
|
151
|
+
// run inside the synchronous unified `runSync` phase. We post-
|
|
152
|
+
// process the transformed tree in registration order:
|
|
153
|
+
// 1. parse `@[tag](url)` from text nodes and dispatch to
|
|
154
|
+
// registered embed renderers.
|
|
155
|
+
// 2. walk paragraph children for bare URLs and dispatch to the
|
|
156
|
+
// registered url-inline-expanders.
|
|
157
|
+
// Skipped when no dispatch object is supplied (unit tests bypassing
|
|
158
|
+
// Mongo) or `pageId` is null (orphan revision body) — `@[tag](url)`
|
|
159
|
+
// stays as plain text.
|
|
160
|
+
if (dispatch && dispatch.pageId) {
|
|
161
|
+
const dispatchPlugins = (0, core_1.buildPluginDispatchPlugins)(registry, ctx, { cache: dispatch.cache, pageId: dispatch.pageId });
|
|
162
|
+
for (const transform of dispatchPlugins) {
|
|
163
|
+
await transform(transformed);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
// Phase 2 mention resolution — demote `@username` link nodes whose
|
|
167
|
+
// username does not belong to a real user back to plain text. Runs
|
|
168
|
+
// only at save-time (`mode: 'save'`) so the persisted `renderedAst`
|
|
169
|
+
// is already correct; read / view paths reuse it without re-querying.
|
|
170
|
+
// `pageId`-independent: an orphan revision body still gets resolved.
|
|
171
|
+
if (dispatch?.resolveMentionUsernames && ctx.mode === 'save') {
|
|
172
|
+
await (0, mention_resolve_1.makeMentionResolve)(dispatch.resolveMentionUsernames)(transformed);
|
|
173
|
+
}
|
|
174
|
+
// After all transforms, fire registered NodeRenderers for any
|
|
175
|
+
// mdast type they registered for. Phase 2 has no bundled
|
|
176
|
+
// NodeRenderer (the core 4 transforms touch the AST themselves);
|
|
177
|
+
// this loop exists for external plugins.
|
|
178
|
+
await runNodeRenderers(transformed, registry, ctx);
|
|
179
|
+
return { tree: transformed, metadata };
|
|
180
|
+
}
|
|
181
|
+
async function runNodeRenderers(tree, registry, ctx) {
|
|
182
|
+
const types = registry.getRegisteredNodeTypes();
|
|
183
|
+
if (types.length === 0)
|
|
184
|
+
return;
|
|
185
|
+
const matchers = new Set(types);
|
|
186
|
+
const stack = [tree];
|
|
187
|
+
while (stack.length > 0) {
|
|
188
|
+
const node = stack.pop();
|
|
189
|
+
if (node.type && matchers.has(node.type)) {
|
|
190
|
+
for (const renderer of registry.getNodeRenderers(node.type)) {
|
|
191
|
+
await renderer(node, ctx);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
if (node.children) {
|
|
195
|
+
for (let i = node.children.length - 1; i >= 0; i--)
|
|
196
|
+
stack.push(node.children[i]);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
function emptyRoot() {
|
|
201
|
+
return { type: 'root', children: [] };
|
|
202
|
+
}
|
|
203
|
+
//# sourceMappingURL=pipeline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/renderer/pipeline.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import type { AuthContext, CodeBlockRenderer, EmbedRenderer, NodeRenderer, PluginLogger, RenderPhase, RendererRegistry, UrlInlineExpansionRule } from '@crowi/plugin-api';
|
|
2
|
+
/**
|
|
3
|
+
* Registry implementation that backs the unified.js pipeline. The
|
|
4
|
+
* runtime constructs **one** of these per Crowi instance:
|
|
5
|
+
* - the bundled core renderer registers its 5 transforms first;
|
|
6
|
+
* - then `PluginManager.activate()` calls every plugin's
|
|
7
|
+
* `registerRenderer(scope, ctx)` with a per-plugin scope that
|
|
8
|
+
* forwards into this same impl.
|
|
9
|
+
*
|
|
10
|
+
* Phase 4 + 6 honours:
|
|
11
|
+
* - `addUnifiedPlugin({ phase: 'transform' })`
|
|
12
|
+
* - `addNodeRenderer`
|
|
13
|
+
* - `addEmbedTag` (last-wins + boot warn on collision)
|
|
14
|
+
* - `addUrlInlineExpander` (registration-order list)
|
|
15
|
+
* - `addCodeBlockRenderer` (last-wins + boot warn on collision —
|
|
16
|
+
* Phase 6 lit this up alongside the bundled PlantUML plugin)
|
|
17
|
+
*/
|
|
18
|
+
export declare class RendererRegistryImpl {
|
|
19
|
+
private unifiedTransform;
|
|
20
|
+
private nodeRenderers;
|
|
21
|
+
private embedTags;
|
|
22
|
+
private codeBlockRenderers;
|
|
23
|
+
private urlExpanders;
|
|
24
|
+
/** Snapshot of registered transform-phase unified plugins, in registration order. */
|
|
25
|
+
getTransformPlugins(): readonly unknown[];
|
|
26
|
+
/** Snapshot of node renderers for a given mdast type, in registration order. */
|
|
27
|
+
getNodeRenderers(type: string): readonly NodeRenderer[];
|
|
28
|
+
/** All registered node-renderer types — used by the pipeline walker. */
|
|
29
|
+
getRegisteredNodeTypes(): readonly string[];
|
|
30
|
+
/** Look up an embed-tag renderer by tag. Returns undefined when no plugin registered the tag. */
|
|
31
|
+
getEmbedTag(tag: string): {
|
|
32
|
+
plugin: string;
|
|
33
|
+
renderer: EmbedRenderer;
|
|
34
|
+
} | undefined;
|
|
35
|
+
/** Look up a code-block renderer by lang. Returns undefined when no plugin registered the lang. */
|
|
36
|
+
getCodeBlockRenderer(lang: string): {
|
|
37
|
+
plugin: string;
|
|
38
|
+
renderer: CodeBlockRenderer;
|
|
39
|
+
} | undefined;
|
|
40
|
+
/** True when at least one code-block renderer is registered — dispatch can short-circuit on empty. */
|
|
41
|
+
hasCodeBlockRenderers(): boolean;
|
|
42
|
+
/** Snapshot of URL inline-expanders, in registration order. */
|
|
43
|
+
getUrlInlineExpanders(): readonly {
|
|
44
|
+
plugin: string;
|
|
45
|
+
rule: UrlInlineExpansionRule;
|
|
46
|
+
}[];
|
|
47
|
+
addUnifiedPlugin(plugin: unknown, registeringPlugin: string, log: PluginLogger, options?: {
|
|
48
|
+
phase?: RenderPhase;
|
|
49
|
+
}): void;
|
|
50
|
+
addNodeRenderer(type: string, renderer: NodeRenderer, registeringPlugin: string): void;
|
|
51
|
+
/**
|
|
52
|
+
* Last-wins on collision. The first registrant's entry is replaced
|
|
53
|
+
* and we emit a boot warn so the operator sees the conflict in the
|
|
54
|
+
* server log. RFC §"Plugin tag collision" — we explicitly chose
|
|
55
|
+
* last-wins over fail-on-collision because plugin install order is
|
|
56
|
+
* resolved by topo sort and an operator's `crowi.config.json`
|
|
57
|
+
* shouldn't have to be re-ordered to recover from a misnamed tag.
|
|
58
|
+
*/
|
|
59
|
+
addEmbedTag(name: string, renderer: EmbedRenderer, registeringPlugin: string, log: PluginLogger): void;
|
|
60
|
+
/**
|
|
61
|
+
* Phase 6: last-wins on collision, mirror of `addEmbedTag`. The boot
|
|
62
|
+
* warn surfaces the conflict so an operator can either fix the
|
|
63
|
+
* misnamed lang or accept the override.
|
|
64
|
+
*/
|
|
65
|
+
addCodeBlockRenderer(lang: string, renderer: CodeBlockRenderer, registeringPlugin: string, log: PluginLogger): void;
|
|
66
|
+
addUrlInlineExpander(rule: UrlInlineExpansionRule, registeringPlugin: string): void;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Phase 4 stub for `AuthContext`. The interface is finalised in
|
|
70
|
+
* `@crowi/plugin-api`; the implementation lands in Phase 7 alongside
|
|
71
|
+
* encrypted-config plumbing for the GitHub Embed plugin.
|
|
72
|
+
*
|
|
73
|
+
* Phase 6 no-I/O plugins (PlantUML / KaTeX / Mermaid / emoji) must
|
|
74
|
+
* NOT call `config()` — they have no external auth needs. The thrown
|
|
75
|
+
* error here will surface accidental coupling immediately.
|
|
76
|
+
*/
|
|
77
|
+
export declare const createAuthContextStub: () => AuthContext;
|
|
78
|
+
/**
|
|
79
|
+
* Per-plugin scope handed to `registerRenderer(scope, ctx)`. Closes
|
|
80
|
+
* over the registering plugin's name and logger so the impl can
|
|
81
|
+
* attribute warnings without the plugin threading them on every call.
|
|
82
|
+
*/
|
|
83
|
+
export declare const makeRendererScope: (registry: RendererRegistryImpl, plugin: string, log: PluginLogger) => RendererRegistry;
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.makeRendererScope = exports.createAuthContextStub = exports.RendererRegistryImpl = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Registry implementation that backs the unified.js pipeline. The
|
|
6
|
+
* runtime constructs **one** of these per Crowi instance:
|
|
7
|
+
* - the bundled core renderer registers its 5 transforms first;
|
|
8
|
+
* - then `PluginManager.activate()` calls every plugin's
|
|
9
|
+
* `registerRenderer(scope, ctx)` with a per-plugin scope that
|
|
10
|
+
* forwards into this same impl.
|
|
11
|
+
*
|
|
12
|
+
* Phase 4 + 6 honours:
|
|
13
|
+
* - `addUnifiedPlugin({ phase: 'transform' })`
|
|
14
|
+
* - `addNodeRenderer`
|
|
15
|
+
* - `addEmbedTag` (last-wins + boot warn on collision)
|
|
16
|
+
* - `addUrlInlineExpander` (registration-order list)
|
|
17
|
+
* - `addCodeBlockRenderer` (last-wins + boot warn on collision —
|
|
18
|
+
* Phase 6 lit this up alongside the bundled PlantUML plugin)
|
|
19
|
+
*/
|
|
20
|
+
class RendererRegistryImpl {
|
|
21
|
+
unifiedTransform = [];
|
|
22
|
+
nodeRenderers = new Map();
|
|
23
|
+
embedTags = new Map();
|
|
24
|
+
codeBlockRenderers = new Map();
|
|
25
|
+
urlExpanders = [];
|
|
26
|
+
/** Snapshot of registered transform-phase unified plugins, in registration order. */
|
|
27
|
+
getTransformPlugins() {
|
|
28
|
+
return this.unifiedTransform.map((entry) => entry.plugin);
|
|
29
|
+
}
|
|
30
|
+
/** Snapshot of node renderers for a given mdast type, in registration order. */
|
|
31
|
+
getNodeRenderers(type) {
|
|
32
|
+
return (this.nodeRenderers.get(type) ?? []).map((entry) => entry.renderer);
|
|
33
|
+
}
|
|
34
|
+
/** All registered node-renderer types — used by the pipeline walker. */
|
|
35
|
+
getRegisteredNodeTypes() {
|
|
36
|
+
return Array.from(this.nodeRenderers.keys());
|
|
37
|
+
}
|
|
38
|
+
/** Look up an embed-tag renderer by tag. Returns undefined when no plugin registered the tag. */
|
|
39
|
+
getEmbedTag(tag) {
|
|
40
|
+
return this.embedTags.get(tag);
|
|
41
|
+
}
|
|
42
|
+
/** Look up a code-block renderer by lang. Returns undefined when no plugin registered the lang. */
|
|
43
|
+
getCodeBlockRenderer(lang) {
|
|
44
|
+
return this.codeBlockRenderers.get(lang);
|
|
45
|
+
}
|
|
46
|
+
/** True when at least one code-block renderer is registered — dispatch can short-circuit on empty. */
|
|
47
|
+
hasCodeBlockRenderers() {
|
|
48
|
+
return this.codeBlockRenderers.size > 0;
|
|
49
|
+
}
|
|
50
|
+
/** Snapshot of URL inline-expanders, in registration order. */
|
|
51
|
+
getUrlInlineExpanders() {
|
|
52
|
+
return this.urlExpanders;
|
|
53
|
+
}
|
|
54
|
+
addUnifiedPlugin(plugin, registeringPlugin, log, options) {
|
|
55
|
+
const phase = options?.phase ?? 'transform';
|
|
56
|
+
if (phase !== 'transform') {
|
|
57
|
+
log.warn(`addUnifiedPlugin phase='${phase}' is not yet implemented in v2.1 — discarding registration`);
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
this.unifiedTransform.push({ plugin, registeringPlugin });
|
|
61
|
+
}
|
|
62
|
+
addNodeRenderer(type, renderer, registeringPlugin) {
|
|
63
|
+
const list = this.nodeRenderers.get(type) ?? [];
|
|
64
|
+
list.push({ renderer, registeringPlugin });
|
|
65
|
+
this.nodeRenderers.set(type, list);
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Last-wins on collision. The first registrant's entry is replaced
|
|
69
|
+
* and we emit a boot warn so the operator sees the conflict in the
|
|
70
|
+
* server log. RFC §"Plugin tag collision" — we explicitly chose
|
|
71
|
+
* last-wins over fail-on-collision because plugin install order is
|
|
72
|
+
* resolved by topo sort and an operator's `crowi.config.json`
|
|
73
|
+
* shouldn't have to be re-ordered to recover from a misnamed tag.
|
|
74
|
+
*/
|
|
75
|
+
addEmbedTag(name, renderer, registeringPlugin, log) {
|
|
76
|
+
const existing = this.embedTags.get(name);
|
|
77
|
+
if (existing) {
|
|
78
|
+
log.warn(`[renderer] embed-tag collision on '${name}': plugin '${existing.plugin}' is being overridden by '${registeringPlugin}' (last-wins)`);
|
|
79
|
+
}
|
|
80
|
+
this.embedTags.set(name, { plugin: registeringPlugin, renderer });
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Phase 6: last-wins on collision, mirror of `addEmbedTag`. The boot
|
|
84
|
+
* warn surfaces the conflict so an operator can either fix the
|
|
85
|
+
* misnamed lang or accept the override.
|
|
86
|
+
*/
|
|
87
|
+
addCodeBlockRenderer(lang, renderer, registeringPlugin, log) {
|
|
88
|
+
const existing = this.codeBlockRenderers.get(lang);
|
|
89
|
+
if (existing) {
|
|
90
|
+
log.warn(`[renderer] code-block-renderer collision on '${lang}': plugin '${existing.plugin}' is being overridden by '${registeringPlugin}' (last-wins)`);
|
|
91
|
+
}
|
|
92
|
+
this.codeBlockRenderers.set(lang, { plugin: registeringPlugin, renderer });
|
|
93
|
+
}
|
|
94
|
+
addUrlInlineExpander(rule, registeringPlugin) {
|
|
95
|
+
this.urlExpanders.push({ plugin: registeringPlugin, rule });
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
exports.RendererRegistryImpl = RendererRegistryImpl;
|
|
99
|
+
/**
|
|
100
|
+
* Phase 4 stub for `AuthContext`. The interface is finalised in
|
|
101
|
+
* `@crowi/plugin-api`; the implementation lands in Phase 7 alongside
|
|
102
|
+
* encrypted-config plumbing for the GitHub Embed plugin.
|
|
103
|
+
*
|
|
104
|
+
* Phase 6 no-I/O plugins (PlantUML / KaTeX / Mermaid / emoji) must
|
|
105
|
+
* NOT call `config()` — they have no external auth needs. The thrown
|
|
106
|
+
* error here will surface accidental coupling immediately.
|
|
107
|
+
*/
|
|
108
|
+
const createAuthContextStub = () => ({
|
|
109
|
+
config: () => {
|
|
110
|
+
throw new Error('AuthContext not yet implemented — Phase 7');
|
|
111
|
+
},
|
|
112
|
+
});
|
|
113
|
+
exports.createAuthContextStub = createAuthContextStub;
|
|
114
|
+
/**
|
|
115
|
+
* Per-plugin scope handed to `registerRenderer(scope, ctx)`. Closes
|
|
116
|
+
* over the registering plugin's name and logger so the impl can
|
|
117
|
+
* attribute warnings without the plugin threading them on every call.
|
|
118
|
+
*/
|
|
119
|
+
const makeRendererScope = (registry, plugin, log) => ({
|
|
120
|
+
addUnifiedPlugin: (plugin_, options) => registry.addUnifiedPlugin(plugin_, plugin, log, options),
|
|
121
|
+
addNodeRenderer: (type, renderer) => registry.addNodeRenderer(type, renderer, plugin),
|
|
122
|
+
// Phase 6: live. Last-wins + boot warn on collision (mirror of
|
|
123
|
+
// addEmbedTag). PlantUML is the first user; Mermaid (Phase 6.1) and
|
|
124
|
+
// any future code-block plugin will share this path.
|
|
125
|
+
addCodeBlockRenderer: (lang, renderer) => registry.addCodeBlockRenderer(lang, renderer, plugin, log),
|
|
126
|
+
addEmbedTag: (name, renderer) => registry.addEmbedTag(name, renderer, plugin, log),
|
|
127
|
+
addUrlInlineExpander: (rule) => registry.addUrlInlineExpander(rule, plugin),
|
|
128
|
+
});
|
|
129
|
+
exports.makeRendererScope = makeRendererScope;
|
|
130
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/renderer/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { Root } from 'mdast';
|
|
2
|
+
/**
|
|
3
|
+
* Normalise a transformed mdast tree into a JSON-serialisable shape
|
|
4
|
+
* suitable for `Revision.renderedAst` persistence.
|
|
5
|
+
*
|
|
6
|
+
* What we strip:
|
|
7
|
+
* - `position`: every node carries source-location info from the
|
|
8
|
+
* parser. It's useful at parse-time for error reporting but pure
|
|
9
|
+
* bloat once the tree is frozen as a render artifact, so we drop
|
|
10
|
+
* it across the whole tree.
|
|
11
|
+
*
|
|
12
|
+
* What we keep:
|
|
13
|
+
* - everything else, including `data.hProperties` (heading anchor
|
|
14
|
+
* ids, wikilink-broken / mention className stamps), `value` on
|
|
15
|
+
* text / code / html nodes, all child arrays.
|
|
16
|
+
*
|
|
17
|
+
* Implementation note: pure spread + recursive map. We intentionally
|
|
18
|
+
* do NOT mutate the input tree — the same tree is consumed downstream
|
|
19
|
+
* by other places (e.g. `runMetadata`'s caller) so an in-place delete
|
|
20
|
+
* would reach into unrelated state.
|
|
21
|
+
*
|
|
22
|
+
* `unknown` is the right type at the boundary because the persisted
|
|
23
|
+
* blob is genuinely untyped JSON from the contract's point of view
|
|
24
|
+
* (`renderedAst: z.unknown().optional()`); callers cast back to
|
|
25
|
+
* `Root` when they need the typed shape.
|
|
26
|
+
*/
|
|
27
|
+
export declare function serializeMdast(tree: Root): unknown;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.serializeMdast = serializeMdast;
|
|
4
|
+
/**
|
|
5
|
+
* Normalise a transformed mdast tree into a JSON-serialisable shape
|
|
6
|
+
* suitable for `Revision.renderedAst` persistence.
|
|
7
|
+
*
|
|
8
|
+
* What we strip:
|
|
9
|
+
* - `position`: every node carries source-location info from the
|
|
10
|
+
* parser. It's useful at parse-time for error reporting but pure
|
|
11
|
+
* bloat once the tree is frozen as a render artifact, so we drop
|
|
12
|
+
* it across the whole tree.
|
|
13
|
+
*
|
|
14
|
+
* What we keep:
|
|
15
|
+
* - everything else, including `data.hProperties` (heading anchor
|
|
16
|
+
* ids, wikilink-broken / mention className stamps), `value` on
|
|
17
|
+
* text / code / html nodes, all child arrays.
|
|
18
|
+
*
|
|
19
|
+
* Implementation note: pure spread + recursive map. We intentionally
|
|
20
|
+
* do NOT mutate the input tree — the same tree is consumed downstream
|
|
21
|
+
* by other places (e.g. `runMetadata`'s caller) so an in-place delete
|
|
22
|
+
* would reach into unrelated state.
|
|
23
|
+
*
|
|
24
|
+
* `unknown` is the right type at the boundary because the persisted
|
|
25
|
+
* blob is genuinely untyped JSON from the contract's point of view
|
|
26
|
+
* (`renderedAst: z.unknown().optional()`); callers cast back to
|
|
27
|
+
* `Root` when they need the typed shape.
|
|
28
|
+
*/
|
|
29
|
+
function serializeMdast(tree) {
|
|
30
|
+
return cloneNode(tree);
|
|
31
|
+
}
|
|
32
|
+
function cloneNode(input) {
|
|
33
|
+
if (input === null || typeof input !== 'object')
|
|
34
|
+
return input;
|
|
35
|
+
if (Array.isArray(input))
|
|
36
|
+
return input.map(cloneNode);
|
|
37
|
+
const node = input;
|
|
38
|
+
const out = {};
|
|
39
|
+
for (const key of Object.keys(node)) {
|
|
40
|
+
if (key === 'position')
|
|
41
|
+
continue; // strip parser source-location
|
|
42
|
+
out[key] = cloneNode(node[key]);
|
|
43
|
+
}
|
|
44
|
+
return out;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=serialize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serialize.js","sourceRoot":"","sources":["../../src/renderer/serialize.ts"],"names":[],"mappings":";;AA2BA,wCAEC;AA3BD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,SAAgB,cAAc,CAAC,IAAU;IACvC,OAAO,SAAS,CAAC,IAAe,CAAC,CAAC;AACpC,CAAC;AAMD,SAAS,SAAS,CAAC,KAAc;IAC/B,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC9D,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAEtD,MAAM,IAAI,GAAG,KAAgB,CAAC;IAC9B,MAAM,GAAG,GAAY,EAAE,CAAC;IACxB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,IAAI,GAAG,KAAK,UAAU;YAAE,SAAS,CAAC,+BAA+B;QACjE,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Renderer pipeline version stamp.
|
|
3
|
+
*
|
|
4
|
+
* Written onto `Revision.rendererVersion` at save time so the read
|
|
5
|
+
* path can detect when a stored `renderedAst` was produced by an
|
|
6
|
+
* older pipeline configuration than the running server.
|
|
7
|
+
*
|
|
8
|
+
* Bump policy:
|
|
9
|
+
* - **major**: backwards-incompatible AST shape change (e.g. a node
|
|
10
|
+
* type renamed). Stored ASTs from older majors are no longer
|
|
11
|
+
* renderable without rebuild.
|
|
12
|
+
* - **minor**: new bundled plugin / shiki language set extension /
|
|
13
|
+
* transform plugin added. Older ASTs render fine but don't get the
|
|
14
|
+
* new behaviour until rebuilt.
|
|
15
|
+
* - **patch**: bug fix in a transform that doesn't change AST shape.
|
|
16
|
+
* Re-rendering yields the corrected output.
|
|
17
|
+
*
|
|
18
|
+
* Versioning aligns with RFC-0002 phase progression at major.minor:
|
|
19
|
+
* - 0.3.x Phase 3 (SSR + shiki)
|
|
20
|
+
* - 0.4.x Phase 4 (cache contract + reservation + dispatch)
|
|
21
|
+
* - 0.5.x Phase 5 (crowi-legacy + wikilink migrator)
|
|
22
|
+
* - 0.6.x Phase 6 (plantuml + emoji + katex + addCodeBlockRenderer)
|
|
23
|
+
* - 0.7.x dark mode (shiki dual-theme CSS-variable output)
|
|
24
|
+
*
|
|
25
|
+
* Until `renderer:rebuild` ships (deferred to RFC-0008), version
|
|
26
|
+
* mismatch is informational only — the read path's parse-on-read
|
|
27
|
+
* fallback handles missing or stale `renderedAst` transparently at
|
|
28
|
+
* a per-request CPU cost.
|
|
29
|
+
*/
|
|
30
|
+
export declare const RENDERER_PIPELINE_VERSION = "0.7.0";
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RENDERER_PIPELINE_VERSION = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Renderer pipeline version stamp.
|
|
6
|
+
*
|
|
7
|
+
* Written onto `Revision.rendererVersion` at save time so the read
|
|
8
|
+
* path can detect when a stored `renderedAst` was produced by an
|
|
9
|
+
* older pipeline configuration than the running server.
|
|
10
|
+
*
|
|
11
|
+
* Bump policy:
|
|
12
|
+
* - **major**: backwards-incompatible AST shape change (e.g. a node
|
|
13
|
+
* type renamed). Stored ASTs from older majors are no longer
|
|
14
|
+
* renderable without rebuild.
|
|
15
|
+
* - **minor**: new bundled plugin / shiki language set extension /
|
|
16
|
+
* transform plugin added. Older ASTs render fine but don't get the
|
|
17
|
+
* new behaviour until rebuilt.
|
|
18
|
+
* - **patch**: bug fix in a transform that doesn't change AST shape.
|
|
19
|
+
* Re-rendering yields the corrected output.
|
|
20
|
+
*
|
|
21
|
+
* Versioning aligns with RFC-0002 phase progression at major.minor:
|
|
22
|
+
* - 0.3.x Phase 3 (SSR + shiki)
|
|
23
|
+
* - 0.4.x Phase 4 (cache contract + reservation + dispatch)
|
|
24
|
+
* - 0.5.x Phase 5 (crowi-legacy + wikilink migrator)
|
|
25
|
+
* - 0.6.x Phase 6 (plantuml + emoji + katex + addCodeBlockRenderer)
|
|
26
|
+
* - 0.7.x dark mode (shiki dual-theme CSS-variable output)
|
|
27
|
+
*
|
|
28
|
+
* Until `renderer:rebuild` ships (deferred to RFC-0008), version
|
|
29
|
+
* mismatch is informational only — the read path's parse-on-read
|
|
30
|
+
* fallback handles missing or stale `renderedAst` transparently at
|
|
31
|
+
* a per-request CPU cost.
|
|
32
|
+
*/
|
|
33
|
+
exports.RENDERER_PIPELINE_VERSION = '0.7.0';
|
|
34
|
+
//# sourceMappingURL=version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/renderer/version.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACU,QAAA,yBAAyB,GAAG,OAAO,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const express_1 = require("express");
|
|
4
|
+
const router = (0, express_1.Router)();
|
|
5
|
+
exports.default = (crowi, app, form) => {
|
|
6
|
+
const { Admin } = crowi.controllers;
|
|
7
|
+
const { LoginRequired, AdminRequired, CsrfVerify: csrf } = crowi.middlewares;
|
|
8
|
+
router.use('/admin*', LoginRequired, AdminRequired);
|
|
9
|
+
router.get('/admin', Admin.index);
|
|
10
|
+
router.get('/admin/app', Admin.index);
|
|
11
|
+
router.get('/admin/notification', Admin.index);
|
|
12
|
+
router.get('/admin/notification/slackAuth', Admin.notification.slackAuth);
|
|
13
|
+
router.get('/admin/users', Admin.index);
|
|
14
|
+
router.get('/admin/backlink', Admin.index);
|
|
15
|
+
return router;
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=admin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin.js","sourceRoot":"","sources":["../../src/routes/admin.ts"],"names":[],"mappings":";;AAAA,qCAA0C;AAE1C,MAAM,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;AAExB,kBAAe,CAAC,KAAY,EAAE,GAAY,EAAE,IAAI,EAAU,EAAE;IAC1D,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC;IACpC,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC;IAE7E,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;IAEpD,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,CAAC,GAAG,CAAC,qBAAqB,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,CAAC,GAAG,CAAC,+BAA+B,EAAE,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAC1E,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAE3C,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
|