provide-terminal
2026-03-06
Fleet-wide session registry via Cloudflare KV added, TermHubProtocol and rate limiting introduced, and 6 rounds of pre-release fixes applied
113 files · 6,017+ · 3,838-
Cloudflare KV Session Registry
7 files changed
registry.pyFleet-wide session registry via Cloudflare KVstore.pyKV store with 5-min TTL and alarm-driven heartbeatsession_runtime.pyDurable Object session runtime with alarm-based lease expirytest_registry.pySession registry contract teststest_alarm.pyAlarm-based lease expiry teststest_api_contracts.pyAPI contract teststest_e2e_wrangler.pypywrangler E2E test infrastructure
- Fleet-wide session registry added via Cloudflare KV for cross-worker session visibility.
instantiate
behavioral
2 files
registry.pystore.py
- Snapshot endpoint, alarm-based lease expiry, and KV contract tests added.
qualify
behavioral
3 files
session_runtime.pytest_alarm.pytest_api_contracts.py
- KV zombie sessions fixed with 5-min TTL and alarm-driven heartbeat.
remediate
internal
1 file
store.py
- pywrangler E2E test infrastructure added for live CF testing.
qualify
internal
1 file
test_e2e_wrangler.py
Auth
2 files changed
jwt.pyJWT claims reduced to sub+exp for multi-provider parityauth.pyCF bugs fixed and API schemas aligned with FastAPI
- JWT required claims reduced to sub+exp for Auth0, Google, and Azure AD compatibility.
remediate
behavioral
1 file
jwt.py
- CF Worker bugs fixed and API schemas aligned with FastAPI server.
remediate
behavioral
3 files
http_routes.pyws_routes.pyauth.py
API Surface
6 files changed
core.pyTermHubProtocol added; hub internals refactored to public APIconnections.pyHub connection tracking extractedratelimit.pyPer-caller REST rate limitingrest.pyRate-limit methods exposed; public rate-limit API addedmodels.pyCDN URLs extracted to named constantsdefaults.pyNamed startup constants added
- TermHubProtocol and per-caller REST rate limiting added.
instantiate
behavioral
3 files
core.pyratelimit.pyrest.py
- Public rate-limit methods exposed on TermHub; unused type: ignore fixed.
deprecate
internal
1 file
core.py
- Hub internals refactored to public API; pre-release issues fixed.
remediate
behavioral
3 files
core.pyconnections.pybrowser_handlers.py
- CDN config, recording byte cap, and named startup constant wired.
margin
internal
2 files
defaults.pyconfig.py
- CDN URLs extracted to named constants in models.
decouple
internal
1 file
models.py
Pre-Release Fixes (6 Rounds)
8 files changed
bridge.pyBridge correctness and security fixes across all roundsownership.pyOwnership logic correctness fixeswebsockets.pyWS routes security and correctness fixesapp.pyApp-level pre-release correctionsruntime.pyRuntime permanent-error exit fixssh.pySSH timeout and host-key enforcement fixestelnet.pyTelnet UTF-8 input fixviewer.pyPage double-decode fix
- Round 1: 15 pre-release issues fixed — security, correctness, and architectural concerns.
remediate
behavioral
3 files
bridge.pywebsockets.pyapp.py
- Round 2: 11 pre-release issues fixed — security, correctness, and robustness.
remediate
internal
2 files
ownership.pyruntime.py
- Round 3: 8 issues fixed — XSS, JWKS thread safety, SSH host-key enforcement, config validation, and regression tests.
qualify
internal
2 files
auth.pyssh.py
- Round 4: timeout, dead code, validation, and model cleanup.
deprecate
errata
1 file
models.py
- Round 5: SSH timeout, UTF-8 input, config validation, bridge reconnect, page double-decode, WS callbacks, and error messages.
remediate
internal
4 files
ssh.pytelnet.pybridge.pyviewer.py
- Round 6: browser handler error messages, runtime permanent-error exit, WS close code, changelog wording.
specify
errata
2 files
browser_handlers.pyruntime.py
- Additional pre-release code review: security, correctness, and API hardening.
remediate
behavioral
2 files
app.pyapi.py
- Snapshot field safety and connector config validation fixed.
remediate
internal
2 files
base.pymodels.py
CLI
1 file changed
cli.pyCLI script renamed from provideterm to uterm
- CLI scripts renamed from
providetermtoutermacross the package. decouple behavioral1 file
cli.py
Documentation
4 files changed
CHANGELOG.mdChangelog corrected and stale content cleaned upREADME.mdREADME updatedapi.pyMissing log lines and docstrings addedcore.pyHub docstrings added
- Stale documentation cleaned up and corrected.
deprecate
internal
2 files
CHANGELOG.mdREADME.md
- Missing log lines and docstrings added to hub and REST routes.
instantiate
behavioral
2 files
api.pycore.py
- bfiles bundles removed from tracking and gitignored.
decouple
internal
1 file
.gitignore