provide-terminal 2026-04-01
HTTP intercept, TelnetSession, 14-package ecosystem extraction, 100% coverage
373 files · 10,666+ · 1,057-

HTTP intercept: gate CLI, CF relay, and frontend modify editor

5 files changed
  • intercept.py uterm intercept CLI — intercept gate with request modification and CF relay
  • _tunnel_api.py CF: browser→worker relay for http_action + text frame support
  • HijackHost.tsx Frontend: intercept UI with enable/disable toggles, action bar, and request modify editor
  • http-intercept-modify-design.md Phase 4 HTTP intercept/modify design spec
  • http-intercept-modify-implementation.md Phase 4 HTTP intercept/modify implementation plan
  • HTTP intercept adds the ability to pause, inspect, modify, and forward HTTP requests. The intercept gate CLI controls whether requests are held or forwarded. CF Worker relays http_action commands. The frontend intercept UI provides toggles to enable/disable interception, an action bar (forward, drop, modify), and a text editor for request body modification. Inspect progress feedback and text frame handling added to the WS receiver. instantiate behavioral
    3 files
    • intercept.py
    • _tunnel_api.py
    • HijackHost.tsx

TelnetSession with RFC 854 IAC negotiation

1 file changed
  • telnet.py TelnetSession using TelnetTransport for proper RFC 854 IAC option negotiation
  • TelnetSession added as a first-class Session protocol implementation using TelnetTransport for proper RFC 854 IAC option negotiation (ECHO, SUPPRESS-GO-AHEAD, NAWS terminal size). Replaces the previous ad-hoc telnet handling. instantiate behavioral
    1 file
    • telnet.py

Extract 4 new packages from monolith

5 files changed
  • pyproject.toml undef-terminal-ai: MCP tools extracted (511 LOC)
  • pyproject.toml undef-terminal-client: CLI client extracted (704 LOC)
  • pyproject.toml undef-terminal-transports: transport layer extracted
  • pyproject.toml undef-terminal-detection: connector detection extracted to break bridge-tunnel circular dependency
  • worker_link.py hijack/ → bridge/; bridge.py → worker_link.py
  • Four packages extracted from the undef-terminal monolith: undef-terminal-ai (511 LOC of MCP tools), undef-terminal-client (704 LOC CLI client), undef-terminal-transports (transport layer abstractions), and undef-terminal-detection (connector type detection, extracted to break a bridge-tunnel circular import dependency). hijack/ directory renamed to bridge/, bridge.py renamed to worker_link.py for clarity. HijackCoordinator extracted as shared component. decouple internal
    3 files
    • pyproject.toml
    • pyproject.toml
    • pyproject.toml

100% coverage on gateway, manager, and pty packages

3 files changed
  • test_gateway.py 102 passing gateway tests; split to stay under 500 LOC limit
  • test_manager.py Manager 100% branch+line coverage — _monitor, process, timeseries
  • test_pty_coverage.py All pty modules at 100% coverage (branch + line) in Docker
  • gateway, manager, and pty packages all reach 100% branch+line coverage. Gateway test file split at 500 LOC. Manager coverage closed across _monitor, process tracking, and timeseries. pty coverage run in Docker for native PTY access. inspect.py pragma narrowed to ImportError-only; _run_inspect pragma removed. qualify internal
    2 files
    • test_gateway.py
    • test_manager.py

pty CI jobs, persistent timeseries, Linux subreaper

3 files changed
  • ci.yml pty-unit and pty-docker CI jobs added; paths_to_mutate regex fixed for multi-line TOML arrays; Pillow added to dev deps for mutation-gate shell render
  • timeseries.py Persistent timeseries file handle — closes on exit
  • process.py Linux subreaper set for PTY process tree containment
  • CI gains pty-unit and pty-docker jobs for PTY coverage on bare runners and in Docker respectively. paths_to_mutate regex fixed for multi-line TOML array syntax. Timeseries file handle persisted and closed properly on exit. Linux subreaper set so orphaned PTY child processes are reaped by the manager rather than init. baseline internal
    2 files
    • ci.yml
    • timeseries.py

14-package ecosystem docs and PlantUML architecture diagrams

2 files changed
  • README.md Platform documentation rewrite for 14-package ecosystem; 5800+ tests, 12 packages noted
  • architecture-14pkg.puml PlantUML architecture diagram for 12-package ecosystem
  • README rewritten as platform documentation covering the 14-package ecosystem. PlantUML architecture diagrams added for the 12-package ecosystem. Per-package READMEs added for all packages: core, transports, gateway, pty, render, frontend, ai, client, detection, manager, tunnel. specify internal
    1 file
    • README.md