@voltro/cli 0.30.0 → 0.30.1

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 (78) hide show
  1. package/CHANGELOG.md +71 -0
  2. package/dist/apiBuild-Ca6Sq5jy.js +2 -0
  3. package/dist/{apiBuild-BceikpQf.js → apiBuild-DmkzRyv7.js} +2 -2
  4. package/dist/bin.js +3 -3
  5. package/dist/{checkCommand-BMr-X48w.js → checkCommand-C4konUy9.js} +422 -298
  6. package/dist/checkCommand-DHD0aBeR.js +2 -0
  7. package/dist/{commands-D4Y1-Nlu.js → commands-BkJft9K2.js} +1609 -1607
  8. package/dist/{dbCommand-C7hbl5pk.js → dbCommand-qn__kLEt.js} +1 -1
  9. package/dist/dbCommand-wfGi3FgG.js +2 -0
  10. package/dist/{dev-DmnkH-wr.js → dev-C_NPcLDp.js} +1266 -1250
  11. package/dist/{dev-Cr-teYsz.js → dev-DXhhZ7-f.js} +1 -1
  12. package/dist/frameworkTableAssembly-Bn_c4Mnl.js +2 -0
  13. package/dist/{frameworkTableAssembly-BzAajuUv.js → frameworkTableAssembly-Cpgn2e88.js} +128 -130
  14. package/dist/index.js +1 -1
  15. package/dist/{inspectMetrics-BeJdP_3b.js → inspectMetrics-CkB2J0Zn.js} +2 -0
  16. package/dist/{sdkgen-CqpOq_fy.js → sdkgen-wsWLrq4l.js} +1 -1
  17. package/dist/{serveCommand-Ciq_wIY8.js → serveCommand-HtI4X5kj.js} +14 -14
  18. package/dist/serveEntry.js +2 -2
  19. package/dist/{start-ocqB1seX.js → start-egkbpugc.js} +177 -175
  20. package/dist/startEntry.js +2 -2
  21. package/package.json +17 -17
  22. package/templates/AGENTS.md +1 -1
  23. package/templates/agent-docs/_index.md +1 -1
  24. package/templates/agent-docs/cli.md +27 -0
  25. package/templates/agent-docs/routing.md +14 -0
  26. package/templates/agent-docs/whats-new.md +36 -342
  27. package/templates/agent-docs/workflows.md +2 -0
  28. package/templates/apps/api-ai/package.json +7 -7
  29. package/templates/apps/api-auth/package.json +8 -8
  30. package/templates/apps/api-backend/package.json +7 -7
  31. package/templates/apps/api-backend-deactivation/package.json +7 -7
  32. package/templates/apps/api-backend-mail/package.json +8 -8
  33. package/templates/apps/api-backend-mariadb/package.json +9 -9
  34. package/templates/apps/api-backend-sqlite/package.json +8 -8
  35. package/templates/apps/api-backend-storage/package.json +8 -8
  36. package/templates/apps/api-cms/package.json +10 -10
  37. package/templates/apps/api-collab/package.json +8 -8
  38. package/templates/apps/api-data-advanced/package.json +8 -8
  39. package/templates/apps/api-durable/package.json +8 -8
  40. package/templates/apps/api-feature-flags/package.json +9 -9
  41. package/templates/apps/api-governance/package.json +8 -8
  42. package/templates/apps/api-kv/package.json +8 -8
  43. package/templates/apps/api-moderation/package.json +8 -8
  44. package/templates/apps/api-observability/package.json +8 -8
  45. package/templates/apps/api-ratelimit/package.json +8 -8
  46. package/templates/apps/api-rbac/package.json +8 -8
  47. package/templates/apps/api-rest/package.json +7 -7
  48. package/templates/apps/api-saas/package.json +11 -11
  49. package/templates/apps/api-saas-starter/package.json +10 -10
  50. package/templates/apps/api-search/package.json +8 -8
  51. package/templates/apps/api-status/package.json +8 -8
  52. package/templates/apps/api-versioning/package.json +8 -8
  53. package/templates/apps/api-webhooks/package.json +9 -9
  54. package/templates/apps/changelog/package.json +6 -6
  55. package/templates/apps/edge-functions/package.json +2 -2
  56. package/templates/apps/frontend-admin/package.json +8 -8
  57. package/templates/apps/frontend-app/package.json +8 -8
  58. package/templates/apps/frontend-auth/package.json +8 -8
  59. package/templates/apps/frontend-blank/package.json +7 -7
  60. package/templates/apps/frontend-cms/package.json +9 -9
  61. package/templates/apps/frontend-collab/package.json +9 -9
  62. package/templates/apps/frontend-contact/package.json +7 -7
  63. package/templates/apps/frontend-dashboard/package.json +7 -7
  64. package/templates/apps/frontend-docs/package.json +7 -7
  65. package/templates/apps/frontend-i18n/package.json +6 -6
  66. package/templates/apps/frontend-landing/package.json +7 -7
  67. package/templates/apps/frontend-portal/package.json +8 -8
  68. package/templates/apps/frontend-saas/package.json +8 -8
  69. package/templates/apps/frontend-spa/package.json +7 -7
  70. package/templates/apps/frontend-ssr/package.json +7 -7
  71. package/templates/apps/frontend-ssr-api/package.json +8 -8
  72. package/templates/apps/frontend-static-blog/package.json +6 -6
  73. package/templates/apps/frontend-status/package.json +8 -8
  74. package/templates/apps/mobile-app/package.json +2 -2
  75. package/dist/apiBuild-CxvR1Dwt.js +0 -2
  76. package/dist/checkCommand-BOk9y264.js +0 -2
  77. package/dist/dbCommand-D8nhyppR.js +0 -2
  78. package/dist/frameworkTableAssembly-DU0aOxjL.js +0 -2
@@ -1,3 +1,3 @@
1
- import { et as e } from "./inspectMetrics-BeJdP_3b.js";
2
- import { t } from "./start-ocqB1seX.js";
1
+ import { et as e } from "./inspectMetrics-CkB2J0Zn.js";
2
+ import { t } from "./start-egkbpugc.js";
3
3
  export { e as loadDotEnv, t as runStartCommand };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voltro/cli",
3
- "version": "0.30.0",
3
+ "version": "0.30.1",
4
4
  "description": "The `voltro` CLI — dev server, codegen, migrations, project scaffolding, agent-docs seeding, and production serve.",
5
5
  "keywords": [
6
6
  "voltro",
@@ -62,22 +62,22 @@
62
62
  "@effect/platform-node": "^0.108.0",
63
63
  "@effect/sql": "^0.52.0",
64
64
  "@effect/workflow": "^0.19.0",
65
- "@voltro/ai": "0.30.0",
66
- "@voltro/cache": "0.30.0",
67
- "@voltro/data-transfer": "0.30.0",
68
- "@voltro/database": "0.30.0",
69
- "@voltro/env": "0.30.0",
70
- "@voltro/kv": "0.30.0",
71
- "@voltro/logger": "0.30.0",
72
- "@voltro/plugin-auth": "0.30.0",
73
- "@voltro/plugin-broadcast": "0.30.0",
74
- "@voltro/plugin-mail": "0.30.0",
75
- "@voltro/plugin-storage": "0.30.0",
76
- "@voltro/plugin-webhooks": "0.30.0",
77
- "@voltro/protocol": "0.30.0",
78
- "@voltro/runtime": "0.30.0",
79
- "@voltro/serverless": "0.30.0",
80
- "@voltro/workflow": "0.30.0",
65
+ "@voltro/ai": "0.30.1",
66
+ "@voltro/cache": "0.30.1",
67
+ "@voltro/data-transfer": "0.30.1",
68
+ "@voltro/database": "0.30.1",
69
+ "@voltro/env": "0.30.1",
70
+ "@voltro/kv": "0.30.1",
71
+ "@voltro/logger": "0.30.1",
72
+ "@voltro/plugin-auth": "0.30.1",
73
+ "@voltro/plugin-broadcast": "0.30.1",
74
+ "@voltro/plugin-mail": "0.30.1",
75
+ "@voltro/plugin-storage": "0.30.1",
76
+ "@voltro/plugin-webhooks": "0.30.1",
77
+ "@voltro/protocol": "0.30.1",
78
+ "@voltro/runtime": "0.30.1",
79
+ "@voltro/serverless": "0.30.1",
80
+ "@voltro/workflow": "0.30.1",
81
81
  "chokidar": "^5.0.0",
82
82
  "ioredis": "^5.11.1",
83
83
  "tinyglobby": "^0.2.17",
@@ -652,7 +652,7 @@ each plugin's own README.
652
652
 
653
653
  | Topic | Open | Summary |
654
654
  |---|---|---|
655
- | **What's new in 0.30.0** | `node_modules/@voltro/cli/templates/agent-docs/whats-new.md` | Everything that changed in this version. Read it before hand-rolling something the framework may now ship. |
655
+ | **What's new in 0.30.1** | `node_modules/@voltro/cli/templates/agent-docs/whats-new.md` | Everything that changed in this version. Read it before hand-rolling something the framework may now ship. |
656
656
  | AI | `node_modules/@voltro/cli/templates/agent-docs/ai.md` | How Voltro treats AI — agents, tools, streaming, RAG — all primitives over the same WebSocket as the rest of the framework. |
657
657
  | Authentication | `node_modules/@voltro/cli/templates/agent-docs/authentication.md` | How @voltro/plugin-auth wires password + session-cookie auth across api + web, plus the pluggable identity-strategy protocol. |
658
658
  | Caching | `node_modules/@voltro/cli/templates/agent-docs/caching.md` | Voltro's caching layer (@voltro/cache) — an always-on memory default, swappable Redis-compatible backends, a low-level wrap primitive, and automatic query-result invalidation. |
@@ -9,7 +9,7 @@ each plugin's own README.
9
9
 
10
10
  | Topic | Open | Summary |
11
11
  |---|---|---|
12
- | **What's new in 0.30.0** | `node_modules/@voltro/cli/templates/agent-docs/whats-new.md` | Everything that changed in this version. Read it before hand-rolling something the framework may now ship. |
12
+ | **What's new in 0.30.1** | `node_modules/@voltro/cli/templates/agent-docs/whats-new.md` | Everything that changed in this version. Read it before hand-rolling something the framework may now ship. |
13
13
  | AI | `node_modules/@voltro/cli/templates/agent-docs/ai.md` | How Voltro treats AI — agents, tools, streaming, RAG — all primitives over the same WebSocket as the rest of the framework. |
14
14
  | Authentication | `node_modules/@voltro/cli/templates/agent-docs/authentication.md` | How @voltro/plugin-auth wires password + session-cookie auth across api + web, plus the pluggable identity-strategy protocol. |
15
15
  | Caching | `node_modules/@voltro/cli/templates/agent-docs/caching.md` | Voltro's caching layer (@voltro/cache) — an always-on memory default, swappable Redis-compatible backends, a low-level wrap primitive, and automatic query-result invalidation. |
@@ -1181,6 +1181,33 @@ re-open a hole nor hide one, and it is consulted **last**: an executor that gain
1181
1181
  a real guard is reported as guarded whether or not its line is still there. The
1182
1182
  list can only shrink unless someone adds to it deliberately.
1183
1183
 
1184
+ **Two kinds of line, because "debt" and "reviewed" are different claims.** A bare
1185
+ tag is debt. A tag with `reviewed=<why>` says a human read the executor and found
1186
+ it genuinely open — constrained by something the scanner cannot see:
1187
+
1188
+ ```txt
1189
+ teams.deleteSubTeam
1190
+ inquiries.publicFeed reviewed=public by design; returns only published rows
1191
+ ```
1192
+
1193
+ The reason is required: `reviewed=` with no why is the claim without the
1194
+ evidence, and doctor refuses it. A bare tag is always available and is the honest
1195
+ alternative. The two are counted and printed apart, and
1196
+ `--write-authz-allowlist` **preserves** reviewed lines rather than flattening
1197
+ them back to debt.
1198
+
1199
+ #### Reading the whole list
1200
+
1201
+ The human view prints the 20 most severe unchecked executors. The complete scan
1202
+ — every finding, the counts, the inferred guard vocabulary, and the debt/reviewed
1203
+ split — is in `voltro doctor --json` under `authz`:
1204
+
1205
+ ```bash
1206
+ voltro doctor --json | jq '.authz.unchecked[] | {tag, why, path}'
1207
+ ```
1208
+
1209
+ Nothing is truncated there. If you are triaging, work from the JSON.
1210
+
1184
1211
  #### Before you hand-roll another check
1185
1212
 
1186
1213
  If your checks are imperative because a scope cannot express "may this subject
@@ -556,6 +556,20 @@ Use SSR for:
556
556
  - **Personalised content** — recommendations, "your" anything.
557
557
  - **Search result pages** — the query string changes per request.
558
558
 
559
+ ### What the server render sees
560
+
561
+ An SSR render is given the request, not a guess at it: the matched `pathname`
562
+ and `params`, the request's cookies and headers (`useServerRequest()`), and the
563
+ **query string**. `useSearchParams()` is the supported reader and works on both
564
+ sides — on the server it reads the request URL, on the client
565
+ `window.location.search` — so a page keyed off `?tab=…` renders the same markup
566
+ in both places.
567
+
568
+ That last part is worth stating because it is the thing a mismatch is made of.
569
+ Anything the server renders from a value the client computes differently
570
+ hydrates with a warning, even when the DOM happens to agree; reach for the hook
571
+ rather than reading the router context directly.
572
+
559
573
  Cost: every request triggers a fresh render. For very high-traffic pages, prefer ISR.
560
574
 
561
575
  ### Streaming SSR