@effect-app/vue 4.0.0-beta.30 → 4.0.0-beta.301

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 (135) hide show
  1. package/CHANGELOG.md +2234 -0
  2. package/dist/atomQuery.d.ts +111 -0
  3. package/dist/atomQuery.d.ts.map +1 -0
  4. package/dist/atomQuery.js +386 -0
  5. package/dist/commander.d.ts +634 -0
  6. package/dist/commander.d.ts.map +1 -0
  7. package/dist/commander.js +1070 -0
  8. package/dist/{experimental/confirm.d.ts → confirm.d.ts} +6 -4
  9. package/dist/confirm.d.ts.map +1 -0
  10. package/dist/confirm.js +26 -0
  11. package/dist/dependencyMetadata.d.ts +10 -0
  12. package/dist/dependencyMetadata.d.ts.map +1 -0
  13. package/dist/dependencyMetadata.js +29 -0
  14. package/dist/errorReporter.d.ts +6 -4
  15. package/dist/errorReporter.d.ts.map +1 -1
  16. package/dist/errorReporter.js +14 -19
  17. package/dist/form.d.ts +14 -5
  18. package/dist/form.d.ts.map +1 -1
  19. package/dist/form.js +46 -13
  20. package/dist/internal/tanstackQuery.d.ts +9 -0
  21. package/dist/internal/tanstackQuery.d.ts.map +1 -0
  22. package/dist/internal/tanstackQuery.js +194 -0
  23. package/dist/intl.d.ts +15 -0
  24. package/dist/intl.d.ts.map +1 -0
  25. package/dist/intl.js +9 -0
  26. package/dist/lib.d.ts +7 -9
  27. package/dist/lib.d.ts.map +1 -1
  28. package/dist/lib.js +35 -10
  29. package/dist/makeClient.d.ts +236 -336
  30. package/dist/makeClient.d.ts.map +1 -1
  31. package/dist/makeClient.js +416 -408
  32. package/dist/makeContext.d.ts.map +1 -1
  33. package/dist/makeIntl.d.ts.map +1 -1
  34. package/dist/{experimental/makeUseCommand.d.ts → makeUseCommand.d.ts} +4 -3
  35. package/dist/makeUseCommand.d.ts.map +1 -0
  36. package/dist/makeUseCommand.js +13 -0
  37. package/dist/mutate.d.ts +108 -40
  38. package/dist/mutate.d.ts.map +1 -1
  39. package/dist/mutate.js +211 -58
  40. package/dist/query.d.ts +150 -46
  41. package/dist/query.d.ts.map +1 -1
  42. package/dist/query.js +370 -122
  43. package/dist/routeParams.d.ts +4 -4
  44. package/dist/routeParams.d.ts.map +1 -1
  45. package/dist/routeParams.js +4 -3
  46. package/dist/runtime.d.ts +1 -14
  47. package/dist/runtime.d.ts.map +1 -1
  48. package/dist/runtime.js +2 -26
  49. package/dist/suspense.d.ts +19 -0
  50. package/dist/suspense.d.ts.map +1 -0
  51. package/dist/suspense.js +38 -0
  52. package/dist/toast.d.ts +2 -0
  53. package/dist/toast.d.ts.map +1 -0
  54. package/dist/toast.js +2 -0
  55. package/dist/withToast.d.ts +2 -0
  56. package/dist/withToast.d.ts.map +1 -0
  57. package/dist/withToast.js +2 -0
  58. package/docs/atom-query-api-redesign.md +207 -0
  59. package/docs/query-key-invalidation.md +106 -0
  60. package/examples/streamMutation.ts +72 -0
  61. package/package.json +36 -95
  62. package/src/atomQuery.ts +540 -0
  63. package/src/commander.ts +3413 -0
  64. package/src/{experimental/confirm.ts → confirm.ts} +13 -15
  65. package/src/dependencyMetadata.ts +38 -0
  66. package/src/errorReporter.ts +65 -75
  67. package/src/form.ts +61 -18
  68. package/src/index.ts +7 -7
  69. package/src/internal/tanstackQuery.ts +289 -0
  70. package/src/intl.ts +12 -0
  71. package/src/lib.ts +49 -21
  72. package/src/makeClient.ts +967 -1159
  73. package/src/makeIntl.ts +2 -2
  74. package/src/{experimental/makeUseCommand.ts → makeUseCommand.ts} +9 -6
  75. package/src/mutate.ts +370 -152
  76. package/src/query.ts +742 -260
  77. package/src/routeParams.ts +7 -7
  78. package/src/runtime.ts +1 -31
  79. package/src/suspense.ts +43 -0
  80. package/src/toast.ts +1 -0
  81. package/src/withToast.ts +1 -0
  82. package/test/Mutation.test.ts +181 -24
  83. package/test/dependencyInvalidation.test.ts +373 -0
  84. package/test/dist/dependencyInvalidation.test.d.ts.map +1 -0
  85. package/test/dist/form.test.d.ts.map +1 -1
  86. package/test/dist/interrupt-refetch-repro.test.d.ts.map +1 -0
  87. package/test/dist/lib.test.d.ts.map +1 -0
  88. package/test/dist/query-span.test.d.ts.map +1 -0
  89. package/test/dist/queryOptions.test.d.ts.map +1 -0
  90. package/test/dist/streamFinal.test.d.ts.map +1 -0
  91. package/test/dist/streamFn.test.d.ts.map +1 -0
  92. package/test/dist/stubs.d.ts +3756 -122
  93. package/test/dist/stubs.d.ts.map +1 -1
  94. package/test/dist/stubs.js +192 -32
  95. package/test/dist/suspense-regression.test.d.ts.map +1 -0
  96. package/test/dist/suspense.test.d.ts.map +1 -0
  97. package/test/form-validation-errors.test.ts +25 -20
  98. package/test/form.test.ts +22 -3
  99. package/test/interrupt-refetch-repro.test.ts +623 -0
  100. package/test/lib.test.ts +240 -0
  101. package/test/makeClient.test.ts +437 -38
  102. package/test/query-span.test.ts +92 -0
  103. package/test/queryOptions.test.ts +88 -0
  104. package/test/streamFinal.test.ts +64 -0
  105. package/test/streamFn.test.ts +457 -0
  106. package/test/stubs.ts +228 -43
  107. package/test/suspense-regression.test.ts +168 -0
  108. package/test/suspense.test.ts +160 -0
  109. package/tsconfig.examples.json +20 -0
  110. package/tsconfig.json +3 -1
  111. package/tsconfig.src.json +34 -34
  112. package/tsconfig.test.json +2 -2
  113. package/vitest.config.ts +5 -5
  114. package/dist/experimental/commander.d.ts +0 -359
  115. package/dist/experimental/commander.d.ts.map +0 -1
  116. package/dist/experimental/commander.js +0 -557
  117. package/dist/experimental/confirm.d.ts.map +0 -1
  118. package/dist/experimental/confirm.js +0 -28
  119. package/dist/experimental/intl.d.ts +0 -16
  120. package/dist/experimental/intl.d.ts.map +0 -1
  121. package/dist/experimental/intl.js +0 -5
  122. package/dist/experimental/makeUseCommand.d.ts.map +0 -1
  123. package/dist/experimental/makeUseCommand.js +0 -13
  124. package/dist/experimental/toast.d.ts +0 -47
  125. package/dist/experimental/toast.d.ts.map +0 -1
  126. package/dist/experimental/toast.js +0 -41
  127. package/dist/experimental/withToast.d.ts +0 -25
  128. package/dist/experimental/withToast.d.ts.map +0 -1
  129. package/dist/experimental/withToast.js +0 -45
  130. package/eslint.config.mjs +0 -24
  131. package/src/experimental/commander.ts +0 -1835
  132. package/src/experimental/intl.ts +0 -9
  133. package/src/experimental/toast.ts +0 -66
  134. package/src/experimental/withToast.ts +0 -99
  135. package/tsconfig.json.bak +0 -12
package/CHANGELOG.md CHANGED
@@ -1,5 +1,2239 @@
1
1
  # @effect-app/vue
2
2
 
3
+ ## 4.0.0-beta.301
4
+
5
+ ### Patch Changes
6
+
7
+ - 413022d: Restore TanStack `placeholderData` / `initialData` as a display-level fallback in query views. While pending with no cached value, `data` now returns the resolved placeholder (with `select` applied when set); neither option is written to the atom cache.
8
+ - effect-app@4.0.0-beta.301
9
+
10
+ ## 4.0.0-beta.300
11
+
12
+ ### Patch Changes
13
+
14
+ - effect-app@4.0.0-beta.300
15
+
16
+ ## 4.0.0-beta.299
17
+
18
+ ### Patch Changes
19
+
20
+ - effect-app@4.0.0-beta.299
21
+
22
+ ## 4.0.0-beta.298
23
+
24
+ ### Patch Changes
25
+
26
+ - 08d092c: Update Atom query caches in memory and accumulate stream invalidations so live events do not cause repeated RPC refetches.
27
+ - Updated dependencies [08d092c]
28
+ - effect-app@4.0.0-beta.298
29
+
30
+ ## 4.0.0-beta.297
31
+
32
+ ### Patch Changes
33
+
34
+ - Updated dependencies [30c512d]
35
+ - effect-app@4.0.0-beta.297
36
+
37
+ ## 4.0.0-beta.296
38
+
39
+ ### Patch Changes
40
+
41
+ - Updated dependencies [e0c4835]
42
+ - effect-app@4.0.0-beta.296
43
+
44
+ ## 4.0.0-beta.295
45
+
46
+ ### Patch Changes
47
+
48
+ - Updated dependencies [eb06b32]
49
+ - effect-app@4.0.0-beta.295
50
+
51
+ ## 4.0.0-beta.294
52
+
53
+ ### Patch Changes
54
+
55
+ - 7519318: Fix interrupt repro tests to observe expected suspense interruption rejections.
56
+ - Updated dependencies [a211c12]
57
+ - effect-app@4.0.0-beta.294
58
+
59
+ ## 4.0.0-beta.293
60
+
61
+ ### Patch Changes
62
+
63
+ - Updated dependencies [d1c15d3]
64
+ - effect-app@4.0.0-beta.293
65
+
66
+ ## 4.0.0-beta.292
67
+
68
+ ### Patch Changes
69
+
70
+ - 4622a75: Recover interrupted queries and classify query-side suspense interrupts.
71
+
72
+ - A query fetch that is interrupted (a subscriber lost interest, a refresh superseded it, or the component navigated) can be left `waiting = true` with no fiber running — effect-core hides the interrupt by removing the result-observer before interrupting, so it is never written back. `isStaleResult`/swr short-circuit on `waiting`, so that state is never revalidated and becomes **terminal** (a cold suspense read throws → blank page; a warm one serves stale forever). `recoverStuckWaitingOnMount` now treats a `waiting` result with `inFlight === 0` as not-yet-fetched and refetches it on mount. Interrupts are **not** auto-retried — recovery only fires for a genuine (re)mounting observer, and a live in-flight fetch (`inFlight > 0`) is joined, not superseded. Concurrent mounts share a single recovery fetch. Exposes `queryFetchStates` / `QueryFetchState`.
73
+
74
+ - `useSuspenseQuery` / `useSuspenseQueryNew` now convert an interrupt-only failure that settles **while the component is still mounted** into a typed `SuspenseInterruptedError` (a `Data.TaggedError` carrying the original cause). Such an interrupt cannot be a navigation/unmount cancel — that path interrupts the suspense fiber itself and never yields a still-mounted `Failure` exit — so it is query-side (e.g. a server RPC interrupt `Exit` delivered over a 200). Error boundaries can render it ("the request was interrupted — reload?") instead of silencing it into a blank page, while continuing to silence genuine navigation interrupts. Adds `SuspenseInterruptedError` / `isSuspenseInterruptedError`.
75
+ - effect-app@4.0.0-beta.292
76
+
77
+ ## 4.0.0-beta.291
78
+
79
+ ### Patch Changes
80
+
81
+ - fa3533e: Keep the previous suspense value across reactive-arg atom switches.
82
+
83
+ A reactive arg re-points a resolved suspense query at a different family atom; the fresh atom starts `Initial` (no `previousSuccess` carried over), so the always-defined `data` computed found `undefined` and threw `Internal Error: suspense resolved without a latest value` during the next render flush. The always-defined ref now serves the last defined value across that transition (TanStack's keepPreviousData — Vue cannot re-suspend after mount); waiting/failure of the new fetch stays observable on the `result` ref. Applied to `.suspense()`, `.suspenseNew()` and `useAtomSuspense` via a shared `latestDefined` helper. It only throws when there has never been a value, which is unreachable once the suspense await resolved.
84
+
85
+ - effect-app@4.0.0-beta.291
86
+
87
+ ## 4.0.0-beta.290
88
+
89
+ ### Patch Changes
90
+
91
+ - Updated dependencies [dc07df5]
92
+ - effect-app@4.0.0-beta.290
93
+
94
+ ## 4.0.0-beta.289
95
+
96
+ ### Patch Changes
97
+
98
+ - Updated dependencies [a1b59bc]
99
+ - effect-app@4.0.0-beta.289
100
+
101
+ ## 4.0.0-beta.288
102
+
103
+ ### Minor Changes
104
+
105
+ - aeb17bc: Add `disableQueryInvalidation` flag to Command config for background saves.
106
+
107
+ Set `disableQueryInvalidation: true` in a `Req.Command` config (3rd argument)
108
+ to suppress all client-side query invalidation for that command — client
109
+ `invalidatesQueries` callbacks, server-returned `metadata.invalidateQueries`,
110
+ and repository-derived write-dependency matching are all skipped. Use for
111
+ background saves (e.g. debounced auto-save) whose writes should not trigger
112
+ query refetches.
113
+
114
+ - `InvalidationConfig` gains `disableQueryInvalidation?: boolean`.
115
+ - `RequestHandlerWithInput` gains `disableQueryInvalidation?: boolean`,
116
+ propagated from `Request.config` by `ApiClientFactory.makeFor`.
117
+ - `invalidateCache` early-returns `Effect.void` when the flag is set,
118
+ applying to both regular and stream mutations.
119
+
120
+ ### Patch Changes
121
+
122
+ - aeb17bc: Preserve Effect parent spans across query refetch and invalidation.
123
+ - Updated dependencies [aeb17bc]
124
+ - effect-app@4.0.0-beta.288
125
+
126
+ ## 4.0.0-beta.287
127
+
128
+ ### Patch Changes
129
+
130
+ - Updated dependencies [261470f]
131
+ - effect-app@4.0.0-beta.287
132
+
133
+ ## 4.0.0-beta.286
134
+
135
+ ### Patch Changes
136
+
137
+ - b6dda09: Update effect packages to `4.0.0-beta.90` (from `beta.88`): `effect`, `@effect/platform-node`, `@effect/platform-browser`, `@effect/atom-vue`, `@effect/sql-sqlite-node`, `@effect/vitest`. No source changes required — typecheck and tests pass unchanged.
138
+ - Updated dependencies [b6dda09]
139
+ - effect-app@4.0.0-beta.286
140
+
141
+ ## 4.0.0-beta.285
142
+
143
+ ### Patch Changes
144
+
145
+ - 7bd8234: Use set-backed data dependencies and provide request-scoped dependency services through a shared root-checked helper.
146
+ - Updated dependencies [7bd8234]
147
+ - effect-app@4.0.0-beta.285
148
+
149
+ ## 4.0.0-beta.284
150
+
151
+ ### Patch Changes
152
+
153
+ - dd239fa: fix atom invalidation
154
+ - effect-app@4.0.0-beta.284
155
+
156
+ ## 4.0.0-beta.283
157
+
158
+ ### Minor Changes
159
+
160
+ - 0054611: Derive query invalidation from repository read/write dependencies and propagate dependency metadata through RPC clients.
161
+
162
+ ### Patch Changes
163
+
164
+ - Updated dependencies [0054611]
165
+ - Updated dependencies [0054611]
166
+ - effect-app@4.0.0-beta.283
167
+
168
+ ## 4.0.0-beta.282
169
+
170
+ ### Patch Changes
171
+
172
+ - e8842aa: Update effect packages to `4.0.0-beta.88` (from `beta.86`): `effect`, `@effect/platform-node`, `@effect/platform-browser`, `@effect/atom-vue`, `@effect/sql-sqlite-node`, `@effect/vitest`. Also bump `@effect-app/cli` to `2.1.0-beta.35`. No source changes required — typecheck and tests pass unchanged.
173
+ - Updated dependencies [b2df3fa]
174
+ - Updated dependencies [f150cf9]
175
+ - Updated dependencies [e8842aa]
176
+ - effect-app@4.0.0-beta.282
177
+
178
+ ## 4.0.0-beta.281
179
+
180
+ ### Patch Changes
181
+
182
+ - ffd140f: Update effect packages to `4.0.0-beta.86` (from `beta.84`): `effect`, `@effect/platform-node`, `@effect/platform-browser`, `@effect/atom-vue`, `@effect/sql-sqlite-node`, `@effect/vitest`. No source changes required — typecheck and tests pass unchanged.
183
+ - Updated dependencies [ffd140f]
184
+ - effect-app@4.0.0-beta.281
185
+
186
+ ## 4.0.0-beta.280
187
+
188
+ ### Patch Changes
189
+
190
+ - Updated dependencies [3eda52e]
191
+ - effect-app@4.0.0-beta.280
192
+
193
+ ## 4.0.0-beta.279
194
+
195
+ ### Patch Changes
196
+
197
+ - Updated dependencies [5f9cd6a]
198
+ - effect-app@4.0.0-beta.279
199
+
200
+ ## 4.0.0-beta.278
201
+
202
+ ### Patch Changes
203
+
204
+ - a354345: Move release tsconfig flattening from publish to pack lifecycle so package configs are restored before registry upload/auth can fail.
205
+ - a69da09: Publish from generated staging directories so release-only files are created outside the source package tree.
206
+ - 18b915f: Default legacy TanStack queries to Effect-Equal-aware structural sharing.
207
+ - Updated dependencies [a354345]
208
+ - Updated dependencies [a69da09]
209
+ - effect-app@4.0.0-beta.278
210
+
211
+ ## 4.0.0-beta.277
212
+
213
+ ### Patch Changes
214
+
215
+ - 74e6d40: Seed legacy TanStack suspense results into Vue query refs when the observer re-points mid-flight.
216
+ - effect-app@4.0.0-beta.277
217
+
218
+ ## 4.0.0-beta.276
219
+
220
+ ### Patch Changes
221
+
222
+ - 32f05c8: Remove unused dependency declarations from package manifests.
223
+ - Updated dependencies [32f05c8]
224
+ - effect-app@4.0.0-beta.276
225
+
226
+ ## 4.0.0-beta.275
227
+
228
+ ### Patch Changes
229
+
230
+ - a74a894: Fix atom-query suspense cleanup so per-observer wrappers unsubscribe on unmount while cached query atoms keep their idle TTL.
231
+ - effect-app@4.0.0-beta.275
232
+
233
+ ## 4.0.0-beta.274
234
+
235
+ ### Patch Changes
236
+
237
+ - ac62e48: Route `useUpdateQuery` through the configured query cache so TanStack-backed legacy queries receive manual cache updates.
238
+ - 677821a: Run projected query decoders through Effect so schemas that require services can resolve during legacy TanStack query refetches.
239
+ - effect-app@4.0.0-beta.274
240
+
241
+ ## 4.0.0-beta.273
242
+
243
+ ### Patch Changes
244
+
245
+ - 664e83d: Add Atom-native Vue query APIs, stream query pull atoms, and a TanStack-backed legacy query engine toggle.
246
+ - Updated dependencies [664e83d]
247
+ - Updated dependencies [e4ff9a6]
248
+ - effect-app@4.0.0-beta.273
249
+
250
+ ## 4.0.0-beta.272
251
+
252
+ ### Patch Changes
253
+
254
+ - Updated dependencies [21ac90a]
255
+ - effect-app@4.0.0-beta.272
256
+
257
+ ## 4.0.0-beta.271
258
+
259
+ ### Patch Changes
260
+
261
+ - Updated dependencies [939bebc]
262
+ - effect-app@4.0.0-beta.271
263
+
264
+ ## 4.0.0-beta.270
265
+
266
+ ### Patch Changes
267
+
268
+ - 78d076a: Update effect packages to `4.0.0-beta.84` (`effect`, `@effect/platform-node`, `@effect/platform-browser`, `@effect/atom-vue`, `@effect/sql-sqlite-node`, `@effect/vitest`).
269
+ - Updated dependencies [78d076a]
270
+ - effect-app@4.0.0-beta.270
271
+
272
+ ## 4.0.0-beta.269
273
+
274
+ ### Patch Changes
275
+
276
+ - Updated dependencies [50b022e]
277
+ - Updated dependencies [50b022e]
278
+ - effect-app@4.0.0-beta.269
279
+
280
+ ## 4.0.0-beta.268
281
+
282
+ ### Patch Changes
283
+
284
+ - acfdc9e: Point development package exports at TypeScript sources while keeping published exports on compiled dist files.
285
+ - Updated dependencies [acfdc9e]
286
+ - effect-app@4.0.0-beta.268
287
+
288
+ ## 4.0.0-beta.267
289
+
290
+ ### Patch Changes
291
+
292
+ - 1df5cf5: Wait for Vue query result refs to settle after TanStack suspense resolves.
293
+ - Updated dependencies [23a7167]
294
+ - effect-app@4.0.0-beta.267
295
+
296
+ ## 4.0.0-beta.266
297
+
298
+ ### Patch Changes
299
+
300
+ - Updated dependencies [bbaa67e]
301
+ - effect-app@4.0.0-beta.266
302
+
303
+ ## 4.0.0-beta.265
304
+
305
+ ### Patch Changes
306
+
307
+ - 3e855bc: Update Effect packages to `4.0.0-beta.83` (from `beta.74`): `effect`, `@effect/platform-node`, `@effect/platform-browser`, `@effect/sql-sqlite-node`, `@effect/atom-vue`, `@effect/vitest`.
308
+
309
+ Adapt the infra workflow engines to beta.83 API changes:
310
+
311
+ - `Schema.Defect` is now a constructor function — use `S.Defect()` when building the deferred-exit codec (the bare constant no longer produces a usable schema and crashed `toType`).
312
+ - `Workflow` exposes its name as `_tag` instead of `name`. `WorkflowEngineSqlite`/`WorkflowEngineCosmos` now key the registry, codec caches, and persisted `workflow_name` off `workflow._tag`, fixing crash-recovery (stale-lease re-drive previously registered under an `undefined` key and never matched).
313
+
314
+ - Updated dependencies [3e855bc]
315
+ - effect-app@4.0.0-beta.265
316
+
317
+ ## 4.0.0-beta.264
318
+
319
+ ### Patch Changes
320
+
321
+ - effect-app@4.0.0-beta.264
322
+
323
+ ## 4.0.0-beta.263
324
+
325
+ ### Patch Changes
326
+
327
+ - effect-app@4.0.0-beta.263
328
+
329
+ ## 4.0.0-beta.262
330
+
331
+ ### Patch Changes
332
+
333
+ - 55c6572: update packages
334
+ - Updated dependencies [55c6572]
335
+ - effect-app@4.0.0-beta.262
336
+
337
+ ## 4.0.0-beta.261
338
+
339
+ ### Patch Changes
340
+
341
+ - effect-app@4.0.0-beta.261
342
+
343
+ ## 4.0.0-beta.260
344
+
345
+ ### Patch Changes
346
+
347
+ - bogus
348
+ - Updated dependencies
349
+ - effect-app@4.0.0-beta.260
350
+
351
+ ## 4.0.0-beta.259
352
+
353
+ ### Patch Changes
354
+
355
+ - effect-app@4.0.0-beta.259
356
+
357
+ ## 4.0.0-beta.258
358
+
359
+ ### Patch Changes
360
+
361
+ - effect-app@4.0.0-beta.258
362
+
363
+ ## 4.0.0-beta.257
364
+
365
+ ### Patch Changes
366
+
367
+ - Updated dependencies [e71eb78]
368
+ - effect-app@4.0.0-beta.257
369
+
370
+ ## 4.0.0-beta.256
371
+
372
+ ### Patch Changes
373
+
374
+ - Updated dependencies [347af48]
375
+ - effect-app@4.0.0-beta.256
376
+
377
+ ## 4.0.0-beta.255
378
+
379
+ ### Patch Changes
380
+
381
+ - Updated dependencies [52a31dd]
382
+ - effect-app@4.0.0-beta.255
383
+
384
+ ## 4.0.0-beta.254
385
+
386
+ ### Patch Changes
387
+
388
+ - Updated dependencies [29a1e57]
389
+ - effect-app@4.0.0-beta.254
390
+
391
+ ## 4.0.0-beta.253
392
+
393
+ ### Patch Changes
394
+
395
+ - Updated dependencies [b90fa30]
396
+ - effect-app@4.0.0-beta.253
397
+
398
+ ## 4.0.0-beta.252
399
+
400
+ ### Patch Changes
401
+
402
+ - Updated dependencies [a788432]
403
+ - effect-app@4.0.0-beta.252
404
+
405
+ ## 4.0.0-beta.251
406
+
407
+ ### Patch Changes
408
+
409
+ - Updated dependencies [1c858d3]
410
+ - effect-app@4.0.0-beta.251
411
+
412
+ ## 4.0.0-beta.250
413
+
414
+ ### Patch Changes
415
+
416
+ - Updated dependencies [3053760]
417
+ - effect-app@4.0.0-beta.250
418
+
419
+ ## 4.0.0-beta.249
420
+
421
+ ### Minor Changes
422
+
423
+ - ba789a2: Move core service contracts and runtime-agnostic modules into `effect-app`, keep `infra` and `vue` focused on adapters, and drop the temporary `infra` compatibility re-export paths in favor of the new canonical imports.
424
+
425
+ `@effect-app/infra` no longer re-exports moved core modules such as `./Model`, `./Emailer/service`, `./QueueMaker/service`, `./Store/service`, `./adapters/*`, or `./api/*` entrypoints.
426
+
427
+ ### Patch Changes
428
+
429
+ - Updated dependencies [ba789a2]
430
+ - effect-app@4.0.0-beta.249
431
+
432
+ ## 4.0.0-beta.248
433
+
434
+ ### Patch Changes
435
+
436
+ - 2a86a17: improve tsgo compat: avoid deferred `Schema.Type`/`Codec.Encoded`/`Codec.DecodingServices`/`Codec.EncodingServices` conditional helpers in generic positions where the type parameter is already constrained to `Schema.Top`. Index the property directly (`X["Type"]`, `X["Encoded"]`, `X["DecodingServices"]`, …) so tsgo doesn't leak `unknown` into `Effect` channels (notably `R`).
437
+
438
+ Sites: `client/clientFor.ts` (`RequestHandlerFor`, `FinalTypeOf`, `ExtractResponse`, `ExtractEResponse`), `client/makeClient.ts` (`InputFromPayload`, `OutputFromSuccess`, `InvalidationConfigForCommand`, `TaggedRequestWithMeta` overloads), `rpc/MiddlewareMaker.ts` (`Errors`), `rpc/RpcMiddleware.ts` (`Failure`, `FailureContext`), `Schema/ext.ts` (`ReadonlySetFromArray`, `ReadonlyMapFromArray`), `infra/routing.ts` (`GetSuccessShape`, handlers, route matcher), `vue/makeClient.ts` (`MutationExt.project`, `MutationWithExtensions`, `QueryProjection`), `vue/routeParams.ts` (`parseRouteParams*`).
439
+
440
+ - Updated dependencies [2a86a17]
441
+ - effect-app@4.0.0-beta.248
442
+
443
+ ## 4.0.0-beta.247
444
+
445
+ ### Patch Changes
446
+
447
+ - 01bab22: Work around tsgo failing to reduce `S.Codec.DecodingServices<X>` (`X extends Top ? X["DecodingServices"] : never`) in generic positions, which left `unknown` and polluted the `R` channel of client handlers and RPC middleware failure context. Since the schemas involved are already constrained to `S.Top`, read `["DecodingServices"]` directly in `RequestHandlerFor`, `TagClass.FailureContext`, and the Vue `MutationExt` / `QueryProjection` types.
448
+ - Updated dependencies [01bab22]
449
+ - effect-app@4.0.0-beta.247
450
+
451
+ ## 4.0.0-beta.246
452
+
453
+ ### Patch Changes
454
+
455
+ - effect-app@4.0.0-beta.246
456
+
457
+ ## 4.0.0-beta.245
458
+
459
+ ### Patch Changes
460
+
461
+ - effect-app@4.0.0-beta.245
462
+
463
+ ## 4.0.0-beta.244
464
+
465
+ ### Patch Changes
466
+
467
+ - b8b9080: update packages
468
+ - Updated dependencies [b8b9080]
469
+ - effect-app@4.0.0-beta.244
470
+
471
+ ## 4.0.0-beta.243
472
+
473
+ ### Patch Changes
474
+
475
+ - effect-app@4.0.0-beta.243
476
+
477
+ ## 4.0.0-beta.242
478
+
479
+ ### Patch Changes
480
+
481
+ - da83c1f: Align `InvalidationEntry` (vue) with `InvalidateQueryInstruction` (effect-app).
482
+
483
+ `InvalidateQueryInstruction` is now parametrized over `Filters` / `Options`
484
+ (defaulting to `Record<string, unknown>` so the core stays framework-agnostic).
485
+ `@effect-app/vue` exposes `InvalidationEntry` as a narrowed alias substituting
486
+ `@tanstack/vue-query`'s `InvalidateQueryFilters` and `InvalidateOptions`. Single
487
+ source of truth for the union shape across both packages.
488
+
489
+ - Updated dependencies [da83c1f]
490
+ - Updated dependencies [21017d5]
491
+ - Updated dependencies [2495ace]
492
+ - effect-app@4.0.0-beta.242
493
+
494
+ ## 4.0.0-beta.241
495
+
496
+ ### Patch Changes
497
+
498
+ - 2aa8e5e: `queryInvalidation` accept shorthand entries (per-mutation, Command, and client-level `QueryInvalidation<M>` maps).
499
+
500
+ Each entry returned may now be:
501
+
502
+ - a raw query key (`string[]`)
503
+ - an RPC handler (`{ id, options? }`) — its query key is derived via `makeQueryKey`
504
+ - the existing `{ filters, options }` raw tanstack-query invalidation
505
+
506
+ ```ts
507
+ queryInvalidation: (queryKey) => [queryKey, GetMe, PackListIndex];
508
+ ```
509
+
510
+ equivalent to:
511
+
512
+ ```ts
513
+ queryInvalidation: (queryKey) => [
514
+ { filters: { queryKey } },
515
+ { filters: { queryKey: makeQueryKey(GetMe) } },
516
+ { filters: { queryKey: makeQueryKey(PackListIndex) } },
517
+ ];
518
+ ```
519
+
520
+ - Updated dependencies [b035b1c]
521
+ - effect-app@4.0.0-beta.241
522
+
523
+ ## 4.0.0-beta.240
524
+
525
+ ### Patch Changes
526
+
527
+ - effect-app@4.0.0-beta.240
528
+
529
+ ## 4.0.0-beta.239
530
+
531
+ ### Patch Changes
532
+
533
+ - effect-app@4.0.0-beta.239
534
+
535
+ ## 4.0.0-beta.238
536
+
537
+ ### Patch Changes
538
+
539
+ - effect-app@4.0.0-beta.238
540
+
541
+ ## 4.0.0-beta.237
542
+
543
+ ### Patch Changes
544
+
545
+ - effect-app@4.0.0-beta.237
546
+
547
+ ## 4.0.0-beta.236
548
+
549
+ ### Patch Changes
550
+
551
+ - effect-app@4.0.0-beta.236
552
+
553
+ ## 4.0.0-beta.235
554
+
555
+ ### Patch Changes
556
+
557
+ - 6cfd83d: update effect to latest beta
558
+ - Updated dependencies [ba4bdc3]
559
+ - Updated dependencies [6cfd83d]
560
+ - effect-app@4.0.0-beta.235
561
+
562
+ ## 4.0.0-beta.234
563
+
564
+ ### Patch Changes
565
+
566
+ - effect-app@4.0.0-beta.234
567
+
568
+ ## 4.0.0-beta.233
569
+
570
+ ### Patch Changes
571
+
572
+ - 57a1862: Update to effect 4.0.0-beta.67. Switch deps from `pkg.pr.new` snapshot back to npm beta tag.
573
+ - Updated dependencies [57a1862]
574
+ - effect-app@4.0.0-beta.233
575
+
576
+ ## 4.0.0-beta.232
577
+
578
+ ### Patch Changes
579
+
580
+ - 1176240: Fix `client[Key].Input` resolving to `never` for stream request handlers. The extractor only matched `RequestHandlerWithInput`, so any `RequestStreamHandlerWithInput` entry fell through to the `never` branch. Added a parallel `RequestStreamHandlerWithInput` extract so stream Inputs surface the handler's input type.
581
+ - 0263827: Update to effect `pkg.pr.new` snapshot at `a42ef66` (4.0.0-beta.66). Remove `Yieldable` and `asEffect()` (service tags are now `Effect` directly).
582
+ - Updated dependencies [0263827]
583
+ - Updated dependencies [0263827]
584
+ - Updated dependencies [0263827]
585
+ - effect-app@4.0.0-beta.232
586
+
587
+ ## 4.0.0-beta.231
588
+
589
+ ### Patch Changes
590
+
591
+ - 7ca66ce: Update to effect 4.0.0-beta.66. Remove `Yieldable` and `asEffect()` (service tags are now `Effect` directly).
592
+ - Updated dependencies [7ca66ce]
593
+ - effect-app@4.0.0-beta.231
594
+
595
+ ## 4.0.0-beta.230
596
+
597
+ ### Patch Changes
598
+
599
+ - effect-app@4.0.0-beta.230
600
+
601
+ ## 4.0.0-beta.229
602
+
603
+ ### Minor Changes
604
+
605
+ - 2b4c324: Make the default mutation invalidation heuristic configurable.
606
+
607
+ The built-in default is unchanged (collapse one namespace level: `Foo/Bar.x` invalidates `["$Foo"]`, `Foo/Bar/Baz.x` invalidates `["$Foo","$Bar"]`). Client projects can now override it globally:
608
+
609
+ ```ts
610
+ import { makeQueryKey, setDefaultGetQueryKey } from "@effect-app/vue";
611
+
612
+ // invalidate the full namespace of the action (no parent collapse)
613
+ setDefaultGetQueryKey((h) => {
614
+ const key = makeQueryKey(h);
615
+ const ns = key.filter((_) => _.startsWith("$"));
616
+ if (!ns.length) throw new Error("empty query key for: " + h.id);
617
+ return ns;
618
+ });
619
+ ```
620
+
621
+ Call at app bootstrap. Pass `undefined` to restore the built-in default. Per-mutation overrides via the existing `queryInvalidation` option still take precedence.
622
+
623
+ ### Patch Changes
624
+
625
+ - effect-app@4.0.0-beta.229
626
+
627
+ ## 4.0.0-beta.228
628
+
629
+ ### Minor Changes
630
+
631
+ - 62dafaa: Default mutation invalidation now scopes to the action's full namespace instead of the parent.
632
+
633
+ For `Foo/Bar.SaveItems` we previously invalidated `["$Foo"]` (every query under `Foo/*`); now we invalidate `["$Foo","$Bar"]` (only queries under `Foo/Bar`). This avoids accidentally refetching unrelated sibling groups when one group mutates.
634
+
635
+ If you relied on cross-group invalidation (e.g. `Project/Configuration.save` refreshing `Project/Other.list`), opt in explicitly via the `queryInvalidation` mutation option or emit the appropriate keys server-side through `InvalidationSet`.
636
+
637
+ ### Patch Changes
638
+
639
+ - effect-app@4.0.0-beta.228
640
+
641
+ ## 4.0.0-beta.227
642
+
643
+ ### Patch Changes
644
+
645
+ - effect-app@4.0.0-beta.227
646
+
647
+ ## 4.0.0-beta.226
648
+
649
+ ### Patch Changes
650
+
651
+ - effect-app@4.0.0-beta.226
652
+
653
+ ## 4.0.0-beta.225
654
+
655
+ ### Patch Changes
656
+
657
+ - effect-app@4.0.0-beta.225
658
+
659
+ ## 4.0.0-beta.224
660
+
661
+ ### Minor Changes
662
+
663
+ - 1e4c989: Add `mode: "optional"` overload for queries. When `mode: "optional"` is set, the `arg` must be a `WatchSource<Option<I>>`. The query is disabled (`enabled: false`) when the option is `None`, and enabled with the unwrapped value when `Some`.
664
+
665
+ ### Patch Changes
666
+
667
+ - effect-app@4.0.0-beta.224
668
+
669
+ ## 4.0.0-beta.223
670
+
671
+ ### Patch Changes
672
+
673
+ - effect-app@4.0.0-beta.223
674
+
675
+ ## 4.0.0-beta.222
676
+
677
+ ### Patch Changes
678
+
679
+ - effect-app@4.0.0-beta.222
680
+
681
+ ## 4.0.0-beta.221
682
+
683
+ ### Patch Changes
684
+
685
+ - 439cbeb: Adopt module system from effect-smol: replace barrel imports with specific submodule imports (`import * as X from "effect-app/X"` / `import * as X from "effect/X"`).
686
+ - Updated dependencies [439cbeb]
687
+ - effect-app@4.0.0-beta.221
688
+
689
+ ## 4.0.0-beta.220
690
+
691
+ ### Patch Changes
692
+
693
+ - effect-app@4.0.0-beta.220
694
+
695
+ ## 4.0.0-beta.219
696
+
697
+ ### Patch Changes
698
+
699
+ - Updated dependencies [d738811]
700
+ - effect-app@4.0.0-beta.219
701
+
702
+ ## 4.0.0-beta.218
703
+
704
+ ### Patch Changes
705
+
706
+ - effect-app@4.0.0-beta.218
707
+
708
+ ## 4.0.0-beta.217
709
+
710
+ ### Patch Changes
711
+
712
+ - Updated dependencies [0e824ef]
713
+ - effect-app@4.0.0-beta.217
714
+
715
+ ## 4.0.0-beta.216
716
+
717
+ ### Patch Changes
718
+
719
+ - effect-app@4.0.0-beta.216
720
+
721
+ ## 4.0.0-beta.215
722
+
723
+ ### Patch Changes
724
+
725
+ - effect-app@4.0.0-beta.215
726
+
727
+ ## 4.0.0-beta.214
728
+
729
+ ### Patch Changes
730
+
731
+ - effect-app@4.0.0-beta.214
732
+
733
+ ## 4.0.0-beta.213
734
+
735
+ ### Patch Changes
736
+
737
+ - effect-app@4.0.0-beta.213
738
+
739
+ ## 4.0.0-beta.212
740
+
741
+ ### Patch Changes
742
+
743
+ - Updated dependencies [8792221]
744
+ - effect-app@4.0.0-beta.212
745
+
746
+ ## 4.0.0-beta.211
747
+
748
+ ### Patch Changes
749
+
750
+ - effect-app@4.0.0-beta.211
751
+
752
+ ## 4.0.0-beta.210
753
+
754
+ ### Patch Changes
755
+
756
+ - effect-app@4.0.0-beta.210
757
+
758
+ ## 4.0.0-beta.209
759
+
760
+ ### Patch Changes
761
+
762
+ - c991be1: update packages
763
+ - Updated dependencies [c991be1]
764
+ - Updated dependencies [3bae238]
765
+ - effect-app@4.0.0-beta.209
766
+
767
+ ## 4.0.0-beta.208
768
+
769
+ ### Minor Changes
770
+
771
+ - 0d7d197: Add optional `groupId` and `requestId` to toast options.
772
+
773
+ - `ToastOpts` / `ToastOptsInternal` now accept `groupId?: string` and `requestId?: string`; values pass through the toast wrapper unchanged.
774
+ - `WithToast` / `withToast` accept `groupId` and auto-derive `requestId` once per invocation (current Effect span `traceId`, fallback `S.StringId.make()`); both are attached to every emitted toast (waiting/success/warning/error).
775
+ - `Command.withDefaultToast` and `Command.withDefaultToastStream` set `groupId: cc.id` automatically; the stream variant also computes `requestId` once and threads it through progress, success, and failure toasts.
776
+
777
+ ### Patch Changes
778
+
779
+ - effect-app@4.0.0-beta.208
780
+
781
+ ## 4.0.0-beta.207
782
+
783
+ ### Patch Changes
784
+
785
+ - Updated dependencies [8fffc3c]
786
+ - effect-app@4.0.0-beta.207
787
+
788
+ ## 4.0.0-beta.206
789
+
790
+ ### Patch Changes
791
+
792
+ - Updated dependencies [54bfc59]
793
+ - effect-app@4.0.0-beta.206
794
+
795
+ ## 4.0.0-beta.205
796
+
797
+ ### Patch Changes
798
+
799
+ - Updated dependencies [f313973]
800
+ - effect-app@4.0.0-beta.205
801
+
802
+ ## 4.0.0-beta.204
803
+
804
+ ### Patch Changes
805
+
806
+ - Updated dependencies [0a0030f]
807
+ - effect-app@4.0.0-beta.204
808
+
809
+ ## 4.0.0-beta.203
810
+
811
+ ### Patch Changes
812
+
813
+ - Updated dependencies [992d9fa]
814
+ - effect-app@4.0.0-beta.203
815
+
816
+ ## 4.0.0-beta.202
817
+
818
+ ### Patch Changes
819
+
820
+ - Updated dependencies [1186b09]
821
+ - effect-app@4.0.0-beta.202
822
+
823
+ ## 4.0.0-beta.201
824
+
825
+ ### Patch Changes
826
+
827
+ - Updated dependencies [d67d17a]
828
+ - effect-app@4.0.0-beta.201
829
+
830
+ ## 4.0.0-beta.200
831
+
832
+ ### Patch Changes
833
+
834
+ - Updated dependencies [8f1cf6a]
835
+ - Updated dependencies [0cff7c1]
836
+ - effect-app@4.0.0-beta.200
837
+
838
+ ## 4.0.0-beta.199
839
+
840
+ ### Patch Changes
841
+
842
+ - effect-app@4.0.0-beta.199
843
+
844
+ ## 4.0.0-beta.198
845
+
846
+ ### Patch Changes
847
+
848
+ - dd73a4a: fix fn on stream semantics
849
+ - Updated dependencies [32dbc54]
850
+ - effect-app@4.0.0-beta.198
851
+
852
+ ## 4.0.0-beta.197
853
+
854
+ ### Minor Changes
855
+
856
+ - 3dc0d2a: Add streaming as a `stream: true` config option on `Query` / `Command` instead of a separate request type.
857
+
858
+ `TaggedRequestFor` now exposes only `Query` and `Command` factories — the standalone `Stream` factory is removed. To produce a Stream of `success` values, pass `stream: true` in the request config. The request `type` field stays `"command" | "query"`; a new `stream: boolean` field carries the streaming flag (stripped from the stored handler config).
859
+
860
+ ```ts
861
+ // Query that streams results
862
+ Req.Query<T>()("Tag", {}, { stream: true, success: ... })
863
+
864
+ // Command that streams results
865
+ Req.Command<T>()("Tag", {}, { stream: true, success: ... })
866
+ ```
867
+
868
+ Vue client mapping (per-handler properties mirror the non-stream API — `.query`, `.fn`, `.mutate`):
869
+
870
+ - `query` + `stream: true` → exposes `.query` (read-only streaming, tracked Vue Query). Helper map key: `${name}Query`.
871
+ - `command` + `stream: true` → exposes `.fn` and `.mutate` (mutating streaming).
872
+ - Plain `query` / `command` unchanged.
873
+
874
+ Server routing dispatches via the new `stream` flag (`makeStreamRpc` for streaming commands/queries, `makeCommandRpc` / `Rpc.make` otherwise).
875
+
876
+ Also lifts the `Struct` / `TaggedStruct` and `Opaque` definitions in `effect-app/Schema` to use `S.Bottom` / `S.Opaque` directly, exposing `fields`, `mapFields`, and a `MakeIn` that allows `void` when all fields are optional. `TaggedRequestFor` request classes now use `Opaque(TaggedStruct(...))` instead of `TaggedClass`, and decoding/encoding services are derived from `success` / `error` rather than stored on the request.
877
+
878
+ **Migration**: replace `Req.Stream` with `Req.Query` or `Req.Command` and add `stream: true` to the config — `Query` for read-only streams, `Command` for mutating streams.
879
+
880
+ ### Patch Changes
881
+
882
+ - Updated dependencies [3dc0d2a]
883
+ - effect-app@4.0.0-beta.197
884
+
885
+ ## 4.0.0-beta.196
886
+
887
+ ### Patch Changes
888
+
889
+ - c7fbd58: `handle`, `mutate`, and `request` are now always functions, never a raw Effect or Stream. For no-input handlers the first argument is omitted (`handle()`, `request()`, `mutate()`).
890
+ - effect-app@4.0.0-beta.196
891
+
892
+ ## 4.0.0-beta.195
893
+
894
+ ### Patch Changes
895
+
896
+ - Updated dependencies [774a9b3]
897
+ - effect-app@4.0.0-beta.195
898
+
899
+ ## 4.0.0-beta.194
900
+
901
+ ### Patch Changes
902
+
903
+ - refactor(vue): remove 1s waiting toast delay in withDefaultToastStream
904
+ - effect-app@4.0.0-beta.194
905
+
906
+ ## 4.0.0-beta.193
907
+
908
+ ### Patch Changes
909
+
910
+ - effect-app@4.0.0-beta.193
911
+
912
+ ## 4.0.0-beta.192
913
+
914
+ ### Patch Changes
915
+
916
+ - effect-app@4.0.0-beta.192
917
+
918
+ ## 4.0.0-beta.191
919
+
920
+ ### Patch Changes
921
+
922
+ - 50ce7e6: Cleanup after tsgolint + oxlint-codegen-plugin migration:
923
+ - Wire `@effect-app/eslint-codegen-model/oxlint` via `jsPlugins` object form (`{ name: "codegen", specifier: ... }`) so the `codegen/codegen` rule key resolves.
924
+ - Drop `eslint-plugin-codegen` dep, patch, and `augmentedConfig` helper — codegen now runs through oxlint.
925
+ - Break cyclic workspace dep between `eslint-codegen-model` and `eslint-shared-config`; remove dead `eslint.config.mjs` from `eslint-codegen-model`.
926
+ - Switch `@effect-app/vue` to oxlint-only (no `.vue` files in `src`); drop its ESLint config and `eslint-shared-config` devDep.
927
+ - Restore `@typescript-eslint` plugin and rules in shared `baseConfig` so inline `eslint-disable @typescript-eslint/...` directives resolve in `@effect-app/vue-components` (the only remaining ESLint consumer, for `.vue` files).
928
+ - Add `globals.browser` to `vueConfig` so browser globals (`window`, `console`, `URL`, etc.) resolve.
929
+ - 50ce7e6: Replace typescript-eslint with oxlint-tsgolint for type-aware lint. Drop ESLint entirely from non-vue packages (cli, effect-app, infra) — they now use only `oxlint --type-aware`. Vue packages keep ESLint to run `@effect-app/no-await-effect` (no tsgolint equivalent) via `@typescript-eslint/parser` + `vue-eslint-parser`.
930
+ - Updated dependencies [50ce7e6]
931
+ - effect-app@4.0.0-beta.191
932
+
933
+ ## 4.0.0-beta.190
934
+
935
+ ### Patch Changes
936
+
937
+ - 985176b: Align request handler input typing with the request's `make` signature. Handlers are now classified as no-input only when the request schema declares no payload fields; any payload (even fully-optional) yields a function handler whose input matches `make`'s first parameter. Adds `HandlerInput<I>` and threads it through `CommandFromRequest`.
938
+ - Updated dependencies [985176b]
939
+ - effect-app@4.0.0-beta.190
940
+
941
+ ## 4.0.0-beta.189
942
+
943
+ ### Patch Changes
944
+
945
+ - d23e3f6: Delay the in-progress (waiting) toast by 1 second in `withToast` and `withDefaultToastStream`. Fast operations that produce a success/failure (or, for streams, a progress event or terminal state) within the delay window never show a waiting toast at all. Any subsequent waiting/progress/success/failure toast aborts the pending delayed toast so it never flashes after the terminal state.
946
+ - f44800c: In-progress toasts (`withToast` waiting toast and `withDefaultToastStream` waiting/progress toasts) now persist indefinitely (`timeout: Infinity`) until replaced by the success/failure toast or dismissed. Previously they used the underlying toast adapter's default duration and could disappear before the operation finished.
947
+ - Updated dependencies [ea32222]
948
+ - effect-app@4.0.0-beta.189
949
+
950
+ ## 4.0.0-beta.188
951
+
952
+ ### Minor Changes
953
+
954
+ - f16e766: Remove legacy `mutateToResult` stream mutation factory, `wrapStream` command builder, and standard command progress reporting (`running`/`progress` from the old stream factory path). Keep only the `mutate` path for use with `streamFn` combinators. Remove obsolete types (`StreamMutationWithExtensions`, `StreamCommandWithExtensions`, `StreamFnExtension`, `MutateStreamCallOptions`) and the internal `makeStreamMutation` function. Rename `mutate.wrapStream` shorthand to `mutate.wrap` to match the non-stream convention.
955
+
956
+ ### Patch Changes
957
+
958
+ - ed1b8a9: `mutate.wrap` on stream handlers now works the same as on command/query handlers: it can be called without arguments or with only combinators, with the underlying stream handler pre-baked in.
959
+ - b2e438f: Remove Operations service and repo
960
+ - Updated dependencies [b2e438f]
961
+ - effect-app@4.0.0-beta.188
962
+
963
+ ## 4.0.0-beta.187
964
+
965
+ ### Patch Changes
966
+
967
+ - 0d4e0b8: Fix `isGeneratorFunction` using `isObject` instead of `isFunction`: generator functions have `typeof === "function"`, not `"object"`, so the check always returned `false`. This caused `Command.streamFn` generator-form handlers to silently pass a raw `Generator` object rather than an `Effect<Stream>`, meaning the mutation was never executed.
968
+ - Updated dependencies [0d4e0b8]
969
+ - effect-app@4.0.0-beta.187
970
+
971
+ ## 4.0.0-beta.186
972
+
973
+ ### Patch Changes
974
+
975
+ - 89b7d2f: `Command.withDefaultToastStream`: add `progress` option to update the waiting toast with progress text on each stream element
976
+ - effect-app@4.0.0-beta.186
977
+
978
+ ## 4.0.0-beta.185
979
+
980
+ ### Patch Changes
981
+
982
+ - ddd9505: Rename stream mutation helpers: `mutateStream` → `mutateToResult`, `mutateStream2` → `mutate`.
983
+ - effect-app@4.0.0-beta.185
984
+
985
+ ## 4.0.0-beta.184
986
+
987
+ ### Minor Changes
988
+
989
+ - d4bf24a: Add `Command.withDefaultToastStream` — a stream-aware combinator for `streamFn` that properly handles the full stream lifecycle (waiting/success/failure toasts). Unlike `withDefaultToast`, it waits for the stream to drain before showing the success toast and correctly handles stream errors.
990
+
991
+ Strongly type `CommandBase` with `RA`/`RE` type params for `result`, and update `CommandButton`'s `mapProgress` prop to be typed as `(result: AsyncResult<RA, RE>) => Progress | undefined`.
992
+
993
+ ### Patch Changes
994
+
995
+ - effect-app@4.0.0-beta.184
996
+
997
+ ## 4.0.0-beta.183
998
+
999
+ ### Minor Changes
1000
+
1001
+ - 8ff0bf9: Add `Command.streamFn` — a stream-backed variant of `Command.fn`.
1002
+
1003
+ The body generator (or plain function) returns a `Stream` instead of an `Effect`. The command's `waiting` state stays `true` while the stream is running and updates the reactive `result` ref for every emitted value.
1004
+
1005
+ Three handler shapes are accepted:
1006
+
1007
+ 1. **Generator returning a Stream** (primary):
1008
+ ```ts
1009
+ Command.streamFn("exportData")(function* (arg, ctx) {
1010
+ const token = yield* getAuthToken;
1011
+ return Stream.fromEffect(startExport(token, arg.id)).pipe(
1012
+ Stream.flatMap((job) => pollProgress(job.id))
1013
+ );
1014
+ });
1015
+ ```
1016
+ 2. Function returning a `Stream` directly.
1017
+ 3. Function returning `Effect<Stream>` (unwrapped automatically).
1018
+
1019
+ - 8ff0bf9: - `CommandButton`: add optional `:map-progress` prop to compute progress from `command.result` via a custom mapper function
1020
+ - `CommandBase`: add optional `result` field exposing reactive `AsyncResult` state
1021
+ - Export `Progress` type from `@effect-app/vue`
1022
+ - `streamFn`: pipe operators now receive the initial `Effect<Stream>` (or `Stream`) value unchanged; `Stream.unwrap` is deferred until after all combinators, enabling use of `withDefaultToast` and other Effect-level combinators
1023
+ - Add `makeStreamMutation2`: like `makeStreamMutation` but returns `Effect<Stream>` per invocation (with invalidation via `Stream.ensuring`), for use with `streamFn` combinators
1024
+ - Expose `streamFn` on `XClient.Y` stream handlers and on the `Command` object
1025
+ - Expose `mutateStream2` on `XClient.Y` stream handlers, with a `wrapStream` helper that calls `streamFn` with the handler and provided combinators
1026
+ - fc98fb7: Add `streamQuery` support for stream-type Rpc handlers. When an Rpc is of type `"stream"`, the client now exposes a `.streamQuery` property (and `...StreamQuery` in helpers) that uses `streamedQuery` from `@tanstack/query-core` to accumulate chunks reactively as an `AsyncResult<A[], E>`.
1027
+
1028
+ ### Patch Changes
1029
+
1030
+ - effect-app@4.0.0-beta.183
1031
+
1032
+ ## 4.0.0-beta.182
1033
+
1034
+ ### Minor Changes
1035
+
1036
+ - b9586f8: Refine `mutateStream` shape and progress reporting.
1037
+
1038
+ - `mutateStream(options?)` now returns the `execute` callable directly, with `id`, `running?`, and `progress?` attached as properties. Tuple form `[ref, execute]` is gone — invoke the callable to run the stream, or pass it (or the factory) to `Command.fn` / `Command.wrap` / `Command.wrapStream`.
1039
+ - `progress` formatter return type widened from `string | undefined` to `Progress | undefined`, where `Progress = string | { text: string; percentage: number }`.
1040
+ - Stream failures now bubble through the execute effect's typed error channel `E` instead of being swallowed. The reactive `AsyncResult` ref still mirrors the failure for live progress UI.
1041
+ - `CommandBase.progress?: Progress` replaces `progressText?: string`. `CommandButton` overrides the Vuetify `loader` slot when `progress` is set, rendering a `v-progress-circular` (bound to `model-value` when a `percentage` is supplied, otherwise `indeterminate`) alongside the formatted text.
1042
+ - Factories and callables are branded with `_streamFactory` / `_streamCallable` so `Command.fn` / `Command.wrap` can disambiguate them from plain mutate functions.
1043
+
1044
+ ### Patch Changes
1045
+
1046
+ - effect-app@4.0.0-beta.182
1047
+
1048
+ ## 4.0.0-beta.181
1049
+
1050
+ ### Minor Changes
1051
+
1052
+ - 4bbeb19: Add `wrapStream` support to `Command` with separate `result` and `running` props.
1053
+
1054
+ **Key design:**
1055
+
1056
+ - `result` is always the command's own execution outcome (from `asResult`)
1057
+ - `running` holds the stream's live `AsyncResult` ref for progress tracking
1058
+
1059
+ **New behaviour:**
1060
+
1061
+ - `CommanderImpl.wrapStream(mutation)` returns a callable like `wrap` — `wrapStream(mutation)()` gives `CommandOut`.
1062
+ - Accepts either `{ id, mutateStream: [...] }` or the augmented tuple directly (when `.id` is attached).
1063
+ - `Command.wrap` now accepts `{ mutateStream, id }` and the augmented tuple — both delegate to `wrapStream`.
1064
+ - `FnOptions.progress` — pass a `ComputedRef<AsyncResult>` to any `fn`-created command; surfaces as `running`.
1065
+ - `StreamMutationWithExtensions` now includes `.id` on the tuple.
1066
+ - Stream client entries expose `wrapStream` (callable), `fn`, and `mutateStream` (with `.id`).
1067
+ - Stream mutation helpers also carry `.fn` and `.id`.
1068
+
1069
+ ```ts
1070
+ // Via client entry:
1071
+ const exportCmd = Command.wrapStream(client.myExport)();
1072
+ // exportCmd.result = own execution result; exportCmd.running = live stream AsyncResult
1073
+
1074
+ // Via mutateStream tuple (id is attached):
1075
+ const exportCmd = Command.wrapStream(client.myExport.mutateStream)();
1076
+
1077
+ // wrap also accepts the tuple:
1078
+ const exportCmd = Command.wrap(client.myExport.mutateStream)();
1079
+
1080
+ // fn with external progress:
1081
+ const cmd = Command.fn({
1082
+ id: "myExport",
1083
+ progress: client.myExport.mutateStream[0],
1084
+ })(function* (arg) {
1085
+ yield* client.myExport.mutateStream[1](arg);
1086
+ });
1087
+ // cmd.running === the stream AsyncResult ref
1088
+ ```
1089
+
1090
+ ### Patch Changes
1091
+
1092
+ - 583393f: Default the stream `mutateStream` execute resolved value to the request's success type when no `final` schema is declared.
1093
+
1094
+ Previously the type defaulted to `void`, but the runtime already resolves with the last emitted value. Types now match runtime behaviour: `execute` returns `Final` if a `final` schema is set, otherwise the success type.
1095
+
1096
+ - Updated dependencies [583393f]
1097
+ - effect-app@4.0.0-beta.181
1098
+
1099
+ ## 4.0.0-beta.180
1100
+
1101
+ ### Minor Changes
1102
+
1103
+ - 7fa3045: V1/V2/V3: stream and command requests carry invalidation metadata
1104
+
1105
+ **V1** – stream final response includes metadata
1106
+
1107
+ - `Invalidation.StreamResponseChunk` wraps each stream item as `{ _tag: "value", value }` and appends `{ _tag: "done", metadata }` at the end carrying all accumulated invalidation keys.
1108
+
1109
+ **V2** – invalidation keys included in failures
1110
+
1111
+ - `Invalidation.CommandFailureWithMetaData` and `Invalidation.StreamFailureChunk` carry keys accumulated up to the point of failure, so clients can invalidate queries even when a command or stream errors.
1112
+ - `InvalidationMiddlewareLive` wraps command failures; `routing.ts` wraps stream failures.
1113
+ - `apiClientFactory.ts` unwraps both on the client side, forwarding keys before re-failing with the original error.
1114
+
1115
+ **V3** – mid-stream metadata chunks
1116
+
1117
+ - `Invalidation.StreamResponseChunk` now also includes `{ _tag: "metadata", metadata }` for mid-stream invalidation.
1118
+ - After each emitted value, the server drains accumulated keys and emits a "metadata" chunk if any keys were collected since the last drain (bucket reset via `InvalidationSet.drain`).
1119
+ - `apiClientFactory.ts` processes "metadata" chunks the same as "done" chunks, forwarding keys to `InvalidationKeysFromServer` immediately.
1120
+ - `makeInvalidationKeysService` accepts an optional `onAdded` callback that fires after each key addition, enabling `mutate.ts` to trigger query invalidation mid-stream without waiting for the stream to complete.
1121
+
1122
+ ### Patch Changes
1123
+
1124
+ - Updated dependencies [7fa3045]
1125
+ - effect-app@4.0.0-beta.180
1126
+
1127
+ ## 4.0.0-beta.179
1128
+
1129
+ ### Minor Changes
1130
+
1131
+ - 828d264: Stream requests now support an optional `final` schema that models the final success type of the stream. When declared, `mutateStream`'s execute effect resolves with the last emitted value typed as `Final` instead of `void`.
1132
+
1133
+ ```ts
1134
+ class MyStream extends SomethingStream<MyStream>()(
1135
+ "MyStream",
1136
+ { id: S.String },
1137
+ {
1138
+ success: S.Union([OperationProgress, ExportComplete]),
1139
+ final: ExportComplete, // execute now resolves with ExportComplete
1140
+ }
1141
+ ) {}
1142
+ ```
1143
+
1144
+ ### Patch Changes
1145
+
1146
+ - Updated dependencies [828d264]
1147
+ - effect-app@4.0.0-beta.179
1148
+
1149
+ ## 4.0.0-beta.178
1150
+
1151
+ ### Minor Changes
1152
+
1153
+ - 07dd7b9: Add `asStreamResult` utility and stream-based mutation example.
1154
+
1155
+ `asStreamResult` mirrors `asResult` but accepts a `Stream<A, E, R>` (or a factory function that returns one). The reactive ref is updated with each emitted value (`waiting: true`) and finalised once the stream ends (`waiting: false`). Errors surface as `AsyncResult.failure`.
1156
+
1157
+ The included example (`examples/streamMutation.ts`) shows how to model a long-running export operation that streams `OperationProgress | ExportComplete` events into a readonly Vue ref.
1158
+
1159
+ ### Patch Changes
1160
+
1161
+ - effect-app@4.0.0-beta.178
1162
+
1163
+ ## 4.0.0-beta.177
1164
+
1165
+ ### Patch Changes
1166
+
1167
+ - Updated dependencies [89d8b3a]
1168
+ - effect-app@4.0.0-beta.177
1169
+
1170
+ ## 4.0.0-beta.176
1171
+
1172
+ ### Patch Changes
1173
+
1174
+ - pass options
1175
+ - Updated dependencies
1176
+ - effect-app@4.0.0-beta.176
1177
+
1178
+ ## 4.0.0-beta.175
1179
+
1180
+ ### Minor Changes
1181
+
1182
+ - 28777c1: Add `select` option to `MutationOptionsBase` for a second cache invalidation after long-running operations.
1183
+
1184
+ When `select` is provided, cache invalidation fires twice:
1185
+
1186
+ 1. Immediately when the mutation completes (existing behaviour).
1187
+ 2. Again after the `select` effect finishes — useful for polling or waiting for a background job before refreshing data.
1188
+
1189
+ ```ts
1190
+ useMutation(startExportCommand, {
1191
+ select: (result) => pollUntilDone(result.jobId),
1192
+ });
1193
+ ```
1194
+
1195
+ ### Patch Changes
1196
+
1197
+ - 37089ea: Consolidate multiple `invalidateQueries` calls into a single call per group using a `predicate`, reducing the number of TanStack Query invalidation calls in the common case from N to 1.
1198
+ - effect-app@4.0.0-beta.175
1199
+
1200
+ ## 4.0.0-beta.174
1201
+
1202
+ ### Minor Changes
1203
+
1204
+ - 821468d: Add server-driven cache invalidation via RPC response headers.
1205
+
1206
+ - `effect-app/rpc`: new `Invalidation` module with `InvalidationKey` / `InvalidationKeys` schemas, `Invalidates` annotation (for declaring static invalidation on Rpc definitions), `InvalidationSet` reference (request-scoped accumulator), and `makeInvalidationSet` helper.
1207
+ - `effect-app/middleware`: new `InvalidationMiddleware` RPC middleware tag; included in `DefaultGenericMiddlewares`.
1208
+ - `effect-app/client`: new `InvalidationKeys` module with `InvalidationKeysFromServer` reference and `makeInvalidationKeysService` helper; `apiClientFactory` now taps HTTP responses to read the `x-invalidate` header and forward keys to `InvalidationKeysFromServer`.
1209
+ - `@effect-app/infra`: new `InvalidationMiddlewareLive` RPC middleware implementation that owns the full lifecycle — creates a request-scoped `InvalidationSet` (backed by a `Ref`), pre-populates it from the `Invalidates` annotation, provides it to the handler, and after the handler completes registers an HTTP pre-response handler (via `appendPreResponseHandlerUnsafe`) to write the accumulated keys as an `x-invalidate` response header. No separate HTTP middleware is needed.
1210
+ - `@effect-app/vue`: `invalidateQueries` / `useMutation` now reads server-provided invalidation keys from `InvalidationKeysFromServer` after each mutation and applies them alongside the client-side invalidation.
1211
+
1212
+ ### Patch Changes
1213
+
1214
+ - 1b38043: Fix lint: use typescript ~6.0.3 instead of native-preview for ESLint compatibility; keep tsgo for compilation
1215
+ - b241ae5: Merge client and server-driven cache invalidation keys into a single `Effect.forEach` pass so server keys always run regardless of whether client targets are empty or custom invalidation options are used.
1216
+ - Updated dependencies [821468d]
1217
+ - effect-app@4.0.0-beta.174
1218
+
1219
+ ## 4.0.0-beta.173
1220
+
1221
+ ### Patch Changes
1222
+
1223
+ - 4149577: fix queryresources
1224
+ - effect-app@4.0.0-beta.173
1225
+
1226
+ ## 4.0.0-beta.172
1227
+
1228
+ ### Patch Changes
1229
+
1230
+ - effect-app@4.0.0-beta.172
1231
+
1232
+ ## 4.0.0-beta.171
1233
+
1234
+ ### Patch Changes
1235
+
1236
+ - d71d976: fix
1237
+ - Updated dependencies [d71d976]
1238
+ - effect-app@4.0.0-beta.171
1239
+
1240
+ ## 4.0.0-beta.170
1241
+
1242
+ ### Patch Changes
1243
+
1244
+ - 8f09f77: fix
1245
+ - Updated dependencies [8f09f77]
1246
+ - effect-app@4.0.0-beta.170
1247
+
1248
+ ## 4.0.0-beta.169
1249
+
1250
+ ### Patch Changes
1251
+
1252
+ - 8ae8b53: input mess
1253
+ - Updated dependencies [8ae8b53]
1254
+ - effect-app@4.0.0-beta.169
1255
+
1256
+ ## 4.0.0-beta.168
1257
+
1258
+ ### Patch Changes
1259
+
1260
+ - Updated dependencies [178480a]
1261
+ - effect-app@4.0.0-beta.168
1262
+
1263
+ ## 4.0.0-beta.167
1264
+
1265
+ ### Patch Changes
1266
+
1267
+ - 140e192: Relax invalidation resource value constraints to allow arbitrary values while preserving query-only filtering in invalidation handling.
1268
+ - Updated dependencies [140e192]
1269
+ - effect-app@4.0.0-beta.167
1270
+
1271
+ ## 4.0.0-beta.166
1272
+
1273
+ ### Patch Changes
1274
+
1275
+ - dbcc53b: Refactor command invalidation typing: declare resources via `Command<Self, Resources>()`, pass `invalidatesQueries` as the optional 4th argument, and enforce exact `clientFor` invalidation resources when required.
1276
+ - Updated dependencies [dbcc53b]
1277
+ - effect-app@4.0.0-beta.166
1278
+
1279
+ ## 4.0.0-beta.165
1280
+
1281
+ ### Patch Changes
1282
+
1283
+ - f88ea34: Move `makeQueryKey` into `effect-app/client` and update Vue source and tests to import it from the shared client module. Vue still re-exports `makeQueryKey` from `src/lib` for compatibility.
1284
+ - 66fd718: Require `clientFor` invalidation resources when any command in the client configures them.
1285
+ - Updated dependencies [f88ea34]
1286
+ - effect-app@4.0.0-beta.165
1287
+
1288
+ ## 4.0.0-beta.164
1289
+
1290
+ ### Minor Changes
1291
+
1292
+ - 8cb3de4: Add command invalidation helpers that preserve query-only resource types and pass mutation input and `Exit` results into invalidation callbacks. Update Vue `clientFor` to merge request-level invalidation config with call-site invalidation and require matching invalidation resources.
1293
+
1294
+ ### Patch Changes
1295
+
1296
+ - Updated dependencies [8cb3de4]
1297
+ - effect-app@4.0.0-beta.164
1298
+
1299
+ ## 4.0.0-beta.163
1300
+
1301
+ ### Patch Changes
1302
+
1303
+ - b952f19: bye cruft
1304
+ - Updated dependencies [b952f19]
1305
+ - effect-app@4.0.0-beta.163
1306
+
1307
+ ## 4.0.0-beta.162
1308
+
1309
+ ### Patch Changes
1310
+
1311
+ - Updated dependencies [b52b424]
1312
+ - effect-app@4.0.0-beta.162
1313
+
1314
+ ## 4.0.0-beta.161
1315
+
1316
+ ### Patch Changes
1317
+
1318
+ - aa5ef5c: Improve `deepToRaw` to support any root input type, correctly unwrap refs/computed values, and preserve collection/date shapes (`Array`, `Map`, `Set`, `Date`) while deeply removing Vue reactivity wrappers.
1319
+ - effect-app@4.0.0-beta.161
1320
+
1321
+ ## 4.0.0-beta.160
1322
+
1323
+ ### Patch Changes
1324
+
1325
+ - 505bfa9: Add concurrent decode helper APIs and migrate decode callsites to use them.
1326
+
1327
+ - Add `withDefaultParseOptions` and keep `DefaultParseOptions` centralized.
1328
+ - Export `decodeEffectConcurrently` and `decodeUnknownEffectConcurrently` from Schema and SchemaParser modules.
1329
+ - Update repository, queue, client, form, and CLI decode paths to use concurrent decode helpers.
1330
+ - Keep schema constructors free of hardcoded parse concurrency overrides.
1331
+
1332
+ - Updated dependencies [505bfa9]
1333
+ - effect-app@4.0.0-beta.160
1334
+
1335
+ ## 4.0.0-beta.159
1336
+
1337
+ ### Patch Changes
1338
+
1339
+ - c1e73de:
1340
+ - Updated dependencies [c1e73de]
1341
+ - effect-app@4.0.0-beta.159
1342
+
1343
+ ## 4.0.0-beta.158
1344
+
1345
+ ### Patch Changes
1346
+
1347
+ - Updated dependencies [3c1f52d]
1348
+ - Updated dependencies [6ae3050]
1349
+ - effect-app@4.0.0-beta.158
1350
+
1351
+ ## 4.0.0-beta.157
1352
+
1353
+ ### Patch Changes
1354
+
1355
+ - Updated dependencies [6fff09c]
1356
+ - effect-app@4.0.0-beta.157
1357
+
1358
+ ## 4.0.0-beta.156
1359
+
1360
+ ### Patch Changes
1361
+
1362
+ - 4bc4a27: Constrain `project` schema to require matching `Encoded` type with original success schema
1363
+ - effect-app@4.0.0-beta.156
1364
+
1365
+ ## 4.0.0-beta.155
1366
+
1367
+ ### Patch Changes
1368
+
1369
+ - 2e4c018: feat: add client projection
1370
+ - Updated dependencies [c215db8]
1371
+ - effect-app@4.0.0-beta.155
1372
+
1373
+ ## 4.0.0-beta.154
1374
+
1375
+ ### Patch Changes
1376
+
1377
+ - 3200fa8: apply the remaining formatting and autofix cleanup across the vue packages
1378
+ - effect-app@4.0.0-beta.154
1379
+
1380
+ ## 4.0.0-beta.153
1381
+
1382
+ ### Patch Changes
1383
+
1384
+ - effect-app@4.0.0-beta.153
1385
+
1386
+ ## 4.0.0-beta.152
1387
+
1388
+ ### Patch Changes
1389
+
1390
+ - effect-app@4.0.0-beta.152
1391
+
1392
+ ## 4.0.0-beta.151
1393
+
1394
+ ### Patch Changes
1395
+
1396
+ - effect-app@4.0.0-beta.151
1397
+
1398
+ ## 4.0.0-beta.150
1399
+
1400
+ ### Patch Changes
1401
+
1402
+ - Updated dependencies [85a8275]
1403
+ - effect-app@4.0.0-beta.150
1404
+
1405
+ ## 4.0.0-beta.149
1406
+
1407
+ ### Patch Changes
1408
+
1409
+ - Updated dependencies [f317c5e]
1410
+ - effect-app@4.0.0-beta.149
1411
+
1412
+ ## 4.0.0-beta.148
1413
+
1414
+ ### Patch Changes
1415
+
1416
+ - Updated dependencies [199e9a5]
1417
+ - effect-app@4.0.0-beta.148
1418
+
1419
+ ## 4.0.0-beta.147
1420
+
1421
+ ### Patch Changes
1422
+
1423
+ - Updated dependencies [47e3742]
1424
+ - effect-app@4.0.0-beta.147
1425
+
1426
+ ## 4.0.0-beta.146
1427
+
1428
+ ### Patch Changes
1429
+
1430
+ - Updated dependencies [a4dff57]
1431
+ - effect-app@4.0.0-beta.146
1432
+
1433
+ ## 4.0.0-beta.145
1434
+
1435
+ ### Patch Changes
1436
+
1437
+ - Updated dependencies [12abb55]
1438
+ - effect-app@4.0.0-beta.145
1439
+
1440
+ ## 4.0.0-beta.144
1441
+
1442
+ ### Patch Changes
1443
+
1444
+ - 11422f8: Update request helper typing and runtime invocation to rely on schema `.make` instead of class constructors, avoiding `new`-based assumptions for request schemas.
1445
+ - Updated dependencies [11422f8]
1446
+ - Updated dependencies [d31253f]
1447
+ - effect-app@4.0.0-beta.144
1448
+
1449
+ ## 4.0.0-beta.143
1450
+
1451
+ ### Patch Changes
1452
+
1453
+ - Updated dependencies [79eb019]
1454
+ - effect-app@4.0.0-beta.143
1455
+
1456
+ ## 4.0.0-beta.142
1457
+
1458
+ ### Patch Changes
1459
+
1460
+ - Updated dependencies [3436d44]
1461
+ - Updated dependencies [025de47]
1462
+ - effect-app@4.0.0-beta.142
1463
+
1464
+ ## 4.0.0-beta.141
1465
+
1466
+ ### Patch Changes
1467
+
1468
+ - Updated dependencies [7c25dbb]
1469
+ - effect-app@4.0.0-beta.141
1470
+
1471
+ ## 4.0.0-beta.140
1472
+
1473
+ ### Patch Changes
1474
+
1475
+ - effect-app@4.0.0-beta.140
1476
+
1477
+ ## 4.0.0-beta.139
1478
+
1479
+ ### Patch Changes
1480
+
1481
+ - ba61aad: raw dog
1482
+ - effect-app@4.0.0-beta.139
1483
+
1484
+ ## 4.0.0-beta.138
1485
+
1486
+ ### Patch Changes
1487
+
1488
+ - 9be71e1: fix: double guard
1489
+ - effect-app@4.0.0-beta.138
1490
+
1491
+ ## 4.0.0-beta.137
1492
+
1493
+ ### Patch Changes
1494
+
1495
+ - effect-app@4.0.0-beta.137
1496
+
1497
+ ## 4.0.0-beta.136
1498
+
1499
+ ### Patch Changes
1500
+
1501
+ - effect-app@4.0.0-beta.136
1502
+
1503
+ ## 4.0.0-beta.135
1504
+
1505
+ ### Patch Changes
1506
+
1507
+ - Updated dependencies [c7bbc41]
1508
+ - effect-app@4.0.0-beta.135
1509
+
1510
+ ## 4.0.0-beta.134
1511
+
1512
+ ### Patch Changes
1513
+
1514
+ - Updated dependencies [9d3495e]
1515
+ - Updated dependencies [f353d48]
1516
+ - effect-app@4.0.0-beta.134
1517
+
1518
+ ## 4.0.0-beta.133
1519
+
1520
+ ### Patch Changes
1521
+
1522
+ - 99a2e9b: Use warning toasts for expected commander failures, while keeping unexpected errors as error toasts.
1523
+ - c3299f7: update packages
1524
+ - Updated dependencies [c3299f7]
1525
+ - effect-app@4.0.0-beta.133
1526
+
1527
+ ## 4.0.0-beta.132
1528
+
1529
+ ### Patch Changes
1530
+
1531
+ - 8753c52: render
1532
+ - effect-app@4.0.0-beta.132
1533
+
1534
+ ## 4.0.0-beta.131
1535
+
1536
+ ### Patch Changes
1537
+
1538
+ - 1b57aa4: Add a `Commander` error-renderer registry via `Context.Reference` and apply registered guarded renderers before default error formatting.
1539
+ - effect-app@4.0.0-beta.131
1540
+
1541
+ ## 4.0.0-beta.130
1542
+
1543
+ ### Patch Changes
1544
+
1545
+ - fc41dcf: add trace id and span id to toasts
1546
+ - Updated dependencies [ea1bd46]
1547
+ - effect-app@4.0.0-beta.130
1548
+
1549
+ ## 4.0.0-beta.129
1550
+
1551
+ ### Patch Changes
1552
+
1553
+ - 34f6a97: fix missing fn
1554
+ - effect-app@4.0.0-beta.129
1555
+
1556
+ ## 4.0.0-beta.128
1557
+
1558
+ ### Patch Changes
1559
+
1560
+ - 57db551: Split `TaggedRequestFor` into `Query` and `Command` factories, and mark generated request classes with `type: "query" | "command"`.
1561
+
1562
+ Vue client helpers now expose query-only helpers (`query`, `suspense`, `fetch`) for query requests and mutation-only helpers (`mutate`, `fetch`) for command requests.
1563
+
1564
+ - Updated dependencies [57db551]
1565
+ - effect-app@4.0.0-beta.128
1566
+
1567
+ ## 4.0.0-beta.127
1568
+
1569
+ ### Minor Changes
1570
+
1571
+ - 6a3d364: Client entries are now plain objects; use `.request` to invoke the request.
1572
+
1573
+ `client.Xxx` no longer is callable or an `Effect` itself. Call `client.Xxx.request(input)` (or `client.Xxx.request` for input-less requests) instead. `.mutate`, `.query`, `.suspense`, `.wrap`, and `.fn` are unchanged.
1574
+
1575
+ ### Patch Changes
1576
+
1577
+ - effect-app@4.0.0-beta.127
1578
+
1579
+ ## 4.0.0-beta.126
1580
+
1581
+ ### Patch Changes
1582
+
1583
+ - Updated dependencies [458bb1b]
1584
+ - effect-app@4.0.0-beta.126
1585
+
1586
+ ## 4.0.0-beta.125
1587
+
1588
+ ### Patch Changes
1589
+
1590
+ - effect-app@4.0.0-beta.125
1591
+
1592
+ ## 4.0.0-beta.124
1593
+
1594
+ ### Patch Changes
1595
+
1596
+ - 256ae85: cleanup
1597
+ - Updated dependencies [256ae85]
1598
+ - effect-app@4.0.0-beta.124
1599
+
1600
+ ## 4.0.0-beta.123
1601
+
1602
+ ### Patch Changes
1603
+
1604
+ - Updated dependencies [14aba14]
1605
+ - effect-app@4.0.0-beta.123
1606
+
1607
+ ## 4.0.0-beta.122
1608
+
1609
+ ### Patch Changes
1610
+
1611
+ - 07a57b6: Limit `client.method.mutate` extensions to only expose the mutation call and `wrap`.
1612
+ - f052d38: Replace `(...) => Effect.gen` with `Effect.fnUntraced` in commander `withDefaultToast`.
1613
+ - Updated dependencies [f052d38]
1614
+ - effect-app@4.0.0-beta.122
1615
+
1616
+ ## 4.0.0-beta.121
1617
+
1618
+ ### Patch Changes
1619
+
1620
+ - Updated dependencies [5ac46cb]
1621
+ - effect-app@4.0.0-beta.121
1622
+
1623
+ ## 4.0.0-beta.120
1624
+
1625
+ ### Patch Changes
1626
+
1627
+ - Updated dependencies [f21190c]
1628
+ - effect-app@4.0.0-beta.120
1629
+
1630
+ ## 4.0.0-beta.119
1631
+
1632
+ ### Patch Changes
1633
+
1634
+ - effect-app@4.0.0-beta.119
1635
+
1636
+ ## 4.0.0-beta.118
1637
+
1638
+ ### Patch Changes
1639
+
1640
+ - Update effect packages to 4.0.0-beta.52
1641
+ - Updated dependencies [bd26832]
1642
+ - Updated dependencies [08d2e70]
1643
+ - Updated dependencies
1644
+ - effect-app@4.0.0-beta.118
1645
+
1646
+ ## 4.0.0-beta.117
1647
+
1648
+ ### Patch Changes
1649
+
1650
+ - effect-app@4.0.0-beta.117
1651
+
1652
+ ## 4.0.0-beta.116
1653
+
1654
+ ### Patch Changes
1655
+
1656
+ - effect-app@4.0.0-beta.116
1657
+
1658
+ ## 4.0.0-beta.115
1659
+
1660
+ ### Patch Changes
1661
+
1662
+ - effect-app@4.0.0-beta.115
1663
+
1664
+ ## 4.0.0-beta.114
1665
+
1666
+ ### Patch Changes
1667
+
1668
+ - effect-app@4.0.0-beta.114
1669
+
1670
+ ## 4.0.0-beta.113
1671
+
1672
+ ### Patch Changes
1673
+
1674
+ - effect-app@4.0.0-beta.113
1675
+
1676
+ ## 4.0.0-beta.112
1677
+
1678
+ ### Patch Changes
1679
+
1680
+ - effect-app@4.0.0-beta.112
1681
+
1682
+ ## 4.0.0-beta.111
1683
+
1684
+ ### Patch Changes
1685
+
1686
+ - Updated dependencies [ca94edf]
1687
+ - effect-app@4.0.0-beta.111
1688
+
1689
+ ## 4.0.0-beta.110
1690
+
1691
+ ### Patch Changes
1692
+
1693
+ - effect-app@4.0.0-beta.110
1694
+
1695
+ ## 4.0.0-beta.109
1696
+
1697
+ ### Patch Changes
1698
+
1699
+ - effect-app@4.0.0-beta.109
1700
+
1701
+ ## 4.0.0-beta.108
1702
+
1703
+ ### Patch Changes
1704
+
1705
+ - Updated dependencies [3e46e7b]
1706
+ - effect-app@4.0.0-beta.108
1707
+
1708
+ ## 4.0.0-beta.107
1709
+
1710
+ ### Patch Changes
1711
+
1712
+ - effect-app@4.0.0-beta.107
1713
+
1714
+ ## 4.0.0-beta.106
1715
+
1716
+ ### Patch Changes
1717
+
1718
+ - effect-app@4.0.0-beta.106
1719
+
1720
+ ## 4.0.0-beta.105
1721
+
1722
+ ### Patch Changes
1723
+
1724
+ - effect-app@4.0.0-beta.105
1725
+
1726
+ ## 4.0.0-beta.104
1727
+
1728
+ ### Patch Changes
1729
+
1730
+ - Updated dependencies [e944bca]
1731
+ - effect-app@4.0.0-beta.104
1732
+
1733
+ ## 4.0.0-beta.103
1734
+
1735
+ ### Patch Changes
1736
+
1737
+ - Updated dependencies [7119320]
1738
+ - effect-app@4.0.0-beta.103
1739
+
1740
+ ## 4.0.0-beta.102
1741
+
1742
+ ### Patch Changes
1743
+
1744
+ - effect-app@4.0.0-beta.102
1745
+
1746
+ ## 4.0.0-beta.101
1747
+
1748
+ ### Patch Changes
1749
+
1750
+ - effect-app@4.0.0-beta.101
1751
+
1752
+ ## 4.0.0-beta.100
1753
+
1754
+ ### Patch Changes
1755
+
1756
+ - effect-app@4.0.0-beta.100
1757
+
1758
+ ## 4.0.0-beta.99
1759
+
1760
+ ### Patch Changes
1761
+
1762
+ - effect-app@4.0.0-beta.99
1763
+
1764
+ ## 4.0.0-beta.98
1765
+
1766
+ ### Patch Changes
1767
+
1768
+ - effect-app@4.0.0-beta.98
1769
+
1770
+ ## 4.0.0-beta.97
1771
+
1772
+ ### Patch Changes
1773
+
1774
+ - effect-app@4.0.0-beta.97
1775
+
1776
+ ## 4.0.0-beta.96
1777
+
1778
+ ### Patch Changes
1779
+
1780
+ - Updated dependencies [5615e47]
1781
+ - effect-app@4.0.0-beta.96
1782
+
1783
+ ## 4.0.0-beta.95
1784
+
1785
+ ### Patch Changes
1786
+
1787
+ - Updated dependencies [88838fb]
1788
+ - effect-app@4.0.0-beta.95
1789
+
1790
+ ## 4.0.0-beta.94
1791
+
1792
+ ### Patch Changes
1793
+
1794
+ - effect-app@4.0.0-beta.94
1795
+
1796
+ ## 4.0.0-beta.93
1797
+
1798
+ ### Patch Changes
1799
+
1800
+ - effect-app@4.0.0-beta.93
1801
+
1802
+ ## 4.0.0-beta.92
1803
+
1804
+ ### Patch Changes
1805
+
1806
+ - effect-app@4.0.0-beta.92
1807
+
1808
+ ## 4.0.0-beta.91
1809
+
1810
+ ### Patch Changes
1811
+
1812
+ - Updated dependencies [738b482]
1813
+ - effect-app@4.0.0-beta.91
1814
+
1815
+ ## 4.0.0-beta.90
1816
+
1817
+ ### Patch Changes
1818
+
1819
+ - effect-app@4.0.0-beta.90
1820
+
1821
+ ## 4.0.0-beta.89
1822
+
1823
+ ### Patch Changes
1824
+
1825
+ - effect-app@4.0.0-beta.89
1826
+
1827
+ ## 4.0.0-beta.88
1828
+
1829
+ ### Patch Changes
1830
+
1831
+ - effect-app@4.0.0-beta.88
1832
+
1833
+ ## 4.0.0-beta.87
1834
+
1835
+ ### Patch Changes
1836
+
1837
+ - effect-app@4.0.0-beta.87
1838
+
1839
+ ## 4.0.0-beta.86
1840
+
1841
+ ### Patch Changes
1842
+
1843
+ - effect-app@4.0.0-beta.86
1844
+
1845
+ ## 4.0.0-beta.85
1846
+
1847
+ ### Patch Changes
1848
+
1849
+ - effect-app@4.0.0-beta.85
1850
+
1851
+ ## 4.0.0-beta.84
1852
+
1853
+ ### Patch Changes
1854
+
1855
+ - effect-app@4.0.0-beta.84
1856
+
1857
+ ## 4.0.0-beta.83
1858
+
1859
+ ### Patch Changes
1860
+
1861
+ - effect-app@4.0.0-beta.83
1862
+
1863
+ ## 4.0.0-beta.82
1864
+
1865
+ ### Patch Changes
1866
+
1867
+ - effect-app@4.0.0-beta.82
1868
+
1869
+ ## 4.0.0-beta.81
1870
+
1871
+ ### Patch Changes
1872
+
1873
+ - effect-app@4.0.0-beta.81
1874
+
1875
+ ## 4.0.0-beta.80
1876
+
1877
+ ### Patch Changes
1878
+
1879
+ - effect-app@4.0.0-beta.80
1880
+
1881
+ ## 4.0.0-beta.79
1882
+
1883
+ ### Patch Changes
1884
+
1885
+ - d16845e: Remove `TaggedRequest` from `makeRpcClient`, now only `TaggedRequestFor` is returned. Remove all legacy `meta.moduleName` support — `id` and `moduleName` are now required on `Req` type. Remove `makeRpcGroup` (use `makeRpcGroupFromRequestsAndModuleName` instead).
1886
+ - Updated dependencies [d16845e]
1887
+ - effect-app@4.0.0-beta.79
1888
+
1889
+ ## 4.0.0-beta.78
1890
+
1891
+ ### Patch Changes
1892
+
1893
+ - effect-app@4.0.0-beta.78
1894
+
1895
+ ## 4.0.0-beta.77
1896
+
1897
+ ### Patch Changes
1898
+
1899
+ - Updated dependencies [3613e87]
1900
+ - effect-app@4.0.0-beta.77
1901
+
1902
+ ## 4.0.0-beta.76
1903
+
1904
+ ### Patch Changes
1905
+
1906
+ - 08d30af: Fix Commander combinator type inference for void Arg and withDefaultToast callbacks
1907
+
1908
+ - Use `ArgForCombinator` helper to properly resolve `void` args to `undefined` in combinator positions, enabling correct type inference for `withDefaultToast` and other curried combinators
1909
+ - Use explicit positional params in `withDefaultToast` options callbacks instead of rest spread, allowing users to omit trailing parameters
1910
+
1911
+ - fac725d: update effect to latest beta
1912
+ - Updated dependencies [a5248a9]
1913
+ - Updated dependencies [fac725d]
1914
+ - effect-app@4.0.0-beta.76
1915
+
1916
+ ## 4.0.0-beta.75
1917
+
1918
+ ### Patch Changes
1919
+
1920
+ - Updated dependencies [24f0a5a]
1921
+ - effect-app@4.0.0-beta.75
1922
+
1923
+ ## 4.0.0-beta.74
1924
+
1925
+ ### Patch Changes
1926
+
1927
+ - Updated dependencies [54ec1ef]
1928
+ - effect-app@4.0.0-beta.74
1929
+
1930
+ ## 4.0.0-beta.73
1931
+
1932
+ ### Patch Changes
1933
+
1934
+ - effect-app@4.0.0-beta.73
1935
+
1936
+ ## 4.0.0-beta.72
1937
+
1938
+ ### Patch Changes
1939
+
1940
+ - Updated dependencies [0541f0d]
1941
+ - effect-app@4.0.0-beta.72
1942
+
1943
+ ## 4.0.0-beta.71
1944
+
1945
+ ### Patch Changes
1946
+
1947
+ - Updated dependencies [beae3a0]
1948
+ - effect-app@4.0.0-beta.71
1949
+
1950
+ ## 4.0.0-beta.70
1951
+
1952
+ ### Patch Changes
1953
+
1954
+ - effect-app@4.0.0-beta.70
1955
+
1956
+ ## 4.0.0-beta.69
1957
+
1958
+ ### Patch Changes
1959
+
1960
+ - dc465e3: update to latest effect beta
1961
+ - Updated dependencies [dc465e3]
1962
+ - effect-app@4.0.0-beta.69
1963
+
1964
+ ## 4.0.0-beta.68
1965
+
1966
+ ### Patch Changes
1967
+
1968
+ - Updated dependencies [e6f2341]
1969
+ - effect-app@4.0.0-beta.68
1970
+
1971
+ ## 4.0.0-beta.67
1972
+
1973
+ ### Patch Changes
1974
+
1975
+ - effect-app@4.0.0-beta.67
1976
+
1977
+ ## 4.0.0-beta.66
1978
+
1979
+ ### Patch Changes
1980
+
1981
+ - Updated dependencies [edc52e4]
1982
+ - effect-app@4.0.0-beta.66
1983
+
1984
+ ## 4.0.0-beta.65
1985
+
1986
+ ### Minor Changes
1987
+
1988
+ - 1f103b2: Replace `proxify` with explicit service accessor helpers: `accessFn`, `accessEffectFn`, `accessCn`, `accessEffectCn`.
1989
+
1990
+ ### Patch Changes
1991
+
1992
+ - Updated dependencies [31739d7]
1993
+ - Updated dependencies [1f103b2]
1994
+ - effect-app@4.0.0-beta.65
1995
+
1996
+ ## 4.0.0-beta.64
1997
+
1998
+ ### Patch Changes
1999
+
2000
+ - Updated dependencies [c1a6fdc]
2001
+ - effect-app@4.0.0-beta.64
2002
+
2003
+ ## 4.0.0-beta.63
2004
+
2005
+ ### Minor Changes
2006
+
2007
+ - b3ed68a: Remove `legacy` from `makeClient` return and clean up `LegacyMutation`, `LegacyMutationImpl`, and related types.
2008
+
2009
+ ### Patch Changes
2010
+
2011
+ - effect-app@4.0.0-beta.63
2012
+
2013
+ ## 4.0.0-beta.62
2014
+
2015
+ ### Patch Changes
2016
+
2017
+ - Updated dependencies [0b21a02]
2018
+ - effect-app@4.0.0-beta.62
2019
+
2020
+ ## 4.0.0-beta.61
2021
+
2022
+ ### Patch Changes
2023
+
2024
+ - effect-app@4.0.0-beta.61
2025
+
2026
+ ## 4.0.0-beta.60
2027
+
2028
+ ### Patch Changes
2029
+
2030
+ - effect-app@4.0.0-beta.60
2031
+
2032
+ ## 4.0.0-beta.59
2033
+
2034
+ ### Patch Changes
2035
+
2036
+ - cec026d: update packages
2037
+ - Updated dependencies [cec026d]
2038
+ - effect-app@4.0.0-beta.59
2039
+
2040
+ ## 4.0.0-beta.58
2041
+
2042
+ ### Patch Changes
2043
+
2044
+ - 7fd35e4: update tanstack/query
2045
+ - effect-app@4.0.0-beta.58
2046
+
2047
+ ## 4.0.0-beta.57
2048
+
2049
+ ### Patch Changes
2050
+
2051
+ - effect-app@4.0.0-beta.57
2052
+
2053
+ ## 4.0.0-beta.56
2054
+
2055
+ ### Patch Changes
2056
+
2057
+ - effect-app@4.0.0-beta.56
2058
+
2059
+ ## 4.0.0-beta.55
2060
+
2061
+ ### Patch Changes
2062
+
2063
+ - eceb3a3: align CauseException
2064
+ - effect-app@4.0.0-beta.55
2065
+
2066
+ ## 4.0.0-beta.54
2067
+
2068
+ ### Patch Changes
2069
+
2070
+ - d867272: the return of `Context`
2071
+ - Updated dependencies [d867272]
2072
+ - effect-app@4.0.0-beta.54
2073
+
2074
+ ## 4.0.0-beta.53
2075
+
2076
+ ### Patch Changes
2077
+
2078
+ - Updated dependencies [ee9694e]
2079
+ - effect-app@4.0.0-beta.53
2080
+
2081
+ ## 4.0.0-beta.52
2082
+
2083
+ ### Patch Changes
2084
+
2085
+ - Updated dependencies [6252808]
2086
+ - effect-app@4.0.0-beta.52
2087
+
2088
+ ## 4.0.0-beta.51
2089
+
2090
+ ### Patch Changes
2091
+
2092
+ - effect-app@4.0.0-beta.51
2093
+
2094
+ ## 4.0.0-beta.50
2095
+
2096
+ ### Patch Changes
2097
+
2098
+ - effect-app@4.0.0-beta.50
2099
+
2100
+ ## 4.0.0-beta.49
2101
+
2102
+ ### Patch Changes
2103
+
2104
+ - Updated dependencies [e585c9c]
2105
+ - effect-app@4.0.0-beta.49
2106
+
2107
+ ## 4.0.0-beta.48
2108
+
2109
+ ### Patch Changes
2110
+
2111
+ - Updated dependencies [0c88f78]
2112
+ - effect-app@4.0.0-beta.48
2113
+
2114
+ ## 4.0.0-beta.47
2115
+
2116
+ ### Patch Changes
2117
+
2118
+ - Updated dependencies [3365758]
2119
+ - effect-app@4.0.0-beta.47
2120
+
2121
+ ## 4.0.0-beta.46
2122
+
2123
+ ### Patch Changes
2124
+
2125
+ - 28a0b29: expose Input
2126
+ - 0c42d67: move out Commander and friends from experimental
2127
+ - effect-app@4.0.0-beta.46
2128
+
2129
+ ## 4.0.0-beta.45
2130
+
2131
+ ### Patch Changes
2132
+
2133
+ - 10b55ff: update packages
2134
+ - Updated dependencies [10b55ff]
2135
+ - effect-app@4.0.0-beta.45
2136
+
2137
+ ## 4.0.0-beta.44
2138
+
2139
+ ### Patch Changes
2140
+
2141
+ - a37aa38: Update to effect beta 43
2142
+ - Updated dependencies [a37aa38]
2143
+ - effect-app@4.0.0-beta.44
2144
+
2145
+ ## 4.0.0-beta.43
2146
+
2147
+ ### Patch Changes
2148
+
2149
+ - effect-app@4.0.0-beta.43
2150
+
2151
+ ## 4.0.0-beta.42
2152
+
2153
+ ### Patch Changes
2154
+
2155
+ - d195003: Fix numeric field type detection in `getMetadataFromSchema` for Effect v4 JSON schema output. `S.Number` now emits `anyOf` instead of a top-level `type: "number"`, causing fields to fall back to `"text"`. Detection now recurses through `anyOf`/`oneOf`/`allOf` to find the underlying numeric type.
2156
+ - effect-app@4.0.0-beta.42
2157
+
2158
+ ## 4.0.0-beta.41
2159
+
2160
+ ### Patch Changes
2161
+
2162
+ - 702d51c: also make runSync version available\
2163
+ - effect-app@4.0.0-beta.41
2164
+
2165
+ ## 4.0.0-beta.40
2166
+
2167
+ ### Patch Changes
2168
+
2169
+ - 18fd1df: unify runPromise
2170
+ - effect-app@4.0.0-beta.40
2171
+
2172
+ ## 4.0.0-beta.39
2173
+
2174
+ ### Patch Changes
2175
+
2176
+ - Updated dependencies [10e90d5]
2177
+ - effect-app@4.0.0-beta.39
2178
+
2179
+ ## 4.0.0-beta.38
2180
+
2181
+ ### Patch Changes
2182
+
2183
+ - Updated dependencies [0b3e00e]
2184
+ - effect-app@4.0.0-beta.38
2185
+
2186
+ ## 4.0.0-beta.37
2187
+
2188
+ ### Patch Changes
2189
+
2190
+ - 04fc985: Fixes error handling
2191
+ - Updated dependencies [947fe20]
2192
+ - effect-app@4.0.0-beta.37
2193
+
2194
+ ## 4.0.0-beta.36
2195
+
2196
+ ### Patch Changes
2197
+
2198
+ - effect-app@4.0.0-beta.36
2199
+
2200
+ ## 4.0.0-beta.35
2201
+
2202
+ ### Patch Changes
2203
+
2204
+ - effect-app@4.0.0-beta.35
2205
+
2206
+ ## 4.0.0-beta.34
2207
+
2208
+ ### Patch Changes
2209
+
2210
+ - 8c645d5: update to latest effect
2211
+ - Updated dependencies [8c645d5]
2212
+ - effect-app@4.0.0-beta.34
2213
+
2214
+ ## 4.0.0-beta.33
2215
+
2216
+ ### Patch Changes
2217
+
2218
+ - 4b95009: use Finite instead of Number
2219
+ - 7328c76: add deprecation notices
2220
+ - Updated dependencies [4b95009]
2221
+ - effect-app@4.0.0-beta.33
2222
+
2223
+ ## 4.0.0-beta.32
2224
+
2225
+ ### Patch Changes
2226
+
2227
+ - Updated dependencies [01d862a]
2228
+ - effect-app@4.0.0-beta.32
2229
+
2230
+ ## 4.0.0-beta.31
2231
+
2232
+ ### Patch Changes
2233
+
2234
+ - Updated dependencies [6b6d601]
2235
+ - effect-app@4.0.0-beta.31
2236
+
3
2237
  ## 4.0.0-beta.30
4
2238
 
5
2239
  ### Patch Changes