@effect-app/vue 4.0.0-beta.2 → 4.0.0-beta.200

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 (103) hide show
  1. package/CHANGELOG.md +1611 -0
  2. package/dist/commander.d.ts +628 -0
  3. package/dist/commander.d.ts.map +1 -0
  4. package/dist/commander.js +1055 -0
  5. package/dist/confirm.d.ts +19 -0
  6. package/dist/confirm.d.ts.map +1 -0
  7. package/dist/confirm.js +24 -0
  8. package/dist/errorReporter.d.ts +4 -4
  9. package/dist/errorReporter.d.ts.map +1 -1
  10. package/dist/errorReporter.js +12 -18
  11. package/dist/form.d.ts +14 -5
  12. package/dist/form.d.ts.map +1 -1
  13. package/dist/form.js +41 -12
  14. package/dist/index.d.ts +1 -1
  15. package/dist/intl.d.ts +15 -0
  16. package/dist/intl.d.ts.map +1 -0
  17. package/dist/intl.js +9 -0
  18. package/dist/lib.d.ts +6 -9
  19. package/dist/lib.d.ts.map +1 -1
  20. package/dist/lib.js +35 -10
  21. package/dist/makeClient.d.ts +153 -340
  22. package/dist/makeClient.d.ts.map +1 -1
  23. package/dist/makeClient.js +222 -377
  24. package/dist/makeContext.d.ts +1 -1
  25. package/dist/makeContext.d.ts.map +1 -1
  26. package/dist/makeIntl.d.ts +1 -1
  27. package/dist/makeIntl.d.ts.map +1 -1
  28. package/dist/makeUseCommand.d.ts +8 -0
  29. package/dist/makeUseCommand.d.ts.map +1 -0
  30. package/dist/makeUseCommand.js +13 -0
  31. package/dist/mutate.d.ts +53 -35
  32. package/dist/mutate.d.ts.map +1 -1
  33. package/dist/mutate.js +138 -47
  34. package/dist/query.d.ts +20 -40
  35. package/dist/query.d.ts.map +1 -1
  36. package/dist/query.js +138 -71
  37. package/dist/routeParams.d.ts +1 -1
  38. package/dist/runtime.d.ts +7 -4
  39. package/dist/runtime.d.ts.map +1 -1
  40. package/dist/runtime.js +27 -17
  41. package/dist/toast.d.ts +46 -0
  42. package/dist/toast.d.ts.map +1 -0
  43. package/dist/toast.js +32 -0
  44. package/dist/withToast.d.ts +26 -0
  45. package/dist/withToast.d.ts.map +1 -0
  46. package/dist/withToast.js +54 -0
  47. package/examples/streamMutation.ts +70 -0
  48. package/package.json +48 -50
  49. package/src/commander.ts +3384 -0
  50. package/src/{experimental/confirm.ts → confirm.ts} +10 -14
  51. package/src/errorReporter.ts +62 -74
  52. package/src/form.ts +56 -17
  53. package/src/intl.ts +12 -0
  54. package/src/lib.ts +47 -20
  55. package/src/makeClient.ts +569 -1135
  56. package/src/{experimental/makeUseCommand.ts → makeUseCommand.ts} +6 -4
  57. package/src/mutate.ts +266 -128
  58. package/src/query.ts +207 -181
  59. package/src/runtime.ts +41 -20
  60. package/src/{experimental/toast.ts → toast.ts} +11 -25
  61. package/src/{experimental/withToast.ts → withToast.ts} +28 -10
  62. package/test/Mutation.test.ts +176 -23
  63. package/test/dist/form.test.d.ts.map +1 -1
  64. package/test/dist/lib.test.d.ts.map +1 -0
  65. package/test/dist/streamFinal.test.d.ts.map +1 -0
  66. package/test/dist/streamFn.test.d.ts.map +1 -0
  67. package/test/dist/stubs.d.ts +3274 -122
  68. package/test/dist/stubs.d.ts.map +1 -1
  69. package/test/dist/stubs.js +178 -31
  70. package/test/form-validation-errors.test.ts +23 -19
  71. package/test/form.test.ts +20 -2
  72. package/test/lib.test.ts +240 -0
  73. package/test/makeClient.test.ts +292 -38
  74. package/test/streamFinal.test.ts +63 -0
  75. package/test/streamFn.test.ts +455 -0
  76. package/test/stubs.ts +214 -42
  77. package/tsconfig.examples.json +20 -0
  78. package/tsconfig.json +0 -1
  79. package/tsconfig.json.bak +5 -2
  80. package/tsconfig.src.json +34 -34
  81. package/tsconfig.test.json +2 -2
  82. package/vitest.config.ts +5 -5
  83. package/dist/experimental/commander.d.ts +0 -359
  84. package/dist/experimental/commander.d.ts.map +0 -1
  85. package/dist/experimental/commander.js +0 -558
  86. package/dist/experimental/confirm.d.ts +0 -19
  87. package/dist/experimental/confirm.d.ts.map +0 -1
  88. package/dist/experimental/confirm.js +0 -28
  89. package/dist/experimental/intl.d.ts +0 -16
  90. package/dist/experimental/intl.d.ts.map +0 -1
  91. package/dist/experimental/intl.js +0 -5
  92. package/dist/experimental/makeUseCommand.d.ts +0 -8
  93. package/dist/experimental/makeUseCommand.d.ts.map +0 -1
  94. package/dist/experimental/makeUseCommand.js +0 -13
  95. package/dist/experimental/toast.d.ts +0 -47
  96. package/dist/experimental/toast.d.ts.map +0 -1
  97. package/dist/experimental/toast.js +0 -41
  98. package/dist/experimental/withToast.d.ts +0 -25
  99. package/dist/experimental/withToast.d.ts.map +0 -1
  100. package/dist/experimental/withToast.js +0 -45
  101. package/eslint.config.mjs +0 -24
  102. package/src/experimental/commander.ts +0 -1836
  103. package/src/experimental/intl.ts +0 -9
package/CHANGELOG.md CHANGED
@@ -1,5 +1,1610 @@
1
1
  # @effect-app/vue
2
2
 
3
+ ## 4.0.0-beta.200
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [8f1cf6a]
8
+ - Updated dependencies [0cff7c1]
9
+ - effect-app@4.0.0-beta.200
10
+
11
+ ## 4.0.0-beta.199
12
+
13
+ ### Patch Changes
14
+
15
+ - effect-app@4.0.0-beta.199
16
+
17
+ ## 4.0.0-beta.198
18
+
19
+ ### Patch Changes
20
+
21
+ - dd73a4a: fix fn on stream semantics
22
+ - Updated dependencies [32dbc54]
23
+ - effect-app@4.0.0-beta.198
24
+
25
+ ## 4.0.0-beta.197
26
+
27
+ ### Minor Changes
28
+
29
+ - 3dc0d2a: Add streaming as a `stream: true` config option on `Query` / `Command` instead of a separate request type.
30
+
31
+ `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).
32
+
33
+ ```ts
34
+ // Query that streams results
35
+ Req.Query<T>()("Tag", {}, { stream: true, success: ... })
36
+
37
+ // Command that streams results
38
+ Req.Command<T>()("Tag", {}, { stream: true, success: ... })
39
+ ```
40
+
41
+ Vue client mapping (per-handler properties mirror the non-stream API — `.query`, `.fn`, `.mutate`):
42
+
43
+ - `query` + `stream: true` → exposes `.query` (read-only streaming, tracked Vue Query). Helper map key: `${name}Query`.
44
+ - `command` + `stream: true` → exposes `.fn` and `.mutate` (mutating streaming).
45
+ - Plain `query` / `command` unchanged.
46
+
47
+ Server routing dispatches via the new `stream` flag (`makeStreamRpc` for streaming commands/queries, `makeCommandRpc` / `Rpc.make` otherwise).
48
+
49
+ 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.
50
+
51
+ **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.
52
+
53
+ ### Patch Changes
54
+
55
+ - Updated dependencies [3dc0d2a]
56
+ - effect-app@4.0.0-beta.197
57
+
58
+ ## 4.0.0-beta.196
59
+
60
+ ### Patch Changes
61
+
62
+ - 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()`).
63
+ - effect-app@4.0.0-beta.196
64
+
65
+ ## 4.0.0-beta.195
66
+
67
+ ### Patch Changes
68
+
69
+ - Updated dependencies [774a9b3]
70
+ - effect-app@4.0.0-beta.195
71
+
72
+ ## 4.0.0-beta.194
73
+
74
+ ### Patch Changes
75
+
76
+ - refactor(vue): remove 1s waiting toast delay in withDefaultToastStream
77
+ - effect-app@4.0.0-beta.194
78
+
79
+ ## 4.0.0-beta.193
80
+
81
+ ### Patch Changes
82
+
83
+ - effect-app@4.0.0-beta.193
84
+
85
+ ## 4.0.0-beta.192
86
+
87
+ ### Patch Changes
88
+
89
+ - effect-app@4.0.0-beta.192
90
+
91
+ ## 4.0.0-beta.191
92
+
93
+ ### Patch Changes
94
+
95
+ - 50ce7e6: Cleanup after tsgolint + oxlint-codegen-plugin migration:
96
+ - Wire `@effect-app/eslint-codegen-model/oxlint` via `jsPlugins` object form (`{ name: "codegen", specifier: ... }`) so the `codegen/codegen` rule key resolves.
97
+ - Drop `eslint-plugin-codegen` dep, patch, and `augmentedConfig` helper — codegen now runs through oxlint.
98
+ - Break cyclic workspace dep between `eslint-codegen-model` and `eslint-shared-config`; remove dead `eslint.config.mjs` from `eslint-codegen-model`.
99
+ - Switch `@effect-app/vue` to oxlint-only (no `.vue` files in `src`); drop its ESLint config and `eslint-shared-config` devDep.
100
+ - 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).
101
+ - Add `globals.browser` to `vueConfig` so browser globals (`window`, `console`, `URL`, etc.) resolve.
102
+ - 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`.
103
+ - Updated dependencies [50ce7e6]
104
+ - effect-app@4.0.0-beta.191
105
+
106
+ ## 4.0.0-beta.190
107
+
108
+ ### Patch Changes
109
+
110
+ - 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`.
111
+ - Updated dependencies [985176b]
112
+ - effect-app@4.0.0-beta.190
113
+
114
+ ## 4.0.0-beta.189
115
+
116
+ ### Patch Changes
117
+
118
+ - 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.
119
+ - 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.
120
+ - Updated dependencies [ea32222]
121
+ - effect-app@4.0.0-beta.189
122
+
123
+ ## 4.0.0-beta.188
124
+
125
+ ### Minor Changes
126
+
127
+ - 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.
128
+
129
+ ### Patch Changes
130
+
131
+ - 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.
132
+ - b2e438f: Remove Operations service and repo
133
+ - Updated dependencies [b2e438f]
134
+ - effect-app@4.0.0-beta.188
135
+
136
+ ## 4.0.0-beta.187
137
+
138
+ ### Patch Changes
139
+
140
+ - 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.
141
+ - Updated dependencies [0d4e0b8]
142
+ - effect-app@4.0.0-beta.187
143
+
144
+ ## 4.0.0-beta.186
145
+
146
+ ### Patch Changes
147
+
148
+ - 89b7d2f: `Command.withDefaultToastStream`: add `progress` option to update the waiting toast with progress text on each stream element
149
+ - effect-app@4.0.0-beta.186
150
+
151
+ ## 4.0.0-beta.185
152
+
153
+ ### Patch Changes
154
+
155
+ - ddd9505: Rename stream mutation helpers: `mutateStream` → `mutateToResult`, `mutateStream2` → `mutate`.
156
+ - effect-app@4.0.0-beta.185
157
+
158
+ ## 4.0.0-beta.184
159
+
160
+ ### Minor Changes
161
+
162
+ - 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.
163
+
164
+ 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`.
165
+
166
+ ### Patch Changes
167
+
168
+ - effect-app@4.0.0-beta.184
169
+
170
+ ## 4.0.0-beta.183
171
+
172
+ ### Minor Changes
173
+
174
+ - 8ff0bf9: Add `Command.streamFn` — a stream-backed variant of `Command.fn`.
175
+
176
+ 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.
177
+
178
+ Three handler shapes are accepted:
179
+
180
+ 1. **Generator returning a Stream** (primary):
181
+ ```ts
182
+ Command.streamFn("exportData")(function* (arg, ctx) {
183
+ const token = yield* getAuthToken;
184
+ return Stream.fromEffect(startExport(token, arg.id)).pipe(
185
+ Stream.flatMap((job) => pollProgress(job.id))
186
+ );
187
+ });
188
+ ```
189
+ 2. Function returning a `Stream` directly.
190
+ 3. Function returning `Effect<Stream>` (unwrapped automatically).
191
+
192
+ - 8ff0bf9: - `CommandButton`: add optional `:map-progress` prop to compute progress from `command.result` via a custom mapper function
193
+ - `CommandBase`: add optional `result` field exposing reactive `AsyncResult` state
194
+ - Export `Progress` type from `@effect-app/vue`
195
+ - `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
196
+ - Add `makeStreamMutation2`: like `makeStreamMutation` but returns `Effect<Stream>` per invocation (with invalidation via `Stream.ensuring`), for use with `streamFn` combinators
197
+ - Expose `streamFn` on `XClient.Y` stream handlers and on the `Command` object
198
+ - Expose `mutateStream2` on `XClient.Y` stream handlers, with a `wrapStream` helper that calls `streamFn` with the handler and provided combinators
199
+ - 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>`.
200
+
201
+ ### Patch Changes
202
+
203
+ - effect-app@4.0.0-beta.183
204
+
205
+ ## 4.0.0-beta.182
206
+
207
+ ### Minor Changes
208
+
209
+ - b9586f8: Refine `mutateStream` shape and progress reporting.
210
+
211
+ - `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`.
212
+ - `progress` formatter return type widened from `string | undefined` to `Progress | undefined`, where `Progress = string | { text: string; percentage: number }`.
213
+ - 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.
214
+ - `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.
215
+ - Factories and callables are branded with `_streamFactory` / `_streamCallable` so `Command.fn` / `Command.wrap` can disambiguate them from plain mutate functions.
216
+
217
+ ### Patch Changes
218
+
219
+ - effect-app@4.0.0-beta.182
220
+
221
+ ## 4.0.0-beta.181
222
+
223
+ ### Minor Changes
224
+
225
+ - 4bbeb19: Add `wrapStream` support to `Command` with separate `result` and `running` props.
226
+
227
+ **Key design:**
228
+
229
+ - `result` is always the command's own execution outcome (from `asResult`)
230
+ - `running` holds the stream's live `AsyncResult` ref for progress tracking
231
+
232
+ **New behaviour:**
233
+
234
+ - `CommanderImpl.wrapStream(mutation)` returns a callable like `wrap` — `wrapStream(mutation)()` gives `CommandOut`.
235
+ - Accepts either `{ id, mutateStream: [...] }` or the augmented tuple directly (when `.id` is attached).
236
+ - `Command.wrap` now accepts `{ mutateStream, id }` and the augmented tuple — both delegate to `wrapStream`.
237
+ - `FnOptions.progress` — pass a `ComputedRef<AsyncResult>` to any `fn`-created command; surfaces as `running`.
238
+ - `StreamMutationWithExtensions` now includes `.id` on the tuple.
239
+ - Stream client entries expose `wrapStream` (callable), `fn`, and `mutateStream` (with `.id`).
240
+ - Stream mutation helpers also carry `.fn` and `.id`.
241
+
242
+ ```ts
243
+ // Via client entry:
244
+ const exportCmd = Command.wrapStream(client.myExport)();
245
+ // exportCmd.result = own execution result; exportCmd.running = live stream AsyncResult
246
+
247
+ // Via mutateStream tuple (id is attached):
248
+ const exportCmd = Command.wrapStream(client.myExport.mutateStream)();
249
+
250
+ // wrap also accepts the tuple:
251
+ const exportCmd = Command.wrap(client.myExport.mutateStream)();
252
+
253
+ // fn with external progress:
254
+ const cmd = Command.fn({
255
+ id: "myExport",
256
+ progress: client.myExport.mutateStream[0],
257
+ })(function* (arg) {
258
+ yield* client.myExport.mutateStream[1](arg);
259
+ });
260
+ // cmd.running === the stream AsyncResult ref
261
+ ```
262
+
263
+ ### Patch Changes
264
+
265
+ - 583393f: Default the stream `mutateStream` execute resolved value to the request's success type when no `final` schema is declared.
266
+
267
+ 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.
268
+
269
+ - Updated dependencies [583393f]
270
+ - effect-app@4.0.0-beta.181
271
+
272
+ ## 4.0.0-beta.180
273
+
274
+ ### Minor Changes
275
+
276
+ - 7fa3045: V1/V2/V3: stream and command requests carry invalidation metadata
277
+
278
+ **V1** – stream final response includes metadata
279
+
280
+ - `Invalidation.StreamResponseChunk` wraps each stream item as `{ _tag: "value", value }` and appends `{ _tag: "done", metadata }` at the end carrying all accumulated invalidation keys.
281
+
282
+ **V2** – invalidation keys included in failures
283
+
284
+ - `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.
285
+ - `InvalidationMiddlewareLive` wraps command failures; `routing.ts` wraps stream failures.
286
+ - `apiClientFactory.ts` unwraps both on the client side, forwarding keys before re-failing with the original error.
287
+
288
+ **V3** – mid-stream metadata chunks
289
+
290
+ - `Invalidation.StreamResponseChunk` now also includes `{ _tag: "metadata", metadata }` for mid-stream invalidation.
291
+ - 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`).
292
+ - `apiClientFactory.ts` processes "metadata" chunks the same as "done" chunks, forwarding keys to `InvalidationKeysFromServer` immediately.
293
+ - `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.
294
+
295
+ ### Patch Changes
296
+
297
+ - Updated dependencies [7fa3045]
298
+ - effect-app@4.0.0-beta.180
299
+
300
+ ## 4.0.0-beta.179
301
+
302
+ ### Minor Changes
303
+
304
+ - 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`.
305
+
306
+ ```ts
307
+ class MyStream extends SomethingStream<MyStream>()(
308
+ "MyStream",
309
+ { id: S.String },
310
+ {
311
+ success: S.Union([OperationProgress, ExportComplete]),
312
+ final: ExportComplete, // execute now resolves with ExportComplete
313
+ }
314
+ ) {}
315
+ ```
316
+
317
+ ### Patch Changes
318
+
319
+ - Updated dependencies [828d264]
320
+ - effect-app@4.0.0-beta.179
321
+
322
+ ## 4.0.0-beta.178
323
+
324
+ ### Minor Changes
325
+
326
+ - 07dd7b9: Add `asStreamResult` utility and stream-based mutation example.
327
+
328
+ `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`.
329
+
330
+ 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.
331
+
332
+ ### Patch Changes
333
+
334
+ - effect-app@4.0.0-beta.178
335
+
336
+ ## 4.0.0-beta.177
337
+
338
+ ### Patch Changes
339
+
340
+ - Updated dependencies [89d8b3a]
341
+ - effect-app@4.0.0-beta.177
342
+
343
+ ## 4.0.0-beta.176
344
+
345
+ ### Patch Changes
346
+
347
+ - pass options
348
+ - Updated dependencies
349
+ - effect-app@4.0.0-beta.176
350
+
351
+ ## 4.0.0-beta.175
352
+
353
+ ### Minor Changes
354
+
355
+ - 28777c1: Add `select` option to `MutationOptionsBase` for a second cache invalidation after long-running operations.
356
+
357
+ When `select` is provided, cache invalidation fires twice:
358
+
359
+ 1. Immediately when the mutation completes (existing behaviour).
360
+ 2. Again after the `select` effect finishes — useful for polling or waiting for a background job before refreshing data.
361
+
362
+ ```ts
363
+ useMutation(startExportCommand, {
364
+ select: (result) => pollUntilDone(result.jobId),
365
+ });
366
+ ```
367
+
368
+ ### Patch Changes
369
+
370
+ - 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.
371
+ - effect-app@4.0.0-beta.175
372
+
373
+ ## 4.0.0-beta.174
374
+
375
+ ### Minor Changes
376
+
377
+ - 821468d: Add server-driven cache invalidation via RPC response headers.
378
+
379
+ - `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.
380
+ - `effect-app/middleware`: new `InvalidationMiddleware` RPC middleware tag; included in `DefaultGenericMiddlewares`.
381
+ - `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`.
382
+ - `@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.
383
+ - `@effect-app/vue`: `invalidateQueries` / `useMutation` now reads server-provided invalidation keys from `InvalidationKeysFromServer` after each mutation and applies them alongside the client-side invalidation.
384
+
385
+ ### Patch Changes
386
+
387
+ - 1b38043: Fix lint: use typescript ~6.0.3 instead of native-preview for ESLint compatibility; keep tsgo for compilation
388
+ - 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.
389
+ - Updated dependencies [821468d]
390
+ - effect-app@4.0.0-beta.174
391
+
392
+ ## 4.0.0-beta.173
393
+
394
+ ### Patch Changes
395
+
396
+ - 4149577: fix queryresources
397
+ - effect-app@4.0.0-beta.173
398
+
399
+ ## 4.0.0-beta.172
400
+
401
+ ### Patch Changes
402
+
403
+ - effect-app@4.0.0-beta.172
404
+
405
+ ## 4.0.0-beta.171
406
+
407
+ ### Patch Changes
408
+
409
+ - d71d976: fix
410
+ - Updated dependencies [d71d976]
411
+ - effect-app@4.0.0-beta.171
412
+
413
+ ## 4.0.0-beta.170
414
+
415
+ ### Patch Changes
416
+
417
+ - 8f09f77: fix
418
+ - Updated dependencies [8f09f77]
419
+ - effect-app@4.0.0-beta.170
420
+
421
+ ## 4.0.0-beta.169
422
+
423
+ ### Patch Changes
424
+
425
+ - 8ae8b53: input mess
426
+ - Updated dependencies [8ae8b53]
427
+ - effect-app@4.0.0-beta.169
428
+
429
+ ## 4.0.0-beta.168
430
+
431
+ ### Patch Changes
432
+
433
+ - Updated dependencies [178480a]
434
+ - effect-app@4.0.0-beta.168
435
+
436
+ ## 4.0.0-beta.167
437
+
438
+ ### Patch Changes
439
+
440
+ - 140e192: Relax invalidation resource value constraints to allow arbitrary values while preserving query-only filtering in invalidation handling.
441
+ - Updated dependencies [140e192]
442
+ - effect-app@4.0.0-beta.167
443
+
444
+ ## 4.0.0-beta.166
445
+
446
+ ### Patch Changes
447
+
448
+ - 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.
449
+ - Updated dependencies [dbcc53b]
450
+ - effect-app@4.0.0-beta.166
451
+
452
+ ## 4.0.0-beta.165
453
+
454
+ ### Patch Changes
455
+
456
+ - 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.
457
+ - 66fd718: Require `clientFor` invalidation resources when any command in the client configures them.
458
+ - Updated dependencies [f88ea34]
459
+ - effect-app@4.0.0-beta.165
460
+
461
+ ## 4.0.0-beta.164
462
+
463
+ ### Minor Changes
464
+
465
+ - 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.
466
+
467
+ ### Patch Changes
468
+
469
+ - Updated dependencies [8cb3de4]
470
+ - effect-app@4.0.0-beta.164
471
+
472
+ ## 4.0.0-beta.163
473
+
474
+ ### Patch Changes
475
+
476
+ - b952f19: bye cruft
477
+ - Updated dependencies [b952f19]
478
+ - effect-app@4.0.0-beta.163
479
+
480
+ ## 4.0.0-beta.162
481
+
482
+ ### Patch Changes
483
+
484
+ - Updated dependencies [b52b424]
485
+ - effect-app@4.0.0-beta.162
486
+
487
+ ## 4.0.0-beta.161
488
+
489
+ ### Patch Changes
490
+
491
+ - 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.
492
+ - effect-app@4.0.0-beta.161
493
+
494
+ ## 4.0.0-beta.160
495
+
496
+ ### Patch Changes
497
+
498
+ - 505bfa9: Add concurrent decode helper APIs and migrate decode callsites to use them.
499
+
500
+ - Add `withDefaultParseOptions` and keep `DefaultParseOptions` centralized.
501
+ - Export `decodeEffectConcurrently` and `decodeUnknownEffectConcurrently` from Schema and SchemaParser modules.
502
+ - Update repository, queue, client, form, and CLI decode paths to use concurrent decode helpers.
503
+ - Keep schema constructors free of hardcoded parse concurrency overrides.
504
+
505
+ - Updated dependencies [505bfa9]
506
+ - effect-app@4.0.0-beta.160
507
+
508
+ ## 4.0.0-beta.159
509
+
510
+ ### Patch Changes
511
+
512
+ - c1e73de:
513
+ - Updated dependencies [c1e73de]
514
+ - effect-app@4.0.0-beta.159
515
+
516
+ ## 4.0.0-beta.158
517
+
518
+ ### Patch Changes
519
+
520
+ - Updated dependencies [3c1f52d]
521
+ - Updated dependencies [6ae3050]
522
+ - effect-app@4.0.0-beta.158
523
+
524
+ ## 4.0.0-beta.157
525
+
526
+ ### Patch Changes
527
+
528
+ - Updated dependencies [6fff09c]
529
+ - effect-app@4.0.0-beta.157
530
+
531
+ ## 4.0.0-beta.156
532
+
533
+ ### Patch Changes
534
+
535
+ - 4bc4a27: Constrain `project` schema to require matching `Encoded` type with original success schema
536
+ - effect-app@4.0.0-beta.156
537
+
538
+ ## 4.0.0-beta.155
539
+
540
+ ### Patch Changes
541
+
542
+ - 2e4c018: feat: add client projection
543
+ - Updated dependencies [c215db8]
544
+ - effect-app@4.0.0-beta.155
545
+
546
+ ## 4.0.0-beta.154
547
+
548
+ ### Patch Changes
549
+
550
+ - 3200fa8: apply the remaining formatting and autofix cleanup across the vue packages
551
+ - effect-app@4.0.0-beta.154
552
+
553
+ ## 4.0.0-beta.153
554
+
555
+ ### Patch Changes
556
+
557
+ - effect-app@4.0.0-beta.153
558
+
559
+ ## 4.0.0-beta.152
560
+
561
+ ### Patch Changes
562
+
563
+ - effect-app@4.0.0-beta.152
564
+
565
+ ## 4.0.0-beta.151
566
+
567
+ ### Patch Changes
568
+
569
+ - effect-app@4.0.0-beta.151
570
+
571
+ ## 4.0.0-beta.150
572
+
573
+ ### Patch Changes
574
+
575
+ - Updated dependencies [85a8275]
576
+ - effect-app@4.0.0-beta.150
577
+
578
+ ## 4.0.0-beta.149
579
+
580
+ ### Patch Changes
581
+
582
+ - Updated dependencies [f317c5e]
583
+ - effect-app@4.0.0-beta.149
584
+
585
+ ## 4.0.0-beta.148
586
+
587
+ ### Patch Changes
588
+
589
+ - Updated dependencies [199e9a5]
590
+ - effect-app@4.0.0-beta.148
591
+
592
+ ## 4.0.0-beta.147
593
+
594
+ ### Patch Changes
595
+
596
+ - Updated dependencies [47e3742]
597
+ - effect-app@4.0.0-beta.147
598
+
599
+ ## 4.0.0-beta.146
600
+
601
+ ### Patch Changes
602
+
603
+ - Updated dependencies [a4dff57]
604
+ - effect-app@4.0.0-beta.146
605
+
606
+ ## 4.0.0-beta.145
607
+
608
+ ### Patch Changes
609
+
610
+ - Updated dependencies [12abb55]
611
+ - effect-app@4.0.0-beta.145
612
+
613
+ ## 4.0.0-beta.144
614
+
615
+ ### Patch Changes
616
+
617
+ - 11422f8: Update request helper typing and runtime invocation to rely on schema `.make` instead of class constructors, avoiding `new`-based assumptions for request schemas.
618
+ - Updated dependencies [11422f8]
619
+ - Updated dependencies [d31253f]
620
+ - effect-app@4.0.0-beta.144
621
+
622
+ ## 4.0.0-beta.143
623
+
624
+ ### Patch Changes
625
+
626
+ - Updated dependencies [79eb019]
627
+ - effect-app@4.0.0-beta.143
628
+
629
+ ## 4.0.0-beta.142
630
+
631
+ ### Patch Changes
632
+
633
+ - Updated dependencies [3436d44]
634
+ - Updated dependencies [025de47]
635
+ - effect-app@4.0.0-beta.142
636
+
637
+ ## 4.0.0-beta.141
638
+
639
+ ### Patch Changes
640
+
641
+ - Updated dependencies [7c25dbb]
642
+ - effect-app@4.0.0-beta.141
643
+
644
+ ## 4.0.0-beta.140
645
+
646
+ ### Patch Changes
647
+
648
+ - effect-app@4.0.0-beta.140
649
+
650
+ ## 4.0.0-beta.139
651
+
652
+ ### Patch Changes
653
+
654
+ - ba61aad: raw dog
655
+ - effect-app@4.0.0-beta.139
656
+
657
+ ## 4.0.0-beta.138
658
+
659
+ ### Patch Changes
660
+
661
+ - 9be71e1: fix: double guard
662
+ - effect-app@4.0.0-beta.138
663
+
664
+ ## 4.0.0-beta.137
665
+
666
+ ### Patch Changes
667
+
668
+ - effect-app@4.0.0-beta.137
669
+
670
+ ## 4.0.0-beta.136
671
+
672
+ ### Patch Changes
673
+
674
+ - effect-app@4.0.0-beta.136
675
+
676
+ ## 4.0.0-beta.135
677
+
678
+ ### Patch Changes
679
+
680
+ - Updated dependencies [c7bbc41]
681
+ - effect-app@4.0.0-beta.135
682
+
683
+ ## 4.0.0-beta.134
684
+
685
+ ### Patch Changes
686
+
687
+ - Updated dependencies [9d3495e]
688
+ - Updated dependencies [f353d48]
689
+ - effect-app@4.0.0-beta.134
690
+
691
+ ## 4.0.0-beta.133
692
+
693
+ ### Patch Changes
694
+
695
+ - 99a2e9b: Use warning toasts for expected commander failures, while keeping unexpected errors as error toasts.
696
+ - c3299f7: update packages
697
+ - Updated dependencies [c3299f7]
698
+ - effect-app@4.0.0-beta.133
699
+
700
+ ## 4.0.0-beta.132
701
+
702
+ ### Patch Changes
703
+
704
+ - 8753c52: render
705
+ - effect-app@4.0.0-beta.132
706
+
707
+ ## 4.0.0-beta.131
708
+
709
+ ### Patch Changes
710
+
711
+ - 1b57aa4: Add a `Commander` error-renderer registry via `Context.Reference` and apply registered guarded renderers before default error formatting.
712
+ - effect-app@4.0.0-beta.131
713
+
714
+ ## 4.0.0-beta.130
715
+
716
+ ### Patch Changes
717
+
718
+ - fc41dcf: add trace id and span id to toasts
719
+ - Updated dependencies [ea1bd46]
720
+ - effect-app@4.0.0-beta.130
721
+
722
+ ## 4.0.0-beta.129
723
+
724
+ ### Patch Changes
725
+
726
+ - 34f6a97: fix missing fn
727
+ - effect-app@4.0.0-beta.129
728
+
729
+ ## 4.0.0-beta.128
730
+
731
+ ### Patch Changes
732
+
733
+ - 57db551: Split `TaggedRequestFor` into `Query` and `Command` factories, and mark generated request classes with `type: "query" | "command"`.
734
+
735
+ Vue client helpers now expose query-only helpers (`query`, `suspense`, `fetch`) for query requests and mutation-only helpers (`mutate`, `fetch`) for command requests.
736
+
737
+ - Updated dependencies [57db551]
738
+ - effect-app@4.0.0-beta.128
739
+
740
+ ## 4.0.0-beta.127
741
+
742
+ ### Minor Changes
743
+
744
+ - 6a3d364: Client entries are now plain objects; use `.request` to invoke the request.
745
+
746
+ `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.
747
+
748
+ ### Patch Changes
749
+
750
+ - effect-app@4.0.0-beta.127
751
+
752
+ ## 4.0.0-beta.126
753
+
754
+ ### Patch Changes
755
+
756
+ - Updated dependencies [458bb1b]
757
+ - effect-app@4.0.0-beta.126
758
+
759
+ ## 4.0.0-beta.125
760
+
761
+ ### Patch Changes
762
+
763
+ - effect-app@4.0.0-beta.125
764
+
765
+ ## 4.0.0-beta.124
766
+
767
+ ### Patch Changes
768
+
769
+ - 256ae85: cleanup
770
+ - Updated dependencies [256ae85]
771
+ - effect-app@4.0.0-beta.124
772
+
773
+ ## 4.0.0-beta.123
774
+
775
+ ### Patch Changes
776
+
777
+ - Updated dependencies [14aba14]
778
+ - effect-app@4.0.0-beta.123
779
+
780
+ ## 4.0.0-beta.122
781
+
782
+ ### Patch Changes
783
+
784
+ - 07a57b6: Limit `client.method.mutate` extensions to only expose the mutation call and `wrap`.
785
+ - f052d38: Replace `(...) => Effect.gen` with `Effect.fnUntraced` in commander `withDefaultToast`.
786
+ - Updated dependencies [f052d38]
787
+ - effect-app@4.0.0-beta.122
788
+
789
+ ## 4.0.0-beta.121
790
+
791
+ ### Patch Changes
792
+
793
+ - Updated dependencies [5ac46cb]
794
+ - effect-app@4.0.0-beta.121
795
+
796
+ ## 4.0.0-beta.120
797
+
798
+ ### Patch Changes
799
+
800
+ - Updated dependencies [f21190c]
801
+ - effect-app@4.0.0-beta.120
802
+
803
+ ## 4.0.0-beta.119
804
+
805
+ ### Patch Changes
806
+
807
+ - effect-app@4.0.0-beta.119
808
+
809
+ ## 4.0.0-beta.118
810
+
811
+ ### Patch Changes
812
+
813
+ - Update effect packages to 4.0.0-beta.52
814
+ - Updated dependencies [bd26832]
815
+ - Updated dependencies [08d2e70]
816
+ - Updated dependencies
817
+ - effect-app@4.0.0-beta.118
818
+
819
+ ## 4.0.0-beta.117
820
+
821
+ ### Patch Changes
822
+
823
+ - effect-app@4.0.0-beta.117
824
+
825
+ ## 4.0.0-beta.116
826
+
827
+ ### Patch Changes
828
+
829
+ - effect-app@4.0.0-beta.116
830
+
831
+ ## 4.0.0-beta.115
832
+
833
+ ### Patch Changes
834
+
835
+ - effect-app@4.0.0-beta.115
836
+
837
+ ## 4.0.0-beta.114
838
+
839
+ ### Patch Changes
840
+
841
+ - effect-app@4.0.0-beta.114
842
+
843
+ ## 4.0.0-beta.113
844
+
845
+ ### Patch Changes
846
+
847
+ - effect-app@4.0.0-beta.113
848
+
849
+ ## 4.0.0-beta.112
850
+
851
+ ### Patch Changes
852
+
853
+ - effect-app@4.0.0-beta.112
854
+
855
+ ## 4.0.0-beta.111
856
+
857
+ ### Patch Changes
858
+
859
+ - Updated dependencies [ca94edf]
860
+ - effect-app@4.0.0-beta.111
861
+
862
+ ## 4.0.0-beta.110
863
+
864
+ ### Patch Changes
865
+
866
+ - effect-app@4.0.0-beta.110
867
+
868
+ ## 4.0.0-beta.109
869
+
870
+ ### Patch Changes
871
+
872
+ - effect-app@4.0.0-beta.109
873
+
874
+ ## 4.0.0-beta.108
875
+
876
+ ### Patch Changes
877
+
878
+ - Updated dependencies [3e46e7b]
879
+ - effect-app@4.0.0-beta.108
880
+
881
+ ## 4.0.0-beta.107
882
+
883
+ ### Patch Changes
884
+
885
+ - effect-app@4.0.0-beta.107
886
+
887
+ ## 4.0.0-beta.106
888
+
889
+ ### Patch Changes
890
+
891
+ - effect-app@4.0.0-beta.106
892
+
893
+ ## 4.0.0-beta.105
894
+
895
+ ### Patch Changes
896
+
897
+ - effect-app@4.0.0-beta.105
898
+
899
+ ## 4.0.0-beta.104
900
+
901
+ ### Patch Changes
902
+
903
+ - Updated dependencies [e944bca]
904
+ - effect-app@4.0.0-beta.104
905
+
906
+ ## 4.0.0-beta.103
907
+
908
+ ### Patch Changes
909
+
910
+ - Updated dependencies [7119320]
911
+ - effect-app@4.0.0-beta.103
912
+
913
+ ## 4.0.0-beta.102
914
+
915
+ ### Patch Changes
916
+
917
+ - effect-app@4.0.0-beta.102
918
+
919
+ ## 4.0.0-beta.101
920
+
921
+ ### Patch Changes
922
+
923
+ - effect-app@4.0.0-beta.101
924
+
925
+ ## 4.0.0-beta.100
926
+
927
+ ### Patch Changes
928
+
929
+ - effect-app@4.0.0-beta.100
930
+
931
+ ## 4.0.0-beta.99
932
+
933
+ ### Patch Changes
934
+
935
+ - effect-app@4.0.0-beta.99
936
+
937
+ ## 4.0.0-beta.98
938
+
939
+ ### Patch Changes
940
+
941
+ - effect-app@4.0.0-beta.98
942
+
943
+ ## 4.0.0-beta.97
944
+
945
+ ### Patch Changes
946
+
947
+ - effect-app@4.0.0-beta.97
948
+
949
+ ## 4.0.0-beta.96
950
+
951
+ ### Patch Changes
952
+
953
+ - Updated dependencies [5615e47]
954
+ - effect-app@4.0.0-beta.96
955
+
956
+ ## 4.0.0-beta.95
957
+
958
+ ### Patch Changes
959
+
960
+ - Updated dependencies [88838fb]
961
+ - effect-app@4.0.0-beta.95
962
+
963
+ ## 4.0.0-beta.94
964
+
965
+ ### Patch Changes
966
+
967
+ - effect-app@4.0.0-beta.94
968
+
969
+ ## 4.0.0-beta.93
970
+
971
+ ### Patch Changes
972
+
973
+ - effect-app@4.0.0-beta.93
974
+
975
+ ## 4.0.0-beta.92
976
+
977
+ ### Patch Changes
978
+
979
+ - effect-app@4.0.0-beta.92
980
+
981
+ ## 4.0.0-beta.91
982
+
983
+ ### Patch Changes
984
+
985
+ - Updated dependencies [738b482]
986
+ - effect-app@4.0.0-beta.91
987
+
988
+ ## 4.0.0-beta.90
989
+
990
+ ### Patch Changes
991
+
992
+ - effect-app@4.0.0-beta.90
993
+
994
+ ## 4.0.0-beta.89
995
+
996
+ ### Patch Changes
997
+
998
+ - effect-app@4.0.0-beta.89
999
+
1000
+ ## 4.0.0-beta.88
1001
+
1002
+ ### Patch Changes
1003
+
1004
+ - effect-app@4.0.0-beta.88
1005
+
1006
+ ## 4.0.0-beta.87
1007
+
1008
+ ### Patch Changes
1009
+
1010
+ - effect-app@4.0.0-beta.87
1011
+
1012
+ ## 4.0.0-beta.86
1013
+
1014
+ ### Patch Changes
1015
+
1016
+ - effect-app@4.0.0-beta.86
1017
+
1018
+ ## 4.0.0-beta.85
1019
+
1020
+ ### Patch Changes
1021
+
1022
+ - effect-app@4.0.0-beta.85
1023
+
1024
+ ## 4.0.0-beta.84
1025
+
1026
+ ### Patch Changes
1027
+
1028
+ - effect-app@4.0.0-beta.84
1029
+
1030
+ ## 4.0.0-beta.83
1031
+
1032
+ ### Patch Changes
1033
+
1034
+ - effect-app@4.0.0-beta.83
1035
+
1036
+ ## 4.0.0-beta.82
1037
+
1038
+ ### Patch Changes
1039
+
1040
+ - effect-app@4.0.0-beta.82
1041
+
1042
+ ## 4.0.0-beta.81
1043
+
1044
+ ### Patch Changes
1045
+
1046
+ - effect-app@4.0.0-beta.81
1047
+
1048
+ ## 4.0.0-beta.80
1049
+
1050
+ ### Patch Changes
1051
+
1052
+ - effect-app@4.0.0-beta.80
1053
+
1054
+ ## 4.0.0-beta.79
1055
+
1056
+ ### Patch Changes
1057
+
1058
+ - 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).
1059
+ - Updated dependencies [d16845e]
1060
+ - effect-app@4.0.0-beta.79
1061
+
1062
+ ## 4.0.0-beta.78
1063
+
1064
+ ### Patch Changes
1065
+
1066
+ - effect-app@4.0.0-beta.78
1067
+
1068
+ ## 4.0.0-beta.77
1069
+
1070
+ ### Patch Changes
1071
+
1072
+ - Updated dependencies [3613e87]
1073
+ - effect-app@4.0.0-beta.77
1074
+
1075
+ ## 4.0.0-beta.76
1076
+
1077
+ ### Patch Changes
1078
+
1079
+ - 08d30af: Fix Commander combinator type inference for void Arg and withDefaultToast callbacks
1080
+
1081
+ - Use `ArgForCombinator` helper to properly resolve `void` args to `undefined` in combinator positions, enabling correct type inference for `withDefaultToast` and other curried combinators
1082
+ - Use explicit positional params in `withDefaultToast` options callbacks instead of rest spread, allowing users to omit trailing parameters
1083
+
1084
+ - fac725d: update effect to latest beta
1085
+ - Updated dependencies [a5248a9]
1086
+ - Updated dependencies [fac725d]
1087
+ - effect-app@4.0.0-beta.76
1088
+
1089
+ ## 4.0.0-beta.75
1090
+
1091
+ ### Patch Changes
1092
+
1093
+ - Updated dependencies [24f0a5a]
1094
+ - effect-app@4.0.0-beta.75
1095
+
1096
+ ## 4.0.0-beta.74
1097
+
1098
+ ### Patch Changes
1099
+
1100
+ - Updated dependencies [54ec1ef]
1101
+ - effect-app@4.0.0-beta.74
1102
+
1103
+ ## 4.0.0-beta.73
1104
+
1105
+ ### Patch Changes
1106
+
1107
+ - effect-app@4.0.0-beta.73
1108
+
1109
+ ## 4.0.0-beta.72
1110
+
1111
+ ### Patch Changes
1112
+
1113
+ - Updated dependencies [0541f0d]
1114
+ - effect-app@4.0.0-beta.72
1115
+
1116
+ ## 4.0.0-beta.71
1117
+
1118
+ ### Patch Changes
1119
+
1120
+ - Updated dependencies [beae3a0]
1121
+ - effect-app@4.0.0-beta.71
1122
+
1123
+ ## 4.0.0-beta.70
1124
+
1125
+ ### Patch Changes
1126
+
1127
+ - effect-app@4.0.0-beta.70
1128
+
1129
+ ## 4.0.0-beta.69
1130
+
1131
+ ### Patch Changes
1132
+
1133
+ - dc465e3: update to latest effect beta
1134
+ - Updated dependencies [dc465e3]
1135
+ - effect-app@4.0.0-beta.69
1136
+
1137
+ ## 4.0.0-beta.68
1138
+
1139
+ ### Patch Changes
1140
+
1141
+ - Updated dependencies [e6f2341]
1142
+ - effect-app@4.0.0-beta.68
1143
+
1144
+ ## 4.0.0-beta.67
1145
+
1146
+ ### Patch Changes
1147
+
1148
+ - effect-app@4.0.0-beta.67
1149
+
1150
+ ## 4.0.0-beta.66
1151
+
1152
+ ### Patch Changes
1153
+
1154
+ - Updated dependencies [edc52e4]
1155
+ - effect-app@4.0.0-beta.66
1156
+
1157
+ ## 4.0.0-beta.65
1158
+
1159
+ ### Minor Changes
1160
+
1161
+ - 1f103b2: Replace `proxify` with explicit service accessor helpers: `accessFn`, `accessEffectFn`, `accessCn`, `accessEffectCn`.
1162
+
1163
+ ### Patch Changes
1164
+
1165
+ - Updated dependencies [31739d7]
1166
+ - Updated dependencies [1f103b2]
1167
+ - effect-app@4.0.0-beta.65
1168
+
1169
+ ## 4.0.0-beta.64
1170
+
1171
+ ### Patch Changes
1172
+
1173
+ - Updated dependencies [c1a6fdc]
1174
+ - effect-app@4.0.0-beta.64
1175
+
1176
+ ## 4.0.0-beta.63
1177
+
1178
+ ### Minor Changes
1179
+
1180
+ - b3ed68a: Remove `legacy` from `makeClient` return and clean up `LegacyMutation`, `LegacyMutationImpl`, and related types.
1181
+
1182
+ ### Patch Changes
1183
+
1184
+ - effect-app@4.0.0-beta.63
1185
+
1186
+ ## 4.0.0-beta.62
1187
+
1188
+ ### Patch Changes
1189
+
1190
+ - Updated dependencies [0b21a02]
1191
+ - effect-app@4.0.0-beta.62
1192
+
1193
+ ## 4.0.0-beta.61
1194
+
1195
+ ### Patch Changes
1196
+
1197
+ - effect-app@4.0.0-beta.61
1198
+
1199
+ ## 4.0.0-beta.60
1200
+
1201
+ ### Patch Changes
1202
+
1203
+ - effect-app@4.0.0-beta.60
1204
+
1205
+ ## 4.0.0-beta.59
1206
+
1207
+ ### Patch Changes
1208
+
1209
+ - cec026d: update packages
1210
+ - Updated dependencies [cec026d]
1211
+ - effect-app@4.0.0-beta.59
1212
+
1213
+ ## 4.0.0-beta.58
1214
+
1215
+ ### Patch Changes
1216
+
1217
+ - 7fd35e4: update tanstack/query
1218
+ - effect-app@4.0.0-beta.58
1219
+
1220
+ ## 4.0.0-beta.57
1221
+
1222
+ ### Patch Changes
1223
+
1224
+ - effect-app@4.0.0-beta.57
1225
+
1226
+ ## 4.0.0-beta.56
1227
+
1228
+ ### Patch Changes
1229
+
1230
+ - effect-app@4.0.0-beta.56
1231
+
1232
+ ## 4.0.0-beta.55
1233
+
1234
+ ### Patch Changes
1235
+
1236
+ - eceb3a3: align CauseException
1237
+ - effect-app@4.0.0-beta.55
1238
+
1239
+ ## 4.0.0-beta.54
1240
+
1241
+ ### Patch Changes
1242
+
1243
+ - d867272: the return of `Context`
1244
+ - Updated dependencies [d867272]
1245
+ - effect-app@4.0.0-beta.54
1246
+
1247
+ ## 4.0.0-beta.53
1248
+
1249
+ ### Patch Changes
1250
+
1251
+ - Updated dependencies [ee9694e]
1252
+ - effect-app@4.0.0-beta.53
1253
+
1254
+ ## 4.0.0-beta.52
1255
+
1256
+ ### Patch Changes
1257
+
1258
+ - Updated dependencies [6252808]
1259
+ - effect-app@4.0.0-beta.52
1260
+
1261
+ ## 4.0.0-beta.51
1262
+
1263
+ ### Patch Changes
1264
+
1265
+ - effect-app@4.0.0-beta.51
1266
+
1267
+ ## 4.0.0-beta.50
1268
+
1269
+ ### Patch Changes
1270
+
1271
+ - effect-app@4.0.0-beta.50
1272
+
1273
+ ## 4.0.0-beta.49
1274
+
1275
+ ### Patch Changes
1276
+
1277
+ - Updated dependencies [e585c9c]
1278
+ - effect-app@4.0.0-beta.49
1279
+
1280
+ ## 4.0.0-beta.48
1281
+
1282
+ ### Patch Changes
1283
+
1284
+ - Updated dependencies [0c88f78]
1285
+ - effect-app@4.0.0-beta.48
1286
+
1287
+ ## 4.0.0-beta.47
1288
+
1289
+ ### Patch Changes
1290
+
1291
+ - Updated dependencies [3365758]
1292
+ - effect-app@4.0.0-beta.47
1293
+
1294
+ ## 4.0.0-beta.46
1295
+
1296
+ ### Patch Changes
1297
+
1298
+ - 28a0b29: expose Input
1299
+ - 0c42d67: move out Commander and friends from experimental
1300
+ - effect-app@4.0.0-beta.46
1301
+
1302
+ ## 4.0.0-beta.45
1303
+
1304
+ ### Patch Changes
1305
+
1306
+ - 10b55ff: update packages
1307
+ - Updated dependencies [10b55ff]
1308
+ - effect-app@4.0.0-beta.45
1309
+
1310
+ ## 4.0.0-beta.44
1311
+
1312
+ ### Patch Changes
1313
+
1314
+ - a37aa38: Update to effect beta 43
1315
+ - Updated dependencies [a37aa38]
1316
+ - effect-app@4.0.0-beta.44
1317
+
1318
+ ## 4.0.0-beta.43
1319
+
1320
+ ### Patch Changes
1321
+
1322
+ - effect-app@4.0.0-beta.43
1323
+
1324
+ ## 4.0.0-beta.42
1325
+
1326
+ ### Patch Changes
1327
+
1328
+ - 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.
1329
+ - effect-app@4.0.0-beta.42
1330
+
1331
+ ## 4.0.0-beta.41
1332
+
1333
+ ### Patch Changes
1334
+
1335
+ - 702d51c: also make runSync version available\
1336
+ - effect-app@4.0.0-beta.41
1337
+
1338
+ ## 4.0.0-beta.40
1339
+
1340
+ ### Patch Changes
1341
+
1342
+ - 18fd1df: unify runPromise
1343
+ - effect-app@4.0.0-beta.40
1344
+
1345
+ ## 4.0.0-beta.39
1346
+
1347
+ ### Patch Changes
1348
+
1349
+ - Updated dependencies [10e90d5]
1350
+ - effect-app@4.0.0-beta.39
1351
+
1352
+ ## 4.0.0-beta.38
1353
+
1354
+ ### Patch Changes
1355
+
1356
+ - Updated dependencies [0b3e00e]
1357
+ - effect-app@4.0.0-beta.38
1358
+
1359
+ ## 4.0.0-beta.37
1360
+
1361
+ ### Patch Changes
1362
+
1363
+ - 04fc985: Fixes error handling
1364
+ - Updated dependencies [947fe20]
1365
+ - effect-app@4.0.0-beta.37
1366
+
1367
+ ## 4.0.0-beta.36
1368
+
1369
+ ### Patch Changes
1370
+
1371
+ - effect-app@4.0.0-beta.36
1372
+
1373
+ ## 4.0.0-beta.35
1374
+
1375
+ ### Patch Changes
1376
+
1377
+ - effect-app@4.0.0-beta.35
1378
+
1379
+ ## 4.0.0-beta.34
1380
+
1381
+ ### Patch Changes
1382
+
1383
+ - 8c645d5: update to latest effect
1384
+ - Updated dependencies [8c645d5]
1385
+ - effect-app@4.0.0-beta.34
1386
+
1387
+ ## 4.0.0-beta.33
1388
+
1389
+ ### Patch Changes
1390
+
1391
+ - 4b95009: use Finite instead of Number
1392
+ - 7328c76: add deprecation notices
1393
+ - Updated dependencies [4b95009]
1394
+ - effect-app@4.0.0-beta.33
1395
+
1396
+ ## 4.0.0-beta.32
1397
+
1398
+ ### Patch Changes
1399
+
1400
+ - Updated dependencies [01d862a]
1401
+ - effect-app@4.0.0-beta.32
1402
+
1403
+ ## 4.0.0-beta.31
1404
+
1405
+ ### Patch Changes
1406
+
1407
+ - Updated dependencies [6b6d601]
1408
+ - effect-app@4.0.0-beta.31
1409
+
1410
+ ## 4.0.0-beta.30
1411
+
1412
+ ### Patch Changes
1413
+
1414
+ - Updated dependencies [5ec1f45]
1415
+ - effect-app@4.0.0-beta.30
1416
+
1417
+ ## 4.0.0-beta.29
1418
+
1419
+ ### Patch Changes
1420
+
1421
+ - Updated dependencies [a899d46]
1422
+ - effect-app@4.0.0-beta.29
1423
+
1424
+ ## 4.0.0-beta.28
1425
+
1426
+ ### Patch Changes
1427
+
1428
+ - Updated dependencies [0099208]
1429
+ - effect-app@4.0.0-beta.28
1430
+
1431
+ ## 4.0.0-beta.27
1432
+
1433
+ ### Patch Changes
1434
+
1435
+ - 601a1ff: update effect to 4.0.0-beta.37 and drop the Schema Class disableValidation workaround now that the patched effect schema covers it
1436
+ - Updated dependencies [601a1ff]
1437
+ - effect-app@4.0.0-beta.27
1438
+
1439
+ ## 4.0.0-beta.26
1440
+
1441
+ ### Patch Changes
1442
+
1443
+ - Updated dependencies [4da28e2]
1444
+ - effect-app@4.0.0-beta.26
1445
+
1446
+ ## 4.0.0-beta.25
1447
+
1448
+ ### Patch Changes
1449
+
1450
+ - Updated dependencies [6282d4b]
1451
+ - effect-app@4.0.0-beta.25
1452
+
1453
+ ## 4.0.0-beta.24
1454
+
1455
+ ### Patch Changes
1456
+
1457
+ - Updated dependencies [32f71bf]
1458
+ - effect-app@4.0.0-beta.24
1459
+
1460
+ ## 4.0.0-beta.23
1461
+
1462
+ ### Patch Changes
1463
+
1464
+ - Updated dependencies [ea08a79]
1465
+ - effect-app@4.0.0-beta.23
1466
+
1467
+ ## 4.0.0-beta.22
1468
+
1469
+ ### Patch Changes
1470
+
1471
+ - effect-app@4.0.0-beta.22
1472
+
1473
+ ## 4.0.0-beta.21
1474
+
1475
+ ### Patch Changes
1476
+
1477
+ - 75c72ee: update effect to 4.0.0-beta.36, adapt to Option<A> revert from A | undefined
1478
+ - Updated dependencies [0d349e7]
1479
+ - Updated dependencies [75c72ee]
1480
+ - effect-app@4.0.0-beta.21
1481
+
1482
+ ## 4.0.0-beta.20
1483
+
1484
+ ### Patch Changes
1485
+
1486
+ - Updated dependencies [aa921db]
1487
+ - effect-app@4.0.0-beta.20
1488
+
1489
+ ## 4.0.0-beta.19
1490
+
1491
+ ### Patch Changes
1492
+
1493
+ - Updated dependencies [ffc10a4]
1494
+ - effect-app@4.0.0-beta.19
1495
+
1496
+ ## 4.0.0-beta.18
1497
+
1498
+ ### Patch Changes
1499
+
1500
+ - Updated dependencies [e9dbbdd]
1501
+ - effect-app@4.0.0-beta.18
1502
+
1503
+ ## 4.0.0-beta.17
1504
+
1505
+ ### Patch Changes
1506
+
1507
+ - Updated dependencies [c8a6a3f]
1508
+ - effect-app@4.0.0-beta.17
1509
+
1510
+ ## 4.0.0-beta.16
1511
+
1512
+ ### Patch Changes
1513
+
1514
+ - Updated dependencies [56db2c4]
1515
+ - effect-app@4.0.0-beta.16
1516
+
1517
+ ## 4.0.0-beta.15
1518
+
1519
+ ### Patch Changes
1520
+
1521
+ - Updated dependencies [20186b6]
1522
+ - effect-app@4.0.0-beta.15
1523
+
1524
+ ## 4.0.0-beta.14
1525
+
1526
+ ### Patch Changes
1527
+
1528
+ - effect-app@4.0.0-beta.14
1529
+
1530
+ ## 4.0.0-beta.13
1531
+
1532
+ ### Patch Changes
1533
+
1534
+ - 1c3c541: Update Effect dependencies to 4.0.0-beta.31 across workspace packages.
1535
+ - de2359d: Update Effect dependencies to 4.0.0-beta.28 across workspace packages.
1536
+ - 0d72f34: Update Effect dependencies to 4.0.0-beta.29 across workspace packages.
1537
+ - Updated dependencies [16de88c]
1538
+ - Updated dependencies [1c3c541]
1539
+ - Updated dependencies [de2359d]
1540
+ - Updated dependencies [0d72f34]
1541
+ - effect-app@4.0.0-beta.13
1542
+
1543
+ ## 4.0.0-beta.12
1544
+
1545
+ ### Patch Changes
1546
+
1547
+ - 622d54a: Configure Changesets fixed versioning for public packages.
1548
+ - Updated dependencies [622d54a]
1549
+ - effect-app@4.0.0-beta.12
1550
+
1551
+ ## 4.0.0-beta.10
1552
+
1553
+ ### Patch Changes
1554
+
1555
+ - Updated dependencies [01c70d0]
1556
+ - effect-app@4.0.0-beta.10
1557
+
1558
+ ## 4.0.0-beta.9
1559
+
1560
+ ### Patch Changes
1561
+
1562
+ - Updated dependencies [5727372]
1563
+ - effect-app@4.0.0-beta.9
1564
+
1565
+ ## 4.0.0-beta.8
1566
+
1567
+ ### Patch Changes
1568
+
1569
+ - Updated dependencies [1f336bc]
1570
+ - effect-app@4.0.0-beta.8
1571
+
1572
+ ## 4.0.0-beta.7
1573
+
1574
+ ### Patch Changes
1575
+
1576
+ - Updated dependencies [62b4989]
1577
+ - effect-app@4.0.0-beta.7
1578
+
1579
+ ## 4.0.0-beta.6
1580
+
1581
+ ### Patch Changes
1582
+
1583
+ - Updated dependencies [df75041]
1584
+ - effect-app@4.0.0-beta.6
1585
+
1586
+ ## 4.0.0-beta.5
1587
+
1588
+ ### Patch Changes
1589
+
1590
+ - 016c5a3: adapt isObject change
1591
+ - Updated dependencies [016c5a3]
1592
+ - effect-app@4.0.0-beta.5
1593
+
1594
+ ## 4.0.0-beta.4
1595
+
1596
+ ### Patch Changes
1597
+
1598
+ - Updated dependencies [88b90c3]
1599
+ - effect-app@4.0.0-beta.4
1600
+
1601
+ ## 4.0.0-beta.3
1602
+
1603
+ ### Patch Changes
1604
+
1605
+ - Updated dependencies [3a7abae]
1606
+ - effect-app@4.0.0-beta.3
1607
+
3
1608
  ## 4.0.0-beta.2
4
1609
 
5
1610
  ### Major Changes
@@ -31,6 +1636,12 @@
31
1636
  - Updated dependencies [880df28]
32
1637
  - effect-app@4.0.0-beta.0
33
1638
 
1639
+ ## 2.94.1
1640
+
1641
+ ### Patch Changes
1642
+
1643
+ - 0a667ad: fix: tanstack query throwing error via watcher
1644
+
34
1645
  ## 2.94.0
35
1646
 
36
1647
  ### Minor Changes