@uniformdev/mesh-sdk 20.50.2-alpha.9 → 20.50.2-alpha.96
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.mts +447 -325
- package/dist/index.d.ts +447 -325
- package/dist/index.esm.js +185 -149
- package/dist/index.js +187 -149
- package/dist/index.mjs +185 -149
- package/package.json +8 -8
package/dist/index.d.mts
CHANGED
|
@@ -1,10 +1,279 @@
|
|
|
1
1
|
import { ApiClient, ClientOptions, ExceptProject } from '@uniformdev/context/api';
|
|
2
|
-
import { AssetParamValue, DataType, DataSource,
|
|
2
|
+
import { AssetParamValue, DataType, DataSource, DataResourceVariables, DataSourceVariantsKeys, RootComponentInstance, ComponentInstance, ComponentDefinition, ComponentDefinitionParameter, DataVariableDefinition, Locale, EntryData } from '@uniformdev/canvas';
|
|
3
3
|
export { AssetParamValue, AssetParamValueItem } from '@uniformdev/canvas';
|
|
4
4
|
import { ProjectMapNode } from '@uniformdev/project-map';
|
|
5
5
|
import { AssetDefinitionType } from '@uniformdev/assets';
|
|
6
6
|
import { Emitter } from 'mitt';
|
|
7
7
|
|
|
8
|
+
/** @deprecated This beta identity delegation API may change with breaking changes. */
|
|
9
|
+
interface DelegationTokenClientOptions {
|
|
10
|
+
/** Uniform API host (e.g. 'https://uniform.app'). */
|
|
11
|
+
apiHost: string;
|
|
12
|
+
/** UUID of the integration definition. */
|
|
13
|
+
integrationId: string;
|
|
14
|
+
/** Plaintext app secret for this integration. */
|
|
15
|
+
integrationSecret: string;
|
|
16
|
+
}
|
|
17
|
+
/** @deprecated This beta identity delegation API may change with breaking changes. */
|
|
18
|
+
interface DelegationTokenResponse {
|
|
19
|
+
/** Bearer access token that can be used to call Uniform APIs on behalf of the user. */
|
|
20
|
+
accessToken: string;
|
|
21
|
+
/** Refresh token for obtaining a new access token when the current one expires. Absent when the session was minted with `allowRefresh: false`. */
|
|
22
|
+
refreshToken?: string;
|
|
23
|
+
/** Always 'Bearer'. */
|
|
24
|
+
tokenType: 'Bearer';
|
|
25
|
+
/** Token lifetime in seconds. */
|
|
26
|
+
expiresIn: number;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Stable, low-detail kinds of token-exchange failures. Callers branch on these
|
|
30
|
+
* instead of parsing arbitrary upstream message text, and integrators surface a
|
|
31
|
+
* sanitised public message rather than whatever the server happened to return.
|
|
32
|
+
*/
|
|
33
|
+
type DelegationTokenErrorKind = 'bad_request' | 'unauthenticated' | 'forbidden' | 'not_found' | 'rate_limited' | 'server_error' | 'unknown';
|
|
34
|
+
/** @deprecated This beta identity delegation API may change with breaking changes. */
|
|
35
|
+
declare class DelegationTokenError extends Error {
|
|
36
|
+
readonly status: number;
|
|
37
|
+
readonly kind: DelegationTokenErrorKind;
|
|
38
|
+
constructor(status: number, kind: DelegationTokenErrorKind, publicMessage: string);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Server-side client for the Uniform token exchange endpoint.
|
|
42
|
+
* Use this in your integration's backend to exchange a session token (obtained from the
|
|
43
|
+
* Mesh SDK iframe context) for a delegation token, or to refresh an existing delegation token.
|
|
44
|
+
*
|
|
45
|
+
* @deprecated This beta identity delegation API may change with breaking changes.
|
|
46
|
+
*/
|
|
47
|
+
declare class DelegationTokenClient {
|
|
48
|
+
#private;
|
|
49
|
+
constructor(options: DelegationTokenClientOptions);
|
|
50
|
+
/**
|
|
51
|
+
* Exchanges a short-lived session token for a delegation token and refresh token.
|
|
52
|
+
* The session token is obtained by the integration's frontend via `sdk.getSessionToken()`.
|
|
53
|
+
*
|
|
54
|
+
* @deprecated This beta identity delegation API may change with breaking changes.
|
|
55
|
+
*/
|
|
56
|
+
exchangeSessionToken(sessionToken: string): Promise<DelegationTokenResponse>;
|
|
57
|
+
/**
|
|
58
|
+
* Exchanges a refresh token for a new delegation token and a new refresh token.
|
|
59
|
+
*
|
|
60
|
+
* Replay posture: refresh tokens are bearer credentials that are valid until
|
|
61
|
+
* their server-side expiry. They are NOT single-use — a captured refresh token can be
|
|
62
|
+
* replayed by an attacker that also has the integration secret until it expires.
|
|
63
|
+
* Single-use enforcement (refresh-token storage, family/jti tracking, replay revocation)
|
|
64
|
+
* is tracked in `UNI-9279`.
|
|
65
|
+
*
|
|
66
|
+
* @deprecated This beta identity delegation API may change with breaking changes.
|
|
67
|
+
*/
|
|
68
|
+
refreshDelegationToken(refreshToken: string): Promise<DelegationTokenResponse>;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
interface paths$2 {
|
|
72
|
+
"/api/v1/integration-credentials": {
|
|
73
|
+
parameters: {
|
|
74
|
+
query?: never;
|
|
75
|
+
header?: never;
|
|
76
|
+
path?: never;
|
|
77
|
+
cookie?: never;
|
|
78
|
+
};
|
|
79
|
+
get?: never;
|
|
80
|
+
put?: never;
|
|
81
|
+
/** @description Mints or rotates the credential for an integration definition. Atomic: a successful response invalidates any previously-issued secret of the same kind. The plaintext secret is returned in the response body and must be persisted by the caller — Uniform stores only a hash. Response is `Cache-Control: no-store`. */
|
|
82
|
+
post: {
|
|
83
|
+
parameters: {
|
|
84
|
+
query?: never;
|
|
85
|
+
header?: never;
|
|
86
|
+
path?: never;
|
|
87
|
+
cookie?: never;
|
|
88
|
+
};
|
|
89
|
+
requestBody: {
|
|
90
|
+
content: {
|
|
91
|
+
"application/json": {
|
|
92
|
+
/**
|
|
93
|
+
* Format: uuid
|
|
94
|
+
* @description The team ID that owns the integration
|
|
95
|
+
*/
|
|
96
|
+
teamId: string;
|
|
97
|
+
/**
|
|
98
|
+
* Format: uuid
|
|
99
|
+
* @description The integration definition ID to mint or revoke credentials for
|
|
100
|
+
*/
|
|
101
|
+
integrationDefinitionId: string;
|
|
102
|
+
/**
|
|
103
|
+
* @description Kind of credential to rotate or revoke. Currently only `app_secret` is supported.
|
|
104
|
+
* @enum {string}
|
|
105
|
+
*/
|
|
106
|
+
kind: "app_secret";
|
|
107
|
+
};
|
|
108
|
+
};
|
|
109
|
+
};
|
|
110
|
+
responses: {
|
|
111
|
+
/** @description Credential minted or rotated. Plaintext secret is returned exactly once. */
|
|
112
|
+
200: {
|
|
113
|
+
headers: {
|
|
114
|
+
[name: string]: unknown;
|
|
115
|
+
};
|
|
116
|
+
content: {
|
|
117
|
+
"application/json": {
|
|
118
|
+
/**
|
|
119
|
+
* @description Kind of credential to rotate or revoke. Currently only `app_secret` is supported.
|
|
120
|
+
* @enum {string}
|
|
121
|
+
*/
|
|
122
|
+
kind: "app_secret";
|
|
123
|
+
/** Format: uuid */
|
|
124
|
+
integrationDefinitionId: string;
|
|
125
|
+
/** @description Plaintext app secret. Only returned on this response; cannot be retrieved later. */
|
|
126
|
+
appSecret: string;
|
|
127
|
+
/** @description ISO timestamp when the secret became effective. */
|
|
128
|
+
createdAt: string;
|
|
129
|
+
};
|
|
130
|
+
};
|
|
131
|
+
};
|
|
132
|
+
400: components$2["responses"]["BadRequestError"];
|
|
133
|
+
401: components$2["responses"]["UnauthorizedError"];
|
|
134
|
+
403: components$2["responses"]["ForbiddenError"];
|
|
135
|
+
/** @description Integration definition not found in this team */
|
|
136
|
+
404: {
|
|
137
|
+
headers: {
|
|
138
|
+
[name: string]: unknown;
|
|
139
|
+
};
|
|
140
|
+
content?: never;
|
|
141
|
+
};
|
|
142
|
+
429: components$2["responses"]["RateLimitError"];
|
|
143
|
+
500: components$2["responses"]["InternalServerError"];
|
|
144
|
+
};
|
|
145
|
+
};
|
|
146
|
+
/** @description Revokes the credential for an integration definition. Future grants and refreshes will fail until a new credential is minted. In-flight delegation tokens remain valid until natural expiry. */
|
|
147
|
+
delete: {
|
|
148
|
+
parameters: {
|
|
149
|
+
query?: never;
|
|
150
|
+
header?: never;
|
|
151
|
+
path?: never;
|
|
152
|
+
cookie?: never;
|
|
153
|
+
};
|
|
154
|
+
requestBody: {
|
|
155
|
+
content: {
|
|
156
|
+
"application/json": {
|
|
157
|
+
/**
|
|
158
|
+
* Format: uuid
|
|
159
|
+
* @description The team ID that owns the integration
|
|
160
|
+
*/
|
|
161
|
+
teamId: string;
|
|
162
|
+
/**
|
|
163
|
+
* Format: uuid
|
|
164
|
+
* @description The integration definition ID to mint or revoke credentials for
|
|
165
|
+
*/
|
|
166
|
+
integrationDefinitionId: string;
|
|
167
|
+
/**
|
|
168
|
+
* @description Kind of credential to rotate or revoke. Currently only `app_secret` is supported.
|
|
169
|
+
* @enum {string}
|
|
170
|
+
*/
|
|
171
|
+
kind: "app_secret";
|
|
172
|
+
};
|
|
173
|
+
};
|
|
174
|
+
};
|
|
175
|
+
responses: {
|
|
176
|
+
/** @description Credential revoked */
|
|
177
|
+
204: {
|
|
178
|
+
headers: {
|
|
179
|
+
[name: string]: unknown;
|
|
180
|
+
};
|
|
181
|
+
content?: never;
|
|
182
|
+
};
|
|
183
|
+
400: components$2["responses"]["BadRequestError"];
|
|
184
|
+
401: components$2["responses"]["UnauthorizedError"];
|
|
185
|
+
403: components$2["responses"]["ForbiddenError"];
|
|
186
|
+
/** @description Integration definition not found in this team, or no credential of the given kind is configured */
|
|
187
|
+
404: {
|
|
188
|
+
headers: {
|
|
189
|
+
[name: string]: unknown;
|
|
190
|
+
};
|
|
191
|
+
content?: never;
|
|
192
|
+
};
|
|
193
|
+
429: components$2["responses"]["RateLimitError"];
|
|
194
|
+
500: components$2["responses"]["InternalServerError"];
|
|
195
|
+
};
|
|
196
|
+
};
|
|
197
|
+
/** @description Handles preflight requests. This endpoint allows CORS. */
|
|
198
|
+
options: {
|
|
199
|
+
parameters: {
|
|
200
|
+
query?: never;
|
|
201
|
+
header?: never;
|
|
202
|
+
path?: never;
|
|
203
|
+
cookie?: never;
|
|
204
|
+
};
|
|
205
|
+
requestBody?: never;
|
|
206
|
+
responses: {
|
|
207
|
+
/** @description ok */
|
|
208
|
+
204: {
|
|
209
|
+
headers: {
|
|
210
|
+
[name: string]: unknown;
|
|
211
|
+
};
|
|
212
|
+
content?: never;
|
|
213
|
+
};
|
|
214
|
+
};
|
|
215
|
+
};
|
|
216
|
+
head?: never;
|
|
217
|
+
patch?: never;
|
|
218
|
+
trace?: never;
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
interface components$2 {
|
|
222
|
+
schemas: {
|
|
223
|
+
Error: {
|
|
224
|
+
/** @description Error message(s) that occurred while processing the request */
|
|
225
|
+
errorMessage?: string[] | string;
|
|
226
|
+
};
|
|
227
|
+
};
|
|
228
|
+
responses: {
|
|
229
|
+
/** @description Request input validation failed */
|
|
230
|
+
BadRequestError: {
|
|
231
|
+
headers: {
|
|
232
|
+
[name: string]: unknown;
|
|
233
|
+
};
|
|
234
|
+
content: {
|
|
235
|
+
"application/json": components$2["schemas"]["Error"];
|
|
236
|
+
};
|
|
237
|
+
};
|
|
238
|
+
/** @description API key or token was not valid */
|
|
239
|
+
UnauthorizedError: {
|
|
240
|
+
headers: {
|
|
241
|
+
[name: string]: unknown;
|
|
242
|
+
};
|
|
243
|
+
content: {
|
|
244
|
+
"application/json": components$2["schemas"]["Error"];
|
|
245
|
+
};
|
|
246
|
+
};
|
|
247
|
+
/** @description Permission was denied */
|
|
248
|
+
ForbiddenError: {
|
|
249
|
+
headers: {
|
|
250
|
+
[name: string]: unknown;
|
|
251
|
+
};
|
|
252
|
+
content: {
|
|
253
|
+
"application/json": components$2["schemas"]["Error"];
|
|
254
|
+
};
|
|
255
|
+
};
|
|
256
|
+
/** @description Too many requests in allowed time period */
|
|
257
|
+
RateLimitError: {
|
|
258
|
+
headers: {
|
|
259
|
+
[name: string]: unknown;
|
|
260
|
+
};
|
|
261
|
+
content?: never;
|
|
262
|
+
};
|
|
263
|
+
/** @description Execution error occurred */
|
|
264
|
+
InternalServerError: {
|
|
265
|
+
headers: {
|
|
266
|
+
[name: string]: unknown;
|
|
267
|
+
};
|
|
268
|
+
content?: never;
|
|
269
|
+
};
|
|
270
|
+
};
|
|
271
|
+
parameters: never;
|
|
272
|
+
requestBodies: never;
|
|
273
|
+
headers: never;
|
|
274
|
+
pathItems: never;
|
|
275
|
+
}
|
|
276
|
+
|
|
8
277
|
interface paths$1 {
|
|
9
278
|
"/api/v1/integration-definitions": {
|
|
10
279
|
parameters: {
|
|
@@ -17,8 +286,11 @@ interface paths$1 {
|
|
|
17
286
|
get: {
|
|
18
287
|
parameters: {
|
|
19
288
|
query: {
|
|
289
|
+
/** @description The team ID */
|
|
20
290
|
teamId: string;
|
|
291
|
+
/** @description Whether to include Mesh apps that are shared publicly to all teams, or only custom apps registered on this team. */
|
|
21
292
|
includePublic?: boolean | null;
|
|
293
|
+
/** @description Whether to use team-specific integration types or team-agnostic types (for serialization across projects) */
|
|
22
294
|
teamSpecificType?: boolean | null;
|
|
23
295
|
};
|
|
24
296
|
header?: never;
|
|
@@ -43,6 +315,9 @@ interface paths$1 {
|
|
|
43
315
|
category?: "analytics" | "cdn" | "classic" | "commerce" | "content" | "comingSoon" | "data" | "deprecated" | "email" | "framework" | "search" | "starters" | "translation" | "uniform" | "ai" | "unknown";
|
|
44
316
|
public?: boolean;
|
|
45
317
|
scopes?: string[];
|
|
318
|
+
identityDelegation?: boolean;
|
|
319
|
+
/** Format: uuid */
|
|
320
|
+
integrationId?: string;
|
|
46
321
|
baseLocationUrl?: string;
|
|
47
322
|
locations: {
|
|
48
323
|
install?: {
|
|
@@ -118,6 +393,10 @@ interface paths$1 {
|
|
|
118
393
|
name: string;
|
|
119
394
|
url: string;
|
|
120
395
|
iconUrl?: string;
|
|
396
|
+
access?: {
|
|
397
|
+
/** @enum {boolean} */
|
|
398
|
+
teamAdminRequired?: true;
|
|
399
|
+
};
|
|
121
400
|
editorTypes?: ("composition" | "componentPattern" | "compositionDefaults" | "entry" | "entryPattern")[];
|
|
122
401
|
}[];
|
|
123
402
|
personalization?: {
|
|
@@ -174,18 +453,6 @@ interface paths$1 {
|
|
|
174
453
|
};
|
|
175
454
|
};
|
|
176
455
|
embeddedEditor?: string;
|
|
177
|
-
dataResourceSelectorUrl?: string;
|
|
178
|
-
dataResourceSelectorLocations?: {
|
|
179
|
-
[key: string]: {
|
|
180
|
-
url: string;
|
|
181
|
-
layout?: {
|
|
182
|
-
/** @enum {string} */
|
|
183
|
-
height?: "full-height";
|
|
184
|
-
/** @enum {string} */
|
|
185
|
-
width?: "wide";
|
|
186
|
-
};
|
|
187
|
-
};
|
|
188
|
-
};
|
|
189
456
|
};
|
|
190
457
|
};
|
|
191
458
|
badgeIconUrl?: string;
|
|
@@ -222,7 +489,6 @@ interface paths$1 {
|
|
|
222
489
|
generateUrl: string;
|
|
223
490
|
metadataUrl?: string;
|
|
224
491
|
prompts?: {
|
|
225
|
-
/** Format: uuid */
|
|
226
492
|
id: string;
|
|
227
493
|
name: string;
|
|
228
494
|
text: string;
|
|
@@ -266,22 +532,33 @@ interface paths$1 {
|
|
|
266
532
|
name: string;
|
|
267
533
|
url: string;
|
|
268
534
|
iconUrl?: string;
|
|
535
|
+
access?: {
|
|
536
|
+
/** @enum {boolean} */
|
|
537
|
+
teamAdminRequired?: true;
|
|
538
|
+
};
|
|
269
539
|
}[];
|
|
270
540
|
projectTools?: {
|
|
271
541
|
id: string;
|
|
272
542
|
name: string;
|
|
273
543
|
url: string;
|
|
274
544
|
iconUrl?: string;
|
|
545
|
+
access?: {
|
|
546
|
+
/** @enum {boolean} */
|
|
547
|
+
teamAdminRequired?: true;
|
|
548
|
+
};
|
|
275
549
|
}[];
|
|
276
550
|
dashboardTools?: {
|
|
277
551
|
id: string;
|
|
278
552
|
name: string;
|
|
279
553
|
url: string;
|
|
280
554
|
iconUrl?: string;
|
|
555
|
+
access?: {
|
|
556
|
+
/** @enum {boolean} */
|
|
557
|
+
teamAdminRequired?: true;
|
|
558
|
+
};
|
|
281
559
|
}[];
|
|
282
560
|
};
|
|
283
561
|
unstable_prompts?: {
|
|
284
|
-
/** Format: uuid */
|
|
285
562
|
id: string;
|
|
286
563
|
name: string;
|
|
287
564
|
text: string;
|
|
@@ -309,7 +586,7 @@ interface paths$1 {
|
|
|
309
586
|
500: components$1["responses"]["InternalServerError"];
|
|
310
587
|
};
|
|
311
588
|
};
|
|
312
|
-
/** @description Creates or updates a Mesh app definition on a team */
|
|
589
|
+
/** @description Creates or updates a Mesh app definition on a team. */
|
|
313
590
|
put: {
|
|
314
591
|
parameters: {
|
|
315
592
|
query?: never;
|
|
@@ -320,10 +597,7 @@ interface paths$1 {
|
|
|
320
597
|
requestBody: {
|
|
321
598
|
content: {
|
|
322
599
|
"application/json": {
|
|
323
|
-
/**
|
|
324
|
-
* Format: uuid
|
|
325
|
-
* @description The team ID
|
|
326
|
-
*/
|
|
600
|
+
/** @description The team ID */
|
|
327
601
|
teamId: string;
|
|
328
602
|
data: {
|
|
329
603
|
type: string;
|
|
@@ -333,6 +607,7 @@ interface paths$1 {
|
|
|
333
607
|
/** @enum {string} */
|
|
334
608
|
category?: "analytics" | "cdn" | "classic" | "commerce" | "content" | "comingSoon" | "data" | "deprecated" | "email" | "framework" | "search" | "starters" | "translation" | "uniform" | "ai" | "unknown";
|
|
335
609
|
scopes?: string[];
|
|
610
|
+
identityDelegation?: boolean;
|
|
336
611
|
baseLocationUrl?: string;
|
|
337
612
|
locations: {
|
|
338
613
|
install?: {
|
|
@@ -408,6 +683,10 @@ interface paths$1 {
|
|
|
408
683
|
name: string;
|
|
409
684
|
url: string;
|
|
410
685
|
iconUrl?: string;
|
|
686
|
+
access?: {
|
|
687
|
+
/** @enum {boolean} */
|
|
688
|
+
teamAdminRequired?: true;
|
|
689
|
+
};
|
|
411
690
|
editorTypes?: ("composition" | "componentPattern" | "compositionDefaults" | "entry" | "entryPattern")[];
|
|
412
691
|
}[];
|
|
413
692
|
personalization?: {
|
|
@@ -464,18 +743,6 @@ interface paths$1 {
|
|
|
464
743
|
};
|
|
465
744
|
};
|
|
466
745
|
embeddedEditor?: string;
|
|
467
|
-
dataResourceSelectorUrl?: string;
|
|
468
|
-
dataResourceSelectorLocations?: {
|
|
469
|
-
[key: string]: {
|
|
470
|
-
url: string;
|
|
471
|
-
layout?: {
|
|
472
|
-
/** @enum {string} */
|
|
473
|
-
height?: "full-height";
|
|
474
|
-
/** @enum {string} */
|
|
475
|
-
width?: "wide";
|
|
476
|
-
};
|
|
477
|
-
};
|
|
478
|
-
};
|
|
479
746
|
};
|
|
480
747
|
};
|
|
481
748
|
badgeIconUrl?: string;
|
|
@@ -512,7 +779,6 @@ interface paths$1 {
|
|
|
512
779
|
generateUrl: string;
|
|
513
780
|
metadataUrl?: string;
|
|
514
781
|
prompts?: {
|
|
515
|
-
/** Format: uuid */
|
|
516
782
|
id: string;
|
|
517
783
|
name: string;
|
|
518
784
|
text: string;
|
|
@@ -556,22 +822,33 @@ interface paths$1 {
|
|
|
556
822
|
name: string;
|
|
557
823
|
url: string;
|
|
558
824
|
iconUrl?: string;
|
|
825
|
+
access?: {
|
|
826
|
+
/** @enum {boolean} */
|
|
827
|
+
teamAdminRequired?: true;
|
|
828
|
+
};
|
|
559
829
|
}[];
|
|
560
830
|
projectTools?: {
|
|
561
831
|
id: string;
|
|
562
832
|
name: string;
|
|
563
833
|
url: string;
|
|
564
834
|
iconUrl?: string;
|
|
835
|
+
access?: {
|
|
836
|
+
/** @enum {boolean} */
|
|
837
|
+
teamAdminRequired?: true;
|
|
838
|
+
};
|
|
565
839
|
}[];
|
|
566
840
|
dashboardTools?: {
|
|
567
841
|
id: string;
|
|
568
842
|
name: string;
|
|
569
843
|
url: string;
|
|
570
844
|
iconUrl?: string;
|
|
845
|
+
access?: {
|
|
846
|
+
/** @enum {boolean} */
|
|
847
|
+
teamAdminRequired?: true;
|
|
848
|
+
};
|
|
571
849
|
}[];
|
|
572
850
|
};
|
|
573
851
|
unstable_prompts?: {
|
|
574
|
-
/** Format: uuid */
|
|
575
852
|
id: string;
|
|
576
853
|
name: string;
|
|
577
854
|
text: string;
|
|
@@ -608,6 +885,12 @@ interface paths$1 {
|
|
|
608
885
|
category?: "analytics" | "cdn" | "classic" | "commerce" | "content" | "comingSoon" | "data" | "deprecated" | "email" | "framework" | "search" | "starters" | "translation" | "uniform" | "ai" | "unknown";
|
|
609
886
|
public?: boolean;
|
|
610
887
|
scopes?: string[];
|
|
888
|
+
identityDelegation?: boolean;
|
|
889
|
+
/**
|
|
890
|
+
* Format: uuid
|
|
891
|
+
* @description Stable id for this integration definition. Required for identity delegation token exchange.
|
|
892
|
+
*/
|
|
893
|
+
integrationId: string;
|
|
611
894
|
baseLocationUrl?: string;
|
|
612
895
|
locations: {
|
|
613
896
|
install?: {
|
|
@@ -683,6 +966,10 @@ interface paths$1 {
|
|
|
683
966
|
name: string;
|
|
684
967
|
url: string;
|
|
685
968
|
iconUrl?: string;
|
|
969
|
+
access?: {
|
|
970
|
+
/** @enum {boolean} */
|
|
971
|
+
teamAdminRequired?: true;
|
|
972
|
+
};
|
|
686
973
|
editorTypes?: ("composition" | "componentPattern" | "compositionDefaults" | "entry" | "entryPattern")[];
|
|
687
974
|
}[];
|
|
688
975
|
personalization?: {
|
|
@@ -739,18 +1026,6 @@ interface paths$1 {
|
|
|
739
1026
|
};
|
|
740
1027
|
};
|
|
741
1028
|
embeddedEditor?: string;
|
|
742
|
-
dataResourceSelectorUrl?: string;
|
|
743
|
-
dataResourceSelectorLocations?: {
|
|
744
|
-
[key: string]: {
|
|
745
|
-
url: string;
|
|
746
|
-
layout?: {
|
|
747
|
-
/** @enum {string} */
|
|
748
|
-
height?: "full-height";
|
|
749
|
-
/** @enum {string} */
|
|
750
|
-
width?: "wide";
|
|
751
|
-
};
|
|
752
|
-
};
|
|
753
|
-
};
|
|
754
1029
|
};
|
|
755
1030
|
};
|
|
756
1031
|
badgeIconUrl?: string;
|
|
@@ -787,7 +1062,6 @@ interface paths$1 {
|
|
|
787
1062
|
generateUrl: string;
|
|
788
1063
|
metadataUrl?: string;
|
|
789
1064
|
prompts?: {
|
|
790
|
-
/** Format: uuid */
|
|
791
1065
|
id: string;
|
|
792
1066
|
name: string;
|
|
793
1067
|
text: string;
|
|
@@ -831,22 +1105,33 @@ interface paths$1 {
|
|
|
831
1105
|
name: string;
|
|
832
1106
|
url: string;
|
|
833
1107
|
iconUrl?: string;
|
|
1108
|
+
access?: {
|
|
1109
|
+
/** @enum {boolean} */
|
|
1110
|
+
teamAdminRequired?: true;
|
|
1111
|
+
};
|
|
834
1112
|
}[];
|
|
835
1113
|
projectTools?: {
|
|
836
1114
|
id: string;
|
|
837
1115
|
name: string;
|
|
838
1116
|
url: string;
|
|
839
1117
|
iconUrl?: string;
|
|
1118
|
+
access?: {
|
|
1119
|
+
/** @enum {boolean} */
|
|
1120
|
+
teamAdminRequired?: true;
|
|
1121
|
+
};
|
|
840
1122
|
}[];
|
|
841
1123
|
dashboardTools?: {
|
|
842
1124
|
id: string;
|
|
843
1125
|
name: string;
|
|
844
1126
|
url: string;
|
|
845
1127
|
iconUrl?: string;
|
|
1128
|
+
access?: {
|
|
1129
|
+
/** @enum {boolean} */
|
|
1130
|
+
teamAdminRequired?: true;
|
|
1131
|
+
};
|
|
846
1132
|
}[];
|
|
847
1133
|
};
|
|
848
1134
|
unstable_prompts?: {
|
|
849
|
-
/** Format: uuid */
|
|
850
1135
|
id: string;
|
|
851
1136
|
name: string;
|
|
852
1137
|
text: string;
|
|
@@ -885,10 +1170,7 @@ interface paths$1 {
|
|
|
885
1170
|
requestBody: {
|
|
886
1171
|
content: {
|
|
887
1172
|
"application/json": {
|
|
888
|
-
/**
|
|
889
|
-
* Format: uuid
|
|
890
|
-
* @description The team ID
|
|
891
|
-
*/
|
|
1173
|
+
/** @description The team ID */
|
|
892
1174
|
teamId: string;
|
|
893
1175
|
/** @description The integration type to remove */
|
|
894
1176
|
type: string;
|
|
@@ -1009,9 +1291,13 @@ interface paths {
|
|
|
1009
1291
|
get: {
|
|
1010
1292
|
parameters: {
|
|
1011
1293
|
query: {
|
|
1294
|
+
/** @description The project ID */
|
|
1012
1295
|
projectId: string;
|
|
1296
|
+
/** @description Limit results to a single integration type */
|
|
1013
1297
|
type?: string;
|
|
1298
|
+
/** @description Whether to match the passed type exactly or to treat the type as a prefix */
|
|
1014
1299
|
exactType?: boolean | null;
|
|
1300
|
+
/** @description Whether to use team-specific integration types or team-agnostic types (for serialization across projects) */
|
|
1015
1301
|
teamSpecificType?: boolean | null;
|
|
1016
1302
|
};
|
|
1017
1303
|
header?: never;
|
|
@@ -1054,11 +1340,9 @@ interface paths {
|
|
|
1054
1340
|
requestBody: {
|
|
1055
1341
|
content: {
|
|
1056
1342
|
"application/json": {
|
|
1057
|
-
/**
|
|
1058
|
-
* Format: uuid
|
|
1059
|
-
* @description The project ID
|
|
1060
|
-
*/
|
|
1343
|
+
/** @description The project ID */
|
|
1061
1344
|
projectId: string;
|
|
1345
|
+
/** @description Whether to match the passed type exactly or to treat the type as a prefix */
|
|
1062
1346
|
exactType?: boolean | null;
|
|
1063
1347
|
type: string;
|
|
1064
1348
|
data?: {
|
|
@@ -1094,13 +1378,11 @@ interface paths {
|
|
|
1094
1378
|
requestBody: {
|
|
1095
1379
|
content: {
|
|
1096
1380
|
"application/json": {
|
|
1097
|
-
/**
|
|
1098
|
-
* Format: uuid
|
|
1099
|
-
* @description The project ID
|
|
1100
|
-
*/
|
|
1381
|
+
/** @description The project ID */
|
|
1101
1382
|
projectId: string;
|
|
1102
1383
|
/** @description The integration type to remove */
|
|
1103
1384
|
type: string;
|
|
1385
|
+
/** @description Whether to match the passed type exactly or to treat the type as a prefix */
|
|
1104
1386
|
exactType?: boolean | null;
|
|
1105
1387
|
};
|
|
1106
1388
|
};
|
|
@@ -1209,6 +1491,7 @@ interface components {
|
|
|
1209
1491
|
|
|
1210
1492
|
type IntegrationDefinitionsApi = paths$1['/api/v1/integration-definitions'];
|
|
1211
1493
|
type IntegrationInstallationsApi = paths['/api/v1/integration-installations'];
|
|
1494
|
+
type IntegrationCredentialsApi = paths$2['/api/v1/integration-credentials'];
|
|
1212
1495
|
/** Query parameter options for GET /api/v1/integration-definitions */
|
|
1213
1496
|
type IntegrationDefinitionGetParameters = IntegrationDefinitionsApi['get']['parameters']['query'];
|
|
1214
1497
|
/** The GET response from /api/v1/integration-definitions */
|
|
@@ -1219,6 +1502,12 @@ type IntegrationDefinitionPutParameters = IntegrationDefinitionsApi['put']['requ
|
|
|
1219
1502
|
type IntegrationDefinitionPutResponse = IntegrationDefinitionsApi['put']['responses']['200']['content']['application/json'];
|
|
1220
1503
|
/** The DELETE body for /api/v1/integration-definitions */
|
|
1221
1504
|
type IntegrationDefinitionDeleteParameters = IntegrationDefinitionsApi['delete']['requestBody']['content']['application/json'];
|
|
1505
|
+
/** The POST body for /api/v1/integration-credentials (rotate or mint) */
|
|
1506
|
+
type IntegrationCredentialRotateParameters = IntegrationCredentialsApi['post']['requestBody']['content']['application/json'];
|
|
1507
|
+
/** The POST response for /api/v1/integration-credentials (returns the plaintext secret once) */
|
|
1508
|
+
type IntegrationCredentialRotateResponse = IntegrationCredentialsApi['post']['responses']['200']['content']['application/json'];
|
|
1509
|
+
/** The DELETE body for /api/v1/integration-credentials (revoke) */
|
|
1510
|
+
type IntegrationCredentialRevokeParameters = IntegrationCredentialsApi['delete']['requestBody']['content']['application/json'];
|
|
1222
1511
|
/** Query parameter options for GET /api/v1/integration-installations */
|
|
1223
1512
|
type IntegrationInstallationGetParameters = IntegrationInstallationsApi['get']['parameters']['query'];
|
|
1224
1513
|
/** The GET response from /api/v1/integration-installations */
|
|
@@ -1231,13 +1520,13 @@ type IntegrationInstallationDeleteParameters = IntegrationInstallationsApi['dele
|
|
|
1231
1520
|
type DefClientOptions = Omit<ClientOptions, 'apiKey' | 'projectId'> & {
|
|
1232
1521
|
teamId: string;
|
|
1233
1522
|
};
|
|
1234
|
-
/** API Client to manage the registration of custom Mesh applications */
|
|
1523
|
+
/** API Client to manage the registration of custom Mesh applications and their identity-delegation credentials. */
|
|
1235
1524
|
declare class IntegrationDefinitionClient extends ApiClient<DefClientOptions> {
|
|
1236
1525
|
#private;
|
|
1237
1526
|
constructor(options: DefClientOptions);
|
|
1238
1527
|
/** Fetches all mesh apps for a team (and optionally also those shared across teams) */
|
|
1239
1528
|
get(options?: Omit<IntegrationDefinitionGetParameters, 'teamId'>): Promise<IntegrationDefinitionGetResponse>;
|
|
1240
|
-
/** Creates or updates a mesh app definition on a team */
|
|
1529
|
+
/** Creates or updates a mesh app definition on a team. Identity-delegation credentials must be minted separately via {@link rotateCredential}. */
|
|
1241
1530
|
upsert(body: Omit<IntegrationDefinitionPutParameters, 'teamId'>): Promise<{
|
|
1242
1531
|
type: string;
|
|
1243
1532
|
displayName: string;
|
|
@@ -1246,6 +1535,8 @@ declare class IntegrationDefinitionClient extends ApiClient<DefClientOptions> {
|
|
|
1246
1535
|
category?: "analytics" | "cdn" | "classic" | "commerce" | "content" | "comingSoon" | "data" | "deprecated" | "email" | "framework" | "search" | "starters" | "translation" | "uniform" | "ai" | "unknown";
|
|
1247
1536
|
public?: boolean;
|
|
1248
1537
|
scopes?: string[];
|
|
1538
|
+
identityDelegation?: boolean;
|
|
1539
|
+
integrationId: string;
|
|
1249
1540
|
baseLocationUrl?: string;
|
|
1250
1541
|
locations: {
|
|
1251
1542
|
install?: {
|
|
@@ -1314,6 +1605,9 @@ declare class IntegrationDefinitionClient extends ApiClient<DefClientOptions> {
|
|
|
1314
1605
|
name: string;
|
|
1315
1606
|
url: string;
|
|
1316
1607
|
iconUrl?: string;
|
|
1608
|
+
access?: {
|
|
1609
|
+
teamAdminRequired?: true;
|
|
1610
|
+
};
|
|
1317
1611
|
editorTypes?: ("composition" | "componentPattern" | "compositionDefaults" | "entry" | "entryPattern")[];
|
|
1318
1612
|
}[];
|
|
1319
1613
|
personalization?: {
|
|
@@ -1364,16 +1658,6 @@ declare class IntegrationDefinitionClient extends ApiClient<DefClientOptions> {
|
|
|
1364
1658
|
};
|
|
1365
1659
|
};
|
|
1366
1660
|
embeddedEditor?: string;
|
|
1367
|
-
dataResourceSelectorUrl?: string;
|
|
1368
|
-
dataResourceSelectorLocations?: {
|
|
1369
|
-
[key: string]: {
|
|
1370
|
-
url: string;
|
|
1371
|
-
layout?: {
|
|
1372
|
-
height?: "full-height";
|
|
1373
|
-
width?: "wide";
|
|
1374
|
-
};
|
|
1375
|
-
};
|
|
1376
|
-
};
|
|
1377
1661
|
};
|
|
1378
1662
|
};
|
|
1379
1663
|
badgeIconUrl?: string;
|
|
@@ -1451,18 +1735,27 @@ declare class IntegrationDefinitionClient extends ApiClient<DefClientOptions> {
|
|
|
1451
1735
|
name: string;
|
|
1452
1736
|
url: string;
|
|
1453
1737
|
iconUrl?: string;
|
|
1738
|
+
access?: {
|
|
1739
|
+
teamAdminRequired?: true;
|
|
1740
|
+
};
|
|
1454
1741
|
}[];
|
|
1455
1742
|
projectTools?: {
|
|
1456
1743
|
id: string;
|
|
1457
1744
|
name: string;
|
|
1458
1745
|
url: string;
|
|
1459
1746
|
iconUrl?: string;
|
|
1747
|
+
access?: {
|
|
1748
|
+
teamAdminRequired?: true;
|
|
1749
|
+
};
|
|
1460
1750
|
}[];
|
|
1461
1751
|
dashboardTools?: {
|
|
1462
1752
|
id: string;
|
|
1463
1753
|
name: string;
|
|
1464
1754
|
url: string;
|
|
1465
1755
|
iconUrl?: string;
|
|
1756
|
+
access?: {
|
|
1757
|
+
teamAdminRequired?: true;
|
|
1758
|
+
};
|
|
1466
1759
|
}[];
|
|
1467
1760
|
};
|
|
1468
1761
|
unstable_prompts?: {
|
|
@@ -1485,6 +1778,19 @@ declare class IntegrationDefinitionClient extends ApiClient<DefClientOptions> {
|
|
|
1485
1778
|
}>;
|
|
1486
1779
|
/** Deletes a mesh app from a team */
|
|
1487
1780
|
remove(body: Omit<IntegrationDefinitionDeleteParameters, 'teamId'>): Promise<void>;
|
|
1781
|
+
/**
|
|
1782
|
+
* Mints or rotates an identity-delegation credential for an integration definition. The plaintext
|
|
1783
|
+
* `appSecret` is returned exactly once and is not retrievable afterwards — Uniform stores only
|
|
1784
|
+
* the hash. A successful response invalidates any previously-issued secret of the same kind.
|
|
1785
|
+
* Caller must be a team admin.
|
|
1786
|
+
*/
|
|
1787
|
+
rotateCredential(body: Omit<IntegrationCredentialRotateParameters, 'teamId'>): Promise<IntegrationCredentialRotateResponse>;
|
|
1788
|
+
/**
|
|
1789
|
+
* Revokes an identity-delegation credential. Future delegation grants and refreshes will fail
|
|
1790
|
+
* until a new credential is minted; in-flight delegation tokens remain valid until natural
|
|
1791
|
+
* expiry (up to ~15 minutes). Caller must be a team admin.
|
|
1792
|
+
*/
|
|
1793
|
+
revokeCredential(body: Omit<IntegrationCredentialRevokeParameters, 'teamId'>): Promise<void>;
|
|
1488
1794
|
}
|
|
1489
1795
|
|
|
1490
1796
|
/** API Client to manage the registration of custom Mesh applications */
|
|
@@ -1588,6 +1894,16 @@ type DataTypeLocationMetadata<TIntegrationConfiguration = unknown> = CommonMetad
|
|
|
1588
1894
|
type DataTypeLocation = MeshLocationCore<DataTypeLocationValue, DataTypeLocationMetadata, DataTypeLocationValue, 'dataType'> & GetDataResourceLocation;
|
|
1589
1895
|
|
|
1590
1896
|
type DataResourceLocationMetadata<TIntegrationConfiguration = unknown> = CommonMetadata<{
|
|
1897
|
+
/**
|
|
1898
|
+
* The release ID of the currently edited entity.
|
|
1899
|
+
* This can be undefined when a release is active but the entity has not been copied to that release yet.
|
|
1900
|
+
*/
|
|
1901
|
+
releaseId?: string;
|
|
1902
|
+
/**
|
|
1903
|
+
* The currently active release ID from editor context.
|
|
1904
|
+
* This reflects release selection regardless of whether the edited entity exists in that release.
|
|
1905
|
+
*/
|
|
1906
|
+
activeReleaseId?: string;
|
|
1591
1907
|
dataType: DataType;
|
|
1592
1908
|
/** The data type's archetype value. */
|
|
1593
1909
|
archetype: string;
|
|
@@ -1604,34 +1920,6 @@ type DataResourceLocationMetadata<TIntegrationConfiguration = unknown> = CommonM
|
|
|
1604
1920
|
}, TIntegrationConfiguration>;
|
|
1605
1921
|
type DataResourceLocation = MeshLocationCore<DataResourceVariables, DataResourceLocationMetadata, DataResourceVariables, 'dataResource'> & GetDataResourceLocation;
|
|
1606
1922
|
|
|
1607
|
-
/**
|
|
1608
|
-
* Metadata for the dataResourceSelector location.
|
|
1609
|
-
* This location type allows custom UI for selecting JSON pointers within a data resource,
|
|
1610
|
-
* replacing the default JSON tree viewer in the dynamic token picker.
|
|
1611
|
-
*/
|
|
1612
|
-
type DataResourceSelectorLocationMetadata<TIntegrationConfiguration = unknown> = CommonMetadata<{
|
|
1613
|
-
/** The resolved data for the currently selected data resource */
|
|
1614
|
-
dataResourceValue: unknown;
|
|
1615
|
-
/** The name of the currently selected data resource */
|
|
1616
|
-
dataResourceName: string;
|
|
1617
|
-
/** The data type ID for the current data resource */
|
|
1618
|
-
dataTypeId: string;
|
|
1619
|
-
/** The data type's archetype value (useful for apps sharing a selector across archetypes) */
|
|
1620
|
-
archetype: string;
|
|
1621
|
-
/** Allowed bindable types for the parameter being connected */
|
|
1622
|
-
allowedTypes: BindableTypes[];
|
|
1623
|
-
}, TIntegrationConfiguration>;
|
|
1624
|
-
/**
|
|
1625
|
-
* Location for custom data resource selector UI.
|
|
1626
|
-
* Replaces the default JSON tree viewer when selecting dynamic tokens from a data resource.
|
|
1627
|
-
*
|
|
1628
|
-
* Value: The selected JSON pointer string (e.g., "/moves/0/move/name")
|
|
1629
|
-
* setValue: Call with a valid JSON pointer to select that path
|
|
1630
|
-
* getDataResource: Fetch data from the data connector using the current data source
|
|
1631
|
-
* @deprecated This is experimental functionality and is subject to change without notice.
|
|
1632
|
-
*/
|
|
1633
|
-
type DataResourceSelectorLocation = MeshLocationCore<string, DataResourceSelectorLocationMetadata, string, 'dataResourceSelector'> & GetDataResourceLocation;
|
|
1634
|
-
|
|
1635
1923
|
type DataSourceLocationValue = Pick<DataSource, 'baseUrl' | 'custom' | 'customPublic' | 'headers' | 'parameters' | 'variables' | 'enableUnpublishedMode' | 'variants'>;
|
|
1636
1924
|
type DataSourceLocationMetadata<TIntegrationConfiguration = unknown> = CommonMetadata<{
|
|
1637
1925
|
/**
|
|
@@ -1643,7 +1931,6 @@ type DataSourceLocationMetadata<TIntegrationConfiguration = unknown> = CommonMet
|
|
|
1643
1931
|
type DataSourceLocation = MeshLocationCore<DataSourceLocationValue, DataSourceLocationMetadata, DataSourceLocationValue, 'dataSource'>;
|
|
1644
1932
|
|
|
1645
1933
|
type ParamTypeLocationMetadata<TParamConfiguration = unknown, TIntegrationConfiguration = unknown> = CommonMetadata<{
|
|
1646
|
-
/** editorState is an experimental replacement for rootNode. This may become deprecated in the future. */
|
|
1647
1934
|
rootNode: Omit<RootComponentInstance, 'slots' | '_data'> & {
|
|
1648
1935
|
_editionId?: string;
|
|
1649
1936
|
};
|
|
@@ -1672,11 +1959,6 @@ type ParamTypeLocationMetadata<TParamConfiguration = unknown, TIntegrationConfig
|
|
|
1672
1959
|
* Note that setValue() always sets the target language automatically.
|
|
1673
1960
|
*/
|
|
1674
1961
|
targetLocale: string | undefined;
|
|
1675
|
-
/**
|
|
1676
|
-
* The current locale selected in the editor UI.
|
|
1677
|
-
* Unlike targetLocale, this reflects the editor's global locale state.
|
|
1678
|
-
*/
|
|
1679
|
-
currentLocale: string | undefined;
|
|
1680
1962
|
/**
|
|
1681
1963
|
* When editing a conditional value, this is the index in the parent parameter of the conditional value.
|
|
1682
1964
|
* If this is -1, then the editor is not editing a conditional value.
|
|
@@ -1689,12 +1971,6 @@ type ParamTypeLocation<TParamValue = unknown, TParamConfiguration = unknown, TPa
|
|
|
1689
1971
|
* Returns the result of the dialog. Useful to build data-enabled parameter types.
|
|
1690
1972
|
*/
|
|
1691
1973
|
editConnectedData: Awaited<ReturnType<typeof connectToParent>>['parent']['editConnectedData'];
|
|
1692
|
-
/**
|
|
1693
|
-
* Imperative API for interacting with the composition/entry editor state.
|
|
1694
|
-
* Provides non-reactive access to read and modify the editor state.
|
|
1695
|
-
* @deprecated This is experimental functionality and is subject to change without notice.
|
|
1696
|
-
*/
|
|
1697
|
-
editorState: EditorStateApi;
|
|
1698
1974
|
};
|
|
1699
1975
|
|
|
1700
1976
|
type SettingsLocationMetadata = CommonMetadata;
|
|
@@ -1704,7 +1980,7 @@ type SettingsLocation<TSettingsType> = MeshLocationCore<TSettingsType, SettingsL
|
|
|
1704
1980
|
* Defines methods used for interacting with a Mesh location
|
|
1705
1981
|
* To receive useful typings, check the `type` property of the location to narrow the typing.
|
|
1706
1982
|
*/
|
|
1707
|
-
type MeshLocation<TValue = unknown, TSetValue = TValue> = ParamTypeLocation<TValue, unknown, TSetValue> | ParamTypeConfigLocation<TValue> | SettingsLocation<TValue> | AssetLibraryLocation | AssetParameterLocation | DataSourceLocation | DataTypeLocation | DataResourceLocation |
|
|
1983
|
+
type MeshLocation<TValue = unknown, TSetValue = TValue> = ParamTypeLocation<TValue, unknown, TSetValue> | ParamTypeConfigLocation<TValue> | SettingsLocation<TValue> | AssetLibraryLocation | AssetParameterLocation | DataSourceLocation | DataTypeLocation | DataResourceLocation | CanvasEditorToolsLocation | EmbeddedEditorLocation | AIGenerateLocation<TValue> | AIPromptMetadataLocation | PersonalizationCriteriaLocation<TValue> | DashboardToolLocation<TValue> | ProjectToolLocation<TValue>;
|
|
1708
1984
|
interface MeshContextData {
|
|
1709
1985
|
locationKey: string;
|
|
1710
1986
|
locationType: MeshLocationTypes;
|
|
@@ -1872,7 +2148,36 @@ type UniformUser = {
|
|
|
1872
2148
|
isAdmin: boolean;
|
|
1873
2149
|
};
|
|
1874
2150
|
|
|
1875
|
-
|
|
2151
|
+
/**
|
|
2152
|
+
* Methods the parent frame exposes to the Mesh SDK over the iframe bridge (`connectToParent().parent`).
|
|
2153
|
+
* The dashboard implements the same shape when wiring `setupIframeListeners` / mesh location hosts.
|
|
2154
|
+
*/
|
|
2155
|
+
interface MeshParentConnection {
|
|
2156
|
+
resize: ({ height }: {
|
|
2157
|
+
height: CSSHeight;
|
|
2158
|
+
}) => Promise<void>;
|
|
2159
|
+
setValue: (value: SetValueMessage) => Promise<void>;
|
|
2160
|
+
openDialog: (message: OpenDialogMessage) => Promise<Pick<DialogResponseData, 'value' | 'dialogId'> | undefined>;
|
|
2161
|
+
closeDialog: (message: CloseDialogMessage) => Promise<void>;
|
|
2162
|
+
getDataResource: <TExpectedResult>(message: GetDataResourceMessage) => Promise<TExpectedResult>;
|
|
2163
|
+
navigate: (message: NavigateMessage) => Promise<void>;
|
|
2164
|
+
reloadLocation: () => Promise<void>;
|
|
2165
|
+
editConnectedData: (message: EditConnectedDataMessage) => Promise<EditConnectedDataResponse>;
|
|
2166
|
+
/**
|
|
2167
|
+
* Returns a short-lived session token for identity delegation, or `undefined` when delegation
|
|
2168
|
+
* is not enabled for this integration.
|
|
2169
|
+
*
|
|
2170
|
+
* @deprecated This beta identity delegation API may change with breaking changes.
|
|
2171
|
+
*/
|
|
2172
|
+
getSessionToken: () => Promise<string | undefined>;
|
|
2173
|
+
}
|
|
2174
|
+
type ConnectToParentResult = {
|
|
2175
|
+
initData: MeshContextData;
|
|
2176
|
+
parent: MeshParentConnection;
|
|
2177
|
+
};
|
|
2178
|
+
/** Shape of the handler object the mesh parent iframe must provide (includes `initialize` for the host side). */
|
|
2179
|
+
type MeshSDKEventInterface = MeshParentConnection & {
|
|
2180
|
+
/** Invoked by the child on startup; not part of `connectToParent().parent` but required on the host. */
|
|
1876
2181
|
initialize: () => Promise<MeshContextData>;
|
|
1877
2182
|
};
|
|
1878
2183
|
/**
|
|
@@ -1883,22 +2188,7 @@ declare function connectToParent({ dialogResponseHandlers, onMetadataUpdated, on
|
|
|
1883
2188
|
dialogResponseHandlers: DialogResponseHandlers;
|
|
1884
2189
|
onMetadataUpdated: (metadata: unknown) => void;
|
|
1885
2190
|
onValueExternallyUpdated: (value: unknown) => void;
|
|
1886
|
-
}): Promise<
|
|
1887
|
-
initData: MeshContextData;
|
|
1888
|
-
parent: {
|
|
1889
|
-
resize: ({ height }: {
|
|
1890
|
-
height: CSSHeight;
|
|
1891
|
-
}) => Promise<void>;
|
|
1892
|
-
setValue: (value: SetValueMessage) => Promise<void>;
|
|
1893
|
-
openDialog: (message: OpenDialogMessage) => Promise<Pick<DialogResponseData, "value" | "dialogId"> | undefined>;
|
|
1894
|
-
closeDialog: (message: CloseDialogMessage) => Promise<void>;
|
|
1895
|
-
getDataResource: <TExpectedResult>(message: GetDataResourceMessage) => Promise<TExpectedResult>;
|
|
1896
|
-
navigate: (message: NavigateMessage) => Promise<void>;
|
|
1897
|
-
reloadLocation: () => Promise<void>;
|
|
1898
|
-
editConnectedData: (message: EditConnectedDataMessage) => Promise<EditConnectedDataResponse>;
|
|
1899
|
-
editorState: EditorStateApi;
|
|
1900
|
-
};
|
|
1901
|
-
}>;
|
|
2191
|
+
}): Promise<ConnectToParentResult>;
|
|
1902
2192
|
|
|
1903
2193
|
type SetLocationFunction<TSetValue> = (value: TSetValue, options?: SetValueOptions) => Promise<void> | void;
|
|
1904
2194
|
/** Core shared generic for a mesh location context */
|
|
@@ -2030,6 +2320,12 @@ type MeshLocationUserPermissions =
|
|
|
2030
2320
|
| 'COMPOSITIONS_WRITE'
|
|
2031
2321
|
/** Uniform Canvas:Compositions:Delete */
|
|
2032
2322
|
| 'COMPOSITIONS_DELETE'
|
|
2323
|
+
/** Uniform Canvas:Labels:Create */
|
|
2324
|
+
| 'LABELS_CREATE'
|
|
2325
|
+
/** Uniform Canvas:Labels:Update */
|
|
2326
|
+
| 'LABELS_UPDATE'
|
|
2327
|
+
/** Uniform Canvas:Labels:Delete */
|
|
2328
|
+
| 'LABELS_DELETE'
|
|
2033
2329
|
/** Uniform Canvas:Compositions:Read Published */
|
|
2034
2330
|
| 'COMPOSITIONS_READ'
|
|
2035
2331
|
/** Uniform Canvas:Compositions:Publish */
|
|
@@ -2057,7 +2353,7 @@ type MeshLocationUserPermissions =
|
|
|
2057
2353
|
/**
|
|
2058
2354
|
* Known location types that can be passed to a mesh location
|
|
2059
2355
|
*/
|
|
2060
|
-
type MeshLocationTypes = 'paramType' | 'paramTypeConfig' | 'assetLibrary' | 'assetParameter' | 'settings' | 'dataSource' | 'dataType' | 'dataResource' | '
|
|
2356
|
+
type MeshLocationTypes = 'paramType' | 'paramTypeConfig' | 'assetLibrary' | 'assetParameter' | 'settings' | 'dataSource' | 'dataType' | 'dataResource' | 'aiGenerate' | 'embeddedEditor' | 'canvasEditorTools' | 'aiMetadata' | 'personalizationCriteria' | 'dashboardTool' | 'projectTool';
|
|
2061
2357
|
type SetValueOptions = ValidationResult;
|
|
2062
2358
|
type SetValueMessage = {
|
|
2063
2359
|
uniformMeshLocationValue: unknown;
|
|
@@ -2082,183 +2378,6 @@ type DynamicInput = {
|
|
|
2082
2378
|
};
|
|
2083
2379
|
/** Record of dynamic inputs keyed by the input name */
|
|
2084
2380
|
type DynamicInputs = Record<string, DynamicInput>;
|
|
2085
|
-
/** Metadata about the composition (description, category, workflow, etc.) */
|
|
2086
|
-
type EditorRootMetadata = {
|
|
2087
|
-
description?: string;
|
|
2088
|
-
previewImageUrl?: string;
|
|
2089
|
-
categoryId?: string;
|
|
2090
|
-
workflowId?: string;
|
|
2091
|
-
workflowStageId?: string;
|
|
2092
|
-
editionName?: string;
|
|
2093
|
-
editionPriority?: number;
|
|
2094
|
-
};
|
|
2095
|
-
/** Root node metadata (name and slug) */
|
|
2096
|
-
type EditorRootNodeMetadata = {
|
|
2097
|
-
_name: string;
|
|
2098
|
-
_slug: string | null | undefined;
|
|
2099
|
-
};
|
|
2100
|
-
/** Options for exporting the tree */
|
|
2101
|
-
type EditorExportOptions = {
|
|
2102
|
-
/** If true, includes pattern descendant data in export */
|
|
2103
|
-
keepPatternData?: boolean;
|
|
2104
|
-
};
|
|
2105
|
-
/** A component instance without slots/params (indexed separately) */
|
|
2106
|
-
type EditorComponentInstance = Omit<ComponentInstance, 'slots' | 'parameters' | '_id'>;
|
|
2107
|
-
/** An indexed node within the editor state */
|
|
2108
|
-
type EditorNode = {
|
|
2109
|
-
nodeId: string;
|
|
2110
|
-
parentId?: string;
|
|
2111
|
-
isBlock?: boolean;
|
|
2112
|
-
value: EditorComponentInstance;
|
|
2113
|
-
/** If part of a pattern, the pattern ID */
|
|
2114
|
-
partOfPattern?: string;
|
|
2115
|
-
/** If part of a nested pattern */
|
|
2116
|
-
partOfNestedPattern?: string;
|
|
2117
|
-
/** UI expansion state */
|
|
2118
|
-
isExpandedInUI?: boolean;
|
|
2119
|
-
};
|
|
2120
|
-
/** Child node IDs indexed by slot name */
|
|
2121
|
-
type EditorNodeChildren = {
|
|
2122
|
-
[slotName: string]: string[];
|
|
2123
|
-
};
|
|
2124
|
-
/** A component parameter value */
|
|
2125
|
-
type EditorComponentParameter<T = unknown> = Omit<ComponentParameter<T>, 'connectedData'>;
|
|
2126
|
-
/** Parent info for a node */
|
|
2127
|
-
type EditorNodeParentInfo = {
|
|
2128
|
-
parentId: string;
|
|
2129
|
-
parentName: string;
|
|
2130
|
-
targetIndexInParent: number;
|
|
2131
|
-
value: EditorComponentInstance;
|
|
2132
|
-
parentChildIds: string[];
|
|
2133
|
-
parentType: 'slot' | 'block';
|
|
2134
|
-
};
|
|
2135
|
-
/** Options for updateNodeProperty */
|
|
2136
|
-
type UpdateNodePropertyOptions = {
|
|
2137
|
-
nodeId: string;
|
|
2138
|
-
property: string;
|
|
2139
|
-
/**
|
|
2140
|
-
* The new value to set. Pass the final value directly.
|
|
2141
|
-
* - `undefined` to soft-delete (remove current locale/condition value)
|
|
2142
|
-
* - `null` to hard-delete (remove entire parameter)
|
|
2143
|
-
* - any other value to set
|
|
2144
|
-
*
|
|
2145
|
-
* For read-modify-write, call getNodeProperty() first to get current value.
|
|
2146
|
-
*/
|
|
2147
|
-
value: unknown | undefined | null;
|
|
2148
|
-
/** Parameter type (required for new parameters) */
|
|
2149
|
-
type?: string;
|
|
2150
|
-
/** Target locale, or undefined for invariant value */
|
|
2151
|
-
locale: string | undefined;
|
|
2152
|
-
/** Condition index (-1 for base value, >= 0 for conditional) */
|
|
2153
|
-
conditionIndex: number;
|
|
2154
|
-
/** Condition definition (required when conditionIndex >= 0) */
|
|
2155
|
-
conditionDefinition?: VisibilityCriteriaGroup | null;
|
|
2156
|
-
};
|
|
2157
|
-
/** Options for insertNode */
|
|
2158
|
-
type InsertNodeOptions = {
|
|
2159
|
-
node: EditorComponentInstance;
|
|
2160
|
-
parentNodeId: string;
|
|
2161
|
-
parentSlot: string;
|
|
2162
|
-
targetIndexInSlot?: number;
|
|
2163
|
-
};
|
|
2164
|
-
/** Options for moveNode */
|
|
2165
|
-
type MoveNodeOptions = {
|
|
2166
|
-
movedNodeId: string;
|
|
2167
|
-
parentNodeId: string;
|
|
2168
|
-
parentSlot: string;
|
|
2169
|
-
targetIndexInSlot: number;
|
|
2170
|
-
};
|
|
2171
|
-
/** Options for insertPattern */
|
|
2172
|
-
type InsertPatternOptions = {
|
|
2173
|
-
pattern: RootComponentInstance;
|
|
2174
|
-
parentNodeId: string;
|
|
2175
|
-
parentSlot: string;
|
|
2176
|
-
targetIndexInSlot?: number;
|
|
2177
|
-
patternInstanceId?: string;
|
|
2178
|
-
};
|
|
2179
|
-
/** Options for updateRootNode */
|
|
2180
|
-
type UpdateRootNodeOptions = {
|
|
2181
|
-
update: Partial<EditorRootNodeMetadata>;
|
|
2182
|
-
};
|
|
2183
|
-
/**
|
|
2184
|
-
* Imperative API for interacting with the composition/entry editor state.
|
|
2185
|
-
* Available on `canvasEditorTools` and `paramType` locations.
|
|
2186
|
-
*
|
|
2187
|
-
* All methods use object parameters for consistency across client, wire format, and server.
|
|
2188
|
-
*/
|
|
2189
|
-
interface EditorStateApi {
|
|
2190
|
-
getRootNodeId(): Promise<string>;
|
|
2191
|
-
exportTree(params?: EditorExportOptions): Promise<RootComponentInstance>;
|
|
2192
|
-
exportSubtree(params: {
|
|
2193
|
-
nodeId: string;
|
|
2194
|
-
options?: EditorExportOptions;
|
|
2195
|
-
}): Promise<ComponentInstance>;
|
|
2196
|
-
exportMetadata(): Promise<EditorRootMetadata>;
|
|
2197
|
-
exportRootNodeMetadata(): Promise<EditorRootNodeMetadata>;
|
|
2198
|
-
getNodeById(params: {
|
|
2199
|
-
nodeId: string;
|
|
2200
|
-
}): Promise<EditorNode | undefined>;
|
|
2201
|
-
getNodeChildren(params: {
|
|
2202
|
-
nodeId: string;
|
|
2203
|
-
}): Promise<EditorNodeChildren | undefined>;
|
|
2204
|
-
getNodeProperty<T = unknown>(params: {
|
|
2205
|
-
nodeId: string;
|
|
2206
|
-
property: string;
|
|
2207
|
-
}): Promise<EditorComponentParameter<T> | undefined>;
|
|
2208
|
-
getNodeProperties(params: {
|
|
2209
|
-
nodeId: string;
|
|
2210
|
-
}): Promise<Record<string, EditorComponentParameter>>;
|
|
2211
|
-
getParentInfo(params: {
|
|
2212
|
-
nodeId: string;
|
|
2213
|
-
}): Promise<EditorNodeParentInfo | undefined>;
|
|
2214
|
-
getSelectedNodeId(): Promise<string | undefined>;
|
|
2215
|
-
setSelectedNodeId(params: {
|
|
2216
|
-
nodeId: string | undefined;
|
|
2217
|
-
}): Promise<void>;
|
|
2218
|
-
getSelectedParameterId(): Promise<string | undefined>;
|
|
2219
|
-
setSelectedParameterId(params: {
|
|
2220
|
-
parameterId: string | undefined;
|
|
2221
|
-
}): Promise<void>;
|
|
2222
|
-
getPristine(): Promise<boolean>;
|
|
2223
|
-
insertNode(params: InsertNodeOptions): Promise<string>;
|
|
2224
|
-
deleteNode(params: {
|
|
2225
|
-
nodeId: string;
|
|
2226
|
-
}): Promise<void>;
|
|
2227
|
-
moveNode(params: MoveNodeOptions): Promise<void>;
|
|
2228
|
-
updateNodeProperty(params: UpdateNodePropertyOptions): Promise<void>;
|
|
2229
|
-
updateRootMetadata(params: {
|
|
2230
|
-
metadata: Partial<EditorRootMetadata>;
|
|
2231
|
-
}): Promise<void>;
|
|
2232
|
-
updateRootNode(params: UpdateRootNodeOptions): Promise<void>;
|
|
2233
|
-
insertPattern(params: InsertPatternOptions): Promise<string>;
|
|
2234
|
-
isPatternPropertyOverridden(params: {
|
|
2235
|
-
nodeId: string;
|
|
2236
|
-
property: string;
|
|
2237
|
-
locale?: string;
|
|
2238
|
-
}): Promise<boolean>;
|
|
2239
|
-
resetPatternPropertyOverride(params: {
|
|
2240
|
-
nodeId: string;
|
|
2241
|
-
property: string;
|
|
2242
|
-
locale: string | undefined;
|
|
2243
|
-
}): Promise<void>;
|
|
2244
|
-
enableLocale(params: {
|
|
2245
|
-
locale: string | string[];
|
|
2246
|
-
}): Promise<void>;
|
|
2247
|
-
disableLocale(params: {
|
|
2248
|
-
locale: string;
|
|
2249
|
-
}): Promise<void>;
|
|
2250
|
-
/** Sets the currently active locale in the editor UI */
|
|
2251
|
-
setCurrentLocale(params: {
|
|
2252
|
-
locale: string;
|
|
2253
|
-
}): Promise<void>;
|
|
2254
|
-
/**
|
|
2255
|
-
* Sets the current preview value for a dynamic input.
|
|
2256
|
-
*/
|
|
2257
|
-
setDynamicInputPreviewValue(params: {
|
|
2258
|
-
name: string;
|
|
2259
|
-
value: string;
|
|
2260
|
-
}): Promise<void>;
|
|
2261
|
-
}
|
|
2262
2381
|
|
|
2263
2382
|
type AIGenerateLocationMetadata<TIntegrationConfiguration = unknown> = CommonMetadata<{
|
|
2264
2383
|
prompt: string;
|
|
@@ -2274,15 +2393,17 @@ type AIGenerateLocation<TType> = MeshLocationCore<TType, AIGenerateLocationMetad
|
|
|
2274
2393
|
type AIPromptMetadataLocation = MeshLocationCore<Record<string, unknown>, PromptSettingsLocationMetadata, Record<string, unknown>, 'aiMetadata'>;
|
|
2275
2394
|
|
|
2276
2395
|
type CanvasEditorToolsLocationMetadata<TIntegrationConfiguration = unknown> = CommonMetadata<{
|
|
2396
|
+
/**
|
|
2397
|
+
* The release ID of the currently edited entity.
|
|
2398
|
+
* This can be undefined when a release is active but the entity has not been copied to that release yet.
|
|
2399
|
+
*/
|
|
2277
2400
|
releaseId?: string;
|
|
2278
|
-
state?: number;
|
|
2279
|
-
/** The current locale selected in the editor UI */
|
|
2280
|
-
currentLocale: string | undefined;
|
|
2281
2401
|
/**
|
|
2282
|
-
*
|
|
2283
|
-
*
|
|
2402
|
+
* The currently active release ID from editor context.
|
|
2403
|
+
* This reflects release selection regardless of whether the edited entity exists in that release.
|
|
2284
2404
|
*/
|
|
2285
|
-
|
|
2405
|
+
activeReleaseId?: string;
|
|
2406
|
+
state?: number;
|
|
2286
2407
|
}, TIntegrationConfiguration>;
|
|
2287
2408
|
type CanvasEditorToolsReferenceData = {
|
|
2288
2409
|
name: string;
|
|
@@ -2293,22 +2414,13 @@ type CanvasEditorToolsData = {
|
|
|
2293
2414
|
entryNamesIndex?: Record<string, CanvasEditorToolsReferenceData>;
|
|
2294
2415
|
entityType: CanvasEditorEntityType;
|
|
2295
2416
|
} & ({
|
|
2296
|
-
/** editorState is an experimental replacement for rootEntity. This may become deprecated in the future. */
|
|
2297
2417
|
rootEntity: RootComponentInstance;
|
|
2298
2418
|
entityType: 'composition' | 'componentPattern' | 'compositionDefaults';
|
|
2299
2419
|
} | {
|
|
2300
|
-
/** editorState is an experimental replacement for rootEntity. This may become deprecated in the future. */
|
|
2301
2420
|
rootEntity: EntryData;
|
|
2302
2421
|
entityType: 'entry' | 'entryPattern';
|
|
2303
2422
|
});
|
|
2304
|
-
type CanvasEditorToolsLocation = MeshLocationCore<CanvasEditorToolsData, CanvasEditorToolsLocationMetadata, CanvasEditorToolsData, 'canvasEditorTools'> & GetDataResourceLocation
|
|
2305
|
-
/**
|
|
2306
|
-
* Imperative API for interacting with the composition/entry editor state.
|
|
2307
|
-
* Provides non-reactive access to read and modify the editor state.
|
|
2308
|
-
* @deprecated This is experimental functionality and is subject to change without notice.
|
|
2309
|
-
*/
|
|
2310
|
-
editorState: EditorStateApi;
|
|
2311
|
-
};
|
|
2423
|
+
type CanvasEditorToolsLocation = MeshLocationCore<CanvasEditorToolsData, CanvasEditorToolsLocationMetadata, CanvasEditorToolsData, 'canvasEditorTools'> & GetDataResourceLocation;
|
|
2312
2424
|
|
|
2313
2425
|
/**
|
|
2314
2426
|
* @deprecated Alpha version of the Embedded Editor location. This location is not yet available for use in the Mesh SDK.
|
|
@@ -2456,6 +2568,16 @@ interface UniformMeshSDK {
|
|
|
2456
2568
|
}>['setValue']>[0]> | undefined>;
|
|
2457
2569
|
/** Explicitly close a location dialog. Called when rendering current location in the dialog. */
|
|
2458
2570
|
closeCurrentLocationDialog(): Promise<void>;
|
|
2571
|
+
/**
|
|
2572
|
+
* Requests a fresh short-lived session token for identity delegation.
|
|
2573
|
+
* Returns `undefined` when the integration does not have `identityDelegation` enabled.
|
|
2574
|
+
* Call this on demand — the token has a very short TTL (~10 s) and should be
|
|
2575
|
+
* consumed immediately by your backend to exchange for a delegation token
|
|
2576
|
+
* via `POST /api/v1/token` with `grant_type=delegation_token` or DelegationTokenClient.
|
|
2577
|
+
*
|
|
2578
|
+
* @deprecated This beta identity delegation API may change with breaking changes.
|
|
2579
|
+
*/
|
|
2580
|
+
getSessionToken(): Promise<string | undefined>;
|
|
2459
2581
|
}
|
|
2460
2582
|
declare global {
|
|
2461
2583
|
interface Window {
|
|
@@ -2476,4 +2598,4 @@ declare const hasPermissions: (permissions: MeshLocationUserPermissions | MeshLo
|
|
|
2476
2598
|
*/
|
|
2477
2599
|
declare const hasRole: (role: string, user: UniformUser) => boolean;
|
|
2478
2600
|
|
|
2479
|
-
export { type AIGenerateLocation, type AIGenerateLocationMetadata, type AIPromptMetadataLocation, type AssetLibraryLocation, type AssetLibraryLocationMetadata, type AssetParameterLocation, type AssetParameterLocationMetadata, type BindableTypes, type CSSHeight, type CanvasEditorEntityType, type CanvasEditorToolsData, type CanvasEditorToolsLocation, type CanvasEditorToolsLocationMetadata, type CloseDialogMessage, type CloseLocationDialogOptions, type CommonMetadata, type DashboardToolLocation, type DashboardToolLocationMetadata, type DataConnectorInfo, type DataResourceLocation, type DataResourceLocationMetadata, type
|
|
2601
|
+
export { type AIGenerateLocation, type AIGenerateLocationMetadata, type AIPromptMetadataLocation, type AssetLibraryLocation, type AssetLibraryLocationMetadata, type AssetParameterLocation, type AssetParameterLocationMetadata, type BindableTypes, type CSSHeight, type CanvasEditorEntityType, type CanvasEditorToolsData, type CanvasEditorToolsLocation, type CanvasEditorToolsLocationMetadata, type CloseDialogMessage, type CloseLocationDialogOptions, type CommonMetadata, type ConnectToParentResult, type DashboardToolLocation, type DashboardToolLocationMetadata, type DataConnectorInfo, type DataResourceLocation, type DataResourceLocationMetadata, type DataSourceLocation, type DataSourceLocationMetadata, type DataSourceLocationValue, type DataTypeLocation, type DataTypeLocationMetadata, type DataTypeLocationValue, DelegationTokenClient, type DelegationTokenClientOptions, DelegationTokenError, type DelegationTokenErrorKind, type DelegationTokenResponse, type DialogContext, type DialogOptions, type DialogParamValue, type DialogParams, type DialogResponseData, type DialogResponseHandler, type DialogResponseHandlers, type DialogType, type DynamicInput, type DynamicInputs, type EditConnectedDataMessage, type EditConnectedDataResponse, type EditConnectedDataResponseCancellationContext, type EmbeddedEditorLocation, type EmbeddedEditorLocationMetadata, type EmbeddedEditorLocationSetValue, type EmbeddedEditorLocationValue, type FunctionCallResponse, type FunctionCallSystemParameter, type GetDataResourceLocation, type GetDataResourceMessage, type IntegrationCredentialRevokeParameters, type IntegrationCredentialRotateParameters, type IntegrationCredentialRotateResponse, IntegrationDefinitionClient, type IntegrationDefinitionDeleteParameters, type IntegrationDefinitionGetParameters, type IntegrationDefinitionGetResponse, type IntegrationDefinitionPutParameters, type IntegrationDefinitionPutResponse, IntegrationInstallationClient, type IntegrationInstallationDeleteParameters, type IntegrationInstallationGetParameters, type IntegrationInstallationGetResponse, type IntegrationInstallationPutParameters, type LocationDialogResponse, type MeshContextData, type MeshLocation, type MeshLocationCore, type MeshLocationTypes, type MeshLocationUserPermissions, type MeshParentConnection, type MeshRouter, type MeshSDKEventInterface, type NavigateMessage, type OpenConfirmationDialogOptions, type OpenConfirmationDialogResult, type OpenDialogMessage, type OpenDialogResult, type OpenLocationDialogOptions, type ParamTypeConfigLocation, type ParamTypeConfigLocationMetadata, type ParamTypeLocation, type ParamTypeLocationMetadata, type PersonalizationCriteriaLocation, type PersonalizationCriteriaLocationMetadata, type ProjectToolLocation, type ProjectToolLocationMetadata, type PromptSettingsLocationMetadata, type SdkWindow, type SetLocationFunction, type SetValueMessage, type SetValueOptions, type SettingsLocation, type SettingsLocationMetadata, type UniformMeshSDK, type UniformMeshSDKEvents, type UniformUser, type ValidationResult, functionCallSystemParameters, hasPermissions, hasRole, initializeUniformMeshSDK, parseFunctionCall };
|