32 lines
1.5 KiB
Markdown
32 lines
1.5 KiB
Markdown
---
|
|
summary: "Refactor notes for the macOS gateway client typed API migration (Dec 2025)."
|
|
read_when:
|
|
- Refactoring macOS gateway client or typed gateway methods
|
|
- Auditing agent routing or channel semantics
|
|
---
|
|
|
|
# Gateway Client Refactor (Dec 2025)
|
|
|
|
Goal: remove stringly-typed gateway calls from the macOS app, centralize routing/channel semantics, and improve error handling.
|
|
|
|
## Progress
|
|
|
|
- [x] Fold legacy “AgentRPC” into `GatewayConnection` (single layer; no separate client object).
|
|
- [x] Typed gateway API: `GatewayConnection.Method` + `requestDecoded/requestVoid` + typed helpers (status/agent/chat/cron/etc).
|
|
- [x] Centralize agent routing/channel semantics via `GatewayAgentChannel` + `GatewayAgentInvocation`.
|
|
- [x] Improve gateway error model (structured `GatewayResponseError` + decoding errors include method).
|
|
- [x] Migrate mac call sites to typed helpers (leave only intentionally dynamic forwarding paths).
|
|
- [x] Convert remaining UI raw channel strings to `GatewayAgentChannel` (Cron editor).
|
|
- [x] Cleanup naming: rename remaining tests/docs that still reference “RPC/AgentRPC”.
|
|
|
|
### Notes
|
|
|
|
- Intentionally string-based:
|
|
- `BridgeServer` dynamic request forwarding (method is data-driven).
|
|
- `ControlChannel` request wrapper (generic escape hatch).
|
|
|
|
## Notes / Non-goals
|
|
|
|
- No functional behavior changes intended (beyond better errors and removing “magic strings”).
|
|
- Keep changes incremental: introduce typed APIs first, then migrate call sites, then remove old helpers.
|