@effect-app/vue 4.0.0-beta.31 → 4.0.0-beta.311

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