@uniformdev/canvas 18.11.1-alpha.4 → 18.11.1-alpha.5

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.
@@ -0,0 +1,4092 @@
1
+ import Pusher from 'pusher-js';
2
+
3
+ interface components$2 {
4
+ schemas: {
5
+ /** @description Public ID (used in code). Do not change after creation. */
6
+ PublicIdProperty: string;
7
+ /** @description The definition of a component parameter */
8
+ ComponentDefinitionParameter: {
9
+ id: components$2["schemas"]["PublicIdProperty"];
10
+ /** @description Friendly name of the parameter */
11
+ name: string;
12
+ /** @description Appears next to the parameter in the Composition editor */
13
+ helpText?: string;
14
+ /** @description Type name of the parameter (provided by a Uniform integration) */
15
+ type: string;
16
+ /** @description The configuration object for the type (type-specific) */
17
+ typeConfig?: unknown;
18
+ };
19
+ /** @description The definition of a named component slot that can contain other components */
20
+ ComponentDefinitionSlot: {
21
+ id: components$2["schemas"]["PublicIdProperty"];
22
+ /** @description Friendly name of the slot */
23
+ name: string;
24
+ /** @description A list of component definition public IDs that are allowed in this named slot */
25
+ allowedComponents: string[];
26
+ /**
27
+ * @description Whether this slot inherits its allowed components from the parent slot it lives in. If true, allowedComponents is irrelevant.
28
+ * @default false
29
+ */
30
+ inheritAllowedComponents: boolean;
31
+ /** @description Minimum valid number of components in this slot */
32
+ minComponents?: number;
33
+ /** @description Maximum valid number of components in this slot */
34
+ maxComponents?: number;
35
+ };
36
+ /** @description The definition of a composition's slug settings */
37
+ ComponentDefinitionSlugSettings: {
38
+ /**
39
+ * @description Whether the slug is required
40
+ * no: slug is optional
41
+ * yes: slug is required
42
+ * disabled: slug is disabled and will not be shown in the editor
43
+ *
44
+ * @default no
45
+ * @enum {string}
46
+ */
47
+ required?: "no" | "yes" | "disabled";
48
+ /**
49
+ * @description Slug uniqueness configuration.
50
+ * no = no unique constraint
51
+ * local = must be unique within this component type
52
+ * global = must be unique across all component types
53
+ *
54
+ * @enum {string}
55
+ */
56
+ unique?: "no" | "local" | "global";
57
+ /** @description Regular expression slugs must match */
58
+ regularExpression?: string;
59
+ /**
60
+ * @description Custom error message when regular expression validation fails.
61
+ * Has no effect if `regularExpression` is not set.
62
+ */
63
+ regularExpressionMessage?: string;
64
+ };
65
+ /** @description The definition of a component variant */
66
+ ComponentDefinitionVariant: {
67
+ id: components$2["schemas"]["PublicIdProperty"];
68
+ /** @description Friendly name of the variant */
69
+ name: string;
70
+ };
71
+ /** @description Permission set for a component defintion */
72
+ ComponentDefinitionPermission: {
73
+ roleId: components$2["schemas"]["PublicIdProperty"];
74
+ /**
75
+ * @description Permission type for this permission ComponentDefinition:
76
+ * read | write | create | delete
77
+ *
78
+ * @enum {string}
79
+ */
80
+ permission: "read" | "write" | "create" | "delete";
81
+ /** @description State of the component that this permission applies to */
82
+ state: number;
83
+ };
84
+ /** @description Defines a component type that can live on a Composition */
85
+ ComponentDefinition: {
86
+ id: components$2["schemas"]["PublicIdProperty"];
87
+ /** @description Friendly name of the component definition */
88
+ name: string;
89
+ /**
90
+ * @description Icon name or URL for the component definition (e.g. 'screen' or 'https://s3/my-component.jpg')
91
+ * @default screen
92
+ */
93
+ icon?: string;
94
+ /**
95
+ * @description The public ID of the parameter whose value should be used to create a display title for this component in the UI.
96
+ * The parameter type must support being used as a title parameter for this to work.
97
+ */
98
+ titleParameter?: string | null;
99
+ /**
100
+ * @description Whether this component type can be the root of a composition. If false, this component is only used within slots on other components.
101
+ * @default false
102
+ */
103
+ canBeComposition?: boolean;
104
+ /** @description The parameters for this component. Parameters are key-value pairs that can be anything from text values to links to CMS entries. */
105
+ parameters?: components$2["schemas"]["ComponentDefinitionParameter"][];
106
+ /**
107
+ * @description if this component uses team permissions or custom permissions
108
+ * @default true
109
+ */
110
+ useTeamPermissions?: boolean;
111
+ /** @description Custom role permissions for this component definition */
112
+ permissions?: components$2["schemas"]["ComponentDefinitionPermission"][];
113
+ /** @description The named slots for this component; placement areas where arrays of other components can be added. */
114
+ slots?: components$2["schemas"]["ComponentDefinitionSlot"][];
115
+ slugSettings?: components$2["schemas"]["ComponentDefinitionSlugSettings"];
116
+ /** @description Default component instance value */
117
+ defaults?: components$2["schemas"]["ComponentInstance"] | null;
118
+ /** @description Named variants for this component; enables creation of visual variants that use the same parameter data */
119
+ variants?: components$2["schemas"]["ComponentDefinitionVariant"][];
120
+ /** @description Created date string for this definition (ignored for writes) */
121
+ created?: string;
122
+ /** @description Last modified date string for this definition (ignored for writes) */
123
+ updated?: string;
124
+ };
125
+ /** @description Defines an editable parameter on a component. */
126
+ ComponentParameter: {
127
+ /** @description The value of the parameter. Any JSON-serializable value is acceptable. */
128
+ value: unknown;
129
+ /** @description The type of the parameter. Determines how it is displayed when editing, and tells the consumer how to process it. */
130
+ type: string;
131
+ connectedData?: components$2["schemas"]["DataElementConnectionDefinition"];
132
+ };
133
+ /**
134
+ * @deprecated
135
+ * @description Defines a connection to a data element on a data resource. Do not use.
136
+ */
137
+ DataElementConnectionDefinition: {
138
+ /** @description A JSON Pointer expression that defines the data element to connect the parameter to. */
139
+ pointer: string;
140
+ /**
141
+ * @description The syntax used to select the data element to bind to
142
+ * @enum {string}
143
+ */
144
+ syntax: "jptr";
145
+ /**
146
+ * @description Whether an error should occur if the connected data element cannot be resolved (i.e. a missing property in the data resource).
147
+ * In all cases the binding process will remove the parameter data for the unresolvable data element.
148
+ * When this is true, and the data element failed to bind, the warning entry returned from the binding process will be changed to an error entry.
149
+ *
150
+ * @default false
151
+ */
152
+ required?: boolean;
153
+ };
154
+ /** @description Defines the shape of a component instance served by the composition API. */
155
+ ComponentInstance: {
156
+ /** @description Type of the component instance (public_id of its definition) */
157
+ type: string;
158
+ /** @description Component parameter values for the component instance */
159
+ parameters?: {
160
+ [key: string]: components$2["schemas"]["ComponentParameter"];
161
+ };
162
+ /** @description Public ID of alternate visual appearance for this component, if any selected */
163
+ variant?: string;
164
+ /** @description Slots containing any child components */
165
+ slots?: {
166
+ [key: string]: components$2["schemas"]["ComponentInstance"][];
167
+ };
168
+ /** @description Unique identifier of the component within the composition. This is not set unless specifically requested via `withComponentIDs` API parameter. */
169
+ _id?: string;
170
+ /** @description Indicates this component instance should be sourced from a pattern library pattern. */
171
+ _pattern?: string;
172
+ _dataResources?: components$2["schemas"]["DataResourceDefinitions"];
173
+ /**
174
+ * @deprecated
175
+ * @description Data definitions coming from a pattern resolved for this component. Merged with _data during resolution.
176
+ * Means nothing for PUTs; it will be ignored.
177
+ */
178
+ _patternDataResources?: {
179
+ [key: string]: components$2["schemas"]["DataResourceDefinition"];
180
+ };
181
+ /**
182
+ * @description Describes why the pattern could not be resolved, if a pattern could not be resolved. For PUTs, this is allowed but ignored.
183
+ * CYCLIC: A cyclic pattern graph was detected, which could not be resolved because it would cause an infinite loop.
184
+ * NOTFOUND: The pattern ID referenced could not be found. It may have been deleted, or not be published yet.
185
+ * Means nothing for PUTs; it will be ignored.
186
+ *
187
+ * @enum {string}
188
+ */
189
+ _patternError?: "NOTFOUND" | "CYCLIC";
190
+ };
191
+ /** @description Defines the shape of the root component in a composition */
192
+ RootComponentInstance: {
193
+ /** @description Type of the component instance (public_id of its definition) */
194
+ type: string;
195
+ /** @description Component parameter values for the component instance */
196
+ parameters?: {
197
+ [key: string]: components$2["schemas"]["ComponentParameter"];
198
+ };
199
+ /** @description Public ID of alternate visual appearance for this component, if any selected */
200
+ variant?: string;
201
+ /** @description Project map nodes associated with this component. Must pass withProjectMapNodes parameter to be populated. */
202
+ projectMapNodes?: components$2["schemas"]["CompositionProjectMapNodeInfo"][];
203
+ /** @description Slots containing any child components */
204
+ slots?: {
205
+ [key: string]: components$2["schemas"]["ComponentInstance"][];
206
+ };
207
+ /** @description The public UUID of the composition. */
208
+ _id: string;
209
+ /** @description Slug pattern of this component. */
210
+ _slug?: string | null;
211
+ /** @description Friendly name of this component. */
212
+ _name: string;
213
+ _dataResources?: components$2["schemas"]["DataResourceDefinitions"];
214
+ };
215
+ /**
216
+ * @deprecated
217
+ * @description An instance of a data source (i.e. "Master environment of the stable space", "Yelp API", "Sanity dev dataset").
218
+ * These are created in the UI and shared across a whole project.
219
+ * NOTE: if you acquire a list of data sources or do not have manage permissions, you will receive "SECRET"
220
+ * for all header, parameter, and variable values to obscure the actual encrypted secret value.
221
+ */
222
+ DataSource: {
223
+ /** @description Public ID of the data source */
224
+ id: string;
225
+ /** @description Display name of the data source */
226
+ displayName: string;
227
+ /** @description The type of data connector this connects to (e.g. 'cms-items', provided by an intalled integration) */
228
+ connectorType: string;
229
+ /** @description Base resource URL of the data source. No trailing slash. */
230
+ baseUrl: string;
231
+ /** @description HTTP headers to pass with requests to the data source */
232
+ headers?: {
233
+ key: string;
234
+ value: string;
235
+ }[];
236
+ /** @description Query String parameters to pass with requests to the data type. Merged with parameters from the data source, overriding identical keys. */
237
+ parameters?: {
238
+ key: string;
239
+ value: string;
240
+ }[];
241
+ /** @description Variables needed to make calls to the data source */
242
+ variables?: {
243
+ [key: string]: components$2["schemas"]["DataVariableDefinition"];
244
+ };
245
+ /** @description Custom configuration specific to the data source being defined (used to maintain UI state for custom integrations) */
246
+ custom?: {
247
+ [key: string]: unknown;
248
+ };
249
+ };
250
+ /**
251
+ * @deprecated
252
+ * @description A specific type of data that a Data Source can provide (i.e. "Recipe", "Recipes List by Tag", "Yelp Reviews of My Restaurant"). These are created in the UI and shared a whole project.
253
+ */
254
+ DataType: {
255
+ /** @description Public ID of the data type */
256
+ id: string;
257
+ /** @description Display name of the data type */
258
+ displayName: string;
259
+ /** @description Public ID of the associated data source */
260
+ dataSourceId: string;
261
+ /**
262
+ * @description A connector-specific archetype for this data type; used to select UI as well as perform any
263
+ * necessary post-processing on the response. e.g. 'cms-entry', 'cms-query'. Can be undefined if
264
+ * no special UI or processing is required.
265
+ */
266
+ archetype?: string;
267
+ allowedOnComponents?: string[];
268
+ /** @description Resource path, appended to the data source's baseUrl (e.g. baseUrl = https://base.url, path = /v1/endpoint -> final URL https://base.url/v1/endpoint). Must have leading slash. */
269
+ path: string;
270
+ /** @description Time-to-live (in seconds) for the primary resource data cache. */
271
+ ttl?: number;
272
+ /** @description Long term data resource cache configuration. */
273
+ longTermCache?: {
274
+ /** @description A flag to turn the long term cache on. */
275
+ enabled: boolean;
276
+ /** @description Time-to-live (in hours) for the long term resource data cache. */
277
+ ttlInHours?: number;
278
+ };
279
+ /** @description A key for the resource data cache purging. */
280
+ purgeKey?: string;
281
+ /** @description URL to a custom badge icon for the Uniform dashboard for this data type. If not set falls back to the data connector or integration icons. */
282
+ badgeIconUrl?: string;
283
+ /** @description HTTP headers to pass with requests to the data type. Merged with headers from the data source, overriding identical keys. */
284
+ headers?: {
285
+ key: string;
286
+ value: string;
287
+ }[];
288
+ /** @description Query String parameters to pass with requests to the data type. Merged with parameters from the data source, overriding identical keys. */
289
+ parameters?: {
290
+ key: string;
291
+ value: string;
292
+ }[];
293
+ /** @description Body to pass with requests to the data type (ignored unless method is POST) */
294
+ body?: string;
295
+ /**
296
+ * @description HTTP method to use with requests to the data type.
297
+ * @default GET
298
+ * @enum {string}
299
+ */
300
+ method: "GET" | "POST" | "HEAD";
301
+ /** @description Variables needed to make calls to the data type. Merged with variables from the data source, overriding identical keys. */
302
+ variables?: {
303
+ [key: string]: components$2["schemas"]["DataVariableDefinition"];
304
+ };
305
+ /** @description Custom configuration specific to the data source being defined */
306
+ custom?: {
307
+ [key: string]: unknown;
308
+ };
309
+ };
310
+ /**
311
+ * @deprecated
312
+ * @description Defines the shape of a data variable on a Data Source or Data Type
313
+ */
314
+ DataVariableDefinition: {
315
+ /** @description Display name of the data variable */
316
+ displayName?: string;
317
+ /** @description Explanatory text that is provided to the data resource editor to explain what this variable does. */
318
+ helpText?: string;
319
+ /**
320
+ * @description Type of the data variable. Optionally used as a point of reference for custom integrations to decide how to render an editor for a variable.
321
+ * @default text
322
+ */
323
+ type?: string;
324
+ /** @description Default value of the data variable */
325
+ default: string;
326
+ /** @description Sets the order of the variable when displayed in a list with other variables. If not set, the order defaults to alphabetical with any explicitly set orders first in the list. */
327
+ order?: number;
328
+ };
329
+ /**
330
+ * @deprecated
331
+ * @description Data definitions attached to this component. The property name is the key of the data in the data document.
332
+ * Note: data definitions are inherited from ancestors at runtime (and may be overridden by descendants that use the same key).
333
+ */
334
+ DataResourceDefinitions: {
335
+ [key: string]: components$2["schemas"]["DataResourceDefinition"];
336
+ };
337
+ /**
338
+ * @deprecated
339
+ * @description Defines a data resource, which is a named JSON document, usually from an API response, which may be projected onto parameters
340
+ */
341
+ DataResourceDefinition: {
342
+ /** @description Public ID of the data type that provides this data */
343
+ type: string;
344
+ /** @description Whether this data is a pattern parameter that has to be overridden when a pattern is referenced on another composition. If this is not a pattern composition, this has no meaning and should not be used. If unspecified, the default is false. */
345
+ isPatternParameter?: boolean;
346
+ variables?: components$2["schemas"]["DataResourceVariables"];
347
+ };
348
+ /**
349
+ * @deprecated
350
+ * @description Variable values for a data resource.
351
+ */
352
+ DataResourceVariables: {
353
+ [key: string]: string;
354
+ };
355
+ /** @description Project map node information related to a component. */
356
+ CompositionProjectMapNodeInfo: {
357
+ /**
358
+ * Format: uuid
359
+ * @description Unique identifier for the project map node
360
+ */
361
+ id: string;
362
+ /** @description Path of the project map node */
363
+ path: string;
364
+ /**
365
+ * Format: uuid
366
+ * @description Unique identifier for the project map that this node belongs to.
367
+ */
368
+ projectMapId: string;
369
+ };
370
+ };
371
+ }
372
+
373
+ /**
374
+ * This file was auto-generated by openapi-typescript.
375
+ * Do not make direct changes to the file.
376
+ */
377
+ interface paths$4 {
378
+ "/api/v1/canvas-definitions": {
379
+ get: {
380
+ parameters: {
381
+ query: {
382
+ /** The project ID to get component definitions for. */
383
+ projectId: string;
384
+ /** Limit list to one result by ID (response remains an array). */
385
+ componentId?: string;
386
+ /** Number of records to skip */
387
+ offset?: number;
388
+ /** Max number of records to return */
389
+ limit?: number;
390
+ /** Whether to fetch system meta-component definitions (personalize, test, etc) */
391
+ includeSystem?: boolean;
392
+ };
393
+ };
394
+ responses: {
395
+ /** OK */
396
+ 200: {
397
+ content: {
398
+ "application/json": {
399
+ /** @description Component definitions that match the query */
400
+ componentDefinitions: external$5["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentDefinition"][];
401
+ };
402
+ };
403
+ };
404
+ 400: external$5["swagger.yml"]["components"]["responses"]["BadRequestError"];
405
+ 401: external$5["swagger.yml"]["components"]["responses"]["UnauthorizedError"];
406
+ 403: external$5["swagger.yml"]["components"]["responses"]["ForbiddenError"];
407
+ 429: external$5["swagger.yml"]["components"]["responses"]["RateLimitError"];
408
+ 500: external$5["swagger.yml"]["components"]["responses"]["InternalServerError"];
409
+ };
410
+ };
411
+ /** Upserts a component definition */
412
+ put: {
413
+ responses: {
414
+ /** OK */
415
+ 204: never;
416
+ 400: external$5["swagger.yml"]["components"]["responses"]["BadRequestError"];
417
+ 401: external$5["swagger.yml"]["components"]["responses"]["UnauthorizedError"];
418
+ 403: external$5["swagger.yml"]["components"]["responses"]["ForbiddenError"];
419
+ 429: external$5["swagger.yml"]["components"]["responses"]["RateLimitError"];
420
+ 500: external$5["swagger.yml"]["components"]["responses"]["InternalServerError"];
421
+ };
422
+ requestBody: {
423
+ content: {
424
+ "application/json": {
425
+ /**
426
+ * Format: uuid
427
+ * @description The project ID to upsert the component definition to
428
+ */
429
+ projectId: string;
430
+ componentDefinition: external$5["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentDefinition"];
431
+ };
432
+ };
433
+ };
434
+ };
435
+ /** Deletes a component definition */
436
+ delete: {
437
+ responses: {
438
+ /** OK */
439
+ 204: never;
440
+ 400: external$5["swagger.yml"]["components"]["responses"]["BadRequestError"];
441
+ 401: external$5["swagger.yml"]["components"]["responses"]["UnauthorizedError"];
442
+ 403: external$5["swagger.yml"]["components"]["responses"]["ForbiddenError"];
443
+ 429: external$5["swagger.yml"]["components"]["responses"]["RateLimitError"];
444
+ 500: external$5["swagger.yml"]["components"]["responses"]["InternalServerError"];
445
+ };
446
+ requestBody: {
447
+ content: {
448
+ "application/json": {
449
+ /** @description The public ID of the component definition to delete */
450
+ componentId: string;
451
+ /**
452
+ * Format: uuid
453
+ * @description The ID of the project the composition to delete belongs to
454
+ */
455
+ projectId: string;
456
+ };
457
+ };
458
+ };
459
+ };
460
+ /** Handles preflight requests. This endpoint allows CORS. */
461
+ options: {
462
+ responses: {
463
+ /** OK */
464
+ 204: never;
465
+ };
466
+ };
467
+ };
468
+ }
469
+ interface external$5 {
470
+ "swagger.yml": {
471
+ paths: {};
472
+ components: {
473
+ schemas: {
474
+ Error: {
475
+ /** @description Error message(s) that occurred while processing the request */
476
+ errorMessage?: string[] | string;
477
+ };
478
+ };
479
+ responses: {
480
+ /** Request input validation failed */
481
+ BadRequestError: {
482
+ content: {
483
+ "application/json": external$5["swagger.yml"]["components"]["schemas"]["Error"];
484
+ };
485
+ };
486
+ /** API key or token was not valid */
487
+ UnauthorizedError: {
488
+ content: {
489
+ "application/json": external$5["swagger.yml"]["components"]["schemas"]["Error"];
490
+ };
491
+ };
492
+ /** Permission was denied */
493
+ ForbiddenError: {
494
+ content: {
495
+ "application/json": external$5["swagger.yml"]["components"]["schemas"]["Error"];
496
+ };
497
+ };
498
+ /** Resource not found */
499
+ NotFoundError: {
500
+ content: {
501
+ "application/json": external$5["swagger.yml"]["components"]["schemas"]["Error"];
502
+ };
503
+ };
504
+ /** Too many requests in allowed time period */
505
+ RateLimitError: unknown;
506
+ /** Execution error occurred */
507
+ InternalServerError: unknown;
508
+ };
509
+ };
510
+ operations: {};
511
+ };
512
+ "uniform-canvas-types.swagger.yml": {
513
+ paths: {};
514
+ components: {
515
+ schemas: {
516
+ /** @description Public ID (used in code). Do not change after creation. */
517
+ PublicIdProperty: string;
518
+ /** @description The definition of a component parameter */
519
+ ComponentDefinitionParameter: {
520
+ id: external$5["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["PublicIdProperty"];
521
+ /** @description Friendly name of the parameter */
522
+ name: string;
523
+ /** @description Appears next to the parameter in the Composition editor */
524
+ helpText?: string;
525
+ /** @description Type name of the parameter (provided by a Uniform integration) */
526
+ type: string;
527
+ /** @description The configuration object for the type (type-specific) */
528
+ typeConfig?: unknown;
529
+ };
530
+ /** @description The definition of a named component slot that can contain other components */
531
+ ComponentDefinitionSlot: {
532
+ id: external$5["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["PublicIdProperty"];
533
+ /** @description Friendly name of the slot */
534
+ name: string;
535
+ /** @description A list of component definition public IDs that are allowed in this named slot */
536
+ allowedComponents: string[];
537
+ /**
538
+ * @description Whether this slot inherits its allowed components from the parent slot it lives in. If true, allowedComponents is irrelevant.
539
+ * @default false
540
+ */
541
+ inheritAllowedComponents: boolean;
542
+ /** @description Minimum valid number of components in this slot */
543
+ minComponents?: number;
544
+ /** @description Maximum valid number of components in this slot */
545
+ maxComponents?: number;
546
+ };
547
+ /** @description The definition of a composition's slug settings */
548
+ ComponentDefinitionSlugSettings: {
549
+ /**
550
+ * @description Whether the slug is required
551
+ * no: slug is optional
552
+ * yes: slug is required
553
+ * disabled: slug is disabled and will not be shown in the editor
554
+ *
555
+ * @default no
556
+ * @enum {string}
557
+ */
558
+ required?: "no" | "yes" | "disabled";
559
+ /**
560
+ * @description Slug uniqueness configuration.
561
+ * no = no unique constraint
562
+ * local = must be unique within this component type
563
+ * global = must be unique across all component types
564
+ *
565
+ * @enum {string}
566
+ */
567
+ unique?: "no" | "local" | "global";
568
+ /** @description Regular expression slugs must match */
569
+ regularExpression?: string;
570
+ /**
571
+ * @description Custom error message when regular expression validation fails.
572
+ * Has no effect if `regularExpression` is not set.
573
+ */
574
+ regularExpressionMessage?: string;
575
+ };
576
+ /** @description The definition of a component variant */
577
+ ComponentDefinitionVariant: {
578
+ id: external$5["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["PublicIdProperty"];
579
+ /** @description Friendly name of the variant */
580
+ name: string;
581
+ };
582
+ /** @description Permission set for a component defintion */
583
+ ComponentDefinitionPermission: {
584
+ roleId: external$5["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["PublicIdProperty"];
585
+ /**
586
+ * @description Permission type for this permission ComponentDefinition:
587
+ * read | write | create | delete
588
+ *
589
+ * @enum {string}
590
+ */
591
+ permission: "read" | "write" | "create" | "delete";
592
+ /** @description State of the component that this permission applies to */
593
+ state: number;
594
+ };
595
+ /** @description Defines a component type that can live on a Composition */
596
+ ComponentDefinition: {
597
+ id: external$5["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["PublicIdProperty"];
598
+ /** @description Friendly name of the component definition */
599
+ name: string;
600
+ /**
601
+ * @description Icon name or URL for the component definition (e.g. 'screen' or 'https://s3/my-component.jpg')
602
+ * @default screen
603
+ */
604
+ icon?: string;
605
+ /**
606
+ * @description The public ID of the parameter whose value should be used to create a display title for this component in the UI.
607
+ * The parameter type must support being used as a title parameter for this to work.
608
+ */
609
+ titleParameter?: string | null;
610
+ /**
611
+ * @description Whether this component type can be the root of a composition. If false, this component is only used within slots on other components.
612
+ * @default false
613
+ */
614
+ canBeComposition?: boolean;
615
+ /** @description The parameters for this component. Parameters are key-value pairs that can be anything from text values to links to CMS entries. */
616
+ parameters?: external$5["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentDefinitionParameter"][];
617
+ /**
618
+ * @description if this component uses team permissions or custom permissions
619
+ * @default true
620
+ */
621
+ useTeamPermissions?: boolean;
622
+ /** @description Custom role permissions for this component definition */
623
+ permissions?: external$5["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentDefinitionPermission"][];
624
+ /** @description The named slots for this component; placement areas where arrays of other components can be added. */
625
+ slots?: external$5["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentDefinitionSlot"][];
626
+ slugSettings?: external$5["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentDefinitionSlugSettings"];
627
+ /** @description Default component instance value */
628
+ defaults?: external$5["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentInstance"] | null;
629
+ /** @description Named variants for this component; enables creation of visual variants that use the same parameter data */
630
+ variants?: external$5["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentDefinitionVariant"][];
631
+ /** @description Created date string for this definition (ignored for writes) */
632
+ created?: string;
633
+ /** @description Last modified date string for this definition (ignored for writes) */
634
+ updated?: string;
635
+ };
636
+ /** @description Defines an editable parameter on a component. */
637
+ ComponentParameter: {
638
+ /** @description The value of the parameter. Any JSON-serializable value is acceptable. */
639
+ value: unknown;
640
+ /** @description The type of the parameter. Determines how it is displayed when editing, and tells the consumer how to process it. */
641
+ type: string;
642
+ connectedData?: external$5["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["DataElementConnectionDefinition"];
643
+ };
644
+ /**
645
+ * @deprecated
646
+ * @description Defines a connection to a data element on a data resource. Do not use.
647
+ */
648
+ DataElementConnectionDefinition: {
649
+ /** @description A JSON Pointer expression that defines the data element to connect the parameter to. */
650
+ pointer: string;
651
+ /**
652
+ * @description The syntax used to select the data element to bind to
653
+ * @enum {string}
654
+ */
655
+ syntax: "jptr";
656
+ /**
657
+ * @description Whether an error should occur if the connected data element cannot be resolved (i.e. a missing property in the data resource).
658
+ * In all cases the binding process will remove the parameter data for the unresolvable data element.
659
+ * When this is true, and the data element failed to bind, the warning entry returned from the binding process will be changed to an error entry.
660
+ *
661
+ * @default false
662
+ */
663
+ required?: boolean;
664
+ };
665
+ /** @description Defines the shape of a component instance served by the composition API. */
666
+ ComponentInstance: {
667
+ /** @description Type of the component instance (public_id of its definition) */
668
+ type: string;
669
+ /** @description Component parameter values for the component instance */
670
+ parameters?: {
671
+ [key: string]: external$5["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentParameter"];
672
+ };
673
+ /** @description Public ID of alternate visual appearance for this component, if any selected */
674
+ variant?: string;
675
+ /** @description Slots containing any child components */
676
+ slots?: {
677
+ [key: string]: external$5["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentInstance"][];
678
+ };
679
+ /** @description Unique identifier of the component within the composition. This is not set unless specifically requested via `withComponentIDs` API parameter. */
680
+ _id?: string;
681
+ /** @description Indicates this component instance should be sourced from a pattern library pattern. */
682
+ _pattern?: string;
683
+ _dataResources?: external$5["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["DataResourceDefinitions"];
684
+ /**
685
+ * @deprecated
686
+ * @description Data definitions coming from a pattern resolved for this component. Merged with _data during resolution.
687
+ * Means nothing for PUTs; it will be ignored.
688
+ */
689
+ _patternDataResources?: {
690
+ [key: string]: external$5["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["DataResourceDefinition"];
691
+ };
692
+ /**
693
+ * @description Describes why the pattern could not be resolved, if a pattern could not be resolved. For PUTs, this is allowed but ignored.
694
+ * CYCLIC: A cyclic pattern graph was detected, which could not be resolved because it would cause an infinite loop.
695
+ * NOTFOUND: The pattern ID referenced could not be found. It may have been deleted, or not be published yet.
696
+ * Means nothing for PUTs; it will be ignored.
697
+ *
698
+ * @enum {string}
699
+ */
700
+ _patternError?: "NOTFOUND" | "CYCLIC";
701
+ };
702
+ /** @description Defines the shape of the root component in a composition */
703
+ RootComponentInstance: {
704
+ /** @description Type of the component instance (public_id of its definition) */
705
+ type: string;
706
+ /** @description Component parameter values for the component instance */
707
+ parameters?: {
708
+ [key: string]: external$5["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentParameter"];
709
+ };
710
+ /** @description Public ID of alternate visual appearance for this component, if any selected */
711
+ variant?: string;
712
+ /** @description Project map nodes associated with this component. Must pass withProjectMapNodes parameter to be populated. */
713
+ projectMapNodes?: external$5["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["CompositionProjectMapNodeInfo"][];
714
+ /** @description Slots containing any child components */
715
+ slots?: {
716
+ [key: string]: external$5["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentInstance"][];
717
+ };
718
+ /** @description The public UUID of the composition. */
719
+ _id: string;
720
+ /** @description Slug pattern of this component. */
721
+ _slug?: string | null;
722
+ /** @description Friendly name of this component. */
723
+ _name: string;
724
+ _dataResources?: external$5["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["DataResourceDefinitions"];
725
+ };
726
+ /**
727
+ * @deprecated
728
+ * @description An instance of a data source (i.e. "Master environment of the stable space", "Yelp API", "Sanity dev dataset").
729
+ * These are created in the UI and shared across a whole project.
730
+ * NOTE: if you acquire a list of data sources or do not have manage permissions, you will receive "SECRET"
731
+ * for all header, parameter, and variable values to obscure the actual encrypted secret value.
732
+ */
733
+ DataSource: {
734
+ /** @description Public ID of the data source */
735
+ id: string;
736
+ /** @description Display name of the data source */
737
+ displayName: string;
738
+ /** @description The type of data connector this connects to (e.g. 'cms-items', provided by an intalled integration) */
739
+ connectorType: string;
740
+ /** @description Base resource URL of the data source. No trailing slash. */
741
+ baseUrl: string;
742
+ /** @description HTTP headers to pass with requests to the data source */
743
+ headers?: {
744
+ key: string;
745
+ value: string;
746
+ }[];
747
+ /** @description Query String parameters to pass with requests to the data type. Merged with parameters from the data source, overriding identical keys. */
748
+ parameters?: {
749
+ key: string;
750
+ value: string;
751
+ }[];
752
+ /** @description Variables needed to make calls to the data source */
753
+ variables?: {
754
+ [key: string]: external$5["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["DataVariableDefinition"];
755
+ };
756
+ /** @description Custom configuration specific to the data source being defined (used to maintain UI state for custom integrations) */
757
+ custom?: {
758
+ [key: string]: unknown;
759
+ };
760
+ };
761
+ /**
762
+ * @deprecated
763
+ * @description A specific type of data that a Data Source can provide (i.e. "Recipe", "Recipes List by Tag", "Yelp Reviews of My Restaurant"). These are created in the UI and shared a whole project.
764
+ */
765
+ DataType: {
766
+ /** @description Public ID of the data type */
767
+ id: string;
768
+ /** @description Display name of the data type */
769
+ displayName: string;
770
+ /** @description Public ID of the associated data source */
771
+ dataSourceId: string;
772
+ /**
773
+ * @description A connector-specific archetype for this data type; used to select UI as well as perform any
774
+ * necessary post-processing on the response. e.g. 'cms-entry', 'cms-query'. Can be undefined if
775
+ * no special UI or processing is required.
776
+ */
777
+ archetype?: string;
778
+ allowedOnComponents?: string[];
779
+ /** @description Resource path, appended to the data source's baseUrl (e.g. baseUrl = https://base.url, path = /v1/endpoint -> final URL https://base.url/v1/endpoint). Must have leading slash. */
780
+ path: string;
781
+ /** @description Time-to-live (in seconds) for the primary resource data cache. */
782
+ ttl?: number;
783
+ /** @description Long term data resource cache configuration. */
784
+ longTermCache?: {
785
+ /** @description A flag to turn the long term cache on. */
786
+ enabled: boolean;
787
+ /** @description Time-to-live (in hours) for the long term resource data cache. */
788
+ ttlInHours?: number;
789
+ };
790
+ /** @description A key for the resource data cache purging. */
791
+ purgeKey?: string;
792
+ /** @description URL to a custom badge icon for the Uniform dashboard for this data type. If not set falls back to the data connector or integration icons. */
793
+ badgeIconUrl?: string;
794
+ /** @description HTTP headers to pass with requests to the data type. Merged with headers from the data source, overriding identical keys. */
795
+ headers?: {
796
+ key: string;
797
+ value: string;
798
+ }[];
799
+ /** @description Query String parameters to pass with requests to the data type. Merged with parameters from the data source, overriding identical keys. */
800
+ parameters?: {
801
+ key: string;
802
+ value: string;
803
+ }[];
804
+ /** @description Body to pass with requests to the data type (ignored unless method is POST) */
805
+ body?: string;
806
+ /**
807
+ * @description HTTP method to use with requests to the data type.
808
+ * @default GET
809
+ * @enum {string}
810
+ */
811
+ method: "GET" | "POST" | "HEAD";
812
+ /** @description Variables needed to make calls to the data type. Merged with variables from the data source, overriding identical keys. */
813
+ variables?: {
814
+ [key: string]: external$5["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["DataVariableDefinition"];
815
+ };
816
+ /** @description Custom configuration specific to the data source being defined */
817
+ custom?: {
818
+ [key: string]: unknown;
819
+ };
820
+ };
821
+ /**
822
+ * @deprecated
823
+ * @description Defines the shape of a data variable on a Data Source or Data Type
824
+ */
825
+ DataVariableDefinition: {
826
+ /** @description Display name of the data variable */
827
+ displayName?: string;
828
+ /** @description Explanatory text that is provided to the data resource editor to explain what this variable does. */
829
+ helpText?: string;
830
+ /**
831
+ * @description Type of the data variable. Optionally used as a point of reference for custom integrations to decide how to render an editor for a variable.
832
+ * @default text
833
+ */
834
+ type?: string;
835
+ /** @description Default value of the data variable */
836
+ default: string;
837
+ /** @description Sets the order of the variable when displayed in a list with other variables. If not set, the order defaults to alphabetical with any explicitly set orders first in the list. */
838
+ order?: number;
839
+ };
840
+ /**
841
+ * @deprecated
842
+ * @description Data definitions attached to this component. The property name is the key of the data in the data document.
843
+ * Note: data definitions are inherited from ancestors at runtime (and may be overridden by descendants that use the same key).
844
+ */
845
+ DataResourceDefinitions: {
846
+ [key: string]: external$5["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["DataResourceDefinition"];
847
+ };
848
+ /**
849
+ * @deprecated
850
+ * @description Defines a data resource, which is a named JSON document, usually from an API response, which may be projected onto parameters
851
+ */
852
+ DataResourceDefinition: {
853
+ /** @description Public ID of the data type that provides this data */
854
+ type: string;
855
+ /** @description Whether this data is a pattern parameter that has to be overridden when a pattern is referenced on another composition. If this is not a pattern composition, this has no meaning and should not be used. If unspecified, the default is false. */
856
+ isPatternParameter?: boolean;
857
+ variables?: external$5["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["DataResourceVariables"];
858
+ };
859
+ /**
860
+ * @deprecated
861
+ * @description Variable values for a data resource.
862
+ */
863
+ DataResourceVariables: {
864
+ [key: string]: string;
865
+ };
866
+ /** @description Project map node information related to a component. */
867
+ CompositionProjectMapNodeInfo: {
868
+ /**
869
+ * Format: uuid
870
+ * @description Unique identifier for the project map node
871
+ */
872
+ id: string;
873
+ /** @description Path of the project map node */
874
+ path: string;
875
+ /**
876
+ * Format: uuid
877
+ * @description Unique identifier for the project map that this node belongs to.
878
+ */
879
+ projectMapId: string;
880
+ };
881
+ };
882
+ };
883
+ operations: {};
884
+ };
885
+ }
886
+
887
+ type SharedComponents$1 = components$2['schemas'];
888
+ type Api$1 = paths$4['/api/v1/canvas-definitions'];
889
+ /** Shape of the GET response from /api/v1/canvas-definitions */
890
+ type ComponentDefinitionGetResponse = Api$1['get']['responses']['200']['content']['application/json'];
891
+ /** Shape of the PUT request body for /api/v1/canvas-definitions */
892
+ type ComponentDefinitionPutParameters = Api$1['put']['requestBody']['content']['application/json'];
893
+ /** Shape of the DELETE request body for /api/v1/canvas-definitions */
894
+ type ComponentDefinitionDeleteParameters = Api$1['delete']['requestBody']['content']['application/json'];
895
+ /** Query parameter options for GET /api/v1/canvas-definitions */
896
+ type ComponentDefinitionGetParameters = Api$1['get']['parameters']['query'];
897
+ /** @deprecated use ComponentDefinitionGetResponse instead */
898
+ type ComponentDefinitionAPIResponse = ComponentDefinitionGetResponse;
899
+ /** @deprecated use ComponentDefinitionPutParameters */
900
+ type ComponentDefinitionAPIPutRequest = ComponentDefinitionPutParameters;
901
+ /** @deprecated use ComponentDefinitionDeleteParameters */
902
+ type ComponentDefinitionAPIDeleteRequest = ComponentDefinitionDeleteParameters;
903
+ /** @deprecated use ComponentDefinitionGetParameters */
904
+ type ComponentDefinitionListAPIOptions = ComponentDefinitionGetParameters;
905
+ /** The definition of a component parameter */
906
+ type ComponentDefinitionParameter<TConfig = unknown> = Omit<components$2['schemas']['ComponentDefinitionParameter'], 'typeConfig'> & {
907
+ typeConfig?: TConfig;
908
+ };
909
+ /** The definition of a component visual variant */
910
+ type ComponentDefinitionVariant = SharedComponents$1['ComponentDefinitionVariant'];
911
+ /** The definition of a composition's slug settings */
912
+ type ComponentDefinitionSlugSettings = SharedComponents$1['ComponentDefinitionSlugSettings'];
913
+ /** The definition of a named component slot that can contain other components */
914
+ type ComponentDefinitionSlot = SharedComponents$1['ComponentDefinitionSlot'];
915
+ /** Permission set for a component defintion */
916
+ type ComponentDefinitionPermission = SharedComponents$1['ComponentDefinitionPermission'];
917
+ /** Defines a component type that can live on a Composition */
918
+ type ComponentDefinition = SharedComponents$1['ComponentDefinition'];
919
+ /** @deprecated use ComponentDefinition instead */
920
+ type CreatingComponentDefinition = Omit<Partial<ComponentDefinition>, 'created' | 'updated'>;
921
+
922
+ /**
923
+ * This file was auto-generated by openapi-typescript.
924
+ * Do not make direct changes to the file.
925
+ */
926
+ interface paths$3 {
927
+ "/api/v1/canvas": {
928
+ get: {
929
+ parameters: {
930
+ query: {
931
+ /** Specify a single composition ID to fetch. Changes response from list to single. */
932
+ compositionId?: components$1["parameters"]["compositionId"];
933
+ /** Specify multiple composition IDs to fetch. Response type will be a list. */
934
+ compositionIDs?: components$1["parameters"]["compositionIDs"];
935
+ /** Filters composition lists by the user who created them. The user is specified by their identity subject. */
936
+ createdBy?: components$1["parameters"]["createdBy"];
937
+ /**
938
+ * Matches compositions where their name, slug, or definition name contains the specified keyword.
939
+ * NOT a full text search; does not match composition contents.
940
+ */
941
+ keyword?: components$1["parameters"]["keyword"];
942
+ /** Max number of records to return */
943
+ limit?: components$1["parameters"]["limit"];
944
+ /** Number of records to skip */
945
+ offset?: components$1["parameters"]["offset"];
946
+ /** Sets the sorting of the results. If unspecified, results are sorted by name ascending. */
947
+ orderBy?: components$1["parameters"]["orderBy"];
948
+ /**
949
+ * Matches compositions based on whether they are a pattern composition or a regular composition.
950
+ * If true, only pattern compositions will be returned.
951
+ * If false, only regular compositions will be returned.
952
+ * If omitted, both pattern and regular compositions will be returned.
953
+ */
954
+ pattern?: components$1["parameters"]["pattern"];
955
+ /** The project the composition(s) are on. */
956
+ projectId: components$1["parameters"]["projectId"];
957
+ /** Required when using project map node id or path for fetch. */
958
+ projectMapId?: components$1["parameters"]["projectMapId"];
959
+ /** Specify a single composition to fetch by assodicated project map node ID. Changes response from list to single. */
960
+ projectMapNodeId?: components$1["parameters"]["projectMapNodeId"];
961
+ /** Specify a single composition to fetch by assodicated project map node path. Changes response from list to single. */
962
+ projectMapNodePath?: components$1["parameters"]["projectMapNodePath"];
963
+ /**
964
+ * @deprecated Signals an enhancer proxy to skip processing enhancements to the data and return raw data only.
965
+ * This improves performance if you do not require enhanced component data.
966
+ * If calling the Canvas API directly with no enhancer proxy, this has no effect.
967
+ */
968
+ skipEnhance?: components$1["parameters"]["skipEnhance"];
969
+ /**
970
+ * If true, any pattern references in the composition will be left unresolved.
971
+ * This is appropriate if you intend to serialize the composition without patterns
972
+ * embedded into it, and serialize the pattern data separately.
973
+ */
974
+ skipPatternResolution?: components$1["parameters"]["skipPatternResolution"];
975
+ /** If true, any dynamic parameters will be left with their raw data. Project map link path is a dynamic parameter. */
976
+ skipParameterResolution?: components$1["parameters"]["skipParameterResolution"];
977
+ /** Specify a single composition to fetch by slug. Changes response from list to single. */
978
+ slug?: components$1["parameters"]["slug"];
979
+ /** State of compositions to fetch. 0 = draft, 64 = published. */
980
+ state?: components$1["parameters"]["state"];
981
+ /** The component type (by public ID) to filter by. Note that this filters the root composition type only; components in slots are not matched by this filter. */
982
+ type?: components$1["parameters"]["type"];
983
+ /**
984
+ * @deprecated Filters composition lists by the UI status of the composition.
985
+ * This internal status is subject to change without notice, and is thus marked deprecated to discourage use of internal data.
986
+ */
987
+ uiStatus?: components$1["parameters"]["uiStatus"];
988
+ /** Filters composition lists by the user who last updated them. The user is specified by their identity subject. */
989
+ updatedBy?: components$1["parameters"]["updatedBy"];
990
+ /**
991
+ * If true the `_id` unique identifier of each non-root component will be part of the response data.
992
+ * If false, the `_id` will not be present in the API response.
993
+ */
994
+ withComponentIDs?: components$1["parameters"]["withComponentIDs"];
995
+ /**
996
+ * Controls whether the total count of results will be returned along with the current results page in a list.
997
+ * Has no effect when not fetching a list. This does impact performance when enabled.
998
+ */
999
+ withTotalCount?: components$1["parameters"]["withTotalCount"];
1000
+ /**
1001
+ * @deprecated Returns the UI status string of the composition.
1002
+ * This internal status is subject to change without notice, and is thus marked deprecated to discourage use of internal data.
1003
+ */
1004
+ withUIStatus?: components$1["parameters"]["withUIStatus"];
1005
+ /** Includes project map node information in the composition results */
1006
+ withProjectMapNodes?: components$1["parameters"]["withProjectMapNodes"];
1007
+ };
1008
+ };
1009
+ responses: {
1010
+ /** OK */
1011
+ 200: {
1012
+ content: {
1013
+ "application/json": components$1["schemas"]["CompositionListResponse"] | components$1["schemas"]["CompositionApiResponse"];
1014
+ };
1015
+ };
1016
+ 400: external$4["swagger.yml"]["components"]["responses"]["BadRequestError"];
1017
+ 401: external$4["swagger.yml"]["components"]["responses"]["UnauthorizedError"];
1018
+ 403: external$4["swagger.yml"]["components"]["responses"]["ForbiddenError"];
1019
+ /** Composition not found */
1020
+ 404: {
1021
+ content: {
1022
+ "text/plain": string;
1023
+ };
1024
+ };
1025
+ 429: external$4["swagger.yml"]["components"]["responses"]["RateLimitError"];
1026
+ 500: external$4["swagger.yml"]["components"]["responses"]["InternalServerError"];
1027
+ };
1028
+ };
1029
+ /** Upserts a composition */
1030
+ put: {
1031
+ responses: {
1032
+ /** OK */
1033
+ 204: never;
1034
+ 400: external$4["swagger.yml"]["components"]["responses"]["BadRequestError"];
1035
+ 401: external$4["swagger.yml"]["components"]["responses"]["UnauthorizedError"];
1036
+ 403: external$4["swagger.yml"]["components"]["responses"]["ForbiddenError"];
1037
+ 429: external$4["swagger.yml"]["components"]["responses"]["RateLimitError"];
1038
+ 500: external$4["swagger.yml"]["components"]["responses"]["InternalServerError"];
1039
+ };
1040
+ requestBody: {
1041
+ content: {
1042
+ "application/json": {
1043
+ /**
1044
+ * Format: uuid
1045
+ * @description The project ID to upsert the composition to
1046
+ */
1047
+ projectId: string;
1048
+ /** @description The state of the composition to upsert into. 0 = draft, 64 = published */
1049
+ state: number;
1050
+ composition: external$4["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["RootComponentInstance"];
1051
+ /**
1052
+ * @description True if the composition is a pattern (which can be referenced on other compositions)
1053
+ * @default false
1054
+ */
1055
+ pattern?: boolean;
1056
+ /** @description Ignored if present */
1057
+ created?: string;
1058
+ /** @description Ignored if present */
1059
+ modified?: string;
1060
+ };
1061
+ };
1062
+ };
1063
+ };
1064
+ /** Deletes or unpublishes a composition */
1065
+ delete: {
1066
+ responses: {
1067
+ /** OK */
1068
+ 204: never;
1069
+ 400: external$4["swagger.yml"]["components"]["responses"]["BadRequestError"];
1070
+ 401: external$4["swagger.yml"]["components"]["responses"]["UnauthorizedError"];
1071
+ 403: external$4["swagger.yml"]["components"]["responses"]["ForbiddenError"];
1072
+ 429: external$4["swagger.yml"]["components"]["responses"]["RateLimitError"];
1073
+ 500: external$4["swagger.yml"]["components"]["responses"]["InternalServerError"];
1074
+ };
1075
+ requestBody: {
1076
+ content: {
1077
+ "application/json": {
1078
+ /**
1079
+ * Format: uuid
1080
+ * @description The ID of the composition to delete
1081
+ */
1082
+ compositionId: string;
1083
+ /**
1084
+ * Format: uuid
1085
+ * @description The ID of the project the composition to delete belongs to
1086
+ */
1087
+ projectId: string;
1088
+ /** @description The state of the composition to delete (0 = draft, 64 = published [causes unpublishing], unspecified = all) */
1089
+ state?: number;
1090
+ };
1091
+ };
1092
+ };
1093
+ };
1094
+ /** Handles preflight requests. This endpoint allows CORS. */
1095
+ options: {
1096
+ responses: {
1097
+ /** OK */
1098
+ 204: never;
1099
+ };
1100
+ };
1101
+ };
1102
+ }
1103
+ interface components$1 {
1104
+ schemas: {
1105
+ CompositionApiResponse: {
1106
+ /** @description State of compositions to fetch. 0 = draft, 64 = published. */
1107
+ state: number;
1108
+ /**
1109
+ * @deprecated
1110
+ * @description UI status value. Subject to change without notice; do not rely on this value. Only present when `withUIStatus` option is true.
1111
+ * @enum {string}
1112
+ */
1113
+ uiStatus?: "Draft" | "Modified" | "Published" | "Orphan";
1114
+ /**
1115
+ * Format: uuid
1116
+ * @description The project ID that this layout data is part of
1117
+ */
1118
+ projectId: string;
1119
+ /**
1120
+ * Format: date-time,
1121
+ * @description Created date string for this definition
1122
+ */
1123
+ created: string;
1124
+ /**
1125
+ * Format: date-time,
1126
+ * @description Modified date string for this definition
1127
+ */
1128
+ modified: string;
1129
+ /** @description Whether this composition is a pattern (can be referenced by other compositions, not treated as a composition) */
1130
+ pattern: boolean;
1131
+ composition: external$4["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["RootComponentInstance"];
1132
+ };
1133
+ CompositionListResponse: {
1134
+ compositions: components$1["schemas"]["CompositionApiResponse"][];
1135
+ /** @description Total number of compositions that match the query. Only present when `withTotalCount` option is true. */
1136
+ totalCount?: number;
1137
+ };
1138
+ };
1139
+ parameters: {
1140
+ /** @description The project the composition(s) are on. */
1141
+ projectId: string;
1142
+ /** @description Specify a single composition ID to fetch. Changes response from list to single. */
1143
+ compositionId: string;
1144
+ /** @description Specify multiple composition IDs to fetch. Response type will be a list. */
1145
+ compositionIDs: string[];
1146
+ /** @description Specify a single composition to fetch by slug. Changes response from list to single. */
1147
+ slug: string;
1148
+ /** @description Specify a single composition to fetch by assodicated project map node ID. Changes response from list to single. */
1149
+ projectMapNodeId: string;
1150
+ /** @description Specify a single composition to fetch by assodicated project map node path. Changes response from list to single. */
1151
+ projectMapNodePath: string;
1152
+ /** @description Required when using project map node id or path for fetch. */
1153
+ projectMapId: string;
1154
+ /** @description The component type (by public ID) to filter by. Note that this filters the root composition type only; components in slots are not matched by this filter. */
1155
+ type: string[];
1156
+ /** @description State of compositions to fetch. 0 = draft, 64 = published. */
1157
+ state: number;
1158
+ /** @description Number of records to skip */
1159
+ offset: number;
1160
+ /** @description Max number of records to return */
1161
+ limit: number;
1162
+ /**
1163
+ * @deprecated
1164
+ * @description Signals an enhancer proxy to skip processing enhancements to the data and return raw data only.
1165
+ * This improves performance if you do not require enhanced component data.
1166
+ * If calling the Canvas API directly with no enhancer proxy, this has no effect.
1167
+ */
1168
+ skipEnhance: boolean;
1169
+ /**
1170
+ * @description If true, any pattern references in the composition will be left unresolved.
1171
+ * This is appropriate if you intend to serialize the composition without patterns
1172
+ * embedded into it, and serialize the pattern data separately.
1173
+ */
1174
+ skipPatternResolution: boolean;
1175
+ /** @description If true, any dynamic parameters will be left with their raw data. Project map link path is a dynamic parameter. */
1176
+ skipParameterResolution: boolean;
1177
+ /**
1178
+ * @description If true the `_id` unique identifier of each non-root component will be part of the response data.
1179
+ * If false, the `_id` will not be present in the API response.
1180
+ */
1181
+ withComponentIDs: boolean;
1182
+ /**
1183
+ * @description Matches compositions where their name, slug, or definition name contains the specified keyword.
1184
+ * NOT a full text search; does not match composition contents.
1185
+ */
1186
+ keyword: string;
1187
+ /**
1188
+ * @description Matches compositions based on whether they are a pattern composition or a regular composition.
1189
+ * If true, only pattern compositions will be returned.
1190
+ * If false, only regular compositions will be returned.
1191
+ * If omitted, both pattern and regular compositions will be returned.
1192
+ */
1193
+ pattern: boolean;
1194
+ /** @description Sets the sorting of the results. If unspecified, results are sorted by name ascending. */
1195
+ orderBy: ("updated_at_DESC" | "updated_at_ASC" | "created_at_DESC" | "created_at_ASC" | "name_DESC" | "name_ASC" | "slug_DESC" | "slug_ASC")[];
1196
+ /**
1197
+ * @deprecated
1198
+ * @description Returns the UI status string of the composition.
1199
+ * This internal status is subject to change without notice, and is thus marked deprecated to discourage use of internal data.
1200
+ */
1201
+ withUIStatus: boolean;
1202
+ /**
1203
+ * @deprecated
1204
+ * @description Filters composition lists by the UI status of the composition.
1205
+ * This internal status is subject to change without notice, and is thus marked deprecated to discourage use of internal data.
1206
+ */
1207
+ uiStatus: ("Draft" | "Modified" | "Published" | "Orphan")[];
1208
+ /** @description Includes project map node information in the composition results */
1209
+ withProjectMapNodes: boolean;
1210
+ /** @description Filters composition lists by the user who created them. The user is specified by their identity subject. */
1211
+ createdBy: string;
1212
+ /** @description Filters composition lists by the user who last updated them. The user is specified by their identity subject. */
1213
+ updatedBy: string;
1214
+ /**
1215
+ * @description Controls whether the total count of results will be returned along with the current results page in a list.
1216
+ * Has no effect when not fetching a list. This does impact performance when enabled.
1217
+ */
1218
+ withTotalCount: boolean;
1219
+ };
1220
+ }
1221
+ interface external$4 {
1222
+ "swagger.yml": {
1223
+ paths: {};
1224
+ components: {
1225
+ schemas: {
1226
+ Error: {
1227
+ /** @description Error message(s) that occurred while processing the request */
1228
+ errorMessage?: string[] | string;
1229
+ };
1230
+ };
1231
+ responses: {
1232
+ /** Request input validation failed */
1233
+ BadRequestError: {
1234
+ content: {
1235
+ "application/json": external$4["swagger.yml"]["components"]["schemas"]["Error"];
1236
+ };
1237
+ };
1238
+ /** API key or token was not valid */
1239
+ UnauthorizedError: {
1240
+ content: {
1241
+ "application/json": external$4["swagger.yml"]["components"]["schemas"]["Error"];
1242
+ };
1243
+ };
1244
+ /** Permission was denied */
1245
+ ForbiddenError: {
1246
+ content: {
1247
+ "application/json": external$4["swagger.yml"]["components"]["schemas"]["Error"];
1248
+ };
1249
+ };
1250
+ /** Resource not found */
1251
+ NotFoundError: {
1252
+ content: {
1253
+ "application/json": external$4["swagger.yml"]["components"]["schemas"]["Error"];
1254
+ };
1255
+ };
1256
+ /** Too many requests in allowed time period */
1257
+ RateLimitError: unknown;
1258
+ /** Execution error occurred */
1259
+ InternalServerError: unknown;
1260
+ };
1261
+ };
1262
+ operations: {};
1263
+ };
1264
+ "uniform-canvas-types.swagger.yml": {
1265
+ paths: {};
1266
+ components: {
1267
+ schemas: {
1268
+ /** @description Public ID (used in code). Do not change after creation. */
1269
+ PublicIdProperty: string;
1270
+ /** @description The definition of a component parameter */
1271
+ ComponentDefinitionParameter: {
1272
+ id: external$4["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["PublicIdProperty"];
1273
+ /** @description Friendly name of the parameter */
1274
+ name: string;
1275
+ /** @description Appears next to the parameter in the Composition editor */
1276
+ helpText?: string;
1277
+ /** @description Type name of the parameter (provided by a Uniform integration) */
1278
+ type: string;
1279
+ /** @description The configuration object for the type (type-specific) */
1280
+ typeConfig?: unknown;
1281
+ };
1282
+ /** @description The definition of a named component slot that can contain other components */
1283
+ ComponentDefinitionSlot: {
1284
+ id: external$4["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["PublicIdProperty"];
1285
+ /** @description Friendly name of the slot */
1286
+ name: string;
1287
+ /** @description A list of component definition public IDs that are allowed in this named slot */
1288
+ allowedComponents: string[];
1289
+ /**
1290
+ * @description Whether this slot inherits its allowed components from the parent slot it lives in. If true, allowedComponents is irrelevant.
1291
+ * @default false
1292
+ */
1293
+ inheritAllowedComponents: boolean;
1294
+ /** @description Minimum valid number of components in this slot */
1295
+ minComponents?: number;
1296
+ /** @description Maximum valid number of components in this slot */
1297
+ maxComponents?: number;
1298
+ };
1299
+ /** @description The definition of a composition's slug settings */
1300
+ ComponentDefinitionSlugSettings: {
1301
+ /**
1302
+ * @description Whether the slug is required
1303
+ * no: slug is optional
1304
+ * yes: slug is required
1305
+ * disabled: slug is disabled and will not be shown in the editor
1306
+ *
1307
+ * @default no
1308
+ * @enum {string}
1309
+ */
1310
+ required?: "no" | "yes" | "disabled";
1311
+ /**
1312
+ * @description Slug uniqueness configuration.
1313
+ * no = no unique constraint
1314
+ * local = must be unique within this component type
1315
+ * global = must be unique across all component types
1316
+ *
1317
+ * @enum {string}
1318
+ */
1319
+ unique?: "no" | "local" | "global";
1320
+ /** @description Regular expression slugs must match */
1321
+ regularExpression?: string;
1322
+ /**
1323
+ * @description Custom error message when regular expression validation fails.
1324
+ * Has no effect if `regularExpression` is not set.
1325
+ */
1326
+ regularExpressionMessage?: string;
1327
+ };
1328
+ /** @description The definition of a component variant */
1329
+ ComponentDefinitionVariant: {
1330
+ id: external$4["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["PublicIdProperty"];
1331
+ /** @description Friendly name of the variant */
1332
+ name: string;
1333
+ };
1334
+ /** @description Permission set for a component defintion */
1335
+ ComponentDefinitionPermission: {
1336
+ roleId: external$4["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["PublicIdProperty"];
1337
+ /**
1338
+ * @description Permission type for this permission ComponentDefinition:
1339
+ * read | write | create | delete
1340
+ *
1341
+ * @enum {string}
1342
+ */
1343
+ permission: "read" | "write" | "create" | "delete";
1344
+ /** @description State of the component that this permission applies to */
1345
+ state: number;
1346
+ };
1347
+ /** @description Defines a component type that can live on a Composition */
1348
+ ComponentDefinition: {
1349
+ id: external$4["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["PublicIdProperty"];
1350
+ /** @description Friendly name of the component definition */
1351
+ name: string;
1352
+ /**
1353
+ * @description Icon name or URL for the component definition (e.g. 'screen' or 'https://s3/my-component.jpg')
1354
+ * @default screen
1355
+ */
1356
+ icon?: string;
1357
+ /**
1358
+ * @description The public ID of the parameter whose value should be used to create a display title for this component in the UI.
1359
+ * The parameter type must support being used as a title parameter for this to work.
1360
+ */
1361
+ titleParameter?: string | null;
1362
+ /**
1363
+ * @description Whether this component type can be the root of a composition. If false, this component is only used within slots on other components.
1364
+ * @default false
1365
+ */
1366
+ canBeComposition?: boolean;
1367
+ /** @description The parameters for this component. Parameters are key-value pairs that can be anything from text values to links to CMS entries. */
1368
+ parameters?: external$4["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentDefinitionParameter"][];
1369
+ /**
1370
+ * @description if this component uses team permissions or custom permissions
1371
+ * @default true
1372
+ */
1373
+ useTeamPermissions?: boolean;
1374
+ /** @description Custom role permissions for this component definition */
1375
+ permissions?: external$4["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentDefinitionPermission"][];
1376
+ /** @description The named slots for this component; placement areas where arrays of other components can be added. */
1377
+ slots?: external$4["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentDefinitionSlot"][];
1378
+ slugSettings?: external$4["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentDefinitionSlugSettings"];
1379
+ /** @description Default component instance value */
1380
+ defaults?: external$4["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentInstance"] | null;
1381
+ /** @description Named variants for this component; enables creation of visual variants that use the same parameter data */
1382
+ variants?: external$4["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentDefinitionVariant"][];
1383
+ /** @description Created date string for this definition (ignored for writes) */
1384
+ created?: string;
1385
+ /** @description Last modified date string for this definition (ignored for writes) */
1386
+ updated?: string;
1387
+ };
1388
+ /** @description Defines an editable parameter on a component. */
1389
+ ComponentParameter: {
1390
+ /** @description The value of the parameter. Any JSON-serializable value is acceptable. */
1391
+ value: unknown;
1392
+ /** @description The type of the parameter. Determines how it is displayed when editing, and tells the consumer how to process it. */
1393
+ type: string;
1394
+ connectedData?: external$4["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["DataElementConnectionDefinition"];
1395
+ };
1396
+ /**
1397
+ * @deprecated
1398
+ * @description Defines a connection to a data element on a data resource. Do not use.
1399
+ */
1400
+ DataElementConnectionDefinition: {
1401
+ /** @description A JSON Pointer expression that defines the data element to connect the parameter to. */
1402
+ pointer: string;
1403
+ /**
1404
+ * @description The syntax used to select the data element to bind to
1405
+ * @enum {string}
1406
+ */
1407
+ syntax: "jptr";
1408
+ /**
1409
+ * @description Whether an error should occur if the connected data element cannot be resolved (i.e. a missing property in the data resource).
1410
+ * In all cases the binding process will remove the parameter data for the unresolvable data element.
1411
+ * When this is true, and the data element failed to bind, the warning entry returned from the binding process will be changed to an error entry.
1412
+ *
1413
+ * @default false
1414
+ */
1415
+ required?: boolean;
1416
+ };
1417
+ /** @description Defines the shape of a component instance served by the composition API. */
1418
+ ComponentInstance: {
1419
+ /** @description Type of the component instance (public_id of its definition) */
1420
+ type: string;
1421
+ /** @description Component parameter values for the component instance */
1422
+ parameters?: {
1423
+ [key: string]: external$4["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentParameter"];
1424
+ };
1425
+ /** @description Public ID of alternate visual appearance for this component, if any selected */
1426
+ variant?: string;
1427
+ /** @description Slots containing any child components */
1428
+ slots?: {
1429
+ [key: string]: external$4["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentInstance"][];
1430
+ };
1431
+ /** @description Unique identifier of the component within the composition. This is not set unless specifically requested via `withComponentIDs` API parameter. */
1432
+ _id?: string;
1433
+ /** @description Indicates this component instance should be sourced from a pattern library pattern. */
1434
+ _pattern?: string;
1435
+ _dataResources?: external$4["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["DataResourceDefinitions"];
1436
+ /**
1437
+ * @deprecated
1438
+ * @description Data definitions coming from a pattern resolved for this component. Merged with _data during resolution.
1439
+ * Means nothing for PUTs; it will be ignored.
1440
+ */
1441
+ _patternDataResources?: {
1442
+ [key: string]: external$4["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["DataResourceDefinition"];
1443
+ };
1444
+ /**
1445
+ * @description Describes why the pattern could not be resolved, if a pattern could not be resolved. For PUTs, this is allowed but ignored.
1446
+ * CYCLIC: A cyclic pattern graph was detected, which could not be resolved because it would cause an infinite loop.
1447
+ * NOTFOUND: The pattern ID referenced could not be found. It may have been deleted, or not be published yet.
1448
+ * Means nothing for PUTs; it will be ignored.
1449
+ *
1450
+ * @enum {string}
1451
+ */
1452
+ _patternError?: "NOTFOUND" | "CYCLIC";
1453
+ };
1454
+ /** @description Defines the shape of the root component in a composition */
1455
+ RootComponentInstance: {
1456
+ /** @description Type of the component instance (public_id of its definition) */
1457
+ type: string;
1458
+ /** @description Component parameter values for the component instance */
1459
+ parameters?: {
1460
+ [key: string]: external$4["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentParameter"];
1461
+ };
1462
+ /** @description Public ID of alternate visual appearance for this component, if any selected */
1463
+ variant?: string;
1464
+ /** @description Project map nodes associated with this component. Must pass withProjectMapNodes parameter to be populated. */
1465
+ projectMapNodes?: external$4["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["CompositionProjectMapNodeInfo"][];
1466
+ /** @description Slots containing any child components */
1467
+ slots?: {
1468
+ [key: string]: external$4["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentInstance"][];
1469
+ };
1470
+ /** @description The public UUID of the composition. */
1471
+ _id: string;
1472
+ /** @description Slug pattern of this component. */
1473
+ _slug?: string | null;
1474
+ /** @description Friendly name of this component. */
1475
+ _name: string;
1476
+ _dataResources?: external$4["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["DataResourceDefinitions"];
1477
+ };
1478
+ /**
1479
+ * @deprecated
1480
+ * @description An instance of a data source (i.e. "Master environment of the stable space", "Yelp API", "Sanity dev dataset").
1481
+ * These are created in the UI and shared across a whole project.
1482
+ * NOTE: if you acquire a list of data sources or do not have manage permissions, you will receive "SECRET"
1483
+ * for all header, parameter, and variable values to obscure the actual encrypted secret value.
1484
+ */
1485
+ DataSource: {
1486
+ /** @description Public ID of the data source */
1487
+ id: string;
1488
+ /** @description Display name of the data source */
1489
+ displayName: string;
1490
+ /** @description The type of data connector this connects to (e.g. 'cms-items', provided by an intalled integration) */
1491
+ connectorType: string;
1492
+ /** @description Base resource URL of the data source. No trailing slash. */
1493
+ baseUrl: string;
1494
+ /** @description HTTP headers to pass with requests to the data source */
1495
+ headers?: {
1496
+ key: string;
1497
+ value: string;
1498
+ }[];
1499
+ /** @description Query String parameters to pass with requests to the data type. Merged with parameters from the data source, overriding identical keys. */
1500
+ parameters?: {
1501
+ key: string;
1502
+ value: string;
1503
+ }[];
1504
+ /** @description Variables needed to make calls to the data source */
1505
+ variables?: {
1506
+ [key: string]: external$4["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["DataVariableDefinition"];
1507
+ };
1508
+ /** @description Custom configuration specific to the data source being defined (used to maintain UI state for custom integrations) */
1509
+ custom?: {
1510
+ [key: string]: unknown;
1511
+ };
1512
+ };
1513
+ /**
1514
+ * @deprecated
1515
+ * @description A specific type of data that a Data Source can provide (i.e. "Recipe", "Recipes List by Tag", "Yelp Reviews of My Restaurant"). These are created in the UI and shared a whole project.
1516
+ */
1517
+ DataType: {
1518
+ /** @description Public ID of the data type */
1519
+ id: string;
1520
+ /** @description Display name of the data type */
1521
+ displayName: string;
1522
+ /** @description Public ID of the associated data source */
1523
+ dataSourceId: string;
1524
+ /**
1525
+ * @description A connector-specific archetype for this data type; used to select UI as well as perform any
1526
+ * necessary post-processing on the response. e.g. 'cms-entry', 'cms-query'. Can be undefined if
1527
+ * no special UI or processing is required.
1528
+ */
1529
+ archetype?: string;
1530
+ allowedOnComponents?: string[];
1531
+ /** @description Resource path, appended to the data source's baseUrl (e.g. baseUrl = https://base.url, path = /v1/endpoint -> final URL https://base.url/v1/endpoint). Must have leading slash. */
1532
+ path: string;
1533
+ /** @description Time-to-live (in seconds) for the primary resource data cache. */
1534
+ ttl?: number;
1535
+ /** @description Long term data resource cache configuration. */
1536
+ longTermCache?: {
1537
+ /** @description A flag to turn the long term cache on. */
1538
+ enabled: boolean;
1539
+ /** @description Time-to-live (in hours) for the long term resource data cache. */
1540
+ ttlInHours?: number;
1541
+ };
1542
+ /** @description A key for the resource data cache purging. */
1543
+ purgeKey?: string;
1544
+ /** @description URL to a custom badge icon for the Uniform dashboard for this data type. If not set falls back to the data connector or integration icons. */
1545
+ badgeIconUrl?: string;
1546
+ /** @description HTTP headers to pass with requests to the data type. Merged with headers from the data source, overriding identical keys. */
1547
+ headers?: {
1548
+ key: string;
1549
+ value: string;
1550
+ }[];
1551
+ /** @description Query String parameters to pass with requests to the data type. Merged with parameters from the data source, overriding identical keys. */
1552
+ parameters?: {
1553
+ key: string;
1554
+ value: string;
1555
+ }[];
1556
+ /** @description Body to pass with requests to the data type (ignored unless method is POST) */
1557
+ body?: string;
1558
+ /**
1559
+ * @description HTTP method to use with requests to the data type.
1560
+ * @default GET
1561
+ * @enum {string}
1562
+ */
1563
+ method: "GET" | "POST" | "HEAD";
1564
+ /** @description Variables needed to make calls to the data type. Merged with variables from the data source, overriding identical keys. */
1565
+ variables?: {
1566
+ [key: string]: external$4["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["DataVariableDefinition"];
1567
+ };
1568
+ /** @description Custom configuration specific to the data source being defined */
1569
+ custom?: {
1570
+ [key: string]: unknown;
1571
+ };
1572
+ };
1573
+ /**
1574
+ * @deprecated
1575
+ * @description Defines the shape of a data variable on a Data Source or Data Type
1576
+ */
1577
+ DataVariableDefinition: {
1578
+ /** @description Display name of the data variable */
1579
+ displayName?: string;
1580
+ /** @description Explanatory text that is provided to the data resource editor to explain what this variable does. */
1581
+ helpText?: string;
1582
+ /**
1583
+ * @description Type of the data variable. Optionally used as a point of reference for custom integrations to decide how to render an editor for a variable.
1584
+ * @default text
1585
+ */
1586
+ type?: string;
1587
+ /** @description Default value of the data variable */
1588
+ default: string;
1589
+ /** @description Sets the order of the variable when displayed in a list with other variables. If not set, the order defaults to alphabetical with any explicitly set orders first in the list. */
1590
+ order?: number;
1591
+ };
1592
+ /**
1593
+ * @deprecated
1594
+ * @description Data definitions attached to this component. The property name is the key of the data in the data document.
1595
+ * Note: data definitions are inherited from ancestors at runtime (and may be overridden by descendants that use the same key).
1596
+ */
1597
+ DataResourceDefinitions: {
1598
+ [key: string]: external$4["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["DataResourceDefinition"];
1599
+ };
1600
+ /**
1601
+ * @deprecated
1602
+ * @description Defines a data resource, which is a named JSON document, usually from an API response, which may be projected onto parameters
1603
+ */
1604
+ DataResourceDefinition: {
1605
+ /** @description Public ID of the data type that provides this data */
1606
+ type: string;
1607
+ /** @description Whether this data is a pattern parameter that has to be overridden when a pattern is referenced on another composition. If this is not a pattern composition, this has no meaning and should not be used. If unspecified, the default is false. */
1608
+ isPatternParameter?: boolean;
1609
+ variables?: external$4["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["DataResourceVariables"];
1610
+ };
1611
+ /**
1612
+ * @deprecated
1613
+ * @description Variable values for a data resource.
1614
+ */
1615
+ DataResourceVariables: {
1616
+ [key: string]: string;
1617
+ };
1618
+ /** @description Project map node information related to a component. */
1619
+ CompositionProjectMapNodeInfo: {
1620
+ /**
1621
+ * Format: uuid
1622
+ * @description Unique identifier for the project map node
1623
+ */
1624
+ id: string;
1625
+ /** @description Path of the project map node */
1626
+ path: string;
1627
+ /**
1628
+ * Format: uuid
1629
+ * @description Unique identifier for the project map that this node belongs to.
1630
+ */
1631
+ projectMapId: string;
1632
+ };
1633
+ };
1634
+ };
1635
+ operations: {};
1636
+ };
1637
+ }
1638
+
1639
+ interface components {
1640
+ schemas: {
1641
+ EdgehancersError: {
1642
+ message: string;
1643
+ status: number;
1644
+ statusText: string;
1645
+ };
1646
+ UniformError: components["schemas"]["EdgehancersError"] | external$3["../../../lambda/functions/swagger.yml"]["components"]["schemas"]["Error"];
1647
+ InvalidationPayload: {
1648
+ variables?: {
1649
+ name: string;
1650
+ value: string;
1651
+ }[];
1652
+ };
1653
+ DataDiagnostic: {
1654
+ componentPath: string;
1655
+ dataType: string;
1656
+ dataName: string;
1657
+ performance: {
1658
+ cacheHit: boolean;
1659
+ total: number;
1660
+ retryCount: number;
1661
+ retryDelay: number;
1662
+ sourceCache?: string;
1663
+ };
1664
+ data: unknown;
1665
+ };
1666
+ CompositionIssue: {
1667
+ componentPath: string;
1668
+ componentType: string;
1669
+ message: string;
1670
+ type: string;
1671
+ };
1672
+ InvalidationResult: {
1673
+ ok: boolean;
1674
+ input: {
1675
+ /** Format: uuid */
1676
+ projectId: string;
1677
+ /** Format: uuid */
1678
+ dataTypeId: string;
1679
+ dataVariable?: {
1680
+ name: string;
1681
+ value: string;
1682
+ };
1683
+ };
1684
+ };
1685
+ };
1686
+ responses: {
1687
+ /** Invalid caller input came with the request */
1688
+ BadRequestError: {
1689
+ content: {
1690
+ "application/json": components["schemas"]["UniformError"];
1691
+ };
1692
+ };
1693
+ UnauthorizedError: {
1694
+ content: {
1695
+ "application/json": components["schemas"]["UniformError"];
1696
+ };
1697
+ };
1698
+ ForbiddenError: {
1699
+ content: {
1700
+ "application/json": components["schemas"]["UniformError"];
1701
+ };
1702
+ };
1703
+ /** The requested resource does not exist */
1704
+ NotFoundError: {
1705
+ content: {
1706
+ "application/json": components["schemas"]["UniformError"];
1707
+ };
1708
+ };
1709
+ /** Invalid method was used to call the endpoint */
1710
+ MethodNotAllowedError: {
1711
+ content: {
1712
+ "application/json": components["schemas"]["UniformError"];
1713
+ };
1714
+ };
1715
+ /** The request body could not be parsed or understood */
1716
+ UnprocessableEntityError: {
1717
+ content: {
1718
+ "application/json": components["schemas"]["UniformError"];
1719
+ };
1720
+ };
1721
+ RateLimitError: {
1722
+ content: {
1723
+ "application/json": components["schemas"]["UniformError"];
1724
+ };
1725
+ };
1726
+ /** An unexpected error occurred */
1727
+ InternalServerError: {
1728
+ content: {
1729
+ "application/json": components["schemas"]["UniformError"];
1730
+ };
1731
+ };
1732
+ CompositionResult: {
1733
+ content: {
1734
+ "application/json": {
1735
+ dataDiagnostics?: components["schemas"]["DataDiagnostic"][];
1736
+ errors?: components["schemas"]["CompositionIssue"][];
1737
+ warnings?: components["schemas"]["CompositionIssue"][];
1738
+ } & external$3["../../../lambda/functions/v1-canvas.swagger.yml"]["components"]["schemas"]["CompositionApiResponse"];
1739
+ };
1740
+ };
1741
+ /** Invalidation request was processed; ok indicates if it succeeded */
1742
+ InvalidationResult: {
1743
+ content: {
1744
+ "application/json": components["schemas"]["InvalidationResult"];
1745
+ };
1746
+ };
1747
+ };
1748
+ }
1749
+ interface external$3 {
1750
+ "../../../lambda/functions/swagger.yml": {
1751
+ paths: {};
1752
+ components: {
1753
+ schemas: {
1754
+ Error: {
1755
+ /** @description Error message(s) that occurred while processing the request */
1756
+ errorMessage?: string[] | string;
1757
+ };
1758
+ };
1759
+ responses: {
1760
+ /** Request input validation failed */
1761
+ BadRequestError: {
1762
+ content: {
1763
+ "application/json": external$3["../../../lambda/functions/swagger.yml"]["components"]["schemas"]["Error"];
1764
+ };
1765
+ };
1766
+ /** API key or token was not valid */
1767
+ UnauthorizedError: {
1768
+ content: {
1769
+ "application/json": external$3["../../../lambda/functions/swagger.yml"]["components"]["schemas"]["Error"];
1770
+ };
1771
+ };
1772
+ /** Permission was denied */
1773
+ ForbiddenError: {
1774
+ content: {
1775
+ "application/json": external$3["../../../lambda/functions/swagger.yml"]["components"]["schemas"]["Error"];
1776
+ };
1777
+ };
1778
+ /** Resource not found */
1779
+ NotFoundError: {
1780
+ content: {
1781
+ "application/json": external$3["../../../lambda/functions/swagger.yml"]["components"]["schemas"]["Error"];
1782
+ };
1783
+ };
1784
+ /** Too many requests in allowed time period */
1785
+ RateLimitError: unknown;
1786
+ /** Execution error occurred */
1787
+ InternalServerError: unknown;
1788
+ };
1789
+ };
1790
+ operations: {};
1791
+ };
1792
+ "../../../lambda/functions/uniform-canvas-types.swagger.yml": {
1793
+ paths: {};
1794
+ components: {
1795
+ schemas: {
1796
+ /** @description Public ID (used in code). Do not change after creation. */
1797
+ PublicIdProperty: string;
1798
+ /** @description The definition of a component parameter */
1799
+ ComponentDefinitionParameter: {
1800
+ id: external$3["../../../lambda/functions/uniform-canvas-types.swagger.yml"]["components"]["schemas"]["PublicIdProperty"];
1801
+ /** @description Friendly name of the parameter */
1802
+ name: string;
1803
+ /** @description Appears next to the parameter in the Composition editor */
1804
+ helpText?: string;
1805
+ /** @description Type name of the parameter (provided by a Uniform integration) */
1806
+ type: string;
1807
+ /** @description The configuration object for the type (type-specific) */
1808
+ typeConfig?: unknown;
1809
+ };
1810
+ /** @description The definition of a named component slot that can contain other components */
1811
+ ComponentDefinitionSlot: {
1812
+ id: external$3["../../../lambda/functions/uniform-canvas-types.swagger.yml"]["components"]["schemas"]["PublicIdProperty"];
1813
+ /** @description Friendly name of the slot */
1814
+ name: string;
1815
+ /** @description A list of component definition public IDs that are allowed in this named slot */
1816
+ allowedComponents: string[];
1817
+ /**
1818
+ * @description Whether this slot inherits its allowed components from the parent slot it lives in. If true, allowedComponents is irrelevant.
1819
+ * @default false
1820
+ */
1821
+ inheritAllowedComponents: boolean;
1822
+ /** @description Minimum valid number of components in this slot */
1823
+ minComponents?: number;
1824
+ /** @description Maximum valid number of components in this slot */
1825
+ maxComponents?: number;
1826
+ };
1827
+ /** @description The definition of a composition's slug settings */
1828
+ ComponentDefinitionSlugSettings: {
1829
+ /**
1830
+ * @description Whether the slug is required
1831
+ * no: slug is optional
1832
+ * yes: slug is required
1833
+ * disabled: slug is disabled and will not be shown in the editor
1834
+ *
1835
+ * @default no
1836
+ * @enum {string}
1837
+ */
1838
+ required?: "no" | "yes" | "disabled";
1839
+ /**
1840
+ * @description Slug uniqueness configuration.
1841
+ * no = no unique constraint
1842
+ * local = must be unique within this component type
1843
+ * global = must be unique across all component types
1844
+ *
1845
+ * @enum {string}
1846
+ */
1847
+ unique?: "no" | "local" | "global";
1848
+ /** @description Regular expression slugs must match */
1849
+ regularExpression?: string;
1850
+ /**
1851
+ * @description Custom error message when regular expression validation fails.
1852
+ * Has no effect if `regularExpression` is not set.
1853
+ */
1854
+ regularExpressionMessage?: string;
1855
+ };
1856
+ /** @description The definition of a component variant */
1857
+ ComponentDefinitionVariant: {
1858
+ id: external$3["../../../lambda/functions/uniform-canvas-types.swagger.yml"]["components"]["schemas"]["PublicIdProperty"];
1859
+ /** @description Friendly name of the variant */
1860
+ name: string;
1861
+ };
1862
+ /** @description Permission set for a component defintion */
1863
+ ComponentDefinitionPermission: {
1864
+ roleId: external$3["../../../lambda/functions/uniform-canvas-types.swagger.yml"]["components"]["schemas"]["PublicIdProperty"];
1865
+ /**
1866
+ * @description Permission type for this permission ComponentDefinition:
1867
+ * read | write | create | delete
1868
+ *
1869
+ * @enum {string}
1870
+ */
1871
+ permission: "read" | "write" | "create" | "delete";
1872
+ /** @description State of the component that this permission applies to */
1873
+ state: number;
1874
+ };
1875
+ /** @description Defines a component type that can live on a Composition */
1876
+ ComponentDefinition: {
1877
+ id: external$3["../../../lambda/functions/uniform-canvas-types.swagger.yml"]["components"]["schemas"]["PublicIdProperty"];
1878
+ /** @description Friendly name of the component definition */
1879
+ name: string;
1880
+ /**
1881
+ * @description Icon name or URL for the component definition (e.g. 'screen' or 'https://s3/my-component.jpg')
1882
+ * @default screen
1883
+ */
1884
+ icon?: string;
1885
+ /**
1886
+ * @description The public ID of the parameter whose value should be used to create a display title for this component in the UI.
1887
+ * The parameter type must support being used as a title parameter for this to work.
1888
+ */
1889
+ titleParameter?: string | null;
1890
+ /**
1891
+ * @description Whether this component type can be the root of a composition. If false, this component is only used within slots on other components.
1892
+ * @default false
1893
+ */
1894
+ canBeComposition?: boolean;
1895
+ /** @description The parameters for this component. Parameters are key-value pairs that can be anything from text values to links to CMS entries. */
1896
+ parameters?: external$3["../../../lambda/functions/uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentDefinitionParameter"][];
1897
+ /**
1898
+ * @description if this component uses team permissions or custom permissions
1899
+ * @default true
1900
+ */
1901
+ useTeamPermissions?: boolean;
1902
+ /** @description Custom role permissions for this component definition */
1903
+ permissions?: external$3["../../../lambda/functions/uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentDefinitionPermission"][];
1904
+ /** @description The named slots for this component; placement areas where arrays of other components can be added. */
1905
+ slots?: external$3["../../../lambda/functions/uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentDefinitionSlot"][];
1906
+ slugSettings?: external$3["../../../lambda/functions/uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentDefinitionSlugSettings"];
1907
+ /** @description Default component instance value */
1908
+ defaults?: external$3["../../../lambda/functions/uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentInstance"] | null;
1909
+ /** @description Named variants for this component; enables creation of visual variants that use the same parameter data */
1910
+ variants?: external$3["../../../lambda/functions/uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentDefinitionVariant"][];
1911
+ /** @description Created date string for this definition (ignored for writes) */
1912
+ created?: string;
1913
+ /** @description Last modified date string for this definition (ignored for writes) */
1914
+ updated?: string;
1915
+ };
1916
+ /** @description Defines an editable parameter on a component. */
1917
+ ComponentParameter: {
1918
+ /** @description The value of the parameter. Any JSON-serializable value is acceptable. */
1919
+ value: unknown;
1920
+ /** @description The type of the parameter. Determines how it is displayed when editing, and tells the consumer how to process it. */
1921
+ type: string;
1922
+ connectedData?: external$3["../../../lambda/functions/uniform-canvas-types.swagger.yml"]["components"]["schemas"]["DataElementConnectionDefinition"];
1923
+ };
1924
+ /**
1925
+ * @deprecated
1926
+ * @description Defines a connection to a data element on a data resource. Do not use.
1927
+ */
1928
+ DataElementConnectionDefinition: {
1929
+ /** @description A JSON Pointer expression that defines the data element to connect the parameter to. */
1930
+ pointer: string;
1931
+ /**
1932
+ * @description The syntax used to select the data element to bind to
1933
+ * @enum {string}
1934
+ */
1935
+ syntax: "jptr";
1936
+ /**
1937
+ * @description Whether an error should occur if the connected data element cannot be resolved (i.e. a missing property in the data resource).
1938
+ * In all cases the binding process will remove the parameter data for the unresolvable data element.
1939
+ * When this is true, and the data element failed to bind, the warning entry returned from the binding process will be changed to an error entry.
1940
+ *
1941
+ * @default false
1942
+ */
1943
+ required?: boolean;
1944
+ };
1945
+ /** @description Defines the shape of a component instance served by the composition API. */
1946
+ ComponentInstance: {
1947
+ /** @description Type of the component instance (public_id of its definition) */
1948
+ type: string;
1949
+ /** @description Component parameter values for the component instance */
1950
+ parameters?: {
1951
+ [key: string]: external$3["../../../lambda/functions/uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentParameter"];
1952
+ };
1953
+ /** @description Public ID of alternate visual appearance for this component, if any selected */
1954
+ variant?: string;
1955
+ /** @description Slots containing any child components */
1956
+ slots?: {
1957
+ [key: string]: external$3["../../../lambda/functions/uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentInstance"][];
1958
+ };
1959
+ /** @description Unique identifier of the component within the composition. This is not set unless specifically requested via `withComponentIDs` API parameter. */
1960
+ _id?: string;
1961
+ /** @description Indicates this component instance should be sourced from a pattern library pattern. */
1962
+ _pattern?: string;
1963
+ _dataResources?: external$3["../../../lambda/functions/uniform-canvas-types.swagger.yml"]["components"]["schemas"]["DataResourceDefinitions"];
1964
+ /**
1965
+ * @deprecated
1966
+ * @description Data definitions coming from a pattern resolved for this component. Merged with _data during resolution.
1967
+ * Means nothing for PUTs; it will be ignored.
1968
+ */
1969
+ _patternDataResources?: {
1970
+ [key: string]: external$3["../../../lambda/functions/uniform-canvas-types.swagger.yml"]["components"]["schemas"]["DataResourceDefinition"];
1971
+ };
1972
+ /**
1973
+ * @description Describes why the pattern could not be resolved, if a pattern could not be resolved. For PUTs, this is allowed but ignored.
1974
+ * CYCLIC: A cyclic pattern graph was detected, which could not be resolved because it would cause an infinite loop.
1975
+ * NOTFOUND: The pattern ID referenced could not be found. It may have been deleted, or not be published yet.
1976
+ * Means nothing for PUTs; it will be ignored.
1977
+ *
1978
+ * @enum {string}
1979
+ */
1980
+ _patternError?: "NOTFOUND" | "CYCLIC";
1981
+ };
1982
+ /** @description Defines the shape of the root component in a composition */
1983
+ RootComponentInstance: {
1984
+ /** @description Type of the component instance (public_id of its definition) */
1985
+ type: string;
1986
+ /** @description Component parameter values for the component instance */
1987
+ parameters?: {
1988
+ [key: string]: external$3["../../../lambda/functions/uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentParameter"];
1989
+ };
1990
+ /** @description Public ID of alternate visual appearance for this component, if any selected */
1991
+ variant?: string;
1992
+ /** @description Project map nodes associated with this component. Must pass withProjectMapNodes parameter to be populated. */
1993
+ projectMapNodes?: external$3["../../../lambda/functions/uniform-canvas-types.swagger.yml"]["components"]["schemas"]["CompositionProjectMapNodeInfo"][];
1994
+ /** @description Slots containing any child components */
1995
+ slots?: {
1996
+ [key: string]: external$3["../../../lambda/functions/uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentInstance"][];
1997
+ };
1998
+ /** @description The public UUID of the composition. */
1999
+ _id: string;
2000
+ /** @description Slug pattern of this component. */
2001
+ _slug?: string | null;
2002
+ /** @description Friendly name of this component. */
2003
+ _name: string;
2004
+ _dataResources?: external$3["../../../lambda/functions/uniform-canvas-types.swagger.yml"]["components"]["schemas"]["DataResourceDefinitions"];
2005
+ };
2006
+ /**
2007
+ * @deprecated
2008
+ * @description An instance of a data source (i.e. "Master environment of the stable space", "Yelp API", "Sanity dev dataset").
2009
+ * These are created in the UI and shared across a whole project.
2010
+ * NOTE: if you acquire a list of data sources or do not have manage permissions, you will receive "SECRET"
2011
+ * for all header, parameter, and variable values to obscure the actual encrypted secret value.
2012
+ */
2013
+ DataSource: {
2014
+ /** @description Public ID of the data source */
2015
+ id: string;
2016
+ /** @description Display name of the data source */
2017
+ displayName: string;
2018
+ /** @description The type of data connector this connects to (e.g. 'cms-items', provided by an intalled integration) */
2019
+ connectorType: string;
2020
+ /** @description Base resource URL of the data source. No trailing slash. */
2021
+ baseUrl: string;
2022
+ /** @description HTTP headers to pass with requests to the data source */
2023
+ headers?: {
2024
+ key: string;
2025
+ value: string;
2026
+ }[];
2027
+ /** @description Query String parameters to pass with requests to the data type. Merged with parameters from the data source, overriding identical keys. */
2028
+ parameters?: {
2029
+ key: string;
2030
+ value: string;
2031
+ }[];
2032
+ /** @description Variables needed to make calls to the data source */
2033
+ variables?: {
2034
+ [key: string]: external$3["../../../lambda/functions/uniform-canvas-types.swagger.yml"]["components"]["schemas"]["DataVariableDefinition"];
2035
+ };
2036
+ /** @description Custom configuration specific to the data source being defined (used to maintain UI state for custom integrations) */
2037
+ custom?: {
2038
+ [key: string]: unknown;
2039
+ };
2040
+ };
2041
+ /**
2042
+ * @deprecated
2043
+ * @description A specific type of data that a Data Source can provide (i.e. "Recipe", "Recipes List by Tag", "Yelp Reviews of My Restaurant"). These are created in the UI and shared a whole project.
2044
+ */
2045
+ DataType: {
2046
+ /** @description Public ID of the data type */
2047
+ id: string;
2048
+ /** @description Display name of the data type */
2049
+ displayName: string;
2050
+ /** @description Public ID of the associated data source */
2051
+ dataSourceId: string;
2052
+ /**
2053
+ * @description A connector-specific archetype for this data type; used to select UI as well as perform any
2054
+ * necessary post-processing on the response. e.g. 'cms-entry', 'cms-query'. Can be undefined if
2055
+ * no special UI or processing is required.
2056
+ */
2057
+ archetype?: string;
2058
+ allowedOnComponents?: string[];
2059
+ /** @description Resource path, appended to the data source's baseUrl (e.g. baseUrl = https://base.url, path = /v1/endpoint -> final URL https://base.url/v1/endpoint). Must have leading slash. */
2060
+ path: string;
2061
+ /** @description Time-to-live (in seconds) for the primary resource data cache. */
2062
+ ttl?: number;
2063
+ /** @description Long term data resource cache configuration. */
2064
+ longTermCache?: {
2065
+ /** @description A flag to turn the long term cache on. */
2066
+ enabled: boolean;
2067
+ /** @description Time-to-live (in hours) for the long term resource data cache. */
2068
+ ttlInHours?: number;
2069
+ };
2070
+ /** @description A key for the resource data cache purging. */
2071
+ purgeKey?: string;
2072
+ /** @description URL to a custom badge icon for the Uniform dashboard for this data type. If not set falls back to the data connector or integration icons. */
2073
+ badgeIconUrl?: string;
2074
+ /** @description HTTP headers to pass with requests to the data type. Merged with headers from the data source, overriding identical keys. */
2075
+ headers?: {
2076
+ key: string;
2077
+ value: string;
2078
+ }[];
2079
+ /** @description Query String parameters to pass with requests to the data type. Merged with parameters from the data source, overriding identical keys. */
2080
+ parameters?: {
2081
+ key: string;
2082
+ value: string;
2083
+ }[];
2084
+ /** @description Body to pass with requests to the data type (ignored unless method is POST) */
2085
+ body?: string;
2086
+ /**
2087
+ * @description HTTP method to use with requests to the data type.
2088
+ * @default GET
2089
+ * @enum {string}
2090
+ */
2091
+ method: "GET" | "POST" | "HEAD";
2092
+ /** @description Variables needed to make calls to the data type. Merged with variables from the data source, overriding identical keys. */
2093
+ variables?: {
2094
+ [key: string]: external$3["../../../lambda/functions/uniform-canvas-types.swagger.yml"]["components"]["schemas"]["DataVariableDefinition"];
2095
+ };
2096
+ /** @description Custom configuration specific to the data source being defined */
2097
+ custom?: {
2098
+ [key: string]: unknown;
2099
+ };
2100
+ };
2101
+ /**
2102
+ * @deprecated
2103
+ * @description Defines the shape of a data variable on a Data Source or Data Type
2104
+ */
2105
+ DataVariableDefinition: {
2106
+ /** @description Display name of the data variable */
2107
+ displayName?: string;
2108
+ /** @description Explanatory text that is provided to the data resource editor to explain what this variable does. */
2109
+ helpText?: string;
2110
+ /**
2111
+ * @description Type of the data variable. Optionally used as a point of reference for custom integrations to decide how to render an editor for a variable.
2112
+ * @default text
2113
+ */
2114
+ type?: string;
2115
+ /** @description Default value of the data variable */
2116
+ default: string;
2117
+ /** @description Sets the order of the variable when displayed in a list with other variables. If not set, the order defaults to alphabetical with any explicitly set orders first in the list. */
2118
+ order?: number;
2119
+ };
2120
+ /**
2121
+ * @deprecated
2122
+ * @description Data definitions attached to this component. The property name is the key of the data in the data document.
2123
+ * Note: data definitions are inherited from ancestors at runtime (and may be overridden by descendants that use the same key).
2124
+ */
2125
+ DataResourceDefinitions: {
2126
+ [key: string]: external$3["../../../lambda/functions/uniform-canvas-types.swagger.yml"]["components"]["schemas"]["DataResourceDefinition"];
2127
+ };
2128
+ /**
2129
+ * @deprecated
2130
+ * @description Defines a data resource, which is a named JSON document, usually from an API response, which may be projected onto parameters
2131
+ */
2132
+ DataResourceDefinition: {
2133
+ /** @description Public ID of the data type that provides this data */
2134
+ type: string;
2135
+ /** @description Whether this data is a pattern parameter that has to be overridden when a pattern is referenced on another composition. If this is not a pattern composition, this has no meaning and should not be used. If unspecified, the default is false. */
2136
+ isPatternParameter?: boolean;
2137
+ variables?: external$3["../../../lambda/functions/uniform-canvas-types.swagger.yml"]["components"]["schemas"]["DataResourceVariables"];
2138
+ };
2139
+ /**
2140
+ * @deprecated
2141
+ * @description Variable values for a data resource.
2142
+ */
2143
+ DataResourceVariables: {
2144
+ [key: string]: string;
2145
+ };
2146
+ /** @description Project map node information related to a component. */
2147
+ CompositionProjectMapNodeInfo: {
2148
+ /**
2149
+ * Format: uuid
2150
+ * @description Unique identifier for the project map node
2151
+ */
2152
+ id: string;
2153
+ /** @description Path of the project map node */
2154
+ path: string;
2155
+ /**
2156
+ * Format: uuid
2157
+ * @description Unique identifier for the project map that this node belongs to.
2158
+ */
2159
+ projectMapId: string;
2160
+ };
2161
+ };
2162
+ };
2163
+ operations: {};
2164
+ };
2165
+ "../../../lambda/functions/v1-canvas.swagger.yml": {
2166
+ paths: {
2167
+ "/api/v1/canvas": {
2168
+ get: {
2169
+ parameters: {
2170
+ query: {
2171
+ /** Specify a single composition ID to fetch. Changes response from list to single. */
2172
+ compositionId?: external$3["../../../lambda/functions/v1-canvas.swagger.yml"]["components"]["parameters"]["compositionId"];
2173
+ /** Specify multiple composition IDs to fetch. Response type will be a list. */
2174
+ compositionIDs?: external$3["../../../lambda/functions/v1-canvas.swagger.yml"]["components"]["parameters"]["compositionIDs"];
2175
+ /** Filters composition lists by the user who created them. The user is specified by their identity subject. */
2176
+ createdBy?: external$3["../../../lambda/functions/v1-canvas.swagger.yml"]["components"]["parameters"]["createdBy"];
2177
+ /**
2178
+ * Matches compositions where their name, slug, or definition name contains the specified keyword.
2179
+ * NOT a full text search; does not match composition contents.
2180
+ */
2181
+ keyword?: external$3["../../../lambda/functions/v1-canvas.swagger.yml"]["components"]["parameters"]["keyword"];
2182
+ /** Max number of records to return */
2183
+ limit?: external$3["../../../lambda/functions/v1-canvas.swagger.yml"]["components"]["parameters"]["limit"];
2184
+ /** Number of records to skip */
2185
+ offset?: external$3["../../../lambda/functions/v1-canvas.swagger.yml"]["components"]["parameters"]["offset"];
2186
+ /** Sets the sorting of the results. If unspecified, results are sorted by name ascending. */
2187
+ orderBy?: external$3["../../../lambda/functions/v1-canvas.swagger.yml"]["components"]["parameters"]["orderBy"];
2188
+ /**
2189
+ * Matches compositions based on whether they are a pattern composition or a regular composition.
2190
+ * If true, only pattern compositions will be returned.
2191
+ * If false, only regular compositions will be returned.
2192
+ * If omitted, both pattern and regular compositions will be returned.
2193
+ */
2194
+ pattern?: external$3["../../../lambda/functions/v1-canvas.swagger.yml"]["components"]["parameters"]["pattern"];
2195
+ /** The project the composition(s) are on. */
2196
+ projectId: external$3["../../../lambda/functions/v1-canvas.swagger.yml"]["components"]["parameters"]["projectId"];
2197
+ /** Required when using project map node id or path for fetch. */
2198
+ projectMapId?: external$3["../../../lambda/functions/v1-canvas.swagger.yml"]["components"]["parameters"]["projectMapId"];
2199
+ /** Specify a single composition to fetch by assodicated project map node ID. Changes response from list to single. */
2200
+ projectMapNodeId?: external$3["../../../lambda/functions/v1-canvas.swagger.yml"]["components"]["parameters"]["projectMapNodeId"];
2201
+ /** Specify a single composition to fetch by assodicated project map node path. Changes response from list to single. */
2202
+ projectMapNodePath?: external$3["../../../lambda/functions/v1-canvas.swagger.yml"]["components"]["parameters"]["projectMapNodePath"];
2203
+ /**
2204
+ * @deprecated Signals an enhancer proxy to skip processing enhancements to the data and return raw data only.
2205
+ * This improves performance if you do not require enhanced component data.
2206
+ * If calling the Canvas API directly with no enhancer proxy, this has no effect.
2207
+ */
2208
+ skipEnhance?: external$3["../../../lambda/functions/v1-canvas.swagger.yml"]["components"]["parameters"]["skipEnhance"];
2209
+ /**
2210
+ * If true, any pattern references in the composition will be left unresolved.
2211
+ * This is appropriate if you intend to serialize the composition without patterns
2212
+ * embedded into it, and serialize the pattern data separately.
2213
+ */
2214
+ skipPatternResolution?: external$3["../../../lambda/functions/v1-canvas.swagger.yml"]["components"]["parameters"]["skipPatternResolution"];
2215
+ /** If true, any dynamic parameters will be left with their raw data. Project map link path is a dynamic parameter. */
2216
+ skipParameterResolution?: external$3["../../../lambda/functions/v1-canvas.swagger.yml"]["components"]["parameters"]["skipParameterResolution"];
2217
+ /** Specify a single composition to fetch by slug. Changes response from list to single. */
2218
+ slug?: external$3["../../../lambda/functions/v1-canvas.swagger.yml"]["components"]["parameters"]["slug"];
2219
+ /** State of compositions to fetch. 0 = draft, 64 = published. */
2220
+ state?: external$3["../../../lambda/functions/v1-canvas.swagger.yml"]["components"]["parameters"]["state"];
2221
+ /** The component type (by public ID) to filter by. Note that this filters the root composition type only; components in slots are not matched by this filter. */
2222
+ type?: external$3["../../../lambda/functions/v1-canvas.swagger.yml"]["components"]["parameters"]["type"];
2223
+ /**
2224
+ * @deprecated Filters composition lists by the UI status of the composition.
2225
+ * This internal status is subject to change without notice, and is thus marked deprecated to discourage use of internal data.
2226
+ */
2227
+ uiStatus?: external$3["../../../lambda/functions/v1-canvas.swagger.yml"]["components"]["parameters"]["uiStatus"];
2228
+ /** Filters composition lists by the user who last updated them. The user is specified by their identity subject. */
2229
+ updatedBy?: external$3["../../../lambda/functions/v1-canvas.swagger.yml"]["components"]["parameters"]["updatedBy"];
2230
+ /**
2231
+ * If true the `_id` unique identifier of each non-root component will be part of the response data.
2232
+ * If false, the `_id` will not be present in the API response.
2233
+ */
2234
+ withComponentIDs?: external$3["../../../lambda/functions/v1-canvas.swagger.yml"]["components"]["parameters"]["withComponentIDs"];
2235
+ /**
2236
+ * Controls whether the total count of results will be returned along with the current results page in a list.
2237
+ * Has no effect when not fetching a list. This does impact performance when enabled.
2238
+ */
2239
+ withTotalCount?: external$3["../../../lambda/functions/v1-canvas.swagger.yml"]["components"]["parameters"]["withTotalCount"];
2240
+ /**
2241
+ * @deprecated Returns the UI status string of the composition.
2242
+ * This internal status is subject to change without notice, and is thus marked deprecated to discourage use of internal data.
2243
+ */
2244
+ withUIStatus?: external$3["../../../lambda/functions/v1-canvas.swagger.yml"]["components"]["parameters"]["withUIStatus"];
2245
+ /** Includes project map node information in the composition results */
2246
+ withProjectMapNodes?: external$3["../../../lambda/functions/v1-canvas.swagger.yml"]["components"]["parameters"]["withProjectMapNodes"];
2247
+ };
2248
+ };
2249
+ responses: {
2250
+ /** OK */
2251
+ 200: {
2252
+ content: {
2253
+ "application/json": external$3["../../../lambda/functions/v1-canvas.swagger.yml"]["components"]["schemas"]["CompositionListResponse"] | external$3["../../../lambda/functions/v1-canvas.swagger.yml"]["components"]["schemas"]["CompositionApiResponse"];
2254
+ };
2255
+ };
2256
+ 400: external$3["../../../lambda/functions/swagger.yml"]["components"]["responses"]["BadRequestError"];
2257
+ 401: external$3["../../../lambda/functions/swagger.yml"]["components"]["responses"]["UnauthorizedError"];
2258
+ 403: external$3["../../../lambda/functions/swagger.yml"]["components"]["responses"]["ForbiddenError"];
2259
+ /** Composition not found */
2260
+ 404: {
2261
+ content: {
2262
+ "text/plain": string;
2263
+ };
2264
+ };
2265
+ 429: external$3["../../../lambda/functions/swagger.yml"]["components"]["responses"]["RateLimitError"];
2266
+ 500: external$3["../../../lambda/functions/swagger.yml"]["components"]["responses"]["InternalServerError"];
2267
+ };
2268
+ };
2269
+ /** Upserts a composition */
2270
+ put: {
2271
+ responses: {
2272
+ /** OK */
2273
+ 204: never;
2274
+ 400: external$3["../../../lambda/functions/swagger.yml"]["components"]["responses"]["BadRequestError"];
2275
+ 401: external$3["../../../lambda/functions/swagger.yml"]["components"]["responses"]["UnauthorizedError"];
2276
+ 403: external$3["../../../lambda/functions/swagger.yml"]["components"]["responses"]["ForbiddenError"];
2277
+ 429: external$3["../../../lambda/functions/swagger.yml"]["components"]["responses"]["RateLimitError"];
2278
+ 500: external$3["../../../lambda/functions/swagger.yml"]["components"]["responses"]["InternalServerError"];
2279
+ };
2280
+ requestBody: {
2281
+ content: {
2282
+ "application/json": {
2283
+ /**
2284
+ * Format: uuid
2285
+ * @description The project ID to upsert the composition to
2286
+ */
2287
+ projectId: string;
2288
+ /** @description The state of the composition to upsert into. 0 = draft, 64 = published */
2289
+ state: number;
2290
+ composition: external$3["../../../lambda/functions/uniform-canvas-types.swagger.yml"]["components"]["schemas"]["RootComponentInstance"];
2291
+ /**
2292
+ * @description True if the composition is a pattern (which can be referenced on other compositions)
2293
+ * @default false
2294
+ */
2295
+ pattern?: boolean;
2296
+ /** @description Ignored if present */
2297
+ created?: string;
2298
+ /** @description Ignored if present */
2299
+ modified?: string;
2300
+ };
2301
+ };
2302
+ };
2303
+ };
2304
+ /** Deletes or unpublishes a composition */
2305
+ delete: {
2306
+ responses: {
2307
+ /** OK */
2308
+ 204: never;
2309
+ 400: external$3["../../../lambda/functions/swagger.yml"]["components"]["responses"]["BadRequestError"];
2310
+ 401: external$3["../../../lambda/functions/swagger.yml"]["components"]["responses"]["UnauthorizedError"];
2311
+ 403: external$3["../../../lambda/functions/swagger.yml"]["components"]["responses"]["ForbiddenError"];
2312
+ 429: external$3["../../../lambda/functions/swagger.yml"]["components"]["responses"]["RateLimitError"];
2313
+ 500: external$3["../../../lambda/functions/swagger.yml"]["components"]["responses"]["InternalServerError"];
2314
+ };
2315
+ requestBody: {
2316
+ content: {
2317
+ "application/json": {
2318
+ /**
2319
+ * Format: uuid
2320
+ * @description The ID of the composition to delete
2321
+ */
2322
+ compositionId: string;
2323
+ /**
2324
+ * Format: uuid
2325
+ * @description The ID of the project the composition to delete belongs to
2326
+ */
2327
+ projectId: string;
2328
+ /** @description The state of the composition to delete (0 = draft, 64 = published [causes unpublishing], unspecified = all) */
2329
+ state?: number;
2330
+ };
2331
+ };
2332
+ };
2333
+ };
2334
+ /** Handles preflight requests. This endpoint allows CORS. */
2335
+ options: {
2336
+ responses: {
2337
+ /** OK */
2338
+ 204: never;
2339
+ };
2340
+ };
2341
+ };
2342
+ };
2343
+ components: {
2344
+ schemas: {
2345
+ CompositionApiResponse: {
2346
+ /** @description State of compositions to fetch. 0 = draft, 64 = published. */
2347
+ state: number;
2348
+ /**
2349
+ * @deprecated
2350
+ * @description UI status value. Subject to change without notice; do not rely on this value. Only present when `withUIStatus` option is true.
2351
+ * @enum {string}
2352
+ */
2353
+ uiStatus?: "Draft" | "Modified" | "Published" | "Orphan";
2354
+ /**
2355
+ * Format: uuid
2356
+ * @description The project ID that this layout data is part of
2357
+ */
2358
+ projectId: string;
2359
+ /**
2360
+ * Format: date-time,
2361
+ * @description Created date string for this definition
2362
+ */
2363
+ created: string;
2364
+ /**
2365
+ * Format: date-time,
2366
+ * @description Modified date string for this definition
2367
+ */
2368
+ modified: string;
2369
+ /** @description Whether this composition is a pattern (can be referenced by other compositions, not treated as a composition) */
2370
+ pattern: boolean;
2371
+ composition: external$3["../../../lambda/functions/uniform-canvas-types.swagger.yml"]["components"]["schemas"]["RootComponentInstance"];
2372
+ };
2373
+ CompositionListResponse: {
2374
+ compositions: external$3["../../../lambda/functions/v1-canvas.swagger.yml"]["components"]["schemas"]["CompositionApiResponse"][];
2375
+ /** @description Total number of compositions that match the query. Only present when `withTotalCount` option is true. */
2376
+ totalCount?: number;
2377
+ };
2378
+ };
2379
+ parameters: {
2380
+ /** @description The project the composition(s) are on. */
2381
+ projectId: string;
2382
+ /** @description Specify a single composition ID to fetch. Changes response from list to single. */
2383
+ compositionId: string;
2384
+ /** @description Specify multiple composition IDs to fetch. Response type will be a list. */
2385
+ compositionIDs: string[];
2386
+ /** @description Specify a single composition to fetch by slug. Changes response from list to single. */
2387
+ slug: string;
2388
+ /** @description Specify a single composition to fetch by assodicated project map node ID. Changes response from list to single. */
2389
+ projectMapNodeId: string;
2390
+ /** @description Specify a single composition to fetch by assodicated project map node path. Changes response from list to single. */
2391
+ projectMapNodePath: string;
2392
+ /** @description Required when using project map node id or path for fetch. */
2393
+ projectMapId: string;
2394
+ /** @description The component type (by public ID) to filter by. Note that this filters the root composition type only; components in slots are not matched by this filter. */
2395
+ type: string[];
2396
+ /** @description State of compositions to fetch. 0 = draft, 64 = published. */
2397
+ state: number;
2398
+ /** @description Number of records to skip */
2399
+ offset: number;
2400
+ /** @description Max number of records to return */
2401
+ limit: number;
2402
+ /**
2403
+ * @deprecated
2404
+ * @description Signals an enhancer proxy to skip processing enhancements to the data and return raw data only.
2405
+ * This improves performance if you do not require enhanced component data.
2406
+ * If calling the Canvas API directly with no enhancer proxy, this has no effect.
2407
+ */
2408
+ skipEnhance: boolean;
2409
+ /**
2410
+ * @description If true, any pattern references in the composition will be left unresolved.
2411
+ * This is appropriate if you intend to serialize the composition without patterns
2412
+ * embedded into it, and serialize the pattern data separately.
2413
+ */
2414
+ skipPatternResolution: boolean;
2415
+ /** @description If true, any dynamic parameters will be left with their raw data. Project map link path is a dynamic parameter. */
2416
+ skipParameterResolution: boolean;
2417
+ /**
2418
+ * @description If true the `_id` unique identifier of each non-root component will be part of the response data.
2419
+ * If false, the `_id` will not be present in the API response.
2420
+ */
2421
+ withComponentIDs: boolean;
2422
+ /**
2423
+ * @description Matches compositions where their name, slug, or definition name contains the specified keyword.
2424
+ * NOT a full text search; does not match composition contents.
2425
+ */
2426
+ keyword: string;
2427
+ /**
2428
+ * @description Matches compositions based on whether they are a pattern composition or a regular composition.
2429
+ * If true, only pattern compositions will be returned.
2430
+ * If false, only regular compositions will be returned.
2431
+ * If omitted, both pattern and regular compositions will be returned.
2432
+ */
2433
+ pattern: boolean;
2434
+ /** @description Sets the sorting of the results. If unspecified, results are sorted by name ascending. */
2435
+ orderBy: ("updated_at_DESC" | "updated_at_ASC" | "created_at_DESC" | "created_at_ASC" | "name_DESC" | "name_ASC" | "slug_DESC" | "slug_ASC")[];
2436
+ /**
2437
+ * @deprecated
2438
+ * @description Returns the UI status string of the composition.
2439
+ * This internal status is subject to change without notice, and is thus marked deprecated to discourage use of internal data.
2440
+ */
2441
+ withUIStatus: boolean;
2442
+ /**
2443
+ * @deprecated
2444
+ * @description Filters composition lists by the UI status of the composition.
2445
+ * This internal status is subject to change without notice, and is thus marked deprecated to discourage use of internal data.
2446
+ */
2447
+ uiStatus: ("Draft" | "Modified" | "Published" | "Orphan")[];
2448
+ /** @description Includes project map node information in the composition results */
2449
+ withProjectMapNodes: boolean;
2450
+ /** @description Filters composition lists by the user who created them. The user is specified by their identity subject. */
2451
+ createdBy: string;
2452
+ /** @description Filters composition lists by the user who last updated them. The user is specified by their identity subject. */
2453
+ updatedBy: string;
2454
+ /**
2455
+ * @description Controls whether the total count of results will be returned along with the current results page in a list.
2456
+ * Has no effect when not fetching a list. This does impact performance when enabled.
2457
+ */
2458
+ withTotalCount: boolean;
2459
+ };
2460
+ };
2461
+ operations: {};
2462
+ };
2463
+ }
2464
+
2465
+ type Components = components$1['schemas'];
2466
+ type SharedComponents = components$2['schemas'];
2467
+ type Api = paths$3['/api/v1/canvas'];
2468
+ /** Query parameter options for GET /api/v1/canvas */
2469
+ type CompositionGetParameters = Omit<Api['get']['parameters']['query'], 'type'> & {
2470
+ type?: string | string[];
2471
+ };
2472
+ type CompositionGetOrderBy = NonNullable<Api['get']['parameters']['query']['orderBy']>[0];
2473
+ /** The GET response from /api/v1/canvas when `component` or `slug` params are specified */
2474
+ type CompositionGetResponse = Components['CompositionApiResponse'];
2475
+ /** @deprecated - internal use, do not rely on this value */
2476
+ type CompositionUIStatus = NonNullable<Components['CompositionApiResponse']['uiStatus']>;
2477
+ /** The GET response from /api/v1/canvas when `component` or `slug` are not specified */
2478
+ type CompositionGetListResponse = Components['CompositionListResponse'];
2479
+ /** The PUT request body for /api/v1/canvas */
2480
+ type CompositionPutParameters = Api['put']['requestBody']['content']['application/json'];
2481
+ /** Shape of the DELETE request body for /api/v1/canvas */
2482
+ type CompositionDeleteParameters = Api['delete']['requestBody']['content']['application/json'];
2483
+ /** @deprecated use CompositionGetResponse */
2484
+ type CompositionAPIResponse = CompositionGetResponse;
2485
+ /** @deprecated use CompositionDeleteParameters */
2486
+ type CompositionAPIDeleteRequest = CompositionDeleteParameters;
2487
+ /** @deprecated use CompositionGetParameters */
2488
+ type CompositionListAPIResponse = CompositionGetListResponse;
2489
+ /** @deprecated use CompositionGetParameters */
2490
+ type CompositionAPIOptions = CompositionGetParameters;
2491
+ /** Defines an editable parameter on a component. */
2492
+ type ComponentParameter<TValue = unknown> = Omit<SharedComponents['ComponentParameter'], 'value'> & {
2493
+ /** The type of the parameter. Determines how it is displayed when editing, and tells the consumer how to process it. */
2494
+ value: TValue;
2495
+ };
2496
+ /** Defines a connection to a data element on a data resource. */
2497
+ type DataElementConnectionDefinition = SharedComponents['DataElementConnectionDefinition'];
2498
+ /** Variable values for a data resource. */
2499
+ type DataResourceVariables = SharedComponents['DataResourceVariables'];
2500
+ /**
2501
+ * Data definitions attached to this component. The property name is the key of the data in the data document.
2502
+ * Note: data definitions are inherited from ancestors at runtime (and may be overridden by descendants that use the same key).
2503
+ */
2504
+ type DataResourceDefinitions = SharedComponents['DataResourceDefinitions'];
2505
+ /** Defines a data resource, which is a named JSON document, usually from an API response, which may be projected onto parameters */
2506
+ type DataResourceDefinition = SharedComponents['DataResourceDefinition'];
2507
+ /** Defines the shape of a component instance served by the composition API. */
2508
+ type ComponentInstance = SharedComponents['ComponentInstance'] & {
2509
+ /** Data for the component instance, provided by a component enhancer. Never set in unenhanced data. */
2510
+ data?: Record<string, unknown>;
2511
+ };
2512
+ /** Defines the shape of the root component in a composition */
2513
+ type RootComponentInstance = SharedComponents['RootComponentInstance'];
2514
+ /** Defines single structure to keep all canvas models (used in CLI commands and Starter content generations) */
2515
+ type CanvasDefinitions = {
2516
+ components?: Array<ComponentDefinition>;
2517
+ compositions?: Array<CompositionGetResponse>;
2518
+ dataTypes?: Array<DataType>;
2519
+ };
2520
+ /** Defines shared parameters for requests getting a single composition */
2521
+ type CompositionGetOneSharedParameters = Pick<CompositionGetParameters, 'state' | 'skipEnhance' | 'skipPatternResolution' | 'withComponentIDs' | 'withUIStatus' | 'withTotalCount'>;
2522
+ type CompositionGetBy<RequiredParameters extends keyof CompositionGetParameters> = CompositionGetOneSharedParameters & Required<Pick<CompositionGetParameters, RequiredParameters>>;
2523
+ /** Defines exact parameters for specific requests getting a single composition */
2524
+ type CompositionGetByNodePathParameters = CompositionGetBy<'projectMapNodePath' | 'projectMapId'>;
2525
+ type CompositionGetByNodeIdParameters = CompositionGetBy<'projectMapNodeId' | 'projectMapId'>;
2526
+ type CompositionGetBySlugParameters = CompositionGetBy<'slug'>;
2527
+ type CompositionGetByIdParameters = CompositionGetBy<'compositionId'>;
2528
+ /** Switches for data resolution */
2529
+ type DataResolutionOption = {
2530
+ unstable_resolveData?: boolean;
2531
+ };
2532
+ type DataResolutionOptionNegative = {
2533
+ unstable_resolveData?: false;
2534
+ };
2535
+ type DataResolutionOptionPositive = {
2536
+ unstable_resolveData: true;
2537
+ };
2538
+ type DataResolutionParameters = {
2539
+ /**
2540
+ * Adds additional diagnostics (`dataDiagnostics`) to the response containing timings and resolved datas for the composition.
2541
+ * Because this adds a lot of data to the response, we do not recommend using this unless diagnosing performance issues.
2542
+ */
2543
+ unstable_dataDiagnostics?: boolean;
2544
+ /**
2545
+ * Pass dynamic variables to the composition that are required for resolving bindings and datas,
2546
+ * such as language, detail page ID, etc.
2547
+ */
2548
+ unstable_dynamicVariables?: Record<string, string>;
2549
+ };
2550
+ /** Types of issue that can occur when fetching composition data */
2551
+ type CompositionIssue = CompositionPatternIssue | DataResourceIssue | DataElementBindingIssue | DataResourceVariableIssue | DataResolutionConfigIssue;
2552
+ type CompositionIssueCore = components['schemas']['CompositionIssue'];
2553
+ /** An error that occured resolving a pattern that is referenced on the composition */
2554
+ type CompositionPatternIssue = CompositionIssueCore & {
2555
+ type: 'pattern';
2556
+ code: NonNullable<ComponentInstance['_patternError']>;
2557
+ };
2558
+ /** An error while binding a data element from a data resource to a component parameter (i.e. a missing property in the data resource) */
2559
+ type DataElementBindingIssue = CompositionIssueCore & {
2560
+ type: 'binding';
2561
+ parameterName: string;
2562
+ };
2563
+ /** An error that occurred fetching a data defined on the composition or a pattern within */
2564
+ type DataResourceIssue = CompositionIssueCore & {
2565
+ type: 'data';
2566
+ dataName: string;
2567
+ dataType: string;
2568
+ };
2569
+ /** An issue that occurred while binding dynamic variables to composition data resources */
2570
+ type DataResourceVariableIssue = CompositionIssueCore & {
2571
+ type: 'variable';
2572
+ variableName: string;
2573
+ };
2574
+ type DataResolutionConfigIssue = {
2575
+ message: string;
2576
+ type: 'config';
2577
+ };
2578
+ /** Diagnostic data about the load performance of attached composition datas */
2579
+ type CompositionDataDiagnostic = components['schemas']['DataDiagnostic'];
2580
+ /** Response as it comes from the data resolution endpoint */
2581
+ type CompositionResolvedGetResponse = CompositionGetResponse & {
2582
+ /**
2583
+ * Copies of resolved data and how long it took to resolve each data.
2584
+ * Only set when dataDiagnostics=true is passed to the options.
2585
+ */
2586
+ dataDiagnostics?: Array<CompositionDataDiagnostic>;
2587
+ /**
2588
+ * Any failures to bind to data that occured on bindings marked 'must exist'.
2589
+ * If no failures occurred, this will be undefined.
2590
+ * NOTE: No exception will be thrown if this type of error occurs. You must inspect this property if you care to cause client errors.
2591
+ */
2592
+ errors?: Array<CompositionIssue>;
2593
+ /**
2594
+ * Any failures to bind to data that occurred on optional bindings. In most cases, these are only informational (i.e. data is bound to a property that does not always exist)
2595
+ * If no failures occurred, this will be undefined.
2596
+ */
2597
+ warnings?: Array<CompositionIssue>;
2598
+ };
2599
+ /** All valid response types */
2600
+ type CompositionGetValidResponses = CompositionGetResponse | CompositionResolvedGetResponse;
2601
+
2602
+ /**
2603
+ * This file was auto-generated by openapi-typescript.
2604
+ * Do not make direct changes to the file.
2605
+ */
2606
+ interface paths$2 {
2607
+ "/api/v1/data-source": {
2608
+ get: {
2609
+ parameters: {
2610
+ query: {
2611
+ dataSourceId: string;
2612
+ projectId: string;
2613
+ };
2614
+ };
2615
+ responses: {
2616
+ /** OK */
2617
+ 200: {
2618
+ content: {
2619
+ "application/json": {
2620
+ result: external$2["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["DataSource"];
2621
+ };
2622
+ };
2623
+ };
2624
+ 400: external$2["swagger.yml"]["components"]["responses"]["BadRequestError"];
2625
+ 401: external$2["swagger.yml"]["components"]["responses"]["UnauthorizedError"];
2626
+ 403: external$2["swagger.yml"]["components"]["responses"]["ForbiddenError"];
2627
+ 429: external$2["swagger.yml"]["components"]["responses"]["RateLimitError"];
2628
+ 500: external$2["swagger.yml"]["components"]["responses"]["InternalServerError"];
2629
+ };
2630
+ };
2631
+ put: {
2632
+ responses: {
2633
+ /** OK */
2634
+ 204: never;
2635
+ 400: external$2["swagger.yml"]["components"]["responses"]["BadRequestError"];
2636
+ 401: external$2["swagger.yml"]["components"]["responses"]["UnauthorizedError"];
2637
+ 403: external$2["swagger.yml"]["components"]["responses"]["ForbiddenError"];
2638
+ 429: external$2["swagger.yml"]["components"]["responses"]["RateLimitError"];
2639
+ 500: external$2["swagger.yml"]["components"]["responses"]["InternalServerError"];
2640
+ };
2641
+ requestBody: {
2642
+ content: {
2643
+ "application/json": {
2644
+ data: external$2["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["DataSource"];
2645
+ /** Format: uuid */
2646
+ projectId: string;
2647
+ /**
2648
+ * Format: uuid
2649
+ * @deprecated
2650
+ * @description Do not use. Will be removed in future.
2651
+ */
2652
+ integrationId?: string;
2653
+ /** @description The integration type that the data source is attached to. Must be installed in the project. */
2654
+ integrationType?: string;
2655
+ };
2656
+ };
2657
+ };
2658
+ };
2659
+ delete: {
2660
+ responses: {
2661
+ /** OK */
2662
+ 204: never;
2663
+ 400: external$2["swagger.yml"]["components"]["responses"]["BadRequestError"];
2664
+ 401: external$2["swagger.yml"]["components"]["responses"]["UnauthorizedError"];
2665
+ 403: external$2["swagger.yml"]["components"]["responses"]["ForbiddenError"];
2666
+ 429: external$2["swagger.yml"]["components"]["responses"]["RateLimitError"];
2667
+ 500: external$2["swagger.yml"]["components"]["responses"]["InternalServerError"];
2668
+ };
2669
+ requestBody: {
2670
+ content: {
2671
+ "application/json": {
2672
+ dataSourceId: string;
2673
+ /** Format: uuid */
2674
+ projectId: string;
2675
+ };
2676
+ };
2677
+ };
2678
+ };
2679
+ };
2680
+ }
2681
+ interface external$2 {
2682
+ "swagger.yml": {
2683
+ paths: {};
2684
+ components: {
2685
+ schemas: {
2686
+ Error: {
2687
+ /** @description Error message(s) that occurred while processing the request */
2688
+ errorMessage?: string[] | string;
2689
+ };
2690
+ };
2691
+ responses: {
2692
+ /** Request input validation failed */
2693
+ BadRequestError: {
2694
+ content: {
2695
+ "application/json": external$2["swagger.yml"]["components"]["schemas"]["Error"];
2696
+ };
2697
+ };
2698
+ /** API key or token was not valid */
2699
+ UnauthorizedError: {
2700
+ content: {
2701
+ "application/json": external$2["swagger.yml"]["components"]["schemas"]["Error"];
2702
+ };
2703
+ };
2704
+ /** Permission was denied */
2705
+ ForbiddenError: {
2706
+ content: {
2707
+ "application/json": external$2["swagger.yml"]["components"]["schemas"]["Error"];
2708
+ };
2709
+ };
2710
+ /** Resource not found */
2711
+ NotFoundError: {
2712
+ content: {
2713
+ "application/json": external$2["swagger.yml"]["components"]["schemas"]["Error"];
2714
+ };
2715
+ };
2716
+ /** Too many requests in allowed time period */
2717
+ RateLimitError: unknown;
2718
+ /** Execution error occurred */
2719
+ InternalServerError: unknown;
2720
+ };
2721
+ };
2722
+ operations: {};
2723
+ };
2724
+ "uniform-canvas-types.swagger.yml": {
2725
+ paths: {};
2726
+ components: {
2727
+ schemas: {
2728
+ /** @description Public ID (used in code). Do not change after creation. */
2729
+ PublicIdProperty: string;
2730
+ /** @description The definition of a component parameter */
2731
+ ComponentDefinitionParameter: {
2732
+ id: external$2["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["PublicIdProperty"];
2733
+ /** @description Friendly name of the parameter */
2734
+ name: string;
2735
+ /** @description Appears next to the parameter in the Composition editor */
2736
+ helpText?: string;
2737
+ /** @description Type name of the parameter (provided by a Uniform integration) */
2738
+ type: string;
2739
+ /** @description The configuration object for the type (type-specific) */
2740
+ typeConfig?: unknown;
2741
+ };
2742
+ /** @description The definition of a named component slot that can contain other components */
2743
+ ComponentDefinitionSlot: {
2744
+ id: external$2["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["PublicIdProperty"];
2745
+ /** @description Friendly name of the slot */
2746
+ name: string;
2747
+ /** @description A list of component definition public IDs that are allowed in this named slot */
2748
+ allowedComponents: string[];
2749
+ /**
2750
+ * @description Whether this slot inherits its allowed components from the parent slot it lives in. If true, allowedComponents is irrelevant.
2751
+ * @default false
2752
+ */
2753
+ inheritAllowedComponents: boolean;
2754
+ /** @description Minimum valid number of components in this slot */
2755
+ minComponents?: number;
2756
+ /** @description Maximum valid number of components in this slot */
2757
+ maxComponents?: number;
2758
+ };
2759
+ /** @description The definition of a composition's slug settings */
2760
+ ComponentDefinitionSlugSettings: {
2761
+ /**
2762
+ * @description Whether the slug is required
2763
+ * no: slug is optional
2764
+ * yes: slug is required
2765
+ * disabled: slug is disabled and will not be shown in the editor
2766
+ *
2767
+ * @default no
2768
+ * @enum {string}
2769
+ */
2770
+ required?: "no" | "yes" | "disabled";
2771
+ /**
2772
+ * @description Slug uniqueness configuration.
2773
+ * no = no unique constraint
2774
+ * local = must be unique within this component type
2775
+ * global = must be unique across all component types
2776
+ *
2777
+ * @enum {string}
2778
+ */
2779
+ unique?: "no" | "local" | "global";
2780
+ /** @description Regular expression slugs must match */
2781
+ regularExpression?: string;
2782
+ /**
2783
+ * @description Custom error message when regular expression validation fails.
2784
+ * Has no effect if `regularExpression` is not set.
2785
+ */
2786
+ regularExpressionMessage?: string;
2787
+ };
2788
+ /** @description The definition of a component variant */
2789
+ ComponentDefinitionVariant: {
2790
+ id: external$2["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["PublicIdProperty"];
2791
+ /** @description Friendly name of the variant */
2792
+ name: string;
2793
+ };
2794
+ /** @description Permission set for a component defintion */
2795
+ ComponentDefinitionPermission: {
2796
+ roleId: external$2["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["PublicIdProperty"];
2797
+ /**
2798
+ * @description Permission type for this permission ComponentDefinition:
2799
+ * read | write | create | delete
2800
+ *
2801
+ * @enum {string}
2802
+ */
2803
+ permission: "read" | "write" | "create" | "delete";
2804
+ /** @description State of the component that this permission applies to */
2805
+ state: number;
2806
+ };
2807
+ /** @description Defines a component type that can live on a Composition */
2808
+ ComponentDefinition: {
2809
+ id: external$2["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["PublicIdProperty"];
2810
+ /** @description Friendly name of the component definition */
2811
+ name: string;
2812
+ /**
2813
+ * @description Icon name or URL for the component definition (e.g. 'screen' or 'https://s3/my-component.jpg')
2814
+ * @default screen
2815
+ */
2816
+ icon?: string;
2817
+ /**
2818
+ * @description The public ID of the parameter whose value should be used to create a display title for this component in the UI.
2819
+ * The parameter type must support being used as a title parameter for this to work.
2820
+ */
2821
+ titleParameter?: string | null;
2822
+ /**
2823
+ * @description Whether this component type can be the root of a composition. If false, this component is only used within slots on other components.
2824
+ * @default false
2825
+ */
2826
+ canBeComposition?: boolean;
2827
+ /** @description The parameters for this component. Parameters are key-value pairs that can be anything from text values to links to CMS entries. */
2828
+ parameters?: external$2["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentDefinitionParameter"][];
2829
+ /**
2830
+ * @description if this component uses team permissions or custom permissions
2831
+ * @default true
2832
+ */
2833
+ useTeamPermissions?: boolean;
2834
+ /** @description Custom role permissions for this component definition */
2835
+ permissions?: external$2["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentDefinitionPermission"][];
2836
+ /** @description The named slots for this component; placement areas where arrays of other components can be added. */
2837
+ slots?: external$2["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentDefinitionSlot"][];
2838
+ slugSettings?: external$2["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentDefinitionSlugSettings"];
2839
+ /** @description Default component instance value */
2840
+ defaults?: external$2["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentInstance"] | null;
2841
+ /** @description Named variants for this component; enables creation of visual variants that use the same parameter data */
2842
+ variants?: external$2["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentDefinitionVariant"][];
2843
+ /** @description Created date string for this definition (ignored for writes) */
2844
+ created?: string;
2845
+ /** @description Last modified date string for this definition (ignored for writes) */
2846
+ updated?: string;
2847
+ };
2848
+ /** @description Defines an editable parameter on a component. */
2849
+ ComponentParameter: {
2850
+ /** @description The value of the parameter. Any JSON-serializable value is acceptable. */
2851
+ value: unknown;
2852
+ /** @description The type of the parameter. Determines how it is displayed when editing, and tells the consumer how to process it. */
2853
+ type: string;
2854
+ connectedData?: external$2["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["DataElementConnectionDefinition"];
2855
+ };
2856
+ /**
2857
+ * @deprecated
2858
+ * @description Defines a connection to a data element on a data resource. Do not use.
2859
+ */
2860
+ DataElementConnectionDefinition: {
2861
+ /** @description A JSON Pointer expression that defines the data element to connect the parameter to. */
2862
+ pointer: string;
2863
+ /**
2864
+ * @description The syntax used to select the data element to bind to
2865
+ * @enum {string}
2866
+ */
2867
+ syntax: "jptr";
2868
+ /**
2869
+ * @description Whether an error should occur if the connected data element cannot be resolved (i.e. a missing property in the data resource).
2870
+ * In all cases the binding process will remove the parameter data for the unresolvable data element.
2871
+ * When this is true, and the data element failed to bind, the warning entry returned from the binding process will be changed to an error entry.
2872
+ *
2873
+ * @default false
2874
+ */
2875
+ required?: boolean;
2876
+ };
2877
+ /** @description Defines the shape of a component instance served by the composition API. */
2878
+ ComponentInstance: {
2879
+ /** @description Type of the component instance (public_id of its definition) */
2880
+ type: string;
2881
+ /** @description Component parameter values for the component instance */
2882
+ parameters?: {
2883
+ [key: string]: external$2["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentParameter"];
2884
+ };
2885
+ /** @description Public ID of alternate visual appearance for this component, if any selected */
2886
+ variant?: string;
2887
+ /** @description Slots containing any child components */
2888
+ slots?: {
2889
+ [key: string]: external$2["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentInstance"][];
2890
+ };
2891
+ /** @description Unique identifier of the component within the composition. This is not set unless specifically requested via `withComponentIDs` API parameter. */
2892
+ _id?: string;
2893
+ /** @description Indicates this component instance should be sourced from a pattern library pattern. */
2894
+ _pattern?: string;
2895
+ _dataResources?: external$2["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["DataResourceDefinitions"];
2896
+ /**
2897
+ * @deprecated
2898
+ * @description Data definitions coming from a pattern resolved for this component. Merged with _data during resolution.
2899
+ * Means nothing for PUTs; it will be ignored.
2900
+ */
2901
+ _patternDataResources?: {
2902
+ [key: string]: external$2["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["DataResourceDefinition"];
2903
+ };
2904
+ /**
2905
+ * @description Describes why the pattern could not be resolved, if a pattern could not be resolved. For PUTs, this is allowed but ignored.
2906
+ * CYCLIC: A cyclic pattern graph was detected, which could not be resolved because it would cause an infinite loop.
2907
+ * NOTFOUND: The pattern ID referenced could not be found. It may have been deleted, or not be published yet.
2908
+ * Means nothing for PUTs; it will be ignored.
2909
+ *
2910
+ * @enum {string}
2911
+ */
2912
+ _patternError?: "NOTFOUND" | "CYCLIC";
2913
+ };
2914
+ /** @description Defines the shape of the root component in a composition */
2915
+ RootComponentInstance: {
2916
+ /** @description Type of the component instance (public_id of its definition) */
2917
+ type: string;
2918
+ /** @description Component parameter values for the component instance */
2919
+ parameters?: {
2920
+ [key: string]: external$2["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentParameter"];
2921
+ };
2922
+ /** @description Public ID of alternate visual appearance for this component, if any selected */
2923
+ variant?: string;
2924
+ /** @description Project map nodes associated with this component. Must pass withProjectMapNodes parameter to be populated. */
2925
+ projectMapNodes?: external$2["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["CompositionProjectMapNodeInfo"][];
2926
+ /** @description Slots containing any child components */
2927
+ slots?: {
2928
+ [key: string]: external$2["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentInstance"][];
2929
+ };
2930
+ /** @description The public UUID of the composition. */
2931
+ _id: string;
2932
+ /** @description Slug pattern of this component. */
2933
+ _slug?: string | null;
2934
+ /** @description Friendly name of this component. */
2935
+ _name: string;
2936
+ _dataResources?: external$2["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["DataResourceDefinitions"];
2937
+ };
2938
+ /**
2939
+ * @deprecated
2940
+ * @description An instance of a data source (i.e. "Master environment of the stable space", "Yelp API", "Sanity dev dataset").
2941
+ * These are created in the UI and shared across a whole project.
2942
+ * NOTE: if you acquire a list of data sources or do not have manage permissions, you will receive "SECRET"
2943
+ * for all header, parameter, and variable values to obscure the actual encrypted secret value.
2944
+ */
2945
+ DataSource: {
2946
+ /** @description Public ID of the data source */
2947
+ id: string;
2948
+ /** @description Display name of the data source */
2949
+ displayName: string;
2950
+ /** @description The type of data connector this connects to (e.g. 'cms-items', provided by an intalled integration) */
2951
+ connectorType: string;
2952
+ /** @description Base resource URL of the data source. No trailing slash. */
2953
+ baseUrl: string;
2954
+ /** @description HTTP headers to pass with requests to the data source */
2955
+ headers?: {
2956
+ key: string;
2957
+ value: string;
2958
+ }[];
2959
+ /** @description Query String parameters to pass with requests to the data type. Merged with parameters from the data source, overriding identical keys. */
2960
+ parameters?: {
2961
+ key: string;
2962
+ value: string;
2963
+ }[];
2964
+ /** @description Variables needed to make calls to the data source */
2965
+ variables?: {
2966
+ [key: string]: external$2["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["DataVariableDefinition"];
2967
+ };
2968
+ /** @description Custom configuration specific to the data source being defined (used to maintain UI state for custom integrations) */
2969
+ custom?: {
2970
+ [key: string]: unknown;
2971
+ };
2972
+ };
2973
+ /**
2974
+ * @deprecated
2975
+ * @description A specific type of data that a Data Source can provide (i.e. "Recipe", "Recipes List by Tag", "Yelp Reviews of My Restaurant"). These are created in the UI and shared a whole project.
2976
+ */
2977
+ DataType: {
2978
+ /** @description Public ID of the data type */
2979
+ id: string;
2980
+ /** @description Display name of the data type */
2981
+ displayName: string;
2982
+ /** @description Public ID of the associated data source */
2983
+ dataSourceId: string;
2984
+ /**
2985
+ * @description A connector-specific archetype for this data type; used to select UI as well as perform any
2986
+ * necessary post-processing on the response. e.g. 'cms-entry', 'cms-query'. Can be undefined if
2987
+ * no special UI or processing is required.
2988
+ */
2989
+ archetype?: string;
2990
+ allowedOnComponents?: string[];
2991
+ /** @description Resource path, appended to the data source's baseUrl (e.g. baseUrl = https://base.url, path = /v1/endpoint -> final URL https://base.url/v1/endpoint). Must have leading slash. */
2992
+ path: string;
2993
+ /** @description Time-to-live (in seconds) for the primary resource data cache. */
2994
+ ttl?: number;
2995
+ /** @description Long term data resource cache configuration. */
2996
+ longTermCache?: {
2997
+ /** @description A flag to turn the long term cache on. */
2998
+ enabled: boolean;
2999
+ /** @description Time-to-live (in hours) for the long term resource data cache. */
3000
+ ttlInHours?: number;
3001
+ };
3002
+ /** @description A key for the resource data cache purging. */
3003
+ purgeKey?: string;
3004
+ /** @description URL to a custom badge icon for the Uniform dashboard for this data type. If not set falls back to the data connector or integration icons. */
3005
+ badgeIconUrl?: string;
3006
+ /** @description HTTP headers to pass with requests to the data type. Merged with headers from the data source, overriding identical keys. */
3007
+ headers?: {
3008
+ key: string;
3009
+ value: string;
3010
+ }[];
3011
+ /** @description Query String parameters to pass with requests to the data type. Merged with parameters from the data source, overriding identical keys. */
3012
+ parameters?: {
3013
+ key: string;
3014
+ value: string;
3015
+ }[];
3016
+ /** @description Body to pass with requests to the data type (ignored unless method is POST) */
3017
+ body?: string;
3018
+ /**
3019
+ * @description HTTP method to use with requests to the data type.
3020
+ * @default GET
3021
+ * @enum {string}
3022
+ */
3023
+ method: "GET" | "POST" | "HEAD";
3024
+ /** @description Variables needed to make calls to the data type. Merged with variables from the data source, overriding identical keys. */
3025
+ variables?: {
3026
+ [key: string]: external$2["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["DataVariableDefinition"];
3027
+ };
3028
+ /** @description Custom configuration specific to the data source being defined */
3029
+ custom?: {
3030
+ [key: string]: unknown;
3031
+ };
3032
+ };
3033
+ /**
3034
+ * @deprecated
3035
+ * @description Defines the shape of a data variable on a Data Source or Data Type
3036
+ */
3037
+ DataVariableDefinition: {
3038
+ /** @description Display name of the data variable */
3039
+ displayName?: string;
3040
+ /** @description Explanatory text that is provided to the data resource editor to explain what this variable does. */
3041
+ helpText?: string;
3042
+ /**
3043
+ * @description Type of the data variable. Optionally used as a point of reference for custom integrations to decide how to render an editor for a variable.
3044
+ * @default text
3045
+ */
3046
+ type?: string;
3047
+ /** @description Default value of the data variable */
3048
+ default: string;
3049
+ /** @description Sets the order of the variable when displayed in a list with other variables. If not set, the order defaults to alphabetical with any explicitly set orders first in the list. */
3050
+ order?: number;
3051
+ };
3052
+ /**
3053
+ * @deprecated
3054
+ * @description Data definitions attached to this component. The property name is the key of the data in the data document.
3055
+ * Note: data definitions are inherited from ancestors at runtime (and may be overridden by descendants that use the same key).
3056
+ */
3057
+ DataResourceDefinitions: {
3058
+ [key: string]: external$2["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["DataResourceDefinition"];
3059
+ };
3060
+ /**
3061
+ * @deprecated
3062
+ * @description Defines a data resource, which is a named JSON document, usually from an API response, which may be projected onto parameters
3063
+ */
3064
+ DataResourceDefinition: {
3065
+ /** @description Public ID of the data type that provides this data */
3066
+ type: string;
3067
+ /** @description Whether this data is a pattern parameter that has to be overridden when a pattern is referenced on another composition. If this is not a pattern composition, this has no meaning and should not be used. If unspecified, the default is false. */
3068
+ isPatternParameter?: boolean;
3069
+ variables?: external$2["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["DataResourceVariables"];
3070
+ };
3071
+ /**
3072
+ * @deprecated
3073
+ * @description Variable values for a data resource.
3074
+ */
3075
+ DataResourceVariables: {
3076
+ [key: string]: string;
3077
+ };
3078
+ /** @description Project map node information related to a component. */
3079
+ CompositionProjectMapNodeInfo: {
3080
+ /**
3081
+ * Format: uuid
3082
+ * @description Unique identifier for the project map node
3083
+ */
3084
+ id: string;
3085
+ /** @description Path of the project map node */
3086
+ path: string;
3087
+ /**
3088
+ * Format: uuid
3089
+ * @description Unique identifier for the project map that this node belongs to.
3090
+ */
3091
+ projectMapId: string;
3092
+ };
3093
+ };
3094
+ };
3095
+ operations: {};
3096
+ };
3097
+ }
3098
+
3099
+ /**
3100
+ * This file was auto-generated by openapi-typescript.
3101
+ * Do not make direct changes to the file.
3102
+ */
3103
+ interface paths$1 {
3104
+ "/api/v1/data-sources": {
3105
+ get: {
3106
+ parameters: {
3107
+ query: {
3108
+ projectId: string;
3109
+ };
3110
+ };
3111
+ responses: {
3112
+ /**
3113
+ * Gets a list of data sources.
3114
+ * Note that all parameters, headers, and variables will have the value 'SECRET', as this endpoint
3115
+ * requires minimal permissions. To decrypt secrets, you must be an admin or manage-data-sources privileged
3116
+ * user, and fetch using the `data-source` endpoint for each data source.
3117
+ */
3118
+ 200: {
3119
+ content: {
3120
+ "application/json": {
3121
+ results: external$1["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["DataSource"][];
3122
+ };
3123
+ };
3124
+ };
3125
+ 400: external$1["swagger.yml"]["components"]["responses"]["BadRequestError"];
3126
+ 401: external$1["swagger.yml"]["components"]["responses"]["UnauthorizedError"];
3127
+ 403: external$1["swagger.yml"]["components"]["responses"]["ForbiddenError"];
3128
+ 429: external$1["swagger.yml"]["components"]["responses"]["RateLimitError"];
3129
+ 500: external$1["swagger.yml"]["components"]["responses"]["InternalServerError"];
3130
+ };
3131
+ };
3132
+ };
3133
+ }
3134
+ interface external$1 {
3135
+ "swagger.yml": {
3136
+ paths: {};
3137
+ components: {
3138
+ schemas: {
3139
+ Error: {
3140
+ /** @description Error message(s) that occurred while processing the request */
3141
+ errorMessage?: string[] | string;
3142
+ };
3143
+ };
3144
+ responses: {
3145
+ /** Request input validation failed */
3146
+ BadRequestError: {
3147
+ content: {
3148
+ "application/json": external$1["swagger.yml"]["components"]["schemas"]["Error"];
3149
+ };
3150
+ };
3151
+ /** API key or token was not valid */
3152
+ UnauthorizedError: {
3153
+ content: {
3154
+ "application/json": external$1["swagger.yml"]["components"]["schemas"]["Error"];
3155
+ };
3156
+ };
3157
+ /** Permission was denied */
3158
+ ForbiddenError: {
3159
+ content: {
3160
+ "application/json": external$1["swagger.yml"]["components"]["schemas"]["Error"];
3161
+ };
3162
+ };
3163
+ /** Resource not found */
3164
+ NotFoundError: {
3165
+ content: {
3166
+ "application/json": external$1["swagger.yml"]["components"]["schemas"]["Error"];
3167
+ };
3168
+ };
3169
+ /** Too many requests in allowed time period */
3170
+ RateLimitError: unknown;
3171
+ /** Execution error occurred */
3172
+ InternalServerError: unknown;
3173
+ };
3174
+ };
3175
+ operations: {};
3176
+ };
3177
+ "uniform-canvas-types.swagger.yml": {
3178
+ paths: {};
3179
+ components: {
3180
+ schemas: {
3181
+ /** @description Public ID (used in code). Do not change after creation. */
3182
+ PublicIdProperty: string;
3183
+ /** @description The definition of a component parameter */
3184
+ ComponentDefinitionParameter: {
3185
+ id: external$1["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["PublicIdProperty"];
3186
+ /** @description Friendly name of the parameter */
3187
+ name: string;
3188
+ /** @description Appears next to the parameter in the Composition editor */
3189
+ helpText?: string;
3190
+ /** @description Type name of the parameter (provided by a Uniform integration) */
3191
+ type: string;
3192
+ /** @description The configuration object for the type (type-specific) */
3193
+ typeConfig?: unknown;
3194
+ };
3195
+ /** @description The definition of a named component slot that can contain other components */
3196
+ ComponentDefinitionSlot: {
3197
+ id: external$1["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["PublicIdProperty"];
3198
+ /** @description Friendly name of the slot */
3199
+ name: string;
3200
+ /** @description A list of component definition public IDs that are allowed in this named slot */
3201
+ allowedComponents: string[];
3202
+ /**
3203
+ * @description Whether this slot inherits its allowed components from the parent slot it lives in. If true, allowedComponents is irrelevant.
3204
+ * @default false
3205
+ */
3206
+ inheritAllowedComponents: boolean;
3207
+ /** @description Minimum valid number of components in this slot */
3208
+ minComponents?: number;
3209
+ /** @description Maximum valid number of components in this slot */
3210
+ maxComponents?: number;
3211
+ };
3212
+ /** @description The definition of a composition's slug settings */
3213
+ ComponentDefinitionSlugSettings: {
3214
+ /**
3215
+ * @description Whether the slug is required
3216
+ * no: slug is optional
3217
+ * yes: slug is required
3218
+ * disabled: slug is disabled and will not be shown in the editor
3219
+ *
3220
+ * @default no
3221
+ * @enum {string}
3222
+ */
3223
+ required?: "no" | "yes" | "disabled";
3224
+ /**
3225
+ * @description Slug uniqueness configuration.
3226
+ * no = no unique constraint
3227
+ * local = must be unique within this component type
3228
+ * global = must be unique across all component types
3229
+ *
3230
+ * @enum {string}
3231
+ */
3232
+ unique?: "no" | "local" | "global";
3233
+ /** @description Regular expression slugs must match */
3234
+ regularExpression?: string;
3235
+ /**
3236
+ * @description Custom error message when regular expression validation fails.
3237
+ * Has no effect if `regularExpression` is not set.
3238
+ */
3239
+ regularExpressionMessage?: string;
3240
+ };
3241
+ /** @description The definition of a component variant */
3242
+ ComponentDefinitionVariant: {
3243
+ id: external$1["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["PublicIdProperty"];
3244
+ /** @description Friendly name of the variant */
3245
+ name: string;
3246
+ };
3247
+ /** @description Permission set for a component defintion */
3248
+ ComponentDefinitionPermission: {
3249
+ roleId: external$1["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["PublicIdProperty"];
3250
+ /**
3251
+ * @description Permission type for this permission ComponentDefinition:
3252
+ * read | write | create | delete
3253
+ *
3254
+ * @enum {string}
3255
+ */
3256
+ permission: "read" | "write" | "create" | "delete";
3257
+ /** @description State of the component that this permission applies to */
3258
+ state: number;
3259
+ };
3260
+ /** @description Defines a component type that can live on a Composition */
3261
+ ComponentDefinition: {
3262
+ id: external$1["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["PublicIdProperty"];
3263
+ /** @description Friendly name of the component definition */
3264
+ name: string;
3265
+ /**
3266
+ * @description Icon name or URL for the component definition (e.g. 'screen' or 'https://s3/my-component.jpg')
3267
+ * @default screen
3268
+ */
3269
+ icon?: string;
3270
+ /**
3271
+ * @description The public ID of the parameter whose value should be used to create a display title for this component in the UI.
3272
+ * The parameter type must support being used as a title parameter for this to work.
3273
+ */
3274
+ titleParameter?: string | null;
3275
+ /**
3276
+ * @description Whether this component type can be the root of a composition. If false, this component is only used within slots on other components.
3277
+ * @default false
3278
+ */
3279
+ canBeComposition?: boolean;
3280
+ /** @description The parameters for this component. Parameters are key-value pairs that can be anything from text values to links to CMS entries. */
3281
+ parameters?: external$1["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentDefinitionParameter"][];
3282
+ /**
3283
+ * @description if this component uses team permissions or custom permissions
3284
+ * @default true
3285
+ */
3286
+ useTeamPermissions?: boolean;
3287
+ /** @description Custom role permissions for this component definition */
3288
+ permissions?: external$1["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentDefinitionPermission"][];
3289
+ /** @description The named slots for this component; placement areas where arrays of other components can be added. */
3290
+ slots?: external$1["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentDefinitionSlot"][];
3291
+ slugSettings?: external$1["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentDefinitionSlugSettings"];
3292
+ /** @description Default component instance value */
3293
+ defaults?: external$1["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentInstance"] | null;
3294
+ /** @description Named variants for this component; enables creation of visual variants that use the same parameter data */
3295
+ variants?: external$1["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentDefinitionVariant"][];
3296
+ /** @description Created date string for this definition (ignored for writes) */
3297
+ created?: string;
3298
+ /** @description Last modified date string for this definition (ignored for writes) */
3299
+ updated?: string;
3300
+ };
3301
+ /** @description Defines an editable parameter on a component. */
3302
+ ComponentParameter: {
3303
+ /** @description The value of the parameter. Any JSON-serializable value is acceptable. */
3304
+ value: unknown;
3305
+ /** @description The type of the parameter. Determines how it is displayed when editing, and tells the consumer how to process it. */
3306
+ type: string;
3307
+ connectedData?: external$1["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["DataElementConnectionDefinition"];
3308
+ };
3309
+ /**
3310
+ * @deprecated
3311
+ * @description Defines a connection to a data element on a data resource. Do not use.
3312
+ */
3313
+ DataElementConnectionDefinition: {
3314
+ /** @description A JSON Pointer expression that defines the data element to connect the parameter to. */
3315
+ pointer: string;
3316
+ /**
3317
+ * @description The syntax used to select the data element to bind to
3318
+ * @enum {string}
3319
+ */
3320
+ syntax: "jptr";
3321
+ /**
3322
+ * @description Whether an error should occur if the connected data element cannot be resolved (i.e. a missing property in the data resource).
3323
+ * In all cases the binding process will remove the parameter data for the unresolvable data element.
3324
+ * When this is true, and the data element failed to bind, the warning entry returned from the binding process will be changed to an error entry.
3325
+ *
3326
+ * @default false
3327
+ */
3328
+ required?: boolean;
3329
+ };
3330
+ /** @description Defines the shape of a component instance served by the composition API. */
3331
+ ComponentInstance: {
3332
+ /** @description Type of the component instance (public_id of its definition) */
3333
+ type: string;
3334
+ /** @description Component parameter values for the component instance */
3335
+ parameters?: {
3336
+ [key: string]: external$1["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentParameter"];
3337
+ };
3338
+ /** @description Public ID of alternate visual appearance for this component, if any selected */
3339
+ variant?: string;
3340
+ /** @description Slots containing any child components */
3341
+ slots?: {
3342
+ [key: string]: external$1["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentInstance"][];
3343
+ };
3344
+ /** @description Unique identifier of the component within the composition. This is not set unless specifically requested via `withComponentIDs` API parameter. */
3345
+ _id?: string;
3346
+ /** @description Indicates this component instance should be sourced from a pattern library pattern. */
3347
+ _pattern?: string;
3348
+ _dataResources?: external$1["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["DataResourceDefinitions"];
3349
+ /**
3350
+ * @deprecated
3351
+ * @description Data definitions coming from a pattern resolved for this component. Merged with _data during resolution.
3352
+ * Means nothing for PUTs; it will be ignored.
3353
+ */
3354
+ _patternDataResources?: {
3355
+ [key: string]: external$1["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["DataResourceDefinition"];
3356
+ };
3357
+ /**
3358
+ * @description Describes why the pattern could not be resolved, if a pattern could not be resolved. For PUTs, this is allowed but ignored.
3359
+ * CYCLIC: A cyclic pattern graph was detected, which could not be resolved because it would cause an infinite loop.
3360
+ * NOTFOUND: The pattern ID referenced could not be found. It may have been deleted, or not be published yet.
3361
+ * Means nothing for PUTs; it will be ignored.
3362
+ *
3363
+ * @enum {string}
3364
+ */
3365
+ _patternError?: "NOTFOUND" | "CYCLIC";
3366
+ };
3367
+ /** @description Defines the shape of the root component in a composition */
3368
+ RootComponentInstance: {
3369
+ /** @description Type of the component instance (public_id of its definition) */
3370
+ type: string;
3371
+ /** @description Component parameter values for the component instance */
3372
+ parameters?: {
3373
+ [key: string]: external$1["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentParameter"];
3374
+ };
3375
+ /** @description Public ID of alternate visual appearance for this component, if any selected */
3376
+ variant?: string;
3377
+ /** @description Project map nodes associated with this component. Must pass withProjectMapNodes parameter to be populated. */
3378
+ projectMapNodes?: external$1["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["CompositionProjectMapNodeInfo"][];
3379
+ /** @description Slots containing any child components */
3380
+ slots?: {
3381
+ [key: string]: external$1["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentInstance"][];
3382
+ };
3383
+ /** @description The public UUID of the composition. */
3384
+ _id: string;
3385
+ /** @description Slug pattern of this component. */
3386
+ _slug?: string | null;
3387
+ /** @description Friendly name of this component. */
3388
+ _name: string;
3389
+ _dataResources?: external$1["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["DataResourceDefinitions"];
3390
+ };
3391
+ /**
3392
+ * @deprecated
3393
+ * @description An instance of a data source (i.e. "Master environment of the stable space", "Yelp API", "Sanity dev dataset").
3394
+ * These are created in the UI and shared across a whole project.
3395
+ * NOTE: if you acquire a list of data sources or do not have manage permissions, you will receive "SECRET"
3396
+ * for all header, parameter, and variable values to obscure the actual encrypted secret value.
3397
+ */
3398
+ DataSource: {
3399
+ /** @description Public ID of the data source */
3400
+ id: string;
3401
+ /** @description Display name of the data source */
3402
+ displayName: string;
3403
+ /** @description The type of data connector this connects to (e.g. 'cms-items', provided by an intalled integration) */
3404
+ connectorType: string;
3405
+ /** @description Base resource URL of the data source. No trailing slash. */
3406
+ baseUrl: string;
3407
+ /** @description HTTP headers to pass with requests to the data source */
3408
+ headers?: {
3409
+ key: string;
3410
+ value: string;
3411
+ }[];
3412
+ /** @description Query String parameters to pass with requests to the data type. Merged with parameters from the data source, overriding identical keys. */
3413
+ parameters?: {
3414
+ key: string;
3415
+ value: string;
3416
+ }[];
3417
+ /** @description Variables needed to make calls to the data source */
3418
+ variables?: {
3419
+ [key: string]: external$1["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["DataVariableDefinition"];
3420
+ };
3421
+ /** @description Custom configuration specific to the data source being defined (used to maintain UI state for custom integrations) */
3422
+ custom?: {
3423
+ [key: string]: unknown;
3424
+ };
3425
+ };
3426
+ /**
3427
+ * @deprecated
3428
+ * @description A specific type of data that a Data Source can provide (i.e. "Recipe", "Recipes List by Tag", "Yelp Reviews of My Restaurant"). These are created in the UI and shared a whole project.
3429
+ */
3430
+ DataType: {
3431
+ /** @description Public ID of the data type */
3432
+ id: string;
3433
+ /** @description Display name of the data type */
3434
+ displayName: string;
3435
+ /** @description Public ID of the associated data source */
3436
+ dataSourceId: string;
3437
+ /**
3438
+ * @description A connector-specific archetype for this data type; used to select UI as well as perform any
3439
+ * necessary post-processing on the response. e.g. 'cms-entry', 'cms-query'. Can be undefined if
3440
+ * no special UI or processing is required.
3441
+ */
3442
+ archetype?: string;
3443
+ allowedOnComponents?: string[];
3444
+ /** @description Resource path, appended to the data source's baseUrl (e.g. baseUrl = https://base.url, path = /v1/endpoint -> final URL https://base.url/v1/endpoint). Must have leading slash. */
3445
+ path: string;
3446
+ /** @description Time-to-live (in seconds) for the primary resource data cache. */
3447
+ ttl?: number;
3448
+ /** @description Long term data resource cache configuration. */
3449
+ longTermCache?: {
3450
+ /** @description A flag to turn the long term cache on. */
3451
+ enabled: boolean;
3452
+ /** @description Time-to-live (in hours) for the long term resource data cache. */
3453
+ ttlInHours?: number;
3454
+ };
3455
+ /** @description A key for the resource data cache purging. */
3456
+ purgeKey?: string;
3457
+ /** @description URL to a custom badge icon for the Uniform dashboard for this data type. If not set falls back to the data connector or integration icons. */
3458
+ badgeIconUrl?: string;
3459
+ /** @description HTTP headers to pass with requests to the data type. Merged with headers from the data source, overriding identical keys. */
3460
+ headers?: {
3461
+ key: string;
3462
+ value: string;
3463
+ }[];
3464
+ /** @description Query String parameters to pass with requests to the data type. Merged with parameters from the data source, overriding identical keys. */
3465
+ parameters?: {
3466
+ key: string;
3467
+ value: string;
3468
+ }[];
3469
+ /** @description Body to pass with requests to the data type (ignored unless method is POST) */
3470
+ body?: string;
3471
+ /**
3472
+ * @description HTTP method to use with requests to the data type.
3473
+ * @default GET
3474
+ * @enum {string}
3475
+ */
3476
+ method: "GET" | "POST" | "HEAD";
3477
+ /** @description Variables needed to make calls to the data type. Merged with variables from the data source, overriding identical keys. */
3478
+ variables?: {
3479
+ [key: string]: external$1["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["DataVariableDefinition"];
3480
+ };
3481
+ /** @description Custom configuration specific to the data source being defined */
3482
+ custom?: {
3483
+ [key: string]: unknown;
3484
+ };
3485
+ };
3486
+ /**
3487
+ * @deprecated
3488
+ * @description Defines the shape of a data variable on a Data Source or Data Type
3489
+ */
3490
+ DataVariableDefinition: {
3491
+ /** @description Display name of the data variable */
3492
+ displayName?: string;
3493
+ /** @description Explanatory text that is provided to the data resource editor to explain what this variable does. */
3494
+ helpText?: string;
3495
+ /**
3496
+ * @description Type of the data variable. Optionally used as a point of reference for custom integrations to decide how to render an editor for a variable.
3497
+ * @default text
3498
+ */
3499
+ type?: string;
3500
+ /** @description Default value of the data variable */
3501
+ default: string;
3502
+ /** @description Sets the order of the variable when displayed in a list with other variables. If not set, the order defaults to alphabetical with any explicitly set orders first in the list. */
3503
+ order?: number;
3504
+ };
3505
+ /**
3506
+ * @deprecated
3507
+ * @description Data definitions attached to this component. The property name is the key of the data in the data document.
3508
+ * Note: data definitions are inherited from ancestors at runtime (and may be overridden by descendants that use the same key).
3509
+ */
3510
+ DataResourceDefinitions: {
3511
+ [key: string]: external$1["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["DataResourceDefinition"];
3512
+ };
3513
+ /**
3514
+ * @deprecated
3515
+ * @description Defines a data resource, which is a named JSON document, usually from an API response, which may be projected onto parameters
3516
+ */
3517
+ DataResourceDefinition: {
3518
+ /** @description Public ID of the data type that provides this data */
3519
+ type: string;
3520
+ /** @description Whether this data is a pattern parameter that has to be overridden when a pattern is referenced on another composition. If this is not a pattern composition, this has no meaning and should not be used. If unspecified, the default is false. */
3521
+ isPatternParameter?: boolean;
3522
+ variables?: external$1["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["DataResourceVariables"];
3523
+ };
3524
+ /**
3525
+ * @deprecated
3526
+ * @description Variable values for a data resource.
3527
+ */
3528
+ DataResourceVariables: {
3529
+ [key: string]: string;
3530
+ };
3531
+ /** @description Project map node information related to a component. */
3532
+ CompositionProjectMapNodeInfo: {
3533
+ /**
3534
+ * Format: uuid
3535
+ * @description Unique identifier for the project map node
3536
+ */
3537
+ id: string;
3538
+ /** @description Path of the project map node */
3539
+ path: string;
3540
+ /**
3541
+ * Format: uuid
3542
+ * @description Unique identifier for the project map that this node belongs to.
3543
+ */
3544
+ projectMapId: string;
3545
+ };
3546
+ };
3547
+ };
3548
+ operations: {};
3549
+ };
3550
+ }
3551
+
3552
+ /**
3553
+ * This file was auto-generated by openapi-typescript.
3554
+ * Do not make direct changes to the file.
3555
+ */
3556
+ interface paths {
3557
+ "/api/v1/data-types": {
3558
+ get: {
3559
+ parameters: {
3560
+ query: {
3561
+ projectId: string;
3562
+ };
3563
+ };
3564
+ responses: {
3565
+ /** OK */
3566
+ 200: {
3567
+ content: {
3568
+ "application/json": {
3569
+ results: external["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["DataType"][];
3570
+ };
3571
+ };
3572
+ };
3573
+ 400: external["swagger.yml"]["components"]["responses"]["BadRequestError"];
3574
+ 401: external["swagger.yml"]["components"]["responses"]["UnauthorizedError"];
3575
+ 403: external["swagger.yml"]["components"]["responses"]["ForbiddenError"];
3576
+ 429: external["swagger.yml"]["components"]["responses"]["RateLimitError"];
3577
+ 500: external["swagger.yml"]["components"]["responses"]["InternalServerError"];
3578
+ };
3579
+ };
3580
+ put: {
3581
+ responses: {
3582
+ /** OK */
3583
+ 204: never;
3584
+ 400: external["swagger.yml"]["components"]["responses"]["BadRequestError"];
3585
+ 401: external["swagger.yml"]["components"]["responses"]["UnauthorizedError"];
3586
+ 403: external["swagger.yml"]["components"]["responses"]["ForbiddenError"];
3587
+ 429: external["swagger.yml"]["components"]["responses"]["RateLimitError"];
3588
+ 500: external["swagger.yml"]["components"]["responses"]["InternalServerError"];
3589
+ };
3590
+ requestBody: {
3591
+ content: {
3592
+ "application/json": {
3593
+ data: external["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["DataType"];
3594
+ /** Format: uuid */
3595
+ projectId: string;
3596
+ };
3597
+ };
3598
+ };
3599
+ };
3600
+ delete: {
3601
+ responses: {
3602
+ /** OK */
3603
+ 204: never;
3604
+ 400: external["swagger.yml"]["components"]["responses"]["BadRequestError"];
3605
+ 401: external["swagger.yml"]["components"]["responses"]["UnauthorizedError"];
3606
+ 403: external["swagger.yml"]["components"]["responses"]["ForbiddenError"];
3607
+ 429: external["swagger.yml"]["components"]["responses"]["RateLimitError"];
3608
+ 500: external["swagger.yml"]["components"]["responses"]["InternalServerError"];
3609
+ };
3610
+ requestBody: {
3611
+ content: {
3612
+ "application/json": {
3613
+ typeId: string;
3614
+ /** Format: uuid */
3615
+ projectId: string;
3616
+ };
3617
+ };
3618
+ };
3619
+ };
3620
+ };
3621
+ }
3622
+ interface external {
3623
+ "swagger.yml": {
3624
+ paths: {};
3625
+ components: {
3626
+ schemas: {
3627
+ Error: {
3628
+ /** @description Error message(s) that occurred while processing the request */
3629
+ errorMessage?: string[] | string;
3630
+ };
3631
+ };
3632
+ responses: {
3633
+ /** Request input validation failed */
3634
+ BadRequestError: {
3635
+ content: {
3636
+ "application/json": external["swagger.yml"]["components"]["schemas"]["Error"];
3637
+ };
3638
+ };
3639
+ /** API key or token was not valid */
3640
+ UnauthorizedError: {
3641
+ content: {
3642
+ "application/json": external["swagger.yml"]["components"]["schemas"]["Error"];
3643
+ };
3644
+ };
3645
+ /** Permission was denied */
3646
+ ForbiddenError: {
3647
+ content: {
3648
+ "application/json": external["swagger.yml"]["components"]["schemas"]["Error"];
3649
+ };
3650
+ };
3651
+ /** Resource not found */
3652
+ NotFoundError: {
3653
+ content: {
3654
+ "application/json": external["swagger.yml"]["components"]["schemas"]["Error"];
3655
+ };
3656
+ };
3657
+ /** Too many requests in allowed time period */
3658
+ RateLimitError: unknown;
3659
+ /** Execution error occurred */
3660
+ InternalServerError: unknown;
3661
+ };
3662
+ };
3663
+ operations: {};
3664
+ };
3665
+ "uniform-canvas-types.swagger.yml": {
3666
+ paths: {};
3667
+ components: {
3668
+ schemas: {
3669
+ /** @description Public ID (used in code). Do not change after creation. */
3670
+ PublicIdProperty: string;
3671
+ /** @description The definition of a component parameter */
3672
+ ComponentDefinitionParameter: {
3673
+ id: external["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["PublicIdProperty"];
3674
+ /** @description Friendly name of the parameter */
3675
+ name: string;
3676
+ /** @description Appears next to the parameter in the Composition editor */
3677
+ helpText?: string;
3678
+ /** @description Type name of the parameter (provided by a Uniform integration) */
3679
+ type: string;
3680
+ /** @description The configuration object for the type (type-specific) */
3681
+ typeConfig?: unknown;
3682
+ };
3683
+ /** @description The definition of a named component slot that can contain other components */
3684
+ ComponentDefinitionSlot: {
3685
+ id: external["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["PublicIdProperty"];
3686
+ /** @description Friendly name of the slot */
3687
+ name: string;
3688
+ /** @description A list of component definition public IDs that are allowed in this named slot */
3689
+ allowedComponents: string[];
3690
+ /**
3691
+ * @description Whether this slot inherits its allowed components from the parent slot it lives in. If true, allowedComponents is irrelevant.
3692
+ * @default false
3693
+ */
3694
+ inheritAllowedComponents: boolean;
3695
+ /** @description Minimum valid number of components in this slot */
3696
+ minComponents?: number;
3697
+ /** @description Maximum valid number of components in this slot */
3698
+ maxComponents?: number;
3699
+ };
3700
+ /** @description The definition of a composition's slug settings */
3701
+ ComponentDefinitionSlugSettings: {
3702
+ /**
3703
+ * @description Whether the slug is required
3704
+ * no: slug is optional
3705
+ * yes: slug is required
3706
+ * disabled: slug is disabled and will not be shown in the editor
3707
+ *
3708
+ * @default no
3709
+ * @enum {string}
3710
+ */
3711
+ required?: "no" | "yes" | "disabled";
3712
+ /**
3713
+ * @description Slug uniqueness configuration.
3714
+ * no = no unique constraint
3715
+ * local = must be unique within this component type
3716
+ * global = must be unique across all component types
3717
+ *
3718
+ * @enum {string}
3719
+ */
3720
+ unique?: "no" | "local" | "global";
3721
+ /** @description Regular expression slugs must match */
3722
+ regularExpression?: string;
3723
+ /**
3724
+ * @description Custom error message when regular expression validation fails.
3725
+ * Has no effect if `regularExpression` is not set.
3726
+ */
3727
+ regularExpressionMessage?: string;
3728
+ };
3729
+ /** @description The definition of a component variant */
3730
+ ComponentDefinitionVariant: {
3731
+ id: external["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["PublicIdProperty"];
3732
+ /** @description Friendly name of the variant */
3733
+ name: string;
3734
+ };
3735
+ /** @description Permission set for a component defintion */
3736
+ ComponentDefinitionPermission: {
3737
+ roleId: external["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["PublicIdProperty"];
3738
+ /**
3739
+ * @description Permission type for this permission ComponentDefinition:
3740
+ * read | write | create | delete
3741
+ *
3742
+ * @enum {string}
3743
+ */
3744
+ permission: "read" | "write" | "create" | "delete";
3745
+ /** @description State of the component that this permission applies to */
3746
+ state: number;
3747
+ };
3748
+ /** @description Defines a component type that can live on a Composition */
3749
+ ComponentDefinition: {
3750
+ id: external["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["PublicIdProperty"];
3751
+ /** @description Friendly name of the component definition */
3752
+ name: string;
3753
+ /**
3754
+ * @description Icon name or URL for the component definition (e.g. 'screen' or 'https://s3/my-component.jpg')
3755
+ * @default screen
3756
+ */
3757
+ icon?: string;
3758
+ /**
3759
+ * @description The public ID of the parameter whose value should be used to create a display title for this component in the UI.
3760
+ * The parameter type must support being used as a title parameter for this to work.
3761
+ */
3762
+ titleParameter?: string | null;
3763
+ /**
3764
+ * @description Whether this component type can be the root of a composition. If false, this component is only used within slots on other components.
3765
+ * @default false
3766
+ */
3767
+ canBeComposition?: boolean;
3768
+ /** @description The parameters for this component. Parameters are key-value pairs that can be anything from text values to links to CMS entries. */
3769
+ parameters?: external["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentDefinitionParameter"][];
3770
+ /**
3771
+ * @description if this component uses team permissions or custom permissions
3772
+ * @default true
3773
+ */
3774
+ useTeamPermissions?: boolean;
3775
+ /** @description Custom role permissions for this component definition */
3776
+ permissions?: external["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentDefinitionPermission"][];
3777
+ /** @description The named slots for this component; placement areas where arrays of other components can be added. */
3778
+ slots?: external["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentDefinitionSlot"][];
3779
+ slugSettings?: external["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentDefinitionSlugSettings"];
3780
+ /** @description Default component instance value */
3781
+ defaults?: external["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentInstance"] | null;
3782
+ /** @description Named variants for this component; enables creation of visual variants that use the same parameter data */
3783
+ variants?: external["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentDefinitionVariant"][];
3784
+ /** @description Created date string for this definition (ignored for writes) */
3785
+ created?: string;
3786
+ /** @description Last modified date string for this definition (ignored for writes) */
3787
+ updated?: string;
3788
+ };
3789
+ /** @description Defines an editable parameter on a component. */
3790
+ ComponentParameter: {
3791
+ /** @description The value of the parameter. Any JSON-serializable value is acceptable. */
3792
+ value: unknown;
3793
+ /** @description The type of the parameter. Determines how it is displayed when editing, and tells the consumer how to process it. */
3794
+ type: string;
3795
+ connectedData?: external["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["DataElementConnectionDefinition"];
3796
+ };
3797
+ /**
3798
+ * @deprecated
3799
+ * @description Defines a connection to a data element on a data resource. Do not use.
3800
+ */
3801
+ DataElementConnectionDefinition: {
3802
+ /** @description A JSON Pointer expression that defines the data element to connect the parameter to. */
3803
+ pointer: string;
3804
+ /**
3805
+ * @description The syntax used to select the data element to bind to
3806
+ * @enum {string}
3807
+ */
3808
+ syntax: "jptr";
3809
+ /**
3810
+ * @description Whether an error should occur if the connected data element cannot be resolved (i.e. a missing property in the data resource).
3811
+ * In all cases the binding process will remove the parameter data for the unresolvable data element.
3812
+ * When this is true, and the data element failed to bind, the warning entry returned from the binding process will be changed to an error entry.
3813
+ *
3814
+ * @default false
3815
+ */
3816
+ required?: boolean;
3817
+ };
3818
+ /** @description Defines the shape of a component instance served by the composition API. */
3819
+ ComponentInstance: {
3820
+ /** @description Type of the component instance (public_id of its definition) */
3821
+ type: string;
3822
+ /** @description Component parameter values for the component instance */
3823
+ parameters?: {
3824
+ [key: string]: external["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentParameter"];
3825
+ };
3826
+ /** @description Public ID of alternate visual appearance for this component, if any selected */
3827
+ variant?: string;
3828
+ /** @description Slots containing any child components */
3829
+ slots?: {
3830
+ [key: string]: external["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentInstance"][];
3831
+ };
3832
+ /** @description Unique identifier of the component within the composition. This is not set unless specifically requested via `withComponentIDs` API parameter. */
3833
+ _id?: string;
3834
+ /** @description Indicates this component instance should be sourced from a pattern library pattern. */
3835
+ _pattern?: string;
3836
+ _dataResources?: external["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["DataResourceDefinitions"];
3837
+ /**
3838
+ * @deprecated
3839
+ * @description Data definitions coming from a pattern resolved for this component. Merged with _data during resolution.
3840
+ * Means nothing for PUTs; it will be ignored.
3841
+ */
3842
+ _patternDataResources?: {
3843
+ [key: string]: external["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["DataResourceDefinition"];
3844
+ };
3845
+ /**
3846
+ * @description Describes why the pattern could not be resolved, if a pattern could not be resolved. For PUTs, this is allowed but ignored.
3847
+ * CYCLIC: A cyclic pattern graph was detected, which could not be resolved because it would cause an infinite loop.
3848
+ * NOTFOUND: The pattern ID referenced could not be found. It may have been deleted, or not be published yet.
3849
+ * Means nothing for PUTs; it will be ignored.
3850
+ *
3851
+ * @enum {string}
3852
+ */
3853
+ _patternError?: "NOTFOUND" | "CYCLIC";
3854
+ };
3855
+ /** @description Defines the shape of the root component in a composition */
3856
+ RootComponentInstance: {
3857
+ /** @description Type of the component instance (public_id of its definition) */
3858
+ type: string;
3859
+ /** @description Component parameter values for the component instance */
3860
+ parameters?: {
3861
+ [key: string]: external["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentParameter"];
3862
+ };
3863
+ /** @description Public ID of alternate visual appearance for this component, if any selected */
3864
+ variant?: string;
3865
+ /** @description Project map nodes associated with this component. Must pass withProjectMapNodes parameter to be populated. */
3866
+ projectMapNodes?: external["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["CompositionProjectMapNodeInfo"][];
3867
+ /** @description Slots containing any child components */
3868
+ slots?: {
3869
+ [key: string]: external["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["ComponentInstance"][];
3870
+ };
3871
+ /** @description The public UUID of the composition. */
3872
+ _id: string;
3873
+ /** @description Slug pattern of this component. */
3874
+ _slug?: string | null;
3875
+ /** @description Friendly name of this component. */
3876
+ _name: string;
3877
+ _dataResources?: external["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["DataResourceDefinitions"];
3878
+ };
3879
+ /**
3880
+ * @deprecated
3881
+ * @description An instance of a data source (i.e. "Master environment of the stable space", "Yelp API", "Sanity dev dataset").
3882
+ * These are created in the UI and shared across a whole project.
3883
+ * NOTE: if you acquire a list of data sources or do not have manage permissions, you will receive "SECRET"
3884
+ * for all header, parameter, and variable values to obscure the actual encrypted secret value.
3885
+ */
3886
+ DataSource: {
3887
+ /** @description Public ID of the data source */
3888
+ id: string;
3889
+ /** @description Display name of the data source */
3890
+ displayName: string;
3891
+ /** @description The type of data connector this connects to (e.g. 'cms-items', provided by an intalled integration) */
3892
+ connectorType: string;
3893
+ /** @description Base resource URL of the data source. No trailing slash. */
3894
+ baseUrl: string;
3895
+ /** @description HTTP headers to pass with requests to the data source */
3896
+ headers?: {
3897
+ key: string;
3898
+ value: string;
3899
+ }[];
3900
+ /** @description Query String parameters to pass with requests to the data type. Merged with parameters from the data source, overriding identical keys. */
3901
+ parameters?: {
3902
+ key: string;
3903
+ value: string;
3904
+ }[];
3905
+ /** @description Variables needed to make calls to the data source */
3906
+ variables?: {
3907
+ [key: string]: external["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["DataVariableDefinition"];
3908
+ };
3909
+ /** @description Custom configuration specific to the data source being defined (used to maintain UI state for custom integrations) */
3910
+ custom?: {
3911
+ [key: string]: unknown;
3912
+ };
3913
+ };
3914
+ /**
3915
+ * @deprecated
3916
+ * @description A specific type of data that a Data Source can provide (i.e. "Recipe", "Recipes List by Tag", "Yelp Reviews of My Restaurant"). These are created in the UI and shared a whole project.
3917
+ */
3918
+ DataType: {
3919
+ /** @description Public ID of the data type */
3920
+ id: string;
3921
+ /** @description Display name of the data type */
3922
+ displayName: string;
3923
+ /** @description Public ID of the associated data source */
3924
+ dataSourceId: string;
3925
+ /**
3926
+ * @description A connector-specific archetype for this data type; used to select UI as well as perform any
3927
+ * necessary post-processing on the response. e.g. 'cms-entry', 'cms-query'. Can be undefined if
3928
+ * no special UI or processing is required.
3929
+ */
3930
+ archetype?: string;
3931
+ allowedOnComponents?: string[];
3932
+ /** @description Resource path, appended to the data source's baseUrl (e.g. baseUrl = https://base.url, path = /v1/endpoint -> final URL https://base.url/v1/endpoint). Must have leading slash. */
3933
+ path: string;
3934
+ /** @description Time-to-live (in seconds) for the primary resource data cache. */
3935
+ ttl?: number;
3936
+ /** @description Long term data resource cache configuration. */
3937
+ longTermCache?: {
3938
+ /** @description A flag to turn the long term cache on. */
3939
+ enabled: boolean;
3940
+ /** @description Time-to-live (in hours) for the long term resource data cache. */
3941
+ ttlInHours?: number;
3942
+ };
3943
+ /** @description A key for the resource data cache purging. */
3944
+ purgeKey?: string;
3945
+ /** @description URL to a custom badge icon for the Uniform dashboard for this data type. If not set falls back to the data connector or integration icons. */
3946
+ badgeIconUrl?: string;
3947
+ /** @description HTTP headers to pass with requests to the data type. Merged with headers from the data source, overriding identical keys. */
3948
+ headers?: {
3949
+ key: string;
3950
+ value: string;
3951
+ }[];
3952
+ /** @description Query String parameters to pass with requests to the data type. Merged with parameters from the data source, overriding identical keys. */
3953
+ parameters?: {
3954
+ key: string;
3955
+ value: string;
3956
+ }[];
3957
+ /** @description Body to pass with requests to the data type (ignored unless method is POST) */
3958
+ body?: string;
3959
+ /**
3960
+ * @description HTTP method to use with requests to the data type.
3961
+ * @default GET
3962
+ * @enum {string}
3963
+ */
3964
+ method: "GET" | "POST" | "HEAD";
3965
+ /** @description Variables needed to make calls to the data type. Merged with variables from the data source, overriding identical keys. */
3966
+ variables?: {
3967
+ [key: string]: external["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["DataVariableDefinition"];
3968
+ };
3969
+ /** @description Custom configuration specific to the data source being defined */
3970
+ custom?: {
3971
+ [key: string]: unknown;
3972
+ };
3973
+ };
3974
+ /**
3975
+ * @deprecated
3976
+ * @description Defines the shape of a data variable on a Data Source or Data Type
3977
+ */
3978
+ DataVariableDefinition: {
3979
+ /** @description Display name of the data variable */
3980
+ displayName?: string;
3981
+ /** @description Explanatory text that is provided to the data resource editor to explain what this variable does. */
3982
+ helpText?: string;
3983
+ /**
3984
+ * @description Type of the data variable. Optionally used as a point of reference for custom integrations to decide how to render an editor for a variable.
3985
+ * @default text
3986
+ */
3987
+ type?: string;
3988
+ /** @description Default value of the data variable */
3989
+ default: string;
3990
+ /** @description Sets the order of the variable when displayed in a list with other variables. If not set, the order defaults to alphabetical with any explicitly set orders first in the list. */
3991
+ order?: number;
3992
+ };
3993
+ /**
3994
+ * @deprecated
3995
+ * @description Data definitions attached to this component. The property name is the key of the data in the data document.
3996
+ * Note: data definitions are inherited from ancestors at runtime (and may be overridden by descendants that use the same key).
3997
+ */
3998
+ DataResourceDefinitions: {
3999
+ [key: string]: external["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["DataResourceDefinition"];
4000
+ };
4001
+ /**
4002
+ * @deprecated
4003
+ * @description Defines a data resource, which is a named JSON document, usually from an API response, which may be projected onto parameters
4004
+ */
4005
+ DataResourceDefinition: {
4006
+ /** @description Public ID of the data type that provides this data */
4007
+ type: string;
4008
+ /** @description Whether this data is a pattern parameter that has to be overridden when a pattern is referenced on another composition. If this is not a pattern composition, this has no meaning and should not be used. If unspecified, the default is false. */
4009
+ isPatternParameter?: boolean;
4010
+ variables?: external["uniform-canvas-types.swagger.yml"]["components"]["schemas"]["DataResourceVariables"];
4011
+ };
4012
+ /**
4013
+ * @deprecated
4014
+ * @description Variable values for a data resource.
4015
+ */
4016
+ DataResourceVariables: {
4017
+ [key: string]: string;
4018
+ };
4019
+ /** @description Project map node information related to a component. */
4020
+ CompositionProjectMapNodeInfo: {
4021
+ /**
4022
+ * Format: uuid
4023
+ * @description Unique identifier for the project map node
4024
+ */
4025
+ id: string;
4026
+ /** @description Path of the project map node */
4027
+ path: string;
4028
+ /**
4029
+ * Format: uuid
4030
+ * @description Unique identifier for the project map that this node belongs to.
4031
+ */
4032
+ projectMapId: string;
4033
+ };
4034
+ };
4035
+ };
4036
+ operations: {};
4037
+ };
4038
+ }
4039
+
4040
+ type DataTypeApi = paths['/api/v1/data-types'];
4041
+ type DataSourcesApi = paths$1['/api/v1/data-sources'];
4042
+ type DataSourceApi = paths$2['/api/v1/data-source'];
4043
+ /** Query parameter options for GET /api/v1/data-types */
4044
+ type DataTypeGetParameters = DataTypeApi['get']['parameters']['query'];
4045
+ /** The GET response from /api/v1/data-types */
4046
+ type DataTypeGetResponse = DataTypeApi['get']['responses']['200']['content']['application/json'];
4047
+ /** The PUT request body for /api/v1/data-types */
4048
+ type DataTypePutParameters = DataTypeApi['put']['requestBody']['content']['application/json'];
4049
+ /** Shape of the DELETE request body for /api/v1/data-types */
4050
+ type DataTypeDeleteParameters = DataTypeApi['delete']['requestBody']['content']['application/json'];
4051
+ /** Query parameter options for GET /api/v1/data-source */
4052
+ type DataSourceGetParameters = DataSourceApi['get']['parameters']['query'];
4053
+ /** Query parameter options for GET /api/v1/data-sources */
4054
+ type DataSourcesGetParameters = DataSourcesApi['get']['parameters']['query'];
4055
+ /** The GET response from /api/v1/data-sources */
4056
+ type DataSourceGetResponse = DataSourceApi['get']['responses']['200']['content']['application/json'];
4057
+ /** The GET response from /api/v1/data-sources */
4058
+ type DataSourcesGetResponse = DataSourcesApi['get']['responses']['200']['content']['application/json'];
4059
+ /** The PUT request body for /api/v1/data-source */
4060
+ type DataSourcePutParameters = DataSourceApi['put']['requestBody']['content']['application/json'];
4061
+ /** Shape of the DELETE request body for /api/v1/data-source */
4062
+ type DataSourceDeleteParameters = DataSourceApi['delete']['requestBody']['content']['application/json'];
4063
+ type DataType = components$2['schemas']['DataType'];
4064
+ type DataSource = components$2['schemas']['DataSource'];
4065
+ type DataVariableDefinition = components$2['schemas']['DataVariableDefinition'];
4066
+
4067
+ /**
4068
+ * Pusher-js is large (80k) and not tree shakable so it is always bundled if directly referenced,
4069
+ * when it's only needed during preview mode. To avoid bundling it for all, we use an old-school
4070
+ * write-a-script-tag hack to load it in a poor man's approximation of a dynamic import ;)
4071
+ */
4072
+ type ChannelSubscription = {
4073
+ addEventHandler: (eventName: string, handler: (data: unknown) => void) => () => void;
4074
+ unsubscribe: () => void;
4075
+ };
4076
+ type PreviewEventBus = {
4077
+ subscribe: (channel: string) => ChannelSubscription;
4078
+ };
4079
+ declare global {
4080
+ interface Window {
4081
+ Pusher?: typeof Pusher;
4082
+ __UNIFORM_EVENT_BUS__?: PreviewEventBus;
4083
+ }
4084
+ }
4085
+ /**
4086
+ * Creates an event bus client to receive updates from Canvas
4087
+ * IMPORTANT: in a server-side context this will always return undefined
4088
+ * IMPORTANT: in a browser context this is cached in window and does not create multiple instances
4089
+ */
4090
+ declare function createEventBus(): Promise<PreviewEventBus | undefined>;
4091
+
4092
+ export { DataResourceDefinitions as $, ChannelSubscription as A, createEventBus as B, CompositionGetParameters as C, DataResolutionOptionNegative as D, ComponentDefinitionGetResponse as E, ComponentDefinitionAPIResponse as F, ComponentDefinitionAPIPutRequest as G, ComponentDefinitionAPIDeleteRequest as H, ComponentDefinitionListAPIOptions as I, ComponentDefinitionParameter as J, ComponentDefinitionVariant as K, ComponentDefinitionSlugSettings as L, ComponentDefinitionSlot as M, ComponentDefinitionPermission as N, ComponentDefinition as O, PreviewEventBus as P, CreatingComponentDefinition as Q, RootComponentInstance as R, CompositionGetOrderBy as S, CompositionUIStatus as T, CompositionGetListResponse as U, CompositionAPIResponse as V, CompositionAPIDeleteRequest as W, CompositionListAPIResponse as X, CompositionAPIOptions as Y, DataElementConnectionDefinition as Z, DataResourceVariables as _, CompositionGetByNodePathParameters as a, DataResourceDefinition as a0, CanvasDefinitions as a1, CompositionIssue as a2, CompositionPatternIssue as a3, DataElementBindingIssue as a4, DataResourceIssue as a5, DataResourceVariableIssue as a6, DataResolutionConfigIssue as a7, CompositionDataDiagnostic as a8, DataSourceGetResponse as a9, DataSourcesGetResponse as aa, DataType as ab, DataSource as ac, DataVariableDefinition as ad, CompositionGetResponse as b, DataResolutionOptionPositive as c, DataResolutionParameters as d, CompositionResolvedGetResponse as e, CompositionGetValidResponses as f, DataResolutionOption as g, CompositionGetByNodeIdParameters as h, CompositionGetBySlugParameters as i, CompositionGetByIdParameters as j, CompositionPutParameters as k, CompositionDeleteParameters as l, ComponentDefinitionGetParameters as m, ComponentDefinitionPutParameters as n, ComponentDefinitionDeleteParameters as o, ComponentInstance as p, ComponentParameter as q, components as r, DataSourceGetParameters as s, DataSourcesGetParameters as t, DataSourcePutParameters as u, DataSourceDeleteParameters as v, DataTypeGetParameters as w, DataTypeGetResponse as x, DataTypePutParameters as y, DataTypeDeleteParameters as z };