@crewai-ts/core 0.1.2 → 0.1.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.
- package/dist/a2a.d.ts +1684 -0
- package/dist/a2ui-schemas.d.ts +3312 -0
- package/dist/a2ui.d.ts +379 -0
- package/dist/agent-adapters.d.ts +178 -0
- package/dist/agent-executors.d.ts +508 -0
- package/dist/agent-parser.d.ts +44 -0
- package/dist/agent-planning.d.ts +358 -0
- package/dist/agent-utils.d.ts +210 -0
- package/dist/agent.d.ts +444 -0
- package/dist/auth.d.ts +179 -0
- package/dist/config-utils.d.ts +5 -0
- package/dist/content-processor.d.ts +12 -0
- package/dist/context.d.ts +157 -0
- package/dist/converter.d.ts +97 -0
- package/dist/crew-chat.d.ts +97 -0
- package/dist/crew.d.ts +424 -0
- package/dist/decorators.d.ts +20 -0
- package/dist/env.d.ts +13 -0
- package/dist/errors.d.ts +27 -0
- package/dist/evaluators.d.ts +477 -0
- package/dist/events.d.ts +2657 -0
- package/dist/execution-utils.d.ts +85 -0
- package/dist/experimental-conversational.d.ts +181 -0
- package/dist/file-handler.d.ts +36 -0
- package/dist/file-store.d.ts +37 -0
- package/dist/files.d.ts +554 -0
- package/dist/flow-conversation.d.ts +90 -0
- package/dist/flow-definition.d.ts +195 -0
- package/dist/flow-persistence.d.ts +107 -0
- package/dist/flow-visualization.d.ts +77 -0
- package/dist/flow.d.ts +927 -0
- package/dist/formatter.d.ts +7 -0
- package/dist/guardrail.d.ts +95 -0
- package/dist/hooks.d.ts +241 -0
- package/dist/human-input.d.ts +74 -0
- package/dist/i18n.d.ts +26 -0
- package/dist/index.cjs +83 -36
- package/dist/index.d.ts +99 -13004
- package/dist/index.js +82 -36
- package/dist/input-files.d.ts +24 -0
- package/dist/input-provider.d.ts +22 -0
- package/dist/knowledge.d.ts +353 -0
- package/dist/lite-agent-output.d.ts +69 -0
- package/dist/lite-agent.d.ts +154 -0
- package/dist/llm.d.ts +630 -0
- package/dist/llms-hooks-transport.d.ts +1 -2
- package/dist/lock-store.d.ts +14 -0
- package/dist/logger.d.ts +55 -0
- package/dist/mcp.d.ts +315 -0
- package/dist/memory.d.ts +915 -0
- package/dist/metadata.d.ts +9 -0
- package/dist/misc-compat.d.ts +125 -0
- package/dist/openai-completion.d.ts +324 -0
- package/dist/outputs.d.ts +69 -0
- package/dist/planning.d.ts +60 -0
- package/dist/plus-api.d.ts +194 -0
- package/dist/project-compat.d.ts +133 -0
- package/dist/project.d.ts +221 -0
- package/dist/prompts.d.ts +66 -0
- package/dist/provider-completions.d.ts +593 -0
- package/dist/rag.d.ts +1074 -0
- package/dist/rpm.d.ts +27 -0
- package/dist/rw-lock.d.ts +21 -0
- package/dist/schema-utils.d.ts +121 -0
- package/dist/security.d.ts +66 -0
- package/dist/settings.d.ts +103 -0
- package/dist/skills.d.ts +145 -0
- package/dist/state-provider-core.d.ts +1 -1
- package/dist/state.d.ts +204 -0
- package/dist/step-execution-context.d.ts +36 -0
- package/dist/streaming.d.ts +153 -0
- package/dist/string-utils.d.ts +12 -0
- package/dist/task-output-storage.d.ts +62 -0
- package/dist/task.d.ts +305 -0
- package/dist/telemetry.d.ts +91 -0
- package/dist/token-counter-callback.d.ts +36 -0
- package/dist/tools.d.ts +563 -0
- package/dist/tracing-utils.d.ts +56 -0
- package/dist/training-converter.d.ts +36 -0
- package/dist/training-handler.d.ts +10 -0
- package/dist/types.d.ts +72 -0
- package/dist/utilities.d.ts +130 -0
- package/dist/utility-types.d.ts +10 -0
- package/dist/version.d.ts +12 -0
- package/package.json +326 -4904
- package/dist/index.d.cts +0 -13068
- package/dist/llms-hooks-transport-ChGiFBiU.d.ts +0 -233
- package/dist/llms-hooks-transport-DZlurMUQ.d.cts +0 -233
- package/dist/llms-hooks-transport.d.cts +0 -2
- package/dist/state-provider-core-Be9RKRAm.d.cts +0 -4876
- package/dist/state-provider-core-Be9RKRAm.d.ts +0 -4876
- package/dist/state-provider-core.d.cts +0 -1
|
@@ -0,0 +1,3312 @@
|
|
|
1
|
+
export declare const A2UI_SCHEMAS: {
|
|
2
|
+
readonly "v0.8": {
|
|
3
|
+
readonly server_to_client: {
|
|
4
|
+
readonly title: "A2UI Message Schema";
|
|
5
|
+
readonly description: "Describes a JSON payload for an A2UI (Agent to UI) message, which is used to dynamically construct and update user interfaces. A message MUST contain exactly ONE of the action properties: 'beginRendering', 'surfaceUpdate', 'dataModelUpdate', or 'deleteSurface'.";
|
|
6
|
+
readonly type: "object";
|
|
7
|
+
readonly additionalProperties: false;
|
|
8
|
+
readonly properties: {
|
|
9
|
+
readonly beginRendering: {
|
|
10
|
+
readonly type: "object";
|
|
11
|
+
readonly description: "Signals the client to begin rendering a surface with a root component and specific styles.";
|
|
12
|
+
readonly additionalProperties: false;
|
|
13
|
+
readonly properties: {
|
|
14
|
+
readonly surfaceId: {
|
|
15
|
+
readonly type: "string";
|
|
16
|
+
readonly description: "The unique identifier for the UI surface to be rendered.";
|
|
17
|
+
};
|
|
18
|
+
readonly catalogId: {
|
|
19
|
+
readonly type: "string";
|
|
20
|
+
readonly description: "The identifier of the component catalog to use for this surface. If omitted, the client MUST default to the standard catalog for this A2UI version (https://a2ui.org/specification/v0_8/standard_catalog_definition.json).";
|
|
21
|
+
};
|
|
22
|
+
readonly root: {
|
|
23
|
+
readonly type: "string";
|
|
24
|
+
readonly description: "The ID of the root component to render.";
|
|
25
|
+
};
|
|
26
|
+
readonly styles: {
|
|
27
|
+
readonly type: "object";
|
|
28
|
+
readonly description: "Styling information for the UI.";
|
|
29
|
+
readonly additionalProperties: true;
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
readonly required: readonly ["root", "surfaceId"];
|
|
33
|
+
};
|
|
34
|
+
readonly surfaceUpdate: {
|
|
35
|
+
readonly type: "object";
|
|
36
|
+
readonly description: "Updates a surface with a new set of components.";
|
|
37
|
+
readonly additionalProperties: false;
|
|
38
|
+
readonly properties: {
|
|
39
|
+
readonly surfaceId: {
|
|
40
|
+
readonly type: "string";
|
|
41
|
+
readonly description: "The unique identifier for the UI surface to be updated. If you are adding a new surface this *must* be a new, unique identified that has never been used for any existing surfaces shown.";
|
|
42
|
+
};
|
|
43
|
+
readonly components: {
|
|
44
|
+
readonly type: "array";
|
|
45
|
+
readonly description: "A list containing all UI components for the surface.";
|
|
46
|
+
readonly minItems: 1;
|
|
47
|
+
readonly items: {
|
|
48
|
+
readonly type: "object";
|
|
49
|
+
readonly description: "Represents a *single* component in a UI widget tree. This component could be one of many supported types.";
|
|
50
|
+
readonly additionalProperties: false;
|
|
51
|
+
readonly properties: {
|
|
52
|
+
readonly id: {
|
|
53
|
+
readonly type: "string";
|
|
54
|
+
readonly description: "The unique identifier for this component.";
|
|
55
|
+
};
|
|
56
|
+
readonly weight: {
|
|
57
|
+
readonly type: "number";
|
|
58
|
+
readonly description: "The relative weight of this component within a Row or Column. This corresponds to the CSS 'flex-grow' property. Note: this may ONLY be set when the component is a direct descendant of a Row or Column.";
|
|
59
|
+
};
|
|
60
|
+
readonly component: {
|
|
61
|
+
readonly type: "object";
|
|
62
|
+
readonly description: "A wrapper object that MUST contain exactly one key, which is the name of the component type. The value is an object containing the properties for that specific component.";
|
|
63
|
+
readonly additionalProperties: true;
|
|
64
|
+
};
|
|
65
|
+
};
|
|
66
|
+
readonly required: readonly ["id", "component"];
|
|
67
|
+
};
|
|
68
|
+
};
|
|
69
|
+
};
|
|
70
|
+
readonly required: readonly ["surfaceId", "components"];
|
|
71
|
+
};
|
|
72
|
+
readonly dataModelUpdate: {
|
|
73
|
+
readonly type: "object";
|
|
74
|
+
readonly description: "Updates the data model for a surface.";
|
|
75
|
+
readonly additionalProperties: false;
|
|
76
|
+
readonly properties: {
|
|
77
|
+
readonly surfaceId: {
|
|
78
|
+
readonly type: "string";
|
|
79
|
+
readonly description: "The unique identifier for the UI surface this data model update applies to.";
|
|
80
|
+
};
|
|
81
|
+
readonly path: {
|
|
82
|
+
readonly type: "string";
|
|
83
|
+
readonly description: "An optional path to a location within the data model (e.g., '/user/name'). If omitted, or set to '/', the entire data model will be replaced.";
|
|
84
|
+
};
|
|
85
|
+
readonly contents: {
|
|
86
|
+
readonly type: "array";
|
|
87
|
+
readonly description: "An array of data entries. Each entry must contain a 'key' and exactly one corresponding typed 'value*' property.";
|
|
88
|
+
readonly items: {
|
|
89
|
+
readonly type: "object";
|
|
90
|
+
readonly description: "A single data entry. Exactly one 'value*' property should be provided alongside the key.";
|
|
91
|
+
readonly additionalProperties: false;
|
|
92
|
+
readonly properties: {
|
|
93
|
+
readonly key: {
|
|
94
|
+
readonly type: "string";
|
|
95
|
+
readonly description: "The key for this data entry.";
|
|
96
|
+
};
|
|
97
|
+
readonly valueString: {
|
|
98
|
+
readonly type: "string";
|
|
99
|
+
};
|
|
100
|
+
readonly valueNumber: {
|
|
101
|
+
readonly type: "number";
|
|
102
|
+
};
|
|
103
|
+
readonly valueBoolean: {
|
|
104
|
+
readonly type: "boolean";
|
|
105
|
+
};
|
|
106
|
+
readonly valueMap: {
|
|
107
|
+
readonly description: "Represents a map as an adjacency list.";
|
|
108
|
+
readonly type: "array";
|
|
109
|
+
readonly items: {
|
|
110
|
+
readonly type: "object";
|
|
111
|
+
readonly description: "One entry in the map. Exactly one 'value*' property should be provided alongside the key.";
|
|
112
|
+
readonly additionalProperties: false;
|
|
113
|
+
readonly properties: {
|
|
114
|
+
readonly key: {
|
|
115
|
+
readonly type: "string";
|
|
116
|
+
};
|
|
117
|
+
readonly valueString: {
|
|
118
|
+
readonly type: "string";
|
|
119
|
+
};
|
|
120
|
+
readonly valueNumber: {
|
|
121
|
+
readonly type: "number";
|
|
122
|
+
};
|
|
123
|
+
readonly valueBoolean: {
|
|
124
|
+
readonly type: "boolean";
|
|
125
|
+
};
|
|
126
|
+
};
|
|
127
|
+
readonly required: readonly ["key"];
|
|
128
|
+
};
|
|
129
|
+
};
|
|
130
|
+
};
|
|
131
|
+
readonly required: readonly ["key"];
|
|
132
|
+
};
|
|
133
|
+
};
|
|
134
|
+
};
|
|
135
|
+
readonly required: readonly ["contents", "surfaceId"];
|
|
136
|
+
};
|
|
137
|
+
readonly deleteSurface: {
|
|
138
|
+
readonly type: "object";
|
|
139
|
+
readonly description: "Signals the client to delete the surface identified by 'surfaceId'.";
|
|
140
|
+
readonly additionalProperties: false;
|
|
141
|
+
readonly properties: {
|
|
142
|
+
readonly surfaceId: {
|
|
143
|
+
readonly type: "string";
|
|
144
|
+
readonly description: "The unique identifier for the UI surface to be deleted.";
|
|
145
|
+
};
|
|
146
|
+
};
|
|
147
|
+
readonly required: readonly ["surfaceId"];
|
|
148
|
+
};
|
|
149
|
+
};
|
|
150
|
+
};
|
|
151
|
+
readonly client_to_server: {
|
|
152
|
+
readonly title: "A2UI (Agent to UI) Client-to-Server Event Schema";
|
|
153
|
+
readonly description: "Describes a JSON payload for a client-to-server event message.";
|
|
154
|
+
readonly type: "object";
|
|
155
|
+
readonly minProperties: 1;
|
|
156
|
+
readonly maxProperties: 1;
|
|
157
|
+
readonly properties: {
|
|
158
|
+
readonly userAction: {
|
|
159
|
+
readonly type: "object";
|
|
160
|
+
readonly description: "Reports a user-initiated action from a component.";
|
|
161
|
+
readonly properties: {
|
|
162
|
+
readonly name: {
|
|
163
|
+
readonly type: "string";
|
|
164
|
+
readonly description: "The name of the action, taken from the component's action.name property.";
|
|
165
|
+
};
|
|
166
|
+
readonly surfaceId: {
|
|
167
|
+
readonly type: "string";
|
|
168
|
+
readonly description: "The id of the surface where the event originated.";
|
|
169
|
+
};
|
|
170
|
+
readonly sourceComponentId: {
|
|
171
|
+
readonly type: "string";
|
|
172
|
+
readonly description: "The id of the component that triggered the event.";
|
|
173
|
+
};
|
|
174
|
+
readonly timestamp: {
|
|
175
|
+
readonly type: "string";
|
|
176
|
+
readonly format: "date-time";
|
|
177
|
+
readonly description: "An ISO 8601 timestamp of when the event occurred.";
|
|
178
|
+
};
|
|
179
|
+
readonly context: {
|
|
180
|
+
readonly type: "object";
|
|
181
|
+
readonly description: "A JSON object containing the key-value pairs from the component's action.context, after resolving all data bindings.";
|
|
182
|
+
readonly additionalProperties: true;
|
|
183
|
+
};
|
|
184
|
+
};
|
|
185
|
+
readonly required: readonly ["name", "surfaceId", "sourceComponentId", "timestamp", "context"];
|
|
186
|
+
};
|
|
187
|
+
readonly error: {
|
|
188
|
+
readonly type: "object";
|
|
189
|
+
readonly description: "Reports a client-side error. The content is flexible.";
|
|
190
|
+
readonly additionalProperties: true;
|
|
191
|
+
};
|
|
192
|
+
};
|
|
193
|
+
readonly oneOf: readonly [{
|
|
194
|
+
readonly required: readonly ["userAction"];
|
|
195
|
+
}, {
|
|
196
|
+
readonly required: readonly ["error"];
|
|
197
|
+
}];
|
|
198
|
+
};
|
|
199
|
+
readonly standard_catalog_definition: {
|
|
200
|
+
readonly components: {
|
|
201
|
+
readonly Text: {
|
|
202
|
+
readonly type: "object";
|
|
203
|
+
readonly additionalProperties: false;
|
|
204
|
+
readonly properties: {
|
|
205
|
+
readonly text: {
|
|
206
|
+
readonly type: "object";
|
|
207
|
+
readonly description: "The text content to display. This can be a literal string or a reference to a value in the data model ('path', e.g., '/doc/title'). While simple Markdown formatting is supported (i.e. without HTML, images, or links), utilizing dedicated UI components is generally preferred for a richer and more structured presentation.";
|
|
208
|
+
readonly additionalProperties: false;
|
|
209
|
+
readonly properties: {
|
|
210
|
+
readonly literalString: {
|
|
211
|
+
readonly type: "string";
|
|
212
|
+
};
|
|
213
|
+
readonly path: {
|
|
214
|
+
readonly type: "string";
|
|
215
|
+
};
|
|
216
|
+
};
|
|
217
|
+
};
|
|
218
|
+
readonly usageHint: {
|
|
219
|
+
readonly type: "string";
|
|
220
|
+
readonly description: "A hint for the base text style.";
|
|
221
|
+
readonly enum: readonly ["h1", "h2", "h3", "h4", "h5", "caption", "body"];
|
|
222
|
+
};
|
|
223
|
+
};
|
|
224
|
+
readonly required: readonly ["text"];
|
|
225
|
+
};
|
|
226
|
+
readonly Image: {
|
|
227
|
+
readonly type: "object";
|
|
228
|
+
readonly additionalProperties: false;
|
|
229
|
+
readonly properties: {
|
|
230
|
+
readonly url: {
|
|
231
|
+
readonly type: "object";
|
|
232
|
+
readonly description: "The URL of the image to display.";
|
|
233
|
+
readonly additionalProperties: false;
|
|
234
|
+
readonly properties: {
|
|
235
|
+
readonly literalString: {
|
|
236
|
+
readonly type: "string";
|
|
237
|
+
};
|
|
238
|
+
readonly path: {
|
|
239
|
+
readonly type: "string";
|
|
240
|
+
};
|
|
241
|
+
};
|
|
242
|
+
};
|
|
243
|
+
readonly fit: {
|
|
244
|
+
readonly type: "string";
|
|
245
|
+
readonly description: "Specifies how the image should be resized to fit its container.";
|
|
246
|
+
readonly enum: readonly ["contain", "cover", "fill", "none", "scale-down"];
|
|
247
|
+
};
|
|
248
|
+
readonly usageHint: {
|
|
249
|
+
readonly type: "string";
|
|
250
|
+
readonly description: "A hint for the image size and style.";
|
|
251
|
+
readonly enum: readonly ["icon", "avatar", "smallFeature", "mediumFeature", "largeFeature", "header"];
|
|
252
|
+
};
|
|
253
|
+
};
|
|
254
|
+
readonly required: readonly ["url"];
|
|
255
|
+
};
|
|
256
|
+
readonly Icon: {
|
|
257
|
+
readonly type: "object";
|
|
258
|
+
readonly additionalProperties: false;
|
|
259
|
+
readonly properties: {
|
|
260
|
+
readonly name: {
|
|
261
|
+
readonly type: "object";
|
|
262
|
+
readonly description: "The name of the icon to display.";
|
|
263
|
+
readonly additionalProperties: false;
|
|
264
|
+
readonly properties: {
|
|
265
|
+
readonly literalString: {
|
|
266
|
+
readonly type: "string";
|
|
267
|
+
readonly enum: readonly ["accountCircle", "add", "arrowBack", "arrowForward", "attachFile", "calendarToday", "call", "camera", "check", "close", "delete", "download", "edit", "event", "error", "favorite", "favoriteOff", "folder", "help", "home", "info", "locationOn", "lock", "lockOpen", "mail", "menu", "moreVert", "moreHoriz", "notificationsOff", "notifications", "payment", "person", "phone", "photo", "print", "refresh", "search", "send", "settings", "share", "shoppingCart", "star", "starHalf", "starOff", "upload", "visibility", "visibilityOff", "warning"];
|
|
268
|
+
};
|
|
269
|
+
readonly path: {
|
|
270
|
+
readonly type: "string";
|
|
271
|
+
};
|
|
272
|
+
};
|
|
273
|
+
};
|
|
274
|
+
};
|
|
275
|
+
readonly required: readonly ["name"];
|
|
276
|
+
};
|
|
277
|
+
readonly Video: {
|
|
278
|
+
readonly type: "object";
|
|
279
|
+
readonly additionalProperties: false;
|
|
280
|
+
readonly properties: {
|
|
281
|
+
readonly url: {
|
|
282
|
+
readonly type: "object";
|
|
283
|
+
readonly description: "The URL of the video to display.";
|
|
284
|
+
readonly additionalProperties: false;
|
|
285
|
+
readonly properties: {
|
|
286
|
+
readonly literalString: {
|
|
287
|
+
readonly type: "string";
|
|
288
|
+
};
|
|
289
|
+
readonly path: {
|
|
290
|
+
readonly type: "string";
|
|
291
|
+
};
|
|
292
|
+
};
|
|
293
|
+
};
|
|
294
|
+
};
|
|
295
|
+
readonly required: readonly ["url"];
|
|
296
|
+
};
|
|
297
|
+
readonly AudioPlayer: {
|
|
298
|
+
readonly type: "object";
|
|
299
|
+
readonly additionalProperties: false;
|
|
300
|
+
readonly properties: {
|
|
301
|
+
readonly url: {
|
|
302
|
+
readonly type: "object";
|
|
303
|
+
readonly description: "The URL of the audio to be played.";
|
|
304
|
+
readonly additionalProperties: false;
|
|
305
|
+
readonly properties: {
|
|
306
|
+
readonly literalString: {
|
|
307
|
+
readonly type: "string";
|
|
308
|
+
};
|
|
309
|
+
readonly path: {
|
|
310
|
+
readonly type: "string";
|
|
311
|
+
};
|
|
312
|
+
};
|
|
313
|
+
};
|
|
314
|
+
readonly description: {
|
|
315
|
+
readonly type: "object";
|
|
316
|
+
readonly description: "A description of the audio, such as a title or summary.";
|
|
317
|
+
readonly additionalProperties: false;
|
|
318
|
+
readonly properties: {
|
|
319
|
+
readonly literalString: {
|
|
320
|
+
readonly type: "string";
|
|
321
|
+
};
|
|
322
|
+
readonly path: {
|
|
323
|
+
readonly type: "string";
|
|
324
|
+
};
|
|
325
|
+
};
|
|
326
|
+
};
|
|
327
|
+
};
|
|
328
|
+
readonly required: readonly ["url"];
|
|
329
|
+
};
|
|
330
|
+
readonly Row: {
|
|
331
|
+
readonly type: "object";
|
|
332
|
+
readonly additionalProperties: false;
|
|
333
|
+
readonly properties: {
|
|
334
|
+
readonly children: {
|
|
335
|
+
readonly type: "object";
|
|
336
|
+
readonly description: "Defines the children. Use 'explicitList' for a fixed set of children, or 'template' to generate children from a data list.";
|
|
337
|
+
readonly additionalProperties: false;
|
|
338
|
+
readonly properties: {
|
|
339
|
+
readonly explicitList: {
|
|
340
|
+
readonly type: "array";
|
|
341
|
+
readonly items: {
|
|
342
|
+
readonly type: "string";
|
|
343
|
+
};
|
|
344
|
+
};
|
|
345
|
+
readonly template: {
|
|
346
|
+
readonly type: "object";
|
|
347
|
+
readonly additionalProperties: false;
|
|
348
|
+
readonly properties: {
|
|
349
|
+
readonly componentId: {
|
|
350
|
+
readonly type: "string";
|
|
351
|
+
};
|
|
352
|
+
readonly dataBinding: {
|
|
353
|
+
readonly type: "string";
|
|
354
|
+
};
|
|
355
|
+
};
|
|
356
|
+
readonly required: readonly ["componentId", "dataBinding"];
|
|
357
|
+
};
|
|
358
|
+
};
|
|
359
|
+
};
|
|
360
|
+
readonly distribution: {
|
|
361
|
+
readonly type: "string";
|
|
362
|
+
readonly enum: readonly ["center", "end", "spaceAround", "spaceBetween", "spaceEvenly", "start"];
|
|
363
|
+
};
|
|
364
|
+
readonly alignment: {
|
|
365
|
+
readonly type: "string";
|
|
366
|
+
readonly enum: readonly ["start", "center", "end", "stretch"];
|
|
367
|
+
};
|
|
368
|
+
};
|
|
369
|
+
readonly required: readonly ["children"];
|
|
370
|
+
};
|
|
371
|
+
readonly Column: {
|
|
372
|
+
readonly type: "object";
|
|
373
|
+
readonly additionalProperties: false;
|
|
374
|
+
readonly properties: {
|
|
375
|
+
readonly children: {
|
|
376
|
+
readonly type: "object";
|
|
377
|
+
readonly description: "Defines the children. Use 'explicitList' for a fixed set of children, or 'template' to generate children from a data list.";
|
|
378
|
+
readonly additionalProperties: false;
|
|
379
|
+
readonly properties: {
|
|
380
|
+
readonly explicitList: {
|
|
381
|
+
readonly type: "array";
|
|
382
|
+
readonly items: {
|
|
383
|
+
readonly type: "string";
|
|
384
|
+
};
|
|
385
|
+
};
|
|
386
|
+
readonly template: {
|
|
387
|
+
readonly type: "object";
|
|
388
|
+
readonly additionalProperties: false;
|
|
389
|
+
readonly properties: {
|
|
390
|
+
readonly componentId: {
|
|
391
|
+
readonly type: "string";
|
|
392
|
+
};
|
|
393
|
+
readonly dataBinding: {
|
|
394
|
+
readonly type: "string";
|
|
395
|
+
};
|
|
396
|
+
};
|
|
397
|
+
readonly required: readonly ["componentId", "dataBinding"];
|
|
398
|
+
};
|
|
399
|
+
};
|
|
400
|
+
};
|
|
401
|
+
readonly distribution: {
|
|
402
|
+
readonly type: "string";
|
|
403
|
+
readonly enum: readonly ["start", "center", "end", "spaceBetween", "spaceAround", "spaceEvenly"];
|
|
404
|
+
};
|
|
405
|
+
readonly alignment: {
|
|
406
|
+
readonly type: "string";
|
|
407
|
+
readonly enum: readonly ["center", "end", "start", "stretch"];
|
|
408
|
+
};
|
|
409
|
+
};
|
|
410
|
+
readonly required: readonly ["children"];
|
|
411
|
+
};
|
|
412
|
+
readonly List: {
|
|
413
|
+
readonly type: "object";
|
|
414
|
+
readonly additionalProperties: false;
|
|
415
|
+
readonly properties: {
|
|
416
|
+
readonly children: {
|
|
417
|
+
readonly type: "object";
|
|
418
|
+
readonly description: "Defines the children. Use 'explicitList' for a fixed set of children, or 'template' to generate children from a data list.";
|
|
419
|
+
readonly additionalProperties: false;
|
|
420
|
+
readonly properties: {
|
|
421
|
+
readonly explicitList: {
|
|
422
|
+
readonly type: "array";
|
|
423
|
+
readonly items: {
|
|
424
|
+
readonly type: "string";
|
|
425
|
+
};
|
|
426
|
+
};
|
|
427
|
+
readonly template: {
|
|
428
|
+
readonly type: "object";
|
|
429
|
+
readonly additionalProperties: false;
|
|
430
|
+
readonly properties: {
|
|
431
|
+
readonly componentId: {
|
|
432
|
+
readonly type: "string";
|
|
433
|
+
};
|
|
434
|
+
readonly dataBinding: {
|
|
435
|
+
readonly type: "string";
|
|
436
|
+
};
|
|
437
|
+
};
|
|
438
|
+
readonly required: readonly ["componentId", "dataBinding"];
|
|
439
|
+
};
|
|
440
|
+
};
|
|
441
|
+
};
|
|
442
|
+
readonly direction: {
|
|
443
|
+
readonly type: "string";
|
|
444
|
+
readonly enum: readonly ["vertical", "horizontal"];
|
|
445
|
+
};
|
|
446
|
+
readonly alignment: {
|
|
447
|
+
readonly type: "string";
|
|
448
|
+
readonly enum: readonly ["start", "center", "end", "stretch"];
|
|
449
|
+
};
|
|
450
|
+
};
|
|
451
|
+
readonly required: readonly ["children"];
|
|
452
|
+
};
|
|
453
|
+
readonly Card: {
|
|
454
|
+
readonly type: "object";
|
|
455
|
+
readonly additionalProperties: false;
|
|
456
|
+
readonly properties: {
|
|
457
|
+
readonly child: {
|
|
458
|
+
readonly type: "string";
|
|
459
|
+
readonly description: "The ID of the component to be rendered inside the card.";
|
|
460
|
+
};
|
|
461
|
+
};
|
|
462
|
+
readonly required: readonly ["child"];
|
|
463
|
+
};
|
|
464
|
+
readonly Tabs: {
|
|
465
|
+
readonly type: "object";
|
|
466
|
+
readonly additionalProperties: false;
|
|
467
|
+
readonly properties: {
|
|
468
|
+
readonly tabItems: {
|
|
469
|
+
readonly type: "array";
|
|
470
|
+
readonly items: {
|
|
471
|
+
readonly type: "object";
|
|
472
|
+
readonly additionalProperties: false;
|
|
473
|
+
readonly properties: {
|
|
474
|
+
readonly title: {
|
|
475
|
+
readonly type: "object";
|
|
476
|
+
readonly additionalProperties: false;
|
|
477
|
+
readonly properties: {
|
|
478
|
+
readonly literalString: {
|
|
479
|
+
readonly type: "string";
|
|
480
|
+
};
|
|
481
|
+
readonly path: {
|
|
482
|
+
readonly type: "string";
|
|
483
|
+
};
|
|
484
|
+
};
|
|
485
|
+
};
|
|
486
|
+
readonly child: {
|
|
487
|
+
readonly type: "string";
|
|
488
|
+
};
|
|
489
|
+
};
|
|
490
|
+
readonly required: readonly ["title", "child"];
|
|
491
|
+
};
|
|
492
|
+
};
|
|
493
|
+
};
|
|
494
|
+
readonly required: readonly ["tabItems"];
|
|
495
|
+
};
|
|
496
|
+
readonly Divider: {
|
|
497
|
+
readonly type: "object";
|
|
498
|
+
readonly additionalProperties: false;
|
|
499
|
+
readonly properties: {
|
|
500
|
+
readonly axis: {
|
|
501
|
+
readonly type: "string";
|
|
502
|
+
readonly enum: readonly ["horizontal", "vertical"];
|
|
503
|
+
};
|
|
504
|
+
};
|
|
505
|
+
};
|
|
506
|
+
readonly Modal: {
|
|
507
|
+
readonly type: "object";
|
|
508
|
+
readonly additionalProperties: false;
|
|
509
|
+
readonly properties: {
|
|
510
|
+
readonly entryPointChild: {
|
|
511
|
+
readonly type: "string";
|
|
512
|
+
readonly description: "The ID of the component that opens the modal when interacted with.";
|
|
513
|
+
};
|
|
514
|
+
readonly contentChild: {
|
|
515
|
+
readonly type: "string";
|
|
516
|
+
readonly description: "The ID of the component to be displayed inside the modal.";
|
|
517
|
+
};
|
|
518
|
+
};
|
|
519
|
+
readonly required: readonly ["entryPointChild", "contentChild"];
|
|
520
|
+
};
|
|
521
|
+
readonly Button: {
|
|
522
|
+
readonly type: "object";
|
|
523
|
+
readonly additionalProperties: false;
|
|
524
|
+
readonly properties: {
|
|
525
|
+
readonly child: {
|
|
526
|
+
readonly type: "string";
|
|
527
|
+
readonly description: "The ID of the component to display in the button.";
|
|
528
|
+
};
|
|
529
|
+
readonly primary: {
|
|
530
|
+
readonly type: "boolean";
|
|
531
|
+
readonly description: "Indicates if this button should be styled as the primary action.";
|
|
532
|
+
};
|
|
533
|
+
readonly action: {
|
|
534
|
+
readonly type: "object";
|
|
535
|
+
readonly additionalProperties: false;
|
|
536
|
+
readonly properties: {
|
|
537
|
+
readonly name: {
|
|
538
|
+
readonly type: "string";
|
|
539
|
+
};
|
|
540
|
+
readonly context: {
|
|
541
|
+
readonly type: "array";
|
|
542
|
+
readonly items: {
|
|
543
|
+
readonly type: "object";
|
|
544
|
+
readonly additionalProperties: false;
|
|
545
|
+
readonly properties: {
|
|
546
|
+
readonly key: {
|
|
547
|
+
readonly type: "string";
|
|
548
|
+
};
|
|
549
|
+
readonly value: {
|
|
550
|
+
readonly type: "object";
|
|
551
|
+
readonly additionalProperties: false;
|
|
552
|
+
readonly properties: {
|
|
553
|
+
readonly path: {
|
|
554
|
+
readonly type: "string";
|
|
555
|
+
};
|
|
556
|
+
readonly literalString: {
|
|
557
|
+
readonly type: "string";
|
|
558
|
+
};
|
|
559
|
+
readonly literalNumber: {
|
|
560
|
+
readonly type: "number";
|
|
561
|
+
};
|
|
562
|
+
readonly literalBoolean: {
|
|
563
|
+
readonly type: "boolean";
|
|
564
|
+
};
|
|
565
|
+
};
|
|
566
|
+
};
|
|
567
|
+
};
|
|
568
|
+
readonly required: readonly ["key", "value"];
|
|
569
|
+
};
|
|
570
|
+
};
|
|
571
|
+
};
|
|
572
|
+
readonly required: readonly ["name"];
|
|
573
|
+
};
|
|
574
|
+
};
|
|
575
|
+
readonly required: readonly ["child", "action"];
|
|
576
|
+
};
|
|
577
|
+
readonly CheckBox: {
|
|
578
|
+
readonly type: "object";
|
|
579
|
+
readonly additionalProperties: false;
|
|
580
|
+
readonly properties: {
|
|
581
|
+
readonly label: {
|
|
582
|
+
readonly type: "object";
|
|
583
|
+
readonly additionalProperties: false;
|
|
584
|
+
readonly properties: {
|
|
585
|
+
readonly literalString: {
|
|
586
|
+
readonly type: "string";
|
|
587
|
+
};
|
|
588
|
+
readonly path: {
|
|
589
|
+
readonly type: "string";
|
|
590
|
+
};
|
|
591
|
+
};
|
|
592
|
+
};
|
|
593
|
+
readonly value: {
|
|
594
|
+
readonly type: "object";
|
|
595
|
+
readonly additionalProperties: false;
|
|
596
|
+
readonly properties: {
|
|
597
|
+
readonly literalBoolean: {
|
|
598
|
+
readonly type: "boolean";
|
|
599
|
+
};
|
|
600
|
+
readonly path: {
|
|
601
|
+
readonly type: "string";
|
|
602
|
+
};
|
|
603
|
+
};
|
|
604
|
+
};
|
|
605
|
+
};
|
|
606
|
+
readonly required: readonly ["label", "value"];
|
|
607
|
+
};
|
|
608
|
+
readonly TextField: {
|
|
609
|
+
readonly type: "object";
|
|
610
|
+
readonly additionalProperties: false;
|
|
611
|
+
readonly properties: {
|
|
612
|
+
readonly label: {
|
|
613
|
+
readonly type: "object";
|
|
614
|
+
readonly additionalProperties: false;
|
|
615
|
+
readonly properties: {
|
|
616
|
+
readonly literalString: {
|
|
617
|
+
readonly type: "string";
|
|
618
|
+
};
|
|
619
|
+
readonly path: {
|
|
620
|
+
readonly type: "string";
|
|
621
|
+
};
|
|
622
|
+
};
|
|
623
|
+
};
|
|
624
|
+
readonly text: {
|
|
625
|
+
readonly type: "object";
|
|
626
|
+
readonly additionalProperties: false;
|
|
627
|
+
readonly properties: {
|
|
628
|
+
readonly literalString: {
|
|
629
|
+
readonly type: "string";
|
|
630
|
+
};
|
|
631
|
+
readonly path: {
|
|
632
|
+
readonly type: "string";
|
|
633
|
+
};
|
|
634
|
+
};
|
|
635
|
+
};
|
|
636
|
+
readonly textFieldType: {
|
|
637
|
+
readonly type: "string";
|
|
638
|
+
readonly enum: readonly ["date", "longText", "number", "shortText", "obscured"];
|
|
639
|
+
};
|
|
640
|
+
readonly validationRegexp: {
|
|
641
|
+
readonly type: "string";
|
|
642
|
+
};
|
|
643
|
+
};
|
|
644
|
+
readonly required: readonly ["label"];
|
|
645
|
+
};
|
|
646
|
+
readonly DateTimeInput: {
|
|
647
|
+
readonly type: "object";
|
|
648
|
+
readonly additionalProperties: false;
|
|
649
|
+
readonly properties: {
|
|
650
|
+
readonly value: {
|
|
651
|
+
readonly type: "object";
|
|
652
|
+
readonly additionalProperties: false;
|
|
653
|
+
readonly properties: {
|
|
654
|
+
readonly literalString: {
|
|
655
|
+
readonly type: "string";
|
|
656
|
+
};
|
|
657
|
+
readonly path: {
|
|
658
|
+
readonly type: "string";
|
|
659
|
+
};
|
|
660
|
+
};
|
|
661
|
+
};
|
|
662
|
+
readonly enableDate: {
|
|
663
|
+
readonly type: "boolean";
|
|
664
|
+
};
|
|
665
|
+
readonly enableTime: {
|
|
666
|
+
readonly type: "boolean";
|
|
667
|
+
};
|
|
668
|
+
};
|
|
669
|
+
readonly required: readonly ["value"];
|
|
670
|
+
};
|
|
671
|
+
readonly MultipleChoice: {
|
|
672
|
+
readonly type: "object";
|
|
673
|
+
readonly additionalProperties: false;
|
|
674
|
+
readonly properties: {
|
|
675
|
+
readonly selections: {
|
|
676
|
+
readonly type: "object";
|
|
677
|
+
readonly additionalProperties: false;
|
|
678
|
+
readonly properties: {
|
|
679
|
+
readonly literalArray: {
|
|
680
|
+
readonly type: "array";
|
|
681
|
+
readonly items: {
|
|
682
|
+
readonly type: "string";
|
|
683
|
+
};
|
|
684
|
+
};
|
|
685
|
+
readonly path: {
|
|
686
|
+
readonly type: "string";
|
|
687
|
+
};
|
|
688
|
+
};
|
|
689
|
+
};
|
|
690
|
+
readonly options: {
|
|
691
|
+
readonly type: "array";
|
|
692
|
+
readonly items: {
|
|
693
|
+
readonly type: "object";
|
|
694
|
+
readonly additionalProperties: false;
|
|
695
|
+
readonly properties: {
|
|
696
|
+
readonly label: {
|
|
697
|
+
readonly type: "object";
|
|
698
|
+
readonly additionalProperties: false;
|
|
699
|
+
readonly properties: {
|
|
700
|
+
readonly literalString: {
|
|
701
|
+
readonly type: "string";
|
|
702
|
+
};
|
|
703
|
+
readonly path: {
|
|
704
|
+
readonly type: "string";
|
|
705
|
+
};
|
|
706
|
+
};
|
|
707
|
+
};
|
|
708
|
+
readonly value: {
|
|
709
|
+
readonly type: "string";
|
|
710
|
+
};
|
|
711
|
+
};
|
|
712
|
+
readonly required: readonly ["label", "value"];
|
|
713
|
+
};
|
|
714
|
+
};
|
|
715
|
+
readonly maxAllowedSelections: {
|
|
716
|
+
readonly type: "integer";
|
|
717
|
+
};
|
|
718
|
+
readonly variant: {
|
|
719
|
+
readonly type: "string";
|
|
720
|
+
readonly enum: readonly ["checkbox", "chips"];
|
|
721
|
+
};
|
|
722
|
+
readonly filterable: {
|
|
723
|
+
readonly type: "boolean";
|
|
724
|
+
};
|
|
725
|
+
};
|
|
726
|
+
readonly required: readonly ["selections", "options"];
|
|
727
|
+
};
|
|
728
|
+
readonly Slider: {
|
|
729
|
+
readonly type: "object";
|
|
730
|
+
readonly additionalProperties: false;
|
|
731
|
+
readonly properties: {
|
|
732
|
+
readonly value: {
|
|
733
|
+
readonly type: "object";
|
|
734
|
+
readonly additionalProperties: false;
|
|
735
|
+
readonly properties: {
|
|
736
|
+
readonly literalNumber: {
|
|
737
|
+
readonly type: "number";
|
|
738
|
+
};
|
|
739
|
+
readonly path: {
|
|
740
|
+
readonly type: "string";
|
|
741
|
+
};
|
|
742
|
+
};
|
|
743
|
+
};
|
|
744
|
+
readonly minValue: {
|
|
745
|
+
readonly type: "number";
|
|
746
|
+
};
|
|
747
|
+
readonly maxValue: {
|
|
748
|
+
readonly type: "number";
|
|
749
|
+
};
|
|
750
|
+
};
|
|
751
|
+
readonly required: readonly ["value"];
|
|
752
|
+
};
|
|
753
|
+
};
|
|
754
|
+
readonly styles: {
|
|
755
|
+
readonly font: {
|
|
756
|
+
readonly type: "string";
|
|
757
|
+
readonly description: "The primary font for the UI.";
|
|
758
|
+
};
|
|
759
|
+
readonly primaryColor: {
|
|
760
|
+
readonly type: "string";
|
|
761
|
+
readonly description: "The primary UI color as a hexadecimal code (e.g., '#00BFFF').";
|
|
762
|
+
readonly pattern: "^#[0-9a-fA-F]{6}$";
|
|
763
|
+
};
|
|
764
|
+
};
|
|
765
|
+
};
|
|
766
|
+
readonly server_to_client_with_standard_catalog: {
|
|
767
|
+
readonly title: "A2UI Message Schema";
|
|
768
|
+
readonly description: "Describes a JSON payload for an A2UI (Agent to UI) message, which is used to dynamically construct and update user interfaces. A message MUST contain exactly ONE of the action properties: 'beginRendering', 'surfaceUpdate', 'dataModelUpdate', or 'deleteSurface'.";
|
|
769
|
+
readonly type: "object";
|
|
770
|
+
readonly additionalProperties: false;
|
|
771
|
+
readonly properties: {
|
|
772
|
+
readonly beginRendering: {
|
|
773
|
+
readonly type: "object";
|
|
774
|
+
readonly description: "Signals the client to begin rendering a surface with a root component and specific styles.";
|
|
775
|
+
readonly additionalProperties: false;
|
|
776
|
+
readonly properties: {
|
|
777
|
+
readonly surfaceId: {
|
|
778
|
+
readonly type: "string";
|
|
779
|
+
readonly description: "The unique identifier for the UI surface to be rendered.";
|
|
780
|
+
};
|
|
781
|
+
readonly root: {
|
|
782
|
+
readonly type: "string";
|
|
783
|
+
readonly description: "The ID of the root component to render.";
|
|
784
|
+
};
|
|
785
|
+
readonly styles: {
|
|
786
|
+
readonly type: "object";
|
|
787
|
+
readonly description: "Styling information for the UI.";
|
|
788
|
+
readonly additionalProperties: false;
|
|
789
|
+
readonly properties: {
|
|
790
|
+
readonly font: {
|
|
791
|
+
readonly type: "string";
|
|
792
|
+
readonly description: "The primary font for the UI.";
|
|
793
|
+
};
|
|
794
|
+
readonly primaryColor: {
|
|
795
|
+
readonly type: "string";
|
|
796
|
+
readonly description: "The primary UI color as a hexadecimal code (e.g., '#00BFFF').";
|
|
797
|
+
readonly pattern: "^#[0-9a-fA-F]{6}$";
|
|
798
|
+
};
|
|
799
|
+
};
|
|
800
|
+
};
|
|
801
|
+
};
|
|
802
|
+
readonly required: readonly ["root", "surfaceId"];
|
|
803
|
+
};
|
|
804
|
+
readonly surfaceUpdate: {
|
|
805
|
+
readonly type: "object";
|
|
806
|
+
readonly description: "Updates a surface with a new set of components.";
|
|
807
|
+
readonly additionalProperties: false;
|
|
808
|
+
readonly properties: {
|
|
809
|
+
readonly surfaceId: {
|
|
810
|
+
readonly type: "string";
|
|
811
|
+
readonly description: "The unique identifier for the UI surface to be updated. If you are adding a new surface this *must* be a new, unique identified that has never been used for any existing surfaces shown.";
|
|
812
|
+
};
|
|
813
|
+
readonly components: {
|
|
814
|
+
readonly type: "array";
|
|
815
|
+
readonly description: "A list containing all UI components for the surface.";
|
|
816
|
+
readonly minItems: 1;
|
|
817
|
+
readonly items: {
|
|
818
|
+
readonly type: "object";
|
|
819
|
+
readonly description: "Represents a *single* component in a UI widget tree. This component could be one of many supported types.";
|
|
820
|
+
readonly additionalProperties: false;
|
|
821
|
+
readonly properties: {
|
|
822
|
+
readonly id: {
|
|
823
|
+
readonly type: "string";
|
|
824
|
+
readonly description: "The unique identifier for this component.";
|
|
825
|
+
};
|
|
826
|
+
readonly weight: {
|
|
827
|
+
readonly type: "number";
|
|
828
|
+
readonly description: "The relative weight of this component within a Row or Column. This corresponds to the CSS 'flex-grow' property. Note: this may ONLY be set when the component is a direct descendant of a Row or Column.";
|
|
829
|
+
};
|
|
830
|
+
readonly component: {
|
|
831
|
+
readonly type: "object";
|
|
832
|
+
readonly description: "A wrapper object that MUST contain exactly one key, which is the name of the component type (e.g., 'Heading'). The value is an object containing the properties for that specific component.";
|
|
833
|
+
readonly additionalProperties: false;
|
|
834
|
+
readonly properties: {
|
|
835
|
+
readonly Text: {
|
|
836
|
+
readonly type: "object";
|
|
837
|
+
readonly additionalProperties: false;
|
|
838
|
+
readonly properties: {
|
|
839
|
+
readonly text: {
|
|
840
|
+
readonly type: "object";
|
|
841
|
+
readonly description: "The text content to display. This can be a literal string or a reference to a value in the data model ('path', e.g., '/doc/title'). While simple Markdown formatting is supported (i.e. without HTML, images, or links), utilizing dedicated UI components is generally preferred for a richer and more structured presentation.";
|
|
842
|
+
readonly additionalProperties: false;
|
|
843
|
+
readonly properties: {
|
|
844
|
+
readonly literalString: {
|
|
845
|
+
readonly type: "string";
|
|
846
|
+
};
|
|
847
|
+
readonly path: {
|
|
848
|
+
readonly type: "string";
|
|
849
|
+
};
|
|
850
|
+
};
|
|
851
|
+
};
|
|
852
|
+
readonly usageHint: {
|
|
853
|
+
readonly type: "string";
|
|
854
|
+
readonly description: "A hint for the base text style. One of:\n- `h1`: Largest heading.\n- `h2`: Second largest heading.\n- `h3`: Third largest heading.\n- `h4`: Fourth largest heading.\n- `h5`: Fifth largest heading.\n- `caption`: Small text for captions.\n- `body`: Standard body text.";
|
|
855
|
+
readonly enum: readonly ["h1", "h2", "h3", "h4", "h5", "caption", "body"];
|
|
856
|
+
};
|
|
857
|
+
};
|
|
858
|
+
readonly required: readonly ["text"];
|
|
859
|
+
};
|
|
860
|
+
readonly Image: {
|
|
861
|
+
readonly type: "object";
|
|
862
|
+
readonly additionalProperties: false;
|
|
863
|
+
readonly properties: {
|
|
864
|
+
readonly url: {
|
|
865
|
+
readonly type: "object";
|
|
866
|
+
readonly description: "The URL of the image to display. This can be a literal string ('literal') or a reference to a value in the data model ('path', e.g. '/thumbnail/url').";
|
|
867
|
+
readonly additionalProperties: false;
|
|
868
|
+
readonly properties: {
|
|
869
|
+
readonly literalString: {
|
|
870
|
+
readonly type: "string";
|
|
871
|
+
};
|
|
872
|
+
readonly path: {
|
|
873
|
+
readonly type: "string";
|
|
874
|
+
};
|
|
875
|
+
};
|
|
876
|
+
};
|
|
877
|
+
readonly fit: {
|
|
878
|
+
readonly type: "string";
|
|
879
|
+
readonly description: "Specifies how the image should be resized to fit its container. This corresponds to the CSS 'object-fit' property.";
|
|
880
|
+
readonly enum: readonly ["contain", "cover", "fill", "none", "scale-down"];
|
|
881
|
+
};
|
|
882
|
+
readonly usageHint: {
|
|
883
|
+
readonly type: "string";
|
|
884
|
+
readonly description: "A hint for the image size and style. One of:\n- `icon`: Small square icon.\n- `avatar`: Circular avatar image.\n- `smallFeature`: Small feature image.\n- `mediumFeature`: Medium feature image.\n- `largeFeature`: Large feature image.\n- `header`: Full-width, full bleed, header image.";
|
|
885
|
+
readonly enum: readonly ["icon", "avatar", "smallFeature", "mediumFeature", "largeFeature", "header"];
|
|
886
|
+
};
|
|
887
|
+
};
|
|
888
|
+
readonly required: readonly ["url"];
|
|
889
|
+
};
|
|
890
|
+
readonly Icon: {
|
|
891
|
+
readonly type: "object";
|
|
892
|
+
readonly additionalProperties: false;
|
|
893
|
+
readonly properties: {
|
|
894
|
+
readonly name: {
|
|
895
|
+
readonly type: "object";
|
|
896
|
+
readonly description: "The name of the icon to display. This can be a literal string or a reference to a value in the data model ('path', e.g. '/form/submit').";
|
|
897
|
+
readonly additionalProperties: false;
|
|
898
|
+
readonly properties: {
|
|
899
|
+
readonly literalString: {
|
|
900
|
+
readonly type: "string";
|
|
901
|
+
readonly enum: readonly ["accountCircle", "add", "arrowBack", "arrowForward", "attachFile", "calendarToday", "call", "camera", "check", "close", "delete", "download", "edit", "event", "error", "favorite", "favoriteOff", "folder", "help", "home", "info", "locationOn", "lock", "lockOpen", "mail", "menu", "moreVert", "moreHoriz", "notificationsOff", "notifications", "payment", "person", "phone", "photo", "print", "refresh", "search", "send", "settings", "share", "shoppingCart", "star", "starHalf", "starOff", "upload", "visibility", "visibilityOff", "warning"];
|
|
902
|
+
};
|
|
903
|
+
readonly path: {
|
|
904
|
+
readonly type: "string";
|
|
905
|
+
};
|
|
906
|
+
};
|
|
907
|
+
};
|
|
908
|
+
};
|
|
909
|
+
readonly required: readonly ["name"];
|
|
910
|
+
};
|
|
911
|
+
readonly Video: {
|
|
912
|
+
readonly type: "object";
|
|
913
|
+
readonly additionalProperties: false;
|
|
914
|
+
readonly properties: {
|
|
915
|
+
readonly url: {
|
|
916
|
+
readonly type: "object";
|
|
917
|
+
readonly description: "The URL of the video to display. This can be a literal string or a reference to a value in the data model ('path', e.g. '/video/url').";
|
|
918
|
+
readonly additionalProperties: false;
|
|
919
|
+
readonly properties: {
|
|
920
|
+
readonly literalString: {
|
|
921
|
+
readonly type: "string";
|
|
922
|
+
};
|
|
923
|
+
readonly path: {
|
|
924
|
+
readonly type: "string";
|
|
925
|
+
};
|
|
926
|
+
};
|
|
927
|
+
};
|
|
928
|
+
};
|
|
929
|
+
readonly required: readonly ["url"];
|
|
930
|
+
};
|
|
931
|
+
readonly AudioPlayer: {
|
|
932
|
+
readonly type: "object";
|
|
933
|
+
readonly additionalProperties: false;
|
|
934
|
+
readonly properties: {
|
|
935
|
+
readonly url: {
|
|
936
|
+
readonly type: "object";
|
|
937
|
+
readonly description: "The URL of the audio to be played. This can be a literal string ('literal') or a reference to a value in the data model ('path', e.g. '/song/url').";
|
|
938
|
+
readonly additionalProperties: false;
|
|
939
|
+
readonly properties: {
|
|
940
|
+
readonly literalString: {
|
|
941
|
+
readonly type: "string";
|
|
942
|
+
};
|
|
943
|
+
readonly path: {
|
|
944
|
+
readonly type: "string";
|
|
945
|
+
};
|
|
946
|
+
};
|
|
947
|
+
};
|
|
948
|
+
readonly description: {
|
|
949
|
+
readonly type: "object";
|
|
950
|
+
readonly description: "A description of the audio, such as a title or summary. This can be a literal string or a reference to a value in the data model ('path', e.g. '/song/title').";
|
|
951
|
+
readonly additionalProperties: false;
|
|
952
|
+
readonly properties: {
|
|
953
|
+
readonly literalString: {
|
|
954
|
+
readonly type: "string";
|
|
955
|
+
};
|
|
956
|
+
readonly path: {
|
|
957
|
+
readonly type: "string";
|
|
958
|
+
};
|
|
959
|
+
};
|
|
960
|
+
};
|
|
961
|
+
};
|
|
962
|
+
readonly required: readonly ["url"];
|
|
963
|
+
};
|
|
964
|
+
readonly Row: {
|
|
965
|
+
readonly type: "object";
|
|
966
|
+
readonly additionalProperties: false;
|
|
967
|
+
readonly properties: {
|
|
968
|
+
readonly children: {
|
|
969
|
+
readonly type: "object";
|
|
970
|
+
readonly description: "Defines the children. Use 'explicitList' for a fixed set of children, or 'template' to generate children from a data list.";
|
|
971
|
+
readonly additionalProperties: false;
|
|
972
|
+
readonly properties: {
|
|
973
|
+
readonly explicitList: {
|
|
974
|
+
readonly type: "array";
|
|
975
|
+
readonly items: {
|
|
976
|
+
readonly type: "string";
|
|
977
|
+
};
|
|
978
|
+
};
|
|
979
|
+
readonly template: {
|
|
980
|
+
readonly type: "object";
|
|
981
|
+
readonly description: "A template for generating a dynamic list of children from a data model list. `componentId` is the component to use as a template, and `dataBinding` is the path to the map of components in the data model. Values in the map will define the list of children.";
|
|
982
|
+
readonly additionalProperties: false;
|
|
983
|
+
readonly properties: {
|
|
984
|
+
readonly componentId: {
|
|
985
|
+
readonly type: "string";
|
|
986
|
+
};
|
|
987
|
+
readonly dataBinding: {
|
|
988
|
+
readonly type: "string";
|
|
989
|
+
};
|
|
990
|
+
};
|
|
991
|
+
readonly required: readonly ["componentId", "dataBinding"];
|
|
992
|
+
};
|
|
993
|
+
};
|
|
994
|
+
};
|
|
995
|
+
readonly distribution: {
|
|
996
|
+
readonly type: "string";
|
|
997
|
+
readonly description: "Defines the arrangement of children along the main axis (horizontally). This corresponds to the CSS 'justify-content' property.";
|
|
998
|
+
readonly enum: readonly ["center", "end", "spaceAround", "spaceBetween", "spaceEvenly", "start"];
|
|
999
|
+
};
|
|
1000
|
+
readonly alignment: {
|
|
1001
|
+
readonly type: "string";
|
|
1002
|
+
readonly description: "Defines the alignment of children along the cross axis (vertically). This corresponds to the CSS 'align-items' property.";
|
|
1003
|
+
readonly enum: readonly ["start", "center", "end", "stretch"];
|
|
1004
|
+
};
|
|
1005
|
+
};
|
|
1006
|
+
readonly required: readonly ["children"];
|
|
1007
|
+
};
|
|
1008
|
+
readonly Column: {
|
|
1009
|
+
readonly type: "object";
|
|
1010
|
+
readonly additionalProperties: false;
|
|
1011
|
+
readonly properties: {
|
|
1012
|
+
readonly children: {
|
|
1013
|
+
readonly type: "object";
|
|
1014
|
+
readonly description: "Defines the children. Use 'explicitList' for a fixed set of children, or 'template' to generate children from a data list.";
|
|
1015
|
+
readonly additionalProperties: false;
|
|
1016
|
+
readonly properties: {
|
|
1017
|
+
readonly explicitList: {
|
|
1018
|
+
readonly type: "array";
|
|
1019
|
+
readonly items: {
|
|
1020
|
+
readonly type: "string";
|
|
1021
|
+
};
|
|
1022
|
+
};
|
|
1023
|
+
readonly template: {
|
|
1024
|
+
readonly type: "object";
|
|
1025
|
+
readonly description: "A template for generating a dynamic list of children from a data model list. `componentId` is the component to use as a template, and `dataBinding` is the path to the map of components in the data model. Values in the map will define the list of children.";
|
|
1026
|
+
readonly additionalProperties: false;
|
|
1027
|
+
readonly properties: {
|
|
1028
|
+
readonly componentId: {
|
|
1029
|
+
readonly type: "string";
|
|
1030
|
+
};
|
|
1031
|
+
readonly dataBinding: {
|
|
1032
|
+
readonly type: "string";
|
|
1033
|
+
};
|
|
1034
|
+
};
|
|
1035
|
+
readonly required: readonly ["componentId", "dataBinding"];
|
|
1036
|
+
};
|
|
1037
|
+
};
|
|
1038
|
+
};
|
|
1039
|
+
readonly distribution: {
|
|
1040
|
+
readonly type: "string";
|
|
1041
|
+
readonly description: "Defines the arrangement of children along the main axis (vertically). This corresponds to the CSS 'justify-content' property.";
|
|
1042
|
+
readonly enum: readonly ["start", "center", "end", "spaceBetween", "spaceAround", "spaceEvenly"];
|
|
1043
|
+
};
|
|
1044
|
+
readonly alignment: {
|
|
1045
|
+
readonly type: "string";
|
|
1046
|
+
readonly description: "Defines the alignment of children along the cross axis (horizontally). This corresponds to the CSS 'align-items' property.";
|
|
1047
|
+
readonly enum: readonly ["center", "end", "start", "stretch"];
|
|
1048
|
+
};
|
|
1049
|
+
};
|
|
1050
|
+
readonly required: readonly ["children"];
|
|
1051
|
+
};
|
|
1052
|
+
readonly List: {
|
|
1053
|
+
readonly type: "object";
|
|
1054
|
+
readonly additionalProperties: false;
|
|
1055
|
+
readonly properties: {
|
|
1056
|
+
readonly children: {
|
|
1057
|
+
readonly type: "object";
|
|
1058
|
+
readonly description: "Defines the children. Use 'explicitList' for a fixed set of children, or 'template' to generate children from a data list.";
|
|
1059
|
+
readonly additionalProperties: false;
|
|
1060
|
+
readonly properties: {
|
|
1061
|
+
readonly explicitList: {
|
|
1062
|
+
readonly type: "array";
|
|
1063
|
+
readonly items: {
|
|
1064
|
+
readonly type: "string";
|
|
1065
|
+
};
|
|
1066
|
+
};
|
|
1067
|
+
readonly template: {
|
|
1068
|
+
readonly type: "object";
|
|
1069
|
+
readonly description: "A template for generating a dynamic list of children from a data model list. `componentId` is the component to use as a template, and `dataBinding` is the path to the map of components in the data model. Values in the map will define the list of children.";
|
|
1070
|
+
readonly additionalProperties: false;
|
|
1071
|
+
readonly properties: {
|
|
1072
|
+
readonly componentId: {
|
|
1073
|
+
readonly type: "string";
|
|
1074
|
+
};
|
|
1075
|
+
readonly dataBinding: {
|
|
1076
|
+
readonly type: "string";
|
|
1077
|
+
};
|
|
1078
|
+
};
|
|
1079
|
+
readonly required: readonly ["componentId", "dataBinding"];
|
|
1080
|
+
};
|
|
1081
|
+
};
|
|
1082
|
+
};
|
|
1083
|
+
readonly direction: {
|
|
1084
|
+
readonly type: "string";
|
|
1085
|
+
readonly description: "The direction in which the list items are laid out.";
|
|
1086
|
+
readonly enum: readonly ["vertical", "horizontal"];
|
|
1087
|
+
};
|
|
1088
|
+
readonly alignment: {
|
|
1089
|
+
readonly type: "string";
|
|
1090
|
+
readonly description: "Defines the alignment of children along the cross axis.";
|
|
1091
|
+
readonly enum: readonly ["start", "center", "end", "stretch"];
|
|
1092
|
+
};
|
|
1093
|
+
};
|
|
1094
|
+
readonly required: readonly ["children"];
|
|
1095
|
+
};
|
|
1096
|
+
readonly Card: {
|
|
1097
|
+
readonly type: "object";
|
|
1098
|
+
readonly additionalProperties: false;
|
|
1099
|
+
readonly properties: {
|
|
1100
|
+
readonly child: {
|
|
1101
|
+
readonly type: "string";
|
|
1102
|
+
readonly description: "The ID of the component to be rendered inside the card.";
|
|
1103
|
+
};
|
|
1104
|
+
};
|
|
1105
|
+
readonly required: readonly ["child"];
|
|
1106
|
+
};
|
|
1107
|
+
readonly Tabs: {
|
|
1108
|
+
readonly type: "object";
|
|
1109
|
+
readonly additionalProperties: false;
|
|
1110
|
+
readonly properties: {
|
|
1111
|
+
readonly tabItems: {
|
|
1112
|
+
readonly type: "array";
|
|
1113
|
+
readonly description: "An array of objects, where each object defines a tab with a title and a child component.";
|
|
1114
|
+
readonly items: {
|
|
1115
|
+
readonly type: "object";
|
|
1116
|
+
readonly additionalProperties: false;
|
|
1117
|
+
readonly properties: {
|
|
1118
|
+
readonly title: {
|
|
1119
|
+
readonly type: "object";
|
|
1120
|
+
readonly description: "The tab title. Defines the value as either a literal value or a path to data model value (e.g. '/options/title').";
|
|
1121
|
+
readonly additionalProperties: false;
|
|
1122
|
+
readonly properties: {
|
|
1123
|
+
readonly literalString: {
|
|
1124
|
+
readonly type: "string";
|
|
1125
|
+
};
|
|
1126
|
+
readonly path: {
|
|
1127
|
+
readonly type: "string";
|
|
1128
|
+
};
|
|
1129
|
+
};
|
|
1130
|
+
};
|
|
1131
|
+
readonly child: {
|
|
1132
|
+
readonly type: "string";
|
|
1133
|
+
};
|
|
1134
|
+
};
|
|
1135
|
+
readonly required: readonly ["title", "child"];
|
|
1136
|
+
};
|
|
1137
|
+
};
|
|
1138
|
+
};
|
|
1139
|
+
readonly required: readonly ["tabItems"];
|
|
1140
|
+
};
|
|
1141
|
+
readonly Divider: {
|
|
1142
|
+
readonly type: "object";
|
|
1143
|
+
readonly additionalProperties: false;
|
|
1144
|
+
readonly properties: {
|
|
1145
|
+
readonly axis: {
|
|
1146
|
+
readonly type: "string";
|
|
1147
|
+
readonly description: "The orientation of the divider.";
|
|
1148
|
+
readonly enum: readonly ["horizontal", "vertical"];
|
|
1149
|
+
};
|
|
1150
|
+
};
|
|
1151
|
+
};
|
|
1152
|
+
readonly Modal: {
|
|
1153
|
+
readonly type: "object";
|
|
1154
|
+
readonly additionalProperties: false;
|
|
1155
|
+
readonly properties: {
|
|
1156
|
+
readonly entryPointChild: {
|
|
1157
|
+
readonly type: "string";
|
|
1158
|
+
readonly description: "The ID of the component that opens the modal when interacted with (e.g., a button).";
|
|
1159
|
+
};
|
|
1160
|
+
readonly contentChild: {
|
|
1161
|
+
readonly type: "string";
|
|
1162
|
+
readonly description: "The ID of the component to be displayed inside the modal.";
|
|
1163
|
+
};
|
|
1164
|
+
};
|
|
1165
|
+
readonly required: readonly ["entryPointChild", "contentChild"];
|
|
1166
|
+
};
|
|
1167
|
+
readonly Button: {
|
|
1168
|
+
readonly type: "object";
|
|
1169
|
+
readonly additionalProperties: false;
|
|
1170
|
+
readonly properties: {
|
|
1171
|
+
readonly child: {
|
|
1172
|
+
readonly type: "string";
|
|
1173
|
+
readonly description: "The ID of the component to display in the button, typically a Text component.";
|
|
1174
|
+
};
|
|
1175
|
+
readonly primary: {
|
|
1176
|
+
readonly type: "boolean";
|
|
1177
|
+
readonly description: "Indicates if this button should be styled as the primary action.";
|
|
1178
|
+
};
|
|
1179
|
+
readonly action: {
|
|
1180
|
+
readonly type: "object";
|
|
1181
|
+
readonly description: "The client-side action to be dispatched when the button is clicked. It includes the action's name and an optional context payload.";
|
|
1182
|
+
readonly additionalProperties: false;
|
|
1183
|
+
readonly properties: {
|
|
1184
|
+
readonly name: {
|
|
1185
|
+
readonly type: "string";
|
|
1186
|
+
};
|
|
1187
|
+
readonly context: {
|
|
1188
|
+
readonly type: "array";
|
|
1189
|
+
readonly items: {
|
|
1190
|
+
readonly type: "object";
|
|
1191
|
+
readonly additionalProperties: false;
|
|
1192
|
+
readonly properties: {
|
|
1193
|
+
readonly key: {
|
|
1194
|
+
readonly type: "string";
|
|
1195
|
+
};
|
|
1196
|
+
readonly value: {
|
|
1197
|
+
readonly type: "object";
|
|
1198
|
+
readonly description: "Defines the value to be included in the context as either a literal value or a path to a data model value (e.g. '/user/name').";
|
|
1199
|
+
readonly additionalProperties: false;
|
|
1200
|
+
readonly properties: {
|
|
1201
|
+
readonly path: {
|
|
1202
|
+
readonly type: "string";
|
|
1203
|
+
};
|
|
1204
|
+
readonly literalString: {
|
|
1205
|
+
readonly type: "string";
|
|
1206
|
+
};
|
|
1207
|
+
readonly literalNumber: {
|
|
1208
|
+
readonly type: "number";
|
|
1209
|
+
};
|
|
1210
|
+
readonly literalBoolean: {
|
|
1211
|
+
readonly type: "boolean";
|
|
1212
|
+
};
|
|
1213
|
+
};
|
|
1214
|
+
};
|
|
1215
|
+
};
|
|
1216
|
+
readonly required: readonly ["key", "value"];
|
|
1217
|
+
};
|
|
1218
|
+
};
|
|
1219
|
+
};
|
|
1220
|
+
readonly required: readonly ["name"];
|
|
1221
|
+
};
|
|
1222
|
+
};
|
|
1223
|
+
readonly required: readonly ["child", "action"];
|
|
1224
|
+
};
|
|
1225
|
+
readonly CheckBox: {
|
|
1226
|
+
readonly type: "object";
|
|
1227
|
+
readonly additionalProperties: false;
|
|
1228
|
+
readonly properties: {
|
|
1229
|
+
readonly label: {
|
|
1230
|
+
readonly type: "object";
|
|
1231
|
+
readonly description: "The text to display next to the checkbox. Defines the value as either a literal value or a path to data model ('path', e.g. '/option/label').";
|
|
1232
|
+
readonly additionalProperties: false;
|
|
1233
|
+
readonly properties: {
|
|
1234
|
+
readonly literalString: {
|
|
1235
|
+
readonly type: "string";
|
|
1236
|
+
};
|
|
1237
|
+
readonly path: {
|
|
1238
|
+
readonly type: "string";
|
|
1239
|
+
};
|
|
1240
|
+
};
|
|
1241
|
+
};
|
|
1242
|
+
readonly value: {
|
|
1243
|
+
readonly type: "object";
|
|
1244
|
+
readonly description: "The current state of the checkbox (true for checked, false for unchecked). This can be a literal boolean ('literalBoolean') or a reference to a value in the data model ('path', e.g. '/filter/open').";
|
|
1245
|
+
readonly additionalProperties: false;
|
|
1246
|
+
readonly properties: {
|
|
1247
|
+
readonly literalBoolean: {
|
|
1248
|
+
readonly type: "boolean";
|
|
1249
|
+
};
|
|
1250
|
+
readonly path: {
|
|
1251
|
+
readonly type: "string";
|
|
1252
|
+
};
|
|
1253
|
+
};
|
|
1254
|
+
};
|
|
1255
|
+
};
|
|
1256
|
+
readonly required: readonly ["label", "value"];
|
|
1257
|
+
};
|
|
1258
|
+
readonly TextField: {
|
|
1259
|
+
readonly type: "object";
|
|
1260
|
+
readonly additionalProperties: false;
|
|
1261
|
+
readonly properties: {
|
|
1262
|
+
readonly label: {
|
|
1263
|
+
readonly type: "object";
|
|
1264
|
+
readonly description: "The text label for the input field. This can be a literal string or a reference to a value in the data model ('path, e.g. '/user/name').";
|
|
1265
|
+
readonly additionalProperties: false;
|
|
1266
|
+
readonly properties: {
|
|
1267
|
+
readonly literalString: {
|
|
1268
|
+
readonly type: "string";
|
|
1269
|
+
};
|
|
1270
|
+
readonly path: {
|
|
1271
|
+
readonly type: "string";
|
|
1272
|
+
};
|
|
1273
|
+
};
|
|
1274
|
+
};
|
|
1275
|
+
readonly text: {
|
|
1276
|
+
readonly type: "object";
|
|
1277
|
+
readonly description: "The value of the text field. This can be a literal string or a reference to a value in the data model ('path', e.g. '/user/name').";
|
|
1278
|
+
readonly additionalProperties: false;
|
|
1279
|
+
readonly properties: {
|
|
1280
|
+
readonly literalString: {
|
|
1281
|
+
readonly type: "string";
|
|
1282
|
+
};
|
|
1283
|
+
readonly path: {
|
|
1284
|
+
readonly type: "string";
|
|
1285
|
+
};
|
|
1286
|
+
};
|
|
1287
|
+
};
|
|
1288
|
+
readonly textFieldType: {
|
|
1289
|
+
readonly type: "string";
|
|
1290
|
+
readonly description: "The type of input field to display.";
|
|
1291
|
+
readonly enum: readonly ["date", "longText", "number", "shortText", "obscured"];
|
|
1292
|
+
};
|
|
1293
|
+
readonly validationRegexp: {
|
|
1294
|
+
readonly type: "string";
|
|
1295
|
+
readonly description: "A regular expression used for client-side validation of the input.";
|
|
1296
|
+
};
|
|
1297
|
+
};
|
|
1298
|
+
readonly required: readonly ["label"];
|
|
1299
|
+
};
|
|
1300
|
+
readonly DateTimeInput: {
|
|
1301
|
+
readonly type: "object";
|
|
1302
|
+
readonly additionalProperties: false;
|
|
1303
|
+
readonly properties: {
|
|
1304
|
+
readonly value: {
|
|
1305
|
+
readonly type: "object";
|
|
1306
|
+
readonly description: "The selected date and/or time value in ISO 8601 format. This can be a literal string ('literalString') or a reference to a value in the data model ('path', e.g. '/user/dob').";
|
|
1307
|
+
readonly additionalProperties: false;
|
|
1308
|
+
readonly properties: {
|
|
1309
|
+
readonly literalString: {
|
|
1310
|
+
readonly type: "string";
|
|
1311
|
+
};
|
|
1312
|
+
readonly path: {
|
|
1313
|
+
readonly type: "string";
|
|
1314
|
+
};
|
|
1315
|
+
};
|
|
1316
|
+
};
|
|
1317
|
+
readonly enableDate: {
|
|
1318
|
+
readonly type: "boolean";
|
|
1319
|
+
readonly description: "If true, allows the user to select a date.";
|
|
1320
|
+
};
|
|
1321
|
+
readonly enableTime: {
|
|
1322
|
+
readonly type: "boolean";
|
|
1323
|
+
readonly description: "If true, allows the user to select a time.";
|
|
1324
|
+
};
|
|
1325
|
+
};
|
|
1326
|
+
readonly required: readonly ["value"];
|
|
1327
|
+
};
|
|
1328
|
+
readonly MultipleChoice: {
|
|
1329
|
+
readonly type: "object";
|
|
1330
|
+
readonly additionalProperties: false;
|
|
1331
|
+
readonly properties: {
|
|
1332
|
+
readonly selections: {
|
|
1333
|
+
readonly type: "object";
|
|
1334
|
+
readonly description: "The currently selected values for the component. This can be a literal array of strings or a path to an array in the data model('path', e.g. '/hotel/options').";
|
|
1335
|
+
readonly additionalProperties: false;
|
|
1336
|
+
readonly properties: {
|
|
1337
|
+
readonly literalArray: {
|
|
1338
|
+
readonly type: "array";
|
|
1339
|
+
readonly items: {
|
|
1340
|
+
readonly type: "string";
|
|
1341
|
+
};
|
|
1342
|
+
};
|
|
1343
|
+
readonly path: {
|
|
1344
|
+
readonly type: "string";
|
|
1345
|
+
};
|
|
1346
|
+
};
|
|
1347
|
+
};
|
|
1348
|
+
readonly options: {
|
|
1349
|
+
readonly type: "array";
|
|
1350
|
+
readonly description: "An array of available options for the user to choose from.";
|
|
1351
|
+
readonly items: {
|
|
1352
|
+
readonly type: "object";
|
|
1353
|
+
readonly additionalProperties: false;
|
|
1354
|
+
readonly properties: {
|
|
1355
|
+
readonly label: {
|
|
1356
|
+
readonly type: "object";
|
|
1357
|
+
readonly description: "The text to display for this option. This can be a literal string or a reference to a value in the data model (e.g. '/option/label').";
|
|
1358
|
+
readonly additionalProperties: false;
|
|
1359
|
+
readonly properties: {
|
|
1360
|
+
readonly literalString: {
|
|
1361
|
+
readonly type: "string";
|
|
1362
|
+
};
|
|
1363
|
+
readonly path: {
|
|
1364
|
+
readonly type: "string";
|
|
1365
|
+
};
|
|
1366
|
+
};
|
|
1367
|
+
};
|
|
1368
|
+
readonly value: {
|
|
1369
|
+
readonly type: "string";
|
|
1370
|
+
readonly description: "The value to be associated with this option when selected.";
|
|
1371
|
+
};
|
|
1372
|
+
};
|
|
1373
|
+
readonly required: readonly ["label", "value"];
|
|
1374
|
+
};
|
|
1375
|
+
};
|
|
1376
|
+
readonly maxAllowedSelections: {
|
|
1377
|
+
readonly type: "integer";
|
|
1378
|
+
readonly description: "The maximum number of options that the user is allowed to select.";
|
|
1379
|
+
};
|
|
1380
|
+
readonly variant: {
|
|
1381
|
+
readonly type: "string";
|
|
1382
|
+
readonly enum: readonly ["checkbox", "chips"];
|
|
1383
|
+
readonly description: "The visual variant for the selection UI.";
|
|
1384
|
+
};
|
|
1385
|
+
readonly filterable: {
|
|
1386
|
+
readonly type: "boolean";
|
|
1387
|
+
readonly description: "Whether options can be filtered by typing.";
|
|
1388
|
+
};
|
|
1389
|
+
};
|
|
1390
|
+
readonly required: readonly ["selections", "options"];
|
|
1391
|
+
};
|
|
1392
|
+
readonly Slider: {
|
|
1393
|
+
readonly type: "object";
|
|
1394
|
+
readonly additionalProperties: false;
|
|
1395
|
+
readonly properties: {
|
|
1396
|
+
readonly value: {
|
|
1397
|
+
readonly type: "object";
|
|
1398
|
+
readonly description: "The current value of the slider. This can be a literal number ('literalNumber') or a reference to a value in the data model ('path', e.g. '/restaurant/cost').";
|
|
1399
|
+
readonly additionalProperties: false;
|
|
1400
|
+
readonly properties: {
|
|
1401
|
+
readonly literalNumber: {
|
|
1402
|
+
readonly type: "number";
|
|
1403
|
+
};
|
|
1404
|
+
readonly path: {
|
|
1405
|
+
readonly type: "string";
|
|
1406
|
+
};
|
|
1407
|
+
};
|
|
1408
|
+
};
|
|
1409
|
+
readonly minValue: {
|
|
1410
|
+
readonly type: "number";
|
|
1411
|
+
readonly description: "The minimum value of the slider.";
|
|
1412
|
+
};
|
|
1413
|
+
readonly maxValue: {
|
|
1414
|
+
readonly type: "number";
|
|
1415
|
+
readonly description: "The maximum value of the slider.";
|
|
1416
|
+
};
|
|
1417
|
+
};
|
|
1418
|
+
readonly required: readonly ["value"];
|
|
1419
|
+
};
|
|
1420
|
+
};
|
|
1421
|
+
};
|
|
1422
|
+
};
|
|
1423
|
+
readonly required: readonly ["id", "component"];
|
|
1424
|
+
};
|
|
1425
|
+
};
|
|
1426
|
+
};
|
|
1427
|
+
readonly required: readonly ["surfaceId", "components"];
|
|
1428
|
+
};
|
|
1429
|
+
readonly dataModelUpdate: {
|
|
1430
|
+
readonly type: "object";
|
|
1431
|
+
readonly description: "Updates the data model for a surface.";
|
|
1432
|
+
readonly additionalProperties: false;
|
|
1433
|
+
readonly properties: {
|
|
1434
|
+
readonly surfaceId: {
|
|
1435
|
+
readonly type: "string";
|
|
1436
|
+
readonly description: "The unique identifier for the UI surface this data model update applies to.";
|
|
1437
|
+
};
|
|
1438
|
+
readonly path: {
|
|
1439
|
+
readonly type: "string";
|
|
1440
|
+
readonly description: "An optional path to a location within the data model (e.g., '/user/name'). If omitted, or set to '/', the entire data model will be replaced.";
|
|
1441
|
+
};
|
|
1442
|
+
readonly contents: {
|
|
1443
|
+
readonly type: "array";
|
|
1444
|
+
readonly description: "An array of data entries. Each entry must contain a 'key' and exactly one corresponding typed 'value*' property.";
|
|
1445
|
+
readonly items: {
|
|
1446
|
+
readonly type: "object";
|
|
1447
|
+
readonly description: "A single data entry. Exactly one 'value*' property should be provided alongside the key.";
|
|
1448
|
+
readonly additionalProperties: false;
|
|
1449
|
+
readonly properties: {
|
|
1450
|
+
readonly key: {
|
|
1451
|
+
readonly type: "string";
|
|
1452
|
+
readonly description: "The key for this data entry.";
|
|
1453
|
+
};
|
|
1454
|
+
readonly valueString: {
|
|
1455
|
+
readonly type: "string";
|
|
1456
|
+
};
|
|
1457
|
+
readonly valueNumber: {
|
|
1458
|
+
readonly type: "number";
|
|
1459
|
+
};
|
|
1460
|
+
readonly valueBoolean: {
|
|
1461
|
+
readonly type: "boolean";
|
|
1462
|
+
};
|
|
1463
|
+
readonly valueMap: {
|
|
1464
|
+
readonly description: "Represents a map as an adjacency list.";
|
|
1465
|
+
readonly type: "array";
|
|
1466
|
+
readonly items: {
|
|
1467
|
+
readonly type: "object";
|
|
1468
|
+
readonly description: "One entry in the map. Exactly one 'value*' property should be provided alongside the key.";
|
|
1469
|
+
readonly additionalProperties: false;
|
|
1470
|
+
readonly properties: {
|
|
1471
|
+
readonly key: {
|
|
1472
|
+
readonly type: "string";
|
|
1473
|
+
};
|
|
1474
|
+
readonly valueString: {
|
|
1475
|
+
readonly type: "string";
|
|
1476
|
+
};
|
|
1477
|
+
readonly valueNumber: {
|
|
1478
|
+
readonly type: "number";
|
|
1479
|
+
};
|
|
1480
|
+
readonly valueBoolean: {
|
|
1481
|
+
readonly type: "boolean";
|
|
1482
|
+
};
|
|
1483
|
+
};
|
|
1484
|
+
readonly required: readonly ["key"];
|
|
1485
|
+
};
|
|
1486
|
+
};
|
|
1487
|
+
};
|
|
1488
|
+
readonly required: readonly ["key"];
|
|
1489
|
+
};
|
|
1490
|
+
};
|
|
1491
|
+
};
|
|
1492
|
+
readonly required: readonly ["contents", "surfaceId"];
|
|
1493
|
+
};
|
|
1494
|
+
readonly deleteSurface: {
|
|
1495
|
+
readonly type: "object";
|
|
1496
|
+
readonly description: "Signals the client to delete the surface identified by 'surfaceId'.";
|
|
1497
|
+
readonly additionalProperties: false;
|
|
1498
|
+
readonly properties: {
|
|
1499
|
+
readonly surfaceId: {
|
|
1500
|
+
readonly type: "string";
|
|
1501
|
+
readonly description: "The unique identifier for the UI surface to be deleted.";
|
|
1502
|
+
};
|
|
1503
|
+
};
|
|
1504
|
+
readonly required: readonly ["surfaceId"];
|
|
1505
|
+
};
|
|
1506
|
+
};
|
|
1507
|
+
};
|
|
1508
|
+
};
|
|
1509
|
+
readonly "v0.9": {
|
|
1510
|
+
readonly server_to_client: {
|
|
1511
|
+
readonly $schema: "https://json-schema.org/draft/2020-12/schema";
|
|
1512
|
+
readonly $id: "https://a2ui.org/specification/v0_9/server_to_client.json";
|
|
1513
|
+
readonly title: "A2UI Message Schema";
|
|
1514
|
+
readonly description: "Describes a JSON payload for an A2UI (Agent to UI) message, which is used to dynamically construct and update user interfaces.";
|
|
1515
|
+
readonly type: "object";
|
|
1516
|
+
readonly oneOf: readonly [{
|
|
1517
|
+
readonly $ref: "#/$defs/CreateSurfaceMessage";
|
|
1518
|
+
}, {
|
|
1519
|
+
readonly $ref: "#/$defs/UpdateComponentsMessage";
|
|
1520
|
+
}, {
|
|
1521
|
+
readonly $ref: "#/$defs/UpdateDataModelMessage";
|
|
1522
|
+
}, {
|
|
1523
|
+
readonly $ref: "#/$defs/DeleteSurfaceMessage";
|
|
1524
|
+
}];
|
|
1525
|
+
readonly $defs: {
|
|
1526
|
+
readonly CreateSurfaceMessage: {
|
|
1527
|
+
readonly type: "object";
|
|
1528
|
+
readonly properties: {
|
|
1529
|
+
readonly version: {
|
|
1530
|
+
readonly const: "v0.9";
|
|
1531
|
+
};
|
|
1532
|
+
readonly createSurface: {
|
|
1533
|
+
readonly type: "object";
|
|
1534
|
+
readonly description: "Signals the client to create a new surface and begin rendering it. When this message is sent, the client will expect 'updateComponents' and/or 'updateDataModel' messages for the same surfaceId that define the component tree.";
|
|
1535
|
+
readonly properties: {
|
|
1536
|
+
readonly surfaceId: {
|
|
1537
|
+
readonly type: "string";
|
|
1538
|
+
readonly description: "The unique identifier for the UI surface to be rendered.";
|
|
1539
|
+
};
|
|
1540
|
+
readonly catalogId: {
|
|
1541
|
+
readonly description: "A string that uniquely identifies this catalog. It is recommended to prefix this with an internet domain that you own, to avoid conflicts e.g. mycompany.com:somecatalog'.";
|
|
1542
|
+
readonly type: "string";
|
|
1543
|
+
};
|
|
1544
|
+
readonly theme: {
|
|
1545
|
+
readonly $ref: "basic_catalog.json#/$defs/theme";
|
|
1546
|
+
readonly description: "Theme parameters for the surface (e.g., {'primaryColor': '#FF0000'}). These must validate against the 'theme' schema defined in the catalog.";
|
|
1547
|
+
};
|
|
1548
|
+
readonly sendDataModel: {
|
|
1549
|
+
readonly type: "boolean";
|
|
1550
|
+
readonly description: "If true, the client will send the full data model of this surface in the metadata of every A2A message sent to the server that created the surface. Defaults to false.";
|
|
1551
|
+
};
|
|
1552
|
+
};
|
|
1553
|
+
readonly required: readonly ["surfaceId", "catalogId"];
|
|
1554
|
+
readonly additionalProperties: false;
|
|
1555
|
+
};
|
|
1556
|
+
};
|
|
1557
|
+
readonly required: readonly ["createSurface", "version"];
|
|
1558
|
+
readonly additionalProperties: false;
|
|
1559
|
+
};
|
|
1560
|
+
readonly UpdateComponentsMessage: {
|
|
1561
|
+
readonly type: "object";
|
|
1562
|
+
readonly properties: {
|
|
1563
|
+
readonly version: {
|
|
1564
|
+
readonly const: "v0.9";
|
|
1565
|
+
};
|
|
1566
|
+
readonly updateComponents: {
|
|
1567
|
+
readonly type: "object";
|
|
1568
|
+
readonly description: "Updates a surface with a new set of components. This message can be sent multiple times to update the component tree of an existing surface. One of the components in one of the components lists MUST have an 'id' of 'root' to serve as the root of the component tree. The createSurface message MUST have been previously sent with the 'catalogId' that is in this message.";
|
|
1569
|
+
readonly properties: {
|
|
1570
|
+
readonly surfaceId: {
|
|
1571
|
+
readonly type: "string";
|
|
1572
|
+
readonly description: "The unique identifier for the UI surface to be updated.";
|
|
1573
|
+
};
|
|
1574
|
+
readonly components: {
|
|
1575
|
+
readonly type: "array";
|
|
1576
|
+
readonly description: "A list containing all UI components for the surface.";
|
|
1577
|
+
readonly minItems: 1;
|
|
1578
|
+
readonly items: {
|
|
1579
|
+
readonly $ref: "basic_catalog.json#/$defs/anyComponent";
|
|
1580
|
+
};
|
|
1581
|
+
};
|
|
1582
|
+
};
|
|
1583
|
+
readonly required: readonly ["surfaceId", "components"];
|
|
1584
|
+
readonly additionalProperties: false;
|
|
1585
|
+
};
|
|
1586
|
+
};
|
|
1587
|
+
readonly required: readonly ["updateComponents", "version"];
|
|
1588
|
+
readonly additionalProperties: false;
|
|
1589
|
+
};
|
|
1590
|
+
readonly UpdateDataModelMessage: {
|
|
1591
|
+
readonly type: "object";
|
|
1592
|
+
readonly properties: {
|
|
1593
|
+
readonly version: {
|
|
1594
|
+
readonly const: "v0.9";
|
|
1595
|
+
};
|
|
1596
|
+
readonly updateDataModel: {
|
|
1597
|
+
readonly type: "object";
|
|
1598
|
+
readonly description: "Updates the data model for an existing surface. This message can be sent multiple times to update the data model. The createSurface message MUST have been previously sent with the 'catalogId' that is in this message.";
|
|
1599
|
+
readonly properties: {
|
|
1600
|
+
readonly surfaceId: {
|
|
1601
|
+
readonly type: "string";
|
|
1602
|
+
readonly description: "The unique identifier for the UI surface this data model update applies to.";
|
|
1603
|
+
};
|
|
1604
|
+
readonly path: {
|
|
1605
|
+
readonly type: "string";
|
|
1606
|
+
readonly description: "An optional path to a location within the data model (e.g., '/user/name'). If omitted, or set to '/', refers to the entire data model.";
|
|
1607
|
+
};
|
|
1608
|
+
readonly value: {
|
|
1609
|
+
readonly description: "The data to be updated in the data model. If present, the value at 'path' is replaced (or created). If omitted, the key at 'path' is removed.";
|
|
1610
|
+
readonly additionalProperties: true;
|
|
1611
|
+
};
|
|
1612
|
+
};
|
|
1613
|
+
readonly required: readonly ["surfaceId"];
|
|
1614
|
+
readonly additionalProperties: false;
|
|
1615
|
+
};
|
|
1616
|
+
};
|
|
1617
|
+
readonly required: readonly ["updateDataModel", "version"];
|
|
1618
|
+
readonly additionalProperties: false;
|
|
1619
|
+
};
|
|
1620
|
+
readonly DeleteSurfaceMessage: {
|
|
1621
|
+
readonly type: "object";
|
|
1622
|
+
readonly properties: {
|
|
1623
|
+
readonly version: {
|
|
1624
|
+
readonly const: "v0.9";
|
|
1625
|
+
};
|
|
1626
|
+
readonly deleteSurface: {
|
|
1627
|
+
readonly type: "object";
|
|
1628
|
+
readonly description: "Signals the client to delete the surface identified by 'surfaceId'. The createSurface message MUST have been previously sent with the 'catalogId' that is in this message.";
|
|
1629
|
+
readonly properties: {
|
|
1630
|
+
readonly surfaceId: {
|
|
1631
|
+
readonly type: "string";
|
|
1632
|
+
readonly description: "The unique identifier for the UI surface to be deleted.";
|
|
1633
|
+
};
|
|
1634
|
+
};
|
|
1635
|
+
readonly required: readonly ["surfaceId"];
|
|
1636
|
+
readonly additionalProperties: false;
|
|
1637
|
+
};
|
|
1638
|
+
};
|
|
1639
|
+
readonly required: readonly ["deleteSurface", "version"];
|
|
1640
|
+
readonly additionalProperties: false;
|
|
1641
|
+
};
|
|
1642
|
+
};
|
|
1643
|
+
};
|
|
1644
|
+
readonly client_to_server: {
|
|
1645
|
+
readonly title: "A2UI (Agent to UI) Client-to-Server Event Schema";
|
|
1646
|
+
readonly description: "Describes a JSON payload for a client-to-server event message.";
|
|
1647
|
+
readonly type: "object";
|
|
1648
|
+
readonly minProperties: 2;
|
|
1649
|
+
readonly maxProperties: 2;
|
|
1650
|
+
readonly properties: {
|
|
1651
|
+
readonly version: {
|
|
1652
|
+
readonly const: "v0.9";
|
|
1653
|
+
};
|
|
1654
|
+
readonly action: {
|
|
1655
|
+
readonly type: "object";
|
|
1656
|
+
readonly description: "Reports a user-initiated action from a component.";
|
|
1657
|
+
readonly properties: {
|
|
1658
|
+
readonly name: {
|
|
1659
|
+
readonly type: "string";
|
|
1660
|
+
readonly description: "The name of the action, taken from the component's action.event.name property.";
|
|
1661
|
+
};
|
|
1662
|
+
readonly surfaceId: {
|
|
1663
|
+
readonly type: "string";
|
|
1664
|
+
readonly description: "The id of the surface where the event originated.";
|
|
1665
|
+
};
|
|
1666
|
+
readonly sourceComponentId: {
|
|
1667
|
+
readonly type: "string";
|
|
1668
|
+
readonly description: "The id of the component that triggered the event.";
|
|
1669
|
+
};
|
|
1670
|
+
readonly timestamp: {
|
|
1671
|
+
readonly type: "string";
|
|
1672
|
+
readonly format: "date-time";
|
|
1673
|
+
readonly description: "An ISO 8601 timestamp of when the event occurred.";
|
|
1674
|
+
};
|
|
1675
|
+
readonly context: {
|
|
1676
|
+
readonly type: "object";
|
|
1677
|
+
readonly description: "A JSON object containing the key-value pairs from the component's action.event.context, after resolving all data bindings.";
|
|
1678
|
+
readonly additionalProperties: true;
|
|
1679
|
+
};
|
|
1680
|
+
};
|
|
1681
|
+
readonly required: readonly ["name", "surfaceId", "sourceComponentId", "timestamp", "context"];
|
|
1682
|
+
};
|
|
1683
|
+
readonly error: {
|
|
1684
|
+
readonly description: "Reports a client-side error.";
|
|
1685
|
+
readonly oneOf: readonly [{
|
|
1686
|
+
readonly type: "object";
|
|
1687
|
+
readonly title: "Validation Failed Error";
|
|
1688
|
+
readonly properties: {
|
|
1689
|
+
readonly code: {
|
|
1690
|
+
readonly const: "VALIDATION_FAILED";
|
|
1691
|
+
};
|
|
1692
|
+
readonly surfaceId: {
|
|
1693
|
+
readonly type: "string";
|
|
1694
|
+
readonly description: "The id of the surface where the error occurred.";
|
|
1695
|
+
};
|
|
1696
|
+
readonly path: {
|
|
1697
|
+
readonly type: "string";
|
|
1698
|
+
readonly description: "The JSON pointer to the field that failed validation (e.g. '/components/0/text').";
|
|
1699
|
+
};
|
|
1700
|
+
readonly message: {
|
|
1701
|
+
readonly type: "string";
|
|
1702
|
+
readonly description: "A short one or two sentence description of why validation failed.";
|
|
1703
|
+
};
|
|
1704
|
+
};
|
|
1705
|
+
readonly required: readonly ["code", "path", "message", "surfaceId"];
|
|
1706
|
+
readonly additionalProperties: false;
|
|
1707
|
+
}, {
|
|
1708
|
+
readonly type: "object";
|
|
1709
|
+
readonly title: "Generic Error";
|
|
1710
|
+
readonly properties: {
|
|
1711
|
+
readonly code: {
|
|
1712
|
+
readonly not: {
|
|
1713
|
+
readonly const: "VALIDATION_FAILED";
|
|
1714
|
+
};
|
|
1715
|
+
};
|
|
1716
|
+
readonly message: {
|
|
1717
|
+
readonly type: "string";
|
|
1718
|
+
readonly description: "A short one or two sentence description of why the error occurred.";
|
|
1719
|
+
};
|
|
1720
|
+
readonly surfaceId: {
|
|
1721
|
+
readonly type: "string";
|
|
1722
|
+
readonly description: "The id of the surface where the error occurred.";
|
|
1723
|
+
};
|
|
1724
|
+
};
|
|
1725
|
+
readonly required: readonly ["code", "surfaceId", "message"];
|
|
1726
|
+
readonly additionalProperties: true;
|
|
1727
|
+
}];
|
|
1728
|
+
};
|
|
1729
|
+
};
|
|
1730
|
+
readonly oneOf: readonly [{
|
|
1731
|
+
readonly required: readonly ["action", "version"];
|
|
1732
|
+
}, {
|
|
1733
|
+
readonly required: readonly ["error", "version"];
|
|
1734
|
+
}];
|
|
1735
|
+
};
|
|
1736
|
+
readonly common_types: {
|
|
1737
|
+
readonly $schema: "https://json-schema.org/draft/2020-12/schema";
|
|
1738
|
+
readonly $id: "https://a2ui.org/specification/v0_9/common_types.json";
|
|
1739
|
+
readonly title: "A2UI Common Types";
|
|
1740
|
+
readonly description: "Common type definitions used across A2UI schemas.";
|
|
1741
|
+
readonly $defs: {
|
|
1742
|
+
readonly ComponentId: {
|
|
1743
|
+
readonly type: "string";
|
|
1744
|
+
readonly description: "The unique identifier for a component, used for both definitions and references within the same surface.";
|
|
1745
|
+
};
|
|
1746
|
+
readonly AccessibilityAttributes: {
|
|
1747
|
+
readonly type: "object";
|
|
1748
|
+
readonly description: "Attributes to enhance accessibility when using assistive technologies like screen readers.";
|
|
1749
|
+
readonly properties: {
|
|
1750
|
+
readonly label: {
|
|
1751
|
+
readonly $ref: "#/$defs/DynamicString";
|
|
1752
|
+
readonly description: "A short string, typically 1 to 3 words, used by assistive technologies to convey the purpose or intent of an element. For example, an input field might have an accessible label of 'User ID' or a button might be labeled 'Submit'.";
|
|
1753
|
+
};
|
|
1754
|
+
readonly description: {
|
|
1755
|
+
readonly $ref: "#/$defs/DynamicString";
|
|
1756
|
+
readonly description: "Additional information provided by assistive technologies about an element such as instructions, format requirements, or result of an action. For example, a mute button might have a label of 'Mute' and a description of 'Silences notifications about this conversation'.";
|
|
1757
|
+
};
|
|
1758
|
+
};
|
|
1759
|
+
};
|
|
1760
|
+
readonly ComponentCommon: {
|
|
1761
|
+
readonly type: "object";
|
|
1762
|
+
readonly properties: {
|
|
1763
|
+
readonly id: {
|
|
1764
|
+
readonly $ref: "#/$defs/ComponentId";
|
|
1765
|
+
};
|
|
1766
|
+
readonly accessibility: {
|
|
1767
|
+
readonly $ref: "#/$defs/AccessibilityAttributes";
|
|
1768
|
+
};
|
|
1769
|
+
};
|
|
1770
|
+
readonly required: readonly ["id"];
|
|
1771
|
+
};
|
|
1772
|
+
readonly ChildList: {
|
|
1773
|
+
readonly oneOf: readonly [{
|
|
1774
|
+
readonly type: "array";
|
|
1775
|
+
readonly items: {
|
|
1776
|
+
readonly $ref: "#/$defs/ComponentId";
|
|
1777
|
+
};
|
|
1778
|
+
readonly description: "A static list of child component IDs.";
|
|
1779
|
+
}, {
|
|
1780
|
+
readonly type: "object";
|
|
1781
|
+
readonly description: "A template for generating a dynamic list of children from a data model list. The `componentId` is the component to use as a template.";
|
|
1782
|
+
readonly properties: {
|
|
1783
|
+
readonly componentId: {
|
|
1784
|
+
readonly $ref: "#/$defs/ComponentId";
|
|
1785
|
+
};
|
|
1786
|
+
readonly path: {
|
|
1787
|
+
readonly type: "string";
|
|
1788
|
+
readonly description: "The path to the list of component property objects in the data model.";
|
|
1789
|
+
};
|
|
1790
|
+
};
|
|
1791
|
+
readonly required: readonly ["componentId", "path"];
|
|
1792
|
+
readonly additionalProperties: false;
|
|
1793
|
+
}];
|
|
1794
|
+
};
|
|
1795
|
+
readonly DataBinding: {
|
|
1796
|
+
readonly type: "object";
|
|
1797
|
+
readonly properties: {
|
|
1798
|
+
readonly path: {
|
|
1799
|
+
readonly type: "string";
|
|
1800
|
+
readonly description: "A JSON Pointer path to a value in the data model.";
|
|
1801
|
+
};
|
|
1802
|
+
};
|
|
1803
|
+
readonly required: readonly ["path"];
|
|
1804
|
+
readonly additionalProperties: false;
|
|
1805
|
+
};
|
|
1806
|
+
readonly DynamicValue: {
|
|
1807
|
+
readonly description: "A value that can be a literal, a path, or a function call returning any type.";
|
|
1808
|
+
readonly oneOf: readonly [{
|
|
1809
|
+
readonly type: "string";
|
|
1810
|
+
}, {
|
|
1811
|
+
readonly type: "number";
|
|
1812
|
+
}, {
|
|
1813
|
+
readonly type: "boolean";
|
|
1814
|
+
}, {
|
|
1815
|
+
readonly type: "array";
|
|
1816
|
+
}, {
|
|
1817
|
+
readonly $ref: "#/$defs/DataBinding";
|
|
1818
|
+
}, {
|
|
1819
|
+
readonly $ref: "#/$defs/FunctionCall";
|
|
1820
|
+
}];
|
|
1821
|
+
};
|
|
1822
|
+
readonly DynamicString: {
|
|
1823
|
+
readonly description: "Represents a string";
|
|
1824
|
+
readonly oneOf: readonly [{
|
|
1825
|
+
readonly type: "string";
|
|
1826
|
+
}, {
|
|
1827
|
+
readonly $ref: "#/$defs/DataBinding";
|
|
1828
|
+
}, {
|
|
1829
|
+
readonly allOf: readonly [{
|
|
1830
|
+
readonly $ref: "#/$defs/FunctionCall";
|
|
1831
|
+
}, {
|
|
1832
|
+
readonly properties: {
|
|
1833
|
+
readonly returnType: {
|
|
1834
|
+
readonly const: "string";
|
|
1835
|
+
};
|
|
1836
|
+
};
|
|
1837
|
+
}];
|
|
1838
|
+
}];
|
|
1839
|
+
};
|
|
1840
|
+
readonly DynamicNumber: {
|
|
1841
|
+
readonly description: "Represents a value that can be either a literal number, a path to a number in the data model, or a function call returning a number.";
|
|
1842
|
+
readonly oneOf: readonly [{
|
|
1843
|
+
readonly type: "number";
|
|
1844
|
+
}, {
|
|
1845
|
+
readonly $ref: "#/$defs/DataBinding";
|
|
1846
|
+
}, {
|
|
1847
|
+
readonly allOf: readonly [{
|
|
1848
|
+
readonly $ref: "#/$defs/FunctionCall";
|
|
1849
|
+
}, {
|
|
1850
|
+
readonly properties: {
|
|
1851
|
+
readonly returnType: {
|
|
1852
|
+
readonly const: "number";
|
|
1853
|
+
};
|
|
1854
|
+
};
|
|
1855
|
+
}];
|
|
1856
|
+
}];
|
|
1857
|
+
};
|
|
1858
|
+
readonly DynamicBoolean: {
|
|
1859
|
+
readonly description: "A boolean value that can be a literal, a path, or a function call returning a boolean.";
|
|
1860
|
+
readonly oneOf: readonly [{
|
|
1861
|
+
readonly type: "boolean";
|
|
1862
|
+
}, {
|
|
1863
|
+
readonly $ref: "#/$defs/DataBinding";
|
|
1864
|
+
}, {
|
|
1865
|
+
readonly allOf: readonly [{
|
|
1866
|
+
readonly $ref: "#/$defs/FunctionCall";
|
|
1867
|
+
}, {
|
|
1868
|
+
readonly properties: {
|
|
1869
|
+
readonly returnType: {
|
|
1870
|
+
readonly const: "boolean";
|
|
1871
|
+
};
|
|
1872
|
+
};
|
|
1873
|
+
}];
|
|
1874
|
+
}];
|
|
1875
|
+
};
|
|
1876
|
+
readonly DynamicStringList: {
|
|
1877
|
+
readonly description: "Represents a value that can be either a literal array of strings, a path to a string array in the data model, or a function call returning a string array.";
|
|
1878
|
+
readonly oneOf: readonly [{
|
|
1879
|
+
readonly type: "array";
|
|
1880
|
+
readonly items: {
|
|
1881
|
+
readonly type: "string";
|
|
1882
|
+
};
|
|
1883
|
+
}, {
|
|
1884
|
+
readonly $ref: "#/$defs/DataBinding";
|
|
1885
|
+
}, {
|
|
1886
|
+
readonly allOf: readonly [{
|
|
1887
|
+
readonly $ref: "#/$defs/FunctionCall";
|
|
1888
|
+
}, {
|
|
1889
|
+
readonly properties: {
|
|
1890
|
+
readonly returnType: {
|
|
1891
|
+
readonly const: "array";
|
|
1892
|
+
};
|
|
1893
|
+
};
|
|
1894
|
+
}];
|
|
1895
|
+
}];
|
|
1896
|
+
};
|
|
1897
|
+
readonly FunctionCall: {
|
|
1898
|
+
readonly type: "object";
|
|
1899
|
+
readonly description: "Invokes a named function on the client.";
|
|
1900
|
+
readonly properties: {
|
|
1901
|
+
readonly call: {
|
|
1902
|
+
readonly type: "string";
|
|
1903
|
+
readonly description: "The name of the function to call.";
|
|
1904
|
+
};
|
|
1905
|
+
readonly args: {
|
|
1906
|
+
readonly type: "object";
|
|
1907
|
+
readonly description: "Arguments passed to the function.";
|
|
1908
|
+
readonly additionalProperties: {
|
|
1909
|
+
readonly anyOf: readonly [{
|
|
1910
|
+
readonly $ref: "#/$defs/DynamicValue";
|
|
1911
|
+
}, {
|
|
1912
|
+
readonly type: "object";
|
|
1913
|
+
readonly description: "A literal object argument (e.g. configuration).";
|
|
1914
|
+
}];
|
|
1915
|
+
};
|
|
1916
|
+
};
|
|
1917
|
+
readonly returnType: {
|
|
1918
|
+
readonly type: "string";
|
|
1919
|
+
readonly description: "The expected return type of the function call.";
|
|
1920
|
+
readonly enum: readonly ["string", "number", "boolean", "array", "object", "any", "void"];
|
|
1921
|
+
readonly default: "boolean";
|
|
1922
|
+
};
|
|
1923
|
+
};
|
|
1924
|
+
readonly required: readonly ["call"];
|
|
1925
|
+
readonly oneOf: readonly [{
|
|
1926
|
+
readonly $ref: "basic_catalog.json#/$defs/anyFunction";
|
|
1927
|
+
}];
|
|
1928
|
+
};
|
|
1929
|
+
readonly CheckRule: {
|
|
1930
|
+
readonly type: "object";
|
|
1931
|
+
readonly description: "A single validation rule applied to an input component.";
|
|
1932
|
+
readonly properties: {
|
|
1933
|
+
readonly condition: {
|
|
1934
|
+
readonly $ref: "#/$defs/DynamicBoolean";
|
|
1935
|
+
};
|
|
1936
|
+
readonly message: {
|
|
1937
|
+
readonly type: "string";
|
|
1938
|
+
readonly description: "The error message to display if the check fails.";
|
|
1939
|
+
};
|
|
1940
|
+
};
|
|
1941
|
+
readonly required: readonly ["condition", "message"];
|
|
1942
|
+
readonly additionalProperties: false;
|
|
1943
|
+
};
|
|
1944
|
+
readonly Checkable: {
|
|
1945
|
+
readonly description: "Properties for components that support client-side checks.";
|
|
1946
|
+
readonly type: "object";
|
|
1947
|
+
readonly properties: {
|
|
1948
|
+
readonly checks: {
|
|
1949
|
+
readonly type: "array";
|
|
1950
|
+
readonly description: "A list of checks to perform. These are function calls that must return a boolean indicating validity.";
|
|
1951
|
+
readonly items: {
|
|
1952
|
+
readonly $ref: "#/$defs/CheckRule";
|
|
1953
|
+
};
|
|
1954
|
+
};
|
|
1955
|
+
};
|
|
1956
|
+
};
|
|
1957
|
+
readonly Action: {
|
|
1958
|
+
readonly description: "Defines an interaction handler that can either trigger a server-side event or execute a local client-side function.";
|
|
1959
|
+
readonly oneOf: readonly [{
|
|
1960
|
+
readonly type: "object";
|
|
1961
|
+
readonly description: "Triggers a server-side event.";
|
|
1962
|
+
readonly properties: {
|
|
1963
|
+
readonly event: {
|
|
1964
|
+
readonly type: "object";
|
|
1965
|
+
readonly description: "The event to dispatch to the server.";
|
|
1966
|
+
readonly properties: {
|
|
1967
|
+
readonly name: {
|
|
1968
|
+
readonly type: "string";
|
|
1969
|
+
readonly description: "The name of the action to be dispatched to the server.";
|
|
1970
|
+
};
|
|
1971
|
+
readonly context: {
|
|
1972
|
+
readonly type: "object";
|
|
1973
|
+
readonly description: "A JSON object containing the key-value pairs for the action context. Values can be literals or paths. Use literal values unless the value must be dynamically bound to the data model. Do NOT use paths for static IDs.";
|
|
1974
|
+
readonly additionalProperties: {
|
|
1975
|
+
readonly $ref: "#/$defs/DynamicValue";
|
|
1976
|
+
};
|
|
1977
|
+
};
|
|
1978
|
+
};
|
|
1979
|
+
readonly required: readonly ["name"];
|
|
1980
|
+
readonly additionalProperties: false;
|
|
1981
|
+
};
|
|
1982
|
+
};
|
|
1983
|
+
readonly required: readonly ["event"];
|
|
1984
|
+
readonly additionalProperties: false;
|
|
1985
|
+
}, {
|
|
1986
|
+
readonly type: "object";
|
|
1987
|
+
readonly description: "Executes a local client-side function.";
|
|
1988
|
+
readonly properties: {
|
|
1989
|
+
readonly functionCall: {
|
|
1990
|
+
readonly $ref: "#/$defs/FunctionCall";
|
|
1991
|
+
};
|
|
1992
|
+
};
|
|
1993
|
+
readonly required: readonly ["functionCall"];
|
|
1994
|
+
readonly additionalProperties: false;
|
|
1995
|
+
}];
|
|
1996
|
+
};
|
|
1997
|
+
};
|
|
1998
|
+
};
|
|
1999
|
+
readonly basic_catalog: {
|
|
2000
|
+
readonly $schema: "https://json-schema.org/draft/2020-12/schema";
|
|
2001
|
+
readonly $id: "https://a2ui.org/specification/v0_9/basic_catalog.json";
|
|
2002
|
+
readonly title: "A2UI Basic Catalog";
|
|
2003
|
+
readonly description: "Unified catalog of basic A2UI components and functions.";
|
|
2004
|
+
readonly catalogId: "https://a2ui.org/specification/v0_9/basic_catalog.json";
|
|
2005
|
+
readonly components: {
|
|
2006
|
+
readonly Text: {
|
|
2007
|
+
readonly type: "object";
|
|
2008
|
+
readonly allOf: readonly [{
|
|
2009
|
+
readonly $ref: "common_types.json#/$defs/ComponentCommon";
|
|
2010
|
+
}, {
|
|
2011
|
+
readonly $ref: "#/$defs/CatalogComponentCommon";
|
|
2012
|
+
}, {
|
|
2013
|
+
readonly type: "object";
|
|
2014
|
+
readonly properties: {
|
|
2015
|
+
readonly component: {
|
|
2016
|
+
readonly const: "Text";
|
|
2017
|
+
};
|
|
2018
|
+
readonly text: {
|
|
2019
|
+
readonly $ref: "common_types.json#/$defs/DynamicString";
|
|
2020
|
+
readonly description: "The text content to display. While simple Markdown formatting is supported (i.e. without HTML, images, or links), utilizing dedicated UI components is generally preferred for a richer and more structured presentation.";
|
|
2021
|
+
};
|
|
2022
|
+
readonly variant: {
|
|
2023
|
+
readonly type: "string";
|
|
2024
|
+
readonly description: "A hint for the base text style.";
|
|
2025
|
+
readonly enum: readonly ["h1", "h2", "h3", "h4", "h5", "caption", "body"];
|
|
2026
|
+
readonly default: "body";
|
|
2027
|
+
};
|
|
2028
|
+
};
|
|
2029
|
+
readonly required: readonly ["component", "text"];
|
|
2030
|
+
}];
|
|
2031
|
+
readonly unevaluatedProperties: false;
|
|
2032
|
+
};
|
|
2033
|
+
readonly Image: {
|
|
2034
|
+
readonly type: "object";
|
|
2035
|
+
readonly allOf: readonly [{
|
|
2036
|
+
readonly $ref: "common_types.json#/$defs/ComponentCommon";
|
|
2037
|
+
}, {
|
|
2038
|
+
readonly $ref: "#/$defs/CatalogComponentCommon";
|
|
2039
|
+
}, {
|
|
2040
|
+
readonly type: "object";
|
|
2041
|
+
readonly properties: {
|
|
2042
|
+
readonly component: {
|
|
2043
|
+
readonly const: "Image";
|
|
2044
|
+
};
|
|
2045
|
+
readonly url: {
|
|
2046
|
+
readonly $ref: "common_types.json#/$defs/DynamicString";
|
|
2047
|
+
readonly description: "The URL of the image to display.";
|
|
2048
|
+
};
|
|
2049
|
+
readonly description: {
|
|
2050
|
+
readonly $ref: "common_types.json#/$defs/DynamicString";
|
|
2051
|
+
readonly description: "Accessibility text for the image.";
|
|
2052
|
+
};
|
|
2053
|
+
readonly fit: {
|
|
2054
|
+
readonly type: "string";
|
|
2055
|
+
readonly description: "Specifies how the image should be resized to fit its container. This corresponds to the CSS 'object-fit' property.";
|
|
2056
|
+
readonly enum: readonly ["contain", "cover", "fill", "none", "scaleDown"];
|
|
2057
|
+
readonly default: "fill";
|
|
2058
|
+
};
|
|
2059
|
+
readonly variant: {
|
|
2060
|
+
readonly type: "string";
|
|
2061
|
+
readonly description: "A hint for the image size and style.";
|
|
2062
|
+
readonly enum: readonly ["icon", "avatar", "smallFeature", "mediumFeature", "largeFeature", "header"];
|
|
2063
|
+
readonly default: "mediumFeature";
|
|
2064
|
+
};
|
|
2065
|
+
};
|
|
2066
|
+
readonly required: readonly ["component", "url"];
|
|
2067
|
+
}];
|
|
2068
|
+
readonly unevaluatedProperties: false;
|
|
2069
|
+
};
|
|
2070
|
+
readonly Icon: {
|
|
2071
|
+
readonly type: "object";
|
|
2072
|
+
readonly allOf: readonly [{
|
|
2073
|
+
readonly $ref: "common_types.json#/$defs/ComponentCommon";
|
|
2074
|
+
}, {
|
|
2075
|
+
readonly $ref: "#/$defs/CatalogComponentCommon";
|
|
2076
|
+
}, {
|
|
2077
|
+
readonly type: "object";
|
|
2078
|
+
readonly properties: {
|
|
2079
|
+
readonly component: {
|
|
2080
|
+
readonly const: "Icon";
|
|
2081
|
+
};
|
|
2082
|
+
readonly name: {
|
|
2083
|
+
readonly description: "The name of the icon to display.";
|
|
2084
|
+
readonly oneOf: readonly [{
|
|
2085
|
+
readonly type: "string";
|
|
2086
|
+
readonly enum: readonly ["accountCircle", "add", "arrowBack", "arrowForward", "attachFile", "calendarToday", "call", "camera", "check", "close", "delete", "download", "edit", "event", "error", "fastForward", "favorite", "favoriteOff", "folder", "help", "home", "info", "locationOn", "lock", "lockOpen", "mail", "menu", "moreVert", "moreHoriz", "notificationsOff", "notifications", "pause", "payment", "person", "phone", "photo", "play", "print", "refresh", "rewind", "search", "send", "settings", "share", "shoppingCart", "skipNext", "skipPrevious", "star", "starHalf", "starOff", "stop", "upload", "visibility", "visibilityOff", "volumeDown", "volumeMute", "volumeOff", "volumeUp", "warning"];
|
|
2087
|
+
}, {
|
|
2088
|
+
readonly type: "object";
|
|
2089
|
+
readonly properties: {
|
|
2090
|
+
readonly path: {
|
|
2091
|
+
readonly type: "string";
|
|
2092
|
+
};
|
|
2093
|
+
};
|
|
2094
|
+
readonly required: readonly ["path"];
|
|
2095
|
+
readonly additionalProperties: false;
|
|
2096
|
+
}];
|
|
2097
|
+
};
|
|
2098
|
+
};
|
|
2099
|
+
readonly required: readonly ["component", "name"];
|
|
2100
|
+
}];
|
|
2101
|
+
readonly unevaluatedProperties: false;
|
|
2102
|
+
};
|
|
2103
|
+
readonly Video: {
|
|
2104
|
+
readonly type: "object";
|
|
2105
|
+
readonly allOf: readonly [{
|
|
2106
|
+
readonly $ref: "common_types.json#/$defs/ComponentCommon";
|
|
2107
|
+
}, {
|
|
2108
|
+
readonly $ref: "#/$defs/CatalogComponentCommon";
|
|
2109
|
+
}, {
|
|
2110
|
+
readonly type: "object";
|
|
2111
|
+
readonly properties: {
|
|
2112
|
+
readonly component: {
|
|
2113
|
+
readonly const: "Video";
|
|
2114
|
+
};
|
|
2115
|
+
readonly url: {
|
|
2116
|
+
readonly $ref: "common_types.json#/$defs/DynamicString";
|
|
2117
|
+
readonly description: "The URL of the video to display.";
|
|
2118
|
+
};
|
|
2119
|
+
};
|
|
2120
|
+
readonly required: readonly ["component", "url"];
|
|
2121
|
+
}];
|
|
2122
|
+
readonly unevaluatedProperties: false;
|
|
2123
|
+
};
|
|
2124
|
+
readonly AudioPlayer: {
|
|
2125
|
+
readonly type: "object";
|
|
2126
|
+
readonly allOf: readonly [{
|
|
2127
|
+
readonly $ref: "common_types.json#/$defs/ComponentCommon";
|
|
2128
|
+
}, {
|
|
2129
|
+
readonly $ref: "#/$defs/CatalogComponentCommon";
|
|
2130
|
+
}, {
|
|
2131
|
+
readonly type: "object";
|
|
2132
|
+
readonly properties: {
|
|
2133
|
+
readonly component: {
|
|
2134
|
+
readonly const: "AudioPlayer";
|
|
2135
|
+
};
|
|
2136
|
+
readonly url: {
|
|
2137
|
+
readonly $ref: "common_types.json#/$defs/DynamicString";
|
|
2138
|
+
readonly description: "The URL of the audio to be played.";
|
|
2139
|
+
};
|
|
2140
|
+
readonly description: {
|
|
2141
|
+
readonly description: "A description of the audio, such as a title or summary.";
|
|
2142
|
+
readonly $ref: "common_types.json#/$defs/DynamicString";
|
|
2143
|
+
};
|
|
2144
|
+
};
|
|
2145
|
+
readonly required: readonly ["component", "url"];
|
|
2146
|
+
}];
|
|
2147
|
+
readonly unevaluatedProperties: false;
|
|
2148
|
+
};
|
|
2149
|
+
readonly Row: {
|
|
2150
|
+
readonly type: "object";
|
|
2151
|
+
readonly allOf: readonly [{
|
|
2152
|
+
readonly $ref: "common_types.json#/$defs/ComponentCommon";
|
|
2153
|
+
}, {
|
|
2154
|
+
readonly $ref: "#/$defs/CatalogComponentCommon";
|
|
2155
|
+
}, {
|
|
2156
|
+
readonly type: "object";
|
|
2157
|
+
readonly description: "A layout component that arranges its children horizontally. To create a grid layout, nest Columns within this Row.";
|
|
2158
|
+
readonly properties: {
|
|
2159
|
+
readonly component: {
|
|
2160
|
+
readonly const: "Row";
|
|
2161
|
+
};
|
|
2162
|
+
readonly children: {
|
|
2163
|
+
readonly description: "Defines the children. Use an array of strings for a fixed set of children, or a template object to generate children from a data list. Children cannot be defined inline, they must be referred to by ID.";
|
|
2164
|
+
readonly $ref: "common_types.json#/$defs/ChildList";
|
|
2165
|
+
};
|
|
2166
|
+
readonly justify: {
|
|
2167
|
+
readonly type: "string";
|
|
2168
|
+
readonly description: "Defines the arrangement of children along the main axis (horizontally). Use 'spaceBetween' to push items to the edges, or 'start'/'end'/'center' to pack them together.";
|
|
2169
|
+
readonly enum: readonly ["center", "end", "spaceAround", "spaceBetween", "spaceEvenly", "start", "stretch"];
|
|
2170
|
+
readonly default: "start";
|
|
2171
|
+
};
|
|
2172
|
+
readonly align: {
|
|
2173
|
+
readonly type: "string";
|
|
2174
|
+
readonly description: "Defines the alignment of children along the cross axis (vertically). This is similar to the CSS 'align-items' property, but uses camelCase values (e.g., 'start').";
|
|
2175
|
+
readonly enum: readonly ["start", "center", "end", "stretch"];
|
|
2176
|
+
readonly default: "stretch";
|
|
2177
|
+
};
|
|
2178
|
+
};
|
|
2179
|
+
readonly required: readonly ["component", "children"];
|
|
2180
|
+
}];
|
|
2181
|
+
readonly unevaluatedProperties: false;
|
|
2182
|
+
};
|
|
2183
|
+
readonly Column: {
|
|
2184
|
+
readonly type: "object";
|
|
2185
|
+
readonly allOf: readonly [{
|
|
2186
|
+
readonly $ref: "common_types.json#/$defs/ComponentCommon";
|
|
2187
|
+
}, {
|
|
2188
|
+
readonly $ref: "#/$defs/CatalogComponentCommon";
|
|
2189
|
+
}, {
|
|
2190
|
+
readonly type: "object";
|
|
2191
|
+
readonly description: "A layout component that arranges its children vertically. To create a grid layout, nest Rows within this Column.";
|
|
2192
|
+
readonly properties: {
|
|
2193
|
+
readonly component: {
|
|
2194
|
+
readonly const: "Column";
|
|
2195
|
+
};
|
|
2196
|
+
readonly children: {
|
|
2197
|
+
readonly description: "Defines the children. Use an array of strings for a fixed set of children, or a template object to generate children from a data list. Children cannot be defined inline, they must be referred to by ID.";
|
|
2198
|
+
readonly $ref: "common_types.json#/$defs/ChildList";
|
|
2199
|
+
};
|
|
2200
|
+
readonly justify: {
|
|
2201
|
+
readonly type: "string";
|
|
2202
|
+
readonly description: "Defines the arrangement of children along the main axis (vertically). Use 'spaceBetween' to push items to the edges (e.g. header at top, footer at bottom), or 'start'/'end'/'center' to pack them together.";
|
|
2203
|
+
readonly enum: readonly ["start", "center", "end", "spaceBetween", "spaceAround", "spaceEvenly", "stretch"];
|
|
2204
|
+
readonly default: "start";
|
|
2205
|
+
};
|
|
2206
|
+
readonly align: {
|
|
2207
|
+
readonly type: "string";
|
|
2208
|
+
readonly description: "Defines the alignment of children along the cross axis (horizontally). This is similar to the CSS 'align-items' property.";
|
|
2209
|
+
readonly enum: readonly ["center", "end", "start", "stretch"];
|
|
2210
|
+
readonly default: "stretch";
|
|
2211
|
+
};
|
|
2212
|
+
};
|
|
2213
|
+
readonly required: readonly ["component", "children"];
|
|
2214
|
+
}];
|
|
2215
|
+
readonly unevaluatedProperties: false;
|
|
2216
|
+
};
|
|
2217
|
+
readonly List: {
|
|
2218
|
+
readonly type: "object";
|
|
2219
|
+
readonly allOf: readonly [{
|
|
2220
|
+
readonly $ref: "common_types.json#/$defs/ComponentCommon";
|
|
2221
|
+
}, {
|
|
2222
|
+
readonly $ref: "#/$defs/CatalogComponentCommon";
|
|
2223
|
+
}, {
|
|
2224
|
+
readonly type: "object";
|
|
2225
|
+
readonly properties: {
|
|
2226
|
+
readonly component: {
|
|
2227
|
+
readonly const: "List";
|
|
2228
|
+
};
|
|
2229
|
+
readonly children: {
|
|
2230
|
+
readonly description: "Defines the children. Use an array of strings for a fixed set of children, or a template object to generate children from a data list.";
|
|
2231
|
+
readonly $ref: "common_types.json#/$defs/ChildList";
|
|
2232
|
+
};
|
|
2233
|
+
readonly direction: {
|
|
2234
|
+
readonly type: "string";
|
|
2235
|
+
readonly description: "The direction in which the list items are laid out.";
|
|
2236
|
+
readonly enum: readonly ["vertical", "horizontal"];
|
|
2237
|
+
readonly default: "vertical";
|
|
2238
|
+
};
|
|
2239
|
+
readonly align: {
|
|
2240
|
+
readonly type: "string";
|
|
2241
|
+
readonly description: "Defines the alignment of children along the cross axis.";
|
|
2242
|
+
readonly enum: readonly ["start", "center", "end", "stretch"];
|
|
2243
|
+
readonly default: "stretch";
|
|
2244
|
+
};
|
|
2245
|
+
};
|
|
2246
|
+
readonly required: readonly ["component", "children"];
|
|
2247
|
+
}];
|
|
2248
|
+
readonly unevaluatedProperties: false;
|
|
2249
|
+
};
|
|
2250
|
+
readonly Card: {
|
|
2251
|
+
readonly type: "object";
|
|
2252
|
+
readonly allOf: readonly [{
|
|
2253
|
+
readonly $ref: "common_types.json#/$defs/ComponentCommon";
|
|
2254
|
+
}, {
|
|
2255
|
+
readonly $ref: "#/$defs/CatalogComponentCommon";
|
|
2256
|
+
}, {
|
|
2257
|
+
readonly type: "object";
|
|
2258
|
+
readonly properties: {
|
|
2259
|
+
readonly component: {
|
|
2260
|
+
readonly const: "Card";
|
|
2261
|
+
};
|
|
2262
|
+
readonly child: {
|
|
2263
|
+
readonly $ref: "common_types.json#/$defs/ComponentId";
|
|
2264
|
+
readonly description: "The ID of the single child component to be rendered inside the card. To display multiple elements, you MUST wrap them in a layout component (like Column or Row) and pass that container's ID here. Do NOT pass multiple IDs or a non-existent ID. Do NOT define the child component inline.";
|
|
2265
|
+
};
|
|
2266
|
+
};
|
|
2267
|
+
readonly required: readonly ["component", "child"];
|
|
2268
|
+
}];
|
|
2269
|
+
readonly unevaluatedProperties: false;
|
|
2270
|
+
};
|
|
2271
|
+
readonly Tabs: {
|
|
2272
|
+
readonly type: "object";
|
|
2273
|
+
readonly allOf: readonly [{
|
|
2274
|
+
readonly $ref: "common_types.json#/$defs/ComponentCommon";
|
|
2275
|
+
}, {
|
|
2276
|
+
readonly $ref: "#/$defs/CatalogComponentCommon";
|
|
2277
|
+
}, {
|
|
2278
|
+
readonly type: "object";
|
|
2279
|
+
readonly properties: {
|
|
2280
|
+
readonly component: {
|
|
2281
|
+
readonly const: "Tabs";
|
|
2282
|
+
};
|
|
2283
|
+
readonly tabs: {
|
|
2284
|
+
readonly type: "array";
|
|
2285
|
+
readonly description: "An array of objects, where each object defines a tab with a title and a child component.";
|
|
2286
|
+
readonly minItems: 1;
|
|
2287
|
+
readonly items: {
|
|
2288
|
+
readonly type: "object";
|
|
2289
|
+
readonly properties: {
|
|
2290
|
+
readonly title: {
|
|
2291
|
+
readonly description: "The tab title.";
|
|
2292
|
+
readonly $ref: "common_types.json#/$defs/DynamicString";
|
|
2293
|
+
};
|
|
2294
|
+
readonly child: {
|
|
2295
|
+
readonly $ref: "common_types.json#/$defs/ComponentId";
|
|
2296
|
+
readonly description: "The ID of the child component. Do NOT define the component inline.";
|
|
2297
|
+
};
|
|
2298
|
+
};
|
|
2299
|
+
readonly required: readonly ["title", "child"];
|
|
2300
|
+
readonly additionalProperties: false;
|
|
2301
|
+
};
|
|
2302
|
+
};
|
|
2303
|
+
};
|
|
2304
|
+
readonly required: readonly ["component", "tabs"];
|
|
2305
|
+
}];
|
|
2306
|
+
readonly unevaluatedProperties: false;
|
|
2307
|
+
};
|
|
2308
|
+
readonly Modal: {
|
|
2309
|
+
readonly type: "object";
|
|
2310
|
+
readonly allOf: readonly [{
|
|
2311
|
+
readonly $ref: "common_types.json#/$defs/ComponentCommon";
|
|
2312
|
+
}, {
|
|
2313
|
+
readonly $ref: "#/$defs/CatalogComponentCommon";
|
|
2314
|
+
}, {
|
|
2315
|
+
readonly type: "object";
|
|
2316
|
+
readonly properties: {
|
|
2317
|
+
readonly component: {
|
|
2318
|
+
readonly const: "Modal";
|
|
2319
|
+
};
|
|
2320
|
+
readonly trigger: {
|
|
2321
|
+
readonly $ref: "common_types.json#/$defs/ComponentId";
|
|
2322
|
+
readonly description: "The ID of the component that opens the modal when interacted with (e.g., a button). Do NOT define the component inline.";
|
|
2323
|
+
};
|
|
2324
|
+
readonly content: {
|
|
2325
|
+
readonly $ref: "common_types.json#/$defs/ComponentId";
|
|
2326
|
+
readonly description: "The ID of the component to be displayed inside the modal. Do NOT define the component inline.";
|
|
2327
|
+
};
|
|
2328
|
+
};
|
|
2329
|
+
readonly required: readonly ["component", "trigger", "content"];
|
|
2330
|
+
}];
|
|
2331
|
+
readonly unevaluatedProperties: false;
|
|
2332
|
+
};
|
|
2333
|
+
readonly Divider: {
|
|
2334
|
+
readonly type: "object";
|
|
2335
|
+
readonly allOf: readonly [{
|
|
2336
|
+
readonly $ref: "common_types.json#/$defs/ComponentCommon";
|
|
2337
|
+
}, {
|
|
2338
|
+
readonly $ref: "#/$defs/CatalogComponentCommon";
|
|
2339
|
+
}, {
|
|
2340
|
+
readonly type: "object";
|
|
2341
|
+
readonly properties: {
|
|
2342
|
+
readonly component: {
|
|
2343
|
+
readonly const: "Divider";
|
|
2344
|
+
};
|
|
2345
|
+
readonly axis: {
|
|
2346
|
+
readonly type: "string";
|
|
2347
|
+
readonly description: "The orientation of the divider.";
|
|
2348
|
+
readonly enum: readonly ["horizontal", "vertical"];
|
|
2349
|
+
readonly default: "horizontal";
|
|
2350
|
+
};
|
|
2351
|
+
};
|
|
2352
|
+
readonly required: readonly ["component"];
|
|
2353
|
+
}];
|
|
2354
|
+
readonly unevaluatedProperties: false;
|
|
2355
|
+
};
|
|
2356
|
+
readonly Button: {
|
|
2357
|
+
readonly type: "object";
|
|
2358
|
+
readonly allOf: readonly [{
|
|
2359
|
+
readonly $ref: "common_types.json#/$defs/ComponentCommon";
|
|
2360
|
+
}, {
|
|
2361
|
+
readonly $ref: "#/$defs/CatalogComponentCommon";
|
|
2362
|
+
}, {
|
|
2363
|
+
readonly $ref: "common_types.json#/$defs/Checkable";
|
|
2364
|
+
}, {
|
|
2365
|
+
readonly type: "object";
|
|
2366
|
+
readonly properties: {
|
|
2367
|
+
readonly component: {
|
|
2368
|
+
readonly const: "Button";
|
|
2369
|
+
};
|
|
2370
|
+
readonly child: {
|
|
2371
|
+
readonly $ref: "common_types.json#/$defs/ComponentId";
|
|
2372
|
+
readonly description: "The ID of the child component. Use a 'Text' component for a labeled button. Only use an 'Icon' if the requirements explicitly ask for an icon-only button. Do NOT define the child component inline.";
|
|
2373
|
+
};
|
|
2374
|
+
readonly variant: {
|
|
2375
|
+
readonly type: "string";
|
|
2376
|
+
readonly description: "A hint for the button style. If omitted, a default button style is used. 'primary' indicates this is the main call-to-action button. 'borderless' means the button has no visual border or background, making its child content appear like a clickable link.";
|
|
2377
|
+
readonly enum: readonly ["default", "primary", "borderless"];
|
|
2378
|
+
readonly default: "default";
|
|
2379
|
+
};
|
|
2380
|
+
readonly action: {
|
|
2381
|
+
readonly $ref: "common_types.json#/$defs/Action";
|
|
2382
|
+
};
|
|
2383
|
+
};
|
|
2384
|
+
readonly required: readonly ["component", "child", "action"];
|
|
2385
|
+
}];
|
|
2386
|
+
readonly unevaluatedProperties: false;
|
|
2387
|
+
};
|
|
2388
|
+
readonly TextField: {
|
|
2389
|
+
readonly type: "object";
|
|
2390
|
+
readonly allOf: readonly [{
|
|
2391
|
+
readonly $ref: "common_types.json#/$defs/ComponentCommon";
|
|
2392
|
+
}, {
|
|
2393
|
+
readonly $ref: "#/$defs/CatalogComponentCommon";
|
|
2394
|
+
}, {
|
|
2395
|
+
readonly $ref: "common_types.json#/$defs/Checkable";
|
|
2396
|
+
}, {
|
|
2397
|
+
readonly type: "object";
|
|
2398
|
+
readonly properties: {
|
|
2399
|
+
readonly component: {
|
|
2400
|
+
readonly const: "TextField";
|
|
2401
|
+
};
|
|
2402
|
+
readonly label: {
|
|
2403
|
+
readonly $ref: "common_types.json#/$defs/DynamicString";
|
|
2404
|
+
readonly description: "The text label for the input field.";
|
|
2405
|
+
};
|
|
2406
|
+
readonly value: {
|
|
2407
|
+
readonly $ref: "common_types.json#/$defs/DynamicString";
|
|
2408
|
+
readonly description: "The value of the text field.";
|
|
2409
|
+
};
|
|
2410
|
+
readonly variant: {
|
|
2411
|
+
readonly type: "string";
|
|
2412
|
+
readonly description: "The type of input field to display.";
|
|
2413
|
+
readonly enum: readonly ["longText", "number", "shortText", "obscured"];
|
|
2414
|
+
readonly default: "shortText";
|
|
2415
|
+
};
|
|
2416
|
+
readonly validationRegexp: {
|
|
2417
|
+
readonly type: "string";
|
|
2418
|
+
readonly description: "A regular expression used for client-side validation of the input.";
|
|
2419
|
+
};
|
|
2420
|
+
};
|
|
2421
|
+
readonly required: readonly ["component", "label"];
|
|
2422
|
+
}];
|
|
2423
|
+
readonly unevaluatedProperties: false;
|
|
2424
|
+
};
|
|
2425
|
+
readonly CheckBox: {
|
|
2426
|
+
readonly type: "object";
|
|
2427
|
+
readonly allOf: readonly [{
|
|
2428
|
+
readonly $ref: "common_types.json#/$defs/ComponentCommon";
|
|
2429
|
+
}, {
|
|
2430
|
+
readonly $ref: "#/$defs/CatalogComponentCommon";
|
|
2431
|
+
}, {
|
|
2432
|
+
readonly $ref: "common_types.json#/$defs/Checkable";
|
|
2433
|
+
}, {
|
|
2434
|
+
readonly type: "object";
|
|
2435
|
+
readonly properties: {
|
|
2436
|
+
readonly component: {
|
|
2437
|
+
readonly const: "CheckBox";
|
|
2438
|
+
};
|
|
2439
|
+
readonly label: {
|
|
2440
|
+
readonly $ref: "common_types.json#/$defs/DynamicString";
|
|
2441
|
+
readonly description: "The text to display next to the checkbox.";
|
|
2442
|
+
};
|
|
2443
|
+
readonly value: {
|
|
2444
|
+
readonly $ref: "common_types.json#/$defs/DynamicBoolean";
|
|
2445
|
+
readonly description: "The current state of the checkbox (true for checked, false for unchecked).";
|
|
2446
|
+
};
|
|
2447
|
+
};
|
|
2448
|
+
readonly required: readonly ["component", "label", "value"];
|
|
2449
|
+
}];
|
|
2450
|
+
readonly unevaluatedProperties: false;
|
|
2451
|
+
};
|
|
2452
|
+
readonly ChoicePicker: {
|
|
2453
|
+
readonly type: "object";
|
|
2454
|
+
readonly allOf: readonly [{
|
|
2455
|
+
readonly $ref: "common_types.json#/$defs/ComponentCommon";
|
|
2456
|
+
}, {
|
|
2457
|
+
readonly $ref: "#/$defs/CatalogComponentCommon";
|
|
2458
|
+
}, {
|
|
2459
|
+
readonly $ref: "common_types.json#/$defs/Checkable";
|
|
2460
|
+
}, {
|
|
2461
|
+
readonly type: "object";
|
|
2462
|
+
readonly description: "A component that allows selecting one or more options from a list.";
|
|
2463
|
+
readonly properties: {
|
|
2464
|
+
readonly component: {
|
|
2465
|
+
readonly const: "ChoicePicker";
|
|
2466
|
+
};
|
|
2467
|
+
readonly label: {
|
|
2468
|
+
readonly $ref: "common_types.json#/$defs/DynamicString";
|
|
2469
|
+
readonly description: "The label for the group of options.";
|
|
2470
|
+
};
|
|
2471
|
+
readonly variant: {
|
|
2472
|
+
readonly type: "string";
|
|
2473
|
+
readonly description: "A hint for how the choice picker should be displayed and behave.";
|
|
2474
|
+
readonly enum: readonly ["multipleSelection", "mutuallyExclusive"];
|
|
2475
|
+
readonly default: "mutuallyExclusive";
|
|
2476
|
+
};
|
|
2477
|
+
readonly options: {
|
|
2478
|
+
readonly type: "array";
|
|
2479
|
+
readonly description: "The list of available options to choose from.";
|
|
2480
|
+
readonly items: {
|
|
2481
|
+
readonly type: "object";
|
|
2482
|
+
readonly properties: {
|
|
2483
|
+
readonly label: {
|
|
2484
|
+
readonly description: "The text to display for this option.";
|
|
2485
|
+
readonly $ref: "common_types.json#/$defs/DynamicString";
|
|
2486
|
+
};
|
|
2487
|
+
readonly value: {
|
|
2488
|
+
readonly type: "string";
|
|
2489
|
+
readonly description: "The stable value associated with this option.";
|
|
2490
|
+
};
|
|
2491
|
+
};
|
|
2492
|
+
readonly required: readonly ["label", "value"];
|
|
2493
|
+
readonly additionalProperties: false;
|
|
2494
|
+
};
|
|
2495
|
+
};
|
|
2496
|
+
readonly value: {
|
|
2497
|
+
readonly $ref: "common_types.json#/$defs/DynamicStringList";
|
|
2498
|
+
readonly description: "The list of currently selected values. This should be bound to a string array in the data model.";
|
|
2499
|
+
};
|
|
2500
|
+
readonly displayStyle: {
|
|
2501
|
+
readonly type: "string";
|
|
2502
|
+
readonly description: "The display style of the component.";
|
|
2503
|
+
readonly enum: readonly ["checkbox", "chips"];
|
|
2504
|
+
readonly default: "checkbox";
|
|
2505
|
+
};
|
|
2506
|
+
readonly filterable: {
|
|
2507
|
+
readonly type: "boolean";
|
|
2508
|
+
readonly description: "If true, displays a search input to filter the options.";
|
|
2509
|
+
readonly default: false;
|
|
2510
|
+
};
|
|
2511
|
+
};
|
|
2512
|
+
readonly required: readonly ["component", "options", "value"];
|
|
2513
|
+
}];
|
|
2514
|
+
readonly unevaluatedProperties: false;
|
|
2515
|
+
};
|
|
2516
|
+
readonly Slider: {
|
|
2517
|
+
readonly type: "object";
|
|
2518
|
+
readonly allOf: readonly [{
|
|
2519
|
+
readonly $ref: "common_types.json#/$defs/ComponentCommon";
|
|
2520
|
+
}, {
|
|
2521
|
+
readonly $ref: "#/$defs/CatalogComponentCommon";
|
|
2522
|
+
}, {
|
|
2523
|
+
readonly $ref: "common_types.json#/$defs/Checkable";
|
|
2524
|
+
}, {
|
|
2525
|
+
readonly type: "object";
|
|
2526
|
+
readonly properties: {
|
|
2527
|
+
readonly component: {
|
|
2528
|
+
readonly const: "Slider";
|
|
2529
|
+
};
|
|
2530
|
+
readonly label: {
|
|
2531
|
+
readonly $ref: "common_types.json#/$defs/DynamicString";
|
|
2532
|
+
readonly description: "The label for the slider.";
|
|
2533
|
+
};
|
|
2534
|
+
readonly min: {
|
|
2535
|
+
readonly type: "number";
|
|
2536
|
+
readonly description: "The minimum value of the slider.";
|
|
2537
|
+
readonly default: 0;
|
|
2538
|
+
};
|
|
2539
|
+
readonly max: {
|
|
2540
|
+
readonly type: "number";
|
|
2541
|
+
readonly description: "The maximum value of the slider.";
|
|
2542
|
+
};
|
|
2543
|
+
readonly value: {
|
|
2544
|
+
readonly $ref: "common_types.json#/$defs/DynamicNumber";
|
|
2545
|
+
readonly description: "The current value of the slider.";
|
|
2546
|
+
};
|
|
2547
|
+
};
|
|
2548
|
+
readonly required: readonly ["component", "value", "max"];
|
|
2549
|
+
}];
|
|
2550
|
+
readonly unevaluatedProperties: false;
|
|
2551
|
+
};
|
|
2552
|
+
readonly DateTimeInput: {
|
|
2553
|
+
readonly type: "object";
|
|
2554
|
+
readonly allOf: readonly [{
|
|
2555
|
+
readonly $ref: "common_types.json#/$defs/ComponentCommon";
|
|
2556
|
+
}, {
|
|
2557
|
+
readonly $ref: "#/$defs/CatalogComponentCommon";
|
|
2558
|
+
}, {
|
|
2559
|
+
readonly $ref: "common_types.json#/$defs/Checkable";
|
|
2560
|
+
}, {
|
|
2561
|
+
readonly type: "object";
|
|
2562
|
+
readonly properties: {
|
|
2563
|
+
readonly component: {
|
|
2564
|
+
readonly const: "DateTimeInput";
|
|
2565
|
+
};
|
|
2566
|
+
readonly value: {
|
|
2567
|
+
readonly $ref: "common_types.json#/$defs/DynamicString";
|
|
2568
|
+
readonly description: "The selected date and/or time value in ISO 8601 format. If not yet set, initialize with an empty string.";
|
|
2569
|
+
};
|
|
2570
|
+
readonly enableDate: {
|
|
2571
|
+
readonly type: "boolean";
|
|
2572
|
+
readonly description: "If true, allows the user to select a date.";
|
|
2573
|
+
readonly default: false;
|
|
2574
|
+
};
|
|
2575
|
+
readonly enableTime: {
|
|
2576
|
+
readonly type: "boolean";
|
|
2577
|
+
readonly description: "If true, allows the user to select a time.";
|
|
2578
|
+
readonly default: false;
|
|
2579
|
+
};
|
|
2580
|
+
readonly min: {
|
|
2581
|
+
readonly allOf: readonly [{
|
|
2582
|
+
readonly $ref: "common_types.json#/$defs/DynamicString";
|
|
2583
|
+
}, {
|
|
2584
|
+
readonly if: {
|
|
2585
|
+
readonly type: "string";
|
|
2586
|
+
};
|
|
2587
|
+
readonly then: {
|
|
2588
|
+
readonly oneOf: readonly [{
|
|
2589
|
+
readonly format: "date";
|
|
2590
|
+
}, {
|
|
2591
|
+
readonly format: "time";
|
|
2592
|
+
}, {
|
|
2593
|
+
readonly format: "date-time";
|
|
2594
|
+
}];
|
|
2595
|
+
};
|
|
2596
|
+
}];
|
|
2597
|
+
readonly description: "The minimum allowed date/time in ISO 8601 format.";
|
|
2598
|
+
};
|
|
2599
|
+
readonly max: {
|
|
2600
|
+
readonly allOf: readonly [{
|
|
2601
|
+
readonly $ref: "common_types.json#/$defs/DynamicString";
|
|
2602
|
+
}, {
|
|
2603
|
+
readonly if: {
|
|
2604
|
+
readonly type: "string";
|
|
2605
|
+
};
|
|
2606
|
+
readonly then: {
|
|
2607
|
+
readonly oneOf: readonly [{
|
|
2608
|
+
readonly format: "date";
|
|
2609
|
+
}, {
|
|
2610
|
+
readonly format: "time";
|
|
2611
|
+
}, {
|
|
2612
|
+
readonly format: "date-time";
|
|
2613
|
+
}];
|
|
2614
|
+
};
|
|
2615
|
+
}];
|
|
2616
|
+
readonly description: "The maximum allowed date/time in ISO 8601 format.";
|
|
2617
|
+
};
|
|
2618
|
+
readonly label: {
|
|
2619
|
+
readonly $ref: "common_types.json#/$defs/DynamicString";
|
|
2620
|
+
readonly description: "The text label for the input field.";
|
|
2621
|
+
};
|
|
2622
|
+
};
|
|
2623
|
+
readonly required: readonly ["component", "value"];
|
|
2624
|
+
}];
|
|
2625
|
+
readonly unevaluatedProperties: false;
|
|
2626
|
+
};
|
|
2627
|
+
};
|
|
2628
|
+
readonly functions: {
|
|
2629
|
+
readonly required: {
|
|
2630
|
+
readonly type: "object";
|
|
2631
|
+
readonly description: "Checks that the value is not null, undefined, or empty.";
|
|
2632
|
+
readonly properties: {
|
|
2633
|
+
readonly call: {
|
|
2634
|
+
readonly const: "required";
|
|
2635
|
+
};
|
|
2636
|
+
readonly args: {
|
|
2637
|
+
readonly type: "object";
|
|
2638
|
+
readonly properties: {
|
|
2639
|
+
readonly value: {
|
|
2640
|
+
readonly description: "The value to check.";
|
|
2641
|
+
};
|
|
2642
|
+
};
|
|
2643
|
+
readonly required: readonly ["value"];
|
|
2644
|
+
readonly additionalProperties: false;
|
|
2645
|
+
};
|
|
2646
|
+
readonly returnType: {
|
|
2647
|
+
readonly const: "boolean";
|
|
2648
|
+
};
|
|
2649
|
+
};
|
|
2650
|
+
readonly required: readonly ["call", "args"];
|
|
2651
|
+
readonly unevaluatedProperties: false;
|
|
2652
|
+
};
|
|
2653
|
+
readonly regex: {
|
|
2654
|
+
readonly type: "object";
|
|
2655
|
+
readonly description: "Checks that the value matches a regular expression string.";
|
|
2656
|
+
readonly properties: {
|
|
2657
|
+
readonly call: {
|
|
2658
|
+
readonly const: "regex";
|
|
2659
|
+
};
|
|
2660
|
+
readonly args: {
|
|
2661
|
+
readonly type: "object";
|
|
2662
|
+
readonly properties: {
|
|
2663
|
+
readonly value: {
|
|
2664
|
+
readonly $ref: "common_types.json#/$defs/DynamicString";
|
|
2665
|
+
};
|
|
2666
|
+
readonly pattern: {
|
|
2667
|
+
readonly type: "string";
|
|
2668
|
+
readonly description: "The regex pattern to match against.";
|
|
2669
|
+
};
|
|
2670
|
+
};
|
|
2671
|
+
readonly required: readonly ["value", "pattern"];
|
|
2672
|
+
readonly unevaluatedProperties: false;
|
|
2673
|
+
};
|
|
2674
|
+
readonly returnType: {
|
|
2675
|
+
readonly const: "boolean";
|
|
2676
|
+
};
|
|
2677
|
+
};
|
|
2678
|
+
readonly required: readonly ["call", "args"];
|
|
2679
|
+
readonly unevaluatedProperties: false;
|
|
2680
|
+
};
|
|
2681
|
+
readonly length: {
|
|
2682
|
+
readonly type: "object";
|
|
2683
|
+
readonly description: "Checks string length constraints.";
|
|
2684
|
+
readonly properties: {
|
|
2685
|
+
readonly call: {
|
|
2686
|
+
readonly const: "length";
|
|
2687
|
+
};
|
|
2688
|
+
readonly args: {
|
|
2689
|
+
readonly type: "object";
|
|
2690
|
+
readonly properties: {
|
|
2691
|
+
readonly value: {
|
|
2692
|
+
readonly $ref: "common_types.json#/$defs/DynamicString";
|
|
2693
|
+
};
|
|
2694
|
+
readonly min: {
|
|
2695
|
+
readonly type: "integer";
|
|
2696
|
+
readonly minimum: 0;
|
|
2697
|
+
readonly description: "The minimum allowed length.";
|
|
2698
|
+
};
|
|
2699
|
+
readonly max: {
|
|
2700
|
+
readonly type: "integer";
|
|
2701
|
+
readonly minimum: 0;
|
|
2702
|
+
readonly description: "The maximum allowed length.";
|
|
2703
|
+
};
|
|
2704
|
+
};
|
|
2705
|
+
readonly required: readonly ["value"];
|
|
2706
|
+
readonly anyOf: readonly [{
|
|
2707
|
+
readonly required: readonly ["min"];
|
|
2708
|
+
}, {
|
|
2709
|
+
readonly required: readonly ["max"];
|
|
2710
|
+
}];
|
|
2711
|
+
readonly unevaluatedProperties: false;
|
|
2712
|
+
};
|
|
2713
|
+
readonly returnType: {
|
|
2714
|
+
readonly const: "boolean";
|
|
2715
|
+
};
|
|
2716
|
+
};
|
|
2717
|
+
readonly required: readonly ["call", "args"];
|
|
2718
|
+
readonly unevaluatedProperties: false;
|
|
2719
|
+
};
|
|
2720
|
+
readonly numeric: {
|
|
2721
|
+
readonly type: "object";
|
|
2722
|
+
readonly description: "Checks numeric range constraints.";
|
|
2723
|
+
readonly properties: {
|
|
2724
|
+
readonly call: {
|
|
2725
|
+
readonly const: "numeric";
|
|
2726
|
+
};
|
|
2727
|
+
readonly args: {
|
|
2728
|
+
readonly type: "object";
|
|
2729
|
+
readonly properties: {
|
|
2730
|
+
readonly value: {
|
|
2731
|
+
readonly $ref: "common_types.json#/$defs/DynamicNumber";
|
|
2732
|
+
};
|
|
2733
|
+
readonly min: {
|
|
2734
|
+
readonly type: "number";
|
|
2735
|
+
readonly description: "The minimum allowed value.";
|
|
2736
|
+
};
|
|
2737
|
+
readonly max: {
|
|
2738
|
+
readonly type: "number";
|
|
2739
|
+
readonly description: "The maximum allowed value.";
|
|
2740
|
+
};
|
|
2741
|
+
};
|
|
2742
|
+
readonly required: readonly ["value"];
|
|
2743
|
+
readonly anyOf: readonly [{
|
|
2744
|
+
readonly required: readonly ["min"];
|
|
2745
|
+
}, {
|
|
2746
|
+
readonly required: readonly ["max"];
|
|
2747
|
+
}];
|
|
2748
|
+
readonly unevaluatedProperties: false;
|
|
2749
|
+
};
|
|
2750
|
+
readonly returnType: {
|
|
2751
|
+
readonly const: "boolean";
|
|
2752
|
+
};
|
|
2753
|
+
};
|
|
2754
|
+
readonly required: readonly ["call", "args"];
|
|
2755
|
+
readonly unevaluatedProperties: false;
|
|
2756
|
+
};
|
|
2757
|
+
readonly email: {
|
|
2758
|
+
readonly type: "object";
|
|
2759
|
+
readonly description: "Checks that the value is a valid email address.";
|
|
2760
|
+
readonly properties: {
|
|
2761
|
+
readonly call: {
|
|
2762
|
+
readonly const: "email";
|
|
2763
|
+
};
|
|
2764
|
+
readonly args: {
|
|
2765
|
+
readonly type: "object";
|
|
2766
|
+
readonly properties: {
|
|
2767
|
+
readonly value: {
|
|
2768
|
+
readonly $ref: "common_types.json#/$defs/DynamicString";
|
|
2769
|
+
};
|
|
2770
|
+
};
|
|
2771
|
+
readonly required: readonly ["value"];
|
|
2772
|
+
readonly unevaluatedProperties: false;
|
|
2773
|
+
};
|
|
2774
|
+
readonly returnType: {
|
|
2775
|
+
readonly const: "boolean";
|
|
2776
|
+
};
|
|
2777
|
+
};
|
|
2778
|
+
readonly required: readonly ["call", "args"];
|
|
2779
|
+
readonly unevaluatedProperties: false;
|
|
2780
|
+
};
|
|
2781
|
+
readonly formatString: {
|
|
2782
|
+
readonly type: "object";
|
|
2783
|
+
readonly description: "Performs string interpolation of data model values and other functions in the catalog functions list and returns the resulting string. The value string can contain interpolated expressions in the `${expression}` format. Supported expression types include: JSON Pointer paths to the data model (e.g., `${/absolute/path}` or `${relative/path}`), and client-side function calls (e.g., `${now()}`). Function arguments must be named (e.g., `${formatDate(value:${/currentDate}, format:'MM-dd')}`). To include a literal `${` sequence, escape it as `\\${`.";
|
|
2784
|
+
readonly properties: {
|
|
2785
|
+
readonly call: {
|
|
2786
|
+
readonly const: "formatString";
|
|
2787
|
+
};
|
|
2788
|
+
readonly args: {
|
|
2789
|
+
readonly type: "object";
|
|
2790
|
+
readonly properties: {
|
|
2791
|
+
readonly value: {
|
|
2792
|
+
readonly $ref: "common_types.json#/$defs/DynamicString";
|
|
2793
|
+
};
|
|
2794
|
+
};
|
|
2795
|
+
readonly required: readonly ["value"];
|
|
2796
|
+
readonly unevaluatedProperties: false;
|
|
2797
|
+
};
|
|
2798
|
+
readonly returnType: {
|
|
2799
|
+
readonly const: "string";
|
|
2800
|
+
};
|
|
2801
|
+
};
|
|
2802
|
+
readonly required: readonly ["call", "args"];
|
|
2803
|
+
readonly unevaluatedProperties: false;
|
|
2804
|
+
};
|
|
2805
|
+
readonly formatNumber: {
|
|
2806
|
+
readonly type: "object";
|
|
2807
|
+
readonly description: "Formats a number with the specified grouping and decimal precision.";
|
|
2808
|
+
readonly properties: {
|
|
2809
|
+
readonly call: {
|
|
2810
|
+
readonly const: "formatNumber";
|
|
2811
|
+
};
|
|
2812
|
+
readonly args: {
|
|
2813
|
+
readonly type: "object";
|
|
2814
|
+
readonly properties: {
|
|
2815
|
+
readonly value: {
|
|
2816
|
+
readonly $ref: "common_types.json#/$defs/DynamicNumber";
|
|
2817
|
+
readonly description: "The number to format.";
|
|
2818
|
+
};
|
|
2819
|
+
readonly decimals: {
|
|
2820
|
+
readonly $ref: "common_types.json#/$defs/DynamicNumber";
|
|
2821
|
+
readonly description: "Optional. The number of decimal places to show. Defaults to 0 or 2 depending on locale.";
|
|
2822
|
+
};
|
|
2823
|
+
readonly grouping: {
|
|
2824
|
+
readonly $ref: "common_types.json#/$defs/DynamicBoolean";
|
|
2825
|
+
readonly description: "Optional. If true, uses locale-specific grouping separators (e.g. '1,000'). If false, returns raw digits (e.g. '1000'). Defaults to true.";
|
|
2826
|
+
};
|
|
2827
|
+
};
|
|
2828
|
+
readonly required: readonly ["value"];
|
|
2829
|
+
readonly unevaluatedProperties: false;
|
|
2830
|
+
};
|
|
2831
|
+
readonly returnType: {
|
|
2832
|
+
readonly const: "string";
|
|
2833
|
+
};
|
|
2834
|
+
};
|
|
2835
|
+
readonly required: readonly ["call", "args"];
|
|
2836
|
+
readonly unevaluatedProperties: false;
|
|
2837
|
+
};
|
|
2838
|
+
readonly formatCurrency: {
|
|
2839
|
+
readonly type: "object";
|
|
2840
|
+
readonly description: "Formats a number as a currency string.";
|
|
2841
|
+
readonly properties: {
|
|
2842
|
+
readonly call: {
|
|
2843
|
+
readonly const: "formatCurrency";
|
|
2844
|
+
};
|
|
2845
|
+
readonly args: {
|
|
2846
|
+
readonly type: "object";
|
|
2847
|
+
readonly properties: {
|
|
2848
|
+
readonly value: {
|
|
2849
|
+
readonly $ref: "common_types.json#/$defs/DynamicNumber";
|
|
2850
|
+
readonly description: "The monetary amount.";
|
|
2851
|
+
};
|
|
2852
|
+
readonly currency: {
|
|
2853
|
+
readonly $ref: "common_types.json#/$defs/DynamicString";
|
|
2854
|
+
readonly description: "The ISO 4217 currency code (e.g., 'USD', 'EUR').";
|
|
2855
|
+
};
|
|
2856
|
+
readonly decimals: {
|
|
2857
|
+
readonly $ref: "common_types.json#/$defs/DynamicNumber";
|
|
2858
|
+
readonly description: "Optional. The number of decimal places to show. Defaults to 0 or 2 depending on locale.";
|
|
2859
|
+
};
|
|
2860
|
+
readonly grouping: {
|
|
2861
|
+
readonly $ref: "common_types.json#/$defs/DynamicBoolean";
|
|
2862
|
+
readonly description: "Optional. If true, uses locale-specific grouping separators (e.g. '1,000'). If false, returns raw digits (e.g. '1000'). Defaults to true.";
|
|
2863
|
+
};
|
|
2864
|
+
};
|
|
2865
|
+
readonly required: readonly ["currency", "value"];
|
|
2866
|
+
readonly unevaluatedProperties: false;
|
|
2867
|
+
};
|
|
2868
|
+
readonly returnType: {
|
|
2869
|
+
readonly const: "string";
|
|
2870
|
+
};
|
|
2871
|
+
};
|
|
2872
|
+
readonly required: readonly ["call", "args"];
|
|
2873
|
+
readonly unevaluatedProperties: false;
|
|
2874
|
+
};
|
|
2875
|
+
readonly formatDate: {
|
|
2876
|
+
readonly type: "object";
|
|
2877
|
+
readonly description: "Formats a timestamp into a string using a pattern.";
|
|
2878
|
+
readonly properties: {
|
|
2879
|
+
readonly call: {
|
|
2880
|
+
readonly const: "formatDate";
|
|
2881
|
+
};
|
|
2882
|
+
readonly args: {
|
|
2883
|
+
readonly type: "object";
|
|
2884
|
+
readonly properties: {
|
|
2885
|
+
readonly value: {
|
|
2886
|
+
readonly $ref: "common_types.json#/$defs/DynamicValue";
|
|
2887
|
+
readonly description: "The date to format.";
|
|
2888
|
+
};
|
|
2889
|
+
readonly format: {
|
|
2890
|
+
readonly $ref: "common_types.json#/$defs/DynamicString";
|
|
2891
|
+
readonly description: "A Unicode TR35 date pattern string.\n\nToken Reference:\n- Year: 'yy' (26), 'yyyy' (2026)\n- Month: 'M' (1), 'MM' (01), 'MMM' (Jan), 'MMMM' (January)\n- Day: 'd' (1), 'dd' (01), 'E' (Tue), 'EEEE' (Tuesday)\n- Hour (12h): 'h' (1-12), 'hh' (01-12) - requires 'a' for AM/PM\n- Hour (24h): 'H' (0-23), 'HH' (00-23) - Military Time\n- Minute: 'mm' (00-59)\n- Second: 'ss' (00-59)\n- Period: 'a' (AM/PM)\n\nExamples:\n- 'MMM dd, yyyy' -> 'Jan 16, 2026'\n- 'HH:mm' -> '14:30' (Military)\n- 'h:mm a' -> '2:30 PM'\n- 'EEEE, d MMMM' -> 'Friday, 16 January'";
|
|
2892
|
+
};
|
|
2893
|
+
};
|
|
2894
|
+
readonly required: readonly ["format", "value"];
|
|
2895
|
+
readonly unevaluatedProperties: false;
|
|
2896
|
+
};
|
|
2897
|
+
readonly returnType: {
|
|
2898
|
+
readonly const: "string";
|
|
2899
|
+
};
|
|
2900
|
+
};
|
|
2901
|
+
readonly required: readonly ["call", "args"];
|
|
2902
|
+
readonly unevaluatedProperties: false;
|
|
2903
|
+
};
|
|
2904
|
+
readonly pluralize: {
|
|
2905
|
+
readonly type: "object";
|
|
2906
|
+
readonly description: "Returns a localized string based on the Common Locale Data Repository (CLDR) plural category of the count (zero, one, two, few, many, other). Requires an 'other' fallback. For English, just use 'one' and 'other'.";
|
|
2907
|
+
readonly properties: {
|
|
2908
|
+
readonly call: {
|
|
2909
|
+
readonly const: "pluralize";
|
|
2910
|
+
};
|
|
2911
|
+
readonly args: {
|
|
2912
|
+
readonly type: "object";
|
|
2913
|
+
readonly properties: {
|
|
2914
|
+
readonly value: {
|
|
2915
|
+
readonly $ref: "common_types.json#/$defs/DynamicNumber";
|
|
2916
|
+
readonly description: "The numeric value used to determine the plural category.";
|
|
2917
|
+
};
|
|
2918
|
+
readonly zero: {
|
|
2919
|
+
readonly $ref: "common_types.json#/$defs/DynamicString";
|
|
2920
|
+
readonly description: "String for the 'zero' category (e.g., 0 items).";
|
|
2921
|
+
};
|
|
2922
|
+
readonly one: {
|
|
2923
|
+
readonly $ref: "common_types.json#/$defs/DynamicString";
|
|
2924
|
+
readonly description: "String for the 'one' category (e.g., 1 item).";
|
|
2925
|
+
};
|
|
2926
|
+
readonly two: {
|
|
2927
|
+
readonly $ref: "common_types.json#/$defs/DynamicString";
|
|
2928
|
+
readonly description: "String for the 'two' category (used in Arabic, Welsh, etc.).";
|
|
2929
|
+
};
|
|
2930
|
+
readonly few: {
|
|
2931
|
+
readonly $ref: "common_types.json#/$defs/DynamicString";
|
|
2932
|
+
readonly description: "String for the 'few' category (e.g., small groups in Slavic languages).";
|
|
2933
|
+
};
|
|
2934
|
+
readonly many: {
|
|
2935
|
+
readonly $ref: "common_types.json#/$defs/DynamicString";
|
|
2936
|
+
readonly description: "String for the 'many' category (e.g., large groups in various languages).";
|
|
2937
|
+
};
|
|
2938
|
+
readonly other: {
|
|
2939
|
+
readonly $ref: "common_types.json#/$defs/DynamicString";
|
|
2940
|
+
readonly description: "The default/fallback string (used for general plural cases).";
|
|
2941
|
+
};
|
|
2942
|
+
};
|
|
2943
|
+
readonly required: readonly ["value", "other"];
|
|
2944
|
+
readonly unevaluatedProperties: false;
|
|
2945
|
+
};
|
|
2946
|
+
readonly returnType: {
|
|
2947
|
+
readonly const: "string";
|
|
2948
|
+
};
|
|
2949
|
+
};
|
|
2950
|
+
readonly required: readonly ["call", "args"];
|
|
2951
|
+
readonly unevaluatedProperties: false;
|
|
2952
|
+
};
|
|
2953
|
+
readonly openUrl: {
|
|
2954
|
+
readonly type: "object";
|
|
2955
|
+
readonly description: "Opens the specified URL in a browser or handler. This function has no return value.";
|
|
2956
|
+
readonly properties: {
|
|
2957
|
+
readonly call: {
|
|
2958
|
+
readonly const: "openUrl";
|
|
2959
|
+
};
|
|
2960
|
+
readonly args: {
|
|
2961
|
+
readonly type: "object";
|
|
2962
|
+
readonly properties: {
|
|
2963
|
+
readonly url: {
|
|
2964
|
+
readonly type: "string";
|
|
2965
|
+
readonly format: "uri";
|
|
2966
|
+
readonly description: "The URL to open.";
|
|
2967
|
+
};
|
|
2968
|
+
};
|
|
2969
|
+
readonly required: readonly ["url"];
|
|
2970
|
+
readonly additionalProperties: false;
|
|
2971
|
+
};
|
|
2972
|
+
readonly returnType: {
|
|
2973
|
+
readonly const: "void";
|
|
2974
|
+
};
|
|
2975
|
+
};
|
|
2976
|
+
readonly required: readonly ["call", "args"];
|
|
2977
|
+
readonly unevaluatedProperties: false;
|
|
2978
|
+
};
|
|
2979
|
+
readonly and: {
|
|
2980
|
+
readonly type: "object";
|
|
2981
|
+
readonly description: "Performs a logical AND operation on a list of boolean values.";
|
|
2982
|
+
readonly properties: {
|
|
2983
|
+
readonly call: {
|
|
2984
|
+
readonly const: "and";
|
|
2985
|
+
};
|
|
2986
|
+
readonly args: {
|
|
2987
|
+
readonly type: "object";
|
|
2988
|
+
readonly properties: {
|
|
2989
|
+
readonly values: {
|
|
2990
|
+
readonly type: "array";
|
|
2991
|
+
readonly description: "The list of boolean values to evaluate.";
|
|
2992
|
+
readonly items: {
|
|
2993
|
+
readonly $ref: "common_types.json#/$defs/DynamicBoolean";
|
|
2994
|
+
};
|
|
2995
|
+
readonly minItems: 2;
|
|
2996
|
+
};
|
|
2997
|
+
};
|
|
2998
|
+
readonly required: readonly ["values"];
|
|
2999
|
+
readonly unevaluatedProperties: false;
|
|
3000
|
+
};
|
|
3001
|
+
readonly returnType: {
|
|
3002
|
+
readonly const: "boolean";
|
|
3003
|
+
};
|
|
3004
|
+
};
|
|
3005
|
+
readonly required: readonly ["call", "args"];
|
|
3006
|
+
readonly unevaluatedProperties: false;
|
|
3007
|
+
};
|
|
3008
|
+
readonly or: {
|
|
3009
|
+
readonly type: "object";
|
|
3010
|
+
readonly description: "Performs a logical OR operation on a list of boolean values.";
|
|
3011
|
+
readonly properties: {
|
|
3012
|
+
readonly call: {
|
|
3013
|
+
readonly const: "or";
|
|
3014
|
+
};
|
|
3015
|
+
readonly args: {
|
|
3016
|
+
readonly type: "object";
|
|
3017
|
+
readonly properties: {
|
|
3018
|
+
readonly values: {
|
|
3019
|
+
readonly type: "array";
|
|
3020
|
+
readonly description: "The list of boolean values to evaluate.";
|
|
3021
|
+
readonly items: {
|
|
3022
|
+
readonly $ref: "common_types.json#/$defs/DynamicBoolean";
|
|
3023
|
+
};
|
|
3024
|
+
readonly minItems: 2;
|
|
3025
|
+
};
|
|
3026
|
+
};
|
|
3027
|
+
readonly required: readonly ["values"];
|
|
3028
|
+
readonly unevaluatedProperties: false;
|
|
3029
|
+
};
|
|
3030
|
+
readonly returnType: {
|
|
3031
|
+
readonly const: "boolean";
|
|
3032
|
+
};
|
|
3033
|
+
};
|
|
3034
|
+
readonly required: readonly ["call", "args"];
|
|
3035
|
+
readonly unevaluatedProperties: false;
|
|
3036
|
+
};
|
|
3037
|
+
readonly not: {
|
|
3038
|
+
readonly type: "object";
|
|
3039
|
+
readonly description: "Performs a logical NOT operation on a boolean value.";
|
|
3040
|
+
readonly properties: {
|
|
3041
|
+
readonly call: {
|
|
3042
|
+
readonly const: "not";
|
|
3043
|
+
};
|
|
3044
|
+
readonly args: {
|
|
3045
|
+
readonly type: "object";
|
|
3046
|
+
readonly properties: {
|
|
3047
|
+
readonly value: {
|
|
3048
|
+
readonly $ref: "common_types.json#/$defs/DynamicBoolean";
|
|
3049
|
+
readonly description: "The boolean value to negate.";
|
|
3050
|
+
};
|
|
3051
|
+
};
|
|
3052
|
+
readonly required: readonly ["value"];
|
|
3053
|
+
readonly unevaluatedProperties: false;
|
|
3054
|
+
};
|
|
3055
|
+
readonly returnType: {
|
|
3056
|
+
readonly const: "boolean";
|
|
3057
|
+
};
|
|
3058
|
+
};
|
|
3059
|
+
readonly required: readonly ["call", "args"];
|
|
3060
|
+
readonly unevaluatedProperties: false;
|
|
3061
|
+
};
|
|
3062
|
+
};
|
|
3063
|
+
readonly $defs: {
|
|
3064
|
+
readonly CatalogComponentCommon: {
|
|
3065
|
+
readonly type: "object";
|
|
3066
|
+
readonly properties: {
|
|
3067
|
+
readonly weight: {
|
|
3068
|
+
readonly type: "number";
|
|
3069
|
+
readonly description: "The relative weight of this component within a Row or Column. This is similar to the CSS 'flex-grow' property. Note: this may ONLY be set when the component is a direct descendant of a Row or Column.";
|
|
3070
|
+
};
|
|
3071
|
+
};
|
|
3072
|
+
};
|
|
3073
|
+
readonly theme: {
|
|
3074
|
+
readonly type: "object";
|
|
3075
|
+
readonly properties: {
|
|
3076
|
+
readonly primaryColor: {
|
|
3077
|
+
readonly type: "string";
|
|
3078
|
+
readonly description: "The primary brand color used for highlights (e.g., primary buttons, active borders). Renderers may generate variants of this color for different contexts. Format: Hexadecimal code (e.g., '#00BFFF').";
|
|
3079
|
+
readonly pattern: "^#[0-9a-fA-F]{6}$";
|
|
3080
|
+
};
|
|
3081
|
+
readonly iconUrl: {
|
|
3082
|
+
readonly type: "string";
|
|
3083
|
+
readonly format: "uri";
|
|
3084
|
+
readonly description: "A URL for an image that identifies the agent or tool associated with the surface.";
|
|
3085
|
+
};
|
|
3086
|
+
readonly agentDisplayName: {
|
|
3087
|
+
readonly type: "string";
|
|
3088
|
+
readonly description: "Text to be displayed next to the surface to identify the agent or tool that created it.";
|
|
3089
|
+
};
|
|
3090
|
+
};
|
|
3091
|
+
readonly additionalProperties: true;
|
|
3092
|
+
};
|
|
3093
|
+
readonly anyComponent: {
|
|
3094
|
+
readonly oneOf: readonly [{
|
|
3095
|
+
readonly $ref: "#/components/Text";
|
|
3096
|
+
}, {
|
|
3097
|
+
readonly $ref: "#/components/Image";
|
|
3098
|
+
}, {
|
|
3099
|
+
readonly $ref: "#/components/Icon";
|
|
3100
|
+
}, {
|
|
3101
|
+
readonly $ref: "#/components/Video";
|
|
3102
|
+
}, {
|
|
3103
|
+
readonly $ref: "#/components/AudioPlayer";
|
|
3104
|
+
}, {
|
|
3105
|
+
readonly $ref: "#/components/Row";
|
|
3106
|
+
}, {
|
|
3107
|
+
readonly $ref: "#/components/Column";
|
|
3108
|
+
}, {
|
|
3109
|
+
readonly $ref: "#/components/List";
|
|
3110
|
+
}, {
|
|
3111
|
+
readonly $ref: "#/components/Card";
|
|
3112
|
+
}, {
|
|
3113
|
+
readonly $ref: "#/components/Tabs";
|
|
3114
|
+
}, {
|
|
3115
|
+
readonly $ref: "#/components/Modal";
|
|
3116
|
+
}, {
|
|
3117
|
+
readonly $ref: "#/components/Divider";
|
|
3118
|
+
}, {
|
|
3119
|
+
readonly $ref: "#/components/Button";
|
|
3120
|
+
}, {
|
|
3121
|
+
readonly $ref: "#/components/TextField";
|
|
3122
|
+
}, {
|
|
3123
|
+
readonly $ref: "#/components/CheckBox";
|
|
3124
|
+
}, {
|
|
3125
|
+
readonly $ref: "#/components/ChoicePicker";
|
|
3126
|
+
}, {
|
|
3127
|
+
readonly $ref: "#/components/Slider";
|
|
3128
|
+
}, {
|
|
3129
|
+
readonly $ref: "#/components/DateTimeInput";
|
|
3130
|
+
}];
|
|
3131
|
+
readonly discriminator: {
|
|
3132
|
+
readonly propertyName: "component";
|
|
3133
|
+
};
|
|
3134
|
+
};
|
|
3135
|
+
readonly anyFunction: {
|
|
3136
|
+
readonly oneOf: readonly [{
|
|
3137
|
+
readonly $ref: "#/functions/required";
|
|
3138
|
+
}, {
|
|
3139
|
+
readonly $ref: "#/functions/regex";
|
|
3140
|
+
}, {
|
|
3141
|
+
readonly $ref: "#/functions/length";
|
|
3142
|
+
}, {
|
|
3143
|
+
readonly $ref: "#/functions/numeric";
|
|
3144
|
+
}, {
|
|
3145
|
+
readonly $ref: "#/functions/email";
|
|
3146
|
+
}, {
|
|
3147
|
+
readonly $ref: "#/functions/formatString";
|
|
3148
|
+
}, {
|
|
3149
|
+
readonly $ref: "#/functions/formatNumber";
|
|
3150
|
+
}, {
|
|
3151
|
+
readonly $ref: "#/functions/formatCurrency";
|
|
3152
|
+
}, {
|
|
3153
|
+
readonly $ref: "#/functions/formatDate";
|
|
3154
|
+
}, {
|
|
3155
|
+
readonly $ref: "#/functions/pluralize";
|
|
3156
|
+
}, {
|
|
3157
|
+
readonly $ref: "#/functions/openUrl";
|
|
3158
|
+
}, {
|
|
3159
|
+
readonly $ref: "#/functions/and";
|
|
3160
|
+
}, {
|
|
3161
|
+
readonly $ref: "#/functions/or";
|
|
3162
|
+
}, {
|
|
3163
|
+
readonly $ref: "#/functions/not";
|
|
3164
|
+
}];
|
|
3165
|
+
};
|
|
3166
|
+
};
|
|
3167
|
+
};
|
|
3168
|
+
readonly client_capabilities: {
|
|
3169
|
+
readonly $schema: "https://json-schema.org/draft/2020-12/schema";
|
|
3170
|
+
readonly $id: "https://a2ui.org/specification/v0_9/client_capabilities.json";
|
|
3171
|
+
readonly title: "A2UI Client Capabilities Schema";
|
|
3172
|
+
readonly description: "A schema for the a2uiClientCapabilities object, which is sent from the client to the server as part of the A2A metadata to describe the client's UI rendering capabilities.";
|
|
3173
|
+
readonly type: "object";
|
|
3174
|
+
readonly properties: {
|
|
3175
|
+
readonly "v0.9": {
|
|
3176
|
+
readonly type: "object";
|
|
3177
|
+
readonly description: "The capabilities structure for version 0.9 of the A2UI protocol.";
|
|
3178
|
+
readonly properties: {
|
|
3179
|
+
readonly supportedCatalogIds: {
|
|
3180
|
+
readonly type: "array";
|
|
3181
|
+
readonly description: "The URI of each of the component and function catalogs that is supported by the client.";
|
|
3182
|
+
readonly items: {
|
|
3183
|
+
readonly type: "string";
|
|
3184
|
+
};
|
|
3185
|
+
};
|
|
3186
|
+
readonly inlineCatalogs: {
|
|
3187
|
+
readonly type: "array";
|
|
3188
|
+
readonly description: "An array of inline catalog definitions, which can contain both components and functions. This should only be provided if the agent declares 'acceptsInlineCatalogs: true' in its capabilities.";
|
|
3189
|
+
readonly items: {
|
|
3190
|
+
readonly $ref: "#/$defs/Catalog";
|
|
3191
|
+
};
|
|
3192
|
+
};
|
|
3193
|
+
};
|
|
3194
|
+
readonly required: readonly ["supportedCatalogIds"];
|
|
3195
|
+
};
|
|
3196
|
+
};
|
|
3197
|
+
readonly required: readonly ["v0.9"];
|
|
3198
|
+
readonly $defs: {
|
|
3199
|
+
readonly FunctionDefinition: {
|
|
3200
|
+
readonly type: "object";
|
|
3201
|
+
readonly description: "Describes a function's interface.";
|
|
3202
|
+
readonly properties: {
|
|
3203
|
+
readonly name: {
|
|
3204
|
+
readonly type: "string";
|
|
3205
|
+
readonly description: "The unique name of the function.";
|
|
3206
|
+
};
|
|
3207
|
+
readonly description: {
|
|
3208
|
+
readonly type: "string";
|
|
3209
|
+
readonly description: "A human-readable description of what the function does and how to use it.";
|
|
3210
|
+
};
|
|
3211
|
+
readonly parameters: {
|
|
3212
|
+
readonly type: "object";
|
|
3213
|
+
readonly description: "A JSON Schema describing the expected arguments (args) for this function.";
|
|
3214
|
+
readonly $ref: "https://json-schema.org/draft/2020-12/schema";
|
|
3215
|
+
};
|
|
3216
|
+
readonly returnType: {
|
|
3217
|
+
readonly type: "string";
|
|
3218
|
+
readonly enum: readonly ["string", "number", "boolean", "array", "object", "any", "void"];
|
|
3219
|
+
readonly description: "The type of value this function returns.";
|
|
3220
|
+
};
|
|
3221
|
+
};
|
|
3222
|
+
readonly required: readonly ["name", "parameters", "returnType"];
|
|
3223
|
+
readonly additionalProperties: false;
|
|
3224
|
+
};
|
|
3225
|
+
readonly Catalog: {
|
|
3226
|
+
readonly type: "object";
|
|
3227
|
+
readonly description: "A collection of component and function definitions.";
|
|
3228
|
+
readonly properties: {
|
|
3229
|
+
readonly catalogId: {
|
|
3230
|
+
readonly type: "string";
|
|
3231
|
+
readonly description: "Unique identifier for this catalog.";
|
|
3232
|
+
};
|
|
3233
|
+
readonly components: {
|
|
3234
|
+
readonly type: "object";
|
|
3235
|
+
readonly description: "Definitions for UI components supported by this catalog.";
|
|
3236
|
+
readonly additionalProperties: {
|
|
3237
|
+
readonly $ref: "https://json-schema.org/draft/2020-12/schema";
|
|
3238
|
+
};
|
|
3239
|
+
};
|
|
3240
|
+
readonly functions: {
|
|
3241
|
+
readonly type: "array";
|
|
3242
|
+
readonly description: "Definitions for functions supported by this catalog.";
|
|
3243
|
+
readonly items: {
|
|
3244
|
+
readonly $ref: "#/$defs/FunctionDefinition";
|
|
3245
|
+
};
|
|
3246
|
+
};
|
|
3247
|
+
readonly theme: {
|
|
3248
|
+
readonly title: "A2UI Theme";
|
|
3249
|
+
readonly description: "A schema that defines a catalog of A2UI theme properties. Each key is a theme property name (e.g. 'primaryColor'), and each value is the JSON schema for that property.";
|
|
3250
|
+
readonly type: "object";
|
|
3251
|
+
readonly additionalProperties: {
|
|
3252
|
+
readonly $ref: "https://json-schema.org/draft/2020-12/schema";
|
|
3253
|
+
};
|
|
3254
|
+
};
|
|
3255
|
+
};
|
|
3256
|
+
readonly required: readonly ["catalogId"];
|
|
3257
|
+
readonly additionalProperties: false;
|
|
3258
|
+
};
|
|
3259
|
+
};
|
|
3260
|
+
};
|
|
3261
|
+
readonly server_capabilities: {
|
|
3262
|
+
readonly $schema: "https://json-schema.org/draft/2020-12/schema";
|
|
3263
|
+
readonly $id: "https://a2ui.org/specification/v0_9/server_capabilities.json";
|
|
3264
|
+
readonly title: "A2UI Server Capabilities Schema";
|
|
3265
|
+
readonly description: "A schema for the server capabilities object, which is used by an A2UI server (or Agent) to advertise its supported UI features to clients. This can be embedded in an Agent Card for A2A or used in other transport protocols like MCP.";
|
|
3266
|
+
readonly type: "object";
|
|
3267
|
+
readonly properties: {
|
|
3268
|
+
readonly "v0.9": {
|
|
3269
|
+
readonly type: "object";
|
|
3270
|
+
readonly description: "The server capabilities structure for version 0.9 of the A2UI protocol.";
|
|
3271
|
+
readonly properties: {
|
|
3272
|
+
readonly supportedCatalogIds: {
|
|
3273
|
+
readonly type: "array";
|
|
3274
|
+
readonly description: "An array of strings, where each string is an ID identifying a Catalog Definition Schema that the server can generate. This is not necessarily a resolvable URI.";
|
|
3275
|
+
readonly items: {
|
|
3276
|
+
readonly type: "string";
|
|
3277
|
+
};
|
|
3278
|
+
};
|
|
3279
|
+
readonly acceptsInlineCatalogs: {
|
|
3280
|
+
readonly type: "boolean";
|
|
3281
|
+
readonly description: "A boolean indicating if the server can accept an 'inlineCatalogs' array in the client's a2uiClientCapabilities. If omitted, this defaults to false.";
|
|
3282
|
+
readonly default: false;
|
|
3283
|
+
};
|
|
3284
|
+
};
|
|
3285
|
+
};
|
|
3286
|
+
};
|
|
3287
|
+
readonly required: readonly ["v0.9"];
|
|
3288
|
+
};
|
|
3289
|
+
readonly client_data_model: {
|
|
3290
|
+
readonly $schema: "https://json-schema.org/draft/2020-12/schema";
|
|
3291
|
+
readonly $id: "https://a2ui.org/specification/v0_9/client_data_model.json";
|
|
3292
|
+
readonly title: "A2UI Client Data Model Schema";
|
|
3293
|
+
readonly description: "Schema for attaching the client data model to A2A message metadata. This object should be placed in the `a2uiClientDataModel` field of the metadata.";
|
|
3294
|
+
readonly type: "object";
|
|
3295
|
+
readonly properties: {
|
|
3296
|
+
readonly version: {
|
|
3297
|
+
readonly const: "v0.9";
|
|
3298
|
+
};
|
|
3299
|
+
readonly surfaces: {
|
|
3300
|
+
readonly type: "object";
|
|
3301
|
+
readonly description: "A map of surface IDs to their current data models.";
|
|
3302
|
+
readonly additionalProperties: {
|
|
3303
|
+
readonly type: "object";
|
|
3304
|
+
readonly description: "The current data model for the surface, as a standard JSON object.";
|
|
3305
|
+
};
|
|
3306
|
+
};
|
|
3307
|
+
};
|
|
3308
|
+
readonly required: readonly ["version", "surfaces"];
|
|
3309
|
+
readonly additionalProperties: false;
|
|
3310
|
+
};
|
|
3311
|
+
};
|
|
3312
|
+
};
|