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

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