provide-terminal 2026-03-27
Connection profiles, SSE/webhook delivery, CF recording/replay, FastAPI/CF parity
99 files · 14,359+ · 466-

Connection profiles: model, store, API, frontend, and CF

7 files changed
  • profiles.py ConnectionProfile Pydantic model and FileProfileStore with field allowlist, error handling, and password forwarding
  • config.py ProfileStoreConfig added to ServerConfig; profile auth helpers
  • profiles.py /api/profiles CRUD endpoints (GET/POST/PUT/DELETE)
  • profiles.ts CF Worker: connection profiles CRUD
  • ConnectForm.tsx Frontend connect form with profile save on successful connect
  • connection-profiles-implementation.md Connection profiles implementation plan
  • connection-profiles-design.md Connection profiles design spec
  • Connection profiles allow users to save and reuse terminal connection settings (host, port, credentials). FileProfileStore persists to disk with field allowlist validation. /api/profiles endpoints expose full CRUD on the FastAPI server. CF Workers and the frontend dashboard both implement the same profile UI. Profiles authenticate with saved credentials on connect. instantiate behavioral
    3 files
    • profiles.py
    • profiles.py
    • profiles.ts

SSE streaming and webhook delivery in observable layer and CF DO

4 files changed
  • sse.py SSE streaming endpoint for session event delivery
  • webhooks.py Webhook delivery for session events
  • mcp_tools.py session_subscribe MCP tool added alongside session_watch
  • terminal_do.ts SSE streaming and webhook delivery added to CF Durable Object
  • Observable layer extended with SSE streaming (/events/stream) and webhook delivery. CF Durable Object gains matching SSE and webhook endpoints. /events/stream and /webhooks routes added to CF entry.py router. session_subscribe MCP tool subscribes AI agents to session event webhooks. instantiate behavioral
    2 files
    • sse.py
    • terminal_do.ts

CF recording/replay routes and lifecycle_state parity

2 files changed
  • recording.ts Recording and replay routes for Cloudflare Workers
  • terminal_do.ts lifecycle_state field persisted across hibernation; recording_enabled consistently True; /recording routed to DO
  • CF Workers gains recording and replay routes (/recording/download). lifecycle_state now persisted in Durable Object storage across hibernation cycles. recording_enabled consistently returns True in all CF session responses to match FastAPI parity. instantiate behavioral
    1 file
    • recording.ts

FastAPI/CF parity cross-compat test suite

1 file changed
  • test_cross_compat.py Cross-compat tests asserting FastAPI and CF Worker return identical responses across all session and recording endpoints
  • Cross-compat test suite added to prove FastAPI and CF Worker API parity. Tests run the same operations against both backends and assert identical response shapes. CF E2E tests hardened: auto-restart pywrangler on crash, URL-aware CF Access headers, and control channel decode fixes. qualify internal
    1 file
    • test_cross_compat.py

Interactive SSE/webhook demo scripts

2 files changed
  • live_sse_webhook_demo.py Live SSE + webhook demo with headed browser sessions
  • terminal_viewer.py Interactive terminal viewer showing real connector session output
  • Demo scripts added: terminal_viewer.py for watching live connector sessions in a browser, and live_sse_webhook_demo.py demonstrating real-time SSE event delivery with headed browsers. specify internal
    1 file
    • live_sse_webhook_demo.py