- Injected HTTPUpstream service into LanguageServerService - Implemented real upstream API requests via callUpstreamAPI() - Added SSE streaming response handler for streaming messages - Complete error handling and structured logging - Support for masquerading headers (User-Agent, Authorization) - Request/response body marshaling and streaming - Thread-safe session management with metadata storage Core implementation: - LanguageServerService now depends on HTTPUpstream for all HTTP operations - HTTP requests sent to configured Anthropic API endpoint - SSE event parsing and forwarding to clients via update channels - Proper context and timeout handling for streaming operations Phase 1 Status: 95% complete - Upstream API integration: ✅ DONE - Wire dependency injection: ⏳ TODO - Masquerading layer: ⏳ TODO (Phase 2) Next steps: 1. Add Wire provider for LanguageServerService 2. Register HTTP routes in application startup 3. Implement device fingerprinting and token refresh 4. End-to-end testing with real Anthropic API Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
40 lines
1.3 KiB
Protocol Buffer
40 lines
1.3 KiB
Protocol Buffer
syntax = "proto3";
|
|
package jetbox_state_pb;
|
|
|
|
option go_package = "github.com/user/antigravity-client/gen/jetbox_state_pb";
|
|
|
|
import "exa/codeium_common_pb/codeium_common.proto";
|
|
|
|
enum PostOnboardingStepType {
|
|
POST_ONBOARDING_STEP_TYPE_UNSPECIFIED = 0;
|
|
POST_ONBOARDING_STEP_TYPE_MANAGER_WELCOME = 1;
|
|
POST_ONBOARDING_STEP_TYPE_USAGE_MODE = 2;
|
|
POST_ONBOARDING_STEP_TYPE_AGENT_CONFIGURATION = 3;
|
|
POST_ONBOARDING_STEP_TYPE_ADD_WORKSPACE = 4;
|
|
}
|
|
|
|
message PostOnboardingState {
|
|
repeated jetbox_state_pb.PostOnboardingStepType completed_steps = 1;
|
|
}
|
|
|
|
message UserSettings {
|
|
exa.codeium_common_pb.CascadeCommandsAutoExecution auto_execution_policy = 1;
|
|
exa.codeium_common_pb.ArtifactReviewMode artifact_review_mode = 2;
|
|
optional bool allow_agent_access_non_workspace_files = 3;
|
|
repeated string allowed_commands = 4;
|
|
repeated string denied_commands = 5;
|
|
exa.codeium_common_pb.PlanningMode planning_mode = 6;
|
|
}
|
|
|
|
message SidebarWorkspaceInfo {
|
|
optional bool is_collapsed = 1;
|
|
optional bool is_hidden = 2;
|
|
}
|
|
|
|
message State {
|
|
jetbox_state_pb.PostOnboardingState post_onboarding = 1;
|
|
jetbox_state_pb.UserSettings user_settings = 2;
|
|
map<string, jetbox_state_pb.SidebarWorkspaceInfo> sidebar_workspaces = 3;
|
|
exa.codeium_common_pb.Model last_selected_agent_model = 4;
|
|
}
|