airi/packages/plugin-protocol
Neko Ayaka dbf8124888
Some checks failed
CI / Build Test (ui-transitions) (push) Has been cancelled
CI / Unit Test (push) Has been cancelled
CI / Type Check (push) Has been cancelled
CI / Check Provenance (push) Has been cancelled
Cloudflare Pages (Auth UI) / Deploy - ui-server-auth (push) Has been cancelled
CI / Lint (push) Has been cancelled
CI / Build Test (stage-tamagotchi) (push) Has been cancelled
CI / Build Test (stage-tamagotchi-godot) (push) Has been cancelled
CI / Build Test (stage-web) (push) Has been cancelled
CI / Build Test (ui-loading-screens) (push) Has been cancelled
Cloudflare Workers / Deploy - stage-web (push) Has been cancelled
release: v0.11.3
2026-07-19 04:03:59 +08:00
..
src refactor(extension-*,stage-tamagotchi,stage-ui,server-*): rename to extension, improve DX (#1892) 2026-06-12 02:03:42 +08:00
package.json release: v0.11.3 2026-07-19 04:03:59 +08:00
README.md feat(plugin-protocol,server-shared): new package 2026-02-08 03:44:04 +08:00
tsconfig.json style: many typescript v6 pending errors 2026-04-05 02:07:09 +08:00
tsdown.config.ts feat(plugin-protocol,server-shared): new package 2026-02-08 03:44:04 +08:00
vitest.config.ts refactor(extension-*,stage-tamagotchi,stage-ui,server-*): rename to extension, improve DX (#1892) 2026-06-12 02:03:42 +08:00

@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

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