@effect-app/vue 4.0.0-beta.27 → 4.0.0-beta.271

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