@effect-app/vue 4.0.0-beta.23 → 4.0.0-beta.230

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