@ethlete/query 6.0.0-next.17 → 6.0.0-next.19

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.
@@ -569,7 +569,7 @@ const transformSinglePrepareCall = (callNode, injectorReference, sourceFile, pol
569
569
  : `{\n ${nextArgumentProperties.join(',\n ')}\n}`;
570
570
  return `${creatorName}.prepare(${nextArgumentString})`;
571
571
  };
572
- const findQueryVariableNameForPrepareCall = (prepareCallNode, sourceFile) => {
572
+ const findQueryVariableNameForPrepareCall = (prepareCallNode, _sourceFile) => {
573
573
  let parent = prepareCallNode.parent;
574
574
  while (parent) {
575
575
  if (ts.isVariableDeclaration(parent) && ts.isIdentifier(parent.name)) {
@@ -58,7 +58,7 @@ function renameConflictingSymbols(tree) {
58
58
  // Log statistics
59
59
  if (updatedFiles.length > 0) {
60
60
  console.log(`\n📊 Renamed symbols in ${updatedFiles.length} files:`);
61
- const hasRenames = Array.from(symbolUsageCounts.entries()).filter(([_, count]) => count > 0);
61
+ const hasRenames = Array.from(symbolUsageCounts.entries()).filter(([, count]) => count > 0);
62
62
  if (hasRenames.length > 0) {
63
63
  console.log('\n Symbol usage counts:');
64
64
  hasRenames.forEach(([symbol, count]) => {
@@ -123,7 +123,7 @@ function renameSymbolsInFile(content, filePath, symbolUsageCounts) {
123
123
  }
124
124
  visit(sourceFile);
125
125
  // Update imports in @ethlete/query import declarations
126
- const importReplacements = updateImports(sourceFile, content);
126
+ const importReplacements = updateImports(sourceFile);
127
127
  replacements.push(...importReplacements);
128
128
  // Count usages
129
129
  replacements.forEach((r) => {
@@ -138,7 +138,7 @@ function renameSymbolsInFile(content, filePath, symbolUsageCounts) {
138
138
  }
139
139
  return result;
140
140
  }
141
- function updateImports(sourceFile, content) {
141
+ function updateImports(sourceFile) {
142
142
  const replacements = [];
143
143
  function visit(node) {
144
144
  if (ts.isImportDeclaration(node)) {
package/package.json CHANGED
@@ -1,21 +1,21 @@
1
1
  {
2
2
  "name": "@ethlete/query",
3
- "version": "6.0.0-next.17",
3
+ "version": "6.0.0-next.19",
4
4
  "license": "MIT",
5
5
  "sideEffects": false,
6
6
  "peerDependencies": {
7
- "@analogjs/vite-plugin-angular": "2.6.2",
8
- "@angular/common": "22.0.5",
9
- "@angular/core": "22.0.5",
10
- "@angular/forms": "22.0.5",
11
- "@angular/router": "22.0.5",
7
+ "@analogjs/vite-plugin-angular": "2.6.3",
8
+ "@angular/common": "22.0.7",
9
+ "@angular/core": "22.0.7",
10
+ "@angular/forms": "22.0.7",
11
+ "@angular/router": "22.0.7",
12
12
  "@ethlete/core": "^5.0.0-beta.11",
13
13
  "@ethlete/types": "^2.0.0-beta.4",
14
- "@nx/devkit": "23.1.0-beta.7",
14
+ "@nx/devkit": "23.1.0",
15
15
  "rxjs": "7.8.2",
16
16
  "socket.io-client": "4.8.3",
17
17
  "typescript": "6.0.3",
18
- "vite": "8.0.13"
18
+ "vite": "8.1.5"
19
19
  },
20
20
  "generators": "./generators/generators.json",
21
21
  "module": "fesm2022/ethlete-query.mjs",
@@ -1,5 +1,5 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { Signal, Injector, CreateComputedOptions, InjectionToken, TrackByFunction, PipeTransform, OnInit, OnDestroy, DestroyRef, EnvironmentInjector, ErrorHandler, WritableSignal, CreateEffectOptions } from '@angular/core';
2
+ import { Signal, Injector, CreateComputedOptions, InjectionToken, TrackByFunction, PipeTransform, OnInit, OnDestroy, DestroyRef, EnvironmentInjector, ErrorHandler, WritableSignal, CreateEffectOptions, EnvironmentProviders } from '@angular/core';
3
3
  import * as _ethlete_core from '@ethlete/core';
4
4
  import { ProviderResult, RuntimeError } from '@ethlete/core';
5
5
  import * as rxjs from 'rxjs';
@@ -67,7 +67,7 @@ declare function mapToPaginated<T>(response: Paginated<T>): rxjs.OperatorFunctio
67
67
  /**
68
68
  * Use an other store to represent a property of the current entity.
69
69
  */
70
- declare const insertFrom: <OriginStoreType, OriginKeys extends keyof NonNullable<OriginStoreType>, SubStoreType extends NonNullable<OriginStoreType>[OriginKeys] extends Array<infer U> ? U : NonNullable<OriginStoreType>[OriginKeys], IdFn extends (value: NonNullable<OriginStoreType>) => EntityKey | EntityKey[], ComputedEntityType extends ReturnType<IdFn> extends Array<unknown> ? OriginStoreType : Omit<OriginStoreType, OriginKeys> & { [K in OriginKeys]: SubStoreType | null; }>(store: EntityStore<SubStoreType>, { for: key, id }: InsertFromConfig<OriginStoreType, OriginKeys, IdFn>) => rxjs.OperatorFunction<OriginStoreType, ComputedEntityType | null>;
70
+ declare const insertFrom: <OriginStoreType, OriginKeys extends keyof NonNullable<OriginStoreType>, SubStoreType extends (NonNullable<OriginStoreType>[OriginKeys] extends Array<infer U> ? U : NonNullable<OriginStoreType>[OriginKeys]), IdFn extends (value: NonNullable<OriginStoreType>) => EntityKey | EntityKey[], ComputedEntityType extends (ReturnType<IdFn> extends Array<unknown> ? OriginStoreType : Omit<OriginStoreType, OriginKeys> & { [K in OriginKeys]: SubStoreType | null; })>(store: EntityStore<SubStoreType>, { for: key, id }: InsertFromConfig<OriginStoreType, OriginKeys, IdFn>) => rxjs.OperatorFunction<OriginStoreType, ComputedEntityType | null>;
71
71
  /**
72
72
  * Remove entities from a store based on a where function.
73
73
  */
@@ -223,7 +223,7 @@ declare const serializeBody: (body: unknown) => ArrayBuffer | URLSearchParams |
223
223
  declare const transformMethod: (config: {
224
224
  method: Method;
225
225
  transferVia?: "GET" | "POST";
226
- }) => "GET" | "POST" | "OPTIONS" | "HEAD" | "PUT" | "DELETE" | "PATCH" | "TRACE" | "CONNECT" | "PURGE" | "LINK" | "UNLINK" | "CUSTOM";
226
+ }) => "GET" | "POST" | "PUT" | "DELETE" | "PATCH" | "HEAD" | "OPTIONS" | "TRACE" | "CONNECT" | "PURGE" | "LINK" | "UNLINK" | "CUSTOM";
227
227
  declare const detectContentTypeHeader: (body: unknown) => string | null;
228
228
  declare const hasHeader: (headers: RequestHeaders, header: string) => boolean;
229
229
  declare const forEachHeader: (headers: RequestHeaders, callback: (value: string, key: string) => void) => void;
@@ -1159,7 +1159,7 @@ declare const castQueryCreatorTypes: <QC extends AnyV2QueryCreator, Arguments ex
1159
1159
  declare const computeQueryMethod: (config: {
1160
1160
  config: AnyRestQueryConfig | AnyGqlQueryConfig;
1161
1161
  client: V2QueryClient;
1162
- }) => "GET" | "POST" | "OPTIONS" | "HEAD" | "PUT" | "DELETE" | "PATCH" | "TRACE" | "CONNECT" | "PURGE" | "LINK" | "UNLINK" | "CUSTOM";
1162
+ }) => "GET" | "POST" | "PUT" | "DELETE" | "PATCH" | "HEAD" | "OPTIONS" | "TRACE" | "CONNECT" | "PURGE" | "LINK" | "UNLINK" | "CUSTOM";
1163
1163
  declare const computeQueryBody: (config: {
1164
1164
  config: AnyRestQueryConfig | AnyGqlQueryConfig;
1165
1165
  client: V2QueryClient;
@@ -1180,7 +1180,7 @@ declare const computeQueryQueryParams: (config: {
1180
1180
  client: V2QueryClient;
1181
1181
  args?: BaseArguments;
1182
1182
  }) => object | undefined;
1183
- declare const paginatedEntityValueUpdater: <T extends Paginated<unknown>, Args extends BaseArguments, Entity, J extends T extends Paginated<infer X> ? X : never>(findFn: (val: J, entity: Entity) => boolean) => ({ response, rawResponse, entity }: {
1183
+ declare const paginatedEntityValueUpdater: <T extends Paginated<unknown>, Args extends BaseArguments, Entity, J extends (T extends Paginated<infer X> ? X : never)>(findFn: (val: J, entity: Entity) => boolean) => ({ response, rawResponse, entity }: {
1184
1184
  rawResponse: T;
1185
1185
  response: T;
1186
1186
  args: Args;
@@ -1298,7 +1298,7 @@ declare class V2QueryClient {
1298
1298
  _updateBaseRoute: (route: string) => void;
1299
1299
  }
1300
1300
 
1301
- declare const v2ShouldCacheQuery: (method: Method) => method is "GET" | "OPTIONS" | "HEAD" | "GQL_QUERY";
1301
+ declare const v2ShouldCacheQuery: (method: Method) => method is "GET" | "HEAD" | "OPTIONS" | "GQL_QUERY";
1302
1302
  declare const v2BuildQueryCacheKey: (route: string, args: BaseArguments | undefined) => string;
1303
1303
 
1304
1304
  declare class QueryStore {
@@ -1582,7 +1582,7 @@ declare class QueryDevtoolsComponent {
1582
1582
  secure: boolean | undefined;
1583
1583
  route: any;
1584
1584
  reportProgress: boolean | undefined;
1585
- responseType: "json" | "text" | "blob" | "arraybuffer" | undefined;
1585
+ responseType: "arraybuffer" | "blob" | "json" | "text" | undefined;
1586
1586
  withCredentials: boolean | undefined;
1587
1587
  autoRefreshOn: _ethlete_query.QueryAutoRefreshConfig | undefined;
1588
1588
  enableSmartPolling: boolean | undefined;
@@ -1592,7 +1592,7 @@ declare class QueryDevtoolsComponent {
1592
1592
  secure: boolean | undefined;
1593
1593
  route: any;
1594
1594
  reportProgress: boolean | undefined;
1595
- responseType: "json" | "text" | "blob" | "arraybuffer" | undefined;
1595
+ responseType: "arraybuffer" | "blob" | "json" | "text" | undefined;
1596
1596
  withCredentials: boolean | undefined;
1597
1597
  autoRefreshOn: _ethlete_query.QueryAutoRefreshConfig | undefined;
1598
1598
  enableSmartPolling: boolean | undefined;
@@ -1880,7 +1880,7 @@ declare class InfinityQueryDirective<Q extends InfinityQueryConfig<DirectiveQuer
1880
1880
  get instance(): InfinityQueryOf<Q> | null;
1881
1881
  get data$(): rxjs.Observable<Q["response"]["arrayType"]>;
1882
1882
  data: _angular_core.Signal<Q["response"]["arrayType"]>;
1883
- static ngTemplateContextGuard<Q extends InfinityQueryConfig<DirectiveQueryCreator, BaseArguments | undefined, any, unknown[]>>(dir: InfinityQueryDirective<Q>, ctx: unknown): ctx is InfinityQueryContext<Q>;
1883
+ static ngTemplateContextGuard<Q extends InfinityQueryConfig<DirectiveQueryCreator, BaseArguments | undefined, any, unknown[]>>(_dir: InfinityQueryDirective<Q>, _ctx: unknown): _ctx is InfinityQueryContext<Q>;
1884
1884
  constructor();
1885
1885
  private _setupInfinityQuery;
1886
1886
  loadNextPage(): void;
@@ -1948,7 +1948,7 @@ declare class QueryDirective<Q extends QueryDirectiveType | null> {
1948
1948
  query: _angular_core.InputSignal<Q>;
1949
1949
  cache: _angular_core.InputSignal<boolean>;
1950
1950
  queryState: _angular_core.WritableSignal<_ethlete_query.V2QueryState<QueryDataOf<QueryOf<Q>>> | null>;
1951
- static ngTemplateContextGuard<Q extends QueryDirectiveType | null>(dir: QueryDirective<Q>, ctx: unknown): ctx is QueryDirectiveContext<Q>;
1951
+ static ngTemplateContextGuard<Q extends QueryDirectiveType | null>(_dir: QueryDirective<Q>, _ctx: unknown): _ctx is QueryDirectiveContext<Q>;
1952
1952
  constructor();
1953
1953
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<QueryDirective<any>, never>;
1954
1954
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<QueryDirective<any>, "[etQuery]", never, { "query": { "alias": "etQuery"; "required": true; "isSignal": true; }; "cache": { "alias": "etQueryCache"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
@@ -2040,6 +2040,12 @@ type QueryDependencies = {
2040
2040
  ngErrorHandler: ErrorHandler;
2041
2041
  /** The http client */
2042
2042
  httpClient: HttpClient;
2043
+ /**
2044
+ * The DOM element of the component/directive that created the query, when it was created in an
2045
+ * element (node) injection context. `null` for queries created in a root/environment context.
2046
+ * Used only by the devtools "inspect" tool.
2047
+ */
2048
+ hostElement: HTMLElement | null;
2043
2049
  };
2044
2050
  declare const setupQueryDependencies: (options: SetupQueryDependenciesOptions) => QueryDependencies;
2045
2051
 
@@ -2498,6 +2504,36 @@ type QueryRepositoryItem<TArgs extends QueryArgs> = {
2498
2504
  /** The request object */
2499
2505
  request: HttpRequest<TArgs>;
2500
2506
  };
2507
+ /**
2508
+ * A read-only snapshot of a single cache entry, exposed via {@link QueryRepositorySubtle.cacheEntries}
2509
+ * for devtools inspection. The raw cache `Map` is never exposed.
2510
+ */
2511
+ type QueryRepositoryCacheEntry = {
2512
+ /** The cache key of the entry. */
2513
+ key: QueryKey;
2514
+ /** Whether the entry belongs to a secure (authenticated) request. */
2515
+ isSecure: boolean;
2516
+ /** How many consumers currently hold a binding to the entry. */
2517
+ consumerCount: number;
2518
+ /** The underlying HTTP request. */
2519
+ request: HttpRequest<QueryArgs>;
2520
+ };
2521
+ /**
2522
+ * Advanced repository internals used by the query devtools. **Not part of the general public
2523
+ * contract** — do not build application logic on top of these.
2524
+ */
2525
+ type QueryRepositorySubtle = {
2526
+ /** Returns a read-only snapshot of every entry currently held in the cache. */
2527
+ cacheEntries: () => QueryRepositoryCacheEntry[];
2528
+ /** A version counter bumped whenever the cache changes (bind / unbind / unbindAllSecure). */
2529
+ cacheVersion: Signal<number>;
2530
+ /**
2531
+ * Destroys and removes a single cache entry by key, regardless of its consumers. Intended for
2532
+ * devtools cache management — consumers still holding the query will get a fresh request on their
2533
+ * next execution.
2534
+ */
2535
+ evict: (key: QueryKey) => void;
2536
+ };
2501
2537
  /**
2502
2538
  * The query repository is responsible for managing all requests and their consumers.
2503
2539
  * It will cache requests if they can be cached and reuse them if they are already cached.
@@ -2512,6 +2548,8 @@ type QueryRepository = {
2512
2548
  unbindAllSecure: () => void;
2513
2549
  /** Observable stream of repository events (errors, successes, etc.) */
2514
2550
  events$: Observable<QueryRepositoryEvent>;
2551
+ /** Advanced repository internals used by the query devtools. */
2552
+ subtle: QueryRepositorySubtle;
2515
2553
  };
2516
2554
  /** The key of a query (either a cache key for cacheable requests or a UUID for uncacheable requests) */
2517
2555
  type QueryKey = string;
@@ -2559,6 +2597,8 @@ type CreateQueryClientConfigOptions = {
2559
2597
  };
2560
2598
  type QueryClient = {
2561
2599
  repository: QueryRepository;
2600
+ /** The base URL the client was configured with. */
2601
+ baseUrl: string;
2562
2602
  };
2563
2603
  type QueryClientRef = ProviderResult<QueryClient>;
2564
2604
  type AnyCreateQueryClientResult = QueryClientRef;
@@ -2620,6 +2660,10 @@ type HttpRequestLoadingProgressState = {
2620
2660
  remainingTime: number | null;
2621
2661
  };
2622
2662
  type HttpRequest<TArgs extends QueryArgs> = {
2663
+ /** The HTTP method of the request. */
2664
+ method: QueryMethod;
2665
+ /** The full URL of the request (base + path + query params). */
2666
+ url: string;
2623
2667
  /** Executes the request */
2624
2668
  execute: (options?: {
2625
2669
  allowCache?: boolean;
@@ -2648,6 +2692,11 @@ type HttpRequest<TArgs extends QueryArgs> = {
2648
2692
  * staleness depends on wall-clock time rather than on any tracked signal.
2649
2693
  */
2650
2694
  isStale: () => boolean;
2695
+ /**
2696
+ * The timestamp (ms) at which the cached response goes stale, or `null` when the request is not
2697
+ * cacheable / has no freshness window. Exposed for devtools freshness countdowns.
2698
+ */
2699
+ expiresAt: Signal<number | null>;
2651
2700
  };
2652
2701
  /** A custom error event since the Angular http client does not provide a specific event for errors */
2653
2702
  type HttpErrorEvent = {
@@ -2727,6 +2776,16 @@ type QuerySubtle<TArgs extends QueryArgs> = {
2727
2776
  destroy: () => void;
2728
2777
  /** Manually sets the response of the query. This will not trigger a new execution of the query. */
2729
2778
  setResponse: (response: ResponseType<TArgs>) => void;
2779
+ /**
2780
+ * Manually forces the loading state of the query. Overridden on the next execution. Intended for
2781
+ * devtools / testing UI states — not for application logic.
2782
+ */
2783
+ setLoading: (loading: HttpRequestLoadingState | null) => void;
2784
+ /**
2785
+ * Manually forces the error state of the query. Overridden on the next execution. Intended for
2786
+ * devtools / testing UI states — not for application logic.
2787
+ */
2788
+ setError: (error: QueryErrorResponse | null) => void;
2730
2789
  /** The currently underlying HTTP request of the query. Will be `null` if the query has never been executed. */
2731
2790
  request: ObservableSignal<HttpRequest<TArgs> | null>;
2732
2791
  /** The destroy reference used to clean up the query when it is no longer needed */
@@ -2798,7 +2857,7 @@ type GqlVariablesType<T extends GqlQueryArgs | null> = T extends GqlQueryArgs ?
2798
2857
  declare const isCreateGqlQueryOptions: <TArgs extends QueryArgs>(options: CreateQueryOptions<TArgs> | CreateGqlQueryOptions<any>) => options is CreateGqlQueryOptions<any>;
2799
2858
  declare const createGqlQuery: <TArgs extends GqlQueryArgs>(options: CreateGqlQueryOptions<TArgs>) => _ethlete_query.Query<TArgs>;
2800
2859
 
2801
- declare const shouldAutoExecuteQuery: (method: QueryMethod) => method is "GET" | "OPTIONS" | "HEAD";
2860
+ declare const shouldAutoExecuteQuery: (method: QueryMethod) => method is "GET" | "HEAD" | "OPTIONS";
2802
2861
  declare const shouldAutoExecuteGqlQuery: (method: GqlQueryMethod) => method is "QUERY";
2803
2862
  declare const getQueryFeatureUsage: <TArgs extends QueryArgs>(options: CreateQueryOptions<TArgs> | CreateGqlQueryOptions<any>) => QueryFeatureFlags;
2804
2863
  declare const applyQueryFeatures: <TArgs extends QueryArgs>(features: QueryFeature<TArgs>[], context: QueryFeatureContext<TArgs>) => void;
@@ -2998,7 +3057,7 @@ type PagedQueryStack<TQuery extends AnyNewQuery, TNormPagination extends Normali
2998
3057
  declare const createPagedQueryStack: <TCreator extends AnyQueryCreator, TArgs extends QueryArgsOf<TCreator>, TNormPagination extends NormalizedPagination<unknown>>(options: CreatePagedQueryStackOptions<TArgs, TNormPagination>) => PagedQueryStack<Query<TArgs>, TNormPagination>;
2999
3058
 
3000
3059
  declare const extractExpiresInSeconds: (headers: HttpHeaders) => number | null;
3001
- declare const shouldCacheQuery: (method: QueryMethod) => method is "GET" | "OPTIONS" | "HEAD";
3060
+ declare const shouldCacheQuery: (method: QueryMethod) => method is "GET" | "HEAD" | "OPTIONS";
3002
3061
  declare const buildQueryCacheKey: (route: string, args: RequestArgs<QueryArgs> | undefined) => string;
3003
3062
 
3004
3063
  type QueryContext = {
@@ -3082,6 +3141,7 @@ declare const QueryRuntimeErrorCode: {
3082
3141
  readonly TOKENS_NOT_AVAILABLE_INSIDE_AUTH_AND_EXEC: 700;
3083
3142
  readonly INVALID_STATE_INSIDE_SECURE_EXECUTE_FACTORY: 701;
3084
3143
  readonly CIRCULAR_QUERY_DEPENDENCY: 800;
3144
+ readonly QUERY_SEQUENCE_ALREADY_RUNNING: 900;
3085
3145
  };
3086
3146
  type QueryRuntimeErrorCode = (typeof QueryRuntimeErrorCode)[keyof typeof QueryRuntimeErrorCode];
3087
3147
  declare const queryFeatureUsedMultipleTimes: (type: QueryFeatureType) => RuntimeError<0>;
@@ -3106,6 +3166,109 @@ declare const gqlDataPropertyMissingInResponse: () => RuntimeError<600>;
3106
3166
  declare const tokensNotAvailableInsideAuthAndExec: () => RuntimeError<700>;
3107
3167
  declare const invalidStateInsideSecureExecuteFactory: () => RuntimeError<701>;
3108
3168
  declare const circularQueryDependency: () => RuntimeError<800>;
3169
+ declare const querySequenceAlreadyRunning: () => RuntimeError<900>;
3170
+
3171
+ /** The last element of a tuple type — the response of the step a `.then()` callback follows. */
3172
+ type LastOf<T extends unknown[]> = T extends [...unknown[], infer L] ? L : never;
3173
+ /** The current lifecycle phase of a query sequence. */
3174
+ type QuerySequenceStatus = 'idle' | 'running' | 'success' | 'error';
3175
+ /** The args a sequence step supplies to its query — the same `{ args }` shape `query.execute()` takes. */
3176
+ type QuerySequenceStepArgs<TArgs extends QueryArgs> = {
3177
+ args: RequestArgs<TArgs>;
3178
+ };
3179
+ /**
3180
+ * The outcome of a settled {@link QuerySequence.run}.
3181
+ *
3182
+ * A discriminated union: on success `responses` is the fully-typed tuple of every step's response;
3183
+ * on failure `failedAt` is the zero-based index of the step that errored and `error` is its
3184
+ * normalized {@link QueryErrorResponse}. `snapshots` always holds the settled snapshots of every
3185
+ * step that ran — up to and including the failing one.
3186
+ */
3187
+ type QuerySequenceResult<TResponses extends unknown[]> = {
3188
+ ok: true;
3189
+ responses: TResponses;
3190
+ snapshots: AnyQuerySnapshot[];
3191
+ } | {
3192
+ ok: false;
3193
+ failedAt: number;
3194
+ error: QueryErrorResponse;
3195
+ snapshots: AnyQuerySnapshot[];
3196
+ };
3197
+ /**
3198
+ * An imperative waterfall of dependent queries — usually mutations (`POST`/`PUT`/`PATCH`/`DELETE`)
3199
+ * where each call needs the previous call's response.
3200
+ *
3201
+ * Build the chain once (e.g. as a component field) with {@link querySequence} and `.then()`, then
3202
+ * trigger it with {@link run}. Each step runs via `executeUntilSettled`, threading the previous
3203
+ * step's response into the next; the first error aborts the rest. The progress signals mirror
3204
+ * `createQueryStack`, so a template can drive a stepper without manual bookkeeping.
3205
+ */
3206
+ type QuerySequence<TResponses extends unknown[]> = {
3207
+ /**
3208
+ * Appends a dependent step. `mapArgs` runs at {@link run} time and receives the previous step's
3209
+ * (unwrapped, non-null on success) response plus the typed tuple of all responses so far, so a
3210
+ * later step can still reach an earlier one's data.
3211
+ */
3212
+ then: <TArgs extends QueryArgs>(query: Query<TArgs>, mapArgs: (previousResponse: LastOf<TResponses>, responses: TResponses) => QuerySequenceStepArgs<TArgs>) => QuerySequence<[...TResponses, ResponseType<TArgs>]>;
3213
+ /** The current lifecycle phase — `idle` before the first run, then `running` → `success` | `error`. */
3214
+ status: Signal<QuerySequenceStatus>;
3215
+ /** `true` while a run is in flight. */
3216
+ running: Signal<boolean>;
3217
+ /** The 1-based index of the in-flight step, or `0` when idle. */
3218
+ currentStep: Signal<number>;
3219
+ /** The static number of steps in the sequence. */
3220
+ total: number;
3221
+ /** The query objects backing each step, in order. Useful for devtools / advanced introspection. */
3222
+ queries: AnyNewQuery[];
3223
+ /** The error of the step that failed, or `null` while running / on success. */
3224
+ error: Signal<QueryErrorResponse | null>;
3225
+ /** The zero-based index of the step that failed, or `null` while running / on success. */
3226
+ failedAt: Signal<number | null>;
3227
+ /** The settled snapshots of every step that has run, grows as the waterfall progresses. */
3228
+ snapshots: Signal<AnyQuerySnapshot[]>;
3229
+ /**
3230
+ * The resolved input args each step was run with, grows as the waterfall progresses. The value at
3231
+ * index `i` is what {@link QuerySequence.then}'s `mapArgs` produced for step `i` at run time.
3232
+ */
3233
+ stepArgs: Signal<unknown[]>;
3234
+ /** The responses of every step that has succeeded, grows as the waterfall progresses. */
3235
+ responses: Signal<Partial<TResponses>>;
3236
+ /**
3237
+ * Runs every step in order, resolving once the waterfall settles.
3238
+ *
3239
+ * Resets the progress signals, then awaits each step in turn — stopping at the first error and
3240
+ * resolving with `{ ok: false, failedAt, error }`, or `{ ok: true, responses }` when all steps
3241
+ * succeed. Re-runnable (e.g. behind a retry button); throws {@link querySequenceAlreadyRunning}
3242
+ * if a run is already in flight.
3243
+ *
3244
+ * Cancellation caveat (inherited from `executeUntilSettled`): if the host scope is destroyed
3245
+ * mid-flight the in-flight query is torn down and this promise never settles.
3246
+ */
3247
+ run: () => Promise<QuerySequenceResult<TResponses>>;
3248
+ };
3249
+ /**
3250
+ * Starts an imperative waterfall of dependent queries. Chain the remaining steps with `.then()`
3251
+ * and trigger it with `.run()` — see {@link QuerySequence}.
3252
+ *
3253
+ * The seed step's `args` are produced lazily (at `run()` time), so the sequence can safely live as
3254
+ * a component field while still reading current signal values on each run.
3255
+ *
3256
+ * @example
3257
+ * ```ts
3258
+ * readonly checkout = querySequence(this.createOrder, () => ({ args: { body: this.order() } }))
3259
+ * .then(this.createPayment, (order) => ({ args: { body: { orderId: order.id } } }))
3260
+ * .then(this.confirmOrder, (payment, [order]) => ({
3261
+ * args: { pathParams: { paymentId: payment.id }, body: { orderRef: order.id } },
3262
+ * }));
3263
+ *
3264
+ * async submit() {
3265
+ * const result = await this.checkout.run();
3266
+ * if (!result.ok) return this.handle(result.error);
3267
+ * const [order, payment, confirmation] = result.responses;
3268
+ * }
3269
+ * ```
3270
+ */
3271
+ declare const querySequence: <TArgs extends QueryArgs>(query: Query<TArgs>, seedArgs: () => QuerySequenceStepArgs<TArgs>) => QuerySequence<[ResponseType<TArgs>]>;
3109
3272
 
3110
3273
  /** `kind` of a `ValidationError` created from a single server violation. */
3111
3274
  declare const SERVER_VIOLATION_ERROR_KIND = "etServerViolation";
@@ -3986,6 +4149,76 @@ type BearerAuthProviderRef<TBuilders extends readonly AnyQueryBuilder[] = readon
3986
4149
  type AnyCreateBearerAuthProviderResult = BearerAuthProviderRef<any, any, any>;
3987
4150
  type AnyBearerAuthProvider = NonNullable<ReturnType<AnyCreateBearerAuthProviderResult[1]>>;
3988
4151
 
4152
+ /**
4153
+ * The kind of object a {@link QueryDevtoolsEntry} describes. Part of the devtools contract consumed
4154
+ * by `<et-query-devtools>` — not a general-purpose query API.
4155
+ */
4156
+ type QueryDevtoolsEntryKind = 'query' | 'query-stack' | 'paged-query-stack' | 'query-sequence' | 'auth-provider' | 'ws-client';
4157
+ /**
4158
+ * Descriptive, mostly-static metadata about a registered devtools entry. The live, reactive state
4159
+ * is read from the entry's {@link QueryDevtoolsEntry.handle} instead.
4160
+ */
4161
+ type QueryDevtoolsEntryMeta = {
4162
+ /** Display name of the owning query client, where known. */
4163
+ clientName?: string;
4164
+ /** Base URL of the owning query client, where known. */
4165
+ clientBaseUrl?: string;
4166
+ /** Human readable display name (e.g. an auth provider or web socket client name). */
4167
+ name?: string;
4168
+ /** The connection URL, for web socket clients. */
4169
+ url?: string;
4170
+ /** The GraphQL document string, for GraphQL queries. */
4171
+ gqlQuery?: string;
4172
+ /** Stringified route with path params rendered as `:param`, for queries. */
4173
+ route?: string;
4174
+ /** Human readable HTTP/GQL method, for queries (e.g. `GET`, `GQL QUERY`). */
4175
+ method?: string;
4176
+ /** The feature types applied at creation, for queries. */
4177
+ featureTypes?: QueryFeatureType[];
4178
+ /** The query config passed at creation, for queries. */
4179
+ queryConfig?: QueryConfig;
4180
+ /** The creator options passed at creation, for queries. */
4181
+ creator?: CreateQueryCreatorOptions;
4182
+ /** The owning client's repository, where known (queries and auth providers). */
4183
+ repository?: QueryRepository;
4184
+ /**
4185
+ * The DOM element of the component/directive that created a query, when available. Used by the
4186
+ * devtools "inspect" tool to map a query back to its place in the live UI.
4187
+ */
4188
+ element?: HTMLElement | null;
4189
+ };
4190
+ /**
4191
+ * A single entry in the {@link queryDevtoolsEntries} registry. The `handle` is the live object
4192
+ * (query, stack, sequence or auth provider) so its signals stay reactive when read by the UI.
4193
+ */
4194
+ type QueryDevtoolsEntry = {
4195
+ id: string;
4196
+ kind: QueryDevtoolsEntryKind;
4197
+ meta: QueryDevtoolsEntryMeta;
4198
+ handle: unknown;
4199
+ createdAt: number;
4200
+ };
4201
+ /**
4202
+ * The reactive list of every registered devtools entry, consumed by the `<et-query-devtools>` UI.
4203
+ */
4204
+ declare const queryDevtoolsEntries: Signal<QueryDevtoolsEntry[]>;
4205
+ /**
4206
+ * Enables the `@ethlete/query` devtools. Add this to your application providers (e.g. in
4207
+ * `bootstrapApplication`) to make query clients, queries, stacks, sequences and auth providers
4208
+ * appear in the `<et-query-devtools>` panel.
4209
+ *
4210
+ * When omitted, all devtools instrumentation is a no-op — no references are retained and there is no
4211
+ * runtime overhead — so it is safe to leave out of production builds.
4212
+ *
4213
+ * @example
4214
+ * ```ts
4215
+ * bootstrapApplication(AppComponent, {
4216
+ * providers: [provideQueryDevtools()],
4217
+ * });
4218
+ * ```
4219
+ */
4220
+ declare const provideQueryDevtools: () => EnvironmentProviders;
4221
+
3989
4222
  type TransformedGqlQuery = {
3990
4223
  query: string;
3991
4224
  variables?: string;
@@ -4075,6 +4308,23 @@ declare class ParseHttpErrorCodeToMessageEnPipe implements PipeTransform {
4075
4308
  static ɵpipe: _angular_core.ɵɵPipeDeclaration<ParseHttpErrorCodeToMessageEnPipe, "parseHttpErrorCodeToMessageEn", true>;
4076
4309
  }
4077
4310
 
4311
+ /** A single message captured for the devtools web socket inspector. */
4312
+ type WebSocketDevtoolsMessage = {
4313
+ id: number;
4314
+ timestamp: number;
4315
+ room: string;
4316
+ event: string;
4317
+ data: unknown;
4318
+ };
4319
+ /**
4320
+ * The live handle a web socket client registers with the devtools. Read by the `<et-query-devtools>`
4321
+ * Sockets tab. Not part of the general public contract.
4322
+ */
4323
+ type WebSocketDevtoolsHandle = {
4324
+ connected: Signal<boolean>;
4325
+ rooms: Signal<string[]>;
4326
+ messages: Signal<WebSocketDevtoolsMessage[]>;
4327
+ };
4078
4328
  type CreateWebSocketClientTransport = 'polling' | 'websocket' | 'webtransport';
4079
4329
  type CreateWebSocketClientConfigOptions = {
4080
4330
  /** A unique name for the client */
@@ -4118,5 +4368,5 @@ type WebSocketClientResult<TMessageData extends SocketMessageView = SocketMessag
4118
4368
  type AnyWebSocketClient<TMessageData extends SocketMessageView = SocketMessageView> = WebSocketClientResult<TMessageData>;
4119
4369
  declare const createWebSocketClient: <TMessageData extends SocketMessageView = SocketMessageView>(options: CreateWebSocketClientConfigOptions) => WebSocketClientResult<TMessageData>;
4120
4370
 
4121
- export { AuthBearerRefreshStrategy, BasicAuthProvider, BearerAuthFeatureType, BooleanArrayQueryField, CLEAR_QUERY_ARGS, CustomHeaderAuthProvider, DateArrayQueryField, DateQueryField, EntityStore, INFINITY_QUERY_TOKEN, InfinityQuery, InfinityQueryDirective, InfinityQueryTriggerDirective, LegacyQuery, LegacyQueryCreator, NumberArrayQueryField, ParseHttpErrorCodeToMessageDePipe, ParseHttpErrorCodeToMessageEnPipe, ParseHttpErrorCodeToTitleDePipe, ParseHttpErrorCodeToTitleEnPipe, QUERY_CLIENT_DEVTOOLS_TOKEN, QueryDevtoolsComponent, QueryDirective, QueryError, QueryFeatureType, QueryField, QueryForm, QueryRuntimeErrorCode, QueryShortNamePipe, QueryStateType, QueryStore, SERVER_ERROR_KIND, SERVER_VIOLATION_ERROR_KIND, SPEED_BUFFER_TIME_IN_MS, SearchQueryField, SortQueryField, StringArrayQueryField, V2BearerAuthProvider, V2Query, V2QueryClient, V2QueryCreator, addQueryContainerHandling, applyQueryFeatures, authExtractTokensResponseMissingAccessToken, authExtractTokensResponseMissingRefreshToken, authExtractTokensResponseNotObject, authProviderFeatureUsedMultipleTimes, buildErrorMessage, buildQueryCacheKey, buildQueryString, buildRoute, buildTimestampFromSeconds, castQueryCreatorTypes, circularQueryDependency, circularQueryDependencyChecker, computeQueryAuthHeader, computeQueryBody, computeQueryHeaders, computeQueryMethod, computeQueryQueryParams, contentfulGqlLikePaginationAdapter, createBaseQuery, createBaseQueryCreator, createBearerAuthProvider, createDeleteQuery, createExecuteFn, createGetQuery, createGqlExecuteFn, createGqlMutationViaGet, createGqlMutationViaPost, createGqlQuery, createGqlQueryCreator, createGqlQueryViaGet, createGqlQueryViaPost, createHttpRequest, createInfinityQueryConfig, createLegacyQueryCreator, createPagedQueryStack, createPatchQuery, createPersistentAuthFeature, createPostQuery, createPutQuery, createQuery, createQueryClient, createQueryCollection, createQueryCollectionSignal, createQueryCollectionSubject, createQueryContext, createQueryCreator, createQueryErrorResponse, createQueryFeature, createQueryObject, createQueryRepository, createQuerySnapshotFn, createQueryStack, createSecureDeleteQuery, createSecureExecuteFactory, createSecureExecuteFn, createSecureGetQuery, createSecureGqlExecuteFn, createSecureGqlMutationViaGet, createSecureGqlMutationViaPost, createSecureGqlQuery, createSecureGqlQueryCreator, createSecureGqlQueryViaGet, createSecureGqlQueryViaPost, createSecurePatchQuery, createSecurePostQuery, createSecurePutQuery, createSecureQuery, createSecureQueryCreator, createTrackingFeature, createWebSocketClient, decryptBearer, deepFreeze, def, detectContentTypeHeader, dynLikePaginationAdapter, effectComputed, ethletePaginationAdapter, executeUntilSettled, extractExpiresInSeconds, extractFormViolations, extractQuery, fakePaginationAdapter, filterFailure, filterNull, filterQueryStates, filterSuccess, forEachHeader, getDefaultHeaders, getQueryFeatureUsage, getResponseUrl, ggLikePaginationAdapter, gql, gqlDataPropertyMissingInResponse, hasHeader, ignoreAutoRefresh, injectInfinityQueryResponseDelay, injectQueryContext, insertFrom, invalidBaseRouteError, invalidBodyError, invalidRouteError, invalidStateInsideSecureExecuteFactory, isAutoRefresh, isBasicAuthProvider, isBearerAuthProvider, isClassValidatorError, isCreateGqlQueryOptions, isCustomHeaderAuthProvider, isEmptyString, isGqlQueryConfig, isLegacyQuery, isNaN, isQuery, isQueryCollection, isQueryErrorResponse, isQueryStateCancelled, isQueryStateFailure, isQueryStateLoading, isQueryStatePrepared, isQueryStateSuccess, isRequestError, isSymfonyError, isSymfonyFormViolationListError, isSymfonyListError, isSymfonyPagerfantaOutOfRangeError, mapToPaginated, mapViolationsToFormErrors, maybeExecute, mergeHeaders, nestedEffect, pagedQueryStackNextPageCalledWithoutPreviousPage, pagedQueryStackPageBiggerThanTotalPages, pagedQueryStackPreviousPageCalledButAlreadyAtFirstPage, paginatedEntityValueUpdater, parseAllXhrResponseHeaders, parseHttpErrorCodeToMessageDe, parseHttpErrorCodeToMessageEn, parseHttpErrorCodeToTitleDe, parseHttpErrorCodeToTitleEn, pathParamsMissingInRouteFunctionError, provideInfinityQueryResponseDelay, provideQueryClientForDevtools, queryArrayComputed, queryComputed, queryComputedTillTruthy, queryExecute, queryFeatureUsedMultipleTimes, queryStackTotalQueriesAndExpectedQueriesMismatch, queryStackWithArgsUsed, queryStackWithResponseUpdateUsed, queryStateAlreadyHasKeyError, queryStateCannotTransformError, queryStateDoesNotContainKeyError, queryStateErrorSignal, queryStateLoadingSignal, queryStateResponseSignal, queryStateSignal, removeFrom, request, resetExecuteState, resetPageOnError, serializeBody, setupQueryDependencies, setupQueryExecuteState, setupQueryState, shouldAutoExecuteGqlQuery, shouldAutoExecuteQuery, shouldCacheQuery, shouldRetryRequest, silenceMissingWithArgsFeatureErrorUsedButWithArgsPresent, skipPaginationPageParamCalculator, splitQueryConfig, switchQueryCollectionState, switchQueryState, takeUntilResponse, toQuerySignal, toQuerySubject, tokensNotAvailableInsideAuthAndExec, transformArrayResponse, transformExecStateToQueryState, transformGql, transformMethod, transformPaginatedResponse, transformToBoolean, transformToBooleanArray, transformToDate, transformToDateArray, transformToNumber, transformToNumberArray, transformToSort, transformToSortQueryParam, transformToString, transformToStringArray, uncacheableRequestHasAllowCacheParam, uncacheableRequestHasCacheKeyParam, v2BuildQueryCacheKey, v2ExtractExpiresInSeconds, v2ShouldCacheQuery, v2ShouldRetryRequest, validateWithQuery, validateWithV2Query, withArgs, withArgsQueryFeatureMissingButRouteIsFunction, withAuthenticationQuery, withAutoRefresh, withAutoRefreshUsedInManualQuery, withAutoRefreshUsedOnUnsupportedHttpMethod, withErrorHandling, withInactivityLogout, withLogging, withPersistentAuth, withPolling, withPollingUsedOnUnsupportedHttpMethod, withRefreshQuery, withResponseUpdate, withSuccessHandling, withTokenExpirationWarning, withTokenRevocation, withTracking, wrapAsObservableSignal };
4122
- export type { AnyBearerAuthProvider, AnyCreateBearerAuthProviderResult, AnyCreateGqlQueryCreatorOptions, AnyCreateQueryClientResult, AnyGqlQueryConfig, AnyInfinityQuery, AnyInfinityQueryConfig, AnyLegacyQuery, AnyLegacyQueryCreator, AnyNewQuery, AnyPagedQueryStack, AnyQueryBuilder, AnyQueryClient, AnyQueryCollection, AnyQueryCollectionData, AnyQueryCollectionResponse, AnyQueryCreator, AnyQueryCreatorCollection, AnyQueryForm, AnyQuerySnapshot, AnyQueryStack, AnyRestQueryConfig, AnyRoute, AnyV2Query, AnyV2QueryCreator, AnyWebSocketClient, AppendItemsLocation, AuthProvider, AuthProviderBasicConfig, AuthProviderBearerConfig, AuthProviderCustomHeaderConfig, AuthQueryBuilder, AuthQueryConfig, BaseArguments, BaseQueryCreatorFactoryOptions, BaseQueryCreatorOptions, BaseQueryCreatorOptionsSubtle, BearerAuthExecutionState, BearerAuthExecutionStateError, BearerAuthExecutionStateLoading, BearerAuthExecutionStateLogout, BearerAuthExecutionStateSuccess, BearerAuthFeature, BearerAuthProvider, BearerAuthProviderFeatureContext, BearerAuthProviderQueryContext, BearerAuthProviderRef, BearerAuthProviderTokens, BearerRefreshConfig, BodyType, BuildQueryStringConfig, CacheAdapterFn, Cancelled, ClassValidatorError, ClearQueryArgs, ConstructQuery, CreateBaseQueryOptions, CreateBearerAuthProviderConfig, CreateGqlQueryCreatorOptions, CreateGqlQueryExecuteOptions, CreateGqlQueryOptions, CreateHttpRequestDependencies, CreateHttpRequestOptions, CreateLegacyQueryCreatorOptions, CreateLegacyQueryOptions, CreatePagedQueryStackOptions, CreateQueryClientConfigOptions, CreateQueryCreatorOptions, CreateQueryExecuteOptions, CreateQueryObjectOptions, CreateQueryOptions, CreateQueryRepositoryConfig, CreateQuerySnapshotOptions, CreateQueryStackOptions, CreateSecureGqlQueryExecuteOptions, CreateSecureGqlQueryOptions, CreateSecureQueryExecuteOptions, CreateSecureQueryOptions, CreateWebSocketClientConfigOptions, CreateWebSocketClientTransport, DestroyCleanupCallback, EmptyObject, EntityGetParams, EntityIdParams, EntityKey, EntitySetParams, EntityStoreConfig, ExecuteFactory, ExecuteQueryOptions, ExtractQueryArgs, ExtractQueryKey, Failure, FeatureRegistry, GQL, GqlQueryArgs, GqlQueryConfig, GqlQueryConfigWithoutMethod, GqlQueryMethod, GqlQueryTransport, GqlTransferOption, GqlTransformer, GqlVariablesType, HttpErrorEvent, HttpRequest, HttpRequestLoadingProgressState, HttpRequestLoadingState, HttpRequestResponseType, HttpRequestTransferCacheConfig, InactivityLogoutConfig, InactivityLogoutFeature, InfinityQueryConfig, InfinityQueryConfigType, InfinityQueryOf, InfinityQueryParamLocation, InsertFromConfig, InternalCreateGqlQueryCreatorOptions, InternalCreateQueryCreatorOptions, InternalQueryExecute, InternalSecureCreateGqlQueryCreatorOptions, InternalSecureCreateQueryCreatorOptions, InternalWebSocketRoom, LeaderInstanceCountChangeEventData, LeaderStatusChangeEventData, LegacyArgumentsOfQueryArgs, LegacyQueryPrepareFn, Loading, MapViolationsToFormErrorsOptions, Method, ObservableSignal, OptionalQueryFieldOptions, PageParamCalculatorOptions, PagedQueryStack, PagedQueryStackDirection, PagedQueryStackExecuteOptions, PagedQueryStackResetOptions, PartialXhrState, PathParams, PathParamsType, PersistentAuthConfig, PersistentAuthFeature, PollConfig, Prepared, Query, QueryArgs, QueryArgsOf, QueryArgsOfLegacyArguments, QueryAutoRefreshConfig, QueryBase, QueryClient, QueryClientDevtoolsOptions, QueryClientRef, QueryCollectionKeysOf, QueryCollectionOf, QueryCollectionWithNullableQuery, QueryConfig, QueryConfigBase, QueryConfigWithoutMethod, QueryContainerConfig, QueryContext, QueryCreator, QueryDataOf, QueryDependencies, QueryDirectiveContext, QueryDirectiveType, QueryEntityConfig, QueryErrorResponse, QueryErrorResponseItem, QueryErrorResponseList, QueryErrorResponseSingle, QueryExecute, QueryExecuteArgs, QueryExecuteEventData, QueryExecuteOptions, QueryExecuteState, QueryExecutionState, QueryExecutionStateFailure, QueryExecutionStateLoading, QueryExecutionStateLoadingWithCachedResponse, QueryExecutionStateLoadingWithNoResponse, QueryExecutionStateSuccess, QueryFailureEventData, QueryFeature, QueryFeatureContext, QueryFeatureFlags, QueryFeatureFn, QueryFieldOptions, QueryFilterConfig, QueryFormGroup, QueryFormGroupControls, QueryFormObserveOptions, QueryFormOf, QueryFormOptions, QueryFormValue, QueryFormValueEvent, QueryFormWriteOptions, QueryKey, QueryMethod, QueryMockConfig, QueryOf, QueryParams, QueryParamsType, QueryPrepareFn, QueryRegistry, QueryRepository, QueryRepositoryDependencies, QueryRepositoryEvent, QueryRepositoryItem, QueryRepositoryRequestOptions, QueryResponseOf, QueryRouteOf, QuerySnapshot, QueryStack, QueryStackSubtle, QueryState, QueryStateMeta, QueryStateResponseOf, QueryStateSignal, QueryStateSubtle, QueryStateSuccessMeta, QueryStoreIdOf, QueryStoreOf, QuerySubtle, QuerySuccessEventData, QueryTrigger, RawResponseType, ReadonlyQuery, RemoveFromConfig, RequestArgs, RequestConfig, RequestError, RequestEvent, RequestHeaders, RequestHeadersMethodMap, RequestHttpEvent, RequestProgress, RequestRetryFn, RequestRetryFnConfig, RequestRetryFnResult, RequiresTransform, ResetExecuteStateOptions, ResetPageOnErrorOperatorConfig, ResponseType, RestQueryConfig, RouteString, RouteType, RunQueryCreator, RunQueryExecuteOptions, SecureExecuteFactoryOptions, ServerValidationError, ServerViolationValidationError, SetupQueryDependenciesOptions, SetupQueryStateOptions, ShouldRetryRequestFn, ShouldRetryRequestOptions, ShouldRetryRequestResult, SocketMessageView, Sort, SortDirection, Success, SymfonyError, SymfonyErrorTrace, TokenExpirationWarningConfig, TokenExpirationWarningFeature, TokenRefreshEventData, TokenRefreshQueryBuilder, TokenRefreshQueryConfig, TokenResponse, TokenRevocationConfig, TokenRevocationFeature, TotalPagesExtractorOptions, TrackingConfig, TrackingEventDataMap, TrackingEventHandler, TrackingEventName, TrackingFeature, TransformedGqlQuery, V2CacheAdapterFn, V2PrepareArgsOf, V2QueryArgsOf, V2QueryClientConfig, V2QueryConfig, V2QueryState, V2RouteString, V2RouteType, ValidateWithQueryConfig, ValidateWithV2QueryConfig, WebSocketClient, WebSocketClientResult, WebSocketClientSubtle, WebSocketRoom, WithAutoRefreshFeatureOptions, WithBody, WithConfig, WithErrorHandlingFeatureOptions, WithHeaders, WithInjector, WithLegacyConfig, WithLoggingFeatureOptions, WithMock, WithPathParams, WithPollingFeatureOptions, WithQueryParams, WithResponseUpdateFeatureFnData, WithResponseUpdateFeatureOptions, WithSuccessHandlingFeatureOptions, WithVariables };
4371
+ export { AuthBearerRefreshStrategy, BasicAuthProvider, BearerAuthFeatureType, BooleanArrayQueryField, CLEAR_QUERY_ARGS, CustomHeaderAuthProvider, DateArrayQueryField, DateQueryField, EntityStore, INFINITY_QUERY_TOKEN, InfinityQuery, InfinityQueryDirective, InfinityQueryTriggerDirective, LegacyQuery, LegacyQueryCreator, NumberArrayQueryField, ParseHttpErrorCodeToMessageDePipe, ParseHttpErrorCodeToMessageEnPipe, ParseHttpErrorCodeToTitleDePipe, ParseHttpErrorCodeToTitleEnPipe, QUERY_CLIENT_DEVTOOLS_TOKEN, QueryDevtoolsComponent, QueryDirective, QueryError, QueryFeatureType, QueryField, QueryForm, QueryRuntimeErrorCode, QueryShortNamePipe, QueryStateType, QueryStore, SERVER_ERROR_KIND, SERVER_VIOLATION_ERROR_KIND, SPEED_BUFFER_TIME_IN_MS, SearchQueryField, SortQueryField, StringArrayQueryField, V2BearerAuthProvider, V2Query, V2QueryClient, V2QueryCreator, addQueryContainerHandling, applyQueryFeatures, authExtractTokensResponseMissingAccessToken, authExtractTokensResponseMissingRefreshToken, authExtractTokensResponseNotObject, authProviderFeatureUsedMultipleTimes, buildErrorMessage, buildQueryCacheKey, buildQueryString, buildRoute, buildTimestampFromSeconds, castQueryCreatorTypes, circularQueryDependency, circularQueryDependencyChecker, computeQueryAuthHeader, computeQueryBody, computeQueryHeaders, computeQueryMethod, computeQueryQueryParams, contentfulGqlLikePaginationAdapter, createBaseQuery, createBaseQueryCreator, createBearerAuthProvider, createDeleteQuery, createExecuteFn, createGetQuery, createGqlExecuteFn, createGqlMutationViaGet, createGqlMutationViaPost, createGqlQuery, createGqlQueryCreator, createGqlQueryViaGet, createGqlQueryViaPost, createHttpRequest, createInfinityQueryConfig, createLegacyQueryCreator, createPagedQueryStack, createPatchQuery, createPersistentAuthFeature, createPostQuery, createPutQuery, createQuery, createQueryClient, createQueryCollection, createQueryCollectionSignal, createQueryCollectionSubject, createQueryContext, createQueryCreator, createQueryErrorResponse, createQueryFeature, createQueryObject, createQueryRepository, createQuerySnapshotFn, createQueryStack, createSecureDeleteQuery, createSecureExecuteFactory, createSecureExecuteFn, createSecureGetQuery, createSecureGqlExecuteFn, createSecureGqlMutationViaGet, createSecureGqlMutationViaPost, createSecureGqlQuery, createSecureGqlQueryCreator, createSecureGqlQueryViaGet, createSecureGqlQueryViaPost, createSecurePatchQuery, createSecurePostQuery, createSecurePutQuery, createSecureQuery, createSecureQueryCreator, createTrackingFeature, createWebSocketClient, decryptBearer, deepFreeze, def, detectContentTypeHeader, dynLikePaginationAdapter, effectComputed, ethletePaginationAdapter, executeUntilSettled, extractExpiresInSeconds, extractFormViolations, extractQuery, fakePaginationAdapter, filterFailure, filterNull, filterQueryStates, filterSuccess, forEachHeader, getDefaultHeaders, getQueryFeatureUsage, getResponseUrl, ggLikePaginationAdapter, gql, gqlDataPropertyMissingInResponse, hasHeader, ignoreAutoRefresh, injectInfinityQueryResponseDelay, injectQueryContext, insertFrom, invalidBaseRouteError, invalidBodyError, invalidRouteError, invalidStateInsideSecureExecuteFactory, isAutoRefresh, isBasicAuthProvider, isBearerAuthProvider, isClassValidatorError, isCreateGqlQueryOptions, isCustomHeaderAuthProvider, isEmptyString, isGqlQueryConfig, isLegacyQuery, isNaN, isQuery, isQueryCollection, isQueryErrorResponse, isQueryStateCancelled, isQueryStateFailure, isQueryStateLoading, isQueryStatePrepared, isQueryStateSuccess, isRequestError, isSymfonyError, isSymfonyFormViolationListError, isSymfonyListError, isSymfonyPagerfantaOutOfRangeError, mapToPaginated, mapViolationsToFormErrors, maybeExecute, mergeHeaders, nestedEffect, pagedQueryStackNextPageCalledWithoutPreviousPage, pagedQueryStackPageBiggerThanTotalPages, pagedQueryStackPreviousPageCalledButAlreadyAtFirstPage, paginatedEntityValueUpdater, parseAllXhrResponseHeaders, parseHttpErrorCodeToMessageDe, parseHttpErrorCodeToMessageEn, parseHttpErrorCodeToTitleDe, parseHttpErrorCodeToTitleEn, pathParamsMissingInRouteFunctionError, provideInfinityQueryResponseDelay, provideQueryClientForDevtools, provideQueryDevtools, queryArrayComputed, queryComputed, queryComputedTillTruthy, queryDevtoolsEntries, queryExecute, queryFeatureUsedMultipleTimes, querySequence, querySequenceAlreadyRunning, queryStackTotalQueriesAndExpectedQueriesMismatch, queryStackWithArgsUsed, queryStackWithResponseUpdateUsed, queryStateAlreadyHasKeyError, queryStateCannotTransformError, queryStateDoesNotContainKeyError, queryStateErrorSignal, queryStateLoadingSignal, queryStateResponseSignal, queryStateSignal, removeFrom, request, resetExecuteState, resetPageOnError, serializeBody, setupQueryDependencies, setupQueryExecuteState, setupQueryState, shouldAutoExecuteGqlQuery, shouldAutoExecuteQuery, shouldCacheQuery, shouldRetryRequest, silenceMissingWithArgsFeatureErrorUsedButWithArgsPresent, skipPaginationPageParamCalculator, splitQueryConfig, switchQueryCollectionState, switchQueryState, takeUntilResponse, toQuerySignal, toQuerySubject, tokensNotAvailableInsideAuthAndExec, transformArrayResponse, transformExecStateToQueryState, transformGql, transformMethod, transformPaginatedResponse, transformToBoolean, transformToBooleanArray, transformToDate, transformToDateArray, transformToNumber, transformToNumberArray, transformToSort, transformToSortQueryParam, transformToString, transformToStringArray, uncacheableRequestHasAllowCacheParam, uncacheableRequestHasCacheKeyParam, v2BuildQueryCacheKey, v2ExtractExpiresInSeconds, v2ShouldCacheQuery, v2ShouldRetryRequest, validateWithQuery, validateWithV2Query, withArgs, withArgsQueryFeatureMissingButRouteIsFunction, withAuthenticationQuery, withAutoRefresh, withAutoRefreshUsedInManualQuery, withAutoRefreshUsedOnUnsupportedHttpMethod, withErrorHandling, withInactivityLogout, withLogging, withPersistentAuth, withPolling, withPollingUsedOnUnsupportedHttpMethod, withRefreshQuery, withResponseUpdate, withSuccessHandling, withTokenExpirationWarning, withTokenRevocation, withTracking, wrapAsObservableSignal };
4372
+ export type { AnyBearerAuthProvider, AnyCreateBearerAuthProviderResult, AnyCreateGqlQueryCreatorOptions, AnyCreateQueryClientResult, AnyGqlQueryConfig, AnyInfinityQuery, AnyInfinityQueryConfig, AnyLegacyQuery, AnyLegacyQueryCreator, AnyNewQuery, AnyPagedQueryStack, AnyQueryBuilder, AnyQueryClient, AnyQueryCollection, AnyQueryCollectionData, AnyQueryCollectionResponse, AnyQueryCreator, AnyQueryCreatorCollection, AnyQueryForm, AnyQuerySnapshot, AnyQueryStack, AnyRestQueryConfig, AnyRoute, AnyV2Query, AnyV2QueryCreator, AnyWebSocketClient, AppendItemsLocation, AuthProvider, AuthProviderBasicConfig, AuthProviderBearerConfig, AuthProviderCustomHeaderConfig, AuthQueryBuilder, AuthQueryConfig, BaseArguments, BaseQueryCreatorFactoryOptions, BaseQueryCreatorOptions, BaseQueryCreatorOptionsSubtle, BearerAuthExecutionState, BearerAuthExecutionStateError, BearerAuthExecutionStateLoading, BearerAuthExecutionStateLogout, BearerAuthExecutionStateSuccess, BearerAuthFeature, BearerAuthProvider, BearerAuthProviderFeatureContext, BearerAuthProviderQueryContext, BearerAuthProviderRef, BearerAuthProviderTokens, BearerRefreshConfig, BodyType, BuildQueryStringConfig, CacheAdapterFn, Cancelled, ClassValidatorError, ClearQueryArgs, ConstructQuery, CreateBaseQueryOptions, CreateBearerAuthProviderConfig, CreateGqlQueryCreatorOptions, CreateGqlQueryExecuteOptions, CreateGqlQueryOptions, CreateHttpRequestDependencies, CreateHttpRequestOptions, CreateLegacyQueryCreatorOptions, CreateLegacyQueryOptions, CreatePagedQueryStackOptions, CreateQueryClientConfigOptions, CreateQueryCreatorOptions, CreateQueryExecuteOptions, CreateQueryObjectOptions, CreateQueryOptions, CreateQueryRepositoryConfig, CreateQuerySnapshotOptions, CreateQueryStackOptions, CreateSecureGqlQueryExecuteOptions, CreateSecureGqlQueryOptions, CreateSecureQueryExecuteOptions, CreateSecureQueryOptions, CreateWebSocketClientConfigOptions, CreateWebSocketClientTransport, DestroyCleanupCallback, EmptyObject, EntityGetParams, EntityIdParams, EntityKey, EntitySetParams, EntityStoreConfig, ExecuteFactory, ExecuteQueryOptions, ExtractQueryArgs, ExtractQueryKey, Failure, FeatureRegistry, GQL, GqlQueryArgs, GqlQueryConfig, GqlQueryConfigWithoutMethod, GqlQueryMethod, GqlQueryTransport, GqlTransferOption, GqlTransformer, GqlVariablesType, HttpErrorEvent, HttpRequest, HttpRequestLoadingProgressState, HttpRequestLoadingState, HttpRequestResponseType, HttpRequestTransferCacheConfig, InactivityLogoutConfig, InactivityLogoutFeature, InfinityQueryConfig, InfinityQueryConfigType, InfinityQueryOf, InfinityQueryParamLocation, InsertFromConfig, InternalCreateGqlQueryCreatorOptions, InternalCreateQueryCreatorOptions, InternalQueryExecute, InternalSecureCreateGqlQueryCreatorOptions, InternalSecureCreateQueryCreatorOptions, InternalWebSocketRoom, LeaderInstanceCountChangeEventData, LeaderStatusChangeEventData, LegacyArgumentsOfQueryArgs, LegacyQueryPrepareFn, Loading, MapViolationsToFormErrorsOptions, Method, ObservableSignal, OptionalQueryFieldOptions, PageParamCalculatorOptions, PagedQueryStack, PagedQueryStackDirection, PagedQueryStackExecuteOptions, PagedQueryStackResetOptions, PartialXhrState, PathParams, PathParamsType, PersistentAuthConfig, PersistentAuthFeature, PollConfig, Prepared, Query, QueryArgs, QueryArgsOf, QueryArgsOfLegacyArguments, QueryAutoRefreshConfig, QueryBase, QueryClient, QueryClientDevtoolsOptions, QueryClientRef, QueryCollectionKeysOf, QueryCollectionOf, QueryCollectionWithNullableQuery, QueryConfig, QueryConfigBase, QueryConfigWithoutMethod, QueryContainerConfig, QueryContext, QueryCreator, QueryDataOf, QueryDependencies, QueryDevtoolsEntry, QueryDevtoolsEntryKind, QueryDevtoolsEntryMeta, QueryDirectiveContext, QueryDirectiveType, QueryEntityConfig, QueryErrorResponse, QueryErrorResponseItem, QueryErrorResponseList, QueryErrorResponseSingle, QueryExecute, QueryExecuteArgs, QueryExecuteEventData, QueryExecuteOptions, QueryExecuteState, QueryExecutionState, QueryExecutionStateFailure, QueryExecutionStateLoading, QueryExecutionStateLoadingWithCachedResponse, QueryExecutionStateLoadingWithNoResponse, QueryExecutionStateSuccess, QueryFailureEventData, QueryFeature, QueryFeatureContext, QueryFeatureFlags, QueryFeatureFn, QueryFieldOptions, QueryFilterConfig, QueryFormGroup, QueryFormGroupControls, QueryFormObserveOptions, QueryFormOf, QueryFormOptions, QueryFormValue, QueryFormValueEvent, QueryFormWriteOptions, QueryKey, QueryMethod, QueryMockConfig, QueryOf, QueryParams, QueryParamsType, QueryPrepareFn, QueryRegistry, QueryRepository, QueryRepositoryCacheEntry, QueryRepositoryDependencies, QueryRepositoryEvent, QueryRepositoryItem, QueryRepositoryRequestOptions, QueryRepositorySubtle, QueryResponseOf, QueryRouteOf, QuerySequence, QuerySequenceResult, QuerySequenceStatus, QuerySequenceStepArgs, QuerySnapshot, QueryStack, QueryStackSubtle, QueryState, QueryStateMeta, QueryStateResponseOf, QueryStateSignal, QueryStateSubtle, QueryStateSuccessMeta, QueryStoreIdOf, QueryStoreOf, QuerySubtle, QuerySuccessEventData, QueryTrigger, RawResponseType, ReadonlyQuery, RemoveFromConfig, RequestArgs, RequestConfig, RequestError, RequestEvent, RequestHeaders, RequestHeadersMethodMap, RequestHttpEvent, RequestProgress, RequestRetryFn, RequestRetryFnConfig, RequestRetryFnResult, RequiresTransform, ResetExecuteStateOptions, ResetPageOnErrorOperatorConfig, ResponseType, RestQueryConfig, RouteString, RouteType, RunQueryCreator, RunQueryExecuteOptions, SecureExecuteFactoryOptions, ServerValidationError, ServerViolationValidationError, SetupQueryDependenciesOptions, SetupQueryStateOptions, ShouldRetryRequestFn, ShouldRetryRequestOptions, ShouldRetryRequestResult, SocketMessageView, Sort, SortDirection, Success, SymfonyError, SymfonyErrorTrace, TokenExpirationWarningConfig, TokenExpirationWarningFeature, TokenRefreshEventData, TokenRefreshQueryBuilder, TokenRefreshQueryConfig, TokenResponse, TokenRevocationConfig, TokenRevocationFeature, TotalPagesExtractorOptions, TrackingConfig, TrackingEventDataMap, TrackingEventHandler, TrackingEventName, TrackingFeature, TransformedGqlQuery, V2CacheAdapterFn, V2PrepareArgsOf, V2QueryArgsOf, V2QueryClientConfig, V2QueryConfig, V2QueryState, V2RouteString, V2RouteType, ValidateWithQueryConfig, ValidateWithV2QueryConfig, WebSocketClient, WebSocketClientResult, WebSocketClientSubtle, WebSocketDevtoolsHandle, WebSocketDevtoolsMessage, WebSocketRoom, WithAutoRefreshFeatureOptions, WithBody, WithConfig, WithErrorHandlingFeatureOptions, WithHeaders, WithInjector, WithLegacyConfig, WithLoggingFeatureOptions, WithMock, WithPathParams, WithPollingFeatureOptions, WithQueryParams, WithResponseUpdateFeatureFnData, WithResponseUpdateFeatureOptions, WithSuccessHandlingFeatureOptions, WithVariables };