feat: add CLI proxy support#219
Conversation
Honor HTTP_PROXY, HTTPS_PROXY, and NO_PROXY for CLI-originated traffic via a centralized proxy-aware fetch implementation. Add Node proxy smoke coverage, update the Node engine floor for undici 7, and bump @githits/mcp metadata for the engine change.
|
Review note: Examples:
With a malformed |
Use lazy proxy fetch construction for auth command dependencies so local auth status/logout paths are not blocked by malformed proxy env before network use. Add regression coverage and document the dependency-construction rule for future agents.
|
Addressed the auth dependency review note in e002450. createAuthCommandDependencies() and createAuthStatusDependencies() now inject createLazyCliFetch(), so malformed proxy env is deferred until actual network use. Added regression tests for auth command/status dependency construction under malformed HTTP_PROXY, updated AGENTS.md with the guardrail, and removed the redundant/flaky local-socket unit in favor of the deterministic unit checks plus smoke:proxy-node for real proxy behavior. |
Summary
Rationale
Proxy Test Coverage
bun run smoke:proxy-node. It buildssrc/services/proxy-fetch.tswith Bun, then runs a real Node child process against local HTTP, HTTPS, and proxy servers.smoke:proxy-nodeverifies that HTTP requests are actually sent through the proxy using absolute-form requests, HTTPS requests use CONNECT through the proxy, NO_PROXY bypasses the proxy, and proxy credentials/path/query/fragment are redacted.bun test,bun run build,bun run smoke:cli, andbun run smoke:mcpverify the proxy-aware fetch wiring does not regress CLI, local MCP, auth/API service construction, or package artifacts.Review
Verification