Repository navigation
v0.3.1 — Error Handling Hardening
v0.3.1 — Error Handling Hardening
Based on production error handling research (backlog item #108).
Added
- Startup health check: Verifies Docker daemon is reachable before starting the server. Clear error messages for common failures (permission denied, socket not found, daemon not running).
- Configurable timeout:
withTimeout()wrapper prevents indefinite hangs on slow Docker API calls. Default 30s, configurable viaServerOptions. - Structured error classes:
DockerConnectionError(non-retryable),DockerTimeoutError(retryable),DockerPermissionError(non-retryable). Helps AI clients decide whether to retry or report. - Enhanced formatError(): Now recognizes structured error types for cleaner output.
Fixed
- Tool error responses now include structured context (error type, retryable flag) instead of plain strings.
Tests
- 52 tests passing (container, image, volume, monitoring)
- TypeScript compiles clean