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

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