feat(gateway): add node capability negotiation foundation
This commit is contained in:
@@ -34,6 +34,7 @@ Self-hosted personal AI assistant with Telegram and Terminal interfaces.
|
||||
- **Tailscale Serve**: Auto-expose gateway via Tailscale Serve on daemon start with lifecycle management
|
||||
- **DM Pairing Codes**: Allow unknown senders to pair with the bot via time-limited codes across all channels, with SQLite-backed persistence across restarts
|
||||
- **Lane Queue**: Per-session FIFO queue serializes concurrent gateway requests
|
||||
- **Node Capability Negotiation**: Optional companion-node registration and capability discovery over gateway RPC
|
||||
|
||||
## Quick Start
|
||||
|
||||
@@ -846,6 +847,24 @@ Runtime session controls from chat commands:
|
||||
- `/queue set <mode|cap|overflow|debounce_ms|summarize_overflow> <value>` sets a per-session override.
|
||||
- `/queue reset` clears per-session queue overrides.
|
||||
|
||||
## Gateway Node Capability Negotiation
|
||||
|
||||
Optional gateway surface for companion clients and node-role negotiation:
|
||||
|
||||
```yaml
|
||||
server:
|
||||
nodes:
|
||||
enabled: true
|
||||
allowed_roles: [companion]
|
||||
feature_gates:
|
||||
ui.canvas: true
|
||||
```
|
||||
|
||||
Methods:
|
||||
- `node.register` registers role + declared capabilities for the current connection.
|
||||
- `node.capabilities.get` returns negotiated protocol version and enabled capabilities.
|
||||
- `system.capabilities` returns gateway protocol and node policy snapshot.
|
||||
|
||||
## Gateway Request Body Limit
|
||||
|
||||
Cap inbound HTTP POST body size (webhooks and Gmail push) to reduce memory-DoS risk.
|
||||
|
||||
Reference in New Issue
Block a user