@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,7 +1,7 @@
1
1
  import { t as e } from "./cliError-BmdYnghb.js";
2
2
  import { r as t } from "./dialectDriver-czCHYpeH.js";
3
3
  import { a as n, r } from "./connectionConfig-Bk9IC7D0.js";
4
- import { g as i, n as a, s as o } from "./frameworkTableAssembly-w-XnLa3q.js";
4
+ import { g as i, n as a, s as o } from "./frameworkTableAssembly-DKx3ba3S.js";
5
5
  import { t as s } from "./cliRuntime-Dh7UDinH.js";
6
6
  import { join as c, relative as l, resolve as u } from "node:path";
7
7
  import { pathToFileURL as d } from "node:url";
@@ -79,7 +79,7 @@ var _ = /* @__PURE__ */ new Set([
79
79
  let t = u(e.find((e) => !e.startsWith("-")) ?? process.cwd());
80
80
  return s(S(t), { scope: "voltro:migrate" });
81
81
  }
82
- let { runDbCommand: t } = await import("./dbCommand-DNb6yeOG.js");
82
+ let { runDbCommand: t } = await import("./dbCommand-B1EXBC6f.js");
83
83
  return t(["apply", ...e]);
84
84
  };
85
85
  //#endregion
@@ -1,4 +1,4 @@
1
- import { T as e } from "./fileConventions-DOqD3lPS.js";
1
+ import { E as e } from "./fileConventions-DASGEmj-.js";
2
2
  //#region src/pageConvention.ts
3
3
  var t = (t) => e.test(t), n = (e) => e.replace(/page\.tsx$/, "page.test.tsx");
4
4
  //#endregion
@@ -1,6 +1,6 @@
1
1
  import { t as e } from "./cliError-BmdYnghb.js";
2
2
  import { i as t, n, t as r } from "./cliArgs-D4p8n7EE.js";
3
- import { b as i, y as a } from "./fileConventions-DOqD3lPS.js";
3
+ import { b as i, x as a } from "./fileConventions-DASGEmj-.js";
4
4
  import { n as o } from "./cliOutput-D1tSBoRM.js";
5
5
  import { join as s, resolve as c } from "node:path";
6
6
  import { promises as l } from "node:fs";
@@ -38,7 +38,7 @@ var _ = d({ scope: "voltro:privacy" }), v = /* @__PURE__ */ new Set([
38
38
  return await r(e), n;
39
39
  }, x = (e) => typeof e == "object" && !!e && "tableName" in e && "fields" in e && typeof e.tableName == "string", S = async (e) => {
40
40
  f();
41
- let t = 0, n = 0, r = [...await b(e, i), ...await b(e, a)];
41
+ let t = 0, n = 0, r = [...await b(e, a), ...await b(e, i)];
42
42
  for (let e of r) {
43
43
  let r;
44
44
  try {
@@ -1,4 +1,4 @@
1
- import { r as e, t } from "./inspectGateHint-BjnFubmH.js";
1
+ import { r as e, t } from "./inspectGateHint-4LxkNtrz.js";
2
2
  import { n } from "./cliOutput-D1tSBoRM.js";
3
3
  import { n as r, o as i, r as a, t as o } from "./inspectFetch-EMuhTG_9.js";
4
4
  import { ansi as s } from "@voltro/logger";
@@ -57,25 +57,84 @@ server and in this shell.`);
57
57
  verdict: "refused",
58
58
  detail: `refused (${a})`
59
59
  };
60
- }, d = 0, f = (e) => ({
60
+ }, d = 0, f = (e, t) => ({
61
61
  _tag: "Request",
62
62
  id: String(++d),
63
63
  tag: e,
64
- payload: {},
64
+ payload: t,
65
65
  headers: []
66
- }), p = async (e, t) => {
67
- let { verdict: n, detail: r } = u(await o(e, "/rpc", {
66
+ }), p = (e, t = 0) => {
67
+ if (t > 6 || typeof e != "object" || !e) return;
68
+ let n = e;
69
+ switch (n._tag) {
70
+ case "StringKeyword": return "probe";
71
+ case "NumberKeyword": return 0;
72
+ case "BooleanKeyword": return !1;
73
+ case "BigIntKeyword": return "0";
74
+ case "UnknownKeyword":
75
+ case "AnyKeyword":
76
+ case "ObjectKeyword": return {};
77
+ case "VoidKeyword":
78
+ case "UndefinedKeyword": return;
79
+ case "Literal": return n.literal;
80
+ case "Enums": return n.enums?.[0]?.[1];
81
+ case "TypeLiteral": {
82
+ let e = {};
83
+ for (let r of n.propertySignatures ?? []) {
84
+ if (r.isOptional === !0) continue;
85
+ let n = p(r.type, t + 1);
86
+ if (n === void 0) return;
87
+ e[String(r.name)] = n;
88
+ }
89
+ return e;
90
+ }
91
+ case "TupleType": {
92
+ if ((n.elements ?? []).length === 0) return [];
93
+ let e = (n.elements ?? []).map((e) => p(e.type ?? e, t + 1));
94
+ return e.some((e) => e === void 0) ? void 0 : e;
95
+ }
96
+ case "Union":
97
+ for (let e of n.types ?? []) {
98
+ let n = p(e, t + 1);
99
+ if (n !== void 0) return n;
100
+ }
101
+ (n.types ?? []).some((e) => e._tag === "UndefinedKeyword");
102
+ return;
103
+ case "Refinement":
104
+ case "Transformation": return p(n.from, t + 1);
105
+ case "Suspend": return;
106
+ default: return;
107
+ }
108
+ }, m = async (e) => {
109
+ let t = /* @__PURE__ */ new Map();
110
+ try {
111
+ let { walk: n, loadDiscovered: r } = await import("./dev-GjJWAYo2.js"), i = await r(await n(e)), a = [
112
+ ...i.queries,
113
+ ...i.mutations,
114
+ ...i.actions,
115
+ ...i.streams
116
+ ];
117
+ for (let e of a) {
118
+ let n = e.descriptor.input;
119
+ if (n?.ast === void 0) continue;
120
+ let r = p(n.ast);
121
+ r !== void 0 && t.set(e.descriptor.name, r);
122
+ }
123
+ } catch {}
124
+ return t;
125
+ }, h = async (e, t, n) => {
126
+ let { verdict: r, detail: i } = u(await o(e, "/rpc", {
68
127
  method: "POST",
69
- body: f(t.tag),
128
+ body: f(t.tag, n),
70
129
  anonymous: !0
71
130
  }));
72
131
  return {
73
132
  tag: t.tag,
74
133
  kind: t.kind,
75
- verdict: n,
76
- detail: r
134
+ verdict: r,
135
+ detail: i
77
136
  };
78
- }, m = (e, t, r, i) => {
137
+ }, g = (e, t, r, i) => {
79
138
  let a = t.filter((e) => e.verdict === "admitted"), o = t.filter((e) => e.verdict === "inconclusive"), c = t.filter((e) => e.verdict === "refused");
80
139
  if (r === "json") n({
81
140
  app: e,
@@ -107,28 +166,28 @@ server and in this shell.`);
107
166
  There an anonymous request carries \`tenantId: null\`, which is the case a guard
108
167
  has to refuse — and the case a tenant-keyed role map most easily gets wrong.`), 1) : i && o.length > 0 ? (r !== "json" && console.error(`\n${s.yellow("--strict:")} ${o.length} procedure(s) could not be judged.\n Their calls failed before the guard was reached (usually payload validation).
109
168
  That is not evidence of enforcement, so under --strict it is not a pass.`), 1) : 0;
110
- }, h = async (n) => {
169
+ }, _ = async (n) => {
111
170
  let c = r(n);
112
171
  if ("error" in c) return console.error(`voltro probe access: ${c.error}`), 1;
113
- let { format: u } = c, { process: d, target: f, rest: h, error: g } = a(c.rest);
114
- if (g !== void 0) return console.error(`voltro probe access: ${g}`), 1;
115
- let _ = h.includes("--strict"), v = await i(d, f);
116
- if (v.length === 0) return console.error("voltro probe access: no live api found.\n This command asks a RUNNING app what it does — there is nothing to ask a source tree.\n Start one (`voltro dev` / `voltro serve`), or address it directly with --url."), 1;
117
- let y = 0;
118
- for (let n of v) {
172
+ let { format: u } = c, { process: d, target: f, rest: p, error: _ } = a(c.rest);
173
+ if (_ !== void 0) return console.error(`voltro probe access: ${_}`), 1;
174
+ let v = p.includes("--strict"), y = await i(d, f);
175
+ if (y.length === 0) return console.error("voltro probe access: no live api found.\n This command asks a RUNNING app what it does — there is nothing to ask a source tree.\n Start one (`voltro dev` / `voltro serve`), or address it directly with --url."), 1;
176
+ let b = 0;
177
+ for (let n of y) {
119
178
  let r = await o(n, "/_voltro/inspect/manifest");
120
179
  if (r.kind === "err" || r.status < 200 || r.status >= 300) {
121
- console.error(`${s.red("✗")} ${n.name}: could not read the manifest — ${r.kind === "err" ? r.error : `HTTP ${r.status}`}`), r.kind === "ok" && e(r.status) && console.error(` ${t(r.status)}`), y = 1;
180
+ console.error(`${s.red("✗")} ${n.name}: could not read the manifest — ${r.kind === "err" ? r.error : `HTTP ${r.status}`}`), r.kind === "ok" && e(r.status) && console.error(` ${t(r.status)}`), b = 1;
122
181
  continue;
123
182
  }
124
- let i = l(r.data?.procedures ?? []), a = [];
125
- for (let e of i) a.push(await p(n, e));
126
- y = Math.max(y, m(n.name, a, u, _));
183
+ let i = l(r.data?.procedures ?? []), a = await m(process.cwd()), c = [];
184
+ for (let e of i) c.push(await h(n, e, a.get(e.tag) ?? {}));
185
+ b = Math.max(b, g(n.name, c, u, v));
127
186
  }
128
- return y;
129
- }, g = async (e) => {
187
+ return b;
188
+ }, v = async (e) => {
130
189
  let [t, ...n] = e;
131
- return t === void 0 || t === "--help" || t === "-h" ? (c(), +(t === void 0)) : t === "access" ? h(n) : (console.error(`voltro probe: unknown subcommand "${t}" (expected: access)`), 1);
190
+ return t === void 0 || t === "--help" || t === "-h" ? (c(), +(t === void 0)) : t === "access" ? _(n) : (console.error(`voltro probe: unknown subcommand "${t}" (expected: access)`), 1);
132
191
  };
133
192
  //#endregion
134
- export { g as runProbeCommand };
193
+ export { v as runProbeCommand };
@@ -73,7 +73,9 @@ var n = () => {
73
73
  interactive: e.interactive ?? "full",
74
74
  hasLoader: typeof e.loader == "function",
75
75
  hasMeta: e.meta != null,
76
- hasGetStaticPaths: typeof e.getStaticPaths == "function"
76
+ hasGetStaticPaths: typeof e.getStaticPaths == "function",
77
+ hasOgImage: typeof e.ogImage == "function",
78
+ ppr: e.ppr === !0
77
79
  }), m = /export\s+const\s+renderMode\s*(?::[^=]+)?=\s*['"]([^'"]*)['"]/, h = (e) => m.exec(e)?.[1] ?? null, g = /export\s*\{([^}]*)\}\s*from\s*['"]([^'"]+)['"]/g, _ = (e) => {
78
80
  g.lastIndex = 0;
79
81
  let t;
@@ -1,5 +1,5 @@
1
- import { m as e } from "./fileConventions-DOqD3lPS.js";
2
- import { i as t, n, o as r, r as i, s as a } from "./renderModeScan-CcH2X1_D.js";
1
+ import { h as e } from "./fileConventions-DASGEmj-.js";
2
+ import { i as t, n, o as r, r as i, s as a } from "./renderModeScan-CUbOeOAg.js";
3
3
  import { dirname as o, join as s, relative as c, resolve as l } from "node:path";
4
4
  import { Effect as u } from "effect";
5
5
  import { readFile as d, readdir as f } from "node:fs/promises";
@@ -1,4 +1,4 @@
1
- import { n as e } from "./apiBuild-CSFI8QGq.js";
1
+ import { n as e } from "./apiBuild-CaPfoWku.js";
2
2
  import { join as t, resolve as n, sep as r } from "node:path";
3
3
  import { existsSync as i, promises as a } from "node:fs";
4
4
  import { createLogger as o } from "@voltro/logger";
@@ -422,7 +422,7 @@ let package = Package(
422
422
  await l.mkdir(o(e), { recursive: !0 }), await l.writeFile(e, n.content, "utf8");
423
423
  }
424
424
  }, X = async (e) => {
425
- let { offlineManifest: t } = await import("./checkCommand-2SbqzukH.js"), { manifest: n } = await t(e);
425
+ let { offlineManifest: t } = await import("./checkCommand-D2ZduVlh.js"), { manifest: n } = await t(e);
426
426
  return n;
427
427
  }, Z = async (e) => {
428
428
  let t = J(await (e.manifestProvider ?? X)(e.root), {