@zpress/config 0.2.2 → 0.3.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/dist/index.d.ts CHANGED
@@ -22,8 +22,8 @@ export { BuiltInThemeName }
22
22
  * Controls how an entry appears as a card on its parent section's
23
23
  * auto-generated landing page.
24
24
  *
25
- * When present, the landing page uses workspace-style cards
26
- * (icon + scope + name + description + tags + optional badge).
25
+ * Schema: `cardConfigSchema` in schema.ts validates this shape.
26
+ * A compile-time guard in schema.ts ensures these stay in sync.
27
27
  *
28
28
  * @example
29
29
  * ```ts
@@ -37,28 +37,14 @@ export { BuiltInThemeName }
37
37
  * ```
38
38
  */
39
39
  export declare interface CardConfig {
40
- /**
41
- * Icon configuration — Iconify identifier string or `{ id, color }` object.
42
- */
43
- icon?: IconConfig;
44
- /**
45
- * Scope label shown above the name (e.g. `"apps/"`).
46
- */
47
- scope?: string;
48
- /**
49
- * Short description shown on the card. Overrides auto-extracted description.
50
- */
51
- description?: string;
52
- /**
53
- * Technology tags shown at the bottom of the card.
54
- */
55
- tags?: string[];
56
- /**
57
- * Deploy badge image shown in the card header.
58
- */
59
- badge?: {
60
- src: string;
61
- alt: string;
40
+ readonly icon?: string;
41
+ readonly iconColor?: string;
42
+ readonly scope?: string;
43
+ readonly description?: string;
44
+ readonly tags?: readonly string[];
45
+ readonly badge?: {
46
+ readonly src: string;
47
+ readonly alt: string;
62
48
  };
63
49
  }
64
50
 
@@ -76,11 +62,24 @@ export declare interface ConfigError {
76
62
  }[];
77
63
  }
78
64
 
65
+ /**
66
+ * Create a ConfigError with the given type and message.
67
+ *
68
+ * @param type - The error type discriminant
69
+ * @param message - Human-readable error message
70
+ * @returns A ConfigError object
71
+ */
79
72
  export declare function configError(type: ConfigErrorType, message: string): ConfigError;
80
73
 
74
+ /**
75
+ * Convert a Zod validation error into a ConfigError.
76
+ *
77
+ * @param zodError - The ZodError produced by a failed safeParse call
78
+ * @returns A ConfigError with type `'validation_failed'` and mapped issue list
79
+ */
81
80
  export declare function configErrorFromZod(zodError: ZodError): ConfigError;
82
81
 
83
- export declare type ConfigErrorType = 'not_found' | 'parse_error' | 'validation_failed' | 'empty_sections' | 'missing_field' | 'invalid_entry' | 'invalid_section' | 'invalid_field' | 'invalid_icon' | 'invalid_theme' | 'duplicate_prefix' | 'unknown';
82
+ export declare type ConfigErrorType = 'not_found' | 'parse_error' | 'validation_failed' | 'empty_sections' | 'missing_field' | 'invalid_entry' | 'invalid_section' | 'invalid_field' | 'invalid_icon' | 'invalid_theme' | 'duplicate_prefix' | 'invalid_openapi' | 'unknown';
84
83
 
85
84
  export declare type ConfigResult<T> = Result<T, ConfigError>;
86
85
 
@@ -102,80 +101,23 @@ export declare type Discovery = FlatDiscoveryConfig | RecursiveDiscoveryConfig;
102
101
 
103
102
  /**
104
103
  * Content discovery configuration for auto-generating pages from files.
104
+ *
105
+ * Schema: `discoverySchema` in schema.ts validates this shape.
105
106
  */
106
107
  declare interface DiscoveryConfig {
107
- /**
108
- * Content source — file path or glob pattern.
109
- * - **No wildcards** → single file (e.g. `"docs/overview.md"`)
110
- * - **With wildcards** → auto-discover children (e.g. `"docs/*.md"`)
111
- */
112
- readonly from?: string | GlobPattern;
113
- /**
114
- * Title configuration for auto-discovered children.
115
- * @default { from: 'auto' }
116
- */
108
+ readonly from?: string;
117
109
  readonly title?: TitleConfig;
118
- /**
119
- * Sort order for auto-discovered children.
120
- * - `"alpha"` — alphabetical by derived title (default)
121
- * - `"filename"` — alphabetical by filename
122
- * - Custom comparator function
123
- */
124
- readonly sort?: 'alpha' | 'filename' | ((a: ResolvedPage, b: ResolvedPage) => number);
125
- /**
126
- * Exclude globs, scoped to this discovery's `from` glob.
127
- */
128
- readonly exclude?: readonly GlobPattern[];
129
- /**
130
- * Frontmatter injected at build time for all discovered pages.
131
- */
110
+ readonly sort?: 'default' | 'alpha' | 'filename' | ((a: ResolvedPage, b: ResolvedPage) => number);
111
+ readonly exclude?: readonly string[];
132
112
  readonly frontmatter?: Frontmatter;
133
- }
134
-
135
- /**
136
- * Base type for all config entries — shared display metadata.
137
- *
138
- * All types in the information architecture (Section, Workspace, WorkspaceCategory, Feature)
139
- * extend this base to inherit common display fields.
140
- */
141
- export declare interface Entry {
142
- /**
143
- * Display title shown in UI (sidebar, nav, cards).
144
- * Can be a static string or a configuration for deriving from files.
145
- */
146
- readonly title: string | TitleConfig;
147
- /**
148
- * Icon configuration — Iconify identifier string or `{ id, color }` object.
149
- *
150
- * Accepts either:
151
- * - **String**: Iconify identifier (e.g. `"devicon:hono"`, `"pixelarticons:device-mobile"`)
152
- * - Color defaults to purple (first in rotation)
153
- * - Find icons at https://icon-sets.iconify.design/
154
- * - **Object**: `{ id: IconId, color: IconColor }`
155
- * - Explicit color from 8-color palette
156
- *
157
- * Auto-generated section cards rotate through these colors:
158
- * purple → blue → green → amber → cyan → red → pink → slate
159
- *
160
- * @example
161
- * ```ts
162
- * icon: 'devicon:react' // Uses purple (default)
163
- * icon: { id: 'devicon:nextjs', color: 'blue' } // Explicit blue
164
- * ```
165
- */
166
- readonly icon?: IconConfig;
167
- /**
168
- * Short description for cards and summaries.
169
- */
170
- readonly description?: string;
113
+ readonly recursive?: boolean;
114
+ readonly indexFile?: string;
171
115
  }
172
116
 
173
117
  /**
174
118
  * Explicit feature card for the home page.
175
119
  *
176
- * When `features` is provided on the config, these replace the
177
- * auto-generated feature cards that are normally derived from
178
- * top-level sections.
120
+ * Schema: `featureSchema` in schema.ts validates this shape.
179
121
  *
180
122
  * @example
181
123
  * ```ts
@@ -187,15 +129,15 @@ export declare interface Entry {
187
129
  * }
188
130
  * ```
189
131
  */
190
- export declare interface Feature extends Entry {
191
- /**
192
- * Link target when the card is clicked.
193
- */
194
- readonly link: string;
132
+ export declare interface Feature {
133
+ readonly title: TitleConfig;
134
+ readonly description: string;
135
+ readonly link?: string;
136
+ readonly icon?: string;
195
137
  }
196
138
 
197
139
  /**
198
- * Relative file path from repo root (e.g. `"docs/guides/add-api-route.md"`)
140
+ * File-system path (absolute or relative).
199
141
  */
200
142
  declare type FilePath = string;
201
143
 
@@ -208,12 +150,15 @@ export declare interface FlatDiscoveryConfig extends DiscoveryConfig {
208
150
 
209
151
  /**
210
152
  * Rspress frontmatter fields injectable at build time.
153
+ *
154
+ * Schema: `frontmatterSchema` in schema.ts validates this shape.
155
+ * The index signature allows arbitrary extra fields (schema uses `.passthrough()`).
211
156
  */
212
157
  export declare interface Frontmatter {
213
158
  readonly title?: string;
214
159
  readonly titleTemplate?: string | boolean;
215
160
  readonly description?: string;
216
- readonly layout?: 'doc' | 'page' | 'home' | (string & {});
161
+ readonly layout?: string;
217
162
  readonly sidebar?: boolean;
218
163
  readonly aside?: boolean | 'left';
219
164
  readonly outline?: false | number | [number, number] | 'deep';
@@ -223,45 +168,18 @@ export declare interface Frontmatter {
223
168
  readonly footer?: boolean;
224
169
  readonly pageClass?: string;
225
170
  readonly head?: readonly [string, Record<string, string>][];
226
- /**
227
- * Arbitrary extra fields merged into frontmatter.
228
- */
229
171
  readonly [key: string]: unknown;
230
172
  }
231
173
 
232
174
  /**
233
- * Glob pattern (e.g. `"docs/guides/*.md"`)
234
- */
235
- declare type GlobPattern = string;
236
-
237
- /**
238
- * Hero section configuration override.
175
+ * A single call-to-action button on the home page hero.
176
+ *
177
+ * Schema: `heroActionSchema` in schema.ts validates this shape.
239
178
  */
240
- export declare interface HeroConfig {
241
- /**
242
- * Main hero title. Overrides site title on home page.
243
- */
244
- readonly title?: string;
245
- /**
246
- * Hero subtitle/headline. Overrides site description on home page.
247
- */
248
- readonly subtitle?: string;
249
- /**
250
- * Hero tagline. Overrides site tagline on home page.
251
- */
252
- readonly tagline?: string;
253
- /**
254
- * Hero image path. Defaults to "/banner.svg".
255
- */
256
- readonly image?: string;
257
- /**
258
- * Call-to-action buttons.
259
- */
260
- readonly actions?: readonly {
261
- readonly theme: 'brand' | 'alt';
262
- readonly text: string;
263
- readonly link: string;
264
- }[];
179
+ export declare interface HeroAction {
180
+ readonly theme: 'brand' | 'alt';
181
+ readonly text: string;
182
+ readonly link: string;
265
183
  }
266
184
 
267
185
  export { ICON_COLORS }
@@ -328,9 +246,15 @@ export declare interface LoadConfigOptions {
328
246
  readonly configFile?: string;
329
247
  }
330
248
 
249
+ /**
250
+ * Navigation item for the top nav bar.
251
+ *
252
+ * Schema: `navItemSchema` in schema.ts validates this shape.
253
+ * The schema uses `z.ZodType<NavItem>` to enforce consistency.
254
+ */
331
255
  export declare interface NavItem {
332
256
  readonly title: string;
333
- readonly link?: UrlPath;
257
+ readonly link?: string;
334
258
  readonly items?: readonly NavItem[];
335
259
  readonly activeMatch?: string;
336
260
  }
@@ -342,16 +266,25 @@ export declare interface OpenAPIConfig {
342
266
  /**
343
267
  * Path to openapi.json relative to repo root.
344
268
  */
345
- spec: FilePath;
269
+ readonly spec: FilePath;
346
270
  /**
347
271
  * URL prefix for API operation pages (e.g., '/api').
348
272
  */
349
- prefix: UrlPath;
273
+ readonly prefix: UrlPath;
350
274
  /**
351
275
  * Sidebar group title.
352
276
  * @default 'API Reference'
353
277
  */
354
- title?: string;
278
+ readonly title?: string;
279
+ /**
280
+ * How operations appear in the sidebar.
281
+ *
282
+ * - `'method-path'` — shows `GET /users` with method badge and path in code font
283
+ * - `'title'` — shows the operation summary (e.g., "List Users")
284
+ *
285
+ * @default 'method-path'
286
+ */
287
+ readonly sidebarLayout?: 'method-path' | 'title';
355
288
  }
356
289
 
357
290
  export declare const pathsSchema: z.ZodObject<{
@@ -383,10 +316,6 @@ export declare const pathsSchema: z.ZodObject<{
383
316
  */
384
317
  export declare interface RecursiveDiscoveryConfig extends DiscoveryConfig {
385
318
  readonly recursive: true;
386
- /**
387
- * Filename (without extension) used as the section header page in each directory.
388
- * @default "overview"
389
- */
390
319
  readonly indexFile?: string;
391
320
  }
392
321
 
@@ -396,21 +325,9 @@ export { resolveDefaultColorMode }
396
325
  * A fully resolved page after the sync engine processes the config.
397
326
  */
398
327
  export declare interface ResolvedPage {
399
- /**
400
- * Display title.
401
- */
402
328
  readonly title: string;
403
- /**
404
- * Output URL path.
405
- */
406
- readonly link: UrlPath;
407
- /**
408
- * Source file path (undefined for virtual pages).
409
- */
410
- readonly source?: FilePath;
411
- /**
412
- * Merged frontmatter.
413
- */
329
+ readonly link: string;
330
+ readonly source?: string;
414
331
  readonly frontmatter: Frontmatter;
415
332
  }
416
333
 
@@ -419,48 +336,11 @@ export declare interface ResolvedPage {
419
336
  */
420
337
  export declare interface ResolvedSection {
421
338
  readonly title: string;
422
- readonly link?: UrlPath;
339
+ readonly link?: string;
423
340
  readonly collapsible?: boolean;
424
341
  readonly items: readonly (ResolvedPage | ResolvedSection)[];
425
342
  }
426
343
 
427
- /**
428
- * zpress — unified information architecture config.
429
- *
430
- * The IA tree IS the config. Each node defines what it is, where its
431
- * content comes from, and where it sits in the sidebar — all in one place.
432
- * Source `.md` files are never edited.
433
- *
434
- * @example
435
- * ```ts
436
- * import { defineConfig } from '@zpress/core'
437
- *
438
- * export default defineConfig({
439
- * title: 'My Docs',
440
- * sections: [
441
- * {
442
- * title: 'Introduction',
443
- * items: [
444
- * { title: 'Architecture', link: '/architecture', from: 'docs/architecture.md' },
445
- * { title: 'Structure', link: '/structure', from: 'docs/structure.md' },
446
- * ],
447
- * },
448
- * {
449
- * title: 'Guides',
450
- * prefix: '/guides',
451
- * from: 'docs/guides/*.md',
452
- * },
453
- * {
454
- * title: 'API Reference',
455
- * items: [
456
- * { title: 'Overview', link: '/api/overview', content: '# API\n...' },
457
- * { title: 'Routes', link: '/api/routes', from: 'apps/api/docs/routes.md' },
458
- * ],
459
- * },
460
- * ],
461
- * })
462
- * ```
463
- */
464
344
  /**
465
345
  * Result type for error handling without exceptions.
466
346
  *
@@ -478,7 +358,8 @@ export declare type Result<T, E = Error> = readonly [E, null] | readonly [null,
478
358
  /**
479
359
  * A single node in the information architecture (sidebar/nav tree).
480
360
  *
481
- * Goes in `config.sections` array. Can be a page, section, or both.
361
+ * Schema: `entrySchema` in schema.ts validates this shape.
362
+ * The schema uses `z.ZodType<Section>` to enforce consistency.
482
363
  *
483
364
  * **Page — explicit file**:
484
365
  * ```ts
@@ -499,192 +380,86 @@ export declare type Result<T, E = Error> = readonly [E, null] | readonly [null,
499
380
  * ```ts
500
381
  * { title: 'Guides', prefix: '/guides', from: 'docs/guides/*.md' }
501
382
  * ```
502
- *
503
- * **Section — mix of explicit + auto-discovered**:
504
- * ```ts
505
- * {
506
- * title: 'Guides',
507
- * prefix: '/guides',
508
- * from: 'docs/guides/*.md',
509
- * items: [
510
- * { title: 'Getting Started', link: '/guides/start', from: 'docs/intro.md' },
511
- * ],
512
- * }
513
- * ```
514
383
  */
515
- export declare interface Section extends Entry {
516
- /**
517
- * Output URL path.
518
- * - Pages: exact URL (e.g. `"/guides/add-api-route"`)
519
- * - Sections: optional — makes the section header clickable
520
- */
521
- readonly link?: UrlPath;
522
- /**
523
- * Content source — file path or glob, relative to repo root.
524
- *
525
- * - **No wildcards** → single file (e.g. `"docs/architecture.md"`)
526
- * - **With wildcards** → auto-discover children (e.g. `"docs/guides/*.md"`)
527
- */
528
- readonly from?: FilePath | GlobPattern;
529
- /**
530
- * URL prefix for auto-discovered children.
531
- * Used with glob `from` — each discovered file gets `prefix + "/" + slug`.
532
- *
533
- * @example
534
- * `prefix: "/guides"` + file `add-api-route.md` → `/guides/add-api-route`
535
- */
536
- readonly prefix?: UrlPath;
537
- /**
538
- * Inline markdown or async content generator.
539
- * For virtual pages that have no source `.md` file.
540
- * Mutually exclusive with `from`.
541
- */
384
+ export declare interface Section {
385
+ readonly title: TitleConfig;
386
+ readonly link?: string;
387
+ readonly from?: string;
388
+ readonly prefix?: string;
542
389
  readonly content?: string | (() => string | Promise<string>);
543
- /**
544
- * Child entries — pages and/or sub-sections.
545
- */
546
390
  readonly items?: readonly Section[];
547
- /**
548
- * Landing page generation strategy for sections with children.
549
- *
550
- * - `"auto"` (default) — generate cards from children, or promote overview/index if found
551
- * - `"cards"` — always generate cards, never promote overview files
552
- * - `"overview"` — only use overview file if found, no auto-generation
553
- * - `false` — disable landing page (section header not clickable unless explicit `from`)
554
- *
555
- * Only applies to sections with `items`.
556
- * Requires `link` to be set.
557
- */
558
391
  readonly landing?: 'auto' | 'cards' | 'overview' | false;
559
- /**
560
- * Make this section collapsible in the sidebar.
561
- *
562
- * - `true` — always collapsible
563
- * - `false` — never collapsible (keeps deep sections always-open)
564
- * - `undefined` (default) — auto-collapsible when depth > 1
565
- */
566
392
  readonly collapsible?: boolean;
567
- /**
568
- * Exclude globs, scoped to this section's `from` glob.
569
- */
570
- readonly exclude?: readonly GlobPattern[];
571
- /**
572
- * Hide from sidebar. Page is still built and routable.
573
- * Useful for pages that should exist but not clutter navigation.
574
- */
393
+ readonly exclude?: readonly string[];
575
394
  readonly hidden?: boolean;
576
- /**
577
- * Isolate this section into its own Rspress sidebar namespace.
578
- *
579
- * When `true`, the section's children appear under a dedicated sidebar
580
- * keyed by `link` (e.g. `"/apps/"`) instead of the root `"/"` sidebar.
581
- * This mirrors how the OpenAPI reference already works.
582
- *
583
- * Note: Isolated sections are excluded from `nav: "auto"` generation.
584
- *
585
- * Requires `link` to be set.
586
- * @default false
587
- */
588
- readonly isolated?: boolean;
589
- /**
590
- * Frontmatter injected at build time.
591
- * - On a page: applied to that page.
592
- * - On a section: applied to all pages within.
593
- */
594
395
  readonly frontmatter?: Frontmatter;
396
+ readonly sort?: 'default' | 'alpha' | 'filename' | ((a: ResolvedPage, b: ResolvedPage) => number);
397
+ readonly recursive?: boolean;
398
+ readonly indexFile?: string;
399
+ readonly icon?: string;
400
+ readonly iconColor?: string;
401
+ readonly card?: CardConfig;
402
+ readonly isolated?: boolean;
595
403
  /**
596
- * How to derive `title` for auto-discovered children.
597
- * - `"filename"` — kebab-to-title from filename (default)
598
- * - `"heading"` — first `# heading` in the file
599
- * - `"frontmatter"` — `title` field from YAML frontmatter, falls back to heading
600
- * - `"auto"` — frontmatter > heading > filename fallback chain
601
- *
602
404
  * @deprecated Use `title: { from: 'auto' }` instead
603
405
  */
604
406
  readonly titleFrom?: 'filename' | 'heading' | 'frontmatter' | 'auto';
605
407
  /**
606
- * Transform function applied to auto-derived title (from `titleFrom`).
607
- * Called after title derivation for glob-discovered and recursive children.
608
- * Does NOT apply to sections with explicit `title` string (those are already user-controlled).
609
- *
610
- * @param title - The derived title (from heading or filename)
611
- * @param slug - The filename slug (without extension)
612
- * @returns Transformed title for sidebar display
613
- *
614
408
  * @deprecated Use `title: { from: 'auto', transform: ... }` instead
615
409
  */
616
410
  readonly titleTransform?: (title: string, slug: string) => string;
617
- /**
618
- * Sort order for auto-discovered children.
619
- * - `"alpha"` — alphabetical by derived title (default)
620
- * - `"filename"` — alphabetical by filename
621
- * - Custom comparator function
622
- */
623
- readonly sort?: 'alpha' | 'filename' | ((a: ResolvedPage, b: ResolvedPage) => number);
624
- /**
625
- * Enable recursive directory-based nesting for glob patterns.
626
- * When true, directory structure under the glob base drives sidebar nesting:
627
- * - The `indexFile` (default `"overview"`) in a directory becomes the section header page
628
- * - Other `.md` files become children
629
- * - Sub-directories become nested collapsible sections
630
- *
631
- * Requires `from` with a recursive glob (e.g. `"docs/**\/*.md"`) and `prefix`.
632
- * @default false
633
- */
634
- readonly recursive?: boolean;
635
- /**
636
- * Filename (without extension) used as the section header page in each directory.
637
- * Only meaningful when `recursive` is true.
638
- * @default "overview"
639
- */
640
- readonly indexFile?: string;
641
- /**
642
- * Card display metadata for the parent section's auto-generated landing page.
643
- *
644
- * When present on child sections, the parent's landing page uses
645
- * workspace-style cards instead of the default simple cards.
646
- */
647
- readonly card?: CardConfig;
648
- /**
649
- * SEO meta tag overrides for this page.
650
- * Merges with site-level SEO config.
651
- */
652
- readonly seo?: SeoConfig;
653
411
  }
654
412
 
655
413
  /**
656
414
  * SEO meta tag configuration.
415
+ * No schema — this is a type-only definition used for future extension.
657
416
  */
658
417
  export declare interface SeoConfig {
659
- /**
660
- * Meta title (for `<title>` tag and og:title).
661
- * Falls back to site title or page title.
662
- */
663
418
  readonly title?: string;
664
- /**
665
- * Meta description (for description and og:description).
666
- * Falls back to site description or auto-generated from content.
667
- */
668
419
  readonly description?: string;
669
- /**
670
- * Open Graph image URL.
671
- * Falls back to `/og-image.png` (auto-generated from banner.svg).
672
- */
673
420
  readonly image?: string;
674
- /**
675
- * OG site name. Defaults to site title.
676
- */
677
421
  readonly siteName?: string;
678
- /**
679
- * OG locale (e.g. "en_US"). Defaults to "en_US".
680
- */
681
422
  readonly locale?: string;
682
- /**
683
- * Twitter card type. Defaults to "summary_large_image".
684
- */
685
423
  readonly twitterCard?: 'summary' | 'summary_large_image' | 'app' | 'player';
686
424
  }
687
425
 
426
+ /**
427
+ * Sidebar configuration.
428
+ *
429
+ * Schema: `sidebarConfigSchema` in schema.ts validates this shape.
430
+ *
431
+ * @example
432
+ * ```ts
433
+ * sidebar: {
434
+ * above: [
435
+ * { text: 'Home', link: '/', icon: 'pixelarticons:home' },
436
+ * ],
437
+ * below: [
438
+ * { text: 'GitHub', link: 'https://github.com/...', icon: 'pixelarticons:github' },
439
+ * { text: 'Discord', link: 'https://discord.gg/...', icon: 'pixelarticons:message' },
440
+ * ],
441
+ * }
442
+ * ```
443
+ */
444
+ export declare interface SidebarConfig {
445
+ readonly above?: readonly SidebarLink[];
446
+ readonly below?: readonly SidebarLink[];
447
+ }
448
+
449
+ /**
450
+ * A persistent link rendered above or below the sidebar nav tree.
451
+ *
452
+ * Schema: `sidebarLinkSchema` in schema.ts validates this shape.
453
+ */
454
+ export declare interface SidebarLink {
455
+ readonly text: string;
456
+ readonly link: string;
457
+ readonly icon?: string | {
458
+ readonly id: string;
459
+ readonly color: string;
460
+ };
461
+ }
462
+
688
463
  export { THEME_NAMES }
689
464
 
690
465
  export { ThemeColors }
@@ -696,6 +471,8 @@ export { ThemeName }
696
471
  /**
697
472
  * Title configuration — static or derived from source files.
698
473
  *
474
+ * Schema: `titleConfigSchema` in schema.ts validates this shape.
475
+ *
699
476
  * **Static title**:
700
477
  * ```ts
701
478
  * title: "Getting Started"
@@ -725,7 +502,7 @@ export declare type TitleConfig = string | {
725
502
  };
726
503
 
727
504
  /**
728
- * URL path (e.g. `"/guides/add-api-route"`)
505
+ * URL path segment (e.g. `"/api"`, `"/guides/auth"`).
729
506
  */
730
507
  declare type UrlPath = string;
731
508
 
@@ -740,68 +517,40 @@ export declare function validateConfig(config: unknown): ConfigResult<ZpressConf
740
517
  /**
741
518
  * Workspace item representing an app or package in the monorepo.
742
519
  *
743
- * Used as the single source of truth for workspace metadata — home page cards,
744
- * landing page cards, and introduction bullets all derive from these arrays.
520
+ * Schema: `workspaceItemSchema` in schema.ts validates this shape.
745
521
  *
746
522
  * @example
747
523
  * ```ts
748
524
  * {
749
525
  * title: 'API',
750
526
  * icon: 'devicon:hono',
751
- * description: 'Hono REST API serving all client applications with RPC-typed routes',
527
+ * description: 'Hono REST API serving all client applications',
752
528
  * tags: ['hono', 'react', 'vercel'],
753
- * badge: { src: '/logos/vercel.svg', alt: 'Vercel' },
754
529
  * prefix: '/apps/api',
755
- * discovery: {
756
- * from: 'docs/*.md',
757
- * title: { from: 'auto' },
758
- * },
530
+ * discovery: { from: 'docs/*.md', title: { from: 'auto' } },
759
531
  * }
760
532
  * ```
761
533
  */
762
- export declare interface Workspace extends Entry {
763
- /**
764
- * URL prefix for this workspace item's documentation (e.g. "/apps/api").
765
- */
766
- readonly prefix: string;
767
- /**
768
- * Technology tags — kebab-case keys resolved by the UI TechTag component.
769
- * Each tag maps to an Iconify icon and display label.
770
- */
534
+ export declare interface Workspace {
535
+ readonly title: TitleConfig;
536
+ readonly icon?: string;
537
+ readonly iconColor?: string;
538
+ readonly description: string;
771
539
  readonly tags?: readonly string[];
772
- /**
773
- * Deploy badge image for the card header.
774
- */
775
540
  readonly badge?: {
776
541
  readonly src: string;
777
542
  readonly alt: string;
778
543
  };
779
- /**
780
- * Content discovery configuration for this workspace item's documentation.
781
- * The `from` field is **relative to the workspace base path** (derived from `prefix`).
782
- *
783
- * For example, `prefix: "/apps/api"` + `discovery.from: "docs/*.md"`
784
- * resolves to `apps/api/docs/*.md` (repo-root relative).
785
- *
786
- * @default { from: "docs/*.md", title: { from: 'auto' } }
787
- */
544
+ readonly prefix: string;
788
545
  readonly discovery?: Discovery;
789
- /**
790
- * Explicit child sections. Can be combined with discovery — explicit children override glob-discovered pages.
791
- */
792
546
  readonly items?: readonly Section[];
793
- /**
794
- * Make this item's section collapsible in the sidebar.
795
- */
796
- readonly collapsible?: boolean;
547
+ readonly openapi?: OpenAPIConfig;
797
548
  }
798
549
 
799
550
  /**
800
551
  * Custom workspace category grouping apps/packages.
801
552
  *
802
- * Lets users define arbitrary groups beyond the built-in `apps` and `packages`
803
- * (e.g. "Services", "Tools", "Integrations") that receive the same
804
- * card/landing-page treatment.
553
+ * Schema: `workspaceGroupSchema` in schema.ts validates this shape.
805
554
  *
806
555
  * @example
807
556
  * ```ts
@@ -815,109 +564,37 @@ export declare interface Workspace extends Entry {
815
564
  * }
816
565
  * ```
817
566
  */
818
- export declare interface WorkspaceCategory extends Entry {
819
- /**
820
- * Workspace items in this category.
821
- */
567
+ export declare interface WorkspaceCategory {
568
+ readonly title: TitleConfig;
569
+ readonly description: string;
570
+ readonly icon: string;
822
571
  readonly items: readonly Workspace[];
823
- /**
824
- * URL prefix override for the category's landing page.
825
- * Defaults to `/${slugify(title)}` when omitted.
826
- */
827
572
  readonly link?: string;
828
573
  }
829
574
 
830
575
  /**
831
- * @deprecated Use `WorkspaceCategory` instead
832
- */
833
- export declare type WorkspaceGroup = WorkspaceCategory;
834
-
835
- /**
836
- * @deprecated Use `Workspace` instead
576
+ * zpress configuration.
577
+ *
578
+ * Schema: `zpressConfigSchema` in schema.ts validates this shape.
579
+ * The information architecture tree IS the config — each node defines
580
+ * what it is, where its content comes from, and where it sits in the sidebar.
837
581
  */
838
- export declare type WorkspaceItem = Workspace;
839
-
840
582
  export declare interface ZpressConfig {
841
- /**
842
- * Site title.
843
- */
844
583
  readonly title?: string;
845
- /**
846
- * Site meta description. Used as the hero headline on the home page.
847
- */
848
584
  readonly description?: string;
849
- /**
850
- * Theme configuration.
851
- * Controls the visual theme, color mode, and optional color overrides.
852
- */
853
585
  readonly theme?: ThemeConfig;
854
- /**
855
- * Path to a custom favicon file served from `.zpress/public/`.
856
- * When omitted, defaults to the auto-generated `/icon.svg`.
857
- */
858
586
  readonly icon?: string;
859
- /**
860
- * Hero tagline displayed below the headline on the home page.
861
- * When omitted, the tagline is not rendered.
862
- */
863
587
  readonly tagline?: string;
864
- /**
865
- * Hero section override for the home page.
866
- * When omitted, uses site-level title, description, and tagline.
867
- */
868
- readonly hero?: HeroConfig;
869
- /**
870
- * SEO meta tag configuration for the entire site.
871
- * Individual sections can override with their own seo config.
872
- */
588
+ readonly actions?: readonly HeroAction[];
873
589
  readonly seo?: SeoConfig;
874
- /**
875
- * Workspace apps — deployable services that make up the platform.
876
- * Single source of truth for app metadata used on the home page,
877
- * landing pages, and introduction page.
878
- */
879
590
  readonly apps?: readonly Workspace[];
880
- /**
881
- * Workspace packages — shared libraries consumed by apps.
882
- * Single source of truth for package metadata used on the home page,
883
- * landing pages, and introduction page.
884
- */
885
591
  readonly packages?: readonly Workspace[];
886
- /**
887
- * Custom workspace groups — arbitrary named groups of workspace items.
888
- * Each group receives the same card/landing-page treatment as apps and packages.
889
- * Rendered after apps and packages, in array order.
890
- */
891
592
  readonly workspaces?: readonly WorkspaceCategory[];
892
- /**
893
- * Explicit feature cards for the home page.
894
- *
895
- * When provided, these replace the auto-generated feature cards
896
- * that are normally derived from top-level sections.
897
- * When omitted, features are auto-generated from sections with icons.
898
- */
899
593
  readonly features?: readonly Feature[];
900
- /**
901
- * The information architecture.
902
- * Defines content sources, sidebar structure, and routing in a single tree.
903
- */
594
+ readonly sidebar?: SidebarConfig;
904
595
  readonly sections: readonly Section[];
905
- /**
906
- * Top navigation bar.
907
- * - `"auto"` (default) — one nav item per top-level non-isolated section
908
- * - Array — explicit nav items
909
- *
910
- * Note: Sections with `isolated: true` are excluded from auto nav generation.
911
- * @default "auto"
912
- */
913
596
  readonly nav?: 'auto' | readonly NavItem[];
914
- /**
915
- * Globs to exclude globally across all sources.
916
- */
917
- readonly exclude?: readonly GlobPattern[];
918
- /**
919
- * OpenAPI spec integration for interactive API docs.
920
- */
597
+ readonly exclude?: readonly string[];
921
598
  readonly openapi?: OpenAPIConfig;
922
599
  }
923
600
 
@@ -1098,13 +775,13 @@ export declare const zpressConfigSchema: z.ZodObject<{
1098
775
  apps: z.ZodOptional<z.ZodArray<z.ZodObject<{
1099
776
  title: z.ZodUnion<[z.ZodString, z.ZodObject<{
1100
777
  from: z.ZodEnum<["auto", "filename", "heading", "frontmatter"]>;
1101
- transform: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>;
778
+ transform: z.ZodOptional<z.ZodType<(text: string, slug: string) => string, z.ZodTypeDef, (text: string, slug: string) => string>>;
1102
779
  }, "strict", z.ZodTypeAny, {
1103
780
  from: "auto" | "filename" | "heading" | "frontmatter";
1104
- transform?: ((...args: unknown[]) => unknown) | undefined;
781
+ transform?: ((text: string, slug: string) => string) | undefined;
1105
782
  }, {
1106
783
  from: "auto" | "filename" | "heading" | "frontmatter";
1107
- transform?: ((...args: unknown[]) => unknown) | undefined;
784
+ transform?: ((text: string, slug: string) => string) | undefined;
1108
785
  }>]>;
1109
786
  icon: z.ZodOptional<z.ZodString>;
1110
787
  iconColor: z.ZodOptional<z.ZodString>;
@@ -1125,15 +802,15 @@ export declare const zpressConfigSchema: z.ZodObject<{
1125
802
  from: z.ZodOptional<z.ZodString>;
1126
803
  title: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
1127
804
  from: z.ZodEnum<["auto", "filename", "heading", "frontmatter"]>;
1128
- transform: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>;
805
+ transform: z.ZodOptional<z.ZodType<(text: string, slug: string) => string, z.ZodTypeDef, (text: string, slug: string) => string>>;
1129
806
  }, "strict", z.ZodTypeAny, {
1130
807
  from: "auto" | "filename" | "heading" | "frontmatter";
1131
- transform?: ((...args: unknown[]) => unknown) | undefined;
808
+ transform?: ((text: string, slug: string) => string) | undefined;
1132
809
  }, {
1133
810
  from: "auto" | "filename" | "heading" | "frontmatter";
1134
- transform?: ((...args: unknown[]) => unknown) | undefined;
811
+ transform?: ((text: string, slug: string) => string) | undefined;
1135
812
  }>]>>;
1136
- sort: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["alpha", "filename"]>, z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>]>>;
813
+ sort: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["default", "alpha", "filename"]>, z.ZodType<(a: ResolvedPage, b: ResolvedPage) => number, z.ZodTypeDef, (a: ResolvedPage, b: ResolvedPage) => number>]>>;
1137
814
  exclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1138
815
  frontmatter: z.ZodOptional<z.ZodObject<{
1139
816
  title: z.ZodOptional<z.ZodString>;
@@ -1183,7 +860,7 @@ export declare const zpressConfigSchema: z.ZodObject<{
1183
860
  }, "strict", z.ZodTypeAny, {
1184
861
  title?: string | {
1185
862
  from: "auto" | "filename" | "heading" | "frontmatter";
1186
- transform?: ((...args: unknown[]) => unknown) | undefined;
863
+ transform?: ((text: string, slug: string) => string) | undefined;
1187
864
  } | undefined;
1188
865
  frontmatter?: z.objectOutputType<{
1189
866
  title: z.ZodOptional<z.ZodString>;
@@ -1200,15 +877,15 @@ export declare const zpressConfigSchema: z.ZodObject<{
1200
877
  pageClass: z.ZodOptional<z.ZodString>;
1201
878
  head: z.ZodOptional<z.ZodArray<z.ZodTuple<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>], null>, "many">>;
1202
879
  }, z.ZodTypeAny, "passthrough"> | undefined;
1203
- recursive?: boolean | undefined;
1204
- indexFile?: string | undefined;
1205
- sort?: "filename" | "alpha" | ((...args: unknown[]) => unknown) | undefined;
880
+ sort?: "filename" | "default" | "alpha" | ((a: ResolvedPage, b: ResolvedPage) => number) | undefined;
1206
881
  from?: string | undefined;
1207
882
  exclude?: string[] | undefined;
883
+ recursive?: boolean | undefined;
884
+ indexFile?: string | undefined;
1208
885
  }, {
1209
886
  title?: string | {
1210
887
  from: "auto" | "filename" | "heading" | "frontmatter";
1211
- transform?: ((...args: unknown[]) => unknown) | undefined;
888
+ transform?: ((text: string, slug: string) => string) | undefined;
1212
889
  } | undefined;
1213
890
  frontmatter?: z.objectInputType<{
1214
891
  title: z.ZodOptional<z.ZodString>;
@@ -1225,21 +902,37 @@ export declare const zpressConfigSchema: z.ZodObject<{
1225
902
  pageClass: z.ZodOptional<z.ZodString>;
1226
903
  head: z.ZodOptional<z.ZodArray<z.ZodTuple<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>], null>, "many">>;
1227
904
  }, z.ZodTypeAny, "passthrough"> | undefined;
1228
- recursive?: boolean | undefined;
1229
- indexFile?: string | undefined;
1230
- sort?: "filename" | "alpha" | ((...args: unknown[]) => unknown) | undefined;
905
+ sort?: "filename" | "default" | "alpha" | ((a: ResolvedPage, b: ResolvedPage) => number) | undefined;
1231
906
  from?: string | undefined;
1232
907
  exclude?: string[] | undefined;
908
+ recursive?: boolean | undefined;
909
+ indexFile?: string | undefined;
910
+ }>>;
911
+ items: z.ZodOptional<z.ZodArray<z.ZodType<Section, z.ZodTypeDef, Section>, "many">>;
912
+ openapi: z.ZodOptional<z.ZodObject<{
913
+ spec: z.ZodString;
914
+ prefix: z.ZodString;
915
+ title: z.ZodOptional<z.ZodString>;
916
+ sidebarLayout: z.ZodOptional<z.ZodEnum<["method-path", "title"]>>;
917
+ }, "strict", z.ZodTypeAny, {
918
+ prefix: string;
919
+ spec: string;
920
+ title?: string | undefined;
921
+ sidebarLayout?: "title" | "method-path" | undefined;
922
+ }, {
923
+ prefix: string;
924
+ spec: string;
925
+ title?: string | undefined;
926
+ sidebarLayout?: "title" | "method-path" | undefined;
1233
927
  }>>;
1234
- items: z.ZodOptional<z.ZodArray<z.ZodType<unknown, z.ZodTypeDef, unknown>, "many">>;
1235
928
  }, "strict", z.ZodTypeAny, {
1236
929
  title: string | {
1237
930
  from: "auto" | "filename" | "heading" | "frontmatter";
1238
- transform?: ((...args: unknown[]) => unknown) | undefined;
931
+ transform?: ((text: string, slug: string) => string) | undefined;
1239
932
  };
1240
933
  description: string;
1241
934
  prefix: string;
1242
- items?: unknown[] | undefined;
935
+ items?: Section[] | undefined;
1243
936
  icon?: string | undefined;
1244
937
  iconColor?: string | undefined;
1245
938
  tags?: string[] | undefined;
@@ -1250,7 +943,7 @@ export declare const zpressConfigSchema: z.ZodObject<{
1250
943
  discovery?: {
1251
944
  title?: string | {
1252
945
  from: "auto" | "filename" | "heading" | "frontmatter";
1253
- transform?: ((...args: unknown[]) => unknown) | undefined;
946
+ transform?: ((text: string, slug: string) => string) | undefined;
1254
947
  } | undefined;
1255
948
  frontmatter?: z.objectOutputType<{
1256
949
  title: z.ZodOptional<z.ZodString>;
@@ -1267,20 +960,26 @@ export declare const zpressConfigSchema: z.ZodObject<{
1267
960
  pageClass: z.ZodOptional<z.ZodString>;
1268
961
  head: z.ZodOptional<z.ZodArray<z.ZodTuple<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>], null>, "many">>;
1269
962
  }, z.ZodTypeAny, "passthrough"> | undefined;
1270
- recursive?: boolean | undefined;
1271
- indexFile?: string | undefined;
1272
- sort?: "filename" | "alpha" | ((...args: unknown[]) => unknown) | undefined;
963
+ sort?: "filename" | "default" | "alpha" | ((a: ResolvedPage, b: ResolvedPage) => number) | undefined;
1273
964
  from?: string | undefined;
1274
965
  exclude?: string[] | undefined;
966
+ recursive?: boolean | undefined;
967
+ indexFile?: string | undefined;
968
+ } | undefined;
969
+ openapi?: {
970
+ prefix: string;
971
+ spec: string;
972
+ title?: string | undefined;
973
+ sidebarLayout?: "title" | "method-path" | undefined;
1275
974
  } | undefined;
1276
975
  }, {
1277
976
  title: string | {
1278
977
  from: "auto" | "filename" | "heading" | "frontmatter";
1279
- transform?: ((...args: unknown[]) => unknown) | undefined;
978
+ transform?: ((text: string, slug: string) => string) | undefined;
1280
979
  };
1281
980
  description: string;
1282
981
  prefix: string;
1283
- items?: unknown[] | undefined;
982
+ items?: Section[] | undefined;
1284
983
  icon?: string | undefined;
1285
984
  iconColor?: string | undefined;
1286
985
  tags?: string[] | undefined;
@@ -1291,7 +990,7 @@ export declare const zpressConfigSchema: z.ZodObject<{
1291
990
  discovery?: {
1292
991
  title?: string | {
1293
992
  from: "auto" | "filename" | "heading" | "frontmatter";
1294
- transform?: ((...args: unknown[]) => unknown) | undefined;
993
+ transform?: ((text: string, slug: string) => string) | undefined;
1295
994
  } | undefined;
1296
995
  frontmatter?: z.objectInputType<{
1297
996
  title: z.ZodOptional<z.ZodString>;
@@ -1308,23 +1007,29 @@ export declare const zpressConfigSchema: z.ZodObject<{
1308
1007
  pageClass: z.ZodOptional<z.ZodString>;
1309
1008
  head: z.ZodOptional<z.ZodArray<z.ZodTuple<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>], null>, "many">>;
1310
1009
  }, z.ZodTypeAny, "passthrough"> | undefined;
1311
- recursive?: boolean | undefined;
1312
- indexFile?: string | undefined;
1313
- sort?: "filename" | "alpha" | ((...args: unknown[]) => unknown) | undefined;
1010
+ sort?: "filename" | "default" | "alpha" | ((a: ResolvedPage, b: ResolvedPage) => number) | undefined;
1314
1011
  from?: string | undefined;
1315
1012
  exclude?: string[] | undefined;
1013
+ recursive?: boolean | undefined;
1014
+ indexFile?: string | undefined;
1015
+ } | undefined;
1016
+ openapi?: {
1017
+ prefix: string;
1018
+ spec: string;
1019
+ title?: string | undefined;
1020
+ sidebarLayout?: "title" | "method-path" | undefined;
1316
1021
  } | undefined;
1317
1022
  }>, "many">>;
1318
1023
  packages: z.ZodOptional<z.ZodArray<z.ZodObject<{
1319
1024
  title: z.ZodUnion<[z.ZodString, z.ZodObject<{
1320
1025
  from: z.ZodEnum<["auto", "filename", "heading", "frontmatter"]>;
1321
- transform: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>;
1026
+ transform: z.ZodOptional<z.ZodType<(text: string, slug: string) => string, z.ZodTypeDef, (text: string, slug: string) => string>>;
1322
1027
  }, "strict", z.ZodTypeAny, {
1323
1028
  from: "auto" | "filename" | "heading" | "frontmatter";
1324
- transform?: ((...args: unknown[]) => unknown) | undefined;
1029
+ transform?: ((text: string, slug: string) => string) | undefined;
1325
1030
  }, {
1326
1031
  from: "auto" | "filename" | "heading" | "frontmatter";
1327
- transform?: ((...args: unknown[]) => unknown) | undefined;
1032
+ transform?: ((text: string, slug: string) => string) | undefined;
1328
1033
  }>]>;
1329
1034
  icon: z.ZodOptional<z.ZodString>;
1330
1035
  iconColor: z.ZodOptional<z.ZodString>;
@@ -1345,15 +1050,15 @@ export declare const zpressConfigSchema: z.ZodObject<{
1345
1050
  from: z.ZodOptional<z.ZodString>;
1346
1051
  title: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
1347
1052
  from: z.ZodEnum<["auto", "filename", "heading", "frontmatter"]>;
1348
- transform: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>;
1053
+ transform: z.ZodOptional<z.ZodType<(text: string, slug: string) => string, z.ZodTypeDef, (text: string, slug: string) => string>>;
1349
1054
  }, "strict", z.ZodTypeAny, {
1350
1055
  from: "auto" | "filename" | "heading" | "frontmatter";
1351
- transform?: ((...args: unknown[]) => unknown) | undefined;
1056
+ transform?: ((text: string, slug: string) => string) | undefined;
1352
1057
  }, {
1353
1058
  from: "auto" | "filename" | "heading" | "frontmatter";
1354
- transform?: ((...args: unknown[]) => unknown) | undefined;
1059
+ transform?: ((text: string, slug: string) => string) | undefined;
1355
1060
  }>]>>;
1356
- sort: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["alpha", "filename"]>, z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>]>>;
1061
+ sort: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["default", "alpha", "filename"]>, z.ZodType<(a: ResolvedPage, b: ResolvedPage) => number, z.ZodTypeDef, (a: ResolvedPage, b: ResolvedPage) => number>]>>;
1357
1062
  exclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1358
1063
  frontmatter: z.ZodOptional<z.ZodObject<{
1359
1064
  title: z.ZodOptional<z.ZodString>;
@@ -1403,7 +1108,7 @@ export declare const zpressConfigSchema: z.ZodObject<{
1403
1108
  }, "strict", z.ZodTypeAny, {
1404
1109
  title?: string | {
1405
1110
  from: "auto" | "filename" | "heading" | "frontmatter";
1406
- transform?: ((...args: unknown[]) => unknown) | undefined;
1111
+ transform?: ((text: string, slug: string) => string) | undefined;
1407
1112
  } | undefined;
1408
1113
  frontmatter?: z.objectOutputType<{
1409
1114
  title: z.ZodOptional<z.ZodString>;
@@ -1420,15 +1125,15 @@ export declare const zpressConfigSchema: z.ZodObject<{
1420
1125
  pageClass: z.ZodOptional<z.ZodString>;
1421
1126
  head: z.ZodOptional<z.ZodArray<z.ZodTuple<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>], null>, "many">>;
1422
1127
  }, z.ZodTypeAny, "passthrough"> | undefined;
1423
- recursive?: boolean | undefined;
1424
- indexFile?: string | undefined;
1425
- sort?: "filename" | "alpha" | ((...args: unknown[]) => unknown) | undefined;
1128
+ sort?: "filename" | "default" | "alpha" | ((a: ResolvedPage, b: ResolvedPage) => number) | undefined;
1426
1129
  from?: string | undefined;
1427
1130
  exclude?: string[] | undefined;
1131
+ recursive?: boolean | undefined;
1132
+ indexFile?: string | undefined;
1428
1133
  }, {
1429
1134
  title?: string | {
1430
1135
  from: "auto" | "filename" | "heading" | "frontmatter";
1431
- transform?: ((...args: unknown[]) => unknown) | undefined;
1136
+ transform?: ((text: string, slug: string) => string) | undefined;
1432
1137
  } | undefined;
1433
1138
  frontmatter?: z.objectInputType<{
1434
1139
  title: z.ZodOptional<z.ZodString>;
@@ -1445,21 +1150,37 @@ export declare const zpressConfigSchema: z.ZodObject<{
1445
1150
  pageClass: z.ZodOptional<z.ZodString>;
1446
1151
  head: z.ZodOptional<z.ZodArray<z.ZodTuple<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>], null>, "many">>;
1447
1152
  }, z.ZodTypeAny, "passthrough"> | undefined;
1448
- recursive?: boolean | undefined;
1449
- indexFile?: string | undefined;
1450
- sort?: "filename" | "alpha" | ((...args: unknown[]) => unknown) | undefined;
1153
+ sort?: "filename" | "default" | "alpha" | ((a: ResolvedPage, b: ResolvedPage) => number) | undefined;
1451
1154
  from?: string | undefined;
1452
1155
  exclude?: string[] | undefined;
1156
+ recursive?: boolean | undefined;
1157
+ indexFile?: string | undefined;
1158
+ }>>;
1159
+ items: z.ZodOptional<z.ZodArray<z.ZodType<Section, z.ZodTypeDef, Section>, "many">>;
1160
+ openapi: z.ZodOptional<z.ZodObject<{
1161
+ spec: z.ZodString;
1162
+ prefix: z.ZodString;
1163
+ title: z.ZodOptional<z.ZodString>;
1164
+ sidebarLayout: z.ZodOptional<z.ZodEnum<["method-path", "title"]>>;
1165
+ }, "strict", z.ZodTypeAny, {
1166
+ prefix: string;
1167
+ spec: string;
1168
+ title?: string | undefined;
1169
+ sidebarLayout?: "title" | "method-path" | undefined;
1170
+ }, {
1171
+ prefix: string;
1172
+ spec: string;
1173
+ title?: string | undefined;
1174
+ sidebarLayout?: "title" | "method-path" | undefined;
1453
1175
  }>>;
1454
- items: z.ZodOptional<z.ZodArray<z.ZodType<unknown, z.ZodTypeDef, unknown>, "many">>;
1455
1176
  }, "strict", z.ZodTypeAny, {
1456
1177
  title: string | {
1457
1178
  from: "auto" | "filename" | "heading" | "frontmatter";
1458
- transform?: ((...args: unknown[]) => unknown) | undefined;
1179
+ transform?: ((text: string, slug: string) => string) | undefined;
1459
1180
  };
1460
1181
  description: string;
1461
1182
  prefix: string;
1462
- items?: unknown[] | undefined;
1183
+ items?: Section[] | undefined;
1463
1184
  icon?: string | undefined;
1464
1185
  iconColor?: string | undefined;
1465
1186
  tags?: string[] | undefined;
@@ -1470,7 +1191,7 @@ export declare const zpressConfigSchema: z.ZodObject<{
1470
1191
  discovery?: {
1471
1192
  title?: string | {
1472
1193
  from: "auto" | "filename" | "heading" | "frontmatter";
1473
- transform?: ((...args: unknown[]) => unknown) | undefined;
1194
+ transform?: ((text: string, slug: string) => string) | undefined;
1474
1195
  } | undefined;
1475
1196
  frontmatter?: z.objectOutputType<{
1476
1197
  title: z.ZodOptional<z.ZodString>;
@@ -1487,20 +1208,26 @@ export declare const zpressConfigSchema: z.ZodObject<{
1487
1208
  pageClass: z.ZodOptional<z.ZodString>;
1488
1209
  head: z.ZodOptional<z.ZodArray<z.ZodTuple<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>], null>, "many">>;
1489
1210
  }, z.ZodTypeAny, "passthrough"> | undefined;
1490
- recursive?: boolean | undefined;
1491
- indexFile?: string | undefined;
1492
- sort?: "filename" | "alpha" | ((...args: unknown[]) => unknown) | undefined;
1211
+ sort?: "filename" | "default" | "alpha" | ((a: ResolvedPage, b: ResolvedPage) => number) | undefined;
1493
1212
  from?: string | undefined;
1494
1213
  exclude?: string[] | undefined;
1214
+ recursive?: boolean | undefined;
1215
+ indexFile?: string | undefined;
1216
+ } | undefined;
1217
+ openapi?: {
1218
+ prefix: string;
1219
+ spec: string;
1220
+ title?: string | undefined;
1221
+ sidebarLayout?: "title" | "method-path" | undefined;
1495
1222
  } | undefined;
1496
1223
  }, {
1497
1224
  title: string | {
1498
1225
  from: "auto" | "filename" | "heading" | "frontmatter";
1499
- transform?: ((...args: unknown[]) => unknown) | undefined;
1226
+ transform?: ((text: string, slug: string) => string) | undefined;
1500
1227
  };
1501
1228
  description: string;
1502
1229
  prefix: string;
1503
- items?: unknown[] | undefined;
1230
+ items?: Section[] | undefined;
1504
1231
  icon?: string | undefined;
1505
1232
  iconColor?: string | undefined;
1506
1233
  tags?: string[] | undefined;
@@ -1511,7 +1238,7 @@ export declare const zpressConfigSchema: z.ZodObject<{
1511
1238
  discovery?: {
1512
1239
  title?: string | {
1513
1240
  from: "auto" | "filename" | "heading" | "frontmatter";
1514
- transform?: ((...args: unknown[]) => unknown) | undefined;
1241
+ transform?: ((text: string, slug: string) => string) | undefined;
1515
1242
  } | undefined;
1516
1243
  frontmatter?: z.objectInputType<{
1517
1244
  title: z.ZodOptional<z.ZodString>;
@@ -1528,36 +1255,42 @@ export declare const zpressConfigSchema: z.ZodObject<{
1528
1255
  pageClass: z.ZodOptional<z.ZodString>;
1529
1256
  head: z.ZodOptional<z.ZodArray<z.ZodTuple<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>], null>, "many">>;
1530
1257
  }, z.ZodTypeAny, "passthrough"> | undefined;
1531
- recursive?: boolean | undefined;
1532
- indexFile?: string | undefined;
1533
- sort?: "filename" | "alpha" | ((...args: unknown[]) => unknown) | undefined;
1258
+ sort?: "filename" | "default" | "alpha" | ((a: ResolvedPage, b: ResolvedPage) => number) | undefined;
1534
1259
  from?: string | undefined;
1535
1260
  exclude?: string[] | undefined;
1261
+ recursive?: boolean | undefined;
1262
+ indexFile?: string | undefined;
1263
+ } | undefined;
1264
+ openapi?: {
1265
+ prefix: string;
1266
+ spec: string;
1267
+ title?: string | undefined;
1268
+ sidebarLayout?: "title" | "method-path" | undefined;
1536
1269
  } | undefined;
1537
1270
  }>, "many">>;
1538
1271
  workspaces: z.ZodOptional<z.ZodArray<z.ZodObject<{
1539
1272
  title: z.ZodUnion<[z.ZodString, z.ZodObject<{
1540
1273
  from: z.ZodEnum<["auto", "filename", "heading", "frontmatter"]>;
1541
- transform: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>;
1274
+ transform: z.ZodOptional<z.ZodType<(text: string, slug: string) => string, z.ZodTypeDef, (text: string, slug: string) => string>>;
1542
1275
  }, "strict", z.ZodTypeAny, {
1543
1276
  from: "auto" | "filename" | "heading" | "frontmatter";
1544
- transform?: ((...args: unknown[]) => unknown) | undefined;
1277
+ transform?: ((text: string, slug: string) => string) | undefined;
1545
1278
  }, {
1546
1279
  from: "auto" | "filename" | "heading" | "frontmatter";
1547
- transform?: ((...args: unknown[]) => unknown) | undefined;
1280
+ transform?: ((text: string, slug: string) => string) | undefined;
1548
1281
  }>]>;
1549
1282
  description: z.ZodString;
1550
1283
  icon: z.ZodString;
1551
1284
  items: z.ZodArray<z.ZodObject<{
1552
1285
  title: z.ZodUnion<[z.ZodString, z.ZodObject<{
1553
1286
  from: z.ZodEnum<["auto", "filename", "heading", "frontmatter"]>;
1554
- transform: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>;
1287
+ transform: z.ZodOptional<z.ZodType<(text: string, slug: string) => string, z.ZodTypeDef, (text: string, slug: string) => string>>;
1555
1288
  }, "strict", z.ZodTypeAny, {
1556
1289
  from: "auto" | "filename" | "heading" | "frontmatter";
1557
- transform?: ((...args: unknown[]) => unknown) | undefined;
1290
+ transform?: ((text: string, slug: string) => string) | undefined;
1558
1291
  }, {
1559
1292
  from: "auto" | "filename" | "heading" | "frontmatter";
1560
- transform?: ((...args: unknown[]) => unknown) | undefined;
1293
+ transform?: ((text: string, slug: string) => string) | undefined;
1561
1294
  }>]>;
1562
1295
  icon: z.ZodOptional<z.ZodString>;
1563
1296
  iconColor: z.ZodOptional<z.ZodString>;
@@ -1578,15 +1311,15 @@ export declare const zpressConfigSchema: z.ZodObject<{
1578
1311
  from: z.ZodOptional<z.ZodString>;
1579
1312
  title: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
1580
1313
  from: z.ZodEnum<["auto", "filename", "heading", "frontmatter"]>;
1581
- transform: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>;
1314
+ transform: z.ZodOptional<z.ZodType<(text: string, slug: string) => string, z.ZodTypeDef, (text: string, slug: string) => string>>;
1582
1315
  }, "strict", z.ZodTypeAny, {
1583
1316
  from: "auto" | "filename" | "heading" | "frontmatter";
1584
- transform?: ((...args: unknown[]) => unknown) | undefined;
1317
+ transform?: ((text: string, slug: string) => string) | undefined;
1585
1318
  }, {
1586
1319
  from: "auto" | "filename" | "heading" | "frontmatter";
1587
- transform?: ((...args: unknown[]) => unknown) | undefined;
1320
+ transform?: ((text: string, slug: string) => string) | undefined;
1588
1321
  }>]>>;
1589
- sort: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["alpha", "filename"]>, z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>]>>;
1322
+ sort: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["default", "alpha", "filename"]>, z.ZodType<(a: ResolvedPage, b: ResolvedPage) => number, z.ZodTypeDef, (a: ResolvedPage, b: ResolvedPage) => number>]>>;
1590
1323
  exclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1591
1324
  frontmatter: z.ZodOptional<z.ZodObject<{
1592
1325
  title: z.ZodOptional<z.ZodString>;
@@ -1636,7 +1369,7 @@ export declare const zpressConfigSchema: z.ZodObject<{
1636
1369
  }, "strict", z.ZodTypeAny, {
1637
1370
  title?: string | {
1638
1371
  from: "auto" | "filename" | "heading" | "frontmatter";
1639
- transform?: ((...args: unknown[]) => unknown) | undefined;
1372
+ transform?: ((text: string, slug: string) => string) | undefined;
1640
1373
  } | undefined;
1641
1374
  frontmatter?: z.objectOutputType<{
1642
1375
  title: z.ZodOptional<z.ZodString>;
@@ -1653,15 +1386,15 @@ export declare const zpressConfigSchema: z.ZodObject<{
1653
1386
  pageClass: z.ZodOptional<z.ZodString>;
1654
1387
  head: z.ZodOptional<z.ZodArray<z.ZodTuple<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>], null>, "many">>;
1655
1388
  }, z.ZodTypeAny, "passthrough"> | undefined;
1656
- recursive?: boolean | undefined;
1657
- indexFile?: string | undefined;
1658
- sort?: "filename" | "alpha" | ((...args: unknown[]) => unknown) | undefined;
1389
+ sort?: "filename" | "default" | "alpha" | ((a: ResolvedPage, b: ResolvedPage) => number) | undefined;
1659
1390
  from?: string | undefined;
1660
1391
  exclude?: string[] | undefined;
1392
+ recursive?: boolean | undefined;
1393
+ indexFile?: string | undefined;
1661
1394
  }, {
1662
1395
  title?: string | {
1663
1396
  from: "auto" | "filename" | "heading" | "frontmatter";
1664
- transform?: ((...args: unknown[]) => unknown) | undefined;
1397
+ transform?: ((text: string, slug: string) => string) | undefined;
1665
1398
  } | undefined;
1666
1399
  frontmatter?: z.objectInputType<{
1667
1400
  title: z.ZodOptional<z.ZodString>;
@@ -1678,21 +1411,37 @@ export declare const zpressConfigSchema: z.ZodObject<{
1678
1411
  pageClass: z.ZodOptional<z.ZodString>;
1679
1412
  head: z.ZodOptional<z.ZodArray<z.ZodTuple<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>], null>, "many">>;
1680
1413
  }, z.ZodTypeAny, "passthrough"> | undefined;
1681
- recursive?: boolean | undefined;
1682
- indexFile?: string | undefined;
1683
- sort?: "filename" | "alpha" | ((...args: unknown[]) => unknown) | undefined;
1414
+ sort?: "filename" | "default" | "alpha" | ((a: ResolvedPage, b: ResolvedPage) => number) | undefined;
1684
1415
  from?: string | undefined;
1685
1416
  exclude?: string[] | undefined;
1417
+ recursive?: boolean | undefined;
1418
+ indexFile?: string | undefined;
1419
+ }>>;
1420
+ items: z.ZodOptional<z.ZodArray<z.ZodType<Section, z.ZodTypeDef, Section>, "many">>;
1421
+ openapi: z.ZodOptional<z.ZodObject<{
1422
+ spec: z.ZodString;
1423
+ prefix: z.ZodString;
1424
+ title: z.ZodOptional<z.ZodString>;
1425
+ sidebarLayout: z.ZodOptional<z.ZodEnum<["method-path", "title"]>>;
1426
+ }, "strict", z.ZodTypeAny, {
1427
+ prefix: string;
1428
+ spec: string;
1429
+ title?: string | undefined;
1430
+ sidebarLayout?: "title" | "method-path" | undefined;
1431
+ }, {
1432
+ prefix: string;
1433
+ spec: string;
1434
+ title?: string | undefined;
1435
+ sidebarLayout?: "title" | "method-path" | undefined;
1686
1436
  }>>;
1687
- items: z.ZodOptional<z.ZodArray<z.ZodType<unknown, z.ZodTypeDef, unknown>, "many">>;
1688
1437
  }, "strict", z.ZodTypeAny, {
1689
1438
  title: string | {
1690
1439
  from: "auto" | "filename" | "heading" | "frontmatter";
1691
- transform?: ((...args: unknown[]) => unknown) | undefined;
1440
+ transform?: ((text: string, slug: string) => string) | undefined;
1692
1441
  };
1693
1442
  description: string;
1694
1443
  prefix: string;
1695
- items?: unknown[] | undefined;
1444
+ items?: Section[] | undefined;
1696
1445
  icon?: string | undefined;
1697
1446
  iconColor?: string | undefined;
1698
1447
  tags?: string[] | undefined;
@@ -1703,7 +1452,7 @@ export declare const zpressConfigSchema: z.ZodObject<{
1703
1452
  discovery?: {
1704
1453
  title?: string | {
1705
1454
  from: "auto" | "filename" | "heading" | "frontmatter";
1706
- transform?: ((...args: unknown[]) => unknown) | undefined;
1455
+ transform?: ((text: string, slug: string) => string) | undefined;
1707
1456
  } | undefined;
1708
1457
  frontmatter?: z.objectOutputType<{
1709
1458
  title: z.ZodOptional<z.ZodString>;
@@ -1720,20 +1469,26 @@ export declare const zpressConfigSchema: z.ZodObject<{
1720
1469
  pageClass: z.ZodOptional<z.ZodString>;
1721
1470
  head: z.ZodOptional<z.ZodArray<z.ZodTuple<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>], null>, "many">>;
1722
1471
  }, z.ZodTypeAny, "passthrough"> | undefined;
1723
- recursive?: boolean | undefined;
1724
- indexFile?: string | undefined;
1725
- sort?: "filename" | "alpha" | ((...args: unknown[]) => unknown) | undefined;
1472
+ sort?: "filename" | "default" | "alpha" | ((a: ResolvedPage, b: ResolvedPage) => number) | undefined;
1726
1473
  from?: string | undefined;
1727
1474
  exclude?: string[] | undefined;
1475
+ recursive?: boolean | undefined;
1476
+ indexFile?: string | undefined;
1477
+ } | undefined;
1478
+ openapi?: {
1479
+ prefix: string;
1480
+ spec: string;
1481
+ title?: string | undefined;
1482
+ sidebarLayout?: "title" | "method-path" | undefined;
1728
1483
  } | undefined;
1729
1484
  }, {
1730
1485
  title: string | {
1731
1486
  from: "auto" | "filename" | "heading" | "frontmatter";
1732
- transform?: ((...args: unknown[]) => unknown) | undefined;
1487
+ transform?: ((text: string, slug: string) => string) | undefined;
1733
1488
  };
1734
1489
  description: string;
1735
1490
  prefix: string;
1736
- items?: unknown[] | undefined;
1491
+ items?: Section[] | undefined;
1737
1492
  icon?: string | undefined;
1738
1493
  iconColor?: string | undefined;
1739
1494
  tags?: string[] | undefined;
@@ -1744,7 +1499,7 @@ export declare const zpressConfigSchema: z.ZodObject<{
1744
1499
  discovery?: {
1745
1500
  title?: string | {
1746
1501
  from: "auto" | "filename" | "heading" | "frontmatter";
1747
- transform?: ((...args: unknown[]) => unknown) | undefined;
1502
+ transform?: ((text: string, slug: string) => string) | undefined;
1748
1503
  } | undefined;
1749
1504
  frontmatter?: z.objectInputType<{
1750
1505
  title: z.ZodOptional<z.ZodString>;
@@ -1761,28 +1516,34 @@ export declare const zpressConfigSchema: z.ZodObject<{
1761
1516
  pageClass: z.ZodOptional<z.ZodString>;
1762
1517
  head: z.ZodOptional<z.ZodArray<z.ZodTuple<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>], null>, "many">>;
1763
1518
  }, z.ZodTypeAny, "passthrough"> | undefined;
1764
- recursive?: boolean | undefined;
1765
- indexFile?: string | undefined;
1766
- sort?: "filename" | "alpha" | ((...args: unknown[]) => unknown) | undefined;
1519
+ sort?: "filename" | "default" | "alpha" | ((a: ResolvedPage, b: ResolvedPage) => number) | undefined;
1767
1520
  from?: string | undefined;
1768
1521
  exclude?: string[] | undefined;
1522
+ recursive?: boolean | undefined;
1523
+ indexFile?: string | undefined;
1524
+ } | undefined;
1525
+ openapi?: {
1526
+ prefix: string;
1527
+ spec: string;
1528
+ title?: string | undefined;
1529
+ sidebarLayout?: "title" | "method-path" | undefined;
1769
1530
  } | undefined;
1770
1531
  }>, "many">;
1771
1532
  link: z.ZodOptional<z.ZodString>;
1772
1533
  }, "strict", z.ZodTypeAny, {
1773
1534
  title: string | {
1774
1535
  from: "auto" | "filename" | "heading" | "frontmatter";
1775
- transform?: ((...args: unknown[]) => unknown) | undefined;
1536
+ transform?: ((text: string, slug: string) => string) | undefined;
1776
1537
  };
1777
1538
  description: string;
1778
1539
  items: {
1779
1540
  title: string | {
1780
1541
  from: "auto" | "filename" | "heading" | "frontmatter";
1781
- transform?: ((...args: unknown[]) => unknown) | undefined;
1542
+ transform?: ((text: string, slug: string) => string) | undefined;
1782
1543
  };
1783
1544
  description: string;
1784
1545
  prefix: string;
1785
- items?: unknown[] | undefined;
1546
+ items?: Section[] | undefined;
1786
1547
  icon?: string | undefined;
1787
1548
  iconColor?: string | undefined;
1788
1549
  tags?: string[] | undefined;
@@ -1793,7 +1554,7 @@ export declare const zpressConfigSchema: z.ZodObject<{
1793
1554
  discovery?: {
1794
1555
  title?: string | {
1795
1556
  from: "auto" | "filename" | "heading" | "frontmatter";
1796
- transform?: ((...args: unknown[]) => unknown) | undefined;
1557
+ transform?: ((text: string, slug: string) => string) | undefined;
1797
1558
  } | undefined;
1798
1559
  frontmatter?: z.objectOutputType<{
1799
1560
  title: z.ZodOptional<z.ZodString>;
@@ -1810,11 +1571,17 @@ export declare const zpressConfigSchema: z.ZodObject<{
1810
1571
  pageClass: z.ZodOptional<z.ZodString>;
1811
1572
  head: z.ZodOptional<z.ZodArray<z.ZodTuple<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>], null>, "many">>;
1812
1573
  }, z.ZodTypeAny, "passthrough"> | undefined;
1813
- recursive?: boolean | undefined;
1814
- indexFile?: string | undefined;
1815
- sort?: "filename" | "alpha" | ((...args: unknown[]) => unknown) | undefined;
1574
+ sort?: "filename" | "default" | "alpha" | ((a: ResolvedPage, b: ResolvedPage) => number) | undefined;
1816
1575
  from?: string | undefined;
1817
1576
  exclude?: string[] | undefined;
1577
+ recursive?: boolean | undefined;
1578
+ indexFile?: string | undefined;
1579
+ } | undefined;
1580
+ openapi?: {
1581
+ prefix: string;
1582
+ spec: string;
1583
+ title?: string | undefined;
1584
+ sidebarLayout?: "title" | "method-path" | undefined;
1818
1585
  } | undefined;
1819
1586
  }[];
1820
1587
  icon: string;
@@ -1822,17 +1589,17 @@ export declare const zpressConfigSchema: z.ZodObject<{
1822
1589
  }, {
1823
1590
  title: string | {
1824
1591
  from: "auto" | "filename" | "heading" | "frontmatter";
1825
- transform?: ((...args: unknown[]) => unknown) | undefined;
1592
+ transform?: ((text: string, slug: string) => string) | undefined;
1826
1593
  };
1827
1594
  description: string;
1828
1595
  items: {
1829
1596
  title: string | {
1830
1597
  from: "auto" | "filename" | "heading" | "frontmatter";
1831
- transform?: ((...args: unknown[]) => unknown) | undefined;
1598
+ transform?: ((text: string, slug: string) => string) | undefined;
1832
1599
  };
1833
1600
  description: string;
1834
1601
  prefix: string;
1835
- items?: unknown[] | undefined;
1602
+ items?: Section[] | undefined;
1836
1603
  icon?: string | undefined;
1837
1604
  iconColor?: string | undefined;
1838
1605
  tags?: string[] | undefined;
@@ -1843,7 +1610,7 @@ export declare const zpressConfigSchema: z.ZodObject<{
1843
1610
  discovery?: {
1844
1611
  title?: string | {
1845
1612
  from: "auto" | "filename" | "heading" | "frontmatter";
1846
- transform?: ((...args: unknown[]) => unknown) | undefined;
1613
+ transform?: ((text: string, slug: string) => string) | undefined;
1847
1614
  } | undefined;
1848
1615
  frontmatter?: z.objectInputType<{
1849
1616
  title: z.ZodOptional<z.ZodString>;
@@ -1860,11 +1627,17 @@ export declare const zpressConfigSchema: z.ZodObject<{
1860
1627
  pageClass: z.ZodOptional<z.ZodString>;
1861
1628
  head: z.ZodOptional<z.ZodArray<z.ZodTuple<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>], null>, "many">>;
1862
1629
  }, z.ZodTypeAny, "passthrough"> | undefined;
1863
- recursive?: boolean | undefined;
1864
- indexFile?: string | undefined;
1865
- sort?: "filename" | "alpha" | ((...args: unknown[]) => unknown) | undefined;
1630
+ sort?: "filename" | "default" | "alpha" | ((a: ResolvedPage, b: ResolvedPage) => number) | undefined;
1866
1631
  from?: string | undefined;
1867
1632
  exclude?: string[] | undefined;
1633
+ recursive?: boolean | undefined;
1634
+ indexFile?: string | undefined;
1635
+ } | undefined;
1636
+ openapi?: {
1637
+ prefix: string;
1638
+ spec: string;
1639
+ title?: string | undefined;
1640
+ sidebarLayout?: "title" | "method-path" | undefined;
1868
1641
  } | undefined;
1869
1642
  }[];
1870
1643
  icon: string;
@@ -1873,13 +1646,13 @@ export declare const zpressConfigSchema: z.ZodObject<{
1873
1646
  features: z.ZodOptional<z.ZodArray<z.ZodObject<{
1874
1647
  title: z.ZodUnion<[z.ZodString, z.ZodObject<{
1875
1648
  from: z.ZodEnum<["auto", "filename", "heading", "frontmatter"]>;
1876
- transform: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>;
1649
+ transform: z.ZodOptional<z.ZodType<(text: string, slug: string) => string, z.ZodTypeDef, (text: string, slug: string) => string>>;
1877
1650
  }, "strict", z.ZodTypeAny, {
1878
1651
  from: "auto" | "filename" | "heading" | "frontmatter";
1879
- transform?: ((...args: unknown[]) => unknown) | undefined;
1652
+ transform?: ((text: string, slug: string) => string) | undefined;
1880
1653
  }, {
1881
1654
  from: "auto" | "filename" | "heading" | "frontmatter";
1882
- transform?: ((...args: unknown[]) => unknown) | undefined;
1655
+ transform?: ((text: string, slug: string) => string) | undefined;
1883
1656
  }>]>;
1884
1657
  description: z.ZodString;
1885
1658
  link: z.ZodOptional<z.ZodString>;
@@ -1887,7 +1660,7 @@ export declare const zpressConfigSchema: z.ZodObject<{
1887
1660
  }, "strict", z.ZodTypeAny, {
1888
1661
  title: string | {
1889
1662
  from: "auto" | "filename" | "heading" | "frontmatter";
1890
- transform?: ((...args: unknown[]) => unknown) | undefined;
1663
+ transform?: ((text: string, slug: string) => string) | undefined;
1891
1664
  };
1892
1665
  description: string;
1893
1666
  link?: string | undefined;
@@ -1895,32 +1668,142 @@ export declare const zpressConfigSchema: z.ZodObject<{
1895
1668
  }, {
1896
1669
  title: string | {
1897
1670
  from: "auto" | "filename" | "heading" | "frontmatter";
1898
- transform?: ((...args: unknown[]) => unknown) | undefined;
1671
+ transform?: ((text: string, slug: string) => string) | undefined;
1899
1672
  };
1900
1673
  description: string;
1901
1674
  link?: string | undefined;
1902
1675
  icon?: string | undefined;
1903
1676
  }>, "many">>;
1904
- sections: z.ZodArray<z.ZodType<unknown, z.ZodTypeDef, unknown>, "many">;
1905
- nav: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodArray<z.ZodType<unknown, z.ZodTypeDef, unknown>, "many">]>>;
1906
- exclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1907
- openapi: z.ZodOptional<z.ZodObject<{
1908
- spec: z.ZodString;
1909
- prefix: z.ZodString;
1910
- title: z.ZodOptional<z.ZodString>;
1677
+ actions: z.ZodOptional<z.ZodArray<z.ZodObject<{
1678
+ theme: z.ZodEnum<["brand", "alt"]>;
1679
+ text: z.ZodString;
1680
+ link: z.ZodString;
1911
1681
  }, "strict", z.ZodTypeAny, {
1912
- prefix: string;
1913
- spec: string;
1914
- title?: string | undefined;
1682
+ link: string;
1683
+ text: string;
1684
+ theme: "brand" | "alt";
1915
1685
  }, {
1916
- prefix: string;
1917
- spec: string;
1918
- title?: string | undefined;
1686
+ link: string;
1687
+ text: string;
1688
+ theme: "brand" | "alt";
1689
+ }>, "many">>;
1690
+ sidebar: z.ZodOptional<z.ZodObject<{
1691
+ above: z.ZodOptional<z.ZodArray<z.ZodObject<{
1692
+ text: z.ZodString;
1693
+ link: z.ZodString;
1694
+ icon: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
1695
+ id: z.ZodString;
1696
+ color: z.ZodString;
1697
+ }, "strict", z.ZodTypeAny, {
1698
+ id: string;
1699
+ color: string;
1700
+ }, {
1701
+ id: string;
1702
+ color: string;
1703
+ }>]>>;
1704
+ }, "strict", z.ZodTypeAny, {
1705
+ link: string;
1706
+ text: string;
1707
+ icon?: string | {
1708
+ id: string;
1709
+ color: string;
1710
+ } | undefined;
1711
+ }, {
1712
+ link: string;
1713
+ text: string;
1714
+ icon?: string | {
1715
+ id: string;
1716
+ color: string;
1717
+ } | undefined;
1718
+ }>, "many">>;
1719
+ below: z.ZodOptional<z.ZodArray<z.ZodObject<{
1720
+ text: z.ZodString;
1721
+ link: z.ZodString;
1722
+ icon: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
1723
+ id: z.ZodString;
1724
+ color: z.ZodString;
1725
+ }, "strict", z.ZodTypeAny, {
1726
+ id: string;
1727
+ color: string;
1728
+ }, {
1729
+ id: string;
1730
+ color: string;
1731
+ }>]>>;
1732
+ }, "strict", z.ZodTypeAny, {
1733
+ link: string;
1734
+ text: string;
1735
+ icon?: string | {
1736
+ id: string;
1737
+ color: string;
1738
+ } | undefined;
1739
+ }, {
1740
+ link: string;
1741
+ text: string;
1742
+ icon?: string | {
1743
+ id: string;
1744
+ color: string;
1745
+ } | undefined;
1746
+ }>, "many">>;
1747
+ }, "strict", z.ZodTypeAny, {
1748
+ above?: {
1749
+ link: string;
1750
+ text: string;
1751
+ icon?: string | {
1752
+ id: string;
1753
+ color: string;
1754
+ } | undefined;
1755
+ }[] | undefined;
1756
+ below?: {
1757
+ link: string;
1758
+ text: string;
1759
+ icon?: string | {
1760
+ id: string;
1761
+ color: string;
1762
+ } | undefined;
1763
+ }[] | undefined;
1764
+ }, {
1765
+ above?: {
1766
+ link: string;
1767
+ text: string;
1768
+ icon?: string | {
1769
+ id: string;
1770
+ color: string;
1771
+ } | undefined;
1772
+ }[] | undefined;
1773
+ below?: {
1774
+ link: string;
1775
+ text: string;
1776
+ icon?: string | {
1777
+ id: string;
1778
+ color: string;
1779
+ } | undefined;
1780
+ }[] | undefined;
1919
1781
  }>>;
1782
+ sections: z.ZodArray<z.ZodType<Section, z.ZodTypeDef, Section>, "many">;
1783
+ nav: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodArray<z.ZodType<NavItem, z.ZodTypeDef, NavItem>, "many">]>>;
1784
+ exclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1920
1785
  }, "strict", z.ZodTypeAny, {
1921
- sections: unknown[];
1786
+ sections: Section[];
1922
1787
  title?: string | undefined;
1923
1788
  description?: string | undefined;
1789
+ sidebar?: {
1790
+ above?: {
1791
+ link: string;
1792
+ text: string;
1793
+ icon?: string | {
1794
+ id: string;
1795
+ color: string;
1796
+ } | undefined;
1797
+ }[] | undefined;
1798
+ below?: {
1799
+ link: string;
1800
+ text: string;
1801
+ icon?: string | {
1802
+ id: string;
1803
+ color: string;
1804
+ } | undefined;
1805
+ }[] | undefined;
1806
+ } | undefined;
1924
1807
  exclude?: string[] | undefined;
1925
1808
  icon?: string | undefined;
1926
1809
  theme?: {
@@ -1964,11 +1847,11 @@ export declare const zpressConfigSchema: z.ZodObject<{
1964
1847
  apps?: {
1965
1848
  title: string | {
1966
1849
  from: "auto" | "filename" | "heading" | "frontmatter";
1967
- transform?: ((...args: unknown[]) => unknown) | undefined;
1850
+ transform?: ((text: string, slug: string) => string) | undefined;
1968
1851
  };
1969
1852
  description: string;
1970
1853
  prefix: string;
1971
- items?: unknown[] | undefined;
1854
+ items?: Section[] | undefined;
1972
1855
  icon?: string | undefined;
1973
1856
  iconColor?: string | undefined;
1974
1857
  tags?: string[] | undefined;
@@ -1979,7 +1862,7 @@ export declare const zpressConfigSchema: z.ZodObject<{
1979
1862
  discovery?: {
1980
1863
  title?: string | {
1981
1864
  from: "auto" | "filename" | "heading" | "frontmatter";
1982
- transform?: ((...args: unknown[]) => unknown) | undefined;
1865
+ transform?: ((text: string, slug: string) => string) | undefined;
1983
1866
  } | undefined;
1984
1867
  frontmatter?: z.objectOutputType<{
1985
1868
  title: z.ZodOptional<z.ZodString>;
@@ -1996,21 +1879,27 @@ export declare const zpressConfigSchema: z.ZodObject<{
1996
1879
  pageClass: z.ZodOptional<z.ZodString>;
1997
1880
  head: z.ZodOptional<z.ZodArray<z.ZodTuple<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>], null>, "many">>;
1998
1881
  }, z.ZodTypeAny, "passthrough"> | undefined;
1999
- recursive?: boolean | undefined;
2000
- indexFile?: string | undefined;
2001
- sort?: "filename" | "alpha" | ((...args: unknown[]) => unknown) | undefined;
1882
+ sort?: "filename" | "default" | "alpha" | ((a: ResolvedPage, b: ResolvedPage) => number) | undefined;
2002
1883
  from?: string | undefined;
2003
1884
  exclude?: string[] | undefined;
1885
+ recursive?: boolean | undefined;
1886
+ indexFile?: string | undefined;
1887
+ } | undefined;
1888
+ openapi?: {
1889
+ prefix: string;
1890
+ spec: string;
1891
+ title?: string | undefined;
1892
+ sidebarLayout?: "title" | "method-path" | undefined;
2004
1893
  } | undefined;
2005
1894
  }[] | undefined;
2006
1895
  packages?: {
2007
1896
  title: string | {
2008
1897
  from: "auto" | "filename" | "heading" | "frontmatter";
2009
- transform?: ((...args: unknown[]) => unknown) | undefined;
1898
+ transform?: ((text: string, slug: string) => string) | undefined;
2010
1899
  };
2011
1900
  description: string;
2012
1901
  prefix: string;
2013
- items?: unknown[] | undefined;
1902
+ items?: Section[] | undefined;
2014
1903
  icon?: string | undefined;
2015
1904
  iconColor?: string | undefined;
2016
1905
  tags?: string[] | undefined;
@@ -2021,7 +1910,7 @@ export declare const zpressConfigSchema: z.ZodObject<{
2021
1910
  discovery?: {
2022
1911
  title?: string | {
2023
1912
  from: "auto" | "filename" | "heading" | "frontmatter";
2024
- transform?: ((...args: unknown[]) => unknown) | undefined;
1913
+ transform?: ((text: string, slug: string) => string) | undefined;
2025
1914
  } | undefined;
2026
1915
  frontmatter?: z.objectOutputType<{
2027
1916
  title: z.ZodOptional<z.ZodString>;
@@ -2038,27 +1927,33 @@ export declare const zpressConfigSchema: z.ZodObject<{
2038
1927
  pageClass: z.ZodOptional<z.ZodString>;
2039
1928
  head: z.ZodOptional<z.ZodArray<z.ZodTuple<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>], null>, "many">>;
2040
1929
  }, z.ZodTypeAny, "passthrough"> | undefined;
2041
- recursive?: boolean | undefined;
2042
- indexFile?: string | undefined;
2043
- sort?: "filename" | "alpha" | ((...args: unknown[]) => unknown) | undefined;
1930
+ sort?: "filename" | "default" | "alpha" | ((a: ResolvedPage, b: ResolvedPage) => number) | undefined;
2044
1931
  from?: string | undefined;
2045
1932
  exclude?: string[] | undefined;
1933
+ recursive?: boolean | undefined;
1934
+ indexFile?: string | undefined;
1935
+ } | undefined;
1936
+ openapi?: {
1937
+ prefix: string;
1938
+ spec: string;
1939
+ title?: string | undefined;
1940
+ sidebarLayout?: "title" | "method-path" | undefined;
2046
1941
  } | undefined;
2047
1942
  }[] | undefined;
2048
1943
  workspaces?: {
2049
1944
  title: string | {
2050
1945
  from: "auto" | "filename" | "heading" | "frontmatter";
2051
- transform?: ((...args: unknown[]) => unknown) | undefined;
1946
+ transform?: ((text: string, slug: string) => string) | undefined;
2052
1947
  };
2053
1948
  description: string;
2054
1949
  items: {
2055
1950
  title: string | {
2056
1951
  from: "auto" | "filename" | "heading" | "frontmatter";
2057
- transform?: ((...args: unknown[]) => unknown) | undefined;
1952
+ transform?: ((text: string, slug: string) => string) | undefined;
2058
1953
  };
2059
1954
  description: string;
2060
1955
  prefix: string;
2061
- items?: unknown[] | undefined;
1956
+ items?: Section[] | undefined;
2062
1957
  icon?: string | undefined;
2063
1958
  iconColor?: string | undefined;
2064
1959
  tags?: string[] | undefined;
@@ -2069,7 +1964,7 @@ export declare const zpressConfigSchema: z.ZodObject<{
2069
1964
  discovery?: {
2070
1965
  title?: string | {
2071
1966
  from: "auto" | "filename" | "heading" | "frontmatter";
2072
- transform?: ((...args: unknown[]) => unknown) | undefined;
1967
+ transform?: ((text: string, slug: string) => string) | undefined;
2073
1968
  } | undefined;
2074
1969
  frontmatter?: z.objectOutputType<{
2075
1970
  title: z.ZodOptional<z.ZodString>;
@@ -2086,11 +1981,17 @@ export declare const zpressConfigSchema: z.ZodObject<{
2086
1981
  pageClass: z.ZodOptional<z.ZodString>;
2087
1982
  head: z.ZodOptional<z.ZodArray<z.ZodTuple<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>], null>, "many">>;
2088
1983
  }, z.ZodTypeAny, "passthrough"> | undefined;
2089
- recursive?: boolean | undefined;
2090
- indexFile?: string | undefined;
2091
- sort?: "filename" | "alpha" | ((...args: unknown[]) => unknown) | undefined;
1984
+ sort?: "filename" | "default" | "alpha" | ((a: ResolvedPage, b: ResolvedPage) => number) | undefined;
2092
1985
  from?: string | undefined;
2093
1986
  exclude?: string[] | undefined;
1987
+ recursive?: boolean | undefined;
1988
+ indexFile?: string | undefined;
1989
+ } | undefined;
1990
+ openapi?: {
1991
+ prefix: string;
1992
+ spec: string;
1993
+ title?: string | undefined;
1994
+ sidebarLayout?: "title" | "method-path" | undefined;
2094
1995
  } | undefined;
2095
1996
  }[];
2096
1997
  icon: string;
@@ -2099,22 +2000,40 @@ export declare const zpressConfigSchema: z.ZodObject<{
2099
2000
  features?: {
2100
2001
  title: string | {
2101
2002
  from: "auto" | "filename" | "heading" | "frontmatter";
2102
- transform?: ((...args: unknown[]) => unknown) | undefined;
2003
+ transform?: ((text: string, slug: string) => string) | undefined;
2103
2004
  };
2104
2005
  description: string;
2105
2006
  link?: string | undefined;
2106
2007
  icon?: string | undefined;
2107
2008
  }[] | undefined;
2108
- nav?: "auto" | unknown[] | undefined;
2109
- openapi?: {
2110
- prefix: string;
2111
- spec: string;
2112
- title?: string | undefined;
2113
- } | undefined;
2009
+ actions?: {
2010
+ link: string;
2011
+ text: string;
2012
+ theme: "brand" | "alt";
2013
+ }[] | undefined;
2014
+ nav?: "auto" | NavItem[] | undefined;
2114
2015
  }, {
2115
- sections: unknown[];
2016
+ sections: Section[];
2116
2017
  title?: string | undefined;
2117
2018
  description?: string | undefined;
2019
+ sidebar?: {
2020
+ above?: {
2021
+ link: string;
2022
+ text: string;
2023
+ icon?: string | {
2024
+ id: string;
2025
+ color: string;
2026
+ } | undefined;
2027
+ }[] | undefined;
2028
+ below?: {
2029
+ link: string;
2030
+ text: string;
2031
+ icon?: string | {
2032
+ id: string;
2033
+ color: string;
2034
+ } | undefined;
2035
+ }[] | undefined;
2036
+ } | undefined;
2118
2037
  exclude?: string[] | undefined;
2119
2038
  icon?: string | undefined;
2120
2039
  theme?: {
@@ -2158,11 +2077,11 @@ export declare const zpressConfigSchema: z.ZodObject<{
2158
2077
  apps?: {
2159
2078
  title: string | {
2160
2079
  from: "auto" | "filename" | "heading" | "frontmatter";
2161
- transform?: ((...args: unknown[]) => unknown) | undefined;
2080
+ transform?: ((text: string, slug: string) => string) | undefined;
2162
2081
  };
2163
2082
  description: string;
2164
2083
  prefix: string;
2165
- items?: unknown[] | undefined;
2084
+ items?: Section[] | undefined;
2166
2085
  icon?: string | undefined;
2167
2086
  iconColor?: string | undefined;
2168
2087
  tags?: string[] | undefined;
@@ -2173,7 +2092,7 @@ export declare const zpressConfigSchema: z.ZodObject<{
2173
2092
  discovery?: {
2174
2093
  title?: string | {
2175
2094
  from: "auto" | "filename" | "heading" | "frontmatter";
2176
- transform?: ((...args: unknown[]) => unknown) | undefined;
2095
+ transform?: ((text: string, slug: string) => string) | undefined;
2177
2096
  } | undefined;
2178
2097
  frontmatter?: z.objectInputType<{
2179
2098
  title: z.ZodOptional<z.ZodString>;
@@ -2190,21 +2109,27 @@ export declare const zpressConfigSchema: z.ZodObject<{
2190
2109
  pageClass: z.ZodOptional<z.ZodString>;
2191
2110
  head: z.ZodOptional<z.ZodArray<z.ZodTuple<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>], null>, "many">>;
2192
2111
  }, z.ZodTypeAny, "passthrough"> | undefined;
2193
- recursive?: boolean | undefined;
2194
- indexFile?: string | undefined;
2195
- sort?: "filename" | "alpha" | ((...args: unknown[]) => unknown) | undefined;
2112
+ sort?: "filename" | "default" | "alpha" | ((a: ResolvedPage, b: ResolvedPage) => number) | undefined;
2196
2113
  from?: string | undefined;
2197
2114
  exclude?: string[] | undefined;
2115
+ recursive?: boolean | undefined;
2116
+ indexFile?: string | undefined;
2117
+ } | undefined;
2118
+ openapi?: {
2119
+ prefix: string;
2120
+ spec: string;
2121
+ title?: string | undefined;
2122
+ sidebarLayout?: "title" | "method-path" | undefined;
2198
2123
  } | undefined;
2199
2124
  }[] | undefined;
2200
2125
  packages?: {
2201
2126
  title: string | {
2202
2127
  from: "auto" | "filename" | "heading" | "frontmatter";
2203
- transform?: ((...args: unknown[]) => unknown) | undefined;
2128
+ transform?: ((text: string, slug: string) => string) | undefined;
2204
2129
  };
2205
2130
  description: string;
2206
2131
  prefix: string;
2207
- items?: unknown[] | undefined;
2132
+ items?: Section[] | undefined;
2208
2133
  icon?: string | undefined;
2209
2134
  iconColor?: string | undefined;
2210
2135
  tags?: string[] | undefined;
@@ -2215,7 +2140,7 @@ export declare const zpressConfigSchema: z.ZodObject<{
2215
2140
  discovery?: {
2216
2141
  title?: string | {
2217
2142
  from: "auto" | "filename" | "heading" | "frontmatter";
2218
- transform?: ((...args: unknown[]) => unknown) | undefined;
2143
+ transform?: ((text: string, slug: string) => string) | undefined;
2219
2144
  } | undefined;
2220
2145
  frontmatter?: z.objectInputType<{
2221
2146
  title: z.ZodOptional<z.ZodString>;
@@ -2232,27 +2157,33 @@ export declare const zpressConfigSchema: z.ZodObject<{
2232
2157
  pageClass: z.ZodOptional<z.ZodString>;
2233
2158
  head: z.ZodOptional<z.ZodArray<z.ZodTuple<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>], null>, "many">>;
2234
2159
  }, z.ZodTypeAny, "passthrough"> | undefined;
2235
- recursive?: boolean | undefined;
2236
- indexFile?: string | undefined;
2237
- sort?: "filename" | "alpha" | ((...args: unknown[]) => unknown) | undefined;
2160
+ sort?: "filename" | "default" | "alpha" | ((a: ResolvedPage, b: ResolvedPage) => number) | undefined;
2238
2161
  from?: string | undefined;
2239
2162
  exclude?: string[] | undefined;
2163
+ recursive?: boolean | undefined;
2164
+ indexFile?: string | undefined;
2165
+ } | undefined;
2166
+ openapi?: {
2167
+ prefix: string;
2168
+ spec: string;
2169
+ title?: string | undefined;
2170
+ sidebarLayout?: "title" | "method-path" | undefined;
2240
2171
  } | undefined;
2241
2172
  }[] | undefined;
2242
2173
  workspaces?: {
2243
2174
  title: string | {
2244
2175
  from: "auto" | "filename" | "heading" | "frontmatter";
2245
- transform?: ((...args: unknown[]) => unknown) | undefined;
2176
+ transform?: ((text: string, slug: string) => string) | undefined;
2246
2177
  };
2247
2178
  description: string;
2248
2179
  items: {
2249
2180
  title: string | {
2250
2181
  from: "auto" | "filename" | "heading" | "frontmatter";
2251
- transform?: ((...args: unknown[]) => unknown) | undefined;
2182
+ transform?: ((text: string, slug: string) => string) | undefined;
2252
2183
  };
2253
2184
  description: string;
2254
2185
  prefix: string;
2255
- items?: unknown[] | undefined;
2186
+ items?: Section[] | undefined;
2256
2187
  icon?: string | undefined;
2257
2188
  iconColor?: string | undefined;
2258
2189
  tags?: string[] | undefined;
@@ -2263,7 +2194,7 @@ export declare const zpressConfigSchema: z.ZodObject<{
2263
2194
  discovery?: {
2264
2195
  title?: string | {
2265
2196
  from: "auto" | "filename" | "heading" | "frontmatter";
2266
- transform?: ((...args: unknown[]) => unknown) | undefined;
2197
+ transform?: ((text: string, slug: string) => string) | undefined;
2267
2198
  } | undefined;
2268
2199
  frontmatter?: z.objectInputType<{
2269
2200
  title: z.ZodOptional<z.ZodString>;
@@ -2280,11 +2211,17 @@ export declare const zpressConfigSchema: z.ZodObject<{
2280
2211
  pageClass: z.ZodOptional<z.ZodString>;
2281
2212
  head: z.ZodOptional<z.ZodArray<z.ZodTuple<[z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>], null>, "many">>;
2282
2213
  }, z.ZodTypeAny, "passthrough"> | undefined;
2283
- recursive?: boolean | undefined;
2284
- indexFile?: string | undefined;
2285
- sort?: "filename" | "alpha" | ((...args: unknown[]) => unknown) | undefined;
2214
+ sort?: "filename" | "default" | "alpha" | ((a: ResolvedPage, b: ResolvedPage) => number) | undefined;
2286
2215
  from?: string | undefined;
2287
2216
  exclude?: string[] | undefined;
2217
+ recursive?: boolean | undefined;
2218
+ indexFile?: string | undefined;
2219
+ } | undefined;
2220
+ openapi?: {
2221
+ prefix: string;
2222
+ spec: string;
2223
+ title?: string | undefined;
2224
+ sidebarLayout?: "title" | "method-path" | undefined;
2288
2225
  } | undefined;
2289
2226
  }[];
2290
2227
  icon: string;
@@ -2293,18 +2230,18 @@ export declare const zpressConfigSchema: z.ZodObject<{
2293
2230
  features?: {
2294
2231
  title: string | {
2295
2232
  from: "auto" | "filename" | "heading" | "frontmatter";
2296
- transform?: ((...args: unknown[]) => unknown) | undefined;
2233
+ transform?: ((text: string, slug: string) => string) | undefined;
2297
2234
  };
2298
2235
  description: string;
2299
2236
  link?: string | undefined;
2300
2237
  icon?: string | undefined;
2301
2238
  }[] | undefined;
2302
- nav?: "auto" | unknown[] | undefined;
2303
- openapi?: {
2304
- prefix: string;
2305
- spec: string;
2306
- title?: string | undefined;
2307
- } | undefined;
2239
+ actions?: {
2240
+ link: string;
2241
+ text: string;
2242
+ theme: "brand" | "alt";
2243
+ }[] | undefined;
2244
+ nav?: "auto" | NavItem[] | undefined;
2308
2245
  }>;
2309
2246
 
2310
2247
  export { }