Algis Dumbris and Claude Opus 4.6
42775df65f
feat: webhooks & Kubernetes Job runner for event-driven agents
...
- Webhook registration via MCP (register_webhook, list_webhooks, delete_webhook)
- HMAC-SHA256 payload signing, SSRF-safe HTTP client, loop detection (depth 5)
- 8-worker goroutine delivery pool with exponential backoff retry (1s/5s/30s)
- Dead letter queue with auto-purge, auto-disable after 50 consecutive failures
- Per-agent rate limiting (60 deliveries/min)
- K8s Job runner (register_k8s_handler, list_k8s_handlers, delete_k8s_handler)
- Auto-detect in-cluster via InClusterConfig, NoopRunner fallback
- REST API for webhook deliveries, dead letters, K8s job runs and logs
- Web UI: webhook management, K8s handler pages, dead letters view
- MultiDispatcher fan-out pattern for webhook + K8s event dispatch
- SQLite migration 009: webhooks, webhook_deliveries, k8s_handlers, k8s_job_runs
- 51 tests across 9 test packages, all passing
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-14 18:14:04 +02:00
Algis Dumbris and Claude Opus 4.6
2575ce2626
feat: OAuth 2.1 with PKCE, MCP auth, dead letters, channel management, and UX polish
...
- Add OAuth 2.1 identity provider with PKCE S256 (ory/fosite)
- Add RFC 7591 dynamic client registration for MCP clients
- Add RFC 8414 OAuth metadata discovery endpoint
- Add branded OAuth login/authorize pages with SynapBus design
- Add SYNAPBUS_BASE_URL env var for remote/LAN deployments
- Add OAuth bearer token authentication for MCP connections
- Add dead letter queue with Web UI management page
- Add channel leave, member list, and improved channel management
- Add agent auth middleware for MCP-authenticated requests
- Add console printer for structured server startup output
- Hide human accounts from agent management UI
- Fix SSE through middleware (Flush/Unwrap support)
- Fix graceful shutdown by closing SSE clients before server stop
- Fix localhost/127.0.0.1 redirect URI normalization for OAuth
- Remove agent self-registration MCP tools (manage via Web UI only)
- Update README with OAuth setup guide and MCP client config example
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-14 12:54:02 +02:00
Algis Dumbris and Claude Opus 4.6
1cb0bb7a8f
feat: merge auth, channels, and trace logging (Round 2)
...
- Human Auth: OAuth 2.1 with fosite, user registration, sessions, PKCE
- Channels: public/private channels, membership, broadcast, MCP tools
- Trace Logging: enhanced traces, REST API, metrics, retention cleanup
- Fixed migration numbering: channels=002, trace=003, auth=004
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 12:02:47 +02:00
Algis Dumbris
6ad78d58e0
fix: resolve migration version conflict (channels=002, trace=003)
2026-03-13 12:01:26 +02:00
Algis Dumbris and Claude Opus 4.6
be098081b4
feat: implement trace logging, REST API, and observability
...
Add comprehensive trace logging and observability features:
- Enhanced trace store with owner-scoped queries, filtering (agent, action,
time range), pagination, streaming export, and retention cleanup
- REST API endpoints: GET /api/traces (list with filters), GET /api/traces/export
(streaming JSON/CSV), GET /api/traces/stats (action counts)
- Owner isolation enforced at every layer (store, API, tests)
- Hand-rolled Prometheus metrics (pure Go, zero CGO): traces_total,
traces_by_action, errors_total, active_agents at GET /metrics
- Configurable slog JSON handler with --log-level flag
- Request ID middleware for cross-referencing logs and traces
- Batch trace writing (64 entries or 100ms flush interval)
- Background retention cleanup via --trace-retention flag
- SQL migration 002 adds owner_id column and composite indexes
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 11:57:05 +02:00
Algis Dumbris and Claude Opus 4.6
e3dcfece48
feat: implement channels with membership and MCP tools
...
Add channel management feature with public/private channels,
membership (owner/member roles), invitations, broadcast messaging,
and full MCP tool exposure.
New files:
- internal/channels/ - types, store, service, validation, errors
- internal/mcp/channel_tools.go - 8 MCP tools for channel operations
- schema/002_channels.sql - migration for channel_invites table
MCP tools: create_channel, join_channel, leave_channel, list_channels,
invite_to_channel, kick_from_channel, send_channel_message, update_channel
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 11:56:50 +02:00
Algis Dumbris and Claude Opus 4.6
f1bbb86a67
feat: initial SynapBus project scaffolding
...
Bootstrap the SynapBus project — a local-first, MCP-native agent-to-agent
messaging service written in Go.
Includes:
- Project constitution (10 architectural principles)
- 10 feature specs with implementation tasks:
001 Core Messaging, 002 Agent Registry, 003 Human Auth (OAuth 2.1),
004 Channels, 005 Web UI, 006 MCP Server, 007 Trace Logging,
008 Semantic Search, 009 Attachments, 010 Swarm Patterns
- Go project scaffold (cobra CLI, SQLite schema, Makefile)
- Speckit templates and commands
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 11:18:19 +02:00