@crowi/api-contract 2.0.0-alpha.2 → 2.0.0-alpha.6

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.
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/generated/openapi.ts"],"sourcesContent":["/**\n * AUTO-GENERATED by `pnpm --filter @crowi/api-contract generate-openapi-types`.\n *\n * Source: `packages/api-contract/openapi.json` (RFC-0006 Phase 6 onwards).\n * Do NOT edit by hand — re-run the generator instead. CI verifies this\n * file stays in sync via `git diff --exit-code` after a fresh generate.\n */\n\nexport interface paths {\n \"/app/info\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Get public application info (site title etc.) */\n get: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Public application info */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n title: string | null;\n confidential: string | null;\n version: string;\n apiVersion: string;\n capabilities: string[];\n canSelfRegister: boolean;\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/installer\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Get installer status */\n get: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Installer status */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {string} */\n status: \"installer_required\" | \"already_installed\";\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/installer/createAdmin\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Create initial admin user */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n registerForm: {\n username: string;\n name: string;\n /** Format: email */\n email: string;\n password: string;\n };\n };\n };\n };\n responses: {\n /** @description Admin creation result (status=ok on success, status=error on validation failure) */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {string} */\n status: \"ok\" | \"error\";\n message?: string;\n errors?: string[];\n };\n };\n };\n /** @description Application is already installed */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {string} */\n status: \"ok\" | \"error\";\n message?: string;\n errors?: string[];\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/auth/login\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Authenticate user and receive tokens */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n /** Format: email */\n email: string;\n password: string;\n };\n };\n };\n responses: {\n /** @description Successful login */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n accessToken: string;\n refreshToken: string;\n expiresIn: number;\n user: {\n id: string;\n username: string;\n /** Format: email */\n email: string;\n name: string;\n image?: string;\n admin?: boolean;\n };\n };\n };\n };\n /** @description Invalid email or password */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n code: components[\"schemas\"][\"ErrorCode\"];\n message: string;\n details?: unknown;\n };\n };\n };\n };\n /** @description User account is not active */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n code: components[\"schemas\"][\"ErrorCode\"];\n message: string;\n details?: unknown;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n /** @description Application is not installed */\n 503: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"APPLICATION_NOT_INSTALLED\";\n /** @enum {string} */\n message: \"Application is not installed\";\n /** @enum {string} */\n redirectTo: \"/installer\";\n };\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/auth/register\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Register a new user; sends an activation email or queues for admin approval */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n username: string;\n name: string;\n /** Format: email */\n email: string;\n password: string;\n };\n };\n };\n responses: {\n /** @description Registration accepted; activation pending (email confirmation or admin approval) */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {string} */\n status: \"confirmation_required\" | \"approval_required\";\n };\n };\n };\n /** @description Registration failed (validation) */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n code: components[\"schemas\"][\"ErrorCode\"];\n message: string;\n details?: unknown;\n };\n };\n };\n };\n /** @description Registration is closed by the admin */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n code: components[\"schemas\"][\"ErrorCode\"];\n message: string;\n details?: unknown;\n };\n };\n };\n };\n /** @description User with the same email or username already exists */\n 409: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n code: components[\"schemas\"][\"ErrorCode\"];\n message: string;\n details?: unknown;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n /** @description Application is not installed */\n 503: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"APPLICATION_NOT_INSTALLED\";\n /** @enum {string} */\n message: \"Application is not installed\";\n /** @enum {string} */\n redirectTo: \"/installer\";\n };\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/auth/refresh\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Refresh access token using refresh token */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n refreshToken: string;\n };\n };\n };\n responses: {\n /** @description Refreshed tokens */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n accessToken: string;\n refreshToken: string;\n expiresIn: number;\n user: {\n id: string;\n username: string;\n /** Format: email */\n email: string;\n name: string;\n image?: string;\n admin?: boolean;\n };\n };\n };\n };\n /** @description Missing refresh token */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n code: components[\"schemas\"][\"ErrorCode\"];\n message: string;\n details?: unknown;\n };\n };\n };\n };\n /** @description Invalid or expired refresh token */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Associated user no longer exists */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n code: components[\"schemas\"][\"ErrorCode\"];\n message: string;\n details?: unknown;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/auth/logout\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Logout user and invalidate tokens */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n refreshToken?: string;\n };\n };\n };\n responses: {\n /** @description Logged out successfully */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n message: string;\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/auth/me\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Get current user information */\n get: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Current user */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n user: {\n id: string;\n username: string;\n /** Format: email */\n email: string;\n name: string;\n image?: string;\n status: number;\n admin?: boolean;\n createdAt: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/me\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Get current user profile */\n get: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Current user profile */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n id: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n /** @enum {string} */\n lang: \"en\" | \"ja\";\n /** @enum {string} */\n theme: \"system\" | \"light\" | \"dark\";\n image: string | null;\n introduction?: string;\n hasPassword: boolean;\n createdAt: string;\n emailChangePending?: boolean;\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n };\n };\n /** Update profile */\n put: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n userForm: {\n name: string;\n /** Format: email */\n email: string;\n /** @enum {string} */\n lang: \"en\" | \"ja\";\n };\n };\n };\n };\n responses: {\n /** @description Updated profile */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n id: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n /** @enum {string} */\n lang: \"en\" | \"ja\";\n /** @enum {string} */\n theme: \"system\" | \"light\" | \"dark\";\n image: string | null;\n introduction?: string;\n hasPassword: boolean;\n createdAt: string;\n emailChangePending?: boolean;\n };\n };\n };\n /** @description Profile update failed */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {string} */\n status: \"error\";\n code?: string;\n message?: string;\n errors?: string[];\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n };\n };\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/me/theme\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n /** Update preferred UI theme */\n patch: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n /** @enum {string} */\n theme: \"system\" | \"light\" | \"dark\";\n };\n };\n };\n responses: {\n /** @description Theme updated */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {string} */\n status: \"ok\";\n /** @enum {string} */\n theme: \"system\" | \"light\" | \"dark\";\n };\n };\n };\n /** @description Theme update failed */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {string} */\n status: \"error\";\n code?: string;\n message?: string;\n errors?: string[];\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n };\n };\n trace?: never;\n };\n \"/me/picture\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Upload profile picture */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"multipart/form-data\": {\n /** @description Profile picture file */\n file?: unknown;\n };\n };\n };\n responses: {\n /** @description Picture uploaded */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n status: boolean;\n url?: string;\n message?: string;\n };\n };\n };\n /** @description Upload failed */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {string} */\n status: \"error\";\n code?: string;\n message?: string;\n errors?: string[];\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n };\n };\n /** Delete profile picture */\n delete: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Picture deleted */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {string} */\n status: \"ok\";\n message?: string;\n };\n };\n };\n /** @description Delete failed */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {string} */\n status: \"error\";\n code?: string;\n message?: string;\n errors?: string[];\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n };\n };\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/me/password\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n /** Update password */\n put: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n oldPassword?: string;\n newPassword: string;\n newPasswordConfirm: string;\n };\n };\n };\n responses: {\n /** @description Password updated */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {string} */\n status: \"ok\";\n message: string;\n };\n };\n };\n /** @description Password update failed */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {string} */\n status: \"error\";\n message: string;\n errors?: string[];\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n };\n };\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/me/recently-viewed-pages\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Get the current user's recently-viewed pages */\n get: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Recently-viewed pages list (up to 5) */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n pages: {\n _id: string;\n path: string;\n revision?: string | {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n redirectTo?: string | null;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n grant?: number;\n grantedUsers?: string[];\n creator?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n lastUpdateUser?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n liker?: string[];\n /** @default 0 */\n commentCount: number;\n extended?: {\n [key: string]: unknown;\n };\n createdAt: string;\n updatedAt?: string;\n currentRevision?: string | null;\n yjsCheckpointAt?: string | null;\n latestRevision?: string;\n likerCount?: number;\n seenUsersCount?: number;\n }[];\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/me/access-tokens\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** List the current user's personal access tokens (metadata only) */\n get: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Personal access token list (no secrets) */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n accessTokens: {\n id: string;\n name: string;\n scopes: string[];\n expiresAt: string | null;\n lastUsedAt: string | null;\n createdAt: string;\n }[];\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Personal access tokens can only be managed from a web session */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"FORBIDDEN\";\n message: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n put?: never;\n /** Issue a personal access token (plaintext returned once) */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n name: string;\n scopes: string[];\n /** Format: date-time */\n expiresAt?: string | null;\n };\n };\n };\n responses: {\n /** @description Token issued; `token` holds the one-time plaintext secret */\n 201: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n id: string;\n name: string;\n scopes: string[];\n expiresAt: string | null;\n lastUsedAt: string | null;\n createdAt: string;\n token: string;\n };\n };\n };\n /** @description One or more requested scopes are not issuable */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_SCOPE\";\n message: string;\n details?: {\n invalidScopes: string[];\n };\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Personal access tokens can only be managed from a web session */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"FORBIDDEN\";\n message: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/me/access-tokens/{id}\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n post?: never;\n /** Revoke a personal access token */\n delete: {\n parameters: {\n query?: never;\n header?: never;\n path: {\n id: string;\n };\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Token revoked */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n id: string;\n name: string;\n scopes: string[];\n expiresAt: string | null;\n lastUsedAt: string | null;\n createdAt: string;\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Personal access tokens can only be managed from a web session */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"FORBIDDEN\";\n message: string;\n };\n };\n };\n };\n /** @description No such token belonging to the current user */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"NOT_FOUND\";\n message: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/oauth/authorize\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Issue an authorization code for the consenting web user (PKCE) */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n client_id: string;\n redirect_uri: string;\n scope: string;\n code_challenge: string;\n /** @enum {string} */\n code_challenge_method: \"S256\";\n state?: string;\n };\n };\n };\n responses: {\n /** @description Authorization code issued; `redirectUri` carries `code` + `state` */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n redirectUri: string;\n };\n };\n };\n /** @description Invalid request / scope / client (RFC 6749 §4.1.2.1) */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {string} */\n error: \"invalid_request\" | \"invalid_client\" | \"invalid_grant\" | \"unauthorized_client\" | \"unsupported_grant_type\" | \"invalid_scope\" | \"access_denied\" | \"authorization_pending\" | \"slow_down\" | \"expired_token\";\n error_description?: string;\n };\n };\n };\n /** @description Authorization codes can only be issued from a web session */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"FORBIDDEN\";\n message: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/oauth/token\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Exchange an authorization code or refresh token for an access token */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Access + refresh token issued (RFC 6749 §5.1) */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n access_token: string;\n /** @enum {string} */\n token_type: \"Bearer\";\n expires_in: number;\n refresh_token: string;\n scope: string;\n };\n };\n };\n /** @description invalid_grant / invalid_request / unsupported_grant_type (RFC 6749 §5.2) */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {string} */\n error: \"invalid_request\" | \"invalid_client\" | \"invalid_grant\" | \"unauthorized_client\" | \"unsupported_grant_type\" | \"invalid_scope\" | \"access_denied\" | \"authorization_pending\" | \"slow_down\" | \"expired_token\";\n error_description?: string;\n };\n };\n };\n /** @description invalid_client (RFC 6749 §5.2) */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {string} */\n error: \"invalid_request\" | \"invalid_client\" | \"invalid_grant\" | \"unauthorized_client\" | \"unsupported_grant_type\" | \"invalid_scope\" | \"access_denied\" | \"authorization_pending\" | \"slow_down\" | \"expired_token\";\n error_description?: string;\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/oauth/revoke\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Revoke a refresh token or personal access token (RFC 7009) */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Revocation processed (200 even for unknown tokens, RFC 7009) */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": Record<string, never>;\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/.well-known/oauth-authorization-server\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** OAuth 2.0 authorization-server metadata (RFC 8414) */\n get: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Authorization-server metadata */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n issuer: string;\n authorization_endpoint: string;\n token_endpoint: string;\n revocation_endpoint: string;\n device_authorization_endpoint?: string;\n scopes_supported: string[];\n response_types_supported: string[];\n grant_types_supported: string[];\n code_challenge_methods_supported: string[];\n token_endpoint_auth_methods_supported: string[];\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/oauth/device/authorize\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Start a device authorization grant — issue device_code + user_code (RFC 8628) */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n client_id: string;\n scope: string;\n };\n };\n };\n responses: {\n /** @description Device + user code issued (RFC 8628 §3.2) */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n device_code: string;\n user_code: string;\n verification_uri: string;\n verification_uri_complete: string;\n expires_in: number;\n interval: number;\n };\n };\n };\n /** @description invalid_client / invalid_scope (RFC 6749 §5.2) */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {string} */\n error: \"invalid_request\" | \"invalid_client\" | \"invalid_grant\" | \"unauthorized_client\" | \"unsupported_grant_type\" | \"invalid_scope\" | \"access_denied\" | \"authorization_pending\" | \"slow_down\" | \"expired_token\";\n error_description?: string;\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/oauth/device\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Look up a pending device authorization by user_code (consent screen) */\n get: {\n parameters: {\n query: {\n user_code: string;\n };\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Pending device authorization metadata */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n client_id: string;\n scopes: string[];\n };\n };\n };\n /** @description No pending device authorization for this user_code */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"NOT_FOUND\";\n message: string;\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/oauth/device/verify\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Approve or deny a device authorization by user_code (web session only) */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n user_code: string;\n /** @enum {string} */\n action: \"approve\" | \"deny\";\n };\n };\n };\n responses: {\n /** @description Device authorization approved or denied */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {string} */\n status: \"approved\" | \"denied\";\n };\n };\n };\n /** @description Device approvals can only come from a web session */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"FORBIDDEN\";\n message: string;\n };\n };\n };\n };\n /** @description No pending device authorization for this user_code */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"NOT_FOUND\";\n message: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/user/{username}\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Get user page information */\n get: {\n parameters: {\n query?: never;\n header?: never;\n path: {\n username: string;\n };\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description User profile with statistics + recent activity */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n user: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n createdPagesCount: number;\n bookmarksCount: number;\n recentPages?: {\n _id: string;\n path: string;\n revision?: string | {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n redirectTo?: string | null;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n grant?: number;\n grantedUsers?: string[];\n creator?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n lastUpdateUser?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n liker?: string[];\n /** @default 0 */\n commentCount: number;\n extended?: {\n [key: string]: unknown;\n };\n createdAt: string;\n updatedAt?: string;\n currentRevision?: string | null;\n yjsCheckpointAt?: string | null;\n latestRevision?: string;\n likerCount?: number;\n seenUsersCount?: number;\n }[];\n recentBookmarks?: {\n _id: string;\n page: {\n _id: string;\n path: string;\n revision?: string | {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n redirectTo?: string | null;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n grant?: number;\n grantedUsers?: string[];\n creator?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n lastUpdateUser?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n liker?: string[];\n /** @default 0 */\n commentCount: number;\n extended?: {\n [key: string]: unknown;\n };\n createdAt: string;\n updatedAt?: string;\n currentRevision?: string | null;\n yjsCheckpointAt?: string | null;\n latestRevision?: string;\n likerCount?: number;\n seenUsersCount?: number;\n };\n user: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n createdAt: string;\n }[];\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description User not found */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"USER_NOT_FOUND\";\n /** @enum {string} */\n message: \"User not found\";\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/user/{username}/bookmarks\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Get user bookmarks (paginated) */\n get: {\n parameters: {\n query?: {\n limit?: number | null;\n offset?: number | null;\n };\n header?: never;\n path: {\n username: string;\n };\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Paginated bookmarks */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n bookmarks: {\n _id: string;\n page: {\n _id: string;\n path: string;\n revision?: string | {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n redirectTo?: string | null;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n grant?: number;\n grantedUsers?: string[];\n creator?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n lastUpdateUser?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n liker?: string[];\n /** @default 0 */\n commentCount: number;\n extended?: {\n [key: string]: unknown;\n };\n createdAt: string;\n updatedAt?: string;\n currentRevision?: string | null;\n yjsCheckpointAt?: string | null;\n latestRevision?: string;\n likerCount?: number;\n seenUsersCount?: number;\n };\n user: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n createdAt: string;\n }[];\n pager: {\n prev: number | null;\n next: number | null;\n offset: number;\n };\n total: number;\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description User not found */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"USER_NOT_FOUND\";\n /** @enum {string} */\n message: \"User not found\";\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/user/{username}/pages\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Get pages created by the user (paginated) */\n get: {\n parameters: {\n query?: {\n limit?: number | null;\n offset?: number | null;\n };\n header?: never;\n path: {\n username: string;\n };\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Paginated created pages */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n pages: {\n _id: string;\n path: string;\n revision?: string | {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n redirectTo?: string | null;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n grant?: number;\n grantedUsers?: string[];\n creator?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n lastUpdateUser?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n liker?: string[];\n /** @default 0 */\n commentCount: number;\n extended?: {\n [key: string]: unknown;\n };\n createdAt: string;\n updatedAt?: string;\n currentRevision?: string | null;\n yjsCheckpointAt?: string | null;\n latestRevision?: string;\n likerCount?: number;\n seenUsersCount?: number;\n }[];\n pager: {\n prev: number | null;\n next: number | null;\n offset: number;\n };\n total: number;\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description User not found */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"USER_NOT_FOUND\";\n /** @enum {string} */\n message: \"User not found\";\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/users\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** List active users for the member directory (paginated, searchable) */\n get: {\n parameters: {\n query?: {\n q?: string;\n limit?: number;\n offset?: number | null;\n };\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Paginated active users, name-ascending */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n users: {\n _id: string;\n username: string;\n name: string;\n image?: string | null;\n }[];\n pager: {\n prev: number | null;\n next: number | null;\n offset: number;\n };\n total: number;\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/bookmarks\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Get bookmark of a page for the current user */\n get: {\n parameters: {\n query: {\n page_id: string;\n };\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Bookmark for the page (or null when not bookmarked) */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n bookmark: {\n _id: string;\n page: {\n _id: string;\n path: string;\n revision?: string | {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n redirectTo?: string | null;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n grant?: number;\n grantedUsers?: string[];\n creator?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n lastUpdateUser?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n liker?: string[];\n /** @default 0 */\n commentCount: number;\n extended?: {\n [key: string]: unknown;\n };\n createdAt: string;\n updatedAt?: string;\n currentRevision?: string | null;\n yjsCheckpointAt?: string | null;\n latestRevision?: string;\n likerCount?: number;\n seenUsersCount?: number;\n };\n user: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n createdAt: string;\n } | null;\n };\n };\n };\n /** @description Invalid page_id */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_PAGE_ID\";\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n put?: never;\n /** Add a bookmark for the current user */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n page_id: string;\n };\n };\n };\n responses: {\n /** @description Bookmark created (or null when the page is not accessible) */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n bookmark: {\n _id: string;\n page: {\n _id: string;\n path: string;\n revision?: string | {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n redirectTo?: string | null;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n grant?: number;\n grantedUsers?: string[];\n creator?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n lastUpdateUser?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n liker?: string[];\n /** @default 0 */\n commentCount: number;\n extended?: {\n [key: string]: unknown;\n };\n createdAt: string;\n updatedAt?: string;\n currentRevision?: string | null;\n yjsCheckpointAt?: string | null;\n latestRevision?: string;\n likerCount?: number;\n seenUsersCount?: number;\n };\n user: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n createdAt: string;\n } | null;\n };\n };\n };\n /** @description Invalid page_id */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_PAGE_ID\";\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n /** Remove a bookmark for the current user */\n delete: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n page_id: string;\n };\n };\n };\n responses: {\n /** @description Bookmark removed (or already absent) */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {boolean} */\n ok: true;\n };\n };\n };\n /** @description Invalid page_id */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_PAGE_ID\";\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/bookmarks/me\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** List the current user's bookmarks (paginated) */\n get: {\n parameters: {\n query?: {\n limit?: number | null;\n offset?: number | null;\n };\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Paginated bookmark list */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n bookmarks: {\n _id: string;\n page: {\n _id: string;\n path: string;\n revision?: string | {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n redirectTo?: string | null;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n grant?: number;\n grantedUsers?: string[];\n creator?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n lastUpdateUser?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n liker?: string[];\n /** @default 0 */\n commentCount: number;\n extended?: {\n [key: string]: unknown;\n };\n createdAt: string;\n updatedAt?: string;\n currentRevision?: string | null;\n yjsCheckpointAt?: string | null;\n latestRevision?: string;\n likerCount?: number;\n seenUsersCount?: number;\n };\n user: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n createdAt: string;\n }[];\n pager: {\n prev: number | null;\n next: number | null;\n offset: number;\n };\n total: number;\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/backlinks\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** List backlinks targeting a page */\n get: {\n parameters: {\n query: {\n page_id: string;\n limit?: number;\n offset?: number | null;\n };\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Backlinks targeting the page (trimmed to `limit`; `hasNext` flags whether more exist) */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n backlinks: {\n _id: string;\n page: string;\n fromPage: {\n _id: string;\n path: string;\n };\n fromRevision: {\n _id: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n } | null;\n };\n updatedAt: string;\n }[];\n hasNext: boolean;\n };\n };\n };\n /** @description Invalid page_id */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_PAGE_ID\";\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/comments\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** List comments by page or revision */\n get: {\n parameters: {\n query?: {\n page_id?: string;\n revision_id?: string;\n };\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Comments matching the requested page or revision */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n comments: {\n _id: string;\n page: string;\n creator: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n revision: string;\n comment: string;\n /** @default -1 */\n commentPosition: number;\n createdAt: string;\n }[];\n };\n };\n };\n /** @description Invalid request (page_id / revision_id required or malformed) */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_REQUEST\";\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n };\n };\n put?: never;\n /** Add a comment to a page */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n page_id: string;\n revision_id: string;\n comment: string;\n comment_position?: number;\n };\n };\n };\n responses: {\n /** @description The created comment with populated creator */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n comment: {\n _id: string;\n page: string;\n creator: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n revision: string;\n comment: string;\n /** @default -1 */\n commentPosition: number;\n createdAt: string;\n };\n newlyWatching: boolean;\n };\n };\n };\n /** @description Invalid request body */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_REQUEST\";\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Page not found (also covers grant-denied to avoid leaking existence) */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"PAGE_NOT_FOUND\";\n /** @enum {string} */\n message: \"Page not found\";\n };\n };\n };\n };\n };\n };\n /** Delete a comment */\n delete: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n comment_id: string;\n page_id: string;\n };\n };\n };\n responses: {\n /** @description Comment removed */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {boolean} */\n ok: true;\n };\n };\n };\n /** @description Invalid request body */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_REQUEST\";\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Caller cannot access the parent page */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"PAGE_NOT_GRANTED\";\n /** @enum {string} */\n message: \"Page is not granted for the user\";\n };\n };\n };\n };\n /** @description Comment not found */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"COMMENT_NOT_FOUND\";\n /** @enum {string} */\n message: \"Comment not found\";\n };\n };\n };\n };\n };\n };\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/pages/{page_id}/revisions\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** List revisions of a page (meta only) */\n get: {\n parameters: {\n query?: {\n limit?: number;\n offset?: number | null;\n };\n header?: never;\n path: {\n page_id: string;\n };\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Revision metadata (no body), newest first */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n revisions: {\n _id: string;\n path: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n savedBy?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n }[];\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n createdAt: string;\n }[];\n pager: {\n prev: number | null;\n next: number | null;\n offset: number;\n };\n };\n };\n };\n /** @description Invalid request */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_REQUEST\";\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Page not found (also covers grant-denied to avoid leaking existence) */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"PAGE_NOT_FOUND\";\n /** @enum {string} */\n message: \"Page not found\";\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/pages/revisions\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Get multiple revisions by ids (comma-separated) */\n get: {\n parameters: {\n query: {\n ids: string;\n };\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Requested revisions (all must share the same path) */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n revisions: {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n }[];\n };\n };\n };\n /** @description Invalid request */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_REQUEST\";\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description No matching revisions or page not found (also covers grant-denied) */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"PAGE_NOT_FOUND\";\n /** @enum {string} */\n message: \"Page not found\";\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/pages/revisions/{id}\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Get a single revision (with body) */\n get: {\n parameters: {\n query?: never;\n header?: never;\n path: {\n id: string;\n };\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Full revision document */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n revision: {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n };\n };\n };\n /** @description Invalid revision id */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_REQUEST\";\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Revision or page not found (also covers grant-denied) */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"PAGE_NOT_FOUND\";\n /** @enum {string} */\n message: \"Page not found\";\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/pages\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Get page data by path or page_id */\n get: {\n parameters: {\n query?: {\n path?: string;\n page_id?: string;\n revision_id?: string;\n };\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description The requested page with populated revision */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n page: {\n _id: string;\n path: string;\n revision: {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n redirectTo?: string | null;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n grant?: number;\n grantedUsers?: string[];\n creator?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n lastUpdateUser?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n liker?: string[];\n /** @default 0 */\n commentCount: number;\n extended?: {\n [key: string]: unknown;\n };\n createdAt: string;\n updatedAt?: string;\n currentRevision?: string | null;\n yjsCheckpointAt?: string | null;\n latestRevision?: string;\n likerCount?: number;\n seenUsersCount?: number;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Caller cannot access the page */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"PAGE_NOT_GRANTED\";\n /** @enum {string} */\n message: \"Page is not granted for the user\";\n };\n };\n };\n };\n /** @description Page not found */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"PAGE_NOT_FOUND\";\n /** @enum {string} */\n message: \"Page not found\";\n };\n };\n };\n };\n };\n };\n /** Update existing page */\n put: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n page_id: string;\n body: string;\n revision_id?: string;\n grant?: number;\n };\n };\n };\n responses: {\n /** @description The updated page with new revision */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n page: {\n _id: string;\n path: string;\n revision?: string | {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n redirectTo?: string | null;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n grant?: number;\n grantedUsers?: string[];\n creator?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n lastUpdateUser?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n liker?: string[];\n /** @default 0 */\n commentCount: number;\n extended?: {\n [key: string]: unknown;\n };\n createdAt: string;\n updatedAt?: string;\n currentRevision?: string | null;\n yjsCheckpointAt?: string | null;\n latestRevision?: string;\n likerCount?: number;\n seenUsersCount?: number;\n };\n };\n };\n };\n /** @description Invalid request (PAGE_UPDATE_FAILED / INVALID_GRANT) */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n code: string;\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Page not found (also covers grant-denied) */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"PAGE_NOT_FOUND\";\n /** @enum {string} */\n message: \"Page not found\";\n };\n };\n };\n };\n /** @description Stale revision_id (someone else updated the page) */\n 409: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"PAGE_REVISION_ERROR\";\n message: string;\n };\n };\n };\n };\n };\n };\n /** Create a new page */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n path: string;\n body: string;\n grant?: number;\n };\n };\n };\n responses: {\n /** @description The created page with populated revision */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n page: {\n _id: string;\n path: string;\n revision?: string | {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n redirectTo?: string | null;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n grant?: number;\n grantedUsers?: string[];\n creator?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n lastUpdateUser?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n liker?: string[];\n /** @default 0 */\n commentCount: number;\n extended?: {\n [key: string]: unknown;\n };\n createdAt: string;\n updatedAt?: string;\n currentRevision?: string | null;\n yjsCheckpointAt?: string | null;\n latestRevision?: string;\n likerCount?: number;\n seenUsersCount?: number;\n };\n };\n };\n };\n /** @description Invalid request (PAGE_EXISTS / NON_EXISTENT_USER_PAGE / PAGE_CREATE_FAILED / INVALID_GRANT) */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n code: string;\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n };\n };\n /** Soft-delete (or hard-delete with completely=true) a page */\n delete: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n page_id: string;\n revision_id?: string;\n completely?: boolean;\n };\n };\n };\n responses: {\n /** @description The deleted page (soft-delete: trashed path; hard-delete: original snapshot) */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n page: {\n _id: string;\n path: string;\n revision?: string | {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n redirectTo?: string | null;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n grant?: number;\n grantedUsers?: string[];\n creator?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n lastUpdateUser?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n liker?: string[];\n /** @default 0 */\n commentCount: number;\n extended?: {\n [key: string]: unknown;\n };\n createdAt: string;\n updatedAt?: string;\n currentRevision?: string | null;\n yjsCheckpointAt?: string | null;\n latestRevision?: string;\n likerCount?: number;\n seenUsersCount?: number;\n };\n };\n };\n };\n /** @description PAGE_DELETE_FAILED */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n code: string;\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Page not found (also covers grant-denied) */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"PAGE_NOT_FOUND\";\n /** @enum {string} */\n message: \"Page not found\";\n };\n };\n };\n };\n /** @description Stale revision_id */\n 409: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"PAGE_REVISION_ERROR\";\n message: string;\n };\n };\n };\n };\n };\n };\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/pages/list\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** List pages by path or creator (paginated) */\n get: {\n parameters: {\n query?: {\n path?: string;\n user?: string;\n limit?: number | null;\n offset?: number | null;\n include_deleted?: boolean | null;\n sort?: \"updatedAt\" | \"createdAt\" | \"path\";\n order?: \"asc\" | \"desc\";\n revision_id?: string;\n };\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Page list (newest first) with optional portal page */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n pages: {\n _id: string;\n path: string;\n revision?: string | {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n redirectTo?: string | null;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n grant?: number;\n grantedUsers?: string[];\n creator?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n lastUpdateUser?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n liker?: string[];\n /** @default 0 */\n commentCount: number;\n extended?: {\n [key: string]: unknown;\n };\n createdAt: string;\n updatedAt?: string;\n currentRevision?: string | null;\n yjsCheckpointAt?: string | null;\n latestRevision?: string;\n likerCount?: number;\n seenUsersCount?: number;\n }[];\n pager: {\n prev: number | null;\n next: number | null;\n offset: number;\n };\n portalPage?: {\n _id: string;\n path: string;\n revision?: string | {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n redirectTo?: string | null;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n grant?: number;\n grantedUsers?: string[];\n creator?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n lastUpdateUser?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n liker?: string[];\n /** @default 0 */\n commentCount: number;\n extended?: {\n [key: string]: unknown;\n };\n createdAt: string;\n updatedAt?: string;\n currentRevision?: string | null;\n yjsCheckpointAt?: string | null;\n latestRevision?: string;\n likerCount?: number;\n seenUsersCount?: number;\n } | null;\n contentPage?: {\n _id: string;\n path: string;\n revision?: string | {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n redirectTo?: string | null;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n grant?: number;\n grantedUsers?: string[];\n creator?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n lastUpdateUser?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n liker?: string[];\n /** @default 0 */\n commentCount: number;\n extended?: {\n [key: string]: unknown;\n };\n createdAt: string;\n updatedAt?: string;\n currentRevision?: string | null;\n yjsCheckpointAt?: string | null;\n latestRevision?: string;\n likerCount?: number;\n seenUsersCount?: number;\n } | null;\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/pages/children\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** List immediate child segments under a portal path (sidebar tree) */\n get: {\n parameters: {\n query: {\n path: string;\n };\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description First-level child segments (alphabetical) under the path */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n children: {\n segment: string;\n path: string;\n isPage: boolean;\n hasPortal: boolean;\n count: number;\n }[];\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/pages/grant\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n /** Update page grant (visibility) only — no revision pushed */\n put: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n page_id: string;\n grant: number;\n };\n };\n };\n responses: {\n /** @description The page with the updated grant */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n page: {\n _id: string;\n path: string;\n revision?: string | {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n redirectTo?: string | null;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n grant?: number;\n grantedUsers?: string[];\n creator?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n lastUpdateUser?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n liker?: string[];\n /** @default 0 */\n commentCount: number;\n extended?: {\n [key: string]: unknown;\n };\n createdAt: string;\n updatedAt?: string;\n currentRevision?: string | null;\n yjsCheckpointAt?: string | null;\n latestRevision?: string;\n likerCount?: number;\n seenUsersCount?: number;\n };\n };\n };\n };\n /** @description Invalid request (INVALID_GRANT / PAGE_GRANT_UPDATE_FAILED) */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n code: string;\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Page not found (also covers grant-denied) */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"PAGE_NOT_FOUND\";\n /** @enum {string} */\n message: \"Page not found\";\n };\n };\n };\n };\n };\n };\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/pages/seen\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Mark a page as seen by the current user (idempotent) */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n page_id: string;\n };\n };\n };\n responses: {\n /** @description The current seen-users list and count */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n seenUsers: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n }[];\n seenUsersCount: number;\n };\n };\n };\n /** @description Invalid page_id */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_PAGE_ID\";\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Page not found (also covers grant-denied) */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"PAGE_NOT_FOUND\";\n /** @enum {string} */\n message: \"Page not found\";\n };\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/pages/seen-users\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** List users who have seen a page */\n get: {\n parameters: {\n query: {\n page_id: string;\n limit?: number;\n };\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Seen-users list (optionally capped by `limit`) and full count */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n seenUsers: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n }[];\n seenUsersCount: number;\n };\n };\n };\n /** @description Invalid page_id */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_PAGE_ID\";\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Page not found (also covers grant-denied) */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"PAGE_NOT_FOUND\";\n /** @enum {string} */\n message: \"Page not found\";\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/pages/like\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Add the current user to the page liker list */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n page_id: string;\n };\n };\n };\n responses: {\n /** @description The page with the updated liker list */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n page: {\n _id: string;\n path: string;\n revision?: string | {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n redirectTo?: string | null;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n grant?: number;\n grantedUsers?: string[];\n creator?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n lastUpdateUser?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n liker?: string[];\n /** @default 0 */\n commentCount: number;\n extended?: {\n [key: string]: unknown;\n };\n createdAt: string;\n updatedAt?: string;\n currentRevision?: string | null;\n yjsCheckpointAt?: string | null;\n latestRevision?: string;\n likerCount?: number;\n seenUsersCount?: number;\n };\n };\n };\n };\n /** @description Invalid page_id */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_PAGE_ID\";\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Page not found (also covers grant-denied) */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"PAGE_NOT_FOUND\";\n /** @enum {string} */\n message: \"Page not found\";\n };\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/pages/unlike\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Remove the current user from the page liker list */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n page_id: string;\n };\n };\n };\n responses: {\n /** @description The page with the updated liker list */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n page: {\n _id: string;\n path: string;\n revision?: string | {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n redirectTo?: string | null;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n grant?: number;\n grantedUsers?: string[];\n creator?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n lastUpdateUser?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n liker?: string[];\n /** @default 0 */\n commentCount: number;\n extended?: {\n [key: string]: unknown;\n };\n createdAt: string;\n updatedAt?: string;\n currentRevision?: string | null;\n yjsCheckpointAt?: string | null;\n latestRevision?: string;\n likerCount?: number;\n seenUsersCount?: number;\n };\n };\n };\n };\n /** @description Invalid page_id */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_PAGE_ID\";\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Page not found (also covers grant-denied) */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"PAGE_NOT_FOUND\";\n /** @enum {string} */\n message: \"Page not found\";\n };\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/pages/watch\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Get watch (notification subscription) status for a page */\n get: {\n parameters: {\n query: {\n page_id: string;\n };\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Watching status (true / false) */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n watching: boolean;\n };\n };\n };\n /** @description Invalid page_id */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_PAGE_ID\";\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Page not found (also covers grant-denied) */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"PAGE_NOT_FOUND\";\n /** @enum {string} */\n message: \"Page not found\";\n };\n };\n };\n };\n };\n };\n /** Set watch (notification subscription) status for a page */\n put: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n page_id: string;\n watching: boolean;\n };\n };\n };\n responses: {\n /** @description Updated watching status */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n watching: boolean;\n };\n };\n };\n /** @description Invalid page_id */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_PAGE_ID\";\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Page not found (also covers grant-denied) */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"PAGE_NOT_FOUND\";\n /** @enum {string} */\n message: \"Page not found\";\n };\n };\n };\n };\n };\n };\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/pages/revert\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Revert a soft-deleted page (restore from /trash/...) */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n page_id: string;\n };\n };\n };\n responses: {\n /** @description The restored page */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n page: {\n _id: string;\n path: string;\n revision?: string | {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n redirectTo?: string | null;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n grant?: number;\n grantedUsers?: string[];\n creator?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n lastUpdateUser?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n liker?: string[];\n /** @default 0 */\n commentCount: number;\n extended?: {\n [key: string]: unknown;\n };\n createdAt: string;\n updatedAt?: string;\n currentRevision?: string | null;\n yjsCheckpointAt?: string | null;\n latestRevision?: string;\n likerCount?: number;\n seenUsersCount?: number;\n };\n };\n };\n };\n /** @description PAGE_REVERT_FAILED */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n code: string;\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Page not found (also covers grant-denied) */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"PAGE_NOT_FOUND\";\n /** @enum {string} */\n message: \"Page not found\";\n };\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/pages/revert-to-revision\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Revert a page to one of its past revisions (non-destructive — stacks a new revision) */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n page_id: string;\n revision_id: string;\n };\n };\n };\n responses: {\n /** @description The page with the reverted body as its new latest revision */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n page: {\n _id: string;\n path: string;\n revision?: string | {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n redirectTo?: string | null;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n grant?: number;\n grantedUsers?: string[];\n creator?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n lastUpdateUser?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n liker?: string[];\n /** @default 0 */\n commentCount: number;\n extended?: {\n [key: string]: unknown;\n };\n createdAt: string;\n updatedAt?: string;\n currentRevision?: string | null;\n yjsCheckpointAt?: string | null;\n latestRevision?: string;\n likerCount?: number;\n seenUsersCount?: number;\n };\n };\n };\n };\n /** @description PAGE_REVERT_TO_REVISION_FAILED (e.g. the revision does not belong to the page) */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n code: string;\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Page not found (also covers grant-denied) */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"PAGE_NOT_FOUND\";\n /** @enum {string} */\n message: \"Page not found\";\n };\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/pages/rename\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Rename (move) a page — optionally together with its subtree */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n page_id: string;\n new_path: string;\n revision_id?: string;\n create_redirect?: boolean;\n include_descendants?: boolean;\n };\n };\n };\n responses: {\n /** @description The renamed (root) page plus how many pages were moved */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n page: {\n _id: string;\n path: string;\n revision?: string | {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n redirectTo?: string | null;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n grant?: number;\n grantedUsers?: string[];\n creator?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n lastUpdateUser?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n liker?: string[];\n /** @default 0 */\n commentCount: number;\n extended?: {\n [key: string]: unknown;\n };\n createdAt: string;\n updatedAt?: string;\n currentRevision?: string | null;\n yjsCheckpointAt?: string | null;\n latestRevision?: string;\n likerCount?: number;\n seenUsersCount?: number;\n };\n renamed_count: number;\n };\n };\n };\n /** @description PAGE_INVALID_NAME / PAGE_EXISTS / PAGE_RENAME_FAILED / PAGE_RENAME_TREE_FAILED */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n code: string;\n message: string;\n };\n } | {\n error: {\n /** @enum {string} */\n code: \"PAGE_RENAME_TREE_FAILED\";\n message: string;\n conflicts: {\n path: string;\n reasons: string[];\n }[];\n partial?: boolean;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Page not found (also covers grant-denied) */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"PAGE_NOT_FOUND\";\n /** @enum {string} */\n message: \"Page not found\";\n };\n };\n };\n };\n /** @description Stale revision_id */\n 409: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"PAGE_REVISION_ERROR\";\n message: string;\n };\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/pages/rename-subtree\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Rename (move) a whole subtree by path (for portal-less folders) */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n old_path: string;\n new_path: string;\n create_redirect?: boolean;\n };\n };\n };\n responses: {\n /** @description How many pages were moved */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n renamed_count: number;\n };\n };\n };\n /** @description PAGE_INVALID_NAME / PAGE_RENAME_TREE_FAILED (collisions, nothing to move, or partial failure) */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n code: string;\n message: string;\n };\n } | {\n error: {\n /** @enum {string} */\n code: \"PAGE_RENAME_TREE_FAILED\";\n message: string;\n conflicts: {\n path: string;\n reasons: string[];\n }[];\n partial?: boolean;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/pages/preview\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Render markdown to mdast for the editor preview pane */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n body: string;\n };\n };\n };\n responses: {\n /** @description Rendered mdast tree (serialised — same shape as a persisted revision.renderedAst) */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n renderedAst?: unknown;\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Renderer pipeline failure */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/pages/{id}/yjs-token\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Issue a short-lived wsToken (JWT) for the Hocuspocus realtime session */\n get: {\n parameters: {\n query?: never;\n header?: never;\n path: {\n /** @description Page id (24-char hex ObjectId) */\n id: string;\n };\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Signed wsToken (JWT) + scope metadata */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n wsToken: string;\n pageId: string;\n expiresAt: string;\n readonly: boolean;\n };\n };\n };\n /** @description Invalid page id */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_PAGE_ID\";\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Page not found (also covers grant-denied) */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"PAGE_NOT_FOUND\";\n /** @enum {string} */\n message: \"Page not found\";\n };\n };\n };\n };\n /** @description wsToken signing or DB exception */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/pages/{id}/presence-token\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Issue a short-lived presence token (JWT) for the live-presence WebSocket session */\n get: {\n parameters: {\n query?: never;\n header?: never;\n path: {\n /** @description Page id (24-char hex ObjectId) */\n id: string;\n };\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Signed presence token + scope metadata */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n token: string;\n pageId: string;\n selfUserId: string;\n expiresAt: string;\n };\n };\n };\n /** @description Invalid page id */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_PAGE_ID\";\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Page not found (also covers grant-denied) */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"PAGE_NOT_FOUND\";\n /** @enum {string} */\n message: \"Page not found\";\n };\n };\n };\n };\n /** @description Token signing or DB exception */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/pages/{id}/likers\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** List the users who have liked a page */\n get: {\n parameters: {\n query?: {\n limit?: number;\n };\n header?: never;\n path: {\n /** @description Page id (24-char hex ObjectId) */\n id: string;\n };\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Liker list (newest-liked first when known) with full totalCount */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n users: {\n id: string;\n username: string;\n displayName: string;\n avatarUrl: string | null;\n likedAt: string | null;\n }[];\n totalCount: number;\n };\n };\n };\n /** @description Invalid page id */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_PAGE_ID\";\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Page not found (also covers grant-denied) */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"PAGE_NOT_FOUND\";\n /** @enum {string} */\n message: \"Page not found\";\n };\n };\n };\n };\n /** @description DB exception */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/pages/drafts\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** List the current user's draft pages */\n get: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Caller-scoped draft list (newest first) */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n drafts: {\n pageId: string;\n path: string;\n createdAt: string;\n updatedAt: string;\n }[];\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n };\n };\n put?: never;\n /** Create a new draft page at a path */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n path: string;\n initialBody?: string;\n };\n };\n };\n responses: {\n /** @description Draft created (or the caller already holds a draft at this path — idempotent) */\n 201: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n pageId: string;\n };\n };\n };\n /** @description Uncreatable path, or path already held by a published page */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {string} */\n error: \"invalid_path\" | \"path_taken\";\n message: string;\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Another user's draft already occupies the path */\n 409: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {string} */\n error: \"path_taken_by_draft\";\n owner: {\n id: string;\n username: string;\n displayName: string;\n };\n message: string;\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/pages/drafts/{id}\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n post?: never;\n /** Cancel (delete) a draft page */\n delete: {\n parameters: {\n query?: never;\n header?: never;\n path: {\n /** @description Draft page id (24-char hex ObjectId) */\n id: string;\n };\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Draft cancelled; the path is released */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n pageId: string;\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Draft not found, or owned by a different user (existence leak guard) */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {string} */\n error: \"draft_not_found\";\n message: string;\n };\n };\n };\n };\n };\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/users/autocomplete\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Autocomplete users for an @mention */\n get: {\n parameters: {\n query: {\n q: string;\n limit?: number;\n anchor?: \"substring\" | \"prefix\";\n };\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Ranked user candidates */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n results: {\n id: string;\n label: string;\n display: string;\n avatar?: string | null;\n modifiedAt?: string | null;\n score: number;\n }[];\n };\n };\n };\n /** @description Validation error */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"VALIDATION_ERROR\";\n message: string;\n details?: {\n fieldErrors: {\n [key: string]: string[];\n };\n formErrors: string[];\n };\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Per-user rate limit exceeded */\n 429: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {string} */\n error: \"rate_limited\";\n message: string;\n retryAfterSeconds: number;\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/pages/autocomplete\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Autocomplete pages for a [[wikilink]] */\n get: {\n parameters: {\n query: {\n q: string;\n limit?: number;\n anchor?: \"substring\" | \"prefix\";\n };\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Ranked page candidates (permission-filtered) */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n results: {\n id: string;\n label: string;\n display: string;\n avatar?: string | null;\n modifiedAt?: string | null;\n score: number;\n }[];\n };\n };\n };\n /** @description Validation error */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"VALIDATION_ERROR\";\n message: string;\n details?: {\n fieldErrors: {\n [key: string]: string[];\n };\n formErrors: string[];\n };\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Per-user rate limit exceeded */\n 429: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {string} */\n error: \"rate_limited\";\n message: string;\n retryAfterSeconds: number;\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/pages/{pageId}/attachments/usage\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Get the full attachment usage breakdown for a page (latest vs past) */\n get: {\n parameters: {\n query?: never;\n header?: never;\n path: {\n /** @description Page id (24-char hex ObjectId) */\n pageId: string;\n };\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Usage breakdown (latest / past split, with referencing revisions) */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n pagePath: string;\n latest: {\n _id: string;\n page: string;\n creator: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n filePath: string;\n fileName: string;\n originalName: string;\n fileFormat: string;\n fileSize: number;\n createdAt: string;\n url: string;\n inUse: boolean;\n }[];\n past: {\n attachment: {\n _id: string;\n page: string;\n creator: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n filePath: string;\n fileName: string;\n originalName: string;\n fileFormat: string;\n fileSize: number;\n createdAt: string;\n url: string;\n inUse: boolean;\n };\n referencingRevisions: {\n revisionId: string;\n createdAt: string;\n author: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n }[];\n }[];\n };\n };\n };\n /** @description Invalid page id */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_PAGE_ID\" | \"PAGE_NOT_FOUND\" | \"FILE_MISSING\" | \"FILE_TOO_LARGE\" | \"DISALLOWED_MIME\" | \"INVALID_ATTACHMENT_ID\" | \"ATTACHMENT_NOT_FOUND\" | \"FORBIDDEN_FOR_DELETE\" | \"UPLOAD_FAILED\" | \"REMOVE_FAILED\";\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Page not found or not granted */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_PAGE_ID\" | \"PAGE_NOT_FOUND\" | \"FILE_MISSING\" | \"FILE_TOO_LARGE\" | \"DISALLOWED_MIME\" | \"INVALID_ATTACHMENT_ID\" | \"ATTACHMENT_NOT_FOUND\" | \"FORBIDDEN_FOR_DELETE\" | \"UPLOAD_FAILED\" | \"REMOVE_FAILED\";\n message: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/pages/{pageId}/attachments\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** List attachments for a page */\n get: {\n parameters: {\n query?: never;\n header?: never;\n path: {\n /** @description Page id (24-char hex ObjectId) */\n pageId: string;\n };\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Attachment list (with `inUse` derived from the latest revision body) */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n attachments: {\n _id: string;\n page: string;\n creator: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n filePath: string;\n fileName: string;\n originalName: string;\n fileFormat: string;\n fileSize: number;\n createdAt: string;\n url: string;\n inUse: boolean;\n }[];\n };\n };\n };\n /** @description Invalid page id */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_PAGE_ID\" | \"PAGE_NOT_FOUND\" | \"FILE_MISSING\" | \"FILE_TOO_LARGE\" | \"DISALLOWED_MIME\" | \"INVALID_ATTACHMENT_ID\" | \"ATTACHMENT_NOT_FOUND\" | \"FORBIDDEN_FOR_DELETE\" | \"UPLOAD_FAILED\" | \"REMOVE_FAILED\";\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Page not found or not granted */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_PAGE_ID\" | \"PAGE_NOT_FOUND\" | \"FILE_MISSING\" | \"FILE_TOO_LARGE\" | \"DISALLOWED_MIME\" | \"INVALID_ATTACHMENT_ID\" | \"ATTACHMENT_NOT_FOUND\" | \"FORBIDDEN_FOR_DELETE\" | \"UPLOAD_FAILED\" | \"REMOVE_FAILED\";\n message: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n put?: never;\n /** Add an attachment to a page (multipart/form-data) */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path: {\n /** @description Page id (24-char hex ObjectId) */\n pageId: string;\n };\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"multipart/form-data\": {\n /** Format: binary */\n file?: string;\n };\n };\n };\n responses: {\n /** @description Attachment created */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n attachment: {\n _id: string;\n page: string;\n creator: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n filePath: string;\n fileName: string;\n originalName: string;\n fileFormat: string;\n fileSize: number;\n createdAt: string;\n url: string;\n inUse: boolean;\n };\n url: string;\n };\n };\n };\n /** @description Missing file / invalid page id */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_PAGE_ID\" | \"PAGE_NOT_FOUND\" | \"FILE_MISSING\" | \"FILE_TOO_LARGE\" | \"DISALLOWED_MIME\" | \"INVALID_ATTACHMENT_ID\" | \"ATTACHMENT_NOT_FOUND\" | \"FORBIDDEN_FOR_DELETE\" | \"UPLOAD_FAILED\" | \"REMOVE_FAILED\";\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Page not found or not granted */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_PAGE_ID\" | \"PAGE_NOT_FOUND\" | \"FILE_MISSING\" | \"FILE_TOO_LARGE\" | \"DISALLOWED_MIME\" | \"INVALID_ATTACHMENT_ID\" | \"ATTACHMENT_NOT_FOUND\" | \"FORBIDDEN_FOR_DELETE\" | \"UPLOAD_FAILED\" | \"REMOVE_FAILED\";\n message: string;\n };\n };\n };\n };\n /** @description Request body exceeds the multipart envelope ceiling */\n 413: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_PAGE_ID\" | \"PAGE_NOT_FOUND\" | \"FILE_MISSING\" | \"FILE_TOO_LARGE\" | \"DISALLOWED_MIME\" | \"INVALID_ATTACHMENT_ID\" | \"ATTACHMENT_NOT_FOUND\" | \"FORBIDDEN_FOR_DELETE\" | \"UPLOAD_FAILED\" | \"REMOVE_FAILED\";\n message: string;\n };\n };\n };\n };\n /** @description Upload / storage failure */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_PAGE_ID\" | \"PAGE_NOT_FOUND\" | \"FILE_MISSING\" | \"FILE_TOO_LARGE\" | \"DISALLOWED_MIME\" | \"INVALID_ATTACHMENT_ID\" | \"ATTACHMENT_NOT_FOUND\" | \"FORBIDDEN_FOR_DELETE\" | \"UPLOAD_FAILED\" | \"REMOVE_FAILED\";\n message: string;\n };\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/attachments/upload\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Upload an attachment from the editor (paste / drag-and-drop) */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"multipart/form-data\": {\n /** Format: binary */\n file?: string;\n pageId?: string;\n /** @enum {string} */\n intent?: \"paste\" | \"dnd\";\n };\n };\n };\n responses: {\n /** @description Upload accepted; returns the lean { url, filename, mimeType, sizeBytes } shape the editor splices into the source */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n url: string;\n filename: string;\n mimeType: string;\n sizeBytes: number;\n };\n };\n };\n /** @description Missing / malformed fields */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {string} */\n error: \"too_large\" | \"disallowed_type\" | \"rate_limited\" | \"no_permission\";\n message: string;\n details?: {\n [key: string]: unknown;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description No permission for the target page */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {string} */\n error: \"too_large\" | \"disallowed_type\" | \"rate_limited\" | \"no_permission\";\n message: string;\n details?: {\n [key: string]: unknown;\n };\n };\n };\n };\n /** @description Body exceeds the per-intent size cap */\n 413: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {string} */\n error: \"too_large\" | \"disallowed_type\" | \"rate_limited\" | \"no_permission\";\n message: string;\n details?: {\n [key: string]: unknown;\n };\n };\n };\n };\n /** @description MIME type not in the per-intent allow-list */\n 415: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {string} */\n error: \"too_large\" | \"disallowed_type\" | \"rate_limited\" | \"no_permission\";\n message: string;\n details?: {\n [key: string]: unknown;\n };\n };\n };\n };\n /** @description Per-user rate limit exceeded */\n 429: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {string} */\n error: \"too_large\" | \"disallowed_type\" | \"rate_limited\" | \"no_permission\";\n message: string;\n details?: {\n [key: string]: unknown;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/attachments/{id}/meta\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Get metadata for a single attachment by id */\n get: {\n parameters: {\n query?: never;\n header?: never;\n path: {\n /** @description Attachment id (24-char hex ObjectId) */\n id: string;\n };\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Attachment metadata (no `inUse` — that flag is page-scoped) */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n _id: string;\n page: string;\n creator: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n filePath: string;\n fileName: string;\n originalName: string;\n fileFormat: string;\n fileSize: number;\n createdAt: string;\n url: string;\n };\n };\n };\n /** @description Invalid attachment id */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_PAGE_ID\" | \"PAGE_NOT_FOUND\" | \"FILE_MISSING\" | \"FILE_TOO_LARGE\" | \"DISALLOWED_MIME\" | \"INVALID_ATTACHMENT_ID\" | \"ATTACHMENT_NOT_FOUND\" | \"FORBIDDEN_FOR_DELETE\" | \"UPLOAD_FAILED\" | \"REMOVE_FAILED\";\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Attachment not found / not granted */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_PAGE_ID\" | \"PAGE_NOT_FOUND\" | \"FILE_MISSING\" | \"FILE_TOO_LARGE\" | \"DISALLOWED_MIME\" | \"INVALID_ATTACHMENT_ID\" | \"ATTACHMENT_NOT_FOUND\" | \"FORBIDDEN_FOR_DELETE\" | \"UPLOAD_FAILED\" | \"REMOVE_FAILED\";\n message: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/attachments/{id}\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n post?: never;\n /** Remove an attachment */\n delete: {\n parameters: {\n query?: never;\n header?: never;\n path: {\n /** @description Attachment id (24-char hex ObjectId) */\n id: string;\n };\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Attachment removed */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {boolean} */\n success: true;\n };\n };\n };\n /** @description Invalid attachment id */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_PAGE_ID\" | \"PAGE_NOT_FOUND\" | \"FILE_MISSING\" | \"FILE_TOO_LARGE\" | \"DISALLOWED_MIME\" | \"INVALID_ATTACHMENT_ID\" | \"ATTACHMENT_NOT_FOUND\" | \"FORBIDDEN_FOR_DELETE\" | \"UPLOAD_FAILED\" | \"REMOVE_FAILED\";\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Forbidden (kept for legacy parity; current policy only requires view-grant) */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_PAGE_ID\" | \"PAGE_NOT_FOUND\" | \"FILE_MISSING\" | \"FILE_TOO_LARGE\" | \"DISALLOWED_MIME\" | \"INVALID_ATTACHMENT_ID\" | \"ATTACHMENT_NOT_FOUND\" | \"FORBIDDEN_FOR_DELETE\" | \"UPLOAD_FAILED\" | \"REMOVE_FAILED\";\n message: string;\n };\n };\n };\n };\n /** @description Attachment not found / page not granted */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_PAGE_ID\" | \"PAGE_NOT_FOUND\" | \"FILE_MISSING\" | \"FILE_TOO_LARGE\" | \"DISALLOWED_MIME\" | \"INVALID_ATTACHMENT_ID\" | \"ATTACHMENT_NOT_FOUND\" | \"FORBIDDEN_FOR_DELETE\" | \"UPLOAD_FAILED\" | \"REMOVE_FAILED\";\n message: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_PAGE_ID\" | \"PAGE_NOT_FOUND\" | \"FILE_MISSING\" | \"FILE_TOO_LARGE\" | \"DISALLOWED_MIME\" | \"INVALID_ATTACHMENT_ID\" | \"ATTACHMENT_NOT_FOUND\" | \"FORBIDDEN_FOR_DELETE\" | \"UPLOAD_FAILED\" | \"REMOVE_FAILED\";\n message: string;\n };\n };\n };\n };\n };\n };\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/search\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Full-text search over pages */\n get: {\n parameters: {\n query: {\n q: string;\n tree?: string;\n type?: \"portal\" | \"public\" | \"user\";\n page?: number;\n limit?: number;\n };\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Ranked search hits joined with page + bookmark count metadata */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n meta: {\n took?: number;\n total: number;\n results: number;\n };\n data: {\n pageId: string;\n path: string;\n score?: number;\n snippet?: string;\n bookmarkCount: number;\n page: {\n _id: string;\n path: string;\n revision?: string | {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n redirectTo?: string | null;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n grant?: number;\n grantedUsers?: string[];\n creator?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n lastUpdateUser?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n liker?: string[];\n /** @default 0 */\n commentCount: number;\n extended?: {\n [key: string]: unknown;\n };\n createdAt: string;\n updatedAt?: string;\n currentRevision?: string | null;\n yjsCheckpointAt?: string | null;\n latestRevision?: string;\n likerCount?: number;\n seenUsersCount?: number;\n };\n }[];\n };\n };\n };\n /** @description Validation error (e.g. empty `q`, invalid `type` enum) */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"VALIDATION_ERROR\";\n message: string;\n details?: {\n fieldErrors: {\n [key: string]: string[];\n };\n formErrors: string[];\n };\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Search driver raised an unexpected error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n /** @description No search driver registered (install `@crowi/plugin-search-*`) */\n 503: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"SERVICE_UNAVAILABLE\";\n feature: string;\n message: string;\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/admin/crypto/status\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Report which sensitive Config values are still plaintext */\n get: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Per-(ns, key) status for every sensitive Config row */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n encryptionConfigured: boolean;\n unencryptedCount: number;\n encryptedCount: number;\n entries: {\n ns: string;\n key: string;\n present: boolean;\n encrypted: boolean;\n }[];\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/admin/crypto/reencrypt\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Re-encrypt every plaintext sensitive Config value with the current key */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Migration completed (counts reported) */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n rewritten: number;\n alreadyEncrypted: number;\n missing: number;\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n /** @description CROWI_ENCRYPTION_KEY is not configured on the server */\n 503: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ENCRYPTION_NOT_CONFIGURED\";\n message: string;\n };\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/admin/app\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Read the current App settings (incl. AWS upload section) */\n get: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Current `app:*` slice plus derived read-only fields */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n app: {\n title: string;\n confidential: string;\n };\n isUploadable: boolean;\n registrationMode: {\n [key: string]: string;\n };\n setupChecklistDismissed: boolean;\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n };\n };\n /** Update App settings — partial updates per section */\n put: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n app?: {\n title?: string;\n confidential?: string;\n };\n setupChecklistDismissed?: boolean;\n };\n };\n };\n responses: {\n /** @description Update succeeded */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {boolean} */\n ok: true;\n };\n };\n };\n /** @description Body validation failed (legacy `{ bodyResult }` envelope) */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n bodyResult: {\n issues: {\n path: (string | number)[];\n message: string;\n }[];\n name?: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n };\n };\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/admin/auth\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Get the current auth:* settings */\n get: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Current authentication settings */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n requireThirdPartyAuth: boolean;\n disablePasswordAuth: boolean;\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n /** Update auth:* settings (requireThirdPartyAuth / disablePasswordAuth) */\n put: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n requireThirdPartyAuth: boolean;\n disablePasswordAuth: boolean;\n };\n };\n };\n responses: {\n /** @description Updated settings (re-read from in-memory cache) */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n requireThirdPartyAuth: boolean;\n disablePasswordAuth: boolean;\n };\n };\n };\n /** @description Enabling a third-party-dependent setting (requireThirdPartyAuth / disablePasswordAuth) is rejected because third-party sign-in was removed from core */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"THIRD_PARTY_AUTH_UNAVAILABLE\";\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/admin/security\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Get the current security:* settings */\n get: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Current security settings */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {string} */\n registrationMode: \"Open\" | \"Resricted\" | \"Closed\";\n registrationWhiteList: string[];\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n /** Update security:* settings (registrationMode / registrationWhiteList) */\n put: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n /** @enum {string} */\n registrationMode: \"Open\" | \"Resricted\" | \"Closed\";\n registrationWhiteList: string[];\n };\n };\n };\n responses: {\n /** @description Updated settings (re-read from in-memory cache) */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {string} */\n registrationMode: \"Open\" | \"Resricted\" | \"Closed\";\n registrationWhiteList: string[];\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/admin/mail\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Read the sender-independent mail settings (from + active sender driver) */\n get: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Current mail settings */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n from: string;\n activeDriver: string;\n activePlugin: string;\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n };\n };\n /** Update the sender-independent mail settings (from address) */\n put: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n from?: string;\n };\n };\n };\n responses: {\n /** @description Update succeeded */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {boolean} */\n ok: true;\n };\n };\n };\n /** @description Body validation failed (legacy `{ bodyResult }` envelope) */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n bodyResult: {\n issues: {\n path: (string | number)[];\n message: string;\n }[];\n name?: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n };\n };\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/admin/mail/test\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Send a test mail to the calling admin (req.user.email) via the active sender */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": Record<string, never>;\n };\n };\n responses: {\n /** @description Test mail sent successfully */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {boolean} */\n ok: true;\n to: string;\n };\n };\n };\n /** @description Body validation failed */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n bodyResult: {\n issues: {\n path: (string | number)[];\n message: string;\n }[];\n name?: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Test mail dispatch failed (SMTP error) */\n 502: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"MAIL_TEST_FAILED\";\n message: string;\n };\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/admin/storage\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Get the active storage driver and the list of installed drivers */\n get: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Active driver pointer + every registered driver */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n active: {\n driverName: string;\n pluginName: string;\n } | null;\n drivers: {\n driverName: string;\n pluginName: string;\n isActive: boolean;\n }[];\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/admin/search\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Get the active search driver and the list of installed drivers */\n get: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Active driver pointer + every registered driver */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n active: {\n driverName: string;\n pluginName: string;\n supportsRebuild: boolean;\n } | null;\n drivers: {\n driverName: string;\n pluginName: string;\n isActive: boolean;\n supportsRebuild: boolean;\n }[];\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/admin/users\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** List users with optional search (q) and pagination (page, limit) */\n get: {\n parameters: {\n query?: {\n q?: string;\n status?: number | null;\n page?: number;\n limit?: number;\n };\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Paginated user list */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n users: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n }[];\n pager: {\n page: number;\n pagesCount: number;\n pages: number[];\n total: number;\n previous: number | null;\n previousDots: boolean;\n next: number | null;\n nextDots: boolean;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/admin/users/search\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Email substring search for autocomplete-style UIs (max 51 results) */\n get: {\n parameters: {\n query: {\n email: string;\n };\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Matching users (capped at 51) */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n users: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n }[];\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/admin/users/invite\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Invite a batch of users by email; returns per-email status */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n emailList: string[];\n /** @default false */\n sendEmail?: boolean;\n };\n };\n };\n responses: {\n /** @description Per-email status (created / exists / failed) */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n results: ({\n email: string;\n /** @enum {string} */\n status: \"created\";\n userId: string;\n } | {\n email: string;\n /** @enum {string} */\n status: \"exists\";\n } | {\n email: string;\n /** @enum {string} */\n status: \"failed\";\n })[];\n };\n };\n };\n /** @description Validation error */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"VALIDATION_ERROR\";\n message: string;\n details?: {\n fieldErrors: {\n [key: string]: string[];\n };\n formErrors: string[];\n };\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/admin/users/{id}\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n post?: never;\n /** Physically remove a user (INVITED status only) */\n delete: {\n parameters: {\n query?: never;\n header?: never;\n path: {\n id: string;\n };\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description User removed */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n deletedId: string;\n };\n };\n };\n /** @description Invalid id */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"VALIDATION_ERROR\";\n message: string;\n details?: {\n fieldErrors: {\n [key: string]: string[];\n };\n formErrors: string[];\n };\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description User not found */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"NOT_FOUND\";\n message: string;\n };\n };\n };\n };\n /** @description User is not in the INVITED status and cannot be physically removed */\n 409: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"CONFLICT\";\n message: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n options?: never;\n head?: never;\n /** Update a user's name and email */\n patch: {\n parameters: {\n query?: never;\n header?: never;\n path: {\n id: string;\n };\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n name: string;\n /** Format: email */\n email: string;\n };\n };\n };\n responses: {\n /** @description Updated user */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n user: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n };\n };\n };\n /** @description Validation error */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"VALIDATION_ERROR\";\n message: string;\n details?: {\n fieldErrors: {\n [key: string]: string[];\n };\n formErrors: string[];\n };\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description User not found */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"NOT_FOUND\";\n message: string;\n };\n };\n };\n };\n /** @description Email already in use by another user */\n 409: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"CONFLICT\";\n message: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n trace?: never;\n };\n \"/admin/users/{id}/admin\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n /** Grant admin permission to a user */\n put: {\n parameters: {\n query?: never;\n header?: never;\n path: {\n id: string;\n };\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Updated user */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n user: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n };\n };\n };\n /** @description Invalid id */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"VALIDATION_ERROR\";\n message: string;\n details?: {\n fieldErrors: {\n [key: string]: string[];\n };\n formErrors: string[];\n };\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description User not found */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"NOT_FOUND\";\n message: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n post?: never;\n /** Revoke admin permission from a user */\n delete: {\n parameters: {\n query?: never;\n header?: never;\n path: {\n id: string;\n };\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Updated user */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n user: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n };\n };\n };\n /** @description Invalid id */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"VALIDATION_ERROR\";\n message: string;\n details?: {\n fieldErrors: {\n [key: string]: string[];\n };\n formErrors: string[];\n };\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description User not found */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"NOT_FOUND\";\n message: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/admin/users/{id}/status/active\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n /** Activate a user (status -> ACTIVE) */\n put: {\n parameters: {\n query?: never;\n header?: never;\n path: {\n id: string;\n };\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Updated user */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n user: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n };\n };\n };\n /** @description Invalid id */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"VALIDATION_ERROR\";\n message: string;\n details?: {\n fieldErrors: {\n [key: string]: string[];\n };\n formErrors: string[];\n };\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description User not found */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"NOT_FOUND\";\n message: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/admin/users/{id}/status/suspended\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n /** Suspend a user (status -> SUSPENDED) */\n put: {\n parameters: {\n query?: never;\n header?: never;\n path: {\n id: string;\n };\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Updated user */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n user: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n };\n };\n };\n /** @description Invalid id */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"VALIDATION_ERROR\";\n message: string;\n details?: {\n fieldErrors: {\n [key: string]: string[];\n };\n formErrors: string[];\n };\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description User not found */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"NOT_FOUND\";\n message: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/admin/users/{id}/reset-password\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Reset a user's password to a random value (returns plaintext) */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path: {\n id: string;\n };\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Updated user + new plaintext password */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n user: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n newPassword: string;\n };\n };\n };\n /** @description Invalid id */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"VALIDATION_ERROR\";\n message: string;\n details?: {\n fieldErrors: {\n [key: string]: string[];\n };\n formErrors: string[];\n };\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description User not found */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"NOT_FOUND\";\n message: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/admin/users/{id}/resend-invite\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Re-issue an invite token and resend the invitation email (INVITED status only) */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path: {\n id: string;\n };\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Invitation email resent; returns the (unchanged) user */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n user: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n };\n };\n };\n /** @description Invalid id */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"VALIDATION_ERROR\";\n message: string;\n details?: {\n fieldErrors: {\n [key: string]: string[];\n };\n formErrors: string[];\n };\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description User not found */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"NOT_FOUND\";\n message: string;\n };\n };\n };\n };\n /** @description User is not in the INVITED status, so there is no pending invite to resend */\n 409: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"CONFLICT\";\n message: string;\n };\n };\n };\n };\n /** @description Internal server error (e.g. the invitation email failed to send) */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/admin/users/{id}/email\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n /** Update a user's email address */\n put: {\n parameters: {\n query?: never;\n header?: never;\n path: {\n id: string;\n };\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n /** Format: email */\n email: string;\n };\n };\n };\n responses: {\n /** @description Updated user */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n user: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n };\n };\n };\n /** @description Validation error */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"VALIDATION_ERROR\";\n message: string;\n details?: {\n fieldErrors: {\n [key: string]: string[];\n };\n formErrors: string[];\n };\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description User not found */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"NOT_FOUND\";\n message: string;\n };\n };\n };\n };\n /** @description Email already in use by another user */\n 409: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"CONFLICT\";\n message: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/admin/users/pending-count\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Count users awaiting admin approval (status REGISTERED) */\n get: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Pending-approval user count */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n count: number;\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/admin/plugins\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** List every plugin currently loaded */\n get: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Plugin list with declared registry slots */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n plugins: {\n name: string;\n version: string;\n requires?: string[];\n hasConfig: boolean;\n registers: string[];\n adminPlacement: {\n /** @enum {string} */\n section: \"settings\" | \"shared\" | \"storage\" | \"mail\" | \"notification\" | \"auth\" | \"search\" | \"renderer\";\n label: string;\n icon?: string;\n };\n supportsHotReload: boolean;\n }[];\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/admin/plugins/config\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Get a plugin config form schema + current values */\n get: {\n parameters: {\n query: {\n name: string;\n locale?: string;\n };\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Plugin config + values (secrets masked) */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n name: string;\n fields: {\n name: string;\n label?: string;\n /** @enum {string} */\n kind: \"string\" | \"secret\" | \"number\" | \"boolean\" | \"enum\" | \"string-array\";\n description?: string;\n defaultValue?: unknown;\n options?: string[];\n action?: {\n label: string;\n method: string;\n path: string;\n };\n optional: boolean;\n }[];\n values: {\n [key: string]: unknown;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Plugin not loaded */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"PLUGIN_NOT_FOUND\";\n message: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n /** Update a plugin config (per-field validation via plugin Zod schema) */\n put: {\n parameters: {\n query: {\n name: string;\n };\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n values: {\n [key: string]: unknown;\n };\n };\n };\n };\n responses: {\n /** @description Save succeeded; hotReloaded flag indicates live apply */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {boolean} */\n ok: true;\n hotReloaded: boolean;\n reconfigureFailed: boolean;\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Plugin not loaded */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"PLUGIN_NOT_FOUND\";\n message: string;\n };\n };\n };\n };\n /** @description Plugin config failed plugin-defined validation */\n 422: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"PLUGIN_CONFIG_VALIDATION_FAILED\";\n message: string;\n issues: {\n path: (string | number)[];\n message: string;\n }[];\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/admin/plugins/render-cache/clear-all\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Clear every renderer plugin cache entry */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": Record<string, never>;\n };\n };\n responses: {\n /** @description Cleared (count reported) */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {boolean} */\n ok: true;\n clearedAt: string;\n removedCount: number;\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/admin/plugins/render-cache/clear-plugin\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Clear renderer plugin cache entries scoped to a single plugin */\n post: {\n parameters: {\n query: {\n name: string;\n };\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": Record<string, never>;\n };\n };\n responses: {\n /** @description Cleared (count reported) */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {boolean} */\n ok: true;\n clearedAt: string;\n removedCount: number;\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Plugin not loaded */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"PLUGIN_NOT_FOUND\";\n message: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/notifications\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** List notifications for the current user (paginated) */\n get: {\n parameters: {\n query?: {\n limit?: number | null;\n offset?: number | null;\n };\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Paginated notification list (newest first) */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n notifications: {\n _id: string;\n user: string;\n /** @enum {string} */\n targetModel: \"Page\";\n target: {\n _id: string;\n path: string;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n };\n /** @enum {string} */\n action: \"COMMENT\" | \"LIKE\" | \"MENTION\" | \"UPDATE\";\n /** @enum {string} */\n status: \"UNREAD\" | \"UNOPENED\" | \"OPENED\";\n actionUsers: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n }[];\n createdAt: string;\n }[];\n pager: {\n prev: number | null;\n next: number | null;\n offset: number;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/notifications/read\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Mark all unread notifications of the current user as read */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description All UNREAD notifications transitioned to UNOPENED */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {boolean} */\n ok: true;\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/notifications/token\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Issue a short-lived notifications token (JWT) for the realtime-invalidation WebSocket */\n get: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Signed notifications token + selfUserId + expiresAt */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n token: string;\n selfUserId: string;\n expiresAt: string;\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Token signing exception */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/notifications/status\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Get the unread notification count for the current user */\n get: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Unread notification count */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n count: number;\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/notifications/{id}/open\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Open a notification (set its status to OPENED) */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path: {\n id: string;\n };\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description The opened notification (status=OPENED) */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n notification: {\n _id: string;\n user: string;\n /** @enum {string} */\n targetModel: \"Page\";\n target: {\n _id: string;\n path: string;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n };\n /** @enum {string} */\n action: \"COMMENT\" | \"LIKE\" | \"MENTION\" | \"UPDATE\";\n /** @enum {string} */\n status: \"UNREAD\" | \"UNOPENED\" | \"OPENED\";\n actionUsers: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n }[];\n createdAt: string;\n };\n };\n };\n };\n /** @description Invalid notification id (malformed ObjectId) */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_REQUEST\";\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Notification not found or owned by another user */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"NOTIFICATION_NOT_FOUND\";\n /** @enum {string} */\n message: \"Notification not found\";\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n}\nexport type webhooks = Record<string, never>;\nexport interface components {\n schemas: {\n ApiError: {\n error: {\n code: components[\"schemas\"][\"ErrorCode\"];\n message: string;\n details?: unknown;\n };\n };\n /** @enum {string} */\n ErrorCode: \"AUTHENTICATION_REQUIRED\" | \"ADMIN_REQUIRED\" | \"THIRD_PARTY_AUTH_REQUIRED\" | \"USER_REGISTERED\" | \"USER_SUSPENDED\" | \"USER_INVITED\" | \"USER_NOT_ACTIVE\" | \"EMAIL_NOT_CONFIRMED\" | \"INTERNAL_ERROR\" | \"VALIDATION_ERROR\" | \"INVALID_REQUEST\" | \"NOT_FOUND\" | \"CONFLICT\" | \"SERVICE_UNAVAILABLE\" | \"APPLICATION_NOT_INSTALLED\" | \"INVALID_PAGE_ID\" | \"PAGE_NOT_FOUND\" | \"PAGE_NOT_GRANTED\" | \"PAGE_REVISION_ERROR\" | \"PAGE_TWIN_EXISTS\" | \"INVALID_GRANT\" | \"COMMENT_NOT_FOUND\" | \"NOTIFICATION_NOT_FOUND\" | \"USER_NOT_FOUND\" | \"USER_EXISTS\" | \"USERNAME_TAKEN\" | \"EMAIL_TAKEN\" | \"EMAIL_NOT_ALLOWED\" | \"INVALID_ACTIVATION_TOKEN\" | \"INVALID_INVITE_TOKEN\" | \"INVITE_ALREADY_ACCEPTED\" | \"INVALID_RESET_TOKEN\" | \"INVALID_EMAIL_CHANGE_TOKEN\" | \"INVALID_CREDENTIALS\" | \"REFRESH_TOKEN_REQUIRED\" | \"REGISTRATION_CLOSED\" | \"ENCRYPTION_NOT_CONFIGURED\" | \"MAIL_TEST_FAILED\" | \"PLUGIN_NOT_FOUND\" | \"PLUGIN_CONFIG_VALIDATION_FAILED\";\n ApplicationNotInstalledError: {\n error: {\n /** @enum {string} */\n code: \"APPLICATION_NOT_INSTALLED\";\n /** @enum {string} */\n message: \"Application is not installed\";\n /** @enum {string} */\n redirectTo: \"/installer\";\n };\n };\n AuthenticationRequiredError: {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n AdminRequiredError: {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n UserStatusError: {\n error: {\n /** @enum {string} */\n code: \"USER_REGISTERED\" | \"USER_SUSPENDED\" | \"USER_INVITED\";\n message: string;\n redirectTo: string;\n };\n };\n ThirdPartyAuthRequiredError: {\n error: {\n /** @enum {string} */\n code: \"THIRD_PARTY_AUTH_REQUIRED\";\n /** @enum {string} */\n message: \"Third party authentication is required\";\n redirectTo: string;\n };\n };\n InternalServerError: {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n InvalidPageIdError: {\n error: {\n /** @enum {string} */\n code: \"INVALID_PAGE_ID\";\n message: string;\n };\n };\n ValidationError: {\n error: {\n /** @enum {string} */\n code: \"VALIDATION_ERROR\";\n message: string;\n details?: {\n fieldErrors: {\n [key: string]: string[];\n };\n formErrors: string[];\n };\n };\n };\n NotFoundError: {\n error: {\n /** @enum {string} */\n code: \"NOT_FOUND\";\n message: string;\n };\n };\n ConflictError: {\n error: {\n /** @enum {string} */\n code: \"CONFLICT\";\n message: string;\n };\n };\n ServiceUnavailableError: {\n error: {\n /** @enum {string} */\n code: \"SERVICE_UNAVAILABLE\";\n feature: string;\n message: string;\n };\n };\n OAuthError: {\n /** @enum {string} */\n error: \"invalid_request\" | \"invalid_client\" | \"invalid_grant\" | \"unauthorized_client\" | \"unsupported_grant_type\" | \"invalid_scope\" | \"access_denied\" | \"authorization_pending\" | \"slow_down\" | \"expired_token\";\n error_description?: string;\n };\n AuthorizeRequest: {\n client_id: string;\n redirect_uri: string;\n scope: string;\n code_challenge: string;\n /** @enum {string} */\n code_challenge_method: \"S256\";\n state?: string;\n };\n AuthorizeResponse: {\n redirectUri: string;\n };\n TokenRequest: {\n /** @enum {string} */\n grant_type: \"authorization_code\";\n code: string;\n code_verifier: string;\n redirect_uri: string;\n client_id: string;\n } | {\n /** @enum {string} */\n grant_type: \"refresh_token\";\n refresh_token: string;\n client_id: string;\n scope?: string;\n } | {\n /** @enum {string} */\n grant_type: \"urn:ietf:params:oauth:grant-type:device_code\";\n device_code: string;\n client_id: string;\n };\n TokenResponse: {\n access_token: string;\n /** @enum {string} */\n token_type: \"Bearer\";\n expires_in: number;\n refresh_token: string;\n scope: string;\n };\n RevokeRequest: {\n token: string;\n token_type_hint?: string;\n };\n DiscoveryResponse: {\n issuer: string;\n authorization_endpoint: string;\n token_endpoint: string;\n revocation_endpoint: string;\n device_authorization_endpoint?: string;\n scopes_supported: string[];\n response_types_supported: string[];\n grant_types_supported: string[];\n code_challenge_methods_supported: string[];\n token_endpoint_auth_methods_supported: string[];\n };\n DeviceAuthorizeRequest: {\n client_id: string;\n scope: string;\n };\n DeviceAuthorizeResponse: {\n device_code: string;\n user_code: string;\n verification_uri: string;\n verification_uri_complete: string;\n expires_in: number;\n interval: number;\n };\n DeviceInfoResponse: {\n client_id: string;\n scopes: string[];\n };\n DeviceVerifyRequest: {\n user_code: string;\n /** @enum {string} */\n action: \"approve\" | \"deny\";\n };\n DeviceVerifyResponse: {\n /** @enum {string} */\n status: \"approved\" | \"denied\";\n };\n UserPublic: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n PageUser: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n };\n Page: {\n _id: string;\n path: string;\n revision?: string | {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n redirectTo?: string | null;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n grant?: number;\n grantedUsers?: string[];\n creator?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n lastUpdateUser?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n liker?: string[];\n /** @default 0 */\n commentCount: number;\n extended?: {\n [key: string]: unknown;\n };\n createdAt: string;\n updatedAt?: string;\n currentRevision?: string | null;\n yjsCheckpointAt?: string | null;\n latestRevision?: string;\n likerCount?: number;\n seenUsersCount?: number;\n };\n PageWithRevision: {\n _id: string;\n path: string;\n revision: {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n redirectTo?: string | null;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n grant?: number;\n grantedUsers?: string[];\n creator?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n lastUpdateUser?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n liker?: string[];\n /** @default 0 */\n commentCount: number;\n extended?: {\n [key: string]: unknown;\n };\n createdAt: string;\n updatedAt?: string;\n currentRevision?: string | null;\n yjsCheckpointAt?: string | null;\n latestRevision?: string;\n likerCount?: number;\n seenUsersCount?: number;\n };\n Revision: {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n RevisionMeta: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n TocEntry: {\n level: number;\n text: string;\n anchorId: string;\n };\n WikiLink: {\n raw: string;\n target: string;\n displayText?: string;\n };\n Mention: {\n username: string;\n };\n Pager: {\n prev: number | null;\n next: number | null;\n offset: number;\n };\n ListPagesRequest: {\n path?: string;\n user?: string;\n /** @default 50 */\n limit: number | null;\n /** @default 0 */\n offset: number | null;\n /** @default false */\n include_deleted: boolean | null;\n /**\n * @default updatedAt\n * @enum {string}\n */\n sort: \"updatedAt\" | \"createdAt\" | \"path\";\n /**\n * @default desc\n * @enum {string}\n */\n order: \"asc\" | \"desc\";\n revision_id?: string;\n };\n ListPagesResponse: {\n pages: {\n _id: string;\n path: string;\n revision?: string | {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n redirectTo?: string | null;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n grant?: number;\n grantedUsers?: string[];\n creator?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n lastUpdateUser?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n liker?: string[];\n /** @default 0 */\n commentCount: number;\n extended?: {\n [key: string]: unknown;\n };\n createdAt: string;\n updatedAt?: string;\n currentRevision?: string | null;\n yjsCheckpointAt?: string | null;\n latestRevision?: string;\n likerCount?: number;\n seenUsersCount?: number;\n }[];\n pager: {\n prev: number | null;\n next: number | null;\n offset: number;\n };\n portalPage?: {\n _id: string;\n path: string;\n revision?: string | {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n redirectTo?: string | null;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n grant?: number;\n grantedUsers?: string[];\n creator?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n lastUpdateUser?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n liker?: string[];\n /** @default 0 */\n commentCount: number;\n extended?: {\n [key: string]: unknown;\n };\n createdAt: string;\n updatedAt?: string;\n currentRevision?: string | null;\n yjsCheckpointAt?: string | null;\n latestRevision?: string;\n likerCount?: number;\n seenUsersCount?: number;\n } | null;\n contentPage?: {\n _id: string;\n path: string;\n revision?: string | {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n redirectTo?: string | null;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n grant?: number;\n grantedUsers?: string[];\n creator?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n lastUpdateUser?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n liker?: string[];\n /** @default 0 */\n commentCount: number;\n extended?: {\n [key: string]: unknown;\n };\n createdAt: string;\n updatedAt?: string;\n currentRevision?: string | null;\n yjsCheckpointAt?: string | null;\n latestRevision?: string;\n likerCount?: number;\n seenUsersCount?: number;\n } | null;\n };\n GetPageResponse: {\n page: {\n _id: string;\n path: string;\n revision: {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n redirectTo?: string | null;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n grant?: number;\n grantedUsers?: string[];\n creator?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n lastUpdateUser?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n liker?: string[];\n /** @default 0 */\n commentCount: number;\n extended?: {\n [key: string]: unknown;\n };\n createdAt: string;\n updatedAt?: string;\n currentRevision?: string | null;\n yjsCheckpointAt?: string | null;\n latestRevision?: string;\n likerCount?: number;\n seenUsersCount?: number;\n };\n };\n UpdatePageRequest: {\n page_id: string;\n body: string;\n revision_id?: string;\n grant?: number;\n };\n PageNotFoundError: {\n error: {\n /** @enum {string} */\n code: \"PAGE_NOT_FOUND\";\n /** @enum {string} */\n message: \"Page not found\";\n };\n };\n PageNotGrantedError: {\n error: {\n /** @enum {string} */\n code: \"PAGE_NOT_GRANTED\";\n /** @enum {string} */\n message: \"Page is not granted for the user\";\n };\n };\n PageRevisionError: {\n error: {\n /** @enum {string} */\n code: \"PAGE_REVISION_ERROR\";\n message: string;\n };\n };\n GetSeenUsersRequest: {\n page_id: string;\n limit?: number;\n };\n SeenUsersResponse: {\n seenUsers: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n }[];\n seenUsersCount: number;\n };\n RecentlyViewedPagesResponse: {\n pages: {\n _id: string;\n path: string;\n revision?: string | {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n redirectTo?: string | null;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n grant?: number;\n grantedUsers?: string[];\n creator?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n lastUpdateUser?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n liker?: string[];\n /** @default 0 */\n commentCount: number;\n extended?: {\n [key: string]: unknown;\n };\n createdAt: string;\n updatedAt?: string;\n currentRevision?: string | null;\n yjsCheckpointAt?: string | null;\n latestRevision?: string;\n likerCount?: number;\n seenUsersCount?: number;\n }[];\n };\n Attachment: {\n _id: string;\n page: string;\n creator: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n filePath: string;\n fileName: string;\n originalName: string;\n fileFormat: string;\n fileSize: number;\n createdAt: string;\n url: string;\n inUse: boolean;\n };\n AttachmentMeta: {\n _id: string;\n page: string;\n creator: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n filePath: string;\n fileName: string;\n originalName: string;\n fileFormat: string;\n fileSize: number;\n createdAt: string;\n url: string;\n };\n ListAttachmentsResponse: {\n attachments: {\n _id: string;\n page: string;\n creator: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n filePath: string;\n fileName: string;\n originalName: string;\n fileFormat: string;\n fileSize: number;\n createdAt: string;\n url: string;\n inUse: boolean;\n }[];\n };\n PastAttachmentUsage: {\n attachment: {\n _id: string;\n page: string;\n creator: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n filePath: string;\n fileName: string;\n originalName: string;\n fileFormat: string;\n fileSize: number;\n createdAt: string;\n url: string;\n inUse: boolean;\n };\n referencingRevisions: {\n revisionId: string;\n createdAt: string;\n author: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n }[];\n };\n AttachmentUsageResponse: {\n pagePath: string;\n latest: {\n _id: string;\n page: string;\n creator: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n filePath: string;\n fileName: string;\n originalName: string;\n fileFormat: string;\n fileSize: number;\n createdAt: string;\n url: string;\n inUse: boolean;\n }[];\n past: {\n attachment: {\n _id: string;\n page: string;\n creator: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n filePath: string;\n fileName: string;\n originalName: string;\n fileFormat: string;\n fileSize: number;\n createdAt: string;\n url: string;\n inUse: boolean;\n };\n referencingRevisions: {\n revisionId: string;\n createdAt: string;\n author: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n }[];\n }[];\n };\n AttachmentError: {\n error: {\n /** @enum {string} */\n code: \"INVALID_PAGE_ID\" | \"PAGE_NOT_FOUND\" | \"FILE_MISSING\" | \"FILE_TOO_LARGE\" | \"DISALLOWED_MIME\" | \"INVALID_ATTACHMENT_ID\" | \"ATTACHMENT_NOT_FOUND\" | \"FORBIDDEN_FOR_DELETE\" | \"UPLOAD_FAILED\" | \"REMOVE_FAILED\";\n message: string;\n };\n };\n UploadAttachmentResponse: {\n url: string;\n filename: string;\n mimeType: string;\n sizeBytes: number;\n };\n UploadAttachmentError: {\n /** @enum {string} */\n error: \"too_large\" | \"disallowed_type\" | \"rate_limited\" | \"no_permission\";\n message: string;\n details?: {\n [key: string]: unknown;\n };\n };\n CreateDraftRequest: {\n path: string;\n initialBody?: string;\n };\n CreateDraftResponse: {\n pageId: string;\n };\n DraftPathConflictError: {\n /** @enum {string} */\n error: \"path_taken_by_draft\";\n owner: {\n id: string;\n username: string;\n displayName: string;\n };\n message: string;\n };\n DraftBadRequestError: {\n /** @enum {string} */\n error: \"invalid_path\" | \"path_taken\";\n message: string;\n };\n DraftNotFoundError: {\n /** @enum {string} */\n error: \"draft_not_found\";\n message: string;\n };\n DraftSummary: {\n pageId: string;\n path: string;\n createdAt: string;\n updatedAt: string;\n };\n ListDraftsResponse: {\n drafts: {\n pageId: string;\n path: string;\n createdAt: string;\n updatedAt: string;\n }[];\n };\n InstallerStatusResponse: {\n /** @enum {string} */\n status: \"installer_required\" | \"already_installed\";\n };\n CreateAdminRequest: {\n registerForm: {\n username: string;\n name: string;\n /** Format: email */\n email: string;\n password: string;\n };\n };\n CreateAdminResponse: {\n /** @enum {string} */\n status: \"ok\" | \"error\";\n message?: string;\n errors?: string[];\n };\n AdminPager: {\n page: number;\n pagesCount: number;\n pages: number[];\n total: number;\n previous: number | null;\n previousDots: boolean;\n next: number | null;\n nextDots: boolean;\n };\n AdminUserIdParam: {\n id: string;\n };\n AdminUserMutationResponse: {\n user: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n };\n ListAdminUsersRequest: {\n q?: string;\n status?: number | null;\n /** @default 1 */\n page: number;\n /** @default 50 */\n limit: number;\n };\n ListAdminUsersResponse: {\n users: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n }[];\n pager: {\n page: number;\n pagesCount: number;\n pages: number[];\n total: number;\n previous: number | null;\n previousDots: boolean;\n next: number | null;\n nextDots: boolean;\n };\n };\n SearchAdminUsersByEmailRequest: {\n email: string;\n };\n SearchAdminUsersByEmailResponse: {\n users: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n }[];\n };\n InviteUsersRequest: {\n emailList: string[];\n /** @default false */\n sendEmail: boolean;\n };\n InvitedUserResult: {\n email: string;\n /** @enum {string} */\n status: \"created\";\n userId: string;\n } | {\n email: string;\n /** @enum {string} */\n status: \"exists\";\n } | {\n email: string;\n /** @enum {string} */\n status: \"failed\";\n };\n InviteUsersResponse: {\n results: ({\n email: string;\n /** @enum {string} */\n status: \"created\";\n userId: string;\n } | {\n email: string;\n /** @enum {string} */\n status: \"exists\";\n } | {\n email: string;\n /** @enum {string} */\n status: \"failed\";\n })[];\n };\n EditAdminUserRequest: {\n name: string;\n /** Format: email */\n email: string;\n };\n ResetPasswordResponse: {\n user: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n newPassword: string;\n };\n UpdateAdminUserEmailRequest: {\n /** Format: email */\n email: string;\n };\n GetAppSettingsResponse: {\n app: {\n title: string;\n confidential: string;\n };\n isUploadable: boolean;\n registrationMode: {\n [key: string]: string;\n };\n setupChecklistDismissed: boolean;\n };\n UpdateAppSettingsRequest: {\n app?: {\n title?: string;\n confidential?: string;\n };\n setupChecklistDismissed?: boolean;\n };\n UpdateAppSettingsResponse: {\n /** @enum {boolean} */\n ok: true;\n };\n AppSettingsValidationError: {\n bodyResult: {\n issues: {\n path: (string | number)[];\n message: string;\n }[];\n name?: string;\n };\n };\n GetMailSettingsResponse: {\n from: string;\n activeDriver: string;\n activePlugin: string;\n };\n UpdateMailSettingsRequest: {\n from?: string;\n };\n UpdateMailSettingsResponse: {\n /** @enum {boolean} */\n ok: true;\n };\n SendTestMailRequest: Record<string, never>;\n SendTestMailResponse: {\n /** @enum {boolean} */\n ok: true;\n to: string;\n };\n SendTestMailError: {\n error: {\n /** @enum {string} */\n code: \"MAIL_TEST_FAILED\";\n message: string;\n };\n };\n MailSettingsValidationError: {\n bodyResult: {\n issues: {\n path: (string | number)[];\n message: string;\n }[];\n name?: string;\n };\n };\n GetStorageStatusResponse: {\n active: {\n driverName: string;\n pluginName: string;\n } | null;\n drivers: {\n driverName: string;\n pluginName: string;\n isActive: boolean;\n }[];\n };\n PluginField: {\n name: string;\n label?: string;\n /** @enum {string} */\n kind: \"string\" | \"secret\" | \"number\" | \"boolean\" | \"enum\" | \"string-array\";\n description?: string;\n defaultValue?: unknown;\n options?: string[];\n action?: {\n label: string;\n method: string;\n path: string;\n };\n optional: boolean;\n };\n PluginInfo: {\n name: string;\n version: string;\n requires?: string[];\n hasConfig: boolean;\n registers: string[];\n adminPlacement: {\n /** @enum {string} */\n section: \"settings\" | \"shared\" | \"storage\" | \"mail\" | \"notification\" | \"auth\" | \"search\" | \"renderer\";\n label: string;\n icon?: string;\n };\n supportsHotReload: boolean;\n };\n ListPluginsResponse: {\n plugins: {\n name: string;\n version: string;\n requires?: string[];\n hasConfig: boolean;\n registers: string[];\n adminPlacement: {\n /** @enum {string} */\n section: \"settings\" | \"shared\" | \"storage\" | \"mail\" | \"notification\" | \"auth\" | \"search\" | \"renderer\";\n label: string;\n icon?: string;\n };\n supportsHotReload: boolean;\n }[];\n };\n PluginConfigResponse: {\n name: string;\n fields: {\n name: string;\n label?: string;\n /** @enum {string} */\n kind: \"string\" | \"secret\" | \"number\" | \"boolean\" | \"enum\" | \"string-array\";\n description?: string;\n defaultValue?: unknown;\n options?: string[];\n action?: {\n label: string;\n method: string;\n path: string;\n };\n optional: boolean;\n }[];\n values: {\n [key: string]: unknown;\n };\n };\n UpdatePluginConfigRequest: {\n values: {\n [key: string]: unknown;\n };\n };\n UpdatePluginConfigResponse: {\n /** @enum {boolean} */\n ok: true;\n hotReloaded: boolean;\n reconfigureFailed: boolean;\n };\n PluginNotFoundError: {\n error: {\n /** @enum {string} */\n code: \"PLUGIN_NOT_FOUND\";\n message: string;\n };\n };\n PluginConfigValidationError: {\n error: {\n /** @enum {string} */\n code: \"PLUGIN_CONFIG_VALIDATION_FAILED\";\n message: string;\n issues: {\n path: (string | number)[];\n message: string;\n }[];\n };\n };\n };\n responses: never;\n parameters: never;\n requestBodies: never;\n headers: never;\n pathItems: never;\n}\nexport type $defs = Record<string, never>;\nexport type operations = Record<string, never>;\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
1
+ {"version":3,"sources":["../../src/generated/openapi.ts"],"sourcesContent":["/**\n * AUTO-GENERATED by `pnpm --filter @crowi/api-contract generate-openapi-types`.\n *\n * Source: `packages/api-contract/openapi.json` (RFC-0006 Phase 6 onwards).\n * Do NOT edit by hand — re-run the generator instead. CI verifies this\n * file stays in sync via `git diff --exit-code` after a fresh generate.\n */\n\nexport interface paths {\n \"/app/info\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Get public application info (site title etc.) */\n get: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Public application info */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n title: string | null;\n confidential: string | null;\n version: string;\n apiVersion: string;\n capabilities: string[];\n canSelfRegister: boolean;\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/installer\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Get installer status */\n get: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Installer status */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {string} */\n status: \"installer_required\" | \"already_installed\";\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/installer/createAdmin\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Create initial admin user */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n registerForm: {\n username: string;\n name: string;\n /** Format: email */\n email: string;\n password: string;\n };\n };\n };\n };\n responses: {\n /** @description Admin creation result (status=ok on success, status=error on validation failure) */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {string} */\n status: \"ok\" | \"error\";\n message?: string;\n errors?: string[];\n };\n };\n };\n /** @description Application is already installed */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {string} */\n status: \"ok\" | \"error\";\n message?: string;\n errors?: string[];\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/auth/login\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Authenticate user and receive tokens */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n /** Format: email */\n email: string;\n password: string;\n };\n };\n };\n responses: {\n /** @description Successful login */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n accessToken: string;\n refreshToken: string;\n expiresIn: number;\n user: {\n id: string;\n username: string;\n /** Format: email */\n email: string;\n name: string;\n image?: string;\n admin?: boolean;\n };\n };\n };\n };\n /** @description Invalid email or password */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n code: components[\"schemas\"][\"ErrorCode\"];\n message: string;\n details?: unknown;\n };\n };\n };\n };\n /** @description User account is not active */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n code: components[\"schemas\"][\"ErrorCode\"];\n message: string;\n details?: unknown;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n /** @description Application is not installed */\n 503: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"APPLICATION_NOT_INSTALLED\";\n /** @enum {string} */\n message: \"Application is not installed\";\n /** @enum {string} */\n redirectTo: \"/installer\";\n };\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/auth/register\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Register a new user; sends an activation email or queues for admin approval */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n username: string;\n name: string;\n /** Format: email */\n email: string;\n password: string;\n };\n };\n };\n responses: {\n /** @description Registration accepted; activation pending (email confirmation or admin approval) */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {string} */\n status: \"confirmation_required\" | \"approval_required\";\n };\n };\n };\n /** @description Registration failed (validation) */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n code: components[\"schemas\"][\"ErrorCode\"];\n message: string;\n details?: unknown;\n };\n };\n };\n };\n /** @description Registration is closed by the admin */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n code: components[\"schemas\"][\"ErrorCode\"];\n message: string;\n details?: unknown;\n };\n };\n };\n };\n /** @description User with the same email or username already exists */\n 409: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n code: components[\"schemas\"][\"ErrorCode\"];\n message: string;\n details?: unknown;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n /** @description Application is not installed */\n 503: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"APPLICATION_NOT_INSTALLED\";\n /** @enum {string} */\n message: \"Application is not installed\";\n /** @enum {string} */\n redirectTo: \"/installer\";\n };\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/auth/refresh\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Refresh access token using refresh token */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n refreshToken: string;\n };\n };\n };\n responses: {\n /** @description Refreshed tokens */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n accessToken: string;\n refreshToken: string;\n expiresIn: number;\n user: {\n id: string;\n username: string;\n /** Format: email */\n email: string;\n name: string;\n image?: string;\n admin?: boolean;\n };\n };\n };\n };\n /** @description Missing refresh token */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n code: components[\"schemas\"][\"ErrorCode\"];\n message: string;\n details?: unknown;\n };\n };\n };\n };\n /** @description Invalid or expired refresh token */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Associated user no longer exists */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n code: components[\"schemas\"][\"ErrorCode\"];\n message: string;\n details?: unknown;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/auth/logout\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Logout user and invalidate tokens */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n refreshToken?: string;\n };\n };\n };\n responses: {\n /** @description Logged out successfully */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n message: string;\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/auth/me\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Get current user information */\n get: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Current user */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n user: {\n id: string;\n username: string;\n /** Format: email */\n email: string;\n name: string;\n image?: string;\n status: number;\n admin?: boolean;\n createdAt: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/me\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Get current user profile */\n get: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Current user profile */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n id: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n /** @enum {string} */\n lang: \"en\" | \"ja\";\n /** @enum {string} */\n theme: \"system\" | \"light\" | \"dark\";\n image: string | null;\n introduction?: string;\n hasPassword: boolean;\n createdAt: string;\n emailChangePending?: boolean;\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n };\n };\n /** Update profile */\n put: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n userForm: {\n name: string;\n /** Format: email */\n email: string;\n /** @enum {string} */\n lang: \"en\" | \"ja\";\n };\n };\n };\n };\n responses: {\n /** @description Updated profile */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n id: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n /** @enum {string} */\n lang: \"en\" | \"ja\";\n /** @enum {string} */\n theme: \"system\" | \"light\" | \"dark\";\n image: string | null;\n introduction?: string;\n hasPassword: boolean;\n createdAt: string;\n emailChangePending?: boolean;\n };\n };\n };\n /** @description Profile update failed */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {string} */\n status: \"error\";\n code?: string;\n message?: string;\n errors?: string[];\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n };\n };\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/me/theme\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n /** Update preferred UI theme */\n patch: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n /** @enum {string} */\n theme: \"system\" | \"light\" | \"dark\";\n };\n };\n };\n responses: {\n /** @description Theme updated */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {string} */\n status: \"ok\";\n /** @enum {string} */\n theme: \"system\" | \"light\" | \"dark\";\n };\n };\n };\n /** @description Theme update failed */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {string} */\n status: \"error\";\n code?: string;\n message?: string;\n errors?: string[];\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n };\n };\n trace?: never;\n };\n \"/me/picture\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Upload profile picture */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"multipart/form-data\": {\n /** @description Profile picture file */\n file?: unknown;\n };\n };\n };\n responses: {\n /** @description Picture uploaded */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n status: boolean;\n url?: string;\n message?: string;\n };\n };\n };\n /** @description Upload failed */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {string} */\n status: \"error\";\n code?: string;\n message?: string;\n errors?: string[];\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n };\n };\n /** Delete profile picture */\n delete: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Picture deleted */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {string} */\n status: \"ok\";\n message?: string;\n };\n };\n };\n /** @description Delete failed */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {string} */\n status: \"error\";\n code?: string;\n message?: string;\n errors?: string[];\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n };\n };\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/me/password\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n /** Update password */\n put: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n oldPassword?: string;\n newPassword: string;\n newPasswordConfirm: string;\n };\n };\n };\n responses: {\n /** @description Password updated */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {string} */\n status: \"ok\";\n message: string;\n };\n };\n };\n /** @description Password update failed */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {string} */\n status: \"error\";\n message: string;\n errors?: string[];\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n };\n };\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/me/recently-viewed-pages\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Get the current user's recently-viewed pages */\n get: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Recently-viewed pages list (up to 5) */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n pages: {\n _id: string;\n path: string;\n revision?: string | {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n redirectTo?: string | null;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n grant?: number;\n grantedUsers?: string[];\n creator?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n lastUpdateUser?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n liker?: string[];\n /** @default 0 */\n commentCount: number;\n extended?: {\n [key: string]: unknown;\n };\n createdAt: string;\n updatedAt?: string;\n currentRevision?: string | null;\n yjsCheckpointAt?: string | null;\n latestRevision?: string;\n likerCount?: number;\n seenUsersCount?: number;\n }[];\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/me/access-tokens\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** List the current user's personal access tokens (metadata only) */\n get: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Personal access token list (no secrets) */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n accessTokens: {\n id: string;\n name: string;\n scopes: string[];\n expiresAt: string | null;\n lastUsedAt: string | null;\n createdAt: string;\n }[];\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Personal access tokens can only be managed from a web session */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"FORBIDDEN\";\n message: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n put?: never;\n /** Issue a personal access token (plaintext returned once) */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n name: string;\n scopes: string[];\n /** Format: date-time */\n expiresAt?: string | null;\n };\n };\n };\n responses: {\n /** @description Token issued; `token` holds the one-time plaintext secret */\n 201: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n id: string;\n name: string;\n scopes: string[];\n expiresAt: string | null;\n lastUsedAt: string | null;\n createdAt: string;\n token: string;\n };\n };\n };\n /** @description One or more requested scopes are not issuable */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_SCOPE\";\n message: string;\n details?: {\n invalidScopes: string[];\n };\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Personal access tokens can only be managed from a web session */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"FORBIDDEN\";\n message: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/me/access-tokens/{id}\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n post?: never;\n /** Revoke a personal access token */\n delete: {\n parameters: {\n query?: never;\n header?: never;\n path: {\n id: string;\n };\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Token revoked */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n id: string;\n name: string;\n scopes: string[];\n expiresAt: string | null;\n lastUsedAt: string | null;\n createdAt: string;\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Personal access tokens can only be managed from a web session */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"FORBIDDEN\";\n message: string;\n };\n };\n };\n };\n /** @description No such token belonging to the current user */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"NOT_FOUND\";\n message: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/oauth/authorize\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Issue an authorization code for the consenting web user (PKCE) */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n client_id: string;\n redirect_uri: string;\n scope: string;\n code_challenge: string;\n /** @enum {string} */\n code_challenge_method: \"S256\";\n state?: string;\n };\n };\n };\n responses: {\n /** @description Authorization code issued; `redirectUri` carries `code` + `state` */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n redirectUri: string;\n };\n };\n };\n /** @description Invalid request / scope / client (RFC 6749 §4.1.2.1) */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {string} */\n error: \"invalid_request\" | \"invalid_client\" | \"invalid_grant\" | \"unauthorized_client\" | \"unsupported_grant_type\" | \"invalid_scope\" | \"access_denied\" | \"authorization_pending\" | \"slow_down\" | \"expired_token\";\n error_description?: string;\n };\n };\n };\n /** @description Authorization codes can only be issued from a web session */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"FORBIDDEN\";\n message: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/oauth/token\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Exchange an authorization code or refresh token for an access token */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Access + refresh token issued (RFC 6749 §5.1) */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n access_token: string;\n /** @enum {string} */\n token_type: \"Bearer\";\n expires_in: number;\n refresh_token: string;\n scope: string;\n };\n };\n };\n /** @description invalid_grant / invalid_request / unsupported_grant_type (RFC 6749 §5.2) */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {string} */\n error: \"invalid_request\" | \"invalid_client\" | \"invalid_grant\" | \"unauthorized_client\" | \"unsupported_grant_type\" | \"invalid_scope\" | \"access_denied\" | \"authorization_pending\" | \"slow_down\" | \"expired_token\";\n error_description?: string;\n };\n };\n };\n /** @description invalid_client (RFC 6749 §5.2) */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {string} */\n error: \"invalid_request\" | \"invalid_client\" | \"invalid_grant\" | \"unauthorized_client\" | \"unsupported_grant_type\" | \"invalid_scope\" | \"access_denied\" | \"authorization_pending\" | \"slow_down\" | \"expired_token\";\n error_description?: string;\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/oauth/revoke\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Revoke a refresh token or personal access token (RFC 7009) */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Revocation processed (200 even for unknown tokens, RFC 7009) */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": Record<string, never>;\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/.well-known/oauth-authorization-server\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** OAuth 2.0 authorization-server metadata (RFC 8414) */\n get: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Authorization-server metadata */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n issuer: string;\n authorization_endpoint: string;\n token_endpoint: string;\n revocation_endpoint: string;\n device_authorization_endpoint?: string;\n scopes_supported: string[];\n response_types_supported: string[];\n grant_types_supported: string[];\n code_challenge_methods_supported: string[];\n token_endpoint_auth_methods_supported: string[];\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/oauth/device/authorize\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Start a device authorization grant — issue device_code + user_code (RFC 8628) */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n client_id: string;\n scope: string;\n };\n };\n };\n responses: {\n /** @description Device + user code issued (RFC 8628 §3.2) */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n device_code: string;\n user_code: string;\n verification_uri: string;\n verification_uri_complete: string;\n expires_in: number;\n interval: number;\n };\n };\n };\n /** @description invalid_client / invalid_scope (RFC 6749 §5.2) */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {string} */\n error: \"invalid_request\" | \"invalid_client\" | \"invalid_grant\" | \"unauthorized_client\" | \"unsupported_grant_type\" | \"invalid_scope\" | \"access_denied\" | \"authorization_pending\" | \"slow_down\" | \"expired_token\";\n error_description?: string;\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/oauth/device\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Look up a pending device authorization by user_code (consent screen) */\n get: {\n parameters: {\n query: {\n user_code: string;\n };\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Pending device authorization metadata */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n client_id: string;\n scopes: string[];\n };\n };\n };\n /** @description No pending device authorization for this user_code */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"NOT_FOUND\";\n message: string;\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/oauth/device/verify\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Approve or deny a device authorization by user_code (web session only) */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n user_code: string;\n /** @enum {string} */\n action: \"approve\" | \"deny\";\n };\n };\n };\n responses: {\n /** @description Device authorization approved or denied */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {string} */\n status: \"approved\" | \"denied\";\n };\n };\n };\n /** @description Device approvals can only come from a web session */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"FORBIDDEN\";\n message: string;\n };\n };\n };\n };\n /** @description No pending device authorization for this user_code */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"NOT_FOUND\";\n message: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/user/{username}\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Get user page information */\n get: {\n parameters: {\n query?: never;\n header?: never;\n path: {\n username: string;\n };\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description User profile with statistics + recent activity */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n user: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n createdPagesCount: number;\n bookmarksCount: number;\n recentPages?: {\n _id: string;\n path: string;\n revision?: string | {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n redirectTo?: string | null;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n grant?: number;\n grantedUsers?: string[];\n creator?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n lastUpdateUser?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n liker?: string[];\n /** @default 0 */\n commentCount: number;\n extended?: {\n [key: string]: unknown;\n };\n createdAt: string;\n updatedAt?: string;\n currentRevision?: string | null;\n yjsCheckpointAt?: string | null;\n latestRevision?: string;\n likerCount?: number;\n seenUsersCount?: number;\n }[];\n recentBookmarks?: {\n _id: string;\n page: {\n _id: string;\n path: string;\n revision?: string | {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n redirectTo?: string | null;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n grant?: number;\n grantedUsers?: string[];\n creator?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n lastUpdateUser?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n liker?: string[];\n /** @default 0 */\n commentCount: number;\n extended?: {\n [key: string]: unknown;\n };\n createdAt: string;\n updatedAt?: string;\n currentRevision?: string | null;\n yjsCheckpointAt?: string | null;\n latestRevision?: string;\n likerCount?: number;\n seenUsersCount?: number;\n };\n user: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n createdAt: string;\n }[];\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description User not found */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"USER_NOT_FOUND\";\n /** @enum {string} */\n message: \"User not found\";\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/user/{username}/bookmarks\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Get user bookmarks (paginated) */\n get: {\n parameters: {\n query?: {\n limit?: number | null;\n offset?: number | null;\n };\n header?: never;\n path: {\n username: string;\n };\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Paginated bookmarks */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n bookmarks: {\n _id: string;\n page: {\n _id: string;\n path: string;\n revision?: string | {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n redirectTo?: string | null;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n grant?: number;\n grantedUsers?: string[];\n creator?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n lastUpdateUser?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n liker?: string[];\n /** @default 0 */\n commentCount: number;\n extended?: {\n [key: string]: unknown;\n };\n createdAt: string;\n updatedAt?: string;\n currentRevision?: string | null;\n yjsCheckpointAt?: string | null;\n latestRevision?: string;\n likerCount?: number;\n seenUsersCount?: number;\n };\n user: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n createdAt: string;\n }[];\n pager: {\n prev: number | null;\n next: number | null;\n offset: number;\n };\n total: number;\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description User not found */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"USER_NOT_FOUND\";\n /** @enum {string} */\n message: \"User not found\";\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/user/{username}/pages\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Get pages created by the user (paginated) */\n get: {\n parameters: {\n query?: {\n limit?: number | null;\n offset?: number | null;\n };\n header?: never;\n path: {\n username: string;\n };\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Paginated created pages */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n pages: {\n _id: string;\n path: string;\n revision?: string | {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n redirectTo?: string | null;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n grant?: number;\n grantedUsers?: string[];\n creator?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n lastUpdateUser?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n liker?: string[];\n /** @default 0 */\n commentCount: number;\n extended?: {\n [key: string]: unknown;\n };\n createdAt: string;\n updatedAt?: string;\n currentRevision?: string | null;\n yjsCheckpointAt?: string | null;\n latestRevision?: string;\n likerCount?: number;\n seenUsersCount?: number;\n }[];\n pager: {\n prev: number | null;\n next: number | null;\n offset: number;\n };\n total: number;\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description User not found */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"USER_NOT_FOUND\";\n /** @enum {string} */\n message: \"User not found\";\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/users\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** List active users for the member directory (paginated, searchable) */\n get: {\n parameters: {\n query?: {\n q?: string;\n limit?: number;\n offset?: number | null;\n };\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Paginated active users, name-ascending */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n users: {\n _id: string;\n username: string;\n name: string;\n image?: string | null;\n }[];\n pager: {\n prev: number | null;\n next: number | null;\n offset: number;\n };\n total: number;\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/bookmarks\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Get bookmark of a page for the current user */\n get: {\n parameters: {\n query: {\n page_id: string;\n };\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Bookmark for the page (or null when not bookmarked) */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n bookmark: {\n _id: string;\n page: {\n _id: string;\n path: string;\n revision?: string | {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n redirectTo?: string | null;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n grant?: number;\n grantedUsers?: string[];\n creator?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n lastUpdateUser?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n liker?: string[];\n /** @default 0 */\n commentCount: number;\n extended?: {\n [key: string]: unknown;\n };\n createdAt: string;\n updatedAt?: string;\n currentRevision?: string | null;\n yjsCheckpointAt?: string | null;\n latestRevision?: string;\n likerCount?: number;\n seenUsersCount?: number;\n };\n user: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n createdAt: string;\n } | null;\n };\n };\n };\n /** @description Invalid page_id */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_PAGE_ID\";\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n put?: never;\n /** Add a bookmark for the current user */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n page_id: string;\n };\n };\n };\n responses: {\n /** @description Bookmark created (or null when the page is not accessible) */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n bookmark: {\n _id: string;\n page: {\n _id: string;\n path: string;\n revision?: string | {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n redirectTo?: string | null;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n grant?: number;\n grantedUsers?: string[];\n creator?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n lastUpdateUser?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n liker?: string[];\n /** @default 0 */\n commentCount: number;\n extended?: {\n [key: string]: unknown;\n };\n createdAt: string;\n updatedAt?: string;\n currentRevision?: string | null;\n yjsCheckpointAt?: string | null;\n latestRevision?: string;\n likerCount?: number;\n seenUsersCount?: number;\n };\n user: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n createdAt: string;\n } | null;\n };\n };\n };\n /** @description Invalid page_id */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_PAGE_ID\";\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n /** Remove a bookmark for the current user */\n delete: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n page_id: string;\n };\n };\n };\n responses: {\n /** @description Bookmark removed (or already absent) */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {boolean} */\n ok: true;\n };\n };\n };\n /** @description Invalid page_id */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_PAGE_ID\";\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/bookmarks/me\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** List the current user's bookmarks (paginated) */\n get: {\n parameters: {\n query?: {\n limit?: number | null;\n offset?: number | null;\n };\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Paginated bookmark list */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n bookmarks: {\n _id: string;\n page: {\n _id: string;\n path: string;\n revision?: string | {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n redirectTo?: string | null;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n grant?: number;\n grantedUsers?: string[];\n creator?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n lastUpdateUser?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n liker?: string[];\n /** @default 0 */\n commentCount: number;\n extended?: {\n [key: string]: unknown;\n };\n createdAt: string;\n updatedAt?: string;\n currentRevision?: string | null;\n yjsCheckpointAt?: string | null;\n latestRevision?: string;\n likerCount?: number;\n seenUsersCount?: number;\n };\n user: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n createdAt: string;\n }[];\n pager: {\n prev: number | null;\n next: number | null;\n offset: number;\n };\n total: number;\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/backlinks\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** List backlinks targeting a page */\n get: {\n parameters: {\n query: {\n page_id: string;\n limit?: number;\n offset?: number | null;\n };\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Backlinks targeting the page (trimmed to `limit`; `hasNext` flags whether more exist) */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n backlinks: {\n _id: string;\n page: string;\n fromPage: {\n _id: string;\n path: string;\n };\n fromRevision: {\n _id: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n } | null;\n };\n updatedAt: string;\n }[];\n hasNext: boolean;\n };\n };\n };\n /** @description Invalid page_id */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_PAGE_ID\";\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/comments\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** List comments by page or revision */\n get: {\n parameters: {\n query?: {\n page_id?: string;\n revision_id?: string;\n };\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Comments matching the requested page or revision */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n comments: {\n _id: string;\n page: string;\n creator: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n revision: string;\n comment: string;\n /** @default -1 */\n commentPosition: number;\n createdAt: string;\n }[];\n };\n };\n };\n /** @description Invalid request (page_id / revision_id required or malformed) */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_REQUEST\";\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Page / revision not found, or the caller cannot access it (existence hidden) */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"PAGE_NOT_FOUND\";\n /** @enum {string} */\n message: \"Page not found\";\n };\n };\n };\n };\n };\n };\n put?: never;\n /** Add a comment to a page */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n page_id: string;\n revision_id: string;\n comment: string;\n comment_position?: number;\n };\n };\n };\n responses: {\n /** @description The created comment with populated creator */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n comment: {\n _id: string;\n page: string;\n creator: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n revision: string;\n comment: string;\n /** @default -1 */\n commentPosition: number;\n createdAt: string;\n };\n newlyWatching: boolean;\n };\n };\n };\n /** @description Invalid request body */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_REQUEST\";\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Page not found (also covers grant-denied to avoid leaking existence) */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"PAGE_NOT_FOUND\";\n /** @enum {string} */\n message: \"Page not found\";\n };\n };\n };\n };\n };\n };\n /** Delete a comment */\n delete: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n comment_id: string;\n page_id: string;\n };\n };\n };\n responses: {\n /** @description Comment removed */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {boolean} */\n ok: true;\n };\n };\n };\n /** @description Invalid request body */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_REQUEST\";\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Caller cannot access the parent page */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"PAGE_NOT_GRANTED\";\n /** @enum {string} */\n message: \"Page is not granted for the user\";\n };\n };\n };\n };\n /** @description Comment not found */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"COMMENT_NOT_FOUND\";\n /** @enum {string} */\n message: \"Comment not found\";\n };\n };\n };\n };\n };\n };\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/pages/{page_id}/revisions\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** List revisions of a page (meta only) */\n get: {\n parameters: {\n query?: {\n limit?: number;\n offset?: number | null;\n };\n header?: never;\n path: {\n page_id: string;\n };\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Revision metadata (no body), newest first */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n revisions: {\n _id: string;\n path: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n savedBy?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n }[];\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n createdAt: string;\n }[];\n pager: {\n prev: number | null;\n next: number | null;\n offset: number;\n };\n };\n };\n };\n /** @description Invalid request */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_REQUEST\";\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Page not found (also covers grant-denied to avoid leaking existence) */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"PAGE_NOT_FOUND\";\n /** @enum {string} */\n message: \"Page not found\";\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/pages/revisions\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Get multiple revisions by ids (comma-separated) */\n get: {\n parameters: {\n query: {\n ids: string;\n };\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Requested revisions (all must share the same path) */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n revisions: {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n }[];\n };\n };\n };\n /** @description Invalid request */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_REQUEST\";\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description No matching revisions or page not found (also covers grant-denied) */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"PAGE_NOT_FOUND\";\n /** @enum {string} */\n message: \"Page not found\";\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/pages/revisions/{id}\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Get a single revision (with body) */\n get: {\n parameters: {\n query?: never;\n header?: never;\n path: {\n id: string;\n };\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Full revision document */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n revision: {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n };\n };\n };\n /** @description Invalid revision id */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_REQUEST\";\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Revision or page not found (also covers grant-denied) */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"PAGE_NOT_FOUND\";\n /** @enum {string} */\n message: \"Page not found\";\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/pages\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Get page data by path or page_id */\n get: {\n parameters: {\n query?: {\n path?: string;\n page_id?: string;\n revision_id?: string;\n };\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description The requested page with populated revision */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n page: {\n _id: string;\n path: string;\n revision: {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n redirectTo?: string | null;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n grant?: number;\n grantedUsers?: string[];\n creator?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n lastUpdateUser?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n liker?: string[];\n /** @default 0 */\n commentCount: number;\n extended?: {\n [key: string]: unknown;\n };\n createdAt: string;\n updatedAt?: string;\n currentRevision?: string | null;\n yjsCheckpointAt?: string | null;\n latestRevision?: string;\n likerCount?: number;\n seenUsersCount?: number;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Caller cannot access the page */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"PAGE_NOT_GRANTED\";\n /** @enum {string} */\n message: \"Page is not granted for the user\";\n };\n };\n };\n };\n /** @description Page not found */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"PAGE_NOT_FOUND\";\n /** @enum {string} */\n message: \"Page not found\";\n };\n };\n };\n };\n };\n };\n /** Update existing page */\n put: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n page_id: string;\n body: string;\n revision_id?: string;\n grant?: number;\n };\n };\n };\n responses: {\n /** @description The updated page with new revision */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n page: {\n _id: string;\n path: string;\n revision?: string | {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n redirectTo?: string | null;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n grant?: number;\n grantedUsers?: string[];\n creator?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n lastUpdateUser?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n liker?: string[];\n /** @default 0 */\n commentCount: number;\n extended?: {\n [key: string]: unknown;\n };\n createdAt: string;\n updatedAt?: string;\n currentRevision?: string | null;\n yjsCheckpointAt?: string | null;\n latestRevision?: string;\n likerCount?: number;\n seenUsersCount?: number;\n };\n };\n };\n };\n /** @description Invalid request (PAGE_UPDATE_FAILED / INVALID_GRANT) */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n code: string;\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Page not found (also covers grant-denied) */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"PAGE_NOT_FOUND\";\n /** @enum {string} */\n message: \"Page not found\";\n };\n };\n };\n };\n /** @description Stale revision_id (someone else updated the page) */\n 409: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"PAGE_REVISION_ERROR\";\n message: string;\n };\n };\n };\n };\n };\n };\n /** Create a new page */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n path: string;\n body: string;\n grant?: number;\n };\n };\n };\n responses: {\n /** @description The created page with populated revision */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n page: {\n _id: string;\n path: string;\n revision?: string | {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n redirectTo?: string | null;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n grant?: number;\n grantedUsers?: string[];\n creator?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n lastUpdateUser?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n liker?: string[];\n /** @default 0 */\n commentCount: number;\n extended?: {\n [key: string]: unknown;\n };\n createdAt: string;\n updatedAt?: string;\n currentRevision?: string | null;\n yjsCheckpointAt?: string | null;\n latestRevision?: string;\n likerCount?: number;\n seenUsersCount?: number;\n };\n };\n };\n };\n /** @description Invalid request (PAGE_EXISTS / NON_EXISTENT_USER_PAGE / PAGE_CREATE_FAILED / INVALID_GRANT) */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n code: string;\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n };\n };\n /** Soft-delete (or hard-delete with completely=true) a page */\n delete: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n page_id: string;\n revision_id?: string;\n completely?: boolean;\n };\n };\n };\n responses: {\n /** @description The deleted page (soft-delete: trashed path; hard-delete: original snapshot) */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n page: {\n _id: string;\n path: string;\n revision?: string | {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n redirectTo?: string | null;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n grant?: number;\n grantedUsers?: string[];\n creator?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n lastUpdateUser?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n liker?: string[];\n /** @default 0 */\n commentCount: number;\n extended?: {\n [key: string]: unknown;\n };\n createdAt: string;\n updatedAt?: string;\n currentRevision?: string | null;\n yjsCheckpointAt?: string | null;\n latestRevision?: string;\n likerCount?: number;\n seenUsersCount?: number;\n };\n };\n };\n };\n /** @description PAGE_DELETE_FAILED */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n code: string;\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Page not found (also covers grant-denied) */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"PAGE_NOT_FOUND\";\n /** @enum {string} */\n message: \"Page not found\";\n };\n };\n };\n };\n /** @description Stale revision_id */\n 409: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"PAGE_REVISION_ERROR\";\n message: string;\n };\n };\n };\n };\n };\n };\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/pages/list\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** List pages by path or creator (paginated) */\n get: {\n parameters: {\n query?: {\n path?: string;\n user?: string;\n limit?: number | null;\n offset?: number | null;\n include_deleted?: boolean | null;\n sort?: \"updatedAt\" | \"createdAt\" | \"path\";\n order?: \"asc\" | \"desc\";\n revision_id?: string;\n };\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Page list (newest first) with optional portal page */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n pages: {\n _id: string;\n path: string;\n revision?: string | {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n redirectTo?: string | null;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n grant?: number;\n grantedUsers?: string[];\n creator?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n lastUpdateUser?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n liker?: string[];\n /** @default 0 */\n commentCount: number;\n extended?: {\n [key: string]: unknown;\n };\n createdAt: string;\n updatedAt?: string;\n currentRevision?: string | null;\n yjsCheckpointAt?: string | null;\n latestRevision?: string;\n likerCount?: number;\n seenUsersCount?: number;\n }[];\n pager: {\n prev: number | null;\n next: number | null;\n offset: number;\n };\n portalPage?: {\n _id: string;\n path: string;\n revision?: string | {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n redirectTo?: string | null;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n grant?: number;\n grantedUsers?: string[];\n creator?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n lastUpdateUser?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n liker?: string[];\n /** @default 0 */\n commentCount: number;\n extended?: {\n [key: string]: unknown;\n };\n createdAt: string;\n updatedAt?: string;\n currentRevision?: string | null;\n yjsCheckpointAt?: string | null;\n latestRevision?: string;\n likerCount?: number;\n seenUsersCount?: number;\n } | null;\n contentPage?: {\n _id: string;\n path: string;\n revision?: string | {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n redirectTo?: string | null;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n grant?: number;\n grantedUsers?: string[];\n creator?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n lastUpdateUser?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n liker?: string[];\n /** @default 0 */\n commentCount: number;\n extended?: {\n [key: string]: unknown;\n };\n createdAt: string;\n updatedAt?: string;\n currentRevision?: string | null;\n yjsCheckpointAt?: string | null;\n latestRevision?: string;\n likerCount?: number;\n seenUsersCount?: number;\n } | null;\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/pages/children\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** List immediate child segments under a portal path (sidebar tree) */\n get: {\n parameters: {\n query: {\n path: string;\n };\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description First-level child segments (alphabetical) under the path */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n children: {\n segment: string;\n path: string;\n isPage: boolean;\n hasPortal: boolean;\n count: number;\n }[];\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/pages/grant\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n /** Update page grant (visibility) only — no revision pushed */\n put: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n page_id: string;\n grant: number;\n };\n };\n };\n responses: {\n /** @description The page with the updated grant */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n page: {\n _id: string;\n path: string;\n revision?: string | {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n redirectTo?: string | null;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n grant?: number;\n grantedUsers?: string[];\n creator?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n lastUpdateUser?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n liker?: string[];\n /** @default 0 */\n commentCount: number;\n extended?: {\n [key: string]: unknown;\n };\n createdAt: string;\n updatedAt?: string;\n currentRevision?: string | null;\n yjsCheckpointAt?: string | null;\n latestRevision?: string;\n likerCount?: number;\n seenUsersCount?: number;\n };\n };\n };\n };\n /** @description Invalid request (INVALID_GRANT / PAGE_GRANT_UPDATE_FAILED) */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n code: string;\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Page not found (also covers grant-denied) */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"PAGE_NOT_FOUND\";\n /** @enum {string} */\n message: \"Page not found\";\n };\n };\n };\n };\n };\n };\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/pages/seen\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Mark a page as seen by the current user (idempotent) */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n page_id: string;\n };\n };\n };\n responses: {\n /** @description The current seen-users list and count */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n seenUsers: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n }[];\n seenUsersCount: number;\n };\n };\n };\n /** @description Invalid page_id */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_PAGE_ID\";\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Page not found (also covers grant-denied) */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"PAGE_NOT_FOUND\";\n /** @enum {string} */\n message: \"Page not found\";\n };\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/pages/seen-users\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** List users who have seen a page */\n get: {\n parameters: {\n query: {\n page_id: string;\n limit?: number;\n };\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Seen-users list (optionally capped by `limit`) and full count */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n seenUsers: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n }[];\n seenUsersCount: number;\n };\n };\n };\n /** @description Invalid page_id */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_PAGE_ID\";\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Page not found (also covers grant-denied) */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"PAGE_NOT_FOUND\";\n /** @enum {string} */\n message: \"Page not found\";\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/pages/like\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Add the current user to the page liker list */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n page_id: string;\n };\n };\n };\n responses: {\n /** @description The page with the updated liker list */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n page: {\n _id: string;\n path: string;\n revision?: string | {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n redirectTo?: string | null;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n grant?: number;\n grantedUsers?: string[];\n creator?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n lastUpdateUser?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n liker?: string[];\n /** @default 0 */\n commentCount: number;\n extended?: {\n [key: string]: unknown;\n };\n createdAt: string;\n updatedAt?: string;\n currentRevision?: string | null;\n yjsCheckpointAt?: string | null;\n latestRevision?: string;\n likerCount?: number;\n seenUsersCount?: number;\n };\n };\n };\n };\n /** @description Invalid page_id */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_PAGE_ID\";\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Page not found (also covers grant-denied) */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"PAGE_NOT_FOUND\";\n /** @enum {string} */\n message: \"Page not found\";\n };\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/pages/unlike\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Remove the current user from the page liker list */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n page_id: string;\n };\n };\n };\n responses: {\n /** @description The page with the updated liker list */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n page: {\n _id: string;\n path: string;\n revision?: string | {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n redirectTo?: string | null;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n grant?: number;\n grantedUsers?: string[];\n creator?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n lastUpdateUser?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n liker?: string[];\n /** @default 0 */\n commentCount: number;\n extended?: {\n [key: string]: unknown;\n };\n createdAt: string;\n updatedAt?: string;\n currentRevision?: string | null;\n yjsCheckpointAt?: string | null;\n latestRevision?: string;\n likerCount?: number;\n seenUsersCount?: number;\n };\n };\n };\n };\n /** @description Invalid page_id */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_PAGE_ID\";\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Page not found (also covers grant-denied) */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"PAGE_NOT_FOUND\";\n /** @enum {string} */\n message: \"Page not found\";\n };\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/pages/watch\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Get watch (notification subscription) status for a page */\n get: {\n parameters: {\n query: {\n page_id: string;\n };\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Watching status (true / false) */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n watching: boolean;\n };\n };\n };\n /** @description Invalid page_id */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_PAGE_ID\";\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Page not found (also covers grant-denied) */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"PAGE_NOT_FOUND\";\n /** @enum {string} */\n message: \"Page not found\";\n };\n };\n };\n };\n };\n };\n /** Set watch (notification subscription) status for a page */\n put: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n page_id: string;\n watching: boolean;\n };\n };\n };\n responses: {\n /** @description Updated watching status */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n watching: boolean;\n };\n };\n };\n /** @description Invalid page_id */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_PAGE_ID\";\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Page not found (also covers grant-denied) */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"PAGE_NOT_FOUND\";\n /** @enum {string} */\n message: \"Page not found\";\n };\n };\n };\n };\n };\n };\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/pages/revert\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Revert a soft-deleted page (restore from /trash/...) */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n page_id: string;\n };\n };\n };\n responses: {\n /** @description The restored page */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n page: {\n _id: string;\n path: string;\n revision?: string | {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n redirectTo?: string | null;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n grant?: number;\n grantedUsers?: string[];\n creator?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n lastUpdateUser?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n liker?: string[];\n /** @default 0 */\n commentCount: number;\n extended?: {\n [key: string]: unknown;\n };\n createdAt: string;\n updatedAt?: string;\n currentRevision?: string | null;\n yjsCheckpointAt?: string | null;\n latestRevision?: string;\n likerCount?: number;\n seenUsersCount?: number;\n };\n };\n };\n };\n /** @description PAGE_REVERT_FAILED */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n code: string;\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Page not found (also covers grant-denied) */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"PAGE_NOT_FOUND\";\n /** @enum {string} */\n message: \"Page not found\";\n };\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/pages/revert-to-revision\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Revert a page to one of its past revisions (non-destructive — stacks a new revision) */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n page_id: string;\n revision_id: string;\n };\n };\n };\n responses: {\n /** @description The page with the reverted body as its new latest revision */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n page: {\n _id: string;\n path: string;\n revision?: string | {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n redirectTo?: string | null;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n grant?: number;\n grantedUsers?: string[];\n creator?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n lastUpdateUser?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n liker?: string[];\n /** @default 0 */\n commentCount: number;\n extended?: {\n [key: string]: unknown;\n };\n createdAt: string;\n updatedAt?: string;\n currentRevision?: string | null;\n yjsCheckpointAt?: string | null;\n latestRevision?: string;\n likerCount?: number;\n seenUsersCount?: number;\n };\n };\n };\n };\n /** @description PAGE_REVERT_TO_REVISION_FAILED (e.g. the revision does not belong to the page) */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n code: string;\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Page not found (also covers grant-denied) */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"PAGE_NOT_FOUND\";\n /** @enum {string} */\n message: \"Page not found\";\n };\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/pages/rename\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Rename (move) a page — optionally together with its subtree */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n page_id: string;\n new_path: string;\n revision_id?: string;\n create_redirect?: boolean;\n include_descendants?: boolean;\n };\n };\n };\n responses: {\n /** @description The renamed (root) page plus how many pages were moved */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n page: {\n _id: string;\n path: string;\n revision?: string | {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n redirectTo?: string | null;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n grant?: number;\n grantedUsers?: string[];\n creator?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n lastUpdateUser?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n liker?: string[];\n /** @default 0 */\n commentCount: number;\n extended?: {\n [key: string]: unknown;\n };\n createdAt: string;\n updatedAt?: string;\n currentRevision?: string | null;\n yjsCheckpointAt?: string | null;\n latestRevision?: string;\n likerCount?: number;\n seenUsersCount?: number;\n };\n renamed_count: number;\n };\n };\n };\n /** @description PAGE_INVALID_NAME / PAGE_EXISTS / PAGE_RENAME_FAILED / PAGE_RENAME_TREE_FAILED */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n code: string;\n message: string;\n };\n } | {\n error: {\n /** @enum {string} */\n code: \"PAGE_RENAME_TREE_FAILED\";\n message: string;\n conflicts: {\n path: string;\n reasons: string[];\n }[];\n partial?: boolean;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Page not found (also covers grant-denied) */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"PAGE_NOT_FOUND\";\n /** @enum {string} */\n message: \"Page not found\";\n };\n };\n };\n };\n /** @description Stale revision_id */\n 409: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"PAGE_REVISION_ERROR\";\n message: string;\n };\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/pages/rename-subtree\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Rename (move) a whole subtree by path (for portal-less folders) */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n old_path: string;\n new_path: string;\n create_redirect?: boolean;\n };\n };\n };\n responses: {\n /** @description How many pages were moved */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n renamed_count: number;\n };\n };\n };\n /** @description PAGE_INVALID_NAME / PAGE_RENAME_TREE_FAILED (collisions, nothing to move, or partial failure) */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n code: string;\n message: string;\n };\n } | {\n error: {\n /** @enum {string} */\n code: \"PAGE_RENAME_TREE_FAILED\";\n message: string;\n conflicts: {\n path: string;\n reasons: string[];\n }[];\n partial?: boolean;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/pages/preview\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Render markdown to mdast for the editor preview pane */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n body: string;\n };\n };\n };\n responses: {\n /** @description Rendered mdast tree (serialised — same shape as a persisted revision.renderedAst) */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n renderedAst?: unknown;\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Renderer pipeline failure */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/pages/{id}/yjs-token\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Issue a short-lived wsToken (JWT) for the Hocuspocus realtime session */\n get: {\n parameters: {\n query?: never;\n header?: never;\n path: {\n /** @description Page id (24-char hex ObjectId) */\n id: string;\n };\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Signed wsToken (JWT) + scope metadata */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n wsToken: string;\n pageId: string;\n expiresAt: string;\n readonly: boolean;\n };\n };\n };\n /** @description Invalid page id */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_PAGE_ID\";\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Page not found (also covers grant-denied) */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"PAGE_NOT_FOUND\";\n /** @enum {string} */\n message: \"Page not found\";\n };\n };\n };\n };\n /** @description wsToken signing or DB exception */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/pages/{id}/presence-token\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Issue a short-lived presence token (JWT) for the live-presence WebSocket session */\n get: {\n parameters: {\n query?: never;\n header?: never;\n path: {\n /** @description Page id (24-char hex ObjectId) */\n id: string;\n };\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Signed presence token + scope metadata */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n token: string;\n pageId: string;\n selfUserId: string;\n expiresAt: string;\n };\n };\n };\n /** @description Invalid page id */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_PAGE_ID\";\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Page not found (also covers grant-denied) */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"PAGE_NOT_FOUND\";\n /** @enum {string} */\n message: \"Page not found\";\n };\n };\n };\n };\n /** @description Token signing or DB exception */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/pages/{id}/likers\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** List the users who have liked a page */\n get: {\n parameters: {\n query?: {\n limit?: number;\n };\n header?: never;\n path: {\n /** @description Page id (24-char hex ObjectId) */\n id: string;\n };\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Liker list (newest-liked first when known) with full totalCount */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n users: {\n id: string;\n username: string;\n displayName: string;\n avatarUrl: string | null;\n likedAt: string | null;\n }[];\n totalCount: number;\n };\n };\n };\n /** @description Invalid page id */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_PAGE_ID\";\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Page not found (also covers grant-denied) */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"PAGE_NOT_FOUND\";\n /** @enum {string} */\n message: \"Page not found\";\n };\n };\n };\n };\n /** @description DB exception */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/pages/drafts\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** List the current user's draft pages */\n get: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Caller-scoped draft list (newest first) */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n drafts: {\n pageId: string;\n path: string;\n createdAt: string;\n updatedAt: string;\n }[];\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n };\n };\n put?: never;\n /** Create a new draft page at a path */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n path: string;\n initialBody?: string;\n };\n };\n };\n responses: {\n /** @description Draft created (or the caller already holds a draft at this path — idempotent) */\n 201: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n pageId: string;\n };\n };\n };\n /** @description Uncreatable path, or path already held by a published page */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {string} */\n error: \"invalid_path\" | \"path_taken\";\n message: string;\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Another user's draft already occupies the path */\n 409: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {string} */\n error: \"path_taken_by_draft\";\n owner: {\n id: string;\n username: string;\n displayName: string;\n };\n message: string;\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/pages/drafts/{id}\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n post?: never;\n /** Cancel (delete) a draft page */\n delete: {\n parameters: {\n query?: never;\n header?: never;\n path: {\n /** @description Draft page id (24-char hex ObjectId) */\n id: string;\n };\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Draft cancelled; the path is released */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n pageId: string;\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Draft not found, or owned by a different user (existence leak guard) */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {string} */\n error: \"draft_not_found\";\n message: string;\n };\n };\n };\n };\n };\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/users/autocomplete\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Autocomplete users for an @mention */\n get: {\n parameters: {\n query: {\n q: string;\n limit?: number;\n anchor?: \"substring\" | \"prefix\";\n };\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Ranked user candidates */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n results: {\n id: string;\n label: string;\n display: string;\n avatar?: string | null;\n modifiedAt?: string | null;\n score: number;\n }[];\n };\n };\n };\n /** @description Validation error */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"VALIDATION_ERROR\";\n message: string;\n details?: {\n fieldErrors: {\n [key: string]: string[];\n };\n formErrors: string[];\n };\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Per-user rate limit exceeded */\n 429: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {string} */\n error: \"rate_limited\";\n message: string;\n retryAfterSeconds: number;\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/pages/autocomplete\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Autocomplete pages for a [[wikilink]] */\n get: {\n parameters: {\n query: {\n q: string;\n limit?: number;\n anchor?: \"substring\" | \"prefix\";\n };\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Ranked page candidates (permission-filtered) */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n results: {\n id: string;\n label: string;\n display: string;\n avatar?: string | null;\n modifiedAt?: string | null;\n score: number;\n }[];\n };\n };\n };\n /** @description Validation error */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"VALIDATION_ERROR\";\n message: string;\n details?: {\n fieldErrors: {\n [key: string]: string[];\n };\n formErrors: string[];\n };\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Per-user rate limit exceeded */\n 429: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {string} */\n error: \"rate_limited\";\n message: string;\n retryAfterSeconds: number;\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/pages/{pageId}/attachments/usage\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Get the full attachment usage breakdown for a page (latest vs past) */\n get: {\n parameters: {\n query?: never;\n header?: never;\n path: {\n /** @description Page id (24-char hex ObjectId) */\n pageId: string;\n };\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Usage breakdown (latest / past split, with referencing revisions) */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n pagePath: string;\n latest: {\n _id: string;\n page: string;\n creator: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n filePath: string;\n fileName: string;\n originalName: string;\n fileFormat: string;\n fileSize: number;\n createdAt: string;\n url: string;\n inUse: boolean;\n }[];\n past: {\n attachment: {\n _id: string;\n page: string;\n creator: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n filePath: string;\n fileName: string;\n originalName: string;\n fileFormat: string;\n fileSize: number;\n createdAt: string;\n url: string;\n inUse: boolean;\n };\n referencingRevisions: {\n revisionId: string;\n createdAt: string;\n author: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n }[];\n }[];\n };\n };\n };\n /** @description Invalid page id */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_PAGE_ID\" | \"PAGE_NOT_FOUND\" | \"FILE_MISSING\" | \"FILE_TOO_LARGE\" | \"DISALLOWED_MIME\" | \"INVALID_ATTACHMENT_ID\" | \"ATTACHMENT_NOT_FOUND\" | \"FORBIDDEN_FOR_DELETE\" | \"UPLOAD_FAILED\" | \"REMOVE_FAILED\";\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Page not found or not granted */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_PAGE_ID\" | \"PAGE_NOT_FOUND\" | \"FILE_MISSING\" | \"FILE_TOO_LARGE\" | \"DISALLOWED_MIME\" | \"INVALID_ATTACHMENT_ID\" | \"ATTACHMENT_NOT_FOUND\" | \"FORBIDDEN_FOR_DELETE\" | \"UPLOAD_FAILED\" | \"REMOVE_FAILED\";\n message: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/pages/{pageId}/attachments\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** List attachments for a page */\n get: {\n parameters: {\n query?: never;\n header?: never;\n path: {\n /** @description Page id (24-char hex ObjectId) */\n pageId: string;\n };\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Attachment list (with `inUse` derived from the latest revision body) */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n attachments: {\n _id: string;\n page: string;\n creator: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n filePath: string;\n fileName: string;\n originalName: string;\n fileFormat: string;\n fileSize: number;\n createdAt: string;\n url: string;\n inUse: boolean;\n }[];\n };\n };\n };\n /** @description Invalid page id */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_PAGE_ID\" | \"PAGE_NOT_FOUND\" | \"FILE_MISSING\" | \"FILE_TOO_LARGE\" | \"DISALLOWED_MIME\" | \"INVALID_ATTACHMENT_ID\" | \"ATTACHMENT_NOT_FOUND\" | \"FORBIDDEN_FOR_DELETE\" | \"UPLOAD_FAILED\" | \"REMOVE_FAILED\";\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Page not found or not granted */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_PAGE_ID\" | \"PAGE_NOT_FOUND\" | \"FILE_MISSING\" | \"FILE_TOO_LARGE\" | \"DISALLOWED_MIME\" | \"INVALID_ATTACHMENT_ID\" | \"ATTACHMENT_NOT_FOUND\" | \"FORBIDDEN_FOR_DELETE\" | \"UPLOAD_FAILED\" | \"REMOVE_FAILED\";\n message: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n put?: never;\n /** Add an attachment to a page (multipart/form-data) */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path: {\n /** @description Page id (24-char hex ObjectId) */\n pageId: string;\n };\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"multipart/form-data\": {\n /** Format: binary */\n file?: string;\n };\n };\n };\n responses: {\n /** @description Attachment created */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n attachment: {\n _id: string;\n page: string;\n creator: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n filePath: string;\n fileName: string;\n originalName: string;\n fileFormat: string;\n fileSize: number;\n createdAt: string;\n url: string;\n inUse: boolean;\n };\n url: string;\n };\n };\n };\n /** @description Missing file / invalid page id */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_PAGE_ID\" | \"PAGE_NOT_FOUND\" | \"FILE_MISSING\" | \"FILE_TOO_LARGE\" | \"DISALLOWED_MIME\" | \"INVALID_ATTACHMENT_ID\" | \"ATTACHMENT_NOT_FOUND\" | \"FORBIDDEN_FOR_DELETE\" | \"UPLOAD_FAILED\" | \"REMOVE_FAILED\";\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Page not found or not granted */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_PAGE_ID\" | \"PAGE_NOT_FOUND\" | \"FILE_MISSING\" | \"FILE_TOO_LARGE\" | \"DISALLOWED_MIME\" | \"INVALID_ATTACHMENT_ID\" | \"ATTACHMENT_NOT_FOUND\" | \"FORBIDDEN_FOR_DELETE\" | \"UPLOAD_FAILED\" | \"REMOVE_FAILED\";\n message: string;\n };\n };\n };\n };\n /** @description Request body exceeds the multipart envelope ceiling */\n 413: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_PAGE_ID\" | \"PAGE_NOT_FOUND\" | \"FILE_MISSING\" | \"FILE_TOO_LARGE\" | \"DISALLOWED_MIME\" | \"INVALID_ATTACHMENT_ID\" | \"ATTACHMENT_NOT_FOUND\" | \"FORBIDDEN_FOR_DELETE\" | \"UPLOAD_FAILED\" | \"REMOVE_FAILED\";\n message: string;\n };\n };\n };\n };\n /** @description Upload / storage failure */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_PAGE_ID\" | \"PAGE_NOT_FOUND\" | \"FILE_MISSING\" | \"FILE_TOO_LARGE\" | \"DISALLOWED_MIME\" | \"INVALID_ATTACHMENT_ID\" | \"ATTACHMENT_NOT_FOUND\" | \"FORBIDDEN_FOR_DELETE\" | \"UPLOAD_FAILED\" | \"REMOVE_FAILED\";\n message: string;\n };\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/attachments/upload\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Upload an attachment from the editor (paste / drag-and-drop) */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"multipart/form-data\": {\n /** Format: binary */\n file?: string;\n pageId?: string;\n /** @enum {string} */\n intent?: \"paste\" | \"dnd\";\n };\n };\n };\n responses: {\n /** @description Upload accepted; returns the lean { url, filename, mimeType, sizeBytes } shape the editor splices into the source */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n url: string;\n filename: string;\n mimeType: string;\n sizeBytes: number;\n };\n };\n };\n /** @description Missing / malformed fields */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {string} */\n error: \"too_large\" | \"disallowed_type\" | \"rate_limited\" | \"no_permission\";\n message: string;\n details?: {\n [key: string]: unknown;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description No permission for the target page */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {string} */\n error: \"too_large\" | \"disallowed_type\" | \"rate_limited\" | \"no_permission\";\n message: string;\n details?: {\n [key: string]: unknown;\n };\n };\n };\n };\n /** @description Body exceeds the per-intent size cap */\n 413: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {string} */\n error: \"too_large\" | \"disallowed_type\" | \"rate_limited\" | \"no_permission\";\n message: string;\n details?: {\n [key: string]: unknown;\n };\n };\n };\n };\n /** @description MIME type not in the per-intent allow-list */\n 415: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {string} */\n error: \"too_large\" | \"disallowed_type\" | \"rate_limited\" | \"no_permission\";\n message: string;\n details?: {\n [key: string]: unknown;\n };\n };\n };\n };\n /** @description Per-user rate limit exceeded */\n 429: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {string} */\n error: \"too_large\" | \"disallowed_type\" | \"rate_limited\" | \"no_permission\";\n message: string;\n details?: {\n [key: string]: unknown;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/attachments/{id}/meta\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Get metadata for a single attachment by id */\n get: {\n parameters: {\n query?: never;\n header?: never;\n path: {\n /** @description Attachment id (24-char hex ObjectId) */\n id: string;\n };\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Attachment metadata (no `inUse` — that flag is page-scoped) */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n _id: string;\n page: string;\n creator: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n filePath: string;\n fileName: string;\n originalName: string;\n fileFormat: string;\n fileSize: number;\n createdAt: string;\n url: string;\n };\n };\n };\n /** @description Invalid attachment id */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_PAGE_ID\" | \"PAGE_NOT_FOUND\" | \"FILE_MISSING\" | \"FILE_TOO_LARGE\" | \"DISALLOWED_MIME\" | \"INVALID_ATTACHMENT_ID\" | \"ATTACHMENT_NOT_FOUND\" | \"FORBIDDEN_FOR_DELETE\" | \"UPLOAD_FAILED\" | \"REMOVE_FAILED\";\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Attachment not found / not granted */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_PAGE_ID\" | \"PAGE_NOT_FOUND\" | \"FILE_MISSING\" | \"FILE_TOO_LARGE\" | \"DISALLOWED_MIME\" | \"INVALID_ATTACHMENT_ID\" | \"ATTACHMENT_NOT_FOUND\" | \"FORBIDDEN_FOR_DELETE\" | \"UPLOAD_FAILED\" | \"REMOVE_FAILED\";\n message: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/attachments/{id}\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n post?: never;\n /** Remove an attachment */\n delete: {\n parameters: {\n query?: never;\n header?: never;\n path: {\n /** @description Attachment id (24-char hex ObjectId) */\n id: string;\n };\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Attachment removed */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {boolean} */\n success: true;\n };\n };\n };\n /** @description Invalid attachment id */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_PAGE_ID\" | \"PAGE_NOT_FOUND\" | \"FILE_MISSING\" | \"FILE_TOO_LARGE\" | \"DISALLOWED_MIME\" | \"INVALID_ATTACHMENT_ID\" | \"ATTACHMENT_NOT_FOUND\" | \"FORBIDDEN_FOR_DELETE\" | \"UPLOAD_FAILED\" | \"REMOVE_FAILED\";\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Forbidden (kept for legacy parity; current policy only requires view-grant) */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_PAGE_ID\" | \"PAGE_NOT_FOUND\" | \"FILE_MISSING\" | \"FILE_TOO_LARGE\" | \"DISALLOWED_MIME\" | \"INVALID_ATTACHMENT_ID\" | \"ATTACHMENT_NOT_FOUND\" | \"FORBIDDEN_FOR_DELETE\" | \"UPLOAD_FAILED\" | \"REMOVE_FAILED\";\n message: string;\n };\n };\n };\n };\n /** @description Attachment not found / page not granted */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_PAGE_ID\" | \"PAGE_NOT_FOUND\" | \"FILE_MISSING\" | \"FILE_TOO_LARGE\" | \"DISALLOWED_MIME\" | \"INVALID_ATTACHMENT_ID\" | \"ATTACHMENT_NOT_FOUND\" | \"FORBIDDEN_FOR_DELETE\" | \"UPLOAD_FAILED\" | \"REMOVE_FAILED\";\n message: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_PAGE_ID\" | \"PAGE_NOT_FOUND\" | \"FILE_MISSING\" | \"FILE_TOO_LARGE\" | \"DISALLOWED_MIME\" | \"INVALID_ATTACHMENT_ID\" | \"ATTACHMENT_NOT_FOUND\" | \"FORBIDDEN_FOR_DELETE\" | \"UPLOAD_FAILED\" | \"REMOVE_FAILED\";\n message: string;\n };\n };\n };\n };\n };\n };\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/search\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Full-text search over pages */\n get: {\n parameters: {\n query: {\n q: string;\n tree?: string;\n type?: \"portal\" | \"public\" | \"user\";\n page?: number;\n limit?: number;\n };\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Ranked search hits joined with page + bookmark count metadata */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n meta: {\n took?: number;\n total: number;\n results: number;\n };\n data: {\n pageId: string;\n path: string;\n score?: number;\n snippet?: string;\n bookmarkCount: number;\n page: {\n _id: string;\n path: string;\n revision?: string | {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n redirectTo?: string | null;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n grant?: number;\n grantedUsers?: string[];\n creator?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n lastUpdateUser?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n liker?: string[];\n /** @default 0 */\n commentCount: number;\n extended?: {\n [key: string]: unknown;\n };\n createdAt: string;\n updatedAt?: string;\n currentRevision?: string | null;\n yjsCheckpointAt?: string | null;\n latestRevision?: string;\n likerCount?: number;\n seenUsersCount?: number;\n };\n }[];\n };\n };\n };\n /** @description Validation error (e.g. empty `q`, invalid `type` enum) */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"VALIDATION_ERROR\";\n message: string;\n details?: {\n fieldErrors: {\n [key: string]: string[];\n };\n formErrors: string[];\n };\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Search driver raised an unexpected error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n /** @description No search driver registered (install `@crowi/plugin-search-*`) */\n 503: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"SERVICE_UNAVAILABLE\";\n feature: string;\n message: string;\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/admin/crypto/status\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Report which sensitive Config values are still plaintext */\n get: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Per-(ns, key) status for every sensitive Config row */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n encryptionConfigured: boolean;\n unencryptedCount: number;\n encryptedCount: number;\n entries: {\n ns: string;\n key: string;\n present: boolean;\n encrypted: boolean;\n }[];\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/admin/crypto/reencrypt\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Re-encrypt every plaintext sensitive Config value with the current key */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Migration completed (counts reported) */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n rewritten: number;\n alreadyEncrypted: number;\n missing: number;\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n /** @description CROWI_ENCRYPTION_KEY is not configured on the server */\n 503: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ENCRYPTION_NOT_CONFIGURED\";\n message: string;\n };\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/admin/app\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Read the current App settings (incl. AWS upload section) */\n get: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Current `app:*` slice plus derived read-only fields */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n app: {\n title: string;\n confidential: string;\n };\n isUploadable: boolean;\n registrationMode: {\n [key: string]: string;\n };\n setupChecklistDismissed: boolean;\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n };\n };\n /** Update App settings — partial updates per section */\n put: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n app?: {\n title?: string;\n confidential?: string;\n };\n setupChecklistDismissed?: boolean;\n };\n };\n };\n responses: {\n /** @description Update succeeded */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {boolean} */\n ok: true;\n };\n };\n };\n /** @description Body validation failed (legacy `{ bodyResult }` envelope) */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n bodyResult: {\n issues: {\n path: (string | number)[];\n message: string;\n }[];\n name?: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n };\n };\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/admin/auth\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Get the current auth:* settings */\n get: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Current authentication settings */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n requireThirdPartyAuth: boolean;\n disablePasswordAuth: boolean;\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n /** Update auth:* settings (requireThirdPartyAuth / disablePasswordAuth) */\n put: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n requireThirdPartyAuth: boolean;\n disablePasswordAuth: boolean;\n };\n };\n };\n responses: {\n /** @description Updated settings (re-read from in-memory cache) */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n requireThirdPartyAuth: boolean;\n disablePasswordAuth: boolean;\n };\n };\n };\n /** @description Enabling a third-party-dependent setting (requireThirdPartyAuth / disablePasswordAuth) is rejected because third-party sign-in was removed from core */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"THIRD_PARTY_AUTH_UNAVAILABLE\";\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/admin/security\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Get the current security:* settings */\n get: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Current security settings */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {string} */\n registrationMode: \"Open\" | \"Resricted\" | \"Closed\";\n registrationWhiteList: string[];\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n /** Update security:* settings (registrationMode / registrationWhiteList) */\n put: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n /** @enum {string} */\n registrationMode: \"Open\" | \"Resricted\" | \"Closed\";\n registrationWhiteList: string[];\n };\n };\n };\n responses: {\n /** @description Updated settings (re-read from in-memory cache) */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {string} */\n registrationMode: \"Open\" | \"Resricted\" | \"Closed\";\n registrationWhiteList: string[];\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/admin/mail\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Read the sender-independent mail settings (from + active sender driver) */\n get: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Current mail settings */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n from: string;\n activeDriver: string;\n activePlugin: string;\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n };\n };\n /** Update the sender-independent mail settings (from address) */\n put: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n from?: string;\n };\n };\n };\n responses: {\n /** @description Update succeeded */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {boolean} */\n ok: true;\n };\n };\n };\n /** @description Body validation failed (legacy `{ bodyResult }` envelope) */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n bodyResult: {\n issues: {\n path: (string | number)[];\n message: string;\n }[];\n name?: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n };\n };\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/admin/mail/test\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Send a test mail to the calling admin (req.user.email) via the active sender */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": Record<string, never>;\n };\n };\n responses: {\n /** @description Test mail sent successfully */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {boolean} */\n ok: true;\n to: string;\n };\n };\n };\n /** @description Body validation failed */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n bodyResult: {\n issues: {\n path: (string | number)[];\n message: string;\n }[];\n name?: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Test mail dispatch failed (SMTP error) */\n 502: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"MAIL_TEST_FAILED\";\n message: string;\n };\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/admin/storage\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Get the active storage driver and the list of installed drivers */\n get: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Active driver pointer + every registered driver */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n active: {\n driverName: string;\n pluginName: string;\n } | null;\n drivers: {\n driverName: string;\n pluginName: string;\n isActive: boolean;\n }[];\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/admin/search\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Get the active search driver and the list of installed drivers */\n get: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Active driver pointer + every registered driver */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n active: {\n driverName: string;\n pluginName: string;\n supportsRebuild: boolean;\n } | null;\n drivers: {\n driverName: string;\n pluginName: string;\n isActive: boolean;\n supportsRebuild: boolean;\n }[];\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/admin/users\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** List users with optional search (q) and pagination (page, limit) */\n get: {\n parameters: {\n query?: {\n q?: string;\n status?: number | null;\n page?: number;\n limit?: number;\n };\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Paginated user list */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n users: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n }[];\n pager: {\n page: number;\n pagesCount: number;\n pages: number[];\n total: number;\n previous: number | null;\n previousDots: boolean;\n next: number | null;\n nextDots: boolean;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/admin/users/search\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Email substring search for autocomplete-style UIs (max 51 results) */\n get: {\n parameters: {\n query: {\n email: string;\n };\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Matching users (capped at 51) */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n users: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n }[];\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/admin/users/invite\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Invite a batch of users by email; returns per-email status */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n emailList: string[];\n /** @default false */\n sendEmail?: boolean;\n };\n };\n };\n responses: {\n /** @description Per-email status (created / exists / failed) */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n results: ({\n email: string;\n /** @enum {string} */\n status: \"created\";\n userId: string;\n } | {\n email: string;\n /** @enum {string} */\n status: \"exists\";\n } | {\n email: string;\n /** @enum {string} */\n status: \"failed\";\n })[];\n };\n };\n };\n /** @description Validation error */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"VALIDATION_ERROR\";\n message: string;\n details?: {\n fieldErrors: {\n [key: string]: string[];\n };\n formErrors: string[];\n };\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/admin/users/{id}\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n post?: never;\n /** Physically remove a user (INVITED status only) */\n delete: {\n parameters: {\n query?: never;\n header?: never;\n path: {\n id: string;\n };\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description User removed */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n deletedId: string;\n };\n };\n };\n /** @description Invalid id */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"VALIDATION_ERROR\";\n message: string;\n details?: {\n fieldErrors: {\n [key: string]: string[];\n };\n formErrors: string[];\n };\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description User not found */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"NOT_FOUND\";\n message: string;\n };\n };\n };\n };\n /** @description User is not in the INVITED status and cannot be physically removed */\n 409: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"CONFLICT\";\n message: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n options?: never;\n head?: never;\n /** Update a user's name and email */\n patch: {\n parameters: {\n query?: never;\n header?: never;\n path: {\n id: string;\n };\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n name: string;\n /** Format: email */\n email: string;\n };\n };\n };\n responses: {\n /** @description Updated user */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n user: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n };\n };\n };\n /** @description Validation error */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"VALIDATION_ERROR\";\n message: string;\n details?: {\n fieldErrors: {\n [key: string]: string[];\n };\n formErrors: string[];\n };\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description User not found */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"NOT_FOUND\";\n message: string;\n };\n };\n };\n };\n /** @description Email already in use by another user */\n 409: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"CONFLICT\";\n message: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n trace?: never;\n };\n \"/admin/users/{id}/admin\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n /** Grant admin permission to a user */\n put: {\n parameters: {\n query?: never;\n header?: never;\n path: {\n id: string;\n };\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Updated user */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n user: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n };\n };\n };\n /** @description Invalid id */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"VALIDATION_ERROR\";\n message: string;\n details?: {\n fieldErrors: {\n [key: string]: string[];\n };\n formErrors: string[];\n };\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description User not found */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"NOT_FOUND\";\n message: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n post?: never;\n /** Revoke admin permission from a user */\n delete: {\n parameters: {\n query?: never;\n header?: never;\n path: {\n id: string;\n };\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Updated user */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n user: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n };\n };\n };\n /** @description Invalid id */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"VALIDATION_ERROR\";\n message: string;\n details?: {\n fieldErrors: {\n [key: string]: string[];\n };\n formErrors: string[];\n };\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description User not found */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"NOT_FOUND\";\n message: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/admin/users/{id}/status/active\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n /** Activate a user (status -> ACTIVE) */\n put: {\n parameters: {\n query?: never;\n header?: never;\n path: {\n id: string;\n };\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Updated user */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n user: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n };\n };\n };\n /** @description Invalid id */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"VALIDATION_ERROR\";\n message: string;\n details?: {\n fieldErrors: {\n [key: string]: string[];\n };\n formErrors: string[];\n };\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description User not found */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"NOT_FOUND\";\n message: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/admin/users/{id}/status/suspended\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n /** Suspend a user (status -> SUSPENDED) */\n put: {\n parameters: {\n query?: never;\n header?: never;\n path: {\n id: string;\n };\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Updated user */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n user: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n };\n };\n };\n /** @description Invalid id */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"VALIDATION_ERROR\";\n message: string;\n details?: {\n fieldErrors: {\n [key: string]: string[];\n };\n formErrors: string[];\n };\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description User not found */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"NOT_FOUND\";\n message: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/admin/users/{id}/reset-password\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Reset a user's password to a random value (returns plaintext) */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path: {\n id: string;\n };\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Updated user + new plaintext password */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n user: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n newPassword: string;\n };\n };\n };\n /** @description Invalid id */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"VALIDATION_ERROR\";\n message: string;\n details?: {\n fieldErrors: {\n [key: string]: string[];\n };\n formErrors: string[];\n };\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description User not found */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"NOT_FOUND\";\n message: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/admin/users/{id}/resend-invite\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Re-issue an invite token and resend the invitation email (INVITED status only) */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path: {\n id: string;\n };\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Invitation email resent; returns the (unchanged) user */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n user: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n };\n };\n };\n /** @description Invalid id */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"VALIDATION_ERROR\";\n message: string;\n details?: {\n fieldErrors: {\n [key: string]: string[];\n };\n formErrors: string[];\n };\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description User not found */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"NOT_FOUND\";\n message: string;\n };\n };\n };\n };\n /** @description User is not in the INVITED status, so there is no pending invite to resend */\n 409: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"CONFLICT\";\n message: string;\n };\n };\n };\n };\n /** @description Internal server error (e.g. the invitation email failed to send) */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/admin/users/{id}/email\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n /** Update a user's email address */\n put: {\n parameters: {\n query?: never;\n header?: never;\n path: {\n id: string;\n };\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n /** Format: email */\n email: string;\n };\n };\n };\n responses: {\n /** @description Updated user */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n user: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n };\n };\n };\n /** @description Validation error */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"VALIDATION_ERROR\";\n message: string;\n details?: {\n fieldErrors: {\n [key: string]: string[];\n };\n formErrors: string[];\n };\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description User not found */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"NOT_FOUND\";\n message: string;\n };\n };\n };\n };\n /** @description Email already in use by another user */\n 409: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"CONFLICT\";\n message: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/admin/users/pending-count\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Count users awaiting admin approval (status REGISTERED) */\n get: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Pending-approval user count */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n count: number;\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/admin/plugins\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** List every plugin currently loaded */\n get: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Plugin list with declared registry slots */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n plugins: {\n name: string;\n version: string;\n requires?: string[];\n hasConfig: boolean;\n registers: string[];\n adminPlacement: {\n /** @enum {string} */\n section: \"settings\" | \"shared\" | \"storage\" | \"mail\" | \"notification\" | \"auth\" | \"search\" | \"renderer\" | \"platform\";\n label: string;\n icon?: string;\n };\n supportsHotReload: boolean;\n }[];\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/admin/plugins/config\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Get a plugin config form schema + current values */\n get: {\n parameters: {\n query: {\n name: string;\n locale?: string;\n };\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Plugin config + values (secrets masked) */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n name: string;\n fields: {\n name: string;\n label?: string;\n /** @enum {string} */\n kind: \"string\" | \"secret\" | \"number\" | \"boolean\" | \"enum\" | \"string-array\";\n description?: string;\n defaultValue?: unknown;\n options?: string[];\n action?: {\n label: string;\n method: string;\n path: string;\n };\n optional: boolean;\n }[];\n values: {\n [key: string]: unknown;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Plugin not loaded */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"PLUGIN_NOT_FOUND\";\n message: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n /** Update a plugin config (per-field validation via plugin Zod schema) */\n put: {\n parameters: {\n query: {\n name: string;\n };\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n values: {\n [key: string]: unknown;\n };\n };\n };\n };\n responses: {\n /** @description Save succeeded; hotReloaded flag indicates live apply */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {boolean} */\n ok: true;\n hotReloaded: boolean;\n reconfigureFailed: boolean;\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Plugin not loaded */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"PLUGIN_NOT_FOUND\";\n message: string;\n };\n };\n };\n };\n /** @description Plugin config failed plugin-defined validation */\n 422: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"PLUGIN_CONFIG_VALIDATION_FAILED\";\n message: string;\n issues: {\n path: (string | number)[];\n message: string;\n }[];\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/admin/plugins/render-cache/clear-all\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Clear every renderer plugin cache entry */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": Record<string, never>;\n };\n };\n responses: {\n /** @description Cleared (count reported) */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {boolean} */\n ok: true;\n clearedAt: string;\n removedCount: number;\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/admin/plugins/render-cache/clear-plugin\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Clear renderer plugin cache entries scoped to a single plugin */\n post: {\n parameters: {\n query: {\n name: string;\n };\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": Record<string, never>;\n };\n };\n responses: {\n /** @description Cleared (count reported) */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {boolean} */\n ok: true;\n clearedAt: string;\n removedCount: number;\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Admin permission required */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Plugin not loaded */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"PLUGIN_NOT_FOUND\";\n message: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/notifications\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** List notifications for the current user (paginated) */\n get: {\n parameters: {\n query?: {\n limit?: number | null;\n offset?: number | null;\n };\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Paginated notification list (newest first) */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n notifications: {\n _id: string;\n user: string;\n /** @enum {string} */\n targetModel: \"Page\";\n target: {\n _id: string;\n path: string;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n };\n /** @enum {string} */\n action: \"COMMENT\" | \"LIKE\" | \"MENTION\" | \"UPDATE\";\n /** @enum {string} */\n status: \"UNREAD\" | \"UNOPENED\" | \"OPENED\";\n actionUsers: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n }[];\n createdAt: string;\n }[];\n pager: {\n prev: number | null;\n next: number | null;\n offset: number;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/notifications/read\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Mark all unread notifications of the current user as read */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description All UNREAD notifications transitioned to UNOPENED */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** @enum {boolean} */\n ok: true;\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/notifications/token\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Issue a short-lived notifications token (JWT) for the realtime-invalidation WebSocket */\n get: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Signed notifications token + selfUserId + expiresAt */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n token: string;\n selfUserId: string;\n expiresAt: string;\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Token signing exception */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/notifications/status\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** Get the unread notification count for the current user */\n get: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Unread notification count */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n count: number;\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/notifications/{id}/open\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** Open a notification (set its status to OPENED) */\n post: {\n parameters: {\n query?: never;\n header?: never;\n path: {\n id: string;\n };\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description The opened notification (status=OPENED) */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n notification: {\n _id: string;\n user: string;\n /** @enum {string} */\n targetModel: \"Page\";\n target: {\n _id: string;\n path: string;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n };\n /** @enum {string} */\n action: \"COMMENT\" | \"LIKE\" | \"MENTION\" | \"UPDATE\";\n /** @enum {string} */\n status: \"UNREAD\" | \"UNOPENED\" | \"OPENED\";\n actionUsers: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n }[];\n createdAt: string;\n };\n };\n };\n };\n /** @description Invalid notification id (malformed ObjectId) */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INVALID_REQUEST\";\n message: string;\n };\n };\n };\n };\n /** @description Authentication required */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n };\n };\n /** @description Notification not found or owned by another user */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"NOTIFICATION_NOT_FOUND\";\n /** @enum {string} */\n message: \"Notification not found\";\n };\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n };\n };\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n}\nexport type webhooks = Record<string, never>;\nexport interface components {\n schemas: {\n ApiError: {\n error: {\n code: components[\"schemas\"][\"ErrorCode\"];\n message: string;\n details?: unknown;\n };\n };\n /** @enum {string} */\n ErrorCode: \"AUTHENTICATION_REQUIRED\" | \"ADMIN_REQUIRED\" | \"THIRD_PARTY_AUTH_REQUIRED\" | \"USER_REGISTERED\" | \"USER_SUSPENDED\" | \"USER_INVITED\" | \"USER_NOT_ACTIVE\" | \"EMAIL_NOT_CONFIRMED\" | \"INTERNAL_ERROR\" | \"VALIDATION_ERROR\" | \"INVALID_REQUEST\" | \"NOT_FOUND\" | \"CONFLICT\" | \"SERVICE_UNAVAILABLE\" | \"APPLICATION_NOT_INSTALLED\" | \"INVALID_PAGE_ID\" | \"PAGE_NOT_FOUND\" | \"PAGE_NOT_GRANTED\" | \"PAGE_REVISION_ERROR\" | \"PAGE_TWIN_EXISTS\" | \"INVALID_GRANT\" | \"COMMENT_NOT_FOUND\" | \"NOTIFICATION_NOT_FOUND\" | \"USER_NOT_FOUND\" | \"USER_EXISTS\" | \"USERNAME_TAKEN\" | \"EMAIL_TAKEN\" | \"EMAIL_NOT_ALLOWED\" | \"INVALID_ACTIVATION_TOKEN\" | \"INVALID_INVITE_TOKEN\" | \"INVITE_ALREADY_ACCEPTED\" | \"INVALID_RESET_TOKEN\" | \"INVALID_EMAIL_CHANGE_TOKEN\" | \"INVALID_CREDENTIALS\" | \"REFRESH_TOKEN_REQUIRED\" | \"REGISTRATION_CLOSED\" | \"ENCRYPTION_NOT_CONFIGURED\" | \"MAIL_TEST_FAILED\" | \"PLUGIN_NOT_FOUND\" | \"PLUGIN_CONFIG_VALIDATION_FAILED\";\n ApplicationNotInstalledError: {\n error: {\n /** @enum {string} */\n code: \"APPLICATION_NOT_INSTALLED\";\n /** @enum {string} */\n message: \"Application is not installed\";\n /** @enum {string} */\n redirectTo: \"/installer\";\n };\n };\n AuthenticationRequiredError: {\n error: {\n /** @enum {string} */\n code: \"AUTHENTICATION_REQUIRED\";\n /** @enum {string} */\n message: \"Authentication is required\";\n redirectTo?: string;\n };\n };\n AdminRequiredError: {\n error: {\n /** @enum {string} */\n code: \"ADMIN_REQUIRED\";\n /** @enum {string} */\n message: \"Admin permission required\";\n redirectTo?: string;\n };\n };\n UserStatusError: {\n error: {\n /** @enum {string} */\n code: \"USER_REGISTERED\" | \"USER_SUSPENDED\" | \"USER_INVITED\";\n message: string;\n redirectTo: string;\n };\n };\n ThirdPartyAuthRequiredError: {\n error: {\n /** @enum {string} */\n code: \"THIRD_PARTY_AUTH_REQUIRED\";\n /** @enum {string} */\n message: \"Third party authentication is required\";\n redirectTo: string;\n };\n };\n InternalServerError: {\n error: {\n /** @enum {string} */\n code: \"INTERNAL_ERROR\";\n /** @enum {string} */\n message: \"Internal server error\";\n };\n };\n InvalidPageIdError: {\n error: {\n /** @enum {string} */\n code: \"INVALID_PAGE_ID\";\n message: string;\n };\n };\n ValidationError: {\n error: {\n /** @enum {string} */\n code: \"VALIDATION_ERROR\";\n message: string;\n details?: {\n fieldErrors: {\n [key: string]: string[];\n };\n formErrors: string[];\n };\n };\n };\n NotFoundError: {\n error: {\n /** @enum {string} */\n code: \"NOT_FOUND\";\n message: string;\n };\n };\n ConflictError: {\n error: {\n /** @enum {string} */\n code: \"CONFLICT\";\n message: string;\n };\n };\n ServiceUnavailableError: {\n error: {\n /** @enum {string} */\n code: \"SERVICE_UNAVAILABLE\";\n feature: string;\n message: string;\n };\n };\n OAuthError: {\n /** @enum {string} */\n error: \"invalid_request\" | \"invalid_client\" | \"invalid_grant\" | \"unauthorized_client\" | \"unsupported_grant_type\" | \"invalid_scope\" | \"access_denied\" | \"authorization_pending\" | \"slow_down\" | \"expired_token\";\n error_description?: string;\n };\n AuthorizeRequest: {\n client_id: string;\n redirect_uri: string;\n scope: string;\n code_challenge: string;\n /** @enum {string} */\n code_challenge_method: \"S256\";\n state?: string;\n };\n AuthorizeResponse: {\n redirectUri: string;\n };\n TokenRequest: {\n /** @enum {string} */\n grant_type: \"authorization_code\";\n code: string;\n code_verifier: string;\n redirect_uri: string;\n client_id: string;\n } | {\n /** @enum {string} */\n grant_type: \"refresh_token\";\n refresh_token: string;\n client_id: string;\n scope?: string;\n } | {\n /** @enum {string} */\n grant_type: \"urn:ietf:params:oauth:grant-type:device_code\";\n device_code: string;\n client_id: string;\n };\n TokenResponse: {\n access_token: string;\n /** @enum {string} */\n token_type: \"Bearer\";\n expires_in: number;\n refresh_token: string;\n scope: string;\n };\n RevokeRequest: {\n token: string;\n token_type_hint?: string;\n };\n DiscoveryResponse: {\n issuer: string;\n authorization_endpoint: string;\n token_endpoint: string;\n revocation_endpoint: string;\n device_authorization_endpoint?: string;\n scopes_supported: string[];\n response_types_supported: string[];\n grant_types_supported: string[];\n code_challenge_methods_supported: string[];\n token_endpoint_auth_methods_supported: string[];\n };\n DeviceAuthorizeRequest: {\n client_id: string;\n scope: string;\n };\n DeviceAuthorizeResponse: {\n device_code: string;\n user_code: string;\n verification_uri: string;\n verification_uri_complete: string;\n expires_in: number;\n interval: number;\n };\n DeviceInfoResponse: {\n client_id: string;\n scopes: string[];\n };\n DeviceVerifyRequest: {\n user_code: string;\n /** @enum {string} */\n action: \"approve\" | \"deny\";\n };\n DeviceVerifyResponse: {\n /** @enum {string} */\n status: \"approved\" | \"denied\";\n };\n UserPublic: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n PageUser: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n };\n Page: {\n _id: string;\n path: string;\n revision?: string | {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n redirectTo?: string | null;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n grant?: number;\n grantedUsers?: string[];\n creator?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n lastUpdateUser?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n liker?: string[];\n /** @default 0 */\n commentCount: number;\n extended?: {\n [key: string]: unknown;\n };\n createdAt: string;\n updatedAt?: string;\n currentRevision?: string | null;\n yjsCheckpointAt?: string | null;\n latestRevision?: string;\n likerCount?: number;\n seenUsersCount?: number;\n };\n PageWithRevision: {\n _id: string;\n path: string;\n revision: {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n redirectTo?: string | null;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n grant?: number;\n grantedUsers?: string[];\n creator?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n lastUpdateUser?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n liker?: string[];\n /** @default 0 */\n commentCount: number;\n extended?: {\n [key: string]: unknown;\n };\n createdAt: string;\n updatedAt?: string;\n currentRevision?: string | null;\n yjsCheckpointAt?: string | null;\n latestRevision?: string;\n likerCount?: number;\n seenUsersCount?: number;\n };\n Revision: {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n RevisionMeta: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n TocEntry: {\n level: number;\n text: string;\n anchorId: string;\n };\n WikiLink: {\n raw: string;\n target: string;\n displayText?: string;\n };\n Mention: {\n username: string;\n };\n Pager: {\n prev: number | null;\n next: number | null;\n offset: number;\n };\n ListPagesRequest: {\n path?: string;\n user?: string;\n /** @default 50 */\n limit: number | null;\n /** @default 0 */\n offset: number | null;\n /** @default false */\n include_deleted: boolean | null;\n /**\n * @default updatedAt\n * @enum {string}\n */\n sort: \"updatedAt\" | \"createdAt\" | \"path\";\n /**\n * @default desc\n * @enum {string}\n */\n order: \"asc\" | \"desc\";\n revision_id?: string;\n };\n ListPagesResponse: {\n pages: {\n _id: string;\n path: string;\n revision?: string | {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n redirectTo?: string | null;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n grant?: number;\n grantedUsers?: string[];\n creator?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n lastUpdateUser?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n liker?: string[];\n /** @default 0 */\n commentCount: number;\n extended?: {\n [key: string]: unknown;\n };\n createdAt: string;\n updatedAt?: string;\n currentRevision?: string | null;\n yjsCheckpointAt?: string | null;\n latestRevision?: string;\n likerCount?: number;\n seenUsersCount?: number;\n }[];\n pager: {\n prev: number | null;\n next: number | null;\n offset: number;\n };\n portalPage?: {\n _id: string;\n path: string;\n revision?: string | {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n redirectTo?: string | null;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n grant?: number;\n grantedUsers?: string[];\n creator?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n lastUpdateUser?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n liker?: string[];\n /** @default 0 */\n commentCount: number;\n extended?: {\n [key: string]: unknown;\n };\n createdAt: string;\n updatedAt?: string;\n currentRevision?: string | null;\n yjsCheckpointAt?: string | null;\n latestRevision?: string;\n likerCount?: number;\n seenUsersCount?: number;\n } | null;\n contentPage?: {\n _id: string;\n path: string;\n revision?: string | {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n redirectTo?: string | null;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n grant?: number;\n grantedUsers?: string[];\n creator?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n lastUpdateUser?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n liker?: string[];\n /** @default 0 */\n commentCount: number;\n extended?: {\n [key: string]: unknown;\n };\n createdAt: string;\n updatedAt?: string;\n currentRevision?: string | null;\n yjsCheckpointAt?: string | null;\n latestRevision?: string;\n likerCount?: number;\n seenUsersCount?: number;\n } | null;\n };\n GetPageResponse: {\n page: {\n _id: string;\n path: string;\n revision: {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n redirectTo?: string | null;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n grant?: number;\n grantedUsers?: string[];\n creator?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n lastUpdateUser?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n liker?: string[];\n /** @default 0 */\n commentCount: number;\n extended?: {\n [key: string]: unknown;\n };\n createdAt: string;\n updatedAt?: string;\n currentRevision?: string | null;\n yjsCheckpointAt?: string | null;\n latestRevision?: string;\n likerCount?: number;\n seenUsersCount?: number;\n };\n };\n UpdatePageRequest: {\n page_id: string;\n body: string;\n revision_id?: string;\n grant?: number;\n };\n PageNotFoundError: {\n error: {\n /** @enum {string} */\n code: \"PAGE_NOT_FOUND\";\n /** @enum {string} */\n message: \"Page not found\";\n };\n };\n PageNotGrantedError: {\n error: {\n /** @enum {string} */\n code: \"PAGE_NOT_GRANTED\";\n /** @enum {string} */\n message: \"Page is not granted for the user\";\n };\n };\n PageRevisionError: {\n error: {\n /** @enum {string} */\n code: \"PAGE_REVISION_ERROR\";\n message: string;\n };\n };\n GetSeenUsersRequest: {\n page_id: string;\n limit?: number;\n };\n SeenUsersResponse: {\n seenUsers: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n }[];\n seenUsersCount: number;\n };\n RecentlyViewedPagesResponse: {\n pages: {\n _id: string;\n path: string;\n revision?: string | {\n _id: string;\n path: string;\n body: string;\n /** @default markdown */\n format: string;\n author?: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n createdAt: string;\n meta?: {\n toc?: {\n level: number;\n text: string;\n anchorId: string;\n }[];\n wikiLinks?: {\n raw: string;\n target: string;\n displayText?: string;\n }[];\n mentions?: {\n username: string;\n }[];\n codeBlockLanguages?: string[];\n };\n renderedAst?: unknown;\n rendererVersion?: string;\n parentRevisionId?: string | null;\n /** @enum {string} */\n type?: \"snapshot\" | \"incremental\";\n savedBy?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n contributors?: (string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n })[];\n message?: string;\n /** @enum {string} */\n editVia?: \"web\" | \"oauth\" | \"pat\";\n };\n redirectTo?: string | null;\n /** @enum {string|null} */\n status?: \"wip\" | \"published\" | \"deleted\" | \"deprecated\" | \"draft\" | null;\n grant?: number;\n grantedUsers?: string[];\n creator?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n lastUpdateUser?: string | {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n createdAt: string;\n } | null;\n liker?: string[];\n /** @default 0 */\n commentCount: number;\n extended?: {\n [key: string]: unknown;\n };\n createdAt: string;\n updatedAt?: string;\n currentRevision?: string | null;\n yjsCheckpointAt?: string | null;\n latestRevision?: string;\n likerCount?: number;\n seenUsersCount?: number;\n }[];\n };\n Attachment: {\n _id: string;\n page: string;\n creator: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n filePath: string;\n fileName: string;\n originalName: string;\n fileFormat: string;\n fileSize: number;\n createdAt: string;\n url: string;\n inUse: boolean;\n };\n AttachmentMeta: {\n _id: string;\n page: string;\n creator: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n filePath: string;\n fileName: string;\n originalName: string;\n fileFormat: string;\n fileSize: number;\n createdAt: string;\n url: string;\n };\n ListAttachmentsResponse: {\n attachments: {\n _id: string;\n page: string;\n creator: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n filePath: string;\n fileName: string;\n originalName: string;\n fileFormat: string;\n fileSize: number;\n createdAt: string;\n url: string;\n inUse: boolean;\n }[];\n };\n PastAttachmentUsage: {\n attachment: {\n _id: string;\n page: string;\n creator: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n filePath: string;\n fileName: string;\n originalName: string;\n fileFormat: string;\n fileSize: number;\n createdAt: string;\n url: string;\n inUse: boolean;\n };\n referencingRevisions: {\n revisionId: string;\n createdAt: string;\n author: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n }[];\n };\n AttachmentUsageResponse: {\n pagePath: string;\n latest: {\n _id: string;\n page: string;\n creator: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n filePath: string;\n fileName: string;\n originalName: string;\n fileFormat: string;\n fileSize: number;\n createdAt: string;\n url: string;\n inUse: boolean;\n }[];\n past: {\n attachment: {\n _id: string;\n page: string;\n creator: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n filePath: string;\n fileName: string;\n originalName: string;\n fileFormat: string;\n fileSize: number;\n createdAt: string;\n url: string;\n inUse: boolean;\n };\n referencingRevisions: {\n revisionId: string;\n createdAt: string;\n author: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n }[];\n }[];\n };\n AttachmentError: {\n error: {\n /** @enum {string} */\n code: \"INVALID_PAGE_ID\" | \"PAGE_NOT_FOUND\" | \"FILE_MISSING\" | \"FILE_TOO_LARGE\" | \"DISALLOWED_MIME\" | \"INVALID_ATTACHMENT_ID\" | \"ATTACHMENT_NOT_FOUND\" | \"FORBIDDEN_FOR_DELETE\" | \"UPLOAD_FAILED\" | \"REMOVE_FAILED\";\n message: string;\n };\n };\n UploadAttachmentResponse: {\n url: string;\n filename: string;\n mimeType: string;\n sizeBytes: number;\n };\n UploadAttachmentError: {\n /** @enum {string} */\n error: \"too_large\" | \"disallowed_type\" | \"rate_limited\" | \"no_permission\";\n message: string;\n details?: {\n [key: string]: unknown;\n };\n };\n CreateDraftRequest: {\n path: string;\n initialBody?: string;\n };\n CreateDraftResponse: {\n pageId: string;\n };\n DraftPathConflictError: {\n /** @enum {string} */\n error: \"path_taken_by_draft\";\n owner: {\n id: string;\n username: string;\n displayName: string;\n };\n message: string;\n };\n DraftBadRequestError: {\n /** @enum {string} */\n error: \"invalid_path\" | \"path_taken\";\n message: string;\n };\n DraftNotFoundError: {\n /** @enum {string} */\n error: \"draft_not_found\";\n message: string;\n };\n DraftSummary: {\n pageId: string;\n path: string;\n createdAt: string;\n updatedAt: string;\n };\n ListDraftsResponse: {\n drafts: {\n pageId: string;\n path: string;\n createdAt: string;\n updatedAt: string;\n }[];\n };\n InstallerStatusResponse: {\n /** @enum {string} */\n status: \"installer_required\" | \"already_installed\";\n };\n CreateAdminRequest: {\n registerForm: {\n username: string;\n name: string;\n /** Format: email */\n email: string;\n password: string;\n };\n };\n CreateAdminResponse: {\n /** @enum {string} */\n status: \"ok\" | \"error\";\n message?: string;\n errors?: string[];\n };\n AdminPager: {\n page: number;\n pagesCount: number;\n pages: number[];\n total: number;\n previous: number | null;\n previousDots: boolean;\n next: number | null;\n nextDots: boolean;\n };\n AdminUserIdParam: {\n id: string;\n };\n AdminUserMutationResponse: {\n user: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n };\n ListAdminUsersRequest: {\n q?: string;\n status?: number | null;\n /** @default 1 */\n page: number;\n /** @default 50 */\n limit: number;\n };\n ListAdminUsersResponse: {\n users: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n }[];\n pager: {\n page: number;\n pagesCount: number;\n pages: number[];\n total: number;\n previous: number | null;\n previousDots: boolean;\n next: number | null;\n nextDots: boolean;\n };\n };\n SearchAdminUsersByEmailRequest: {\n email: string;\n };\n SearchAdminUsersByEmailResponse: {\n users: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n }[];\n };\n InviteUsersRequest: {\n emailList: string[];\n /** @default false */\n sendEmail: boolean;\n };\n InvitedUserResult: {\n email: string;\n /** @enum {string} */\n status: \"created\";\n userId: string;\n } | {\n email: string;\n /** @enum {string} */\n status: \"exists\";\n } | {\n email: string;\n /** @enum {string} */\n status: \"failed\";\n };\n InviteUsersResponse: {\n results: ({\n email: string;\n /** @enum {string} */\n status: \"created\";\n userId: string;\n } | {\n email: string;\n /** @enum {string} */\n status: \"exists\";\n } | {\n email: string;\n /** @enum {string} */\n status: \"failed\";\n })[];\n };\n EditAdminUserRequest: {\n name: string;\n /** Format: email */\n email: string;\n };\n ResetPasswordResponse: {\n user: {\n _id: string;\n id?: string;\n username: string;\n name: string;\n /** Format: email */\n email: string;\n image?: string | null;\n introduction?: string;\n createdAt: string;\n admin?: boolean;\n /** @enum {integer} */\n status?: 1 | 2 | 3 | 4 | 5;\n };\n newPassword: string;\n };\n UpdateAdminUserEmailRequest: {\n /** Format: email */\n email: string;\n };\n GetAppSettingsResponse: {\n app: {\n title: string;\n confidential: string;\n };\n isUploadable: boolean;\n registrationMode: {\n [key: string]: string;\n };\n setupChecklistDismissed: boolean;\n };\n UpdateAppSettingsRequest: {\n app?: {\n title?: string;\n confidential?: string;\n };\n setupChecklistDismissed?: boolean;\n };\n UpdateAppSettingsResponse: {\n /** @enum {boolean} */\n ok: true;\n };\n AppSettingsValidationError: {\n bodyResult: {\n issues: {\n path: (string | number)[];\n message: string;\n }[];\n name?: string;\n };\n };\n GetMailSettingsResponse: {\n from: string;\n activeDriver: string;\n activePlugin: string;\n };\n UpdateMailSettingsRequest: {\n from?: string;\n };\n UpdateMailSettingsResponse: {\n /** @enum {boolean} */\n ok: true;\n };\n SendTestMailRequest: Record<string, never>;\n SendTestMailResponse: {\n /** @enum {boolean} */\n ok: true;\n to: string;\n };\n SendTestMailError: {\n error: {\n /** @enum {string} */\n code: \"MAIL_TEST_FAILED\";\n message: string;\n };\n };\n MailSettingsValidationError: {\n bodyResult: {\n issues: {\n path: (string | number)[];\n message: string;\n }[];\n name?: string;\n };\n };\n GetStorageStatusResponse: {\n active: {\n driverName: string;\n pluginName: string;\n } | null;\n drivers: {\n driverName: string;\n pluginName: string;\n isActive: boolean;\n }[];\n };\n PluginField: {\n name: string;\n label?: string;\n /** @enum {string} */\n kind: \"string\" | \"secret\" | \"number\" | \"boolean\" | \"enum\" | \"string-array\";\n description?: string;\n defaultValue?: unknown;\n options?: string[];\n action?: {\n label: string;\n method: string;\n path: string;\n };\n optional: boolean;\n };\n PluginInfo: {\n name: string;\n version: string;\n requires?: string[];\n hasConfig: boolean;\n registers: string[];\n adminPlacement: {\n /** @enum {string} */\n section: \"settings\" | \"shared\" | \"storage\" | \"mail\" | \"notification\" | \"auth\" | \"search\" | \"renderer\" | \"platform\";\n label: string;\n icon?: string;\n };\n supportsHotReload: boolean;\n };\n ListPluginsResponse: {\n plugins: {\n name: string;\n version: string;\n requires?: string[];\n hasConfig: boolean;\n registers: string[];\n adminPlacement: {\n /** @enum {string} */\n section: \"settings\" | \"shared\" | \"storage\" | \"mail\" | \"notification\" | \"auth\" | \"search\" | \"renderer\" | \"platform\";\n label: string;\n icon?: string;\n };\n supportsHotReload: boolean;\n }[];\n };\n PluginConfigResponse: {\n name: string;\n fields: {\n name: string;\n label?: string;\n /** @enum {string} */\n kind: \"string\" | \"secret\" | \"number\" | \"boolean\" | \"enum\" | \"string-array\";\n description?: string;\n defaultValue?: unknown;\n options?: string[];\n action?: {\n label: string;\n method: string;\n path: string;\n };\n optional: boolean;\n }[];\n values: {\n [key: string]: unknown;\n };\n };\n UpdatePluginConfigRequest: {\n values: {\n [key: string]: unknown;\n };\n };\n UpdatePluginConfigResponse: {\n /** @enum {boolean} */\n ok: true;\n hotReloaded: boolean;\n reconfigureFailed: boolean;\n };\n PluginNotFoundError: {\n error: {\n /** @enum {string} */\n code: \"PLUGIN_NOT_FOUND\";\n message: string;\n };\n };\n PluginConfigValidationError: {\n error: {\n /** @enum {string} */\n code: \"PLUGIN_CONFIG_VALIDATION_FAILED\";\n message: string;\n issues: {\n path: (string | number)[];\n message: string;\n }[];\n };\n };\n };\n responses: never;\n parameters: never;\n requestBodies: never;\n headers: never;\n pathItems: never;\n}\nexport type $defs = Record<string, never>;\nexport type operations = Record<string, never>;\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}