@effect-app/vue 4.0.0-beta.20 → 4.0.0-beta.201

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