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

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