rspress-plugin-api-extractor 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.d.ts CHANGED
@@ -8,58 +8,52 @@ import { RspressPlugin } from "@rspress/core";
8
8
  *
9
9
  * @public
10
10
  */
11
- declare const LogLevel: Schema.Literal<["none", "info", "verbose", "debug", "warn", "error"]>;
11
+ declare const LogLevel: Schema.Literals<readonly ["none", "info", "verbose", "debug", "warn", "error"]>;
12
12
  /** @public */
13
- type LogLevel = Schema.Schema.Type<typeof LogLevel>;
13
+ type LogLevel = typeof LogLevel.Type;
14
14
  /**
15
15
  * Configuration for a single documentation category (e.g. Classes, Functions).
16
16
  *
17
17
  * @public
18
18
  */
19
- declare const CategoryConfig: Schema.mutable<Schema.Struct<{
19
+ declare const CategoryConfig: Schema.Struct<{
20
20
  /** Human-readable plural display name shown in the sidebar. */
21
- displayName: typeof Schema.String;
21
+ readonly displayName: Schema.String;
22
22
  /** Human-readable singular name used in page titles. */
23
- singularName: typeof Schema.String;
23
+ readonly singularName: Schema.String;
24
24
  /** Folder name under the API base route (URL segment). */
25
- folderName: typeof Schema.String;
25
+ readonly folderName: Schema.String;
26
26
  /** API item kinds included in this category. */
27
- itemKinds: Schema.optional<Schema.mutable<Schema.Array$<Schema.declare<ApiItemKind, ApiItemKind, readonly [], never>>>>;
27
+ readonly itemKinds: Schema.optional<Schema.mutable<Schema.$Array<Schema.declare<ApiItemKind, ApiItemKind>>>>;
28
28
  /** TSDoc modifier tag that marks items for this category. */
29
- tsdocModifier: Schema.optional<typeof Schema.String>;
29
+ readonly tsdocModifier: Schema.optional<Schema.String>;
30
30
  /** Whether the sidebar section is collapsible. Defaults to `true`. */
31
- collapsible: Schema.optionalWith<typeof Schema.Boolean, {
32
- default: () => true;
33
- }>;
31
+ readonly collapsible: Schema.withDecodingDefault<Schema.Boolean, never>;
34
32
  /** Whether the sidebar section starts collapsed. Defaults to `true`. */
35
- collapsed: Schema.optionalWith<typeof Schema.Boolean, {
36
- default: () => true;
37
- }>;
33
+ readonly collapsed: Schema.withDecodingDefault<Schema.Boolean, never>;
38
34
  /** Heading levels shown in the overview. Defaults to `[2]`. */
39
- overviewHeaders: Schema.optionalWith<Schema.mutable<Schema.Array$<typeof Schema.Number>>, {
40
- default: () => number[];
41
- }>;
42
- }>>;
35
+ readonly overviewHeaders: Schema.withDecodingDefault<Schema.mutable<Schema.$Array<Schema.Number>>, never>;
36
+ }>;
43
37
  /**
44
38
  * Consumer-facing type uses Encoded (input shape with optional fields).
45
39
  * Schema.decode fills in defaults at runtime.
46
40
  *
47
41
  * @public
48
42
  */
49
- type CategoryConfig = Schema.Schema.Encoded<typeof CategoryConfig>;
43
+ type CategoryConfig = typeof CategoryConfig.Encoded;
50
44
  /**
51
45
  * Source repository link configuration for an API.
52
46
  *
53
47
  * @public
54
48
  */
55
- declare const SourceConfig: Schema.mutable<Schema.Struct<{
49
+ declare const SourceConfig: Schema.Struct<{
56
50
  /** Base URL of the source repository (e.g. `"https://github.com/org/repo/blob/main/src"`). */
57
- url: typeof Schema.String;
51
+ readonly url: Schema.String;
58
52
  /** Optional git ref (branch, tag, or commit SHA) appended to source links. */
59
- ref: Schema.optional<typeof Schema.String>;
60
- }>>;
53
+ readonly ref: Schema.optional<Schema.String>;
54
+ }>;
61
55
  /** @public */
62
- type SourceConfig = Schema.Schema.Type<typeof SourceConfig>;
56
+ type SourceConfig = typeof SourceConfig.Type;
63
57
  /**
64
58
  * Built-in default category definitions covering Classes, Interfaces, Functions,
65
59
  * Types, Enums, Variables, and Namespaces.
@@ -72,886 +66,642 @@ declare const DEFAULT_CATEGORIES: Record<string, CategoryConfig>;
72
66
  *
73
67
  * @public
74
68
  */
75
- declare const VersionConfig: Schema.mutable<Schema.Struct<{
69
+ declare const VersionConfig: Schema.Struct<{
76
70
  /** Path or loader for the `.api.json` model file for this version. */
77
- model: Schema.declare<string | URL | ((...args: Array<unknown>) => unknown), string | URL | ((...args: Array<unknown>) => unknown), readonly [], never>;
71
+ readonly model: Schema.declare<string | URL | ((...args: Array<unknown>) => unknown), string | URL | ((...args: Array<unknown>) => unknown)>;
78
72
  /** Path or loader for the `package.json` for this version. */
79
- packageJson: Schema.optional<Schema.declare<string | URL | ((...args: Array<unknown>) => unknown), string | URL | ((...args: Array<unknown>) => unknown), readonly [], never>>;
73
+ readonly packageJson: Schema.optional<Schema.declare<string | URL | ((...args: Array<unknown>) => unknown), string | URL | ((...args: Array<unknown>) => unknown)>>;
80
74
  /** Category overrides for this version. */
81
- categories: Schema.optional<Schema.mutable<Schema.Record$<typeof Schema.String, Schema.mutable<Schema.Struct<{
75
+ readonly categories: Schema.optional<Schema.$Record<Schema.String, Schema.Struct<{
82
76
  /** Human-readable plural display name shown in the sidebar. */
83
- displayName: typeof Schema.String;
77
+ readonly displayName: Schema.String;
84
78
  /** Human-readable singular name used in page titles. */
85
- singularName: typeof Schema.String;
79
+ readonly singularName: Schema.String;
86
80
  /** Folder name under the API base route (URL segment). */
87
- folderName: typeof Schema.String;
81
+ readonly folderName: Schema.String;
88
82
  /** API item kinds included in this category. */
89
- itemKinds: Schema.optional<Schema.mutable<Schema.Array$<Schema.declare<ApiItemKind, ApiItemKind, readonly [], never>>>>;
83
+ readonly itemKinds: Schema.optional<Schema.mutable<Schema.$Array<Schema.declare<ApiItemKind, ApiItemKind>>>>;
90
84
  /** TSDoc modifier tag that marks items for this category. */
91
- tsdocModifier: Schema.optional<typeof Schema.String>;
85
+ readonly tsdocModifier: Schema.optional<Schema.String>;
92
86
  /** Whether the sidebar section is collapsible. Defaults to `true`. */
93
- collapsible: Schema.optionalWith<typeof Schema.Boolean, {
94
- default: () => true;
95
- }>;
87
+ readonly collapsible: Schema.withDecodingDefault<Schema.Boolean, never>;
96
88
  /** Whether the sidebar section starts collapsed. Defaults to `true`. */
97
- collapsed: Schema.optionalWith<typeof Schema.Boolean, {
98
- default: () => true;
99
- }>;
89
+ readonly collapsed: Schema.withDecodingDefault<Schema.Boolean, never>;
100
90
  /** Heading levels shown in the overview. Defaults to `[2]`. */
101
- overviewHeaders: Schema.optionalWith<Schema.mutable<Schema.Array$<typeof Schema.Number>>, {
102
- default: () => number[];
103
- }>;
104
- }>>>>>;
91
+ readonly overviewHeaders: Schema.withDecodingDefault<Schema.mutable<Schema.$Array<Schema.Number>>, never>;
92
+ }>>>;
105
93
  /** Source repository link configuration for this version. */
106
- source: Schema.optional<Schema.mutable<Schema.Struct<{
94
+ readonly source: Schema.optional<Schema.Struct<{
107
95
  /** Base URL of the source repository (e.g. `"https://github.com/org/repo/blob/main/src"`). */
108
- url: typeof Schema.String;
96
+ readonly url: Schema.String;
109
97
  /** Optional git ref (branch, tag, or commit SHA) appended to source links. */
110
- ref: Schema.optional<typeof Schema.String>;
111
- }>>>;
98
+ readonly ref: Schema.optional<Schema.String>;
99
+ }>>;
112
100
  /** External npm packages whose types should be loaded for Twoslash. */
113
- externalPackages: Schema.optional<Schema.mutable<Schema.Array$<Schema.mutable<Schema.Struct<{
114
- name: typeof Schema.String;
115
- version: typeof Schema.String;
116
- tsconfig: Schema.optional<Schema.declare<string | URL | ((...args: Array<unknown>) => unknown), string | URL | ((...args: Array<unknown>) => unknown), readonly [], never>>;
117
- compilerOptions: Schema.optional<typeof Schema.Unknown>;
118
- }>>>>>;
101
+ readonly externalPackages: Schema.optional<Schema.mutable<Schema.$Array<Schema.Struct<{
102
+ readonly name: Schema.String;
103
+ readonly version: Schema.String;
104
+ readonly tsconfig: Schema.optional<Schema.declare<string | URL | ((...args: Array<unknown>) => unknown), string | URL | ((...args: Array<unknown>) => unknown)>>;
105
+ readonly compilerOptions: Schema.optional<Schema.Unknown>;
106
+ }>>>>;
119
107
  /** Auto-detect external packages from `package.json` dependency fields. */
120
- autoDetectDependencies: Schema.optional<Schema.mutable<Schema.Struct<{
121
- dependencies: Schema.optionalWith<typeof Schema.Boolean, {
122
- default: () => true;
123
- }>;
124
- devDependencies: Schema.optionalWith<typeof Schema.Boolean, {
125
- default: () => false;
126
- }>;
127
- peerDependencies: Schema.optionalWith<typeof Schema.Boolean, {
128
- default: () => true;
129
- }>;
130
- autoDependencies: Schema.optionalWith<typeof Schema.Boolean, {
131
- default: () => true;
132
- }>;
133
- }>>>;
108
+ readonly autoDetectDependencies: Schema.optional<Schema.Struct<{
109
+ readonly dependencies: Schema.withDecodingDefault<Schema.Boolean, never>;
110
+ readonly devDependencies: Schema.withDecodingDefault<Schema.Boolean, never>;
111
+ readonly peerDependencies: Schema.withDecodingDefault<Schema.Boolean, never>;
112
+ readonly autoDependencies: Schema.withDecodingDefault<Schema.Boolean, never>;
113
+ }>>;
134
114
  /** Open Graph image configuration for this version. */
135
- ogImage: Schema.optional<Schema.Union<[typeof Schema.String, Schema.mutable<Schema.Struct<{
136
- url: typeof Schema.String;
137
- secureUrl: Schema.optional<typeof Schema.String>;
138
- type: Schema.optional<typeof Schema.String>;
139
- width: Schema.optional<typeof Schema.Number>;
140
- height: Schema.optional<typeof Schema.Number>;
141
- alt: Schema.optional<typeof Schema.String>;
142
- }>>]>>;
115
+ readonly ogImage: Schema.optional<Schema.Union<readonly [Schema.String, Schema.Struct<{
116
+ readonly url: Schema.String;
117
+ readonly secureUrl: Schema.optional<Schema.String>;
118
+ readonly type: Schema.optional<Schema.String>;
119
+ readonly width: Schema.optional<Schema.Number>;
120
+ readonly height: Schema.optional<Schema.Number>;
121
+ readonly alt: Schema.optional<Schema.String>;
122
+ }>]>>;
143
123
  /** LLMs integration options for this version. */
144
- llmsPlugin: Schema.optional<Schema.mutable<Schema.Struct<{
145
- enabled: Schema.optionalWith<typeof Schema.Boolean, {
146
- default: () => true;
147
- }>;
148
- scopes: Schema.optionalWith<typeof Schema.Boolean, {
149
- default: () => true;
150
- }>;
151
- apiTxt: Schema.optionalWith<typeof Schema.Boolean, {
152
- default: () => true;
153
- }>;
154
- showCopyButton: Schema.optionalWith<typeof Schema.Boolean, {
155
- default: () => true;
156
- }>;
157
- showViewOptions: Schema.optionalWith<typeof Schema.Boolean, {
158
- default: () => true;
159
- }>;
160
- copyButtonText: Schema.optionalWith<typeof Schema.String, {
161
- default: () => string;
162
- }>;
163
- viewOptions: Schema.optionalWith<Schema.mutable<Schema.Array$<Schema.Literal<["markdownLink", "chatgpt", "claude"]>>>, {
164
- default: () => ["markdownLink", "chatgpt", "claude"];
165
- }>;
166
- }>>>;
124
+ readonly llmsPlugin: Schema.optional<Schema.Struct<{
125
+ readonly enabled: Schema.withDecodingDefault<Schema.Boolean, never>;
126
+ readonly scopes: Schema.withDecodingDefault<Schema.Boolean, never>;
127
+ readonly apiTxt: Schema.withDecodingDefault<Schema.Boolean, never>;
128
+ readonly showCopyButton: Schema.withDecodingDefault<Schema.Boolean, never>;
129
+ readonly showViewOptions: Schema.withDecodingDefault<Schema.Boolean, never>;
130
+ readonly copyButtonText: Schema.withDecodingDefault<Schema.String, never>;
131
+ readonly viewOptions: Schema.withDecodingDefault<Schema.mutable<Schema.$Array<Schema.Literals<readonly ["markdownLink", "chatgpt", "claude"]>>>, never>;
132
+ }>>;
167
133
  /** Path to a `tsconfig.json` for this version. */
168
- tsconfig: Schema.optional<Schema.declare<string | URL | ((...args: Array<unknown>) => unknown), string | URL | ((...args: Array<unknown>) => unknown), readonly [], never>>;
134
+ readonly tsconfig: Schema.optional<Schema.declare<string | URL | ((...args: Array<unknown>) => unknown), string | URL | ((...args: Array<unknown>) => unknown)>>;
169
135
  /** TypeScript compiler options for Twoslash. */
170
- compilerOptions: Schema.optional<typeof Schema.Unknown>;
171
- }>>;
136
+ readonly compilerOptions: Schema.optional<Schema.Unknown>;
137
+ }>;
172
138
  /** @public */
173
- type VersionConfig = Schema.Schema.Type<typeof VersionConfig>;
139
+ type VersionConfig = typeof VersionConfig.Encoded;
174
140
  /**
175
141
  * Configuration for a single-package API documentation site (the `api:` option).
176
142
  *
177
143
  * @public
178
144
  */
179
- declare const SingleApiConfig: Schema.mutable<Schema.Struct<{
145
+ declare const SingleApiConfig: Schema.Struct<{
180
146
  /** npm package name of the documented package. */
181
- packageName: typeof Schema.String;
147
+ readonly packageName: Schema.String;
182
148
  /** Optional display name shown in the sidebar and page titles. */
183
- name: Schema.optional<typeof Schema.String>;
149
+ readonly name: Schema.optional<Schema.String>;
184
150
  /** Base URL route for API pages (defaults to `/api`). */
185
- baseRoute: Schema.optional<typeof Schema.String>;
151
+ readonly baseRoute: Schema.optional<Schema.String>;
186
152
  /** Subfolder name under `baseRoute` for API pages, or `null` to omit. */
187
- apiFolder: Schema.optional<Schema.Union<[typeof Schema.String, typeof Schema.Null]>>;
153
+ readonly apiFolder: Schema.optional<Schema.Union<readonly [Schema.String, Schema.Null]>>;
188
154
  /** Path or loader for the `.api.json` model file. */
189
- model: Schema.optional<Schema.declare<string | URL | ((...args: Array<unknown>) => unknown), string | URL | ((...args: Array<unknown>) => unknown), readonly [], never>>;
155
+ readonly model: Schema.optional<Schema.declare<string | URL | ((...args: Array<unknown>) => unknown), string | URL | ((...args: Array<unknown>) => unknown)>>;
190
156
  /** Path or loader for the `package.json`. */
191
- packageJson: Schema.optional<Schema.declare<string | URL | ((...args: Array<unknown>) => unknown), string | URL | ((...args: Array<unknown>) => unknown), readonly [], never>>;
157
+ readonly packageJson: Schema.optional<Schema.declare<string | URL | ((...args: Array<unknown>) => unknown), string | URL | ((...args: Array<unknown>) => unknown)>>;
192
158
  /** Versioned models keyed by version label. */
193
- versions: Schema.optional<Schema.mutable<Schema.Record$<typeof Schema.String, Schema.Union<[Schema.declare<string | URL | ((...args: Array<unknown>) => unknown), string | URL | ((...args: Array<unknown>) => unknown), readonly [], never>, Schema.mutable<Schema.Struct<{
159
+ readonly versions: Schema.optional<Schema.$Record<Schema.String, Schema.Union<readonly [Schema.declare<string | URL | ((...args: Array<unknown>) => unknown), string | URL | ((...args: Array<unknown>) => unknown)>, Schema.Struct<{
194
160
  /** Path or loader for the `.api.json` model file for this version. */
195
- model: Schema.declare<string | URL | ((...args: Array<unknown>) => unknown), string | URL | ((...args: Array<unknown>) => unknown), readonly [], never>;
161
+ readonly model: Schema.declare<string | URL | ((...args: Array<unknown>) => unknown), string | URL | ((...args: Array<unknown>) => unknown)>;
196
162
  /** Path or loader for the `package.json` for this version. */
197
- packageJson: Schema.optional<Schema.declare<string | URL | ((...args: Array<unknown>) => unknown), string | URL | ((...args: Array<unknown>) => unknown), readonly [], never>>;
163
+ readonly packageJson: Schema.optional<Schema.declare<string | URL | ((...args: Array<unknown>) => unknown), string | URL | ((...args: Array<unknown>) => unknown)>>;
198
164
  /** Category overrides for this version. */
199
- categories: Schema.optional<Schema.mutable<Schema.Record$<typeof Schema.String, Schema.mutable<Schema.Struct<{
165
+ readonly categories: Schema.optional<Schema.$Record<Schema.String, Schema.Struct<{
200
166
  /** Human-readable plural display name shown in the sidebar. */
201
- displayName: typeof Schema.String;
167
+ readonly displayName: Schema.String;
202
168
  /** Human-readable singular name used in page titles. */
203
- singularName: typeof Schema.String;
169
+ readonly singularName: Schema.String;
204
170
  /** Folder name under the API base route (URL segment). */
205
- folderName: typeof Schema.String;
171
+ readonly folderName: Schema.String;
206
172
  /** API item kinds included in this category. */
207
- itemKinds: Schema.optional<Schema.mutable<Schema.Array$<Schema.declare<ApiItemKind, ApiItemKind, readonly [], never>>>>;
173
+ readonly itemKinds: Schema.optional<Schema.mutable<Schema.$Array<Schema.declare<ApiItemKind, ApiItemKind>>>>;
208
174
  /** TSDoc modifier tag that marks items for this category. */
209
- tsdocModifier: Schema.optional<typeof Schema.String>;
175
+ readonly tsdocModifier: Schema.optional<Schema.String>;
210
176
  /** Whether the sidebar section is collapsible. Defaults to `true`. */
211
- collapsible: Schema.optionalWith<typeof Schema.Boolean, {
212
- default: () => true;
213
- }>;
177
+ readonly collapsible: Schema.withDecodingDefault<Schema.Boolean, never>;
214
178
  /** Whether the sidebar section starts collapsed. Defaults to `true`. */
215
- collapsed: Schema.optionalWith<typeof Schema.Boolean, {
216
- default: () => true;
217
- }>;
179
+ readonly collapsed: Schema.withDecodingDefault<Schema.Boolean, never>;
218
180
  /** Heading levels shown in the overview. Defaults to `[2]`. */
219
- overviewHeaders: Schema.optionalWith<Schema.mutable<Schema.Array$<typeof Schema.Number>>, {
220
- default: () => number[];
221
- }>;
222
- }>>>>>;
181
+ readonly overviewHeaders: Schema.withDecodingDefault<Schema.mutable<Schema.$Array<Schema.Number>>, never>;
182
+ }>>>;
223
183
  /** Source repository link configuration for this version. */
224
- source: Schema.optional<Schema.mutable<Schema.Struct<{
184
+ readonly source: Schema.optional<Schema.Struct<{
225
185
  /** Base URL of the source repository (e.g. `"https://github.com/org/repo/blob/main/src"`). */
226
- url: typeof Schema.String;
186
+ readonly url: Schema.String;
227
187
  /** Optional git ref (branch, tag, or commit SHA) appended to source links. */
228
- ref: Schema.optional<typeof Schema.String>;
229
- }>>>;
188
+ readonly ref: Schema.optional<Schema.String>;
189
+ }>>;
230
190
  /** External npm packages whose types should be loaded for Twoslash. */
231
- externalPackages: Schema.optional<Schema.mutable<Schema.Array$<Schema.mutable<Schema.Struct<{
232
- name: typeof Schema.String;
233
- version: typeof Schema.String;
234
- tsconfig: Schema.optional<Schema.declare<string | URL | ((...args: Array<unknown>) => unknown), string | URL | ((...args: Array<unknown>) => unknown), readonly [], never>>;
235
- compilerOptions: Schema.optional<typeof Schema.Unknown>;
236
- }>>>>>;
191
+ readonly externalPackages: Schema.optional<Schema.mutable<Schema.$Array<Schema.Struct<{
192
+ readonly name: Schema.String;
193
+ readonly version: Schema.String;
194
+ readonly tsconfig: Schema.optional<Schema.declare<string | URL | ((...args: Array<unknown>) => unknown), string | URL | ((...args: Array<unknown>) => unknown)>>;
195
+ readonly compilerOptions: Schema.optional<Schema.Unknown>;
196
+ }>>>>;
237
197
  /** Auto-detect external packages from `package.json` dependency fields. */
238
- autoDetectDependencies: Schema.optional<Schema.mutable<Schema.Struct<{
239
- dependencies: Schema.optionalWith<typeof Schema.Boolean, {
240
- default: () => true;
241
- }>;
242
- devDependencies: Schema.optionalWith<typeof Schema.Boolean, {
243
- default: () => false;
244
- }>;
245
- peerDependencies: Schema.optionalWith<typeof Schema.Boolean, {
246
- default: () => true;
247
- }>;
248
- autoDependencies: Schema.optionalWith<typeof Schema.Boolean, {
249
- default: () => true;
250
- }>;
251
- }>>>;
198
+ readonly autoDetectDependencies: Schema.optional<Schema.Struct<{
199
+ readonly dependencies: Schema.withDecodingDefault<Schema.Boolean, never>;
200
+ readonly devDependencies: Schema.withDecodingDefault<Schema.Boolean, never>;
201
+ readonly peerDependencies: Schema.withDecodingDefault<Schema.Boolean, never>;
202
+ readonly autoDependencies: Schema.withDecodingDefault<Schema.Boolean, never>;
203
+ }>>;
252
204
  /** Open Graph image configuration for this version. */
253
- ogImage: Schema.optional<Schema.Union<[typeof Schema.String, Schema.mutable<Schema.Struct<{
254
- url: typeof Schema.String;
255
- secureUrl: Schema.optional<typeof Schema.String>;
256
- type: Schema.optional<typeof Schema.String>;
257
- width: Schema.optional<typeof Schema.Number>;
258
- height: Schema.optional<typeof Schema.Number>;
259
- alt: Schema.optional<typeof Schema.String>;
260
- }>>]>>;
205
+ readonly ogImage: Schema.optional<Schema.Union<readonly [Schema.String, Schema.Struct<{
206
+ readonly url: Schema.String;
207
+ readonly secureUrl: Schema.optional<Schema.String>;
208
+ readonly type: Schema.optional<Schema.String>;
209
+ readonly width: Schema.optional<Schema.Number>;
210
+ readonly height: Schema.optional<Schema.Number>;
211
+ readonly alt: Schema.optional<Schema.String>;
212
+ }>]>>;
261
213
  /** LLMs integration options for this version. */
262
- llmsPlugin: Schema.optional<Schema.mutable<Schema.Struct<{
263
- enabled: Schema.optionalWith<typeof Schema.Boolean, {
264
- default: () => true;
265
- }>;
266
- scopes: Schema.optionalWith<typeof Schema.Boolean, {
267
- default: () => true;
268
- }>;
269
- apiTxt: Schema.optionalWith<typeof Schema.Boolean, {
270
- default: () => true;
271
- }>;
272
- showCopyButton: Schema.optionalWith<typeof Schema.Boolean, {
273
- default: () => true;
274
- }>;
275
- showViewOptions: Schema.optionalWith<typeof Schema.Boolean, {
276
- default: () => true;
277
- }>;
278
- copyButtonText: Schema.optionalWith<typeof Schema.String, {
279
- default: () => string;
280
- }>;
281
- viewOptions: Schema.optionalWith<Schema.mutable<Schema.Array$<Schema.Literal<["markdownLink", "chatgpt", "claude"]>>>, {
282
- default: () => ["markdownLink", "chatgpt", "claude"];
283
- }>;
284
- }>>>;
214
+ readonly llmsPlugin: Schema.optional<Schema.Struct<{
215
+ readonly enabled: Schema.withDecodingDefault<Schema.Boolean, never>;
216
+ readonly scopes: Schema.withDecodingDefault<Schema.Boolean, never>;
217
+ readonly apiTxt: Schema.withDecodingDefault<Schema.Boolean, never>;
218
+ readonly showCopyButton: Schema.withDecodingDefault<Schema.Boolean, never>;
219
+ readonly showViewOptions: Schema.withDecodingDefault<Schema.Boolean, never>;
220
+ readonly copyButtonText: Schema.withDecodingDefault<Schema.String, never>;
221
+ readonly viewOptions: Schema.withDecodingDefault<Schema.mutable<Schema.$Array<Schema.Literals<readonly ["markdownLink", "chatgpt", "claude"]>>>, never>;
222
+ }>>;
285
223
  /** Path to a `tsconfig.json` for this version. */
286
- tsconfig: Schema.optional<Schema.declare<string | URL | ((...args: Array<unknown>) => unknown), string | URL | ((...args: Array<unknown>) => unknown), readonly [], never>>;
224
+ readonly tsconfig: Schema.optional<Schema.declare<string | URL | ((...args: Array<unknown>) => unknown), string | URL | ((...args: Array<unknown>) => unknown)>>;
287
225
  /** TypeScript compiler options for Twoslash. */
288
- compilerOptions: Schema.optional<typeof Schema.Unknown>;
289
- }>>]>>>>;
226
+ readonly compilerOptions: Schema.optional<Schema.Unknown>;
227
+ }>]>>>;
290
228
  /** Shiki syntax-highlighting theme. */
291
- theme: Schema.optional<Schema.Union<[typeof Schema.String, Schema.mutable<Schema.Struct<{
292
- light: typeof Schema.String;
293
- dark: typeof Schema.String;
294
- }>>, Schema.mutable<Schema.Record$<typeof Schema.String, typeof Schema.Unknown>>]>>;
229
+ readonly theme: Schema.optional<Schema.Union<readonly [Schema.String, Schema.Struct<{
230
+ readonly light: Schema.String;
231
+ readonly dark: Schema.String;
232
+ }>, Schema.$Record<Schema.String, Schema.Unknown>]>>;
295
233
  /** Category definitions (defaults to {@link DEFAULT_CATEGORIES}). */
296
- categories: Schema.optional<Schema.mutable<Schema.Record$<typeof Schema.String, Schema.mutable<Schema.Struct<{
234
+ readonly categories: Schema.optional<Schema.$Record<Schema.String, Schema.Struct<{
297
235
  /** Human-readable plural display name shown in the sidebar. */
298
- displayName: typeof Schema.String;
236
+ readonly displayName: Schema.String;
299
237
  /** Human-readable singular name used in page titles. */
300
- singularName: typeof Schema.String;
238
+ readonly singularName: Schema.String;
301
239
  /** Folder name under the API base route (URL segment). */
302
- folderName: typeof Schema.String;
240
+ readonly folderName: Schema.String;
303
241
  /** API item kinds included in this category. */
304
- itemKinds: Schema.optional<Schema.mutable<Schema.Array$<Schema.declare<ApiItemKind, ApiItemKind, readonly [], never>>>>;
242
+ readonly itemKinds: Schema.optional<Schema.mutable<Schema.$Array<Schema.declare<ApiItemKind, ApiItemKind>>>>;
305
243
  /** TSDoc modifier tag that marks items for this category. */
306
- tsdocModifier: Schema.optional<typeof Schema.String>;
244
+ readonly tsdocModifier: Schema.optional<Schema.String>;
307
245
  /** Whether the sidebar section is collapsible. Defaults to `true`. */
308
- collapsible: Schema.optionalWith<typeof Schema.Boolean, {
309
- default: () => true;
310
- }>;
246
+ readonly collapsible: Schema.withDecodingDefault<Schema.Boolean, never>;
311
247
  /** Whether the sidebar section starts collapsed. Defaults to `true`. */
312
- collapsed: Schema.optionalWith<typeof Schema.Boolean, {
313
- default: () => true;
314
- }>;
248
+ readonly collapsed: Schema.withDecodingDefault<Schema.Boolean, never>;
315
249
  /** Heading levels shown in the overview. Defaults to `[2]`. */
316
- overviewHeaders: Schema.optionalWith<Schema.mutable<Schema.Array$<typeof Schema.Number>>, {
317
- default: () => number[];
318
- }>;
319
- }>>>>>;
250
+ readonly overviewHeaders: Schema.withDecodingDefault<Schema.mutable<Schema.$Array<Schema.Number>>, never>;
251
+ }>>>;
320
252
  /** Source repository link configuration. */
321
- source: Schema.optional<Schema.mutable<Schema.Struct<{
253
+ readonly source: Schema.optional<Schema.Struct<{
322
254
  /** Base URL of the source repository (e.g. `"https://github.com/org/repo/blob/main/src"`). */
323
- url: typeof Schema.String;
255
+ readonly url: Schema.String;
324
256
  /** Optional git ref (branch, tag, or commit SHA) appended to source links. */
325
- ref: Schema.optional<typeof Schema.String>;
326
- }>>>;
257
+ readonly ref: Schema.optional<Schema.String>;
258
+ }>>;
327
259
  /** External npm packages whose types should be loaded for Twoslash. */
328
- externalPackages: Schema.optional<Schema.mutable<Schema.Array$<Schema.mutable<Schema.Struct<{
329
- name: typeof Schema.String;
330
- version: typeof Schema.String;
331
- tsconfig: Schema.optional<Schema.declare<string | URL | ((...args: Array<unknown>) => unknown), string | URL | ((...args: Array<unknown>) => unknown), readonly [], never>>;
332
- compilerOptions: Schema.optional<typeof Schema.Unknown>;
333
- }>>>>>;
260
+ readonly externalPackages: Schema.optional<Schema.mutable<Schema.$Array<Schema.Struct<{
261
+ readonly name: Schema.String;
262
+ readonly version: Schema.String;
263
+ readonly tsconfig: Schema.optional<Schema.declare<string | URL | ((...args: Array<unknown>) => unknown), string | URL | ((...args: Array<unknown>) => unknown)>>;
264
+ readonly compilerOptions: Schema.optional<Schema.Unknown>;
265
+ }>>>>;
334
266
  /** Auto-detect external packages from `package.json` dependency fields. */
335
- autoDetectDependencies: Schema.optional<Schema.mutable<Schema.Struct<{
336
- dependencies: Schema.optionalWith<typeof Schema.Boolean, {
337
- default: () => true;
338
- }>;
339
- devDependencies: Schema.optionalWith<typeof Schema.Boolean, {
340
- default: () => false;
341
- }>;
342
- peerDependencies: Schema.optionalWith<typeof Schema.Boolean, {
343
- default: () => true;
344
- }>;
345
- autoDependencies: Schema.optionalWith<typeof Schema.Boolean, {
346
- default: () => true;
347
- }>;
348
- }>>>;
267
+ readonly autoDetectDependencies: Schema.optional<Schema.Struct<{
268
+ readonly dependencies: Schema.withDecodingDefault<Schema.Boolean, never>;
269
+ readonly devDependencies: Schema.withDecodingDefault<Schema.Boolean, never>;
270
+ readonly peerDependencies: Schema.withDecodingDefault<Schema.Boolean, never>;
271
+ readonly autoDependencies: Schema.withDecodingDefault<Schema.Boolean, never>;
272
+ }>>;
349
273
  /** Open Graph image configuration. */
350
- ogImage: Schema.optional<Schema.Union<[typeof Schema.String, Schema.mutable<Schema.Struct<{
351
- url: typeof Schema.String;
352
- secureUrl: Schema.optional<typeof Schema.String>;
353
- type: Schema.optional<typeof Schema.String>;
354
- width: Schema.optional<typeof Schema.Number>;
355
- height: Schema.optional<typeof Schema.Number>;
356
- alt: Schema.optional<typeof Schema.String>;
357
- }>>]>>;
274
+ readonly ogImage: Schema.optional<Schema.Union<readonly [Schema.String, Schema.Struct<{
275
+ readonly url: Schema.String;
276
+ readonly secureUrl: Schema.optional<Schema.String>;
277
+ readonly type: Schema.optional<Schema.String>;
278
+ readonly width: Schema.optional<Schema.Number>;
279
+ readonly height: Schema.optional<Schema.Number>;
280
+ readonly alt: Schema.optional<Schema.String>;
281
+ }>]>>;
358
282
  /** LLMs integration options. */
359
- llmsPlugin: Schema.optional<Schema.mutable<Schema.Struct<{
360
- enabled: Schema.optionalWith<typeof Schema.Boolean, {
361
- default: () => true;
362
- }>;
363
- scopes: Schema.optionalWith<typeof Schema.Boolean, {
364
- default: () => true;
365
- }>;
366
- apiTxt: Schema.optionalWith<typeof Schema.Boolean, {
367
- default: () => true;
368
- }>;
369
- showCopyButton: Schema.optionalWith<typeof Schema.Boolean, {
370
- default: () => true;
371
- }>;
372
- showViewOptions: Schema.optionalWith<typeof Schema.Boolean, {
373
- default: () => true;
374
- }>;
375
- copyButtonText: Schema.optionalWith<typeof Schema.String, {
376
- default: () => string;
377
- }>;
378
- viewOptions: Schema.optionalWith<Schema.mutable<Schema.Array$<Schema.Literal<["markdownLink", "chatgpt", "claude"]>>>, {
379
- default: () => ["markdownLink", "chatgpt", "claude"];
380
- }>;
381
- }>>>;
283
+ readonly llmsPlugin: Schema.optional<Schema.Struct<{
284
+ readonly enabled: Schema.withDecodingDefault<Schema.Boolean, never>;
285
+ readonly scopes: Schema.withDecodingDefault<Schema.Boolean, never>;
286
+ readonly apiTxt: Schema.withDecodingDefault<Schema.Boolean, never>;
287
+ readonly showCopyButton: Schema.withDecodingDefault<Schema.Boolean, never>;
288
+ readonly showViewOptions: Schema.withDecodingDefault<Schema.Boolean, never>;
289
+ readonly copyButtonText: Schema.withDecodingDefault<Schema.String, never>;
290
+ readonly viewOptions: Schema.withDecodingDefault<Schema.mutable<Schema.$Array<Schema.Literals<readonly ["markdownLink", "chatgpt", "claude"]>>>, never>;
291
+ }>>;
382
292
  /** Path to a `tsconfig.json` for Twoslash. */
383
- tsconfig: Schema.optional<Schema.declare<string | URL | ((...args: Array<unknown>) => unknown), string | URL | ((...args: Array<unknown>) => unknown), readonly [], never>>;
293
+ readonly tsconfig: Schema.optional<Schema.declare<string | URL | ((...args: Array<unknown>) => unknown), string | URL | ((...args: Array<unknown>) => unknown)>>;
384
294
  /** TypeScript compiler options for Twoslash. */
385
- compilerOptions: Schema.optional<typeof Schema.Unknown>;
386
- }>>;
295
+ readonly compilerOptions: Schema.optional<Schema.Unknown>;
296
+ }>;
387
297
  /** @public */
388
- type SingleApiConfig = Schema.Schema.Type<typeof SingleApiConfig>;
298
+ type SingleApiConfig = typeof SingleApiConfig.Encoded;
389
299
  /**
390
300
  * Configuration for one package in a multi-API portal (each element of the `apis:` array).
391
301
  *
392
302
  * @public
393
303
  */
394
- declare const MultiApiConfig: Schema.mutable<Schema.Struct<{
304
+ declare const MultiApiConfig: Schema.Struct<{
395
305
  /** npm package name of the documented package. */
396
- packageName: typeof Schema.String;
306
+ readonly packageName: Schema.String;
397
307
  /** Optional display name shown in the sidebar and page titles. */
398
- name: Schema.optional<typeof Schema.String>;
308
+ readonly name: Schema.optional<Schema.String>;
399
309
  /** Base URL route for this package's API pages. */
400
- baseRoute: Schema.optional<typeof Schema.String>;
310
+ readonly baseRoute: Schema.optional<Schema.String>;
401
311
  /** Subfolder name under `baseRoute` for API pages, or `null` to omit. */
402
- apiFolder: Schema.optional<Schema.Union<[typeof Schema.String, typeof Schema.Null]>>;
312
+ readonly apiFolder: Schema.optional<Schema.Union<readonly [Schema.String, Schema.Null]>>;
403
313
  /** Path or loader for the `.api.json` model file (required). */
404
- model: Schema.declare<string | URL | ((...args: Array<unknown>) => unknown), string | URL | ((...args: Array<unknown>) => unknown), readonly [], never>;
314
+ readonly model: Schema.declare<string | URL | ((...args: Array<unknown>) => unknown), string | URL | ((...args: Array<unknown>) => unknown)>;
405
315
  /** Path or loader for the `package.json`. */
406
- packageJson: Schema.optional<Schema.declare<string | URL | ((...args: Array<unknown>) => unknown), string | URL | ((...args: Array<unknown>) => unknown), readonly [], never>>;
316
+ readonly packageJson: Schema.optional<Schema.declare<string | URL | ((...args: Array<unknown>) => unknown), string | URL | ((...args: Array<unknown>) => unknown)>>;
407
317
  /** Shiki syntax-highlighting theme. */
408
- theme: Schema.optional<Schema.Union<[typeof Schema.String, Schema.mutable<Schema.Struct<{
409
- light: typeof Schema.String;
410
- dark: typeof Schema.String;
411
- }>>, Schema.mutable<Schema.Record$<typeof Schema.String, typeof Schema.Unknown>>]>>;
318
+ readonly theme: Schema.optional<Schema.Union<readonly [Schema.String, Schema.Struct<{
319
+ readonly light: Schema.String;
320
+ readonly dark: Schema.String;
321
+ }>, Schema.$Record<Schema.String, Schema.Unknown>]>>;
412
322
  /** Category definitions (defaults to {@link DEFAULT_CATEGORIES}). */
413
- categories: Schema.optional<Schema.mutable<Schema.Record$<typeof Schema.String, Schema.mutable<Schema.Struct<{
323
+ readonly categories: Schema.optional<Schema.$Record<Schema.String, Schema.Struct<{
414
324
  /** Human-readable plural display name shown in the sidebar. */
415
- displayName: typeof Schema.String;
325
+ readonly displayName: Schema.String;
416
326
  /** Human-readable singular name used in page titles. */
417
- singularName: typeof Schema.String;
327
+ readonly singularName: Schema.String;
418
328
  /** Folder name under the API base route (URL segment). */
419
- folderName: typeof Schema.String;
329
+ readonly folderName: Schema.String;
420
330
  /** API item kinds included in this category. */
421
- itemKinds: Schema.optional<Schema.mutable<Schema.Array$<Schema.declare<ApiItemKind, ApiItemKind, readonly [], never>>>>;
331
+ readonly itemKinds: Schema.optional<Schema.mutable<Schema.$Array<Schema.declare<ApiItemKind, ApiItemKind>>>>;
422
332
  /** TSDoc modifier tag that marks items for this category. */
423
- tsdocModifier: Schema.optional<typeof Schema.String>;
333
+ readonly tsdocModifier: Schema.optional<Schema.String>;
424
334
  /** Whether the sidebar section is collapsible. Defaults to `true`. */
425
- collapsible: Schema.optionalWith<typeof Schema.Boolean, {
426
- default: () => true;
427
- }>;
335
+ readonly collapsible: Schema.withDecodingDefault<Schema.Boolean, never>;
428
336
  /** Whether the sidebar section starts collapsed. Defaults to `true`. */
429
- collapsed: Schema.optionalWith<typeof Schema.Boolean, {
430
- default: () => true;
431
- }>;
337
+ readonly collapsed: Schema.withDecodingDefault<Schema.Boolean, never>;
432
338
  /** Heading levels shown in the overview. Defaults to `[2]`. */
433
- overviewHeaders: Schema.optionalWith<Schema.mutable<Schema.Array$<typeof Schema.Number>>, {
434
- default: () => number[];
435
- }>;
436
- }>>>>>;
339
+ readonly overviewHeaders: Schema.withDecodingDefault<Schema.mutable<Schema.$Array<Schema.Number>>, never>;
340
+ }>>>;
437
341
  /** Source repository link configuration. */
438
- source: Schema.optional<Schema.mutable<Schema.Struct<{
342
+ readonly source: Schema.optional<Schema.Struct<{
439
343
  /** Base URL of the source repository (e.g. `"https://github.com/org/repo/blob/main/src"`). */
440
- url: typeof Schema.String;
344
+ readonly url: Schema.String;
441
345
  /** Optional git ref (branch, tag, or commit SHA) appended to source links. */
442
- ref: Schema.optional<typeof Schema.String>;
443
- }>>>;
346
+ readonly ref: Schema.optional<Schema.String>;
347
+ }>>;
444
348
  /** External npm packages whose types should be loaded for Twoslash. */
445
- externalPackages: Schema.optional<Schema.mutable<Schema.Array$<Schema.mutable<Schema.Struct<{
446
- name: typeof Schema.String;
447
- version: typeof Schema.String;
448
- tsconfig: Schema.optional<Schema.declare<string | URL | ((...args: Array<unknown>) => unknown), string | URL | ((...args: Array<unknown>) => unknown), readonly [], never>>;
449
- compilerOptions: Schema.optional<typeof Schema.Unknown>;
450
- }>>>>>;
349
+ readonly externalPackages: Schema.optional<Schema.mutable<Schema.$Array<Schema.Struct<{
350
+ readonly name: Schema.String;
351
+ readonly version: Schema.String;
352
+ readonly tsconfig: Schema.optional<Schema.declare<string | URL | ((...args: Array<unknown>) => unknown), string | URL | ((...args: Array<unknown>) => unknown)>>;
353
+ readonly compilerOptions: Schema.optional<Schema.Unknown>;
354
+ }>>>>;
451
355
  /** Auto-detect external packages from `package.json` dependency fields. */
452
- autoDetectDependencies: Schema.optional<Schema.mutable<Schema.Struct<{
453
- dependencies: Schema.optionalWith<typeof Schema.Boolean, {
454
- default: () => true;
455
- }>;
456
- devDependencies: Schema.optionalWith<typeof Schema.Boolean, {
457
- default: () => false;
458
- }>;
459
- peerDependencies: Schema.optionalWith<typeof Schema.Boolean, {
460
- default: () => true;
461
- }>;
462
- autoDependencies: Schema.optionalWith<typeof Schema.Boolean, {
463
- default: () => true;
464
- }>;
465
- }>>>;
356
+ readonly autoDetectDependencies: Schema.optional<Schema.Struct<{
357
+ readonly dependencies: Schema.withDecodingDefault<Schema.Boolean, never>;
358
+ readonly devDependencies: Schema.withDecodingDefault<Schema.Boolean, never>;
359
+ readonly peerDependencies: Schema.withDecodingDefault<Schema.Boolean, never>;
360
+ readonly autoDependencies: Schema.withDecodingDefault<Schema.Boolean, never>;
361
+ }>>;
466
362
  /** Open Graph image configuration. */
467
- ogImage: Schema.optional<Schema.Union<[typeof Schema.String, Schema.mutable<Schema.Struct<{
468
- url: typeof Schema.String;
469
- secureUrl: Schema.optional<typeof Schema.String>;
470
- type: Schema.optional<typeof Schema.String>;
471
- width: Schema.optional<typeof Schema.Number>;
472
- height: Schema.optional<typeof Schema.Number>;
473
- alt: Schema.optional<typeof Schema.String>;
474
- }>>]>>;
363
+ readonly ogImage: Schema.optional<Schema.Union<readonly [Schema.String, Schema.Struct<{
364
+ readonly url: Schema.String;
365
+ readonly secureUrl: Schema.optional<Schema.String>;
366
+ readonly type: Schema.optional<Schema.String>;
367
+ readonly width: Schema.optional<Schema.Number>;
368
+ readonly height: Schema.optional<Schema.Number>;
369
+ readonly alt: Schema.optional<Schema.String>;
370
+ }>]>>;
475
371
  /** LLMs integration options. */
476
- llmsPlugin: Schema.optional<Schema.mutable<Schema.Struct<{
477
- enabled: Schema.optionalWith<typeof Schema.Boolean, {
478
- default: () => true;
479
- }>;
480
- scopes: Schema.optionalWith<typeof Schema.Boolean, {
481
- default: () => true;
482
- }>;
483
- apiTxt: Schema.optionalWith<typeof Schema.Boolean, {
484
- default: () => true;
485
- }>;
486
- showCopyButton: Schema.optionalWith<typeof Schema.Boolean, {
487
- default: () => true;
488
- }>;
489
- showViewOptions: Schema.optionalWith<typeof Schema.Boolean, {
490
- default: () => true;
491
- }>;
492
- copyButtonText: Schema.optionalWith<typeof Schema.String, {
493
- default: () => string;
494
- }>;
495
- viewOptions: Schema.optionalWith<Schema.mutable<Schema.Array$<Schema.Literal<["markdownLink", "chatgpt", "claude"]>>>, {
496
- default: () => ["markdownLink", "chatgpt", "claude"];
497
- }>;
498
- }>>>;
372
+ readonly llmsPlugin: Schema.optional<Schema.Struct<{
373
+ readonly enabled: Schema.withDecodingDefault<Schema.Boolean, never>;
374
+ readonly scopes: Schema.withDecodingDefault<Schema.Boolean, never>;
375
+ readonly apiTxt: Schema.withDecodingDefault<Schema.Boolean, never>;
376
+ readonly showCopyButton: Schema.withDecodingDefault<Schema.Boolean, never>;
377
+ readonly showViewOptions: Schema.withDecodingDefault<Schema.Boolean, never>;
378
+ readonly copyButtonText: Schema.withDecodingDefault<Schema.String, never>;
379
+ readonly viewOptions: Schema.withDecodingDefault<Schema.mutable<Schema.$Array<Schema.Literals<readonly ["markdownLink", "chatgpt", "claude"]>>>, never>;
380
+ }>>;
499
381
  /** Path to a `tsconfig.json` for Twoslash. */
500
- tsconfig: Schema.optional<Schema.declare<string | URL | ((...args: Array<unknown>) => unknown), string | URL | ((...args: Array<unknown>) => unknown), readonly [], never>>;
382
+ readonly tsconfig: Schema.optional<Schema.declare<string | URL | ((...args: Array<unknown>) => unknown), string | URL | ((...args: Array<unknown>) => unknown)>>;
501
383
  /** TypeScript compiler options for Twoslash. */
502
- compilerOptions: Schema.optional<typeof Schema.Unknown>;
503
- }>>;
384
+ readonly compilerOptions: Schema.optional<Schema.Unknown>;
385
+ }>;
504
386
  /** @public */
505
- type MultiApiConfig = Schema.Schema.Type<typeof MultiApiConfig>;
387
+ type MultiApiConfig = typeof MultiApiConfig.Encoded;
506
388
  /**
507
389
  * Top-level options passed to {@link ApiExtractorPlugin}.
508
390
  *
509
391
  * @public
510
392
  */
511
- declare const PluginOptions: Schema.mutable<Schema.Struct<{
393
+ declare const PluginOptions: Schema.Struct<{
512
394
  /** Single-API configuration (mutually exclusive with `apis`). */
513
- api: Schema.optional<Schema.mutable<Schema.Struct<{
395
+ readonly api: Schema.optional<Schema.Struct<{
514
396
  /** npm package name of the documented package. */
515
- packageName: typeof Schema.String;
397
+ readonly packageName: Schema.String;
516
398
  /** Optional display name shown in the sidebar and page titles. */
517
- name: Schema.optional<typeof Schema.String>;
399
+ readonly name: Schema.optional<Schema.String>;
518
400
  /** Base URL route for API pages (defaults to `/api`). */
519
- baseRoute: Schema.optional<typeof Schema.String>;
401
+ readonly baseRoute: Schema.optional<Schema.String>;
520
402
  /** Subfolder name under `baseRoute` for API pages, or `null` to omit. */
521
- apiFolder: Schema.optional<Schema.Union<[typeof Schema.String, typeof Schema.Null]>>;
403
+ readonly apiFolder: Schema.optional<Schema.Union<readonly [Schema.String, Schema.Null]>>;
522
404
  /** Path or loader for the `.api.json` model file. */
523
- model: Schema.optional<Schema.declare<string | URL | ((...args: Array<unknown>) => unknown), string | URL | ((...args: Array<unknown>) => unknown), readonly [], never>>;
405
+ readonly model: Schema.optional<Schema.declare<string | URL | ((...args: Array<unknown>) => unknown), string | URL | ((...args: Array<unknown>) => unknown)>>;
524
406
  /** Path or loader for the `package.json`. */
525
- packageJson: Schema.optional<Schema.declare<string | URL | ((...args: Array<unknown>) => unknown), string | URL | ((...args: Array<unknown>) => unknown), readonly [], never>>;
407
+ readonly packageJson: Schema.optional<Schema.declare<string | URL | ((...args: Array<unknown>) => unknown), string | URL | ((...args: Array<unknown>) => unknown)>>;
526
408
  /** Versioned models keyed by version label. */
527
- versions: Schema.optional<Schema.mutable<Schema.Record$<typeof Schema.String, Schema.Union<[Schema.declare<string | URL | ((...args: Array<unknown>) => unknown), string | URL | ((...args: Array<unknown>) => unknown), readonly [], never>, Schema.mutable<Schema.Struct<{
409
+ readonly versions: Schema.optional<Schema.$Record<Schema.String, Schema.Union<readonly [Schema.declare<string | URL | ((...args: Array<unknown>) => unknown), string | URL | ((...args: Array<unknown>) => unknown)>, Schema.Struct<{
528
410
  /** Path or loader for the `.api.json` model file for this version. */
529
- model: Schema.declare<string | URL | ((...args: Array<unknown>) => unknown), string | URL | ((...args: Array<unknown>) => unknown), readonly [], never>;
411
+ readonly model: Schema.declare<string | URL | ((...args: Array<unknown>) => unknown), string | URL | ((...args: Array<unknown>) => unknown)>;
530
412
  /** Path or loader for the `package.json` for this version. */
531
- packageJson: Schema.optional<Schema.declare<string | URL | ((...args: Array<unknown>) => unknown), string | URL | ((...args: Array<unknown>) => unknown), readonly [], never>>;
413
+ readonly packageJson: Schema.optional<Schema.declare<string | URL | ((...args: Array<unknown>) => unknown), string | URL | ((...args: Array<unknown>) => unknown)>>;
532
414
  /** Category overrides for this version. */
533
- categories: Schema.optional<Schema.mutable<Schema.Record$<typeof Schema.String, Schema.mutable<Schema.Struct<{
415
+ readonly categories: Schema.optional<Schema.$Record<Schema.String, Schema.Struct<{
534
416
  /** Human-readable plural display name shown in the sidebar. */
535
- displayName: typeof Schema.String;
417
+ readonly displayName: Schema.String;
536
418
  /** Human-readable singular name used in page titles. */
537
- singularName: typeof Schema.String;
419
+ readonly singularName: Schema.String;
538
420
  /** Folder name under the API base route (URL segment). */
539
- folderName: typeof Schema.String;
421
+ readonly folderName: Schema.String;
540
422
  /** API item kinds included in this category. */
541
- itemKinds: Schema.optional<Schema.mutable<Schema.Array$<Schema.declare<ApiItemKind, ApiItemKind, readonly [], never>>>>;
423
+ readonly itemKinds: Schema.optional<Schema.mutable<Schema.$Array<Schema.declare<ApiItemKind, ApiItemKind>>>>;
542
424
  /** TSDoc modifier tag that marks items for this category. */
543
- tsdocModifier: Schema.optional<typeof Schema.String>;
425
+ readonly tsdocModifier: Schema.optional<Schema.String>;
544
426
  /** Whether the sidebar section is collapsible. Defaults to `true`. */
545
- collapsible: Schema.optionalWith<typeof Schema.Boolean, {
546
- default: () => true;
547
- }>;
427
+ readonly collapsible: Schema.withDecodingDefault<Schema.Boolean, never>;
548
428
  /** Whether the sidebar section starts collapsed. Defaults to `true`. */
549
- collapsed: Schema.optionalWith<typeof Schema.Boolean, {
550
- default: () => true;
551
- }>;
429
+ readonly collapsed: Schema.withDecodingDefault<Schema.Boolean, never>;
552
430
  /** Heading levels shown in the overview. Defaults to `[2]`. */
553
- overviewHeaders: Schema.optionalWith<Schema.mutable<Schema.Array$<typeof Schema.Number>>, {
554
- default: () => number[];
555
- }>;
556
- }>>>>>;
431
+ readonly overviewHeaders: Schema.withDecodingDefault<Schema.mutable<Schema.$Array<Schema.Number>>, never>;
432
+ }>>>;
557
433
  /** Source repository link configuration for this version. */
558
- source: Schema.optional<Schema.mutable<Schema.Struct<{
434
+ readonly source: Schema.optional<Schema.Struct<{
559
435
  /** Base URL of the source repository (e.g. `"https://github.com/org/repo/blob/main/src"`). */
560
- url: typeof Schema.String;
436
+ readonly url: Schema.String;
561
437
  /** Optional git ref (branch, tag, or commit SHA) appended to source links. */
562
- ref: Schema.optional<typeof Schema.String>;
563
- }>>>;
438
+ readonly ref: Schema.optional<Schema.String>;
439
+ }>>;
564
440
  /** External npm packages whose types should be loaded for Twoslash. */
565
- externalPackages: Schema.optional<Schema.mutable<Schema.Array$<Schema.mutable<Schema.Struct<{
566
- name: typeof Schema.String;
567
- version: typeof Schema.String;
568
- tsconfig: Schema.optional<Schema.declare<string | URL | ((...args: Array<unknown>) => unknown), string | URL | ((...args: Array<unknown>) => unknown), readonly [], never>>;
569
- compilerOptions: Schema.optional<typeof Schema.Unknown>;
570
- }>>>>>;
441
+ readonly externalPackages: Schema.optional<Schema.mutable<Schema.$Array<Schema.Struct<{
442
+ readonly name: Schema.String;
443
+ readonly version: Schema.String;
444
+ readonly tsconfig: Schema.optional<Schema.declare<string | URL | ((...args: Array<unknown>) => unknown), string | URL | ((...args: Array<unknown>) => unknown)>>;
445
+ readonly compilerOptions: Schema.optional<Schema.Unknown>;
446
+ }>>>>;
571
447
  /** Auto-detect external packages from `package.json` dependency fields. */
572
- autoDetectDependencies: Schema.optional<Schema.mutable<Schema.Struct<{
573
- dependencies: Schema.optionalWith<typeof Schema.Boolean, {
574
- default: () => true;
575
- }>;
576
- devDependencies: Schema.optionalWith<typeof Schema.Boolean, {
577
- default: () => false;
578
- }>;
579
- peerDependencies: Schema.optionalWith<typeof Schema.Boolean, {
580
- default: () => true;
581
- }>;
582
- autoDependencies: Schema.optionalWith<typeof Schema.Boolean, {
583
- default: () => true;
584
- }>;
585
- }>>>;
448
+ readonly autoDetectDependencies: Schema.optional<Schema.Struct<{
449
+ readonly dependencies: Schema.withDecodingDefault<Schema.Boolean, never>;
450
+ readonly devDependencies: Schema.withDecodingDefault<Schema.Boolean, never>;
451
+ readonly peerDependencies: Schema.withDecodingDefault<Schema.Boolean, never>;
452
+ readonly autoDependencies: Schema.withDecodingDefault<Schema.Boolean, never>;
453
+ }>>;
586
454
  /** Open Graph image configuration for this version. */
587
- ogImage: Schema.optional<Schema.Union<[typeof Schema.String, Schema.mutable<Schema.Struct<{
588
- url: typeof Schema.String;
589
- secureUrl: Schema.optional<typeof Schema.String>;
590
- type: Schema.optional<typeof Schema.String>;
591
- width: Schema.optional<typeof Schema.Number>;
592
- height: Schema.optional<typeof Schema.Number>;
593
- alt: Schema.optional<typeof Schema.String>;
594
- }>>]>>;
455
+ readonly ogImage: Schema.optional<Schema.Union<readonly [Schema.String, Schema.Struct<{
456
+ readonly url: Schema.String;
457
+ readonly secureUrl: Schema.optional<Schema.String>;
458
+ readonly type: Schema.optional<Schema.String>;
459
+ readonly width: Schema.optional<Schema.Number>;
460
+ readonly height: Schema.optional<Schema.Number>;
461
+ readonly alt: Schema.optional<Schema.String>;
462
+ }>]>>;
595
463
  /** LLMs integration options for this version. */
596
- llmsPlugin: Schema.optional<Schema.mutable<Schema.Struct<{
597
- enabled: Schema.optionalWith<typeof Schema.Boolean, {
598
- default: () => true;
599
- }>;
600
- scopes: Schema.optionalWith<typeof Schema.Boolean, {
601
- default: () => true;
602
- }>;
603
- apiTxt: Schema.optionalWith<typeof Schema.Boolean, {
604
- default: () => true;
605
- }>;
606
- showCopyButton: Schema.optionalWith<typeof Schema.Boolean, {
607
- default: () => true;
608
- }>;
609
- showViewOptions: Schema.optionalWith<typeof Schema.Boolean, {
610
- default: () => true;
611
- }>;
612
- copyButtonText: Schema.optionalWith<typeof Schema.String, {
613
- default: () => string;
614
- }>;
615
- viewOptions: Schema.optionalWith<Schema.mutable<Schema.Array$<Schema.Literal<["markdownLink", "chatgpt", "claude"]>>>, {
616
- default: () => ["markdownLink", "chatgpt", "claude"];
617
- }>;
618
- }>>>;
464
+ readonly llmsPlugin: Schema.optional<Schema.Struct<{
465
+ readonly enabled: Schema.withDecodingDefault<Schema.Boolean, never>;
466
+ readonly scopes: Schema.withDecodingDefault<Schema.Boolean, never>;
467
+ readonly apiTxt: Schema.withDecodingDefault<Schema.Boolean, never>;
468
+ readonly showCopyButton: Schema.withDecodingDefault<Schema.Boolean, never>;
469
+ readonly showViewOptions: Schema.withDecodingDefault<Schema.Boolean, never>;
470
+ readonly copyButtonText: Schema.withDecodingDefault<Schema.String, never>;
471
+ readonly viewOptions: Schema.withDecodingDefault<Schema.mutable<Schema.$Array<Schema.Literals<readonly ["markdownLink", "chatgpt", "claude"]>>>, never>;
472
+ }>>;
619
473
  /** Path to a `tsconfig.json` for this version. */
620
- tsconfig: Schema.optional<Schema.declare<string | URL | ((...args: Array<unknown>) => unknown), string | URL | ((...args: Array<unknown>) => unknown), readonly [], never>>;
474
+ readonly tsconfig: Schema.optional<Schema.declare<string | URL | ((...args: Array<unknown>) => unknown), string | URL | ((...args: Array<unknown>) => unknown)>>;
621
475
  /** TypeScript compiler options for Twoslash. */
622
- compilerOptions: Schema.optional<typeof Schema.Unknown>;
623
- }>>]>>>>;
476
+ readonly compilerOptions: Schema.optional<Schema.Unknown>;
477
+ }>]>>>;
624
478
  /** Shiki syntax-highlighting theme. */
625
- theme: Schema.optional<Schema.Union<[typeof Schema.String, Schema.mutable<Schema.Struct<{
626
- light: typeof Schema.String;
627
- dark: typeof Schema.String;
628
- }>>, Schema.mutable<Schema.Record$<typeof Schema.String, typeof Schema.Unknown>>]>>;
479
+ readonly theme: Schema.optional<Schema.Union<readonly [Schema.String, Schema.Struct<{
480
+ readonly light: Schema.String;
481
+ readonly dark: Schema.String;
482
+ }>, Schema.$Record<Schema.String, Schema.Unknown>]>>;
629
483
  /** Category definitions (defaults to {@link DEFAULT_CATEGORIES}). */
630
- categories: Schema.optional<Schema.mutable<Schema.Record$<typeof Schema.String, Schema.mutable<Schema.Struct<{
484
+ readonly categories: Schema.optional<Schema.$Record<Schema.String, Schema.Struct<{
631
485
  /** Human-readable plural display name shown in the sidebar. */
632
- displayName: typeof Schema.String;
486
+ readonly displayName: Schema.String;
633
487
  /** Human-readable singular name used in page titles. */
634
- singularName: typeof Schema.String;
488
+ readonly singularName: Schema.String;
635
489
  /** Folder name under the API base route (URL segment). */
636
- folderName: typeof Schema.String;
490
+ readonly folderName: Schema.String;
637
491
  /** API item kinds included in this category. */
638
- itemKinds: Schema.optional<Schema.mutable<Schema.Array$<Schema.declare<ApiItemKind, ApiItemKind, readonly [], never>>>>;
492
+ readonly itemKinds: Schema.optional<Schema.mutable<Schema.$Array<Schema.declare<ApiItemKind, ApiItemKind>>>>;
639
493
  /** TSDoc modifier tag that marks items for this category. */
640
- tsdocModifier: Schema.optional<typeof Schema.String>;
494
+ readonly tsdocModifier: Schema.optional<Schema.String>;
641
495
  /** Whether the sidebar section is collapsible. Defaults to `true`. */
642
- collapsible: Schema.optionalWith<typeof Schema.Boolean, {
643
- default: () => true;
644
- }>;
496
+ readonly collapsible: Schema.withDecodingDefault<Schema.Boolean, never>;
645
497
  /** Whether the sidebar section starts collapsed. Defaults to `true`. */
646
- collapsed: Schema.optionalWith<typeof Schema.Boolean, {
647
- default: () => true;
648
- }>;
498
+ readonly collapsed: Schema.withDecodingDefault<Schema.Boolean, never>;
649
499
  /** Heading levels shown in the overview. Defaults to `[2]`. */
650
- overviewHeaders: Schema.optionalWith<Schema.mutable<Schema.Array$<typeof Schema.Number>>, {
651
- default: () => number[];
652
- }>;
653
- }>>>>>;
500
+ readonly overviewHeaders: Schema.withDecodingDefault<Schema.mutable<Schema.$Array<Schema.Number>>, never>;
501
+ }>>>;
654
502
  /** Source repository link configuration. */
655
- source: Schema.optional<Schema.mutable<Schema.Struct<{
503
+ readonly source: Schema.optional<Schema.Struct<{
656
504
  /** Base URL of the source repository (e.g. `"https://github.com/org/repo/blob/main/src"`). */
657
- url: typeof Schema.String;
505
+ readonly url: Schema.String;
658
506
  /** Optional git ref (branch, tag, or commit SHA) appended to source links. */
659
- ref: Schema.optional<typeof Schema.String>;
660
- }>>>;
507
+ readonly ref: Schema.optional<Schema.String>;
508
+ }>>;
661
509
  /** External npm packages whose types should be loaded for Twoslash. */
662
- externalPackages: Schema.optional<Schema.mutable<Schema.Array$<Schema.mutable<Schema.Struct<{
663
- name: typeof Schema.String;
664
- version: typeof Schema.String;
665
- tsconfig: Schema.optional<Schema.declare<string | URL | ((...args: Array<unknown>) => unknown), string | URL | ((...args: Array<unknown>) => unknown), readonly [], never>>;
666
- compilerOptions: Schema.optional<typeof Schema.Unknown>;
667
- }>>>>>;
510
+ readonly externalPackages: Schema.optional<Schema.mutable<Schema.$Array<Schema.Struct<{
511
+ readonly name: Schema.String;
512
+ readonly version: Schema.String;
513
+ readonly tsconfig: Schema.optional<Schema.declare<string | URL | ((...args: Array<unknown>) => unknown), string | URL | ((...args: Array<unknown>) => unknown)>>;
514
+ readonly compilerOptions: Schema.optional<Schema.Unknown>;
515
+ }>>>>;
668
516
  /** Auto-detect external packages from `package.json` dependency fields. */
669
- autoDetectDependencies: Schema.optional<Schema.mutable<Schema.Struct<{
670
- dependencies: Schema.optionalWith<typeof Schema.Boolean, {
671
- default: () => true;
672
- }>;
673
- devDependencies: Schema.optionalWith<typeof Schema.Boolean, {
674
- default: () => false;
675
- }>;
676
- peerDependencies: Schema.optionalWith<typeof Schema.Boolean, {
677
- default: () => true;
678
- }>;
679
- autoDependencies: Schema.optionalWith<typeof Schema.Boolean, {
680
- default: () => true;
681
- }>;
682
- }>>>;
517
+ readonly autoDetectDependencies: Schema.optional<Schema.Struct<{
518
+ readonly dependencies: Schema.withDecodingDefault<Schema.Boolean, never>;
519
+ readonly devDependencies: Schema.withDecodingDefault<Schema.Boolean, never>;
520
+ readonly peerDependencies: Schema.withDecodingDefault<Schema.Boolean, never>;
521
+ readonly autoDependencies: Schema.withDecodingDefault<Schema.Boolean, never>;
522
+ }>>;
683
523
  /** Open Graph image configuration. */
684
- ogImage: Schema.optional<Schema.Union<[typeof Schema.String, Schema.mutable<Schema.Struct<{
685
- url: typeof Schema.String;
686
- secureUrl: Schema.optional<typeof Schema.String>;
687
- type: Schema.optional<typeof Schema.String>;
688
- width: Schema.optional<typeof Schema.Number>;
689
- height: Schema.optional<typeof Schema.Number>;
690
- alt: Schema.optional<typeof Schema.String>;
691
- }>>]>>;
524
+ readonly ogImage: Schema.optional<Schema.Union<readonly [Schema.String, Schema.Struct<{
525
+ readonly url: Schema.String;
526
+ readonly secureUrl: Schema.optional<Schema.String>;
527
+ readonly type: Schema.optional<Schema.String>;
528
+ readonly width: Schema.optional<Schema.Number>;
529
+ readonly height: Schema.optional<Schema.Number>;
530
+ readonly alt: Schema.optional<Schema.String>;
531
+ }>]>>;
692
532
  /** LLMs integration options. */
693
- llmsPlugin: Schema.optional<Schema.mutable<Schema.Struct<{
694
- enabled: Schema.optionalWith<typeof Schema.Boolean, {
695
- default: () => true;
696
- }>;
697
- scopes: Schema.optionalWith<typeof Schema.Boolean, {
698
- default: () => true;
699
- }>;
700
- apiTxt: Schema.optionalWith<typeof Schema.Boolean, {
701
- default: () => true;
702
- }>;
703
- showCopyButton: Schema.optionalWith<typeof Schema.Boolean, {
704
- default: () => true;
705
- }>;
706
- showViewOptions: Schema.optionalWith<typeof Schema.Boolean, {
707
- default: () => true;
708
- }>;
709
- copyButtonText: Schema.optionalWith<typeof Schema.String, {
710
- default: () => string;
711
- }>;
712
- viewOptions: Schema.optionalWith<Schema.mutable<Schema.Array$<Schema.Literal<["markdownLink", "chatgpt", "claude"]>>>, {
713
- default: () => ["markdownLink", "chatgpt", "claude"];
714
- }>;
715
- }>>>;
533
+ readonly llmsPlugin: Schema.optional<Schema.Struct<{
534
+ readonly enabled: Schema.withDecodingDefault<Schema.Boolean, never>;
535
+ readonly scopes: Schema.withDecodingDefault<Schema.Boolean, never>;
536
+ readonly apiTxt: Schema.withDecodingDefault<Schema.Boolean, never>;
537
+ readonly showCopyButton: Schema.withDecodingDefault<Schema.Boolean, never>;
538
+ readonly showViewOptions: Schema.withDecodingDefault<Schema.Boolean, never>;
539
+ readonly copyButtonText: Schema.withDecodingDefault<Schema.String, never>;
540
+ readonly viewOptions: Schema.withDecodingDefault<Schema.mutable<Schema.$Array<Schema.Literals<readonly ["markdownLink", "chatgpt", "claude"]>>>, never>;
541
+ }>>;
716
542
  /** Path to a `tsconfig.json` for Twoslash. */
717
- tsconfig: Schema.optional<Schema.declare<string | URL | ((...args: Array<unknown>) => unknown), string | URL | ((...args: Array<unknown>) => unknown), readonly [], never>>;
543
+ readonly tsconfig: Schema.optional<Schema.declare<string | URL | ((...args: Array<unknown>) => unknown), string | URL | ((...args: Array<unknown>) => unknown)>>;
718
544
  /** TypeScript compiler options for Twoslash. */
719
- compilerOptions: Schema.optional<typeof Schema.Unknown>;
720
- }>>>;
545
+ readonly compilerOptions: Schema.optional<Schema.Unknown>;
546
+ }>>;
721
547
  /** Multi-API portal configuration (mutually exclusive with `api`). */
722
- apis: Schema.optional<Schema.mutable<Schema.Array$<Schema.mutable<Schema.Struct<{
548
+ readonly apis: Schema.optional<Schema.mutable<Schema.$Array<Schema.Struct<{
723
549
  /** npm package name of the documented package. */
724
- packageName: typeof Schema.String;
550
+ readonly packageName: Schema.String;
725
551
  /** Optional display name shown in the sidebar and page titles. */
726
- name: Schema.optional<typeof Schema.String>;
552
+ readonly name: Schema.optional<Schema.String>;
727
553
  /** Base URL route for this package's API pages. */
728
- baseRoute: Schema.optional<typeof Schema.String>;
554
+ readonly baseRoute: Schema.optional<Schema.String>;
729
555
  /** Subfolder name under `baseRoute` for API pages, or `null` to omit. */
730
- apiFolder: Schema.optional<Schema.Union<[typeof Schema.String, typeof Schema.Null]>>;
556
+ readonly apiFolder: Schema.optional<Schema.Union<readonly [Schema.String, Schema.Null]>>;
731
557
  /** Path or loader for the `.api.json` model file (required). */
732
- model: Schema.declare<string | URL | ((...args: Array<unknown>) => unknown), string | URL | ((...args: Array<unknown>) => unknown), readonly [], never>;
558
+ readonly model: Schema.declare<string | URL | ((...args: Array<unknown>) => unknown), string | URL | ((...args: Array<unknown>) => unknown)>;
733
559
  /** Path or loader for the `package.json`. */
734
- packageJson: Schema.optional<Schema.declare<string | URL | ((...args: Array<unknown>) => unknown), string | URL | ((...args: Array<unknown>) => unknown), readonly [], never>>;
560
+ readonly packageJson: Schema.optional<Schema.declare<string | URL | ((...args: Array<unknown>) => unknown), string | URL | ((...args: Array<unknown>) => unknown)>>;
735
561
  /** Shiki syntax-highlighting theme. */
736
- theme: Schema.optional<Schema.Union<[typeof Schema.String, Schema.mutable<Schema.Struct<{
737
- light: typeof Schema.String;
738
- dark: typeof Schema.String;
739
- }>>, Schema.mutable<Schema.Record$<typeof Schema.String, typeof Schema.Unknown>>]>>;
562
+ readonly theme: Schema.optional<Schema.Union<readonly [Schema.String, Schema.Struct<{
563
+ readonly light: Schema.String;
564
+ readonly dark: Schema.String;
565
+ }>, Schema.$Record<Schema.String, Schema.Unknown>]>>;
740
566
  /** Category definitions (defaults to {@link DEFAULT_CATEGORIES}). */
741
- categories: Schema.optional<Schema.mutable<Schema.Record$<typeof Schema.String, Schema.mutable<Schema.Struct<{
567
+ readonly categories: Schema.optional<Schema.$Record<Schema.String, Schema.Struct<{
742
568
  /** Human-readable plural display name shown in the sidebar. */
743
- displayName: typeof Schema.String;
569
+ readonly displayName: Schema.String;
744
570
  /** Human-readable singular name used in page titles. */
745
- singularName: typeof Schema.String;
571
+ readonly singularName: Schema.String;
746
572
  /** Folder name under the API base route (URL segment). */
747
- folderName: typeof Schema.String;
573
+ readonly folderName: Schema.String;
748
574
  /** API item kinds included in this category. */
749
- itemKinds: Schema.optional<Schema.mutable<Schema.Array$<Schema.declare<ApiItemKind, ApiItemKind, readonly [], never>>>>;
575
+ readonly itemKinds: Schema.optional<Schema.mutable<Schema.$Array<Schema.declare<ApiItemKind, ApiItemKind>>>>;
750
576
  /** TSDoc modifier tag that marks items for this category. */
751
- tsdocModifier: Schema.optional<typeof Schema.String>;
577
+ readonly tsdocModifier: Schema.optional<Schema.String>;
752
578
  /** Whether the sidebar section is collapsible. Defaults to `true`. */
753
- collapsible: Schema.optionalWith<typeof Schema.Boolean, {
754
- default: () => true;
755
- }>;
579
+ readonly collapsible: Schema.withDecodingDefault<Schema.Boolean, never>;
756
580
  /** Whether the sidebar section starts collapsed. Defaults to `true`. */
757
- collapsed: Schema.optionalWith<typeof Schema.Boolean, {
758
- default: () => true;
759
- }>;
581
+ readonly collapsed: Schema.withDecodingDefault<Schema.Boolean, never>;
760
582
  /** Heading levels shown in the overview. Defaults to `[2]`. */
761
- overviewHeaders: Schema.optionalWith<Schema.mutable<Schema.Array$<typeof Schema.Number>>, {
762
- default: () => number[];
763
- }>;
764
- }>>>>>;
583
+ readonly overviewHeaders: Schema.withDecodingDefault<Schema.mutable<Schema.$Array<Schema.Number>>, never>;
584
+ }>>>;
765
585
  /** Source repository link configuration. */
766
- source: Schema.optional<Schema.mutable<Schema.Struct<{
586
+ readonly source: Schema.optional<Schema.Struct<{
767
587
  /** Base URL of the source repository (e.g. `"https://github.com/org/repo/blob/main/src"`). */
768
- url: typeof Schema.String;
588
+ readonly url: Schema.String;
769
589
  /** Optional git ref (branch, tag, or commit SHA) appended to source links. */
770
- ref: Schema.optional<typeof Schema.String>;
771
- }>>>;
590
+ readonly ref: Schema.optional<Schema.String>;
591
+ }>>;
772
592
  /** External npm packages whose types should be loaded for Twoslash. */
773
- externalPackages: Schema.optional<Schema.mutable<Schema.Array$<Schema.mutable<Schema.Struct<{
774
- name: typeof Schema.String;
775
- version: typeof Schema.String;
776
- tsconfig: Schema.optional<Schema.declare<string | URL | ((...args: Array<unknown>) => unknown), string | URL | ((...args: Array<unknown>) => unknown), readonly [], never>>;
777
- compilerOptions: Schema.optional<typeof Schema.Unknown>;
778
- }>>>>>;
593
+ readonly externalPackages: Schema.optional<Schema.mutable<Schema.$Array<Schema.Struct<{
594
+ readonly name: Schema.String;
595
+ readonly version: Schema.String;
596
+ readonly tsconfig: Schema.optional<Schema.declare<string | URL | ((...args: Array<unknown>) => unknown), string | URL | ((...args: Array<unknown>) => unknown)>>;
597
+ readonly compilerOptions: Schema.optional<Schema.Unknown>;
598
+ }>>>>;
779
599
  /** Auto-detect external packages from `package.json` dependency fields. */
780
- autoDetectDependencies: Schema.optional<Schema.mutable<Schema.Struct<{
781
- dependencies: Schema.optionalWith<typeof Schema.Boolean, {
782
- default: () => true;
783
- }>;
784
- devDependencies: Schema.optionalWith<typeof Schema.Boolean, {
785
- default: () => false;
786
- }>;
787
- peerDependencies: Schema.optionalWith<typeof Schema.Boolean, {
788
- default: () => true;
789
- }>;
790
- autoDependencies: Schema.optionalWith<typeof Schema.Boolean, {
791
- default: () => true;
792
- }>;
793
- }>>>;
600
+ readonly autoDetectDependencies: Schema.optional<Schema.Struct<{
601
+ readonly dependencies: Schema.withDecodingDefault<Schema.Boolean, never>;
602
+ readonly devDependencies: Schema.withDecodingDefault<Schema.Boolean, never>;
603
+ readonly peerDependencies: Schema.withDecodingDefault<Schema.Boolean, never>;
604
+ readonly autoDependencies: Schema.withDecodingDefault<Schema.Boolean, never>;
605
+ }>>;
794
606
  /** Open Graph image configuration. */
795
- ogImage: Schema.optional<Schema.Union<[typeof Schema.String, Schema.mutable<Schema.Struct<{
796
- url: typeof Schema.String;
797
- secureUrl: Schema.optional<typeof Schema.String>;
798
- type: Schema.optional<typeof Schema.String>;
799
- width: Schema.optional<typeof Schema.Number>;
800
- height: Schema.optional<typeof Schema.Number>;
801
- alt: Schema.optional<typeof Schema.String>;
802
- }>>]>>;
607
+ readonly ogImage: Schema.optional<Schema.Union<readonly [Schema.String, Schema.Struct<{
608
+ readonly url: Schema.String;
609
+ readonly secureUrl: Schema.optional<Schema.String>;
610
+ readonly type: Schema.optional<Schema.String>;
611
+ readonly width: Schema.optional<Schema.Number>;
612
+ readonly height: Schema.optional<Schema.Number>;
613
+ readonly alt: Schema.optional<Schema.String>;
614
+ }>]>>;
803
615
  /** LLMs integration options. */
804
- llmsPlugin: Schema.optional<Schema.mutable<Schema.Struct<{
805
- enabled: Schema.optionalWith<typeof Schema.Boolean, {
806
- default: () => true;
807
- }>;
808
- scopes: Schema.optionalWith<typeof Schema.Boolean, {
809
- default: () => true;
810
- }>;
811
- apiTxt: Schema.optionalWith<typeof Schema.Boolean, {
812
- default: () => true;
813
- }>;
814
- showCopyButton: Schema.optionalWith<typeof Schema.Boolean, {
815
- default: () => true;
816
- }>;
817
- showViewOptions: Schema.optionalWith<typeof Schema.Boolean, {
818
- default: () => true;
819
- }>;
820
- copyButtonText: Schema.optionalWith<typeof Schema.String, {
821
- default: () => string;
822
- }>;
823
- viewOptions: Schema.optionalWith<Schema.mutable<Schema.Array$<Schema.Literal<["markdownLink", "chatgpt", "claude"]>>>, {
824
- default: () => ["markdownLink", "chatgpt", "claude"];
825
- }>;
826
- }>>>;
616
+ readonly llmsPlugin: Schema.optional<Schema.Struct<{
617
+ readonly enabled: Schema.withDecodingDefault<Schema.Boolean, never>;
618
+ readonly scopes: Schema.withDecodingDefault<Schema.Boolean, never>;
619
+ readonly apiTxt: Schema.withDecodingDefault<Schema.Boolean, never>;
620
+ readonly showCopyButton: Schema.withDecodingDefault<Schema.Boolean, never>;
621
+ readonly showViewOptions: Schema.withDecodingDefault<Schema.Boolean, never>;
622
+ readonly copyButtonText: Schema.withDecodingDefault<Schema.String, never>;
623
+ readonly viewOptions: Schema.withDecodingDefault<Schema.mutable<Schema.$Array<Schema.Literals<readonly ["markdownLink", "chatgpt", "claude"]>>>, never>;
624
+ }>>;
827
625
  /** Path to a `tsconfig.json` for Twoslash. */
828
- tsconfig: Schema.optional<Schema.declare<string | URL | ((...args: Array<unknown>) => unknown), string | URL | ((...args: Array<unknown>) => unknown), readonly [], never>>;
626
+ readonly tsconfig: Schema.optional<Schema.declare<string | URL | ((...args: Array<unknown>) => unknown), string | URL | ((...args: Array<unknown>) => unknown)>>;
829
627
  /** TypeScript compiler options for Twoslash. */
830
- compilerOptions: Schema.optional<typeof Schema.Unknown>;
831
- }>>>>>;
628
+ readonly compilerOptions: Schema.optional<Schema.Unknown>;
629
+ }>>>>;
832
630
  /** Canonical site URL used for Open Graph absolute URLs. */
833
- siteUrl: Schema.optional<typeof Schema.String>;
631
+ readonly siteUrl: Schema.optional<Schema.String>;
834
632
  /** Global Open Graph image configuration (overridden per-API). */
835
- ogImage: Schema.optional<Schema.Union<[typeof Schema.String, Schema.mutable<Schema.Struct<{
836
- url: typeof Schema.String;
837
- secureUrl: Schema.optional<typeof Schema.String>;
838
- type: Schema.optional<typeof Schema.String>;
839
- width: Schema.optional<typeof Schema.Number>;
840
- height: Schema.optional<typeof Schema.Number>;
841
- alt: Schema.optional<typeof Schema.String>;
842
- }>>]>>;
633
+ readonly ogImage: Schema.optional<Schema.Union<readonly [Schema.String, Schema.Struct<{
634
+ readonly url: Schema.String;
635
+ readonly secureUrl: Schema.optional<Schema.String>;
636
+ readonly type: Schema.optional<Schema.String>;
637
+ readonly width: Schema.optional<Schema.Number>;
638
+ readonly height: Schema.optional<Schema.Number>;
639
+ readonly alt: Schema.optional<Schema.String>;
640
+ }>]>>;
843
641
  /** Override the default category definitions for all APIs. */
844
- defaultCategories: Schema.optional<Schema.mutable<Schema.Record$<typeof Schema.String, Schema.mutable<Schema.Struct<{
642
+ readonly defaultCategories: Schema.optional<Schema.$Record<Schema.String, Schema.Struct<{
845
643
  /** Human-readable plural display name shown in the sidebar. */
846
- displayName: typeof Schema.String;
644
+ readonly displayName: Schema.String;
847
645
  /** Human-readable singular name used in page titles. */
848
- singularName: typeof Schema.String;
646
+ readonly singularName: Schema.String;
849
647
  /** Folder name under the API base route (URL segment). */
850
- folderName: typeof Schema.String;
648
+ readonly folderName: Schema.String;
851
649
  /** API item kinds included in this category. */
852
- itemKinds: Schema.optional<Schema.mutable<Schema.Array$<Schema.declare<ApiItemKind, ApiItemKind, readonly [], never>>>>;
650
+ readonly itemKinds: Schema.optional<Schema.mutable<Schema.$Array<Schema.declare<ApiItemKind, ApiItemKind>>>>;
853
651
  /** TSDoc modifier tag that marks items for this category. */
854
- tsdocModifier: Schema.optional<typeof Schema.String>;
652
+ readonly tsdocModifier: Schema.optional<Schema.String>;
855
653
  /** Whether the sidebar section is collapsible. Defaults to `true`. */
856
- collapsible: Schema.optionalWith<typeof Schema.Boolean, {
857
- default: () => true;
858
- }>;
654
+ readonly collapsible: Schema.withDecodingDefault<Schema.Boolean, never>;
859
655
  /** Whether the sidebar section starts collapsed. Defaults to `true`. */
860
- collapsed: Schema.optionalWith<typeof Schema.Boolean, {
861
- default: () => true;
862
- }>;
656
+ readonly collapsed: Schema.withDecodingDefault<Schema.Boolean, never>;
863
657
  /** Heading levels shown in the overview. Defaults to `[2]`. */
864
- overviewHeaders: Schema.optionalWith<Schema.mutable<Schema.Array$<typeof Schema.Number>>, {
865
- default: () => number[];
866
- }>;
867
- }>>>>>;
868
- /** Error display options for code examples. */
869
- errors: Schema.optional<Schema.mutable<Schema.Struct<{
870
- example: Schema.optional<Schema.Literal<["suppress", "show"]>>;
658
+ readonly overviewHeaders: Schema.withDecodingDefault<Schema.mutable<Schema.$Array<Schema.Number>>, never>;
871
659
  }>>>;
660
+ /** Error display options for code examples. */
661
+ readonly errors: Schema.optional<Schema.Struct<{
662
+ readonly example: Schema.optional<Schema.Literals<readonly ["suppress", "show"]>>;
663
+ }>>;
872
664
  /** LLMs integration options, or `false` to disable. */
873
- llmsPlugin: Schema.optional<Schema.Union<[typeof Schema.Boolean, Schema.mutable<Schema.Struct<{
874
- enabled: Schema.optionalWith<typeof Schema.Boolean, {
875
- default: () => true;
876
- }>;
877
- scopes: Schema.optionalWith<typeof Schema.Boolean, {
878
- default: () => true;
879
- }>;
880
- apiTxt: Schema.optionalWith<typeof Schema.Boolean, {
881
- default: () => true;
882
- }>;
883
- showCopyButton: Schema.optionalWith<typeof Schema.Boolean, {
884
- default: () => true;
885
- }>;
886
- showViewOptions: Schema.optionalWith<typeof Schema.Boolean, {
887
- default: () => true;
888
- }>;
889
- copyButtonText: Schema.optionalWith<typeof Schema.String, {
890
- default: () => string;
891
- }>;
892
- viewOptions: Schema.optionalWith<Schema.mutable<Schema.Array$<Schema.Literal<["markdownLink", "chatgpt", "claude"]>>>, {
893
- default: () => ["markdownLink", "chatgpt", "claude"];
894
- }>;
895
- }>>]>>;
665
+ readonly llmsPlugin: Schema.optional<Schema.Union<readonly [Schema.Boolean, Schema.Struct<{
666
+ readonly enabled: Schema.withDecodingDefault<Schema.Boolean, never>;
667
+ readonly scopes: Schema.withDecodingDefault<Schema.Boolean, never>;
668
+ readonly apiTxt: Schema.withDecodingDefault<Schema.Boolean, never>;
669
+ readonly showCopyButton: Schema.withDecodingDefault<Schema.Boolean, never>;
670
+ readonly showViewOptions: Schema.withDecodingDefault<Schema.Boolean, never>;
671
+ readonly copyButtonText: Schema.withDecodingDefault<Schema.String, never>;
672
+ readonly viewOptions: Schema.withDecodingDefault<Schema.mutable<Schema.$Array<Schema.Literals<readonly ["markdownLink", "chatgpt", "claude"]>>>, never>;
673
+ }>]>>;
896
674
  /** Verbosity level for plugin build output. @deprecated Use `observability.logLevel`. */
897
- logLevel: Schema.optional<Schema.Literal<["none", "info", "verbose", "debug", "warn", "error"]>>;
675
+ readonly logLevel: Schema.optional<Schema.Literals<readonly ["none", "info", "verbose", "debug", "warn", "error"]>>;
898
676
  /** Performance tuning options. @deprecated Use `observability.thresholds`. */
899
- performance: Schema.optional<Schema.mutable<Schema.Struct<{
900
- thresholds: Schema.optional<Schema.mutable<Schema.Struct<{
901
- slowCodeBlock: Schema.optionalWith<typeof Schema.Number, {
902
- default: () => number;
903
- }>;
904
- slowPageGeneration: Schema.optionalWith<typeof Schema.Number, {
905
- default: () => number;
906
- }>;
907
- slowApiLoad: Schema.optionalWith<typeof Schema.Number, {
908
- default: () => number;
909
- }>;
910
- slowFileOperation: Schema.optionalWith<typeof Schema.Number, {
911
- default: () => number;
912
- }>;
913
- slowHttpRequest: Schema.optionalWith<typeof Schema.Number, {
914
- default: () => number;
915
- }>;
916
- slowDbOperation: Schema.optionalWith<typeof Schema.Number, {
917
- default: () => number;
918
- }>;
919
- }>>>;
920
- showInsights: Schema.optionalWith<typeof Schema.Boolean, {
921
- default: () => true;
922
- }>;
923
- trackDetailedMetrics: Schema.optionalWith<typeof Schema.Boolean, {
924
- default: () => false;
925
- }>;
926
- }>>>;
677
+ readonly performance: Schema.optional<Schema.Struct<{
678
+ readonly thresholds: Schema.optional<Schema.Struct<{
679
+ readonly slowCodeBlock: Schema.withDecodingDefault<Schema.Number, never>;
680
+ readonly slowPageGeneration: Schema.withDecodingDefault<Schema.Number, never>;
681
+ readonly slowApiLoad: Schema.withDecodingDefault<Schema.Number, never>;
682
+ readonly slowFileOperation: Schema.withDecodingDefault<Schema.Number, never>;
683
+ readonly slowHttpRequest: Schema.withDecodingDefault<Schema.Number, never>;
684
+ readonly slowDbOperation: Schema.withDecodingDefault<Schema.Number, never>;
685
+ }>>;
686
+ readonly showInsights: Schema.withDecodingDefault<Schema.Boolean, never>;
687
+ readonly trackDetailedMetrics: Schema.withDecodingDefault<Schema.Boolean, never>;
688
+ }>>;
927
689
  /** Unified observability configuration (logLevel, trace artifact, thresholds). */
928
- observability: Schema.optional<Schema.mutable<Schema.Struct<{
929
- logLevel: Schema.optional<Schema.Literal<["none", "error", "warn", "info", "debug", "trace", "verbose"]>>;
930
- trace: Schema.optional<Schema.Union<[typeof Schema.Boolean, typeof Schema.String]>>;
931
- thresholds: Schema.optional<Schema.mutable<Schema.Struct<{
932
- slowCodeBlock: Schema.optionalWith<typeof Schema.Number, {
933
- default: () => number;
934
- }>;
935
- slowPageGeneration: Schema.optionalWith<typeof Schema.Number, {
936
- default: () => number;
937
- }>;
938
- slowApiLoad: Schema.optionalWith<typeof Schema.Number, {
939
- default: () => number;
940
- }>;
941
- slowFileOperation: Schema.optionalWith<typeof Schema.Number, {
942
- default: () => number;
943
- }>;
944
- slowHttpRequest: Schema.optionalWith<typeof Schema.Number, {
945
- default: () => number;
946
- }>;
947
- slowDbOperation: Schema.optionalWith<typeof Schema.Number, {
948
- default: () => number;
949
- }>;
950
- }>>>;
951
- }>>>;
952
- }>>;
690
+ readonly observability: Schema.optional<Schema.Struct<{
691
+ readonly logLevel: Schema.optional<Schema.Literals<readonly ["none", "error", "warn", "info", "debug", "trace", "verbose"]>>;
692
+ readonly trace: Schema.optional<Schema.Union<readonly [Schema.Boolean, Schema.String]>>;
693
+ readonly thresholds: Schema.optional<Schema.Struct<{
694
+ readonly slowCodeBlock: Schema.withDecodingDefault<Schema.Number, never>;
695
+ readonly slowPageGeneration: Schema.withDecodingDefault<Schema.Number, never>;
696
+ readonly slowApiLoad: Schema.withDecodingDefault<Schema.Number, never>;
697
+ readonly slowFileOperation: Schema.withDecodingDefault<Schema.Number, never>;
698
+ readonly slowHttpRequest: Schema.withDecodingDefault<Schema.Number, never>;
699
+ readonly slowDbOperation: Schema.withDecodingDefault<Schema.Number, never>;
700
+ }>>;
701
+ }>>;
702
+ }>;
953
703
  /** @public */
954
- type PluginOptions = Schema.Schema.Type<typeof PluginOptions>;
704
+ type PluginOptions = typeof PluginOptions.Encoded;
955
705
  //#endregion
956
706
  //#region src/schemas/opengraph.d.ts
957
707
  /**
@@ -959,83 +709,83 @@ type PluginOptions = Schema.Schema.Type<typeof PluginOptions>;
959
709
  *
960
710
  * @public
961
711
  */
962
- declare const OpenGraphImageMetadata: Schema.mutable<Schema.Struct<{
712
+ declare const OpenGraphImageMetadata: Schema.Struct<{
963
713
  /** Absolute URL of the image. */
964
- url: typeof Schema.String;
714
+ readonly url: Schema.String;
965
715
  /** HTTPS URL of the image (for secure contexts). */
966
- secureUrl: Schema.optional<typeof Schema.String>;
716
+ readonly secureUrl: Schema.optional<Schema.String>;
967
717
  /** MIME type of the image (e.g. `"image/png"`). */
968
- type: Schema.optional<typeof Schema.String>;
718
+ readonly type: Schema.optional<Schema.String>;
969
719
  /** Image width in pixels. */
970
- width: Schema.optional<typeof Schema.Number>;
720
+ readonly width: Schema.optional<Schema.Number>;
971
721
  /** Image height in pixels. */
972
- height: Schema.optional<typeof Schema.Number>;
722
+ readonly height: Schema.optional<Schema.Number>;
973
723
  /** Alt text for the image. */
974
- alt: Schema.optional<typeof Schema.String>;
975
- }>>;
724
+ readonly alt: Schema.optional<Schema.String>;
725
+ }>;
976
726
  /** @public */
977
- type OpenGraphImageMetadata = Schema.Schema.Type<typeof OpenGraphImageMetadata>;
727
+ type OpenGraphImageMetadata = typeof OpenGraphImageMetadata.Type;
978
728
  /**
979
729
  * Open Graph image: either a plain URL string or structured `OpenGraphImageMetadata`.
980
730
  *
981
731
  * @public
982
732
  */
983
- declare const OpenGraphImageConfig: Schema.Union<[typeof Schema.String, Schema.mutable<Schema.Struct<{
733
+ declare const OpenGraphImageConfig: Schema.Union<readonly [Schema.String, Schema.Struct<{
984
734
  /** Absolute URL of the image. */
985
- url: typeof Schema.String;
735
+ readonly url: Schema.String;
986
736
  /** HTTPS URL of the image (for secure contexts). */
987
- secureUrl: Schema.optional<typeof Schema.String>;
737
+ readonly secureUrl: Schema.optional<Schema.String>;
988
738
  /** MIME type of the image (e.g. `"image/png"`). */
989
- type: Schema.optional<typeof Schema.String>;
739
+ readonly type: Schema.optional<Schema.String>;
990
740
  /** Image width in pixels. */
991
- width: Schema.optional<typeof Schema.Number>;
741
+ readonly width: Schema.optional<Schema.Number>;
992
742
  /** Image height in pixels. */
993
- height: Schema.optional<typeof Schema.Number>;
743
+ readonly height: Schema.optional<Schema.Number>;
994
744
  /** Alt text for the image. */
995
- alt: Schema.optional<typeof Schema.String>;
996
- }>>]>;
745
+ readonly alt: Schema.optional<Schema.String>;
746
+ }>]>;
997
747
  /** @public */
998
- type OpenGraphImageConfig = Schema.Schema.Type<typeof OpenGraphImageConfig>;
748
+ type OpenGraphImageConfig = typeof OpenGraphImageConfig.Type;
999
749
  /**
1000
750
  * Resolved Open Graph metadata emitted into each generated page's frontmatter.
1001
751
  *
1002
752
  * @public
1003
753
  */
1004
- declare const OpenGraphMetadata: Schema.mutable<Schema.Struct<{
754
+ declare const OpenGraphMetadata: Schema.Struct<{
1005
755
  /** Canonical site base URL. */
1006
- siteUrl: typeof Schema.String;
756
+ readonly siteUrl: Schema.String;
1007
757
  /** Page route path (e.g. `/api/classes/myclass`). */
1008
- pageRoute: typeof Schema.String;
758
+ readonly pageRoute: Schema.String;
1009
759
  /** Page description for the `og:description` tag. */
1010
- description: typeof Schema.String;
760
+ readonly description: Schema.String;
1011
761
  /** ISO 8601 date string for `article:published_time`. */
1012
- publishedTime: typeof Schema.String;
762
+ readonly publishedTime: Schema.String;
1013
763
  /** ISO 8601 date string for `article:modified_time`. */
1014
- modifiedTime: typeof Schema.String;
764
+ readonly modifiedTime: Schema.String;
1015
765
  /** Article section label (e.g. `"API"`). */
1016
- section: typeof Schema.String;
766
+ readonly section: Schema.String;
1017
767
  /** Article tag keywords. */
1018
- tags: Schema.mutable<Schema.Array$<typeof Schema.String>>;
768
+ readonly tags: Schema.mutable<Schema.$Array<Schema.String>>;
1019
769
  /** Optional structured image metadata. */
1020
- ogImage: Schema.optional<Schema.mutable<Schema.Struct<{
770
+ readonly ogImage: Schema.optional<Schema.Struct<{
1021
771
  /** Absolute URL of the image. */
1022
- url: typeof Schema.String;
772
+ readonly url: Schema.String;
1023
773
  /** HTTPS URL of the image (for secure contexts). */
1024
- secureUrl: Schema.optional<typeof Schema.String>;
774
+ readonly secureUrl: Schema.optional<Schema.String>;
1025
775
  /** MIME type of the image (e.g. `"image/png"`). */
1026
- type: Schema.optional<typeof Schema.String>;
776
+ readonly type: Schema.optional<Schema.String>;
1027
777
  /** Image width in pixels. */
1028
- width: Schema.optional<typeof Schema.Number>;
778
+ readonly width: Schema.optional<Schema.Number>;
1029
779
  /** Image height in pixels. */
1030
- height: Schema.optional<typeof Schema.Number>;
780
+ readonly height: Schema.optional<Schema.Number>;
1031
781
  /** Alt text for the image. */
1032
- alt: Schema.optional<typeof Schema.String>;
1033
- }>>>;
782
+ readonly alt: Schema.optional<Schema.String>;
783
+ }>>;
1034
784
  /** Open Graph object type (e.g. `"article"`). */
1035
- ogType: typeof Schema.String;
1036
- }>>;
785
+ readonly ogType: Schema.String;
786
+ }>;
1037
787
  /** @public */
1038
- type OpenGraphMetadata = Schema.Schema.Type<typeof OpenGraphMetadata>;
788
+ type OpenGraphMetadata = typeof OpenGraphMetadata.Type;
1039
789
  //#endregion
1040
790
  //#region src/config-helpers.d.ts
1041
791
  /**