@uiprotocol/a2ui
v0.2.1
Published
A2UI v0.9 protocol adapter for @uiprotocol/core
Readme
@uiprotocol/a2ui
A2UI v0.9 protocol adapter for @uiprotocol/core.
Part of the UIProtocol monorepo.
Installation
npm install @uiprotocol/a2ui @uiprotocol/coreAPI
A2UIAdapter
Implements ProtocolAdapter to parse A2UI v0.9 messages into UIProtocol commands.
import { A2UIAdapter } from "@uiprotocol/a2ui";
const adapter = new A2UIAdapter();
// adapter.protocol === "a2ui"
const result = adapter.parse(rawMessage);
if (result.ok) {
console.log(result.value); // Command[]
}Supported Message Types
| A2UI Message | Generated Command |
|-------------|-------------------|
| createSurface | surface:create |
| updateComponents | nodes:upsert |
| updateDataModel | data:set or data:remove |
| deleteSurface | surface:delete |
Usage with React
import { useMessages } from "@uiprotocol/react";
import { A2UIAdapter } from "@uiprotocol/a2ui";
const adapter = new A2UIAdapter();
function Chat() {
const { processMessage, surfaces } = useMessages(adapter);
const handleAgentMessage = (raw: unknown) => {
processMessage(raw);
};
// ...
}Utilities
parseMessage(raw)— Validates and parses a raw A2UI messagegetMessageType(raw)— Returns the message type string without full parsing
