@publish.os/nextjs 0.0.1-alpha.81 → 0.0.1-alpha.91

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.
Files changed (265) hide show
  1. package/compiler-assets/nextjs/defaults/app/globals.css +1 -0
  2. package/compiler-assets/nextjs/defaults/group/index.tsx +50 -0
  3. package/compiler-assets/nextjs/defaults/group/layout.tsx +8 -8
  4. package/compiler-assets/nextjs/defaults/group/page.tsx +44 -43
  5. package/compiler-assets/nextjs/defaults/project/next.config.mjs +33 -13
  6. package/compiler-assets/nextjs/defaults/project/tsconfig.json.template +10 -3
  7. package/compiler-assets/nextjs/defaults/root/css/animation.css +131 -0
  8. package/compiler-assets/nextjs/defaults/root/css/components/code-block.css +18 -0
  9. package/compiler-assets/nextjs/defaults/root/css/components/dialog.css +4 -1
  10. package/compiler-assets/nextjs/defaults/root/css/components/menu.css +1 -1
  11. package/compiler-assets/nextjs/defaults/root/css/components/navigation-menu.css +1 -1
  12. package/compiler-assets/nextjs/defaults/root/css/components/popover.css +1 -1
  13. package/compiler-assets/nextjs/defaults/root/css/components/select.css +1 -1
  14. package/compiler-assets/nextjs/defaults/root/css/components/tooltip.css +1 -1
  15. package/compiler-assets/nextjs/defaults/root/css/shadow.css +6 -25
  16. package/compiler-assets/nextjs/defaults/root/css/typography.css +51 -68
  17. package/compiler-assets/nextjs/defaults/root/globals.css +25 -0
  18. package/compiler-assets/nextjs/defaults/root/{page.tsx → index.tsx} +6 -2
  19. package/compiler-assets/nextjs/defaults/root/layout.tsx +7 -1
  20. package/compiler-assets/nextjs/defaults/root/theme.css +22 -22
  21. package/compiler-assets/nextjs/shims/document.tsx +38 -0
  22. package/compiler-assets/nextjs/shims/generated-group-page.tsx +19 -2
  23. package/compiler-assets/nextjs/shims/generated-leaf-page.tsx +18 -2
  24. package/compiler-assets/nextjs/shims/global-layout.tsx +19 -85
  25. package/compiler-assets/nextjs/shims/global-not-found.tsx +69 -0
  26. package/compiler-assets/nextjs/shims/markdown-route.ts +2 -0
  27. package/compiler-assets/nextjs/shims/metadata-icons.tsx +39 -0
  28. package/compiler-assets/nextjs/shims/not-found-content.tsx +53 -0
  29. package/compiler-assets/nextjs/shims/not-found-navigation.tsx +60 -0
  30. package/compiler-assets/nextjs/shims/proxy.ts +143 -65
  31. package/compiler-assets/nextjs/shims/publish-os-theme-provider.tsx +76 -15
  32. package/compiler-assets/nextjs/shims/root-page.tsx +7 -1
  33. package/compiler-assets/nextjs/shims/site-fenced-code-block.tsx +30 -0
  34. package/compiler-assets/nextjs/shims/site-heading-level.tsx +14 -0
  35. package/compiler-assets/nextjs/shims/site-mdx-components.tsx +112 -0
  36. package/compiler-assets/nextjs/shims/site-mdx.tsx +17 -0
  37. package/compiler-assets/nextjs/shims/theme-defaults.css +41 -25
  38. package/dist/build-operation-5QMLXF7N.js +89 -0
  39. package/dist/{button-CFdx-ohV.d.ts → button-BdCScEKi.d.ts} +6 -6
  40. package/dist/capture-local-source-WGGDIUU2.js +258 -0
  41. package/dist/chunk-22RSSUNV.js +13 -0
  42. package/dist/chunk-4BC2L2KA.js +620 -0
  43. package/dist/chunk-5J3YUNRY.js +121 -0
  44. package/dist/chunk-5KAD7W53.js +248 -0
  45. package/dist/chunk-6C65KV7O.js +142 -0
  46. package/dist/chunk-6D2E6UMD.js +695 -0
  47. package/dist/chunk-7NY22B5U.js +161 -0
  48. package/dist/chunk-AI2UULNX.js +9 -0
  49. package/dist/chunk-EFO6AWXN.js +19 -0
  50. package/dist/chunk-F3AGNDF4.js +2377 -0
  51. package/dist/chunk-GBPLER5H.js +426 -0
  52. package/dist/chunk-IL4RJOKI.js +186 -0
  53. package/dist/chunk-NNBJZPFM.js +193 -0
  54. package/dist/chunk-ORIUWJBQ.js +58 -0
  55. package/dist/chunk-OXOFRXEI.js +7129 -0
  56. package/dist/chunk-UYGCOWRF.js +1709 -0
  57. package/dist/chunk-WL75GQ5M.js +80 -0
  58. package/dist/compiler.d.ts +54 -7
  59. package/dist/compiler.js +121 -13147
  60. package/dist/components/blocks/agent-actions.d.ts +81 -0
  61. package/dist/components/blocks/agent-actions.js +594 -0
  62. package/dist/components/blocks/toc.d.ts +43 -0
  63. package/dist/components/blocks/toc.js +136 -0
  64. package/dist/components/ui/button.d.ts +5 -0
  65. package/dist/components/ui/button.js +94 -0
  66. package/dist/compose-CVBJRAF6.js +16 -0
  67. package/dist/config/createNextConfig.js +27 -0
  68. package/dist/dev-operation-OSHHWRWK.js +1095 -0
  69. package/dist/framework-selection-ZVO323PK.js +11 -0
  70. package/dist/ide-support-CU6Z5PVR.js +16 -0
  71. package/dist/index.d.ts +55 -4
  72. package/dist/jsx-dev-runtime.d.ts +6 -0
  73. package/dist/jsx-dev-runtime.js +100 -0
  74. package/dist/jsx-runtime.d.ts +7 -0
  75. package/dist/jsx-runtime.js +97 -0
  76. package/dist/kernel/components/blocks/AgentActions.d.ts +35 -6
  77. package/dist/kernel/components/blocks/AgentActions.js +401 -150
  78. package/dist/kernel/components/blocks/agent-actions.d.ts +5 -0
  79. package/dist/kernel/components/blocks/agent-actions.js +594 -0
  80. package/dist/kernel/components/blocks/animated-icon-swap.js +1 -1
  81. package/dist/kernel/components/blocks/color-palette.js +4 -4
  82. package/dist/kernel/components/blocks/logo-block.js +3 -3
  83. package/dist/kernel/components/blocks/nav-breadcrumb.d.ts +10 -2
  84. package/dist/kernel/components/blocks/nav-breadcrumb.js +22 -7
  85. package/dist/kernel/components/blocks/navbar.d.ts +2 -2
  86. package/dist/kernel/components/blocks/navbar.js +406 -65
  87. package/dist/kernel/components/blocks/navigation-progress.js +6 -3
  88. package/dist/kernel/components/blocks/next-prev.d.ts +1 -1
  89. package/dist/kernel/components/blocks/next-prev.js +12 -24
  90. package/dist/kernel/components/blocks/page-list.d.ts +1 -1
  91. package/dist/kernel/components/blocks/page-list.js +7 -6
  92. package/dist/kernel/components/blocks/search.d.ts +83 -58
  93. package/dist/kernel/components/blocks/search.js +554 -428
  94. package/dist/kernel/components/blocks/sidebar-node.d.ts +2 -2
  95. package/dist/kernel/components/blocks/sidebar-node.js +12 -10
  96. package/dist/kernel/components/blocks/sidebar.d.ts +3 -3
  97. package/dist/kernel/components/blocks/sidebar.js +24 -14
  98. package/dist/kernel/components/blocks/theme-toggle.d.ts +2 -2
  99. package/dist/kernel/components/blocks/theme-toggle.js +47 -1
  100. package/dist/kernel/components/blocks/toc-client.d.ts +40 -0
  101. package/dist/kernel/components/blocks/toc-client.js +495 -0
  102. package/dist/kernel/components/blocks/toc.d.ts +19 -1
  103. package/dist/kernel/components/blocks/toc.js +122 -180
  104. package/dist/kernel/components/mdx/components/blockquote.js +2 -2
  105. package/dist/kernel/components/mdx/components/callout.d.ts +5 -7
  106. package/dist/kernel/components/mdx/components/callout.js +67 -36
  107. package/dist/kernel/components/mdx/components/code-block.d.ts +5 -2
  108. package/dist/kernel/components/mdx/components/code-block.js +106 -5
  109. package/dist/kernel/components/mdx/components/copy-code-button.d.ts +8 -0
  110. package/dist/kernel/components/mdx/components/copy-code-button.js +61 -0
  111. package/dist/kernel/components/mdx/components/figure-caption.d.ts +1 -1
  112. package/dist/kernel/components/mdx/components/figure-caption.js +4 -3
  113. package/dist/kernel/components/mdx/components/figure.d.ts +6 -2
  114. package/dist/kernel/components/mdx/components/figure.js +24 -14
  115. package/dist/kernel/components/mdx/components/footnotes.js +1 -1
  116. package/dist/kernel/components/mdx/components/heading-copy-link.js +4 -4
  117. package/dist/kernel/components/mdx/components/heading.js +6 -3
  118. package/dist/kernel/components/mdx/components/hr.js +2 -2
  119. package/dist/kernel/components/mdx/components/image-zoom.js +2 -2
  120. package/dist/kernel/components/mdx/components/image.d.ts +1 -1
  121. package/dist/kernel/components/mdx/components/image.js +94 -68
  122. package/dist/kernel/components/mdx/components/inline-code.js +2 -2
  123. package/dist/kernel/components/mdx/components/kbd.d.ts +2 -2
  124. package/dist/kernel/components/mdx/components/kbd.js +5 -4
  125. package/dist/kernel/components/mdx/components/link.d.ts +35 -4
  126. package/dist/kernel/components/mdx/components/link.js +3 -3
  127. package/dist/kernel/components/mdx/components/paragraph.js +2 -5
  128. package/dist/kernel/components/mdx/components/strikethrough.js +1 -1
  129. package/dist/kernel/components/mdx/components/table.js +2 -2
  130. package/dist/kernel/components/mdx/components/task-list.js +2 -2
  131. package/dist/kernel/components/mdx/components/video-player.d.ts +6 -2
  132. package/dist/kernel/components/mdx/components/video-player.js +8 -4
  133. package/dist/kernel/components/mdx/components/video.d.ts +5 -3
  134. package/dist/kernel/components/mdx/components/video.js +8 -6
  135. package/dist/kernel/components/mdx/error-boundary.js +2 -2
  136. package/dist/kernel/components/mdx/error-fallback.js +1 -1
  137. package/dist/kernel/components/mdx/mdx.d.ts +28 -14
  138. package/dist/kernel/components/mdx/mdx.js +336 -63
  139. package/dist/kernel/components/mdx/rehype-heading-ids.d.ts +1 -0
  140. package/dist/kernel/components/mdx/rehype-heading-ids.js +6 -4
  141. package/dist/kernel/components/next-image.d.ts +12 -0
  142. package/dist/kernel/components/next-image.js +61 -0
  143. package/dist/kernel/components/ui/accordion.js +1 -1
  144. package/dist/kernel/components/ui/breadcrumb-trail.d.ts +6 -23
  145. package/dist/kernel/components/ui/breadcrumb-trail.js +2 -2
  146. package/dist/kernel/components/ui/breadcrumb.d.ts +11 -3
  147. package/dist/kernel/components/ui/breadcrumb.js +10 -8
  148. package/dist/kernel/components/ui/button-group.js +8 -7
  149. package/dist/kernel/components/ui/button.d.ts +58 -6
  150. package/dist/kernel/components/ui/button.js +43 -39
  151. package/dist/kernel/components/ui/card.d.ts +2 -2
  152. package/dist/kernel/components/ui/card.js +1 -1
  153. package/dist/kernel/components/ui/dialog.js +1 -1
  154. package/dist/kernel/components/ui/drawer.d.ts +3 -1
  155. package/dist/kernel/components/ui/drawer.js +6 -2
  156. package/dist/kernel/components/ui/input.d.ts +2 -2
  157. package/dist/kernel/components/ui/input.js +1 -1
  158. package/dist/kernel/components/ui/kbd.js +10 -17
  159. package/dist/kernel/components/ui/link.d.ts +11 -3
  160. package/dist/kernel/components/ui/link.js +12 -11
  161. package/dist/kernel/components/ui/menu.js +6 -6
  162. package/dist/kernel/components/ui/mod-key.d.ts +10 -0
  163. package/dist/kernel/components/ui/mod-key.js +36 -0
  164. package/dist/kernel/components/ui/navigation-menu.js +3 -3
  165. package/dist/kernel/components/ui/popover.js +1 -1
  166. package/dist/kernel/components/ui/progress.js +2 -2
  167. package/dist/kernel/components/ui/scroll-area.js +5 -5
  168. package/dist/kernel/components/ui/select.js +8 -11
  169. package/dist/kernel/components/ui/separator.js +1 -1
  170. package/dist/kernel/components/ui/table.js +1 -1
  171. package/dist/kernel/components/ui/tabs.js +1 -1
  172. package/dist/kernel/components/ui/tag.js +1 -1
  173. package/dist/kernel/components/ui/text.d.ts +2 -2
  174. package/dist/kernel/components/ui/text.js +1 -1
  175. package/dist/kernel/components/ui/toast.js +1 -1
  176. package/dist/kernel/components/ui/tooltip.js +1 -1
  177. package/dist/kernel/defaults.registry.d.ts +11 -24
  178. package/dist/kernel/defaults.registry.js +11 -26
  179. package/dist/kernel/routes/agent/markdown.d.ts +3 -1
  180. package/dist/kernel/routes/agent/markdown.js +219 -48
  181. package/dist/kernel/routes/layouts/group.d.ts +1 -1
  182. package/dist/kernel/routes/layouts/group.js +5 -7
  183. package/dist/kernel/routes/metadata/feed.d.ts +1 -1
  184. package/dist/kernel/routes/metadata/feed.js +111 -81
  185. package/dist/kernel/routes/metadata/llms.d.ts +12 -3
  186. package/dist/kernel/routes/metadata/llms.js +156 -59
  187. package/dist/kernel/routes/metadata/og-image.js +1 -1
  188. package/dist/kernel/routes/metadata/robots.d.ts +1 -1
  189. package/dist/kernel/routes/metadata/robots.js +2 -2
  190. package/dist/kernel/routes/metadata/sitemap.d.ts +26 -4
  191. package/dist/kernel/routes/metadata/sitemap.js +206 -38
  192. package/dist/kernel/routes/not-found.d.ts +34 -0
  193. package/dist/kernel/routes/not-found.js +213 -0
  194. package/dist/kernel/routes/pages/group.d.ts +2 -2
  195. package/dist/kernel/routes/pages/group.js +21 -13
  196. package/dist/kernel/routes/pages/leaf.d.ts +28 -1
  197. package/dist/kernel/routes/pages/leaf.js +25 -16
  198. package/dist/kernel/routes/pages/root.js +19 -13
  199. package/dist/keyboard-shortcuts.js +1 -1
  200. package/dist/resolvers/manifest-resolver.js +29 -6
  201. package/dist/search.d.ts +6 -7
  202. package/dist/search.js +52 -29
  203. package/dist/{sidebar-types-Bgchdfd6.d.ts → sidebar-types-DKpR27II.d.ts} +1 -1
  204. package/dist/theme-scope.js +1 -1
  205. package/dist/{types-DHBm7-j6.d.ts → types-CJWRG05y.d.ts} +20 -1
  206. package/dist/{types-B_b3C0U6.d.ts → types-CUtrppxt.d.ts} +8 -2
  207. package/dist/{types-CIwwieNw.d.ts → types-J2w_puPF.d.ts} +11 -10
  208. package/dist/types.d.ts +15 -6
  209. package/dist/utils/heading-ids.js +30 -11
  210. package/dist/utils/toc-selection.d.ts +7 -0
  211. package/dist/utils/toc-selection.js +14 -0
  212. package/dist/validate-local-source-SV44DBQT.js +16 -0
  213. package/dist/validate-publish-os-source-NZJF3TB2.js +14 -0
  214. package/init/seed/minimal/.gitignore +1 -0
  215. package/init/seed/minimal/publish.os/assets/blog/hello-world.svg +13 -0
  216. package/init/seed/minimal/publish.os/assets/favicon.dark.svg +13 -0
  217. package/init/seed/minimal/publish.os/assets/favicon.svg +13 -0
  218. package/init/seed/minimal/publish.os/blog/content/hello-world.mdx +48 -0
  219. package/init/seed/minimal/publish.os/blog/content/series-a.mdx +11 -0
  220. package/init/seed/minimal/publish.os/blog/index.tsx +82 -0
  221. package/init/seed/minimal/publish.os/blog/layout.tsx +13 -0
  222. package/init/seed/minimal/publish.os/blog/page.tsx +76 -0
  223. package/init/seed/minimal/publish.os/components/blog/copy-link.tsx +64 -0
  224. package/init/seed/minimal/publish.os/docs/content/get-started.mdx +6 -11
  225. package/init/seed/minimal/publish.os/docs/content/groups.mdx +6 -7
  226. package/init/seed/minimal/publish.os/docs/content/{theme.mdx → themes.mdx} +14 -12
  227. package/init/seed/minimal/publish.os/publish.os.config.json +7 -7
  228. package/init/seed/minimal/publish.os/theme.css +52 -24
  229. package/init/seed/minimal/publish.os/tsconfig.json +3 -0
  230. package/init/seed/minimal/seed.json +12 -2
  231. package/init/seed/scratch/publish.os/docs/content/get-started.mdx +6 -0
  232. package/init/seed/scratch/publish.os/publish.os.config.json +4 -0
  233. package/init/seed/scratch/seed.json +5 -0
  234. package/package.json +55 -44
  235. package/release/app/phosphor/package.json +5 -5
  236. package/release/app/phosphor/pnpm-lock.yaml.template +553 -377
  237. package/release/app/phosphor/pnpm-workspace.yaml +3 -0
  238. package/release/compiler/package.json +5 -3
  239. package/release/compiler/pnpm-lock.yaml.template +500 -303
  240. package/release/compiler/pnpm-workspace.yaml +3 -0
  241. package/release/release.json +8 -37
  242. package/compiler-assets/nextjs/defaults/group/leaf.tsx +0 -48
  243. package/dist/icons.d.ts +0 -1
  244. package/dist/icons.js +0 -2
  245. package/dist/kernel/components/blocks/design-system-preview.d.ts +0 -61
  246. package/dist/kernel/components/blocks/design-system-preview.js +0 -648
  247. package/dist/kernel/components/blocks/link-playground.d.ts +0 -5
  248. package/dist/kernel/components/blocks/link-playground.js +0 -744
  249. package/dist/kernel/components/blocks/navigation-progress-playground.d.ts +0 -5
  250. package/dist/kernel/components/blocks/navigation-progress-playground.js +0 -629
  251. package/dist/kernel/components/mdx/components/pre.d.ts +0 -6
  252. package/dist/kernel/components/mdx/components/pre.js +0 -18
  253. package/dist/kernel/components/ui/meta-key.d.ts +0 -17
  254. package/dist/kernel/components/ui/meta-key.js +0 -9
  255. package/dist/kernel/components/ui/theme-toggle.d.ts +0 -24
  256. package/dist/kernel/components/ui/theme-toggle.js +0 -58
  257. package/dist/kernel/framework-icons.d.ts +0 -1
  258. package/dist/kernel/framework-icons.js +0 -39
  259. package/dist/link-CYaCRDb6.d.ts +0 -35
  260. package/release/app/lucide/package.json +0 -30
  261. package/release/app/lucide/pnpm-lock.yaml.template +0 -2905
  262. package/release/app/lucide/pnpm-workspace.yaml +0 -11
  263. package/release/app/tabler/package.json +0 -30
  264. package/release/app/tabler/pnpm-lock.yaml.template +0 -2911
  265. package/release/app/tabler/pnpm-workspace.yaml +0 -11
@@ -2,10 +2,10 @@
2
2
 
3
3
  // src/components/ui/menu.tsx
4
4
  import { Menu as BaseMenu } from "@base-ui/react/menu";
5
- import { FrameworkCheckIcon as Check } from "@publish.os/nextjs/kernel/framework-icons";
5
+ import { CheckIcon } from "@phosphor-icons/react/ssr";
6
6
  import { useThemeScope } from "@publish.os/nextjs/theme-scope";
7
7
  import { cn } from "@publish.os/nextjs/utils/cn";
8
- import { jsx } from "react/jsx-runtime";
8
+ import { jsx } from "@publish.os/nextjs/jsx-runtime";
9
9
  function MenuRoot(props) {
10
10
  return /* @__PURE__ */ jsx(BaseMenu.Root, { ...props });
11
11
  }
@@ -73,7 +73,7 @@ function MenuViewport({ className, ...props }) {
73
73
  return /* @__PURE__ */ jsx(BaseMenu.Viewport, { className: cn("outline-none", className), ...props });
74
74
  }
75
75
  var menuItemClassName = [
76
- "flex cursor-default select-none items-center gap-2 rounded-[max(calc(var(--radius-popup)_-_0.25rem),0px)] px-2 py-1.5 text-sm text-menu-foreground-1 outline-none",
76
+ "flex min-h-9 cursor-default select-none items-center gap-2 rounded-[max(calc(var(--radius-popup)_-_0.25rem),0px)] px-2 py-1.5 text-sm text-menu-foreground-1 outline-none pointer-coarse:min-h-10",
77
77
  "data-[highlighted]:bg-menu-highlight-surface data-[highlighted]:text-menu-highlight-foreground data-[state=checked]:bg-menu-surface-4 data-[state=checked]:text-menu-foreground-1 data-[state=checked]:data-[highlighted]:bg-menu-highlight-surface data-[state=checked]:data-[highlighted]:text-menu-highlight-foreground data-disabled:pointer-events-none data-disabled:text-menu-foreground-4"
78
78
  ].join(" ");
79
79
  function MenuItem({ className, ...props }) {
@@ -128,7 +128,7 @@ function MenuCheckboxItemIndicator({
128
128
  className
129
129
  ),
130
130
  ...props,
131
- children: children ?? /* @__PURE__ */ jsx(Check, { "aria-hidden": "true", className: "size-4" })
131
+ children: children ?? /* @__PURE__ */ jsx(CheckIcon, { "aria-hidden": "true", className: "size-4" })
132
132
  }
133
133
  );
134
134
  }
@@ -157,7 +157,7 @@ function MenuRadioItemIndicator({
157
157
  className
158
158
  ),
159
159
  ...props,
160
- children: children ?? /* @__PURE__ */ jsx(Check, { "aria-hidden": "true", className: "size-4" })
160
+ children: children ?? /* @__PURE__ */ jsx(CheckIcon, { "aria-hidden": "true", className: "size-4" })
161
161
  }
162
162
  );
163
163
  }
@@ -180,7 +180,7 @@ function MenuSeparator({ className, ...props }) {
180
180
  return /* @__PURE__ */ jsx(
181
181
  BaseMenu.Separator,
182
182
  {
183
- className: cn("my-1 h-px shrink-0 bg-menu-stroke-3", className),
183
+ className: cn("-mx-1 my-1 h-px shrink-0 bg-menu-stroke-3", className),
184
184
  ...props
185
185
  }
186
186
  );
@@ -0,0 +1,10 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { KbdProps } from './kbd.js';
3
+ import 'class-variance-authority/types';
4
+ import 'class-variance-authority';
5
+ import 'react';
6
+
7
+ type ModKeyProps = Omit<KbdProps, "children">;
8
+ declare function ModKey({ className, square, ...props }: ModKeyProps): react_jsx_runtime.JSX.Element;
9
+
10
+ export { ModKey, type ModKeyProps };
@@ -0,0 +1,36 @@
1
+ "use client";
2
+
3
+ // src/components/ui/mod-key.tsx
4
+ import { Kbd } from "@components/ui/kbd";
5
+ import { cn } from "@publish.os/nextjs/utils/cn";
6
+ import { useEffect, useState } from "react";
7
+ import { Fragment, jsx, jsxs } from "@publish.os/nextjs/jsx-runtime";
8
+ function ModKey({ className, square, ...props }) {
9
+ let [label, setLabel] = useState(null);
10
+ return useEffect(() => {
11
+ setLabel(/Mac|iPhone|iPad|iPod/i.test(navigator.platform) ? "\u2318" : "Ctrl");
12
+ }, []), /* @__PURE__ */ jsxs(Fragment, { children: [
13
+ /* @__PURE__ */ jsx(
14
+ Kbd,
15
+ {
16
+ "aria-hidden": label === null ? !0 : void 0,
17
+ "aria-label": label === "\u2318" ? "Command" : label === "Ctrl" ? "Control" : void 0,
18
+ className: cn(
19
+ "publishos-mod-key-slot",
20
+ label === null && "invisible",
21
+ className
22
+ ),
23
+ square: square ?? label !== "Ctrl",
24
+ ...props,
25
+ children: label ?? "\u2318"
26
+ }
27
+ ),
28
+ /* @__PURE__ */ jsxs("noscript", { children: [
29
+ /* @__PURE__ */ jsx("style", { children: ".publishos-mod-key-slot{display:none!important}" }),
30
+ /* @__PURE__ */ jsx(Kbd, { className, ...props, children: "\u2318 / Ctrl" })
31
+ ] })
32
+ ] });
33
+ }
34
+ export {
35
+ ModKey
36
+ };
@@ -4,7 +4,7 @@
4
4
  import { NavigationMenu as BaseNavigationMenu } from "@base-ui/react/navigation-menu";
5
5
  import { useThemeScope } from "@publish.os/nextjs/theme-scope";
6
6
  import { cn } from "@publish.os/nextjs/utils/cn";
7
- import { jsx } from "react/jsx-runtime";
7
+ import { jsx } from "@publish.os/nextjs/jsx-runtime";
8
8
  function NavigationMenuRoot({
9
9
  className,
10
10
  ...props
@@ -55,7 +55,7 @@ function NavigationMenuIcon({
55
55
  BaseNavigationMenu.Icon,
56
56
  {
57
57
  className: cn(
58
- "flex size-4 items-center justify-center transition-transform duration-150 ease-out data-[popup-open]:rotate-180 motion-reduce:transition-none",
58
+ "flex size-4 items-center justify-center transition-transform duration-150 ease-out data-popup-open:rotate-180 motion-reduce:transition-none",
59
59
  className
60
60
  ),
61
61
  ...props
@@ -83,7 +83,7 @@ function NavigationMenuLink({
83
83
  {
84
84
  className: cn(
85
85
  navigationMenuTriggerClassName,
86
- "!no-underline hover:!no-underline active:!no-underline data-active:bg-navigation-menu-highlight-surface data-active:text-navigation-menu-highlight-foreground data-[state=path-active]:bg-navigation-menu-highlight-surface data-[state=path-active]:text-navigation-menu-highlight-foreground",
86
+ "no-underline! hover:no-underline! active:no-underline! data-active:bg-navigation-menu-highlight-surface data-active:text-navigation-menu-highlight-foreground data-[state=path-active]:bg-navigation-menu-highlight-surface data-[state=path-active]:text-navigation-menu-highlight-foreground",
87
87
  className
88
88
  ),
89
89
  ...props
@@ -4,7 +4,7 @@
4
4
  import { Popover as BasePopover } from "@base-ui/react/popover";
5
5
  import { useThemeScope } from "@publish.os/nextjs/theme-scope";
6
6
  import { cn } from "@publish.os/nextjs/utils/cn";
7
- import { jsx } from "react/jsx-runtime";
7
+ import { jsx } from "@publish.os/nextjs/jsx-runtime";
8
8
  function Popover(props) {
9
9
  return /* @__PURE__ */ jsx(BasePopover.Root, { ...props });
10
10
  }
@@ -3,7 +3,7 @@
3
3
  // src/components/ui/progress.tsx
4
4
  import { Progress as BaseProgress } from "@base-ui/react/progress";
5
5
  import { cn } from "@publish.os/nextjs/utils/cn";
6
- import { jsx } from "react/jsx-runtime";
6
+ import { jsx } from "@publish.os/nextjs/jsx-runtime";
7
7
  function Progress(props) {
8
8
  return /* @__PURE__ */ jsx(BaseProgress.Root, { ...props });
9
9
  }
@@ -27,7 +27,7 @@ function ProgressIndicator({
27
27
  BaseProgress.Indicator,
28
28
  {
29
29
  className: cn(
30
- "h-full w-full rounded-[inherit] bg-accent-1 transition-transform",
30
+ "h-full w-full rounded-[inherit] bg-progress-indicator-surface transition-transform",
31
31
  className
32
32
  ),
33
33
  ...props
@@ -13,7 +13,7 @@ import {
13
13
  useRef,
14
14
  useState
15
15
  } from "react";
16
- import { jsx, jsxs } from "react/jsx-runtime";
16
+ import { jsx, jsxs } from "@publish.os/nextjs/jsx-runtime";
17
17
  var scrollAreaVariants = cva(
18
18
  "relative overflow-hidden rounded-scrollarea text-foreground-1",
19
19
  {
@@ -268,8 +268,8 @@ var ScrollAreaViewport = forwardRef(function({ className, ...props }, ref) {
268
268
  BaseScrollArea.Scrollbar,
269
269
  {
270
270
  className: cn(
271
- "flex touch-none select-none bg-[var(--scrollbar-track-surface)] p-[var(--scrollbar-thumb-stroke-width)] transition-colors",
272
- orientation === "vertical" ? "h-full w-[var(--scrollbar-size)]" : "h-[var(--scrollbar-size)] w-full",
271
+ "flex touch-none select-none bg-(--scrollbar-track-surface) p-(--scrollbar-thumb-stroke-width) transition-colors",
272
+ orientation === "vertical" ? "h-full w-(--scrollbar-size)" : "h-(--scrollbar-size) w-full",
273
273
  className
274
274
  ),
275
275
  orientation,
@@ -282,7 +282,7 @@ var ScrollAreaViewport = forwardRef(function({ className, ...props }, ref) {
282
282
  BaseScrollArea.Thumb,
283
283
  {
284
284
  className: cn(
285
- "flex-1 rounded-scrollbar-thumb bg-[var(--scrollbar-thumb-stroke)] transition-colors hover:bg-[var(--scrollbar-thumb-hover-stroke)]",
285
+ "flex-1 rounded-scrollbar-thumb bg-(--scrollbar-thumb-stroke) transition-colors hover:bg-(--scrollbar-thumb-hover-stroke)",
286
286
  className
287
287
  ),
288
288
  ref,
@@ -293,7 +293,7 @@ var ScrollAreaViewport = forwardRef(function({ className, ...props }, ref) {
293
293
  return /* @__PURE__ */ jsx(
294
294
  BaseScrollArea.Corner,
295
295
  {
296
- className: cn("bg-[var(--scrollbar-track-surface)]", className),
296
+ className: cn("bg-(--scrollbar-track-surface)", className),
297
297
  ref,
298
298
  ...props
299
299
  }
@@ -2,14 +2,11 @@
2
2
 
3
3
  // src/components/ui/select.tsx
4
4
  import { Select as BaseSelect } from "@base-ui/react/select";
5
- import {
6
- FrameworkCheckIcon as Check,
7
- FrameworkChevronDownIcon as ChevronDown
8
- } from "@publish.os/nextjs/kernel/framework-icons";
5
+ import { CaretDownIcon, CheckIcon } from "@phosphor-icons/react/ssr";
9
6
  import { useThemeScope } from "@publish.os/nextjs/theme-scope";
10
7
  import { cn } from "@publish.os/nextjs/utils/cn";
11
8
  import { cva } from "class-variance-authority";
12
- import { jsx } from "react/jsx-runtime";
9
+ import { jsx } from "@publish.os/nextjs/jsx-runtime";
13
10
  var selectTriggerVariants = cva(
14
11
  [
15
12
  "inline-flex w-full min-w-0 items-center justify-between gap-2 rounded-input border border-stroke-2 bg-surface-1 text-foreground-1 transition-colors",
@@ -71,11 +68,11 @@ function SelectIcon({ children, className, ...props }) {
71
68
  BaseSelect.Icon,
72
69
  {
73
70
  className: cn(
74
- "flex size-4 shrink-0 items-center justify-center text-foreground-3 transition-transform data-[popup-open]:rotate-180",
71
+ "flex size-4 shrink-0 items-center justify-center text-foreground-3 transition-transform data-popup-open:rotate-180",
75
72
  className
76
73
  ),
77
74
  ...props,
78
- children: children ?? /* @__PURE__ */ jsx(ChevronDown, { "aria-hidden": "true", className: "size-4" })
75
+ children: children ?? /* @__PURE__ */ jsx(CaretDownIcon, { "aria-hidden": "true", className: "size-4" })
79
76
  }
80
77
  );
81
78
  }
@@ -102,7 +99,7 @@ function SelectPopup({ className, ...props }) {
102
99
  BaseSelect.Popup,
103
100
  {
104
101
  className: cn(
105
- "animate-popup max-h-72 w-[min(calc(var(--anchor-width)+2rem),var(--available-width))] min-w-[var(--anchor-width)] overflow-hidden rounded-popup border border-select-stroke-3 bg-select-surface-1 p-1 text-select-foreground-1 shadow-select outline-none [--text-foreground:var(--select-foreground-1)] [--text-muted-foreground:var(--select-foreground-4)]",
102
+ "animate-popup max-h-72 w-[min(calc(var(--anchor-width)+2rem),var(--available-width))] min-w-(--anchor-width) overflow-hidden rounded-popup border border-select-stroke-3 bg-select-surface-1 p-1 text-select-foreground-1 shadow-select outline-none [--text-foreground:var(--select-foreground-1)] [--text-muted-foreground:var(--select-foreground-4)]",
106
103
  className
107
104
  ),
108
105
  ...props
@@ -117,8 +114,8 @@ function SelectItem({ className, ...props }) {
117
114
  BaseSelect.Item,
118
115
  {
119
116
  className: cn(
120
- "relative flex min-w-0 cursor-default select-none items-center rounded-[max(calc(var(--radius-popup)_-_0.25rem),0px)] py-1.5 pl-8 pr-2 text-sm text-select-foreground-1 outline-none",
121
- "data-[highlighted]:bg-select-highlight-surface data-[highlighted]:text-select-highlight-foreground data-[selected]:bg-select-surface-4 data-[selected]:text-select-foreground-1 data-[selected]:data-[highlighted]:bg-select-highlight-surface data-[selected]:data-[highlighted]:text-select-highlight-foreground",
117
+ "relative flex min-w-0 cursor-default select-none items-center rounded-[max(calc(var(--radius-popup)-0.25rem),0px)] py-1.5 pl-8 pr-2 text-sm text-select-foreground-1 outline-none",
118
+ "data-highlighted:bg-select-highlight-surface data-highlighted:text-select-highlight-foreground data-selected:bg-select-surface-4 data-selected:text-select-foreground-1 data-selected:data-highlighted:bg-select-highlight-surface data-selected:data-highlighted:text-select-highlight-foreground",
122
119
  "data-disabled:pointer-events-none data-disabled:text-select-foreground-4",
123
120
  className
124
121
  ),
@@ -139,7 +136,7 @@ function SelectItemIndicator({
139
136
  className
140
137
  ),
141
138
  ...props,
142
- children: children ?? /* @__PURE__ */ jsx(Check, { "aria-hidden": "true", className: "size-4" })
139
+ children: children ?? /* @__PURE__ */ jsx(CheckIcon, { "aria-hidden": "true", className: "size-4" })
143
140
  }
144
141
  );
145
142
  }
@@ -1,7 +1,7 @@
1
1
  // src/components/ui/separator.tsx
2
2
  import { Separator as BaseSeparator } from "@base-ui/react/separator";
3
3
  import { cn } from "@publish.os/nextjs/utils/cn";
4
- import { jsx } from "react/jsx-runtime";
4
+ import { jsx } from "@publish.os/nextjs/jsx-runtime";
5
5
  function Separator({
6
6
  className,
7
7
  orientation = "horizontal",
@@ -1,6 +1,6 @@
1
1
  // src/components/ui/table.tsx
2
2
  import { cn } from "@publish.os/nextjs/utils/cn";
3
- import { jsx } from "react/jsx-runtime";
3
+ import { jsx } from "@publish.os/nextjs/jsx-runtime";
4
4
  function Table({
5
5
  className,
6
6
  ...props
@@ -11,7 +11,7 @@ import {
11
11
  useLayoutEffect,
12
12
  useRef
13
13
  } from "react";
14
- import { jsx } from "react/jsx-runtime";
14
+ import { jsx } from "@publish.os/nextjs/jsx-runtime";
15
15
  var tabsListVariants = cva("relative inline-flex items-center", {
16
16
  variants: {
17
17
  variant: {
@@ -1,7 +1,7 @@
1
1
  // src/components/ui/tag.tsx
2
2
  import { cn } from "@publish.os/nextjs/utils/cn";
3
3
  import { cva } from "class-variance-authority";
4
- import { jsx } from "react/jsx-runtime";
4
+ import { jsx } from "@publish.os/nextjs/jsx-runtime";
5
5
  var tagVariants = cva(
6
6
  "inline-flex shrink-0 items-center justify-center gap-1 whitespace-nowrap rounded-tag border px-2 py-0.5 text-xs font-medium leading-5 [&_svg]:shrink-0",
7
7
  {
@@ -5,8 +5,8 @@ import { ElementType, ComponentPropsWithoutRef } from 'react';
5
5
 
6
6
  declare const textVariants: (props?: ({
7
7
  size?: "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | "3xl" | "4xl" | "5xl" | "6xl" | "7xl" | "8xl" | "9xl" | null | undefined;
8
- variant?: "body" | "headline" | "label" | "overline" | null | undefined;
9
- weight?: "default" | "medium" | "semibold" | "bold" | null | undefined;
8
+ variant?: "body" | "label" | "overline" | "headline" | null | undefined;
9
+ weight?: "medium" | "default" | "bold" | "semibold" | null | undefined;
10
10
  } & class_variance_authority_types.ClassProp) | undefined) => string;
11
11
  type TextProps<T extends ElementType = "p"> = {
12
12
  as?: T;
@@ -1,7 +1,7 @@
1
1
  // src/components/ui/text.tsx
2
2
  import { cn } from "@publish.os/nextjs/utils/cn";
3
3
  import { cva } from "class-variance-authority";
4
- import { jsx } from "react/jsx-runtime";
4
+ import { jsx } from "@publish.os/nextjs/jsx-runtime";
5
5
  var textVariants = cva(
6
6
  "text-[var(--text-foreground,var(--foreground-1))]",
7
7
  {
@@ -4,7 +4,7 @@
4
4
  import { Toast as BaseToast } from "@base-ui/react/toast";
5
5
  import { useThemeScope } from "@publish.os/nextjs/theme-scope";
6
6
  import { cn } from "@publish.os/nextjs/utils/cn";
7
- import { jsx } from "react/jsx-runtime";
7
+ import { jsx } from "@publish.os/nextjs/jsx-runtime";
8
8
  var createToastManager = BaseToast.createToastManager, useToastManager = BaseToast.useToastManager;
9
9
  function ToastProvider(props) {
10
10
  return /* @__PURE__ */ jsx(BaseToast.Provider, { ...props });
@@ -4,7 +4,7 @@
4
4
  import { Tooltip as BaseTooltip } from "@base-ui/react/tooltip";
5
5
  import { useThemeScope } from "@publish.os/nextjs/theme-scope";
6
6
  import { cn } from "@publish.os/nextjs/utils/cn";
7
- import { jsx } from "react/jsx-runtime";
7
+ import { jsx } from "@publish.os/nextjs/jsx-runtime";
8
8
  function TooltipProvider(props) {
9
9
  return /* @__PURE__ */ jsx(BaseTooltip.Provider, { ...props });
10
10
  }
@@ -36,8 +36,8 @@ declare const kernelDefaultsRegistry: {
36
36
  readonly name: "AgentActions";
37
37
  readonly status: "available";
38
38
  readonly description: "Agent-readable page actions for opening Markdown in AI chats, copying Markdown, and linking to Markdown artifacts.";
39
- readonly kernelImport: "@publish.os/nextjs/kernel/components/blocks/AgentActions";
40
- readonly projectPath: "publish.os/components/blocks/AgentActions.tsx";
39
+ readonly kernelImport: "@publish.os/nextjs/kernel/components/blocks/agent-actions";
40
+ readonly projectPath: "publish.os/components/blocks/agent-actions.tsx";
41
41
  readonly contract: "AgentActionsProps";
42
42
  }, {
43
43
  readonly category: "ui";
@@ -181,11 +181,11 @@ declare const kernelDefaultsRegistry: {
181
181
  readonly projectPath: "publish.os/components/ui/tabs.tsx";
182
182
  }, {
183
183
  readonly category: "ui";
184
- readonly name: "MetaKey";
184
+ readonly name: "ModKey";
185
185
  readonly status: "available";
186
- readonly description: "Platform meta key display primitive.";
187
- readonly kernelImport: "@publish.os/nextjs/kernel/components/ui/meta-key";
188
- readonly projectPath: "publish.os/components/ui/meta-key.tsx";
186
+ readonly description: "Platform-aware Command or Control shortcut display.";
187
+ readonly kernelImport: "@publish.os/nextjs/kernel/components/ui/mod-key";
188
+ readonly projectPath: "publish.os/components/ui/mod-key.tsx";
189
189
  }, {
190
190
  readonly category: "ui";
191
191
  readonly name: "Toast";
@@ -245,12 +245,6 @@ declare const kernelDefaultsRegistry: {
245
245
  readonly description: "Route transition progress indicator backed by the Progress primitive.";
246
246
  readonly kernelImport: "@publish.os/nextjs/kernel/components/blocks/navigation-progress";
247
247
  readonly projectPath: "publish.os/components/blocks/navigation-progress.tsx";
248
- }, {
249
- readonly category: "block";
250
- readonly name: "LinkPlayground";
251
- readonly status: "available";
252
- readonly description: "Design-system playground for tuning UI and MDX link styling.";
253
- readonly kernelImport: "@publish.os/nextjs/kernel/components/blocks/link-playground";
254
248
  }, {
255
249
  readonly category: "block";
256
250
  readonly name: "NavBreadcrumb";
@@ -287,13 +281,6 @@ declare const kernelDefaultsRegistry: {
287
281
  readonly description: "Current token/color preview block. Will be replaced by DesignSystemPreview.";
288
282
  readonly kernelImport: "@publish.os/nextjs/kernel/components/blocks/color-palette";
289
283
  readonly projectPath: "publish.os/components/blocks/color-palette.tsx";
290
- }, {
291
- readonly category: "block";
292
- readonly name: "DesignSystemPreview";
293
- readonly status: "available";
294
- readonly description: "Tabbed preview for active tokens, typography, UI, MDX, and blocks.";
295
- readonly kernelImport: "@publish.os/nextjs/kernel/components/blocks/design-system-preview";
296
- readonly projectPath: "publish.os/components/blocks/design-system-preview.tsx";
297
284
  }, {
298
285
  readonly category: "mdx";
299
286
  readonly name: "Heading";
@@ -414,7 +401,7 @@ declare const kernelDefaultsRegistry: {
414
401
  readonly status: "available";
415
402
  readonly description: "Default home page.";
416
403
  readonly kernelImport: "@publish.os/nextjs/kernel/routes/pages/root";
417
- readonly projectPath: "publish.os/page.tsx";
404
+ readonly projectPath: "publish.os/index.tsx";
418
405
  }, {
419
406
  readonly category: "route";
420
407
  readonly name: "GroupLayout";
@@ -428,14 +415,14 @@ declare const kernelDefaultsRegistry: {
428
415
  readonly status: "available";
429
416
  readonly description: "Default group index page.";
430
417
  readonly kernelImport: "@publish.os/nextjs/kernel/routes/pages/group";
431
- readonly projectPath: "publish.os/<group>/page.tsx";
418
+ readonly projectPath: "publish.os/<group>/index.tsx";
432
419
  }, {
433
420
  readonly category: "route";
434
- readonly name: "LeafPage";
421
+ readonly name: "ContentPage";
435
422
  readonly status: "available";
436
- readonly description: "Default content leaf page.";
423
+ readonly description: "Default content page.";
437
424
  readonly kernelImport: "@publish.os/nextjs/kernel/routes/pages/leaf";
438
- readonly projectPath: "publish.os/<group>/leaf.tsx";
425
+ readonly projectPath: "publish.os/<group>/page.tsx";
439
426
  }, {
440
427
  readonly category: "route";
441
428
  readonly name: "MetadataRoutes";
@@ -24,8 +24,8 @@ var kernelDefaultsRegistry = {
24
24
  name: "AgentActions",
25
25
  status: "available",
26
26
  description: "Agent-readable page actions for opening Markdown in AI chats, copying Markdown, and linking to Markdown artifacts.",
27
- kernelImport: "@publish.os/nextjs/kernel/components/blocks/AgentActions",
28
- projectPath: "publish.os/components/blocks/AgentActions.tsx",
27
+ kernelImport: "@publish.os/nextjs/kernel/components/blocks/agent-actions",
28
+ projectPath: "publish.os/components/blocks/agent-actions.tsx",
29
29
  contract: "AgentActionsProps"
30
30
  },
31
31
  {
@@ -189,11 +189,11 @@ var kernelDefaultsRegistry = {
189
189
  },
190
190
  {
191
191
  category: "ui",
192
- name: "MetaKey",
192
+ name: "ModKey",
193
193
  status: "available",
194
- description: "Platform meta key display primitive.",
195
- kernelImport: "@publish.os/nextjs/kernel/components/ui/meta-key",
196
- projectPath: "publish.os/components/ui/meta-key.tsx"
194
+ description: "Platform-aware Command or Control shortcut display.",
195
+ kernelImport: "@publish.os/nextjs/kernel/components/ui/mod-key",
196
+ projectPath: "publish.os/components/ui/mod-key.tsx"
197
197
  },
198
198
  {
199
199
  category: "ui",
@@ -262,13 +262,6 @@ var kernelDefaultsRegistry = {
262
262
  kernelImport: "@publish.os/nextjs/kernel/components/blocks/navigation-progress",
263
263
  projectPath: "publish.os/components/blocks/navigation-progress.tsx"
264
264
  },
265
- {
266
- category: "block",
267
- name: "LinkPlayground",
268
- status: "available",
269
- description: "Design-system playground for tuning UI and MDX link styling.",
270
- kernelImport: "@publish.os/nextjs/kernel/components/blocks/link-playground"
271
- },
272
265
  {
273
266
  category: "block",
274
267
  name: "NavBreadcrumb",
@@ -310,14 +303,6 @@ var kernelDefaultsRegistry = {
310
303
  kernelImport: "@publish.os/nextjs/kernel/components/blocks/color-palette",
311
304
  projectPath: "publish.os/components/blocks/color-palette.tsx"
312
305
  },
313
- {
314
- category: "block",
315
- name: "DesignSystemPreview",
316
- status: "available",
317
- description: "Tabbed preview for active tokens, typography, UI, MDX, and blocks.",
318
- kernelImport: "@publish.os/nextjs/kernel/components/blocks/design-system-preview",
319
- projectPath: "publish.os/components/blocks/design-system-preview.tsx"
320
- },
321
306
  {
322
307
  category: "mdx",
323
308
  name: "Heading",
@@ -454,7 +439,7 @@ var kernelDefaultsRegistry = {
454
439
  status: "available",
455
440
  description: "Default home page.",
456
441
  kernelImport: "@publish.os/nextjs/kernel/routes/pages/root",
457
- projectPath: "publish.os/page.tsx"
442
+ projectPath: "publish.os/index.tsx"
458
443
  },
459
444
  {
460
445
  category: "route",
@@ -470,15 +455,15 @@ var kernelDefaultsRegistry = {
470
455
  status: "available",
471
456
  description: "Default group index page.",
472
457
  kernelImport: "@publish.os/nextjs/kernel/routes/pages/group",
473
- projectPath: "publish.os/<group>/page.tsx"
458
+ projectPath: "publish.os/<group>/index.tsx"
474
459
  },
475
460
  {
476
461
  category: "route",
477
- name: "LeafPage",
462
+ name: "ContentPage",
478
463
  status: "available",
479
- description: "Default content leaf page.",
464
+ description: "Default content page.",
480
465
  kernelImport: "@publish.os/nextjs/kernel/routes/pages/leaf",
481
- projectPath: "publish.os/<group>/leaf.tsx"
466
+ projectPath: "publish.os/<group>/page.tsx"
482
467
  },
483
468
  {
484
469
  category: "route",
@@ -1,9 +1,10 @@
1
+ import { NotFoundScope } from '../not-found.js';
2
+
1
3
  type MarkdownRouteArtifact = {
2
4
  body: string;
3
5
  bodyHash?: string;
4
6
  byteSize?: number;
5
7
  htmlPath: string;
6
- image?: string;
7
8
  markdownPath: string;
8
9
  sourceHash?: string;
9
10
  title: string;
@@ -38,6 +39,7 @@ type MarkdownRouteDiscoveryLinks = {
38
39
  };
39
40
  type MarkdownRouteHandlerOptions = {
40
41
  discoveryLinks?: MarkdownRouteDiscoveryLinks;
42
+ notFoundScopes?: readonly NotFoundScope[];
41
43
  };
42
44
  type RouteContext = {
43
45
  params?: Promise<{