v0.2.0 — CLI Tool & Foundation
msg-gateway v0.2.0
Second release — introduces the gw-cli command-line client, Cargo workspace restructure, and major feature additions across the gateway.
Binaries
| Binary | Size | Description |
|---|---|---|
gw-server |
13M | Gateway server (renamed from msg-gateway) |
gw-cli |
6.6M | CLI client for chat, admin, and agent integration |
Highlights
gw-cli — New CLI Tool
- Interactive chat REPL (
gw-cli chat) with WebSocket streaming - One-shot send (
gw-cli send) — pipe-friendly, reads from stdin or--text - WebSocket listener (
gw-cli listen) — streams JSONL for agents and scripts - Credential management (
gw-cli credentials list/create/activate/deactivate) - Health check (
gw-cli health) — exit code 0/1 for scripting - TTY-aware output: human-readable on terminal, JSON when piped
- Environment variable support:
GATEWAY_URL,GATEWAY_TOKEN,GATEWAY_ADMIN_TOKEN
CEL-Based Guardrails
- Inbound message filtering with CEL expressions
- Hot-reload: rule changes apply without restart
- Actions:
block(reject with 403) orlog(audit only) - XDG-compliant config path resolution
OpenCode Backend (Built-in)
- REST + SSE integration with session management
- File attachment support and long response handling
- Fire-and-forget with SSE response delivery
Named Backends with Per-Credential Routing
- Multiple backend instances (e.g. separate Pipelit + OpenCode)
- Each credential routes to a specific named backend
- External backend subprocess protocol
Other Improvements
- Cargo workspace restructure (
gw-server+gw-cli) - File upload API with multipart support
- Message format redesign:
files[],extra_data,reply_to_message_id - E2E test framework with Cucumber-JS (19+ scenarios)
- External backend adapter subprocess protocol
- Comprehensive documentation updates
Upgrade Notes
- Binary renamed:
msg-gateway→gw-server - Config route fields changed:
workflow_id/trigger_id→workflow_slug/trigger_node_id(to match Pipelit API) - New config fields:
guardrails_dir,backends_dir,backend_port_range