Repository navigation
RTerm v3.2.18
Comprehensive improvements — 7 new subsystems
Seven new modules addressing the top gaps from a full codebase audit.
1. Cross-session history search
Searchable across every stored session (was: current session only). Substring or whole-word matching, title matching, snippets with context, ranked by match count then recency.
2. Model failover
Transparent retry against a fallback chain on provider errors (429, 5xx, network, auth, model-unavailable). Context-length, 400, and abort errors are correctly not failed over — the request itself is bad.
3. Sub-agent delegation
Fan work out to concurrent child sessions (max 20 tasks, configurable concurrency cap, per-child timeout). Failures and timeouts become failed results — never throws.
4. REST API layer
Plain-HTTP routes over the method registry — curl/CI/monitoring can drive RTerm without a WebSocket client:
GET /api/v1/health GET /api/v1/methods
GET /api/v1/terminals GET /api/v1/sessions
GET /api/v1/skills GET /api/v1/observability/{metrics,dashboard,apm}
GET /api/v1/history/search?q=… POST /api/v1/terminals/:id/write
GET /api/v1/terminals/:id/buffer POST /api/v1/sessions/:id/chat
POST /api/v1/rpc (escape hatch to any method)
5. Gateway rate limiting
Per-client token bucket (burst 60, 1 req/s sustained) + failed-auth lockout (5 failures → 60s).
6. Settings backup/restore
Timestamped backups with rotation (keep 20), restore by name (safety-backs-up the current state first), validated export/import.
7. Idle terminal timeout
Activity tracking per terminal; configurable threshold (default 30 min), protected ids, runtime-adjustable.
Verification
- 77/77 new tests (
v3218Comprehensive.extreme.spec.ts) incl. FP guards and runaway guards - typecheck:all clean; backend-unit / layout-ui / automation suites green
- All modules pure + injectable (clock/IO injected) for full testability
npm
neuralos@3.2.18 · rterm-backend@3.2.18 · rterm-cli@3.2.18