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

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.
@@ -34,8 +34,9 @@ interface paths {
34
34
  confidential: string | null;
35
35
  version: string;
36
36
  apiVersion: string;
37
- capabilities: string[];
37
+ capabilities: components["schemas"]["Capability"][];
38
38
  canSelfRegister: boolean;
39
+ rendererStylesheets: string[];
39
40
  };
40
41
  };
41
42
  };
@@ -2153,6 +2154,64 @@ interface paths {
2153
2154
  patch?: never;
2154
2155
  trace?: never;
2155
2156
  };
2157
+ "/oauth/client-info": {
2158
+ parameters: {
2159
+ query?: never;
2160
+ header?: never;
2161
+ path?: never;
2162
+ cookie?: never;
2163
+ };
2164
+ /** Look up non-secret metadata for a registered OAuth client (authorize/consent screen) */
2165
+ get: {
2166
+ parameters: {
2167
+ query: {
2168
+ client_id: string;
2169
+ };
2170
+ header?: never;
2171
+ path?: never;
2172
+ cookie?: never;
2173
+ };
2174
+ requestBody?: never;
2175
+ responses: {
2176
+ /** @description Client metadata */
2177
+ 200: {
2178
+ headers: {
2179
+ [name: string]: unknown;
2180
+ };
2181
+ content: {
2182
+ "application/json": {
2183
+ clientId: string;
2184
+ name: string;
2185
+ firstParty: boolean;
2186
+ trusted: boolean;
2187
+ };
2188
+ };
2189
+ };
2190
+ /** @description No client registered with this client_id */
2191
+ 404: {
2192
+ headers: {
2193
+ [name: string]: unknown;
2194
+ };
2195
+ content: {
2196
+ "application/json": {
2197
+ error: {
2198
+ /** @enum {string} */
2199
+ code: "NOT_FOUND";
2200
+ message: string;
2201
+ };
2202
+ };
2203
+ };
2204
+ };
2205
+ };
2206
+ };
2207
+ put?: never;
2208
+ post?: never;
2209
+ delete?: never;
2210
+ options?: never;
2211
+ head?: never;
2212
+ patch?: never;
2213
+ trace?: never;
2214
+ };
2156
2215
  "/user/{username}": {
2157
2216
  parameters: {
2158
2217
  query?: never;
@@ -2903,6 +2962,246 @@ interface paths {
2903
2962
  patch?: never;
2904
2963
  trace?: never;
2905
2964
  };
2965
+ "/user/{username}/subpages": {
2966
+ parameters: {
2967
+ query?: never;
2968
+ header?: never;
2969
+ path?: never;
2970
+ cookie?: never;
2971
+ };
2972
+ /** Get pages under /user/{username}/ (path-rooted, fully recursive, paginated) */
2973
+ get: {
2974
+ parameters: {
2975
+ query?: {
2976
+ limit?: number;
2977
+ offset?: number | null;
2978
+ };
2979
+ header?: never;
2980
+ path: {
2981
+ username: string;
2982
+ };
2983
+ cookie?: never;
2984
+ };
2985
+ requestBody?: never;
2986
+ responses: {
2987
+ /** @description Paginated subpages (path-ascending, `_id` tie-break) */
2988
+ 200: {
2989
+ headers: {
2990
+ [name: string]: unknown;
2991
+ };
2992
+ content: {
2993
+ "application/json": {
2994
+ pages: {
2995
+ _id: string;
2996
+ path: string;
2997
+ revision?: string | {
2998
+ _id: string;
2999
+ path: string;
3000
+ body: string;
3001
+ /** @default markdown */
3002
+ format: string;
3003
+ author?: {
3004
+ _id: string;
3005
+ id?: string;
3006
+ username: string;
3007
+ name: string;
3008
+ /** Format: email */
3009
+ email: string;
3010
+ image?: string | null;
3011
+ createdAt: string;
3012
+ } | null;
3013
+ createdAt: string;
3014
+ meta?: {
3015
+ toc?: {
3016
+ level: number;
3017
+ text: string;
3018
+ anchorId: string;
3019
+ }[];
3020
+ wikiLinks?: {
3021
+ raw: string;
3022
+ target: string;
3023
+ displayText?: string;
3024
+ }[];
3025
+ mentions?: {
3026
+ username: string;
3027
+ }[];
3028
+ codeBlockLanguages?: string[];
3029
+ };
3030
+ renderedAst?: unknown;
3031
+ rendererVersion?: string;
3032
+ parentRevisionId?: string | null;
3033
+ /** @enum {string} */
3034
+ type?: "snapshot" | "incremental";
3035
+ savedBy?: string | {
3036
+ _id: string;
3037
+ id?: string;
3038
+ username: string;
3039
+ name: string;
3040
+ /** Format: email */
3041
+ email: string;
3042
+ image?: string | null;
3043
+ createdAt: string;
3044
+ } | null;
3045
+ contributors?: (string | {
3046
+ _id: string;
3047
+ id?: string;
3048
+ username: string;
3049
+ name: string;
3050
+ /** Format: email */
3051
+ email: string;
3052
+ image?: string | null;
3053
+ createdAt: string;
3054
+ })[];
3055
+ message?: string;
3056
+ /** @enum {string} */
3057
+ editVia?: "web" | "oauth" | "pat";
3058
+ };
3059
+ redirectTo?: string | null;
3060
+ /** @enum {string|null} */
3061
+ status?: "wip" | "published" | "deleted" | "deprecated" | "draft" | null;
3062
+ grant?: number;
3063
+ grantedUsers?: string[];
3064
+ creator?: string | {
3065
+ _id: string;
3066
+ id?: string;
3067
+ username: string;
3068
+ name: string;
3069
+ /** Format: email */
3070
+ email: string;
3071
+ image?: string | null;
3072
+ createdAt: string;
3073
+ } | null;
3074
+ lastUpdateUser?: string | {
3075
+ _id: string;
3076
+ id?: string;
3077
+ username: string;
3078
+ name: string;
3079
+ /** Format: email */
3080
+ email: string;
3081
+ image?: string | null;
3082
+ createdAt: string;
3083
+ } | null;
3084
+ liker?: string[];
3085
+ /** @default 0 */
3086
+ commentCount: number;
3087
+ extended?: {
3088
+ [key: string]: unknown;
3089
+ };
3090
+ createdAt: string;
3091
+ updatedAt?: string;
3092
+ currentRevision?: string | null;
3093
+ yjsCheckpointAt?: string | null;
3094
+ latestRevision?: string;
3095
+ likerCount?: number;
3096
+ seenUsersCount?: number;
3097
+ }[];
3098
+ pager: {
3099
+ prev: number | null;
3100
+ next: number | null;
3101
+ offset: number;
3102
+ };
3103
+ total: number;
3104
+ };
3105
+ };
3106
+ };
3107
+ /** @description Invalid limit/offset */
3108
+ 400: {
3109
+ headers: {
3110
+ [name: string]: unknown;
3111
+ };
3112
+ content: {
3113
+ "application/json": {
3114
+ error: {
3115
+ /** @enum {string} */
3116
+ code: "VALIDATION_ERROR";
3117
+ message: string;
3118
+ details?: {
3119
+ fieldErrors: {
3120
+ [key: string]: string[];
3121
+ };
3122
+ formErrors: string[];
3123
+ };
3124
+ };
3125
+ };
3126
+ };
3127
+ };
3128
+ /** @description Authentication required */
3129
+ 401: {
3130
+ headers: {
3131
+ [name: string]: unknown;
3132
+ };
3133
+ content: {
3134
+ "application/json": {
3135
+ error: {
3136
+ /** @enum {string} */
3137
+ code: "AUTHENTICATION_REQUIRED";
3138
+ /** @enum {string} */
3139
+ message: "Authentication is required";
3140
+ redirectTo?: string;
3141
+ };
3142
+ };
3143
+ };
3144
+ };
3145
+ /** @description Missing profile:read and/or pages:read scope */
3146
+ 403: {
3147
+ headers: {
3148
+ [name: string]: unknown;
3149
+ };
3150
+ content: {
3151
+ "application/json": {
3152
+ error: {
3153
+ /** @enum {string} */
3154
+ code: "INSUFFICIENT_SCOPE";
3155
+ message: string;
3156
+ details?: {
3157
+ requiredScope: string;
3158
+ };
3159
+ };
3160
+ };
3161
+ };
3162
+ };
3163
+ /** @description User not found */
3164
+ 404: {
3165
+ headers: {
3166
+ [name: string]: unknown;
3167
+ };
3168
+ content: {
3169
+ "application/json": {
3170
+ error: {
3171
+ /** @enum {string} */
3172
+ code: "USER_NOT_FOUND";
3173
+ /** @enum {string} */
3174
+ message: "User not found";
3175
+ };
3176
+ };
3177
+ };
3178
+ };
3179
+ /** @description Internal server error */
3180
+ 500: {
3181
+ headers: {
3182
+ [name: string]: unknown;
3183
+ };
3184
+ content: {
3185
+ "application/json": {
3186
+ error: {
3187
+ /** @enum {string} */
3188
+ code: "INTERNAL_ERROR";
3189
+ /** @enum {string} */
3190
+ message: "Internal server error";
3191
+ };
3192
+ };
3193
+ };
3194
+ };
3195
+ };
3196
+ };
3197
+ put?: never;
3198
+ post?: never;
3199
+ delete?: never;
3200
+ options?: never;
3201
+ head?: never;
3202
+ patch?: never;
3203
+ trace?: never;
3204
+ };
2906
3205
  "/users": {
2907
3206
  parameters: {
2908
3207
  query?: never;
@@ -3763,6 +4062,22 @@ interface paths {
3763
4062
  };
3764
4063
  };
3765
4064
  };
4065
+ /** @description Page not found or not granted */
4066
+ 404: {
4067
+ headers: {
4068
+ [name: string]: unknown;
4069
+ };
4070
+ content: {
4071
+ "application/json": {
4072
+ error: {
4073
+ /** @enum {string} */
4074
+ code: "PAGE_NOT_FOUND";
4075
+ /** @enum {string} */
4076
+ message: "Page not found";
4077
+ };
4078
+ };
4079
+ };
4080
+ };
3766
4081
  };
3767
4082
  };
3768
4083
  put?: never;
@@ -4686,6 +5001,22 @@ interface paths {
4686
5001
  };
4687
5002
  };
4688
5003
  };
5004
+ /** @description Internal server error */
5005
+ 500: {
5006
+ headers: {
5007
+ [name: string]: unknown;
5008
+ };
5009
+ content: {
5010
+ "application/json": {
5011
+ error: {
5012
+ /** @enum {string} */
5013
+ code: "INTERNAL_ERROR";
5014
+ /** @enum {string} */
5015
+ message: "Internal server error";
5016
+ };
5017
+ };
5018
+ };
5019
+ };
4689
5020
  };
4690
5021
  };
4691
5022
  /** Update existing page */
@@ -5663,6 +5994,17 @@ interface paths {
5663
5994
  isPage: boolean;
5664
5995
  hasPortal: boolean;
5665
5996
  count: number;
5997
+ lastUpdatedAt?: string | null;
5998
+ updater?: {
5999
+ _id: string;
6000
+ id?: string;
6001
+ username: string;
6002
+ name: string;
6003
+ /** Format: email */
6004
+ email: string;
6005
+ image?: string | null;
6006
+ createdAt: string;
6007
+ } | null;
5666
6008
  }[];
5667
6009
  };
5668
6010
  };
@@ -6488,6 +6830,241 @@ interface paths {
6488
6830
  patch?: never;
6489
6831
  trace?: never;
6490
6832
  };
6833
+ "/pages/link-access": {
6834
+ parameters: {
6835
+ query?: never;
6836
+ header?: never;
6837
+ path?: never;
6838
+ cookie?: never;
6839
+ };
6840
+ get?: never;
6841
+ put?: never;
6842
+ /** Resolve a page by id, granting first-time link-share access to GRANT_RESTRICTED pages */
6843
+ post: {
6844
+ parameters: {
6845
+ query?: never;
6846
+ header?: never;
6847
+ path?: never;
6848
+ cookie?: never;
6849
+ };
6850
+ requestBody?: {
6851
+ content: {
6852
+ "application/json": {
6853
+ page_id: string;
6854
+ };
6855
+ };
6856
+ };
6857
+ responses: {
6858
+ /** @description The resolved page, with `granted` telling whether this call just added the caller to grantedUsers */
6859
+ 200: {
6860
+ headers: {
6861
+ [name: string]: unknown;
6862
+ };
6863
+ content: {
6864
+ "application/json": {
6865
+ page: {
6866
+ _id: string;
6867
+ path: string;
6868
+ revision: {
6869
+ _id: string;
6870
+ path: string;
6871
+ body: string;
6872
+ /** @default markdown */
6873
+ format: string;
6874
+ author?: {
6875
+ _id: string;
6876
+ id?: string;
6877
+ username: string;
6878
+ name: string;
6879
+ /** Format: email */
6880
+ email: string;
6881
+ image?: string | null;
6882
+ createdAt: string;
6883
+ } | null;
6884
+ createdAt: string;
6885
+ meta?: {
6886
+ toc?: {
6887
+ level: number;
6888
+ text: string;
6889
+ anchorId: string;
6890
+ }[];
6891
+ wikiLinks?: {
6892
+ raw: string;
6893
+ target: string;
6894
+ displayText?: string;
6895
+ }[];
6896
+ mentions?: {
6897
+ username: string;
6898
+ }[];
6899
+ codeBlockLanguages?: string[];
6900
+ };
6901
+ renderedAst?: unknown;
6902
+ rendererVersion?: string;
6903
+ parentRevisionId?: string | null;
6904
+ /** @enum {string} */
6905
+ type?: "snapshot" | "incremental";
6906
+ savedBy?: string | {
6907
+ _id: string;
6908
+ id?: string;
6909
+ username: string;
6910
+ name: string;
6911
+ /** Format: email */
6912
+ email: string;
6913
+ image?: string | null;
6914
+ createdAt: string;
6915
+ } | null;
6916
+ contributors?: (string | {
6917
+ _id: string;
6918
+ id?: string;
6919
+ username: string;
6920
+ name: string;
6921
+ /** Format: email */
6922
+ email: string;
6923
+ image?: string | null;
6924
+ createdAt: string;
6925
+ })[];
6926
+ message?: string;
6927
+ /** @enum {string} */
6928
+ editVia?: "web" | "oauth" | "pat";
6929
+ };
6930
+ redirectTo?: string | null;
6931
+ /** @enum {string|null} */
6932
+ status?: "wip" | "published" | "deleted" | "deprecated" | "draft" | null;
6933
+ grant?: number;
6934
+ grantedUsers?: string[];
6935
+ creator?: {
6936
+ _id: string;
6937
+ id?: string;
6938
+ username: string;
6939
+ name: string;
6940
+ /** Format: email */
6941
+ email: string;
6942
+ image?: string | null;
6943
+ createdAt: string;
6944
+ } | null;
6945
+ lastUpdateUser?: {
6946
+ _id: string;
6947
+ id?: string;
6948
+ username: string;
6949
+ name: string;
6950
+ /** Format: email */
6951
+ email: string;
6952
+ image?: string | null;
6953
+ createdAt: string;
6954
+ } | null;
6955
+ liker?: string[];
6956
+ /** @default 0 */
6957
+ commentCount: number;
6958
+ extended?: {
6959
+ [key: string]: unknown;
6960
+ };
6961
+ createdAt: string;
6962
+ updatedAt?: string;
6963
+ currentRevision?: string | null;
6964
+ yjsCheckpointAt?: string | null;
6965
+ latestRevision?: string;
6966
+ likerCount?: number;
6967
+ seenUsersCount?: number;
6968
+ };
6969
+ granted: boolean;
6970
+ };
6971
+ };
6972
+ };
6973
+ /** @description Invalid page_id */
6974
+ 400: {
6975
+ headers: {
6976
+ [name: string]: unknown;
6977
+ };
6978
+ content: {
6979
+ "application/json": {
6980
+ error: {
6981
+ /** @enum {string} */
6982
+ code: "INVALID_PAGE_ID";
6983
+ message: string;
6984
+ };
6985
+ };
6986
+ };
6987
+ };
6988
+ /** @description Authentication required */
6989
+ 401: {
6990
+ headers: {
6991
+ [name: string]: unknown;
6992
+ };
6993
+ content: {
6994
+ "application/json": {
6995
+ error: {
6996
+ /** @enum {string} */
6997
+ code: "AUTHENTICATION_REQUIRED";
6998
+ /** @enum {string} */
6999
+ message: "Authentication is required";
7000
+ redirectTo?: string;
7001
+ };
7002
+ };
7003
+ };
7004
+ };
7005
+ /** @description The caller has no access to the page (isGrantedFor is false) or lacks scope / is a non-web session — 403 is about the caller lacking access, never about the page grant type per se */
7006
+ 403: {
7007
+ headers: {
7008
+ [name: string]: unknown;
7009
+ };
7010
+ content: {
7011
+ "application/json": {
7012
+ error: {
7013
+ /** @enum {string} */
7014
+ code: "PAGE_NOT_GRANTED";
7015
+ /** @enum {string} */
7016
+ message: "Page is not granted for the user";
7017
+ };
7018
+ } | {
7019
+ error: {
7020
+ /** @enum {string} */
7021
+ code: "INSUFFICIENT_SCOPE";
7022
+ message: string;
7023
+ details?: {
7024
+ requiredScope: string;
7025
+ };
7026
+ };
7027
+ };
7028
+ };
7029
+ };
7030
+ /** @description Page not found */
7031
+ 404: {
7032
+ headers: {
7033
+ [name: string]: unknown;
7034
+ };
7035
+ content: {
7036
+ "application/json": {
7037
+ error: {
7038
+ /** @enum {string} */
7039
+ code: "PAGE_NOT_FOUND";
7040
+ /** @enum {string} */
7041
+ message: "Page not found";
7042
+ };
7043
+ };
7044
+ };
7045
+ };
7046
+ /** @description Rate limit exceeded for POST /pages/link-access (per-user). Same wire shape as autocomplete rate limiting. */
7047
+ 429: {
7048
+ headers: {
7049
+ [name: string]: unknown;
7050
+ };
7051
+ content: {
7052
+ "application/json": {
7053
+ /** @enum {string} */
7054
+ error: "rate_limited";
7055
+ message: string;
7056
+ retryAfterSeconds: number;
7057
+ };
7058
+ };
7059
+ };
7060
+ };
7061
+ };
7062
+ delete?: never;
7063
+ options?: never;
7064
+ head?: never;
7065
+ patch?: never;
7066
+ trace?: never;
7067
+ };
6491
7068
  "/pages/watch": {
6492
7069
  parameters: {
6493
7070
  query?: never;
@@ -7408,6 +7985,20 @@ interface paths {
7408
7985
  };
7409
7986
  };
7410
7987
  };
7988
+ /** @description Per-user rate limit exceeded */
7989
+ 429: {
7990
+ headers: {
7991
+ [name: string]: unknown;
7992
+ };
7993
+ content: {
7994
+ "application/json": {
7995
+ /** @enum {string} */
7996
+ error: "rate_limited";
7997
+ message: string;
7998
+ retryAfterSeconds: number;
7999
+ };
8000
+ };
8001
+ };
7411
8002
  /** @description Renderer pipeline failure */
7412
8003
  500: {
7413
8004
  headers: {
@@ -8224,6 +8815,7 @@ interface paths {
8224
8815
  fileSize: number;
8225
8816
  createdAt: string;
8226
8817
  url: string;
8818
+ originalUrl: string;
8227
8819
  inUse: boolean;
8228
8820
  }[];
8229
8821
  past: {
@@ -8251,6 +8843,7 @@ interface paths {
8251
8843
  fileSize: number;
8252
8844
  createdAt: string;
8253
8845
  url: string;
8846
+ originalUrl: string;
8254
8847
  inUse: boolean;
8255
8848
  };
8256
8849
  referencingRevisions: {
@@ -8399,6 +8992,7 @@ interface paths {
8399
8992
  fileSize: number;
8400
8993
  createdAt: string;
8401
8994
  url: string;
8995
+ originalUrl: string;
8402
8996
  inUse: boolean;
8403
8997
  }[];
8404
8998
  };
@@ -8521,6 +9115,7 @@ interface paths {
8521
9115
  fileSize: number;
8522
9116
  createdAt: string;
8523
9117
  url: string;
9118
+ originalUrl: string;
8524
9119
  inUse: boolean;
8525
9120
  };
8526
9121
  url: string;
@@ -8826,6 +9421,7 @@ interface paths {
8826
9421
  fileSize: number;
8827
9422
  createdAt: string;
8828
9423
  url: string;
9424
+ originalUrl: string;
8829
9425
  };
8830
9426
  };
8831
9427
  };
@@ -9826,6 +10422,7 @@ interface paths {
9826
10422
  /** @enum {string} */
9827
10423
  registrationMode: "Open" | "Resricted" | "Closed";
9828
10424
  registrationWhiteList: string[];
10425
+ linkCardEnabled: boolean;
9829
10426
  };
9830
10427
  };
9831
10428
  };
@@ -9895,6 +10492,7 @@ interface paths {
9895
10492
  /** @enum {string} */
9896
10493
  registrationMode: "Open" | "Resricted" | "Closed";
9897
10494
  registrationWhiteList: string[];
10495
+ linkCardEnabled: boolean;
9898
10496
  };
9899
10497
  };
9900
10498
  };
@@ -9909,6 +10507,7 @@ interface paths {
9909
10507
  /** @enum {string} */
9910
10508
  registrationMode: "Open" | "Resricted" | "Closed";
9911
10509
  registrationWhiteList: string[];
10510
+ linkCardEnabled: boolean;
9912
10511
  };
9913
10512
  };
9914
10513
  };
@@ -12176,6 +12775,7 @@ interface paths {
12176
12775
  name: string;
12177
12776
  version: string;
12178
12777
  requires?: string[];
12778
+ modelAccess?: string[];
12179
12779
  hasConfig: boolean;
12180
12780
  registers: string[];
12181
12781
  adminPlacement: {
@@ -12185,6 +12785,12 @@ interface paths {
12185
12785
  icon?: string;
12186
12786
  };
12187
12787
  supportsHotReload: boolean;
12788
+ /**
12789
+ * @default active
12790
+ * @enum {string}
12791
+ */
12792
+ status: "active" | "failed";
12793
+ error?: string;
12188
12794
  }[];
12189
12795
  };
12190
12796
  };
@@ -13351,6 +13957,12 @@ interface components {
13351
13957
  /** @enum {string} */
13352
13958
  status: "approved" | "denied";
13353
13959
  };
13960
+ ClientInfoResponse: {
13961
+ clientId: string;
13962
+ name: string;
13963
+ firstParty: boolean;
13964
+ trusted: boolean;
13965
+ };
13354
13966
  UserPublic: {
13355
13967
  _id: string;
13356
13968
  id?: string;
@@ -14305,6 +14917,7 @@ interface components {
14305
14917
  fileSize: number;
14306
14918
  createdAt: string;
14307
14919
  url: string;
14920
+ originalUrl: string;
14308
14921
  inUse: boolean;
14309
14922
  };
14310
14923
  AttachmentMeta: {
@@ -14331,6 +14944,7 @@ interface components {
14331
14944
  fileSize: number;
14332
14945
  createdAt: string;
14333
14946
  url: string;
14947
+ originalUrl: string;
14334
14948
  };
14335
14949
  ListAttachmentsResponse: {
14336
14950
  attachments: {
@@ -14357,6 +14971,7 @@ interface components {
14357
14971
  fileSize: number;
14358
14972
  createdAt: string;
14359
14973
  url: string;
14974
+ originalUrl: string;
14360
14975
  inUse: boolean;
14361
14976
  }[];
14362
14977
  };
@@ -14385,6 +15000,7 @@ interface components {
14385
15000
  fileSize: number;
14386
15001
  createdAt: string;
14387
15002
  url: string;
15003
+ originalUrl: string;
14388
15004
  inUse: boolean;
14389
15005
  };
14390
15006
  referencingRevisions: {
@@ -14432,6 +15048,7 @@ interface components {
14432
15048
  fileSize: number;
14433
15049
  createdAt: string;
14434
15050
  url: string;
15051
+ originalUrl: string;
14435
15052
  inUse: boolean;
14436
15053
  }[];
14437
15054
  past: {
@@ -14459,6 +15076,7 @@ interface components {
14459
15076
  fileSize: number;
14460
15077
  createdAt: string;
14461
15078
  url: string;
15079
+ originalUrl: string;
14462
15080
  inUse: boolean;
14463
15081
  };
14464
15082
  referencingRevisions: {
@@ -14800,6 +15418,7 @@ interface components {
14800
15418
  name: string;
14801
15419
  version: string;
14802
15420
  requires?: string[];
15421
+ modelAccess?: string[];
14803
15422
  hasConfig: boolean;
14804
15423
  registers: string[];
14805
15424
  adminPlacement: {
@@ -14809,12 +15428,19 @@ interface components {
14809
15428
  icon?: string;
14810
15429
  };
14811
15430
  supportsHotReload: boolean;
15431
+ /**
15432
+ * @default active
15433
+ * @enum {string}
15434
+ */
15435
+ status: "active" | "failed";
15436
+ error?: string;
14812
15437
  };
14813
15438
  ListPluginsResponse: {
14814
15439
  plugins: {
14815
15440
  name: string;
14816
15441
  version: string;
14817
15442
  requires?: string[];
15443
+ modelAccess?: string[];
14818
15444
  hasConfig: boolean;
14819
15445
  registers: string[];
14820
15446
  adminPlacement: {
@@ -14824,6 +15450,12 @@ interface components {
14824
15450
  icon?: string;
14825
15451
  };
14826
15452
  supportsHotReload: boolean;
15453
+ /**
15454
+ * @default active
15455
+ * @enum {string}
15456
+ */
15457
+ status: "active" | "failed";
15458
+ error?: string;
14827
15459
  }[];
14828
15460
  };
14829
15461
  PluginConfigResponse: {
@@ -14876,6 +15508,8 @@ interface components {
14876
15508
  }[];
14877
15509
  };
14878
15510
  };
15511
+ /** @enum {string} */
15512
+ Capability: "oauth" | "oauth:auth-code" | "oauth:device" | "oauth:pkce" | "pat" | "pages" | "comments" | "bookmarks" | "attachments" | "notifications" | "search" | "collab" | "collab:redis" | "link-card";
14879
15513
  };
14880
15514
  responses: never;
14881
15515
  parameters: never;