Skip to content

Releases: theuselessai/plit-gw

v0.3.2

13 Mar 03:45

Choose a tag to compare

What's Changed

  • Refactored README for standalone gateway crate
  • Added Library Usage section (plit_gw::run().await)
  • Added Ecosystem links (plit CLI, Pipelit)
  • Updated crates.io badge and metadata
  • Fixed Codecov slug after repo rename

Full Changelog: https://github.com/theuselessai/plit-gw/commits/v0.3.2

v0.2.0 — CLI Tool & Foundation

10 Mar 11:45
8ad7595

Choose a tag to compare

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) or log (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-gatewaygw-server
  • Config route fields changed: workflow_id/trigger_idworkflow_slug/trigger_node_id (to match Pipelit API)
  • New config fields: guardrails_dir, backends_dir, backend_port_range

Full Changelog

v0.1.0...v0.2.0

v0.1.0 - Initial Release

08 Mar 00:36
aacddf5

Choose a tag to compare

msg-gateway v0.1.0

First public release of msg-gateway, a standalone Rust message gateway that bridges user-facing communication protocols to backend agent protocols.

Features

Core Gateway

  • HTTP server with Axum framework
  • Config hot reload with file watcher
  • Health monitoring with emergency mode and message buffering
  • File caching for inbound/outbound attachments

Protocol Adapters

  • Generic (built-in): REST + WebSocket for custom integrations
  • Telegram (external): Python adapter with subprocess management
  • External adapter architecture for Discord, Slack, Email (extensible)

Backend Protocols

  • Pipelit: Webhook + callback pattern
  • OpenCode: REST + SSE polling

Admin API

  • CRUD operations for credentials
  • Activate/deactivate credentials
  • Health status monitoring

CI/CD

  • GitHub Actions: lint, test, build
  • Code coverage with cargo-llvm-cov + Codecov (~80%)
  • AI code review with Anthropic Claude

Configuration

Uses JSON config with ${ENV_VAR} syntax for secrets:

{
  "gateway": {
    "listen": "0.0.0.0:8080",
    "admin_token": "${ADMIN_TOKEN}"
  },
  "auth": {
    "send_token": "${SEND_TOKEN}"
  },
  "credentials": {}
}

Documentation

See docs/dev-plans/ for design documents and development plans.