mirror of
https://github.com/lWolvesl/claw-code.git
synced 2026-04-02 21:41:52 +08:00
Add fail-open remote proxy runtime primitives
Add minimal runtime-side remote session and upstream proxy primitives that model enablement, session identity, token loading, websocket endpoint derivation, and subprocess proxy environment shaping. This intentionally stops short of implementing the relay or CA download path. The goal is to land real request/env foundations that future remote integration work can build on while preserving the fail-open behavior of the upstream implementation. Constraint: Must keep the slice minimal and real without pulling in relay networking yet Constraint: Verification must pass with runtime fmt, clippy, and tests Rejected: Implement full upstream CONNECT relay now | too large for the current bounded slice Rejected: Hide proxy state behind untyped env maps only | would make later integration and testing brittle Confidence: high Scope-risk: narrow Reversibility: clean Directive: Keep remote bootstrap logic fail-open; do not make proxy setup a hard dependency for normal runtime execution Tested: cargo fmt --all; cargo clippy -p runtime --all-targets -- -D warnings; cargo test -p runtime Not-tested: live CCR session behavior; relay startup; CA bundle download and trust installation
This commit is contained in:
@@ -8,6 +8,7 @@ mod json;
|
||||
mod oauth;
|
||||
mod permissions;
|
||||
mod prompt;
|
||||
mod remote;
|
||||
mod session;
|
||||
mod usage;
|
||||
|
||||
@@ -45,5 +46,10 @@ pub use prompt::{
|
||||
load_system_prompt, prepend_bullets, ContextFile, ProjectContext, PromptBuildError,
|
||||
SystemPromptBuilder, FRONTIER_MODEL_NAME, SYSTEM_PROMPT_DYNAMIC_BOUNDARY,
|
||||
};
|
||||
pub use remote::{
|
||||
inherited_upstream_proxy_env, no_proxy_list, read_token, upstream_proxy_ws_url,
|
||||
RemoteSessionContext, UpstreamProxyBootstrap, UpstreamProxyState, DEFAULT_REMOTE_BASE_URL,
|
||||
DEFAULT_SESSION_TOKEN_PATH, DEFAULT_SYSTEM_CA_BUNDLE, NO_PROXY_HOSTS, UPSTREAM_PROXY_ENV_KEYS,
|
||||
};
|
||||
pub use session::{ContentBlock, ConversationMessage, MessageRole, Session, SessionError};
|
||||
pub use usage::{TokenUsage, UsageTracker};
|
||||
|
||||
Reference in New Issue
Block a user