airi/packages/plugin-protocol/README.md

31 lines
968 B
Markdown

# @proj-airi/plugin-protocol
Shared protocol contracts for plugin-module communication in Project AIRI.
## What it does
- Defines websocket event names and payload types for module/plugin orchestration.
- Exposes Eventa event definitions bound to protocol event names.
- Provides shared transport/event utility types used by server and plugin runtimes.
## How to use
```ts
import type { WebSocketEvent, WebSocketEventOf, WebSocketEvents } from '@proj-airi/plugin-protocol/types'
import { moduleAnnounce, moduleAuthenticate } from '@proj-airi/plugin-protocol/types'
```
## When to use
- You need canonical protocol contracts for plugin <-> host communication.
- You need event name stability and matching payload definitions across runtimes.
## When not to use
- You only need higher-level runtime client APIs from SDK packages.
- You are implementing app-only UI state that is not part of plugin/server transport contracts.
## License
[MIT](../../LICENSE)