@treeseed/core 0.1.2

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 (384) hide show
  1. package/README.md +145 -0
  2. package/dist/agents/index.js +5 -0
  3. package/dist/agents/registry-helper.js +14 -0
  4. package/dist/agents/registry.js +88 -0
  5. package/dist/components/DevWatchReload.astro +45 -0
  6. package/dist/components/SiteTitle.astro +51 -0
  7. package/dist/components/content/ContentStatusLegend.astro +18 -0
  8. package/dist/components/content/StatusBadge.astro +11 -0
  9. package/dist/components/docs/BookFontControls.astro +180 -0
  10. package/dist/components/docs/DesktopSidebarToggle.astro +88 -0
  11. package/dist/components/docs/DownloadBook.astro +34 -0
  12. package/dist/components/docs/Footer.astro +196 -0
  13. package/dist/components/docs/Header.astro +150 -0
  14. package/dist/components/docs/PageFrame.astro +260 -0
  15. package/dist/components/docs/PageSidebar.astro +63 -0
  16. package/dist/components/docs/PageTitle.astro +39 -0
  17. package/dist/components/docs/Sidebar.astro +41 -0
  18. package/dist/components/docs/ThemeSelect.astro +3 -0
  19. package/dist/components/forms/ContactForm.astro +234 -0
  20. package/dist/components/forms/FooterSubscribeForm.astro +189 -0
  21. package/dist/components/site/BookList.astro +27 -0
  22. package/dist/components/site/CTASection.astro +24 -0
  23. package/dist/components/site/ChronicleList.astro +33 -0
  24. package/dist/components/site/Hero.astro +18 -0
  25. package/dist/components/site/NotesList.astro +18 -0
  26. package/dist/components/site/PathCard.astro +16 -0
  27. package/dist/components/site/ProfileList.astro +30 -0
  28. package/dist/components/site/SectionIntro.astro +9 -0
  29. package/dist/components/site/StageBanner.astro +8 -0
  30. package/dist/components/site/TrustCallout.astro +9 -0
  31. package/dist/components/starlight.js +6 -0
  32. package/dist/config.js +8 -0
  33. package/dist/content-config.js +9 -0
  34. package/dist/content.js +230 -0
  35. package/dist/contracts.d.ts +130 -0
  36. package/dist/contracts.js +0 -0
  37. package/dist/deploy/config.d.ts +4 -0
  38. package/dist/deploy/config.js +154 -0
  39. package/dist/deploy/runtime.js +77 -0
  40. package/dist/env.yaml +322 -0
  41. package/dist/environment.d.ts +130 -0
  42. package/dist/environment.js +324 -0
  43. package/dist/index.js +81 -0
  44. package/dist/layouts/AuthoredEntryLayout.astro +87 -0
  45. package/dist/layouts/BookLayout.astro +35 -0
  46. package/dist/layouts/BridgeLayout.astro +11 -0
  47. package/dist/layouts/ContentLayout.astro +24 -0
  48. package/dist/layouts/MainLayout.astro +203 -0
  49. package/dist/layouts/NoteLayout.astro +26 -0
  50. package/dist/layouts/ProfileLayout.astro +81 -0
  51. package/dist/middleware/starlightRouteData.js +45 -0
  52. package/dist/pages/404.astro +29 -0
  53. package/dist/pages/[slug].astro +30 -0
  54. package/dist/pages/agents/[slug].astro +29 -0
  55. package/dist/pages/agents/index.astro +27 -0
  56. package/dist/pages/api/form/submit.js +14 -0
  57. package/dist/pages/books/[slug].astro +19 -0
  58. package/dist/pages/books/index.astro +28 -0
  59. package/dist/pages/contact.astro +27 -0
  60. package/dist/pages/feed.xml.js +34 -0
  61. package/dist/pages/index.astro +290 -0
  62. package/dist/pages/notes/[slug].astro +19 -0
  63. package/dist/pages/notes/index.astro +21 -0
  64. package/dist/pages/objectives/[slug].astro +31 -0
  65. package/dist/pages/objectives/index.astro +30 -0
  66. package/dist/pages/people/[slug].astro +29 -0
  67. package/dist/pages/people/index.astro +28 -0
  68. package/dist/pages/questions/[slug].astro +31 -0
  69. package/dist/pages/questions/index.astro +30 -0
  70. package/dist/plugin-default.js +4 -0
  71. package/dist/plugins/builtin/default-plugin.d.ts +21 -0
  72. package/dist/plugins/builtin/default-plugin.js +32 -0
  73. package/dist/plugins/constants.d.ts +21 -0
  74. package/dist/plugins/constants.js +28 -0
  75. package/dist/plugins/plugin.d.ts +42 -0
  76. package/dist/plugins/plugin.js +6 -0
  77. package/dist/plugins/runtime.d.ts +31 -0
  78. package/dist/plugins/runtime.js +120 -0
  79. package/dist/scripts/aggregate-book.js +112 -0
  80. package/dist/scripts/assert-release-tag-version.js +21 -0
  81. package/dist/scripts/build-dist.js +384 -0
  82. package/dist/scripts/build-tenant-worker.js +36 -0
  83. package/dist/scripts/package-tools.js +88 -0
  84. package/dist/scripts/patch-starlight-content-path.js +172 -0
  85. package/dist/scripts/paths.js +11 -0
  86. package/dist/scripts/publish-package.js +20 -0
  87. package/dist/scripts/release-verify.js +52 -0
  88. package/dist/scripts/run-fixture-astro-command.js +21 -0
  89. package/dist/scripts/tenant-astro-command.js +3 -0
  90. package/dist/scripts/tenant-build.js +16 -0
  91. package/dist/scripts/tenant-check.js +7 -0
  92. package/dist/scripts/test-smoke.js +105 -0
  93. package/dist/server.js +53 -0
  94. package/dist/site-resources.d.ts +29 -0
  95. package/dist/site-resources.js +127 -0
  96. package/dist/site.js +313 -0
  97. package/dist/styles/global.css +683 -0
  98. package/dist/styles/prose.css +89 -0
  99. package/dist/styles/tokens.css +24 -0
  100. package/dist/tenant/bridge.js +5 -0
  101. package/dist/tenant/config.d.ts +9 -0
  102. package/dist/tenant/config.js +124 -0
  103. package/dist/tenant/runtime-config.js +20 -0
  104. package/dist/tsconfigs/strict.json +3 -0
  105. package/dist/types/agents.d.ts +1 -0
  106. package/dist/types/agents.js +1 -0
  107. package/dist/types/astro-build.d.js +0 -0
  108. package/dist/types/cloudflare-sockets.d.js +0 -0
  109. package/dist/types/cloudflare.d.ts +1 -0
  110. package/dist/types/cloudflare.js +1 -0
  111. package/dist/types/forms.js +4 -0
  112. package/dist/utils/agents/adapters/execution.js +90 -0
  113. package/dist/utils/agents/adapters/mutations.js +30 -0
  114. package/dist/utils/agents/adapters/notification.js +16 -0
  115. package/dist/utils/agents/adapters/repository.js +61 -0
  116. package/dist/utils/agents/adapters/research.js +25 -0
  117. package/dist/utils/agents/adapters/verification.js +62 -0
  118. package/dist/utils/agents/cli-tools.js +5 -0
  119. package/dist/utils/agents/contracts/messages.d.ts +88 -0
  120. package/dist/utils/agents/contracts/messages.js +138 -0
  121. package/dist/utils/agents/contracts/run.d.ts +20 -0
  122. package/dist/utils/agents/contracts/run.js +0 -0
  123. package/dist/utils/agents/runtime-types.d.ts +117 -0
  124. package/dist/utils/agents/runtime-types.js +4 -0
  125. package/dist/utils/books-data.js +82 -0
  126. package/dist/utils/content-status.js +38 -0
  127. package/dist/utils/forms/config.js +87 -0
  128. package/dist/utils/forms/constants.js +27 -0
  129. package/dist/utils/forms/contact-submissions-local.js +19 -0
  130. package/dist/utils/forms/contact-submissions.js +72 -0
  131. package/dist/utils/forms/crypto.js +64 -0
  132. package/dist/utils/forms/guard.js +76 -0
  133. package/dist/utils/forms/http.js +51 -0
  134. package/dist/utils/forms/provider-core.js +88 -0
  135. package/dist/utils/forms/routing-core.js +7 -0
  136. package/dist/utils/forms/routing.js +13 -0
  137. package/dist/utils/forms/runtime-core.js +17 -0
  138. package/dist/utils/forms/runtime.js +27 -0
  139. package/dist/utils/forms/service-core.js +256 -0
  140. package/dist/utils/forms/service.js +55 -0
  141. package/dist/utils/forms/session.js +57 -0
  142. package/dist/utils/forms/smtp-cloudflare.js +107 -0
  143. package/dist/utils/forms/smtp-node.js +27 -0
  144. package/dist/utils/forms/smtp.js +10 -0
  145. package/dist/utils/forms/subscribers-local.js +21 -0
  146. package/dist/utils/forms/subscribers.js +53 -0
  147. package/dist/utils/forms/turnstile.js +31 -0
  148. package/dist/utils/forms/validation.js +58 -0
  149. package/dist/utils/hub-content.js +28 -0
  150. package/dist/utils/plugin-runtime.js +158 -0
  151. package/dist/utils/routes.js +17 -0
  152. package/dist/utils/seo.js +4 -0
  153. package/dist/utils/site-config-schema.js +282 -0
  154. package/dist/utils/site-config.js +122 -0
  155. package/dist/utils/starlight-nav.js +62 -0
  156. package/dist/utils/theme.js +49 -0
  157. package/dist/vendor/starlight/components/AnchorHeading.astro +53 -0
  158. package/dist/vendor/starlight/components/Banner.astro +23 -0
  159. package/dist/vendor/starlight/components/ContentNotice.astro +33 -0
  160. package/dist/vendor/starlight/components/ContentPanel.astro +27 -0
  161. package/dist/vendor/starlight/components/DraftContentNotice.astro +5 -0
  162. package/dist/vendor/starlight/components/EditLink.astro +28 -0
  163. package/dist/vendor/starlight/components/FallbackContentNotice.astro +5 -0
  164. package/dist/vendor/starlight/components/Footer.astro +61 -0
  165. package/dist/vendor/starlight/components/Head.astro +5 -0
  166. package/dist/vendor/starlight/components/Header.astro +94 -0
  167. package/dist/vendor/starlight/components/Hero.astro +143 -0
  168. package/dist/vendor/starlight/components/Icons.js +121 -0
  169. package/dist/vendor/starlight/components/LanguageSelect.astro +57 -0
  170. package/dist/vendor/starlight/components/LastUpdated.astro +14 -0
  171. package/dist/vendor/starlight/components/MarkdownContent.astro +5 -0
  172. package/dist/vendor/starlight/components/MobileMenuFooter.astro +35 -0
  173. package/dist/vendor/starlight/components/MobileMenuToggle.astro +107 -0
  174. package/dist/vendor/starlight/components/MobileTableOfContents.astro +151 -0
  175. package/dist/vendor/starlight/components/Page.astro +126 -0
  176. package/dist/vendor/starlight/components/PageFrame.astro +97 -0
  177. package/dist/vendor/starlight/components/PageSidebar.astro +59 -0
  178. package/dist/vendor/starlight/components/PageTitle.astro +17 -0
  179. package/dist/vendor/starlight/components/Pagination.astro +79 -0
  180. package/dist/vendor/starlight/components/Search.astro +488 -0
  181. package/dist/vendor/starlight/components/Select.astro +99 -0
  182. package/dist/vendor/starlight/components/Sidebar.astro +15 -0
  183. package/dist/vendor/starlight/components/SidebarPersistState.js +43 -0
  184. package/dist/vendor/starlight/components/SidebarPersister.astro +78 -0
  185. package/dist/vendor/starlight/components/SidebarRestorePoint.astro +12 -0
  186. package/dist/vendor/starlight/components/SidebarSublist.astro +154 -0
  187. package/dist/vendor/starlight/components/SiteTitle.astro +59 -0
  188. package/dist/vendor/starlight/components/SkipLink.astro +26 -0
  189. package/dist/vendor/starlight/components/SocialIcons.astro +32 -0
  190. package/dist/vendor/starlight/components/StarlightPage.astro +17 -0
  191. package/dist/vendor/starlight/components/TableOfContents/TableOfContentsList.astro +79 -0
  192. package/dist/vendor/starlight/components/TableOfContents/starlight-toc.js +93 -0
  193. package/dist/vendor/starlight/components/TableOfContents.astro +18 -0
  194. package/dist/vendor/starlight/components/ThemeProvider.astro +38 -0
  195. package/dist/vendor/starlight/components/ThemeSelect.astro +73 -0
  196. package/dist/vendor/starlight/components/TwoColumnContent.astro +54 -0
  197. package/dist/vendor/starlight/components.js +26 -0
  198. package/dist/vendor/starlight/constants.js +4 -0
  199. package/dist/vendor/starlight/expressive-code.d.js +1 -0
  200. package/dist/vendor/starlight/global.d.js +0 -0
  201. package/dist/vendor/starlight/i18n.d.js +1 -0
  202. package/dist/vendor/starlight/index.js +119 -0
  203. package/dist/vendor/starlight/integrations/asides-error.js +12 -0
  204. package/dist/vendor/starlight/integrations/asides.js +179 -0
  205. package/dist/vendor/starlight/integrations/code-rtl-support.js +21 -0
  206. package/dist/vendor/starlight/integrations/expressive-code/hast.d.js +1 -0
  207. package/dist/vendor/starlight/integrations/expressive-code/index.js +63 -0
  208. package/dist/vendor/starlight/integrations/expressive-code/preprocessor.js +92 -0
  209. package/dist/vendor/starlight/integrations/expressive-code/themes/night-owl-dark.jsonc +1796 -0
  210. package/dist/vendor/starlight/integrations/expressive-code/themes/night-owl-dark.jsonc.js +1 -0
  211. package/dist/vendor/starlight/integrations/expressive-code/themes/night-owl-light.jsonc +1695 -0
  212. package/dist/vendor/starlight/integrations/expressive-code/themes/night-owl-light.jsonc.js +1 -0
  213. package/dist/vendor/starlight/integrations/expressive-code/theming.js +62 -0
  214. package/dist/vendor/starlight/integrations/expressive-code/translations.js +29 -0
  215. package/dist/vendor/starlight/integrations/heading-links.js +61 -0
  216. package/dist/vendor/starlight/integrations/pagefind.js +43 -0
  217. package/dist/vendor/starlight/integrations/remark-rehype.js +68 -0
  218. package/dist/vendor/starlight/integrations/shared/absolutePathToLang.js +15 -0
  219. package/dist/vendor/starlight/integrations/shared/localeToLang.js +9 -0
  220. package/dist/vendor/starlight/integrations/shared/slugToLocale.js +10 -0
  221. package/dist/vendor/starlight/integrations/sitemap.js +20 -0
  222. package/dist/vendor/starlight/integrations/virtual-user-config.js +110 -0
  223. package/dist/vendor/starlight/integrations/vite-layer-order.js +42 -0
  224. package/dist/vendor/starlight/internal.js +6 -0
  225. package/dist/vendor/starlight/loaders.js +36 -0
  226. package/dist/vendor/starlight/locals.d.js +0 -0
  227. package/dist/vendor/starlight/locals.js +30 -0
  228. package/dist/vendor/starlight/package.json +231 -0
  229. package/dist/vendor/starlight/package.json.js +248 -0
  230. package/dist/vendor/starlight/props.js +0 -0
  231. package/dist/vendor/starlight/route-data.js +6 -0
  232. package/dist/vendor/starlight/routes/common.astro +23 -0
  233. package/dist/vendor/starlight/routes/ssr/404.astro +7 -0
  234. package/dist/vendor/starlight/routes/ssr/index.astro +14 -0
  235. package/dist/vendor/starlight/routes/static/404.astro +7 -0
  236. package/dist/vendor/starlight/routes/static/index.astro +12 -0
  237. package/dist/vendor/starlight/schema.js +102 -0
  238. package/dist/vendor/starlight/schemas/badge.js +26 -0
  239. package/dist/vendor/starlight/schemas/components.js +235 -0
  240. package/dist/vendor/starlight/schemas/expressiveCode.js +12 -0
  241. package/dist/vendor/starlight/schemas/favicon.js +33 -0
  242. package/dist/vendor/starlight/schemas/head.js +32 -0
  243. package/dist/vendor/starlight/schemas/hero.js +57 -0
  244. package/dist/vendor/starlight/schemas/i18n.js +101 -0
  245. package/dist/vendor/starlight/schemas/icon.js +7 -0
  246. package/dist/vendor/starlight/schemas/logo.js +24 -0
  247. package/dist/vendor/starlight/schemas/pagefind.js +108 -0
  248. package/dist/vendor/starlight/schemas/prevNextLink.js +14 -0
  249. package/dist/vendor/starlight/schemas/sidebar.js +80 -0
  250. package/dist/vendor/starlight/schemas/site-title.js +19 -0
  251. package/dist/vendor/starlight/schemas/social.js +19 -0
  252. package/dist/vendor/starlight/schemas/tableOfContents.js +16 -0
  253. package/dist/vendor/starlight/style/anchor-links.css +131 -0
  254. package/dist/vendor/starlight/style/asides.css +51 -0
  255. package/dist/vendor/starlight/style/layers.css +1 -0
  256. package/dist/vendor/starlight/style/markdown.css +253 -0
  257. package/dist/vendor/starlight/style/print.css +175 -0
  258. package/dist/vendor/starlight/style/props.css +188 -0
  259. package/dist/vendor/starlight/style/reset.css +52 -0
  260. package/dist/vendor/starlight/style/util.css +63 -0
  261. package/dist/vendor/starlight/translations/ar.json +30 -0
  262. package/dist/vendor/starlight/translations/ar.json.js +32 -0
  263. package/dist/vendor/starlight/translations/ca.json +43 -0
  264. package/dist/vendor/starlight/translations/ca.json.js +45 -0
  265. package/dist/vendor/starlight/translations/cs.json +43 -0
  266. package/dist/vendor/starlight/translations/cs.json.js +45 -0
  267. package/dist/vendor/starlight/translations/da.json +30 -0
  268. package/dist/vendor/starlight/translations/da.json.js +32 -0
  269. package/dist/vendor/starlight/translations/de.json +30 -0
  270. package/dist/vendor/starlight/translations/de.json.js +32 -0
  271. package/dist/vendor/starlight/translations/el.json +30 -0
  272. package/dist/vendor/starlight/translations/el.json.js +32 -0
  273. package/dist/vendor/starlight/translations/en.json +30 -0
  274. package/dist/vendor/starlight/translations/en.json.js +32 -0
  275. package/dist/vendor/starlight/translations/es.json +43 -0
  276. package/dist/vendor/starlight/translations/es.json.js +45 -0
  277. package/dist/vendor/starlight/translations/fa.json +30 -0
  278. package/dist/vendor/starlight/translations/fa.json.js +32 -0
  279. package/dist/vendor/starlight/translations/fi.json +30 -0
  280. package/dist/vendor/starlight/translations/fi.json.js +32 -0
  281. package/dist/vendor/starlight/translations/fr.json +33 -0
  282. package/dist/vendor/starlight/translations/fr.json.js +35 -0
  283. package/dist/vendor/starlight/translations/gl.json +43 -0
  284. package/dist/vendor/starlight/translations/gl.json.js +45 -0
  285. package/dist/vendor/starlight/translations/he.json +30 -0
  286. package/dist/vendor/starlight/translations/he.json.js +32 -0
  287. package/dist/vendor/starlight/translations/hi.json +30 -0
  288. package/dist/vendor/starlight/translations/hi.json.js +32 -0
  289. package/dist/vendor/starlight/translations/hu.json +43 -0
  290. package/dist/vendor/starlight/translations/hu.json.js +45 -0
  291. package/dist/vendor/starlight/translations/id.json +30 -0
  292. package/dist/vendor/starlight/translations/id.json.js +32 -0
  293. package/dist/vendor/starlight/translations/index.js +77 -0
  294. package/dist/vendor/starlight/translations/it.json +30 -0
  295. package/dist/vendor/starlight/translations/it.json.js +32 -0
  296. package/dist/vendor/starlight/translations/ja.json +30 -0
  297. package/dist/vendor/starlight/translations/ja.json.js +32 -0
  298. package/dist/vendor/starlight/translations/ko.json +30 -0
  299. package/dist/vendor/starlight/translations/ko.json.js +32 -0
  300. package/dist/vendor/starlight/translations/lv.json +30 -0
  301. package/dist/vendor/starlight/translations/lv.json.js +32 -0
  302. package/dist/vendor/starlight/translations/nb.json +30 -0
  303. package/dist/vendor/starlight/translations/nb.json.js +32 -0
  304. package/dist/vendor/starlight/translations/nl.json +30 -0
  305. package/dist/vendor/starlight/translations/nl.json.js +32 -0
  306. package/dist/vendor/starlight/translations/pl.json +33 -0
  307. package/dist/vendor/starlight/translations/pl.json.js +35 -0
  308. package/dist/vendor/starlight/translations/pt.json +30 -0
  309. package/dist/vendor/starlight/translations/pt.json.js +32 -0
  310. package/dist/vendor/starlight/translations/ro.json +30 -0
  311. package/dist/vendor/starlight/translations/ro.json.js +32 -0
  312. package/dist/vendor/starlight/translations/ru.json +33 -0
  313. package/dist/vendor/starlight/translations/ru.json.js +35 -0
  314. package/dist/vendor/starlight/translations/sk.json +30 -0
  315. package/dist/vendor/starlight/translations/sk.json.js +32 -0
  316. package/dist/vendor/starlight/translations/sv.json +30 -0
  317. package/dist/vendor/starlight/translations/sv.json.js +32 -0
  318. package/dist/vendor/starlight/translations/th.json +30 -0
  319. package/dist/vendor/starlight/translations/th.json.js +32 -0
  320. package/dist/vendor/starlight/translations/tr.json +30 -0
  321. package/dist/vendor/starlight/translations/tr.json.js +32 -0
  322. package/dist/vendor/starlight/translations/uk.json +30 -0
  323. package/dist/vendor/starlight/translations/uk.json.js +32 -0
  324. package/dist/vendor/starlight/translations/vi.json +30 -0
  325. package/dist/vendor/starlight/translations/vi.json.js +32 -0
  326. package/dist/vendor/starlight/translations/zh-CN.json +30 -0
  327. package/dist/vendor/starlight/translations/zh-CN.json.js +32 -0
  328. package/dist/vendor/starlight/translations/zh-TW.json +30 -0
  329. package/dist/vendor/starlight/translations/zh-TW.json.js +32 -0
  330. package/dist/vendor/starlight/types.js +0 -0
  331. package/dist/vendor/starlight/user-components/Aside.astro +40 -0
  332. package/dist/vendor/starlight/user-components/Badge.astro +148 -0
  333. package/dist/vendor/starlight/user-components/Card.astro +68 -0
  334. package/dist/vendor/starlight/user-components/CardGrid.astro +38 -0
  335. package/dist/vendor/starlight/user-components/FileTree.astro +137 -0
  336. package/dist/vendor/starlight/user-components/Icon.astro +42 -0
  337. package/dist/vendor/starlight/user-components/LinkButton.astro +78 -0
  338. package/dist/vendor/starlight/user-components/LinkCard.astro +78 -0
  339. package/dist/vendor/starlight/user-components/Steps.astro +90 -0
  340. package/dist/vendor/starlight/user-components/TabItem.astro +19 -0
  341. package/dist/vendor/starlight/user-components/Tabs.astro +268 -0
  342. package/dist/vendor/starlight/user-components/file-tree-icons.js +608 -0
  343. package/dist/vendor/starlight/user-components/rehype-file-tree.js +160 -0
  344. package/dist/vendor/starlight/user-components/rehype-steps.js +53 -0
  345. package/dist/vendor/starlight/user-components/rehype-tabs.js +73 -0
  346. package/dist/vendor/starlight/utils/base.js +14 -0
  347. package/dist/vendor/starlight/utils/canonical.js +13 -0
  348. package/dist/vendor/starlight/utils/collection-fs.js +13 -0
  349. package/dist/vendor/starlight/utils/collection.js +16 -0
  350. package/dist/vendor/starlight/utils/createPathFormatter.js +39 -0
  351. package/dist/vendor/starlight/utils/createTranslationSystem.js +60 -0
  352. package/dist/vendor/starlight/utils/error-map.js +110 -0
  353. package/dist/vendor/starlight/utils/format-path.js +9 -0
  354. package/dist/vendor/starlight/utils/generateToC.js +18 -0
  355. package/dist/vendor/starlight/utils/git.js +92 -0
  356. package/dist/vendor/starlight/utils/gitInlined.js +13 -0
  357. package/dist/vendor/starlight/utils/head.js +156 -0
  358. package/dist/vendor/starlight/utils/i18n.js +121 -0
  359. package/dist/vendor/starlight/utils/localizedUrl.js +37 -0
  360. package/dist/vendor/starlight/utils/navigation.js +320 -0
  361. package/dist/vendor/starlight/utils/path.js +52 -0
  362. package/dist/vendor/starlight/utils/plugins.js +355 -0
  363. package/dist/vendor/starlight/utils/routing/data.js +116 -0
  364. package/dist/vendor/starlight/utils/routing/index.js +107 -0
  365. package/dist/vendor/starlight/utils/routing/middleware.js +40 -0
  366. package/dist/vendor/starlight/utils/routing/types.js +0 -0
  367. package/dist/vendor/starlight/utils/routing.js +1 -0
  368. package/dist/vendor/starlight/utils/slugs.js +70 -0
  369. package/dist/vendor/starlight/utils/starlight-page.js +123 -0
  370. package/dist/vendor/starlight/utils/translations-fs.js +31 -0
  371. package/dist/vendor/starlight/utils/translations.js +31 -0
  372. package/dist/vendor/starlight/utils/types.js +0 -0
  373. package/dist/vendor/starlight/utils/url.js +5 -0
  374. package/dist/vendor/starlight/utils/user-config.js +255 -0
  375. package/dist/vendor/starlight/utils/validateLogoImports.js +22 -0
  376. package/dist/vendor/starlight/virtual-internal.d.js +0 -0
  377. package/dist/vendor/starlight/virtual.d.js +0 -0
  378. package/dist/worker/forms-worker.js +141 -0
  379. package/package.json +156 -0
  380. package/style/anchor-links.css +131 -0
  381. package/templates/github/deploy.workflow.yml +47 -0
  382. package/tsconfigs/strict.json +3 -0
  383. package/utils/git.ts +121 -0
  384. package/utils/gitInlined.ts +20 -0
package/dist/env.yaml ADDED
@@ -0,0 +1,322 @@
1
+ entries:
2
+ CLOUDFLARE_ACCOUNT_ID:
3
+ label: Cloudflare account ID
4
+ group: cloudflare
5
+ description: Identifies the Cloudflare account Treeseed should provision and deploy into.
6
+ howToGet: In the Cloudflare dashboard, open Workers & Pages or Account Home and copy the account ID.
7
+ sensitivity: plain
8
+ targets:
9
+ - local-file
10
+ - github-variable
11
+ - config-file
12
+ scopes:
13
+ - staging
14
+ - prod
15
+ requirement: required
16
+ purposes:
17
+ - save
18
+ - deploy
19
+ - destroy
20
+ - config
21
+ validation:
22
+ kind: nonempty
23
+ sourcePriority:
24
+ - machine-config
25
+ - process-env
26
+ - treeseed.site.yaml
27
+ CLOUDFLARE_API_TOKEN:
28
+ label: Cloudflare API token
29
+ group: cloudflare
30
+ description: Allows Wrangler and CI to create resources, upload secrets, and publish the Worker.
31
+ howToGet: Create an API token in the Cloudflare dashboard with Workers and D1 permissions for this account.
32
+ sensitivity: secret
33
+ targets:
34
+ - local-file
35
+ - github-secret
36
+ scopes:
37
+ - staging
38
+ - prod
39
+ requirement: required
40
+ purposes:
41
+ - save
42
+ - deploy
43
+ - destroy
44
+ - config
45
+ validation:
46
+ kind: nonempty
47
+ sourcePriority:
48
+ - machine-config
49
+ - process-env
50
+ TREESEED_FORM_TOKEN_SECRET:
51
+ label: Forms token secret
52
+ group: forms
53
+ description: Signs form-related tokens and protects Treeseed forms workflows in local and hosted runtimes.
54
+ howToGet: Treeseed can generate a strong random secret for you. Reuse it across environments only if that matches your security model.
55
+ sensitivity: secret
56
+ targets:
57
+ - local-file
58
+ - wrangler-dev-vars
59
+ - github-secret
60
+ - cloudflare-secret
61
+ scopes:
62
+ - local
63
+ - staging
64
+ - prod
65
+ requirement: required
66
+ purposes:
67
+ - dev
68
+ - save
69
+ - deploy
70
+ - config
71
+ validation:
72
+ kind: nonempty
73
+ sourcePriority:
74
+ - machine-config
75
+ - process-env
76
+ defaultValueRef: generatedSecret
77
+ localDefaultValueRef: generatedSecret
78
+ TREESEED_PUBLIC_TURNSTILE_SITE_KEY:
79
+ label: Turnstile site key
80
+ group: forms
81
+ description: Public site key used by the browser to render the Turnstile challenge when forms protection is enabled.
82
+ howToGet: Create a Turnstile widget in Cloudflare Turnstile and copy the site key.
83
+ sensitivity: plain
84
+ targets:
85
+ - local-file
86
+ - wrangler-dev-vars
87
+ - github-variable
88
+ - cloudflare-var
89
+ scopes:
90
+ - local
91
+ - staging
92
+ - prod
93
+ requirement: conditional
94
+ purposes:
95
+ - dev
96
+ - save
97
+ - deploy
98
+ - config
99
+ validation:
100
+ kind: nonempty
101
+ sourcePriority:
102
+ - machine-config
103
+ - process-env
104
+ relevanceRef: turnstileEnabled
105
+ requiredWhenRef: turnstileNonLocal
106
+ TREESEED_TURNSTILE_SECRET_KEY:
107
+ label: Turnstile secret key
108
+ group: forms
109
+ description: Server-side Turnstile secret used to verify challenge responses.
110
+ howToGet: Create a Turnstile widget in Cloudflare Turnstile and copy the secret key.
111
+ sensitivity: secret
112
+ targets:
113
+ - local-file
114
+ - wrangler-dev-vars
115
+ - github-secret
116
+ - cloudflare-secret
117
+ scopes:
118
+ - local
119
+ - staging
120
+ - prod
121
+ requirement: conditional
122
+ purposes:
123
+ - dev
124
+ - save
125
+ - deploy
126
+ - config
127
+ validation:
128
+ kind: nonempty
129
+ sourcePriority:
130
+ - machine-config
131
+ - process-env
132
+ relevanceRef: turnstileEnabled
133
+ requiredWhenRef: turnstileNonLocal
134
+ TREESEED_PUBLIC_FORMS_LOCAL_BYPASS_TURNSTILE:
135
+ label: Local Turnstile bypass
136
+ group: local-development
137
+ description: Lets contributors edit content and exercise forms locally without a live Turnstile widget.
138
+ howToGet: Treeseed defaults this to true for local development. You can switch it off if you want to test with real Turnstile keys locally.
139
+ sensitivity: plain
140
+ targets:
141
+ - local-file
142
+ - wrangler-dev-vars
143
+ scopes:
144
+ - local
145
+ requirement: optional
146
+ purposes:
147
+ - dev
148
+ - config
149
+ validation:
150
+ kind: boolean
151
+ sourcePriority:
152
+ - machine-config
153
+ - process-env
154
+ localDefaultValueRef: localFormsBypassDefault
155
+ TREESEED_SMTP_HOST:
156
+ label: SMTP host
157
+ group: smtp
158
+ description: SMTP host for Treeseed email delivery when SMTP-backed forms behavior is enabled.
159
+ howToGet: Use the SMTP hostname from your email provider or local Mailpit instance.
160
+ sensitivity: plain
161
+ targets:
162
+ - local-file
163
+ - wrangler-dev-vars
164
+ - github-variable
165
+ - cloudflare-var
166
+ scopes:
167
+ - local
168
+ - staging
169
+ - prod
170
+ requirement: conditional
171
+ purposes:
172
+ - dev
173
+ - save
174
+ - deploy
175
+ - config
176
+ validation:
177
+ kind: nonempty
178
+ sourcePriority:
179
+ - machine-config
180
+ - process-env
181
+ relevanceRef: smtpEnabled
182
+ requiredWhenRef: smtpNonLocal
183
+ TREESEED_SMTP_PORT:
184
+ label: SMTP port
185
+ group: smtp
186
+ description: Port used to connect to the SMTP server.
187
+ howToGet: Use the port provided by your email service, commonly 587, 465, or the Mailpit local port.
188
+ sensitivity: plain
189
+ targets:
190
+ - local-file
191
+ - wrangler-dev-vars
192
+ - github-variable
193
+ - cloudflare-var
194
+ scopes:
195
+ - local
196
+ - staging
197
+ - prod
198
+ requirement: conditional
199
+ purposes:
200
+ - dev
201
+ - save
202
+ - deploy
203
+ - config
204
+ validation:
205
+ kind: number
206
+ sourcePriority:
207
+ - machine-config
208
+ - process-env
209
+ relevanceRef: smtpEnabled
210
+ requiredWhenRef: smtpNonLocal
211
+ TREESEED_SMTP_USERNAME:
212
+ label: SMTP username
213
+ group: smtp
214
+ description: SMTP identity used when authenticating to the mail provider.
215
+ howToGet: Use the SMTP username or mailbox identity from your email provider.
216
+ sensitivity: plain
217
+ targets:
218
+ - local-file
219
+ - wrangler-dev-vars
220
+ - github-variable
221
+ - cloudflare-var
222
+ scopes:
223
+ - local
224
+ - staging
225
+ - prod
226
+ requirement: conditional
227
+ purposes:
228
+ - dev
229
+ - save
230
+ - deploy
231
+ - config
232
+ validation:
233
+ kind: nonempty
234
+ sourcePriority:
235
+ - machine-config
236
+ - process-env
237
+ relevanceRef: smtpEnabled
238
+ requiredWhenRef: smtpNonLocal
239
+ TREESEED_SMTP_PASSWORD:
240
+ label: SMTP password
241
+ group: smtp
242
+ description: SMTP password or app password used for authenticated email sending.
243
+ howToGet: Use the SMTP password or app-specific password from your email provider.
244
+ sensitivity: secret
245
+ targets:
246
+ - local-file
247
+ - wrangler-dev-vars
248
+ - github-secret
249
+ - cloudflare-secret
250
+ scopes:
251
+ - local
252
+ - staging
253
+ - prod
254
+ requirement: conditional
255
+ purposes:
256
+ - dev
257
+ - save
258
+ - deploy
259
+ - config
260
+ validation:
261
+ kind: nonempty
262
+ sourcePriority:
263
+ - machine-config
264
+ - process-env
265
+ relevanceRef: smtpEnabled
266
+ requiredWhenRef: smtpNonLocal
267
+ TREESEED_SMTP_FROM:
268
+ label: SMTP from address
269
+ group: smtp
270
+ description: Email address Treeseed uses as the sender for mail notifications.
271
+ howToGet: Use a verified sender address from your SMTP provider.
272
+ sensitivity: plain
273
+ targets:
274
+ - local-file
275
+ - wrangler-dev-vars
276
+ - github-variable
277
+ - cloudflare-var
278
+ scopes:
279
+ - local
280
+ - staging
281
+ - prod
282
+ requirement: conditional
283
+ purposes:
284
+ - dev
285
+ - save
286
+ - deploy
287
+ - config
288
+ validation:
289
+ kind: email
290
+ sourcePriority:
291
+ - machine-config
292
+ - process-env
293
+ relevanceRef: smtpEnabled
294
+ requiredWhenRef: smtpNonLocal
295
+ TREESEED_SMTP_REPLY_TO:
296
+ label: SMTP reply-to address
297
+ group: smtp
298
+ description: Reply-to address attached to Treeseed-generated emails.
299
+ howToGet: Use a monitored mailbox that should receive replies from end users.
300
+ sensitivity: plain
301
+ targets:
302
+ - local-file
303
+ - wrangler-dev-vars
304
+ - github-variable
305
+ - cloudflare-var
306
+ scopes:
307
+ - local
308
+ - staging
309
+ - prod
310
+ requirement: conditional
311
+ purposes:
312
+ - dev
313
+ - save
314
+ - deploy
315
+ - config
316
+ validation:
317
+ kind: email
318
+ sourcePriority:
319
+ - machine-config
320
+ - process-env
321
+ relevanceRef: smtpEnabled
322
+ requiredWhenRef: smtpNonLocal
@@ -0,0 +1,130 @@
1
+ import type { TreeseedDeployConfig, TreeseedTenantConfig } from './contracts';
2
+ import { type LoadedTreeseedPluginEntry } from './plugins/runtime';
3
+ export declare const TREESEED_ENVIRONMENT_SCOPES: readonly ["local", "staging", "prod"];
4
+ export declare const TREESEED_ENVIRONMENT_REQUIREMENTS: readonly ["required", "conditional", "optional"];
5
+ export declare const TREESEED_ENVIRONMENT_TARGETS: readonly ["local-file", "wrangler-dev-vars", "github-secret", "github-variable", "cloudflare-secret", "cloudflare-var", "config-file"];
6
+ export declare const TREESEED_ENVIRONMENT_PURPOSES: readonly ["dev", "save", "deploy", "destroy", "config"];
7
+ export declare const TREESEED_ENVIRONMENT_SENSITIVITY: readonly ["secret", "plain", "derived"];
8
+ export type TreeseedEnvironmentScope = (typeof TREESEED_ENVIRONMENT_SCOPES)[number];
9
+ export type TreeseedEnvironmentRequirement = (typeof TREESEED_ENVIRONMENT_REQUIREMENTS)[number];
10
+ export type TreeseedEnvironmentTarget = (typeof TREESEED_ENVIRONMENT_TARGETS)[number];
11
+ export type TreeseedEnvironmentPurpose = (typeof TREESEED_ENVIRONMENT_PURPOSES)[number];
12
+ export type TreeseedEnvironmentSensitivity = (typeof TREESEED_ENVIRONMENT_SENSITIVITY)[number];
13
+ export type TreeseedEnvironmentValidation = {
14
+ kind: 'string' | 'nonempty' | 'boolean' | 'number' | 'url' | 'email';
15
+ } | {
16
+ kind: 'enum';
17
+ values: string[];
18
+ };
19
+ export type TreeseedEnvironmentValueResolver = string | ((context: TreeseedEnvironmentContext, scope: TreeseedEnvironmentScope) => string);
20
+ export type TreeseedMachineSecretPayload = {
21
+ algorithm: 'aes-256-gcm';
22
+ iv: string;
23
+ tag: string;
24
+ ciphertext: string;
25
+ };
26
+ export type TreeseedMachineConfig = {
27
+ version: number;
28
+ project: {
29
+ tenantRoot: string;
30
+ tenantId: string;
31
+ slug: string;
32
+ name: string;
33
+ siteUrl: string;
34
+ overlayPath?: string;
35
+ };
36
+ settings: {
37
+ sync: {
38
+ github: boolean;
39
+ cloudflare: boolean;
40
+ };
41
+ };
42
+ environments: Record<TreeseedEnvironmentScope, {
43
+ values: Record<string, string>;
44
+ secrets: Record<string, TreeseedMachineSecretPayload>;
45
+ }>;
46
+ };
47
+ export type TreeseedEnvironmentContext = {
48
+ deployConfig: TreeseedDeployConfig;
49
+ tenantConfig?: TreeseedTenantConfig;
50
+ plugins: LoadedTreeseedPluginEntry[];
51
+ tenantRoot: string;
52
+ };
53
+ export type TreeseedEnvironmentEntry = {
54
+ id: string;
55
+ label: string;
56
+ group: string;
57
+ description: string;
58
+ howToGet: string;
59
+ sensitivity: TreeseedEnvironmentSensitivity;
60
+ targets: TreeseedEnvironmentTarget[];
61
+ scopes: TreeseedEnvironmentScope[];
62
+ requirement: TreeseedEnvironmentRequirement;
63
+ purposes: TreeseedEnvironmentPurpose[];
64
+ validation?: TreeseedEnvironmentValidation;
65
+ sourcePriority?: string[];
66
+ defaultValue?: TreeseedEnvironmentValueResolver;
67
+ localDefaultValue?: TreeseedEnvironmentValueResolver;
68
+ isRelevant?: (context: TreeseedEnvironmentContext, scope: TreeseedEnvironmentScope, purpose?: TreeseedEnvironmentPurpose) => boolean;
69
+ requiredWhen?: (context: TreeseedEnvironmentContext, scope: TreeseedEnvironmentScope, purpose?: TreeseedEnvironmentPurpose) => boolean;
70
+ };
71
+ export type TreeseedEnvironmentEntryYaml = Omit<TreeseedEnvironmentEntry, 'id' | 'defaultValue' | 'localDefaultValue' | 'isRelevant' | 'requiredWhen'> & {
72
+ defaultValueRef?: string;
73
+ localDefaultValueRef?: string;
74
+ relevanceRef?: string;
75
+ requiredWhenRef?: string;
76
+ };
77
+ export type TreeseedEnvironmentEntryOverride = Partial<Omit<TreeseedEnvironmentEntryYaml, 'id'>> & {
78
+ id?: string;
79
+ };
80
+ export type TreeseedEnvironmentRegistryOverlay = {
81
+ entries?: Record<string, TreeseedEnvironmentEntryOverride>;
82
+ };
83
+ export type TreeseedResolvedEnvironmentRegistry = {
84
+ context: TreeseedEnvironmentContext;
85
+ entries: TreeseedEnvironmentEntry[];
86
+ };
87
+ export type TreeseedEnvironmentValidationProblem = {
88
+ id: string;
89
+ label: string;
90
+ reason: 'missing' | 'invalid';
91
+ message: string;
92
+ entry: TreeseedEnvironmentEntry;
93
+ };
94
+ export type TreeseedEnvironmentValidationResult = {
95
+ ok: boolean;
96
+ entries: TreeseedEnvironmentEntry[];
97
+ required: TreeseedEnvironmentEntry[];
98
+ missing: TreeseedEnvironmentValidationProblem[];
99
+ invalid: TreeseedEnvironmentValidationProblem[];
100
+ };
101
+ export declare function loadTreeseedEnvironmentOverlay(tenantRoot: string): {
102
+ path: string;
103
+ overlay: TreeseedEnvironmentRegistryOverlay;
104
+ };
105
+ export declare function resolveTreeseedEnvironmentContext(options?: {
106
+ deployConfig?: TreeseedDeployConfig;
107
+ tenantConfig?: TreeseedTenantConfig;
108
+ plugins?: LoadedTreeseedPluginEntry[];
109
+ }): TreeseedEnvironmentContext;
110
+ export declare function resolveTreeseedEnvironmentRegistry(options?: {
111
+ deployConfig?: TreeseedDeployConfig;
112
+ tenantConfig?: TreeseedTenantConfig;
113
+ plugins?: LoadedTreeseedPluginEntry[];
114
+ }): TreeseedResolvedEnvironmentRegistry;
115
+ export declare function isTreeseedEnvironmentEntryRelevant(entry: TreeseedEnvironmentEntry, context: TreeseedEnvironmentContext, scope: TreeseedEnvironmentScope, purpose?: TreeseedEnvironmentPurpose): boolean;
116
+ export declare function getTreeseedEnvironmentSuggestedValues(options: {
117
+ scope: TreeseedEnvironmentScope;
118
+ purpose?: TreeseedEnvironmentPurpose;
119
+ deployConfig?: TreeseedDeployConfig;
120
+ tenantConfig?: TreeseedTenantConfig;
121
+ plugins?: LoadedTreeseedPluginEntry[];
122
+ }): Record<string, string>;
123
+ export declare function validateTreeseedEnvironmentValues(options: {
124
+ values: Record<string, string | undefined>;
125
+ scope: TreeseedEnvironmentScope;
126
+ purpose: TreeseedEnvironmentPurpose;
127
+ deployConfig?: TreeseedDeployConfig;
128
+ tenantConfig?: TreeseedTenantConfig;
129
+ plugins?: LoadedTreeseedPluginEntry[];
130
+ }): TreeseedEnvironmentValidationResult;