@publish.os/nextjs 0.0.1-alpha.2 → 0.0.1-alpha.4

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 (396) hide show
  1. package/README.md +3 -9
  2. package/dist/cache/tags.cjs +3 -0
  3. package/dist/cache/tags.d.cts +1 -0
  4. package/dist/cache/tags.d.ts +1 -0
  5. package/dist/cache/tags.js +3 -0
  6. package/dist/config.cjs +78 -0
  7. package/dist/config.d.cts +101 -0
  8. package/dist/config.d.ts +101 -0
  9. package/dist/config.js +48 -0
  10. package/dist/index.cjs +1043 -124
  11. package/dist/index.d.cts +11 -7
  12. package/dist/index.d.ts +11 -7
  13. package/dist/index.js +1031 -111
  14. package/dist/kernel/components/blocks/AgentActions.cjs +425 -0
  15. package/dist/kernel/components/blocks/AgentActions.d.cts +52 -0
  16. package/dist/kernel/components/blocks/AgentActions.d.ts +52 -0
  17. package/dist/kernel/components/blocks/AgentActions.js +429 -0
  18. package/dist/kernel/components/blocks/animated-icon-swap.cjs +101 -0
  19. package/dist/kernel/components/blocks/animated-icon-swap.d.cts +16 -0
  20. package/dist/kernel/components/blocks/animated-icon-swap.d.ts +16 -0
  21. package/dist/kernel/components/blocks/animated-icon-swap.js +74 -0
  22. package/dist/kernel/components/blocks/color-palette.cjs +413 -0
  23. package/dist/kernel/components/blocks/color-palette.d.cts +7 -0
  24. package/dist/kernel/components/blocks/color-palette.d.ts +7 -0
  25. package/dist/kernel/components/blocks/color-palette.js +407 -0
  26. package/dist/kernel/components/blocks/design-system-preview.cjs +592 -0
  27. package/dist/kernel/components/blocks/design-system-preview.d.cts +29 -0
  28. package/dist/kernel/components/blocks/design-system-preview.d.ts +29 -0
  29. package/dist/kernel/components/blocks/design-system-preview.js +655 -0
  30. package/dist/kernel/components/blocks/link-playground.cjs +816 -0
  31. package/dist/kernel/components/blocks/link-playground.d.cts +5 -0
  32. package/dist/kernel/components/blocks/link-playground.d.ts +5 -0
  33. package/dist/kernel/components/blocks/link-playground.js +792 -0
  34. package/dist/kernel/components/blocks/logo-block.cjs +156 -0
  35. package/dist/kernel/components/blocks/logo-block.d.cts +21 -0
  36. package/dist/kernel/components/blocks/logo-block.d.ts +21 -0
  37. package/dist/kernel/components/blocks/logo-block.js +129 -0
  38. package/dist/{components → kernel/components/blocks}/nav-breadcrumb.cjs +19 -38
  39. package/dist/kernel/components/blocks/nav-breadcrumb.d.cts +11 -0
  40. package/dist/kernel/components/blocks/nav-breadcrumb.d.ts +11 -0
  41. package/dist/{components → kernel/components/blocks}/nav-breadcrumb.js +22 -30
  42. package/dist/kernel/components/blocks/navbar.cjs +154 -0
  43. package/dist/kernel/components/blocks/navbar.d.cts +16 -0
  44. package/dist/kernel/components/blocks/navbar.d.ts +16 -0
  45. package/dist/kernel/components/blocks/navbar.js +122 -0
  46. package/dist/kernel/components/blocks/navigation-progress-playground.cjs +735 -0
  47. package/dist/kernel/components/blocks/navigation-progress-playground.d.cts +5 -0
  48. package/dist/kernel/components/blocks/navigation-progress-playground.d.ts +5 -0
  49. package/dist/kernel/components/blocks/navigation-progress-playground.js +722 -0
  50. package/dist/kernel/components/blocks/navigation-progress.cjs +270 -0
  51. package/dist/kernel/components/blocks/navigation-progress.d.cts +16 -0
  52. package/dist/kernel/components/blocks/navigation-progress.d.ts +16 -0
  53. package/dist/kernel/components/blocks/navigation-progress.js +249 -0
  54. package/dist/kernel/components/blocks/next-prev.cjs +142 -0
  55. package/dist/kernel/components/blocks/next-prev.d.cts +11 -0
  56. package/dist/kernel/components/blocks/next-prev.d.ts +11 -0
  57. package/dist/kernel/components/blocks/next-prev.js +105 -0
  58. package/dist/{components → kernel/components/blocks}/page-list.cjs +7 -16
  59. package/dist/{components → kernel/components/blocks}/page-list.d.cts +1 -1
  60. package/dist/{components → kernel/components/blocks}/page-list.d.ts +1 -1
  61. package/dist/{components → kernel/components/blocks}/page-list.js +6 -5
  62. package/dist/kernel/components/blocks/search.cjs +717 -0
  63. package/dist/kernel/components/blocks/search.d.cts +77 -0
  64. package/dist/kernel/components/blocks/search.d.ts +77 -0
  65. package/dist/kernel/components/blocks/search.js +697 -0
  66. package/dist/kernel/components/blocks/sidebar-node.cjs +309 -0
  67. package/dist/kernel/components/blocks/sidebar-node.d.cts +8 -0
  68. package/dist/kernel/components/blocks/sidebar-node.d.ts +8 -0
  69. package/dist/kernel/components/blocks/sidebar-node.js +272 -0
  70. package/dist/kernel/components/blocks/sidebar.cjs +317 -0
  71. package/dist/kernel/components/blocks/sidebar.d.cts +33 -0
  72. package/dist/kernel/components/blocks/sidebar.d.ts +33 -0
  73. package/dist/kernel/components/blocks/sidebar.js +302 -0
  74. package/dist/kernel/components/blocks/theme-toggle.cjs +31 -0
  75. package/dist/kernel/components/blocks/theme-toggle.d.cts +6 -0
  76. package/dist/kernel/components/blocks/theme-toggle.d.ts +6 -0
  77. package/dist/kernel/components/blocks/theme-toggle.js +7 -0
  78. package/dist/kernel/components/blocks/toc.cjs +356 -0
  79. package/dist/kernel/components/blocks/toc.d.cts +10 -0
  80. package/dist/kernel/components/blocks/toc.d.ts +10 -0
  81. package/dist/kernel/components/blocks/toc.js +330 -0
  82. package/dist/kernel/components/mdx/components/blockquote.cjs +66 -0
  83. package/dist/kernel/components/mdx/components/blockquote.d.cts +6 -0
  84. package/dist/kernel/components/mdx/components/blockquote.d.ts +6 -0
  85. package/dist/kernel/components/mdx/components/blockquote.js +39 -0
  86. package/dist/kernel/components/mdx/components/callout.cjs +137 -0
  87. package/dist/kernel/components/mdx/components/callout.d.cts +18 -0
  88. package/dist/kernel/components/mdx/components/callout.d.ts +18 -0
  89. package/dist/kernel/components/mdx/components/callout.js +109 -0
  90. package/dist/kernel/components/mdx/components/code-block.cjs +39 -0
  91. package/dist/kernel/components/mdx/components/code-block.d.cts +9 -0
  92. package/dist/kernel/components/mdx/components/code-block.d.ts +9 -0
  93. package/dist/kernel/components/mdx/components/code-block.js +14 -0
  94. package/dist/kernel/components/mdx/components/figure-caption.cjs +63 -0
  95. package/dist/kernel/components/mdx/components/figure-caption.d.cts +6 -0
  96. package/dist/kernel/components/mdx/components/figure-caption.d.ts +6 -0
  97. package/dist/kernel/components/mdx/components/figure-caption.js +36 -0
  98. package/dist/kernel/components/mdx/components/figure.cjs +78 -0
  99. package/dist/kernel/components/mdx/components/figure.d.cts +10 -0
  100. package/dist/kernel/components/mdx/components/figure.d.ts +10 -0
  101. package/dist/kernel/components/mdx/components/figure.js +53 -0
  102. package/dist/kernel/components/mdx/components/footnotes.cjs +66 -0
  103. package/dist/kernel/components/mdx/components/footnotes.d.cts +6 -0
  104. package/dist/kernel/components/mdx/components/footnotes.d.ts +6 -0
  105. package/dist/kernel/components/mdx/components/footnotes.js +39 -0
  106. package/dist/kernel/components/mdx/components/heading-copy-link.cjs +108 -0
  107. package/dist/kernel/components/mdx/components/heading-copy-link.d.cts +23 -0
  108. package/dist/kernel/components/mdx/components/heading-copy-link.d.ts +23 -0
  109. package/dist/kernel/components/mdx/components/heading-copy-link.js +81 -0
  110. package/dist/kernel/components/mdx/components/heading.cjs +166 -0
  111. package/dist/kernel/components/mdx/components/heading.d.cts +8 -0
  112. package/dist/kernel/components/mdx/components/heading.d.ts +8 -0
  113. package/dist/kernel/components/mdx/components/heading.js +144 -0
  114. package/dist/kernel/components/mdx/components/hr.cjs +34 -0
  115. package/dist/kernel/components/mdx/components/hr.d.cts +9 -0
  116. package/dist/kernel/components/mdx/components/hr.d.ts +9 -0
  117. package/dist/kernel/components/mdx/components/hr.js +9 -0
  118. package/dist/kernel/components/mdx/components/image-zoom.cjs +49 -0
  119. package/dist/kernel/components/mdx/components/image-zoom.d.cts +10 -0
  120. package/dist/kernel/components/mdx/components/image-zoom.d.ts +10 -0
  121. package/dist/kernel/components/mdx/components/image-zoom.js +15 -0
  122. package/dist/kernel/components/mdx/components/image.cjs +192 -0
  123. package/dist/kernel/components/mdx/components/image.d.cts +21 -0
  124. package/dist/kernel/components/mdx/components/image.d.ts +21 -0
  125. package/dist/kernel/components/mdx/components/image.js +157 -0
  126. package/dist/kernel/components/mdx/components/inline-code.cjs +66 -0
  127. package/dist/kernel/components/mdx/components/inline-code.d.cts +6 -0
  128. package/dist/kernel/components/mdx/components/inline-code.d.ts +6 -0
  129. package/dist/kernel/components/mdx/components/inline-code.js +39 -0
  130. package/dist/kernel/components/mdx/components/kbd.cjs +34 -0
  131. package/dist/kernel/components/mdx/components/kbd.d.cts +10 -0
  132. package/dist/kernel/components/mdx/components/kbd.d.ts +10 -0
  133. package/dist/kernel/components/mdx/components/kbd.js +9 -0
  134. package/dist/{components/providers.cjs → kernel/components/mdx/components/link.cjs} +20 -15
  135. package/dist/kernel/components/mdx/components/link.d.cts +11 -0
  136. package/dist/kernel/components/mdx/components/link.d.ts +11 -0
  137. package/dist/kernel/components/mdx/components/link.js +26 -0
  138. package/dist/kernel/components/mdx/components/paragraph.cjs +87 -0
  139. package/dist/kernel/components/mdx/components/paragraph.d.cts +5 -0
  140. package/dist/kernel/components/mdx/components/paragraph.d.ts +5 -0
  141. package/dist/kernel/components/mdx/components/paragraph.js +60 -0
  142. package/dist/kernel/components/mdx/components/pre.cjs +66 -0
  143. package/dist/kernel/components/mdx/components/pre.d.cts +6 -0
  144. package/dist/kernel/components/mdx/components/pre.d.ts +6 -0
  145. package/dist/kernel/components/mdx/components/pre.js +39 -0
  146. package/dist/kernel/components/mdx/components/strikethrough.cjs +63 -0
  147. package/dist/kernel/components/mdx/components/strikethrough.d.cts +6 -0
  148. package/dist/kernel/components/mdx/components/strikethrough.d.ts +6 -0
  149. package/dist/kernel/components/mdx/components/strikethrough.js +36 -0
  150. package/dist/kernel/components/mdx/components/table.cjs +59 -0
  151. package/dist/kernel/components/mdx/components/table.d.cts +10 -0
  152. package/dist/kernel/components/mdx/components/table.d.ts +10 -0
  153. package/dist/kernel/components/mdx/components/table.js +36 -0
  154. package/dist/kernel/components/mdx/components/task-list.cjs +88 -0
  155. package/dist/kernel/components/mdx/components/task-list.d.cts +8 -0
  156. package/dist/kernel/components/mdx/components/task-list.d.ts +8 -0
  157. package/dist/kernel/components/mdx/components/task-list.js +60 -0
  158. package/dist/kernel/components/mdx/components/video-player.cjs +173 -0
  159. package/dist/kernel/components/mdx/components/video-player.d.cts +18 -0
  160. package/dist/kernel/components/mdx/components/video-player.d.ts +18 -0
  161. package/dist/kernel/components/mdx/components/video-player.js +147 -0
  162. package/dist/kernel/components/mdx/components/video.cjs +185 -0
  163. package/dist/kernel/components/mdx/components/video.d.cts +15 -0
  164. package/dist/kernel/components/mdx/components/video.d.ts +15 -0
  165. package/dist/kernel/components/mdx/components/video.js +162 -0
  166. package/dist/kernel/components/mdx/error-boundary.cjs +62 -0
  167. package/dist/{mdx → kernel/components/mdx}/error-boundary.d.cts +3 -8
  168. package/dist/{mdx → kernel/components/mdx}/error-boundary.d.ts +3 -8
  169. package/dist/kernel/components/mdx/error-boundary.js +38 -0
  170. package/dist/{mdx → kernel/components/mdx}/error-fallback.cjs +8 -8
  171. package/dist/{mdx → kernel/components/mdx}/error-fallback.js +8 -8
  172. package/dist/kernel/components/mdx/mdx.cjs +141 -0
  173. package/dist/kernel/components/mdx/mdx.d.cts +22 -0
  174. package/dist/kernel/components/mdx/mdx.d.ts +22 -0
  175. package/dist/kernel/components/mdx/mdx.js +109 -0
  176. package/dist/kernel/components/mdx/rehype-heading-ids.cjs +113 -0
  177. package/dist/kernel/components/mdx/rehype-heading-ids.d.cts +10 -0
  178. package/dist/kernel/components/mdx/rehype-heading-ids.d.ts +10 -0
  179. package/dist/kernel/components/mdx/rehype-heading-ids.js +86 -0
  180. package/dist/kernel/components/mdx/types.cjs +18 -0
  181. package/dist/kernel/components/mdx/types.d.cts +18 -0
  182. package/dist/kernel/components/mdx/types.d.ts +18 -0
  183. package/dist/kernel/components/mdx/types.js +0 -0
  184. package/dist/kernel/components/ui/accordion.cjs +104 -0
  185. package/dist/kernel/components/ui/accordion.d.cts +16 -0
  186. package/dist/kernel/components/ui/accordion.d.ts +16 -0
  187. package/dist/kernel/components/ui/accordion.js +76 -0
  188. package/dist/kernel/components/ui/badge.cjs +75 -0
  189. package/dist/kernel/components/ui/badge.d.cts +12 -0
  190. package/dist/kernel/components/ui/badge.d.ts +12 -0
  191. package/dist/kernel/components/ui/badge.js +47 -0
  192. package/dist/kernel/components/ui/breadcrumb-trail.cjs +238 -0
  193. package/dist/kernel/components/ui/breadcrumb-trail.d.cts +13 -0
  194. package/dist/kernel/components/ui/breadcrumb-trail.d.ts +13 -0
  195. package/dist/kernel/components/ui/breadcrumb-trail.js +225 -0
  196. package/dist/kernel/components/ui/breadcrumb.cjs +399 -0
  197. package/dist/kernel/components/ui/breadcrumb.d.cts +52 -0
  198. package/dist/kernel/components/ui/breadcrumb.d.ts +52 -0
  199. package/dist/kernel/components/ui/breadcrumb.js +365 -0
  200. package/dist/kernel/components/ui/button-group.cjs +144 -0
  201. package/dist/kernel/components/ui/button-group.d.cts +19 -0
  202. package/dist/kernel/components/ui/button-group.d.ts +19 -0
  203. package/dist/kernel/components/ui/button-group.js +116 -0
  204. package/dist/kernel/components/ui/button.cjs +147 -0
  205. package/dist/kernel/components/ui/button.d.cts +23 -0
  206. package/dist/kernel/components/ui/button.d.ts +23 -0
  207. package/dist/kernel/components/ui/button.js +121 -0
  208. package/dist/kernel/components/ui/card.cjs +133 -0
  209. package/dist/kernel/components/ui/card.d.cts +17 -0
  210. package/dist/kernel/components/ui/card.d.ts +17 -0
  211. package/dist/kernel/components/ui/card.js +101 -0
  212. package/dist/kernel/components/ui/dialog.cjs +149 -0
  213. package/dist/kernel/components/ui/dialog.d.cts +22 -0
  214. package/dist/kernel/components/ui/dialog.d.ts +22 -0
  215. package/dist/kernel/components/ui/dialog.js +118 -0
  216. package/dist/kernel/components/ui/drawer.cjs +163 -0
  217. package/dist/kernel/components/ui/drawer.d.cts +24 -0
  218. package/dist/kernel/components/ui/drawer.d.ts +24 -0
  219. package/dist/kernel/components/ui/drawer.js +131 -0
  220. package/dist/kernel/components/ui/input.cjs +96 -0
  221. package/dist/kernel/components/ui/input.d.cts +18 -0
  222. package/dist/kernel/components/ui/input.d.ts +18 -0
  223. package/dist/kernel/components/ui/input.js +70 -0
  224. package/dist/kernel/components/ui/kbd.cjs +105 -0
  225. package/dist/kernel/components/ui/kbd.d.cts +13 -0
  226. package/dist/kernel/components/ui/kbd.d.ts +13 -0
  227. package/dist/kernel/components/ui/kbd.js +77 -0
  228. package/dist/kernel/components/ui/link.cjs +253 -0
  229. package/dist/kernel/components/ui/link.d.cts +31 -0
  230. package/dist/kernel/components/ui/link.d.ts +31 -0
  231. package/dist/kernel/components/ui/link.js +217 -0
  232. package/dist/kernel/components/ui/menu.cjs +301 -0
  233. package/dist/kernel/components/ui/menu.d.cts +70 -0
  234. package/dist/kernel/components/ui/menu.d.ts +70 -0
  235. package/dist/kernel/components/ui/menu.js +256 -0
  236. package/dist/kernel/components/ui/meta-key.cjs +34 -0
  237. package/dist/kernel/components/ui/meta-key.d.cts +12 -0
  238. package/dist/kernel/components/ui/meta-key.d.ts +12 -0
  239. package/dist/kernel/components/ui/meta-key.js +9 -0
  240. package/dist/kernel/components/ui/navigation-menu.cjs +253 -0
  241. package/dist/kernel/components/ui/navigation-menu.d.cts +47 -0
  242. package/dist/kernel/components/ui/navigation-menu.d.ts +47 -0
  243. package/dist/kernel/components/ui/navigation-menu.js +216 -0
  244. package/dist/kernel/components/ui/popover.cjs +168 -0
  245. package/dist/kernel/components/ui/popover.d.cts +24 -0
  246. package/dist/kernel/components/ui/popover.d.ts +24 -0
  247. package/dist/kernel/components/ui/popover.js +136 -0
  248. package/dist/kernel/components/ui/progress.cjs +112 -0
  249. package/dist/kernel/components/ui/progress.d.cts +16 -0
  250. package/dist/kernel/components/ui/progress.d.ts +16 -0
  251. package/dist/kernel/components/ui/progress.js +84 -0
  252. package/dist/kernel/components/ui/scroll-area.cjs +413 -0
  253. package/dist/kernel/components/ui/scroll-area.d.cts +58 -0
  254. package/dist/kernel/components/ui/scroll-area.d.ts +58 -0
  255. package/dist/kernel/components/ui/scroll-area.js +390 -0
  256. package/dist/kernel/components/ui/select.cjs +244 -0
  257. package/dist/kernel/components/ui/select.d.cts +40 -0
  258. package/dist/kernel/components/ui/select.d.ts +40 -0
  259. package/dist/kernel/components/ui/select.js +205 -0
  260. package/dist/kernel/components/ui/separator.cjs +73 -0
  261. package/dist/kernel/components/ui/separator.d.cts +8 -0
  262. package/dist/kernel/components/ui/separator.d.ts +8 -0
  263. package/dist/kernel/components/ui/separator.js +48 -0
  264. package/dist/kernel/components/ui/table.cjs +131 -0
  265. package/dist/kernel/components/ui/table.d.cts +11 -0
  266. package/dist/kernel/components/ui/table.d.ts +11 -0
  267. package/dist/kernel/components/ui/table.js +99 -0
  268. package/dist/kernel/components/ui/tabs.cjs +450 -0
  269. package/dist/kernel/components/ui/tabs.d.cts +82 -0
  270. package/dist/kernel/components/ui/tabs.d.ts +82 -0
  271. package/dist/kernel/components/ui/tabs.js +409 -0
  272. package/dist/kernel/components/ui/text.cjs +184 -0
  273. package/dist/kernel/components/ui/text.d.cts +17 -0
  274. package/dist/kernel/components/ui/text.d.ts +17 -0
  275. package/dist/kernel/components/ui/text.js +156 -0
  276. package/dist/kernel/components/ui/theme-toggle.cjs +108 -0
  277. package/dist/kernel/components/ui/theme-toggle.d.cts +10 -0
  278. package/dist/kernel/components/ui/theme-toggle.d.ts +10 -0
  279. package/dist/kernel/components/ui/theme-toggle.js +84 -0
  280. package/dist/kernel/components/ui/toast.cjs +154 -0
  281. package/dist/kernel/components/ui/toast.d.cts +26 -0
  282. package/dist/kernel/components/ui/toast.d.ts +26 -0
  283. package/dist/kernel/components/ui/toast.js +120 -0
  284. package/dist/kernel/components/ui/tooltip.cjs +127 -0
  285. package/dist/kernel/components/ui/tooltip.d.cts +20 -0
  286. package/dist/kernel/components/ui/tooltip.d.ts +20 -0
  287. package/dist/kernel/components/ui/tooltip.js +97 -0
  288. package/dist/kernel/defaults.registry.cjs +541 -0
  289. package/dist/kernel/defaults.registry.d.cts +469 -0
  290. package/dist/kernel/defaults.registry.d.ts +469 -0
  291. package/dist/kernel/defaults.registry.js +516 -0
  292. package/dist/kernel/routes/agent/markdown.cjs +202 -0
  293. package/dist/kernel/routes/agent/markdown.d.cts +58 -0
  294. package/dist/kernel/routes/agent/markdown.d.ts +58 -0
  295. package/dist/kernel/routes/agent/markdown.js +174 -0
  296. package/dist/{layouts → kernel/routes/layouts}/group.cjs +39 -15
  297. package/dist/kernel/routes/layouts/group.d.cts +20 -0
  298. package/dist/kernel/routes/layouts/group.d.ts +20 -0
  299. package/dist/{layouts → kernel/routes/layouts}/group.js +39 -15
  300. package/dist/kernel/routes/metadata/feed.cjs +293 -0
  301. package/dist/kernel/routes/metadata/feed.d.cts +20 -0
  302. package/dist/kernel/routes/metadata/feed.d.ts +20 -0
  303. package/dist/kernel/routes/metadata/feed.js +265 -0
  304. package/dist/kernel/routes/metadata/llms.cjs +239 -0
  305. package/dist/kernel/routes/metadata/llms.d.cts +26 -0
  306. package/dist/kernel/routes/metadata/llms.d.ts +26 -0
  307. package/dist/kernel/routes/metadata/llms.js +211 -0
  308. package/dist/kernel/routes/metadata/og-image.cjs +630 -0
  309. package/dist/kernel/routes/metadata/og-image.d.cts +62 -0
  310. package/dist/kernel/routes/metadata/og-image.d.ts +62 -0
  311. package/dist/kernel/routes/metadata/og-image.js +604 -0
  312. package/dist/{routes → kernel/routes/metadata}/robots.cjs +59 -5
  313. package/dist/{routes → kernel/routes/metadata}/robots.d.cts +2 -1
  314. package/dist/{routes → kernel/routes/metadata}/robots.d.ts +2 -1
  315. package/dist/kernel/routes/metadata/robots.js +123 -0
  316. package/dist/kernel/routes/metadata/sitemap.cjs +192 -0
  317. package/dist/kernel/routes/metadata/sitemap.d.cts +8 -0
  318. package/dist/kernel/routes/metadata/sitemap.d.ts +8 -0
  319. package/dist/kernel/routes/metadata/sitemap.js +166 -0
  320. package/dist/{pages → kernel/routes/pages}/group.cjs +107 -6
  321. package/dist/{pages → kernel/routes/pages}/group.d.cts +4 -2
  322. package/dist/{pages → kernel/routes/pages}/group.d.ts +4 -2
  323. package/dist/{pages → kernel/routes/pages}/group.js +107 -6
  324. package/dist/kernel/routes/pages/leaf.cjs +421 -0
  325. package/dist/kernel/routes/pages/leaf.d.cts +36 -0
  326. package/dist/kernel/routes/pages/leaf.d.ts +36 -0
  327. package/dist/kernel/routes/pages/leaf.js +397 -0
  328. package/dist/{pages → kernel/routes/pages}/root.cjs +108 -6
  329. package/dist/{pages → kernel/routes/pages}/root.d.cts +4 -2
  330. package/dist/{pages → kernel/routes/pages}/root.d.ts +4 -2
  331. package/dist/kernel/routes/pages/root.js +203 -0
  332. package/dist/keyboard-shortcuts.cjs +345 -0
  333. package/dist/keyboard-shortcuts.d.cts +34 -0
  334. package/dist/keyboard-shortcuts.d.ts +34 -0
  335. package/dist/keyboard-shortcuts.js +326 -0
  336. package/dist/resolvers/manifest-resolver.cjs +7 -3
  337. package/dist/resolvers/manifest-resolver.d.cts +2 -2
  338. package/dist/resolvers/manifest-resolver.d.ts +2 -2
  339. package/dist/resolvers/manifest-resolver.js +7 -3
  340. package/dist/search.cjs +411 -0
  341. package/dist/search.d.cts +20 -0
  342. package/dist/search.d.ts +20 -0
  343. package/dist/search.js +393 -0
  344. package/dist/types.cjs +12 -0
  345. package/dist/types.d.cts +132 -7
  346. package/dist/types.d.ts +132 -7
  347. package/dist/types.js +5 -0
  348. package/dist/utils/heading-ids.cjs +119 -0
  349. package/dist/utils/heading-ids.d.cts +15 -0
  350. package/dist/utils/heading-ids.d.ts +15 -0
  351. package/dist/utils/heading-ids.js +90 -0
  352. package/package.json +59 -38
  353. package/release/package.json +23 -0
  354. package/release/pnpm-lock.yaml +1192 -0
  355. package/release/release.json +39 -0
  356. package/dist/components/color-palette.cjs +0 -408
  357. package/dist/components/color-palette.d.cts +0 -5
  358. package/dist/components/color-palette.d.ts +0 -5
  359. package/dist/components/color-palette.js +0 -388
  360. package/dist/components/nav-breadcrumb.d.cts +0 -9
  361. package/dist/components/nav-breadcrumb.d.ts +0 -9
  362. package/dist/components/providers.d.cts +0 -8
  363. package/dist/components/providers.d.ts +0 -8
  364. package/dist/components/providers.js +0 -20
  365. package/dist/components/site-header.cjs +0 -302
  366. package/dist/components/site-header.d.cts +0 -12
  367. package/dist/components/site-header.d.ts +0 -12
  368. package/dist/components/site-header.js +0 -268
  369. package/dist/components/theme-toggle.cjs +0 -147
  370. package/dist/components/theme-toggle.d.cts +0 -5
  371. package/dist/components/theme-toggle.d.ts +0 -5
  372. package/dist/components/theme-toggle.js +0 -123
  373. package/dist/layouts/group.d.cts +0 -15
  374. package/dist/layouts/group.d.ts +0 -15
  375. package/dist/mdx/error-boundary.cjs +0 -94
  376. package/dist/mdx/error-boundary.js +0 -70
  377. package/dist/mdx/mdx.cjs +0 -182
  378. package/dist/mdx/mdx.d.cts +0 -10
  379. package/dist/mdx/mdx.d.ts +0 -10
  380. package/dist/mdx/mdx.js +0 -147
  381. package/dist/pages/leaf.cjs +0 -203
  382. package/dist/pages/leaf.d.cts +0 -23
  383. package/dist/pages/leaf.d.ts +0 -23
  384. package/dist/pages/leaf.js +0 -176
  385. package/dist/pages/root.js +0 -101
  386. package/dist/routes/llms.cjs +0 -101
  387. package/dist/routes/llms.d.cts +0 -7
  388. package/dist/routes/llms.d.ts +0 -7
  389. package/dist/routes/llms.js +0 -76
  390. package/dist/routes/robots.js +0 -69
  391. package/dist/routes/sitemap.cjs +0 -108
  392. package/dist/routes/sitemap.d.cts +0 -5
  393. package/dist/routes/sitemap.d.ts +0 -5
  394. package/dist/routes/sitemap.js +0 -83
  395. /package/dist/{mdx → kernel/components/mdx}/error-fallback.d.cts +0 -0
  396. /package/dist/{mdx → kernel/components/mdx}/error-fallback.d.ts +0 -0
@@ -0,0 +1,202 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/kernel/routes/agent/markdown.ts
21
+ var markdown_exports = {};
22
+ __export(markdown_exports, {
23
+ createMarkdownRouteHandlers: () => createMarkdownRouteHandlers,
24
+ findArtifact: () => findArtifact
25
+ });
26
+ module.exports = __toCommonJS(markdown_exports);
27
+
28
+ // src/internal/utils/logger.ts
29
+ var isDev = process.env.NODE_ENV !== "production";
30
+ var isDebugEnabled = process.env.NEXT_PRIVATE_DEBUG_CACHE === "1";
31
+ var log = {
32
+ debug(...args) {
33
+ if (isDev && isDebugEnabled) console.debug("[publish.os:debug]", ...args);
34
+ },
35
+ info(...args) {
36
+ console.log("[publish.os]", ...args);
37
+ },
38
+ warn(...args) {
39
+ console.warn("[publish.os:warn]", ...args);
40
+ },
41
+ error(...args) {
42
+ console.error("[publish.os:error]", ...args);
43
+ }
44
+ };
45
+
46
+ // src/kernel/routes/response.ts
47
+ var CACHE_CONTROL = "public, max-age=300, s-maxage=86400, stale-while-revalidate=3600, must-revalidate";
48
+ var CDN_CACHE_CONTROL = "public, max-age=2592000, stale-while-revalidate=31536000";
49
+ var SHORT_CACHE_CONTROL = "public, max-age=60, s-maxage=600, stale-while-revalidate=300, must-revalidate";
50
+ var SHORT_CDN_CACHE_CONTROL = "public, max-age=300, stale-while-revalidate=3600";
51
+ function cacheControl(policy) {
52
+ if (!policy || policy === "default") return CACHE_CONTROL;
53
+ if (policy === "short") return SHORT_CACHE_CONTROL;
54
+ return policy;
55
+ }
56
+ function cdnCacheControl(policy) {
57
+ if (!policy || policy === "default") return CDN_CACHE_CONTROL;
58
+ if (policy === "short") return SHORT_CDN_CACHE_CONTROL;
59
+ return policy;
60
+ }
61
+ function cachedTextHeaders(contentType, options = {}) {
62
+ const headers = new Headers(options.headers);
63
+ headers.set("cache-control", cacheControl(options.cachePolicy));
64
+ headers.set("cdn-cache-control", cdnCacheControl(options.cachePolicy));
65
+ headers.set("vercel-cdn-cache-control", cdnCacheControl(options.cachePolicy));
66
+ headers.set("content-type", contentType);
67
+ headers.set("x-content-type-options", "nosniff");
68
+ if (options.noindex) headers.set("x-robots-tag", "noindex");
69
+ return headers;
70
+ }
71
+ function createCachedTextResponse(options) {
72
+ const status = options.status ?? 200;
73
+ const method = options.method ?? "GET";
74
+ const headers = cachedTextHeaders(options.contentType, options);
75
+ return new Response(method === "HEAD" ? null : options.body, {
76
+ headers,
77
+ status
78
+ });
79
+ }
80
+
81
+ // src/kernel/routes/agent/markdown.ts
82
+ var DEFAULT_DISCOVERY_LINKS = {
83
+ home: "/",
84
+ llms: "/llms.txt",
85
+ sitemap: "/sitemap.md"
86
+ };
87
+ function debugMarkdownResponse(details) {
88
+ log.debug("[agent-route]", "md-response", details);
89
+ }
90
+ function normalizeArtifactPath(parts) {
91
+ if (!parts?.length) return "/index.md";
92
+ if (parts.some((part) => part === ".." || part.includes("\0"))) {
93
+ return null;
94
+ }
95
+ return `/${parts.join("/")}`.replace(/\/+/g, "/");
96
+ }
97
+ function findArtifactKey(artifacts, artifactPath) {
98
+ if (artifacts[artifactPath]) return artifactPath;
99
+ const suffixedPath = artifactPath.endsWith(".md") ? artifactPath : `${artifactPath}.md`;
100
+ if (artifacts[suffixedPath]) return suffixedPath;
101
+ return void 0;
102
+ }
103
+ function findArtifact(artifacts, artifactPath) {
104
+ return artifacts[artifactPath] ?? artifacts[artifactPath.endsWith(".md") ? artifactPath : `${artifactPath}.md`];
105
+ }
106
+ function markdownHeaders(artifact) {
107
+ return {
108
+ headers: {
109
+ link: `<${artifact.markdownPath}>; rel="alternate"; type="text/markdown", </llms.txt>; rel="llms-txt"; type="text/plain"`
110
+ },
111
+ contentType: "text/markdown; charset=utf-8"
112
+ };
113
+ }
114
+ function markdown404Body(discoveryLinks) {
115
+ const links = [
116
+ discoveryLinks.home ? `> Home: ${discoveryLinks.home}` : void 0,
117
+ discoveryLinks.sitemap ? `> Sitemap: ${discoveryLinks.sitemap}` : void 0,
118
+ discoveryLinks.llms ? `> LLMS index: ${discoveryLinks.llms}` : void 0
119
+ ].filter((line) => Boolean(line));
120
+ return [
121
+ "# Not found",
122
+ "",
123
+ ...links,
124
+ "",
125
+ "The requested Markdown page was not found.",
126
+ ""
127
+ ].join("\n");
128
+ }
129
+ function notFoundResponse(method, discoveryLinks, artifactPath, reason) {
130
+ debugMarkdownResponse({
131
+ artifactPath,
132
+ method,
133
+ reason,
134
+ status: 404
135
+ });
136
+ return createCachedTextResponse({
137
+ body: markdown404Body(discoveryLinks),
138
+ cachePolicy: "short",
139
+ contentType: "text/markdown; charset=utf-8",
140
+ method,
141
+ noindex: true,
142
+ status: 404
143
+ });
144
+ }
145
+ async function markdownResponse(artifacts, discoveryLinks, method, context) {
146
+ const params = await Promise.resolve(context.params);
147
+ const artifactPath = normalizeArtifactPath(params?.path);
148
+ if (!artifactPath) {
149
+ return notFoundResponse(method, discoveryLinks, void 0, "invalid-path");
150
+ }
151
+ const artifactKey = findArtifactKey(artifacts.index, artifactPath);
152
+ if (!artifactKey) {
153
+ return notFoundResponse(
154
+ method,
155
+ discoveryLinks,
156
+ artifactPath,
157
+ "missing-index"
158
+ );
159
+ }
160
+ const artifact = await artifacts.loadArtifact(artifactKey);
161
+ if (!artifact) {
162
+ return notFoundResponse(
163
+ method,
164
+ discoveryLinks,
165
+ artifactPath,
166
+ "missing-shard"
167
+ );
168
+ }
169
+ const { contentType, headers } = markdownHeaders(artifact);
170
+ debugMarkdownResponse({
171
+ artifactPath: artifact.markdownPath,
172
+ contentType,
173
+ method,
174
+ status: 200
175
+ });
176
+ return createCachedTextResponse({
177
+ body: artifact.body,
178
+ contentType,
179
+ headers,
180
+ method,
181
+ status: 200
182
+ });
183
+ }
184
+ function createMarkdownRouteHandlers(artifacts, options = {}) {
185
+ const discoveryLinks = {
186
+ ...DEFAULT_DISCOVERY_LINKS,
187
+ ...options.discoveryLinks
188
+ };
189
+ const generateStaticParams = () => Object.keys(artifacts.index).map((artifactPath) => ({
190
+ path: artifactPath.replace(/^\//, "").replace(/\.md$/, "").split("/")
191
+ }));
192
+ return {
193
+ GET: (_request, context) => markdownResponse(artifacts, discoveryLinks, "GET", context),
194
+ HEAD: (_request, context) => markdownResponse(artifacts, discoveryLinks, "HEAD", context),
195
+ generateStaticParams
196
+ };
197
+ }
198
+ // Annotate the CommonJS export names for ESM import in node:
199
+ 0 && (module.exports = {
200
+ createMarkdownRouteHandlers,
201
+ findArtifact
202
+ });
@@ -0,0 +1,58 @@
1
+ type MarkdownRouteArtifact = {
2
+ body: string;
3
+ bodyHash?: string;
4
+ byteSize?: number;
5
+ htmlPath: string;
6
+ image?: string;
7
+ markdownPath: string;
8
+ sourceHash?: string;
9
+ title: string;
10
+ };
11
+ type MarkdownRouteArtifacts = Record<string, MarkdownRouteArtifact>;
12
+ type MarkdownRouteArtifactIndexEntry = Omit<MarkdownRouteArtifact, "body"> & {
13
+ shardId: string;
14
+ };
15
+ type MarkdownRouteArtifactIndex = Record<string, MarkdownRouteArtifactIndexEntry>;
16
+ type MarkdownRouteArtifactShardMetadata = {
17
+ byteSize: number;
18
+ contentHash: string;
19
+ id: string;
20
+ modulePath: string;
21
+ pageCount: number;
22
+ };
23
+ type MarkdownRouteArtifactManifest = {
24
+ byHtmlPath: Record<string, string>;
25
+ byMarkdownPath: MarkdownRouteArtifactIndex;
26
+ shards: MarkdownRouteArtifactShardMetadata[];
27
+ };
28
+ type MarkdownRouteArtifactShard = MarkdownRouteArtifacts;
29
+ type MarkdownRouteArtifactLoader = (artifactPath: string) => Promise<MarkdownRouteArtifact | undefined>;
30
+ type MarkdownRouteHandlerArtifacts = {
31
+ index: MarkdownRouteArtifactIndex;
32
+ loadArtifact: MarkdownRouteArtifactLoader;
33
+ };
34
+ type MarkdownRouteDiscoveryLinks = {
35
+ home?: string;
36
+ llms?: string;
37
+ sitemap?: string;
38
+ };
39
+ type MarkdownRouteHandlerOptions = {
40
+ discoveryLinks?: MarkdownRouteDiscoveryLinks;
41
+ };
42
+ type RouteContext = {
43
+ params?: Promise<{
44
+ path?: string[];
45
+ }> | {
46
+ path?: string[];
47
+ };
48
+ };
49
+ declare function findArtifact(artifacts: MarkdownRouteArtifacts, artifactPath: string): MarkdownRouteArtifact | undefined;
50
+ declare function createMarkdownRouteHandlers(artifacts: MarkdownRouteHandlerArtifacts, options?: MarkdownRouteHandlerOptions): {
51
+ GET: (_request: Request, context: RouteContext) => Promise<Response>;
52
+ HEAD: (_request: Request, context: RouteContext) => Promise<Response>;
53
+ generateStaticParams: () => {
54
+ path: string[];
55
+ }[];
56
+ };
57
+
58
+ export { type MarkdownRouteArtifact, type MarkdownRouteArtifactIndex, type MarkdownRouteArtifactIndexEntry, type MarkdownRouteArtifactLoader, type MarkdownRouteArtifactManifest, type MarkdownRouteArtifactShard, type MarkdownRouteArtifactShardMetadata, type MarkdownRouteArtifacts, type MarkdownRouteDiscoveryLinks, type MarkdownRouteHandlerArtifacts, type MarkdownRouteHandlerOptions, createMarkdownRouteHandlers, findArtifact };
@@ -0,0 +1,58 @@
1
+ type MarkdownRouteArtifact = {
2
+ body: string;
3
+ bodyHash?: string;
4
+ byteSize?: number;
5
+ htmlPath: string;
6
+ image?: string;
7
+ markdownPath: string;
8
+ sourceHash?: string;
9
+ title: string;
10
+ };
11
+ type MarkdownRouteArtifacts = Record<string, MarkdownRouteArtifact>;
12
+ type MarkdownRouteArtifactIndexEntry = Omit<MarkdownRouteArtifact, "body"> & {
13
+ shardId: string;
14
+ };
15
+ type MarkdownRouteArtifactIndex = Record<string, MarkdownRouteArtifactIndexEntry>;
16
+ type MarkdownRouteArtifactShardMetadata = {
17
+ byteSize: number;
18
+ contentHash: string;
19
+ id: string;
20
+ modulePath: string;
21
+ pageCount: number;
22
+ };
23
+ type MarkdownRouteArtifactManifest = {
24
+ byHtmlPath: Record<string, string>;
25
+ byMarkdownPath: MarkdownRouteArtifactIndex;
26
+ shards: MarkdownRouteArtifactShardMetadata[];
27
+ };
28
+ type MarkdownRouteArtifactShard = MarkdownRouteArtifacts;
29
+ type MarkdownRouteArtifactLoader = (artifactPath: string) => Promise<MarkdownRouteArtifact | undefined>;
30
+ type MarkdownRouteHandlerArtifacts = {
31
+ index: MarkdownRouteArtifactIndex;
32
+ loadArtifact: MarkdownRouteArtifactLoader;
33
+ };
34
+ type MarkdownRouteDiscoveryLinks = {
35
+ home?: string;
36
+ llms?: string;
37
+ sitemap?: string;
38
+ };
39
+ type MarkdownRouteHandlerOptions = {
40
+ discoveryLinks?: MarkdownRouteDiscoveryLinks;
41
+ };
42
+ type RouteContext = {
43
+ params?: Promise<{
44
+ path?: string[];
45
+ }> | {
46
+ path?: string[];
47
+ };
48
+ };
49
+ declare function findArtifact(artifacts: MarkdownRouteArtifacts, artifactPath: string): MarkdownRouteArtifact | undefined;
50
+ declare function createMarkdownRouteHandlers(artifacts: MarkdownRouteHandlerArtifacts, options?: MarkdownRouteHandlerOptions): {
51
+ GET: (_request: Request, context: RouteContext) => Promise<Response>;
52
+ HEAD: (_request: Request, context: RouteContext) => Promise<Response>;
53
+ generateStaticParams: () => {
54
+ path: string[];
55
+ }[];
56
+ };
57
+
58
+ export { type MarkdownRouteArtifact, type MarkdownRouteArtifactIndex, type MarkdownRouteArtifactIndexEntry, type MarkdownRouteArtifactLoader, type MarkdownRouteArtifactManifest, type MarkdownRouteArtifactShard, type MarkdownRouteArtifactShardMetadata, type MarkdownRouteArtifacts, type MarkdownRouteDiscoveryLinks, type MarkdownRouteHandlerArtifacts, type MarkdownRouteHandlerOptions, createMarkdownRouteHandlers, findArtifact };
@@ -0,0 +1,174 @@
1
+ // src/internal/utils/logger.ts
2
+ var isDev = process.env.NODE_ENV !== "production";
3
+ var isDebugEnabled = process.env.NEXT_PRIVATE_DEBUG_CACHE === "1";
4
+ var log = {
5
+ debug(...args) {
6
+ if (isDev && isDebugEnabled) console.debug("[publish.os:debug]", ...args);
7
+ },
8
+ info(...args) {
9
+ console.log("[publish.os]", ...args);
10
+ },
11
+ warn(...args) {
12
+ console.warn("[publish.os:warn]", ...args);
13
+ },
14
+ error(...args) {
15
+ console.error("[publish.os:error]", ...args);
16
+ }
17
+ };
18
+
19
+ // src/kernel/routes/response.ts
20
+ var CACHE_CONTROL = "public, max-age=300, s-maxage=86400, stale-while-revalidate=3600, must-revalidate";
21
+ var CDN_CACHE_CONTROL = "public, max-age=2592000, stale-while-revalidate=31536000";
22
+ var SHORT_CACHE_CONTROL = "public, max-age=60, s-maxage=600, stale-while-revalidate=300, must-revalidate";
23
+ var SHORT_CDN_CACHE_CONTROL = "public, max-age=300, stale-while-revalidate=3600";
24
+ function cacheControl(policy) {
25
+ if (!policy || policy === "default") return CACHE_CONTROL;
26
+ if (policy === "short") return SHORT_CACHE_CONTROL;
27
+ return policy;
28
+ }
29
+ function cdnCacheControl(policy) {
30
+ if (!policy || policy === "default") return CDN_CACHE_CONTROL;
31
+ if (policy === "short") return SHORT_CDN_CACHE_CONTROL;
32
+ return policy;
33
+ }
34
+ function cachedTextHeaders(contentType, options = {}) {
35
+ const headers = new Headers(options.headers);
36
+ headers.set("cache-control", cacheControl(options.cachePolicy));
37
+ headers.set("cdn-cache-control", cdnCacheControl(options.cachePolicy));
38
+ headers.set("vercel-cdn-cache-control", cdnCacheControl(options.cachePolicy));
39
+ headers.set("content-type", contentType);
40
+ headers.set("x-content-type-options", "nosniff");
41
+ if (options.noindex) headers.set("x-robots-tag", "noindex");
42
+ return headers;
43
+ }
44
+ function createCachedTextResponse(options) {
45
+ const status = options.status ?? 200;
46
+ const method = options.method ?? "GET";
47
+ const headers = cachedTextHeaders(options.contentType, options);
48
+ return new Response(method === "HEAD" ? null : options.body, {
49
+ headers,
50
+ status
51
+ });
52
+ }
53
+
54
+ // src/kernel/routes/agent/markdown.ts
55
+ var DEFAULT_DISCOVERY_LINKS = {
56
+ home: "/",
57
+ llms: "/llms.txt",
58
+ sitemap: "/sitemap.md"
59
+ };
60
+ function debugMarkdownResponse(details) {
61
+ log.debug("[agent-route]", "md-response", details);
62
+ }
63
+ function normalizeArtifactPath(parts) {
64
+ if (!parts?.length) return "/index.md";
65
+ if (parts.some((part) => part === ".." || part.includes("\0"))) {
66
+ return null;
67
+ }
68
+ return `/${parts.join("/")}`.replace(/\/+/g, "/");
69
+ }
70
+ function findArtifactKey(artifacts, artifactPath) {
71
+ if (artifacts[artifactPath]) return artifactPath;
72
+ const suffixedPath = artifactPath.endsWith(".md") ? artifactPath : `${artifactPath}.md`;
73
+ if (artifacts[suffixedPath]) return suffixedPath;
74
+ return void 0;
75
+ }
76
+ function findArtifact(artifacts, artifactPath) {
77
+ return artifacts[artifactPath] ?? artifacts[artifactPath.endsWith(".md") ? artifactPath : `${artifactPath}.md`];
78
+ }
79
+ function markdownHeaders(artifact) {
80
+ return {
81
+ headers: {
82
+ link: `<${artifact.markdownPath}>; rel="alternate"; type="text/markdown", </llms.txt>; rel="llms-txt"; type="text/plain"`
83
+ },
84
+ contentType: "text/markdown; charset=utf-8"
85
+ };
86
+ }
87
+ function markdown404Body(discoveryLinks) {
88
+ const links = [
89
+ discoveryLinks.home ? `> Home: ${discoveryLinks.home}` : void 0,
90
+ discoveryLinks.sitemap ? `> Sitemap: ${discoveryLinks.sitemap}` : void 0,
91
+ discoveryLinks.llms ? `> LLMS index: ${discoveryLinks.llms}` : void 0
92
+ ].filter((line) => Boolean(line));
93
+ return [
94
+ "# Not found",
95
+ "",
96
+ ...links,
97
+ "",
98
+ "The requested Markdown page was not found.",
99
+ ""
100
+ ].join("\n");
101
+ }
102
+ function notFoundResponse(method, discoveryLinks, artifactPath, reason) {
103
+ debugMarkdownResponse({
104
+ artifactPath,
105
+ method,
106
+ reason,
107
+ status: 404
108
+ });
109
+ return createCachedTextResponse({
110
+ body: markdown404Body(discoveryLinks),
111
+ cachePolicy: "short",
112
+ contentType: "text/markdown; charset=utf-8",
113
+ method,
114
+ noindex: true,
115
+ status: 404
116
+ });
117
+ }
118
+ async function markdownResponse(artifacts, discoveryLinks, method, context) {
119
+ const params = await Promise.resolve(context.params);
120
+ const artifactPath = normalizeArtifactPath(params?.path);
121
+ if (!artifactPath) {
122
+ return notFoundResponse(method, discoveryLinks, void 0, "invalid-path");
123
+ }
124
+ const artifactKey = findArtifactKey(artifacts.index, artifactPath);
125
+ if (!artifactKey) {
126
+ return notFoundResponse(
127
+ method,
128
+ discoveryLinks,
129
+ artifactPath,
130
+ "missing-index"
131
+ );
132
+ }
133
+ const artifact = await artifacts.loadArtifact(artifactKey);
134
+ if (!artifact) {
135
+ return notFoundResponse(
136
+ method,
137
+ discoveryLinks,
138
+ artifactPath,
139
+ "missing-shard"
140
+ );
141
+ }
142
+ const { contentType, headers } = markdownHeaders(artifact);
143
+ debugMarkdownResponse({
144
+ artifactPath: artifact.markdownPath,
145
+ contentType,
146
+ method,
147
+ status: 200
148
+ });
149
+ return createCachedTextResponse({
150
+ body: artifact.body,
151
+ contentType,
152
+ headers,
153
+ method,
154
+ status: 200
155
+ });
156
+ }
157
+ function createMarkdownRouteHandlers(artifacts, options = {}) {
158
+ const discoveryLinks = {
159
+ ...DEFAULT_DISCOVERY_LINKS,
160
+ ...options.discoveryLinks
161
+ };
162
+ const generateStaticParams = () => Object.keys(artifacts.index).map((artifactPath) => ({
163
+ path: artifactPath.replace(/^\//, "").replace(/\.md$/, "").split("/")
164
+ }));
165
+ return {
166
+ GET: (_request, context) => markdownResponse(artifacts, discoveryLinks, "GET", context),
167
+ HEAD: (_request, context) => markdownResponse(artifacts, discoveryLinks, "HEAD", context),
168
+ generateStaticParams
169
+ };
170
+ }
171
+ export {
172
+ createMarkdownRouteHandlers,
173
+ findArtifact
174
+ };
@@ -17,7 +17,7 @@ var __copyProps = (to, from, except, desc) => {
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
 
20
- // src/layouts/group.tsx
20
+ // src/kernel/routes/layouts/group.tsx
21
21
  var group_exports = {};
22
22
  __export(group_exports, {
23
23
  createGroupLayout: () => createGroupLayout
@@ -72,14 +72,18 @@ var tags = {
72
72
  },
73
73
  llms(scope = "root") {
74
74
  return assertTag(`llms:${safeSegment(scope)}`);
75
+ },
76
+ feed(format, scope = "site") {
77
+ return assertTag(`feed:${safeSegment(format)}:${safeSegment(scope)}`);
75
78
  }
76
79
  };
77
80
 
78
81
  // src/internal/utils/logger.ts
79
82
  var isDev = process.env.NODE_ENV !== "production";
83
+ var isDebugEnabled = process.env.NEXT_PRIVATE_DEBUG_CACHE === "1";
80
84
  var log = {
81
85
  debug(...args) {
82
- if (isDev) console.debug("[publish.os:debug]", ...args);
86
+ if (isDev && isDebugEnabled) console.debug("[publish.os:debug]", ...args);
83
87
  },
84
88
  info(...args) {
85
89
  console.log("[publish.os]", ...args);
@@ -120,35 +124,55 @@ function resolveGroupLayout(manifest, group, children) {
120
124
  return { ...resolved, children };
121
125
  }
122
126
 
123
- // src/layouts/group.tsx
127
+ // src/kernel/routes/layouts/group.tsx
124
128
  var import_jsx_runtime = require("react/jsx-runtime");
125
129
  var manifests = /* @__PURE__ */ new Map();
126
- var layouts = /* @__PURE__ */ new Map();
127
- async function CachedGroupLayoutData({ group }) {
130
+ var layoutChains = /* @__PURE__ */ new Map();
131
+ async function CachedGroupLayoutData({
132
+ routeGroup,
133
+ layoutGroup
134
+ }) {
128
135
  "use cache";
129
136
  (0, import_cache.cacheLife)("page");
130
- (0, import_cache.cacheTag)(tags.site(), tags.group(group));
131
- const manifest = manifests.get(group);
137
+ (0, import_cache.cacheTag)(tags.site(), tags.group(layoutGroup));
138
+ const manifest = manifests.get(routeGroup);
132
139
  if (!manifest) (0, import_navigation.notFound)();
133
140
  (0, import_cache.cacheTag)(tags.manifest(manifest.contentHash));
134
- log.debug("[cache]", `${group}/layout`);
135
- const resolved = resolveGroupLayout(manifest, group, null);
141
+ log.debug("[cache]", `${routeGroup}/layout:${layoutGroup}`);
142
+ const resolved = resolveGroupLayout(manifest, layoutGroup, null);
136
143
  if (!resolved) (0, import_navigation.notFound)();
137
144
  return resolved;
138
145
  }
139
146
  function createGroupLayout({
140
147
  group,
141
148
  manifest,
142
- Layout
149
+ layouts
143
150
  }) {
144
151
  manifests.set(group, manifest);
145
- layouts.set(group, Layout);
152
+ layoutChains.set(group, layouts);
146
153
  return async function GroupLayout({ children }) {
147
154
  log.debug("[render]", `${group}/layout`);
148
- const Layout2 = layouts.get(group);
149
- if (!Layout2) (0, import_navigation.notFound)();
150
- const resolved = await CachedGroupLayoutData({ group });
151
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Layout2, { ...resolved, children });
155
+ const chain = layoutChains.get(group);
156
+ if (!chain?.length) (0, import_navigation.notFound)();
157
+ const resolvedLayouts = await Promise.all(
158
+ chain.map(async (item) => ({
159
+ item,
160
+ props: await CachedGroupLayoutData({
161
+ layoutGroup: item.group,
162
+ routeGroup: group
163
+ })
164
+ }))
165
+ );
166
+ let output = children;
167
+ for (let index = resolvedLayouts.length - 1; index >= 0; index -= 1) {
168
+ const resolvedLayout = resolvedLayouts[index];
169
+ if (resolvedLayout) {
170
+ const Layout = resolvedLayout.item.Layout;
171
+ const fontClassName = resolvedLayout.item.fontClassName;
172
+ output = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Layout, { ...resolvedLayout.props, children: fontClassName ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: fontClassName, children: output }) : output });
173
+ }
174
+ }
175
+ return output;
152
176
  };
153
177
  }
154
178
  // Annotate the CommonJS export names for ESM import in node:
@@ -0,0 +1,20 @@
1
+ import * as react from 'react';
2
+ import { ReactElement, ReactNode } from 'react';
3
+ import { ManifestLike, LayoutProps } from '../../../types.cjs';
4
+
5
+ type LayoutComponent = (props: LayoutProps) => ReactElement | Promise<ReactElement>;
6
+ type GroupLayoutConfig = {
7
+ group: string;
8
+ manifest: ManifestLike;
9
+ layouts: readonly LayoutChainItem[];
10
+ };
11
+ type LayoutChainItem = {
12
+ group: string;
13
+ fontClassName?: string;
14
+ Layout: LayoutComponent;
15
+ };
16
+ declare function createGroupLayout({ group, manifest, layouts, }: GroupLayoutConfig): ({ children }: {
17
+ children: ReactNode;
18
+ }) => Promise<ReactElement<unknown, string | react.JSXElementConstructor<any>> | Iterable<ReactNode> | (string | number | bigint | boolean | react.ReactPortal | ReactElement<unknown, string | react.JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined)>;
19
+
20
+ export { type GroupLayoutConfig, type LayoutChainItem, type LayoutComponent, createGroupLayout };
@@ -0,0 +1,20 @@
1
+ import * as react from 'react';
2
+ import { ReactElement, ReactNode } from 'react';
3
+ import { ManifestLike, LayoutProps } from '../../../types.js';
4
+
5
+ type LayoutComponent = (props: LayoutProps) => ReactElement | Promise<ReactElement>;
6
+ type GroupLayoutConfig = {
7
+ group: string;
8
+ manifest: ManifestLike;
9
+ layouts: readonly LayoutChainItem[];
10
+ };
11
+ type LayoutChainItem = {
12
+ group: string;
13
+ fontClassName?: string;
14
+ Layout: LayoutComponent;
15
+ };
16
+ declare function createGroupLayout({ group, manifest, layouts, }: GroupLayoutConfig): ({ children }: {
17
+ children: ReactNode;
18
+ }) => Promise<ReactElement<unknown, string | react.JSXElementConstructor<any>> | Iterable<ReactNode> | (string | number | bigint | boolean | react.ReactPortal | ReactElement<unknown, string | react.JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined)>;
19
+
20
+ export { type GroupLayoutConfig, type LayoutChainItem, type LayoutComponent, createGroupLayout };