@nonoun/native-ai 1.0.9 → 1.0.12

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.
@@ -1 +1 @@
1
- {"version":3,"file":"a2ui-element.d.ts","sourceRoot":"","sources":["../../src/a2ui/a2ui-element.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,aAAa,EAA+C,MAAM,mBAAmB,CAAC;AAa/F,OAAO,8BAA8B,CAAC;AAkFtC,qBAAa,KAAM,SAAQ,aAAa;;IACtC,MAAM,CAAC,kBAAkB,WAAc;IAqDvC,IAAI,MAAM,IAAI,MAAM,CAA+B;IACnD,IAAI,MAAM,CAAC,GAAG,EAAE,MAAM,EAKrB;IAID,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IASpF,OAAO,IAAI,IAAI;IACf,IAAI,IAAI,IAAI;IACZ,QAAQ,IAAI,IAAI;IAChB,KAAK,IAAI,IAAI;IAIb,KAAK,IAAI,IAAI;IAmIb,QAAQ,IAAI,IAAI;CAkyCjB"}
1
+ {"version":3,"file":"a2ui-element.d.ts","sourceRoot":"","sources":["../../src/a2ui/a2ui-element.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,aAAa,EAA+C,MAAM,mBAAmB,CAAC;AAa/F,OAAO,8BAA8B,CAAC;AAqFtC,qBAAa,KAAM,SAAQ,aAAa;;IACtC,MAAM,CAAC,kBAAkB,WAAc;IAyDvC,IAAI,MAAM,IAAI,MAAM,CAA+B;IACnD,IAAI,MAAM,CAAC,GAAG,EAAE,MAAM,EAKrB;IAID,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IASpF,OAAO,IAAI,IAAI;IACf,IAAI,IAAI,IAAI;IACZ,QAAQ,IAAI,IAAI;IAChB,KAAK,IAAI,IAAI;IAIb,KAAK,IAAI,IAAI;IAwJb,QAAQ,IAAI,IAAI;CAu3CjB"}
@@ -6,6 +6,7 @@
6
6
  * to provide a unified API for receiving and emitting A2UI messages.
7
7
  */
8
8
  import type { A2UIServerMessage, A2UIClientMessage, A2UIUpdateComponents, A2UIProtocolVersion } from './a2ui-types.ts';
9
+ import type { ComponentRegistry } from './a2ui-component-map.ts';
9
10
  import type { SurfaceState } from './a2ui-surface.ts';
10
11
  import type { A2UIKernelBridge as Kernel } from './kernel-bridge.ts';
11
12
  import type { UIPlan } from './kernel-bridge.ts';
@@ -14,6 +15,7 @@ export interface A2UIAdapterOptions {
14
15
  readonly version?: A2UIProtocolVersion;
15
16
  readonly onClientMessage?: (msg: A2UIClientMessage) => void;
16
17
  readonly onRender?: (surfaceId: string, container: HTMLElement) => void;
18
+ readonly registry?: ComponentRegistry;
17
19
  }
18
20
  export declare class A2UIAdapter {
19
21
  #private;
@@ -1 +1 @@
1
- {"version":3,"file":"a2ui-adapter.d.ts","sourceRoot":"","sources":["../../../src/a2ui/protocol/a2ui-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EAEpB,MAAM,iBAAiB,CAAC;AAMzB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,IAAI,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAIrD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC;IACvC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC5D,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,KAAK,IAAI,CAAC;CACzE;AAID,qBAAa,WAAW;;gBAIV,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB;IAWxD;;;;OAIG;IACH,OAAO,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,EAAE,SAAS,CAAC,EAAE,WAAW,GAAG,IAAI;IAoC3E;;;OAGG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI;IAM7C;;OAEG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,oBAAoB;IAiB5D;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,oBAAoB;IAM5E,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAIlD,aAAa,IAAI,SAAS,MAAM,EAAE;IAIlC,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAM/D;;OAEG;IACH,iBAAiB,IAAI,SAAS,MAAM,EAAE;IAMtC,OAAO,IAAI,IAAI;CAGhB;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,WAAW,CAE3F"}
1
+ {"version":3,"file":"a2ui-adapter.d.ts","sourceRoot":"","sources":["../../../src/a2ui/protocol/a2ui-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EAEpB,MAAM,iBAAiB,CAAC;AAKzB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,IAAI,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAIrD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC;IACvC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC5D,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,KAAK,IAAI,CAAC;IACxE,QAAQ,CAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CACvC;AAID,qBAAa,WAAW;;gBAIV,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB;IAYxD;;;;OAIG;IACH,OAAO,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,EAAE,SAAS,CAAC,EAAE,WAAW,GAAG,IAAI;IAqC3E;;;OAGG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI;IAM7C;;OAEG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,oBAAoB;IAkB5D;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,oBAAoB;IAM5E,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAIlD,aAAa,IAAI,SAAS,MAAM,EAAE;IAIlC,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAM/D;;OAEG;IACH,iBAAiB,IAAI,SAAS,MAAM,EAAE;IAMtC,OAAO,IAAI,IAAI;CAGhB;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,WAAW,CAE3F"}
@@ -3,7 +3,12 @@
3
3
  *
4
4
  * Bidirectional mapping between A2UI abstract component types
5
5
  * and native-ui concrete HTML/custom element tags.
6
+ *
7
+ * The `ComponentRegistry` class provides a mutable registry with
8
+ * change tracking via a signal. The default singleton (`defaultRegistry`)
9
+ * preserves backward compatibility with existing free-function imports.
6
10
  */
11
+ import type { Signal } from '@nonoun/native-ui';
7
12
  export type ChildStrategy = 'children' | 'textContent' | 'slot-label' | 'none';
8
13
  export interface ComponentMapping {
9
14
  readonly a2uiType: string;
@@ -17,13 +22,46 @@ export interface ComponentMapping {
17
22
  /** The native-ui event name that maps to A2UI action */
18
23
  readonly actionEvent?: string;
19
24
  }
20
- /** All component mappings, keyed by A2UI type */
21
- export declare const COMPONENT_MAP: ReadonlyMap<string, ComponentMapping>;
25
+ export interface RegistrySnapshot {
26
+ readonly mappings: ComponentMapping[];
27
+ readonly categories: Record<string, string>;
28
+ }
29
+ export declare class ComponentRegistry {
30
+ #private;
31
+ constructor(mappings: readonly ComponentMapping[], categories?: Readonly<Record<string, string>>);
32
+ get version(): Signal<number>;
33
+ get(type: string): ComponentMapping | undefined;
34
+ has(type: string): boolean;
35
+ get size(): number;
36
+ keys(): IterableIterator<string>;
37
+ values(): IterableIterator<ComponentMapping>;
38
+ entries(): IterableIterator<[string, ComponentMapping]>;
39
+ forEach(cb: (mapping: ComponentMapping, type: string, map: Map<string, ComponentMapping>) => void): void;
40
+ [Symbol.iterator](): IterableIterator<[string, ComponentMapping]>;
41
+ add(mapping: ComponentMapping, notify?: boolean): void;
42
+ update(a2uiType: string, patch: Partial<Omit<ComponentMapping, 'a2uiType'>>): void;
43
+ remove(a2uiType: string): void;
44
+ setCategory(a2uiType: string, category: string): void;
45
+ toJSON(): RegistrySnapshot;
46
+ static fromJSON(data: RegistrySnapshot): ComponentRegistry;
47
+ clone(): ComponentRegistry;
48
+ resolveNativeTag(a2uiType: string): ComponentMapping | null;
49
+ resolveA2UIType(tag: string, attributes?: Readonly<Record<string, string>>): string | null;
50
+ getSupportedTypes(): readonly string[];
51
+ getComponentCategory(a2uiType: string): string;
52
+ getCompatibleTypes(a2uiType: string): readonly string[];
53
+ }
54
+ export declare const defaultRegistry: ComponentRegistry;
55
+ /** All component mappings, keyed by A2UI type. */
56
+ export declare const COMPONENT_MAP: ComponentRegistry;
22
57
  export declare function resolveNativeTag(a2uiType: string): ComponentMapping | null;
23
58
  export declare function resolveA2UIType(tag: string, attributes?: Readonly<Record<string, string>>): string | null;
59
+ export declare function getSupportedTypes(): readonly string[];
60
+ export declare function getComponentCategory(a2uiType: string): string;
61
+ export declare function getCompatibleTypes(a2uiType: string): readonly string[];
24
62
  /**
25
63
  * For A2UI Text components, resolve the variant to an HTML tag.
26
- * Returns 'n-text' by default.
64
+ * Returns 'span' by default.
27
65
  */
28
66
  export declare function textVariantTag(variant?: string): string;
29
67
  /**
@@ -34,16 +72,4 @@ export declare function dateTimeInputType(enableDate?: boolean, enableTime?: boo
34
72
  * For A2UI TextField components, resolve the variant to an HTML input type attribute.
35
73
  */
36
74
  export declare function textFieldInputType(variant?: string): string;
37
- /**
38
- * Get all supported A2UI component types.
39
- */
40
- export declare function getSupportedTypes(): readonly string[];
41
- /**
42
- * Get the category for an A2UI component type.
43
- */
44
- export declare function getComponentCategory(a2uiType: string): string;
45
- /**
46
- * Get all component types in the same category.
47
- */
48
- export declare function getCompatibleTypes(a2uiType: string): readonly string[];
49
75
  //# sourceMappingURL=a2ui-component-map.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"a2ui-component-map.d.ts","sourceRoot":"","sources":["../../../src/a2ui/protocol/a2ui-component-map.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,aAAa,GAAG,YAAY,GAAG,MAAM,CAAC;AAI/E,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9D,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,4DAA4D;IAC5D,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACxD,2DAA2D;IAC3D,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACvD,wDAAwD;IACxD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AA2PD,iDAAiD;AACjD,eAAO,MAAM,aAAa,EAAE,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAc,CAAC;AAI/E,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAE1E;AAID,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,EACX,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAC5C,MAAM,GAAG,IAAI,CAmCf;AAeD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAGvD;AAID;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,CAAC,EAAE,OAAO,EACpB,UAAU,CAAC,EAAE,OAAO,GACnB,MAAM,CAIR;AAWD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAG3D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,SAAS,MAAM,EAAE,CAErD;AAqCD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAGtE"}
1
+ {"version":3,"file":"a2ui-component-map.d.ts","sourceRoot":"","sources":["../../../src/a2ui/protocol/a2ui-component-map.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@
6
6
  */
7
7
  import type { UINode, UIPlan, CommandSource } from './kernel-bridge.ts';
8
8
  import type { A2UIComponent, A2UIProtocolVersion } from './a2ui-types.ts';
9
+ import type { ComponentRegistry } from './a2ui-component-map.ts';
9
10
  export interface ConversionResult {
10
11
  readonly root: UINode;
11
12
  readonly bindings: ReadonlyMap<string, readonly DataBindingEntry[]>;
@@ -20,10 +21,12 @@ export interface ToUINodeOptions {
20
21
  readonly rootId?: string;
21
22
  readonly surfaceId?: string;
22
23
  readonly version?: A2UIProtocolVersion;
24
+ readonly registry?: ComponentRegistry;
23
25
  }
24
26
  export interface ToA2UIOptions {
25
27
  readonly surfaceId?: string;
26
28
  readonly version?: A2UIProtocolVersion;
29
+ readonly registry?: ComponentRegistry;
27
30
  }
28
31
  export declare function a2uiToUINode(components: readonly A2UIComponent[], options?: ToUINodeOptions): ConversionResult;
29
32
  export declare function uiNodeToA2UI(root: UINode, options?: ToA2UIOptions): readonly A2UIComponent[];
@@ -1 +1 @@
1
- {"version":3,"file":"a2ui-converter.d.ts","sourceRoot":"","sources":["../../../src/a2ui/protocol/a2ui-converter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,KAAK,EAAE,aAAa,EAAmB,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAY3F,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,gBAAgB,EAAE,CAAC,CAAC;IACpE,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAID,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC;CACxC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC;CACxC;AAeD,wBAAgB,YAAY,CAC1B,UAAU,EAAE,SAAS,aAAa,EAAE,EACpC,OAAO,CAAC,EAAE,eAAe,GACxB,gBAAgB,CA6DlB;AA0UD,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,aAAa,GACtB,SAAS,aAAa,EAAE,CAI1B;AAyHD;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,gBAAgB,EACxB,MAAM,GAAE,aAA2B,GAClC,MAAM,CAQR"}
1
+ {"version":3,"file":"a2ui-converter.d.ts","sourceRoot":"","sources":["../../../src/a2ui/protocol/a2ui-converter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,KAAK,EAAE,aAAa,EAAmB,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAS3F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAIjE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,gBAAgB,EAAE,CAAC,CAAC;IACpE,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAID,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC;IACvC,QAAQ,CAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CACvC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC;IACvC,QAAQ,CAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CACvC;AAmBD,wBAAgB,YAAY,CAC1B,UAAU,EAAE,SAAS,aAAa,EAAE,EACpC,OAAO,CAAC,EAAE,eAAe,GACxB,gBAAgB,CAgElB;AAuYD,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,aAAa,GACtB,SAAS,aAAa,EAAE,CAU1B;AA2HD;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,gBAAgB,EACxB,MAAM,GAAE,aAA2B,GAClC,MAAM,CAQR"}
@@ -6,6 +6,7 @@
6
6
  */
7
7
  import type { ReadonlySignal } from '@nonoun/native-ui';
8
8
  import type { A2UIServerMessage, A2UIActionMessage, A2UIComponent } from './a2ui-types.ts';
9
+ import type { ComponentRegistry } from './a2ui-component-map.ts';
9
10
  import type { A2UIKernelBridge as Kernel } from './kernel-bridge.ts';
10
11
  import type { PatchOp } from './kernel-bridge.ts';
11
12
  export interface SurfaceState {
@@ -21,13 +22,13 @@ export declare function setJsonPointer(data: Record<string, unknown>, pointer: s
21
22
  export declare class SurfaceManager {
22
23
  #private;
23
24
  readonly surfaceCount: ReadonlySignal<number>;
24
- constructor(kernel: Kernel, onAction: (msg: A2UIActionMessage) => void, onRender?: (surfaceId: string, container: HTMLElement) => void);
25
+ constructor(kernel: Kernel, onAction: (msg: A2UIActionMessage) => void, onRender?: (surfaceId: string, container: HTMLElement) => void, registry?: ComponentRegistry);
25
26
  handleMessage(msg: A2UIServerMessage, container?: HTMLElement): void;
26
27
  getSurface(surfaceId: string): SurfaceState | null;
27
28
  getSurfaceIds(): readonly string[];
28
29
  getDataModel(surfaceId: string): Record<string, unknown> | null;
29
30
  destroy(): void;
30
31
  }
31
- export declare function diffComponents(oldComponents: readonly A2UIComponent[], newComponents: readonly A2UIComponent[], surfaceId: string): readonly PatchOp[];
32
- export declare function createSurfaceManager(kernel: Kernel, onAction: (msg: A2UIActionMessage) => void): SurfaceManager;
32
+ export declare function diffComponents(oldComponents: readonly A2UIComponent[], newComponents: readonly A2UIComponent[], surfaceId: string, registry?: ComponentRegistry): readonly PatchOp[];
33
+ export declare function createSurfaceManager(kernel: Kernel, onAction: (msg: A2UIActionMessage) => void, registry?: ComponentRegistry): SurfaceManager;
33
34
  //# sourceMappingURL=a2ui-surface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"a2ui-surface.d.ts","sourceRoot":"","sources":["../../../src/a2ui/protocol/a2ui-surface.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAU,cAAc,EAAW,MAAM,mBAAmB,CAAC;AACzE,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EAKd,MAAM,iBAAiB,CAAC;AASzB,OAAO,KAAK,EAAE,gBAAgB,IAAI,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAIlD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAClD,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAkBD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAS1E;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAiBnG;AAQD,qBAAa,cAAc;;IAOzB,QAAQ,CAAC,YAAY,EAAE,cAAc,CAAC,MAAM,CAAC,CAA4C;gBAGvF,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,IAAI,EAC1C,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,KAAK,IAAI;IAShE,aAAa,CAAC,GAAG,EAAE,iBAAiB,EAAE,SAAS,CAAC,EAAE,WAAW,GAAG,IAAI;IAiPpE,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAalD,aAAa,IAAI,SAAS,MAAM,EAAE;IAIlC,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAM/D,OAAO,IAAI,IAAI;CAKhB;AAkCD,wBAAgB,cAAc,CAC5B,aAAa,EAAE,SAAS,aAAa,EAAE,EACvC,aAAa,EAAE,SAAS,aAAa,EAAE,EACvC,SAAS,EAAE,MAAM,GAChB,SAAS,OAAO,EAAE,CA6FpB;AA+BD,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,IAAI,GACzC,cAAc,CAEhB"}
1
+ {"version":3,"file":"a2ui-surface.d.ts","sourceRoot":"","sources":["../../../src/a2ui/protocol/a2ui-surface.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAU,cAAc,EAAW,MAAM,mBAAmB,CAAC;AACzE,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EAKd,MAAM,iBAAiB,CAAC;AASzB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,gBAAgB,IAAI,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAIlD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAClD,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAkBD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAS1E;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAiBnG;AAQD,qBAAa,cAAc;;IAQzB,QAAQ,CAAC,YAAY,EAAE,cAAc,CAAC,MAAM,CAAC,CAA4C;gBAGvF,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,IAAI,EAC1C,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,KAAK,IAAI,EAC9D,QAAQ,CAAC,EAAE,iBAAiB;IAU9B,aAAa,CAAC,GAAG,EAAE,iBAAiB,EAAE,SAAS,CAAC,EAAE,WAAW,GAAG,IAAI;IAmPpE,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAalD,aAAa,IAAI,SAAS,MAAM,EAAE;IAIlC,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAM/D,OAAO,IAAI,IAAI;CAKhB;AAkCD,wBAAgB,cAAc,CAC5B,aAAa,EAAE,SAAS,aAAa,EAAE,EACvC,aAAa,EAAE,SAAS,aAAa,EAAE,EACvC,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,iBAAiB,GAC3B,SAAS,OAAO,EAAE,CA6FpB;AA+BD,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,IAAI,EAC1C,QAAQ,CAAC,EAAE,iBAAiB,GAC3B,cAAc,CAEhB"}
@@ -4,8 +4,8 @@ export { SurfaceManager, createSurfaceManager, resolveJsonPointer, setJsonPointe
4
4
  export type { SurfaceState } from './a2ui-surface.ts';
5
5
  export { a2uiToUINode, uiNodeToA2UI, conversionToPlan } from './a2ui-converter.ts';
6
6
  export type { ConversionResult, DataBindingEntry, ToUINodeOptions, ToA2UIOptions } from './a2ui-converter.ts';
7
- export { resolveNativeTag, resolveA2UIType, COMPONENT_MAP, getSupportedTypes, textVariantTag, textFieldInputType, dateTimeInputType } from './a2ui-component-map.ts';
8
- export type { ComponentMapping, ChildStrategy } from './a2ui-component-map.ts';
7
+ export { ComponentRegistry, defaultRegistry, resolveNativeTag, resolveA2UIType, COMPONENT_MAP, getSupportedTypes, getComponentCategory, getCompatibleTypes, textVariantTag, textFieldInputType, dateTimeInputType } from './a2ui-component-map.ts';
8
+ export type { ComponentMapping, ChildStrategy, RegistrySnapshot } from './a2ui-component-map.ts';
9
9
  export { isDataBinding, isCreateSurface, isUpdateComponents, isUpdateDataModel, isDeleteSurface, isCatalogRequest, isCatalogResponse, isActionMessage, isErrorMessage, parseServerMessage, } from './a2ui-types.ts';
10
10
  export type { A2UIProtocolVersion, A2UIServerMessage, A2UICreateSurface, A2UIUpdateComponents, A2UIUpdateDataModel, A2UIDeleteSurface, A2UICatalogRequest, A2UICatalogResponse, A2UIClientMessage, A2UIActionMessage, A2UIErrorMessage, A2UIComponent, A2UIComponentAction, A2UIDataBinding, A2UIStandardType, } from './a2ui-types.ts';
11
11
  export { WebSocketTransport, SSETransport, createWebSocketTransport, createSSETransport } from './a2ui-transport.ts';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/a2ui/protocol/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACnE,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC7G,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACnF,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC9G,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,aAAa,EAAE,iBAAiB,EAAE,cAAc,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACrK,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC/E,OAAO,EACL,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,eAAe,EACf,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACrH,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/a2ui/protocol/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACnE,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC7G,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACnF,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC9G,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,gBAAgB,EAAE,eAAe,EAAE,aAAa,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,cAAc,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACnP,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACjG,OAAO,EACL,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,eAAe,EACf,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACrH,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"chat-input-structured-element.d.ts","sourceRoot":"","sources":["../../../src/chat/message/chat-input-structured-element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAgC,MAAM,mBAAmB,CAAC;AAEhF,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,oBAAqB,SAAQ,aAAa;;IACrD,MAAM,CAAC,kBAAkB,WAA2D;;IAiBpF,IAAI,QAAQ,IAAI,MAAM,CAAiC;IACvD,IAAI,QAAQ,CAAC,GAAG,EAAE,MAAM,EAGvB;IAED,IAAI,OAAO,IAAI,gBAAgB,EAAE,CAAgC;IACjE,IAAI,OAAO,CAAC,GAAG,EAAE,gBAAgB,EAAE,EAGlC;IAED,IAAI,UAAU,IAAI,gBAAgB,EAAE,CAGnC;IAED,IAAI,QAAQ,IAAI,OAAO,CAAiC;IACxD,IAAI,QAAQ,CAAC,GAAG,EAAE,OAAO,EAGxB;IAID,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAiBpF,KAAK,IAAI,IAAI;IAkCb,QAAQ,IAAI,IAAI;CA4HjB"}
1
+ {"version":3,"file":"chat-input-structured-element.d.ts","sourceRoot":"","sources":["../../../src/chat/message/chat-input-structured-element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAgC,MAAM,mBAAmB,CAAC;AAEhF,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,oBAAqB,SAAQ,aAAa;;IACrD,MAAM,CAAC,kBAAkB,WAA2D;;IAiBpF,IAAI,QAAQ,IAAI,MAAM,CAAiC;IACvD,IAAI,QAAQ,CAAC,GAAG,EAAE,MAAM,EAGvB;IAED,IAAI,OAAO,IAAI,gBAAgB,EAAE,CAAgC;IACjE,IAAI,OAAO,CAAC,GAAG,EAAE,gBAAgB,EAAE,EAGlC;IAED,IAAI,UAAU,IAAI,gBAAgB,EAAE,CAGnC;IAED,IAAI,QAAQ,IAAI,OAAO,CAAiC;IACxD,IAAI,QAAQ,CAAC,GAAG,EAAE,OAAO,EAGxB;IAID,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAiBpF,KAAK,IAAI,IAAI;IAkCb,QAAQ,IAAI,IAAI;CA6HjB"}
@@ -20,7 +20,7 @@ export interface GenUINode {
20
20
  *
21
21
  * Set the schema via property:
22
22
  * ```js
23
- * el.schema = { tag: 'n-card', children: [{ tag: 'p', text: 'Hello' }] };
23
+ * el.schema = { tag: 'n-container', children: [{ tag: 'p', text: 'Hello' }] };
24
24
  * ```
25
25
  *
26
26
  * @attr {string} schema-type - `a2ui` | `mcpui`
@@ -1 +1 @@
1
- {"version":3,"file":"chat-message-seed-element.d.ts","sourceRoot":"","sources":["../../../src/chat/message/chat-message-seed-element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAgC,MAAM,mBAAmB,CAAC;AAEhF,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,gBAAiB,SAAQ,aAAa;;IACjD,MAAM,CAAC,kBAAkB,WAA2B;;IAapD,IAAI,OAAO,IAAI,UAAU,EAAE,CAAgC;IAC3D,IAAI,OAAO,CAAC,GAAG,EAAE,UAAU,EAAE,EAG5B;IAED,IAAI,QAAQ,IAAI,OAAO,CAAiC;IACxD,IAAI,QAAQ,CAAC,GAAG,EAAE,OAAO,EAGxB;IAID,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAgBpF,KAAK,IAAI,IAAI;IAyCb,QAAQ,IAAI,IAAI;CAsBjB"}
1
+ {"version":3,"file":"chat-message-seed-element.d.ts","sourceRoot":"","sources":["../../../src/chat/message/chat-message-seed-element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAgC,MAAM,mBAAmB,CAAC;AAEhF,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,gBAAiB,SAAQ,aAAa;;IACjD,MAAM,CAAC,kBAAkB,WAA2B;;IAapD,IAAI,OAAO,IAAI,UAAU,EAAE,CAAgC;IAC3D,IAAI,OAAO,CAAC,GAAG,EAAE,UAAU,EAAE,EAG5B;IAED,IAAI,QAAQ,IAAI,OAAO,CAAiC;IACxD,IAAI,QAAQ,CAAC,GAAG,EAAE,OAAO,EAGxB;IAID,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAgBpF,KAAK,IAAI,IAAI;IA0Cb,QAAQ,IAAI,IAAI;CAsBjB"}
@@ -59,8 +59,7 @@
59
59
 
60
60
  /* ── Dark chrome header toolbar (chips + expand) ── */
61
61
 
62
- :where(native-a2ui) > :where(n-header),
63
- :where(native-a2ui) > :where(header) {
62
+ :where(native-a2ui) > :where(n-header) {
64
63
  display: flex;
65
64
  align-items: center;
66
65
  flex: none;
@@ -73,15 +72,12 @@
73
72
 
74
73
  /* Header button hover background */
75
74
  :where(native-a2ui) > :where(n-header) :where(n-button):hover,
76
- :where(native-a2ui) > :where(n-header) :where(n-button)[force-hover],
77
- :where(native-a2ui) > :where(header) :where(n-button):hover,
78
- :where(native-a2ui) > :where(header) :where(n-button)[force-hover] {
75
+ :where(native-a2ui) > :where(n-header) :where(n-button)[force-hover] {
79
76
  background: var(--n-pg-editor-bg);
80
77
  }
81
78
 
82
79
  /* Chip active state — "panel is open" indicator */
83
- :where(native-a2ui) > :where(n-header) :where(n-button)[data-active],
84
- :where(native-a2ui) > :where(header) :where(n-button)[data-active] {
80
+ :where(native-a2ui) > :where(n-header) :where(n-button)[data-active] {
85
81
  background: var(--n-pg-editor-bg);
86
82
  color: var(--n-pg-text-strong);
87
83
  }
@@ -179,8 +175,7 @@
179
175
 
180
176
  /* ── Pane Header (icon + label + close button) ── */
181
177
 
182
- :where(native-a2ui) :where(.a2ui-pane) > :where(n-header),
183
- :where(native-a2ui) :where(.a2ui-pane) > :where(header) {
178
+ :where(native-a2ui) :where(.a2ui-pane) > :where(n-header) {
184
179
  display: grid;
185
180
  grid-template-columns: auto 1fr auto;
186
181
  align-items: center;
@@ -200,22 +195,19 @@
200
195
  letter-spacing: 0.04em;
201
196
  }
202
197
 
203
- :where(native-a2ui) :where(.a2ui-pane) > :where(header) > :where(nav),
204
- :where(native-a2ui) :where(.a2ui-pane) > :where(header) > :where(aside) {
198
+ :where(native-a2ui) :where(.a2ui-pane) > :where(n-header) > :where(nav),
199
+ :where(native-a2ui) :where(.a2ui-pane) > :where(n-header) > :where(aside) {
205
200
  display: flex;
206
201
  align-items: center;
207
202
  gap: 0.25rem;
208
203
  }
209
204
 
210
- :where(native-a2ui) :where(.a2ui-pane) > :where(n-header) :where(n-icon),
211
- :where(native-a2ui) :where(.a2ui-pane) > :where(header) :where(n-icon) {
205
+ :where(native-a2ui) :where(.a2ui-pane) > :where(n-header) :where(n-icon) {
212
206
  font-size: 0.875rem;
213
207
  }
214
208
 
215
209
  :where(native-a2ui) :where(.a2ui-pane) > :where(n-header) :where(n-button):hover,
216
- :where(native-a2ui) :where(.a2ui-pane) > :where(n-header) :where(n-button)[force-hover],
217
- :where(native-a2ui) :where(.a2ui-pane) > :where(header) :where(n-button):hover,
218
- :where(native-a2ui) :where(.a2ui-pane) > :where(header) :where(n-button)[force-hover] {
210
+ :where(native-a2ui) :where(.a2ui-pane) > :where(n-header) :where(n-button)[force-hover] {
219
211
  background: var(--n-pg-editor-bg);
220
212
  }
221
213
 
@@ -235,7 +227,8 @@
235
227
  :where(native-a2ui) :where([data-panel="json-in"]) :where(.a2ui-pane-content),
236
228
  :where(native-a2ui) :where([data-panel="js"]) :where(.a2ui-pane-content),
237
229
  :where(native-a2ui) :where([data-panel="html"]) :where(.a2ui-pane-content),
238
- :where(native-a2ui) :where([data-panel="css"]) :where(.a2ui-pane-content) {
230
+ :where(native-a2ui) :where([data-panel="css"]) :where(.a2ui-pane-content),
231
+ :where(native-a2ui) :where([data-panel="schema"]) :where(.a2ui-pane-content) {
239
232
  padding: 0;
240
233
  overflow: hidden;
241
234
  }
@@ -446,7 +439,8 @@
446
439
 
447
440
  /* ── Toolbar (playback controls inside JSON-IN pane) ── */
448
441
 
449
- :where(native-a2ui) :where([data-panel="json-in"]) > :where(n-toolbar) {
442
+ :where(native-a2ui) :where([data-panel="json-in"]) > :where(n-toolbar),
443
+ :where(native-a2ui) :where([data-panel="schema"]) > :where(n-toolbar) {
450
444
  flex: none;
451
445
  background: var(--n-pg-chrome);
452
446
  border-bottom: var(--n-pg-border);
@@ -455,13 +449,16 @@
455
449
  }
456
450
 
457
451
  /* Override n-divider flex:1 inside toolbar — just be a thin line */
458
- :where(native-a2ui) :where([data-panel="json-in"]) > :where(n-toolbar) :where(n-divider) {
452
+ :where(native-a2ui) :where([data-panel="json-in"]) > :where(n-toolbar) :where(n-divider),
453
+ :where(native-a2ui) :where([data-panel="schema"]) > :where(n-toolbar) :where(n-divider) {
459
454
  flex: none;
460
455
  }
461
456
 
462
457
  /* Toolbar button hover */
463
458
  :where(native-a2ui) :where([data-panel="json-in"]) > :where(n-toolbar) :where(n-button):hover,
464
- :where(native-a2ui) :where([data-panel="json-in"]) > :where(n-toolbar) :where(n-button)[force-hover] {
459
+ :where(native-a2ui) :where([data-panel="json-in"]) > :where(n-toolbar) :where(n-button)[force-hover],
460
+ :where(native-a2ui) :where([data-panel="schema"]) > :where(n-toolbar) :where(n-button):hover,
461
+ :where(native-a2ui) :where([data-panel="schema"]) > :where(n-toolbar) :where(n-button)[force-hover] {
465
462
  background: var(--n-pg-editor-bg);
466
463
  }
467
464
 
@@ -712,22 +709,6 @@
712
709
  border-top: 1px solid var(--n-chat-panel-footer-border);
713
710
  }
714
711
 
715
- /* ── Semantic sub-container integration ── */
716
-
717
- :where(native-chat-panel) > :where(header) {
718
- background: var(--n-chat-panel-header-background);
719
- border-bottom: 1px solid var(--n-chat-panel-header-border);
720
- }
721
-
722
- :where(native-chat-panel) > :where(section) {
723
- background: var(--n-chat-panel-body-background);
724
- }
725
-
726
- :where(native-chat-panel) > :where(footer) {
727
- background: var(--n-chat-panel-footer-background);
728
- border-top: 1px solid var(--n-chat-panel-footer-border);
729
- }
730
-
731
712
  /* ── Model picker ── */
732
713
 
733
714
  :where(native-chat-panel) :where(n-select[data-role="model-picker"]) {
@@ -1291,7 +1272,7 @@
1291
1272
  font-size: var(--n-font-size-sm);
1292
1273
  }
1293
1274
 
1294
- :where(n-chat-message-genui) :where(n-card[data-role="preview"]) {
1275
+ :where(n-chat-message-genui) :where(n-container[data-role="preview"]) {
1295
1276
  display: flex;
1296
1277
  align-items: center;
1297
1278
  justify-content: space-between;
@@ -1413,18 +1394,18 @@
1413
1394
  ════════════════════════════════════════════════════
1414
1395
 
1415
1396
  Harmonizes seed + structured input spacing when composed
1416
- together as a starter surface (e.g. inside n-card, n-body).
1397
+ together as a starter surface (e.g. inside n-container, n-body).
1417
1398
 
1418
1399
  Add `compact` attribute for tighter spacing (small cards,
1419
1400
  inline starters, sidebars).
1420
1401
 
1421
1402
  Usage:
1422
- <n-card class="n-chat-starter">
1403
+ <n-container class="n-chat-starter">
1423
1404
  <n-body>
1424
1405
  <n-chat-message-seed></n-chat-message-seed>
1425
1406
  <n-chat-input-structured question="..."></n-chat-input-structured>
1426
1407
  </n-body>
1427
- </n-card>
1408
+ </n-container>
1428
1409
  */
1429
1410
 
1430
1411
  .n-chat-starter {