@effect-app/vue 4.0.0-beta.33 → 4.0.0-beta.330

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