Add node location access RPCs and operator visibility
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
# Location Access Checklist
|
||||
|
||||
**Date:** 2026-02-16
|
||||
**Scope:** Close OpenClaw "Location access" gap using Flynn's node capability foundation.
|
||||
|
||||
## Goal
|
||||
|
||||
Provide a safe, node-scoped location API so companion clients can publish last-known location and operators can inspect it.
|
||||
|
||||
## Implemented
|
||||
|
||||
- Added node location protocol parsing:
|
||||
- `parseNodeLocationSetParams()`
|
||||
- `parseNodeLocationGetParams()`
|
||||
- Added node RPC methods:
|
||||
- `node.location.set`
|
||||
- `node.location.get`
|
||||
- Added operator visibility method:
|
||||
- `system.location`
|
||||
- Extended node state model with stored location payload.
|
||||
- Added explicit location feature gate in config:
|
||||
- `server.nodes.location.enabled` (default `false`)
|
||||
- Wired daemon config to gateway runtime and node handlers.
|
||||
- Added runtime patch support for:
|
||||
- `config.patch` key `server.nodes.location.enabled`
|
||||
- Updated docs:
|
||||
- `README.md` gateway node section
|
||||
- `docs/api/PROTOCOL.md` node/system method docs
|
||||
|
||||
## Tests
|
||||
|
||||
- `src/gateway/protocol.test.ts`
|
||||
- Added validation tests for `node.location.set/get` params parsing.
|
||||
- `src/gateway/handlers/node.test.ts`
|
||||
- Added location set/get lifecycle tests.
|
||||
- Added disabled-gate rejection test.
|
||||
- `src/gateway/handlers/handlers.test.ts`
|
||||
- Added `system.location` handler tests.
|
||||
- Added config patch test for `server.nodes.location.enabled`.
|
||||
- `src/gateway/server.test.ts`
|
||||
- Added integration test for node registration + location set/get flow.
|
||||
- `src/config/schema.test.ts`
|
||||
- Added default/custom tests for `server.nodes.location.enabled`.
|
||||
- `src/gateway/auth.test.ts`
|
||||
- Added role-scope authorization test for `node.location.set`.
|
||||
|
||||
## Validation Run
|
||||
|
||||
```bash
|
||||
pnpm test:run src/gateway/protocol.test.ts src/gateway/auth.test.ts src/gateway/handlers/node.test.ts src/gateway/handlers/handlers.test.ts src/gateway/server.test.ts src/config/schema.test.ts
|
||||
pnpm typecheck
|
||||
pnpm build
|
||||
```
|
||||
Reference in New Issue
Block a user