@effect-app/vue 4.0.0-beta.98 → 4.0.0

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 (128) hide show
  1. package/CHANGELOG.md +2707 -0
  2. package/dist/atomQuery.d.ts +120 -0
  3. package/dist/atomQuery.d.ts.map +1 -0
  4. package/dist/atomQuery.js +434 -0
  5. package/dist/commander.d.ts +318 -43
  6. package/dist/commander.d.ts.map +1 -1
  7. package/dist/commander.js +593 -81
  8. package/dist/confirm.d.ts +5 -3
  9. package/dist/confirm.d.ts.map +1 -1
  10. package/dist/confirm.js +12 -14
  11. package/dist/dependencyMetadata.d.ts +18 -0
  12. package/dist/dependencyMetadata.d.ts.map +1 -0
  13. package/dist/dependencyMetadata.js +67 -0
  14. package/dist/errorReporter.d.ts +6 -4
  15. package/dist/errorReporter.d.ts.map +1 -1
  16. package/dist/errorReporter.js +14 -19
  17. package/dist/form.d.ts +5 -5
  18. package/dist/form.d.ts.map +1 -1
  19. package/dist/form.js +16 -10
  20. package/dist/internal/tanstackQuery.d.ts +9 -0
  21. package/dist/internal/tanstackQuery.d.ts.map +1 -0
  22. package/dist/internal/tanstackQuery.js +204 -0
  23. package/dist/intl.d.ts +4 -4
  24. package/dist/intl.d.ts.map +1 -1
  25. package/dist/intl.js +2 -2
  26. package/dist/lib.d.ts +8 -10
  27. package/dist/lib.d.ts.map +1 -1
  28. package/dist/lib.js +37 -12
  29. package/dist/liveQueryInvalidation.d.ts +16 -0
  30. package/dist/liveQueryInvalidation.d.ts.map +1 -0
  31. package/dist/liveQueryInvalidation.js +115 -0
  32. package/dist/makeClient.d.ts +232 -109
  33. package/dist/makeClient.d.ts.map +1 -1
  34. package/dist/makeClient.js +416 -84
  35. package/dist/makeContext.d.ts.map +1 -1
  36. package/dist/makeIntl.d.ts.map +1 -1
  37. package/dist/makeUseCommand.d.ts +3 -2
  38. package/dist/makeUseCommand.d.ts.map +1 -1
  39. package/dist/makeUseCommand.js +2 -2
  40. package/dist/mutate.d.ts +110 -41
  41. package/dist/mutate.d.ts.map +1 -1
  42. package/dist/mutate.js +236 -59
  43. package/dist/query.d.ts +161 -44
  44. package/dist/query.d.ts.map +1 -1
  45. package/dist/query.js +382 -113
  46. package/dist/queryLifetime.d.ts +25 -0
  47. package/dist/queryLifetime.d.ts.map +1 -0
  48. package/dist/queryLifetime.js +54 -0
  49. package/dist/routeParams.d.ts +4 -4
  50. package/dist/routeParams.d.ts.map +1 -1
  51. package/dist/routeParams.js +4 -3
  52. package/dist/runtime.d.ts +1 -17
  53. package/dist/runtime.d.ts.map +1 -1
  54. package/dist/runtime.js +2 -38
  55. package/dist/suspense.d.ts +19 -0
  56. package/dist/suspense.d.ts.map +1 -0
  57. package/dist/suspense.js +38 -0
  58. package/dist/toast.d.ts +1 -45
  59. package/dist/toast.d.ts.map +1 -1
  60. package/dist/toast.js +2 -32
  61. package/dist/withToast.d.ts +1 -24
  62. package/dist/withToast.d.ts.map +1 -1
  63. package/dist/withToast.js +2 -45
  64. package/docs/atom-query-api-redesign.md +207 -0
  65. package/docs/mutation-command-atoms.md +40 -0
  66. package/docs/query-key-invalidation.md +107 -0
  67. package/examples/streamMutation.ts +72 -0
  68. package/package.json +35 -94
  69. package/src/atomQuery.ts +600 -0
  70. package/src/commander.ts +1064 -116
  71. package/src/confirm.ts +12 -14
  72. package/src/dependencyMetadata.ts +84 -0
  73. package/src/errorReporter.ts +65 -75
  74. package/src/form.ts +22 -15
  75. package/src/index.ts +7 -7
  76. package/src/internal/tanstackQuery.ts +308 -0
  77. package/src/intl.ts +2 -2
  78. package/src/lib.ts +51 -23
  79. package/src/liveQueryInvalidation.ts +138 -0
  80. package/src/makeClient.ts +972 -263
  81. package/src/makeIntl.ts +2 -2
  82. package/src/makeUseCommand.ts +8 -5
  83. package/src/mutate.ts +407 -154
  84. package/src/query.ts +758 -242
  85. package/src/queryLifetime.ts +74 -0
  86. package/src/routeParams.ts +7 -7
  87. package/src/runtime.ts +1 -54
  88. package/src/suspense.ts +43 -0
  89. package/src/toast.ts +1 -52
  90. package/src/withToast.ts +1 -99
  91. package/test/Mutation.test.ts +104 -17
  92. package/test/dependencyInvalidation.test.ts +444 -0
  93. package/test/dist/dependencyInvalidation.test.d.ts.map +1 -0
  94. package/test/dist/form.test.d.ts.map +1 -1
  95. package/test/dist/inactiveInvalidation.test.d.ts.map +1 -0
  96. package/test/dist/interrupt-refetch-repro.test.d.ts.map +1 -0
  97. package/test/dist/lib.test.d.ts.map +1 -0
  98. package/test/dist/liveQueryInvalidation.test.d.ts.map +1 -0
  99. package/test/dist/query-span.test.d.ts.map +1 -0
  100. package/test/dist/queryOptions.test.d.ts.map +1 -0
  101. package/test/dist/streamFinal.test.d.ts.map +1 -0
  102. package/test/dist/streamFn.test.d.ts.map +1 -0
  103. package/test/dist/stubs.d.ts +3681 -256
  104. package/test/dist/stubs.d.ts.map +1 -1
  105. package/test/dist/stubs.js +166 -25
  106. package/test/dist/suspense-regression.test.d.ts.map +1 -0
  107. package/test/dist/suspense.test.d.ts.map +1 -0
  108. package/test/form-validation-errors.test.ts +2 -1
  109. package/test/form.test.ts +2 -1
  110. package/test/inactiveInvalidation.test.ts +172 -0
  111. package/test/interrupt-refetch-repro.test.ts +625 -0
  112. package/test/lib.test.ts +240 -0
  113. package/test/liveQueryInvalidation.test.ts +108 -0
  114. package/test/makeClient.test.ts +414 -32
  115. package/test/query-span.test.ts +92 -0
  116. package/test/queryOptions.test.ts +88 -0
  117. package/test/streamFinal.test.ts +64 -0
  118. package/test/streamFn.test.ts +457 -0
  119. package/test/stubs.ts +194 -36
  120. package/test/suspense-regression.test.ts +168 -0
  121. package/test/suspense.test.ts +160 -0
  122. package/tsconfig.examples.json +20 -0
  123. package/tsconfig.json +9 -1
  124. package/tsconfig.src.json +34 -34
  125. package/tsconfig.test.json +2 -2
  126. package/vitest.config.ts +5 -5
  127. package/eslint.config.mjs +0 -24
  128. package/tsconfig.json.bak +0 -12
@@ -1,109 +1,206 @@
1
- import { type InvalidateOptions, type InvalidateQueryFilters, type QueryObserverResult, type RefetchOptions, type UseQueryReturnType } from "@tanstack/vue-query";
2
- import { type Context, Effect, type Layer, type ManagedRuntime } from "effect-app";
3
1
  import { type ApiClientFactory, type Req } from "effect-app/client";
4
- import type { ExtractModuleName, RequestHandler, RequestHandlers, RequestHandlerWithInput, RequestsAny } from "effect-app/client/clientFor";
2
+ import type { ExtractModuleName, HandlerInput, RequestHandlers, RequestHandlerWithInput, RequestsAny, RequestStreamHandlerWithInput } from "effect-app/client/clientFor";
3
+ import type { CauseException } from "effect-app/client/errors";
4
+ import type { InvalidationCallback } from "effect-app/client/makeClient";
5
+ import * as Context from "effect-app/Context";
6
+ import * as Effect from "effect-app/Effect";
7
+ import * as Layer from "effect-app/Layer";
8
+ import * as S from "effect-app/Schema";
9
+ import * as Cause from "effect/Cause";
10
+ import * as Exit from "effect/Exit";
5
11
  import { type Fiber } from "effect/Fiber";
6
- import * as AsyncResult from "effect/unstable/reactivity/AsyncResult";
12
+ import type * as ManagedRuntime from "effect/ManagedRuntime";
13
+ import type * as AsyncResult from "effect/reactivity/AsyncResult";
14
+ import type * as Stream from "effect/Stream";
7
15
  import { type ComputedRef, type WatchSource } from "vue";
8
- import { type Commander } from "./commander.js";
16
+ import { type AtomClientRuntime } from "./atomQuery.js";
17
+ import { type Commander, type Progress } from "./commander.js";
9
18
  import { type I18n } from "./intl.js";
10
19
  import { type CommanderResolved } from "./makeUseCommand.js";
11
- import { type MutationOptionsBase } from "./mutate.js";
12
- import { type CustomUndefinedInitialQueryOptions, makeQuery } from "./query.js";
20
+ import { type InvalidationEntry, type MutationOptionsBase, type QueryInvalidator } from "./mutate.js";
21
+ import { type AtomQueryNewOptions, type CustomUndefinedInitialQueryOptions, makeQuery, makeQueryAtom, makeQueryFamily, makeQueryNew, makeStreamQuery, makeStreamQueryAtom, makeStreamQueryFamily, makeStreamQueryNew, type QueryObserverResult, type RefetchOptions, type StreamQueryAtomFamily, type SuspenseQueryView, type UseQueryReturnType } from "./query.js";
13
22
  import { type Toast } from "./toast.js";
14
- export interface RequestExtensions<RT, Id extends string, I, A, E, R> {
23
+ export type { Progress };
24
+ declare const SuspenseInterruptedError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => Cause.YieldableError & {
25
+ readonly _tag: "SuspenseInterruptedError";
26
+ } & Readonly<A>;
27
+ /**
28
+ * A suspense query settled with an interrupt-only cause while its component was still MOUNTED.
29
+ *
30
+ * That combination classifies the interrupt's origin: a navigation/unmount cancel interrupts the
31
+ * suspense *fiber* (via the scope's AbortSignal) or is hidden by effect-core before it can settle —
32
+ * it never yields a still-mounted `Failure` exit. A `Failure(interrupt-only)` observed while mounted
33
+ * therefore came from the QUERY side — e.g. the server returned an RPC interrupt `Exit` (over a 200),
34
+ * or the fetch was superseded — and silencing it leaves the user staring at a blank page.
35
+ *
36
+ * Error boundaries can rely on this split: keep silencing raw interrupt-only causes (those are
37
+ * genuinely "user navigated away"), and render this error as "the request was interrupted — reload?".
38
+ */
39
+ export declare class SuspenseInterruptedError extends SuspenseInterruptedError_base<{
40
+ readonly originalCause: Cause.Cause<unknown>;
41
+ readonly source: "suspense" | "suspenseNew";
42
+ }> {
43
+ get message(): string;
44
+ }
45
+ /** Structural check (by `_tag`) so consumers compiled against older published types can detect it. */
46
+ export declare const isSuspenseInterruptedError: (e: unknown) => e is SuspenseInterruptedError;
47
+ export interface CommandRequestExtensions<RT, Id extends string, I, A, E, R> {
15
48
  /** Defines a Command based on this call, taking the `id` of the call as the `id` of the Command.
16
49
  * The Request function will be taken as the first member of the Command, the Command required input will be the Request input.
17
50
  * see Command.wrap for details */
18
- wrap: Commander.CommanderWrap<RT, Id, Id, undefined, I, A, E, R>;
51
+ wrap: <I18nKey extends string = Id, State extends Commander.IntlRecord | undefined = undefined>(options?: Commander.FnOptions<Id, I18nKey, State>) => Commander.CommanderWrap<RT, Id, I18nKey, State, I, A, E, R>;
19
52
  /** Defines a Command based on this call, taking the `id` of the call as the `id` of the Command.
20
53
  * see Command.fn for details */
21
- fn: Commander.CommanderFn<RT, Id, Id, undefined>;
54
+ fn: <I18nKey extends string = Id, State extends Commander.IntlRecord | undefined = undefined>(options?: Commander.FnOptions<Id, I18nKey, State>) => Commander.CommanderFn<RT, Id, I18nKey, State>;
22
55
  }
23
56
  /** my other doc */
24
- export interface RequestExtWithInput<RT, Id extends string, I, A, E, R> extends Commander.CommandContextLocal<Id, Id>, RequestExtensions<RT, Id, I, A, E, R> {
57
+ export interface RequestExt<RT, Id extends string, I, A, E, R> extends Commander.CommandContextLocal<Id, Id>, Commander.CommanderWrap<RT, Id, Id, undefined, I, A, E, R>, CommandRequestExtensions<RT, Id, I, A, E, R> {
25
58
  /**
26
- * Request the endpoint with input
59
+ * Send the request to the endpoint and return the raw Effect response.
60
+ * This does not perform query cache invalidation.
27
61
  */
28
- (i: I): Effect.Effect<A, E, R>;
62
+ request: (i: I) => Effect.Effect<A, E, R>;
29
63
  }
30
- /**
31
- * Request the endpoint
32
- */
33
- export interface RequestExt<RT, Id extends string, A, E, R> extends Commander.CommandContextLocal<Id, Id>, Commander.CommanderWrap<RT, Id, Id, undefined, void, A, E, R>, RequestExtensions<RT, Id, void, A, E, R>, Effect.Effect<A, E, R> {
64
+ export type CommandRequestWithExtensions<RT, Req> = Req extends RequestHandlerWithInput<infer I, infer A, infer E, infer R, infer _Request, infer Id> ? RequestExt<RT, Id, I, A, E, R> : never;
65
+ export interface QueryExtensions<I, A, E, R> {
66
+ /**
67
+ * Send the request to the endpoint and return the raw Effect response.
68
+ * This does not set up query state tracking.
69
+ */
70
+ request: (i: I) => Effect.Effect<A, E, R>;
34
71
  }
35
- export type RequestWithExtensions<RT, Req> = Req extends RequestHandlerWithInput<infer I, infer A, infer E, infer R, infer _Request, infer Id> ? RequestExtWithInput<RT, Id, I, A, E, R> : Req extends RequestHandler<infer A, infer E, infer R, infer _Request, infer Id> ? RequestExt<RT, Id, A, E, R> : never;
72
+ export type QueryRequestWithExtensions<Req> = Req extends RequestHandlerWithInput<infer I, infer A, infer E, infer R, infer _Request, infer _Id> ? QueryExtensions<I, A, E, R> : never;
73
+ type QueryHandler<Req> = Req extends RequestHandlerWithInput<infer I, infer A, infer E, infer R, infer Request, infer Id> ? Request["type"] extends "query" ? RequestHandlerWithInput<I, A, E, R, Request, Id> : never : never;
74
+ type CommandHandler<Req> = Req extends RequestHandlerWithInput<infer I, infer A, infer E, infer R, infer Request, infer Id> ? Request["type"] extends "command" ? RequestHandlerWithInput<I, A, E, R, Request, Id> : never : never;
75
+ type QueryStreamHandler<Req> = Req extends RequestStreamHandlerWithInput<infer I, infer A, infer E, infer R, infer Request, infer Id, infer Final> ? [Request["stream"], Request["type"]] extends [true, "query"] ? RequestStreamHandlerWithInput<I, A, E, R, Request, Id, Final> : never : never;
76
+ type CommandStreamHandler<Req> = Req extends RequestStreamHandlerWithInput<infer I, infer A, infer E, infer R, infer Request, infer Id, infer Final> ? [Request["stream"], Request["type"]] extends [true, "command"] ? RequestStreamHandlerWithInput<I, A, E, R, Request, Id, Final> : never : never;
36
77
  export interface MutationExtensions<RT, Id extends string, I, A, E, R> {
37
78
  /** Defines a Command based on this mutation, taking the `id` of the mutation as the `id` of the Command.
38
79
  * The Mutation function will be taken as the first member of the Command, the Command required input will be the Mutation input.
39
80
  * see Command.wrap for details */
40
- wrap: Commander.CommanderWrap<RT, Id, Id, undefined, I, A, E, R>;
41
- /** Defines a Command based on this mutation, taking the `id` of the mutation as the `id` of the Command.
81
+ wrap: <I18nKey extends string = Id, State extends Commander.IntlRecord | undefined = undefined>(options?: Commander.FnOptions<Id, I18nKey, State>) => Commander.CommanderWrap<RT, Id, I18nKey, State, I, A, E, R>;
82
+ /** Defines a Command based on this call, taking the `id` of the mutation as the `id` of the Command.
42
83
  * see Command.fn for details */
43
- fn: Commander.CommanderFn<RT, Id, Id, undefined>;
44
- }
45
- /** my other doc */
46
- export interface MutationExtWithInput<RT, Id extends string, I, A, E, R> extends Commander.CommandContextLocal<Id, Id>, MutationExtensions<RT, Id, I, A, E, R> {
47
- /**
48
- * Call the endpoint with input
49
- * Invalidate queries based on namespace of this mutation.
50
- * Do not use for queries.
51
- */
52
- (i: I): Effect.Effect<A, E, R>;
84
+ fn: <I18nKey extends string = Id, State extends Commander.IntlRecord | undefined = undefined>(options?: Commander.FnOptions<Id, I18nKey, State>) => Commander.CommanderFn<RT, Id, I18nKey, State>;
53
85
  }
54
86
  /**
55
- * Call the endpoint
56
- * Invalidate queries based on namespace of this mutation.
57
- * Do not use for queries.
87
+ * Send the request to the endpoint and return the raw Effect response.
88
+ * Also invalidates query caches using the request namespace by default.
89
+ * Namespace invalidation targets parent namespace keys
90
+ * (for example `$project/$configuration.get` invalidates `$project`).
91
+ * Override invalidation in client options via `queryInvalidation`.
92
+ *
93
+ * Pass `options` to attach a `select` Effect that runs after the mutation
94
+ * succeeds (its output is returned to the caller) and/or override the default
95
+ * `queryInvalidation`.
96
+ *
97
+ * When `I = void` the input argument may be omitted.
58
98
  */
59
- export interface MutationExt<RT, Id extends string, A, E, R> extends Commander.CommandContextLocal<Id, Id>, Commander.CommanderWrap<RT, Id, Id, undefined, void, A, E, R>, MutationExtensions<RT, Id, void, A, E, R>, Effect.Effect<A, E, R> {
99
+ export interface MutationExt<RT, Id extends string, I, A, E, R, EA = unknown> extends MutationExtensions<RT, Id, I, A, E, R> {
100
+ <B = A, E2 = never, R2 = never>(input: I, options?: MutationOptionsBase<A, B, E2, R2>): Effect.Effect<B, E | E2, R | R2>;
101
+ project: <ProjSchema extends S.Top>(schema: EA extends ProjSchema["Encoded"] ? ProjSchema : never) => MutationExt<RT, Id, I, ProjSchema["Type"], E | S.SchemaError, R | ProjSchema["DecodingServices"], ProjSchema["Encoded"]>;
60
102
  }
61
- export type MutationWithExtensions<RT, Req> = Req extends RequestHandlerWithInput<infer I, infer A, infer E, infer R, infer _Request, infer Id> ? MutationExtWithInput<RT, Id, I, A, E, R> : Req extends RequestHandler<infer A, infer E, infer R, infer _Request, infer Id> ? MutationExt<RT, Id, A, E, R> : never;
103
+ export type MutationWithExtensions<RT, Req> = Req extends RequestHandlerWithInput<infer I, infer A, infer E, infer R, infer Request, infer Id> ? MutationExt<RT, Id, I, A, E, R, Request["success"]["Encoded"]> : never;
104
+ /**
105
+ * The `streamFn` builder for a stream-type request handler, using the stream-specific overloads.
106
+ */
107
+ export type StreamFnStreamExtension<RT, Req> = Req extends RequestStreamHandlerWithInput<infer _I, infer _A, infer _E, infer _R, infer _Request, infer Id, infer _Final> ? <I18nKey extends string = Id, State extends Commander.IntlRecord | undefined = undefined>(options?: Commander.FnOptions<Id, I18nKey, State>) => Commander.StreamGen<RT, Id, I18nKey, State> & Commander.NonGenStream<RT, Id, I18nKey, State> : never;
108
+ /**
109
+ * `mutate` factory — wraps per-invocation invalidation scaffolding
110
+ * into the stream itself (via `Stream.unwrap`) for use with `streamFn` combinators.
111
+ */
112
+ export type StreamMutation2WithExtensions<RT, Req> = Req extends RequestStreamHandlerWithInput<infer I, infer A, infer E, infer R, infer _Request, infer Id, infer _Final> ? ((input: I) => Stream.Stream<A, E, R>) & {
113
+ readonly id: Id;
114
+ readonly wrap: <I18nKey extends string = Id, State extends Commander.IntlRecord | undefined = undefined>(options?: Commander.FnOptions<Id, I18nKey, State>) => Commander.StreamerWrap<RT, Id, I18nKey, State, I, A, E, R>;
115
+ } : never;
62
116
  declare const useQuery_: QueryImpl<any>["useQuery"];
117
+ declare const useQueryNew_: QueryImpl<any>["useQueryNew"];
118
+ declare const useQueryAtom_: QueryImpl<any>["useQueryAtom"];
119
+ declare const useQueryFamily_: QueryImpl<any>["useQueryFamily"];
120
+ declare const useSuspenseQueryNew_: QueryImpl<any>["useSuspenseQueryNew"];
63
121
  declare const useSuspenseQuery_: QueryImpl<any>["useSuspenseQuery"];
64
- export interface QueriesWithInput<Request extends Req, Id extends string, I, A, E> {
122
+ declare const useStreamQuery_: QueryImpl<any>["useStreamQuery"];
123
+ declare const useStreamQueryAtom_: QueryImpl<any>["useStreamQueryAtom"];
124
+ declare const useStreamQueryNew_: QueryImpl<any>["useStreamQueryNew"];
125
+ export interface ProjectResult<RT, I, B, E, R, Request extends Req, Id extends string> {
126
+ request: (i: I) => Effect.Effect<B, E, R>;
127
+ family: Exclude<R, RT> extends never ? ReturnType<typeof useQueryFamily_<I, E, B, Request, Id>> : MissingDependencies<RT, R> & {};
128
+ query: Exclude<R, RT> extends never ? ReturnType<typeof useQuery_<I, E, B, Request, Id>> : MissingDependencies<RT, R> & {};
129
+ queryNew: Exclude<R, RT> extends never ? ReturnType<typeof useQueryNew_<I, E, B, Request, Id>> : MissingDependencies<RT, R> & {};
130
+ suspense: Exclude<R, RT> extends never ? ReturnType<typeof useSuspenseQuery_<I, E, B, Request, Id>> : MissingDependencies<RT, R> & {};
131
+ suspenseNew: Exclude<R, RT> extends never ? ReturnType<typeof useSuspenseQueryNew_<I, E, B, Request, Id>> : MissingDependencies<RT, R> & {};
132
+ atom: Exclude<R, RT> extends never ? ReturnType<typeof useQueryAtom_<I, E, B, Request, Id>> : MissingDependencies<RT, R> & {};
133
+ }
134
+ export type QueryProjection<RT, HandlerReq> = HandlerReq extends RequestHandlerWithInput<infer I, infer _A, infer E, infer R, infer Request, infer Id> ? Request["type"] extends "query" ? {
135
+ project: <ProjSchema extends S.Top>(schema: Request["success"]["Encoded"] extends ProjSchema["Encoded"] ? ProjSchema : never) => ProjectResult<RT, I, ProjSchema["Type"], E | S.SchemaError, R | ProjSchema["DecodingServices"], Request, Id>;
136
+ } : {} : {};
137
+ export interface QueryResultExtensions<Request extends Req, Id extends string, I, A, E> {
65
138
  /**
66
- * Effect results are passed to the caller, including errors.
139
+ * Read helper for query requests.
140
+ * Runs as a tracked Vue Query and returns reactive state.
141
+ * Queries read state and should not be used to mutate it.
142
+ * When `I = void` the input argument may be omitted.
67
143
  */
68
144
  query: ReturnType<typeof useQuery_<I, E, A, Request, Id>>;
69
145
  /**
70
- * The difference with useQuery is that this function will return a Promise you can await in the Setup,
71
- * which ensures that either there always is a latest value, or an error occurs on load.
72
- * So that Suspense and error boundaries can be used.
146
+ * Atom-native query helper with object return shape.
147
+ * Additive migration surface; `.query()` remains the compatibility tuple API.
148
+ */
149
+ queryNew: ReturnType<typeof useQueryNew_<I, E, A, Request, Id>>;
150
+ /**
151
+ * Like `.query`, but returns a Promise for setup-time awaiting.
152
+ * Use this when integrating with Vue Suspense / error boundaries.
73
153
  */
74
154
  suspense: ReturnType<typeof useSuspenseQuery_<I, E, A, Request, Id>>;
75
- }
76
- export interface QueriesWithoutInput<Request extends Req, Id extends string, A, E> {
77
155
  /**
78
- * Effect results are passed to the caller, including errors.
156
+ * Promise-based setup helper with object return shape.
157
+ * Additive migration surface; `.suspense()` remains the compatibility tuple API.
79
158
  */
80
- query: ReturnType<typeof useQuery_<E, A, Request, Id>>;
159
+ suspenseNew: ReturnType<typeof useSuspenseQueryNew_<I, E, A, Request, Id>>;
81
160
  /**
82
- * The difference with useQuery is that this function will return a Promise you can await in the Setup,
83
- * which ensures that either there always is a latest value, or an error occurs on load.
84
- * So that Suspense and error boundaries can be used.
161
+ * Raw query atom for composition outside Vue refs.
162
+ */
163
+ atom: ReturnType<typeof useQueryAtom_<I, E, A, Request, Id>>;
164
+ /**
165
+ * Raw query atom family for composing query graphs before choosing a Vue observer.
85
166
  */
86
- suspense: ReturnType<typeof useSuspenseQuery_<E, A, Request, Id>>;
167
+ family: ReturnType<typeof useQueryFamily_<I, E, A, Request, Id>>;
87
168
  }
88
169
  export type MissingDependencies<RT, R> = {
89
170
  message: "Dependencies required that are not provided by the runtime";
90
171
  dependencies: Exclude<R, RT>;
91
172
  };
92
- export type Queries<RT, Req> = Req extends RequestHandlerWithInput<infer I, infer A, infer E, infer R, infer Request, infer Id> ? Exclude<R, RT> extends never ? QueriesWithInput<Request, Id, I, A, E> : {
173
+ export type Queries<RT, Req> = Req extends RequestHandlerWithInput<infer I, infer A, infer E, infer R, infer Request, infer Id> ? Request["type"] extends "query" ? Exclude<R, RT> extends never ? QueryResultExtensions<Request, Id, I, A, E> : {
174
+ atom: MissingDependencies<RT, R> & {};
175
+ family: MissingDependencies<RT, R> & {};
93
176
  query: MissingDependencies<RT, R> & {};
177
+ queryNew: MissingDependencies<RT, R> & {};
94
178
  suspense: MissingDependencies<RT, R> & {};
95
- } : Req extends RequestHandler<infer A, infer E, infer R, infer Request, infer Id> ? Exclude<R, RT> extends never ? QueriesWithoutInput<Request, Id, A, E> : {
179
+ suspenseNew: MissingDependencies<RT, R> & {};
180
+ } : never : never;
181
+ export interface StreamQueryExtensions<Request extends Req, Id extends string, I, A, E> {
182
+ atom: ReturnType<typeof useStreamQueryAtom_<I, E, A, Request, Id>>;
183
+ family: StreamQueryAtomFamily<I, A, E>;
184
+ /**
185
+ * Stream helper for query-stream requests.
186
+ * Legacy compatibility helper. Collects the whole stream into an array before
187
+ * publishing data.
188
+ * When `I = void` the input argument may be omitted.
189
+ */
190
+ query: ReturnType<typeof useStreamQuery_<I, E, A, Request, Id>>;
191
+ /**
192
+ * Atom-native stream query helper. Exposes incremental pull state and a `pull`
193
+ * command instead of collecting the whole stream first.
194
+ */
195
+ queryNew: ReturnType<typeof useStreamQueryNew_<I, E, A, Request, Id>>;
196
+ }
197
+ export type StreamQueries<RT, HandlerReq> = HandlerReq extends RequestStreamHandlerWithInput<infer I, infer A, infer E, infer R, infer Request, infer Id, infer _Final> ? Exclude<R, RT> extends never ? StreamQueryExtensions<Request, Id, I, A, E> : {
198
+ atom: MissingDependencies<RT, R> & {};
199
+ family: MissingDependencies<RT, R> & {};
96
200
  query: MissingDependencies<RT, R> & {};
97
- suspense: MissingDependencies<RT, R> & {};
201
+ queryNew: MissingDependencies<RT, R> & {};
98
202
  } : never;
99
- declare const _useMutation: {
100
- <I, E, A, R, Request extends Req, Id extends string>(self: RequestHandlerWithInput<I, A, E, R, Request, Id>, options?: MutationOptionsBase): ((i: I) => Effect.Effect<A, E, R>) & {
101
- readonly id: Id;
102
- };
103
- <E, A, R, Request extends Req, Id extends string>(self: RequestHandler<A, E, R, Request, Id>, options?: MutationOptionsBase): Effect.Effect<A, E, R> & {
104
- readonly id: Id;
105
- };
106
- };
203
+ declare const _useMutation: <I, E, A, R, Request extends Req, Id extends string>(self: RequestHandlerWithInput<I, A, E, R, Request, Id>) => import("./mutate.js").MutationFn<I, A, E, R, Id>;
107
204
  /**
108
205
  * Pass an Effect or a function that returns an Effect, e.g from a client action
109
206
  * Executes query cache invalidation based on default rules or provided option.
@@ -115,23 +212,34 @@ export declare const useMutation: typeof _useMutation;
115
212
  * Executes query cache invalidation based on default rules or provided option.
116
213
  * adds a span with the mutation id
117
214
  */
118
- export declare const useMutationInt: () => {
119
- <I, E, A, R, Request extends Req, Id extends string>(self: RequestHandlerWithInput<I, A, E, R, Request, Id>, options?: MutationOptionsBase): ((i: I) => Effect.Effect<A, E, R>) & {
120
- readonly id: Id;
121
- };
122
- <E, A, R, Request extends Req, Id extends string>(self: RequestHandler<A, E, R, Request, Id>, options?: MutationOptionsBase): Effect.Effect<A, E, R> & {
123
- readonly id: Id;
124
- };
125
- };
215
+ export declare const useMutationInt: (queryInvalidator: QueryInvalidator) => <I, E, A, R, Request extends Req, Id extends string>(self: RequestHandlerWithInput<I, A, E, R, Request, Id>) => import("./mutate.js").MutationFn<I, A, E, R, Id>;
126
216
  export type ClientFrom<M extends RequestsAny> = RequestHandlers<never, never, M, ExtractModuleName<M>>;
217
+ export interface MakeClientOptions {
218
+ /**
219
+ * Selects the engine behind legacy `.query()` / `.suspense()` helpers.
220
+ * Atom-native `.atom()` / `.family()` / `.queryNew()` / `.suspenseNew()` always use Atom.
221
+ */
222
+ readonly legacyQueryEngine?: "atom" | "tanstack";
223
+ }
127
224
  export declare class QueryImpl<R> {
128
225
  readonly getRuntime: () => Context.Context<R>;
129
- constructor(getRuntime: () => Context.Context<R>);
226
+ constructor(getRuntime: () => Context.Context<R>, getAtomRt: () => AtomClientRuntime, legacyUseQuery?: ReturnType<typeof makeQuery<R>>);
130
227
  /**
131
228
  * Effect results are passed to the caller, including errors.
132
229
  * @deprecated use client helpers instead (.query())
133
230
  */
134
231
  readonly useQuery: ReturnType<typeof makeQuery<R>>;
232
+ readonly useQueryNew: ReturnType<typeof makeQueryNew<R>>;
233
+ readonly useQueryAtom: ReturnType<typeof makeQueryAtom<R>>;
234
+ readonly useQueryFamily: ReturnType<typeof makeQueryFamily<R>>;
235
+ /**
236
+ * Stream results are accumulated as an array of chunks and returned as reactive state.
237
+ * @deprecated use client helpers instead (.query())
238
+ */
239
+ readonly useStreamQuery: ReturnType<typeof makeStreamQuery<R>>;
240
+ readonly useStreamQueryFamily: ReturnType<typeof makeStreamQueryFamily<R>>;
241
+ readonly useStreamQueryAtom: ReturnType<typeof makeStreamQueryAtom<R>>;
242
+ readonly useStreamQueryNew: ReturnType<typeof makeStreamQueryNew<R>>;
135
243
  /**
136
244
  * The difference with useQuery is that this function will return a Promise you can await in the Setup,
137
245
  * which ensures that either there always is a latest value, or an error occurs on load.
@@ -143,71 +251,86 @@ export declare class QueryImpl<R> {
143
251
  * The difference with useQuery is that this function will return a Promise you can await in the Setup,
144
252
  * which ensures that either there always is a latest value, or an error occurs on load.
145
253
  * So that Suspense and error boundaries can be used.
146
- * @deprecated use client helpers instead (.suspense())
254
+ * When `I = void` the input argument may be omitted.
147
255
  */
148
- <E, A, Request extends Req, Name extends string>(self: RequestHandler<A, E, R, Request, Name>): {
149
- /**
150
- * The difference with useQuery is that this function will return a Promise you can await in the Setup,
151
- * which ensures that either there always is a latest value, or an error occurs on load.
152
- * So that Suspense and error boundaries can be used.
153
- */
154
- <TData = A>(options?: CustomUndefinedInitialQueryOptions<A, E, TData>): Promise<readonly [
256
+ <I, E, A, Request extends Req, Name extends string>(self: RequestHandlerWithInput<I, A, E, R, Request, Name>): {
257
+ <TData = A>(arg: I | WatchSource<I>, options?: CustomUndefinedInitialQueryOptions<A, CauseException<E>, TData>): Promise<readonly [
155
258
  ComputedRef<AsyncResult.AsyncResult<TData, E>>,
156
259
  ComputedRef<TData>,
157
260
  (options?: RefetchOptions) => Effect.Effect<QueryObserverResult<TData, E>>,
158
261
  UseQueryReturnType<any, any>
159
262
  ]>;
160
263
  };
161
- /**
162
- * The difference with useQuery is that this function will return a Promise you can await in the Setup,
163
- * which ensures that either there always is a latest value, or an error occurs on load.
164
- * So that Suspense and error boundaries can be used.
165
- */
166
- <Arg, E, A, Request extends Req, Name extends string>(self: RequestHandlerWithInput<Arg, A, E, R, Request, Name>): {
167
- /**
168
- * The difference with useQuery is that this function will return a Promise you can await in the Setup,
169
- * which ensures that either there always is a latest value, or an error occurs on load.
170
- * So that Suspense and error boundaries can be used.
171
- */
172
- <TData = A>(arg: Arg | WatchSource<Arg>, options?: CustomUndefinedInitialQueryOptions<A, E, TData>): Promise<readonly [
173
- ComputedRef<AsyncResult.AsyncResult<TData, E>>,
174
- ComputedRef<TData>,
175
- (options?: RefetchOptions) => Effect.Effect<QueryObserverResult<TData, E>>,
176
- UseQueryReturnType<any, any>
177
- ]>;
264
+ };
265
+ readonly useSuspenseQueryNew: {
266
+ <I, E, A, Request extends Req, Name extends string>(self: RequestHandlerWithInput<I, A, E, R, Request, Name>): {
267
+ <TData = A>(arg: I | WatchSource<I>, options?: AtomQueryNewOptions<A, TData>): Promise<SuspenseQueryView<TData, E>>;
178
268
  };
179
269
  };
180
270
  }
181
271
  type Base = I18n | Toast;
182
272
  type Mix = ApiClientFactory | Commander | Base;
183
- export declare const makeClient: <RT_, RTHooks>(getBaseMrt: () => ManagedRuntime.ManagedRuntime<RT_ | Mix, never>, clientFor_: ReturnType<(typeof ApiClientFactory)["makeFor"]>, rtHooks: Layer.Layer<RTHooks, never, Mix>) => {
184
- Command: CommanderResolved<Mix | RT_, RTHooks>;
185
- useCommand: () => CommanderResolved<Mix | RT_, RTHooks>;
186
- clientFor: <M extends RequestsAny>(m: M, queryInvalidation?: (client: ClientFrom<M>) => QueryInvalidation<M>) => { [Key in keyof RequestHandlers<never, never, M, ExtractModuleName<M>>]: RequestHandlers<never, never, M, ExtractModuleName<M>>[Key] & RequestWithExtensions<RTHooks | (Mix | RT_), RequestHandlers<never, never, M, ExtractModuleName<M>>[Key]> & {
187
- mutate: MutationWithExtensions<RTHooks | (Mix | RT_), RequestHandlers<never, never, M, ExtractModuleName<M>>[Key]>;
188
- Input: RequestHandlers<never, never, M, ExtractModuleName<M>>[Key] extends RequestHandlerWithInput<infer I, any, any, any, any, any> ? I : never;
189
- } & Queries<Mix | RT_, RequestHandlers<never, never, M, ExtractModuleName<M>>[Key]>; } & {
190
- helpers: { [Key_1 in keyof RequestHandlers<never, never, M, ExtractModuleName<M>> as `${ToCamel<string & Key_1>}Request`]: RequestWithExtensions<RTHooks | (Mix | RT_), RequestHandlers<never, never, M, ExtractModuleName<M>>[Key_1]>; } & { [Key_2 in keyof RequestHandlers<never, never, M, ExtractModuleName<M>> as `${ToCamel<string & Key_2>}Mutation`]: MutationWithExtensions<RTHooks | (Mix | RT_), RequestHandlers<never, never, M, ExtractModuleName<M>>[Key_2]>; } & { [Key_3 in keyof RequestHandlers<never, never, M, ExtractModuleName<M>> as `${ToCamel<string & Key_3>}Query`]: Queries<Mix | RT_, RequestHandlers<never, never, M, ExtractModuleName<M>>[Key_3]>["query"]; } & { [Key_4 in keyof RequestHandlers<never, never, M, ExtractModuleName<M>> as `${ToCamel<string & Key_4>}SuspenseQuery`]: Queries<Mix | RT_, RequestHandlers<never, never, M, ExtractModuleName<M>>[Key_4]>["suspense"]; };
273
+ type InvalidationResources = Record<string, Record<string, unknown>>;
274
+ type UnionToIntersection<U> = (U extends unknown ? (arg: U) => void : never) extends ((arg: infer I) => void) ? I : never;
275
+ type CommandInvalidationResources<Req> = Req extends {
276
+ readonly type: "command";
277
+ readonly "~invalidationResources"?: infer Resources;
278
+ } ? NonNullable<Resources> extends InvalidationResources ? NonNullable<Resources> : never : Req extends {
279
+ readonly type: "command";
280
+ readonly config?: infer Config;
281
+ } ? Config extends {
282
+ readonly invalidationResources?: infer LegacyResources;
283
+ } ? NonNullable<LegacyResources> extends InvalidationResources ? NonNullable<LegacyResources> : never : Config extends {
284
+ readonly invalidatesQueries?: InvalidationCallback<infer LegacyResources, any, any, any>;
285
+ } ? NonNullable<LegacyResources> extends InvalidationResources ? NonNullable<LegacyResources> : never : never : never;
286
+ type InvalidationResourcesForUnion<M extends RequestsAny> = {
287
+ [K in keyof M]: CommandInvalidationResources<M[K]>;
288
+ }[keyof M];
289
+ type InvalidationResourcesFor<M extends RequestsAny> = [InvalidationResourcesForUnion<M>] extends [never] ? never : UnionToIntersection<InvalidationResourcesForUnion<M>> extends infer R ? R extends InvalidationResources ? R : never : never;
290
+ type QueryInvalidationFactory<M extends RequestsAny> = (client: ClientFrom<M>) => QueryInvalidation<M>;
291
+ type StrictResourcesArg<Shape, Actual extends Shape = Shape> = Actual & Record<Exclude<keyof Actual, keyof Shape>, never>;
292
+ type ClientForArgs<M extends RequestsAny, Resources extends InvalidationResourcesFor<M> = InvalidationResourcesFor<M>> = [InvalidationResourcesFor<M>] extends [never] ? [
293
+ queryInvalidation?: QueryInvalidationFactory<M>,
294
+ invalidationResources?: StrictResourcesArg<InvalidationResourcesFor<M>, Resources>
295
+ ] : [
296
+ queryInvalidation: QueryInvalidationFactory<M> | undefined,
297
+ invalidationResources: StrictResourcesArg<InvalidationResourcesFor<M>, Resources>
298
+ ];
299
+ export declare const makeClient: <RT_, RTHooks>(getBaseMrt: () => ManagedRuntime.ManagedRuntime<RT_ | Mix, never>, clientFor_: ReturnType<typeof ApiClientFactory["makeFor"]>, rtHooks: Layer.Layer<RTHooks, never, Mix>, options?: MakeClientOptions) => {
300
+ Command: CommanderResolved<RT_ | Mix, RTHooks>;
301
+ useCommand: () => CommanderResolved<RT_ | Mix, RTHooks>;
302
+ clientFor: <M extends RequestsAny, Resources extends InvalidationResourcesFor<M> = InvalidationResourcesFor<M>>(m: M, ...args: ClientForArgs<M, Resources>) => { [Key in keyof RequestHandlers<never, never, M, ExtractModuleName<M>>]: RequestHandlers<never, never, M, ExtractModuleName<M>>[Key] & (QueryHandler<RequestHandlers<never, never, M, ExtractModuleName<M>>[Key]> extends never ? {} : QueryRequestWithExtensions<QueryHandler<RequestHandlers<never, never, M, ExtractModuleName<M>>[Key]>> & Queries<RT_ | Mix, QueryHandler<RequestHandlers<never, never, M, ExtractModuleName<M>>[Key]>> & QueryProjection<RT_ | Mix, QueryHandler<RequestHandlers<never, never, M, ExtractModuleName<M>>[Key]>>) & (QueryStreamHandler<RequestHandlers<never, never, M, ExtractModuleName<M>>[Key]> extends never ? {} : StreamQueries<RT_ | Mix, QueryStreamHandler<RequestHandlers<never, never, M, ExtractModuleName<M>>[Key]>>) & (CommandHandler<RequestHandlers<never, never, M, ExtractModuleName<M>>[Key]> extends never ? {} : CommandRequestWithExtensions<RTHooks | (RT_ | Mix), CommandHandler<RequestHandlers<never, never, M, ExtractModuleName<M>>[Key]>>) & (CommandHandler<RequestHandlers<never, never, M, ExtractModuleName<M>>[Key]> extends never ? {} : {
303
+ mutate: MutationWithExtensions<RTHooks | (RT_ | Mix), CommandHandler<RequestHandlers<never, never, M, ExtractModuleName<M>>[Key]>>;
304
+ }) & (CommandStreamHandler<RequestHandlers<never, never, M, ExtractModuleName<M>>[Key]> extends never ? {} : {
305
+ fn: StreamFnStreamExtension<RTHooks | (RT_ | Mix), CommandStreamHandler<RequestHandlers<never, never, M, ExtractModuleName<M>>[Key]>>;
306
+ mutate: StreamMutation2WithExtensions<RTHooks | (RT_ | Mix), CommandStreamHandler<RequestHandlers<never, never, M, ExtractModuleName<M>>[Key]>>;
307
+ }) & {
308
+ Input: RequestHandlers<never, never, M, ExtractModuleName<M>>[Key] extends RequestStreamHandlerWithInput<infer I, any, any, any, any, any, any> ? I : RequestHandlers<never, never, M, ExtractModuleName<M>>[Key] extends RequestHandlerWithInput<infer I_1, any, any, any, any, any> ? I_1 : never;
309
+ }; } & {
310
+ helpers: { [Key in keyof RequestHandlers<never, never, M, ExtractModuleName<M>> as CommandHandler<RequestHandlers<never, never, M, ExtractModuleName<M>>[Key]> extends never ? never : `${ToCamel<string & Key>}Request`]: CommandRequestWithExtensions<RTHooks | (RT_ | Mix), CommandHandler<RequestHandlers<never, never, M, ExtractModuleName<M>>[Key]>>; } & { [Key in keyof RequestHandlers<never, never, M, ExtractModuleName<M>> as CommandHandler<RequestHandlers<never, never, M, ExtractModuleName<M>>[Key]> extends never ? never : `${ToCamel<string & Key>}Mutation`]: MutationWithExtensions<RTHooks | (RT_ | Mix), CommandHandler<RequestHandlers<never, never, M, ExtractModuleName<M>>[Key]>>; } & { [Key in keyof RequestHandlers<never, never, M, ExtractModuleName<M>> as QueryHandler<RequestHandlers<never, never, M, ExtractModuleName<M>>[Key]> extends never ? never : `${ToCamel<string & Key>}QueryFamily`]: Queries<RT_ | Mix, QueryHandler<RequestHandlers<never, never, M, ExtractModuleName<M>>[Key]>>["family"]; } & { [Key in keyof RequestHandlers<never, never, M, ExtractModuleName<M>> as QueryHandler<RequestHandlers<never, never, M, ExtractModuleName<M>>[Key]> extends never ? never : `${ToCamel<string & Key>}Query`]: Queries<RT_ | Mix, QueryHandler<RequestHandlers<never, never, M, ExtractModuleName<M>>[Key]>>["query"]; } & { [Key in keyof RequestHandlers<never, never, M, ExtractModuleName<M>> as QueryHandler<RequestHandlers<never, never, M, ExtractModuleName<M>>[Key]> extends never ? never : `${ToCamel<string & Key>}QueryNew`]: Queries<RT_ | Mix, QueryHandler<RequestHandlers<never, never, M, ExtractModuleName<M>>[Key]>>["queryNew"]; } & { [Key in keyof RequestHandlers<never, never, M, ExtractModuleName<M>> as QueryHandler<RequestHandlers<never, never, M, ExtractModuleName<M>>[Key]> extends never ? never : `${ToCamel<string & Key>}SuspenseQuery`]: Queries<RT_ | Mix, QueryHandler<RequestHandlers<never, never, M, ExtractModuleName<M>>[Key]>>["suspense"]; } & { [Key in keyof RequestHandlers<never, never, M, ExtractModuleName<M>> as QueryHandler<RequestHandlers<never, never, M, ExtractModuleName<M>>[Key]> extends never ? never : `${ToCamel<string & Key>}SuspenseQueryNew`]: Queries<RT_ | Mix, QueryHandler<RequestHandlers<never, never, M, ExtractModuleName<M>>[Key]>>["suspenseNew"]; } & { [Key in keyof RequestHandlers<never, never, M, ExtractModuleName<M>> as QueryStreamHandler<RequestHandlers<never, never, M, ExtractModuleName<M>>[Key]> extends never ? never : `${ToCamel<string & Key>}QueryFamily`]: StreamQueries<RT_ | Mix, QueryStreamHandler<RequestHandlers<never, never, M, ExtractModuleName<M>>[Key]>>["family"]; } & { [Key in keyof RequestHandlers<never, never, M, ExtractModuleName<M>> as QueryStreamHandler<RequestHandlers<never, never, M, ExtractModuleName<M>>[Key]> extends never ? never : `${ToCamel<string & Key>}Query`]: StreamQueries<RT_ | Mix, QueryStreamHandler<RequestHandlers<never, never, M, ExtractModuleName<M>>[Key]>>["query"]; } & { [Key in keyof RequestHandlers<never, never, M, ExtractModuleName<M>> as QueryStreamHandler<RequestHandlers<never, never, M, ExtractModuleName<M>>[Key]> extends never ? never : `${ToCamel<string & Key>}QueryNew`]: StreamQueries<RT_ | Mix, QueryStreamHandler<RequestHandlers<never, never, M, ExtractModuleName<M>>[Key]>>["queryNew"]; };
191
311
  };
312
+ tanstackQueryClient: import("@tanstack/vue-query").QueryClient;
192
313
  };
193
314
  export type QueryInvalidation<M> = {
194
- [K in keyof M]?: (defaultKey: string[], name: string) => {
195
- filters?: InvalidateQueryFilters | undefined;
196
- options?: InvalidateOptions | undefined;
197
- }[];
315
+ [K in keyof M]?: (defaultKey: string[], name: string, input?: unknown, output?: Exit.Exit<unknown, unknown>) => InvalidationEntry[];
198
316
  };
199
317
  export type ToCamel<S extends string | number | symbol> = S extends string ? S extends `${infer Head}_${infer Tail}` ? `${Uncapitalize<Head>}${Capitalize<ToCamel<Tail>>}` : Uncapitalize<S> : never;
200
- export interface CommandBase<I = void, A = void> {
318
+ export interface CommandBase<I = void, A = void, RA = unknown, RE = unknown> {
201
319
  handle: (input: I) => A;
202
320
  waiting: boolean;
203
321
  blocked: boolean;
204
322
  allowed: boolean;
205
323
  action: string;
206
324
  label: string;
325
+ /** formatted progress info for current `running` state, when `progress` was supplied */
326
+ progress?: Progress | undefined;
327
+ /** reactive result state, available on stream-backed commands */
328
+ result?: AsyncResult.AsyncResult<RA, RE>;
207
329
  }
208
- export interface EffectCommand<I = void, A = unknown, E = unknown> extends CommandBase<I, Fiber<A, E>> {
330
+ export interface EffectCommand<I = void, A = unknown, E = unknown> extends CommandBase<I, Fiber<A, E>, A, E> {
209
331
  }
210
- export interface CommandFromRequest<I extends abstract new (...args: any) => any, A = unknown, E = unknown> extends EffectCommand<ConstructorParameters<I>[0], A, E> {
332
+ export interface CommandFromRequest<I extends {
333
+ readonly make: (...args: any[]) => any;
334
+ }, A = unknown, E = unknown> extends EffectCommand<HandlerInput<I>, A, E> {
211
335
  }
212
- export {};
213
336
  //# sourceMappingURL=makeClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"makeClient.d.ts","sourceRoot":"","sources":["../src/makeClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"makeClient.d.ts","sourceRoot":"","sources":["../src/makeClient.ts"],"names":[],"mappings":"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"}