@voltro/cli 0.52.0 → 0.53.0

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 (195) hide show
  1. package/CHANGELOG.md +229 -0
  2. package/THIRD-PARTY-NOTICES.md +8311 -3318
  3. package/dist/{apiBuild-CSFI8QGq.js → apiBuild-CaPfoWku.js} +11 -5
  4. package/dist/apiBuild-DHtLXYx9.js +2 -0
  5. package/dist/bin.js +1 -1
  6. package/dist/build-D-OnvNMf.js +843 -0
  7. package/dist/{checkCommand-COmqc2cB.js → checkCommand-C5elt0tW.js} +6 -6
  8. package/dist/{checkCommand-2SbqzukH.js → checkCommand-D2ZduVlh.js} +1 -1
  9. package/dist/codegen-BWpt3VgF.js +2 -0
  10. package/dist/{codegen-VF479Cnb.js → codegen-FEk8AZHb.js} +2 -2
  11. package/dist/{codegenCommand-DCdG2JN-.js → codegenCommand-BOiWQ5hz.js} +4 -4
  12. package/dist/{codemodRunner-r7J9lIa7.js → codemodRunner-BjtB2lq6.js} +109 -11
  13. package/dist/{commands-Cc_nV8WI.js → commands-DyxAmhP0.js} +30 -30
  14. package/dist/{dashboardCommand-C-gKvwqh.js → dashboardCommand-BdKTyT13.js} +5 -5
  15. package/dist/{dataCommand-BgpBHnlB.js → dataCommand-Bab9X7s8.js} +2 -2
  16. package/dist/{dbCommand-sHedr-NJ.js → dbCommand-06O2finM.js} +277 -236
  17. package/dist/dbCommand-B1EXBC6f.js +2 -0
  18. package/dist/{dev-CRHoCEiy.js → dev-C6LGF4iY.js} +3006 -2426
  19. package/dist/{dev--A3nsxA3.js → dev-GjJWAYo2.js} +1 -1
  20. package/dist/doctorCommand-B0hX0tdz.js +2 -0
  21. package/dist/{doctorCommand-DtfJ3FA6.js → doctorCommand-etMkflRc.js} +101 -69
  22. package/dist/{dormancyCommand-Drn7o0No.js → dormancyCommand-UwZ1AZzB.js} +1 -1
  23. package/dist/{embeddingsCommand-Z-jO1fWN.js → embeddingsCommand-C70zWHwo.js} +1 -1
  24. package/dist/{envCommand-D4gCrrTZ.js → envCommand-dSyKvRkM.js} +18 -18
  25. package/dist/{evolveCommand-CMROeKeA.js → evolveCommand-CG0_ebO5.js} +2 -2
  26. package/dist/fileConventions-DASGEmj-.js +35 -0
  27. package/dist/{fileTaxonomy-DvDUV9wq.js → fileTaxonomy-B7uxipWS.js} +55 -55
  28. package/dist/fontPipeline-LxIHa1vo.js +2 -0
  29. package/dist/fontPipeline-Tsh8kZfA.js +152 -0
  30. package/dist/frameworkTableAssembly-C_7Z-rMs.js +2 -0
  31. package/dist/{frameworkTableAssembly-w-XnLa3q.js → frameworkTableAssembly-DKx3ba3S.js} +5 -5
  32. package/dist/imagePipeline-B_GVJgm6.js +2 -0
  33. package/dist/imagePipeline-CBZmjT4i.js +127 -0
  34. package/dist/index.js +1 -1
  35. package/dist/{infoCommand-DXM868o_.js → infoCommand-_53iOc_j.js} +1 -1
  36. package/dist/{inspect-CtL_xTbu.js → inspect-Bd8-9wsi.js} +1 -1
  37. package/dist/inspect-CuoDInfZ.js +2 -0
  38. package/dist/{inspectGateHint-BjnFubmH.js → inspectGateHint-4LxkNtrz.js} +1 -1
  39. package/dist/manifestBuild-C4-J1-m_.js +2 -0
  40. package/dist/{manifestBuild-CuU1VrSm.js → manifestBuild-Cqgsx2bM.js} +1 -1
  41. package/dist/{metaCommands-C6RFmF1r.js → metaCommands-Cn2oboG4.js} +8 -2
  42. package/dist/{migrate-D0F-eTlK.js → migrate-Cko9rswM.js} +2 -2
  43. package/dist/{pageConvention-CzUiSbtU.js → pageConvention-C938S8oC.js} +1 -1
  44. package/dist/{privacyCommand-DGdopOI6.js → privacyCommand-DWTQMC6R.js} +2 -2
  45. package/dist/{probeCommand-C9gazU0H.js → probeCommand-DkGGLknv.js} +83 -24
  46. package/dist/{renderModeScan-CcH2X1_D.js → renderModeScan-CUbOeOAg.js} +3 -1
  47. package/dist/{renderProfile-Ck32Fzxr.js → renderProfile-CskIgAfn.js} +2 -2
  48. package/dist/{runtimeTrace-BPQyCmC5.js → runtimeTrace-c0APJz7E.js} +1 -1
  49. package/dist/{sdkgen-Se88ifTd.js → sdkgen-BiQCgIEr.js} +1 -1
  50. package/dist/{serveCommand-DkP3OT0W.js → serveCommand-CueKQgzl.js} +869 -805
  51. package/dist/serveCommand-DsnrVN3U.js +2 -0
  52. package/dist/serveEntry.js +1 -1
  53. package/dist/start-BJzZLbt8.js +3 -0
  54. package/dist/start-ekPan8BT.js +1510 -0
  55. package/dist/startEntry.js +1 -1
  56. package/dist/{staticCommand-BwNEDlSU.js → staticCommand-xlSL-IWk.js} +1 -1
  57. package/dist/{test-f3amja6a.js → test-BWPQcRoB.js} +1 -1
  58. package/dist/updateCommand-Bqql_rsQ.js +2 -0
  59. package/dist/{updateCommand-BMk2e4ky.js → updateCommand-C_8I8Rzo.js} +139 -115
  60. package/dist/webDev-C7jWJ5dX.js +2 -0
  61. package/dist/{webDev-BgWL9gKV.js → webDev-oczpugbx.js} +1455 -922
  62. package/dist/{webhooksCommand-CoIO3jbj.js → webhooksCommand-4SVPDjKg.js} +1 -1
  63. package/package.json +60 -19
  64. package/templates/AGENTS.md +5 -3
  65. package/templates/agent-docs/_index.md +5 -3
  66. package/templates/agent-docs/_manifest.json +20 -4
  67. package/templates/agent-docs/ai.md +2 -2
  68. package/templates/agent-docs/authentication.md +1 -1
  69. package/templates/agent-docs/cli.md +2 -2
  70. package/templates/agent-docs/configuration.md +17 -0
  71. package/templates/agent-docs/data.md +470 -26
  72. package/templates/agent-docs/database/advancedqueries.md +7 -7
  73. package/templates/agent-docs/database/columntypes.md +2 -2
  74. package/templates/agent-docs/database/querying.md +1 -1
  75. package/templates/agent-docs/database/schema.md +1 -1
  76. package/templates/agent-docs/database/seedsdialects.md +1 -1
  77. package/templates/agent-docs/database/transactions.md +3 -3
  78. package/templates/agent-docs/deployment.md +8 -0
  79. package/templates/agent-docs/internationalization.md +2 -2
  80. package/templates/agent-docs/introduction.md +7 -1
  81. package/templates/agent-docs/local-first-mobile.md +102 -4
  82. package/templates/agent-docs/observability.md +2 -0
  83. package/templates/agent-docs/plugins/auth.md +1 -1
  84. package/templates/agent-docs/plugins/comments.md +142 -0
  85. package/templates/agent-docs/plugins/notifications.md +47 -4
  86. package/templates/agent-docs/plugins/presence.md +16 -3
  87. package/templates/agent-docs/plugins/prometheus.md +1 -1
  88. package/templates/agent-docs/plugins/queue.md +129 -0
  89. package/templates/agent-docs/plugins.md +11 -7
  90. package/templates/agent-docs/reference.md +16 -4
  91. package/templates/agent-docs/routing.md +527 -3
  92. package/templates/agent-docs/schema-driven-ui.md +214 -3
  93. package/templates/agent-docs/security.md +3 -3
  94. package/templates/agent-docs/whats-new.md +160 -66
  95. package/templates/apps/api-ai/package.json +6 -6
  96. package/templates/apps/api-auth/package.json +8 -8
  97. package/templates/apps/api-backend/package.json +7 -7
  98. package/templates/apps/api-backend-deactivation/package.json +7 -7
  99. package/templates/apps/api-backend-mail/package.json +8 -8
  100. package/templates/apps/api-backend-mariadb/package.json +9 -9
  101. package/templates/apps/api-backend-sqlite/package.json +8 -8
  102. package/templates/apps/api-backend-storage/package.json +8 -8
  103. package/templates/apps/api-cms/package.json +9 -9
  104. package/templates/apps/api-collab/package.json +8 -8
  105. package/templates/apps/api-data-advanced/package.json +8 -8
  106. package/templates/apps/api-durable/package.json +8 -8
  107. package/templates/apps/api-feature-flags/package.json +9 -9
  108. package/templates/apps/api-governance/package.json +8 -8
  109. package/templates/apps/api-kv/package.json +8 -8
  110. package/templates/apps/api-moderation/package.json +8 -8
  111. package/templates/apps/api-observability/package.json +8 -8
  112. package/templates/apps/api-ratelimit/package.json +8 -8
  113. package/templates/apps/api-rbac/package.json +8 -8
  114. package/templates/apps/api-rest/package.json +7 -7
  115. package/templates/apps/api-row-history/package.json +8 -8
  116. package/templates/apps/api-saas/package.json +10 -10
  117. package/templates/apps/api-saas-starter/package.json +10 -10
  118. package/templates/apps/api-search/package.json +8 -8
  119. package/templates/apps/api-status/package.json +8 -8
  120. package/templates/apps/api-webhooks/package.json +9 -9
  121. package/templates/apps/changelog/app.config.ts +26 -2
  122. package/templates/apps/changelog/content/releases/{0.1.0.mdx → v0-1-0.mdx} +0 -1
  123. package/templates/apps/changelog/content/releases/{0.2.0.mdx → v0-2-0.mdx} +0 -1
  124. package/templates/apps/changelog/package.json +8 -8
  125. package/templates/apps/changelog/src/collections/releases.collection.ts +48 -0
  126. package/templates/apps/changelog/src/globals.d.ts +1 -1
  127. package/templates/apps/changelog/src/locales/de.ts +1 -1
  128. package/templates/apps/changelog/src/locales/en.ts +1 -1
  129. package/templates/apps/changelog/src/pages/[locale]/[slug]/page.tsx +7 -4
  130. package/templates/apps/changelog/src/pages/[locale]/mirrors.test.tsx +13 -41
  131. package/templates/apps/changelog/src/pages/[slug]/page.test.tsx +26 -51
  132. package/templates/apps/changelog/src/pages/[slug]/page.tsx +21 -19
  133. package/templates/apps/changelog/src/pages/page.test.tsx +14 -37
  134. package/templates/apps/changelog/src/pages/page.tsx +18 -12
  135. package/templates/apps/edge-functions/package.json +2 -2
  136. package/templates/apps/frontend-admin/package.json +8 -8
  137. package/templates/apps/frontend-app/package.json +9 -9
  138. package/templates/apps/frontend-auth/package.json +8 -8
  139. package/templates/apps/frontend-blank/package.json +7 -7
  140. package/templates/apps/frontend-cms/package.json +9 -9
  141. package/templates/apps/frontend-collab/package.json +10 -10
  142. package/templates/apps/frontend-contact/package.json +7 -7
  143. package/templates/apps/frontend-dashboard/package.json +7 -7
  144. package/templates/apps/frontend-docs/content/docs/de/guides/first-page.md +4 -0
  145. package/templates/apps/frontend-docs/content/docs/de/intro/getting-started.md +4 -0
  146. package/templates/apps/frontend-docs/content/docs/en/guides/first-page.md +4 -0
  147. package/templates/apps/frontend-docs/content/docs/en/intro/getting-started.md +4 -0
  148. package/templates/apps/frontend-docs/package.json +8 -6
  149. package/templates/apps/frontend-docs/src/collections/docs.collection.ts +21 -0
  150. package/templates/apps/frontend-docs/src/locales/de.ts +0 -5
  151. package/templates/apps/frontend-docs/src/locales/en.ts +0 -5
  152. package/templates/apps/frontend-docs/src/pages/[locale]/docs/[...slug]/page.tsx +17 -9
  153. package/templates/apps/frontend-docs/src/pages/[locale]/mirrors.test.tsx +10 -5
  154. package/templates/apps/frontend-docs/src/pages/[locale]/page.tsx +8 -0
  155. package/templates/apps/frontend-docs/src/pages/docs/[...slug]/page.test.tsx +53 -15
  156. package/templates/apps/frontend-docs/src/pages/docs/[...slug]/page.tsx +27 -33
  157. package/templates/apps/frontend-docs/src/pages/page.test.tsx +17 -3
  158. package/templates/apps/frontend-docs/src/pages/page.tsx +16 -12
  159. package/templates/apps/frontend-i18n/package.json +6 -6
  160. package/templates/apps/frontend-landing/package.json +6 -6
  161. package/templates/apps/frontend-portal/package.json +8 -8
  162. package/templates/apps/frontend-saas/package.json +8 -8
  163. package/templates/apps/frontend-spa/package.json +7 -7
  164. package/templates/apps/frontend-ssr/package.json +7 -7
  165. package/templates/apps/frontend-ssr-api/package.json +8 -8
  166. package/templates/apps/frontend-static-blog/content/posts/cms-to-ssg.md +12 -0
  167. package/templates/apps/frontend-static-blog/content/posts/hello-static.md +12 -0
  168. package/templates/apps/frontend-static-blog/content/posts/islands-not-hydration.md +14 -0
  169. package/templates/apps/frontend-static-blog/package.json +8 -6
  170. package/templates/apps/frontend-static-blog/src/collections/posts.collection.ts +27 -0
  171. package/templates/apps/frontend-static-blog/src/pages/[locale]/blog/[slug]/page.tsx +7 -4
  172. package/templates/apps/frontend-static-blog/src/pages/[locale]/mirrors.test.tsx +7 -1
  173. package/templates/apps/frontend-static-blog/src/pages/blog/[slug]/page.test.tsx +19 -9
  174. package/templates/apps/frontend-static-blog/src/pages/blog/[slug]/page.tsx +19 -21
  175. package/templates/apps/frontend-static-blog/src/pages/page.test.tsx +18 -5
  176. package/templates/apps/frontend-static-blog/src/pages/page.tsx +21 -14
  177. package/templates/apps/frontend-status/package.json +8 -8
  178. package/templates/apps/mobile-app/package.json +4 -4
  179. package/dist/apiBuild-BYBpL7Pz.js +0 -2
  180. package/dist/build-CPgcMQug.js +0 -793
  181. package/dist/codegen-CctkDO-1.js +0 -2
  182. package/dist/dbCommand-DNb6yeOG.js +0 -2
  183. package/dist/doctorCommand-CqoWA2p5.js +0 -2
  184. package/dist/fileConventions-DOqD3lPS.js +0 -34
  185. package/dist/frameworkTableAssembly-C6ETawPR.js +0 -2
  186. package/dist/inspect-CuGDYES0.js +0 -2
  187. package/dist/manifestBuild-CPjhvM62.js +0 -2
  188. package/dist/serveCommand-DLc-BznW.js +0 -2
  189. package/dist/start-DfL3fOiN.js +0 -3
  190. package/dist/start-jw89Xbqy.js +0 -1339
  191. package/dist/updateCommand-5gFVfK5q.js +0 -2
  192. package/dist/webDev-CZbTsDcH.js +0 -2
  193. package/templates/apps/changelog/scripts/generate-rss.mjs +0 -38
  194. package/templates/apps/changelog/src/lib/releases.ts +0 -21
  195. package/templates/apps/frontend-static-blog/src/content/posts.ts +0 -64
@@ -1,10 +1,10 @@
1
1
  import { t as e } from "./cliArgs-D4p8n7EE.js";
2
- import { a as t, l as n } from "./codegen-VF479Cnb.js";
2
+ import { a as t, l as n } from "./codegen-FEk8AZHb.js";
3
3
  import { r } from "./appGraph-yRuKjOba.js";
4
4
  import { n as i } from "./cliOutput-D1tSBoRM.js";
5
5
  import { n as a, o, r as s, t as c } from "./inspectFetch-EMuhTG_9.js";
6
- import { r as l } from "./fileTaxonomy-DvDUV9wq.js";
7
- import { S as u } from "./doctorCommand-DtfJ3FA6.js";
6
+ import { r as l } from "./fileTaxonomy-B7uxipWS.js";
7
+ import { S as u } from "./doctorCommand-etMkflRc.js";
8
8
  import { resolve as d } from "node:path";
9
9
  import { readdirSync as f, statSync as p } from "node:fs";
10
10
  import { isReactivityChannelKey as m } from "@voltro/protocol";
@@ -170,9 +170,9 @@ var h = (e) => (e === void 0 ? [] : typeof e == "string" ? [e] : e).filter((e) =
170
170
  let t = e.severity === "error" ? "✗ error" : "⚠ warn", n = e.file ? ` (${e.file})` : "";
171
171
  return `${t} ${e.rule} ${e.node}${n}\n ${e.breaks.join("; ")}\n fix: ${e.fix}`;
172
172
  }).join("\n"), O = async (e) => {
173
- let { walk: t, loadDiscovered: n, loadApiConfig: r } = await import("./dev--A3nsxA3.js"), { buildRpcEntry: i } = await import("./manifestBuild-CPjhvM62.js"), { buildCapabilityManifest: a } = await import("./inspect-CuGDYES0.js"), { relative: o } = await import("node:path"), s = await n(await t(e)), c = await r(e).then((e) => e?.plugins ?? []).catch(() => []);
173
+ let { walk: t, loadDiscovered: n, loadApiConfig: r } = await import("./dev-GjJWAYo2.js"), { buildRpcEntry: i } = await import("./manifestBuild-C4-J1-m_.js"), { buildCapabilityManifest: a } = await import("./inspect-CuoDInfZ.js"), { relative: o } = await import("node:path"), s = await n(await t(e)), c = await r(e).then((e) => e?.plugins ?? []).catch(() => []);
174
174
  try {
175
- let { mergePluginRoutesInto: e } = await import("./dev--A3nsxA3.js");
175
+ let { mergePluginRoutesInto: e } = await import("./dev-GjJWAYo2.js");
176
176
  e({
177
177
  plugins: c,
178
178
  queries: s.queries,
@@ -189,7 +189,7 @@ var h = (e) => (e === void 0 ? [] : typeof e == "string" ? [e] : e).filter((e) =
189
189
  ...s.mutations.map((e) => l(e.descriptor, "mutation", e.file)),
190
190
  ...s.actions.map((e) => l(e.descriptor, "action", e.file)),
191
191
  ...s.streams.map((e) => l(e.descriptor, "stream", e.file))
192
- ], { assembleFrameworkTables: d } = await import("./frameworkTableAssembly-C6ETawPR.js"), f = await d({ root: e }).catch((e) => (console.warn(`\n⚠ plugin tables could not be collected — this report is INCOMPLETE.\n ${e instanceof Error ? e.message.split("\n")[0] : String(e)}\n`), [])), p = new Set(s.tables.map((e) => e.tableName)), m = [...[...p].map((e) => ({ name: e })), ...f.map((e) => e.tableName).filter((e) => !p.has(e)).map((e) => ({
192
+ ], { assembleFrameworkTables: d } = await import("./frameworkTableAssembly-C_7Z-rMs.js"), f = await d({ root: e }).catch((e) => (console.warn(`\n⚠ plugin tables could not be collected — this report is INCOMPLETE.\n ${e instanceof Error ? e.message.split("\n")[0] : String(e)}\n`), [])), p = new Set(s.tables.map((e) => e.tableName)), m = [...[...p].map((e) => ({ name: e })), ...f.map((e) => e.tableName).filter((e) => !p.has(e)).map((e) => ({
193
193
  name: e,
194
194
  framework: !0
195
195
  }))], h = c;
@@ -1,2 +1,2 @@
1
- import { a as e, i as t, o as n } from "./checkCommand-COmqc2cB.js";
1
+ import { a as e, i as t, o as n } from "./checkCommand-C5elt0tW.js";
2
2
  export { t as offlineManifest, e as runCheckCommand, n as toInput };
@@ -0,0 +1,2 @@
1
+ import { t as e } from "./codegen-FEk8AZHb.js";
2
+ export { e as checkRpcGroupFreshness };
@@ -1,4 +1,4 @@
1
- import { b as e, o as t, y as n } from "./fileConventions-DOqD3lPS.js";
1
+ import { b as e, s as t, x as n } from "./fileConventions-DASGEmj-.js";
2
2
  import { dirname as r, join as i, relative as a, resolve as o } from "node:path";
3
3
  import { promises as s, readFileSync as c } from "node:fs";
4
4
  import { pathToFileURL as l } from "node:url";
@@ -162,7 +162,7 @@ var h = /* @__PURE__ */ new Set(/* @__PURE__ */ "crypto.fs.path.os.net.http.http
162
162
  await a(o);
163
163
  continue;
164
164
  }
165
- s.isFile() && (e.test(s.name) || n.test(s.name)) && r.push(o);
165
+ s.isFile() && (n.test(s.name) || e.test(s.name)) && r.push(o);
166
166
  }
167
167
  };
168
168
  return await a(t), r;
@@ -1,7 +1,7 @@
1
- import { Cn as e, Sn as t, V as n, l as r, u as i } from "./dev-CRHoCEiy.js";
2
- import { Ct as a } from "./webDev-BgWL9gKV.js";
3
- import { n as o } from "./frameworkTableAssembly-w-XnLa3q.js";
4
- import { i as s, r as c } from "./codegen-VF479Cnb.js";
1
+ import { En as e, Tn as t, V as n, l as r, u as i } from "./dev-C6LGF4iY.js";
2
+ import { Bt as a } from "./webDev-oczpugbx.js";
3
+ import { n as o } from "./frameworkTableAssembly-DKx3ba3S.js";
4
+ import { i as s, r as c } from "./codegen-FEk8AZHb.js";
5
5
  import { basename as l, join as u, relative as d, resolve as f } from "node:path";
6
6
  import { promises as p } from "node:fs";
7
7
  import { pathToFileURL as m } from "node:url";
@@ -1,7 +1,7 @@
1
- import { E as e, O as t, P as n, T as r, d as i, f as a, h as o, i as s, l as c, r as l, u } from "./fileConventions-DOqD3lPS.js";
2
- import { t as d } from "./pageConvention-CzUiSbtU.js";
1
+ import { D as e, E as t, F as n, d as r, f as i, g as a, i as o, k as s, p as c, r as l, u } from "./fileConventions-DASGEmj-.js";
2
+ import { t as d } from "./pageConvention-C938S8oC.js";
3
3
  import { r as f } from "./tsconfigPaths-BWXBWgcl.js";
4
- import { a as p, i as m, t as h } from "./fileTaxonomy-DvDUV9wq.js";
4
+ import { a as p, i as m, t as h } from "./fileTaxonomy-B7uxipWS.js";
5
5
  import { basename as g, dirname as _, join as v, relative as ee } from "node:path";
6
6
  import { existsSync as y, readFileSync as te, statSync as ne } from "node:fs";
7
7
  import { execFileSync as re } from "node:child_process";
@@ -1503,7 +1503,7 @@ var S = (e, t, n) => {
1503
1503
  }, dt = /\.page\.tsx$/, F = (e) => {
1504
1504
  let t = e.includes("\\src\\pages\\") ? "\\src\\pages\\" : "/src/pages/", n = e.indexOf(t);
1505
1505
  return n === -1 ? null : e.slice(0, n);
1506
- }, ft = (e) => e.endsWith(".tsx") && !o.has(e) && !d(e) && !/\.island\.tsx$/.test(e) && !dt.test(e), pt = w({
1506
+ }, ft = (e) => e.endsWith(".tsx") && !a.has(e) && !d(e) && !/\.island\.tsx$/.test(e) && !dt.test(e), pt = w({
1507
1507
  version: "0.14.0",
1508
1508
  id: "0.14.0/03_pages-suffix",
1509
1509
  title: "Pages are declared with a .page.tsx suffix",
@@ -1553,18 +1553,18 @@ var S = (e, t, n) => {
1553
1553
  }
1554
1554
  }), mt = [
1555
1555
  /\.page\.tsx$/,
1556
- a,
1557
- s,
1556
+ c,
1557
+ o,
1558
1558
  l,
1559
- u,
1560
- t,
1559
+ r,
1560
+ s,
1561
1561
  i,
1562
- c,
1562
+ u,
1563
1563
  e,
1564
- r
1564
+ t
1565
1565
  ], ht = (e) => {
1566
1566
  let t = g(e);
1567
- return !/\.tsx?$/.test(t) || o.has(t) || n(t) || t === "index.ts" || t === "index.tsx" || t === "app.config.ts" ? !1 : !mt.some((e) => e.test(t));
1567
+ return !/\.tsx?$/.test(t) || a.has(t) || n(t) || t === "index.ts" || t === "index.tsx" || t === "app.config.ts" ? !1 : !mt.some((e) => e.test(t));
1568
1568
  }, gt = (e) => {
1569
1569
  let t = [], n = [], r = [], i = [];
1570
1570
  for (let [a, o] of e.getExportedDeclarations()) {
@@ -6032,6 +6032,104 @@ var S = (e, t, n) => {
6032
6032
  " (that is what plugin-ratelimit's httpShield does now — a Redis outage",
6033
6033
  " must not become a self-inflicted API outage)."
6034
6034
  ].join("\n")
6035
+ }),
6036
+ w({
6037
+ version: "0.53.0",
6038
+ id: "0.53.0/01_conflict-columns-take-the-table",
6039
+ title: "`missingConflictColumns` takes the table and classifies absent vs NULL",
6040
+ kind: "manual",
6041
+ appliesTo: ({ project: e }) => e.getSourceFiles().some((e) => e.getFullText().includes("missingConflictColumns")),
6042
+ note: [
6043
+ "`missingConflictColumns(conflictColumns, row)` is now",
6044
+ "`missingConflictColumns(table, conflictColumns, row)`, and it returns",
6045
+ "`{ column, reason: \"absent\" | \"null\" }` entries instead of bare names.",
6046
+ "",
6047
+ "Pass the table definition (the same value `missingRequiredColumns` takes).",
6048
+ "With it, DB-generated columns (`generatedAs`) are skipped: the database",
6049
+ "computes those and rejects an explicit value, so their absence from a",
6050
+ "payload is correct — the old signature could not know that and flagged",
6051
+ "them. Pass `undefined` only when no definition is available; nothing is",
6052
+ "skipped then.",
6053
+ "",
6054
+ "The `reason` field separates two different bugs the old flat list merged:",
6055
+ "`absent` (the payload never set the key) and `null` (the key is present but",
6056
+ "NULL — and NULL never matches a unique conflict target, so the write would",
6057
+ "always INSERT; use a plain insert for NULL-keyed rows, or make the column",
6058
+ "NOT NULL)."
6059
+ ].join("\n")
6060
+ }),
6061
+ w({
6062
+ version: "0.53.0",
6063
+ id: "0.53.0/02_empty-struct-input-flipped",
6064
+ title: "`input: Schema.Struct({})` procedures flipped from accept-everything to reject-everything in 0.37.0",
6065
+ kind: "manual",
6066
+ appliesTo: ({ project: e }) => e.getSourceFiles().some((e) => /input:\s*Schema\.Struct\(\{\s*\}\)/.test(e.getFullText())),
6067
+ note: [
6068
+ "This repository declares procedures with `input: Schema.Struct({})`. Since",
6069
+ "0.37.0 (an undeclared input field rejects the call), that shape flipped",
6070
+ "HARDER than any other: an empty struct used to accept every payload, and",
6071
+ "now rejects every non-empty one. A caller that always sent a field —",
6072
+ "a table hook sending `{ limit }`, say — fails on the live subscription and",
6073
+ "the SSR seed of the same page at once.",
6074
+ "",
6075
+ "Check those procedures first — the list takes a minute to produce and",
6076
+ "yields the most expensive hits:",
6077
+ "",
6078
+ " grep -rn 'input: Schema.Struct({})' <api root>",
6079
+ "",
6080
+ "For each: either the callers genuinely send nothing (fine — the empty",
6081
+ "struct is the strongest declaration a procedure can make), or a caller",
6082
+ "sends fields the schema must now declare."
6083
+ ].join("\n")
6084
+ }),
6085
+ w({
6086
+ version: "0.53.0",
6087
+ id: "0.53.0/03_validation-messages-are-ids",
6088
+ title: "Form validation messages are ids + catalog now, not effect developer text",
6089
+ kind: "manual",
6090
+ appliesTo: ({ project: e }) => e.getSourceFiles().some((e) => {
6091
+ let t = e.getFullText();
6092
+ return /Expected .*, actual|is missing/.test(t) || /\.errors\[|useFormBinding\(/.test(t);
6093
+ }),
6094
+ note: [
6095
+ "Form validation messages changed shape:",
6096
+ "",
6097
+ "- `errors[field]` values are TRANSLATED texts from a message catalog",
6098
+ " (built-in en/de, locale from `<html lang>` or the `locale:` option),",
6099
+ " no longer effect developer sentences. If you laid regexes over",
6100
+ " \"Expected string, actual undefined\" to derive translation keys,",
6101
+ " delete them and wire your catalog instead:",
6102
+ "",
6103
+ " useFormBinding('users.create', { messages: (id, params) => t(id, params) })",
6104
+ "",
6105
+ "- `errors` keys are the FULL dotted path now (`address.city`,",
6106
+ " `entries.0.startsAt`) — a nested issue no longer collapses to its",
6107
+ " top-level segment. Code reading `errors.address` for a nested struct",
6108
+ " must read the leaf path it renders.",
6109
+ "",
6110
+ "- `validateFields` also returns `issues` — `{ path, id, params, fallback }`",
6111
+ " per failure — for widget kits that resolve messages themselves."
6112
+ ].join("\n")
6113
+ }),
6114
+ w({
6115
+ version: "0.53.0",
6116
+ id: "0.53.0/04_widget-kind-gained-array",
6117
+ title: "WidgetKind gained 'array' and 'reference' — total widget registries need two new entries",
6118
+ kind: "manual",
6119
+ appliesTo: ({ project: e }) => e.getSourceFiles().some((e) => /Record<WidgetKind/.test(e.getFullText())),
6120
+ note: [
6121
+ "This repository types a widget registry as `Record<WidgetKind, …>`.",
6122
+ "`WidgetKind` gained `'array'` (arrays of structs are field arrays now)",
6123
+ "and `'reference'` (a formField({ reference }) table picker), so the total",
6124
+ "map needs two new entries. With no dedicated UI yet, map both to your",
6125
+ "custom/render-prop widget — that is what the built-in registry does:",
6126
+ "",
6127
+ " array: CustomWidget,",
6128
+ " reference: CustomWidget,",
6129
+ "",
6130
+ "Partial registries (`Partial<Record<WidgetKind, …>>` or per-kind lookups)",
6131
+ "need nothing."
6132
+ ].join("\n")
6035
6133
  })
6036
6134
  ], J = /* @__PURE__ */ new Set([
6037
6135
  "node_modules",
@@ -80,7 +80,7 @@ var l = () => {
80
80
  name: "init",
81
81
  summary: "Initialise the current directory as a Voltro workspace root (pnpm-workspace.yaml, root scripts, .gitignore, git init). Idempotent; takes no arguments.",
82
82
  status: "wired",
83
- run: (e) => import("./metaCommands-C6RFmF1r.js").then((t) => t.runInit(e)),
83
+ run: (e) => import("./metaCommands-Cn2oboG4.js").then((t) => t.runInit(e)),
84
84
  help: {
85
85
  usage: "",
86
86
  examples: [["voltro init", "make the current directory a workspace root, then `voltro create-project <name>`"]],
@@ -91,7 +91,7 @@ var l = () => {
91
91
  name: "dev",
92
92
  summary: "Start the local development server (auto-discovers routes / mutations).",
93
93
  status: "wired",
94
- run: (e) => import("./dev--A3nsxA3.js").then((t) => t.runDev(e)),
94
+ run: (e) => import("./dev-GjJWAYo2.js").then((t) => t.runDev(e)),
95
95
  help: {
96
96
  usage: "[app]",
97
97
  examples: [["voltro dev", "boot the app in the current directory"], ["voltro dev apps/acme/api", "boot a specific app"]],
@@ -109,7 +109,7 @@ var l = () => {
109
109
  name: "dashboard",
110
110
  summary: "Serve the DevTools dashboard standalone (from @voltro/dashboard). Targets via VOLTRO_DASHBOARD_APPS; --port to override.",
111
111
  status: "wired",
112
- run: (e) => import("./dashboardCommand-C-gKvwqh.js").then((t) => t.runDashboardCommand(e)),
112
+ run: (e) => import("./dashboardCommand-BdKTyT13.js").then((t) => t.runDashboardCommand(e)),
113
113
  help: {
114
114
  usage: "[--port <n>]",
115
115
  flags: [["--port <n>", "port to serve the dashboard on"]],
@@ -121,7 +121,7 @@ var l = () => {
121
121
  name: "check",
122
122
  summary: "Verify the app graph (blast-radius checks) against a running api; LLM-shaped --json diagnostics. Flags: --json, --process <p>, --diff removeTable:<name>.",
123
123
  status: "wired",
124
- run: (e) => import("./checkCommand-2SbqzukH.js").then((t) => t.runCheckCommand(e)),
124
+ run: (e) => import("./checkCommand-D2ZduVlh.js").then((t) => t.runCheckCommand(e)),
125
125
  help: {
126
126
  usage: "[--json] [--offline] [--process <name>] [--diff removeTable:<name>]",
127
127
  flags: [
@@ -155,7 +155,7 @@ var l = () => {
155
155
  name: "webhooks",
156
156
  summary: "Outbound-webhook artefacts. `consumer` generates the ZERO-DEPENDENCY Standard-Webhooks verification package a subscriber installs, from this app's own declared events; `events` lists the events a subscriber can register for. Usage: voltro webhooks <consumer|events> [path] [--out <dir>] [--name <pkg>] [--json].",
157
157
  status: "wired",
158
- run: (e) => import("./webhooksCommand-CoIO3jbj.js").then((t) => t.runWebhooksCommand(e)),
158
+ run: (e) => import("./webhooksCommand-4SVPDjKg.js").then((t) => t.runWebhooksCommand(e)),
159
159
  help: {
160
160
  usage: "<consumer|events> [path] [--out <dir>] [--name <pkg>] [--json]",
161
161
  flags: [
@@ -171,7 +171,7 @@ var l = () => {
171
171
  name: "evolve",
172
172
  summary: "Schema-evolution copilot: propose an observed-graph-driven codemod + a branch-verified backfill for a schema change (rename/retype/split/drop a column, rename a table). Dry-run by default; --write applies. Usage: voltro evolve rename-column <table>.<col> --to <newName> [--write] [--json].",
173
173
  status: "wired",
174
- run: (e) => import("./evolveCommand-CMROeKeA.js").then((t) => t.runEvolveCommand(e)),
174
+ run: (e) => import("./evolveCommand-CG0_ebO5.js").then((t) => t.runEvolveCommand(e)),
175
175
  help: {
176
176
  usage: "<rename-column|rename-table|retype-column|split-column|drop-column> <target> [--to <new>] [--write]",
177
177
  flags: [
@@ -188,7 +188,7 @@ var l = () => {
188
188
  name: "codegen",
189
189
  summary: "Emit rpcGroup.generated.ts from discovered route / mutation descriptors.",
190
190
  status: "wired",
191
- run: (e) => import("./codegenCommand-DCdG2JN-.js").then((t) => t.runCodegenCommand(e)),
191
+ run: (e) => import("./codegenCommand-BOiWQ5hz.js").then((t) => t.runCodegenCommand(e)),
192
192
  help: {
193
193
  usage: "[app]",
194
194
  examples: [["voltro codegen", "regenerate rpcGroup.generated.ts for the app in the cwd"]],
@@ -199,7 +199,7 @@ var l = () => {
199
199
  name: "migrate",
200
200
  summary: "Apply the declared schema to the database (alias of `db apply` — diffs declared vs live and emits the ALTERs). `--create-only` for the bootstrap-only CREATE TABLE IF NOT EXISTS path.",
201
201
  status: "wired",
202
- run: (e) => import("./migrate-D0F-eTlK.js").then((t) => t.runMigrateCommand(e)),
202
+ run: (e) => import("./migrate-Cko9rswM.js").then((t) => t.runMigrateCommand(e)),
203
203
  help: {
204
204
  usage: "[app] [--create-only]",
205
205
  flags: [["--create-only", "only CREATE TABLE IF NOT EXISTS — never ALTER (bootstrap)"]],
@@ -211,7 +211,7 @@ var l = () => {
211
211
  name: "test",
212
212
  summary: "Run vitest against the app at the cwd (auto-discovers *.test.ts/tsx).",
213
213
  status: "wired",
214
- run: (e) => import("./test-f3amja6a.js").then((t) => t.runTestCommand(e)),
214
+ run: (e) => import("./test-BWPQcRoB.js").then((t) => t.runTestCommand(e)),
215
215
  help: {
216
216
  usage: "[dir] [filter…] [--watch] [-t <pattern>]",
217
217
  flags: [
@@ -259,7 +259,7 @@ var l = () => {
259
259
  name: "info",
260
260
  summary: "Report versions (CLI, node, every installed @voltro/* — flags lockstep skew), package manager, and dialect. --json for CI. Exits 1 on version skew.",
261
261
  status: "wired",
262
- run: (e) => import("./infoCommand-DXM868o_.js").then((t) => t.runInfoCommand(e)),
262
+ run: (e) => import("./infoCommand-_53iOc_j.js").then((t) => t.runInfoCommand(e)),
263
263
  help: {
264
264
  usage: "[--json]",
265
265
  flags: [["--json", "machine-readable report"]],
@@ -280,7 +280,7 @@ var l = () => {
280
280
  name: "env",
281
281
  summary: "Inspect/sync the typed-env manifest. Subcommands: check (default), sync (.env.example), types (env.generated.d.ts for CI tsc), turbo.",
282
282
  status: "wired",
283
- run: (e) => import("./envCommand-D4gCrrTZ.js").then((t) => t.runEnvCommand(e)),
283
+ run: (e) => import("./envCommand-dSyKvRkM.js").then((t) => t.runEnvCommand(e)),
284
284
  help: {
285
285
  usage: "[check|sync|types|turbo] [--force]",
286
286
  flags: [["--force", "overwrite the generated file instead of refusing on a conflict"]],
@@ -309,12 +309,12 @@ var l = () => {
309
309
  run: async (e) => {
310
310
  let t = e.find((e) => !e.startsWith("-")) ?? process.cwd();
311
311
  if (e.includes("--preflight")) {
312
- let { runServePreflight: e } = await import("./doctorCommand-CqoWA2p5.js");
312
+ let { runServePreflight: e } = await import("./doctorCommand-B0hX0tdz.js");
313
313
  return e(o(t), !0);
314
314
  }
315
- let { tryRunWebServe: n } = await import("./webDev-CZbTsDcH.js"), r = await n(o(t));
315
+ let { tryRunWebServe: n } = await import("./webDev-C7jWJ5dX.js"), r = await n(o(t));
316
316
  if (!r.ran) {
317
- let { runServeDispatch: t } = await import("./serveCommand-DLc-BznW.js");
317
+ let { runServeDispatch: t } = await import("./serveCommand-DsnrVN3U.js");
318
318
  return t(e);
319
319
  }
320
320
  return r.exitCode;
@@ -342,13 +342,13 @@ var l = () => {
342
342
  handlesHelp: !0,
343
343
  summary: "Preflight an app for production: the precompiled serve bundle, hand-rolled primitives (naming the shipped one), @voltro/* version skew, executors with no access check, `.serverOnly()` leaks, and junction-FK gaps.",
344
344
  status: "wired",
345
- run: (e) => import("./doctorCommand-CqoWA2p5.js").then((t) => t.runDoctorCommand(e))
345
+ run: (e) => import("./doctorCommand-B0hX0tdz.js").then((t) => t.runDoctorCommand(e))
346
346
  },
347
347
  {
348
348
  name: "build",
349
349
  summary: "Production build for a web app (vite build + per-page SSG pre-render).",
350
350
  status: "wired",
351
- run: (e) => import("./build-CPgcMQug.js").then((t) => t.runBuildCommand(e)),
351
+ run: (e) => import("./build-D-OnvNMf.js").then((t) => t.runBuildCommand(e)),
352
352
  help: {
353
353
  usage: "[app] [--target <t>]",
354
354
  flags: [["--target <t>", "build target"]],
@@ -364,7 +364,7 @@ var l = () => {
364
364
  name: "prune-runtime",
365
365
  summary: "Trim a deployed web tree’s node_modules to the reachable runtime set (standalone image slimming).",
366
366
  status: "wired",
367
- run: (e) => import("./runtimeTrace-BPQyCmC5.js").then((t) => t.runPruneRuntimeCommand(e)),
367
+ run: (e) => import("./runtimeTrace-c0APJz7E.js").then((t) => t.runPruneRuntimeCommand(e)),
368
368
  hidden: !0
369
369
  },
370
370
  {
@@ -382,7 +382,7 @@ var l = () => {
382
382
  name: "dormancy",
383
383
  summary: "Single-node scale-to-zero: front the API with a wake-orchestrator that stops the app when idle and brings it back on a request or a due wakeup (cron/workflow). Needs a SQL store. Flags: --port, --app-port, --idle-grace-ms, --tick-ms.",
384
384
  status: "wired",
385
- run: (e) => import("./dormancyCommand-Drn7o0No.js").then((t) => t.runDormancyCommand(e)),
385
+ run: (e) => import("./dormancyCommand-UwZ1AZzB.js").then((t) => t.runDormancyCommand(e)),
386
386
  help: {
387
387
  usage: "[app] [--port <n>] [--app-port <n>] [--idle-grace-ms <n>] [--tick-ms <n>]",
388
388
  flags: [
@@ -399,7 +399,7 @@ var l = () => {
399
399
  name: "start",
400
400
  summary: "Production runtime: serves dist + SSR-on-demand for ssr/isr pages.",
401
401
  status: "wired",
402
- run: (e) => import("./start-DfL3fOiN.js").then((t) => t.runStartCommand(e)),
402
+ run: (e) => import("./start-BJzZLbt8.js").then((t) => t.runStartCommand(e)),
403
403
  help: {
404
404
  usage: "[app]",
405
405
  examples: [["voltro start", "serve a built web app (dist + SSR-on-demand)"]],
@@ -410,7 +410,7 @@ var l = () => {
410
410
  name: "deploy",
411
411
  summary: "Show deploy options + `voltro deploy plan` auto-detects the target tier (static-cdn / container / functions) per app + function.",
412
412
  status: "wired",
413
- run: (e) => import("./metaCommands-C6RFmF1r.js").then((t) => t.runDeploy(e)),
413
+ run: (e) => import("./metaCommands-Cn2oboG4.js").then((t) => t.runDeploy(e)),
414
414
  help: {
415
415
  usage: "[plan]",
416
416
  examples: [["voltro deploy plan", "the auto-detected target tier per app + function"]]
@@ -428,13 +428,13 @@ var l = () => {
428
428
  handlesHelp: !0,
429
429
  summary: "Deploy a pre-built static site (./dist) to a cheap external host. Subcommands: hosts, deploy --host cloudflare-pages|s3|netlify [--spa] [--dry-run].",
430
430
  status: "wired",
431
- run: (e) => import("./staticCommand-BwNEDlSU.js").then((t) => t.runStaticCommand(e))
431
+ run: (e) => import("./staticCommand-xlSL-IWk.js").then((t) => t.runStaticCommand(e))
432
432
  },
433
433
  {
434
434
  name: "privacy",
435
435
  summary: "GDPR / DSAR tooling. scope [root] — derive the subject graph from the schema AND print what it cannot see. export <subjectId> --url <app> / erase <subjectId> --url <app> --confirm — run against the RUNNING app's admin-gated governance endpoint, so the erasure log and configured anonymize fields apply.",
436
436
  status: "wired",
437
- run: (e) => import("./privacyCommand-DGdopOI6.js").then((t) => t.runPrivacyCommand(e)),
437
+ run: (e) => import("./privacyCommand-DWTQMC6R.js").then((t) => t.runPrivacyCommand(e)),
438
438
  help: {
439
439
  usage: e(n),
440
440
  examples: [
@@ -453,7 +453,7 @@ var l = () => {
453
453
  name: "db",
454
454
  summary: "Database subcommands. Declarative flow: plan, apply, branch, plans, drift [--accept], squash, restore-snapshot. File migrations: generate [name], migrate, rollback, status, files, rollback-file. Data + housekeeping: seed, gc-snapshots, adopt. Credentials at rest: scan-credentials (find plaintext), encrypt-column (migrate a populated column onto .encrypted()).",
455
455
  status: "wired",
456
- run: (e) => import("./dbCommand-DNb6yeOG.js").then((t) => t.runDbCommand(e)),
456
+ run: (e) => import("./dbCommand-B1EXBC6f.js").then((t) => t.runDbCommand(e)),
457
457
  help: {
458
458
  usage: e(t),
459
459
  examples: [
@@ -469,7 +469,7 @@ var l = () => {
469
469
  name: "data",
470
470
  summary: "Export/import + backup/restore of app data. Logical (rows + optional assets): export <dir> [--tenant <id>|--tables a,b|--exclude a,b] [--assets] [--compression zstd|gzip|none] [--consistency live|snapshot]; import <dir> [--assets] [--no-verify]; transfers — the history in all four directions, including a run in flight; inspect <file|dir>; unpack <file> <dir>. Native (vendor dump, no resume): backup <dir> [--assets] / restore <dir> [--assets] (pg_dump/mariadb-dump/…) — a restore marks the database in-progress until it finishes. Recovery: clear-replace-marker, clear-staging. Resumable + typed-NDJSON on the logical path; content-addressed assets on both.",
471
471
  status: "wired",
472
- run: (e) => import("./dataCommand-BgpBHnlB.js").then((t) => t.runDataCommand(e)),
472
+ run: (e) => import("./dataCommand-Bab9X7s8.js").then((t) => t.runDataCommand(e)),
473
473
  help: {
474
474
  usage: e(r),
475
475
  flags: [
@@ -526,27 +526,27 @@ var l = () => {
526
526
  handlesHelp: !0,
527
527
  summary: "Generate strong secrets. `generate [purpose]` (data-transfer, session, bundle-key, field-encryption, …) emits the right var+format; `generate` alone prints a generic secret; `list` shows all. Encrypted per-env storage is in Voltro Cloud.",
528
528
  status: "wired",
529
- run: (e) => import("./metaCommands-C6RFmF1r.js").then((t) => t.runSecret(e))
529
+ run: (e) => import("./metaCommands-Cn2oboG4.js").then((t) => t.runSecret(e))
530
530
  },
531
531
  {
532
532
  name: "update",
533
533
  handlesHelp: !0,
534
534
  summary: "Upgrade the app to the latest framework: bump every @voltro/* dependency (across ALL workspace members, install once at the workspace root), then run the codemods shipped with the target version. Flags: --to <version>, --from <version>, --codemods-only, --dry-run, --force, --exact, --help. After: run `voltro db apply`.",
535
535
  status: "wired",
536
- run: (e) => import("./updateCommand-5gFVfK5q.js").then((t) => t.runUpdateCommand(e))
536
+ run: (e) => import("./updateCommand-Bqql_rsQ.js").then((t) => t.runUpdateCommand(e))
537
537
  },
538
538
  {
539
539
  name: "_apply-codemods",
540
540
  summary: "Internal: apply shipped codemods for a framework version jump (re-exec target of `voltro update`).",
541
541
  status: "wired",
542
542
  hidden: !0,
543
- run: (e) => import("./updateCommand-5gFVfK5q.js").then((t) => t.runApplyCodemods(e))
543
+ run: (e) => import("./updateCommand-Bqql_rsQ.js").then((t) => t.runApplyCodemods(e))
544
544
  },
545
545
  {
546
546
  name: "embeddings",
547
547
  summary: "Embeddings tooling. Subcommand: backfill <table> --text <field> --vector <field> [--model <m>] [--model-field <f>] [--batch <n>] [--dry-run] — (re)embed rows the vectorEmbedding() mixin missed.",
548
548
  status: "wired",
549
- run: (e) => import("./embeddingsCommand-Z-jO1fWN.js").then((t) => t.runEmbeddingsCommand(e)),
549
+ run: (e) => import("./embeddingsCommand-C70zWHwo.js").then((t) => t.runEmbeddingsCommand(e)),
550
550
  help: {
551
551
  usage: "backfill <table> --text <field> --vector <field> [--model <m>] [--batch <n>] [--dry-run]",
552
552
  flags: [
@@ -564,7 +564,7 @@ var l = () => {
564
564
  name: "telemetry",
565
565
  summary: "Report telemetry status — Voltro collects none (no phone-home, nothing to opt out of).",
566
566
  status: "wired",
567
- run: (e) => import("./metaCommands-C6RFmF1r.js").then((t) => t.runTelemetry(e)),
567
+ run: (e) => import("./metaCommands-Cn2oboG4.js").then((t) => t.runTelemetry(e)),
568
568
  help: {
569
569
  usage: "",
570
570
  examples: [["voltro telemetry", "confirm what is collected: nothing"]],
@@ -592,7 +592,7 @@ var l = () => {
592
592
  summary: "Ask a RUNNING app whether its declared access is enforced. `access` calls every guarded procedure with NO credentials and reports any that answer (--process, --url, --strict, --format).",
593
593
  status: "wired",
594
594
  handlesHelp: !0,
595
- run: (e) => import("./probeCommand-C9gazU0H.js").then((t) => t.runProbeCommand(e))
595
+ run: (e) => import("./probeCommand-DkGGLknv.js").then((t) => t.runProbeCommand(e))
596
596
  },
597
597
  {
598
598
  name: "schedule",
@@ -1,6 +1,6 @@
1
- import { f as e } from "./dev-CRHoCEiy.js";
2
- import { B as t, L as n } from "./webDev-BgWL9gKV.js";
3
- import { t as r } from "./start-jw89Xbqy.js";
1
+ import { f as e } from "./dev-C6LGF4iY.js";
2
+ import { W as t, q as n } from "./webDev-oczpugbx.js";
3
+ import { t as r } from "./start-ekPan8BT.js";
4
4
  import { join as i } from "node:path";
5
5
  import { existsSync as a } from "node:fs";
6
6
  import { createLogger as o } from "@voltro/logger";
@@ -9,10 +9,10 @@ var s = o({ scope: "voltro:dashboard" }), c = (e, t) => {
9
9
  let n = e.indexOf(t);
10
10
  return n >= 0 ? e[n + 1] : void 0;
11
11
  }, l = async (o) => {
12
- process.env[n] = "1";
12
+ process.env[t] = "1";
13
13
  let l = c(o, "--port") ?? process.env.VOLTRO_DASHBOARD_PORT ?? "5179";
14
14
  process.env.VOLTRO_DASHBOARD_PORT = l;
15
- let u = t(process.cwd());
15
+ let u = n(process.cwd());
16
16
  if (!u) return s.error("dashboard app not found. Install it with `pnpm add @voltro/dashboard`, or set VOLTRO_DASHBOARD_PATH to a dashboard app directory."), 1;
17
17
  let d = a(i(u, ".framework", "dist", "index.html"));
18
18
  return s.info(`serving the Voltro dashboard on :${l}`, {
@@ -1,11 +1,11 @@
1
1
  import { i as e, t } from "./subcommandNames-DpYs3DXr.js";
2
2
  import { t as n } from "./cliError-BmdYnghb.js";
3
- import { B as r, c as i, i as a, o } from "./dev-CRHoCEiy.js";
3
+ import { B as r, c as i, i as a, o } from "./dev-C6LGF4iY.js";
4
4
  import { n as s, t as c } from "./cliArgs-D4p8n7EE.js";
5
5
  import { r as l } from "./dialectDriver-czCHYpeH.js";
6
6
  import { i as u, n as d, r as f, t as p } from "./dataProfile-Du3ztYxv.js";
7
7
  import { o as m, t as h } from "./inspectFetch-EMuhTG_9.js";
8
- import { r as g } from "./dbCommand-sHedr-NJ.js";
8
+ import { r as g } from "./dbCommand-06O2finM.js";
9
9
  import { resolve as _ } from "node:path";
10
10
  import { createLogger as v } from "@voltro/logger";
11
11
  import { DATA_TRANSFERS_TABLE as y, REPLACE_IN_PROGRESS_TABLE as b, _voltroDataTransfersTable as x, _voltroReplaceInProgressTable as S, connectionIdentity as C, derivedRowId as w, ensureTableRegistered as T, normaliseTarget as ee, sameDatabase as te, streamTable as ne } from "@voltro/database";