@effect-app/vue 4.0.0-beta.21 → 4.0.0-beta.211

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