@voltro/cli 0.51.0 → 0.52.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 (164) hide show
  1. package/CHANGELOG.md +127 -0
  2. package/dist/{agentsMd-D6yD7IQv.js → agentsMd-0l980yhL.js} +4 -1
  3. package/dist/agentsMd-SDDSkyl4.js +2 -0
  4. package/dist/apiBuild-BYBpL7Pz.js +2 -0
  5. package/dist/{apiBuild-CPDHXF72.js → apiBuild-CSFI8QGq.js} +3 -3
  6. package/dist/bin.js +1 -1
  7. package/dist/build-CPgcMQug.js +793 -0
  8. package/dist/checkCommand-2SbqzukH.js +2 -0
  9. package/dist/{checkCommand-DNuPiWMc.js → checkCommand-COmqc2cB.js} +92 -46
  10. package/dist/{cloudCmd-F4YJeqM3.js → cloudCmd-QUXh-b5w.js} +1 -1
  11. package/dist/codegen-CctkDO-1.js +2 -0
  12. package/dist/{codegen-CrMXs4hb.js → codegen-VF479Cnb.js} +1 -1
  13. package/dist/{codegenCommand-BNBHcNNj.js → codegenCommand-DCdG2JN-.js} +12 -12
  14. package/dist/{codemodRunner-BDVixlSw.js → codemodRunner-r7J9lIa7.js} +588 -540
  15. package/dist/{commands-B1OiS9bX.js → commands-Cc_nV8WI.js} +35 -35
  16. package/dist/{dashboardCommand-C-vvPY1B.js → dashboardCommand-C-gKvwqh.js} +5 -5
  17. package/dist/{dataCommand-C1GxXW5q.js → dataCommand-BgpBHnlB.js} +27 -27
  18. package/dist/dbCommand-DNb6yeOG.js +2 -0
  19. package/dist/{dbCommand-If4Y1xQ-.js → dbCommand-sHedr-NJ.js} +2 -2
  20. package/dist/dev--A3nsxA3.js +3 -0
  21. package/dist/{dev-kdAg9Q7l.js → dev-CRHoCEiy.js} +2142 -2103
  22. package/dist/doctorCommand-CqoWA2p5.js +2 -0
  23. package/dist/{doctorCommand-nKmeW78u.js → doctorCommand-DtfJ3FA6.js} +314 -234
  24. package/dist/{dormancyCommand-CY3wa_SW.js → dormancyCommand-Drn7o0No.js} +1 -1
  25. package/dist/{embeddingsCommand-BDLIgje_.js → embeddingsCommand-Z-jO1fWN.js} +1 -1
  26. package/dist/{envCommand-C6V_xVlT.js → envCommand-D4gCrrTZ.js} +8 -8
  27. package/dist/{evolveCommand-D3c4DSfN.js → evolveCommand-CMROeKeA.js} +2 -2
  28. package/dist/fileConventions-DOqD3lPS.js +34 -0
  29. package/dist/{fileTaxonomy-CJfgOllU.js → fileTaxonomy-DvDUV9wq.js} +1 -1
  30. package/dist/frameworkTableAssembly-C6ETawPR.js +2 -0
  31. package/dist/{frameworkTableAssembly-BwJVEKLr.js → frameworkTableAssembly-w-XnLa3q.js} +1 -1
  32. package/dist/index.js +1 -1
  33. package/dist/{infoCommand-BnRFEF1o.js → infoCommand-DXM868o_.js} +1 -1
  34. package/dist/inspectMetrics-CGF94puw.js +143 -0
  35. package/dist/{metaCommands-CfRLra0s.js → metaCommands-C6RFmF1r.js} +2 -2
  36. package/dist/{migrate-DehuBakM.js → migrate-D0F-eTlK.js} +2 -2
  37. package/dist/{pageConvention-cEiRxdab.js → pageConvention-CzUiSbtU.js} +1 -1
  38. package/dist/{privacyCommand-XejDMvmu.js → privacyCommand-DGdopOI6.js} +1 -1
  39. package/dist/{projectScaffold-mIX_DpSe.js → projectScaffold-B4dmTlwT.js} +1 -1
  40. package/dist/{projectScaffold-BIl97_E6.js → projectScaffold-EzlErR4E.js} +1 -1
  41. package/dist/{renderModeScan-D7J1B7Kw.js → renderModeScan-CcH2X1_D.js} +25 -10
  42. package/dist/{renderProfile-1OWWAAtx.js → renderProfile-Ck32Fzxr.js} +2 -2
  43. package/dist/{runtimeTrace-ZsBU7Tkx.js → runtimeTrace-BPQyCmC5.js} +1 -1
  44. package/dist/{sdkgen-O4XqWOjM.js → sdkgen-Se88ifTd.js} +1 -1
  45. package/dist/serveCommand-DLc-BznW.js +2 -0
  46. package/dist/{serveCommand-DdiYNBBu.js → serveCommand-DkP3OT0W.js} +885 -868
  47. package/dist/serveEntry.js +1 -1
  48. package/dist/start-DfL3fOiN.js +3 -0
  49. package/dist/start-jw89Xbqy.js +1339 -0
  50. package/dist/startEntry.js +1 -1
  51. package/dist/{staticCommand-Dr2M6tpU.js → staticCommand-BwNEDlSU.js} +1 -1
  52. package/dist/{test-rXFq4S76.js → test-f3amja6a.js} +1 -1
  53. package/dist/updateCommand-5gFVfK5q.js +2 -0
  54. package/dist/{updateCommand-Bs322Q78.js → updateCommand-BMk2e4ky.js} +1 -1
  55. package/dist/{webDev-B-ubQEMX.js → webDev-BgWL9gKV.js} +1156 -835
  56. package/dist/webDev-CZbTsDcH.js +2 -0
  57. package/dist/{webhooksCommand-FLYY9IXh.js → webhooksCommand-CoIO3jbj.js} +1 -1
  58. package/package.json +30 -17
  59. package/templates/AGENTS.core.md +11 -0
  60. package/templates/AGENTS.md +15 -4
  61. package/templates/agent-docs/_index.md +4 -4
  62. package/templates/agent-docs/_manifest.json +11 -11
  63. package/templates/agent-docs/cli.md +96 -14
  64. package/templates/agent-docs/data.md +210 -7
  65. package/templates/agent-docs/database/schema.md +1 -1
  66. package/templates/agent-docs/database/seedsdialects.md +1 -1
  67. package/templates/agent-docs/deployment.md +22 -3
  68. package/templates/agent-docs/introduction.md +46 -0
  69. package/templates/agent-docs/local-first-mobile.md +34 -7
  70. package/templates/agent-docs/plugins/ai-flows.md +1 -1
  71. package/templates/agent-docs/plugins/audit.md +5 -5
  72. package/templates/agent-docs/plugins/cdc-out.md +2 -2
  73. package/templates/agent-docs/plugins/{versioning.md → row-history.md} +22 -22
  74. package/templates/agent-docs/plugins/storage.md +2 -2
  75. package/templates/agent-docs/plugins.md +29 -7
  76. package/templates/agent-docs/reference.md +39 -2
  77. package/templates/agent-docs/routing.md +341 -47
  78. package/templates/agent-docs/schema-driven-ui.md +78 -2
  79. package/templates/agent-docs/security.md +125 -8
  80. package/templates/agent-docs/templates/apibackends.md +14 -14
  81. package/templates/agent-docs/templates/overview.md +1 -1
  82. package/templates/agent-docs/whats-new.md +76 -53
  83. package/templates/apps/api-ai/package.json +6 -7
  84. package/templates/apps/api-ai/tests/summarize.test.ts +1 -1
  85. package/templates/apps/api-auth/package.json +8 -8
  86. package/templates/apps/api-backend/package.json +7 -7
  87. package/templates/apps/api-backend-deactivation/package.json +7 -7
  88. package/templates/apps/api-backend-mail/package.json +8 -8
  89. package/templates/apps/api-backend-mariadb/package.json +9 -9
  90. package/templates/apps/api-backend-sqlite/package.json +8 -8
  91. package/templates/apps/api-backend-storage/package.json +8 -8
  92. package/templates/apps/api-cms/package.json +9 -10
  93. package/templates/apps/api-collab/package.json +8 -8
  94. package/templates/apps/api-data-advanced/package.json +8 -8
  95. package/templates/apps/api-durable/package.json +8 -8
  96. package/templates/apps/api-feature-flags/package.json +9 -9
  97. package/templates/apps/api-governance/package.json +8 -8
  98. package/templates/apps/api-kv/package.json +8 -8
  99. package/templates/apps/api-moderation/package.json +8 -8
  100. package/templates/apps/api-observability/package.json +8 -8
  101. package/templates/apps/api-ratelimit/package.json +8 -8
  102. package/templates/apps/api-rbac/package.json +8 -8
  103. package/templates/apps/api-rest/package.json +7 -7
  104. package/templates/apps/{api-versioning → api-row-history}/README.md +3 -3
  105. package/templates/apps/{api-versioning → api-row-history}/actions/documents.asOf.action.server.ts +1 -1
  106. package/templates/apps/{api-versioning → api-row-history}/actions/documents.history.action.server.ts +1 -1
  107. package/templates/apps/{api-versioning → api-row-history}/app.config.ts +3 -3
  108. package/templates/apps/{api-versioning → api-row-history}/database/schema.ts +1 -1
  109. package/templates/apps/{api-versioning → api-row-history}/mutations/documents.create.mutation.server.ts +1 -1
  110. package/templates/apps/{api-versioning → api-row-history}/mutations/documents.create.mutation.ts +1 -1
  111. package/templates/apps/{api-versioning → api-row-history}/mutations/documents.update.mutation.ts +1 -1
  112. package/templates/apps/{api-versioning → api-row-history}/package.json +8 -8
  113. package/templates/apps/api-row-history/template.json +6 -0
  114. package/templates/apps/{api-versioning → api-row-history}/tests/documents.create.test.ts +1 -1
  115. package/templates/apps/api-saas/app.config.ts +1 -0
  116. package/templates/apps/api-saas/package.json +10 -11
  117. package/templates/apps/api-saas-starter/package.json +10 -10
  118. package/templates/apps/api-search/package.json +8 -8
  119. package/templates/apps/api-status/package.json +8 -8
  120. package/templates/apps/api-webhooks/package.json +9 -9
  121. package/templates/apps/changelog/package.json +6 -6
  122. package/templates/apps/edge-functions/package.json +2 -2
  123. package/templates/apps/frontend-admin/package.json +8 -8
  124. package/templates/apps/frontend-app/package.json +9 -9
  125. package/templates/apps/frontend-auth/package.json +8 -8
  126. package/templates/apps/frontend-blank/package.json +7 -7
  127. package/templates/apps/frontend-cms/package.json +9 -9
  128. package/templates/apps/frontend-collab/package.json +10 -10
  129. package/templates/apps/frontend-collab/src/pages/page.test.tsx +10 -9
  130. package/templates/apps/frontend-collab/src/pages/page.tsx +42 -65
  131. package/templates/apps/frontend-contact/package.json +7 -7
  132. package/templates/apps/frontend-dashboard/package.json +7 -7
  133. package/templates/apps/frontend-docs/package.json +6 -7
  134. package/templates/apps/frontend-i18n/package.json +6 -6
  135. package/templates/apps/frontend-landing/package.json +6 -7
  136. package/templates/apps/frontend-portal/package.json +8 -8
  137. package/templates/apps/frontend-saas/package.json +8 -8
  138. package/templates/apps/frontend-spa/package.json +7 -7
  139. package/templates/apps/frontend-ssr/package.json +7 -7
  140. package/templates/apps/frontend-ssr-api/package.json +8 -8
  141. package/templates/apps/frontend-static-blog/package.json +6 -6
  142. package/templates/apps/frontend-status/package.json +8 -8
  143. package/templates/apps/mobile-app/package.json +4 -4
  144. package/dist/agentsMd-Bu_XQgVf.js +0 -2
  145. package/dist/apiBuild-GDKuGOMV.js +0 -2
  146. package/dist/build-DETLZAFt.js +0 -752
  147. package/dist/checkCommand-CWcnDArJ.js +0 -2
  148. package/dist/codegen-DiMn2KkZ.js +0 -2
  149. package/dist/dbCommand-C27HIsGE.js +0 -2
  150. package/dist/dev-CK522MV5.js +0 -3
  151. package/dist/doctorCommand-BK4l18eG.js +0 -2
  152. package/dist/fileConventions-Cof68_BL.js +0 -33
  153. package/dist/frameworkTableAssembly-CVDB2hCq.js +0 -2
  154. package/dist/inspectMetrics-CfdKLh6t.js +0 -72
  155. package/dist/serveCommand-BRnPCxVd.js +0 -2
  156. package/dist/start-BLNmWkLa.js +0 -1154
  157. package/dist/start-Dzicuyw8.js +0 -3
  158. package/dist/updateCommand-eXB35SEv.js +0 -2
  159. package/dist/webDev-DposiF3j.js +0 -2
  160. package/templates/apps/api-versioning/template.json +0 -6
  161. /package/templates/apps/{api-versioning → api-row-history}/actions/documents.asOf.action.ts +0 -0
  162. /package/templates/apps/{api-versioning → api-row-history}/actions/documents.history.action.ts +0 -0
  163. /package/templates/apps/{api-versioning → api-row-history}/mutations/documents.update.mutation.server.ts +0 -0
  164. /package/templates/apps/{api-versioning → api-row-history}/tsconfig.json +0 -0
@@ -13,17 +13,17 @@
13
13
  "dependencies": {
14
14
  "@effect/platform": "^0.97.0",
15
15
  "@effect/rpc": "^0.76.0",
16
- "@voltro/cli": "0.51.0",
17
- "@voltro/database": "0.51.0",
18
- "@voltro/env": "0.51.0",
19
- "@voltro/local-first": "0.51.0",
20
- "@voltro/plugin-multitenancy": "0.51.0",
21
- "@voltro/protocol": "0.51.0",
22
- "@voltro/runtime": "0.51.0",
16
+ "@voltro/cli": "0.52.0",
17
+ "@voltro/database": "0.52.0",
18
+ "@voltro/env": "0.52.0",
19
+ "@voltro/local-first": "0.52.0",
20
+ "@voltro/plugin-multitenancy": "0.52.0",
21
+ "@voltro/protocol": "0.52.0",
22
+ "@voltro/runtime": "0.52.0",
23
23
  "effect": "^3.22.0"
24
24
  },
25
25
  "devDependencies": {
26
- "@voltro/testing": "0.51.0",
26
+ "@voltro/testing": "0.52.0",
27
27
  "typescript": "^6.0.3",
28
28
  "@vitest/coverage-v8": "^4.1.10",
29
29
  "vitest": "^4.1.10"
@@ -12,17 +12,17 @@
12
12
  "dependencies": {
13
13
  "@effect/platform": "^0.97.0",
14
14
  "@effect/rpc": "^0.76.0",
15
- "@voltro/cli": "0.51.0",
16
- "@voltro/database": "0.51.0",
17
- "@voltro/env": "0.51.0",
18
- "@voltro/plugin-governance": "0.51.0",
19
- "@voltro/plugin-multitenancy": "0.51.0",
20
- "@voltro/protocol": "0.51.0",
21
- "@voltro/runtime": "0.51.0",
15
+ "@voltro/cli": "0.52.0",
16
+ "@voltro/database": "0.52.0",
17
+ "@voltro/env": "0.52.0",
18
+ "@voltro/plugin-governance": "0.52.0",
19
+ "@voltro/plugin-multitenancy": "0.52.0",
20
+ "@voltro/protocol": "0.52.0",
21
+ "@voltro/runtime": "0.52.0",
22
22
  "effect": "^3.22.0"
23
23
  },
24
24
  "devDependencies": {
25
- "@voltro/testing": "0.51.0",
25
+ "@voltro/testing": "0.52.0",
26
26
  "typescript": "^6.0.3",
27
27
  "@vitest/coverage-v8": "^4.1.10",
28
28
  "vitest": "^4.1.10"
@@ -12,17 +12,17 @@
12
12
  "dependencies": {
13
13
  "@effect/platform": "^0.97.0",
14
14
  "@effect/rpc": "^0.76.0",
15
- "@voltro/cli": "0.51.0",
16
- "@voltro/database": "0.51.0",
17
- "@voltro/env": "0.51.0",
18
- "@voltro/plugin-multitenancy": "0.51.0",
19
- "@voltro/protocol": "0.51.0",
20
- "@voltro/runtime": "0.51.0",
21
- "@voltro/workflow": "0.51.0",
15
+ "@voltro/cli": "0.52.0",
16
+ "@voltro/database": "0.52.0",
17
+ "@voltro/env": "0.52.0",
18
+ "@voltro/plugin-multitenancy": "0.52.0",
19
+ "@voltro/protocol": "0.52.0",
20
+ "@voltro/runtime": "0.52.0",
21
+ "@voltro/workflow": "0.52.0",
22
22
  "effect": "^3.22.0"
23
23
  },
24
24
  "devDependencies": {
25
- "@voltro/testing": "0.51.0",
25
+ "@voltro/testing": "0.52.0",
26
26
  "typescript": "^6.0.3",
27
27
  "@vitest/coverage-v8": "^4.1.10",
28
28
  "vitest": "^4.1.10"
@@ -13,18 +13,18 @@
13
13
  "dependencies": {
14
14
  "@effect/platform": "^0.97.0",
15
15
  "@effect/rpc": "^0.76.0",
16
- "@voltro/cli": "0.51.0",
17
- "@voltro/database": "0.51.0",
18
- "@voltro/env": "0.51.0",
19
- "@voltro/plugin-flags": "0.51.0",
20
- "@voltro/plugin-multitenancy": "0.51.0",
21
- "@voltro/protocol": "0.51.0",
22
- "@voltro/runtime": "0.51.0",
23
- "@voltro/sql-postgres": "0.51.0",
16
+ "@voltro/cli": "0.52.0",
17
+ "@voltro/database": "0.52.0",
18
+ "@voltro/env": "0.52.0",
19
+ "@voltro/plugin-flags": "0.52.0",
20
+ "@voltro/plugin-multitenancy": "0.52.0",
21
+ "@voltro/protocol": "0.52.0",
22
+ "@voltro/runtime": "0.52.0",
23
+ "@voltro/sql-postgres": "0.52.0",
24
24
  "effect": "^3.22.0"
25
25
  },
26
26
  "devDependencies": {
27
- "@voltro/testing": "0.51.0",
27
+ "@voltro/testing": "0.52.0",
28
28
  "typescript": "^6.0.3",
29
29
  "@vitest/coverage-v8": "^4.1.10",
30
30
  "vitest": "^4.1.10"
@@ -13,17 +13,17 @@
13
13
  "dependencies": {
14
14
  "@effect/platform": "^0.97.0",
15
15
  "@effect/rpc": "^0.76.0",
16
- "@voltro/cli": "0.51.0",
17
- "@voltro/database": "0.51.0",
18
- "@voltro/env": "0.51.0",
19
- "@voltro/plugin-audit": "0.51.0",
20
- "@voltro/plugin-governance": "0.51.0",
21
- "@voltro/protocol": "0.51.0",
22
- "@voltro/runtime": "0.51.0",
16
+ "@voltro/cli": "0.52.0",
17
+ "@voltro/database": "0.52.0",
18
+ "@voltro/env": "0.52.0",
19
+ "@voltro/plugin-audit": "0.52.0",
20
+ "@voltro/plugin-governance": "0.52.0",
21
+ "@voltro/protocol": "0.52.0",
22
+ "@voltro/runtime": "0.52.0",
23
23
  "effect": "^3.22.0"
24
24
  },
25
25
  "devDependencies": {
26
- "@voltro/testing": "0.51.0",
26
+ "@voltro/testing": "0.52.0",
27
27
  "typescript": "^6.0.3",
28
28
  "@vitest/coverage-v8": "^4.1.10",
29
29
  "vitest": "^4.1.10"
@@ -12,17 +12,17 @@
12
12
  "dependencies": {
13
13
  "@effect/platform": "^0.97.0",
14
14
  "@effect/rpc": "^0.76.0",
15
- "@voltro/cli": "0.51.0",
16
- "@voltro/database": "0.51.0",
17
- "@voltro/env": "0.51.0",
18
- "@voltro/kv": "0.51.0",
19
- "@voltro/plugin-multitenancy": "0.51.0",
20
- "@voltro/protocol": "0.51.0",
21
- "@voltro/runtime": "0.51.0",
15
+ "@voltro/cli": "0.52.0",
16
+ "@voltro/database": "0.52.0",
17
+ "@voltro/env": "0.52.0",
18
+ "@voltro/kv": "0.52.0",
19
+ "@voltro/plugin-multitenancy": "0.52.0",
20
+ "@voltro/protocol": "0.52.0",
21
+ "@voltro/runtime": "0.52.0",
22
22
  "effect": "^3.22.0"
23
23
  },
24
24
  "devDependencies": {
25
- "@voltro/testing": "0.51.0",
25
+ "@voltro/testing": "0.52.0",
26
26
  "typescript": "^6.0.3",
27
27
  "@vitest/coverage-v8": "^4.1.10",
28
28
  "vitest": "^4.1.10"
@@ -13,17 +13,17 @@
13
13
  "dependencies": {
14
14
  "@effect/platform": "^0.97.0",
15
15
  "@effect/rpc": "^0.76.0",
16
- "@voltro/cli": "0.51.0",
17
- "@voltro/database": "0.51.0",
18
- "@voltro/env": "0.51.0",
19
- "@voltro/plugin-moderation": "0.51.0",
20
- "@voltro/plugin-multitenancy": "0.51.0",
21
- "@voltro/protocol": "0.51.0",
22
- "@voltro/runtime": "0.51.0",
16
+ "@voltro/cli": "0.52.0",
17
+ "@voltro/database": "0.52.0",
18
+ "@voltro/env": "0.52.0",
19
+ "@voltro/plugin-moderation": "0.52.0",
20
+ "@voltro/plugin-multitenancy": "0.52.0",
21
+ "@voltro/protocol": "0.52.0",
22
+ "@voltro/runtime": "0.52.0",
23
23
  "effect": "^3.22.0"
24
24
  },
25
25
  "devDependencies": {
26
- "@voltro/testing": "0.51.0",
26
+ "@voltro/testing": "0.52.0",
27
27
  "typescript": "^6.0.3",
28
28
  "@vitest/coverage-v8": "^4.1.10",
29
29
  "vitest": "^4.1.10"
@@ -13,17 +13,17 @@
13
13
  "dependencies": {
14
14
  "@effect/platform": "^0.97.0",
15
15
  "@effect/rpc": "^0.76.0",
16
- "@voltro/cli": "0.51.0",
17
- "@voltro/database": "0.51.0",
18
- "@voltro/plugin-multitenancy": "0.51.0",
19
- "@voltro/plugin-prometheus": "0.51.0",
20
- "@voltro/plugin-sentry": "0.51.0",
21
- "@voltro/protocol": "0.51.0",
22
- "@voltro/runtime": "0.51.0",
16
+ "@voltro/cli": "0.52.0",
17
+ "@voltro/database": "0.52.0",
18
+ "@voltro/plugin-multitenancy": "0.52.0",
19
+ "@voltro/plugin-prometheus": "0.52.0",
20
+ "@voltro/plugin-sentry": "0.52.0",
21
+ "@voltro/protocol": "0.52.0",
22
+ "@voltro/runtime": "0.52.0",
23
23
  "effect": "^3.22.0"
24
24
  },
25
25
  "devDependencies": {
26
- "@voltro/testing": "0.51.0",
26
+ "@voltro/testing": "0.52.0",
27
27
  "typescript": "^6.0.3",
28
28
  "@vitest/coverage-v8": "^4.1.10",
29
29
  "vitest": "^4.1.10"
@@ -13,17 +13,17 @@
13
13
  "dependencies": {
14
14
  "@effect/platform": "^0.97.0",
15
15
  "@effect/rpc": "^0.76.0",
16
- "@voltro/cli": "0.51.0",
17
- "@voltro/database": "0.51.0",
18
- "@voltro/env": "0.51.0",
19
- "@voltro/plugin-multitenancy": "0.51.0",
20
- "@voltro/plugin-ratelimit": "0.51.0",
21
- "@voltro/protocol": "0.51.0",
22
- "@voltro/runtime": "0.51.0",
16
+ "@voltro/cli": "0.52.0",
17
+ "@voltro/database": "0.52.0",
18
+ "@voltro/env": "0.52.0",
19
+ "@voltro/plugin-multitenancy": "0.52.0",
20
+ "@voltro/plugin-ratelimit": "0.52.0",
21
+ "@voltro/protocol": "0.52.0",
22
+ "@voltro/runtime": "0.52.0",
23
23
  "effect": "^3.22.0"
24
24
  },
25
25
  "devDependencies": {
26
- "@voltro/testing": "0.51.0",
26
+ "@voltro/testing": "0.52.0",
27
27
  "typescript": "^6.0.3",
28
28
  "@vitest/coverage-v8": "^4.1.10",
29
29
  "vitest": "^4.1.10"
@@ -13,17 +13,17 @@
13
13
  "dependencies": {
14
14
  "@effect/platform": "^0.97.0",
15
15
  "@effect/rpc": "^0.76.0",
16
- "@voltro/cli": "0.51.0",
17
- "@voltro/database": "0.51.0",
18
- "@voltro/env": "0.51.0",
19
- "@voltro/plugin-multitenancy": "0.51.0",
20
- "@voltro/plugin-rbac": "0.51.0",
21
- "@voltro/protocol": "0.51.0",
22
- "@voltro/runtime": "0.51.0",
16
+ "@voltro/cli": "0.52.0",
17
+ "@voltro/database": "0.52.0",
18
+ "@voltro/env": "0.52.0",
19
+ "@voltro/plugin-multitenancy": "0.52.0",
20
+ "@voltro/plugin-rbac": "0.52.0",
21
+ "@voltro/protocol": "0.52.0",
22
+ "@voltro/runtime": "0.52.0",
23
23
  "effect": "^3.22.0"
24
24
  },
25
25
  "devDependencies": {
26
- "@voltro/testing": "0.51.0",
26
+ "@voltro/testing": "0.52.0",
27
27
  "typescript": "^6.0.3",
28
28
  "@vitest/coverage-v8": "^4.1.10",
29
29
  "vitest": "^4.1.10"
@@ -13,16 +13,16 @@
13
13
  "dependencies": {
14
14
  "@effect/platform": "^0.97.0",
15
15
  "@effect/rpc": "^0.76.0",
16
- "@voltro/cli": "0.51.0",
17
- "@voltro/database": "0.51.0",
18
- "@voltro/plugin-openapi": "0.51.0",
19
- "@voltro/protocol": "0.51.0",
20
- "@voltro/runtime": "0.51.0",
21
- "@voltro/sql-postgres": "0.51.0",
16
+ "@voltro/cli": "0.52.0",
17
+ "@voltro/database": "0.52.0",
18
+ "@voltro/plugin-openapi": "0.52.0",
19
+ "@voltro/protocol": "0.52.0",
20
+ "@voltro/runtime": "0.52.0",
21
+ "@voltro/sql-postgres": "0.52.0",
22
22
  "effect": "^3.22.0"
23
23
  },
24
24
  "devDependencies": {
25
- "@voltro/testing": "0.51.0",
25
+ "@voltro/testing": "0.52.0",
26
26
  "typescript": "^6.0.3",
27
27
  "@vitest/coverage-v8": "^4.1.10",
28
28
  "vitest": "^4.1.10"
@@ -1,7 +1,7 @@
1
1
  # {{projectName}} / {{appName}}
2
2
 
3
- Voltro API scaffold (template: **api-versioning**) — full row history +
4
- time-travel with `@voltro/plugin-versioning`.
3
+ Voltro API scaffold (template: **api-row-history**) — full row history +
4
+ time-travel with `@voltro/plugin-row-history`.
5
5
 
6
6
  ## Boot
7
7
 
@@ -13,7 +13,7 @@ pnpm --filter @{{projectName}}/{{appName}} dev
13
13
 
14
14
  ## What this shows
15
15
 
16
- - **Every change snapshotted** — `versioningPlugin({ tables: ['documents'] })`
16
+ - **Every change snapshotted** — `rowHistoryPlugin({ tables: ['documents'] })`
17
17
  rides the post-commit ChangeEvent tap and records a FULL snapshot of every
18
18
  insert/update/delete. No code in your handlers.
19
19
  - **Read it back through handlers** —
@@ -1,5 +1,5 @@
1
1
  import type { AppContext } from '@voltro/runtime'
2
- import { rowAsOf } from '@voltro/plugin-versioning'
2
+ import { rowAsOf } from '@voltro/plugin-row-history'
3
3
 
4
4
  const execute = async (input: { id: string; at: number }, ctx: AppContext) => {
5
5
  const snapshot = await rowAsOf(ctx.store, 'documents', input.id, ctx.request.subject.tenantId, input.at)
@@ -1,5 +1,5 @@
1
1
  import type { AppContext } from '@voltro/runtime'
2
- import { rowHistory } from '@voltro/plugin-versioning'
2
+ import { rowHistory } from '@voltro/plugin-row-history'
3
3
 
4
4
  const execute = async (input: { id: string }, ctx: AppContext) => {
5
5
  const rows = await rowHistory(ctx.store, 'documents', input.id, ctx.request.subject.tenantId)
@@ -1,6 +1,6 @@
1
1
  // Row-history backend for the {{projectName}} project.
2
2
  //
3
- // `versioningPlugin()` rides the post-commit ChangeEvent tap and records a FULL
3
+ // `rowHistoryPlugin()` rides the post-commit ChangeEvent tap and records a FULL
4
4
  // snapshot of every insert/update/delete into row history. It covers every table
5
5
  // this app declares BY DEFAULT — `exclude: [someTable]` opts one out, and
6
6
  // `include: [pluginTable]` adds a plugin-owned one (those are out by default,
@@ -9,7 +9,7 @@
9
9
  // — time-travel). This is what-changed-to-what; `audit()` is who/when.
10
10
  // Memory history store — zero infra.
11
11
  import { defineEnv, envVar } from '@voltro/env'
12
- import { versioningPlugin } from '@voltro/plugin-versioning'
12
+ import { rowHistoryPlugin } from '@voltro/plugin-row-history'
13
13
 
14
14
  export const env = defineEnv({
15
15
  LOG_LEVEL: envVar.enum(['debug', 'info', 'warn', 'error'], { access: 'public', default: 'info' }),
@@ -20,7 +20,7 @@ export default {
20
20
  name: '{{capProjectName}}{{capAppName}}',
21
21
  store: 'memory' as const,
22
22
  plugins: [
23
- versioningPlugin({}),
23
+ rowHistoryPlugin({}),
24
24
  ],
25
25
  env,
26
26
  }
@@ -1,4 +1,4 @@
1
- // Schema for the {{projectName}} versioning backend — a `documents` table whose
1
+ // Schema for the {{projectName}} row-history backend — a `documents` table whose
2
2
  // every change is snapshotted into row history (see app.config.ts).
3
3
  // `actors` + `tenants` are the framework core tables.
4
4
 
@@ -1,6 +1,6 @@
1
1
  import type { AppContext } from '@voltro/runtime'
2
2
 
3
- // Plain insert — tenant() auto-fills tenantId. The versioning plugin records
3
+ // Plain insert — tenant() auto-fills tenantId. The row-history plugin records
4
4
  // version 1 from the post-commit change event.
5
5
  const execute = async (input: { title: string; content: string }, ctx: AppContext) =>
6
6
  ctx.store.insert('documents', { title: input.title, content: input.content })
@@ -1,4 +1,4 @@
1
- // Creates a document — version 1 in its history. The versioning plugin
1
+ // Creates a document — version 1 in its history. The row-history plugin
2
2
  // snapshots the insert automatically (no code here); read it back via the
3
3
  // documents.history / documents.asOf actions.
4
4
 
@@ -9,7 +9,7 @@ export const updateDocument = defineMutation({
9
9
  name: 'documents.update',
10
10
  target: { table: 'documents', op: 'update' },
11
11
  // Open: `tenant()` scopes the update, so a caller-supplied `id` from another
12
- // tenant matches no row. Nothing is destroyed either — the versioning plugin
12
+ // tenant matches no row. Nothing is destroyed either — the row-history plugin
13
13
  // snapshots the previous value, so every edit is recoverable through
14
14
  // `documents.history` / `documents.asOf`.
15
15
  //
@@ -13,17 +13,17 @@
13
13
  "dependencies": {
14
14
  "@effect/platform": "^0.97.0",
15
15
  "@effect/rpc": "^0.76.0",
16
- "@voltro/cli": "0.51.0",
17
- "@voltro/database": "0.51.0",
18
- "@voltro/env": "0.51.0",
19
- "@voltro/plugin-multitenancy": "0.51.0",
20
- "@voltro/plugin-versioning": "0.51.0",
21
- "@voltro/protocol": "0.51.0",
22
- "@voltro/runtime": "0.51.0",
16
+ "@voltro/cli": "0.52.0",
17
+ "@voltro/database": "0.52.0",
18
+ "@voltro/env": "0.52.0",
19
+ "@voltro/plugin-multitenancy": "0.52.0",
20
+ "@voltro/plugin-row-history": "0.52.0",
21
+ "@voltro/protocol": "0.52.0",
22
+ "@voltro/runtime": "0.52.0",
23
23
  "effect": "^3.22.0"
24
24
  },
25
25
  "devDependencies": {
26
- "@voltro/testing": "0.51.0",
26
+ "@voltro/testing": "0.52.0",
27
27
  "typescript": "^6.0.3",
28
28
  "@vitest/coverage-v8": "^4.1.10",
29
29
  "vitest": "^4.1.10"
@@ -0,0 +1,6 @@
1
+ {
2
+ "id": "api-row-history",
3
+ "kind": "api",
4
+ "summary": "Row history + time-travel — @voltro/plugin-row-history snapshots every insert/update/delete on your tables (every table by default; narrow with include/exclude) via the post-commit change tap; read every version with rowHistory() and the value at a past instant with rowAsOf(). audit() is who/when; this is what-changed-to-what. Memory store, zero infra.",
5
+ "tags": ["api", "row-history", "history", "audit-trail", "time-travel", "plugin"]
6
+ }
@@ -1,6 +1,6 @@
1
1
  // Unit test with `@voltro/testing` — no database, no running server. The base
2
2
  // `documents.create` mutation is a plain tenant()-scoped insert, so it's fully
3
- // unit-runnable. The row-HISTORY / as-of reads are populated by the versioning
3
+ // unit-runnable. The row-HISTORY / as-of reads are populated by the row-history
4
4
  // plugin's post-commit tap (not wired into the unit store), so those are
5
5
  // integration-tested elsewhere; here we cover the write + tenant isolation that
6
6
  // every version-1 snapshot is built from. Run with `voltro test` (vitest).
@@ -45,6 +45,7 @@ export default {
45
45
  // on the zero-infra memory store. To actually STORE + query events, add a
46
46
  // sink AND a SQL store (the postgres-lite sink needs a SqlClient):
47
47
  //
48
+ // pnpm add @voltro/plugin-analytics-postgres
48
49
  // import { postgresAnalytics } from '@voltro/plugin-analytics-postgres'
49
50
  // store: 'postgres' as const, // or 'sqlite' (file:./.voltro/db.sqlite)
50
51
  // analytics: postgresAnalytics(), // events → _voltro_events; aggregate/timeseries/topN
@@ -13,20 +13,19 @@
13
13
  "dependencies": {
14
14
  "@effect/platform": "^0.97.0",
15
15
  "@effect/rpc": "^0.76.0",
16
- "@voltro/cli": "0.51.0",
17
- "@voltro/database": "0.51.0",
18
- "@voltro/plugin-analytics-postgres": "0.51.0",
19
- "@voltro/plugin-billing": "0.51.0",
20
- "@voltro/plugin-multitenancy": "0.51.0",
21
- "@voltro/plugin-notifications": "0.51.0",
22
- "@voltro/plugin-presence": "0.51.0",
23
- "@voltro/protocol": "0.51.0",
24
- "@voltro/runtime": "0.51.0",
25
- "@voltro/sql-postgres": "0.51.0",
16
+ "@voltro/cli": "0.52.0",
17
+ "@voltro/database": "0.52.0",
18
+ "@voltro/plugin-billing": "0.52.0",
19
+ "@voltro/plugin-multitenancy": "0.52.0",
20
+ "@voltro/plugin-notifications": "0.52.0",
21
+ "@voltro/plugin-presence": "0.52.0",
22
+ "@voltro/protocol": "0.52.0",
23
+ "@voltro/runtime": "0.52.0",
24
+ "@voltro/sql-postgres": "0.52.0",
26
25
  "effect": "^3.22.0"
27
26
  },
28
27
  "devDependencies": {
29
- "@voltro/testing": "0.51.0",
28
+ "@voltro/testing": "0.52.0",
30
29
  "typescript": "^6.0.3",
31
30
  "@vitest/coverage-v8": "^4.1.10",
32
31
  "vitest": "^4.1.10"
@@ -16,19 +16,19 @@
16
16
  "dependencies": {
17
17
  "@effect/platform": "^0.97.0",
18
18
  "@effect/rpc": "^0.76.0",
19
- "@voltro/cli": "0.51.0",
20
- "@voltro/database": "0.51.0",
21
- "@voltro/env": "0.51.0",
22
- "@voltro/plugin-auth": "0.51.0",
23
- "@voltro/plugin-billing": "0.51.0",
24
- "@voltro/plugin-multitenancy": "0.51.0",
25
- "@voltro/protocol": "0.51.0",
26
- "@voltro/runtime": "0.51.0",
27
- "@voltro/sql-postgres": "0.51.0",
19
+ "@voltro/cli": "0.52.0",
20
+ "@voltro/database": "0.52.0",
21
+ "@voltro/env": "0.52.0",
22
+ "@voltro/plugin-auth": "0.52.0",
23
+ "@voltro/plugin-billing": "0.52.0",
24
+ "@voltro/plugin-multitenancy": "0.52.0",
25
+ "@voltro/protocol": "0.52.0",
26
+ "@voltro/runtime": "0.52.0",
27
+ "@voltro/sql-postgres": "0.52.0",
28
28
  "effect": "^3.22.0"
29
29
  },
30
30
  "devDependencies": {
31
- "@voltro/testing": "0.51.0",
31
+ "@voltro/testing": "0.52.0",
32
32
  "typescript": "^6.0.3",
33
33
  "@vitest/coverage-v8": "^4.1.10",
34
34
  "vitest": "^4.1.10"
@@ -13,17 +13,17 @@
13
13
  "dependencies": {
14
14
  "@effect/platform": "^0.97.0",
15
15
  "@effect/rpc": "^0.76.0",
16
- "@voltro/cli": "0.51.0",
17
- "@voltro/database": "0.51.0",
18
- "@voltro/env": "0.51.0",
19
- "@voltro/plugin-multitenancy": "0.51.0",
20
- "@voltro/plugin-search": "0.51.0",
21
- "@voltro/protocol": "0.51.0",
22
- "@voltro/runtime": "0.51.0",
16
+ "@voltro/cli": "0.52.0",
17
+ "@voltro/database": "0.52.0",
18
+ "@voltro/env": "0.52.0",
19
+ "@voltro/plugin-multitenancy": "0.52.0",
20
+ "@voltro/plugin-search": "0.52.0",
21
+ "@voltro/protocol": "0.52.0",
22
+ "@voltro/runtime": "0.52.0",
23
23
  "effect": "^3.22.0"
24
24
  },
25
25
  "devDependencies": {
26
- "@voltro/testing": "0.51.0",
26
+ "@voltro/testing": "0.52.0",
27
27
  "typescript": "^6.0.3",
28
28
  "@vitest/coverage-v8": "^4.1.10",
29
29
  "vitest": "^4.1.10"
@@ -13,17 +13,17 @@
13
13
  "dependencies": {
14
14
  "@effect/platform": "^0.97.0",
15
15
  "@effect/rpc": "^0.76.0",
16
- "@voltro/cli": "0.51.0",
17
- "@voltro/database": "0.51.0",
18
- "@voltro/env": "0.51.0",
19
- "@voltro/plugin-rbac": "0.51.0",
20
- "@voltro/protocol": "0.51.0",
21
- "@voltro/runtime": "0.51.0",
22
- "@voltro/sql-postgres": "0.51.0",
16
+ "@voltro/cli": "0.52.0",
17
+ "@voltro/database": "0.52.0",
18
+ "@voltro/env": "0.52.0",
19
+ "@voltro/plugin-rbac": "0.52.0",
20
+ "@voltro/protocol": "0.52.0",
21
+ "@voltro/runtime": "0.52.0",
22
+ "@voltro/sql-postgres": "0.52.0",
23
23
  "effect": "^3.22.0"
24
24
  },
25
25
  "devDependencies": {
26
- "@voltro/testing": "0.51.0",
26
+ "@voltro/testing": "0.52.0",
27
27
  "typescript": "^6.0.3",
28
28
  "@vitest/coverage-v8": "^4.1.10",
29
29
  "vitest": "^4.1.10"
@@ -13,18 +13,18 @@
13
13
  "dependencies": {
14
14
  "@effect/platform": "^0.97.0",
15
15
  "@effect/rpc": "^0.76.0",
16
- "@voltro/cli": "0.51.0",
17
- "@voltro/database": "0.51.0",
18
- "@voltro/env": "0.51.0",
19
- "@voltro/plugin-multitenancy": "0.51.0",
20
- "@voltro/plugin-webhooks": "0.51.0",
21
- "@voltro/protocol": "0.51.0",
22
- "@voltro/runtime": "0.51.0",
23
- "@voltro/sql-postgres": "0.51.0",
16
+ "@voltro/cli": "0.52.0",
17
+ "@voltro/database": "0.52.0",
18
+ "@voltro/env": "0.52.0",
19
+ "@voltro/plugin-multitenancy": "0.52.0",
20
+ "@voltro/plugin-webhooks": "0.52.0",
21
+ "@voltro/protocol": "0.52.0",
22
+ "@voltro/runtime": "0.52.0",
23
+ "@voltro/sql-postgres": "0.52.0",
24
24
  "effect": "^3.22.0"
25
25
  },
26
26
  "devDependencies": {
27
- "@voltro/testing": "0.51.0",
27
+ "@voltro/testing": "0.52.0",
28
28
  "typescript": "^6.0.3",
29
29
  "@vitest/coverage-v8": "^4.1.10",
30
30
  "vitest": "^4.1.10"
@@ -12,12 +12,12 @@
12
12
  "test": "voltro test"
13
13
  },
14
14
  "dependencies": {
15
- "@voltro/changelog": "0.51.0",
16
- "@voltro/cli": "0.51.0",
17
- "@voltro/client": "0.51.0",
18
- "@voltro/env": "0.51.0",
19
- "@voltro/i18n": "0.51.0",
20
- "@voltro/web": "0.51.0",
15
+ "@voltro/changelog": "0.52.0",
16
+ "@voltro/cli": "0.52.0",
17
+ "@voltro/client": "0.52.0",
18
+ "@voltro/env": "0.52.0",
19
+ "@voltro/i18n": "0.52.0",
20
+ "@voltro/web": "0.52.0",
21
21
  "react": "^19.0.0",
22
22
  "react-dom": "^19.0.0"
23
23
  },