@a2ui/web_core 0.9.1 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. package/.tsbuildinfo +1 -1
  2. package/LICENSE +25 -1
  3. package/README.md +1 -1
  4. package/package.json +1 -1
  5. package/src/v0_8/data/guards.d.ts +1 -1
  6. package/src/v0_8/data/guards.d.ts.map +1 -1
  7. package/src/v0_8/data/guards.js +37 -41
  8. package/src/v0_8/data/guards.js.map +1 -1
  9. package/src/v0_8/data/guards.test.js +51 -51
  10. package/src/v0_8/data/guards.test.js.map +1 -1
  11. package/src/v0_8/data/model-processor.d.ts +1 -1
  12. package/src/v0_8/data/model-processor.d.ts.map +1 -1
  13. package/src/v0_8/data/model-processor.js +85 -88
  14. package/src/v0_8/data/model-processor.js.map +1 -1
  15. package/src/v0_8/data/model-processor.test.js +288 -323
  16. package/src/v0_8/data/model-processor.test.js.map +1 -1
  17. package/src/v0_8/errors.js +5 -5
  18. package/src/v0_8/events/index.d.ts +2 -2
  19. package/src/v0_8/events/index.js +2 -2
  20. package/src/v0_8/events/validation-event.d.ts +4 -4
  21. package/src/v0_8/events/validation-event.d.ts.map +1 -1
  22. package/src/v0_8/events/validation-event.js +1 -1
  23. package/src/v0_8/events/validation-event.js.map +1 -1
  24. package/src/v0_8/index.d.ts +8 -8
  25. package/src/v0_8/index.js +9 -9
  26. package/src/v0_8/index.js.map +1 -1
  27. package/src/v0_8/schema/common-types.d.ts +4 -4
  28. package/src/v0_8/schema/common-types.d.ts.map +1 -1
  29. package/src/v0_8/schema/common-types.js +36 -84
  30. package/src/v0_8/schema/common-types.js.map +1 -1
  31. package/src/v0_8/schema/server-to-client.d.ts +562 -562
  32. package/src/v0_8/schema/server-to-client.d.ts.map +1 -1
  33. package/src/v0_8/schema/server-to-client.js +28 -38
  34. package/src/v0_8/schema/server-to-client.js.map +1 -1
  35. package/src/v0_8/schema/verify-schema.test.js +31 -43
  36. package/src/v0_8/schema/verify-schema.test.js.map +1 -1
  37. package/src/v0_8/schemas/catalog_description_schema.json +1 -5
  38. package/src/v0_8/schemas/client_to_server.json +2 -11
  39. package/src/v0_8/schemas/server_to_client_with_standard_catalog.json +3 -23
  40. package/src/v0_8/schemas/standard_catalog_definition.json +36 -159
  41. package/src/v0_8/styles/behavior.js +1 -1
  42. package/src/v0_8/styles/border.js +2 -2
  43. package/src/v0_8/styles/border.js.map +1 -1
  44. package/src/v0_8/styles/colors.js +13 -13
  45. package/src/v0_8/styles/colors.js.map +1 -1
  46. package/src/v0_8/styles/index.d.ts +1 -1
  47. package/src/v0_8/styles/index.d.ts.map +1 -1
  48. package/src/v0_8/styles/index.js +10 -18
  49. package/src/v0_8/styles/index.js.map +1 -1
  50. package/src/v0_8/styles/layout.d.ts.map +1 -1
  51. package/src/v0_8/styles/layout.js +10 -12
  52. package/src/v0_8/styles/layout.js.map +1 -1
  53. package/src/v0_8/styles/opacity.js +1 -1
  54. package/src/v0_8/styles/styles.test.js +43 -43
  55. package/src/v0_8/styles/styles.test.js.map +1 -1
  56. package/src/v0_8/styles/type.js +1 -1
  57. package/src/v0_8/styles/utils.d.ts +1 -1
  58. package/src/v0_8/styles/utils.d.ts.map +1 -1
  59. package/src/v0_8/styles/utils.js +4 -4
  60. package/src/v0_8/styles/utils.js.map +1 -1
  61. package/src/v0_8/types/client-event.d.ts.map +1 -1
  62. package/src/v0_8/types/colors.d.ts +13 -13
  63. package/src/v0_8/types/colors.d.ts.map +1 -1
  64. package/src/v0_8/types/components.d.ts +2 -2
  65. package/src/v0_8/types/components.d.ts.map +1 -1
  66. package/src/v0_8/types/primitives.d.ts +2 -2
  67. package/src/v0_8/types/primitives.d.ts.map +1 -1
  68. package/src/v0_8/types/types.d.ts +32 -32
  69. package/src/v0_8/types/types.d.ts.map +1 -1
  70. package/src/v0_9/basic_catalog/components/basic_components.d.ts +84 -68
  71. package/src/v0_9/basic_catalog/components/basic_components.d.ts.map +1 -1
  72. package/src/v0_9/basic_catalog/components/basic_components.js +17 -46
  73. package/src/v0_9/basic_catalog/components/basic_components.js.map +1 -1
  74. package/src/v0_9/basic_catalog/expressions/expression_parser.d.ts.map +1 -1
  75. package/src/v0_9/basic_catalog/expressions/expression_parser.js +5 -11
  76. package/src/v0_9/basic_catalog/expressions/expression_parser.js.map +1 -1
  77. package/src/v0_9/basic_catalog/expressions/expression_parser.test.js +6 -26
  78. package/src/v0_9/basic_catalog/expressions/expression_parser.test.js.map +1 -1
  79. package/src/v0_9/basic_catalog/functions/basic_functions.d.ts.map +1 -1
  80. package/src/v0_9/basic_catalog/functions/basic_functions.js.map +1 -1
  81. package/src/v0_9/basic_catalog/functions/basic_functions.test.js +1 -3
  82. package/src/v0_9/basic_catalog/functions/basic_functions.test.js.map +1 -1
  83. package/src/v0_9/basic_catalog/functions/basic_functions_api.d.ts.map +1 -1
  84. package/src/v0_9/basic_catalog/functions/basic_functions_api.js.map +1 -1
  85. package/src/v0_9/basic_catalog/index.d.ts +2 -1
  86. package/src/v0_9/basic_catalog/index.d.ts.map +1 -1
  87. package/src/v0_9/basic_catalog/index.js +1 -1
  88. package/src/v0_9/basic_catalog/index.js.map +1 -1
  89. package/src/v0_9/basic_catalog/styles/default.d.ts +34 -0
  90. package/src/v0_9/basic_catalog/styles/default.d.ts.map +1 -1
  91. package/src/v0_9/basic_catalog/styles/default.js +29 -6
  92. package/src/v0_9/basic_catalog/styles/default.js.map +1 -1
  93. package/src/v0_9/catalog/types.d.ts.map +1 -1
  94. package/src/v0_9/catalog/types.js.map +1 -1
  95. package/src/v0_9/catalog/types.test.js.map +1 -1
  96. package/src/v0_9/processing/message-processor.d.ts.map +1 -1
  97. package/src/v0_9/processing/message-processor.js +1 -2
  98. package/src/v0_9/processing/message-processor.js.map +1 -1
  99. package/src/v0_9/processing/message-processor.test.js +7 -19
  100. package/src/v0_9/processing/message-processor.test.js.map +1 -1
  101. package/src/v0_9/reactivity/signals.test.d.ts.map +1 -1
  102. package/src/v0_9/reactivity/signals.test.js +1 -1
  103. package/src/v0_9/reactivity/signals.test.js.map +1 -1
  104. package/src/v0_9/rendering/component-context.d.ts.map +1 -1
  105. package/src/v0_9/rendering/component-context.js.map +1 -1
  106. package/src/v0_9/rendering/data-context.d.ts.map +1 -1
  107. package/src/v0_9/rendering/data-context.js.map +1 -1
  108. package/src/v0_9/rendering/data-context.test.js +1 -4
  109. package/src/v0_9/rendering/data-context.test.js.map +1 -1
  110. package/src/v0_9/rendering/generic-binder.d.ts.map +1 -1
  111. package/src/v0_9/rendering/generic-binder.js +9 -17
  112. package/src/v0_9/rendering/generic-binder.js.map +1 -1
  113. package/src/v0_9/rendering/generic-binder.test.js +3 -9
  114. package/src/v0_9/rendering/generic-binder.test.js.map +1 -1
  115. package/src/v0_9/schema/client-capabilities.d.ts.map +1 -1
  116. package/src/v0_9/schema/client-to-server.d.ts +52 -52
  117. package/src/v0_9/schema/client-to-server.d.ts.map +1 -1
  118. package/src/v0_9/schema/client-to-server.js +7 -24
  119. package/src/v0_9/schema/client-to-server.js.map +1 -1
  120. package/src/v0_9/schema/client-to-server.test.js +1 -1
  121. package/src/v0_9/schema/client-to-server.test.js.map +1 -1
  122. package/src/v0_9/schema/common-types.d.ts +2 -0
  123. package/src/v0_9/schema/common-types.d.ts.map +1 -1
  124. package/src/v0_9/schema/common-types.js +4 -13
  125. package/src/v0_9/schema/common-types.js.map +1 -1
  126. package/src/v0_9/schema/server-to-client.d.ts +28 -28
  127. package/src/v0_9/schema/server-to-client.d.ts.map +1 -1
  128. package/src/v0_9/schema/server-to-client.js +6 -19
  129. package/src/v0_9/schema/server-to-client.js.map +1 -1
  130. package/src/v0_9/schema/verify-schema.test.js +4 -16
  131. package/src/v0_9/schema/verify-schema.test.js.map +1 -1
  132. package/src/v0_9/schemas/basic_catalog.json +6 -10
  133. package/src/v0_9/schemas/client_capabilities.json +1 -9
  134. package/src/v0_9/schemas/client_to_server.json +1 -7
  135. package/src/v0_9/schemas/client_to_server_list_wrapper.json +1 -3
  136. package/src/v0_9/schemas/common_types.json +2 -12
  137. package/src/v0_9/schemas/server_to_client.json +1 -1
  138. package/src/v0_9/schemas/server_to_client_list_wrapper.json +1 -3
  139. package/src/v0_9/state/data-model.d.ts.map +1 -1
  140. package/src/v0_9/state/data-model.js +1 -2
  141. package/src/v0_9/state/data-model.js.map +1 -1
  142. package/src/v0_9/state/data-model.test.js.map +1 -1
  143. package/src/v0_9/state/surface-components-model.d.ts.map +1 -1
  144. package/src/v0_9/state/surface-components-model.js.map +1 -1
  145. package/src/v0_9/state/surface-group-model.d.ts.map +1 -1
  146. package/src/v0_9/state/surface-group-model.js.map +1 -1
  147. package/src/v0_9/state/surface-model.d.ts +1 -1
  148. package/src/v0_9/state/surface-model.d.ts.map +1 -1
  149. package/src/v0_9/state/surface-model.js +2 -5
  150. package/src/v0_9/state/surface-model.js.map +1 -1
  151. package/src/v0_9/state/surface-model.test.js.map +1 -1
  152. package/src/v0_9/test/function_execution.spec.js.map +1 -1
  153. package/src/v0_9/test/test-utils.d.ts.map +1 -1
  154. package/src/v0_9/test/test-utils.js.map +1 -1
@@ -13,15 +13,15 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { A2uiMessageSchema } from "../schema/server-to-client.js";
17
- import { A2uiStateError, A2uiValidationError } from "../errors.js";
18
- import { isComponentArrayReference, isObject, isPath, isResolvedAudioPlayer, isResolvedButton, isResolvedCard, isResolvedCheckbox, isResolvedColumn, isResolvedDateTimeInput, isResolvedDivider, isResolvedIcon, isResolvedImage, isResolvedList, isResolvedModal, isResolvedMultipleChoice, isResolvedRow, isResolvedSlider, isResolvedTabs, isResolvedText, isResolvedTextField, isResolvedVideo, } from "./guards.js";
16
+ import { A2uiMessageSchema } from '../schema/server-to-client.js';
17
+ import { A2uiStateError, A2uiValidationError } from '../errors.js';
18
+ import { isComponentArrayReference, isObject, isPath, isResolvedAudioPlayer, isResolvedButton, isResolvedCard, isResolvedCheckbox, isResolvedColumn, isResolvedDateTimeInput, isResolvedDivider, isResolvedIcon, isResolvedImage, isResolvedList, isResolvedModal, isResolvedMultipleChoice, isResolvedRow, isResolvedSlider, isResolvedTabs, isResolvedText, isResolvedTextField, isResolvedVideo, } from './guards.js';
19
19
  /**
20
20
  * Processes and consolidates A2UIProtocolMessage objects into a structured,
21
21
  * hierarchical model of UI surfaces.
22
22
  */
23
23
  export class A2uiMessageProcessor {
24
- static { this.DEFAULT_SURFACE_ID = "@default"; }
24
+ static { this.DEFAULT_SURFACE_ID = '@default'; }
25
25
  constructor(opts = { mapCtor: Map, arrayCtor: Array, setCtor: Set, objCtor: Object }) {
26
26
  this.opts = opts;
27
27
  this.mapCtor = Map;
@@ -80,8 +80,8 @@ export class A2uiMessageProcessor {
80
80
  let finalPath;
81
81
  // The special `.` path means the final path is the node's data context
82
82
  // path and so we return the dataContextPath as-is.
83
- if (relativePath === "." || relativePath === "") {
84
- finalPath = node.dataContextPath ?? "/";
83
+ if (relativePath === '.' || relativePath === '') {
84
+ finalPath = node.dataContextPath ?? '/';
85
85
  }
86
86
  else {
87
87
  // For all other paths, resolve them against the node's context.
@@ -91,7 +91,7 @@ export class A2uiMessageProcessor {
91
91
  }
92
92
  setData(node, relativePath, value, surfaceId = A2uiMessageProcessor.DEFAULT_SURFACE_ID) {
93
93
  if (!node) {
94
- console.warn("No component node set");
94
+ console.warn('No component node set');
95
95
  return;
96
96
  }
97
97
  const surface = this.getOrCreateSurface(surfaceId);
@@ -100,8 +100,8 @@ export class A2uiMessageProcessor {
100
100
  let finalPath;
101
101
  // The special `.` path means the final path is the node's data context
102
102
  // path and so we return the dataContextPath as-is.
103
- if (relativePath === "." || relativePath === "") {
104
- finalPath = node.dataContextPath ?? "/";
103
+ if (relativePath === '.' || relativePath === '') {
104
+ finalPath = node.dataContextPath ?? '/';
105
105
  }
106
106
  else {
107
107
  // For all other paths, resolve them against the node's context.
@@ -111,12 +111,12 @@ export class A2uiMessageProcessor {
111
111
  }
112
112
  resolvePath(path, dataContextPath) {
113
113
  // If the path is absolute, it overrides any context.
114
- if (path.startsWith("/")) {
114
+ if (path.startsWith('/')) {
115
115
  return path;
116
116
  }
117
- if (dataContextPath && dataContextPath !== "/") {
117
+ if (dataContextPath && dataContextPath !== '/') {
118
118
  // Ensure there's exactly one slash between the context and the path.
119
- return dataContextPath.endsWith("/")
119
+ return dataContextPath.endsWith('/')
120
120
  ? `${dataContextPath}${path}`
121
121
  : `${dataContextPath}/${path}`;
122
122
  }
@@ -124,12 +124,12 @@ export class A2uiMessageProcessor {
124
124
  return `/${path}`;
125
125
  }
126
126
  parseIfJsonString(value) {
127
- if (typeof value !== "string") {
127
+ if (typeof value !== 'string') {
128
128
  return value;
129
129
  }
130
130
  const trimmedValue = value.trim();
131
- if ((trimmedValue.startsWith("{") && trimmedValue.endsWith("}")) ||
132
- (trimmedValue.startsWith("[") && trimmedValue.endsWith("]"))) {
131
+ if ((trimmedValue.startsWith('{') && trimmedValue.endsWith('}')) ||
132
+ (trimmedValue.startsWith('[') && trimmedValue.endsWith(']'))) {
133
133
  try {
134
134
  // It looks like JSON, attempt to parse it.
135
135
  return JSON.parse(value);
@@ -151,7 +151,7 @@ export class A2uiMessageProcessor {
151
151
  convertKeyValueArrayToMap(arr) {
152
152
  const map = new this.mapCtor();
153
153
  for (const item of arr) {
154
- if (!isObject(item) || !("key" in item))
154
+ if (!isObject(item) || !('key' in item))
155
155
  continue;
156
156
  const key = item.key;
157
157
  // Find the value, which is in a property prefixed with "value".
@@ -160,10 +160,10 @@ export class A2uiMessageProcessor {
160
160
  continue;
161
161
  let value = item[valueKey];
162
162
  // It's a valueMap. We must recursively convert it.
163
- if (valueKey === "valueMap" && Array.isArray(value)) {
163
+ if (valueKey === 'valueMap' && Array.isArray(value)) {
164
164
  value = this.convertKeyValueArrayToMap(value);
165
165
  }
166
- else if (typeof value === "string") {
166
+ else if (typeof value === 'string') {
167
167
  value = this.parseIfJsonString(value);
168
168
  }
169
169
  this.setDataByPath(map, key, value);
@@ -172,11 +172,10 @@ export class A2uiMessageProcessor {
172
172
  }
173
173
  setDataByPath(root, path, value) {
174
174
  // Check if the incoming value is the special key-value array format.
175
- if (Array.isArray(value) &&
176
- (value.length === 0 || (isObject(value[0]) && "key" in value[0]))) {
175
+ if (Array.isArray(value) && (value.length === 0 || (isObject(value[0]) && 'key' in value[0]))) {
177
176
  // Check for "set primitive at path" convention:
178
177
  // path: "/messages/123", contents: [{ key: ".", valueString: "hi" }]
179
- if (value.length === 1 && isObject(value[0]) && value[0].key === ".") {
178
+ if (value.length === 1 && isObject(value[0]) && value[0].key === '.') {
180
179
  const item = value[0];
181
180
  const valueKey = this.findValueKey(item);
182
181
  if (valueKey) {
@@ -184,10 +183,10 @@ export class A2uiMessageProcessor {
184
183
  value = item[valueKey];
185
184
  // We must still process this value in case it's a valueMap or
186
185
  // a JSON string.
187
- if (valueKey === "valueMap" && Array.isArray(value)) {
186
+ if (valueKey === 'valueMap' && Array.isArray(value)) {
188
187
  value = this.convertKeyValueArrayToMap(value);
189
188
  }
190
- else if (typeof value === "string") {
189
+ else if (typeof value === 'string') {
191
190
  value = this.parseIfJsonString(value);
192
191
  }
193
192
  // Now, `value` is the primitive (e.g., "hi"), and we continue
@@ -203,8 +202,8 @@ export class A2uiMessageProcessor {
203
202
  }
204
203
  }
205
204
  const segments = this.normalizePath(path)
206
- .split("/")
207
- .filter((s) => s);
205
+ .split('/')
206
+ .filter(s => s);
208
207
  if (segments.length === 0) {
209
208
  // Root data can either be a Map or an Object. If we receive an Object,
210
209
  // however, we will normalize it to a proper Map.
@@ -219,7 +218,7 @@ export class A2uiMessageProcessor {
219
218
  }
220
219
  }
221
220
  else {
222
- console.error("Cannot set root of DataModel to a non-Map value.");
221
+ console.error('Cannot set root of DataModel to a non-Map value.');
223
222
  }
224
223
  return;
225
224
  }
@@ -233,9 +232,7 @@ export class A2uiMessageProcessor {
233
232
  else if (Array.isArray(current) && /^\d+$/.test(segment)) {
234
233
  target = current[parseInt(segment, 10)];
235
234
  }
236
- if (target === undefined ||
237
- typeof target !== "object" ||
238
- target === null) {
235
+ if (target === undefined || typeof target !== 'object' || target === null) {
239
236
  target = new this.mapCtor();
240
237
  if (current instanceof this.mapCtor) {
241
238
  current.set(segment, target);
@@ -263,16 +260,16 @@ export class A2uiMessageProcessor {
263
260
  */
264
261
  normalizePath(path) {
265
262
  // 1. Replace all bracket accessors `[index]` with dot accessors `.index`
266
- const dotPath = path.replace(/\[(\d+)\]/g, ".$1");
263
+ const dotPath = path.replace(/\[(\d+)\]/g, '.$1');
267
264
  // 2. Split by dots
268
- const segments = dotPath.split(".");
265
+ const segments = dotPath.split('.');
269
266
  // 3. Join with slashes and ensure it starts with a slash
270
- return "/" + segments.filter((s) => s.length > 0).join("/");
267
+ return '/' + segments.filter(s => s.length > 0).join('/');
271
268
  }
272
269
  getDataByPath(root, path) {
273
270
  const segments = this.normalizePath(path)
274
- .split("/")
275
- .filter((s) => s);
271
+ .split('/')
272
+ .filter(s => s);
276
273
  let current = root;
277
274
  for (const segment of segments) {
278
275
  if (current === undefined || current === null)
@@ -322,7 +319,7 @@ export class A2uiMessageProcessor {
322
319
  }
323
320
  handleDataModelUpdate(message, surfaceId) {
324
321
  const surface = this.getOrCreateSurface(surfaceId);
325
- const path = message.path ?? "/";
322
+ const path = message.path ?? '/';
326
323
  this.setDataByPath(surface.dataModel, path, message.contents);
327
324
  this.rebuildComponentTree(surface);
328
325
  }
@@ -344,16 +341,16 @@ export class A2uiMessageProcessor {
344
341
  }
345
342
  // Track visited nodes to avoid circular references.
346
343
  const visited = new this.setCtor();
347
- surface.componentTree = this.buildNodeRecursive(surface.rootComponentId, surface, visited, "/", "");
344
+ surface.componentTree = this.buildNodeRecursive(surface.rootComponentId, surface, visited, '/', '');
348
345
  }
349
346
  /** Finds a value key in a map. */
350
347
  findValueKey(value) {
351
- return Object.keys(value).find((k) => k.startsWith("value"));
348
+ return Object.keys(value).find(k => k.startsWith('value'));
352
349
  }
353
350
  /**
354
351
  * Builds out the nodes recursively.
355
352
  */
356
- buildNodeRecursive(baseComponentId, surface, visited, dataContextPath, idSuffix = "") {
353
+ buildNodeRecursive(baseComponentId, surface, visited, dataContextPath, idSuffix = '') {
357
354
  const fullId = `${baseComponentId}${idSuffix}`; // Construct the full ID
358
355
  const { components } = surface;
359
356
  if (!components.has(baseComponentId)) {
@@ -382,169 +379,169 @@ export class A2uiMessageProcessor {
382
379
  const baseNode = {
383
380
  id: fullId,
384
381
  dataContextPath,
385
- weight: componentData.weight ?? "initial",
382
+ weight: componentData.weight ?? 'initial',
386
383
  };
387
384
  switch (componentType) {
388
- case "Text":
385
+ case 'Text':
389
386
  if (!isResolvedText(resolvedProperties)) {
390
387
  throw new A2uiValidationError(`Invalid data; expected ${componentType}`);
391
388
  }
392
389
  return new this.objCtor({
393
390
  ...baseNode,
394
- type: "Text",
391
+ type: 'Text',
395
392
  properties: resolvedProperties,
396
393
  });
397
- case "Image":
394
+ case 'Image':
398
395
  if (!isResolvedImage(resolvedProperties)) {
399
396
  throw new A2uiValidationError(`Invalid data; expected ${componentType}`);
400
397
  }
401
398
  return new this.objCtor({
402
399
  ...baseNode,
403
- type: "Image",
400
+ type: 'Image',
404
401
  properties: resolvedProperties,
405
402
  });
406
- case "Icon":
403
+ case 'Icon':
407
404
  if (!isResolvedIcon(resolvedProperties)) {
408
405
  throw new A2uiValidationError(`Invalid data; expected ${componentType}`);
409
406
  }
410
407
  return new this.objCtor({
411
408
  ...baseNode,
412
- type: "Icon",
409
+ type: 'Icon',
413
410
  properties: resolvedProperties,
414
411
  });
415
- case "Video":
412
+ case 'Video':
416
413
  if (!isResolvedVideo(resolvedProperties)) {
417
414
  throw new A2uiValidationError(`Invalid data; expected ${componentType}`);
418
415
  }
419
416
  return new this.objCtor({
420
417
  ...baseNode,
421
- type: "Video",
418
+ type: 'Video',
422
419
  properties: resolvedProperties,
423
420
  });
424
- case "AudioPlayer":
421
+ case 'AudioPlayer':
425
422
  if (!isResolvedAudioPlayer(resolvedProperties)) {
426
423
  throw new A2uiValidationError(`Invalid data; expected ${componentType}`);
427
424
  }
428
425
  return new this.objCtor({
429
426
  ...baseNode,
430
- type: "AudioPlayer",
427
+ type: 'AudioPlayer',
431
428
  properties: resolvedProperties,
432
429
  });
433
- case "Row":
430
+ case 'Row':
434
431
  if (!isResolvedRow(resolvedProperties)) {
435
432
  throw new A2uiValidationError(`Invalid data; expected ${componentType}`);
436
433
  }
437
434
  return new this.objCtor({
438
435
  ...baseNode,
439
- type: "Row",
436
+ type: 'Row',
440
437
  properties: resolvedProperties,
441
438
  });
442
- case "Column":
439
+ case 'Column':
443
440
  if (!isResolvedColumn(resolvedProperties)) {
444
441
  throw new A2uiValidationError(`Invalid data; expected ${componentType}`);
445
442
  }
446
443
  return new this.objCtor({
447
444
  ...baseNode,
448
- type: "Column",
445
+ type: 'Column',
449
446
  properties: resolvedProperties,
450
447
  });
451
- case "List":
448
+ case 'List':
452
449
  if (!isResolvedList(resolvedProperties)) {
453
450
  throw new A2uiValidationError(`Invalid data; expected ${componentType}`);
454
451
  }
455
452
  return new this.objCtor({
456
453
  ...baseNode,
457
- type: "List",
454
+ type: 'List',
458
455
  properties: resolvedProperties,
459
456
  });
460
- case "Card":
457
+ case 'Card':
461
458
  if (!isResolvedCard(resolvedProperties)) {
462
459
  throw new A2uiValidationError(`Invalid data; expected ${componentType}`);
463
460
  }
464
461
  return new this.objCtor({
465
462
  ...baseNode,
466
- type: "Card",
463
+ type: 'Card',
467
464
  properties: resolvedProperties,
468
465
  });
469
- case "Tabs":
466
+ case 'Tabs':
470
467
  if (!isResolvedTabs(resolvedProperties)) {
471
468
  throw new A2uiValidationError(`Invalid data; expected ${componentType}`);
472
469
  }
473
470
  return new this.objCtor({
474
471
  ...baseNode,
475
- type: "Tabs",
472
+ type: 'Tabs',
476
473
  properties: resolvedProperties,
477
474
  });
478
- case "Divider":
475
+ case 'Divider':
479
476
  if (!isResolvedDivider(resolvedProperties)) {
480
477
  throw new A2uiValidationError(`Invalid data; expected ${componentType}`);
481
478
  }
482
479
  return new this.objCtor({
483
480
  ...baseNode,
484
- type: "Divider",
481
+ type: 'Divider',
485
482
  properties: resolvedProperties,
486
483
  });
487
- case "Modal":
484
+ case 'Modal':
488
485
  if (!isResolvedModal(resolvedProperties)) {
489
486
  throw new A2uiValidationError(`Invalid data; expected ${componentType}`);
490
487
  }
491
488
  return new this.objCtor({
492
489
  ...baseNode,
493
- type: "Modal",
490
+ type: 'Modal',
494
491
  properties: resolvedProperties,
495
492
  });
496
- case "Button":
493
+ case 'Button':
497
494
  if (!isResolvedButton(resolvedProperties)) {
498
495
  throw new A2uiValidationError(`Invalid data; expected ${componentType}`);
499
496
  }
500
497
  return new this.objCtor({
501
498
  ...baseNode,
502
- type: "Button",
499
+ type: 'Button',
503
500
  properties: resolvedProperties,
504
501
  });
505
- case "CheckBox":
502
+ case 'CheckBox':
506
503
  if (!isResolvedCheckbox(resolvedProperties)) {
507
504
  throw new A2uiValidationError(`Invalid data; expected ${componentType}`);
508
505
  }
509
506
  return new this.objCtor({
510
507
  ...baseNode,
511
- type: "CheckBox",
508
+ type: 'CheckBox',
512
509
  properties: resolvedProperties,
513
510
  });
514
- case "TextField":
511
+ case 'TextField':
515
512
  if (!isResolvedTextField(resolvedProperties)) {
516
513
  throw new A2uiValidationError(`Invalid data; expected ${componentType}`);
517
514
  }
518
515
  return new this.objCtor({
519
516
  ...baseNode,
520
- type: "TextField",
517
+ type: 'TextField',
521
518
  properties: resolvedProperties,
522
519
  });
523
- case "DateTimeInput":
520
+ case 'DateTimeInput':
524
521
  if (!isResolvedDateTimeInput(resolvedProperties)) {
525
522
  throw new A2uiValidationError(`Invalid data; expected ${componentType}`);
526
523
  }
527
524
  return new this.objCtor({
528
525
  ...baseNode,
529
- type: "DateTimeInput",
526
+ type: 'DateTimeInput',
530
527
  properties: resolvedProperties,
531
528
  });
532
- case "MultipleChoice":
529
+ case 'MultipleChoice':
533
530
  if (!isResolvedMultipleChoice(resolvedProperties)) {
534
531
  throw new A2uiValidationError(`Invalid data; expected ${componentType}`);
535
532
  }
536
533
  return new this.objCtor({
537
534
  ...baseNode,
538
- type: "MultipleChoice",
535
+ type: 'MultipleChoice',
539
536
  properties: resolvedProperties,
540
537
  });
541
- case "Slider":
538
+ case 'Slider':
542
539
  if (!isResolvedSlider(resolvedProperties)) {
543
540
  throw new A2uiValidationError(`Invalid data; expected ${componentType}`);
544
541
  }
545
542
  return new this.objCtor({
546
543
  ...baseNode,
547
- type: "Slider",
544
+ type: 'Slider',
548
545
  properties: resolvedProperties,
549
546
  });
550
547
  default:
@@ -561,16 +558,16 @@ export class A2uiMessageProcessor {
561
558
  * a child node (a string that matches a component ID), an explicitList of
562
559
  * children, or a template, these will be built out here.
563
560
  */
564
- resolvePropertyValue(value, surface, visited, dataContextPath, idSuffix = "") {
561
+ resolvePropertyValue(value, surface, visited, dataContextPath, idSuffix = '') {
565
562
  // 1. If it's a string that matches a component ID, build that node.
566
- if (typeof value === "string" && surface.components.has(value)) {
563
+ if (typeof value === 'string' && surface.components.has(value)) {
567
564
  return this.buildNodeRecursive(value, surface, visited, dataContextPath, idSuffix);
568
565
  }
569
566
  // 2. If it's a ComponentArrayReference (e.g., a `children` property),
570
567
  // resolve the list and return an array of nodes.
571
568
  if (isComponentArrayReference(value)) {
572
569
  if (value.explicitList) {
573
- return value.explicitList.map((id) => this.buildNodeRecursive(id, surface, visited, dataContextPath, idSuffix));
570
+ return value.explicitList.map(id => this.buildNodeRecursive(id, surface, visited, dataContextPath, idSuffix));
574
571
  }
575
572
  if (value.template) {
576
573
  const fullDataPath = this.resolvePath(value.template.dataBinding, dataContextPath);
@@ -582,10 +579,10 @@ export class A2uiMessageProcessor {
582
579
  // Create a synthetic ID based on the template ID and the
583
580
  // full index path of the data (e.g., template-id:0:1)
584
581
  const parentIndices = dataContextPath
585
- .split("/")
586
- .filter((segment) => /^\d+$/.test(segment));
582
+ .split('/')
583
+ .filter(segment => /^\d+$/.test(segment));
587
584
  const newIndices = [...parentIndices, index];
588
- const newSuffix = `:${newIndices.join(":")}`;
585
+ const newSuffix = `:${newIndices.join(':')}`;
589
586
  const childDataContextPath = `${fullDataPath}/${index}`;
590
587
  return this.buildNodeRecursive(template.componentId, // baseId
591
588
  surface, visited, childDataContextPath, newSuffix);
@@ -594,7 +591,7 @@ export class A2uiMessageProcessor {
594
591
  // Handle Map data.
595
592
  const mapCtor = this.mapCtor;
596
593
  if (data instanceof mapCtor) {
597
- return Array.from(data.keys(), (key) => {
594
+ return Array.from(data.keys(), key => {
598
595
  const newSuffix = `:${key}`;
599
596
  const childDataContextPath = `${fullDataPath}/${key}`;
600
597
  return this.buildNodeRecursive(template.componentId, // baseId
@@ -607,7 +604,7 @@ export class A2uiMessageProcessor {
607
604
  }
608
605
  // 3. If it's a plain array, resolve each of its items.
609
606
  if (Array.isArray(value)) {
610
- return value.map((item) => this.resolvePropertyValue(item, surface, visited, dataContextPath, idSuffix));
607
+ return value.map(item => this.resolvePropertyValue(item, surface, visited, dataContextPath, idSuffix));
611
608
  }
612
609
  // 4. If it's a plain object, resolve each of its properties.
613
610
  if (isObject(value)) {
@@ -618,12 +615,12 @@ export class A2uiMessageProcessor {
618
615
  // dataContextPath and if 1) it's not the default and 2) we also see the
619
616
  // path beginning with /item/ or ./we trim it.
620
617
  let propertyValue = propValue;
621
- if (isPath(key, propValue) && dataContextPath !== "/") {
618
+ if (isPath(key, propValue) && dataContextPath !== '/') {
622
619
  propertyValue = propValue
623
- .replace(/^\.?\/item/, "")
624
- .replace(/^\.?\/text/, "")
625
- .replace(/^\.?\/label/, "")
626
- .replace(/^\.?\//, "");
620
+ .replace(/^\.?\/item/, '')
621
+ .replace(/^\.?\/text/, '')
622
+ .replace(/^\.?\/label/, '')
623
+ .replace(/^\.?\//, '');
627
624
  newObj[key] = propertyValue;
628
625
  continue;
629
626
  }
@@ -1 +1 @@
1
- {"version":3,"file":"model-processor.js","sourceRoot":"","sources":["../../../../src/v0_8/data/model-processor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-processor.js","sourceRoot":"","sources":["../../../../src/v0_8/data/model-processor.ts"],"names":[],"mappings":"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"}