@spooky-sync/client-solid 0.0.1-canary.33 → 0.0.1-canary.330

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.
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { AuthService, BucketHandle, RunOptions, Sp00kyClient, Sp00kyConfig, Sp00kyQueryResultPromise, UpdateOptions } from "@spooky-sync/core";
1
+ import { AppReleaseOptions, AuthService, BucketHandle, BucketPutOptions, BucketPutResult, ConnectionState, ConnectionState as ConnectionState$1, CrdtField, FeatureFlagOptions, ImpersonationInfo, PreloadOptions, PreloadOptions as PreloadOptions$1, PreloadRefresh, PushDeviceKind, PushNotification, PushPayload, ReconnectConfig, RunOptions, Sp00kyClient, Sp00kyConfig, Sp00kyQueryResultPromise, StorageHealth, StorageHealth as StorageHealth$1, StorageHealthStatus, StorageHealthStatus as StorageHealthStatus$1, SyncHealth, SyncHealth as SyncHealth$1, SyncHealthConfig, SyncHealthStatus, SyncHealthStatus as SyncHealthStatus$1, UpdateOptions, WebPushClientMessage, WebPushConfig, WebPushDevice, WebPushError, WebPushErrorCode, WebPushInfo, WebPushMessage, WebPushMessageInput, WebPushModule, WebPushModule as WebPushModule$1, WebPushSubscribeOptions, WebPushSupport, WebPushSyncOptions, WebPushSyncStatus, WebPushUnsubscribeOptions, WebPushUnsupportedReason, WebPushUpdateOptions } from "@spooky-sync/core";
2
2
  import { RecordId, RecordId as RecordId$1, Surreal, Uuid } from "surrealdb";
3
3
  import { Accessor, JSX } from "solid-js";
4
4
  import { GenericModel, GenericSchema, SchemaStructure } from "@spooky/query-builder";
@@ -45,6 +45,14 @@ type QueryArg<S extends SchemaStructure$1, TableName extends TableNames$1<S>, T
45
45
  }, RelatedFields extends Record<string, any>, IsOne extends boolean> = FinalQuery<S, TableName, T, RelatedFields, IsOne, Sp00kyQueryResultPromise> | (() => FinalQuery<S, TableName, T, RelatedFields, IsOne, Sp00kyQueryResultPromise> | null | undefined);
46
46
  type QueryOptions = {
47
47
  enabled?: () => boolean;
48
+ /**
49
+ * Tear down the query (remote `_00_query` view + local WASM view) when this
50
+ * hook is disposed and no other subscriber remains, instead of keeping it
51
+ * resident for cheap re-subscription. Use for viewport-windowed lists that
52
+ * mount/unmount a query per scroll window and want off-screen windows
53
+ * cancelled. Trade-off: scrolling back to a torn-down window re-registers it.
54
+ */
55
+ deregisterOnCleanup?: boolean;
48
56
  };
49
57
  declare function useQuery<S extends SchemaStructure$1, TableName extends TableNames$1<S>, T extends {
50
58
  columns: Record<string, ColumnSchema>;
@@ -52,6 +60,8 @@ declare function useQuery<S extends SchemaStructure$1, TableName extends TableNa
52
60
  data: () => TData | undefined;
53
61
  error: () => Error | undefined;
54
62
  isLoading: () => boolean;
63
+ isFetching: () => boolean;
64
+ isSettled: () => boolean;
55
65
  };
56
66
  declare function useQuery<S extends SchemaStructure$1, TableName extends TableNames$1<S>, T extends {
57
67
  columns: Record<string, ColumnSchema>;
@@ -59,14 +69,205 @@ declare function useQuery<S extends SchemaStructure$1, TableName extends TableNa
59
69
  data: () => TData | undefined;
60
70
  error: () => Error | undefined;
61
71
  isLoading: () => boolean;
72
+ isFetching: () => boolean;
73
+ isSettled: () => boolean;
74
+ };
75
+ //#endregion
76
+ //#region src/lib/create-preload.d.ts
77
+ type PreloadArg<S extends SchemaStructure$1, TableName extends TableNames$1<S>, T extends {
78
+ columns: Record<string, ColumnSchema>;
79
+ }, RelatedFields extends Record<string, any>, IsOne extends boolean> = FinalQuery<S, TableName, T, RelatedFields, IsOne, Sp00kyQueryResultPromise> | (() => FinalQuery<S, TableName, T, RelatedFields, IsOne, Sp00kyQueryResultPromise> | null | undefined);
80
+ type PreloadOptions$2 = PreloadOptions$1 & {
81
+ /** Only preload while this returns true (defaults to always). */
82
+ enabled?: () => boolean;
62
83
  };
84
+ declare function createPreload<S extends SchemaStructure$1, TableName extends TableNames$1<S>, T extends {
85
+ columns: Record<string, ColumnSchema>;
86
+ }, RelatedFields extends Record<string, any>, IsOne extends boolean>(finalQuery: PreloadArg<S, TableName, T, RelatedFields, IsOne>, options?: PreloadOptions$2): void;
87
+ declare function createPreload<S extends SchemaStructure$1, TableName extends TableNames$1<S>, T extends {
88
+ columns: Record<string, ColumnSchema>;
89
+ }, RelatedFields extends Record<string, any>, IsOne extends boolean>(db: SyncedDb<S>, finalQuery: PreloadArg<S, TableName, T, RelatedFields, IsOne>, options?: PreloadOptions$2): void;
90
+ //#endregion
91
+ //#region src/lib/use-sync-status.d.ts
92
+ interface UseSyncStatus {
93
+ /** Full health snapshot; updates reactively on every transition. */
94
+ health: Accessor<SyncHealth$1>;
95
+ /** `'healthy'` | `'degraded'`. */
96
+ status: Accessor<SyncHealthStatus$1>;
97
+ isHealthy: Accessor<boolean>;
98
+ /** `true` once sync has failed for a sustained run — drive a banner off this. */
99
+ isDegraded: Accessor<boolean>;
100
+ /** `true` once at least one sync round has succeeded this session. */
101
+ everConnected: Accessor<boolean>;
102
+ /**
103
+ * `true` only for a real lost connection: degraded AFTER a first successful
104
+ * sync. Stays `false` during the initial "connecting" phase (degraded but
105
+ * never reached the server yet), so an indicator can show nothing until the
106
+ * app has actually connected once.
107
+ */
108
+ isOffline: Accessor<boolean>;
109
+ /**
110
+ * Transport state of the remote WebSocket. Flips the instant the socket
111
+ * drops, unlike `status`, which only degrades after a sustained run of failed
112
+ * sync rounds — so this is what to drive a "reconnecting…" affordance off.
113
+ */
114
+ connection: Accessor<ConnectionState$1>;
115
+ /**
116
+ * `true` while the connection is being re-established. Usually still
117
+ * `isHealthy()`: a short reconnect is invisible to sync, and writes made
118
+ * during it are queued locally and pushed once the socket is back.
119
+ */
120
+ isReconnecting: Accessor<boolean>;
121
+ }
122
+ /**
123
+ * Observe sync health for a "can't reach the server" banner / indicator.
124
+ *
125
+ * Backed by `db.subscribeToSyncHealth`. Individual sync failures (a transient
126
+ * remote 500 on query registration, a dropped socket) are absorbed by the
127
+ * retry and never flip this; `isDegraded()` only goes true once failures
128
+ * persist for the configured number of consecutive rounds (sp00ky core config
129
+ * `syncHealth.degradeAfterConsecutiveFailures`, default 3), and flips back on
130
+ * the next successful round. Must be used within a `<Sp00kyProvider>`.
131
+ */
132
+ declare function useSyncStatus(): UseSyncStatus;
133
+ //# sourceMappingURL=use-sync-status.d.ts.map
134
+ //#endregion
135
+ //#region src/lib/use-impersonation.d.ts
136
+ interface UseImpersonationOptions {
137
+ /**
138
+ * This component renders the app's own impersonation banner. Required with
139
+ * `impersonationBanner: { mode: 'custom' }`: it acknowledges the banner, so
140
+ * the client does not fall back to its built-in one.
141
+ */
142
+ rendersBanner?: boolean;
143
+ }
144
+ interface UseImpersonation {
145
+ /** The active impersonation, or `null`. */
146
+ impersonation: Accessor<ImpersonationInfo | null>;
147
+ isImpersonating: Accessor<boolean>;
148
+ /** Return to the admin session. */
149
+ stop: () => Promise<void>;
150
+ }
151
+ /**
152
+ * Observe admin impersonation (started from the DevTools). The client already
153
+ * shows its own warning bar with a Stop button; use this for anything extra,
154
+ * such as hiding actions an admin should not take on someone's behalf.
155
+ * Must be used within a `<Sp00kyProvider>`.
156
+ */
157
+ declare function useImpersonation(options?: UseImpersonationOptions): UseImpersonation;
158
+ //# sourceMappingURL=use-impersonation.d.ts.map
159
+ //#endregion
160
+ //#region src/lib/use-storage-status.d.ts
161
+ interface UseStorageStatus {
162
+ /** Full durability snapshot; updates reactively. */
163
+ health: Accessor<StorageHealth$1>;
164
+ /** `'unknown'` | `'persistent'` | `'memory'`. */
165
+ status: Accessor<StorageHealthStatus$1>;
166
+ /** `true` when the local store survives a reload. */
167
+ isPersistent: Accessor<boolean>;
168
+ /**
169
+ * `true` only when durable storage was requested and could NOT be opened, so
170
+ * the dataset is sitting in RAM and local writes die on reload. Drive a
171
+ * warning off this, not off `status`: a store configured as in-memory reports
172
+ * `'memory'` too, and that is a choice rather than a problem.
173
+ */
174
+ isMemoryFallback: Accessor<boolean>;
175
+ }
176
+ /**
177
+ * Observe how durable the LOCAL cache is, for a "no local storage" warning.
178
+ *
179
+ * Under `localEngine: 'sqlite'` with `store: 'indexeddb'` the durable store is
180
+ * the OPFS SAHPool VFS, and only ONE client per bucket can hold it open: a
181
+ * second tab of the same app cannot get it and runs in memory instead (the
182
+ * engine retries first, so a closing tab's lock is usually waited out). Must be
183
+ * used within a `<Sp00kyProvider>`.
184
+ */
185
+ declare function useStorageStatus(): UseStorageStatus;
186
+ //# sourceMappingURL=use-storage-status.d.ts.map
187
+ //#endregion
188
+ //#region src/lib/use-crdt-field.d.ts
189
+ /**
190
+ * Open a `@crdt` field of the record `recordId()` names, for an editor to bind
191
+ * to (`field()?.getDoc()`). Re-opens when the id changes; closes on cleanup.
192
+ *
193
+ * The accessor stays `null` until the field is loaded (`CrdtField.isLoaded`):
194
+ * this device had the document, or the server answered. Until then the
195
+ * document may be empty only because nothing has arrived yet, so show the
196
+ * column's text instead of binding an editor to it.
197
+ */
198
+ declare function useCrdtField(table: string, recordId: () => string | undefined, field: string): Accessor<CrdtField | null>;
199
+ //# sourceMappingURL=use-crdt-field.d.ts.map
200
+ //#endregion
201
+ //#region src/lib/use-feature-flag.d.ts
202
+ interface UseFeatureFlag {
203
+ variant: Accessor<string | undefined>;
204
+ payload: Accessor<unknown | undefined>;
205
+ enabled: Accessor<boolean>;
206
+ }
207
+ /**
208
+ * Subscribe to a feature flag for the currently authenticated user.
209
+ *
210
+ * Returns three Solid accessors that update reactively whenever the
211
+ * server-materialized assignment in `_00_user_feature` changes. Backed by
212
+ * the same SSP + sync pipeline that powers `useQuery`, so toggling a flag
213
+ * via `spky flag enable <key>` propagates to the UI without a refresh.
214
+ *
215
+ * `enabled()` is `true` when the resolved variant exists and is not 'off'.
216
+ * For multi-variant flags, prefer `variant()` directly.
217
+ */
218
+ declare function useFeatureFlag(key: string, options?: FeatureFlagOptions): UseFeatureFlag;
219
+ //# sourceMappingURL=use-feature-flag.d.ts.map
220
+ //#endregion
221
+ //#region src/lib/use-app-release.d.ts
222
+ interface UseAppReleaseOptions extends AppReleaseOptions {
223
+ /** App name from sp00ky.yml, e.g. `web`. */
224
+ app: string;
225
+ /**
226
+ * The running build's version (X.Y.Z), typically baked in at build time
227
+ * (e.g. a vite `define` from package.json). `updateAvailable()` is true when
228
+ * the announced release is semver-newer than this.
229
+ */
230
+ currentVersion: string;
231
+ }
232
+ interface UseAppRelease {
233
+ /** Latest announced version for the app, or undefined when no row exists. */
234
+ latestVersion: Accessor<string | undefined>;
235
+ /** Announced version is semver-newer than the running build. */
236
+ updateAvailable: Accessor<boolean>;
237
+ /** The newer release asks clients to update/reload without prompting. */
238
+ mandatory: Accessor<boolean>;
239
+ /** The newer release asks reloads to clear service-worker caches first. */
240
+ cacheBust: Accessor<boolean>;
241
+ /**
242
+ * Reload onto the announced release. Plain `location.reload()` normally;
243
+ * when the release is flagged cache-bust, CacheStorage is cleared, the
244
+ * service-worker registration is nudged to update, and navigation carries a
245
+ * `?cb=` token to punch through intermediary caches. The service worker is
246
+ * deliberately NOT unregistered: navigating while still controlled by a
247
+ * just-unregistered worker strands subresource fetches on the dead worker
248
+ * and the page hangs until a manual reload.
249
+ */
250
+ reload: () => Promise<void>;
251
+ }
252
+ /**
253
+ * Observe the app's announced release (`_00_app_release:<app>`, written by
254
+ * `spky deploy` / `spky release`) and compare it against the running build.
255
+ *
256
+ * Typical use: mount a small "new version available — Reload" notification
257
+ * gated on `updateAvailable()`, auto-invoking `reload()` when `mandatory()`
258
+ * (guard the auto path against reload loops with a per-version marker, since
259
+ * a client can reload while the deploy is still rolling out and land on the
260
+ * old bundle again).
261
+ */
262
+ declare function useAppRelease(options: UseAppReleaseOptions): UseAppRelease;
263
+ //# sourceMappingURL=use-app-release.d.ts.map
63
264
  //#endregion
64
265
  //#region src/lib/use-file-upload.d.ts
65
266
  interface FileUploadResult {
66
267
  isUploading: () => boolean;
67
268
  error: () => Error | null;
68
269
  clearError: () => void;
69
- upload: (path: string, file: File | Blob) => Promise<void>;
270
+ upload: (path: string, file: File | Blob, options?: BucketPutOptions) => Promise<BucketPutResult | void>;
70
271
  download: (path: string) => Promise<string | null>;
71
272
  remove: (path: string) => Promise<void>;
72
273
  exists: (path: string) => Promise<boolean>;
@@ -77,7 +278,27 @@ declare function useFileUpload<S extends SchemaStructure$1>(db: SyncedDb<S>, buc
77
278
  //#endregion
78
279
  //#region src/lib/use-download-file.d.ts
79
280
  interface UseDownloadFileOptions {
281
+ /**
282
+ * Master switch, default `true`. `false` gives every hook instance its own
283
+ * private object URL fetched fresh from the bucket and revoked on unmount —
284
+ * no sharing, no persistence, no reuse.
285
+ */
80
286
  cache?: boolean;
287
+ /**
288
+ * Keep the bytes in OPFS so they survive a reload and are available offline.
289
+ * Default `true`. Turn off for one-shot or sensitive files; the in-tab object
290
+ * URL is still shared between components rendering the same path.
291
+ */
292
+ persist?: boolean;
293
+ /** Exempt this file from pressure eviction. Pinned bytes never expire. */
294
+ pin?: boolean;
295
+ /**
296
+ * `'never'` (default) treats a bucket path as immutable, which is how paths
297
+ * are written (`crypto.randomUUID() + ext`). `'head'` spends a remote `head()`
298
+ * to compare sizes before trusting the cached copy — for paths the app
299
+ * overwrites in place.
300
+ */
301
+ revalidate?: 'never' | 'head';
81
302
  }
82
303
  interface UseDownloadFileResult {
83
304
  url: Accessor<string | null>;
@@ -89,12 +310,134 @@ declare function useDownloadFile<S extends SchemaStructure$1>(bucketName: Bucket
89
310
  declare function useDownloadFile<S extends SchemaStructure$1>(db: SyncedDb<S>, bucketName: BucketNames<S>, path: Accessor<string | null | undefined>, options?: UseDownloadFileOptions): UseDownloadFileResult;
90
311
  //# sourceMappingURL=use-download-file.d.ts.map
91
312
  //#endregion
313
+ //#region src/lib/use-blurhash.d.ts
314
+ interface UseBlurhashResult {
315
+ /** The stored blurhash for the path, or null while loading / when none exists. */
316
+ hash: Accessor<string | null>;
317
+ isLoading: Accessor<boolean>;
318
+ }
319
+ /**
320
+ * The blurhash sidecar for a bucket image (written automatically by
321
+ * `bucket.put`, see `Sp00kyConfig.blurhash`). Resolves from OPFS instantly on
322
+ * warm clients; a miss is remembered per tab. Use this directly when the hash
323
+ * belongs to a different rendition than the displayed image; otherwise
324
+ * `useBucketImage` / `BucketImage` bundle it with the download.
325
+ */
326
+ declare function useBlurhash<S extends SchemaStructure$1>(bucketName: BucketNames<S>, path: Accessor<string | null | undefined>): UseBlurhashResult;
327
+ declare function useBlurhash<S extends SchemaStructure$1>(db: SyncedDb<S>, bucketName: BucketNames<S>, path: Accessor<string | null | undefined>): UseBlurhashResult;
328
+ //# sourceMappingURL=use-blurhash.d.ts.map
329
+ //#endregion
330
+ //#region src/lib/use-bucket-image.d.ts
331
+ interface UseBucketImageOptions extends UseDownloadFileOptions {
332
+ /**
333
+ * Also resolve the image's blurhash sidecar (see `Sp00kyConfig.blurhash`).
334
+ * Default `true`; the read is registered before the image bytes so the tiny
335
+ * sidecar tends to land first on the serialized remote chain.
336
+ */
337
+ blurhash?: boolean;
338
+ }
339
+ interface UseBucketImageResult extends UseDownloadFileResult {
340
+ /** Blurhash for the same path, or null (off, missing, still loading). */
341
+ blurhash: Accessor<string | null>;
342
+ /** True once the current `url()` has been decoded and is safe to paint. */
343
+ ready: Accessor<boolean>;
344
+ /**
345
+ * Ref callback for the `<img>` rendering `url()`: flips `ready` when the
346
+ * bitmap is decoded (resolves on failure too, so a broken blob degrades to
347
+ * paint-on-load instead of hiding the image forever). Re-arms itself when
348
+ * the url changes.
349
+ */
350
+ gate: (img: HTMLImageElement) => void;
351
+ }
352
+ /**
353
+ * Everything needed to render a bucket image without a pop-in: the refcounted
354
+ * object URL, the blurhash placeholder, and a decode gate so the real bitmap
355
+ * is only revealed once it can paint in full. `BucketImage` wraps this into a
356
+ * drop-in component; use the hook for custom markup.
357
+ */
358
+ declare function useBucketImage<S extends SchemaStructure$1>(bucketName: BucketNames<S>, path: Accessor<string | null | undefined>, options?: UseBucketImageOptions): UseBucketImageResult;
359
+ declare function useBucketImage<S extends SchemaStructure$1>(db: SyncedDb<S>, bucketName: BucketNames<S>, path: Accessor<string | null | undefined>, options?: UseBucketImageOptions): UseBucketImageResult;
360
+ //# sourceMappingURL=use-bucket-image.d.ts.map
361
+ //#endregion
362
+ //#region src/lib/Blurhash.d.ts
363
+ interface BlurhashProps {
364
+ /** The blurhash string. Nullish paints nothing (transparent canvas). */
365
+ hash: string | null | undefined;
366
+ /** Decode resolution. 32x32 is plenty: blurhash carries at most 9x9 DCT
367
+ * components, the canvas is meant to be CSS-scaled to fill. */
368
+ width?: number;
369
+ height?: number;
370
+ /** Contrast punch, see the blurhash reference decoder. Defaults to 1. */
371
+ punch?: number;
372
+ class?: string;
373
+ style?: string;
374
+ }
375
+ /**
376
+ * A blurhash painted onto a canvas, once per hash change. Size the canvas via
377
+ * `class`/`style` (e.g. `absolute inset-0 w-full h-full`); the internal decode
378
+ * resolution stays tiny regardless of the displayed size.
379
+ */
380
+ declare function Blurhash(props: BlurhashProps): JSX.Element;
381
+ //# sourceMappingURL=Blurhash.d.ts.map
382
+ //#endregion
383
+ //#region src/lib/BucketImage.d.ts
384
+ interface BucketImageProps {
385
+ /** Bucket name from the schema. */
386
+ bucket: string;
387
+ /** Path within the bucket. Nullish renders only the fallback layers. */
388
+ path: string | null | undefined;
389
+ alt?: string;
390
+ /** Classes for the container element (sizing/positioning). */
391
+ class?: string;
392
+ /** Classes for the inner `<img>` (the layout styles are inline). */
393
+ imgClass?: string;
394
+ /** `object-fit` for the image. Defaults to `cover`. */
395
+ fit?: 'cover' | 'contain' | 'fill' | 'none' | 'scale-down';
396
+ /**
397
+ * Bottom placeholder layer (your own plate/skeleton), shown until the image
398
+ * settles. The blurhash layer paints on top of it once the sidecar resolves.
399
+ */
400
+ fallback?: JSX.Element;
401
+ /** Crossfade duration in ms. Defaults to 300. */
402
+ transition?: number;
403
+ /** Crossfade easing. Defaults to an ease-out-expo curve. */
404
+ easing?: string;
405
+ /** Resolve the blurhash sidecar. Defaults to true. */
406
+ blurhash?: boolean;
407
+ /** Download tuning, forwarded to the underlying `useDownloadFile`. */
408
+ options?: UseBucketImageOptions;
409
+ }
410
+ /**
411
+ * A bucket image that never pops in: it layers (bottom to top) your `fallback`
412
+ * plate, the automatically stored blurhash, and the real image, which stays
413
+ * transparent until the bitmap is DECODED and then crossfades over the
414
+ * placeholders. Placeholder layers unmount once the fade settles. Respects
415
+ * prefers-reduced-motion (instant swap). The container is made
416
+ * `position: relative` unless your `class` positions it already.
417
+ *
418
+ * ```tsx
419
+ * <BucketImage bucket="covers" path={row.cover_key} class="absolute inset-0"
420
+ * fallback={<MyPlate />} alt="" />
421
+ * ```
422
+ */
423
+ declare function BucketImage(props: BucketImageProps): JSX.Element;
424
+ //# sourceMappingURL=BucketImage.d.ts.map
425
+ //#endregion
92
426
  //#region src/lib/Sp00kyProvider.d.ts
93
427
  interface Sp00kyProviderProps<S extends SchemaStructure> {
94
428
  config: SyncedDbConfig<S>;
95
429
  fallback?: JSX.Element;
96
430
  onError?: (error: Error) => void;
97
431
  onReady?: (db: SyncedDb<S>) => void;
432
+ /**
433
+ * Prewarm data into the local cache before revealing the UI. Runs after
434
+ * `init()`; the `fallback` stays visible until it resolves. Use awaitable
435
+ * `db.preload(...)` calls here to gate first-load on essential data (e.g.
436
+ * config). On warm loads preload returns instantly, so there's no perceptible
437
+ * gate after the first run. Best-effort: a rejection is caught and the UI is
438
+ * revealed anyway.
439
+ */
440
+ preload?: (db: SyncedDb<S>) => Promise<void>;
98
441
  children: JSX.Element;
99
442
  }
100
443
  declare function Sp00kyProvider<S extends SchemaStructure>(props: Sp00kyProviderProps<S>): JSX.Element;
@@ -106,13 +449,13 @@ declare function useDb<S extends SchemaStructure>(): SyncedDb<S>;
106
449
 
107
450
  //#endregion
108
451
  //#region src/index.d.ts
109
- type RelationshipField<Schema extends SchemaStructure$1, TableName extends TableNames$1<Schema>, Field extends RelationshipFieldsFromSchema<Schema, TableName>> = GetRelationship<Schema, TableName, Field>;
110
- type RelatedFieldsTableScoped<Schema extends SchemaStructure$1, TableName extends TableNames$1<Schema>, RelatedFields extends RelationshipFieldsFromSchema<Schema, TableName> = RelationshipFieldsFromSchema<Schema, TableName>> = { [K in RelatedFields]: {
452
+ type RelationshipField<Schema extends SchemaStructure$1, TableName extends TableNames<Schema>, Field extends RelationshipFieldsFromSchema<Schema, TableName>> = GetRelationship<Schema, TableName, Field>;
453
+ type RelatedFieldsTableScoped<Schema extends SchemaStructure$1, TableName extends TableNames<Schema>, RelatedFields extends RelationshipFieldsFromSchema<Schema, TableName> = RelationshipFieldsFromSchema<Schema, TableName>> = { [K in RelatedFields]: {
111
454
  to: RelationshipField<Schema, TableName, K>['to'];
112
455
  relatedFields: RelatedFieldsMap;
113
456
  cardinality: RelationshipField<Schema, TableName, K>['cardinality'];
114
457
  } };
115
- type InferModel<Schema extends SchemaStructure$1, TableName extends TableNames$1<Schema>, RelatedFields extends RelatedFieldsTableScoped<Schema, TableName>> = QueryResult$1<Schema, TableName, RelatedFields, true>;
458
+ type InferModel<Schema extends SchemaStructure$1, TableName extends TableNames<Schema>, RelatedFields extends RelatedFieldsTableScoped<Schema, TableName>> = QueryResult<Schema, TableName, RelatedFields, true>;
116
459
  type WithRelated<Field extends string, RelatedFields extends RelatedFieldsMap = {}> = { [K in Field]: Omit<RelatedFieldMapEntry, 'relatedFields'> & {
117
460
  relatedFields: RelatedFields;
118
461
  } };
@@ -135,6 +478,13 @@ declare class SyncedDb<S extends SchemaStructure$1> {
135
478
  * Initialize the sp00ky-ts instance
136
479
  */
137
480
  init(): Promise<void>;
481
+ /**
482
+ * Tear down the client: leaves the tabs broker, closes the local store and
483
+ * remote socket, and frees the wasm circuit. Without this a remounted provider
484
+ * (or an HMR reload) strands a whole client, and the abandoned wasm heaps stay
485
+ * resident because V8 cannot see how much wasm memory a dropped wrapper holds.
486
+ */
487
+ close(): Promise<void>;
138
488
  /**
139
489
  * Create a new record in the database
140
490
  */
@@ -142,15 +492,21 @@ declare class SyncedDb<S extends SchemaStructure$1> {
142
492
  /**
143
493
  * Update an existing record in the database
144
494
  */
145
- update<TName extends TableNames$1<S>>(tableName: TName, recordId: string, payload: Partial<TableModel$1<GetTable$1<S, TName>>>, options?: UpdateOptions): Promise<void>;
495
+ update<TName extends TableNames<S>>(tableName: TName, recordId: string, payload: Partial<TableModel<GetTable<S, TName>>>, options?: UpdateOptions): Promise<void>;
146
496
  /**
147
497
  * Delete an existing record in the database
148
498
  */
149
- delete<TName extends TableNames$1<S>>(tableName: TName, selector: string | InnerQuery<GetTable$1<S, TName>, boolean>): Promise<void>;
499
+ delete<TName extends TableNames<S>>(tableName: TName, selector: string | RecordId | InnerQuery<GetTable<S, TName>, boolean>): Promise<void>;
500
+ /**
501
+ * Preload/prewarm a built query into the local cache without registering a
502
+ * live view. Fetches once and stores the rows (+ embedded related children)
503
+ * locally so a later `useQuery` for the same data paints instantly. Best-effort.
504
+ */
505
+ preload(finalQuery: FinalQuery<S, any, any, any, any, Sp00kyQueryResultPromise>, options?: PreloadOptions$1): Promise<void>;
150
506
  /**
151
507
  * Query data from the database
152
508
  */
153
- query<TName extends TableNames$1<S>>(table: TName): QueryBuilder<S, TName, Sp00kyQueryResultPromise, {}, false>;
509
+ query<TName extends TableNames<S>>(table: TName): QueryBuilder<S, TName, Sp00kyQueryResultPromise, {}, false>;
154
510
  /**
155
511
  * Run a backend operation
156
512
  */
@@ -164,6 +520,12 @@ declare class SyncedDb<S extends SchemaStructure$1> {
164
520
  * @deprecated Use signOut() instead
165
521
  */
166
522
  deauthenticate(): Promise<void>;
523
+ /**
524
+ * Tell the client that this app's own impersonation banner is on screen.
525
+ * Only needed with `impersonationBanner: { mode: 'custom' }`; the
526
+ * `useImpersonation({ rendersBanner: true })` hook calls it for you.
527
+ */
528
+ acknowledgeImpersonationBanner(): void;
167
529
  /**
168
530
  * Sign out, clear session and local storage
169
531
  */
@@ -172,6 +534,16 @@ declare class SyncedDb<S extends SchemaStructure$1> {
172
534
  * Execute a function with direct access to the remote database connection
173
535
  */
174
536
  useRemote<T>(fn: (db: Surreal) => T | Promise<T>): Promise<T>;
537
+ /**
538
+ * Run one SurrealQL statement on the server and return its result array.
539
+ * Nothing is cached locally. Prefer this over `useRemote(s => s.query(...))`
540
+ * for a plain read or write: the bare SDK client that callback receives
541
+ * skips the connect gate, so a statement issued while the socket is being
542
+ * rebuilt fails with "Specify a namespace to use" instead of waiting for
543
+ * the session. This one is also bounded by the remote service's
544
+ * concurrency limit and query timeout.
545
+ */
546
+ remoteQuery<T extends unknown[] = unknown[]>(sql: string, vars?: Record<string, unknown>): Promise<T>;
175
547
  /**
176
548
  * Access the remote database service directly
177
549
  */
@@ -185,10 +557,34 @@ declare class SyncedDb<S extends SchemaStructure$1> {
185
557
  */
186
558
  get auth(): AuthService<S>;
187
559
  get pendingMutationCount(): number;
560
+ /** Diagnostic — see `Sp00kyClient.liveRetryCount`. */
561
+ get liveRetryCount(): number;
188
562
  subscribeToPendingMutations(cb: (count: number) => void): () => void;
563
+ /** Current sync-health snapshot. See {@link useSyncStatus}. */
564
+ get syncHealth(): SyncHealth$1;
565
+ /**
566
+ * Observe sync health. Fires immediately with the current status and again
567
+ * on every healthy↔degraded transition. Prefer the `useSyncStatus` hook in
568
+ * components; this is the imperative escape hatch.
569
+ */
570
+ subscribeToSyncHealth(cb: (health: SyncHealth$1) => void): () => void;
571
+ /** Current local-store durability snapshot. See {@link useStorageStatus}. */
572
+ get storageHealth(): StorageHealth$1;
573
+ /**
574
+ * Observe local-store durability. Fires immediately with the current snapshot
575
+ * and again on change. Prefer the `useStorageStatus` hook in components; this
576
+ * is the imperative escape hatch.
577
+ */
578
+ subscribeToStorageHealth(cb: (health: StorageHealth$1) => void): () => void;
579
+ /**
580
+ * Web Push for this browser: `support()`, `subscribe()` (from a click),
581
+ * `devices()`, `notify()` / `test()` (push to yourself), `bridge()` for the
582
+ * service worker. See the push-notifications docs page.
583
+ */
584
+ get webPush(): WebPushModule$1;
189
585
  bucket<B extends BucketNames<S>>(name: B): BucketHandle;
190
586
  getBucketConfig(name: string): BucketDefinitionSchema | undefined;
191
587
  }
192
588
  //#endregion
193
- export { CacheStrategy, type FileUploadResult, type GenericModel, type GenericSchema, type GetCardinality, type GetTable, InferModel, type InferRelatedModelFromMetadata, InferRelationshipsFromConst, InferSchemaFromConst, type Model, type ModelPayload, ProvisionOptions, type QueryInfo, type QueryModifier, type QueryModifierBuilder, type QueryResult, RecordId, RelatedFieldsTableScoped, type RelationshipDefinition, RelationshipField, type RelationshipsMetadata, Sp00kyProvider, type Sp00kyProviderProps, SyncedDb, SyncedDbConfig, type TableModel, type TableNames, type UseDownloadFileOptions, type UseDownloadFileResult, Uuid, WithRelated, WithRelatedMany, useDb, useDownloadFile, useFileUpload, useQuery };
589
+ export { Blurhash, type BlurhashProps, BucketImage, type BucketImageProps, CacheStrategy, type ConnectionState, type FileUploadResult, type GenericModel, type GenericSchema, type GetCardinality, type GetTable, InferModel, type InferRelatedModelFromMetadata, InferRelationshipsFromConst, InferSchemaFromConst, type Model, type ModelPayload, type PreloadOptions, type PreloadRefresh, ProvisionOptions, type PushDeviceKind, type PushNotification, type PushPayload, type QueryInfo, type QueryModifier, type QueryModifierBuilder, type QueryResult, type ReconnectConfig, RecordId, RelatedFieldsTableScoped, type RelationshipDefinition, RelationshipField, type RelationshipsMetadata, Sp00kyProvider, type Sp00kyProviderProps, type StorageHealth, type StorageHealthStatus, type SyncHealth, type SyncHealthConfig, type SyncHealthStatus, SyncedDb, SyncedDbConfig, type TableModel, type TableNames, type UseAppRelease, type UseAppReleaseOptions, type UseBlurhashResult, type UseBucketImageOptions, type UseBucketImageResult, type UseDownloadFileOptions, type UseDownloadFileResult, type UseFeatureFlag, type UseImpersonation, type UseImpersonationOptions, type UseStorageStatus, type UseSyncStatus, Uuid, type WebPushClientMessage, type WebPushConfig, type WebPushDevice, WebPushError, type WebPushErrorCode, type WebPushInfo, type WebPushMessage, type WebPushMessageInput, type WebPushModule, type WebPushSubscribeOptions, type WebPushSupport, type WebPushSyncOptions, type WebPushSyncStatus, type WebPushUnsubscribeOptions, type WebPushUnsupportedReason, type WebPushUpdateOptions, WithRelated, WithRelatedMany, createPreload, useAppRelease, useBlurhash, useBucketImage, useCrdtField, useDb, useDownloadFile, useFeatureFlag, useFileUpload, useImpersonation, useQuery, useStorageStatus, useSyncStatus };
194
590
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/lib/models.ts","../../../src/types/index.ts","../../../src/lib/use-query.ts","../../../src/lib/use-file-upload.ts","../../../src/lib/use-download-file.ts","../../../src/lib/Sp00kyProvider.ts","../../../src/lib/context.ts","../../../src/index.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/lib/models.ts","../../../src/types/index.ts","../../../src/lib/use-query.ts","../../../src/lib/create-preload.ts","../../../src/lib/use-sync-status.ts","../../../src/lib/use-impersonation.ts","../../../src/lib/use-storage-status.ts","../../../src/lib/use-crdt-field.ts","../../../src/lib/use-feature-flag.ts","../../../src/lib/use-app-release.ts","../../../src/lib/use-file-upload.ts","../../../src/lib/use-download-file.ts","../../../src/lib/use-blurhash.ts","../../../src/lib/use-bucket-image.ts","../../../src/lib/Blurhash.ts","../../../src/lib/BucketImage.ts","../../../src/lib/Sp00kyProvider.ts","../../../src/lib/context.ts","../../../src/index.ts"],"sourcesContent":[],"mappings":";;;;;;;KAMY,WAAW;KACX,kBAAkB;MAAU;;;;;;;;AAD5B,UCEK,gBAAA,CDFO;EACZ;EAAY,KAAA,CAAA,EAAA,OAAA;;ACQP,UAAA,CAAA,CAAA;AAPA,KAWL,aAAA,GAXqB,QAAA,GAAA,WAAA;AAOhB;AAIjB;AAKA;AAAgC,KAApB,oBAAoB,CAAA,UAAW,iBAAX,CAAA,GAAA,QACxB,YADmC,CACxB,CADwB,CAAA,GACnB,YADmB,CACR,UADQ,CACC,CADD,EACI,CADJ,CAAA,CAAA;;;;;AACnB,KAOZ,2BAPY,CAAA,UAO0B,iBAP1B,EAAA,eAO0D,aAP1D,CAAA,GAAA,gBAQR,YARkB,CAQP,CARO,CAAA,GAAA,UAStB,OAFA,CAEQ,CAFR,CAAA,eAA2B,CAAA,CAAA,MAAA,CAAA,EAAA;EAAA,IAAA,EAEiB,SAFjB;AAAW,CAAA,CAAA,IAEsB,GAFtB,CAAA,OAAA,CAAA,GAAA;EAAgC,KAAA,EAGrE,GAHqE,CAAA,IAAA,CAAA,SAAA,MAG7C,MAH6C,GAGpC,MAHoC,CAG7B,GAH6B,CAAA,IAAA,CAAA,CAAA,GAAA,GAAA;EACvD,KAAA,EAGd,GAHc,CAAA,IAAA,CAAA;EAAX,WAAA,EAIG,GAJH,CAAA,aAAA,CAAA;AACI,CAAA;KASf,QATmE,CAAA,CAAA,CAAA,GAAA,QAC3D,MAQoB,CARpB,GAQwB,CARxB,CAQ0B,CAR1B,CAAA;AAAiC,KAUlC,cAVkC,CAAA,UAUT,iBAVS,CAAA,GAUU,QAVV,CAUmB,YAVnB,CAUgC,CAVhC,CAAA,CAAA;;;KCtBzC,mBACO,qCACQ,aAAW;WACR,eAAe;yBACd,8CAGpB,WAAW,GAAG,WAAW,GAAG,eAAe,OAAO,mCAE9C,WAAW,GAAG,WAAW,GAAG,eAAe,OAAO;KAIrD,YAAA;EFpBO,OAAA,CAAK,EAAA,GAAA,GAAA,OAAO;EACZ;;;;;;;;ACCZ,CAAA;AAOiB,iBCwBD,QDxBC,CAAA,UCyBL,iBDzBK,EAAA,kBC0BG,YD1BH,CC0Bc,CD1Bd,CAAA,EAAA,UAAA;EAIL,OAAA,ECuBW,MDvBX,CAAa,MAAA,ECuBa,YDvBb,CAAA;AAKzB,CAAA,EAAA,sBCmBwB,MDnBQ,CAAA,MAAA,EAAA,GAAA,CAAA,EAAA,cAAA,OAAA,EAAA,QCqBtB,aDrBsB,CCqBV,CDrBU,ECqBP,SDrBO,ECqBI,aDrBJ,ECqBmB,KDrBnB,CAAA,GAAA,IAAA,CAAA,CAAA,UAAA,ECuBlB,QDvBkB,CCuBT,CDvBS,ECuBN,SDvBM,ECuBK,CDvBL,ECuBQ,aDvBR,ECuBuB,KDvBvB,CAAA,EAAA,OAAA,CAAA,ECwBpB,YDxBoB,CAAA,EAAA;EAAA,IAAA,EAAA,GAAA,GC0BlB,KD1BkB,GAAA,SAAA;OAAW,EAAA,GAAA,GC2B5B,KD3B4B,GAAA,SAAA;WACxB,EAAA,GAAA,GAAA,OAAA;YAAX,EAAA,GAAA,GAAA,OAAA;WAAoC,EAAA,GAAA,GAAA,OAAA;;AAAT,iBCiCnB,QDjCmB,CAAA,UCkCvB,iBDlCuB,EAAA,kBCmCf,YDnCe,CCmCJ,CDnCI,CAAA,EAAA,UAAA;SAAX,ECoCD,MDpCC,CAAA,MAAA,ECoCc,YDpCd,CAAA;CAAU,EAAA,sBCqCV,MDrCU,CAAA,MAAA,EAAA,GAAA,CAAA,EAAA,cAAA,OAAA,EAAA,QCuCxB,aDvCwB,CCuCZ,CDvCY,ECuCT,SDvCS,ECuCE,aDvCF,ECuCiB,KDvCjB,CAAA,GAAA,IAAA,CAAA,CAAA,EAAA,ECyC5B,QDzC4B,CCyCnB,CDzCmB,CAAA,EAAA,UAAA,EC0CpB,QD1CoB,CC0CX,CD1CW,EC0CR,SD1CQ,EC0CG,CD1CH,EC0CM,aD1CN,EC0CqB,KD1CrB,CAAA,EAAA,OAAA,CAAA,EC2CtB,YD3CsB,CAAA,EAAA;EAOtB,IAAA,EAAA,GAAA,GCsCE,KDtCF,GAAA,SAAA;EAA2B,KAAA,EAAA,GAAA,GCuCxB,KDvCwB,GAAA,SAAA;WAAW,EAAA,GAAA,GAAA,OAAA;YAAgC,EAAA,GAAA,GAAA,OAAA;WACvD,EAAA,GAAA,GAAA,OAAA;;;;KEtBtB,qBACO,qCACQ,aAAW;WACR,eAAe;yBACd,8CAGpB,WAAW,GAAG,WAAW,GAAG,eAAe,OAAO,mCAE9C,WAAW,GAAG,WAAW,GAAG,eAAe,OAAO;KAIrD,gBAAA,GAAiB;EHlBV;EACA,OAAA,CAAA,EAAA,GAAA,GAAY,OAAA;CAAA;AAAM,iBGuBd,aHvBc,CAAA,UGwBlB,iBHxBkB,EAAA,kBGyBV,YHzBU,CGyBC,CHzBD,CAAA,EAAA,UAAA;SAAU,EG0BjB,MH1BiB,CAAA,MAAA,EG0BF,YH1BE,CAAA;CAAQ,EAAA,sBG2BxB,MH3BwB,CAAA,MAAA,EAAA,GAAA,CAAA,EAAA,cAAA,OAAA,CAAA,CAAA,UAAA,EG8BlC,UH9BkC,CG8BvB,CH9BuB,EG8BpB,SH9BoB,EG8BT,CH9BS,EG8BN,aH9BM,EG8BS,KH9BT,CAAA,EAAA,OAAA,CAAA,EG+BpC,gBH/BoC,CAAA,EAAA,IAAA;iBGmChC,wBACJ,qCACQ,aAAW;WACR,eAAe;yBACd,gDAGlB,SAAS,gBACD,WAAW,GAAG,WAAW,GAAG,eAAe,kBAC7C;;;UC/CK,aAAA;;UAEP,SAAS;;UAET,SAAS;EJFP,SAAK,EIGJ,QJHU,CAAA,OAAC,CAAA;EACZ;EAAY,UAAA,EIIV,QJJU,CAAA,OAAA,CAAA;;eAAgB,EIMvB,QJNuB,CAAA,OAAA,CAAA;EAAQ;;;;ACChD;AAOiB;EAIL,SAAA,EGCC,QHDY,CAAA,OAAA,CAAA;EAKb;;;;;YACgC,EGC9B,QHD8B,CGCrB,iBHDqB,CAAA;;;;;AAO5C;EAAuC,cAAA,EGArB,QHAqB,CAAA,OAAA,CAAA;;;;;;;;;;;;AAGc,iBGUrC,aAAA,CAAA,CHVqC,EGUpB,aHVoB;;;;UI/BpC,uBAAA;;;;;ALEjB;EACY,aAAA,CAAA,EAAY,OAAA;;AAAM,UKMb,gBAAA,CLNa;;EAAkB,aAAA,EKQ/B,QLR+B,CKQtB,iBLRsB,GAAA,IAAA,CAAA;mBKS7B;;cAEL;AJVd;AAOiB;AAIjB;AAKA;;;;AACQ,iBIEQ,gBAAA,CJFR,OAAA,CAAA,EIEkC,uBJFlC,CAAA,EIEiE,gBJFjE;;;;UKrBS,gBAAA;;UAEP,SAAS;;UAET,SAAS;ENFP;EACA,YAAA,EMGI,QNHQ,CAAA,OAAA,CAAA;EAAA;;;;;;oBMUJ;ALTpB;AAOiB;AAIjB;AAKA;;;;;;;AACmC,iBKInB,gBAAA,CAAA,CLJmB,EKIC,gBLJD;;;;;;;;;ADnBnC;AACA;;;AAAwC,iBOMxB,YAAA,CPNwB,KAAA,EAAA,MAAA,EAAA,QAAA,EAAA,GAAA,GAAA,MAAA,GAAA,SAAA,EAAA,KAAA,EAAA,MAAA,CAAA,EOUrC,QPVqC,COU5B,SPV4B,GAAA,IAAA,CAAA;;;;UQHvB,cAAA;WACN;WACA;WACA;;ARDX;AACA;;;;;;;;ACCA;AAOiB;AAIL,iBOEI,cAAA,CPFS,GAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EOIb,kBPJa,CAAA,EOKtB,cPLsB;AAKzB;;;UQpBiB,oBAAA,SAA6B;;;;;ATE9C;AACA;;gBAA8B,EAAA,MAAA;;AAAkB,USQ/B,aAAA,CTR+B;;iBSU/B;;ERTA,eAAA,EQWE,QRXc,CAAA,OAAA,CAAA;EAOhB;EAIL,SAAA,EQEC,QRFY,CAAA,OAAA,CAAA;EAKb;EAAoB,SAAA,EQDnB,QRCmB,CAAA,OAAA,CAAA;;;;;;;;;AAQhC;EAAuC,MAAA,EAAA,GAAA,GQCvB,ORDuB,CAAA,IAAA,CAAA;;;;;;;;;;;;AAGc,iBQgCrC,aAAA,CRhCqC,OAAA,EQgCd,oBRhCc,CAAA,EQgCS,aRhCT;;;;US5BpC,gBAAA;;eAEF;;EVHH,MAAA,EAAK,CAAA,IAAA,EAAA,MAAO,EAAA,IAAA,EUKO,IVLP,GUKc,IVLd,EAAA,OAAA,CAAA,EUK8B,gBVL9B,EAAA,GUKmD,OVLnD,CUK2D,eVL3D,GAAA,IAAA,CAAA;EACZ,QAAA,EAAA,CAAA,IAAY,EAAA,MAAA,EAAA,GUKM,OVLN,CAAA,MAAA,GAAA,IAAA,CAAA;EAAA,MAAA,EAAA,CAAA,IAAA,EAAA,MAAA,EAAA,GUMI,OVNJ,CAAA,IAAA,CAAA;QAAM,EAAA,CAAA,IAAA,EAAA,MAAA,EAAA,GUOF,OVPE,CAAA,OAAA,CAAA;;AAAkB,iBUUhC,aVVgC,CAAA,UUUR,iBVVQ,CAAA,CAAA,UAAA,EUWlC,WVXkC,CUWtB,CVXsB,CAAA,CAAA,EUY7C,gBVZ6C;iBUahC,wBAAwB,uBAClC,SAAS,gBACD,YAAY,KACvB;;;;UCjBc,sBAAA;;;;AXAjB;AACA;EAAwB,KAAA,CAAA,EAAA,OAAA;;;;;;;ECCP;EAOA,GAAA,CAAA,EAAA,OAAA;EAIL;AAKZ;;;;;YAC4C,CAAA,EAAA,OAAA,GAAA,MAAA;;AAAT,UUKlB,qBAAA,CVLkB;KAAX,EUMjB,QVNiB,CAAA,MAAA,GAAA,IAAA,CAAA;EAAU,SAAA,EUOrB,QVPqB,CAAA,OAAA,CAAA;EAOtB,KAAA,EUCH,QVDG,CUCM,KVDN,GAAA,IAAA,CAAA;EAA2B,OAAA,EAAA,GAAA,GAAA,IAAA;;AAA2C,iBUKlE,eVLkE,CAAA,UUKxC,iBVLwC,CAAA,CAAA,UAAA,EUMpE,WVNoE,CUMxD,CVNwD,CAAA,EAAA,IAAA,EUO1E,QVP0E,CAAA,MAAA,GAAA,IAAA,GAAA,SAAA,CAAA,EAAA,OAAA,CAAA,EUQtE,sBVRsE,CAAA,EUS/E,qBVT+E;AACvD,iBUSX,eVTW,CAAA,UUSe,iBVTf,CAAA,CAAA,EAAA,EUUrB,QVVqB,CUUZ,CVVY,CAAA,EAAA,UAAA,EUWb,WVXa,CUWD,CVXC,CAAA,EAAA,IAAA,EUYnB,QVZmB,CAAA,MAAA,GAAA,IAAA,GAAA,SAAA,CAAA,EAAA,OAAA,CAAA,EUaf,sBVbe,CAAA,EUcxB,qBVdwB;;;;UW5BV,iBAAA;;QAET;aACK;AZFb;AACA;;;;;;;iBYWgB,sBAAsB,+BACxB,YAAY,UAClB,sCACL;AXbc,iBWcD,WXdiB,CAAA,UWcK,iBXdL,CAAA,CAAA,EAAA,EWe3B,QXf2B,CWelB,CXfkB,CAAA,EAAA,UAAA,EWgBnB,WXhBmB,CWgBP,CXhBO,CAAA,EAAA,IAAA,EWiBzB,QXjByB,CAAA,MAAA,GAAA,IAAA,GAAA,SAAA,CAAA,CAAA,EWkB9B,iBXlB8B;AAOhB;;;UYJA,qBAAA,SAA8B;;;AbL/C;AACA;;UAA8B,CAAA,EAAA,OAAA;;AAAkB,Uaa/B,oBAAA,SAA6B,qBbbE,CAAA;;YaepC;;EZdK,KAAA,EYgBR,QZhBQ,CAAA,OAAgB,CAAA;EAOhB;AAIjB;AAKA;;;;MACQ,EAAA,CAAA,GAAA,EYMM,gBZNN,EAAA,GAAA,IAAA;;;;;;AAOR;;AAAkD,iBYQlC,cZRkC,CAAA,UYQT,iBZRS,CAAA,CAAA,UAAA,EYSpC,WZToC,CYSxB,CZTwB,CAAA,EAAA,IAAA,EYU1C,QZV0C,CAAA,MAAA,GAAA,IAAA,GAAA,SAAA,CAAA,EAAA,OAAA,CAAA,EYWtC,qBZXsC,CAAA,EYY/C,oBZZ+C;AAAgC,iBYalE,cZbkE,CAAA,UYazC,iBZbyC,CAAA,CAAA,EAAA,EYc5E,QZd4E,CYcnE,CZdmE,CAAA,EAAA,UAAA,EYepE,WZfoE,CYexD,CZfwD,CAAA,EAAA,IAAA,EYgB1E,QZhB0E,CAAA,MAAA,GAAA,IAAA,GAAA,SAAA,CAAA,EAAA,OAAA,CAAA,EYiBtE,qBZjBsE,CAAA,EYkB/E,oBZlB+E;;;;Ua5BjE,aAAA;;;;;;EdEL,MAAA,CAAA,EAAK,MAAA;EACL;EAAY,KAAA,CAAA,EAAA,MAAA;OAAM,CAAA,EAAA,MAAA;OAAU,CAAA,EAAA,MAAA;;;;;ACCxC;AAOiB;AAIL,iBaGI,QAAA,CbHS,KAAA,EaGO,abHP,CAAA,EaGuB,GAAA,CAAI,ObH3B;AAKzB;;;UclBiB,gBAAA;;;;;EfAL,GAAA,CAAA,EAAA,MAAK;EACL;EAAY,KAAA,CAAA,EAAA,MAAA;;UAAgB,CAAA,EAAA,MAAA;EAAQ;;;;ACChD;AAOiB;EAIL,QAAA,CAAA,EcGC,GAAA,CAAI,OdHQ;EAKb;EAAoB,UAAA,CAAA,EAAA,MAAA;;QACb,CAAA,EAAA,MAAA;;UAAyB,CAAA,EAAA,OAAA;;SAAT,CAAA,EcKvB,qBdLuB;;;AAOnC;;;;;;;;;;;;AAG8C,iBca9B,WAAA,Cdb8B,KAAA,EcaX,gBdbW,CAAA,EcaQ,GAAA,CAAI,OdbZ;;;;UerB7B,8BAA8B;UACrC,eAAe;aACZ,GAAA,CAAI;EhBVL,OAAA,CAAK,EAAA,CAAA,KAAA,EgBWG,KhBXI,EAAA,GAAA,IAAA;EACZ,OAAA,CAAA,EAAA,CAAA,EAAA,EgBWK,QhBXO,CgBWE,ChBXF,CAAA,EAAA,GAAA,IAAA;EAAA;;;;;;;ACCxB;EAOiB,OAAA,CAAA,EAAA,CAAA,EAAA,EeYA,QfZA,CeYS,CfZT,CAAA,EAAA,GeYgB,OfZhB,CAAA,IAAA,CAAA;EAIL,QAAA,EeSA,GAAA,CAAI,OfTS;AAKzB;AAAgC,iBeOhB,cfPgB,CAAA,UeOS,efPT,CAAA,CAAA,KAAA,EeQvB,mBfRuB,CeQH,CfRG,CAAA,CAAA,EeS7B,GAAA,CAAI,OfTyB;;;;iBgBlBhB,gBAAgB,oBAAoB,SAAS;;;;;AhBmBrC,KiBoGZ,iBjBpGY,CAAA,eiBqGP,iBjBrGO,EAAA,kBiBsGJ,UjBtGI,CiBsGO,MjBtGP,CAAA,EAAA,ciBuGR,4BjBvGQ,CiBuGqB,MjBvGrB,EiBuG6B,SjBvG7B,CAAA,CAAA,GiBwGpB,ejBxGoB,CiBwGJ,MjBxGI,EiBwGI,SjBxGJ,EiBwGe,KjBxGf,CAAA;AAAU,KiB0GtB,wBjB1GsB,CAAA,eiB2GjB,iBjB3GiB,EAAA,kBiB4Gd,UjB5Gc,CiB4GH,MjB5GG,CAAA,EAAA,sBiB6GV,4BjB7GU,CiB6GmB,MjB7GnB,EiB6G2B,SjB7G3B,CAAA,GiB8G9B,4BjB9G8B,CiB8GD,MjB9GC,EiB8GO,SjB9GP,CAAA,CAAA,GAAA,QiBgH1B,ajBzGI,GAAA;EAA2B,EAAA,EiB0G/B,iBjB1G+B,CiB0Gb,MjB1Ga,EiB0GL,SjB1GK,EiB0GM,CjB1GN,CAAA,CAAA,IAAA,CAAA;EAAW,aAAA,EiB2G/B,gBjB3G+B;EAAgC,WAAA,EiB4GjE,iBjB5GiE,CiB4G/C,MjB5G+C,EiB4GvC,SjB5GuC,EiB4G5B,CjB5G4B,CAAA,CAAA,aAAA,CAAA;;AAE9D,KiB8GR,UjB9GQ,CAAA,eiB+GH,iBjB/GG,EAAA,kBiBgHA,UjBhHA,CiBgHW,MjBhHX,CAAA,EAAA,sBiBiHI,wBjBjHJ,CiBiH6B,MjBjH7B,EiBiHqC,SjBjHrC,CAAA,CAAA,GiBkHhB,WjBlHgB,CiBkHJ,MjBlHI,EiBkHI,SjBlHJ,EiBkHe,ajBlHf,EAAA,IAAA,CAAA;AAAoC,KiBoH5C,WjBpH4C,CAAA,cAAA,MAAA,EAAA,sBiBoHY,gBjBpHZ,GAAA,CAAA,CAAA,CAAA,GAAA,QiBqHhD,KjBrHI,GiBqHI,IjBrHJ,CiBqHS,oBjBrHT,EAAA,eAAA,CAAA,GAAA;EAA4D,aAAA,EiBsHrD,ajBtHqD;;AAC1B,KiByHlC,ejBzH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"}