@xeonr/renderer-sdk 1.1.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/client.d.ts CHANGED
@@ -1,4 +1,6 @@
1
1
  import type { RendererCrashKind } from './protocol.js';
2
+ import type { Upload, Folder } from '@xeonr/uploads-protocol/uplim/api/v1/uploads_pb';
3
+ import type { Bucket } from '@xeonr/uploads-protocol/uplim/api/v1/buckets_pb';
2
4
  import type { InitPayload, RendererApiAdapter, RendererConfig, RendererScope, RenderingType } from './types.js';
3
5
  export interface RendererClientOptions {
4
6
  /**
@@ -7,6 +9,15 @@ export interface RendererClientOptions {
7
9
  * If omitted, all origins are accepted (suitable for local dev).
8
10
  */
9
11
  targetOrigin?: string;
12
+ /**
13
+ * How long after init to wait for `signalReady()` before auto-acking
14
+ * anyway, in milliseconds. Only honored when the renderer's
15
+ * `config.json` has `deferReady: true`. Default 30000 (30s).
16
+ * Matches the host bridge's 10s init-timeout × ~3 — enough headroom
17
+ * for slow data fetches without leaving the user staring at a
18
+ * loading overlay indefinitely.
19
+ */
20
+ readyTimeoutMs?: number;
10
21
  }
11
22
  type InitCallback = (payload: InitPayload) => void;
12
23
  type ThemeCallback = (theme: 'light' | 'dark') => void;
@@ -45,11 +56,21 @@ export declare class RendererClient {
45
56
  private currentConfig;
46
57
  private currentTheme;
47
58
  private currentApiBaseUrl;
59
+ private currentEntrypoint;
60
+ private currentResource;
61
+ private cachedUpload;
62
+ private cachedFolder;
63
+ private cachedBucket;
48
64
  private currentPath;
65
+ private currentConnected;
49
66
  private listener;
50
67
  private errorListener;
51
68
  private rejectionListener;
52
69
  private hashChangeListener;
70
+ private ackDeferred;
71
+ private ackSent;
72
+ private readyTimeoutMs;
73
+ private readyTimeoutHandle;
53
74
  private readyRetryInterval;
54
75
  private readyRetryTimeout;
55
76
  private historyPatched;
@@ -107,6 +128,55 @@ export declare class RendererClient {
107
128
  getTheme(): 'light' | 'dark';
108
129
  /** Get the current hash path (e.g. '/settings/advanced'). */
109
130
  getPath(): string;
131
+ /** Has the init message been processed? Late subscribers (e.g. a
132
+ * second `useRendererClient` mount after init landed) read this to
133
+ * seed their initial state without waiting for the next onInit. */
134
+ isConnected(): boolean;
135
+ /** Which HTML entrypoint was loaded (dashboard or portal). */
136
+ getEntrypoint(): 'dashboard' | 'portal' | null;
137
+ /** Base URL for upl.im API calls, as supplied by the host. */
138
+ getApiBaseUrl(): string | null;
139
+ /**
140
+ * Pre-loaded resource snapshot the host sent in init.
141
+ *
142
+ * @deprecated Prefer the typed accessors `getUpload()` / `getFolder()`
143
+ * / `getBucket()` — they return real Message instances rather than
144
+ * untyped JSON and fall back transparently to a fresh fetch when
145
+ * the cache is absent. This getter is kept for forward compat with
146
+ * renderers building against older SDK versions.
147
+ */
148
+ getResource(): unknown;
149
+ /**
150
+ * Return the Upload for the current scope. Returns the host-seeded
151
+ * snapshot from init when present (no network call); otherwise
152
+ * fetches via BucketUploadsService and caches the result for
153
+ * subsequent calls in the same session.
154
+ *
155
+ * Throws when the scope isn't upload-typed — bucket / folder /
156
+ * virtual-file scopes don't have a single Upload to return.
157
+ *
158
+ * Presigned URLs inside the Upload have ~1h TTL from issuance. For
159
+ * long-running renderer sessions, call `refreshUpload()` before
160
+ * any operation that needs a definitely-fresh URL.
161
+ */
162
+ getUpload(): Promise<Upload>;
163
+ /** Force a fresh fetch of the Upload, bypassing the host-seeded cache. */
164
+ refreshUpload(): Promise<Upload>;
165
+ /**
166
+ * Return the Folder for the current scope. Works for `folder` and
167
+ * `virtual-file` scopes (when the virtual file is folder-bound).
168
+ */
169
+ getFolder(): Promise<Folder>;
170
+ /** Force a fresh fetch of the Folder, bypassing the host-seeded cache. */
171
+ refreshFolder(): Promise<Folder>;
172
+ /**
173
+ * Return the Bucket the current scope sits inside. Every scope
174
+ * carries a `bucketId`, so this is always callable (subject to init
175
+ * having landed).
176
+ */
177
+ getBucket(): Promise<Bucket>;
178
+ /** Force a fresh fetch of the Bucket, bypassing the host-seeded cache. */
179
+ refreshBucket(): Promise<Bucket>;
110
180
  /**
111
181
  * Returns an API adapter compatible with `getUploadClientWithEnv()` from `@xeonr/uploads-sdk`.
112
182
  * Handles authentication and automatic token refresh via the host bridge.
@@ -126,6 +196,15 @@ export declare class RendererClient {
126
196
  private stopReadyRetry;
127
197
  private handleMessage;
128
198
  private handleInit;
199
+ /**
200
+ * Post the deferred ack so the host overlay dismisses. No-op once
201
+ * the ack has been sent (the host-side bridge tolerates duplicates
202
+ * but we suppress them here for cleanliness). When `deferReady` was
203
+ * not set on construction this is also a no-op — the SDK already
204
+ * acked synchronously on init.
205
+ */
206
+ signalReady(): void;
207
+ private sendAck;
129
208
  private handleThemeUpdate;
130
209
  private handleTokenRefresh;
131
210
  private handleGenerateTokenResult;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/client.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { buildCrashMessage, isHostMessage, postCrashToHost } from './protocol.js';
2
+ import { decodeUploadResource, decodeFolderResource, decodeBucketResource, fetchUpload as apiFetchUpload, fetchFolder as apiFetchFolder, fetchBucket as apiFetchBucket, } from './resources.js';
2
3
  /**
3
4
  * Client SDK for custom renderers running inside a sandboxed iframe.
4
5
  *
@@ -32,11 +33,29 @@ export class RendererClient {
32
33
  currentConfig = null;
33
34
  currentTheme = 'light';
34
35
  currentApiBaseUrl = null;
36
+ currentEntrypoint = null;
37
+ currentResource = null;
38
+ // Typed resource cache. Populated lazily — `currentResource` is the
39
+ // raw JSON the host sent; these are the decoded Message instances
40
+ // (with proper prototypes for any methods callers might use). We
41
+ // keep all three slots so a renderer can call `getBucket()` on an
42
+ // upload scope without invalidating the upload cache.
43
+ cachedUpload = null;
44
+ cachedFolder = null;
45
+ cachedBucket = null;
35
46
  currentPath = '/';
47
+ currentConnected = false;
36
48
  listener = null;
37
49
  errorListener = null;
38
50
  rejectionListener = null;
39
51
  hashChangeListener = null;
52
+ // `signalReady` machinery — see `deferReady` in RendererClientOptions.
53
+ // `ackDeferred` is set at construction; `ackSent` flips when we
54
+ // actually post the ack so signalReady stays idempotent.
55
+ ackDeferred = false;
56
+ ackSent = false;
57
+ readyTimeoutMs = 30_000;
58
+ readyTimeoutHandle = null;
40
59
  readyRetryInterval = null;
41
60
  readyRetryTimeout = null;
42
61
  historyPatched = false;
@@ -49,6 +68,13 @@ export class RendererClient {
49
68
  apiAdapter = null;
50
69
  constructor(options) {
51
70
  this.targetOrigin = options?.targetOrigin ?? '*';
71
+ // `ackDeferred` is decided by config.json (read in handleInit)
72
+ // rather than the constructor — the SDK can't know which mode
73
+ // the renderer wants until init lands, but that's fine because
74
+ // the ack itself only fires after init anyway.
75
+ if (typeof options?.readyTimeoutMs === 'number' && options.readyTimeoutMs > 0) {
76
+ this.readyTimeoutMs = options.readyTimeoutMs;
77
+ }
52
78
  this.setup();
53
79
  }
54
80
  // ---------------------------------------------------------------------------
@@ -161,6 +187,114 @@ export class RendererClient {
161
187
  getPath() {
162
188
  return this.currentPath;
163
189
  }
190
+ /** Has the init message been processed? Late subscribers (e.g. a
191
+ * second `useRendererClient` mount after init landed) read this to
192
+ * seed their initial state without waiting for the next onInit. */
193
+ isConnected() {
194
+ return this.currentConnected;
195
+ }
196
+ /** Which HTML entrypoint was loaded (dashboard or portal). */
197
+ getEntrypoint() {
198
+ return this.currentEntrypoint;
199
+ }
200
+ /** Base URL for upl.im API calls, as supplied by the host. */
201
+ getApiBaseUrl() {
202
+ return this.currentApiBaseUrl;
203
+ }
204
+ /**
205
+ * Pre-loaded resource snapshot the host sent in init.
206
+ *
207
+ * @deprecated Prefer the typed accessors `getUpload()` / `getFolder()`
208
+ * / `getBucket()` — they return real Message instances rather than
209
+ * untyped JSON and fall back transparently to a fresh fetch when
210
+ * the cache is absent. This getter is kept for forward compat with
211
+ * renderers building against older SDK versions.
212
+ */
213
+ getResource() {
214
+ return this.currentResource;
215
+ }
216
+ /**
217
+ * Return the Upload for the current scope. Returns the host-seeded
218
+ * snapshot from init when present (no network call); otherwise
219
+ * fetches via BucketUploadsService and caches the result for
220
+ * subsequent calls in the same session.
221
+ *
222
+ * Throws when the scope isn't upload-typed — bucket / folder /
223
+ * virtual-file scopes don't have a single Upload to return.
224
+ *
225
+ * Presigned URLs inside the Upload have ~1h TTL from issuance. For
226
+ * long-running renderer sessions, call `refreshUpload()` before
227
+ * any operation that needs a definitely-fresh URL.
228
+ */
229
+ async getUpload() {
230
+ if (this.currentScope?.type !== 'upload') {
231
+ throw new Error('getUpload() requires an upload-typed scope');
232
+ }
233
+ if (this.cachedUpload && this.cachedUpload.uploadId === this.currentScope.uploadId) {
234
+ return this.cachedUpload;
235
+ }
236
+ const upload = await apiFetchUpload(this.currentScope, this.getApiAdapter());
237
+ this.cachedUpload = upload;
238
+ return upload;
239
+ }
240
+ /** Force a fresh fetch of the Upload, bypassing the host-seeded cache. */
241
+ async refreshUpload() {
242
+ if (this.currentScope?.type !== 'upload') {
243
+ throw new Error('refreshUpload() requires an upload-typed scope');
244
+ }
245
+ const upload = await apiFetchUpload(this.currentScope, this.getApiAdapter());
246
+ this.cachedUpload = upload;
247
+ return upload;
248
+ }
249
+ /**
250
+ * Return the Folder for the current scope. Works for `folder` and
251
+ * `virtual-file` scopes (when the virtual file is folder-bound).
252
+ */
253
+ async getFolder() {
254
+ if (!this.currentScope) {
255
+ throw new Error('getFolder() called before init');
256
+ }
257
+ if (this.cachedFolder) {
258
+ return this.cachedFolder;
259
+ }
260
+ const folder = await apiFetchFolder(this.currentScope, this.getApiAdapter());
261
+ this.cachedFolder = folder;
262
+ return folder;
263
+ }
264
+ /** Force a fresh fetch of the Folder, bypassing the host-seeded cache. */
265
+ async refreshFolder() {
266
+ if (!this.currentScope) {
267
+ throw new Error('refreshFolder() called before init');
268
+ }
269
+ const folder = await apiFetchFolder(this.currentScope, this.getApiAdapter());
270
+ this.cachedFolder = folder;
271
+ return folder;
272
+ }
273
+ /**
274
+ * Return the Bucket the current scope sits inside. Every scope
275
+ * carries a `bucketId`, so this is always callable (subject to init
276
+ * having landed).
277
+ */
278
+ async getBucket() {
279
+ if (!this.currentScope) {
280
+ throw new Error('getBucket() called before init');
281
+ }
282
+ if (this.cachedBucket && this.cachedBucket.bucketId === this.currentScope.bucketId) {
283
+ return this.cachedBucket;
284
+ }
285
+ const bucket = await apiFetchBucket(this.currentScope, this.getApiAdapter());
286
+ this.cachedBucket = bucket;
287
+ return bucket;
288
+ }
289
+ /** Force a fresh fetch of the Bucket, bypassing the host-seeded cache. */
290
+ async refreshBucket() {
291
+ if (!this.currentScope) {
292
+ throw new Error('refreshBucket() called before init');
293
+ }
294
+ const bucket = await apiFetchBucket(this.currentScope, this.getApiAdapter());
295
+ this.cachedBucket = bucket;
296
+ return bucket;
297
+ }
164
298
  /**
165
299
  * Returns an API adapter compatible with `getUploadClientWithEnv()` from `@xeonr/uploads-sdk`.
166
300
  * Handles authentication and automatic token refresh via the host bridge.
@@ -197,6 +331,10 @@ export class RendererClient {
197
331
  destroy() {
198
332
  this.destroyed = true;
199
333
  this.stopReadyRetry();
334
+ if (this.readyTimeoutHandle) {
335
+ clearTimeout(this.readyTimeoutHandle);
336
+ this.readyTimeoutHandle = null;
337
+ }
200
338
  if (this.listener) {
201
339
  window.removeEventListener('message', this.listener);
202
340
  this.listener = null;
@@ -304,6 +442,30 @@ export class RendererClient {
304
442
  this.currentConfig = payload.config;
305
443
  this.currentTheme = payload.theme;
306
444
  this.currentApiBaseUrl = payload.apiBaseUrl;
445
+ this.currentEntrypoint = payload.entrypoint;
446
+ this.currentResource = payload.resource ?? null;
447
+ // Decode the host-seeded resource into the matching typed slot
448
+ // based on scope. Decode failures (schema drift, partial host
449
+ // payload) fall back to `null` and the typed accessors then
450
+ // fetch from the API on demand.
451
+ this.cachedUpload = null;
452
+ this.cachedFolder = null;
453
+ this.cachedBucket = null;
454
+ if (payload.resource) {
455
+ switch (payload.scope.type) {
456
+ case 'upload':
457
+ this.cachedUpload = decodeUploadResource(payload.resource);
458
+ break;
459
+ case 'folder':
460
+ case 'virtual-file':
461
+ this.cachedFolder = decodeFolderResource(payload.resource);
462
+ break;
463
+ case 'bucket':
464
+ this.cachedBucket = decodeBucketResource(payload.resource);
465
+ break;
466
+ }
467
+ }
468
+ this.currentConnected = true;
307
469
  // Apply initial path from host URL fragment
308
470
  if (payload.initialPath) {
309
471
  this.suppressHashChange = true;
@@ -319,7 +481,48 @@ export class RendererClient {
319
481
  for (const cb of this.initCallbacks) {
320
482
  cb(payload);
321
483
  }
322
- // Tell the host we've processed init and are ready to be displayed
484
+ // Ack semantics driven by the renderer's config.json
485
+ // (`deferReady` field). Declaring it in config rather than as a
486
+ // constructor option keeps all renderer metadata in one place
487
+ // (alongside permissions / sandbox / connectHosts / buildHash)
488
+ // and avoids a code-vs-config-disagreement footgun.
489
+ this.ackDeferred = payload.config?.deferReady === true;
490
+ if (!this.ackDeferred) {
491
+ this.sendAck();
492
+ }
493
+ else {
494
+ this.readyTimeoutHandle = setTimeout(() => {
495
+ if (this.destroyed || this.ackSent)
496
+ return;
497
+ // Best-effort log so an operator can spot the late ack
498
+ // in dev tools; production console noise is acceptable
499
+ // here because this only fires when something is wrong.
500
+ console.warn('[uplim] signalReady() not called within ' +
501
+ this.readyTimeoutMs + 'ms — auto-acking so the host overlay can dismiss.');
502
+ this.sendAck();
503
+ }, this.readyTimeoutMs);
504
+ }
505
+ }
506
+ /**
507
+ * Post the deferred ack so the host overlay dismisses. No-op once
508
+ * the ack has been sent (the host-side bridge tolerates duplicates
509
+ * but we suppress them here for cleanliness). When `deferReady` was
510
+ * not set on construction this is also a no-op — the SDK already
511
+ * acked synchronously on init.
512
+ */
513
+ signalReady() {
514
+ if (this.destroyed || this.ackSent || !this.ackDeferred)
515
+ return;
516
+ this.sendAck();
517
+ }
518
+ sendAck() {
519
+ if (this.ackSent)
520
+ return;
521
+ this.ackSent = true;
522
+ if (this.readyTimeoutHandle) {
523
+ clearTimeout(this.readyTimeoutHandle);
524
+ this.readyTimeoutHandle = null;
525
+ }
323
526
  this.postToHost({ type: 'uplim:ack' });
324
527
  }
325
528
  handleThemeUpdate(message) {
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -2,4 +2,5 @@ export { useRendererClient } from './useRendererClient.js';
2
2
  export type { UseRendererClientOptions, UseRendererClientResult } from './useRendererClient.js';
3
3
  export { RendererErrorBoundary } from './RendererErrorBoundary.js';
4
4
  export type { RendererErrorBoundaryProps } from './RendererErrorBoundary.js';
5
+ export { useReportFatalError } from './useReportFatalError.js';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAChG,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,YAAY,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAChG,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,YAAY,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export { useRendererClient } from './useRendererClient.js';
2
2
  export { RendererErrorBoundary } from './RendererErrorBoundary.js';
3
+ export { useReportFatalError } from './useReportFatalError.js';
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC"}
@@ -24,6 +24,15 @@ export interface UseRendererClientResult {
24
24
  apiBaseUrl: string | null;
25
25
  /** Pre-configured API adapter for use with `getUploadClientWithEnv()`. */
26
26
  apiAdapter: RendererApiAdapter;
27
+ /**
28
+ * Pre-loaded resource snapshot (typically the Upload proto's JSON
29
+ * form for upload-scoped renderers). Renderers should cast to the
30
+ * expected proto JSON type and use this directly to avoid an extra
31
+ * GetUpload round trip on first paint. `null` when the host didn't
32
+ * supply one (older hosts, folder/virtual-file scopes); fall back
33
+ * to a fetch in that case.
34
+ */
35
+ resource: unknown;
27
36
  /** Current hash path within the renderer (e.g. '/settings'). Updated reactively on hash changes. */
28
37
  path: string;
29
38
  /** Request the host to open a specific upload. */
@@ -32,6 +41,15 @@ export interface UseRendererClientResult {
32
41
  requestToken: () => void;
33
42
  /** Request the host to close this renderer (modal mode). */
34
43
  close: () => void;
44
+ /**
45
+ * When the renderer's `config.json` has `deferReady: true`, call
46
+ * this once the renderer's data is loaded and the UI is ready to
47
+ * be visible. The host overlay stays up until this fires (or until
48
+ * the SDK's safety timeout elapses — see
49
+ * `RendererClientOptions.readyTimeoutMs`). No-op when `deferReady`
50
+ * isn't set in config.
51
+ */
52
+ markReady: () => void;
35
53
  /** The underlying RendererClient instance for advanced use. */
36
54
  client: RendererClient;
37
55
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useRendererClient.d.ts","sourceRoot":"","sources":["../../src/react/useRendererClient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAe,MAAM,aAAa,CAAC;AAEjH,MAAM,WAAW,wBAAyB,SAAQ,qBAAqB;CAAG;AAqB1E,MAAM,WAAW,uBAAuB;IACvC,kDAAkD;IAClD,SAAS,EAAE,OAAO,CAAC;IACnB,+CAA+C;IAC/C,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;IAC5B,2CAA2C;IAC3C,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IACpC,4CAA4C;IAC5C,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,kDAAkD;IAClD,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,8BAA8B;IAC9B,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;IACxB,wDAAwD;IACxD,MAAM,EAAE,cAAc,GAAG,IAAI,CAAC;IAC9B,yDAAyD;IACzD,UAAU,EAAE,WAAW,GAAG,QAAQ,GAAG,IAAI,CAAC;IAC1C,qCAAqC;IACrC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,0EAA0E;IAC1E,UAAU,EAAE,kBAAkB,CAAC;IAC/B,oGAAoG;IACpG,IAAI,EAAE,MAAM,CAAC;IAEb,kDAAkD;IAClD,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,gDAAgD;IAChD,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,4DAA4D;IAC5D,KAAK,EAAE,MAAM,IAAI,CAAC;IAElB,+DAA+D;IAC/D,MAAM,EAAE,cAAc,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE,wBAAwB,GAAG,uBAAuB,CAgF7F"}
1
+ {"version":3,"file":"useRendererClient.d.ts","sourceRoot":"","sources":["../../src/react/useRendererClient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAe,MAAM,aAAa,CAAC;AAEjH,MAAM,WAAW,wBAAyB,SAAQ,qBAAqB;CAAG;AAiF1E,MAAM,WAAW,uBAAuB;IACvC,kDAAkD;IAClD,SAAS,EAAE,OAAO,CAAC;IACnB,+CAA+C;IAC/C,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;IAC5B,2CAA2C;IAC3C,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IACpC,4CAA4C;IAC5C,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,kDAAkD;IAClD,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,8BAA8B;IAC9B,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;IACxB,wDAAwD;IACxD,MAAM,EAAE,cAAc,GAAG,IAAI,CAAC;IAC9B,yDAAyD;IACzD,UAAU,EAAE,WAAW,GAAG,QAAQ,GAAG,IAAI,CAAC;IAC1C,qCAAqC;IACrC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,0EAA0E;IAC1E,UAAU,EAAE,kBAAkB,CAAC;IAC/B;;;;;;;OAOG;IACH,QAAQ,EAAE,OAAO,CAAC;IAClB,oGAAoG;IACpG,IAAI,EAAE,MAAM,CAAC;IAEb,kDAAkD;IAClD,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,gDAAgD;IAChD,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,4DAA4D;IAC5D,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB;;;;;;;OAOG;IACH,SAAS,EAAE,MAAM,IAAI,CAAC;IAEtB,+DAA+D;IAC/D,MAAM,EAAE,cAAc,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE,wBAAwB,GAAG,uBAAuB,CAwF7F"}