Add canvas artifact RPC foundation for A2UI
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
# Canvas / A2UI Foundation Checklist
|
||||
|
||||
**Date:** 2026-02-16
|
||||
**Scope:** Close OpenClaw "Canvas / A2UI" gap with a first gateway-level artifact API.
|
||||
|
||||
## Goal
|
||||
|
||||
Add a minimal, testable visual-workspace foundation that companion clients/web UI can use to store and retrieve structured session artifacts.
|
||||
|
||||
## Implemented
|
||||
|
||||
- Added in-memory canvas artifact store:
|
||||
- `src/gateway/canvas-store.ts`
|
||||
- Added gateway canvas handlers:
|
||||
- `canvas.put`
|
||||
- `canvas.get`
|
||||
- `canvas.list`
|
||||
- `canvas.delete`
|
||||
- `canvas.clear`
|
||||
- Wired handlers into gateway routing:
|
||||
- `src/gateway/server.ts`
|
||||
- `src/gateway/handlers/index.ts`
|
||||
- Added docs updates:
|
||||
- `README.md`
|
||||
- `docs/api/PROTOCOL.md`
|
||||
|
||||
## Test Coverage
|
||||
|
||||
- `src/gateway/canvas-store.test.ts`
|
||||
- session scoping
|
||||
- update semantics
|
||||
- delete/clear lifecycle
|
||||
- per-session cap eviction
|
||||
- `src/gateway/handlers/handlers.test.ts`
|
||||
- full `canvas.*` lifecycle handler flow
|
||||
- request validation error paths
|
||||
- `src/gateway/server.test.ts`
|
||||
- end-to-end gateway RPC canvas flow
|
||||
|
||||
## Validation Run
|
||||
|
||||
```bash
|
||||
pnpm test:run src/gateway/canvas-store.test.ts src/gateway/handlers/handlers.test.ts src/gateway/server.test.ts
|
||||
pnpm typecheck
|
||||
pnpm build
|
||||
```
|
||||
Reference in New Issue
Block a user