@xeonr/renderer-sdk 1.3.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 +47 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +126 -0
- package/dist/client.js.map +1 -1
- package/dist/react/useRendererClient.d.ts +9 -0
- package/dist/react/useRendererClient.d.ts.map +1 -1
- package/dist/react/useRendererClient.js +3 -0
- package/dist/react/useRendererClient.js.map +1 -1
- package/dist/resources.d.ts +25 -0
- package/dist/resources.d.ts.map +1 -0
- package/dist/resources.js +104 -0
- package/dist/resources.js.map +1 -0
- package/dist/types.d.ts +18 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +18 -3
- package/src/client.ts +146 -0
- package/src/react/useRendererClient.ts +12 -0
- package/src/resources.ts +119 -0
- package/src/types.ts +18 -0
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
|
/**
|
|
@@ -55,6 +57,10 @@ export declare class RendererClient {
|
|
|
55
57
|
private currentTheme;
|
|
56
58
|
private currentApiBaseUrl;
|
|
57
59
|
private currentEntrypoint;
|
|
60
|
+
private currentResource;
|
|
61
|
+
private cachedUpload;
|
|
62
|
+
private cachedFolder;
|
|
63
|
+
private cachedBucket;
|
|
58
64
|
private currentPath;
|
|
59
65
|
private currentConnected;
|
|
60
66
|
private listener;
|
|
@@ -130,6 +136,47 @@ export declare class RendererClient {
|
|
|
130
136
|
getEntrypoint(): 'dashboard' | 'portal' | null;
|
|
131
137
|
/** Base URL for upl.im API calls, as supplied by the host. */
|
|
132
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>;
|
|
133
180
|
/**
|
|
134
181
|
* Returns an API adapter compatible with `getUploadClientWithEnv()` from `@xeonr/uploads-sdk`.
|
|
135
182
|
* Handles authentication and automatic token refresh via the host bridge.
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EASX,iBAAiB,EACjB,MAAM,eAAe,CAAC;
|
|
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
|
*
|
|
@@ -33,6 +34,15 @@ export class RendererClient {
|
|
|
33
34
|
currentTheme = 'light';
|
|
34
35
|
currentApiBaseUrl = null;
|
|
35
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;
|
|
36
46
|
currentPath = '/';
|
|
37
47
|
currentConnected = false;
|
|
38
48
|
listener = null;
|
|
@@ -191,6 +201,100 @@ export class RendererClient {
|
|
|
191
201
|
getApiBaseUrl() {
|
|
192
202
|
return this.currentApiBaseUrl;
|
|
193
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
|
+
}
|
|
194
298
|
/**
|
|
195
299
|
* Returns an API adapter compatible with `getUploadClientWithEnv()` from `@xeonr/uploads-sdk`.
|
|
196
300
|
* Handles authentication and automatic token refresh via the host bridge.
|
|
@@ -339,6 +443,28 @@ export class RendererClient {
|
|
|
339
443
|
this.currentTheme = payload.theme;
|
|
340
444
|
this.currentApiBaseUrl = payload.apiBaseUrl;
|
|
341
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
|
+
}
|
|
342
468
|
this.currentConnected = true;
|
|
343
469
|
// Apply initial path from host URL fragment
|
|
344
470
|
if (payload.initialPath) {
|
package/dist/client.js.map
CHANGED
|
@@ -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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"}
|
|
@@ -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. */
|
|
@@ -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;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,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,
|
|
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"}
|
|
@@ -112,6 +112,7 @@ export function useRendererClient(options) {
|
|
|
112
112
|
const [config, setConfig] = useState(() => client.getConfig());
|
|
113
113
|
const [entrypoint, setEntrypoint] = useState(() => client.getEntrypoint());
|
|
114
114
|
const [apiBaseUrl, setApiBaseUrl] = useState(() => client.getApiBaseUrl());
|
|
115
|
+
const [resource, setResource] = useState(() => client.getResource());
|
|
115
116
|
const [path, setPath] = useState(() => client.getPath());
|
|
116
117
|
useEffect(() => {
|
|
117
118
|
const unsubInit = client.onInit((payload) => {
|
|
@@ -124,6 +125,7 @@ export function useRendererClient(options) {
|
|
|
124
125
|
setConfig(payload.config);
|
|
125
126
|
setEntrypoint(payload.entrypoint);
|
|
126
127
|
setApiBaseUrl(payload.apiBaseUrl);
|
|
128
|
+
setResource(payload.resource ?? null);
|
|
127
129
|
setPath(client.getPath());
|
|
128
130
|
applyThemeToDocument(payload.theme);
|
|
129
131
|
});
|
|
@@ -169,6 +171,7 @@ export function useRendererClient(options) {
|
|
|
169
171
|
config,
|
|
170
172
|
entrypoint,
|
|
171
173
|
apiBaseUrl,
|
|
174
|
+
resource,
|
|
172
175
|
path,
|
|
173
176
|
client,
|
|
174
177
|
...methods,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRendererClient.js","sourceRoot":"","sources":["../../src/react/useRendererClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAM9C,oEAAoE;AACpE,qEAAqE;AACrE,iEAAiE;AACjE,mEAAmE;AACnE,iEAAiE;AACjE,iDAAiD;AACjD,EAAE;AACF,oEAAoE;AACpE,uEAAuE;AACvE,oEAAoE;AACpE,oEAAoE;AACpE,YAAY;AACZ,IAAI,YAAY,GAA0B,IAAI,CAAC;AAC/C,IAAI,sBAAsB,GAAkB,IAAI,CAAC;AAEjD,SAAS,UAAU,CAAC,OAA6C;IAChE,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxB,mEAAmE;IACnE,+DAA+D;IAC/D,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/E,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,eAAe,CAAC,OAA6C;IACrE,IAAI,YAAY,EAAE,CAAC;QAClB,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;QAChC,2DAA2D;QAC3D,yDAAyD;QACzD,2DAA2D;QAC3D,0DAA0D;QAC1D,oCAAoC;QACpC,IAAI,GAAG,IAAI,sBAAsB,KAAK,IAAI,IAAI,GAAG,KAAK,sBAAsB,EAAE,CAAC;YAC9E,sCAAsC;YACtC,OAAO,CAAC,IAAI,CACX,4EAA4E;gBAC5E,iEAAiE,CACjE,CAAC;QACH,CAAC;QACD,OAAO,YAAY,CAAC;IACrB,CAAC;IACD,YAAY,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;IAC3C,sBAAsB,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IAC7C,OAAO,YAAY,CAAC;AACrB,CAAC;AAED,sEAAsE;AACtE,qEAAqE;AACrE,qEAAqE;AACrE,iEAAiE;AACjE,MAAM,QAAQ,GAAI,MAAM,CAAC,IAAqE,CAAC,GAAG,CAAC;AACnG,IAAI,QAAQ,EAAE,CAAC;IACd,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE;QACrB,IAAI,YAAY,EAAE,CAAC;YAClB,YAAY,CAAC,OAAO,EAAE,CAAC;YACvB,YAAY,GAAG,IAAI,CAAC;YACpB,sBAAsB,GAAG,IAAI,CAAC;QAC/B,CAAC;IACF,CAAC,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,oBAAoB,CAAC,KAAuB;IACpD,IAAI,OAAO,QAAQ,KAAK,WAAW;QAAE,OAAO;IAC5C,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;IAC/C,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC;AACpD,CAAC;
|
|
1
|
+
{"version":3,"file":"useRendererClient.js","sourceRoot":"","sources":["../../src/react/useRendererClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type Upload, type Folder } from '@xeonr/uploads-protocol/uplim/api/v1/uploads_pb';
|
|
2
|
+
import { type Bucket } from '@xeonr/uploads-protocol/uplim/api/v1/buckets_pb';
|
|
3
|
+
import type { RendererApiAdapter, RendererScope } from './types.js';
|
|
4
|
+
/**
|
|
5
|
+
* Best-effort decoder for the host's pre-loaded `resource` field. The
|
|
6
|
+
* host serialises via `toJson(UploadSchema, …)`/etc and posts the JSON
|
|
7
|
+
* across the iframe boundary, so we run it back through `fromJson` to
|
|
8
|
+
* land at a real Message instance with the right prototype methods.
|
|
9
|
+
*
|
|
10
|
+
* Returns null on any failure (schema mismatch, missing fields, etc.)
|
|
11
|
+
* so callers fall through to a fresh fetch.
|
|
12
|
+
*/
|
|
13
|
+
export declare function decodeUploadResource(value: unknown): Upload | null;
|
|
14
|
+
export declare function decodeFolderResource(value: unknown): Folder | null;
|
|
15
|
+
export declare function decodeBucketResource(value: unknown): Bucket | null;
|
|
16
|
+
/**
|
|
17
|
+
* Fetch the upload for the current scope via the API. Caller already
|
|
18
|
+
* narrowed the scope; we just translate to the BucketUploadsService
|
|
19
|
+
* RPC. Throws when the API returns no upload (treated as a not-found
|
|
20
|
+
* by the renderer).
|
|
21
|
+
*/
|
|
22
|
+
export declare function fetchUpload(scope: RendererScope, apiAdapter: RendererApiAdapter): Promise<Upload>;
|
|
23
|
+
export declare function fetchFolder(scope: RendererScope, apiAdapter: RendererApiAdapter): Promise<Folder>;
|
|
24
|
+
export declare function fetchBucket(scope: RendererScope, apiAdapter: RendererApiAdapter): Promise<Bucket>;
|
|
25
|
+
//# sourceMappingURL=resources.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../src/resources.ts"],"names":[],"mappings":"AAaA,OAAO,EAKN,KAAK,MAAM,EACX,KAAK,MAAM,EACX,MAAM,iDAAiD,CAAC;AACzD,OAAO,EAGN,KAAK,MAAM,EACX,MAAM,iDAAiD,CAAC;AAEzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEpE;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAOlE;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAOlE;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAOlE;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAChC,KAAK,EAAE,aAAa,EACpB,UAAU,EAAE,kBAAkB,GAC5B,OAAO,CAAC,MAAM,CAAC,CAWjB;AAED,wBAAsB,WAAW,CAChC,KAAK,EAAE,aAAa,EACpB,UAAU,EAAE,kBAAkB,GAC5B,OAAO,CAAC,MAAM,CAAC,CAgBjB;AAED,wBAAsB,WAAW,CAChC,KAAK,EAAE,aAAa,EACpB,UAAU,EAAE,kBAAkB,GAC5B,OAAO,CAAC,MAAM,CAAC,CAOjB"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Typed resource accessors that read from the host-seeded `resource`
|
|
3
|
+
* cache first and fall back to a real API call when the cache is
|
|
4
|
+
* absent or stale.
|
|
5
|
+
*
|
|
6
|
+
* Lives in its own file so the imports against `@xeonr/uploads-protocol`
|
|
7
|
+
* and `@xeonr/uploads-sdk` are kept out of `client.ts`. Those packages
|
|
8
|
+
* are declared as optional peer dependencies — a renderer that never
|
|
9
|
+
* calls `getUpload()` / `getFolder()` / `getBucket()` doesn't need to
|
|
10
|
+
* install them. The fetch helpers throw at call time when the deps are
|
|
11
|
+
* missing.
|
|
12
|
+
*/
|
|
13
|
+
import { fromJson } from '@bufbuild/protobuf';
|
|
14
|
+
import { BucketUploadsService, BucketFoldersService, UploadSchema, FolderSchema, } from '@xeonr/uploads-protocol/uplim/api/v1/uploads_pb';
|
|
15
|
+
import { BucketsService, BucketSchema, } from '@xeonr/uploads-protocol/uplim/api/v1/buckets_pb';
|
|
16
|
+
import { getUploadClientWithEnv } from '@xeonr/uploads-sdk/api/base';
|
|
17
|
+
/**
|
|
18
|
+
* Best-effort decoder for the host's pre-loaded `resource` field. The
|
|
19
|
+
* host serialises via `toJson(UploadSchema, …)`/etc and posts the JSON
|
|
20
|
+
* across the iframe boundary, so we run it back through `fromJson` to
|
|
21
|
+
* land at a real Message instance with the right prototype methods.
|
|
22
|
+
*
|
|
23
|
+
* Returns null on any failure (schema mismatch, missing fields, etc.)
|
|
24
|
+
* so callers fall through to a fresh fetch.
|
|
25
|
+
*/
|
|
26
|
+
export function decodeUploadResource(value) {
|
|
27
|
+
if (!value || typeof value !== 'object')
|
|
28
|
+
return null;
|
|
29
|
+
try {
|
|
30
|
+
return fromJson(UploadSchema, value);
|
|
31
|
+
}
|
|
32
|
+
catch {
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
export function decodeFolderResource(value) {
|
|
37
|
+
if (!value || typeof value !== 'object')
|
|
38
|
+
return null;
|
|
39
|
+
try {
|
|
40
|
+
return fromJson(FolderSchema, value);
|
|
41
|
+
}
|
|
42
|
+
catch {
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
export function decodeBucketResource(value) {
|
|
47
|
+
if (!value || typeof value !== 'object')
|
|
48
|
+
return null;
|
|
49
|
+
try {
|
|
50
|
+
return fromJson(BucketSchema, value);
|
|
51
|
+
}
|
|
52
|
+
catch {
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Fetch the upload for the current scope via the API. Caller already
|
|
58
|
+
* narrowed the scope; we just translate to the BucketUploadsService
|
|
59
|
+
* RPC. Throws when the API returns no upload (treated as a not-found
|
|
60
|
+
* by the renderer).
|
|
61
|
+
*/
|
|
62
|
+
export async function fetchUpload(scope, apiAdapter) {
|
|
63
|
+
if (scope.type !== 'upload') {
|
|
64
|
+
throw new Error('fetchUpload requires an upload-typed scope');
|
|
65
|
+
}
|
|
66
|
+
const client = getUploadClientWithEnv(BucketUploadsService, apiAdapter);
|
|
67
|
+
const res = await client.getUpload({
|
|
68
|
+
bucketRef: { type: { case: 'bucketId', value: scope.bucketId } },
|
|
69
|
+
uploadRef: { type: { case: 'uploadId', value: scope.uploadId } },
|
|
70
|
+
});
|
|
71
|
+
if (!res.upload)
|
|
72
|
+
throw new Error('Upload not found');
|
|
73
|
+
return res.upload;
|
|
74
|
+
}
|
|
75
|
+
export async function fetchFolder(scope, apiAdapter) {
|
|
76
|
+
// Folder scopes ('folder' or 'virtual-file' with a folderId) carry
|
|
77
|
+
// the identifier; everything else is a misuse.
|
|
78
|
+
let folderId;
|
|
79
|
+
if (scope.type === 'folder')
|
|
80
|
+
folderId = scope.folderId;
|
|
81
|
+
else if (scope.type === 'virtual-file')
|
|
82
|
+
folderId = scope.folderId;
|
|
83
|
+
if (!folderId) {
|
|
84
|
+
throw new Error('fetchFolder requires a folder-typed scope with a folderId');
|
|
85
|
+
}
|
|
86
|
+
const client = getUploadClientWithEnv(BucketFoldersService, apiAdapter);
|
|
87
|
+
const res = await client.getFolder({
|
|
88
|
+
bucketRef: { type: { case: 'bucketId', value: scope.bucketId } },
|
|
89
|
+
folderRef: { type: { case: 'folderId', value: folderId } },
|
|
90
|
+
});
|
|
91
|
+
if (!res.folder)
|
|
92
|
+
throw new Error('Folder not found');
|
|
93
|
+
return res.folder;
|
|
94
|
+
}
|
|
95
|
+
export async function fetchBucket(scope, apiAdapter) {
|
|
96
|
+
const client = getUploadClientWithEnv(BucketsService, apiAdapter);
|
|
97
|
+
const res = await client.getBucket({
|
|
98
|
+
bucketRef: { type: { case: 'bucketId', value: scope.bucketId } },
|
|
99
|
+
});
|
|
100
|
+
if (!res.bucket)
|
|
101
|
+
throw new Error('Bucket not found');
|
|
102
|
+
return res.bucket;
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=resources.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resources.js","sourceRoot":"","sources":["../src/resources.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -117,5 +117,23 @@ export interface InitPayload {
|
|
|
117
117
|
config: RendererConfig;
|
|
118
118
|
/** Initial hash path to navigate to, derived from the host URL fragment. */
|
|
119
119
|
initialPath?: string;
|
|
120
|
+
/**
|
|
121
|
+
* Pre-loaded resource snapshot the host already had on hand when it
|
|
122
|
+
* mounted the iframe — typically the `Upload` proto (in its JSON
|
|
123
|
+
* encoding) for upload-scoped renderers, or `Folder` for folder
|
|
124
|
+
* scopes. Renderers can consume this directly to avoid an extra
|
|
125
|
+
* GetUpload / GetFolder round trip on first paint.
|
|
126
|
+
*
|
|
127
|
+
* Shape is intentionally loose (`unknown`) because the SDK is
|
|
128
|
+
* deliberately decoupled from the @xeonr/uploads-protocol types —
|
|
129
|
+
* renderers cast to the proto JSON type (e.g. `UploadJson`) on use.
|
|
130
|
+
* Treat as advisory: if absent or stale, fall back to a fresh fetch.
|
|
131
|
+
*
|
|
132
|
+
* Stays in sync via the existing `resource_url`-style fetches that
|
|
133
|
+
* the renderer triggers when the host posts an updated init (e.g.
|
|
134
|
+
* after edit / replace flows). For now hosts only populate the
|
|
135
|
+
* field for upload-typed scopes; future hosts may extend.
|
|
136
|
+
*/
|
|
137
|
+
resource?: unknown;
|
|
120
138
|
}
|
|
121
139
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC9B,OAAO,EAAE,CAAC,CAAC;IACX,uDAAuD;IACvD,WAAW,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACnC,OAAO,CAAC,EAAE;QACT,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,cAAc,CAAC,EAAE,OAAO,CAAC;KACzB,CAAC;IACF;;;;;;;;;;OAUG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;;;;;;;;;;;OAiBG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,MAAM,kBAAkB,GAC3B,cAAc,GACd,YAAY,CAAC;AAEhB;;;GAGG;AACH,MAAM,MAAM,aAAa,GACtB,mBAAmB,GACnB,mBAAmB,GACnB,mBAAmB,GACnB,wBAAwB,CAAC;AAE5B,MAAM,WAAW,mBAAmB;IACnC,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IACnC,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,mBAAmB;IACnC,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,wBAAwB;IACxC,IAAI,EAAE,cAAc,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACb;AAED;;;GAGG;AACH,MAAM,MAAM,aAAa,GACtB,iBAAiB,GACjB,iBAAiB,GACjB,eAAe,CAAC;AAEnB;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC3C,uBAAuB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACnE,sBAAsB,CAAC,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;CAC5C;AAED,0DAA0D;AAC1D,MAAM,WAAW,WAAW;IAC3B,wBAAwB;IACxB,OAAO,EAAE,CAAC,CAAC;IACX,mEAAmE;IACnE,KAAK,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,cAAc,EAAE,MAAM,CAAC;IACvB,0BAA0B;IAC1B,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;IACxB,mCAAmC;IACnC,UAAU,EAAE,WAAW,GAAG,QAAQ,CAAC;IACnC,+CAA+C;IAC/C,KAAK,EAAE,aAAa,CAAC;IACrB,4DAA4D;IAC5D,aAAa,EAAE,aAAa,CAAC;IAC7B,qCAAqC;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,MAAM,EAAE,cAAc,CAAC;IACvB,4EAA4E;IAC5E,WAAW,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC9B,OAAO,EAAE,CAAC,CAAC;IACX,uDAAuD;IACvD,WAAW,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACnC,OAAO,CAAC,EAAE;QACT,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,cAAc,CAAC,EAAE,OAAO,CAAC;KACzB,CAAC;IACF;;;;;;;;;;OAUG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;;;;;;;;;;;OAiBG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,MAAM,kBAAkB,GAC3B,cAAc,GACd,YAAY,CAAC;AAEhB;;;GAGG;AACH,MAAM,MAAM,aAAa,GACtB,mBAAmB,GACnB,mBAAmB,GACnB,mBAAmB,GACnB,wBAAwB,CAAC;AAE5B,MAAM,WAAW,mBAAmB;IACnC,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IACnC,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,mBAAmB;IACnC,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,wBAAwB;IACxC,IAAI,EAAE,cAAc,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACb;AAED;;;GAGG;AACH,MAAM,MAAM,aAAa,GACtB,iBAAiB,GACjB,iBAAiB,GACjB,eAAe,CAAC;AAEnB;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC3C,uBAAuB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACnE,sBAAsB,CAAC,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;CAC5C;AAED,0DAA0D;AAC1D,MAAM,WAAW,WAAW;IAC3B,wBAAwB;IACxB,OAAO,EAAE,CAAC,CAAC;IACX,mEAAmE;IACnE,KAAK,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,cAAc,EAAE,MAAM,CAAC;IACvB,0BAA0B;IAC1B,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;IACxB,mCAAmC;IACnC,UAAU,EAAE,WAAW,GAAG,QAAQ,CAAC;IACnC,+CAA+C;IAC/C,KAAK,EAAE,aAAa,CAAC;IACrB,4DAA4D;IAC5D,aAAa,EAAE,aAAa,CAAC;IAC7B,qCAAqC;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,MAAM,EAAE,cAAc,CAAC;IACvB,4EAA4E;IAC5E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;;;;;;;;;;;OAgBG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xeonr/renderer-sdk",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"description": "SDK for building custom renderers for upl.im integrations",
|
|
@@ -30,7 +30,10 @@
|
|
|
30
30
|
},
|
|
31
31
|
"peerDependencies": {
|
|
32
32
|
"react": ">=18.0.0",
|
|
33
|
-
"react-dom": ">=18.0.0"
|
|
33
|
+
"react-dom": ">=18.0.0",
|
|
34
|
+
"@bufbuild/protobuf": ">=2.0.0",
|
|
35
|
+
"@xeonr/uploads-protocol": "*",
|
|
36
|
+
"@xeonr/uploads-sdk": "*"
|
|
34
37
|
},
|
|
35
38
|
"peerDependenciesMeta": {
|
|
36
39
|
"react": {
|
|
@@ -38,14 +41,26 @@
|
|
|
38
41
|
},
|
|
39
42
|
"react-dom": {
|
|
40
43
|
"optional": true
|
|
44
|
+
},
|
|
45
|
+
"@bufbuild/protobuf": {
|
|
46
|
+
"optional": true
|
|
47
|
+
},
|
|
48
|
+
"@xeonr/uploads-protocol": {
|
|
49
|
+
"optional": true
|
|
50
|
+
},
|
|
51
|
+
"@xeonr/uploads-sdk": {
|
|
52
|
+
"optional": true
|
|
41
53
|
}
|
|
42
54
|
},
|
|
43
55
|
"devDependencies": {
|
|
44
56
|
"@types/react": "^19.0.0",
|
|
45
57
|
"@types/react-dom": "^19.0.0",
|
|
58
|
+
"@bufbuild/protobuf": "^2.0.0",
|
|
46
59
|
"react": "^19.0.0",
|
|
47
60
|
"react-dom": "^19.0.0",
|
|
48
|
-
"typescript": "^5.8.3"
|
|
61
|
+
"typescript": "^5.8.3",
|
|
62
|
+
"@xeonr/uploads-protocol": "1.0.6",
|
|
63
|
+
"@xeonr/uploads-sdk": "1.0.6"
|
|
49
64
|
},
|
|
50
65
|
"scripts": {
|
|
51
66
|
"build": "tsc"
|
package/src/client.ts
CHANGED
|
@@ -10,6 +10,20 @@ import type {
|
|
|
10
10
|
RendererCrashKind,
|
|
11
11
|
} from './protocol.js';
|
|
12
12
|
import { buildCrashMessage, isHostMessage, postCrashToHost } from './protocol.js';
|
|
13
|
+
import {
|
|
14
|
+
decodeUploadResource,
|
|
15
|
+
decodeFolderResource,
|
|
16
|
+
decodeBucketResource,
|
|
17
|
+
fetchUpload as apiFetchUpload,
|
|
18
|
+
fetchFolder as apiFetchFolder,
|
|
19
|
+
fetchBucket as apiFetchBucket,
|
|
20
|
+
} from './resources.js';
|
|
21
|
+
// Lazy-loaded proto types — kept as type-only imports so they don't
|
|
22
|
+
// pull the runtime modules into the SDK bundle for renderers that
|
|
23
|
+
// never call the typed resource accessors. The actual runtime fetch
|
|
24
|
+
// code lives in `resources.ts`.
|
|
25
|
+
import type { Upload, Folder } from '@xeonr/uploads-protocol/uplim/api/v1/uploads_pb';
|
|
26
|
+
import type { Bucket } from '@xeonr/uploads-protocol/uplim/api/v1/buckets_pb';
|
|
13
27
|
import type { InitPayload, RendererApiAdapter, RendererConfig, RendererScope, RenderingType } from './types.js';
|
|
14
28
|
|
|
15
29
|
export interface RendererClientOptions {
|
|
@@ -71,6 +85,15 @@ export class RendererClient {
|
|
|
71
85
|
private currentTheme: 'light' | 'dark' = 'light';
|
|
72
86
|
private currentApiBaseUrl: string | null = null;
|
|
73
87
|
private currentEntrypoint: 'dashboard' | 'portal' | null = null;
|
|
88
|
+
private currentResource: unknown = null;
|
|
89
|
+
// Typed resource cache. Populated lazily — `currentResource` is the
|
|
90
|
+
// raw JSON the host sent; these are the decoded Message instances
|
|
91
|
+
// (with proper prototypes for any methods callers might use). We
|
|
92
|
+
// keep all three slots so a renderer can call `getBucket()` on an
|
|
93
|
+
// upload scope without invalidating the upload cache.
|
|
94
|
+
private cachedUpload: Upload | null = null;
|
|
95
|
+
private cachedFolder: Folder | null = null;
|
|
96
|
+
private cachedBucket: Bucket | null = null;
|
|
74
97
|
private currentPath: string = '/';
|
|
75
98
|
private currentConnected = false;
|
|
76
99
|
|
|
@@ -255,6 +278,107 @@ export class RendererClient {
|
|
|
255
278
|
return this.currentApiBaseUrl;
|
|
256
279
|
}
|
|
257
280
|
|
|
281
|
+
/**
|
|
282
|
+
* Pre-loaded resource snapshot the host sent in init.
|
|
283
|
+
*
|
|
284
|
+
* @deprecated Prefer the typed accessors `getUpload()` / `getFolder()`
|
|
285
|
+
* / `getBucket()` — they return real Message instances rather than
|
|
286
|
+
* untyped JSON and fall back transparently to a fresh fetch when
|
|
287
|
+
* the cache is absent. This getter is kept for forward compat with
|
|
288
|
+
* renderers building against older SDK versions.
|
|
289
|
+
*/
|
|
290
|
+
getResource(): unknown {
|
|
291
|
+
return this.currentResource;
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
/**
|
|
295
|
+
* Return the Upload for the current scope. Returns the host-seeded
|
|
296
|
+
* snapshot from init when present (no network call); otherwise
|
|
297
|
+
* fetches via BucketUploadsService and caches the result for
|
|
298
|
+
* subsequent calls in the same session.
|
|
299
|
+
*
|
|
300
|
+
* Throws when the scope isn't upload-typed — bucket / folder /
|
|
301
|
+
* virtual-file scopes don't have a single Upload to return.
|
|
302
|
+
*
|
|
303
|
+
* Presigned URLs inside the Upload have ~1h TTL from issuance. For
|
|
304
|
+
* long-running renderer sessions, call `refreshUpload()` before
|
|
305
|
+
* any operation that needs a definitely-fresh URL.
|
|
306
|
+
*/
|
|
307
|
+
async getUpload(): Promise<Upload> {
|
|
308
|
+
if (this.currentScope?.type !== 'upload') {
|
|
309
|
+
throw new Error('getUpload() requires an upload-typed scope');
|
|
310
|
+
}
|
|
311
|
+
if (this.cachedUpload && this.cachedUpload.uploadId === this.currentScope.uploadId) {
|
|
312
|
+
return this.cachedUpload;
|
|
313
|
+
}
|
|
314
|
+
const upload = await apiFetchUpload(this.currentScope, this.getApiAdapter());
|
|
315
|
+
this.cachedUpload = upload;
|
|
316
|
+
return upload;
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
/** Force a fresh fetch of the Upload, bypassing the host-seeded cache. */
|
|
320
|
+
async refreshUpload(): Promise<Upload> {
|
|
321
|
+
if (this.currentScope?.type !== 'upload') {
|
|
322
|
+
throw new Error('refreshUpload() requires an upload-typed scope');
|
|
323
|
+
}
|
|
324
|
+
const upload = await apiFetchUpload(this.currentScope, this.getApiAdapter());
|
|
325
|
+
this.cachedUpload = upload;
|
|
326
|
+
return upload;
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
/**
|
|
330
|
+
* Return the Folder for the current scope. Works for `folder` and
|
|
331
|
+
* `virtual-file` scopes (when the virtual file is folder-bound).
|
|
332
|
+
*/
|
|
333
|
+
async getFolder(): Promise<Folder> {
|
|
334
|
+
if (!this.currentScope) {
|
|
335
|
+
throw new Error('getFolder() called before init');
|
|
336
|
+
}
|
|
337
|
+
if (this.cachedFolder) {
|
|
338
|
+
return this.cachedFolder;
|
|
339
|
+
}
|
|
340
|
+
const folder = await apiFetchFolder(this.currentScope, this.getApiAdapter());
|
|
341
|
+
this.cachedFolder = folder;
|
|
342
|
+
return folder;
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
/** Force a fresh fetch of the Folder, bypassing the host-seeded cache. */
|
|
346
|
+
async refreshFolder(): Promise<Folder> {
|
|
347
|
+
if (!this.currentScope) {
|
|
348
|
+
throw new Error('refreshFolder() called before init');
|
|
349
|
+
}
|
|
350
|
+
const folder = await apiFetchFolder(this.currentScope, this.getApiAdapter());
|
|
351
|
+
this.cachedFolder = folder;
|
|
352
|
+
return folder;
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
/**
|
|
356
|
+
* Return the Bucket the current scope sits inside. Every scope
|
|
357
|
+
* carries a `bucketId`, so this is always callable (subject to init
|
|
358
|
+
* having landed).
|
|
359
|
+
*/
|
|
360
|
+
async getBucket(): Promise<Bucket> {
|
|
361
|
+
if (!this.currentScope) {
|
|
362
|
+
throw new Error('getBucket() called before init');
|
|
363
|
+
}
|
|
364
|
+
if (this.cachedBucket && this.cachedBucket.bucketId === this.currentScope.bucketId) {
|
|
365
|
+
return this.cachedBucket;
|
|
366
|
+
}
|
|
367
|
+
const bucket = await apiFetchBucket(this.currentScope, this.getApiAdapter());
|
|
368
|
+
this.cachedBucket = bucket;
|
|
369
|
+
return bucket;
|
|
370
|
+
}
|
|
371
|
+
|
|
372
|
+
/** Force a fresh fetch of the Bucket, bypassing the host-seeded cache. */
|
|
373
|
+
async refreshBucket(): Promise<Bucket> {
|
|
374
|
+
if (!this.currentScope) {
|
|
375
|
+
throw new Error('refreshBucket() called before init');
|
|
376
|
+
}
|
|
377
|
+
const bucket = await apiFetchBucket(this.currentScope, this.getApiAdapter());
|
|
378
|
+
this.cachedBucket = bucket;
|
|
379
|
+
return bucket;
|
|
380
|
+
}
|
|
381
|
+
|
|
258
382
|
/**
|
|
259
383
|
* Returns an API adapter compatible with `getUploadClientWithEnv()` from `@xeonr/uploads-sdk`.
|
|
260
384
|
* Handles authentication and automatic token refresh via the host bridge.
|
|
@@ -408,6 +532,28 @@ export class RendererClient {
|
|
|
408
532
|
this.currentTheme = payload.theme;
|
|
409
533
|
this.currentApiBaseUrl = payload.apiBaseUrl;
|
|
410
534
|
this.currentEntrypoint = payload.entrypoint;
|
|
535
|
+
this.currentResource = payload.resource ?? null;
|
|
536
|
+
// Decode the host-seeded resource into the matching typed slot
|
|
537
|
+
// based on scope. Decode failures (schema drift, partial host
|
|
538
|
+
// payload) fall back to `null` and the typed accessors then
|
|
539
|
+
// fetch from the API on demand.
|
|
540
|
+
this.cachedUpload = null;
|
|
541
|
+
this.cachedFolder = null;
|
|
542
|
+
this.cachedBucket = null;
|
|
543
|
+
if (payload.resource) {
|
|
544
|
+
switch (payload.scope.type) {
|
|
545
|
+
case 'upload':
|
|
546
|
+
this.cachedUpload = decodeUploadResource(payload.resource);
|
|
547
|
+
break;
|
|
548
|
+
case 'folder':
|
|
549
|
+
case 'virtual-file':
|
|
550
|
+
this.cachedFolder = decodeFolderResource(payload.resource);
|
|
551
|
+
break;
|
|
552
|
+
case 'bucket':
|
|
553
|
+
this.cachedBucket = decodeBucketResource(payload.resource);
|
|
554
|
+
break;
|
|
555
|
+
}
|
|
556
|
+
}
|
|
411
557
|
this.currentConnected = true;
|
|
412
558
|
|
|
413
559
|
// Apply initial path from host URL fragment
|
|
@@ -105,6 +105,15 @@ export interface UseRendererClientResult {
|
|
|
105
105
|
apiBaseUrl: string | null;
|
|
106
106
|
/** Pre-configured API adapter for use with `getUploadClientWithEnv()`. */
|
|
107
107
|
apiAdapter: RendererApiAdapter;
|
|
108
|
+
/**
|
|
109
|
+
* Pre-loaded resource snapshot (typically the Upload proto's JSON
|
|
110
|
+
* form for upload-scoped renderers). Renderers should cast to the
|
|
111
|
+
* expected proto JSON type and use this directly to avoid an extra
|
|
112
|
+
* GetUpload round trip on first paint. `null` when the host didn't
|
|
113
|
+
* supply one (older hosts, folder/virtual-file scopes); fall back
|
|
114
|
+
* to a fetch in that case.
|
|
115
|
+
*/
|
|
116
|
+
resource: unknown;
|
|
108
117
|
/** Current hash path within the renderer (e.g. '/settings'). Updated reactively on hash changes. */
|
|
109
118
|
path: string;
|
|
110
119
|
|
|
@@ -167,6 +176,7 @@ export function useRendererClient(options?: UseRendererClientOptions): UseRender
|
|
|
167
176
|
const [config, setConfig] = useState<RendererConfig | null>(() => client.getConfig());
|
|
168
177
|
const [entrypoint, setEntrypoint] = useState<'dashboard' | 'portal' | null>(() => client.getEntrypoint());
|
|
169
178
|
const [apiBaseUrl, setApiBaseUrl] = useState<string | null>(() => client.getApiBaseUrl());
|
|
179
|
+
const [resource, setResource] = useState<unknown>(() => client.getResource());
|
|
170
180
|
const [path, setPath] = useState<string>(() => client.getPath());
|
|
171
181
|
|
|
172
182
|
useEffect(() => {
|
|
@@ -180,6 +190,7 @@ export function useRendererClient(options?: UseRendererClientOptions): UseRender
|
|
|
180
190
|
setConfig(payload.config);
|
|
181
191
|
setEntrypoint(payload.entrypoint);
|
|
182
192
|
setApiBaseUrl(payload.apiBaseUrl);
|
|
193
|
+
setResource(payload.resource ?? null);
|
|
183
194
|
setPath(client.getPath());
|
|
184
195
|
applyThemeToDocument(payload.theme);
|
|
185
196
|
});
|
|
@@ -231,6 +242,7 @@ export function useRendererClient(options?: UseRendererClientOptions): UseRender
|
|
|
231
242
|
config,
|
|
232
243
|
entrypoint,
|
|
233
244
|
apiBaseUrl,
|
|
245
|
+
resource,
|
|
234
246
|
path,
|
|
235
247
|
client,
|
|
236
248
|
...methods,
|
package/src/resources.ts
ADDED
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Typed resource accessors that read from the host-seeded `resource`
|
|
3
|
+
* cache first and fall back to a real API call when the cache is
|
|
4
|
+
* absent or stale.
|
|
5
|
+
*
|
|
6
|
+
* Lives in its own file so the imports against `@xeonr/uploads-protocol`
|
|
7
|
+
* and `@xeonr/uploads-sdk` are kept out of `client.ts`. Those packages
|
|
8
|
+
* are declared as optional peer dependencies — a renderer that never
|
|
9
|
+
* calls `getUpload()` / `getFolder()` / `getBucket()` doesn't need to
|
|
10
|
+
* install them. The fetch helpers throw at call time when the deps are
|
|
11
|
+
* missing.
|
|
12
|
+
*/
|
|
13
|
+
import { fromJson } from '@bufbuild/protobuf';
|
|
14
|
+
import {
|
|
15
|
+
BucketUploadsService,
|
|
16
|
+
BucketFoldersService,
|
|
17
|
+
UploadSchema,
|
|
18
|
+
FolderSchema,
|
|
19
|
+
type Upload,
|
|
20
|
+
type Folder,
|
|
21
|
+
} from '@xeonr/uploads-protocol/uplim/api/v1/uploads_pb';
|
|
22
|
+
import {
|
|
23
|
+
BucketsService,
|
|
24
|
+
BucketSchema,
|
|
25
|
+
type Bucket,
|
|
26
|
+
} from '@xeonr/uploads-protocol/uplim/api/v1/buckets_pb';
|
|
27
|
+
import { getUploadClientWithEnv } from '@xeonr/uploads-sdk/api/base';
|
|
28
|
+
import type { RendererApiAdapter, RendererScope } from './types.js';
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Best-effort decoder for the host's pre-loaded `resource` field. The
|
|
32
|
+
* host serialises via `toJson(UploadSchema, …)`/etc and posts the JSON
|
|
33
|
+
* across the iframe boundary, so we run it back through `fromJson` to
|
|
34
|
+
* land at a real Message instance with the right prototype methods.
|
|
35
|
+
*
|
|
36
|
+
* Returns null on any failure (schema mismatch, missing fields, etc.)
|
|
37
|
+
* so callers fall through to a fresh fetch.
|
|
38
|
+
*/
|
|
39
|
+
export function decodeUploadResource(value: unknown): Upload | null {
|
|
40
|
+
if (!value || typeof value !== 'object') return null;
|
|
41
|
+
try {
|
|
42
|
+
return fromJson(UploadSchema, value as Parameters<typeof fromJson<typeof UploadSchema>>[1]);
|
|
43
|
+
} catch {
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export function decodeFolderResource(value: unknown): Folder | null {
|
|
49
|
+
if (!value || typeof value !== 'object') return null;
|
|
50
|
+
try {
|
|
51
|
+
return fromJson(FolderSchema, value as Parameters<typeof fromJson<typeof FolderSchema>>[1]);
|
|
52
|
+
} catch {
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export function decodeBucketResource(value: unknown): Bucket | null {
|
|
58
|
+
if (!value || typeof value !== 'object') return null;
|
|
59
|
+
try {
|
|
60
|
+
return fromJson(BucketSchema, value as Parameters<typeof fromJson<typeof BucketSchema>>[1]);
|
|
61
|
+
} catch {
|
|
62
|
+
return null;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Fetch the upload for the current scope via the API. Caller already
|
|
68
|
+
* narrowed the scope; we just translate to the BucketUploadsService
|
|
69
|
+
* RPC. Throws when the API returns no upload (treated as a not-found
|
|
70
|
+
* by the renderer).
|
|
71
|
+
*/
|
|
72
|
+
export async function fetchUpload(
|
|
73
|
+
scope: RendererScope,
|
|
74
|
+
apiAdapter: RendererApiAdapter,
|
|
75
|
+
): Promise<Upload> {
|
|
76
|
+
if (scope.type !== 'upload') {
|
|
77
|
+
throw new Error('fetchUpload requires an upload-typed scope');
|
|
78
|
+
}
|
|
79
|
+
const client = getUploadClientWithEnv(BucketUploadsService, apiAdapter);
|
|
80
|
+
const res = await client.getUpload({
|
|
81
|
+
bucketRef: { type: { case: 'bucketId', value: scope.bucketId } },
|
|
82
|
+
uploadRef: { type: { case: 'uploadId', value: scope.uploadId } },
|
|
83
|
+
});
|
|
84
|
+
if (!res.upload) throw new Error('Upload not found');
|
|
85
|
+
return res.upload;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
export async function fetchFolder(
|
|
89
|
+
scope: RendererScope,
|
|
90
|
+
apiAdapter: RendererApiAdapter,
|
|
91
|
+
): Promise<Folder> {
|
|
92
|
+
// Folder scopes ('folder' or 'virtual-file' with a folderId) carry
|
|
93
|
+
// the identifier; everything else is a misuse.
|
|
94
|
+
let folderId: string | undefined;
|
|
95
|
+
if (scope.type === 'folder') folderId = scope.folderId;
|
|
96
|
+
else if (scope.type === 'virtual-file') folderId = scope.folderId;
|
|
97
|
+
if (!folderId) {
|
|
98
|
+
throw new Error('fetchFolder requires a folder-typed scope with a folderId');
|
|
99
|
+
}
|
|
100
|
+
const client = getUploadClientWithEnv(BucketFoldersService, apiAdapter);
|
|
101
|
+
const res = await client.getFolder({
|
|
102
|
+
bucketRef: { type: { case: 'bucketId', value: scope.bucketId } },
|
|
103
|
+
folderRef: { type: { case: 'folderId', value: folderId } },
|
|
104
|
+
});
|
|
105
|
+
if (!res.folder) throw new Error('Folder not found');
|
|
106
|
+
return res.folder;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
export async function fetchBucket(
|
|
110
|
+
scope: RendererScope,
|
|
111
|
+
apiAdapter: RendererApiAdapter,
|
|
112
|
+
): Promise<Bucket> {
|
|
113
|
+
const client = getUploadClientWithEnv(BucketsService, apiAdapter);
|
|
114
|
+
const res = await client.getBucket({
|
|
115
|
+
bucketRef: { type: { case: 'bucketId', value: scope.bucketId } },
|
|
116
|
+
});
|
|
117
|
+
if (!res.bucket) throw new Error('Bucket not found');
|
|
118
|
+
return res.bucket;
|
|
119
|
+
}
|
package/src/types.ts
CHANGED
|
@@ -135,4 +135,22 @@ export interface InitPayload {
|
|
|
135
135
|
config: RendererConfig;
|
|
136
136
|
/** Initial hash path to navigate to, derived from the host URL fragment. */
|
|
137
137
|
initialPath?: string;
|
|
138
|
+
/**
|
|
139
|
+
* Pre-loaded resource snapshot the host already had on hand when it
|
|
140
|
+
* mounted the iframe — typically the `Upload` proto (in its JSON
|
|
141
|
+
* encoding) for upload-scoped renderers, or `Folder` for folder
|
|
142
|
+
* scopes. Renderers can consume this directly to avoid an extra
|
|
143
|
+
* GetUpload / GetFolder round trip on first paint.
|
|
144
|
+
*
|
|
145
|
+
* Shape is intentionally loose (`unknown`) because the SDK is
|
|
146
|
+
* deliberately decoupled from the @xeonr/uploads-protocol types —
|
|
147
|
+
* renderers cast to the proto JSON type (e.g. `UploadJson`) on use.
|
|
148
|
+
* Treat as advisory: if absent or stale, fall back to a fresh fetch.
|
|
149
|
+
*
|
|
150
|
+
* Stays in sync via the existing `resource_url`-style fetches that
|
|
151
|
+
* the renderer triggers when the host posts an updated init (e.g.
|
|
152
|
+
* after edit / replace flows). For now hosts only populate the
|
|
153
|
+
* field for upload-typed scopes; future hosts may extend.
|
|
154
|
+
*/
|
|
155
|
+
resource?: unknown;
|
|
138
156
|
}
|