@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 CHANGED
@@ -1,10 +1,279 @@
1
1
  import { ApiClient, ClientOptions, ExceptProject } from '@uniformdev/context/api';
2
- import { AssetParamValue, DataType, DataSource, DataSourceVariantsKeys, DataResourceVariables, RootComponentInstance, ComponentInstance, ComponentDefinition, ComponentDefinitionParameter, DataVariableDefinition, Locale, ComponentParameter, VisibilityCriteriaGroup, EntryData } from '@uniformdev/canvas';
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 | DataResourceSelectorLocation | CanvasEditorToolsLocation | EmbeddedEditorLocation | AIGenerateLocation<TValue> | AIPromptMetadataLocation | PersonalizationCriteriaLocation<TValue> | DashboardToolLocation<TValue> | ProjectToolLocation<TValue>;
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
- type MeshSDKEventInterface = Awaited<ReturnType<typeof connectToParent>>['parent'] & {
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' | 'dataResourceSelector' | 'aiGenerate' | 'embeddedEditor' | 'canvasEditorTools' | 'aiMetadata' | 'personalizationCriteria' | 'dashboardTool' | 'projectTool';
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
- * Current dynamic inputs configured on the composition (if any).
2283
- * Dynamic inputs come from project map nodes and represent path or query based dynamic values.
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
- dynamicInputs: DynamicInputs;
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 DataResourceSelectorLocation, type DataResourceSelectorLocationMetadata, type DataSourceLocation, type DataSourceLocationMetadata, type DataSourceLocationValue, type DataTypeLocation, type DataTypeLocationMetadata, type DataTypeLocationValue, 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 EditorComponentInstance, type EditorComponentParameter, type EditorExportOptions, type EditorNode, type EditorNodeChildren, type EditorNodeParentInfo, type EditorRootMetadata, type EditorRootNodeMetadata, type EditorStateApi, type EmbeddedEditorLocation, type EmbeddedEditorLocationMetadata, type EmbeddedEditorLocationSetValue, type EmbeddedEditorLocationValue, type FunctionCallResponse, type FunctionCallSystemParameter, type GetDataResourceLocation, type GetDataResourceMessage, type InsertNodeOptions, type InsertPatternOptions, 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 MeshRouter, type MeshSDKEventInterface, type MoveNodeOptions, 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 UpdateNodePropertyOptions, type UpdateRootNodeOptions, type ValidationResult, functionCallSystemParameters, hasPermissions, hasRole, initializeUniformMeshSDK, parseFunctionCall };
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 };