@voltro/cli 0.61.0 → 0.62.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 +18 -0
- package/dist/apiBuild-Dl-djDc_.js +2 -0
- package/dist/{apiBuild-C5HhMAEm.js → apiBuild-DwhySM-6.js} +1 -1
- package/dist/bin.js +1 -1
- package/dist/{build-DQr7SsKK.js → build-B43mm2g2.js} +6 -6
- package/dist/{checkCommand-ByaOhdc8.js → checkCommand-nB68vIo_.js} +1 -1
- package/dist/{checkCommand-CvSheSdb.js → checkCommand-zGYZtIkJ.js} +3 -3
- package/dist/{codegenCommand-CI0mpjxo.js → codegenCommand-YvqhgQBj.js} +1 -1
- package/dist/{codemodRunner-Drb-H-jr.js → codemodRunner-D90bexh4.js} +77 -53
- package/dist/{commands-pCItjdHG.js → commands-Dd6Cp7qs.js} +19 -19
- package/dist/{dashboardCommand-O-ToEgiH.js → dashboardCommand-BsDfQa-g.js} +1 -1
- package/dist/{dataCommand-mn1Zc88W.js → dataCommand-Cgdcl5M0.js} +1 -1
- package/dist/{dev-dSH-Pkb2.js → dev-BfUG0jrD.js} +31 -11
- package/dist/{dev-kn9-7RXZ.js → dev-BpMSAjMk.js} +1 -1
- package/dist/doctorCommand-PHcqxpnx.js +2 -0
- package/dist/{doctorCommand-ClB7Ucz5.js → doctorCommand-pxYq2bH5.js} +10 -10
- package/dist/{dormancyCommand-DZupfuq-.js → dormancyCommand-DZpSCWy9.js} +1 -1
- package/dist/{embeddingsCommand-D8_GquVX.js → embeddingsCommand-YR5Eif0k.js} +1 -1
- package/dist/{envCommand-DRjVSXRp.js → envCommand-Yl4TGM4h.js} +1 -1
- package/dist/{evolveCommand-Cb0C2b3V.js → evolveCommand-B2iYAC9t.js} +2 -2
- package/dist/index.js +1 -1
- package/dist/{infoCommand-BlKnoY2D.js → infoCommand-DjtMWLZl.js} +1 -1
- package/dist/{probeCommand-DYsOFm62.js → probeCommand-Dsu5if_4.js} +1 -1
- package/dist/{runtimeTrace-BI3kdicc.js → runtimeTrace-CQcn26bI.js} +1 -1
- package/dist/{sdkgen-DZ4zCtV4.js → sdkgen-DJvyVw7B.js} +1 -1
- package/dist/serveCommand-CZ0kgfIX.js +2 -0
- package/dist/{serveCommand-DnxqCQ16.js → serveCommand-CaLTTh68.js} +2 -2
- package/dist/serveEntry.js +1 -1
- package/dist/updateCommand-DA4OMF7u.js +2 -0
- package/dist/{updateCommand-B18ZQNFg.js → updateCommand-F6HFgz0i.js} +1 -1
- package/dist/{webhooksCommand-Bs-HZ4wY.js → webhooksCommand-Bgdli8dI.js} +1 -1
- package/package.json +25 -19
- package/templates/AGENTS.md +1 -1
- package/templates/agent-docs/_index.md +1 -1
- package/templates/agent-docs/ai.md +32 -0
- package/templates/agent-docs/observability.md +10 -1
- package/templates/agent-docs/whats-new.md +7 -14
- package/templates/agent-docs/workflows.md +7 -2
- package/templates/apps/api-ai/package.json +6 -6
- 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 +9 -9
- 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-row-history/package.json +8 -8
- 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-webhooks/package.json +9 -9
- package/templates/apps/changelog/package.json +7 -7
- package/templates/apps/edge-functions/package.json +2 -2
- package/templates/apps/frontend-admin/package.json +7 -7
- package/templates/apps/frontend-app/package.json +8 -8
- package/templates/apps/frontend-auth/package.json +7 -7
- package/templates/apps/frontend-blank/package.json +6 -6
- package/templates/apps/frontend-cms/package.json +8 -8
- package/templates/apps/frontend-collab/package.json +9 -9
- package/templates/apps/frontend-contact/package.json +7 -7
- package/templates/apps/frontend-dashboard/package.json +6 -6
- package/templates/apps/frontend-docs/package.json +8 -8
- 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 +7 -7
- package/templates/apps/frontend-saas/package.json +7 -7
- package/templates/apps/frontend-spa/package.json +6 -6
- package/templates/apps/frontend-ssr/package.json +6 -6
- package/templates/apps/frontend-ssr-api/package.json +7 -7
- package/templates/apps/frontend-static-blog/package.json +8 -8
- package/templates/apps/frontend-status/package.json +7 -7
- package/templates/apps/mobile-app/package.json +4 -4
- package/dist/apiBuild-5U7PxjLa.js +0 -2
- package/dist/doctorCommand-BVat2ejT.js +0 -2
- package/dist/serveCommand-CwK_6Wxt.js +0 -2
- package/dist/updateCommand-B4EgDD-m.js +0 -2
package/CHANGELOG.md
CHANGED
|
@@ -39,6 +39,24 @@ _Changes staged for the next release accumulate here (rolled up from
|
|
|
39
39
|
|
|
40
40
|
---
|
|
41
41
|
|
|
42
|
+
## [0.62.0] — 2026-09-01
|
|
43
|
+
|
|
44
|
+
### ⚠ BREAKING
|
|
45
|
+
|
|
46
|
+
- **@voltro/workflow, @voltro/cli, @voltro/voltro** — `timeouts.finish` now filters running rows by the declared workflow, durably cancels each run before notification, and emits `onFailure` only for the successful terminal transition. Finish-timeout reports carry the run's stable `runId`, `executionId`, and original payload; handler-start logs expose the returned status instead of unconditionally claiming a new start.
|
|
47
|
+
|
|
48
|
+
Low-level adapters that construct `AdmissionDrainDeps` must update `cancelRun` to accept the run object and return whether it made the terminal transition, and return the run identity, workflow name, and payload from `listRunningRuns`. Ordinary workflow declarations need no source change; `voltro update` prints the adapter migration only when the project references this low-level surface.
|
|
49
|
+
|
|
50
|
+
### Added
|
|
51
|
+
|
|
52
|
+
- **@voltro/ai** — `streamText` and `resumableStreamText` now accept an opt-in `smooth` configuration for word- or line-based text and reasoning chunks. Smoothing runs before resumable journaling, preserves provider-native behavior when omitted, and shares the stream abort signal so cancellation also stops a pending smoothing delay.
|
|
53
|
+
|
|
54
|
+
### Fixed
|
|
55
|
+
|
|
56
|
+
- **@voltro/web** — Production `framework_debug` now enables local framework diagnostics without opening browser-to-inspect HTTP or SSE transports. Development log relays are single-flight and rate-limited, classify permanent response failures, back off transient failures, expose dropped-log counts, and open a page-scoped circuit after repeated failure; the SSE relay also probes the endpoint before creating an `EventSource` and closes failed sources before retrying.
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
42
60
|
## [0.61.0] — 2026-08-31
|
|
43
61
|
|
|
44
62
|
### ⚠ BREAKING
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { m as e } from "./dev-
|
|
1
|
+
import { m as e } from "./dev-BfUG0jrD.js";
|
|
2
2
|
import { Qt as t } from "./webDev-CYjhmOTZ.js";
|
|
3
3
|
import { t as n } from "./dialectDriver-czCHYpeH.js";
|
|
4
4
|
import { dirname as r, isAbsolute as i, join as a, relative as o, resolve as s } from "node:path";
|
package/dist/bin.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { r as e } from "./commands-
|
|
2
|
+
import { r as e } from "./commands-Dd6Cp7qs.js";
|
|
3
3
|
import { a as t } from "./nodeEnvironment-cGFAj1J8.js";
|
|
4
4
|
import { t as n } from "./loadEnv-D9nEOClM.js";
|
|
5
5
|
import { n as r } from "./cliError-BmdYnghb.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { An as e } from "./dev-
|
|
1
|
+
import { An as e } from "./dev-BfUG0jrD.js";
|
|
2
2
|
import { At as t, Ct as n, D as r, Dt as i, Et as a, J as o, K as s, Mt as c, Nt as l, Ot as u, Qt as d, St as f, T as p, Tt as m, Yt as h, _t as g, c as _, et as v, gt as y, h as b, kt as x, m as S, nt as C, o as w, q as T, tt as E, u as D, vt as ee, w as te, wt as O, zt as k } from "./webDev-CYjhmOTZ.js";
|
|
3
|
-
import { d as A, i as j, o as M, s as N } from "./apiBuild-
|
|
3
|
+
import { d as A, i as j, o as M, s as N } from "./apiBuild-DwhySM-6.js";
|
|
4
4
|
import { t as P } from "./cliRuntime-Dh7UDinH.js";
|
|
5
5
|
import { a as F } from "./renderModeScan-43yQ2opo.js";
|
|
6
6
|
import { o as I } from "./imagePipeline-CBZmjT4i.js";
|
|
@@ -659,7 +659,7 @@ var X = W({ scope: "voltro:build" }), ie = async (e, t = {}) => {
|
|
|
659
659
|
file: n.file,
|
|
660
660
|
reason: n.reason
|
|
661
661
|
});
|
|
662
|
-
let { regenerateRpcGroup: r } = await import("./codegenCommand-
|
|
662
|
+
let { regenerateRpcGroup: r } = await import("./codegenCommand-YvqhgQBj.js"), i = await r(e);
|
|
663
663
|
if (i.kind === "refused") {
|
|
664
664
|
$.warn("could not regenerate the rpc group — building against what is on disk", { reason: i.reason });
|
|
665
665
|
return;
|
|
@@ -671,7 +671,7 @@ var X = W({ scope: "voltro:build" }), ie = async (e, t = {}) => {
|
|
|
671
671
|
}, Te = async (e) => {
|
|
672
672
|
let n = await S(e, { preferSource: !0 });
|
|
673
673
|
if (!n) {
|
|
674
|
-
let { loadApiConfigDiagnosed: t } = await import("./dev-
|
|
674
|
+
let { loadApiConfigDiagnosed: t } = await import("./dev-BpMSAjMk.js"), n = await t(e), r = n.config;
|
|
675
675
|
if (!r && n.present) return $.error("app.config.ts is present but could not be loaded — this is NOT a statement about the app's type", { path: z(e, "app.config.ts") }, n.error), {
|
|
676
676
|
ran: !0,
|
|
677
677
|
exitCode: 1
|
|
@@ -688,7 +688,7 @@ var X = W({ scope: "voltro:build" }), ie = async (e, t = {}) => {
|
|
|
688
688
|
ran: !0,
|
|
689
689
|
exitCode: 1
|
|
690
690
|
};
|
|
691
|
-
let { runApiBuild: i, runServeBundleBuild: a } = await import("./apiBuild-
|
|
691
|
+
let { runApiBuild: i, runServeBundleBuild: a } = await import("./apiBuild-Dl-djDc_.js");
|
|
692
692
|
await i(e, { sourcemaps: n.emit });
|
|
693
693
|
try {
|
|
694
694
|
await a(e, { sourcemaps: n.emit });
|
|
@@ -1055,7 +1055,7 @@ var X = W({ scope: "voltro:build" }), ie = async (e, t = {}) => {
|
|
|
1055
1055
|
return t.ran ? t.exitCode : (yield* K.logError("no voltro app found at this path", { hint: "looked for an app.config.ts with `type: 'web'` or `type: 'api'` — a web app gets the vite build + prerender + start bundle, an api gets the precompiled serve bundle" }), 1);
|
|
1056
1056
|
}), De = async (t) => {
|
|
1057
1057
|
if (G("build"), t.includes("--target")) {
|
|
1058
|
-
let { runSdkBuildCommand: e } = await import("./sdkgen-
|
|
1058
|
+
let { runSdkBuildCommand: e } = await import("./sdkgen-DJvyVw7B.js");
|
|
1059
1059
|
return e(t);
|
|
1060
1060
|
}
|
|
1061
1061
|
let n = t.find((e) => !e.startsWith("-")) ?? process.cwd(), r = await P(Ee(n), { scope: "voltro:build" });
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as e, i as t, o as n } from "./checkCommand-
|
|
1
|
+
import { a as e, i as t, o as n } from "./checkCommand-zGYZtIkJ.js";
|
|
2
2
|
export { t as offlineManifest, e as runCheckCommand, n as toInput };
|
|
@@ -4,7 +4,7 @@ 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-BU1NyzxV.js";
|
|
6
6
|
import { r as l } from "./fileTaxonomy-CbyMQYx_.js";
|
|
7
|
-
import { S as u } from "./doctorCommand-
|
|
7
|
+
import { S as u } from "./doctorCommand-pxYq2bH5.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-
|
|
173
|
+
let { walk: t, loadDiscovered: n, loadApiConfig: r } = await import("./dev-BpMSAjMk.js"), { buildRpcEntry: i } = await import("./manifestBuild-AUh31bFU.js"), { buildCapabilityManifest: a } = await import("./inspect-CZvsmp8t.js"), { relative: o } = await import("node:path"), s = await n(await t(e), { root: e }), c = await r(e).then((e) => e?.plugins ?? []).catch(() => []);
|
|
174
174
|
try {
|
|
175
|
-
let { mergePluginRoutesInto: e } = await import("./dev-
|
|
175
|
+
let { mergePluginRoutesInto: e } = await import("./dev-BpMSAjMk.js");
|
|
176
176
|
e({
|
|
177
177
|
plugins: c,
|
|
178
178
|
queries: s.queries,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { In as e, J as t, Ln as n, d as r, u as i } from "./dev-
|
|
1
|
+
import { In as e, J as t, Ln as n, d as r, u as i } from "./dev-BfUG0jrD.js";
|
|
2
2
|
import { n as a } from "./frameworkTableAssembly-vfkzuzEo.js";
|
|
3
3
|
import { i as o, r as s } from "./codegen-Bth5lUTU.js";
|
|
4
4
|
import { n as c, r as l } from "./mobileCommand-D9O6iq3D.js";
|
|
@@ -6653,7 +6653,29 @@ var C = (e, t, n) => {
|
|
|
6653
6653
|
"`traceId` identifies the client call span. It joins to server logs only",
|
|
6654
6654
|
"when the server accepted the request; its presence is not delivery proof."
|
|
6655
6655
|
].join("\n")
|
|
6656
|
-
}), ya = (e) => /@voltro\/plugin-sentry(?:\/web)?|\bsentry\s*:/.test(e.getFullText()),
|
|
6656
|
+
}), ya = (e) => /@voltro\/plugin-sentry(?:\/web)?|\bsentry\s*:/.test(e.getFullText()), ba = T({
|
|
6657
|
+
version: "0.61.0",
|
|
6658
|
+
id: "0.61.0/02_sentry_rpc_spans_join_page",
|
|
6659
|
+
title: "Sentry rpc spans now join the active browser transaction",
|
|
6660
|
+
kind: "manual",
|
|
6661
|
+
appliesTo: ({ project: e }) => e.getSourceFiles().some(ya),
|
|
6662
|
+
note: [
|
|
6663
|
+
"Browser rpc markers are now children of the active page/navigation",
|
|
6664
|
+
"transaction, with a span link to the Effect/server trace. They no longer",
|
|
6665
|
+
"create one root Sentry transaction and envelope per rpc call.",
|
|
6666
|
+
"",
|
|
6667
|
+
"`tracesSampleRate` now controls the page transaction and its rpc children.",
|
|
6668
|
+
"`browserTracing: false` also defaults the rpc bridge to off while browser",
|
|
6669
|
+
"error capture stays active. Set `rpcSpans: true` only if your app creates",
|
|
6670
|
+
"its own active Sentry transactions, or set `rpcSpans: false` to keep page",
|
|
6671
|
+
"performance traces without rpc child spans.",
|
|
6672
|
+
"",
|
|
6673
|
+
"`sentryTraceHeader` was removed. Delete direct imports and use the normal",
|
|
6674
|
+
"`initSentryBrowser` bridge. Custom instrumentation should create a",
|
|
6675
|
+
"parent-only child of Sentry's active transaction and attach the Effect",
|
|
6676
|
+
"trace context as a span link."
|
|
6677
|
+
].join("\n")
|
|
6678
|
+
}), xa = (e) => /\b(?:AdmissionDrainDeps|makeFlowControlGate)\b/.test(e.getFullText()), J = [
|
|
6657
6679
|
he,
|
|
6658
6680
|
ge,
|
|
6659
6681
|
ve,
|
|
@@ -6800,27 +6822,29 @@ var C = (e, t, n) => {
|
|
|
6800
6822
|
ga,
|
|
6801
6823
|
ma,
|
|
6802
6824
|
va,
|
|
6825
|
+
ba,
|
|
6803
6826
|
T({
|
|
6804
|
-
version: "0.
|
|
6805
|
-
id: "0.
|
|
6806
|
-
title: "
|
|
6827
|
+
version: "0.62.0",
|
|
6828
|
+
id: "0.62.0/01_finish_timeout_uses_durable_cancellation",
|
|
6829
|
+
title: "Finish timeouts use durable, once-only cancellation",
|
|
6807
6830
|
kind: "manual",
|
|
6808
|
-
appliesTo: ({ project: e }) => e.getSourceFiles().some(
|
|
6831
|
+
appliesTo: ({ project: e }) => e.getSourceFiles().some(xa),
|
|
6809
6832
|
note: [
|
|
6810
|
-
"
|
|
6811
|
-
"
|
|
6812
|
-
"
|
|
6833
|
+
"`AdmissionDrainDeps.cancelRun` NOW RECEIVES one object:",
|
|
6834
|
+
"",
|
|
6835
|
+
" { workflowName, runId, executionId, reason, detail? }",
|
|
6836
|
+
"",
|
|
6837
|
+
"Return `true` only when this call changed the durable run from running to",
|
|
6838
|
+
"terminal; return `false` when it was already terminal or absent. The true",
|
|
6839
|
+
"result is the once-only claim that owns the `onFailure` signal.",
|
|
6813
6840
|
"",
|
|
6814
|
-
"`
|
|
6815
|
-
"`
|
|
6816
|
-
"
|
|
6817
|
-
"its own active Sentry transactions, or set `rpcSpans: false` to keep page",
|
|
6818
|
-
"performance traces without rpc child spans.",
|
|
6841
|
+
"`listRunningRuns(workflowName)` rows now include `runId`, `workflowName`,",
|
|
6842
|
+
"`executionId`, `payload`, and epoch-ms `startedAt`. Filter by the exact",
|
|
6843
|
+
"workflow and `running` status before returning them.",
|
|
6819
6844
|
"",
|
|
6820
|
-
"`
|
|
6821
|
-
"
|
|
6822
|
-
"
|
|
6823
|
-
"trace context as a span link."
|
|
6845
|
+
"`onAbandoned` may receive `runId` and `executionId`; forward them to the",
|
|
6846
|
+
"failure report. They are populated for `timeouts.finish` and remain absent",
|
|
6847
|
+
"for failures that happen before a run exists."
|
|
6824
6848
|
].join("\n")
|
|
6825
6849
|
})
|
|
6826
6850
|
], Y = /* @__PURE__ */ new Set([
|
|
@@ -6835,12 +6859,12 @@ var C = (e, t, n) => {
|
|
|
6835
6859
|
".turbo",
|
|
6836
6860
|
".cache",
|
|
6837
6861
|
".output"
|
|
6838
|
-
]),
|
|
6862
|
+
]), Sa = () => [...[...Y].map((e) => `**/${e}/**`), "**/.voltro-*/**"], X = /(?:from|import)\s*\(?\s*['"]([^'"]+)['"]|require\s*\(\s*['"]([^'"]+)['"]\s*\)/g, Ca = /\.(?:tsx?|jsx?|mjs|cjs)$/, wa = (e) => g(e).replace(Ca, ""), Ta = (e) => {
|
|
6839
6863
|
let t = e.split("/").filter((e) => e.length > 0).pop();
|
|
6840
6864
|
if (t === void 0 || t === "." || t === "..") return;
|
|
6841
|
-
let n = t.replace(
|
|
6865
|
+
let n = t.replace(Ca, "");
|
|
6842
6866
|
return n.length > 0 ? n : void 0;
|
|
6843
|
-
},
|
|
6867
|
+
}, Ea = (e) => {
|
|
6844
6868
|
let t = /* @__PURE__ */ new Map();
|
|
6845
6869
|
for (let n of e) {
|
|
6846
6870
|
let e;
|
|
@@ -6851,24 +6875,24 @@ var C = (e, t, n) => {
|
|
|
6851
6875
|
}
|
|
6852
6876
|
X.lastIndex = 0;
|
|
6853
6877
|
for (let r = X.exec(e); r !== null; r = X.exec(e)) {
|
|
6854
|
-
let e =
|
|
6878
|
+
let e = Ta(r[1] ?? r[2] ?? "");
|
|
6855
6879
|
if (e === void 0) continue;
|
|
6856
6880
|
let i = t.get(e);
|
|
6857
6881
|
i === void 0 ? t.set(e, /* @__PURE__ */ new Set([n])) : i.add(n);
|
|
6858
6882
|
}
|
|
6859
6883
|
}
|
|
6860
6884
|
return t;
|
|
6861
|
-
},
|
|
6885
|
+
}, Da = (e, t) => {
|
|
6862
6886
|
let n = new Set(e);
|
|
6863
|
-
for (let r of e) for (let e of [
|
|
6887
|
+
for (let r of e) for (let e of [wa(r), g(_(r))]) {
|
|
6864
6888
|
let r = t.get(e);
|
|
6865
6889
|
if (r !== void 0) for (let e of r) n.add(e);
|
|
6866
6890
|
}
|
|
6867
6891
|
return n;
|
|
6868
|
-
},
|
|
6892
|
+
}, Oa = /* @__PURE__ */ ".ts,.tsx,.mts,.cts,.js,.jsx,.mjs,.cjs,.yml,.yaml,.toml,.json,.jsonc,.ini,.cfg,.conf,.sh,.bash,.zsh,.fish,.ps1,.bat,.cmd,.md,.mdx,.rst,.txt,.adoc,Makefile,makefile,GNUmakefile,Justfile,justfile,Dockerfile,Containerfile,Procfile,Jenkinsfile,Rakefile,Taskfile".split(","), ka = 2097152, Aa = 4e4, ja = (e) => {
|
|
6869
6893
|
let t = e.slice(e.lastIndexOf("/") + 1);
|
|
6870
|
-
return
|
|
6871
|
-
},
|
|
6894
|
+
return Oa.some((e) => e.startsWith(".") ? t.endsWith(e) : t === e);
|
|
6895
|
+
}, Ma = (e) => {
|
|
6872
6896
|
try {
|
|
6873
6897
|
let t = ne("git", [
|
|
6874
6898
|
"ls-files",
|
|
@@ -6889,19 +6913,19 @@ var C = (e, t, n) => {
|
|
|
6889
6913
|
} catch {
|
|
6890
6914
|
return;
|
|
6891
6915
|
}
|
|
6892
|
-
}, Z = (e, t =
|
|
6916
|
+
}, Z = (e, t = Ma) => {
|
|
6893
6917
|
let n = t(e);
|
|
6894
|
-
if (n === void 0) return
|
|
6918
|
+
if (n === void 0) return Na;
|
|
6895
6919
|
let r = /* @__PURE__ */ new Map(), i = [];
|
|
6896
6920
|
for (let t of n) {
|
|
6897
|
-
if (t.split("/").some((e) => Y.has(e)) || !
|
|
6898
|
-
if (r.size >=
|
|
6921
|
+
if (t.split("/").some((e) => Y.has(e)) || !ja(t)) continue;
|
|
6922
|
+
if (r.size >= Aa) {
|
|
6899
6923
|
i.push(t);
|
|
6900
6924
|
continue;
|
|
6901
6925
|
}
|
|
6902
6926
|
let n = v(e, t);
|
|
6903
6927
|
try {
|
|
6904
|
-
if (te(n).size >
|
|
6928
|
+
if (te(n).size > ka) {
|
|
6905
6929
|
i.push(t);
|
|
6906
6930
|
continue;
|
|
6907
6931
|
}
|
|
@@ -6925,45 +6949,45 @@ var C = (e, t, n) => {
|
|
|
6925
6949
|
scanned: r.size,
|
|
6926
6950
|
skipped: i
|
|
6927
6951
|
};
|
|
6928
|
-
},
|
|
6952
|
+
}, Na = {
|
|
6929
6953
|
find: () => [],
|
|
6930
6954
|
scanned: 0,
|
|
6931
6955
|
skipped: []
|
|
6932
|
-
},
|
|
6956
|
+
}, Pa = [
|
|
6933
6957
|
"**/*.ts",
|
|
6934
6958
|
"**/*.tsx",
|
|
6935
6959
|
"!**/node_modules/**",
|
|
6936
6960
|
"!**/dist/**",
|
|
6937
6961
|
"!**/.framework/**",
|
|
6938
6962
|
"!**/*.d.ts"
|
|
6939
|
-
], Q = (e, t, n =
|
|
6963
|
+
], Q = (e, t, n = La) => {
|
|
6940
6964
|
let r = /* @__PURE__ */ new Set();
|
|
6941
|
-
for (let e of t) for (let t of e.scope ??
|
|
6965
|
+
for (let e of t) for (let t of e.scope ?? Pa) r.add(t);
|
|
6942
6966
|
let i = n(e);
|
|
6943
6967
|
if (i !== void 0) {
|
|
6944
|
-
let t = [...r].filter((e) => !e.startsWith("!")).map((e) =>
|
|
6968
|
+
let t = [...r].filter((e) => !e.startsWith("!")).map((e) => Ia(e)), n = [...r].filter((e) => e.startsWith("!")).map((e) => Ia(e.slice(1))), a = [...Y], o = [];
|
|
6945
6969
|
for (let r of i) {
|
|
6946
6970
|
if (a.some((e) => r === e || r.startsWith(`${e}/`) || r.includes(`/${e}/`)) || !t.some((e) => e(r)) || n.some((e) => e(r))) continue;
|
|
6947
6971
|
let i = v(e, r);
|
|
6948
6972
|
y(i) && o.push(i);
|
|
6949
6973
|
}
|
|
6950
|
-
return
|
|
6974
|
+
return Fa(o.length, e), o;
|
|
6951
6975
|
}
|
|
6952
6976
|
let a = ae([...r], {
|
|
6953
6977
|
cwd: e,
|
|
6954
6978
|
absolute: !0,
|
|
6955
6979
|
expandDirectories: !1,
|
|
6956
6980
|
followSymbolicLinks: !1,
|
|
6957
|
-
ignore: [...
|
|
6981
|
+
ignore: [...Sa()]
|
|
6958
6982
|
});
|
|
6959
|
-
return
|
|
6960
|
-
},
|
|
6961
|
-
let n =
|
|
6983
|
+
return Fa(a.length, e), a;
|
|
6984
|
+
}, Fa = (e, t) => {
|
|
6985
|
+
let n = Ra();
|
|
6962
6986
|
if (!(e <= n)) throw Error(`voltro update: the codemod scan matched ${e} files under ${t}, past the ${n} ceiling.\n Every matched file is parsed into one ts-morph project, so the heap needed grows with\n this number — past the ceiling it runs out of memory, and V8 aborts without naming a\n limit, which is why this stops here instead. Three ways out, in order:\n • put non-source directories in .gitignore (inside a git repo the scan then never\n sees them at all — a build cache, a data dump, a virtualenv),\n • run \`voltro update\` from the app directory rather than the workspace root, or\n • take one codemod at a time: \`voltro update --dry-run\` lists the ids, then\n \`voltro update --codemods-only --only <id>\` runs a single one.\n If every one of those files really is source this pass must rewrite, raise the ceiling\n with VOLTRO_CODEMOD_MAX_FILES and give node room: NODE_OPTIONS=--max-old-space-size=8192.`);
|
|
6963
|
-
},
|
|
6987
|
+
}, Ia = (e) => {
|
|
6964
6988
|
let t = e.replace(/[.+^${}()|[\]\\]/g, "\\$&").replace(/\*\*\//g, "\0").replace(/\*\*/g, ".*").replace(/\*/g, "[^/]*").replace(/\u0000/g, "(?:.*/)?").replace(/\\\{([^}]*)\\\}/g, (e, t) => `(?:${t.split(",").join("|")})`);
|
|
6965
6989
|
return (e) => RegExp(`^${t}$`).test(e);
|
|
6966
|
-
},
|
|
6990
|
+
}, La = (e) => {
|
|
6967
6991
|
try {
|
|
6968
6992
|
let t = ne("git", [
|
|
6969
6993
|
"ls-files",
|
|
@@ -6984,7 +7008,7 @@ var C = (e, t, n) => {
|
|
|
6984
7008
|
} catch {
|
|
6985
7009
|
return;
|
|
6986
7010
|
}
|
|
6987
|
-
},
|
|
7011
|
+
}, Ra = () => {
|
|
6988
7012
|
let e = Number(process.env.VOLTRO_CODEMOD_MAX_FILES);
|
|
6989
7013
|
return Number.isInteger(e) && e > 0 ? e : 2e4;
|
|
6990
7014
|
}, $ = (e, t) => {
|
|
@@ -6994,7 +7018,7 @@ var C = (e, t, n) => {
|
|
|
6994
7018
|
if (t !== 0) return t;
|
|
6995
7019
|
}
|
|
6996
7020
|
return 0;
|
|
6997
|
-
},
|
|
7021
|
+
}, za = (e, t, n = J) => n.filter((n) => $(e, n.version) < 0 && $(n.version, t) <= 0).slice().sort(me), Ba = (e, t, n = () => {}, r = Na) => {
|
|
6998
7022
|
let i = [], a = [], o = [];
|
|
6999
7023
|
for (let s of t) {
|
|
7000
7024
|
let t = !s.appliesTo || s.appliesTo({
|
|
@@ -7045,8 +7069,8 @@ var C = (e, t, n) => {
|
|
|
7045
7069
|
manual: a,
|
|
7046
7070
|
skipped: o
|
|
7047
7071
|
};
|
|
7048
|
-
},
|
|
7049
|
-
let t = e.log ?? (() => {}), n =
|
|
7072
|
+
}, Va = async (e) => {
|
|
7073
|
+
let t = e.log ?? (() => {}), n = za(e.from, e.to, e.codemods ?? J), r = e.only === void 0 || e.only.length === 0 ? n : (() => {
|
|
7050
7074
|
let t = n.filter((t) => e.only.includes(t.id)), r = e.only.filter((e) => !n.some((t) => t.id === e));
|
|
7051
7075
|
if (r.length > 0) throw Error(`voltro update --only: no codemod in ${e.from} → ${e.to} has id ${r.map((e) => `"${e}"`).join(", ")}.\n Available for this jump:\n${n.map((e) => ` ${e.id}`).join("\n")}`);
|
|
7052
7076
|
return t;
|
|
@@ -7073,15 +7097,15 @@ var C = (e, t, n) => {
|
|
|
7073
7097
|
get skipped() {
|
|
7074
7098
|
return (p ??= Z(e.root)).skipped;
|
|
7075
7099
|
}
|
|
7076
|
-
}, h = c.length > 0 ?
|
|
7100
|
+
}, h = c.length > 0 ? Ea(Q(e.root, [{
|
|
7077
7101
|
...c[0],
|
|
7078
|
-
scope:
|
|
7102
|
+
scope: Pa
|
|
7079
7103
|
}])) : void 0;
|
|
7080
7104
|
for (let n of r) {
|
|
7081
7105
|
if (c.includes(n)) {
|
|
7082
7106
|
let r = a(), i = Q(e.root, [n]);
|
|
7083
|
-
for (let e of
|
|
7084
|
-
let s =
|
|
7107
|
+
for (let e of Da(i, h)) y(e) && r.addSourceFileAtPath(e);
|
|
7108
|
+
let s = Ba(r, [n], t, m);
|
|
7085
7109
|
e.dryRun || await r.save(), l.push(...s.applied), u.push(...s.manual), d.push(...s.skipped), o = void 0;
|
|
7086
7110
|
continue;
|
|
7087
7111
|
}
|
|
@@ -7090,7 +7114,7 @@ var C = (e, t, n) => {
|
|
|
7090
7114
|
for (let t of s) y(t) && e.addSourceFileAtPath(t);
|
|
7091
7115
|
return e;
|
|
7092
7116
|
})();
|
|
7093
|
-
let r =
|
|
7117
|
+
let r = Ba(o, [n], t, m);
|
|
7094
7118
|
e.dryRun || await o.save(), l.push(...r.applied), u.push(...r.manual), d.push(...r.skipped);
|
|
7095
7119
|
}
|
|
7096
7120
|
return {
|
|
@@ -7100,4 +7124,4 @@ var C = (e, t, n) => {
|
|
|
7100
7124
|
};
|
|
7101
7125
|
};
|
|
7102
7126
|
//#endregion
|
|
7103
|
-
export { T as i,
|
|
7127
|
+
export { T as i, Va as n, Y as r, $ as t };
|
|
@@ -91,7 +91,7 @@ var u = () => {
|
|
|
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-
|
|
94
|
+
run: (e) => import("./dev-BpMSAjMk.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 u = () => {
|
|
|
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-
|
|
112
|
+
run: (e) => import("./dashboardCommand-BsDfQa-g.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 u = () => {
|
|
|
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-
|
|
124
|
+
run: (e) => import("./checkCommand-nB68vIo_.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 u = () => {
|
|
|
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-
|
|
158
|
+
run: (e) => import("./webhooksCommand-Bgdli8dI.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 u = () => {
|
|
|
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-
|
|
174
|
+
run: (e) => import("./evolveCommand-B2iYAC9t.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 u = () => {
|
|
|
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-
|
|
191
|
+
run: (e) => import("./codegenCommand-YvqhgQBj.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"]],
|
|
@@ -281,7 +281,7 @@ var u = () => {
|
|
|
281
281
|
name: "info",
|
|
282
282
|
summary: "Report versions (CLI, node, every installed @voltro/* — flags lockstep skew), package manager, and dialect. --json for CI. Exits 1 on version skew.",
|
|
283
283
|
status: "wired",
|
|
284
|
-
run: (e) => import("./infoCommand-
|
|
284
|
+
run: (e) => import("./infoCommand-DjtMWLZl.js").then((t) => t.runInfoCommand(e)),
|
|
285
285
|
help: {
|
|
286
286
|
usage: "[--json]",
|
|
287
287
|
flags: [["--json", "machine-readable report"]],
|
|
@@ -302,7 +302,7 @@ var u = () => {
|
|
|
302
302
|
name: "env",
|
|
303
303
|
summary: "Inspect/sync the typed-env manifest. Subcommands: check (default), sync (.env.example), types (env.generated.d.ts for CI tsc), turbo.",
|
|
304
304
|
status: "wired",
|
|
305
|
-
run: (e) => import("./envCommand-
|
|
305
|
+
run: (e) => import("./envCommand-Yl4TGM4h.js").then((t) => t.runEnvCommand(e)),
|
|
306
306
|
help: {
|
|
307
307
|
usage: "[check|sync|types|turbo] [--force]",
|
|
308
308
|
flags: [["--force", "overwrite the generated file instead of refusing on a conflict"]],
|
|
@@ -331,12 +331,12 @@ var u = () => {
|
|
|
331
331
|
run: async (e) => {
|
|
332
332
|
let t = e.find((e) => !e.startsWith("-")) ?? process.cwd();
|
|
333
333
|
if (e.includes("--preflight")) {
|
|
334
|
-
let { runServePreflight: e } = await import("./doctorCommand-
|
|
334
|
+
let { runServePreflight: e } = await import("./doctorCommand-PHcqxpnx.js");
|
|
335
335
|
return e(s(t), !0);
|
|
336
336
|
}
|
|
337
337
|
let { tryRunWebServe: n } = await import("./webDev-CuG3Ged-.js"), r = await n(s(t));
|
|
338
338
|
if (!r.ran) {
|
|
339
|
-
let { runServeDispatch: t } = await import("./serveCommand-
|
|
339
|
+
let { runServeDispatch: t } = await import("./serveCommand-CZ0kgfIX.js");
|
|
340
340
|
return t(e);
|
|
341
341
|
}
|
|
342
342
|
return r.exitCode;
|
|
@@ -364,13 +364,13 @@ var u = () => {
|
|
|
364
364
|
handlesHelp: !0,
|
|
365
365
|
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.",
|
|
366
366
|
status: "wired",
|
|
367
|
-
run: (e) => import("./doctorCommand-
|
|
367
|
+
run: (e) => import("./doctorCommand-PHcqxpnx.js").then((t) => t.runDoctorCommand(e))
|
|
368
368
|
},
|
|
369
369
|
{
|
|
370
370
|
name: "build",
|
|
371
371
|
summary: "Production build for a web app (vite build + per-page SSG pre-render).",
|
|
372
372
|
status: "wired",
|
|
373
|
-
run: (e) => import("./build-
|
|
373
|
+
run: (e) => import("./build-B43mm2g2.js").then((t) => t.runBuildCommand(e)),
|
|
374
374
|
help: {
|
|
375
375
|
usage: "[app] [--target <t>]",
|
|
376
376
|
flags: [["--target <t>", "build target"], ["--report", "print what a visitor downloads: first load, chunks, server artefacts"]],
|
|
@@ -386,7 +386,7 @@ var u = () => {
|
|
|
386
386
|
name: "prune-runtime",
|
|
387
387
|
summary: "Trim a deployed web tree’s node_modules to the reachable runtime set (standalone image slimming).",
|
|
388
388
|
status: "wired",
|
|
389
|
-
run: (e) => import("./runtimeTrace-
|
|
389
|
+
run: (e) => import("./runtimeTrace-CQcn26bI.js").then((t) => t.runPruneRuntimeCommand(e)),
|
|
390
390
|
hidden: !0
|
|
391
391
|
},
|
|
392
392
|
{
|
|
@@ -404,7 +404,7 @@ var u = () => {
|
|
|
404
404
|
name: "dormancy",
|
|
405
405
|
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.",
|
|
406
406
|
status: "wired",
|
|
407
|
-
run: (e) => import("./dormancyCommand-
|
|
407
|
+
run: (e) => import("./dormancyCommand-DZpSCWy9.js").then((t) => t.runDormancyCommand(e)),
|
|
408
408
|
help: {
|
|
409
409
|
usage: "[app] [--port <n>] [--app-port <n>] [--idle-grace-ms <n>] [--tick-ms <n>]",
|
|
410
410
|
flags: [
|
|
@@ -491,7 +491,7 @@ var u = () => {
|
|
|
491
491
|
name: "data",
|
|
492
492
|
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.",
|
|
493
493
|
status: "wired",
|
|
494
|
-
run: (e) => import("./dataCommand-
|
|
494
|
+
run: (e) => import("./dataCommand-Cgdcl5M0.js").then((t) => t.runDataCommand(e)),
|
|
495
495
|
help: {
|
|
496
496
|
usage: e(i),
|
|
497
497
|
flags: [
|
|
@@ -555,20 +555,20 @@ var u = () => {
|
|
|
555
555
|
handlesHelp: !0,
|
|
556
556
|
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`.",
|
|
557
557
|
status: "wired",
|
|
558
|
-
run: (e) => import("./updateCommand-
|
|
558
|
+
run: (e) => import("./updateCommand-DA4OMF7u.js").then((t) => t.runUpdateCommand(e))
|
|
559
559
|
},
|
|
560
560
|
{
|
|
561
561
|
name: "_apply-codemods",
|
|
562
562
|
summary: "Internal: apply shipped codemods for a framework version jump (re-exec target of `voltro update`).",
|
|
563
563
|
status: "wired",
|
|
564
564
|
hidden: !0,
|
|
565
|
-
run: (e) => import("./updateCommand-
|
|
565
|
+
run: (e) => import("./updateCommand-DA4OMF7u.js").then((t) => t.runApplyCodemods(e))
|
|
566
566
|
},
|
|
567
567
|
{
|
|
568
568
|
name: "embeddings",
|
|
569
569
|
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.",
|
|
570
570
|
status: "wired",
|
|
571
|
-
run: (e) => import("./embeddingsCommand-
|
|
571
|
+
run: (e) => import("./embeddingsCommand-YR5Eif0k.js").then((t) => t.runEmbeddingsCommand(e)),
|
|
572
572
|
help: {
|
|
573
573
|
usage: "backfill <table> --text <field> --vector <field> [--model <m>] [--batch <n>] [--dry-run]",
|
|
574
574
|
flags: [
|
|
@@ -614,7 +614,7 @@ var u = () => {
|
|
|
614
614
|
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).",
|
|
615
615
|
status: "wired",
|
|
616
616
|
handlesHelp: !0,
|
|
617
|
-
run: (e) => import("./probeCommand-
|
|
617
|
+
run: (e) => import("./probeCommand-Dsu5if_4.js").then((t) => t.runProbeCommand(e))
|
|
618
618
|
},
|
|
619
619
|
{
|
|
620
620
|
name: "schedule",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { a as e, t } from "./subcommandNames-CDzfEtKV.js";
|
|
2
2
|
import { t as n } from "./cliError-BmdYnghb.js";
|
|
3
|
-
import { a as r, l as i, q as a, s as o } from "./dev-
|
|
3
|
+
import { a as r, l as i, q as a, s as o } from "./dev-BfUG0jrD.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";
|