@effect-app/vue 4.0.0-beta.22 → 4.0.0-beta.220

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