Skip to content

v0.3.1 — Error Handling Hardening

Choose a tag to compare

@friendlygeorge friendlygeorge released this 13 Jun 18:41
· 36 commits to main since this release

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 via ServerOptions.
  • 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