@voltro/plugin-ai-flows 0.66.0 → 0.67.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -39,6 +39,58 @@ _Changes staged for the next release accumulate here (rolled up from
39
39
 
40
40
  ---
41
41
 
42
+ ## [0.67.0] — 2026-09-07
43
+
44
+ ### ⚠ BREAKING
45
+
46
+ - **@voltro/client, @voltro/protocol, @voltro/runtime, @voltro/cli, @voltro/web** — Confirmed optimistic writes now reconcile against a token-bound post-ACK primary snapshot, never an unrelated delta, changed row or timeout. Matching snapshots retire only covered previews; server normalisation and later writers remain authoritative. Same-tick acknowledgements coalesce, and affected cache entries preserve primary consistency across same-subject reconnects. Migration: deploy matching client/server framework versions together and account for an additional subscription read per affected acknowledgement group; affected entries use primary snapshots instead of replica reads/delta-resume for their cache lifetime. Native hooks need no source rewrite. Direct callers of the public `supersedesConfirmedPatches(event, baseBefore, baseAfter)` helper must migrate to `(event, reconciliationToken)` using the token of the post-ACK read, or use the native `SubscriptionCache`; row comparison cannot be mechanically rewritten into causal proof.
47
+
48
+ **`voltro update` carries you across this** — codemod `0.67.0/01_subscription-reconciliation`. If you pin versions by hand and never run it, print the notes without changing anything: `voltro update --codemods-only --from <your current version> --dry-run` (this one ships in 0.67.0).
49
+ - **@voltro/cli** — `voltro support sentry <eventId>` is removed. It wrapped `sentry-cli sourcemaps explain`, which sentry-cli 3 dropped in favour of Sentry's in-product source-map debugger; `@voltro/cli` now depends on `@sentry/cli` 3, whose `execute(args, live)` takes a boolean. Migration: delete the invocation from scripts, CI jobs and runbooks and read the event's source-map resolution in Sentry itself. `voltro support collect` is unchanged.
50
+
51
+ **`voltro update` carries you across this** — codemod `0.67.0/03_support-sentry-removed`. If you pin versions by hand and never run it, print the notes without changing anything: `voltro update --codemods-only --from <your current version> --dry-run` (this one ships in 0.67.0).
52
+ - **@voltro/cli, @voltro/workflow, @voltro/testing** — `voltro test` runs on vitest 5, and `@voltro/workflow` names `vitest ^5.0.0` as its peer. Migration: set `vitest` and `@vitest/coverage-v8` to `^5.0.0` together in every app that declares them (the coverage provider peer-pins the exact vitest version), install, and run the suite once — vitest 5 clears mocks before each test by default, fails a test whose async assertion was not awaited, and no longer looks a config file up in ancestor directories. Scaffolded templates ship on 5.
53
+
54
+ **`voltro update` carries you across this** — codemod `0.67.0/02_vitest-5`. If you pin versions by hand and never run it, print the notes without changing anything: `voltro update --codemods-only --from <your current version> --dry-run` (this one ships in 0.67.0).
55
+
56
+ ### Added
57
+
58
+ - **@voltro/ui-shadcn, @voltro/cli, @voltro/devtools, @voltro/devtools-ui** — Add the opt-in Signal brand stylesheet, accessible `SignalHeader` and pausable `SignalField` with reduced-motion and visibility handling. Development and production builds resolve the stylesheet from the same UI-kit installation; the in-browser devtools use the matching plum/violet palette and declare the Tailwind dependency required to compile their source stylesheet locally.
59
+
60
+ Code blocks use matching light/dark surfaces, code comparisons retain readable contrast, and the shared routes view uses a direct heading.
61
+
62
+ `DocsLayout` supports custom header and introduction slots and an optional desktop sidebar. Its mobile drawer uses native modal focus and Escape behavior; search contains keyboard focus and restores the opener when dismissed.
63
+
64
+ `VoltroWordmark` owns product badges and an operator warning tone. `SignalHeader` shares responsive brand geometry and an optional sticky reading surface; `AppShell` accepts a custom header slot. All first-party product headers and footers use this composition, including the compact local Devtools identity.
65
+
66
+ Shared `SignalPreferences`, `SignalSearch` and `SignalHeaderAction` align header controls across public and operating apps. Signal fields support both themes; `ProfileMenu` accepts a custom trigger and preserves an explicit System choice.
67
+
68
+ ### Changed
69
+
70
+ - **@voltro/cli, @voltro/runtime, @voltro/database, @voltro/protocol, @voltro/voltro, @voltro/sql-mssql, @voltro/sql-turso, @voltro/workflow, @voltro/plugin-sso-saml, @voltro/plugin-sentry** — Dependency refresh: Effect 3.22.1 with the matching `@effect/*` patch releases (`@effect/cluster` 0.60.2, `@effect/sql-mssql` 0.54.0, `@effect/platform` 0.97.1, `@effect/rpc` 0.76.2, `@effect/sql` 0.52.1, `@effect/workflow` 0.19.1), `@libsql/client` 0.18.0 — and `@effect/sql-mssql` 0.54.0 flipped its TLS default to encrypt-and-verify, so the mssql dialect now passes `encrypt: false` explicitly for an unset connection to keep the documented modes (unset → plaintext, `sslmode=require` → encrypt without verification) — `@sentry/cli` 3, `xml-encryption` 6, vite 8.2.2, and the tracked minor/patch lines. The mssql patch for `@effect/cluster` — the four SQL fixes plus the shard-release backoff — was regenerated against 0.60.2 (upstream refactored `SqlMessageStorage`, so the 0.60.0 hunks no longer applied) and ships as `patches/@effect__cluster@0.60.2.patch`; `voltro add mssql` writes the new key. Projects scaffolded by the CLI record the pnpm that ran it, which is 12.x on the framework's own toolchain; pnpm 11+ replaced `onlyBuiltDependencies` with `allowBuilds`, and the framework's workspaces declare it.
71
+
72
+ ### Fixed
73
+
74
+ - **@voltro/cli, @voltro/runtime, @voltro/database, @voltro/voltro** — The tunable readers that take `env = process.env` (`resolveEagerFallbackWarnIntervalMs`, `resolveWorkflowRecordingMode`, `readPollCeilingMs`, and the `SchedulingEnv` / `ReactiveEnv` / `InspectRingsEnv` shapes) accept a bare `NodeJS.ProcessEnv` again. They were typed as all-optional literals, which TypeScript's weak-type check rejects for `Dict<string>` the moment nothing in the compilation augments `ProcessEnv` — an app that compiles framework source with only `@types/node` (a mobile app, which declares no env) failed `tsc` on `dbMetrics.ts`. The parameters now carry an index signature.
75
+ - **@voltro/client, @voltro/web** — The subscription recovery watchdog knows when it was throttled. A browser delays timers in a hidden tab, so the stall timer could fire long after it was due, report the interval it was armed with as the interval waited, warn, and invalidate entries whose deliveries were queued behind the same throttling. It now compares its due time with its fire time: late beyond a tolerance, or firing in a hidden tab, it records one `subscription.recovery-timer-late` per attempt (with `timerLateMs` and `hidden`) and re-arms; the first on-time fire in a visible tab decides. `subscription.recovery-stuck` carries the time actually waited and the number of deferrals.
76
+
77
+ The client runtime yields to the event loop through a `MessageChannel` in the browser instead of `setTimeout`, so tasks queued behind Effect's periodic yield are not held to the hidden-tab timer grid. `runtime.resolved` records the channel in use as `scheduler`.
78
+
79
+ `socket.frames` marks frame-arrival bursts on the raw socket — the first frame after open and each frame that follows a gap of five seconds or more, at most eight per socket — so an export separates a late arrival from late processing.
80
+
81
+ `apiSurface: compatible` — the golden churn in `@voltro/client` and `@voltro/web` is two members added to the `ClientDiagnosticKind` union (`socket.frames`, `subscription.recovery-timer-late`); every existing member is unchanged, the framework is the only producer, and a reader that does not know the new kinds sees two more events it can ignore. Only a switch exhaustive over the vocabulary needs two arms.
82
+ - **@voltro/cli** — Web middleware is precompiled into the server production output and rooted by runtime pruning, preserving its behavior in source-free Docker deployments. Missing transitive imports now fail loudly instead of silently disabling a present middleware; rebuilding after removal clears the previous policy. Runtime tracing also preserves transitive dependencies when a deploy directory is reached through a symlink. Native bundle imports now propagate missing-library and initialization errors instead of returning a circular shim's empty exports. Rebuild and deploy the complete `.framework` output; no application API changes are required.
83
+
84
+ ---
85
+
86
+ ## [0.66.1] — 2026-09-06
87
+
88
+ ### Fixed
89
+
90
+ - **@voltro/cli** — API serve and web start bundles preserve esbuild's caught-import handling: a missing `require()` inside `try/catch` or a caught dynamic import can use its source fallback without a package.json optional-dependency declaration. This fixes the 0.66.0 minified MySQL/MariaDB serve-build regression at mysql2's optional `cardinal` debug highlighter; no direct `cardinal` dependency is needed after upgrading and rebuilding the API. Unhandled missing dependencies and broken installed exports still fail the build. Regression tests execute minified fallback code and build/import production serve bundles for every registered SQL-driver package, plus MariaDB, without requiring database services.
91
+
92
+ ---
93
+
42
94
  ## [0.66.0] — 2026-09-06
43
95
 
44
96
  ### ⚠ BREAKING
@@ -9,7 +9,7 @@ Generated from the resolved runtime dependency closure (69 packages).
9
9
 
10
10
  ---
11
11
 
12
- ## @ai-sdk/anthropic@4.0.37
12
+ ## @ai-sdk/anthropic@4.0.49
13
13
 
14
14
  License: Apache-2.0
15
15
 
@@ -29,7 +29,7 @@ See the License for the specific language governing permissions and
29
29
  limitations under the License.
30
30
  ```
31
31
 
32
- ## @ai-sdk/gateway@4.0.47
32
+ ## @ai-sdk/gateway@4.0.74
33
33
 
34
34
  License: Apache-2.0
35
35
 
@@ -49,7 +49,7 @@ See the License for the specific language governing permissions and
49
49
  limitations under the License.
50
50
  ```
51
51
 
52
- ## @ai-sdk/openai@4.0.37
52
+ ## @ai-sdk/openai@4.0.58
53
53
 
54
54
  License: Apache-2.0
55
55
 
@@ -69,7 +69,7 @@ See the License for the specific language governing permissions and
69
69
  limitations under the License.
70
70
  ```
71
71
 
72
- ## @ai-sdk/provider@4.0.7
72
+ ## @ai-sdk/provider@4.0.10
73
73
 
74
74
  License: Apache-2.0
75
75
 
@@ -89,13 +89,13 @@ See the License for the specific language governing permissions and
89
89
  limitations under the License.
90
90
  ```
91
91
 
92
- ## @ai-sdk/provider-utils@5.0.26
92
+ ## @ai-sdk/provider-utils@5.0.36
93
93
 
94
94
  License: Apache-2.0
95
95
 
96
96
  _(no bundled license text found in the package; see its npm page.)_
97
97
 
98
- ## @effect/cluster@0.60.0
98
+ ## @effect/cluster@0.60.2
99
99
 
100
100
  License: MIT
101
101
 
@@ -123,7 +123,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
123
123
  SOFTWARE.
124
124
  ```
125
125
 
126
- ## @effect/platform-node@0.108.0
126
+ ## @effect/platform-node@0.108.1
127
127
 
128
128
  License: MIT
129
129
 
@@ -151,7 +151,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
151
151
  SOFTWARE.
152
152
  ```
153
153
 
154
- ## @effect/platform-node-shared@0.61.0
154
+ ## @effect/platform-node-shared@0.61.1
155
155
 
156
156
  License: MIT
157
157
 
@@ -179,7 +179,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
179
179
  SOFTWARE.
180
180
  ```
181
181
 
182
- ## @effect/sql@0.52.0
182
+ ## @effect/sql@0.52.1
183
183
 
184
184
  License: MIT
185
185
 
@@ -207,7 +207,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
207
207
  SOFTWARE.
208
208
  ```
209
209
 
210
- ## @effect/workflow@0.19.0
210
+ ## @effect/workflow@0.19.1
211
211
 
212
212
  License: MIT
213
213
 
@@ -472,7 +472,7 @@ Apache License
472
472
  limitations under the License.
473
473
  ```
474
474
 
475
- ## @opentelemetry/api-logs@0.221.0
475
+ ## @opentelemetry/api-logs@0.222.0
476
476
 
477
477
  License: Apache-2.0
478
478
 
@@ -680,7 +680,7 @@ Apache License
680
680
  limitations under the License.
681
681
  ```
682
682
 
683
- ## @opentelemetry/context-async-hooks@2.10.0
683
+ ## @opentelemetry/context-async-hooks@2.11.0
684
684
 
685
685
  License: Apache-2.0
686
686
 
@@ -888,7 +888,7 @@ Apache License
888
888
  limitations under the License.
889
889
  ```
890
890
 
891
- ## @opentelemetry/core@2.9.0
891
+ ## @opentelemetry/core@2.10.0
892
892
 
893
893
  License: Apache-2.0
894
894
 
@@ -1096,7 +1096,7 @@ Apache License
1096
1096
  limitations under the License.
1097
1097
  ```
1098
1098
 
1099
- ## @opentelemetry/exporter-metrics-otlp-http@0.221.0
1099
+ ## @opentelemetry/exporter-metrics-otlp-http@0.222.0
1100
1100
 
1101
1101
  License: Apache-2.0
1102
1102
 
@@ -1304,7 +1304,7 @@ Apache License
1304
1304
  limitations under the License.
1305
1305
  ```
1306
1306
 
1307
- ## @opentelemetry/exporter-trace-otlp-http@0.221.0
1307
+ ## @opentelemetry/exporter-trace-otlp-http@0.222.0
1308
1308
 
1309
1309
  License: Apache-2.0
1310
1310
 
@@ -1512,7 +1512,7 @@ Apache License
1512
1512
  limitations under the License.
1513
1513
  ```
1514
1514
 
1515
- ## @opentelemetry/otlp-exporter-base@0.221.0
1515
+ ## @opentelemetry/otlp-exporter-base@0.222.0
1516
1516
 
1517
1517
  License: Apache-2.0
1518
1518
 
@@ -1720,7 +1720,7 @@ Apache License
1720
1720
  limitations under the License.
1721
1721
  ```
1722
1722
 
1723
- ## @opentelemetry/otlp-transformer@0.221.0
1723
+ ## @opentelemetry/otlp-transformer@0.222.0
1724
1724
 
1725
1725
  License: Apache-2.0
1726
1726
 
@@ -1928,7 +1928,7 @@ Apache License
1928
1928
  limitations under the License.
1929
1929
  ```
1930
1930
 
1931
- ## @opentelemetry/resources@2.10.0
1931
+ ## @opentelemetry/resources@2.11.0
1932
1932
 
1933
1933
  License: Apache-2.0
1934
1934
 
@@ -2136,7 +2136,7 @@ Apache License
2136
2136
  limitations under the License.
2137
2137
  ```
2138
2138
 
2139
- ## @opentelemetry/sdk-logs@0.221.0
2139
+ ## @opentelemetry/sdk-logs@0.222.0
2140
2140
 
2141
2141
  License: Apache-2.0
2142
2142
 
@@ -2344,7 +2344,7 @@ Apache License
2344
2344
  limitations under the License.
2345
2345
  ```
2346
2346
 
2347
- ## @opentelemetry/sdk-metrics@2.10.0
2347
+ ## @opentelemetry/sdk-metrics@2.11.0
2348
2348
 
2349
2349
  License: Apache-2.0
2350
2350
 
@@ -2552,7 +2552,7 @@ Apache License
2552
2552
  limitations under the License.
2553
2553
  ```
2554
2554
 
2555
- ## @opentelemetry/sdk-trace@2.10.0
2555
+ ## @opentelemetry/sdk-trace@2.11.0
2556
2556
 
2557
2557
  License: Apache-2.0
2558
2558
 
@@ -2760,7 +2760,7 @@ Apache License
2760
2760
  limitations under the License.
2761
2761
  ```
2762
2762
 
2763
- ## @opentelemetry/sdk-trace-base@2.10.0
2763
+ ## @opentelemetry/sdk-trace-base@2.11.0
2764
2764
 
2765
2765
  License: Apache-2.0
2766
2766
 
@@ -2968,7 +2968,7 @@ Apache License
2968
2968
  limitations under the License.
2969
2969
  ```
2970
2970
 
2971
- ## @opentelemetry/sdk-trace-node@2.10.0
2971
+ ## @opentelemetry/sdk-trace-node@2.11.0
2972
2972
 
2973
2973
  License: Apache-2.0
2974
2974
 
@@ -3608,7 +3608,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
3608
3608
  SOFTWARE.
3609
3609
  ```
3610
3610
 
3611
- ## @upstash/redis@1.38.2
3611
+ ## @upstash/redis@1.38.3
3612
3612
 
3613
3613
  License: MIT
3614
3614
 
@@ -3854,7 +3854,7 @@ Apache License 2.0
3854
3854
  See the LICENSE file in the root of this repository.
3855
3855
  ```
3856
3856
 
3857
- ## ai@7.0.59
3857
+ ## ai@7.0.92
3858
3858
 
3859
3859
  License: Apache-2.0
3860
3860
 
@@ -4476,7 +4476,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
4476
4476
  SOFTWARE.
4477
4477
  ```
4478
4478
 
4479
- ## jose@6.2.8
4479
+ ## jose@6.2.10
4480
4480
 
4481
4481
  License: MIT
4482
4482
 
@@ -4824,7 +4824,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
4824
4824
  SOFTWARE.
4825
4825
  ```
4826
4826
 
4827
- ## multipasta@0.2.7
4827
+ ## multipasta@0.2.8
4828
4828
 
4829
4829
  License: MIT
4830
4830
 
@@ -4868,7 +4868,7 @@ The above copyright notice and this permission notice shall be included in all c
4868
4868
  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
4869
4869
  ```
4870
4870
 
4871
- ## picomatch@4.0.5
4871
+ ## picomatch@4.0.7
4872
4872
 
4873
4873
  License: MIT
4874
4874
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voltro/plugin-ai-flows",
3
- "version": "0.66.0",
3
+ "version": "0.67.0",
4
4
  "description": "AI Flows — durable multi-step AI pipelines (deterministic + agentic) with human-in-the-loop, chaining, and cadence. Author flows in code (defineFlow) or as data (visual editor rows); one engine runs both on @voltro/workflow durability, @voltro/ai generation, storage artifacts, and notifications.",
5
5
  "keywords": [
6
6
  "voltro",
@@ -58,19 +58,19 @@
58
58
  "node": ">=24.0.0"
59
59
  },
60
60
  "dependencies": {
61
- "@voltro/ai": "0.66.0",
62
- "@voltro/client": "0.66.0",
63
- "@voltro/database": "0.66.0",
64
- "@voltro/env": "0.66.0",
65
- "@voltro/plugin-audit": "0.66.0",
66
- "@voltro/plugin-multitenancy": "0.66.0",
67
- "@voltro/plugin-soft-delete": "0.66.0",
68
- "@voltro/protocol": "0.66.0",
69
- "@voltro/runtime": "0.66.0",
70
- "@voltro/workflow": "0.66.0"
61
+ "@voltro/ai": "0.67.0",
62
+ "@voltro/client": "0.67.0",
63
+ "@voltro/database": "0.67.0",
64
+ "@voltro/env": "0.67.0",
65
+ "@voltro/plugin-audit": "0.67.0",
66
+ "@voltro/plugin-multitenancy": "0.67.0",
67
+ "@voltro/plugin-soft-delete": "0.67.0",
68
+ "@voltro/protocol": "0.67.0",
69
+ "@voltro/runtime": "0.67.0",
70
+ "@voltro/workflow": "0.67.0"
71
71
  },
72
72
  "peerDependencies": {
73
- "effect": "^3.22.0"
73
+ "effect": "^3.22.1"
74
74
  },
75
75
  "publishConfig": {
76
76
  "access": "public"