@crowi/api-contract 2.0.0-alpha.13 → 2.0.0-alpha.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -43,6 +43,8 @@ __export(index_exports, {
43
43
  AdminRequiredErrorSchema: () => AdminRequiredErrorSchema,
44
44
  AdminSidebarSection: () => AdminSidebarSection,
45
45
  AdminUserIdParamSchema: () => AdminUserIdParamSchema,
46
+ AdminUserIdentityParamSchema: () => AdminUserIdentityParamSchema,
47
+ AdminUserListItemSchema: () => AdminUserListItemSchema,
46
48
  AdminUserMutationResponseSchema: () => AdminUserMutationResponseSchema,
47
49
  ApiErrorSchema: () => ApiErrorSchema,
48
50
  AppInfoResponseSchema: () => AppInfoResponseSchema,
@@ -97,6 +99,7 @@ __export(index_exports, {
97
99
  CrowiDiagramNodeSchema: () => CrowiDiagramNodeSchema,
98
100
  CrowiDiagramSidecarSchema: () => CrowiDiagramSidecarSchema,
99
101
  CrowiDimensionSchema: () => CrowiDimensionSchema,
102
+ CrowiFrontmatterEntrySchema: () => CrowiFrontmatterEntrySchema,
100
103
  CrowiImagePayloadSchema: () => CrowiImagePayloadSchema,
101
104
  CrowiLinkCardNodeSchema: () => CrowiLinkCardNodeSchema,
102
105
  CrowiLinkCardSidecarSchema: () => CrowiLinkCardSidecarSchema,
@@ -125,8 +128,13 @@ __export(index_exports, {
125
128
  DraftSummarySchema: () => DraftSummarySchema,
126
129
  ERROR_CODES: () => ERROR_CODES,
127
130
  EditAdminUserRequestSchema: () => EditAdminUserRequestSchema,
131
+ EmailLockedByFederatedIdentityErrorSchema: () => EmailLockedByFederatedIdentityErrorSchema,
128
132
  EncryptionNotConfiguredErrorSchema: () => EncryptionNotConfiguredErrorSchema,
129
133
  ErrorCodeSchema: () => ErrorCodeSchema,
134
+ FRONTMATTER_MAX_ENTRIES: () => FRONTMATTER_MAX_ENTRIES,
135
+ FRONTMATTER_MAX_KEY_CHARS: () => FRONTMATTER_MAX_KEY_CHARS,
136
+ FRONTMATTER_MAX_RAW_BYTES: () => FRONTMATTER_MAX_RAW_BYTES,
137
+ FRONTMATTER_MAX_VALUE_CHARS: () => FRONTMATTER_MAX_VALUE_CHARS,
130
138
  FederatedHandoffRequestSchema: () => FederatedHandoffRequestSchema,
131
139
  FederatedHandoffResponseSchema: () => FederatedHandoffResponseSchema,
132
140
  FederatedProviderSchema: () => FederatedProviderSchema,
@@ -333,6 +341,9 @@ __export(index_exports, {
333
341
  TokenResponseSchema: () => TokenResponseSchema,
334
342
  UPLOAD_ALLOWED_MIME: () => UPLOAD_ALLOWED_MIME,
335
343
  UnlinkAuthProviderErrorSchema: () => UnlinkAuthProviderErrorSchema,
344
+ UnlinkUserIdentityConflictErrorSchema: () => UnlinkUserIdentityConflictErrorSchema,
345
+ UnlinkUserIdentityNotFoundErrorSchema: () => UnlinkUserIdentityNotFoundErrorSchema,
346
+ UnlinkUserIdentityResponseSchema: () => UnlinkUserIdentityResponseSchema,
336
347
  UpdateAdminUserEmailRequestSchema: () => UpdateAdminUserEmailRequestSchema,
337
348
  UpdateAppSettingsRequestSchema: () => UpdateAppSettingsRequestSchema,
338
349
  UpdateAppSettingsResponseSchema: () => UpdateAppSettingsResponseSchema,
@@ -351,6 +362,7 @@ __export(index_exports, {
351
362
  UploadAttachmentErrorCodeSchema: () => UploadAttachmentErrorCodeSchema,
352
363
  UploadAttachmentErrorSchema: () => UploadAttachmentErrorSchema,
353
364
  UploadAttachmentResponseSchema: () => UploadAttachmentResponseSchema,
365
+ UploadPolicyResponseSchema: () => UploadPolicyResponseSchema,
354
366
  UserBookmarksResponseSchema: () => UserBookmarksResponseSchema,
355
367
  UserLanguageSchema: () => UserLanguageSchema,
356
368
  UserListItemSchema: () => UserListItemSchema,
@@ -451,6 +463,7 @@ __export(index_exports, {
451
463
  getSeenUsersRoute: () => getSeenUsersRoute,
452
464
  getStorageStatusRoute: () => getStorageStatusRoute,
453
465
  getUnreadCountRoute: () => getUnreadCountRoute,
466
+ getUploadPolicyRoute: () => getUploadPolicyRoute,
454
467
  getUserBookmarksRoute: () => getUserBookmarksRoute,
455
468
  getUserPageRoute: () => getUserPageRoute,
456
469
  getUserPagesRoute: () => getUserPagesRoute,
@@ -528,6 +541,7 @@ __export(index_exports, {
528
541
  tokenRoute: () => tokenRoute,
529
542
  unlikePageRoute: () => unlikePageRoute,
530
543
  unlinkAuthProviderRoute: () => unlinkAuthProviderRoute,
544
+ unlinkUserIdentityRoute: () => unlinkUserIdentityRoute,
531
545
  unwrapRenderedAst: () => unwrapRenderedAst,
532
546
  updateAppSettingsRoute: () => updateAppSettingsRoute,
533
547
  updateAuthSettingsRoute: () => updateAuthSettingsRoute,
@@ -1651,8 +1665,11 @@ var ListAdminUsersRequestSchema = import_zod_openapi19.z.object({
1651
1665
  page: import_zod_openapi19.z.coerce.number().int().min(1).optional().default(1),
1652
1666
  limit: import_zod_openapi19.z.coerce.number().int().min(1).max(100).optional().default(50)
1653
1667
  });
1668
+ var AdminUserListItemSchema = UserPublicSchema.extend({
1669
+ linkedProviders: import_zod_openapi19.z.array(import_zod_openapi19.z.string())
1670
+ });
1654
1671
  var ListAdminUsersResponseSchema = import_zod_openapi19.z.object({
1655
- users: import_zod_openapi19.z.array(UserPublicSchema),
1672
+ users: import_zod_openapi19.z.array(AdminUserListItemSchema),
1656
1673
  pager: AdminPagerSchema
1657
1674
  });
1658
1675
  var SearchAdminUsersByEmailRequestSchema = import_zod_openapi19.z.object({
@@ -1687,8 +1704,7 @@ var InviteUsersResponseSchema = import_zod_openapi19.z.object({
1687
1704
  results: import_zod_openapi19.z.array(InvitedUserResultSchema)
1688
1705
  });
1689
1706
  var EditAdminUserRequestSchema = import_zod_openapi19.z.object({
1690
- name: import_zod_openapi19.z.string().min(1),
1691
- email: import_zod_openapi19.z.string().email()
1707
+ name: import_zod_openapi19.z.string().min(1)
1692
1708
  });
1693
1709
  var AdminUserMutationResponseSchema = import_zod_openapi19.z.object({
1694
1710
  user: UserPublicSchema
@@ -1700,6 +1716,32 @@ var ResetPasswordResponseSchema = import_zod_openapi19.z.object({
1700
1716
  var UpdateAdminUserEmailRequestSchema = import_zod_openapi19.z.object({
1701
1717
  email: import_zod_openapi19.z.string().email()
1702
1718
  });
1719
+ var EmailLockedByFederatedIdentityErrorSchema = import_zod_openapi19.z.object({
1720
+ error: import_zod_openapi19.z.object({
1721
+ code: import_zod_openapi19.z.literal("EMAIL_LOCKED_BY_FEDERATED_IDENTITY"),
1722
+ message: import_zod_openapi19.z.string()
1723
+ })
1724
+ });
1725
+ var AdminUserIdentityParamSchema = AdminUserIdParamSchema.extend({
1726
+ provider: import_zod_openapi19.z.string()
1727
+ });
1728
+ var UnlinkUserIdentityResponseSchema = import_zod_openapi19.z.object({
1729
+ user: UserPublicSchema,
1730
+ passwordIssued: import_zod_openapi19.z.boolean(),
1731
+ newPassword: import_zod_openapi19.z.string().optional()
1732
+ });
1733
+ var UnlinkUserIdentityNotFoundErrorSchema = import_zod_openapi19.z.object({
1734
+ error: import_zod_openapi19.z.object({
1735
+ code: import_zod_openapi19.z.enum(["NOT_FOUND", "NOT_LINKED"]),
1736
+ message: import_zod_openapi19.z.string()
1737
+ })
1738
+ });
1739
+ var UnlinkUserIdentityConflictErrorSchema = import_zod_openapi19.z.object({
1740
+ error: import_zod_openapi19.z.object({
1741
+ code: import_zod_openapi19.z.enum(["CANNOT_UNLINK_SELF", "PASSWORD_AUTH_DISABLED"]),
1742
+ message: import_zod_openapi19.z.string()
1743
+ })
1744
+ });
1703
1745
  var DeleteAdminUserResponseSchema = import_zod_openapi19.z.object({
1704
1746
  deletedId: import_zod_openapi19.z.string()
1705
1747
  });
@@ -1803,7 +1845,7 @@ var editUserRoute = (0, import_zod_openapi20.createRoute)({
1803
1845
  path: "/admin/users/{id}",
1804
1846
  tags: ["admin.users"],
1805
1847
  security: [{ bearerAuth: [] }],
1806
- summary: "Update a user's name and email",
1848
+ summary: "Update a user's name (email changes go through PUT /admin/users/{id}/email)",
1807
1849
  request: {
1808
1850
  params: AdminUserIdParamSchema,
1809
1851
  body: {
@@ -1831,10 +1873,6 @@ var editUserRoute = (0, import_zod_openapi20.createRoute)({
1831
1873
  description: "User not found",
1832
1874
  content: { "application/json": { schema: NotFoundErrorSchema } }
1833
1875
  },
1834
- 409: {
1835
- description: "Email already in use by another user",
1836
- content: { "application/json": { schema: ConflictErrorSchema } }
1837
- },
1838
1876
  500: {
1839
1877
  description: "Internal server error",
1840
1878
  content: { "application/json": { schema: InternalServerErrorSchema } }
@@ -2095,8 +2133,48 @@ var updateUserEmailRoute = (0, import_zod_openapi20.createRoute)({
2095
2133
  content: { "application/json": { schema: NotFoundErrorSchema } }
2096
2134
  },
2097
2135
  409: {
2098
- description: "Email already in use by another user",
2099
- content: { "application/json": { schema: ConflictErrorSchema } }
2136
+ description: "Email already in use by another user, or locked by a linked federated identity",
2137
+ content: { "application/json": { schema: import_zod_openapi20.z.union([ConflictErrorSchema, EmailLockedByFederatedIdentityErrorSchema]) } }
2138
+ },
2139
+ 500: {
2140
+ description: "Internal server error",
2141
+ content: { "application/json": { schema: InternalServerErrorSchema } }
2142
+ }
2143
+ }
2144
+ });
2145
+ var unlinkUserIdentityRoute = (0, import_zod_openapi20.createRoute)({
2146
+ method: "delete",
2147
+ path: "/admin/users/{id}/identities/{provider}",
2148
+ tags: ["admin.users"],
2149
+ security: [{ bearerAuth: [] }],
2150
+ summary: "Unlink a user's federated identity for a provider (admin-initiated)",
2151
+ request: {
2152
+ params: AdminUserIdentityParamSchema
2153
+ },
2154
+ responses: {
2155
+ 200: {
2156
+ description: "Identity removed; passwordIssued/newPassword report whether a password was generated",
2157
+ content: { "application/json": { schema: UnlinkUserIdentityResponseSchema } }
2158
+ },
2159
+ 400: {
2160
+ description: "Invalid id",
2161
+ content: { "application/json": { schema: ValidationErrorSchema } }
2162
+ },
2163
+ 401: {
2164
+ description: "Authentication required",
2165
+ content: { "application/json": { schema: AuthenticationRequiredErrorSchema } }
2166
+ },
2167
+ 403: {
2168
+ description: "Admin permission required",
2169
+ content: { "application/json": { schema: AdminRequiredErrorSchema } }
2170
+ },
2171
+ 404: {
2172
+ description: "User not found, or the user has no identity for this provider",
2173
+ content: { "application/json": { schema: UnlinkUserIdentityNotFoundErrorSchema } }
2174
+ },
2175
+ 409: {
2176
+ description: "Refused: the target is the operating admin themself, or password auth is disabled instance-wide",
2177
+ content: { "application/json": { schema: UnlinkUserIdentityConflictErrorSchema } }
2100
2178
  },
2101
2179
  500: {
2102
2180
  description: "Internal server error",
@@ -2181,6 +2259,7 @@ var adminUsersRoutes = {
2181
2259
  resetPasswordRoute,
2182
2260
  resendInviteRoute,
2183
2261
  updateUserEmailRoute,
2262
+ unlinkUserIdentityRoute,
2184
2263
  pendingUsersCountRoute,
2185
2264
  deleteUserRoute
2186
2265
  };
@@ -2364,6 +2443,17 @@ var UPLOAD_ALLOWED_MIME = [
2364
2443
  // Unknown / unset — see the note above.
2365
2444
  "application/octet-stream"
2366
2445
  ];
2446
+ var UploadPolicyResponseSchema = import_zod_openapi24.z.object({
2447
+ allowedMimeTypes: import_zod_openapi24.z.array(import_zod_openapi24.z.string()),
2448
+ extensionHints: import_zod_openapi24.z.record(import_zod_openapi24.z.string(), import_zod_openapi24.z.string()),
2449
+ maxBytes: import_zod_openapi24.z.object({
2450
+ attachment: import_zod_openapi24.z.number()
2451
+ }),
2452
+ profilePicture: import_zod_openapi24.z.object({
2453
+ allowedMimeTypes: import_zod_openapi24.z.array(import_zod_openapi24.z.string()),
2454
+ maxBytes: import_zod_openapi24.z.number()
2455
+ })
2456
+ });
2367
2457
 
2368
2458
  // src/contracts/attachment.ts
2369
2459
  var PageIdPathParamsSchema = import_zod_openapi25.z.object({
@@ -2377,8 +2467,7 @@ var AddAttachmentBodySchema = import_zod_openapi25.z.object({
2377
2467
  });
2378
2468
  var UploadAttachmentBodySchema = import_zod_openapi25.z.object({
2379
2469
  file: import_zod_openapi25.z.any().openapi({ type: "string", format: "binary" }).optional(),
2380
- pageId: import_zod_openapi25.z.string().optional(),
2381
- intent: import_zod_openapi25.z.string().optional().openapi({ enum: ["paste", "dnd"] })
2470
+ pageId: import_zod_openapi25.z.string().optional()
2382
2471
  });
2383
2472
  var listAttachmentsRoute = (0, import_zod_openapi25.createRoute)({
2384
2473
  method: "get",
@@ -2548,7 +2637,7 @@ var uploadAttachmentRoute = (0, import_zod_openapi25.createRoute)({
2548
2637
  content: { "application/json": { schema: UploadAttachmentErrorSchema } }
2549
2638
  },
2550
2639
  413: {
2551
- description: "Body exceeds the per-intent size cap",
2640
+ description: "Body exceeds the unified upload size cap",
2552
2641
  content: { "application/json": { schema: UploadAttachmentErrorSchema } }
2553
2642
  },
2554
2643
  415: {
@@ -2601,6 +2690,23 @@ var removeAttachmentRoute = (0, import_zod_openapi25.createRoute)({
2601
2690
  }
2602
2691
  }
2603
2692
  });
2693
+ var getUploadPolicyRoute = (0, import_zod_openapi25.createRoute)({
2694
+ method: "get",
2695
+ path: "/attachments/upload-policy",
2696
+ tags: ["attachment"],
2697
+ security: [{ bearerAuth: [] }],
2698
+ summary: "Get the server upload policy (allowed MIME types, extension hints, size limits)",
2699
+ responses: {
2700
+ 200: {
2701
+ description: "Current upload policy, derived from server-side constants (never a value maintained separately)",
2702
+ content: { "application/json": { schema: UploadPolicyResponseSchema } }
2703
+ },
2704
+ 401: {
2705
+ description: "Authentication required",
2706
+ content: { "application/json": { schema: AuthenticationRequiredErrorSchema } }
2707
+ }
2708
+ }
2709
+ });
2604
2710
  var attachmentRoutes = {
2605
2711
  // `/pages/{pageId}/attachments/usage` MUST register before
2606
2712
  // `/pages/{pageId}/attachments` so the literal `/usage` suffix wins;
@@ -2612,7 +2718,8 @@ var attachmentRoutes = {
2612
2718
  addAttachmentRoute,
2613
2719
  uploadAttachmentRoute,
2614
2720
  getAttachmentMetaRoute,
2615
- removeAttachmentRoute
2721
+ removeAttachmentRoute,
2722
+ getUploadPolicyRoute
2616
2723
  };
2617
2724
 
2618
2725
  // src/contracts/autocomplete.ts
@@ -2964,6 +3071,17 @@ var crowiOpaqueFields = import_zod_openapi30.z.object({
2964
3071
  /** Best-effort diagnostics only — never a rendering hint. Truncated to 64 chars before assignment. */
2965
3072
  originalType: import_zod_openapi30.z.string().max(64).optional()
2966
3073
  });
3074
+ var FRONTMATTER_MAX_ENTRIES = 50;
3075
+ var FRONTMATTER_MAX_KEY_CHARS = 100;
3076
+ var FRONTMATTER_MAX_VALUE_CHARS = 300;
3077
+ var FRONTMATTER_MAX_RAW_BYTES = 8 * 1024;
3078
+ var CrowiFrontmatterEntrySchema = import_zod_openapi30.z.object({
3079
+ key: import_zod_openapi30.z.string().max(FRONTMATTER_MAX_KEY_CHARS),
3080
+ value: import_zod_openapi30.z.string().max(FRONTMATTER_MAX_VALUE_CHARS)
3081
+ });
3082
+ var crowiFrontmatterFields = import_zod_openapi30.z.object({
3083
+ entries: import_zod_openapi30.z.array(CrowiFrontmatterEntrySchema).max(FRONTMATTER_MAX_ENTRIES)
3084
+ });
2967
3085
  var RENDERED_AST_NODE_DEFS = {
2968
3086
  root: { placement: "flow", childModel: "flow", fields: noFields },
2969
3087
  paragraph: { placement: "flow", childModel: "phrasing", fields: noFields },
@@ -2992,10 +3110,12 @@ var RENDERED_AST_NODE_DEFS = {
2992
3110
  footnoteReference: { placement: "phrasing", childModel: "none", fields: footnoteReferenceFields },
2993
3111
  linkReference: { placement: "phrasing", childModel: "phrasing", fields: linkReferenceFields },
2994
3112
  imageReference: { placement: "phrasing", childModel: "none", fields: imageReferenceFields },
2995
- // Crowi-owned types. `crowiFigure` is the only one that also appears
2996
- // in stored ASTs; the other three only exist as projection outputs
2997
- // (or as defensively-validated plugin-injected nodes).
3113
+ // Crowi-owned types. `crowiFigure` / `crowiFrontmatter` are the only
3114
+ // ones that also appear in stored ASTs directly (a core transform
3115
+ // writes them at save time); the other three only exist as projection
3116
+ // outputs (or as defensively-validated plugin-injected nodes).
2998
3117
  crowiFigure: { placement: "flow", childModel: "phrasing", fields: noFields },
3118
+ crowiFrontmatter: { placement: "flow", childModel: "none", fields: crowiFrontmatterFields },
2999
3119
  crowiDiagram: { placement: "flow", childModel: "none", fields: CrowiDiagramSidecarSchema },
3000
3120
  crowiLinkCard: { placement: "flow", childModel: "none", fields: CrowiLinkCardSidecarSchema },
3001
3121
  crowiPlaceholder: { placement: "both", childModel: "none", fields: CrowiPlaceholderSidecarSchema },
@@ -3031,6 +3151,7 @@ var RenderedAstNodeSchema = import_zod_openapi30.z.lazy(
3031
3151
  LinkReferenceNodeSchema,
3032
3152
  ImageReferenceNodeSchema,
3033
3153
  CrowiFigureNodeSchema,
3154
+ CrowiFrontmatterNodeSchema,
3034
3155
  CrowiDiagramNodeSchema,
3035
3156
  CrowiLinkCardNodeSchema,
3036
3157
  CrowiPlaceholderNodeSchema,
@@ -3079,6 +3200,7 @@ var CrowiFigureNodeSchema = import_zod_openapi30.z.object({
3079
3200
  data: HastHintDataSchema.extend({ hName: import_zod_openapi30.z.literal("figure"), hProperties: HPropertiesSchema }),
3080
3201
  children: childrenSchema
3081
3202
  });
3203
+ var CrowiFrontmatterNodeSchema = crowiFrontmatterFields.extend({ type: import_zod_openapi30.z.literal("crowiFrontmatter"), data: dataSchema });
3082
3204
  var CrowiDiagramNodeSchema = CrowiDiagramSidecarSchema.extend({ type: import_zod_openapi30.z.literal("crowiDiagram"), data: dataSchema });
3083
3205
  var CrowiLinkCardNodeSchema = CrowiLinkCardSidecarSchema.extend({ type: import_zod_openapi30.z.literal("crowiLinkCard"), data: dataSchema });
3084
3206
  var CrowiPlaceholderNodeSchema = CrowiPlaceholderSidecarSchema.extend({ type: import_zod_openapi30.z.literal("crowiPlaceholder"), data: dataSchema });
@@ -7557,6 +7679,12 @@ var stubAttachmentMeta = (() => {
7557
7679
  })();
7558
7680
  var stubUploadAttachment = { url: "", filename: "", mimeType: "", sizeBytes: 0 };
7559
7681
  var stubRemoveAttachment = { success: true };
7682
+ var stubUploadPolicy = {
7683
+ allowedMimeTypes: [],
7684
+ extensionHints: {},
7685
+ maxBytes: { attachment: 0 },
7686
+ profilePicture: { allowedMimeTypes: [], maxBytes: 0 }
7687
+ };
7560
7688
  var stubSearchPages = { meta: { total: 0, results: 0 }, data: [] };
7561
7689
  var stubCryptoStatus = {
7562
7690
  encryptionConfigured: false,
@@ -7602,6 +7730,7 @@ var stubSearchAdminUsersByEmail = { users: [] };
7602
7730
  var stubInviteUsers = { results: [] };
7603
7731
  var stubAdminUserMutation = { user: stubUserPublic };
7604
7732
  var stubResetPassword = { user: stubUserPublic, newPassword: "" };
7733
+ var stubUnlinkUserIdentity = { user: stubUserPublic, passwordIssued: false };
7605
7734
  var stubDeleteAdminUser = { deletedId: "" };
7606
7735
  var stubPendingUsersCount = { count: 0 };
7607
7736
  var stubListPlugins = { plugins: [] };
@@ -7645,9 +7774,9 @@ var appAuthMeUserChain = new import_zod_openapi79.OpenAPIHono().openapi(
7645
7774
  ).openapi(meRoutes.recentlyViewedPagesRoute, (c) => c.json({ pages: [] }, 200)).openapi(accessTokenRoutes.listAccessTokensRoute, (c) => c.json({ accessTokens: [] }, 200)).openapi(accessTokenRoutes.createAccessTokenRoute, (c) => c.json(stubCreateAccessToken, 201)).openapi(accessTokenRoutes.deleteAccessTokenRoute, (c) => c.json(stubAccessToken, 200)).openapi(userRoutes.getUserPageRoute, (c) => c.json(stubUserPage, 200)).openapi(userRoutes.getUserBookmarksRoute, (c) => c.json(stubUserBookmarks, 200)).openapi(userRoutes.getUserPagesRoute, (c) => c.json(stubUserPages, 200)).openapi(userRoutes.getUserSubpagesRoute, (c) => c.json(stubUserPages, 200)).openapi(userRoutes.listMembersRoute, (c) => c.json(stubListUsers, 200));
7646
7775
  var bookmarkBacklinkCommentRevisionChain = new import_zod_openapi79.OpenAPIHono().openapi(bookmarkRoutes.getBookmarkRoute, (c) => c.json(stubBookmarkResponse, 200)).openapi(bookmarkRoutes.listMyBookmarksRoute, (c) => c.json(stubListMyBookmarks, 200)).openapi(bookmarkRoutes.addBookmarkRoute, (c) => c.json(stubBookmarkResponse, 200)).openapi(bookmarkRoutes.removeBookmarkRoute, (c) => c.json(stubRemoveBookmark, 200)).openapi(backlinkRoutes.getBacklinksRoute, (c) => c.json(stubBacklinks, 200)).openapi(commentRoutes.listCommentsRoute, (c) => c.json(stubListComments, 200)).openapi(commentRoutes.addCommentRoute, (c) => c.json(stubAddComment, 200)).openapi(commentRoutes.deleteCommentRoute, (c) => c.json(stubDeleteComment, 200)).openapi(revisionRoutes.listRevisionsRoute, (c) => c.json(stubListRevisions, 200)).openapi(revisionRoutes.getRevisionsRoute, (c) => c.json(stubGetRevisions, 200)).openapi(revisionRoutes.getRevisionRoute, (c) => c.json(stubGetRevision, 200));
7647
7776
  var pageChain = new import_zod_openapi79.OpenAPIHono().openapi(pageRoutes.getPageRoute, (c) => c.json(stubPageWithRevision, 200)).openapi(pageRoutes.listPagesRoute, (c) => c.json(stubListPages, 200)).openapi(pageRoutes.listPageChildrenRoute, (c) => c.json(stubListPageChildren, 200)).openapi(pageRoutes.createPageRoute, (c) => c.json(stubPageResponse, 200)).openapi(pageRoutes.updatePageRoute, (c) => c.json(stubPageResponse, 200)).openapi(pageRoutes.setPageGrantRoute, (c) => c.json(stubPageResponse, 200)).openapi(pageRoutes.seenPageRoute, (c) => c.json(stubSeenUsers, 200)).openapi(pageRoutes.getSeenUsersRoute, (c) => c.json(stubSeenUsers, 200)).openapi(pageRoutes.likePageRoute, (c) => c.json(stubPageResponse, 200)).openapi(pageRoutes.unlikePageRoute, (c) => c.json(stubPageResponse, 200)).openapi(pageRoutes.claimPageLinkAccessRoute, (c) => c.json({ ...stubPageWithRevision, granted: false }, 200)).openapi(pageRoutes.getWatchStatusRoute, (c) => c.json(stubWatchStatus, 200)).openapi(pageRoutes.setWatchStatusRoute, (c) => c.json(stubWatchStatus, 200)).openapi(pageRoutes.deletePageRoute, (c) => c.json(stubPageResponse, 200)).openapi(pageRoutes.revertDeletedPageRoute, (c) => c.json(stubPageResponse, 200)).openapi(pageRoutes.revertToRevisionRoute, (c) => c.json(stubPageResponse, 200)).openapi(pageRoutes.renamePageRoute, (c) => c.json({ ...stubPageResponse, renamed_count: 1 }, 200)).openapi(pageRoutes.renameSubtreeRoute, (c) => c.json({ renamed_count: 0 }, 200)).openapi(pagePreviewRoutes.previewPageRoute, (c) => c.json(stubPreview, 200)).openapi(pageCollabRoutes.getYjsTokenRoute, (c) => c.json(stubWsToken, 200)).openapi(presenceRoutes.getPresenceTokenRoute, (c) => c.json(stubPresenceToken, 200)).openapi(presenceRoutes.getLikersRoute, (c) => c.json(stubLikers, 200));
7648
- var lateContractApp = new import_zod_openapi79.OpenAPIHono().openapi(draftRoutes.createDraftRoute, (c) => c.json(stubCreateDraft, 201)).openapi(draftRoutes.listDraftsRoute, (c) => c.json(stubListDrafts, 200)).openapi(draftRoutes.cancelDraftRoute, (c) => c.json(stubCreateDraft, 200)).openapi(autocompleteRoutes.autocompleteUsersRoute, (c) => c.json(stubAutocomplete, 200)).openapi(autocompleteRoutes.autocompletePagesRoute, (c) => c.json(stubAutocomplete, 200)).openapi(attachmentRoutes.getAttachmentUsageRoute, (c) => c.json(stubAttachmentUsage, 200)).openapi(attachmentRoutes.listAttachmentsRoute, (c) => c.json(stubListAttachments, 200)).openapi(attachmentRoutes.addAttachmentRoute, (c) => c.json(stubAddAttachment, 200)).openapi(attachmentRoutes.uploadAttachmentRoute, (c) => c.json(stubUploadAttachment, 200)).openapi(attachmentRoutes.getAttachmentMetaRoute, (c) => c.json(stubAttachmentMeta, 200)).openapi(attachmentRoutes.removeAttachmentRoute, (c) => c.json(stubRemoveAttachment, 200)).openapi(searchRoutes.searchPagesRoute, (c) => c.json(stubSearchPages, 200)).openapi(adminCryptoRoutes.getCryptoStatusRoute, (c) => c.json(stubCryptoStatus, 200)).openapi(adminCryptoRoutes.reencryptAllRoute, (c) => c.json(stubReencrypt, 200)).openapi(notificationRoutes.listNotificationsRoute, (c) => c.json(stubListNotifications, 200)).openapi(notificationRoutes.markAllAsReadRoute, (c) => c.json(stubMarkAllAsRead, 200)).openapi(notificationRoutes.getNotificationsTokenRoute, (c) => c.json(stubNotificationsToken, 200)).openapi(notificationRoutes.getUnreadCountRoute, (c) => c.json(stubNotificationStatus, 200)).openapi(notificationRoutes.openNotificationRoute, (c) => c.json(stubOpenNotification, 200));
7777
+ var lateContractApp = new import_zod_openapi79.OpenAPIHono().openapi(draftRoutes.createDraftRoute, (c) => c.json(stubCreateDraft, 201)).openapi(draftRoutes.listDraftsRoute, (c) => c.json(stubListDrafts, 200)).openapi(draftRoutes.cancelDraftRoute, (c) => c.json(stubCreateDraft, 200)).openapi(autocompleteRoutes.autocompleteUsersRoute, (c) => c.json(stubAutocomplete, 200)).openapi(autocompleteRoutes.autocompletePagesRoute, (c) => c.json(stubAutocomplete, 200)).openapi(attachmentRoutes.getAttachmentUsageRoute, (c) => c.json(stubAttachmentUsage, 200)).openapi(attachmentRoutes.listAttachmentsRoute, (c) => c.json(stubListAttachments, 200)).openapi(attachmentRoutes.addAttachmentRoute, (c) => c.json(stubAddAttachment, 200)).openapi(attachmentRoutes.uploadAttachmentRoute, (c) => c.json(stubUploadAttachment, 200)).openapi(attachmentRoutes.getAttachmentMetaRoute, (c) => c.json(stubAttachmentMeta, 200)).openapi(attachmentRoutes.removeAttachmentRoute, (c) => c.json(stubRemoveAttachment, 200)).openapi(attachmentRoutes.getUploadPolicyRoute, (c) => c.json(stubUploadPolicy, 200)).openapi(searchRoutes.searchPagesRoute, (c) => c.json(stubSearchPages, 200)).openapi(adminCryptoRoutes.getCryptoStatusRoute, (c) => c.json(stubCryptoStatus, 200)).openapi(adminCryptoRoutes.reencryptAllRoute, (c) => c.json(stubReencrypt, 200)).openapi(notificationRoutes.listNotificationsRoute, (c) => c.json(stubListNotifications, 200)).openapi(notificationRoutes.markAllAsReadRoute, (c) => c.json(stubMarkAllAsRead, 200)).openapi(notificationRoutes.getNotificationsTokenRoute, (c) => c.json(stubNotificationsToken, 200)).openapi(notificationRoutes.getUnreadCountRoute, (c) => c.json(stubNotificationStatus, 200)).openapi(notificationRoutes.openNotificationRoute, (c) => c.json(stubOpenNotification, 200));
7649
7778
  var adminSettingsContractApp = new import_zod_openapi79.OpenAPIHono().openapi(adminAppRoutes.getAppSettingsRoute, (c) => c.json(stubGetAppSettings, 200)).openapi(adminAppRoutes.updateAppSettingsRoute, (c) => c.json(stubUpdateAppSettings, 200)).openapi(adminAuthRoutes.getAuthSettingsRoute, (c) => c.json(stubAuthSettings, 200)).openapi(adminAuthRoutes.updateAuthSettingsRoute, (c) => c.json(stubAuthSettings, 200)).openapi(adminSecurityRoutes.getSecuritySettingsRoute, (c) => c.json(stubSecuritySettings, 200)).openapi(adminSecurityRoutes.updateSecuritySettingsRoute, (c) => c.json(stubSecuritySettings, 200)).openapi(adminMailRoutes.getMailSettingsRoute, (c) => c.json(stubMailSettings, 200)).openapi(adminMailRoutes.updateMailSettingsRoute, (c) => c.json(stubUpdateMailSettings, 200)).openapi(adminMailRoutes.sendTestMailRoute, (c) => c.json(stubSendTestMail, 200)).openapi(adminStorageRoutes.getStorageStatusRoute, (c) => c.json(stubStorageStatus, 200)).openapi(adminSearchRoutes.getSearchStatusRoute, (c) => c.json(stubSearchStatus, 200));
7650
- var adminUsersPluginsContractApp = new import_zod_openapi79.OpenAPIHono().openapi(adminUsersRoutes.listUsersRoute, (c) => c.json(stubListAdminUsers, 200)).openapi(adminUsersRoutes.searchUsersByEmailRoute, (c) => c.json(stubSearchAdminUsersByEmail, 200)).openapi(adminUsersRoutes.pendingUsersCountRoute, (c) => c.json(stubPendingUsersCount, 200)).openapi(adminUsersRoutes.inviteUsersRoute, (c) => c.json(stubInviteUsers, 200)).openapi(adminUsersRoutes.editUserRoute, (c) => c.json(stubAdminUserMutation, 200)).openapi(adminUsersRoutes.makeAdminRoute, (c) => c.json(stubAdminUserMutation, 200)).openapi(adminUsersRoutes.removeFromAdminRoute, (c) => c.json(stubAdminUserMutation, 200)).openapi(adminUsersRoutes.activateUserRoute, (c) => c.json(stubAdminUserMutation, 200)).openapi(adminUsersRoutes.suspendUserRoute, (c) => c.json(stubAdminUserMutation, 200)).openapi(adminUsersRoutes.resetPasswordRoute, (c) => c.json(stubResetPassword, 200)).openapi(adminUsersRoutes.resendInviteRoute, (c) => c.json(stubAdminUserMutation, 200)).openapi(adminUsersRoutes.updateUserEmailRoute, (c) => c.json(stubAdminUserMutation, 200)).openapi(adminUsersRoutes.deleteUserRoute, (c) => c.json(stubDeleteAdminUser, 200)).openapi(adminPluginsRoutes.listPluginsRoute, (c) => c.json(stubListPlugins, 200)).openapi(adminPluginsRoutes.getPluginConfigRoute, (c) => c.json(stubPluginConfig, 200)).openapi(adminPluginsRoutes.updatePluginConfigRoute, (c) => c.json(stubUpdatePluginConfig, 200)).openapi(adminPluginsRoutes.getPluginReadinessRoute, (c) => c.json(stubPluginReadiness, 200)).openapi(adminPluginsRoutes.clearRenderCacheAllRoute, (c) => c.json(stubClearRenderCache, 200)).openapi(adminPluginsRoutes.clearRenderCachePluginRoute, (c) => c.json(stubClearRenderCache, 200));
7779
+ var adminUsersPluginsContractApp = new import_zod_openapi79.OpenAPIHono().openapi(adminUsersRoutes.listUsersRoute, (c) => c.json(stubListAdminUsers, 200)).openapi(adminUsersRoutes.searchUsersByEmailRoute, (c) => c.json(stubSearchAdminUsersByEmail, 200)).openapi(adminUsersRoutes.pendingUsersCountRoute, (c) => c.json(stubPendingUsersCount, 200)).openapi(adminUsersRoutes.inviteUsersRoute, (c) => c.json(stubInviteUsers, 200)).openapi(adminUsersRoutes.editUserRoute, (c) => c.json(stubAdminUserMutation, 200)).openapi(adminUsersRoutes.makeAdminRoute, (c) => c.json(stubAdminUserMutation, 200)).openapi(adminUsersRoutes.removeFromAdminRoute, (c) => c.json(stubAdminUserMutation, 200)).openapi(adminUsersRoutes.activateUserRoute, (c) => c.json(stubAdminUserMutation, 200)).openapi(adminUsersRoutes.suspendUserRoute, (c) => c.json(stubAdminUserMutation, 200)).openapi(adminUsersRoutes.resetPasswordRoute, (c) => c.json(stubResetPassword, 200)).openapi(adminUsersRoutes.resendInviteRoute, (c) => c.json(stubAdminUserMutation, 200)).openapi(adminUsersRoutes.updateUserEmailRoute, (c) => c.json(stubAdminUserMutation, 200)).openapi(adminUsersRoutes.unlinkUserIdentityRoute, (c) => c.json(stubUnlinkUserIdentity, 200)).openapi(adminUsersRoutes.deleteUserRoute, (c) => c.json(stubDeleteAdminUser, 200)).openapi(adminPluginsRoutes.listPluginsRoute, (c) => c.json(stubListPlugins, 200)).openapi(adminPluginsRoutes.getPluginConfigRoute, (c) => c.json(stubPluginConfig, 200)).openapi(adminPluginsRoutes.updatePluginConfigRoute, (c) => c.json(stubUpdatePluginConfig, 200)).openapi(adminPluginsRoutes.getPluginReadinessRoute, (c) => c.json(stubPluginReadiness, 200)).openapi(adminPluginsRoutes.clearRenderCacheAllRoute, (c) => c.json(stubClearRenderCache, 200)).openapi(adminPluginsRoutes.clearRenderCachePluginRoute, (c) => c.json(stubClearRenderCache, 200));
7651
7780
  var oauthContractApp = new import_zod_openapi79.OpenAPIHono().openapi(oauthRoutes.authorizeRoute, (c) => c.json(stubAuthorize, 200)).openapi(oauthRoutes.tokenRoute, (c) => c.json(stubToken, 200)).openapi(oauthRoutes.revokeRoute, (c) => c.json(stubRevoke, 200)).openapi(oauthRoutes.discoveryRoute, (c) => c.json(stubDiscovery, 200)).openapi(oauthRoutes.deviceAuthorizeRoute, (c) => c.json(stubDeviceAuthorize, 200)).openapi(oauthRoutes.deviceInfoRoute, (c) => c.json(stubDeviceInfo, 200)).openapi(oauthRoutes.deviceVerifyRoute, (c) => c.json(stubDeviceVerify, 200)).openapi(oauthRoutes.clientInfoRoute, (c) => c.json(stubClientInfo, 200));
7652
7781
  var federatedAuthContractApp = new import_zod_openapi79.OpenAPIHono().openapi(federatedAuthRoutes.listFederatedProvidersRoute, (c) => c.json(stubProviderList, 200)).openapi(federatedAuthRoutes.startFederatedProviderRoute, (c) => c.redirect("", 302)).openapi(federatedAuthRoutes.callbackFederatedProviderRoute, (c) => c.redirect("", 302)).openapi(federatedAuthRoutes.federatedHandoffRoute, (c) => c.json(stubTokens, 200)).openapi(federatedAuthRoutes.listLinkedAuthProvidersRoute, (c) => c.json({ identities: [] }, 200)).openapi(federatedAuthRoutes.createAuthProviderLinkGrantRoute, (c) => c.json({ linkGrant: "" }, 200)).openapi(federatedAuthRoutes.unlinkAuthProviderRoute, (c) => c.body(null, 204));
7653
7782
  var federatedRegistrationContractApp = new import_zod_openapi79.OpenAPIHono().openapi(federatedRegistrationRoutes.getFederatedRegistrationRoute, (c) => c.json(stubFederatedRegistrationSnapshot, 200)).openapi(federatedRegistrationRoutes.submitFederatedRegistrationRoute, (c) => c.json({ status: "approval_required" }, 200)).openapi(federatedRegistrationRoutes.logoutFederatedRegistrationRoute, (c) => c.body(null, 204));
@@ -7886,6 +8015,8 @@ var WS_CLOSE_CODES = {
7886
8015
  AdminRequiredErrorSchema,
7887
8016
  AdminSidebarSection,
7888
8017
  AdminUserIdParamSchema,
8018
+ AdminUserIdentityParamSchema,
8019
+ AdminUserListItemSchema,
7889
8020
  AdminUserMutationResponseSchema,
7890
8021
  ApiErrorSchema,
7891
8022
  AppInfoResponseSchema,
@@ -7940,6 +8071,7 @@ var WS_CLOSE_CODES = {
7940
8071
  CrowiDiagramNodeSchema,
7941
8072
  CrowiDiagramSidecarSchema,
7942
8073
  CrowiDimensionSchema,
8074
+ CrowiFrontmatterEntrySchema,
7943
8075
  CrowiImagePayloadSchema,
7944
8076
  CrowiLinkCardNodeSchema,
7945
8077
  CrowiLinkCardSidecarSchema,
@@ -7968,8 +8100,13 @@ var WS_CLOSE_CODES = {
7968
8100
  DraftSummarySchema,
7969
8101
  ERROR_CODES,
7970
8102
  EditAdminUserRequestSchema,
8103
+ EmailLockedByFederatedIdentityErrorSchema,
7971
8104
  EncryptionNotConfiguredErrorSchema,
7972
8105
  ErrorCodeSchema,
8106
+ FRONTMATTER_MAX_ENTRIES,
8107
+ FRONTMATTER_MAX_KEY_CHARS,
8108
+ FRONTMATTER_MAX_RAW_BYTES,
8109
+ FRONTMATTER_MAX_VALUE_CHARS,
7973
8110
  FederatedHandoffRequestSchema,
7974
8111
  FederatedHandoffResponseSchema,
7975
8112
  FederatedProviderSchema,
@@ -8176,6 +8313,9 @@ var WS_CLOSE_CODES = {
8176
8313
  TokenResponseSchema,
8177
8314
  UPLOAD_ALLOWED_MIME,
8178
8315
  UnlinkAuthProviderErrorSchema,
8316
+ UnlinkUserIdentityConflictErrorSchema,
8317
+ UnlinkUserIdentityNotFoundErrorSchema,
8318
+ UnlinkUserIdentityResponseSchema,
8179
8319
  UpdateAdminUserEmailRequestSchema,
8180
8320
  UpdateAppSettingsRequestSchema,
8181
8321
  UpdateAppSettingsResponseSchema,
@@ -8194,6 +8334,7 @@ var WS_CLOSE_CODES = {
8194
8334
  UploadAttachmentErrorCodeSchema,
8195
8335
  UploadAttachmentErrorSchema,
8196
8336
  UploadAttachmentResponseSchema,
8337
+ UploadPolicyResponseSchema,
8197
8338
  UserBookmarksResponseSchema,
8198
8339
  UserLanguageSchema,
8199
8340
  UserListItemSchema,
@@ -8294,6 +8435,7 @@ var WS_CLOSE_CODES = {
8294
8435
  getSeenUsersRoute,
8295
8436
  getStorageStatusRoute,
8296
8437
  getUnreadCountRoute,
8438
+ getUploadPolicyRoute,
8297
8439
  getUserBookmarksRoute,
8298
8440
  getUserPageRoute,
8299
8441
  getUserPagesRoute,
@@ -8371,6 +8513,7 @@ var WS_CLOSE_CODES = {
8371
8513
  tokenRoute,
8372
8514
  unlikePageRoute,
8373
8515
  unlinkAuthProviderRoute,
8516
+ unlinkUserIdentityRoute,
8374
8517
  unwrapRenderedAst,
8375
8518
  updateAppSettingsRoute,
8376
8519
  updateAuthSettingsRoute,