@effect-app/vue 4.0.0-beta.29 → 4.0.0-beta.291

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