@stacksjs/defaults 0.70.207 → 0.70.208

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 (408) hide show
  1. package/TODO.md +21 -0
  2. package/ai/AGENTS.md +79 -0
  3. package/ai/README.md +45 -0
  4. package/ai/claude/launch.json +12 -0
  5. package/ai/skills/stacks-actions/SKILL.md +128 -0
  6. package/ai/skills/stacks-ai/SKILL.md +276 -0
  7. package/ai/skills/stacks-alias/SKILL.md +94 -0
  8. package/ai/skills/stacks-analytics/SKILL.md +91 -0
  9. package/ai/skills/stacks-api/SKILL.md +738 -0
  10. package/ai/skills/stacks-arrays/SKILL.md +277 -0
  11. package/ai/skills/stacks-auth/SKILL.md +422 -0
  12. package/ai/skills/stacks-auto-imports/SKILL.md +138 -0
  13. package/ai/skills/stacks-brandkit/SKILL.md +811 -0
  14. package/ai/skills/stacks-browse/SKILL.md +127 -0
  15. package/ai/skills/stacks-browse/scripts/browse.ts +492 -0
  16. package/ai/skills/stacks-browser/SKILL.md +145 -0
  17. package/ai/skills/stacks-buddy/SKILL.md +676 -0
  18. package/ai/skills/stacks-build/SKILL.md +163 -0
  19. package/ai/skills/stacks-cache/SKILL.md +125 -0
  20. package/ai/skills/stacks-calendar/SKILL.md +113 -0
  21. package/ai/skills/stacks-chat/SKILL.md +371 -0
  22. package/ai/skills/stacks-cli/SKILL.md +112 -0
  23. package/ai/skills/stacks-cloud/SKILL.md +192 -0
  24. package/ai/skills/stacks-cms/SKILL.md +217 -0
  25. package/ai/skills/stacks-collections/SKILL.md +82 -0
  26. package/ai/skills/stacks-commerce/SKILL.md +114 -0
  27. package/ai/skills/stacks-composables/SKILL.md +161 -0
  28. package/ai/skills/stacks-config/SKILL.md +144 -0
  29. package/ai/skills/stacks-configuration/SKILL.md +154 -0
  30. package/ai/skills/stacks-cron/SKILL.md +123 -0
  31. package/ai/skills/stacks-crosswind/SKILL.md +190 -0
  32. package/ai/skills/stacks-dashboard/SKILL.md +173 -0
  33. package/ai/skills/stacks-database/SKILL.md +286 -0
  34. package/ai/skills/stacks-datetime/SKILL.md +269 -0
  35. package/ai/skills/stacks-dependencies/SKILL.md +111 -0
  36. package/ai/skills/stacks-deploy/SKILL.md +102 -0
  37. package/ai/skills/stacks-design-brutalist/SKILL.md +110 -0
  38. package/ai/skills/stacks-design-minimalist/SKILL.md +115 -0
  39. package/ai/skills/stacks-design-output/SKILL.md +55 -0
  40. package/ai/skills/stacks-design-soft/SKILL.md +156 -0
  41. package/ai/skills/stacks-design-taste/SKILL.md +1012 -0
  42. package/ai/skills/stacks-design-taste-codex/SKILL.md +294 -0
  43. package/ai/skills/stacks-desktop/SKILL.md +78 -0
  44. package/ai/skills/stacks-development/SKILL.md +298 -0
  45. package/ai/skills/stacks-dns/SKILL.md +149 -0
  46. package/ai/skills/stacks-docs/SKILL.md +109 -0
  47. package/ai/skills/stacks-email/SKILL.md +236 -0
  48. package/ai/skills/stacks-enums/SKILL.md +100 -0
  49. package/ai/skills/stacks-env/SKILL.md +181 -0
  50. package/ai/skills/stacks-error-handling/SKILL.md +137 -0
  51. package/ai/skills/stacks-events/SKILL.md +228 -0
  52. package/ai/skills/stacks-faker/SKILL.md +158 -0
  53. package/ai/skills/stacks-git/SKILL.md +158 -0
  54. package/ai/skills/stacks-guard/SKILL.md +98 -0
  55. package/ai/skills/stacks-health/SKILL.md +75 -0
  56. package/ai/skills/stacks-http/SKILL.md +316 -0
  57. package/ai/skills/stacks-i18n/SKILL.md +198 -0
  58. package/ai/skills/stacks-image-to-code/SKILL.md +629 -0
  59. package/ai/skills/stacks-imagegen-mobile/SKILL.md +1474 -0
  60. package/ai/skills/stacks-imagegen-web/SKILL.md +998 -0
  61. package/ai/skills/stacks-investigate/SKILL.md +119 -0
  62. package/ai/skills/stacks-jobs/SKILL.md +136 -0
  63. package/ai/skills/stacks-lint/SKILL.md +184 -0
  64. package/ai/skills/stacks-listeners/SKILL.md +99 -0
  65. package/ai/skills/stacks-logging/SKILL.md +78 -0
  66. package/ai/skills/stacks-mail/SKILL.md +120 -0
  67. package/ai/skills/stacks-middleware/SKILL.md +249 -0
  68. package/ai/skills/stacks-migrations/SKILL.md +105 -0
  69. package/ai/skills/stacks-models/SKILL.md +267 -0
  70. package/ai/skills/stacks-new-feature/SKILL.md +206 -0
  71. package/ai/skills/stacks-notifications/SKILL.md +210 -0
  72. package/ai/skills/stacks-objects/SKILL.md +205 -0
  73. package/ai/skills/stacks-office-hours/SKILL.md +134 -0
  74. package/ai/skills/stacks-orm/SKILL.md +342 -0
  75. package/ai/skills/stacks-path/SKILL.md +118 -0
  76. package/ai/skills/stacks-payments/SKILL.md +373 -0
  77. package/ai/skills/stacks-plan-review/SKILL.md +152 -0
  78. package/ai/skills/stacks-plugins/SKILL.md +149 -0
  79. package/ai/skills/stacks-push/SKILL.md +376 -0
  80. package/ai/skills/stacks-query-builder/SKILL.md +128 -0
  81. package/ai/skills/stacks-queue/SKILL.md +559 -0
  82. package/ai/skills/stacks-realtime/SKILL.md +442 -0
  83. package/ai/skills/stacks-redesign/SKILL.md +182 -0
  84. package/ai/skills/stacks-registry/SKILL.md +58 -0
  85. package/ai/skills/stacks-repl/SKILL.md +80 -0
  86. package/ai/skills/stacks-retro/SKILL.md +122 -0
  87. package/ai/skills/stacks-review/SKILL.md +135 -0
  88. package/ai/skills/stacks-router/SKILL.md +231 -0
  89. package/ai/skills/stacks-routes/SKILL.md +105 -0
  90. package/ai/skills/stacks-scaffolding/SKILL.md +162 -0
  91. package/ai/skills/stacks-scheduler/SKILL.md +363 -0
  92. package/ai/skills/stacks-search-engine/SKILL.md +112 -0
  93. package/ai/skills/stacks-security/SKILL.md +129 -0
  94. package/ai/skills/stacks-security-audit/SKILL.md +128 -0
  95. package/ai/skills/stacks-server/SKILL.md +458 -0
  96. package/ai/skills/stacks-shell/SKILL.md +62 -0
  97. package/ai/skills/stacks-slug/SKILL.md +87 -0
  98. package/ai/skills/stacks-sms/SKILL.md +385 -0
  99. package/ai/skills/stacks-socials/SKILL.md +303 -0
  100. package/ai/skills/stacks-storage/SKILL.md +576 -0
  101. package/ai/skills/stacks-strings/SKILL.md +416 -0
  102. package/ai/skills/stacks-stx/SKILL.md +176 -0
  103. package/ai/skills/stacks-technical-diagrams/LICENSE +22 -0
  104. package/ai/skills/stacks-technical-diagrams/SKILL.md +290 -0
  105. package/ai/skills/stacks-technical-diagrams/agents/openai.yaml +4 -0
  106. package/ai/skills/stacks-technical-diagrams/assets/template.html +1252 -0
  107. package/ai/skills/stacks-technical-diagrams/bin/technical-diagrams.mjs +289 -0
  108. package/ai/skills/stacks-technical-diagrams/bunfig.toml +1 -0
  109. package/ai/skills/stacks-technical-diagrams/examples/agent-run.lifecycle.json +64 -0
  110. package/ai/skills/stacks-technical-diagrams/examples/agent-tool-call.workflow.json +88 -0
  111. package/ai/skills/stacks-technical-diagrams/examples/cache-miss-request.sequence.json +75 -0
  112. package/ai/skills/stacks-technical-diagrams/examples/product-analytics.dataflow.json +70 -0
  113. package/ai/skills/stacks-technical-diagrams/examples/web-app.architecture.json +41 -0
  114. package/ai/skills/stacks-technical-diagrams/renderers/architecture/grid.mjs +62 -0
  115. package/ai/skills/stacks-technical-diagrams/renderers/architecture/render-architecture.mjs +371 -0
  116. package/ai/skills/stacks-technical-diagrams/renderers/dataflow/README.md +82 -0
  117. package/ai/skills/stacks-technical-diagrams/renderers/dataflow/render-dataflow.mjs +295 -0
  118. package/ai/skills/stacks-technical-diagrams/renderers/lifecycle/README.md +91 -0
  119. package/ai/skills/stacks-technical-diagrams/renderers/lifecycle/render-lifecycle.mjs +384 -0
  120. package/ai/skills/stacks-technical-diagrams/renderers/sequence/README.md +84 -0
  121. package/ai/skills/stacks-technical-diagrams/renderers/sequence/render-sequence.mjs +257 -0
  122. package/ai/skills/stacks-technical-diagrams/renderers/shared/cli.mjs +42 -0
  123. package/ai/skills/stacks-technical-diagrams/renderers/shared/generated-validators.mjs +13 -0
  124. package/ai/skills/stacks-technical-diagrams/renderers/shared/geometry.mjs +230 -0
  125. package/ai/skills/stacks-technical-diagrams/renderers/shared/layout-report.mjs +40 -0
  126. package/ai/skills/stacks-technical-diagrams/renderers/shared/utils.mjs +88 -0
  127. package/ai/skills/stacks-technical-diagrams/renderers/shared/validator.mjs +40 -0
  128. package/ai/skills/stacks-technical-diagrams/renderers/workflow/README.md +103 -0
  129. package/ai/skills/stacks-technical-diagrams/renderers/workflow/render-workflow.mjs +481 -0
  130. package/ai/skills/stacks-technical-diagrams/schemas/README.md +68 -0
  131. package/ai/skills/stacks-technical-diagrams/schemas/architecture.schema.json +121 -0
  132. package/ai/skills/stacks-technical-diagrams/schemas/common.schema.json +43 -0
  133. package/ai/skills/stacks-technical-diagrams/schemas/dataflow.schema.json +221 -0
  134. package/ai/skills/stacks-technical-diagrams/schemas/lifecycle.schema.json +241 -0
  135. package/ai/skills/stacks-technical-diagrams/schemas/sequence.schema.json +186 -0
  136. package/ai/skills/stacks-technical-diagrams/schemas/workflow.schema.json +332 -0
  137. package/ai/skills/stacks-technical-diagrams/scripts/check-render-output.mjs +297 -0
  138. package/ai/skills/stacks-technical-diagrams/scripts/render-examples.mjs +28 -0
  139. package/ai/skills/stacks-testing/SKILL.md +129 -0
  140. package/ai/skills/stacks-tunnel/SKILL.md +125 -0
  141. package/ai/skills/stacks-types/SKILL.md +178 -0
  142. package/ai/skills/stacks-ui/SKILL.md +246 -0
  143. package/ai/skills/stacks-utils/SKILL.md +444 -0
  144. package/ai/skills/stacks-validation/SKILL.md +371 -0
  145. package/ai/skills/stacks-whois/SKILL.md +315 -0
  146. package/assets/world-map-data.ts +121 -0
  147. package/bootstrap.ts +114 -0
  148. package/docs/api-examples.md +46 -0
  149. package/docs/index.md +24 -0
  150. package/docs/markdown-examples.md +87 -0
  151. package/functions/analytics.ts +97 -0
  152. package/functions/api.ts +143 -0
  153. package/functions/auth.ts +208 -0
  154. package/functions/billing/payments.ts +149 -0
  155. package/functions/blog.ts +120 -0
  156. package/functions/cms/categorizables.ts +107 -0
  157. package/functions/cms/pages.ts +108 -0
  158. package/functions/cms/posts.ts +100 -0
  159. package/functions/cms/taggables.ts +102 -0
  160. package/functions/commerce/coupons.ts +128 -0
  161. package/functions/commerce/customers.ts +128 -0
  162. package/functions/commerce/gift-cards.ts +119 -0
  163. package/functions/commerce/orders.ts +112 -0
  164. package/functions/commerce/payments.ts +119 -0
  165. package/functions/commerce/products/categories.ts +123 -0
  166. package/functions/commerce/products/manufacturers.ts +123 -0
  167. package/functions/commerce/products/products.ts +123 -0
  168. package/functions/commerce/products/reviews.ts +123 -0
  169. package/functions/commerce/products/units.ts +123 -0
  170. package/functions/commerce/products/variants.ts +123 -0
  171. package/functions/commerce/shippings/delivery-routes.ts +123 -0
  172. package/functions/commerce/shippings/digital-deliveries.ts +119 -0
  173. package/functions/commerce/shippings/drivers.ts +123 -0
  174. package/functions/commerce/shippings/license-keys.ts +123 -0
  175. package/functions/commerce/shippings/shipping-methods.ts +123 -0
  176. package/functions/commerce/shippings/shipping-rates.ts +119 -0
  177. package/functions/commerce/shippings/shipping-zones.ts +119 -0
  178. package/functions/commerce/taxes.ts +119 -0
  179. package/functions/commerce/waitlist/products.ts +123 -0
  180. package/functions/commerce/waitlist/restaurants.ts +123 -0
  181. package/functions/craft.ts +107 -0
  182. package/functions/dashboard.ts +153 -0
  183. package/functions/inbox.ts +95 -0
  184. package/functions/jobs.ts +86 -0
  185. package/functions/monitoring/errors.ts +295 -0
  186. package/functions/queue.ts +111 -0
  187. package/functions/realtime/websockets.ts +96 -0
  188. package/functions/realtime.ts +52 -0
  189. package/functions/releases.ts +49 -0
  190. package/functions/search.ts +126 -0
  191. package/functions/toasts.ts +95 -0
  192. package/functions/uploads.ts +216 -0
  193. package/ide/.gitignore +4 -0
  194. package/ide/cursor/rules/auto-imports.mdc +574 -0
  195. package/ide/cursor/rules/code-style.mdc +12 -0
  196. package/ide/cursor/rules/documentation.mdc +9 -0
  197. package/ide/cursor/rules/error-handling-validation.mdc +11 -0
  198. package/ide/cursor/rules/key-conventions.mdc +11 -0
  199. package/ide/cursor/rules/project-structure.mdc +169 -0
  200. package/ide/cursor/rules/readme.mdc +318 -0
  201. package/ide/cursor/rules/syntax-formatting.mdc +9 -0
  202. package/ide/cursor/rules/testing.mdc +10 -0
  203. package/ide/cursor/rules/typescript.mdc +9 -0
  204. package/ide/cursor/rules/ui-styling.mdc +0 -0
  205. package/ide/dictionary.txt +397 -0
  206. package/ide/jetbrains/.fleet/settings.json +4 -0
  207. package/ide/jetbrains/.idea/.gitignore +5 -0
  208. package/ide/jetbrains/.idea/.name +1 -0
  209. package/ide/jetbrains/.idea/inspectionProfiles/Project_Default.xml +6 -0
  210. package/ide/jetbrains/.idea/jsLinters/eslint.xml +7 -0
  211. package/ide/jetbrains/.idea/modules.xml +8 -0
  212. package/ide/jetbrains/.idea/stacks.iml +22 -0
  213. package/ide/jetbrains/.idea/vcs.xml +6 -0
  214. package/ide/jetbrains/.idea/webResources.xml +14 -0
  215. package/ide/jetbrains/IntelliJ IDEA Global Settings +0 -0
  216. package/ide/jetbrains/installed.txt +4 -0
  217. package/ide/jetbrains/options/github-copilot.xml +5 -0
  218. package/ide/jetbrains/options/nodejs.xml +7 -0
  219. package/ide/jetbrains/options/templates.xml +124 -0
  220. package/ide/jetbrains/templates/JavaScript.xml +6 -0
  221. package/ide/jetbrains/templates/Stacks.xml +8 -0
  222. package/ide/vscode/.vscode/README.md +23 -0
  223. package/ide/vscode/.vscode/extensions.json +5 -0
  224. package/ide/vscode/.vscode/settings.json +176 -0
  225. package/ide/vscode/.vscode/stacks.code-snippets +181 -0
  226. package/ide/vscode/LICENSE.md +21 -0
  227. package/ide/vscode/README.md +36 -0
  228. package/ide/vscode/logo.png +0 -0
  229. package/ide/vscode/package.json +79 -0
  230. package/ide/zed/.zed/settings.json +139 -0
  231. package/lang/README.md +28 -0
  232. package/lang/de.yml +14 -0
  233. package/lang/en.yml +15 -0
  234. package/package.json +19 -3
  235. package/project/bootstrap +161 -0
  236. package/project/buddy +175 -0
  237. package/project/storage/framework/tsconfig.app.json +50 -0
  238. package/project/storage/framework/tsconfig.base.json +58 -0
  239. package/routes/core.ts +78 -0
  240. package/routes/dashboard-api.ts +233 -0
  241. package/routes/dashboard.ts +739 -0
  242. package/routes/email.ts +129 -0
  243. package/stores/[name].stx +16 -0
  244. package/stores/git.ts +71 -0
  245. package/stores/payment.ts +474 -0
  246. package/stores/queue.ts +43 -0
  247. package/stores/user.ts +29 -0
  248. package/stx-components-plugin.ts +25 -0
  249. package/styles/design-tokens.css +597 -0
  250. package/types/dashboard.ts +70 -0
  251. package/types/defaults.ts +438 -0
  252. package/vcs/github/CODE_OF_CONDUCT.md +83 -0
  253. package/vcs/github/CONTRIBUTING.md +187 -0
  254. package/vcs/github/EXPLANATIONS.md +41 -0
  255. package/vcs/github/FUNDING.yml +1 -0
  256. package/vcs/github/ISSUE_TEMPLATE/bug_report.yml +49 -0
  257. package/vcs/github/ISSUE_TEMPLATE/config.yml +10 -0
  258. package/vcs/github/ISSUE_TEMPLATE/feature_request.yml +44 -0
  259. package/vcs/github/SECURITY.md +70 -0
  260. package/vcs/github/renovate.json +5 -0
  261. package/vcs/github/stale.yml +14 -0
  262. package/vcs/github/workflows/README.md +16 -0
  263. package/vcs/github/workflows/ci.yml +114 -0
  264. package/vcs/github/workflows/export-size.yml +25 -0
  265. package/vcs/github/workflows/labeler.yml +13 -0
  266. package/vcs/github/workflows/release.yml +219 -0
  267. package/views/[...all].stx +8 -0
  268. package/views/about.md +3 -0
  269. package/views/auth/login.stx +1 -0
  270. package/views/auth/signup.stx +85 -0
  271. package/views/dashboard/.discovered-models.json +542 -0
  272. package/views/dashboard/AUDIT.md +904 -0
  273. package/views/dashboard/[...all].stx +89 -0
  274. package/views/dashboard/access-tokens/index.stx +177 -0
  275. package/views/dashboard/actions/index.stx +129 -0
  276. package/views/dashboard/analytics/blog/index.stx +356 -0
  277. package/views/dashboard/analytics/browsers/index.stx +263 -0
  278. package/views/dashboard/analytics/commerce/sales/index.stx +329 -0
  279. package/views/dashboard/analytics/commerce/web/index.stx +379 -0
  280. package/views/dashboard/analytics/countries/index.stx +289 -0
  281. package/views/dashboard/analytics/devices/index.stx +305 -0
  282. package/views/dashboard/analytics/events/index.stx +536 -0
  283. package/views/dashboard/analytics/index.stx +88 -0
  284. package/views/dashboard/analytics/marketing/index.stx +315 -0
  285. package/views/dashboard/analytics/pages/index.stx +271 -0
  286. package/views/dashboard/analytics/referrers/index.stx +319 -0
  287. package/views/dashboard/analytics/web/index.stx +356 -0
  288. package/views/dashboard/buddy/index.stx +198 -0
  289. package/views/dashboard/ci/index.stx +462 -0
  290. package/views/dashboard/cloud/index.stx +452 -0
  291. package/views/dashboard/commands/index.stx +295 -0
  292. package/views/dashboard/commerce/categories/index.stx +406 -0
  293. package/views/dashboard/commerce/coupons/index.stx +485 -0
  294. package/views/dashboard/commerce/customers/index.stx +410 -0
  295. package/views/dashboard/commerce/dashboard/index.stx +287 -0
  296. package/views/dashboard/commerce/delivery/delivery-routes.stx +305 -0
  297. package/views/dashboard/commerce/delivery/digital-delivery.stx +332 -0
  298. package/views/dashboard/commerce/delivery/drivers.stx +397 -0
  299. package/views/dashboard/commerce/delivery/index.stx +18 -0
  300. package/views/dashboard/commerce/delivery/license-keys.stx +380 -0
  301. package/views/dashboard/commerce/delivery/shipping-methods.stx +346 -0
  302. package/views/dashboard/commerce/delivery/shipping-rates.stx +338 -0
  303. package/views/dashboard/commerce/delivery/shipping-zones.stx +302 -0
  304. package/views/dashboard/commerce/delivery/tabs.ts +25 -0
  305. package/views/dashboard/commerce/gift-cards/index.stx +561 -0
  306. package/views/dashboard/commerce/manufacturers/index.stx +308 -0
  307. package/views/dashboard/commerce/orders/index.stx +247 -0
  308. package/views/dashboard/commerce/payments/index.stx +535 -0
  309. package/views/dashboard/commerce/pos/index.stx +653 -0
  310. package/views/dashboard/commerce/printers/devices/index.stx +273 -0
  311. package/views/dashboard/commerce/printers/receipts/index.stx +308 -0
  312. package/views/dashboard/commerce/products/detail.stx +563 -0
  313. package/views/dashboard/commerce/products/index.stx +370 -0
  314. package/views/dashboard/commerce/reviews/index.stx +656 -0
  315. package/views/dashboard/commerce/reviews/index.ts +0 -0
  316. package/views/dashboard/commerce/taxes/index.stx +377 -0
  317. package/views/dashboard/commerce/units/index.stx +317 -0
  318. package/views/dashboard/commerce/variants/index.stx +319 -0
  319. package/views/dashboard/commerce/waitlist/products.stx +942 -0
  320. package/views/dashboard/commerce/waitlist/restaurant.stx +1024 -0
  321. package/views/dashboard/components/index.stx +330 -0
  322. package/views/dashboard/composables/index.ts +19 -0
  323. package/views/dashboard/composables/useChart.ts +77 -0
  324. package/views/dashboard/composables/useNavigation.ts +99 -0
  325. package/views/dashboard/composables/useRole.ts +58 -0
  326. package/views/dashboard/composables/useTheme.ts +74 -0
  327. package/views/dashboard/content/authors/index.stx +171 -0
  328. package/views/dashboard/content/blog/index.stx +493 -0
  329. package/views/dashboard/content/categories/index.stx +169 -0
  330. package/views/dashboard/content/comments/index.stx +189 -0
  331. package/views/dashboard/content/dashboard.stx +383 -0
  332. package/views/dashboard/content/files/index.stx +706 -0
  333. package/views/dashboard/content/pages/index.stx +174 -0
  334. package/views/dashboard/content/posts/index.stx +269 -0
  335. package/views/dashboard/content/seo/index.stx +240 -0
  336. package/views/dashboard/content/tags/index.stx +167 -0
  337. package/views/dashboard/data/activity/index.stx +261 -0
  338. package/views/dashboard/data/dashboard/index.stx +116 -0
  339. package/views/dashboard/data/subscribers.stx +270 -0
  340. package/views/dashboard/data/teams.stx +275 -0
  341. package/views/dashboard/data/users.stx +279 -0
  342. package/views/dashboard/dependencies/index.stx +178 -0
  343. package/views/dashboard/deployments/[id].stx +234 -0
  344. package/views/dashboard/deployments/index.stx +9 -0
  345. package/views/dashboard/dns/index.stx +163 -0
  346. package/views/dashboard/environment/index.stx +283 -0
  347. package/views/dashboard/errors/index.stx +274 -0
  348. package/views/dashboard/forgot-password.stx +57 -0
  349. package/views/dashboard/functions/index.stx +159 -0
  350. package/views/dashboard/health/index.stx +248 -0
  351. package/views/dashboard/inbox/activity.stx +350 -0
  352. package/views/dashboard/inbox/index.stx +452 -0
  353. package/views/dashboard/inbox/settings.stx +290 -0
  354. package/views/dashboard/index.stx +252 -0
  355. package/views/dashboard/insights/index.stx +529 -0
  356. package/views/dashboard/jobs/[id].stx +430 -0
  357. package/views/dashboard/jobs/history.stx +222 -0
  358. package/views/dashboard/jobs/index.stx +214 -0
  359. package/views/dashboard/kanban/[id].stx +899 -0
  360. package/views/dashboard/kanban/index.stx +260 -0
  361. package/views/dashboard/layouts/default.stx +565 -0
  362. package/views/dashboard/layouts/guest.stx +10 -0
  363. package/views/dashboard/login.stx +48 -0
  364. package/views/dashboard/logs/index.stx +540 -0
  365. package/views/dashboard/mailboxes/index.stx +149 -0
  366. package/views/dashboard/management/permissions/index.stx +490 -0
  367. package/views/dashboard/marketing/campaigns/index.stx +604 -0
  368. package/views/dashboard/marketing/lists/index.stx +514 -0
  369. package/views/dashboard/marketing/reviews/index.stx +475 -0
  370. package/views/dashboard/marketing/social-posts/index.stx +560 -0
  371. package/views/dashboard/models/[model].stx +195 -0
  372. package/views/dashboard/models/index.stx +159 -0
  373. package/views/dashboard/monitoring/errors/index.stx +415 -0
  374. package/views/dashboard/notifications/dashboard.stx +383 -0
  375. package/views/dashboard/notifications/email.stx +336 -0
  376. package/views/dashboard/notifications/history.stx +373 -0
  377. package/views/dashboard/notifications/sms.stx +332 -0
  378. package/views/dashboard/packages/index.stx +195 -0
  379. package/views/dashboard/queries/[id].stx +381 -0
  380. package/views/dashboard/queries/history.stx +227 -0
  381. package/views/dashboard/queries/index.stx +335 -0
  382. package/views/dashboard/queries/slow.stx +318 -0
  383. package/views/dashboard/queue/index.stx +427 -0
  384. package/views/dashboard/realtime/index.stx +429 -0
  385. package/views/dashboard/register.stx +46 -0
  386. package/views/dashboard/releases/index.stx +389 -0
  387. package/views/dashboard/requests/index.stx +462 -0
  388. package/views/dashboard/serverless/index.stx +475 -0
  389. package/views/dashboard/servers/[id].stx +299 -0
  390. package/views/dashboard/servers/index.stx +483 -0
  391. package/views/dashboard/settings/billing.stx +50 -0
  392. package/views/dashboard/settings/index.stx +256 -0
  393. package/views/dashboard/settings/mail.stx +252 -0
  394. package/views/dashboard/stores/auth.ts +123 -0
  395. package/views/dashboard/stores/ci.ts +342 -0
  396. package/views/dashboard/stores/index.ts +129 -0
  397. package/views/dashboard/stores/kanban.ts +723 -0
  398. package/views/dashboard/stores/rbac.ts +350 -0
  399. package/views/dashboard/stx.config.ts +34 -0
  400. package/views/dashboard/teams/[id].stx +170 -0
  401. package/views/forum/category.stx +92 -0
  402. package/views/forum/index.stx +209 -0
  403. package/views/forum/new-topic.stx +113 -0
  404. package/views/forum/profile.stx +1 -0
  405. package/views/forum/topic.stx +143 -0
  406. package/views/hello-world/[name].stx +47 -0
  407. package/views/index.stx +21 -0
  408. package/views/system-tray/index.stx +147 -0
@@ -0,0 +1,904 @@
1
+ # Dashboard `.stx` audit — stacksjs/stacks#1838
2
+
3
+ _Initial audit 2026-05-04. Refreshed 2026-05-20 (second sweep) with the
4
+ current numbers; the per-area / per-file inventory below still reflects
5
+ the 2026-05-04 snapshot and will be regenerated on the next audit pass._
6
+
7
+ ## Roll-up — 2026-05-20
8
+
9
+ | Metric | 2026-05-04 | 2026-05-20 | Δ |
10
+ |---|---:|---:|---:|
11
+ | Total `.stx` files | 110 | 113 | +3 |
12
+ | `<script server>` blocks | 98 | **0** | −98 |
13
+ | `<script client>` blocks | 78 | 100+ | +22 |
14
+ | Bare `<script>` blocks (no qualifier) | 11 | 9 | −2 |
15
+ | `window.` / `document.` lines | 168 | 78 | −90 |
16
+ | Pages calling `useStore(…)` | 0 | 5 | +5 |
17
+ | Pages importing a composable | 0 | 5 | +5 |
18
+ | Stores defined under `dashboard/stores/` | 1 | 5 | +4 |
19
+ | Composables under `dashboard/composables/` | 0 | 4 | +4 |
20
+
21
+ **`<script server>` migration — complete.** Every dashboard page now
22
+ renders against client-side state or fetches its data from an API
23
+ endpoint. Several pages got new API endpoints in
24
+ `storage/framework/defaults/routes/dashboard-api.ts`:
25
+
26
+ - `/api/dashboard/commerce/stats` — reuses the existing
27
+ `CommerceDashboardAction`, exposed without auth middleware so the
28
+ dev dashboard can reach it
29
+ - `/api/dashboard/models` — walks `app/Models/` + framework defaults,
30
+ counts rows per model
31
+ - `/api/dashboard/models/{slug}` — first 50 rows of any single model
32
+
33
+ Auth pages (`login`/`register`/`forgot-password`) also got real bug
34
+ fixes during the conversion — their `<script server>` blocks tried to
35
+ reassign `const` vars (always threw in strict-mode JS) and called
36
+ `useRouter()` (a Nuxt-ism, no-op in stx).
37
+
38
+ Remaining work for #1838: the 78 in-page `window.`/`document.` lines
39
+ (mostly pre-existing vanilla event wiring under `content/_` and
40
+ `commerce/_`) and deliverable #4 (component lift to
41
+ `@stacksjs/components`) are the open targets.
42
+
43
+ Three new pages landed since the original audit (kanban index, kanban
44
+ `[id]`, management/permissions — see #1846 and #1845). Net `<script
45
+ server>` count still dropped because the surrounding sweep on the existing
46
+ pages outpaced the new arrivals.
47
+
48
+ The remaining 78 DOM-access lines cluster in two patterns: pre-existing
49
+ `document.getElementById(...)` event wiring in vanilla `<script>` blocks
50
+ (largely under `content/_`, `commerce/_`), and the layout's own
51
+ import-map / role-filter installer where direct DOM is appropriate. The
52
+ in-page DOM references are the next sweep target.
53
+
54
+ ## Roll-up — 2026-05-04 (initial snapshot)
55
+
56
+ | Metric | Count |
57
+ |---|---:|
58
+ | Total `.stx` files | 110 |
59
+ | `<script server>` blocks | 98 |
60
+ | `<script client>` blocks | 78 |
61
+ | Bare `<script>` blocks (no qualifier) | 11 |
62
+ | `window.` / `document.` lines | 168 |
63
+ | Files importing from `stores/` | 0 |
64
+ | Files importing `@stacksjs/components` | 0 |
65
+
66
+ ### Routing setup
67
+
68
+ Per `dashboard/stx.config.ts`, `pagesDir: 'views'` (with `root: 'resources'`) — meaning every top-level dir under `dashboard/` is a route group. The support dirs (`components/`, `composables/`, `layouts/`, `stores/`) are the only non-routed ones.
69
+
70
+ ## Per-area roll-up
71
+
72
+ | Area | Files | server | client | bare | DOM lines | uses store | uses components |
73
+ |---|---:|---:|---:|---:|---:|---:|---:|
74
+ | `_root` | 5 | 4 | 0 | 1 | 0 | 0 | 0 |
75
+ | `access-tokens` | 1 | 0 | 0 | 1 | 0 | 0 | 0 |
76
+ | `actions` | 1 | 0 | 0 | 1 | 0 | 0 | 0 |
77
+ | `analytics` | 12 | 12 | 12 | 0 | 22 | 0 | 0 |
78
+ | `buddy` | 1 | 0 | 0 | 1 | 0 | 0 | 0 |
79
+ | `cloud` | 1 | 1 | 1 | 0 | 0 | 0 | 0 |
80
+ | `commands` | 1 | 0 | 0 | 1 | 0 | 0 | 0 |
81
+ | `commerce` | 27 | 25 | 21 | 2 | 18 | 0 | 0 |
82
+ | `components` | 1 | 1 | 1 | 0 | 1 | 0 | 0 |
83
+ | `content` | 9 | 9 | 8 | 0 | 27 | 0 | 0 |
84
+ | `data` | 5 | 5 | 5 | 0 | 21 | 0 | 0 |
85
+ | `dependencies` | 1 | 0 | 0 | 1 | 0 | 0 | 0 |
86
+ | `deployments` | 2 | 2 | 1 | 0 | 0 | 0 | 0 |
87
+ | `dns` | 1 | 1 | 1 | 0 | 1 | 0 | 0 |
88
+ | `environment` | 1 | 0 | 0 | 1 | 2 | 0 | 0 |
89
+ | `errors` | 1 | 1 | 0 | 0 | 0 | 0 | 0 |
90
+ | `functions` | 1 | 1 | 1 | 0 | 1 | 0 | 0 |
91
+ | `health` | 1 | 1 | 0 | 0 | 0 | 0 | 0 |
92
+ | `inbox` | 3 | 3 | 3 | 0 | 7 | 0 | 0 |
93
+ | `insights` | 1 | 1 | 1 | 0 | 4 | 0 | 0 |
94
+ | `jobs` | 3 | 3 | 3 | 0 | 2 | 0 | 0 |
95
+ | `layouts` | 2 | 1 | 2 | 0 | 15 | 0 | 0 |
96
+ | `logs` | 1 | 1 | 1 | 0 | 2 | 0 | 0 |
97
+ | `mailboxes` | 1 | 1 | 1 | 0 | 1 | 0 | 0 |
98
+ | `management` | 1 | 1 | 1 | 0 | 2 | 0 | 0 |
99
+ | `marketing` | 4 | 4 | 1 | 0 | 17 | 0 | 0 |
100
+ | `models` | 2 | 2 | 0 | 0 | 0 | 0 | 0 |
101
+ | `monitoring` | 1 | 1 | 1 | 0 | 0 | 0 | 0 |
102
+ | `notifications` | 4 | 4 | 3 | 0 | 2 | 0 | 0 |
103
+ | `packages` | 1 | 1 | 1 | 0 | 2 | 0 | 0 |
104
+ | `queries` | 4 | 4 | 2 | 0 | 2 | 0 | 0 |
105
+ | `queue` | 1 | 1 | 1 | 0 | 2 | 0 | 0 |
106
+ | `realtime` | 1 | 1 | 1 | 0 | 1 | 0 | 0 |
107
+ | `releases` | 1 | 0 | 1 | 1 | 2 | 0 | 0 |
108
+ | `requests` | 1 | 1 | 1 | 0 | 4 | 0 | 0 |
109
+ | `serverless` | 1 | 1 | 1 | 0 | 10 | 0 | 0 |
110
+ | `servers` | 2 | 2 | 1 | 0 | 0 | 0 | 0 |
111
+ | `settings` | 2 | 1 | 1 | 1 | 0 | 0 | 0 |
112
+ | `teams` | 1 | 1 | 0 | 0 | 0 | 0 | 0 |
113
+
114
+ ## Per-file inventory
115
+
116
+ Columns: file → `<script server>` count, `<script client>` count, bare `<script>` count, `window.`/`document.` lines, store import (✓), `@stacksjs/components` import (✓).
117
+
118
+ ### `_root/`
119
+
120
+ | File | server | client | bare | DOM | store | components |
121
+ |---|---:|---:|---:|---:|:---:|:---:|
122
+ | `[...all].stx` | 0 | 0 | 1 | 0 | | |
123
+ | `forgot-password.stx` | 1 | 0 | 0 | 0 | | |
124
+ | `index.stx` | 1 | 0 | 0 | 0 | | |
125
+ | `login.stx` | 1 | 0 | 0 | 0 | | |
126
+ | `register.stx` | 1 | 0 | 0 | 0 | | |
127
+
128
+ ### `access-tokens/`
129
+
130
+ | File | server | client | bare | DOM | store | components |
131
+ |---|---:|---:|---:|---:|:---:|:---:|
132
+ | `access-tokens/index.stx` | 0 | 0 | 1 | 0 | | |
133
+
134
+ ### `actions/`
135
+
136
+ | File | server | client | bare | DOM | store | components |
137
+ |---|---:|---:|---:|---:|:---:|:---:|
138
+ | `actions/index.stx` | 0 | 0 | 1 | 0 | | |
139
+
140
+ ### `analytics/`
141
+
142
+ | File | server | client | bare | DOM | store | components |
143
+ |---|---:|---:|---:|---:|:---:|:---:|
144
+ | `analytics/blog/index.stx` | 1 | 1 | 0 | 1 | | |
145
+ | `analytics/browsers/index.stx` | 1 | 1 | 0 | 2 | | |
146
+ | `analytics/commerce/sales/index.stx` | 1 | 1 | 0 | 1 | | |
147
+ | `analytics/commerce/web/index.stx` | 1 | 1 | 0 | 1 | | |
148
+ | `analytics/countries/index.stx` | 1 | 1 | 0 | 1 | | |
149
+ | `analytics/devices/index.stx` | 1 | 1 | 0 | 2 | | |
150
+ | `analytics/events/index.stx` | 1 | 2 | 0 | 8 | | |
151
+ | `analytics/index.stx` | 1 | 0 | 0 | 0 | | |
152
+ | `analytics/marketing/index.stx` | 1 | 1 | 0 | 1 | | |
153
+ | `analytics/pages/index.stx` | 1 | 1 | 0 | 2 | | |
154
+ | `analytics/referrers/index.stx` | 1 | 1 | 0 | 2 | | |
155
+ | `analytics/web/index.stx` | 1 | 1 | 0 | 1 | | |
156
+
157
+ ### `buddy/`
158
+
159
+ | File | server | client | bare | DOM | store | components |
160
+ |---|---:|---:|---:|---:|:---:|:---:|
161
+ | `buddy/index.stx` | 0 | 0 | 1 | 0 | | |
162
+
163
+ ### `cloud/`
164
+
165
+ | File | server | client | bare | DOM | store | components |
166
+ |---|---:|---:|---:|---:|:---:|:---:|
167
+ | `cloud/index.stx` | 1 | 1 | 0 | 0 | | |
168
+
169
+ ### `commands/`
170
+
171
+ | File | server | client | bare | DOM | store | components |
172
+ |---|---:|---:|---:|---:|:---:|:---:|
173
+ | `commands/index.stx` | 0 | 0 | 1 | 0 | | |
174
+
175
+ ### `commerce/`
176
+
177
+ | File | server | client | bare | DOM | store | components |
178
+ |---|---:|---:|---:|---:|:---:|:---:|
179
+ | `commerce/categories/index.stx` | 1 | 1 | 0 | 0 | | |
180
+ | `commerce/coupons/index.stx` | 1 | 1 | 0 | 2 | | |
181
+ | `commerce/customers/index.stx` | 1 | 1 | 0 | 2 | | |
182
+ | `commerce/dashboard/index.stx` | 1 | 1 | 0 | 2 | | |
183
+ | `commerce/delivery/delivery-routes.stx` | 1 | 1 | 0 | 0 | | |
184
+ | `commerce/delivery/digital-delivery.stx` | 1 | 1 | 0 | 0 | | |
185
+ | `commerce/delivery/drivers.stx` | 1 | 1 | 0 | 0 | | |
186
+ | `commerce/delivery/index.stx` | 1 | 1 | 0 | 0 | | |
187
+ | `commerce/delivery/license-keys.stx` | 1 | 1 | 0 | 0 | | |
188
+ | `commerce/delivery/shipping-methods.stx` | 1 | 1 | 0 | 0 | | |
189
+ | `commerce/delivery/shipping-rates.stx` | 1 | 1 | 0 | 0 | | |
190
+ | `commerce/delivery/shipping-zones.stx` | 1 | 1 | 0 | 0 | | |
191
+ | `commerce/gift-cards/index.stx` | 1 | 1 | 0 | 2 | | |
192
+ | `commerce/manufacturers/index.stx` | 1 | 0 | 0 | 0 | | |
193
+ | `commerce/orders/index.stx` | 1 | 1 | 0 | 0 | | |
194
+ | `commerce/payments/index.stx` | 1 | 1 | 0 | 2 | | |
195
+ | `commerce/pos/index.stx` | 1 | 0 | 0 | 1 | | |
196
+ | `commerce/printers/devices/index.stx` | 1 | 1 | 0 | 3 | | |
197
+ | `commerce/printers/receipts/index.stx` | 1 | 1 | 0 | 2 | | |
198
+ | `commerce/products/detail.stx` | 1 | 1 | 0 | 0 | | |
199
+ | `commerce/products/index.stx` | 1 | 1 | 0 | 2 | | |
200
+ | `commerce/reviews/index.stx` | 1 | 0 | 0 | 0 | | |
201
+ | `commerce/taxes/index.stx` | 1 | 0 | 0 | 0 | | |
202
+ | `commerce/units/index.stx` | 0 | 0 | 1 | 0 | | |
203
+ | `commerce/variants/index.stx` | 0 | 0 | 1 | 0 | | |
204
+ | `commerce/waitlist/products.stx` | 1 | 1 | 0 | 0 | | |
205
+ | `commerce/waitlist/restaurant.stx` | 1 | 1 | 0 | 0 | | |
206
+
207
+ ### `components/`
208
+
209
+ | File | server | client | bare | DOM | store | components |
210
+ |---|---:|---:|---:|---:|:---:|:---:|
211
+ | `components/index.stx` | 1 | 1 | 0 | 1 | | |
212
+
213
+ ### `content/`
214
+
215
+ | File | server | client | bare | DOM | store | components |
216
+ |---|---:|---:|---:|---:|:---:|:---:|
217
+ | `content/authors/index.stx` | 1 | 1 | 0 | 8 | | |
218
+ | `content/categories/index.stx` | 1 | 1 | 0 | 3 | | |
219
+ | `content/comments/index.stx` | 1 | 1 | 0 | 3 | | |
220
+ | `content/dashboard.stx` | 1 | 1 | 0 | 2 | | |
221
+ | `content/files/index.stx` | 1 | 1 | 0 | 2 | | |
222
+ | `content/pages/index.stx` | 1 | 1 | 0 | 3 | | |
223
+ | `content/posts/index.stx` | 1 | 1 | 0 | 3 | | |
224
+ | `content/seo/index.stx` | 1 | 0 | 0 | 0 | | |
225
+ | `content/tags/index.stx` | 1 | 1 | 0 | 3 | | |
226
+
227
+ ### `data/`
228
+
229
+ | File | server | client | bare | DOM | store | components |
230
+ |---|---:|---:|---:|---:|:---:|:---:|
231
+ | `data/activity/index.stx` | 1 | 1 | 0 | 2 | | |
232
+ | `data/dashboard/index.stx` | 1 | 1 | 0 | 9 | | |
233
+ | `data/subscribers.stx` | 1 | 1 | 0 | 1 | | |
234
+ | `data/teams.stx` | 1 | 1 | 0 | 1 | | |
235
+ | `data/users.stx` | 1 | 1 | 0 | 8 | | |
236
+
237
+ ### `dependencies/`
238
+
239
+ | File | server | client | bare | DOM | store | components |
240
+ |---|---:|---:|---:|---:|:---:|:---:|
241
+ | `dependencies/index.stx` | 0 | 0 | 1 | 0 | | |
242
+
243
+ ### `deployments/`
244
+
245
+ | File | server | client | bare | DOM | store | components |
246
+ |---|---:|---:|---:|---:|:---:|:---:|
247
+ | `deployments/[id].stx` | 1 | 1 | 0 | 0 | | |
248
+ | `deployments/index.stx` | 1 | 0 | 0 | 0 | | |
249
+
250
+ ### `dns/`
251
+
252
+ | File | server | client | bare | DOM | store | components |
253
+ |---|---:|---:|---:|---:|:---:|:---:|
254
+ | `dns/index.stx` | 1 | 1 | 0 | 1 | | |
255
+
256
+ ### `environment/`
257
+
258
+ | File | server | client | bare | DOM | store | components |
259
+ |---|---:|---:|---:|---:|:---:|:---:|
260
+ | `environment/index.stx` | 0 | 0 | 1 | 2 | | |
261
+
262
+ ### `errors/`
263
+
264
+ | File | server | client | bare | DOM | store | components |
265
+ |---|---:|---:|---:|---:|:---:|:---:|
266
+ | `errors/index.stx` | 1 | 0 | 0 | 0 | | |
267
+
268
+ ### `functions/`
269
+
270
+ | File | server | client | bare | DOM | store | components |
271
+ |---|---:|---:|---:|---:|:---:|:---:|
272
+ | `functions/index.stx` | 1 | 1 | 0 | 1 | | |
273
+
274
+ ### `health/`
275
+
276
+ | File | server | client | bare | DOM | store | components |
277
+ |---|---:|---:|---:|---:|:---:|:---:|
278
+ | `health/index.stx` | 1 | 0 | 0 | 0 | | |
279
+
280
+ ### `inbox/`
281
+
282
+ | File | server | client | bare | DOM | store | components |
283
+ |---|---:|---:|---:|---:|:---:|:---:|
284
+ | `inbox/activity.stx` | 1 | 1 | 0 | 4 | | |
285
+ | `inbox/index.stx` | 1 | 1 | 0 | 3 | | |
286
+ | `inbox/settings.stx` | 1 | 1 | 0 | 0 | | |
287
+
288
+ ### `insights/`
289
+
290
+ | File | server | client | bare | DOM | store | components |
291
+ |---|---:|---:|---:|---:|:---:|:---:|
292
+ | `insights/index.stx` | 1 | 1 | 0 | 4 | | |
293
+
294
+ ### `jobs/`
295
+
296
+ | File | server | client | bare | DOM | store | components |
297
+ |---|---:|---:|---:|---:|:---:|:---:|
298
+ | `jobs/[id].stx` | 1 | 1 | 0 | 0 | | |
299
+ | `jobs/history.stx` | 1 | 1 | 0 | 0 | | |
300
+ | `jobs/index.stx` | 1 | 1 | 0 | 2 | | |
301
+
302
+ ### `layouts/`
303
+
304
+ | File | server | client | bare | DOM | store | components |
305
+ |---|---:|---:|---:|---:|:---:|:---:|
306
+ | `layouts/default.stx` | 1 | 2 | 0 | 15 | | |
307
+ | `layouts/guest.stx` | 0 | 0 | 0 | 0 | | |
308
+
309
+ ### `logs/`
310
+
311
+ | File | server | client | bare | DOM | store | components |
312
+ |---|---:|---:|---:|---:|:---:|:---:|
313
+ | `logs/index.stx` | 1 | 1 | 0 | 2 | | |
314
+
315
+ ### `mailboxes/`
316
+
317
+ | File | server | client | bare | DOM | store | components |
318
+ |---|---:|---:|---:|---:|:---:|:---:|
319
+ | `mailboxes/index.stx` | 1 | 1 | 0 | 1 | | |
320
+
321
+ ### `management/`
322
+
323
+ | File | server | client | bare | DOM | store | components |
324
+ |---|---:|---:|---:|---:|:---:|:---:|
325
+ | `management/permissions/index.stx` | 1 | 1 | 0 | 2 | | |
326
+
327
+ ### `marketing/`
328
+
329
+ | File | server | client | bare | DOM | store | components |
330
+ |---|---:|---:|---:|---:|:---:|:---:|
331
+ | `marketing/campaigns/index.stx` | 1 | 0 | 0 | 0 | | |
332
+ | `marketing/lists/index.stx` | 1 | 0 | 0 | 0 | | |
333
+ | `marketing/reviews/index.stx` | 1 | 1 | 0 | 17 | | |
334
+ | `marketing/social-posts/index.stx` | 1 | 0 | 0 | 0 | | |
335
+
336
+ ### `models/`
337
+
338
+ | File | server | client | bare | DOM | store | components |
339
+ |---|---:|---:|---:|---:|:---:|:---:|
340
+ | `models/[model].stx` | 1 | 0 | 0 | 0 | | |
341
+ | `models/index.stx` | 1 | 0 | 0 | 0 | | |
342
+
343
+ ### `monitoring/`
344
+
345
+ | File | server | client | bare | DOM | store | components |
346
+ |---|---:|---:|---:|---:|:---:|:---:|
347
+ | `monitoring/errors/index.stx` | 1 | 1 | 0 | 0 | | |
348
+
349
+ ### `notifications/`
350
+
351
+ | File | server | client | bare | DOM | store | components |
352
+ |---|---:|---:|---:|---:|:---:|:---:|
353
+ | `notifications/dashboard.stx` | 1 | 1 | 0 | 2 | | |
354
+ | `notifications/email.stx` | 1 | 1 | 0 | 0 | | |
355
+ | `notifications/history.stx` | 1 | 0 | 0 | 0 | | |
356
+ | `notifications/sms.stx` | 1 | 1 | 0 | 0 | | |
357
+
358
+ ### `packages/`
359
+
360
+ | File | server | client | bare | DOM | store | components |
361
+ |---|---:|---:|---:|---:|:---:|:---:|
362
+ | `packages/index.stx` | 1 | 1 | 0 | 2 | | |
363
+
364
+ ### `queries/`
365
+
366
+ | File | server | client | bare | DOM | store | components |
367
+ |---|---:|---:|---:|---:|:---:|:---:|
368
+ | `queries/[id].stx` | 1 | 1 | 0 | 0 | | |
369
+ | `queries/history.stx` | 1 | 0 | 0 | 0 | | |
370
+ | `queries/index.stx` | 1 | 1 | 0 | 2 | | |
371
+ | `queries/slow.stx` | 1 | 0 | 0 | 0 | | |
372
+
373
+ ### `queue/`
374
+
375
+ | File | server | client | bare | DOM | store | components |
376
+ |---|---:|---:|---:|---:|:---:|:---:|
377
+ | `queue/index.stx` | 1 | 1 | 0 | 2 | | |
378
+
379
+ ### `realtime/`
380
+
381
+ | File | server | client | bare | DOM | store | components |
382
+ |---|---:|---:|---:|---:|:---:|:---:|
383
+ | `realtime/index.stx` | 1 | 1 | 0 | 1 | | |
384
+
385
+ ### `releases/`
386
+
387
+ | File | server | client | bare | DOM | store | components |
388
+ |---|---:|---:|---:|---:|:---:|:---:|
389
+ | `releases/index.stx` | 0 | 1 | 1 | 2 | | |
390
+
391
+ ### `requests/`
392
+
393
+ | File | server | client | bare | DOM | store | components |
394
+ |---|---:|---:|---:|---:|:---:|:---:|
395
+ | `requests/index.stx` | 1 | 1 | 0 | 4 | | |
396
+
397
+ ### `serverless/`
398
+
399
+ | File | server | client | bare | DOM | store | components |
400
+ |---|---:|---:|---:|---:|:---:|:---:|
401
+ | `serverless/index.stx` | 1 | 1 | 0 | 10 | | |
402
+
403
+ ### `servers/`
404
+
405
+ | File | server | client | bare | DOM | store | components |
406
+ |---|---:|---:|---:|---:|:---:|:---:|
407
+ | `servers/[id].stx` | 1 | 0 | 0 | 0 | | |
408
+ | `servers/index.stx` | 1 | 1 | 0 | 0 | | |
409
+
410
+ ### `settings/`
411
+
412
+ | File | server | client | bare | DOM | store | components |
413
+ |---|---:|---:|---:|---:|:---:|:---:|
414
+ | `settings/billing.stx` | 1 | 1 | 0 | 0 | | |
415
+ | `settings/mail.stx` | 0 | 0 | 1 | 0 | | |
416
+
417
+ ### `teams/`
418
+
419
+ | File | server | client | bare | DOM | store | components |
420
+ |---|---:|---:|---:|---:|:---:|:---:|
421
+ | `teams/[id].stx` | 1 | 0 | 0 | 0 | | |
422
+
423
+ ## Vanilla DOM offenders (per-line)
424
+
425
+ Each line below is a future composable target. Lines truncated to 100 chars.
426
+
427
+ ### `analytics/blog/index.stx`
428
+
429
+ ```
430
+ 650: const ctx = document.getElementById('trafficChart')
431
+ ```
432
+
433
+ ### `analytics/browsers/index.stx`
434
+
435
+ ```
436
+ 281: const distributionCtx = document.getElementById('browserDistributionChart')
437
+ 296: const trendCtx = document.getElementById('browserTrendChart')
438
+ ```
439
+
440
+ ### `analytics/commerce/sales/index.stx`
441
+
442
+ ```
443
+ 425: const ctx = document.getElementById('salesChart')
444
+ ```
445
+
446
+ ### `analytics/commerce/web/index.stx`
447
+
448
+ ```
449
+ 554: const ctx = document.getElementById('trafficChart')
450
+ ```
451
+
452
+ ### `analytics/countries/index.stx`
453
+
454
+ ```
455
+ 344: const ctx = document.getElementById('countryChart')
456
+ ```
457
+
458
+ ### `analytics/devices/index.stx`
459
+
460
+ ```
461
+ 330: const distributionCtx = document.getElementById('deviceDistributionChart')
462
+ 345: const trendCtx = document.getElementById('deviceTrendChart')
463
+ ```
464
+
465
+ ### `analytics/events/index.stx`
466
+
467
+ ```
468
+ 746: window.addEventListener('load', (event) => {
469
+ 747: document.getElementById('about-link').addEventListener('click', () => {
470
+ 766: window.addEventListener('load', (event) => {
471
+ 767: document.getElementById('contact-form').addEventListener('submit', () => {
472
+ 780: window.addEventListener('load', (event) => {
473
+ 793: window.addEventListener('load', () => {
474
+ 794: const path = window.location.pathname;
475
+ 1148: const ctx = document.getElementById('eventChart')
476
+ ```
477
+
478
+ ### `analytics/marketing/index.stx`
479
+
480
+ ```
481
+ 460: const ctx = document.getElementById('marketingChart')
482
+ ```
483
+
484
+ ### `analytics/pages/index.stx`
485
+
486
+ ```
487
+ 333: const trendCtx = document.getElementById('pageViewsTrendChart')
488
+ 352: const topPagesCtx = document.getElementById('topPagesChart')
489
+ ```
490
+
491
+ ### `analytics/referrers/index.stx`
492
+
493
+ ```
494
+ 368: const typeCtx = document.getElementById('referrerTypeChart')
495
+ 407: const trendCtx = document.getElementById('referrerTrendChart')
496
+ ```
497
+
498
+ ### `analytics/web/index.stx`
499
+
500
+ ```
501
+ 645: const ctx = document.getElementById('trafficChart')
502
+ ```
503
+
504
+ ### `commerce/coupons/index.stx`
505
+
506
+ ```
507
+ 532: const chart_1_ctx = document.getElementById('chart_1')
508
+ 541: const chart_2_ctx = document.getElementById('chart_2')
509
+ ```
510
+
511
+ ### `commerce/customers/index.stx`
512
+
513
+ ```
514
+ 101: window.location.href = `/dashboard/commerce/customers/${customer.id}`
515
+ 105: window.location.href = `/dashboard/commerce/customers/${customer.id}?edit=true`
516
+ ```
517
+
518
+ ### `commerce/dashboard/index.stx`
519
+
520
+ ```
521
+ 245: const revenueCtx = document.getElementById('revenueChart')
522
+ 254: const ordersCtx = document.getElementById('ordersChart')
523
+ ```
524
+
525
+ ### `commerce/gift-cards/index.stx`
526
+
527
+ ```
528
+ 627: const chart_1_ctx = document.getElementById('chart_1')
529
+ 636: const chart_2_ctx = document.getElementById('chart_2')
530
+ ```
531
+
532
+ ### `commerce/payments/index.stx`
533
+
534
+ ```
535
+ 693: const chart_1_ctx = document.getElementById('chart_1')
536
+ 702: const chart_2_ctx = document.getElementById('chart_2')
537
+ ```
538
+
539
+ ### `commerce/pos/index.stx`
540
+
541
+ ```
542
+ 430: const orderElement = document.getElementById('order-section')
543
+ ```
544
+
545
+ ### `commerce/printers/devices/index.stx`
546
+
547
+ ```
548
+ 291: const chart_1_ctx = document.getElementById('chart_1')
549
+ 300: const chart_2_ctx = document.getElementById('chart_2')
550
+ 309: const chart_3_ctx = document.getElementById('chart_3')
551
+ ```
552
+
553
+ ### `commerce/printers/receipts/index.stx`
554
+
555
+ ```
556
+ 311: const chart_1_ctx = document.getElementById('chart_1')
557
+ 320: const chart_2_ctx = document.getElementById('chart_2')
558
+ ```
559
+
560
+ ### `commerce/products/index.stx`
561
+
562
+ ```
563
+ 123: window.location.href = `/dashboard/commerce/products/${product.id}`
564
+ 127: window.location.href = `/dashboard/commerce/products/${product.id}?edit=true`
565
+ ```
566
+
567
+ ### `components/index.stx`
568
+
569
+ ```
570
+ 471: const chart_1_ctx = document.getElementById('chart_1')
571
+ ```
572
+
573
+ ### `content/authors/index.stx`
574
+
575
+ ```
576
+ 421: const link = document.createElement('a')
577
+ 424: document.body.appendChild(link)
578
+ 426: document.body.removeChild(link)
579
+ 441: const canvas = document.createElement('canvas')
580
+ 464: const link = document.createElement('a')
581
+ 467: document.body.appendChild(link)
582
+ 469: document.body.removeChild(link)
583
+ 1494: const chart_1_ctx = document.getElementById('chart_1')
584
+ ```
585
+
586
+ ### `content/categories/index.stx`
587
+
588
+ ```
589
+ 995: const chart_1_ctx = document.getElementById('chart_1')
590
+ 1004: const chart_2_ctx = document.getElementById('chart_2')
591
+ 1013: const chart_3_ctx = document.getElementById('chart_3')
592
+ ```
593
+
594
+ ### `content/comments/index.stx`
595
+
596
+ ```
597
+ 1173: const chart_1_ctx = document.getElementById('chart_1')
598
+ 1182: const chart_2_ctx = document.getElementById('chart_2')
599
+ 1191: const chart_3_ctx = document.getElementById('chart_3')
600
+ ```
601
+
602
+ ### `content/dashboard.stx`
603
+
604
+ ```
605
+ 421: const chart_1_ctx = document.getElementById('chart_1')
606
+ 430: const chart_2_ctx = document.getElementById('chart_2')
607
+ ```
608
+
609
+ ### `content/files/index.stx`
610
+
611
+ ```
612
+ 1166: const chart_1_ctx = document.getElementById('chart_1')
613
+ 1175: const chart_2_ctx = document.getElementById('chart_2')
614
+ ```
615
+
616
+ ### `content/pages/index.stx`
617
+
618
+ ```
619
+ 1364: const chart_pages_1_ctx = document.getElementById('chart_pages_1')
620
+ 1373: const chart_pages_2_ctx = document.getElementById('chart_pages_2')
621
+ 1382: const chart_pages_3_ctx = document.getElementById('chart_pages_3')
622
+ ```
623
+
624
+ ### `content/posts/index.stx`
625
+
626
+ ```
627
+ 284: const chart_1_ctx = document.getElementById('chart_1')
628
+ 293: const chart_2_ctx = document.getElementById('chart_2')
629
+ 302: const chart_3_ctx = document.getElementById('chart_3')
630
+ ```
631
+
632
+ ### `content/tags/index.stx`
633
+
634
+ ```
635
+ 1112: const chart_1_ctx = document.getElementById('chart_1')
636
+ 1121: const chart_2_ctx = document.getElementById('chart_2')
637
+ 1130: const chart_3_ctx = document.getElementById('chart_3')
638
+ ```
639
+
640
+ ### `data/activity/index.stx`
641
+
642
+ ```
643
+ 608: refreshInterval = window.setInterval(() => {
644
+ 1190: const chart_1_ctx = document.getElementById('chart_1')
645
+ ```
646
+
647
+ ### `data/dashboard/index.stx`
648
+
649
+ ```
650
+ 403: const link = document.createElement('a')
651
+ 406: document.body.appendChild(link)
652
+ 408: document.body.removeChild(link)
653
+ 417: const canvas = document.createElement('canvas')
654
+ 443: const link = document.createElement('a')
655
+ 446: document.body.appendChild(link)
656
+ 448: document.body.removeChild(link)
657
+ 1082: window.removeEventListener('resize', createDiagram)
658
+ 1279: window.addEventListener('resize', createDiagram)
659
+ ```
660
+
661
+ ### `data/subscribers.stx`
662
+
663
+ ```
664
+ 489: const chart_1_ctx = document.getElementById('chart_1')
665
+ ```
666
+
667
+ ### `data/teams.stx`
668
+
669
+ ```
670
+ 515: const chart_1_ctx = document.getElementById('chart_1')
671
+ ```
672
+
673
+ ### `data/users.stx`
674
+
675
+ ```
676
+ 528: const link = document.createElement('a')
677
+ 531: document.body.appendChild(link)
678
+ 533: document.body.removeChild(link)
679
+ 548: const canvas = document.createElement('canvas')
680
+ 571: const link = document.createElement('a')
681
+ 574: document.body.appendChild(link)
682
+ 576: document.body.removeChild(link)
683
+ 618: const chart_1_ctx = document.getElementById('chart_1')
684
+ ```
685
+
686
+ ### `dns/index.stx`
687
+
688
+ ```
689
+ 220: const chart_1_ctx = document.getElementById('chart_1')
690
+ ```
691
+
692
+ ### `environment/index.stx`
693
+
694
+ ```
695
+ 22: function isMac() { return (typeof window !== 'undefined' && window.navigator?.platform?.toLowerCase(
696
+ 211: window.removeEventListener('keydown', handleKeyboardShortcuts)
697
+ ```
698
+
699
+ ### `functions/index.stx`
700
+
701
+ ```
702
+ 476: const chart_1_ctx = document.getElementById('chart_1')
703
+ ```
704
+
705
+ ### `inbox/activity.stx`
706
+
707
+ ```
708
+ 574: const chart_1_ctx = document.getElementById('chart_1')
709
+ 583: const chart_2_ctx = document.getElementById('chart_2')
710
+ 592: const chart_3_ctx = document.getElementById('chart_3')
711
+ 601: const chart_4_ctx = document.getElementById('chart_4')
712
+ ```
713
+
714
+ ### `inbox/index.stx`
715
+
716
+ ```
717
+ 437: document.addEventListener('click', handleClickOutside)
718
+ 445: document.removeEventListener('click', handleClickOutside)
719
+ 451: document.removeEventListener('click', handleClickOutside)
720
+ ```
721
+
722
+ ### `insights/index.stx`
723
+
724
+ ```
725
+ 854: const cpuCtx = document.getElementById('cpuChart')
726
+ 863: const memoryCtx = document.getElementById('memoryChart')
727
+ 872: const storageCtx = document.getElementById('storageChart')
728
+ 881: document.querySelectorAll('.queue-chart').forEach((canvas) => {
729
+ ```
730
+
731
+ ### `jobs/index.stx`
732
+
733
+ ```
734
+ 375: const chart_1_ctx = document.getElementById('chart_1')
735
+ 384: const chart_2_ctx = document.getElementById('chart_2')
736
+ ```
737
+
738
+ ### `layouts/default.stx`
739
+
740
+ ```
741
+ 69: window.craft = window.craft || {}
742
+ 70: window.craft._sidebarSelectHandler = (event) => {
743
+ 81: // Craft sidebar takes over inside the macOS window. We pick which one
744
+ 85: // 2. `window.__craftNativeSidebar` — set by Craft's WKUserScript
745
+ 86: // 3. `window.craft.window` — Craft's JS bridge is bound (window mode)
746
+ 91: document.documentElement.setAttribute('data-has-stacks-sidebar', 'true')
747
+ 92: var hasFlag = Boolean(window.__craftNativeSidebar)
748
+ 93: var hasApi = Boolean(window.craft && window.craft.window)
749
+ 94: var hasParam = window.location.search.indexOf('native-sidebar=1') !== -1
750
+ 96: window.__craftNativeSidebar = true
751
+ 97: document.documentElement.setAttribute('data-craft-native-sidebar', 'true')
752
+ 102: if (!document.getElementById('stacks-sidebar-globals')) {
753
+ 103: var s = document.createElement('style')
754
+ 111: document.head.appendChild(s)
755
+ 119: var secs = document.querySelectorAll('.sidebar-section[data-section]')
756
+ ```
757
+
758
+ ### `logs/index.stx`
759
+
760
+ ```
761
+ 366: refreshInterval = window.setInterval(() => {
762
+ 960: const chart_1_ctx = document.getElementById('chart_1')
763
+ ```
764
+
765
+ ### `mailboxes/index.stx`
766
+
767
+ ```
768
+ 222: const chart_1_ctx = document.getElementById('chart_1')
769
+ ```
770
+
771
+ ### `management/permissions/index.stx`
772
+
773
+ ```
774
+ 574: const chart_1_ctx = document.getElementById('chart_1')
775
+ 583: const chart_2_ctx = document.getElementById('chart_2')
776
+ ```
777
+
778
+ ### `marketing/reviews/index.stx`
779
+
780
+ ```
781
+ 625: const width = document.getElementById('rating-chart')?.clientWidth || 300;
782
+ 626: const height = document.getElementById('rating-chart')?.clientHeight || 200;
783
+ 657: .style('fill', document.documentElement.classList.contains('dark') ? '#9ca3af' : '#6b7280')
784
+ 665: .style('fill', document.documentElement.classList.contains('dark') ? '#9ca3af' : '#6b7280');
785
+ 695: .style('fill', document.documentElement.classList.contains('dark') ? '#e5e7eb' : '#374151')
786
+ 710: const width = document.getElementById('sentiment-chart')?.clientWidth || 300;
787
+ 711: const height = document.getElementById('sentiment-chart')?.clientHeight || 200;
788
+ 742: .style('fill', document.documentElement.classList.contains('dark') ? '#9ca3af' : '#6b7280')
789
+ 750: .style('fill', document.documentElement.classList.contains('dark') ? '#9ca3af' : '#6b7280');
790
+ 780: .style('fill', document.documentElement.classList.contains('dark') ? '#e5e7eb' : '#374151')
791
+ 795: const width = document.getElementById('source-chart')?.clientWidth || 300;
792
+ 796: const height = document.getElementById('source-chart')?.clientHeight || 200;
793
+ 832: .attr('stroke', document.documentElement.classList.contains('dark') ? '#1f2937' : '#ffffff')
794
+ 845: .style('fill', document.documentElement.classList.contains('dark') ? '#e5e7eb' : '#374151')
795
+ 865: .style('fill', document.documentElement.classList.contains('dark') ? '#e5e7eb' : '#374151')
796
+ 1631: window.addEventListener('resize', () => {
797
+ 1644: observer.observe(document.documentElement, {
798
+ ```
799
+
800
+ ### `notifications/dashboard.stx`
801
+
802
+ ```
803
+ 498: const chart_1_ctx = document.getElementById('chart_1')
804
+ 507: const chart_2_ctx = document.getElementById('chart_2')
805
+ ```
806
+
807
+ ### `packages/index.stx`
808
+
809
+ ```
810
+ 837: const chart_1_ctx = document.getElementById('chart_1')
811
+ 846: const chart_2_ctx = document.getElementById('chart_2')
812
+ ```
813
+
814
+ ### `queries/index.stx`
815
+
816
+ ```
817
+ 564: const chart_1_ctx = document.getElementById('chart_1')
818
+ 573: const chart_2_ctx = document.getElementById('chart_2')
819
+ ```
820
+
821
+ ### `queue/index.stx`
822
+
823
+ ```
824
+ 587: const throughputCtx = document.getElementById('throughputChart')
825
+ 596: const waitTimeCtx = document.getElementById('waitTimeChart')
826
+ ```
827
+
828
+ ### `realtime/index.stx`
829
+
830
+ ```
831
+ 584: const chart_1_ctx = document.getElementById('chart_1')
832
+ ```
833
+
834
+ ### `releases/index.stx`
835
+
836
+ ```
837
+ 608: const chart_1_ctx = document.getElementById('chart_1')
838
+ 617: const chart_2_ctx = document.getElementById('chart_2')
839
+ ```
840
+
841
+ ### `requests/index.stx`
842
+
843
+ ```
844
+ 428: const chart_1_ctx = document.getElementById('chart_1')
845
+ 437: const chart_2_ctx = document.getElementById('chart_2')
846
+ 446: const chart_3_ctx = document.getElementById('chart_3')
847
+ 455: const chart_4_ctx = document.getElementById('chart_4')
848
+ ```
849
+
850
+ ### `serverless/index.stx`
851
+
852
+ ```
853
+ 490: const headerText = document.querySelector('.text-base.text-gray-900.dark\\:text-gray-100')
854
+ 496: const description = document.querySelector('.mt-2.text-sm.text-gray-700.dark\\:text-gray-400')
855
+ 542: const link = document.createElement('a')
856
+ 545: document.body.appendChild(link)
857
+ 547: document.body.removeChild(link)
858
+ 562: const canvas = document.createElement('canvas')
859
+ 585: const link = document.createElement('a')
860
+ 588: document.body.appendChild(link)
861
+ 590: document.body.removeChild(link)
862
+ 862: const svgRects = document.querySelectorAll('.node svg rect');
863
+ ```
864
+
865
+ ## Suggested migration batches
866
+
867
+ Each batch is one feature area. Anything > ~12 files is split into sub-batches.
868
+
869
+ - **_root** (4 files): `forgot-password.stx`, `index.stx`, `login.stx`, `register.stx`
870
+ - **analytics** (12 files): `analytics/blog/index.stx`, `analytics/browsers/index.stx`, `analytics/commerce/sales/index.stx`, `analytics/commerce/web/index.stx`, `analytics/countries/index.stx`, `analytics/devices/index.stx`, `analytics/events/index.stx`, `analytics/index.stx`, `analytics/marketing/index.stx`, `analytics/pages/index.stx`, `analytics/referrers/index.stx`, `analytics/web/index.stx`
871
+ - **cloud** (1 files): `cloud/index.stx`
872
+ - **commerce** [1/3] (9 files): `commerce/categories/index.stx`, `commerce/coupons/index.stx`, `commerce/customers/index.stx`, `commerce/dashboard/index.stx`, `commerce/delivery/delivery-routes.stx`, `commerce/delivery/digital-delivery.stx`, `commerce/delivery/drivers.stx`, `commerce/delivery/index.stx`, `commerce/delivery/license-keys.stx`
873
+ - **commerce** [2/3] (9 files): `commerce/delivery/shipping-methods.stx`, `commerce/delivery/shipping-rates.stx`, `commerce/delivery/shipping-zones.stx`, `commerce/gift-cards/index.stx`, `commerce/manufacturers/index.stx`, `commerce/orders/index.stx`, `commerce/payments/index.stx`, `commerce/pos/index.stx`, `commerce/printers/devices/index.stx`
874
+ - **commerce** [3/3] (7 files): `commerce/printers/receipts/index.stx`, `commerce/products/detail.stx`, `commerce/products/index.stx`, `commerce/reviews/index.stx`, `commerce/taxes/index.stx`, `commerce/waitlist/products.stx`, `commerce/waitlist/restaurant.stx`
875
+ - **components** (1 files): `components/index.stx`
876
+ - **content** (9 files): `content/authors/index.stx`, `content/categories/index.stx`, `content/comments/index.stx`, `content/dashboard.stx`, `content/files/index.stx`, `content/pages/index.stx`, `content/posts/index.stx`, `content/seo/index.stx`, `content/tags/index.stx`
877
+ - **data** (5 files): `data/activity/index.stx`, `data/dashboard/index.stx`, `data/subscribers.stx`, `data/teams.stx`, `data/users.stx`
878
+ - **deployments** (2 files): `deployments/[id].stx`, `deployments/index.stx`
879
+ - **dns** (1 files): `dns/index.stx`
880
+ - **environment** (1 files): `environment/index.stx`
881
+ - **errors** (1 files): `errors/index.stx`
882
+ - **functions** (1 files): `functions/index.stx`
883
+ - **health** (1 files): `health/index.stx`
884
+ - **inbox** (3 files): `inbox/activity.stx`, `inbox/index.stx`, `inbox/settings.stx`
885
+ - **insights** (1 files): `insights/index.stx`
886
+ - **jobs** (3 files): `jobs/[id].stx`, `jobs/history.stx`, `jobs/index.stx`
887
+ - **layouts** (1 files): `layouts/default.stx`
888
+ - **logs** (1 files): `logs/index.stx`
889
+ - **mailboxes** (1 files): `mailboxes/index.stx`
890
+ - **management** (1 files): `management/permissions/index.stx`
891
+ - **marketing** (4 files): `marketing/campaigns/index.stx`, `marketing/lists/index.stx`, `marketing/reviews/index.stx`, `marketing/social-posts/index.stx`
892
+ - **models** (2 files): `models/[model].stx`, `models/index.stx`
893
+ - **monitoring** (1 files): `monitoring/errors/index.stx`
894
+ - **notifications** (4 files): `notifications/dashboard.stx`, `notifications/email.stx`, `notifications/history.stx`, `notifications/sms.stx`
895
+ - **packages** (1 files): `packages/index.stx`
896
+ - **queries** (4 files): `queries/[id].stx`, `queries/history.stx`, `queries/index.stx`, `queries/slow.stx`
897
+ - **queue** (1 files): `queue/index.stx`
898
+ - **realtime** (1 files): `realtime/index.stx`
899
+ - **releases** (1 files): `releases/index.stx`
900
+ - **requests** (1 files): `requests/index.stx`
901
+ - **serverless** (1 files): `serverless/index.stx`
902
+ - **servers** (2 files): `servers/[id].stx`, `servers/index.stx`
903
+ - **settings** (1 files): `settings/billing.stx`
904
+ - **teams** (1 files): `teams/[id].stx`