@voltro/cli 0.40.0 → 0.42.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.
- package/CHANGELOG.md +171 -0
- package/dist/{apiBuild-C8xBEYbL.js → apiBuild-B_iH24qf.js} +2 -2
- package/dist/apiBuild-RM5W5YXk.js +2 -0
- package/dist/bin.js +1 -1
- package/dist/{build-CkhFGnKA.js → build-DUdi6F_Q.js} +150 -150
- package/dist/{checkCommand-QbHshOac.js → checkCommand-B2RWrpWi.js} +1 -1
- package/dist/{checkCommand-BcXJa2IS.js → checkCommand-DWL2_PPR.js} +2 -2
- package/dist/{codegenCommand-DF2OJh3O.js → codegenCommand-DkjoJ30Q.js} +2 -2
- package/dist/{codemodRunner-BcOvi4A2.js → codemodRunner-sFuWDETH.js} +520 -460
- package/dist/{commands-7Z7-HOE3.js → commands-DoTClnSk.js} +22 -22
- package/dist/{dashboardCommand-CUycH6dR.js → dashboardCommand-Bro7Jwts.js} +5 -5
- package/dist/dataCommand-Rj57y1vg.js +669 -0
- package/dist/dataProfile-Cm0YVKSy.js +18 -0
- package/dist/{dbCommand-DSwGv9wS.js → dbCommand-B237qI-j.js} +343 -316
- package/dist/dbCommand-BvQeKQOb.js +2 -0
- package/dist/{dev-Dh1NuYx1.js → dev-D4l_YOzI.js} +22 -22
- package/dist/{dev-D8JSKlBM.js → dev-DuqBJC7g.js} +1 -1
- package/dist/doctorCommand-Bw3V4L1j.js +2 -0
- package/dist/{doctorCommand-C-8-Z9D6.js → doctorCommand-TmZTAepc.js} +385 -279
- package/dist/{dormancyCommand-A79Odglm.js → dormancyCommand-CUKhRmGG.js} +1 -1
- package/dist/{embeddingsCommand-CoiyHfkY.js → embeddingsCommand-Db-iQM3l.js} +1 -1
- package/dist/{envCommand-B6d0s-jZ.js → envCommand-DQ_URZq9.js} +12 -12
- package/dist/{evolveCommand-BC5a9lxX.js → evolveCommand-CghRPrGO.js} +2 -2
- package/dist/index.js +1 -1
- package/dist/{infoCommand-ZqSVzJZ4.js → infoCommand-BCs_ZFnl.js} +1 -1
- package/dist/{migrate-BnPw2zC8.js → migrate-DN47p2PG.js} +1 -1
- package/dist/{runtimeTrace-BslKJjDY.js → runtimeTrace-jFKvOPBz.js} +1 -1
- package/dist/{sdkgen-DQ8uEmmn.js → sdkgen-COQqHB9V.js} +1 -1
- package/dist/{serveCommand-Dqb9Ku1-.js → serveCommand-C512kzZA.js} +417 -411
- package/dist/serveCommand-gj7MsqXY.js +2 -0
- package/dist/serveEntry.js +1 -1
- package/dist/{start-dkNYKtgQ.js → start-BjcuFME_.js} +379 -343
- package/dist/{start-BA7txHhY.js → start-fifc0xpW.js} +1 -1
- package/dist/startEntry.js +1 -1
- package/dist/updateCommand-B2alql9k.js +2 -0
- package/dist/{updateCommand-eoGpZr3E.js → updateCommand-HZQVBU3T.js} +1 -1
- package/dist/webDev-D6QeXw3P.js +2 -0
- package/dist/{webDev-bybjZA0o.js → webDev-Dk8lFUzf.js} +642 -525
- package/dist/{webhooksCommand-DubZWNOx.js → webhooksCommand-D7ZpH7w0.js} +1 -1
- package/package.json +23 -17
- package/templates/AGENTS.md +1 -1
- package/templates/agent-docs/_index.md +1 -1
- package/templates/agent-docs/_manifest.json +1 -1
- package/templates/agent-docs/cli.md +79 -6
- package/templates/agent-docs/data.md +33 -0
- package/templates/agent-docs/plugins/governance.md +8 -0
- package/templates/agent-docs/routing.md +141 -28
- package/templates/agent-docs/security.md +24 -0
- package/templates/agent-docs/whats-new.md +48 -109
- package/templates/apps/api-ai/package.json +7 -7
- package/templates/apps/api-auth/package.json +8 -8
- package/templates/apps/api-backend/package.json +7 -7
- package/templates/apps/api-backend-deactivation/package.json +7 -7
- package/templates/apps/api-backend-mail/package.json +8 -8
- package/templates/apps/api-backend-mariadb/package.json +9 -9
- package/templates/apps/api-backend-sqlite/package.json +8 -8
- package/templates/apps/api-backend-storage/package.json +8 -8
- package/templates/apps/api-cms/package.json +10 -10
- package/templates/apps/api-collab/package.json +8 -8
- package/templates/apps/api-data-advanced/package.json +8 -8
- package/templates/apps/api-durable/package.json +8 -8
- package/templates/apps/api-feature-flags/package.json +9 -9
- package/templates/apps/api-governance/package.json +8 -8
- package/templates/apps/api-kv/package.json +8 -8
- package/templates/apps/api-moderation/package.json +8 -8
- package/templates/apps/api-observability/package.json +8 -8
- package/templates/apps/api-ratelimit/package.json +8 -8
- package/templates/apps/api-rbac/package.json +8 -8
- package/templates/apps/api-rest/package.json +7 -7
- package/templates/apps/api-saas/package.json +11 -11
- package/templates/apps/api-saas-starter/package.json +10 -10
- package/templates/apps/api-search/package.json +8 -8
- package/templates/apps/api-status/package.json +8 -8
- package/templates/apps/api-versioning/package.json +8 -8
- package/templates/apps/api-webhooks/package.json +9 -9
- package/templates/apps/changelog/package.json +6 -6
- package/templates/apps/edge-functions/package.json +2 -2
- package/templates/apps/frontend-admin/package.json +8 -8
- package/templates/apps/frontend-app/package.json +9 -9
- package/templates/apps/frontend-auth/package.json +8 -8
- package/templates/apps/frontend-blank/package.json +7 -7
- package/templates/apps/frontend-cms/package.json +9 -9
- package/templates/apps/frontend-collab/package.json +10 -10
- package/templates/apps/frontend-contact/package.json +7 -7
- package/templates/apps/frontend-dashboard/package.json +7 -7
- package/templates/apps/frontend-docs/package.json +7 -7
- package/templates/apps/frontend-i18n/package.json +6 -6
- package/templates/apps/frontend-landing/package.json +7 -7
- package/templates/apps/frontend-portal/package.json +8 -8
- package/templates/apps/frontend-saas/package.json +8 -8
- package/templates/apps/frontend-spa/package.json +7 -7
- package/templates/apps/frontend-ssr/package.json +7 -7
- package/templates/apps/frontend-ssr-api/package.json +8 -8
- package/templates/apps/frontend-static-blog/package.json +6 -6
- package/templates/apps/frontend-status/package.json +8 -8
- package/templates/apps/mobile-app/package.json +4 -4
- package/dist/apiBuild-BIyGkym8.js +0 -2
- package/dist/dataCommand-By78lscK.js +0 -540
- package/dist/dataProfile-dW-PsfLB.js +0 -15
- package/dist/dbCommand-DcqEyxju.js +0 -2
- package/dist/doctorCommand-FhQ7EVYL.js +0 -2
- package/dist/serveCommand-BmvEQCMS.js +0 -2
- package/dist/updateCommand-BauSVxPp.js +0 -2
- package/dist/webDev-CBbKs4dZ.js +0 -2
|
@@ -4,7 +4,7 @@ import { n } from "./appModuleLoader-C9r9mxZt.js";
|
|
|
4
4
|
import { t as r } from "./bootRefusal-pgvDxlrU.js";
|
|
5
5
|
import { n as i, r as a } from "./startupRunner-CEqQq7ax.js";
|
|
6
6
|
import { r as o } from "./appPort-B_HpJ_ck.js";
|
|
7
|
-
import {
|
|
7
|
+
import { H as s, J as c, K as l, V as u, W as d, X as f, Y as p, Z as m, ct as h, ft as g, g as _, ht as v, lt as ee, pt as te, q as y, ut as b } from "./webDev-Dk8lFUzf.js";
|
|
8
8
|
import { n as x, r as S } from "./dialectDriver-czCHYpeH.js";
|
|
9
9
|
import { a as C, i as ne, n as re, t as ie } from "./connectionConfig-Bk9IC7D0.js";
|
|
10
10
|
import { a as ae, c as oe, i as se, n as ce, o as le, r as ue, t as de } from "./seedRunner-IdHEprqf.js";
|
|
@@ -6875,16 +6875,16 @@ ${r.join("\n")}\n A consumer with no producer waits forever and looks exactly l
|
|
|
6875
6875
|
default: return null;
|
|
6876
6876
|
}
|
|
6877
6877
|
}, cg = async (e) => {
|
|
6878
|
-
let t = e.find((e) => !e.startsWith("-")) ?? process.cwd(), n = Bt(t), r = await
|
|
6878
|
+
let t = e.find((e) => !e.startsWith("-")) ?? process.cwd(), n = Bt(t), r = await _(n);
|
|
6879
6879
|
return r.ran ? r.exitCode : process.env.FRAMEWORK_DEV_INNER !== "1" && process.env.WATCH !== "0" ? (yt(fl({ root: n }), { scope: "voltro:dev" }), new Promise(() => {})) : lg(n);
|
|
6880
6880
|
}, lg = async (n) => {
|
|
6881
|
-
let g = Date.now(),
|
|
6881
|
+
let g = Date.now(), _ = await Qh(n), x = o({
|
|
6882
6882
|
kind: "api",
|
|
6883
|
-
configPort:
|
|
6883
|
+
configPort: _?.port,
|
|
6884
6884
|
env: process.env
|
|
6885
6885
|
});
|
|
6886
6886
|
for (let e of x.warnings) Z.warn(e);
|
|
6887
|
-
let C = x.port, ie =
|
|
6887
|
+
let C = x.port, ie = _?.name ?? M(n), ae = Ft("api", ie, C), de = It(ie);
|
|
6888
6888
|
await Nt({
|
|
6889
6889
|
id: ae,
|
|
6890
6890
|
name: ie,
|
|
@@ -6894,12 +6894,12 @@ ${r.join("\n")}\n A consumer with no producer waits forever and looks exactly l
|
|
|
6894
6894
|
status: "booting",
|
|
6895
6895
|
logFile: de.path
|
|
6896
6896
|
}).catch(() => {});
|
|
6897
|
-
let w =
|
|
6898
|
-
|
|
6897
|
+
let w = f();
|
|
6898
|
+
y(w), Z.info("booting voltro dev", {
|
|
6899
6899
|
root: n,
|
|
6900
6900
|
version: Eh,
|
|
6901
6901
|
logFile: de.path
|
|
6902
|
-
}),
|
|
6902
|
+
}), h(n, Z);
|
|
6903
6903
|
let he = await fe({
|
|
6904
6904
|
project: M(n),
|
|
6905
6905
|
cliVersion: Eh
|
|
@@ -6924,18 +6924,18 @@ ${r.join("\n")}\n A consumer with no producer waits forever and looks exactly l
|
|
|
6924
6924
|
});
|
|
6925
6925
|
let T = await Fh(n);
|
|
6926
6926
|
Z.info(`discovered ${T.length} files`, { count: T.length });
|
|
6927
|
-
let { pluginContributions: De, pluginErrorImports: ke, pluginRpcImports: Ae } = await up(
|
|
6927
|
+
let { pluginContributions: De, pluginErrorImports: ke, pluginRpcImports: Ae } = await up(_?.plugins ?? [], _?.name ?? M(n), n), je = await Et({
|
|
6928
6928
|
root: n,
|
|
6929
6929
|
...De.length > 0 ? { pluginContributions: De } : {},
|
|
6930
6930
|
...ke.length > 0 ? { pluginErrorImports: ke } : {},
|
|
6931
6931
|
...Ae.length > 0 ? { pluginRpcImports: Ae } : {},
|
|
6932
|
-
...
|
|
6932
|
+
..._?.name === void 0 ? {} : { apiName: _.name }
|
|
6933
6933
|
});
|
|
6934
6934
|
if (je ? (Z.info("codegen wrote rpcGroup", { path: zt(n, je) }), await Ct(je)) : Z.debug("codegen skipped — no descriptors discovered"), process.env.VOLTRO_BROWSER_SAFETY !== "off") {
|
|
6935
6935
|
let e = await wt(n, T);
|
|
6936
6936
|
if (e.length > 0) throw Error(e.map(Tt).join("\n\n"));
|
|
6937
6937
|
}
|
|
6938
|
-
let Me = $(
|
|
6938
|
+
let Me = $(_ ?? null), Pe = Me === "mariadb" ? "mariadb" : Me === "mssql" ? "mssql" : void 0, { queries: E, mutations: D, actions: O, streams: Ge, events: qe, workflows: A, workflowWorkers: Xe, eventTriggers: Ze, schedules: Qe, connections: et, tables: nt, featureMix: it, tenantScopedTables: ot, softDeleteScopedTables: st, serverOnlyLeaks: ct, cacheScopeLeaks: ft } = await Xh(T, { cdc: Pe !== void 0 && (process.env.CDC ?? "1") !== "0" }), pt = Hl({
|
|
6939
6939
|
queries: E,
|
|
6940
6940
|
mutations: D,
|
|
6941
6941
|
actions: O,
|
|
@@ -6953,7 +6953,7 @@ ${r.join("\n")}\n A consumer with no producer waits forever and looks exactly l
|
|
|
6953
6953
|
e.action === "warn" && Z.warn(e.message ?? "");
|
|
6954
6954
|
}
|
|
6955
6955
|
Wl(pt, {
|
|
6956
|
-
defaultDeny: Bl(
|
|
6956
|
+
defaultDeny: Bl(_),
|
|
6957
6957
|
commandHint: "`voltro dev`"
|
|
6958
6958
|
});
|
|
6959
6959
|
let ht = A.length > 0 || Ze.length > 0, j = await Qh(n), gt = Kc(j?.http ?? {});
|
|
@@ -6962,7 +6962,7 @@ ${r.join("\n")}\n A consumer with no producer waits forever and looks exactly l
|
|
|
6962
6962
|
_t.minted.length > 0 && _t.file !== void 0 && (Z.warn(`minted ${_t.minted.length} project secret(s) into ${zt(n, _t.file)} — unique to this project, gitignored. Your DEPLOYMENT needs its own values (\`voltro secret generate\`).`, {
|
|
6963
6963
|
keys: _t.minted,
|
|
6964
6964
|
file: zt(n, _t.file)
|
|
6965
|
-
}), e.includes(_t.file) || e.unshift(_t.file)), _t.ownershipWarning !== void 0 && Z.warn(_t.ownershipWarning), await
|
|
6965
|
+
}), e.includes(_t.file) || e.unshift(_t.file)), _t.ownershipWarning !== void 0 && Z.warn(_t.ownershipWarning), await v({
|
|
6966
6966
|
rawEnv: j?.env,
|
|
6967
6967
|
appType: "api",
|
|
6968
6968
|
root: n,
|
|
@@ -7849,7 +7849,7 @@ ${r.join("\n")}\n A consumer with no producer waits forever and looks exactly l
|
|
|
7849
7849
|
scope: n.scope,
|
|
7850
7850
|
baseKey: `q:${e.name}:${vs(t)}`
|
|
7851
7851
|
};
|
|
7852
|
-
}, bs = Lt(), xs = Ff(j?.plugins ?? [], bs), Ss = xs.mutation, Cs = xs.action, ws = xs.query, Ts = Bl(
|
|
7852
|
+
}, bs = Lt(), xs = Ff(j?.plugins ?? [], bs), Ss = xs.mutation, Cs = xs.action, ws = xs.query, Ts = Bl(_), Es = yo({
|
|
7853
7853
|
store: R,
|
|
7854
7854
|
defaultDeny: Ts,
|
|
7855
7855
|
buildContext: (e, t, n) => Qo(e, t, n),
|
|
@@ -8695,7 +8695,7 @@ ${r.join("\n")}\n A consumer with no producer waits forever and looks exactly l
|
|
|
8695
8695
|
...or.httpRoutes
|
|
8696
8696
|
];
|
|
8697
8697
|
try {
|
|
8698
|
-
await
|
|
8698
|
+
await ee(C, "voltro dev (api)");
|
|
8699
8699
|
} catch (e) {
|
|
8700
8700
|
Z.error(String(e.message ?? e)), process.exit(1);
|
|
8701
8701
|
}
|
|
@@ -8754,7 +8754,7 @@ ${r.join("\n")}\n A consumer with no producer waits forever and looks exactly l
|
|
|
8754
8754
|
headers: k(t.origin)
|
|
8755
8755
|
};
|
|
8756
8756
|
if (n === "GET" && (e === "/_voltro/inspect/logs" || e.startsWith("/_voltro/inspect/logs?"))) return {
|
|
8757
|
-
...
|
|
8757
|
+
...d(e, c(), t),
|
|
8758
8758
|
headers: k(t.origin)
|
|
8759
8759
|
};
|
|
8760
8760
|
if (n === "GET" && (e === "/_voltro/inspect/traces" || e.startsWith("/_voltro/inspect/traces?"))) {
|
|
@@ -8815,10 +8815,10 @@ ${r.join("\n")}\n A consumer with no producer waits forever and looks exactly l
|
|
|
8815
8815
|
reason: "forbidden host (DNS-rebinding guard)"
|
|
8816
8816
|
},
|
|
8817
8817
|
isDisabled: () => Ke(),
|
|
8818
|
-
replay: () => w.buffered().map(
|
|
8819
|
-
subscribe: (e) => w.subscribe((t) => e(
|
|
8818
|
+
replay: () => w.buffered().map(p),
|
|
8819
|
+
subscribe: (e) => w.subscribe((t) => e(p(t))),
|
|
8820
8820
|
corsHeaders: (e) => k(e),
|
|
8821
|
-
keepAlive: () =>
|
|
8821
|
+
keepAlive: () => m()
|
|
8822
8822
|
},
|
|
8823
8823
|
webhookRoutes: new Map(Array.from(Ba.entries()).map(([e, t]) => [e, { handle: t }])),
|
|
8824
8824
|
...er ? { tracerLayer: er } : {}
|
|
@@ -8843,9 +8843,9 @@ ${r.join("\n")}\n A consumer with no producer waits forever and looks exactly l
|
|
|
8843
8843
|
status: "live",
|
|
8844
8844
|
logFile: de.path
|
|
8845
8845
|
});
|
|
8846
|
-
let e =
|
|
8846
|
+
let e = s(n);
|
|
8847
8847
|
if (e) {
|
|
8848
|
-
let t = await
|
|
8848
|
+
let t = await u({ dashboardAppPath: e });
|
|
8849
8849
|
t.status === "launched" ? Z.info(`dashboard launched at http://localhost:${t.port}`, { port: t.port }) : t.status === "already-running" && Z.debug(`dashboard already running on :${t.port}`, { port: t.port });
|
|
8850
8850
|
}
|
|
8851
8851
|
setInterval(() => {
|
|
@@ -8875,7 +8875,7 @@ ${r.join("\n")}\n A consumer with no producer waits forever and looks exactly l
|
|
|
8875
8875
|
} catch (e) {
|
|
8876
8876
|
Z.warn("runtime-registry write failed", {}, e);
|
|
8877
8877
|
}
|
|
8878
|
-
return
|
|
8878
|
+
return b(e, Z, {
|
|
8879
8879
|
root: n,
|
|
8880
8880
|
onBeforeRestart: () => {
|
|
8881
8881
|
try {
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { c as e, d as t, f as n, i as r, u as i } from "./dev-
|
|
1
|
+
import { c as e, d as t, f as n, i as r, u as i } from "./dev-D4l_YOzI.js";
|
|
2
2
|
import "./dialectDriver-czCHYpeH.js";
|
|
3
3
|
export { r as buildStore, e as loadApiConfig, i as loadDiscovered, t as runDev, n as walk };
|