@voltro/cli 0.2.1 → 0.2.2

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 (54) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/bin/voltro.mjs +20 -1
  3. package/dist/apiBuild-OpZROja5.js +2 -0
  4. package/dist/apiBuild-o70rjpVJ.js +184 -0
  5. package/dist/bin.js +2 -2
  6. package/dist/{commands-BgOfGwLc.js → commands-DQy4812j.js} +1992 -3032
  7. package/dist/{dev-BGYmeKEx.js → dev--jHe1vcu.js} +599 -595
  8. package/dist/dev-BKkZglQV.js +2 -0
  9. package/dist/index.js +1 -1
  10. package/dist/serveCommand-93rRdEp0.js +1077 -0
  11. package/dist/serveEntry.d.ts +22 -0
  12. package/dist/serveEntry.js +4 -0
  13. package/dist/startup.js +1 -1
  14. package/dist/{startupRunner-DAexyPkM.js → startupRunner-DhlX9nqd.js} +21 -9
  15. package/package.json +22 -17
  16. package/templates/agent-docs/deployment.md +12 -1
  17. package/templates/apps/api-ai/package.json +7 -7
  18. package/templates/apps/api-auth/package.json +8 -8
  19. package/templates/apps/api-backend/package.json +7 -7
  20. package/templates/apps/api-backend-deactivation/package.json +7 -7
  21. package/templates/apps/api-backend-mail/package.json +8 -8
  22. package/templates/apps/api-backend-mariadb/package.json +9 -9
  23. package/templates/apps/api-backend-storage/package.json +8 -8
  24. package/templates/apps/api-data-advanced/package.json +8 -8
  25. package/templates/apps/api-durable/package.json +8 -8
  26. package/templates/apps/api-feature-flags/package.json +9 -9
  27. package/templates/apps/api-governance/package.json +8 -8
  28. package/templates/apps/api-kv/package.json +8 -8
  29. package/templates/apps/api-moderation/package.json +8 -8
  30. package/templates/apps/api-observability/package.json +8 -8
  31. package/templates/apps/api-ratelimit/package.json +8 -8
  32. package/templates/apps/api-rbac/package.json +8 -8
  33. package/templates/apps/api-rest/package.json +7 -7
  34. package/templates/apps/api-saas/package.json +11 -11
  35. package/templates/apps/api-search/package.json +8 -8
  36. package/templates/apps/api-versioning/package.json +8 -8
  37. package/templates/apps/api-webhooks/package.json +8 -8
  38. package/templates/apps/changelog/package.json +6 -6
  39. package/templates/apps/edge-functions/package.json +2 -2
  40. package/templates/apps/frontend-admin/package.json +8 -8
  41. package/templates/apps/frontend-app/package.json +8 -8
  42. package/templates/apps/frontend-blank/package.json +7 -7
  43. package/templates/apps/frontend-contact/package.json +7 -7
  44. package/templates/apps/frontend-dashboard/package.json +7 -7
  45. package/templates/apps/frontend-docs/package.json +7 -7
  46. package/templates/apps/frontend-i18n/package.json +6 -6
  47. package/templates/apps/frontend-landing/package.json +7 -7
  48. package/templates/apps/frontend-spa/package.json +7 -7
  49. package/templates/apps/frontend-ssr/package.json +7 -7
  50. package/templates/apps/frontend-ssr-api/package.json +8 -8
  51. package/templates/apps/frontend-static-blog/package.json +6 -6
  52. package/dist/apiBuild-B0dd-oDo.js +0 -62
  53. package/dist/apiBuild-D09wjKKO.js +0 -2
  54. package/dist/dev-DoTIxucX.js +0 -2
@@ -0,0 +1,22 @@
1
+ declare type AppModule = Record<string, unknown>;
2
+
3
+ /** A lazy loader — used by the serve bundle so an app module is EVALUATED on
4
+ * first `importAppModule` (i.e. during `runServe`, AFTER `registerCoreTables`),
5
+ * not eagerly at bundle-import time (which would run before the core-table
6
+ * registration and blow up store construction). esbuild code-splitting keeps the
7
+ * loaded chunk on the SAME framework/effect instance as the bundle. */
8
+ declare type LazyAppModule = () => Promise<AppModule>;
9
+
10
+ export declare const loadDotEnv: (argv: ReadonlyArray<string>) => void;
11
+
12
+ /** Register prebuilt app modules keyed by ABSOLUTE source path. Values may be the
13
+ * module namespace directly (the eager `apiEntry.js` bundle) OR a lazy
14
+ * `() => import(...)` loader (the serve bundle). Called once by `voltro serve`. */
15
+ export declare const registerAppModules: (mods: Readonly<Record<string, AppModule | LazyAppModule>>) => void;
16
+
17
+ /** Register a driver module pre-bundled by `voltro build` (keyed by package spec). */
18
+ export declare const registerDriver: (spec: string, mod: Record<string, unknown>) => void;
19
+
20
+ export declare const runServe: (args: ReadonlyArray<string>) => Promise<number>;
21
+
22
+ export { }
@@ -0,0 +1,4 @@
1
+ import { At as e, nt as t } from "./dev--jHe1vcu.js";
2
+ import { a as n } from "./startupRunner-DhlX9nqd.js";
3
+ import { t as r } from "./serveCommand-93rRdEp0.js";
4
+ export { e as loadDotEnv, n as registerAppModules, t as registerDriver, r as runServe };
package/dist/startup.js CHANGED
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "./startupRunner-DAexyPkM.js";
1
+ import { n as e, t } from "./startupRunner-DhlX9nqd.js";
2
2
  export { t as loadStartupFiles, e as runStartups };
@@ -2,31 +2,43 @@ import { basename as e } from "node:path";
2
2
  import { pathToFileURL as t } from "node:url";
3
3
  import { publishServerError as n } from "@voltro/protocol";
4
4
  //#region src/appModuleLoader.ts
5
- var r = /* @__PURE__ */ new Map(), i = (e) => {
5
+ var r = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map(), a = (e) => {
6
6
  for (let [t, n] of Object.entries(e)) r.set(t, n);
7
- }, a = async (e) => r.get(e) || await import(t(e).href), o = (e) => e.replace(/\.startup\.tsx?$/, ""), s = async (t, n) => {
7
+ }, o = () => r.size > 0, s = async (e) => {
8
+ let n = i.get(e);
9
+ if (n) return n;
10
+ let a = r.get(e);
11
+ if (a !== void 0) {
12
+ if (typeof a == "function") {
13
+ let t = await a();
14
+ return i.set(e, t), t;
15
+ }
16
+ return a;
17
+ }
18
+ return await import(t(e).href);
19
+ }, c = (e) => e.replace(/\.startup\.tsx?$/, ""), l = async (t, n) => {
8
20
  let r = [];
9
21
  for (let i of t) {
10
22
  let t;
11
23
  try {
12
- t = await a(i);
24
+ t = await s(i);
13
25
  } catch (e) {
14
26
  n.warn("startup: failed to import", { file: i }, e);
15
27
  continue;
16
28
  }
17
- let s = t.default;
18
- if (typeof s != "function") {
29
+ let a = t.default;
30
+ if (typeof a != "function") {
19
31
  n.warn("startup: no default-export function", { file: i });
20
32
  continue;
21
33
  }
22
34
  r.push({
23
35
  file: i,
24
- id: o(e(i)),
25
- fn: s
36
+ id: c(e(i)),
37
+ fn: a
26
38
  });
27
39
  }
28
40
  return r;
29
- }, c = async (e, t, r) => {
41
+ }, u = async (e, t, r) => {
30
42
  let i = [];
31
43
  for (let a of e) {
32
44
  let e = r.child(`startup:${a.id}`), o = {
@@ -70,4 +82,4 @@ var r = /* @__PURE__ */ new Map(), i = (e) => {
70
82
  } };
71
83
  };
72
84
  //#endregion
73
- export { i, c as n, a as r, s as t };
85
+ export { a, s as i, u as n, o as r, l as t };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voltro/cli",
3
- "version": "0.2.1",
3
+ "version": "0.2.2",
4
4
  "description": "The `voltro` CLI — dev server, codegen, migrations, project scaffolding, agent-docs seeding, and production serve.",
5
5
  "keywords": [
6
6
  "voltro",
@@ -35,6 +35,11 @@
35
35
  "types": "./dist/startup.d.ts",
36
36
  "import": "./dist/startup.js",
37
37
  "default": "./dist/startup.js"
38
+ },
39
+ "./serveEntry": {
40
+ "types": "./dist/serveEntry.d.ts",
41
+ "import": "./dist/serveEntry.js",
42
+ "default": "./dist/serveEntry.js"
38
43
  }
39
44
  },
40
45
  "main": "./dist/index.js",
@@ -49,22 +54,22 @@
49
54
  "@effect/workflow": "^0.18.2",
50
55
  "@tailwindcss/vite": "^4.3.2",
51
56
  "@vitejs/plugin-react": "^6.0.3",
52
- "@voltro/ai": "0.2.1",
53
- "@voltro/cache": "0.2.1",
54
- "@voltro/data-transfer": "0.2.1",
55
- "@voltro/database": "0.2.1",
56
- "@voltro/env": "0.2.1",
57
- "@voltro/kv": "0.2.1",
58
- "@voltro/logger": "0.2.1",
59
- "@voltro/plugin-auth": "0.2.1",
60
- "@voltro/plugin-broadcast": "0.2.1",
61
- "@voltro/plugin-mail": "0.2.1",
62
- "@voltro/plugin-storage": "0.2.1",
63
- "@voltro/plugin-webhooks": "0.2.1",
64
- "@voltro/protocol": "0.2.1",
65
- "@voltro/runtime": "0.2.1",
66
- "@voltro/serverless": "0.2.1",
67
- "@voltro/workflow": "0.2.1",
57
+ "@voltro/ai": "0.2.2",
58
+ "@voltro/cache": "0.2.2",
59
+ "@voltro/data-transfer": "0.2.2",
60
+ "@voltro/database": "0.2.2",
61
+ "@voltro/env": "0.2.2",
62
+ "@voltro/kv": "0.2.2",
63
+ "@voltro/logger": "0.2.2",
64
+ "@voltro/plugin-auth": "0.2.2",
65
+ "@voltro/plugin-broadcast": "0.2.2",
66
+ "@voltro/plugin-mail": "0.2.2",
67
+ "@voltro/plugin-storage": "0.2.2",
68
+ "@voltro/plugin-webhooks": "0.2.2",
69
+ "@voltro/protocol": "0.2.2",
70
+ "@voltro/runtime": "0.2.2",
71
+ "@voltro/serverless": "0.2.2",
72
+ "@voltro/workflow": "0.2.2",
68
73
  "chokidar": "^5.0.0",
69
74
  "esbuild": "^0.28.0",
70
75
  "ioredis": "^5.11.1",
@@ -392,7 +392,7 @@ The phases, in boot order:
392
392
 
393
393
  | Phase | What it covers |
394
394
  | --- | --- |
395
- | `modules` | node init + loading and compiling the JS module graph (the framework + your app). On a scale-to-zero container this is almost always the dominant phase — it is the cost of evaluating the dependency graph on a cold process, and it scales inversely with your CPU allotment. No app-level change shrinks it — **precompiling the app (`voltro build`) removes only the transpile of your own source files, not the framework graph load.** |
395
+ | `modules` | node init + loading and compiling the JS module graph (the framework + your app). On a scale-to-zero container this is almost always the dominant phase — it is the cost of evaluating the dependency graph on a cold process, and it scales inversely with your CPU allotment. **Precompiling the app (`voltro build`) collapses this phase** see [Precompiled boot](#precompiled-boot) below. |
396
396
  | `config` | loading `app.config.ts` + the typed-env gate |
397
397
  | `discover` | walking the app + loading discovered primitives (plus the precompiled bundle, when `voltro build` produced one) |
398
398
  | `store` | opening the data store + cache/kv facades — a real SQL dialect includes the connection handshake here |
@@ -402,6 +402,17 @@ The phases, in boot order:
402
402
 
403
403
  Read this from the container's own logs at its real CPU allotment, not a beefy dev machine: a `modules` phase that dwarfs everything else means the cold start is dominated by evaluating the dependency graph (raise the container's CPU, or keep one instance warm); a fat `store` phase points at the database connection instead. `VOLTRO_BOOT_TIMING` adds a handful of `performance.now()` calls and one log line — it is safe to leave on in production.
404
404
 
405
+ ## Precompiled boot
406
+
407
+ `voltro build` precompiles the whole serve path — the framework, Effect, and your app — into a single **serve bundle**, and `voltro serve` boots from it directly. Instead of resolving and compiling the full module graph on every cold process, the boot loads one prebuilt file with your app modules as lazy chunks. This collapses the `modules` phase — `serve: ready` drops from ~1000 ms to ~180 ms; the win is larger on a scale-to-zero container with a cold filesystem, where per-module resolution costs the most. It applies whether your app uses a SQL driver or the memory store: your declared driver (e.g. `@voltro/sql-postgres`) is inlined into the bundle, and only its native binding (`pg`) stays external.
408
+
409
+ ```bash
410
+ voltro build ./apps/api # produces .framework/dist-api/serveBundle/
411
+ voltro serve ./apps/api # boots from the bundle automatically
412
+ ```
413
+
414
+ There is nothing to configure and nothing to opt into: building an API app produces the bundle, and `voltro serve` prefers it whenever it is present. It is fully fallback-safe — a missing, stale, or unreadable bundle silently degrades to the standard boot path, so a bad build can never stop the app from serving. A container image that runs `voltro build` at build time and `voltro serve` at start gets the fast boot for free.
415
+
405
416
  ## Tiers (Voltro Cloud — coming soon)
406
417
 
407
418
  Managed cloud hosting is not yet available; the Pro / Enterprise rows below are the planned managed tiers. Today you self-host and run `voltro dormancy` yourself.
@@ -11,16 +11,16 @@
11
11
  "dependencies": {
12
12
  "@effect/platform": "^0.96.1",
13
13
  "@effect/rpc": "^0.75.1",
14
- "@voltro/ai": "0.2.1",
15
- "@voltro/cli": "0.2.1",
16
- "@voltro/database": "0.2.1",
17
- "@voltro/env": "0.2.1",
18
- "@voltro/protocol": "0.2.1",
19
- "@voltro/runtime": "0.2.1",
14
+ "@voltro/ai": "0.2.2",
15
+ "@voltro/cli": "0.2.2",
16
+ "@voltro/database": "0.2.2",
17
+ "@voltro/env": "0.2.2",
18
+ "@voltro/protocol": "0.2.2",
19
+ "@voltro/runtime": "0.2.2",
20
20
  "effect": "^3.21.2"
21
21
  },
22
22
  "devDependencies": {
23
- "@voltro/testing": "0.2.1",
23
+ "@voltro/testing": "0.2.2",
24
24
  "typescript": "^5.7.0",
25
25
  "vitest": "^3.0.0"
26
26
  }
@@ -12,17 +12,17 @@
12
12
  "dependencies": {
13
13
  "@effect/platform": "^0.96.1",
14
14
  "@effect/rpc": "^0.75.1",
15
- "@voltro/cli": "0.2.1",
16
- "@voltro/database": "0.2.1",
17
- "@voltro/env": "0.2.1",
18
- "@voltro/plugin-auth": "0.2.1",
19
- "@voltro/protocol": "0.2.1",
20
- "@voltro/runtime": "0.2.1",
21
- "@voltro/sql-postgres": "0.2.1",
15
+ "@voltro/cli": "0.2.2",
16
+ "@voltro/database": "0.2.2",
17
+ "@voltro/env": "0.2.2",
18
+ "@voltro/plugin-auth": "0.2.2",
19
+ "@voltro/protocol": "0.2.2",
20
+ "@voltro/runtime": "0.2.2",
21
+ "@voltro/sql-postgres": "0.2.2",
22
22
  "effect": "^3.21.2"
23
23
  },
24
24
  "devDependencies": {
25
- "@voltro/testing": "0.2.1",
25
+ "@voltro/testing": "0.2.2",
26
26
  "typescript": "^5.7.0",
27
27
  "vitest": "^3.0.0"
28
28
  }
@@ -12,16 +12,16 @@
12
12
  "dependencies": {
13
13
  "@effect/platform": "^0.96.1",
14
14
  "@effect/rpc": "^0.75.1",
15
- "@voltro/cli": "0.2.1",
16
- "@voltro/database": "0.2.1",
17
- "@voltro/env": "0.2.1",
18
- "@voltro/plugin-multitenancy": "0.2.1",
19
- "@voltro/protocol": "0.2.1",
20
- "@voltro/runtime": "0.2.1",
15
+ "@voltro/cli": "0.2.2",
16
+ "@voltro/database": "0.2.2",
17
+ "@voltro/env": "0.2.2",
18
+ "@voltro/plugin-multitenancy": "0.2.2",
19
+ "@voltro/protocol": "0.2.2",
20
+ "@voltro/runtime": "0.2.2",
21
21
  "effect": "^3.21.2"
22
22
  },
23
23
  "devDependencies": {
24
- "@voltro/testing": "0.2.1",
24
+ "@voltro/testing": "0.2.2",
25
25
  "typescript": "^5.7.0",
26
26
  "vitest": "^3.0.0"
27
27
  }
@@ -12,16 +12,16 @@
12
12
  "dependencies": {
13
13
  "@effect/platform": "^0.96.1",
14
14
  "@effect/rpc": "^0.75.1",
15
- "@voltro/cli": "0.2.1",
16
- "@voltro/database": "0.2.1",
17
- "@voltro/env": "0.2.1",
18
- "@voltro/plugin-deactivation": "0.2.1",
19
- "@voltro/protocol": "0.2.1",
20
- "@voltro/runtime": "0.2.1",
15
+ "@voltro/cli": "0.2.2",
16
+ "@voltro/database": "0.2.2",
17
+ "@voltro/env": "0.2.2",
18
+ "@voltro/plugin-deactivation": "0.2.2",
19
+ "@voltro/protocol": "0.2.2",
20
+ "@voltro/runtime": "0.2.2",
21
21
  "effect": "^3.21.2"
22
22
  },
23
23
  "devDependencies": {
24
- "@voltro/testing": "0.2.1",
24
+ "@voltro/testing": "0.2.2",
25
25
  "typescript": "^5.7.0",
26
26
  "vitest": "^3.0.0"
27
27
  }
@@ -12,18 +12,18 @@
12
12
  "dependencies": {
13
13
  "@react-email/components": "^1.0.12",
14
14
  "@react-email/render": "^1.4.0",
15
- "@voltro/cli": "0.2.1",
16
- "@voltro/database": "0.2.1",
17
- "@voltro/env": "0.2.1",
18
- "@voltro/plugin-mail": "0.2.1",
19
- "@voltro/plugin-multitenancy": "0.2.1",
20
- "@voltro/protocol": "0.2.1",
21
- "@voltro/runtime": "0.2.1",
15
+ "@voltro/cli": "0.2.2",
16
+ "@voltro/database": "0.2.2",
17
+ "@voltro/env": "0.2.2",
18
+ "@voltro/plugin-mail": "0.2.2",
19
+ "@voltro/plugin-multitenancy": "0.2.2",
20
+ "@voltro/protocol": "0.2.2",
21
+ "@voltro/runtime": "0.2.2",
22
22
  "effect": "^3.21.2",
23
23
  "react": "^19.0.0"
24
24
  },
25
25
  "devDependencies": {
26
- "@voltro/testing": "0.2.1",
26
+ "@voltro/testing": "0.2.2",
27
27
  "typescript": "^5.7.0",
28
28
  "vitest": "^3.0.0"
29
29
  }
@@ -12,18 +12,18 @@
12
12
  "dependencies": {
13
13
  "@effect/platform": "^0.96.1",
14
14
  "@effect/rpc": "^0.75.1",
15
- "@voltro/cli": "0.2.1",
16
- "@voltro/database": "0.2.1",
17
- "@voltro/env": "0.2.1",
18
- "@voltro/plugin-multitenancy": "0.2.1",
19
- "@voltro/plugin-storage": "0.2.1",
20
- "@voltro/protocol": "0.2.1",
21
- "@voltro/runtime": "0.2.1",
22
- "@voltro/sql-mysql": "0.2.1",
15
+ "@voltro/cli": "0.2.2",
16
+ "@voltro/database": "0.2.2",
17
+ "@voltro/env": "0.2.2",
18
+ "@voltro/plugin-multitenancy": "0.2.2",
19
+ "@voltro/plugin-storage": "0.2.2",
20
+ "@voltro/protocol": "0.2.2",
21
+ "@voltro/runtime": "0.2.2",
22
+ "@voltro/sql-mysql": "0.2.2",
23
23
  "effect": "^3.21.2"
24
24
  },
25
25
  "devDependencies": {
26
- "@voltro/testing": "0.2.1",
26
+ "@voltro/testing": "0.2.2",
27
27
  "typescript": "^5.7.0",
28
28
  "vitest": "^3.0.0"
29
29
  }
@@ -10,17 +10,17 @@
10
10
  "test": "voltro test"
11
11
  },
12
12
  "dependencies": {
13
- "@voltro/cli": "0.2.1",
14
- "@voltro/database": "0.2.1",
15
- "@voltro/env": "0.2.1",
16
- "@voltro/plugin-multitenancy": "0.2.1",
17
- "@voltro/plugin-storage": "0.2.1",
18
- "@voltro/protocol": "0.2.1",
19
- "@voltro/runtime": "0.2.1",
13
+ "@voltro/cli": "0.2.2",
14
+ "@voltro/database": "0.2.2",
15
+ "@voltro/env": "0.2.2",
16
+ "@voltro/plugin-multitenancy": "0.2.2",
17
+ "@voltro/plugin-storage": "0.2.2",
18
+ "@voltro/protocol": "0.2.2",
19
+ "@voltro/runtime": "0.2.2",
20
20
  "effect": "^3.21.2"
21
21
  },
22
22
  "devDependencies": {
23
- "@voltro/testing": "0.2.1",
23
+ "@voltro/testing": "0.2.2",
24
24
  "typescript": "^5.7.0",
25
25
  "vitest": "^3.0.0"
26
26
  }
@@ -11,17 +11,17 @@
11
11
  "dependencies": {
12
12
  "@effect/platform": "^0.96.1",
13
13
  "@effect/rpc": "^0.75.1",
14
- "@voltro/cli": "0.2.1",
15
- "@voltro/database": "0.2.1",
16
- "@voltro/env": "0.2.1",
17
- "@voltro/plugin-governance": "0.2.1",
18
- "@voltro/plugin-multitenancy": "0.2.1",
19
- "@voltro/protocol": "0.2.1",
20
- "@voltro/runtime": "0.2.1",
14
+ "@voltro/cli": "0.2.2",
15
+ "@voltro/database": "0.2.2",
16
+ "@voltro/env": "0.2.2",
17
+ "@voltro/plugin-governance": "0.2.2",
18
+ "@voltro/plugin-multitenancy": "0.2.2",
19
+ "@voltro/protocol": "0.2.2",
20
+ "@voltro/runtime": "0.2.2",
21
21
  "effect": "^3.21.2"
22
22
  },
23
23
  "devDependencies": {
24
- "@voltro/testing": "0.2.1",
24
+ "@voltro/testing": "0.2.2",
25
25
  "typescript": "^5.7.0",
26
26
  "vitest": "^3.0.0"
27
27
  }
@@ -11,17 +11,17 @@
11
11
  "dependencies": {
12
12
  "@effect/platform": "^0.96.1",
13
13
  "@effect/rpc": "^0.75.1",
14
- "@voltro/cli": "0.2.1",
15
- "@voltro/database": "0.2.1",
16
- "@voltro/env": "0.2.1",
17
- "@voltro/plugin-multitenancy": "0.2.1",
18
- "@voltro/protocol": "0.2.1",
19
- "@voltro/runtime": "0.2.1",
20
- "@voltro/workflow": "0.2.1",
14
+ "@voltro/cli": "0.2.2",
15
+ "@voltro/database": "0.2.2",
16
+ "@voltro/env": "0.2.2",
17
+ "@voltro/plugin-multitenancy": "0.2.2",
18
+ "@voltro/protocol": "0.2.2",
19
+ "@voltro/runtime": "0.2.2",
20
+ "@voltro/workflow": "0.2.2",
21
21
  "effect": "^3.21.2"
22
22
  },
23
23
  "devDependencies": {
24
- "@voltro/testing": "0.2.1",
24
+ "@voltro/testing": "0.2.2",
25
25
  "typescript": "^5.7.0",
26
26
  "vitest": "^3.0.0"
27
27
  }
@@ -12,18 +12,18 @@
12
12
  "dependencies": {
13
13
  "@effect/platform": "^0.96.1",
14
14
  "@effect/rpc": "^0.75.1",
15
- "@voltro/cli": "0.2.1",
16
- "@voltro/database": "0.2.1",
17
- "@voltro/env": "0.2.1",
18
- "@voltro/plugin-flags": "0.2.1",
19
- "@voltro/plugin-multitenancy": "0.2.1",
20
- "@voltro/protocol": "0.2.1",
21
- "@voltro/runtime": "0.2.1",
22
- "@voltro/sql-postgres": "0.2.1",
15
+ "@voltro/cli": "0.2.2",
16
+ "@voltro/database": "0.2.2",
17
+ "@voltro/env": "0.2.2",
18
+ "@voltro/plugin-flags": "0.2.2",
19
+ "@voltro/plugin-multitenancy": "0.2.2",
20
+ "@voltro/protocol": "0.2.2",
21
+ "@voltro/runtime": "0.2.2",
22
+ "@voltro/sql-postgres": "0.2.2",
23
23
  "effect": "^3.21.2"
24
24
  },
25
25
  "devDependencies": {
26
- "@voltro/testing": "0.2.1",
26
+ "@voltro/testing": "0.2.2",
27
27
  "typescript": "^5.7.0",
28
28
  "vitest": "^3.0.0"
29
29
  }
@@ -12,17 +12,17 @@
12
12
  "dependencies": {
13
13
  "@effect/platform": "^0.96.1",
14
14
  "@effect/rpc": "^0.75.1",
15
- "@voltro/cli": "0.2.1",
16
- "@voltro/database": "0.2.1",
17
- "@voltro/env": "0.2.1",
18
- "@voltro/plugin-audit": "0.2.1",
19
- "@voltro/plugin-governance": "0.2.1",
20
- "@voltro/protocol": "0.2.1",
21
- "@voltro/runtime": "0.2.1",
15
+ "@voltro/cli": "0.2.2",
16
+ "@voltro/database": "0.2.2",
17
+ "@voltro/env": "0.2.2",
18
+ "@voltro/plugin-audit": "0.2.2",
19
+ "@voltro/plugin-governance": "0.2.2",
20
+ "@voltro/protocol": "0.2.2",
21
+ "@voltro/runtime": "0.2.2",
22
22
  "effect": "^3.21.2"
23
23
  },
24
24
  "devDependencies": {
25
- "@voltro/testing": "0.2.1",
25
+ "@voltro/testing": "0.2.2",
26
26
  "typescript": "^5.7.0",
27
27
  "vitest": "^3.0.0"
28
28
  }
@@ -11,17 +11,17 @@
11
11
  "dependencies": {
12
12
  "@effect/platform": "^0.96.1",
13
13
  "@effect/rpc": "^0.75.1",
14
- "@voltro/cli": "0.2.1",
15
- "@voltro/database": "0.2.1",
16
- "@voltro/env": "0.2.1",
17
- "@voltro/kv": "0.2.1",
18
- "@voltro/plugin-multitenancy": "0.2.1",
19
- "@voltro/protocol": "0.2.1",
20
- "@voltro/runtime": "0.2.1",
14
+ "@voltro/cli": "0.2.2",
15
+ "@voltro/database": "0.2.2",
16
+ "@voltro/env": "0.2.2",
17
+ "@voltro/kv": "0.2.2",
18
+ "@voltro/plugin-multitenancy": "0.2.2",
19
+ "@voltro/protocol": "0.2.2",
20
+ "@voltro/runtime": "0.2.2",
21
21
  "effect": "^3.21.2"
22
22
  },
23
23
  "devDependencies": {
24
- "@voltro/testing": "0.2.1",
24
+ "@voltro/testing": "0.2.2",
25
25
  "typescript": "^5.7.0",
26
26
  "vitest": "^3.0.0"
27
27
  }
@@ -12,17 +12,17 @@
12
12
  "dependencies": {
13
13
  "@effect/platform": "^0.96.1",
14
14
  "@effect/rpc": "^0.75.1",
15
- "@voltro/cli": "0.2.1",
16
- "@voltro/database": "0.2.1",
17
- "@voltro/env": "0.2.1",
18
- "@voltro/plugin-moderation": "0.2.1",
19
- "@voltro/plugin-multitenancy": "0.2.1",
20
- "@voltro/protocol": "0.2.1",
21
- "@voltro/runtime": "0.2.1",
15
+ "@voltro/cli": "0.2.2",
16
+ "@voltro/database": "0.2.2",
17
+ "@voltro/env": "0.2.2",
18
+ "@voltro/plugin-moderation": "0.2.2",
19
+ "@voltro/plugin-multitenancy": "0.2.2",
20
+ "@voltro/protocol": "0.2.2",
21
+ "@voltro/runtime": "0.2.2",
22
22
  "effect": "^3.21.2"
23
23
  },
24
24
  "devDependencies": {
25
- "@voltro/testing": "0.2.1",
25
+ "@voltro/testing": "0.2.2",
26
26
  "typescript": "^5.7.0",
27
27
  "vitest": "^3.0.0"
28
28
  }
@@ -12,17 +12,17 @@
12
12
  "dependencies": {
13
13
  "@effect/platform": "^0.96.1",
14
14
  "@effect/rpc": "^0.75.1",
15
- "@voltro/cli": "0.2.1",
16
- "@voltro/database": "0.2.1",
17
- "@voltro/plugin-multitenancy": "0.2.1",
18
- "@voltro/plugin-prometheus": "0.2.1",
19
- "@voltro/plugin-sentry": "0.2.1",
20
- "@voltro/protocol": "0.2.1",
21
- "@voltro/runtime": "0.2.1",
15
+ "@voltro/cli": "0.2.2",
16
+ "@voltro/database": "0.2.2",
17
+ "@voltro/plugin-multitenancy": "0.2.2",
18
+ "@voltro/plugin-prometheus": "0.2.2",
19
+ "@voltro/plugin-sentry": "0.2.2",
20
+ "@voltro/protocol": "0.2.2",
21
+ "@voltro/runtime": "0.2.2",
22
22
  "effect": "^3.21.2"
23
23
  },
24
24
  "devDependencies": {
25
- "@voltro/testing": "0.2.1",
25
+ "@voltro/testing": "0.2.2",
26
26
  "typescript": "^5.7.0",
27
27
  "vitest": "^3.0.0"
28
28
  }
@@ -12,17 +12,17 @@
12
12
  "dependencies": {
13
13
  "@effect/platform": "^0.96.1",
14
14
  "@effect/rpc": "^0.75.1",
15
- "@voltro/cli": "0.2.1",
16
- "@voltro/database": "0.2.1",
17
- "@voltro/env": "0.2.1",
18
- "@voltro/plugin-multitenancy": "0.2.1",
19
- "@voltro/plugin-ratelimit": "0.2.1",
20
- "@voltro/protocol": "0.2.1",
21
- "@voltro/runtime": "0.2.1",
15
+ "@voltro/cli": "0.2.2",
16
+ "@voltro/database": "0.2.2",
17
+ "@voltro/env": "0.2.2",
18
+ "@voltro/plugin-multitenancy": "0.2.2",
19
+ "@voltro/plugin-ratelimit": "0.2.2",
20
+ "@voltro/protocol": "0.2.2",
21
+ "@voltro/runtime": "0.2.2",
22
22
  "effect": "^3.21.2"
23
23
  },
24
24
  "devDependencies": {
25
- "@voltro/testing": "0.2.1",
25
+ "@voltro/testing": "0.2.2",
26
26
  "typescript": "^5.7.0",
27
27
  "vitest": "^3.0.0"
28
28
  }
@@ -12,17 +12,17 @@
12
12
  "dependencies": {
13
13
  "@effect/platform": "^0.96.1",
14
14
  "@effect/rpc": "^0.75.1",
15
- "@voltro/cli": "0.2.1",
16
- "@voltro/database": "0.2.1",
17
- "@voltro/env": "0.2.1",
18
- "@voltro/plugin-multitenancy": "0.2.1",
19
- "@voltro/plugin-rbac": "0.2.1",
20
- "@voltro/protocol": "0.2.1",
21
- "@voltro/runtime": "0.2.1",
15
+ "@voltro/cli": "0.2.2",
16
+ "@voltro/database": "0.2.2",
17
+ "@voltro/env": "0.2.2",
18
+ "@voltro/plugin-multitenancy": "0.2.2",
19
+ "@voltro/plugin-rbac": "0.2.2",
20
+ "@voltro/protocol": "0.2.2",
21
+ "@voltro/runtime": "0.2.2",
22
22
  "effect": "^3.21.2"
23
23
  },
24
24
  "devDependencies": {
25
- "@voltro/testing": "0.2.1",
25
+ "@voltro/testing": "0.2.2",
26
26
  "typescript": "^5.7.0",
27
27
  "vitest": "^3.0.0"
28
28
  }