@voltro/cli 0.10.0 → 0.11.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 (50) hide show
  1. package/CHANGELOG.md +84 -0
  2. package/dist/apiBuild-BCv3bekE.js +2 -0
  3. package/dist/{apiBuild-DTLPSlt9.js → apiBuild-BUbgGz73.js} +1 -1
  4. package/dist/bin.js +1 -1
  5. package/dist/{commands-B0QT8dUY.js → commands-C1qBfIBI.js} +34 -5
  6. package/dist/dev-DKASElZP.js +2 -0
  7. package/dist/{dev-CK9fbuAM.js → dev-ITlO-epO.js} +1248 -1226
  8. package/dist/index.js +1 -1
  9. package/dist/{serveCommand-YR3mKjvf.js → serveCommand-mpsE3vLY.js} +175 -171
  10. package/dist/serveEntry.js +2 -2
  11. package/package.json +17 -17
  12. package/templates/agent-docs/data.md +36 -0
  13. package/templates/agent-docs/database/seedsdialects.md +21 -1
  14. package/templates/apps/api-ai/package.json +7 -7
  15. package/templates/apps/api-auth/package.json +8 -8
  16. package/templates/apps/api-backend/package.json +7 -7
  17. package/templates/apps/api-backend-deactivation/package.json +7 -7
  18. package/templates/apps/api-backend-mail/package.json +8 -8
  19. package/templates/apps/api-backend-mariadb/package.json +9 -9
  20. package/templates/apps/api-backend-storage/package.json +8 -8
  21. package/templates/apps/api-data-advanced/package.json +8 -8
  22. package/templates/apps/api-durable/package.json +8 -8
  23. package/templates/apps/api-feature-flags/package.json +9 -9
  24. package/templates/apps/api-governance/package.json +8 -8
  25. package/templates/apps/api-kv/package.json +8 -8
  26. package/templates/apps/api-moderation/package.json +8 -8
  27. package/templates/apps/api-observability/package.json +8 -8
  28. package/templates/apps/api-ratelimit/package.json +8 -8
  29. package/templates/apps/api-rbac/package.json +8 -8
  30. package/templates/apps/api-rest/package.json +7 -7
  31. package/templates/apps/api-saas/package.json +11 -11
  32. package/templates/apps/api-search/package.json +8 -8
  33. package/templates/apps/api-versioning/package.json +8 -8
  34. package/templates/apps/api-webhooks/package.json +8 -8
  35. package/templates/apps/changelog/package.json +6 -6
  36. package/templates/apps/edge-functions/package.json +2 -2
  37. package/templates/apps/frontend-admin/package.json +8 -8
  38. package/templates/apps/frontend-app/package.json +8 -8
  39. package/templates/apps/frontend-blank/package.json +7 -7
  40. package/templates/apps/frontend-contact/package.json +7 -7
  41. package/templates/apps/frontend-dashboard/package.json +7 -7
  42. package/templates/apps/frontend-docs/package.json +7 -7
  43. package/templates/apps/frontend-i18n/package.json +6 -6
  44. package/templates/apps/frontend-landing/package.json +7 -7
  45. package/templates/apps/frontend-spa/package.json +7 -7
  46. package/templates/apps/frontend-ssr/package.json +7 -7
  47. package/templates/apps/frontend-ssr-api/package.json +8 -8
  48. package/templates/apps/frontend-static-blog/package.json +6 -6
  49. package/dist/apiBuild-BbR1nYcE.js +0 -2
  50. package/dist/dev-BJvbwjSz.js +0 -2
@@ -1,5 +1,5 @@
1
1
  import { N as e } from "./inspectMetrics-BeMjgt8x.js";
2
- import { ut as t } from "./dev-CK9fbuAM.js";
2
+ import { ut as t } from "./dev-ITlO-epO.js";
3
3
  import { a as n } from "./startupRunner-DhlX9nqd.js";
4
- import { t as r } from "./serveCommand-YR3mKjvf.js";
4
+ import { t as r } from "./serveCommand-mpsE3vLY.js";
5
5
  export { e as loadDotEnv, n as registerAppModules, t as registerDriver, r as runServe };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voltro/cli",
3
- "version": "0.10.0",
3
+ "version": "0.11.0",
4
4
  "description": "The `voltro` CLI — dev server, codegen, migrations, project scaffolding, agent-docs seeding, and production serve.",
5
5
  "keywords": [
6
6
  "voltro",
@@ -57,22 +57,22 @@
57
57
  "@effect/platform-node": "^0.107.0",
58
58
  "@effect/sql": "^0.51.1",
59
59
  "@effect/workflow": "^0.18.2",
60
- "@voltro/ai": "0.10.0",
61
- "@voltro/cache": "0.10.0",
62
- "@voltro/data-transfer": "0.10.0",
63
- "@voltro/database": "0.10.0",
64
- "@voltro/env": "0.10.0",
65
- "@voltro/kv": "0.10.0",
66
- "@voltro/logger": "0.10.0",
67
- "@voltro/plugin-auth": "0.10.0",
68
- "@voltro/plugin-broadcast": "0.10.0",
69
- "@voltro/plugin-mail": "0.10.0",
70
- "@voltro/plugin-storage": "0.10.0",
71
- "@voltro/plugin-webhooks": "0.10.0",
72
- "@voltro/protocol": "0.10.0",
73
- "@voltro/runtime": "0.10.0",
74
- "@voltro/serverless": "0.10.0",
75
- "@voltro/workflow": "0.10.0",
60
+ "@voltro/ai": "0.11.0",
61
+ "@voltro/cache": "0.11.0",
62
+ "@voltro/data-transfer": "0.11.0",
63
+ "@voltro/database": "0.11.0",
64
+ "@voltro/env": "0.11.0",
65
+ "@voltro/kv": "0.11.0",
66
+ "@voltro/logger": "0.11.0",
67
+ "@voltro/plugin-auth": "0.11.0",
68
+ "@voltro/plugin-broadcast": "0.11.0",
69
+ "@voltro/plugin-mail": "0.11.0",
70
+ "@voltro/plugin-storage": "0.11.0",
71
+ "@voltro/plugin-webhooks": "0.11.0",
72
+ "@voltro/protocol": "0.11.0",
73
+ "@voltro/runtime": "0.11.0",
74
+ "@voltro/serverless": "0.11.0",
75
+ "@voltro/workflow": "0.11.0",
76
76
  "chokidar": "^5.0.0",
77
77
  "ioredis": "^5.11.1",
78
78
  "tinyglobby": "^0.2.17",
@@ -1035,6 +1035,42 @@ never happen. Two rules follow, and the primitive enforces both:
1035
1035
  remaining undos. Cleanup failures come back in `compensationFailures`, so an
1036
1036
  orphan is something you can see rather than something you find later.
1037
1037
 
1038
+ **Undos are independent, so keep them idempotent — or say they overlap.** Every
1039
+ succeeded step's undo runs, and the runner cannot tell whether two of them
1040
+ reverse the same thing. If `deleteJiraDraftTicket` deletes the issue *and*
1041
+ discards the draft, the earlier `discardDraft` undo runs on something already
1042
+ gone. Harmless when discarding is idempotent; a real defect for a refund or a
1043
+ cancellation email. Declare the overlap instead of relying on luck:
1044
+
1045
+ ```tsx
1046
+ sequence()
1047
+ .step('draft', () => createDraft.run(input), { undo: (d) => discardDraft.run({ id: d.id }) })
1048
+ .step('jira', (c) => createTicket.run({ draftId: c.draft.id }), {
1049
+ undo: (t) => deleteJiraDraftTicket.run({ key: t.key }),
1050
+ covers: ['draft'],
1051
+ })
1052
+ ```
1053
+
1054
+ If the covering undo *fails*, the covered steps are neither run nor claimed —
1055
+ whether the cascade got that far is unknown, and both guesses are wrong. They
1056
+ come back in `compensationUncertain` so you can reconcile.
1057
+
1058
+ **One optional step is fine; a loop or a real branch is not.** `when` skips a
1059
+ step, and a skipped step contributes `undefined` to the context (the type says
1060
+ so) and gets no undo:
1061
+
1062
+ ```tsx
1063
+ sequence()
1064
+ .step('save', () => save.run(input))
1065
+ .step('summary', (c) => scheduleSummary.run({ id: c.save.id }), {
1066
+ when: (c) => c.save.changed,
1067
+ })
1068
+ ```
1069
+
1070
+ That is deliberately narrow: it catches "linear except for one `if`", which is a
1071
+ different shape from a loop. Loops and full branches still keep their
1072
+ `try/catch`.
1073
+
1038
1074
  **When the rollback has to survive a closed tab, this is the wrong tool.** Put
1039
1075
  the sequence in a [workflow](/docs/workflows/overview): the engine owns retries
1040
1076
  and compensation there, and a crash resumes instead of leaking.
@@ -38,7 +38,7 @@ export default defineSeed({
38
38
 
39
39
  Seeds are meant to be safe to re-run. The `upsertByUnique(table, matchFields, fullRow)` helper does "row matching `matchFields` exists? update it : insert it", returning `{ row, created }`. Use stable string ids (not random tokens) so subsequent runs match the same rows instead of duplicating.
40
40
 
41
- The runner also fingerprints each seed by hashing its source. On a `boot`-lifecycle seed it only re-runs when the fingerprint changes — so an unchanged seed doesn't re-execute on every `voltro dev` restart. The record lives in `_voltro_seeds`, one row per seed.
41
+ The runner also fingerprints each seed by hashing its source. On a `boot`-lifecycle seed it only re-runs when the fingerprint changes — so an unchanged seed doesn't re-execute on every `voltro dev` restart. The record lives in `_voltro_seeds`, one row per seed. If the runner cannot write it, it says so at **warn** level and names the seed — a ledger that silently fails to record looks exactly like a working one whose seeds all changed, so it is not something to find out from a debug stream.
42
42
 
43
43
  Two things the skip deliberately does **not** do. A **failed** run is recorded as failed and never satisfies the skip, so a broken seed retries on the next boot instead of disabling itself permanently. And if the ledger cannot be read at all — unmigrated database, memory store, missing table — every boot seed **runs**: re-doing idempotent work costs time, whereas skipping data restoration on a database we could not inspect costs data.
44
44
 
@@ -48,6 +48,26 @@ Override the fingerprint when the seed depends on external state (env vars) that
48
48
  fingerprint: ({ src }) => `${src}:${process.env.SEED_VERSION ?? ''}`,
49
49
  ```
50
50
 
51
+ ### What a step's `ctx.store` can do
52
+
53
+ `query` (full descriptor — `order` / `take` / `skip` / `projection`), `insert`,
54
+ **`insertIgnore`**, `update`, `delete`, plus the `upsertByUnique` helper.
55
+
56
+ Reach for `insertIgnore` when restoring a snapshot: it is one statement per row
57
+ and leaves an existing row alone. `upsertByUnique` costs a read per row and
58
+ *overwrites* what it finds, which is wrong whenever the live row is newer than
59
+ the snapshot.
60
+
61
+ ```ts
62
+ await ctx.store.insertIgnore('ai_models', row, { conflictColumns: ['id'] })
63
+ ```
64
+
65
+ **Reads are unscoped and include soft-deleted rows** — by construction, not by
66
+ flag. A seed runs at boot with no request, so there is no subject to scope to
67
+ and nothing applies the `deletedAt IS NULL` predicate. That is why there is no
68
+ `.unscoped()` / `.withDeleted()` to reach for: a seed already sees the whole
69
+ table. If you want one tenant's rows, say so in your own predicate.
70
+
51
71
  ## Lifecycles
52
72
 
53
73
  | `lifecycle` | Runs… | Requires |
@@ -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.10.0",
15
- "@voltro/cli": "0.10.0",
16
- "@voltro/database": "0.10.0",
17
- "@voltro/env": "0.10.0",
18
- "@voltro/protocol": "0.10.0",
19
- "@voltro/runtime": "0.10.0",
14
+ "@voltro/ai": "0.11.0",
15
+ "@voltro/cli": "0.11.0",
16
+ "@voltro/database": "0.11.0",
17
+ "@voltro/env": "0.11.0",
18
+ "@voltro/protocol": "0.11.0",
19
+ "@voltro/runtime": "0.11.0",
20
20
  "effect": "^3.21.2"
21
21
  },
22
22
  "devDependencies": {
23
- "@voltro/testing": "0.10.0",
23
+ "@voltro/testing": "0.11.0",
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.10.0",
16
- "@voltro/database": "0.10.0",
17
- "@voltro/env": "0.10.0",
18
- "@voltro/plugin-auth": "0.10.0",
19
- "@voltro/protocol": "0.10.0",
20
- "@voltro/runtime": "0.10.0",
21
- "@voltro/sql-postgres": "0.10.0",
15
+ "@voltro/cli": "0.11.0",
16
+ "@voltro/database": "0.11.0",
17
+ "@voltro/env": "0.11.0",
18
+ "@voltro/plugin-auth": "0.11.0",
19
+ "@voltro/protocol": "0.11.0",
20
+ "@voltro/runtime": "0.11.0",
21
+ "@voltro/sql-postgres": "0.11.0",
22
22
  "effect": "^3.21.2"
23
23
  },
24
24
  "devDependencies": {
25
- "@voltro/testing": "0.10.0",
25
+ "@voltro/testing": "0.11.0",
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.10.0",
16
- "@voltro/database": "0.10.0",
17
- "@voltro/env": "0.10.0",
18
- "@voltro/plugin-multitenancy": "0.10.0",
19
- "@voltro/protocol": "0.10.0",
20
- "@voltro/runtime": "0.10.0",
15
+ "@voltro/cli": "0.11.0",
16
+ "@voltro/database": "0.11.0",
17
+ "@voltro/env": "0.11.0",
18
+ "@voltro/plugin-multitenancy": "0.11.0",
19
+ "@voltro/protocol": "0.11.0",
20
+ "@voltro/runtime": "0.11.0",
21
21
  "effect": "^3.21.2"
22
22
  },
23
23
  "devDependencies": {
24
- "@voltro/testing": "0.10.0",
24
+ "@voltro/testing": "0.11.0",
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.10.0",
16
- "@voltro/database": "0.10.0",
17
- "@voltro/env": "0.10.0",
18
- "@voltro/plugin-deactivation": "0.10.0",
19
- "@voltro/protocol": "0.10.0",
20
- "@voltro/runtime": "0.10.0",
15
+ "@voltro/cli": "0.11.0",
16
+ "@voltro/database": "0.11.0",
17
+ "@voltro/env": "0.11.0",
18
+ "@voltro/plugin-deactivation": "0.11.0",
19
+ "@voltro/protocol": "0.11.0",
20
+ "@voltro/runtime": "0.11.0",
21
21
  "effect": "^3.21.2"
22
22
  },
23
23
  "devDependencies": {
24
- "@voltro/testing": "0.10.0",
24
+ "@voltro/testing": "0.11.0",
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.10.0",
16
- "@voltro/database": "0.10.0",
17
- "@voltro/env": "0.10.0",
18
- "@voltro/plugin-mail": "0.10.0",
19
- "@voltro/plugin-multitenancy": "0.10.0",
20
- "@voltro/protocol": "0.10.0",
21
- "@voltro/runtime": "0.10.0",
15
+ "@voltro/cli": "0.11.0",
16
+ "@voltro/database": "0.11.0",
17
+ "@voltro/env": "0.11.0",
18
+ "@voltro/plugin-mail": "0.11.0",
19
+ "@voltro/plugin-multitenancy": "0.11.0",
20
+ "@voltro/protocol": "0.11.0",
21
+ "@voltro/runtime": "0.11.0",
22
22
  "effect": "^3.21.2",
23
23
  "react": "^19.0.0"
24
24
  },
25
25
  "devDependencies": {
26
- "@voltro/testing": "0.10.0",
26
+ "@voltro/testing": "0.11.0",
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.10.0",
16
- "@voltro/database": "0.10.0",
17
- "@voltro/env": "0.10.0",
18
- "@voltro/plugin-multitenancy": "0.10.0",
19
- "@voltro/plugin-storage": "0.10.0",
20
- "@voltro/protocol": "0.10.0",
21
- "@voltro/runtime": "0.10.0",
22
- "@voltro/sql-mysql": "0.10.0",
15
+ "@voltro/cli": "0.11.0",
16
+ "@voltro/database": "0.11.0",
17
+ "@voltro/env": "0.11.0",
18
+ "@voltro/plugin-multitenancy": "0.11.0",
19
+ "@voltro/plugin-storage": "0.11.0",
20
+ "@voltro/protocol": "0.11.0",
21
+ "@voltro/runtime": "0.11.0",
22
+ "@voltro/sql-mysql": "0.11.0",
23
23
  "effect": "^3.21.2"
24
24
  },
25
25
  "devDependencies": {
26
- "@voltro/testing": "0.10.0",
26
+ "@voltro/testing": "0.11.0",
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.10.0",
14
- "@voltro/database": "0.10.0",
15
- "@voltro/env": "0.10.0",
16
- "@voltro/plugin-multitenancy": "0.10.0",
17
- "@voltro/plugin-storage": "0.10.0",
18
- "@voltro/protocol": "0.10.0",
19
- "@voltro/runtime": "0.10.0",
13
+ "@voltro/cli": "0.11.0",
14
+ "@voltro/database": "0.11.0",
15
+ "@voltro/env": "0.11.0",
16
+ "@voltro/plugin-multitenancy": "0.11.0",
17
+ "@voltro/plugin-storage": "0.11.0",
18
+ "@voltro/protocol": "0.11.0",
19
+ "@voltro/runtime": "0.11.0",
20
20
  "effect": "^3.21.2"
21
21
  },
22
22
  "devDependencies": {
23
- "@voltro/testing": "0.10.0",
23
+ "@voltro/testing": "0.11.0",
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.10.0",
15
- "@voltro/database": "0.10.0",
16
- "@voltro/env": "0.10.0",
17
- "@voltro/plugin-governance": "0.10.0",
18
- "@voltro/plugin-multitenancy": "0.10.0",
19
- "@voltro/protocol": "0.10.0",
20
- "@voltro/runtime": "0.10.0",
14
+ "@voltro/cli": "0.11.0",
15
+ "@voltro/database": "0.11.0",
16
+ "@voltro/env": "0.11.0",
17
+ "@voltro/plugin-governance": "0.11.0",
18
+ "@voltro/plugin-multitenancy": "0.11.0",
19
+ "@voltro/protocol": "0.11.0",
20
+ "@voltro/runtime": "0.11.0",
21
21
  "effect": "^3.21.2"
22
22
  },
23
23
  "devDependencies": {
24
- "@voltro/testing": "0.10.0",
24
+ "@voltro/testing": "0.11.0",
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.10.0",
15
- "@voltro/database": "0.10.0",
16
- "@voltro/env": "0.10.0",
17
- "@voltro/plugin-multitenancy": "0.10.0",
18
- "@voltro/protocol": "0.10.0",
19
- "@voltro/runtime": "0.10.0",
20
- "@voltro/workflow": "0.10.0",
14
+ "@voltro/cli": "0.11.0",
15
+ "@voltro/database": "0.11.0",
16
+ "@voltro/env": "0.11.0",
17
+ "@voltro/plugin-multitenancy": "0.11.0",
18
+ "@voltro/protocol": "0.11.0",
19
+ "@voltro/runtime": "0.11.0",
20
+ "@voltro/workflow": "0.11.0",
21
21
  "effect": "^3.21.2"
22
22
  },
23
23
  "devDependencies": {
24
- "@voltro/testing": "0.10.0",
24
+ "@voltro/testing": "0.11.0",
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.10.0",
16
- "@voltro/database": "0.10.0",
17
- "@voltro/env": "0.10.0",
18
- "@voltro/plugin-flags": "0.10.0",
19
- "@voltro/plugin-multitenancy": "0.10.0",
20
- "@voltro/protocol": "0.10.0",
21
- "@voltro/runtime": "0.10.0",
22
- "@voltro/sql-postgres": "0.10.0",
15
+ "@voltro/cli": "0.11.0",
16
+ "@voltro/database": "0.11.0",
17
+ "@voltro/env": "0.11.0",
18
+ "@voltro/plugin-flags": "0.11.0",
19
+ "@voltro/plugin-multitenancy": "0.11.0",
20
+ "@voltro/protocol": "0.11.0",
21
+ "@voltro/runtime": "0.11.0",
22
+ "@voltro/sql-postgres": "0.11.0",
23
23
  "effect": "^3.21.2"
24
24
  },
25
25
  "devDependencies": {
26
- "@voltro/testing": "0.10.0",
26
+ "@voltro/testing": "0.11.0",
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.10.0",
16
- "@voltro/database": "0.10.0",
17
- "@voltro/env": "0.10.0",
18
- "@voltro/plugin-audit": "0.10.0",
19
- "@voltro/plugin-governance": "0.10.0",
20
- "@voltro/protocol": "0.10.0",
21
- "@voltro/runtime": "0.10.0",
15
+ "@voltro/cli": "0.11.0",
16
+ "@voltro/database": "0.11.0",
17
+ "@voltro/env": "0.11.0",
18
+ "@voltro/plugin-audit": "0.11.0",
19
+ "@voltro/plugin-governance": "0.11.0",
20
+ "@voltro/protocol": "0.11.0",
21
+ "@voltro/runtime": "0.11.0",
22
22
  "effect": "^3.21.2"
23
23
  },
24
24
  "devDependencies": {
25
- "@voltro/testing": "0.10.0",
25
+ "@voltro/testing": "0.11.0",
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.10.0",
15
- "@voltro/database": "0.10.0",
16
- "@voltro/env": "0.10.0",
17
- "@voltro/kv": "0.10.0",
18
- "@voltro/plugin-multitenancy": "0.10.0",
19
- "@voltro/protocol": "0.10.0",
20
- "@voltro/runtime": "0.10.0",
14
+ "@voltro/cli": "0.11.0",
15
+ "@voltro/database": "0.11.0",
16
+ "@voltro/env": "0.11.0",
17
+ "@voltro/kv": "0.11.0",
18
+ "@voltro/plugin-multitenancy": "0.11.0",
19
+ "@voltro/protocol": "0.11.0",
20
+ "@voltro/runtime": "0.11.0",
21
21
  "effect": "^3.21.2"
22
22
  },
23
23
  "devDependencies": {
24
- "@voltro/testing": "0.10.0",
24
+ "@voltro/testing": "0.11.0",
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.10.0",
16
- "@voltro/database": "0.10.0",
17
- "@voltro/env": "0.10.0",
18
- "@voltro/plugin-moderation": "0.10.0",
19
- "@voltro/plugin-multitenancy": "0.10.0",
20
- "@voltro/protocol": "0.10.0",
21
- "@voltro/runtime": "0.10.0",
15
+ "@voltro/cli": "0.11.0",
16
+ "@voltro/database": "0.11.0",
17
+ "@voltro/env": "0.11.0",
18
+ "@voltro/plugin-moderation": "0.11.0",
19
+ "@voltro/plugin-multitenancy": "0.11.0",
20
+ "@voltro/protocol": "0.11.0",
21
+ "@voltro/runtime": "0.11.0",
22
22
  "effect": "^3.21.2"
23
23
  },
24
24
  "devDependencies": {
25
- "@voltro/testing": "0.10.0",
25
+ "@voltro/testing": "0.11.0",
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.10.0",
16
- "@voltro/database": "0.10.0",
17
- "@voltro/plugin-multitenancy": "0.10.0",
18
- "@voltro/plugin-prometheus": "0.10.0",
19
- "@voltro/plugin-sentry": "0.10.0",
20
- "@voltro/protocol": "0.10.0",
21
- "@voltro/runtime": "0.10.0",
15
+ "@voltro/cli": "0.11.0",
16
+ "@voltro/database": "0.11.0",
17
+ "@voltro/plugin-multitenancy": "0.11.0",
18
+ "@voltro/plugin-prometheus": "0.11.0",
19
+ "@voltro/plugin-sentry": "0.11.0",
20
+ "@voltro/protocol": "0.11.0",
21
+ "@voltro/runtime": "0.11.0",
22
22
  "effect": "^3.21.2"
23
23
  },
24
24
  "devDependencies": {
25
- "@voltro/testing": "0.10.0",
25
+ "@voltro/testing": "0.11.0",
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.10.0",
16
- "@voltro/database": "0.10.0",
17
- "@voltro/env": "0.10.0",
18
- "@voltro/plugin-multitenancy": "0.10.0",
19
- "@voltro/plugin-ratelimit": "0.10.0",
20
- "@voltro/protocol": "0.10.0",
21
- "@voltro/runtime": "0.10.0",
15
+ "@voltro/cli": "0.11.0",
16
+ "@voltro/database": "0.11.0",
17
+ "@voltro/env": "0.11.0",
18
+ "@voltro/plugin-multitenancy": "0.11.0",
19
+ "@voltro/plugin-ratelimit": "0.11.0",
20
+ "@voltro/protocol": "0.11.0",
21
+ "@voltro/runtime": "0.11.0",
22
22
  "effect": "^3.21.2"
23
23
  },
24
24
  "devDependencies": {
25
- "@voltro/testing": "0.10.0",
25
+ "@voltro/testing": "0.11.0",
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.10.0",
16
- "@voltro/database": "0.10.0",
17
- "@voltro/env": "0.10.0",
18
- "@voltro/plugin-multitenancy": "0.10.0",
19
- "@voltro/plugin-rbac": "0.10.0",
20
- "@voltro/protocol": "0.10.0",
21
- "@voltro/runtime": "0.10.0",
15
+ "@voltro/cli": "0.11.0",
16
+ "@voltro/database": "0.11.0",
17
+ "@voltro/env": "0.11.0",
18
+ "@voltro/plugin-multitenancy": "0.11.0",
19
+ "@voltro/plugin-rbac": "0.11.0",
20
+ "@voltro/protocol": "0.11.0",
21
+ "@voltro/runtime": "0.11.0",
22
22
  "effect": "^3.21.2"
23
23
  },
24
24
  "devDependencies": {
25
- "@voltro/testing": "0.10.0",
25
+ "@voltro/testing": "0.11.0",
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.10.0",
16
- "@voltro/database": "0.10.0",
17
- "@voltro/plugin-openapi": "0.10.0",
18
- "@voltro/protocol": "0.10.0",
19
- "@voltro/runtime": "0.10.0",
20
- "@voltro/sql-postgres": "0.10.0",
15
+ "@voltro/cli": "0.11.0",
16
+ "@voltro/database": "0.11.0",
17
+ "@voltro/plugin-openapi": "0.11.0",
18
+ "@voltro/protocol": "0.11.0",
19
+ "@voltro/runtime": "0.11.0",
20
+ "@voltro/sql-postgres": "0.11.0",
21
21
  "effect": "^3.21.2"
22
22
  },
23
23
  "devDependencies": {
24
- "@voltro/testing": "0.10.0",
24
+ "@voltro/testing": "0.11.0",
25
25
  "typescript": "^5.7.0",
26
26
  "vitest": "^3.0.0"
27
27
  }
@@ -12,20 +12,20 @@
12
12
  "dependencies": {
13
13
  "@effect/platform": "^0.96.1",
14
14
  "@effect/rpc": "^0.75.1",
15
- "@voltro/cli": "0.10.0",
16
- "@voltro/database": "0.10.0",
17
- "@voltro/plugin-analytics-postgres": "0.10.0",
18
- "@voltro/plugin-billing": "0.10.0",
19
- "@voltro/plugin-multitenancy": "0.10.0",
20
- "@voltro/plugin-notifications": "0.10.0",
21
- "@voltro/plugin-presence": "0.10.0",
22
- "@voltro/protocol": "0.10.0",
23
- "@voltro/runtime": "0.10.0",
24
- "@voltro/sql-postgres": "0.10.0",
15
+ "@voltro/cli": "0.11.0",
16
+ "@voltro/database": "0.11.0",
17
+ "@voltro/plugin-analytics-postgres": "0.11.0",
18
+ "@voltro/plugin-billing": "0.11.0",
19
+ "@voltro/plugin-multitenancy": "0.11.0",
20
+ "@voltro/plugin-notifications": "0.11.0",
21
+ "@voltro/plugin-presence": "0.11.0",
22
+ "@voltro/protocol": "0.11.0",
23
+ "@voltro/runtime": "0.11.0",
24
+ "@voltro/sql-postgres": "0.11.0",
25
25
  "effect": "^3.21.2"
26
26
  },
27
27
  "devDependencies": {
28
- "@voltro/testing": "0.10.0",
28
+ "@voltro/testing": "0.11.0",
29
29
  "typescript": "^5.7.0",
30
30
  "vitest": "^3.0.0"
31
31
  }