From 622beceb59823cfcf2b668e3924225ee67cfa022 Mon Sep 17 00:00:00 2001 From: Roman | RyzenAdvanced Date: Wed, 27 May 2026 10:42:35 +0400 Subject: [PATCH] v3.12.0: gRPC auto-fallback for Antigravity (PR #13) --- CHANGELOG.md | 17 + codex-launcher_3.11.12_all.deb | Bin 162044 -> 0 bytes codex-launcher_3.12.0_all.deb | Bin 0 -> 129302 bytes src/antigravity_grpc/__init__.py | 24 + src/antigravity_grpc/client.py | 609 ++++++++++++++++++ src/antigravity_grpc/cloudcode_pb2.py | 88 +++ src/antigravity_grpc/cloudcode_pb2_grpc.py | 275 ++++++++ src/antigravity_grpc/proto/cloudcode.proto | 183 ++++++ .../proto/google/api/annotations.proto | 14 + .../proto/google/api/http.proto | 18 + src/codex-launcher-gui | 7 +- src/codex_launcher_lib.py | 12 +- src/translate-proxy.py | 244 ++++++- tests/test_antigravity_grpc.py | 396 ++++++++++++ 14 files changed, 1878 insertions(+), 9 deletions(-) delete mode 100644 codex-launcher_3.11.12_all.deb create mode 100644 codex-launcher_3.12.0_all.deb create mode 100644 src/antigravity_grpc/__init__.py create mode 100644 src/antigravity_grpc/client.py create mode 100644 src/antigravity_grpc/cloudcode_pb2.py create mode 100644 src/antigravity_grpc/cloudcode_pb2_grpc.py create mode 100644 src/antigravity_grpc/proto/cloudcode.proto create mode 100644 src/antigravity_grpc/proto/google/api/annotations.proto create mode 100644 src/antigravity_grpc/proto/google/api/http.proto create mode 100644 tests/test_antigravity_grpc.py diff --git a/CHANGELOG.md b/CHANGELOG.md index 7d79dc5..42dcb69 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,22 @@ # Changelog +## v3.12.0 (2026-05-27) + +**gRPC Auto-Fallback for Antigravity Provider (PR #13)** + +### New Features +- **gRPC auto-fallback**: When REST API returns 404 (model not found), automatically retries via gRPC +- **New `antigravity_grpc` module**: Full protobuf client with CloudCode PredictionService stubs +- **Display name remapping**: gRPC uses display names (e.g. "Gemini 3.5 Flash (High)") instead of REST slugs +- **Streaming and unary support**: gRPC fallback works for both streaming and non-streaming requests +- **Dynamic version fetch with validation**: Probes fetched versions to ensure they work before caching +- **Antigravity v2 handler rewrite**: Based on anti-api approach with proper safety settings, stopSequences, sessionId +- **Lazy import**: grpcio is only imported when needed — zero impact if not installed + +### Bug Fixes +- Antigravity 404 caused by invalid version — now validates with probe requests +- Version fallback: auto-retries with re-fetched version if all endpoints return 404 + ## v3.11.12 (2026-05-26) **New Antigravity v2 Handler (Mimicking anti-api)** diff --git a/codex-launcher_3.11.12_all.deb b/codex-launcher_3.11.12_all.deb deleted file mode 100644 index 47c4f647cb9793bf3c342bbc49c8fc21e0288601..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 162044 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

`PRX%w~?MW`SgoCwDRKmZH{1PjCn0ucxmD|i4L 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 z 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 UIp)scW|EmassoVV1l?FdFe^d+jsO4v diff --git a/codex-launcher_3.12.0_all.deb b/codex-launcher_3.12.0_all.deb new file mode 100644 index 0000000000000000000000000000000000000000..471c5fc17326ab5c1ea49177d5187935d64d1d98 GIT binary patch literal 129302 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" + return f"" + return f"" + + +# ═══════════════════════════════════════════════════════════════════ +# JSON → Protobuf conversion helpers +# ═══════════════════════════════════════════════════════════════════ + +def _struct_to_protobuf(d, struct_obj=None): + """Convert a Python dict to a google.protobuf.Struct.""" + from google.protobuf.struct_pb2 import Struct, Value, NullValue, ListValue + if struct_obj is None: + struct_obj = Struct() + if isinstance(d, dict): + for k, v in d.items(): + if isinstance(v, str): + struct_obj.fields[k].string_value = v + elif isinstance(v, bool): + struct_obj.fields[k].bool_value = v + elif isinstance(v, int): + struct_obj.fields[k].number_value = float(v) + elif isinstance(v, float): + struct_obj.fields[k].number_value = v + elif isinstance(v, dict): + _struct_to_protobuf(v, struct_obj.fields[k].struct_value) + elif isinstance(v, list): + lst = struct_obj.fields[k].list_value + for item in v: + if isinstance(item, str): + lst.values.add().string_value = item + elif isinstance(item, bool): + lst.values.add().bool_value = item + elif isinstance(item, (int, float)): + lst.values.add().number_value = float(item) + elif isinstance(item, dict): + _struct_to_protobuf(item, lst.values.add().struct_value) + elif item is None: + lst.values.add().null_value = 0 + elif v is None: + struct_obj.fields[k].null_value = 0 + return struct_obj + + +def _protobuf_struct_to_dict(struct): + """Convert a google.protobuf.Struct to a Python dict.""" + from google.protobuf.struct_pb2 import Value, NullValue + result = {} + for k, v in struct.fields.items(): + kind = v.WhichOneof("kind") + if kind == "null_value": + result[k] = None + elif kind == "number_value": + result[k] = v.number_value + elif kind == "string_value": + result[k] = v.string_value + elif kind == "bool_value": + result[k] = v.bool_value + elif kind == "struct_value": + result[k] = _protobuf_struct_to_dict(v.struct_value) + elif kind == "list_value": + result[k] = [_value_to_python(item) for item in v.list_value.values] + else: + result[k] = None + return result + + +def _value_to_python(v): + """Convert a google.protobuf.Value to a Python value.""" + kind = v.WhichOneof("kind") + if kind == "null_value": + return None + elif kind == "number_value": + return v.number_value + elif kind == "string_value": + return v.string_value + elif kind == "bool_value": + return v.bool_value + elif kind == "struct_value": + return _protobuf_struct_to_dict(v.struct_value) + elif kind == "list_value": + return [_value_to_python(item) for item in v.list_value.values] + return None + + +def _json_parts_to_proto(parts_json): + """Convert a list of JSON content parts to protobuf Part messages.""" + result = [] + for p in parts_json: + if not isinstance(p, dict): + continue + part = _pb2.Part() + + # Thought signature + sig = p.get("thoughtSignature") or p.get("thought_signature") + if sig: + part.thought_signature = sig + + if p.get("thought"): + part.thought = True + if "text" in p: + part.text = p["text"] + elif "text" in p and "functionCall" not in p: + part.text = p["text"] + elif "functionCall" in p: + fc = p["functionCall"] + part.function_call.name = fc.get("name", "") + part.function_call.id = fc.get("id", "") + args = fc.get("args", fc.get("arguments", {})) + if isinstance(args, dict): + _struct_to_protobuf(args, part.function_call.args) + elif isinstance(args, str): + try: + _struct_to_protobuf(json.loads(args), part.function_call.args) + except Exception: + pass + elif "functionResponse" in p: + fr = p["functionResponse"] + part.function_response.name = fr.get("name", "") + part.function_response.id = fr.get("id", "") + resp = fr.get("response", {}) + if "result" in resp: + result_val = resp["result"] + if isinstance(result_val, (dict, list)): + _struct_to_protobuf({"result": result_val}, part.function_response.response) + else: + _struct_to_protobuf({"result": str(result_val)}, part.function_response.response) + elif isinstance(resp, dict): + _struct_to_protobuf(resp, part.function_response.response) + elif "inlineData" in p: + idata = p["inlineData"] + import base64 + part.inline_data.mime_type = idata.get("mimeType", "image/png") + b64data = idata.get("data", "") + part.inline_data.data = base64.b64decode(b64data) if b64data else b"" + + result.append(part) + return result + + +def _json_contents_to_proto(contents_json): + """Convert a list of JSON content objects to protobuf Content messages.""" + result = [] + for c in contents_json: + if not isinstance(c, dict): + continue + content = _pb2.Content() + content.role = c.get("role", "user") + for part in _json_parts_to_proto(c.get("parts", [])): + content.parts.append(part) + result.append(content) + return result + + +def _proto_candidate_to_json(candidate): + """Convert a protobuf Candidate to a JSON-compatible dict.""" + content_json = {"role": candidate.content.role, "parts": []} + for part in candidate.content.parts: + p = {} + if part.thought_signature: + p["thoughtSignature"] = part.thought_signature + if part.thought: + p["thought"] = True + if part.text: + p["text"] = part.text + elif part.text and not part.HasField("function_call"): + p["text"] = part.text + elif part.HasField("function_call"): + fc = part.function_call + args_dict = _protobuf_struct_to_dict(fc.args) if fc.HasField("args") else {} + p["functionCall"] = { + "name": fc.name, + "args": args_dict, + "id": fc.id, + } + elif part.HasField("function_response"): + fr = part.function_response + resp_dict = _protobuf_struct_to_dict(fr.response) if fr.HasField("response") else {} + p["functionResponse"] = { + "name": fr.name, + "response": resp_dict, + "id": fr.id, + } + elif part.HasField("inline_data"): + import base64 + p["inlineData"] = { + "mimeType": part.inline_data.mime_type, + "data": base64.b64encode(part.inline_data.data).decode(), + } + if p: + content_json["parts"].append(p) + + return { + "content": content_json, + "finishReason": candidate.finish_reason, + "index": candidate.index, + } + + +# ═══════════════════════════════════════════════════════════════════ +# Client +# ═══════════════════════════════════════════════════════════════════ + +class AntigravityGrpcClient: + """ + gRPC fallback client for Google CloudCode Antigravity. + + Thread-safe. Channels are cached per endpoint and reused. + """ + + def __init__(self): + self._channels = {} + self._stubs = {} + self._lock = threading.Lock() + + def _get_channel(self, endpoint): + """Get or create a gRPC channel for the given endpoint.""" + with self._lock: + if endpoint not in self._channels: + # Use secure channel with default SSL credentials + creds = _grpc.ssl_channel_credentials() + channel = _grpc.secure_channel(endpoint, creds) + self._channels[endpoint] = channel + self._stubs[endpoint] = _pb2_grpc.PredictionServiceStub(channel) + return self._channels[endpoint], self._stubs[endpoint] + + def _build_request(self, wrapped_dict): + """ + Build a GenerateContentRequest protobuf from the same wrapped dict + that the REST API uses. + + wrapped_dict shape: + { + "project": "...", + "model": "...", + "requestType": "agent", + "userAgent": "antigravity/...", + "requestId": "agent-...", + "request": { + "contents": [...], + "systemInstruction": {...}, + "generationConfig": {...}, + "tools": [...], + "safetySettings": [...], + "toolConfig": {...}, + "sessionId": "..." + } + } + """ + req = _pb2.GenerateContentRequest() + req.project = wrapped_dict.get("project", "") + req.model = wrapped_dict.get("model", "") + req.request_type = wrapped_dict.get("requestType", "agent") + req.user_agent = wrapped_dict.get("userAgent", "") + req.request_id = wrapped_dict.get("requestId", "") + + inner = wrapped_dict.get("request", {}) + + # Contents + for c in _json_contents_to_proto(inner.get("contents", [])): + req.request.contents.append(c) + + # System instruction + si = inner.get("systemInstruction", {}) + if si: + si_parts = si.get("parts", []) + if si.get("role"): + req.request.system_instruction.role = si.get("role", "user") + for part in _json_parts_to_proto(si_parts): + req.request.system_instruction.parts.append(part) + + # Generation config + gc = inner.get("generationConfig", {}) + if gc: + cfg = req.request.generation_config + if "maxOutputTokens" in gc: + cfg.max_output_tokens = int(gc["maxOutputTokens"]) + if "temperature" in gc: + cfg.temperature = float(gc["temperature"]) + if "topP" in gc: + cfg.top_p = float(gc["top_p" if "top_p" in gc else "topP"]) + for ss in gc.get("stopSequences", []): + cfg.stop_sequences.append(ss) + + # Thinking config (Gemini 3 native) + tc = gc.get("thinkingConfig", gc.get("thinking_config")) + if tc: + cfg.thinking_config.include_thoughts = tc.get("includeThoughts", tc.get("include_thoughts", False)) + cfg.thinking_config.thinking_budget = int(tc.get("thinkingBudget", tc.get("thinking_budget", 8192))) + # Legacy thinking fields + if "includeThoughts" in gc and not tc: + cfg.thinking_config.include_thoughts = gc["includeThoughts"] + if "thinkingBudget" in gc and not tc: + cfg.thinking_config.thinking_budget = int(gc["thinkingBudget"]) + + # Tools + for tool_json in inner.get("tools", []): + tool = _pb2.Tool() + for fd_json in tool_json.get("functionDeclarations", []): + fd = tool.function_declarations.add() + fd.name = fd_json.get("name", "") + fd.description = fd_json.get("description", "") + params = fd_json.get("parameters", {}) + if isinstance(params, dict) and params: + _struct_to_protobuf(params, fd.parameters) + req.request.tools.append(tool) + + # Safety settings + for ss in inner.get("safetySettings", []): + ss_msg = _pb2.SafetySetting() + ss_msg.category = ss.get("category", "") + ss_msg.threshold = ss.get("threshold", "OFF") + req.request.safety_settings.append(ss_msg) + + # Tool config + tcfg = inner.get("toolConfig", {}) + if tcfg: + fcc = tcfg.get("functionCallingConfig", {}) + if fcc: + req.request.tool_config.function_calling_config.mode = fcc.get("mode", "AUTO") + for afn in fcc.get("allowed_function_names", []): + req.request.tool_config.function_calling_config.allowed_function_names.append(afn) + + # Session ID + sid = inner.get("sessionId", "") + if sid: + req.request.session_id = sid + + return req + + def try_generate(self, wrapped_dict, stream=False, access_token="", + timeout_s=180): + """ + Try a gRPC GenerateContent or StreamGenerateContent request. + + Args: + wrapped_dict: The same wrapped dict used for REST requests. + stream: If True, use server-streaming RPC. + access_token: OAuth2 Bearer token for authentication. + timeout_s: Request timeout in seconds. + + Returns: + GrpcFallbackResult with ok=True if successful. + For non-streaming: result.response_data is a dict matching + the REST JSON response shape. + For streaming: result.stream_chunks is a list of dicts matching + REST SSE chunk shapes. + """ + if not is_grpc_available(): + return GrpcFallbackResult(ok=False, error_message="grpcio not installed") + + t0 = time.time() + + # Build metadata (gRPC uses metadata instead of HTTP headers) + metadata = [] + if access_token: + metadata.append(("authorization", f"Bearer {access_token}")) + ua = wrapped_dict.get("userAgent", "") + if ua: + metadata.append(("user-agent", ua)) + metadata.append(("x-client-name", "antigravity")) + # Required for Google's gRPC gateway + metadata.append(("x-goog-api-client", "gl-node/18.18.2 fire/0.8.6 grpc/1.10.x")) + + # Build endpoints list + endpoints = list(_GRPC_ENDPOINTS) + if os.environ.get(_ALLOW_STAGING_ENV, "0") == "1": + endpoints.append("daily-cloudcode-pa.sandbox.googleapis.com:443") + endpoints.append("autopush-cloudcode-pa.sandbox.googleapis.com:443") + + model = wrapped_dict.get("model", "?") + + last_error = "" + for ep in endpoints: + try: + channel, stub = self._get_channel(ep) + req = self._build_request(wrapped_dict) + + if stream: + return self._do_stream(stub, req, metadata, ep, model, + timeout_s, t0) + else: + return self._do_unary(stub, req, metadata, ep, model, + timeout_s, t0) + + except Exception as e: + last_error = str(e) + err_str = last_error.lower() + print(f"[antigravity-grpc] {ep} failed: {last_error[:300]}", file=sys.stderr) + # Don't retry on auth errors + if "unauthenticated" in err_str or "permission" in err_str: + break + # Don't retry on invalid argument (model truly doesn't exist) + if "not_found" in err_str or "not found" in err_str: + break + continue + + elapsed = time.time() - t0 + return GrpcFallbackResult( + ok=False, + error_message=f"All gRPC endpoints failed: {last_error}", + model_used=model, + elapsed_s=elapsed, + ) + + def _do_unary(self, stub, req, metadata, endpoint, model, timeout_s, t0): + """Execute a unary (non-streaming) gRPC call.""" + response = stub.GenerateContent( + req, + metadata=metadata, + timeout=timeout_s, + ) + elapsed = time.time() - t0 + + # Convert protobuf response to REST-compatible JSON shape + candidates_json = [] + for candidate in response.response.candidates: + candidates_json.append(_proto_candidate_to_json(candidate)) + + # Match the REST response envelope: + # { "response": { "candidates": [...] } } + rest_shape = { + "response": { + "candidates": candidates_json, + } + } + + print(f"[antigravity-grpc] {endpoint} unary OK, candidates={len(candidates_json)}, elapsed={elapsed:.1f}s", file=sys.stderr) + + return GrpcFallbackResult( + ok=True, + response_data=rest_shape, + endpoint_used=endpoint, + model_used=model, + elapsed_s=elapsed, + ) + + def _do_stream(self, stub, req, metadata, endpoint, model, timeout_s, t0): + """Execute a server-streaming gRPC call.""" + chunks = [] + chunk_count = 0 + + response_iter = stub.StreamGenerateContent( + req, + metadata=metadata, + timeout=timeout_s, + ) + + for chunk_proto in response_iter: + chunk_count += 1 + # Each chunk_proto is a StreamGenerateContentChunk + # which wraps a Response with candidates + candidates_json = [] + for candidate in chunk_proto.response.candidates: + candidates_json.append(_proto_candidate_to_json(candidate)) + + # Match REST SSE chunk shape: { "response": { "candidates": [...] } } + chunk_json = { + "response": { + "candidates": candidates_json, + } + } + chunks.append(chunk_json) + + elapsed = time.time() - t0 + print(f"[antigravity-grpc] {endpoint} stream OK, chunks={chunk_count}, elapsed={elapsed:.1f}s", file=sys.stderr) + + return GrpcFallbackResult( + ok=True, + stream_chunks=chunks, + endpoint_used=endpoint, + model_used=model, + elapsed_s=elapsed, + ) + + def close(self): + """Close all gRPC channels.""" + with self._lock: + for ep, channel in self._channels.items(): + try: + channel.close() + except Exception: + pass + self._channels.clear() + self._stubs.clear() + + +# ═══════════════════════════════════════════════════════════════════ +# Module-level singleton +# ═══════════════════════════════════════════════════════════════════ + +_client = None +_client_lock = threading.Lock() + +def get_client(): + """Get the module-level AntigravityGrpcClient singleton.""" + global _client + with _client_lock: + if _client is None: + _client = AntigravityGrpcClient() + return _client diff --git a/src/antigravity_grpc/cloudcode_pb2.py b/src/antigravity_grpc/cloudcode_pb2.py new file mode 100644 index 0000000..45e1eb9 --- /dev/null +++ b/src/antigravity_grpc/cloudcode_pb2.py @@ -0,0 +1,88 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: cloudcode.proto +# Protobuf Python Version: 6.31.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 31, + 1, + '', + 'cloudcode.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0f\x63loudcode.proto\x12%google.internal.cloud.code.v1internal\x1a\x1cgoogle/protobuf/struct.proto\"S\n\x07\x43ontent\x12\x0c\n\x04role\x18\x01 \x01(\t\x12:\n\x05parts\x18\x02 \x03(\x0b\x32+.google.internal.cloud.code.v1internal.Part\"\xb8\x02\n\x04Part\x12\x0e\n\x04text\x18\x01 \x01(\tH\x00\x12H\n\x0binline_data\x18\x02 \x01(\x0b\x32\x31.google.internal.cloud.code.v1internal.InlineDataH\x00\x12L\n\rfunction_call\x18\x03 \x01(\x0b\x32\x33.google.internal.cloud.code.v1internal.FunctionCallH\x00\x12T\n\x11\x66unction_response\x18\x04 \x01(\x0b\x32\x37.google.internal.cloud.code.v1internal.FunctionResponseH\x00\x12\x19\n\x11thought_signature\x18\n \x01(\t\x12\x0f\n\x07thought\x18\x0b \x01(\x08\x42\x06\n\x04\x64\x61ta\"-\n\nInlineData\x12\x11\n\tmime_type\x18\x01 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\"O\n\x0c\x46unctionCall\x12\x0c\n\x04name\x18\x01 \x01(\t\x12%\n\x04\x61rgs\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\n\n\x02id\x18\x03 \x01(\t\"W\n\x10\x46unctionResponse\x12\x0c\n\x04name\x18\x01 \x01(\t\x12)\n\x08response\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\n\n\x02id\x18\x03 \x01(\t\"4\n\rSafetySetting\x12\x10\n\x08\x63\x61tegory\x18\x01 \x01(\t\x12\x11\n\tthreshold\x18\x02 \x01(\t\"\xc2\x02\n\x10GenerationConfig\x12\x19\n\x11max_output_tokens\x18\x01 \x01(\x05\x12\x13\n\x0btemperature\x18\x02 \x01(\x02\x12\r\n\x05top_p\x18\x03 \x01(\x02\x12\x17\n\x0fthinking_budget\x18\x04 \x01(\x05\x12\x18\n\x10include_thoughts\x18\x05 \x01(\x08\x12\x16\n\x0estop_sequences\x18\x06 \x03(\t\x12_\n\x0fthinking_config\x18\x07 \x01(\x0b\x32\x46.google.internal.cloud.code.v1internal.GenerationConfig.ThinkingConfig\x1a\x43\n\x0eThinkingConfig\x12\x18\n\x10include_thoughts\x18\x01 \x01(\x08\x12\x17\n\x0fthinking_budget\x18\x02 \x01(\x05\"a\n\x04Tool\x12Y\n\x15\x66unction_declarations\x18\x01 \x03(\x0b\x32:.google.internal.cloud.code.v1internal.FunctionDeclaration\"e\n\x13\x46unctionDeclaration\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12+\n\nparameters\x18\x03 \x01(\x0b\x32\x17.google.protobuf.Struct\"\xbd\x01\n\nToolConfig\x12h\n\x17\x66unction_calling_config\x18\x01 \x01(\x0b\x32G.google.internal.cloud.code.v1internal.ToolConfig.FunctionCallingConfig\x1a\x45\n\x15\x46unctionCallingConfig\x12\x0c\n\x04mode\x18\x01 \x01(\t\x12\x1e\n\x16\x61llowed_function_names\x18\x02 \x03(\t\"r\n\tCandidate\x12?\n\x07\x63ontent\x18\x01 \x01(\x0b\x32..google.internal.cloud.code.v1internal.Content\x12\x15\n\rfinish_reason\x18\x02 \x01(\t\x12\r\n\x05index\x18\x03 \x01(\x05\"\xad\x05\n\x16GenerateContentRequest\x12\x0f\n\x07project\x18\x01 \x01(\t\x12\r\n\x05model\x18\x02 \x01(\t\x12\x14\n\x0crequest_type\x18\x03 \x01(\t\x12\x12\n\nuser_agent\x18\x04 \x01(\t\x12\x12\n\nrequest_id\x18\x05 \x01(\t\x12[\n\x07request\x18\n \x01(\x0b\x32J.google.internal.cloud.code.v1internal.GenerateContentRequest.InnerRequest\x1a\xd7\x03\n\x0cInnerRequest\x12@\n\x08\x63ontents\x18\x01 \x03(\x0b\x32..google.internal.cloud.code.v1internal.Content\x12J\n\x12system_instruction\x18\x02 \x01(\x0b\x32..google.internal.cloud.code.v1internal.Content\x12R\n\x11generation_config\x18\x03 \x01(\x0b\x32\x37.google.internal.cloud.code.v1internal.GenerationConfig\x12:\n\x05tools\x18\x04 \x03(\x0b\x32+.google.internal.cloud.code.v1internal.Tool\x12M\n\x0fsafety_settings\x18\x05 \x03(\x0b\x32\x34.google.internal.cloud.code.v1internal.SafetySetting\x12\x46\n\x0btool_config\x18\x06 \x01(\x0b\x32\x31.google.internal.cloud.code.v1internal.ToolConfig\x12\x12\n\nsession_id\x18\x07 \x01(\t\"\xc6\x01\n\x17GenerateContentResponse\x12Y\n\x08response\x18\x01 \x01(\x0b\x32G.google.internal.cloud.code.v1internal.GenerateContentResponse.Response\x1aP\n\x08Response\x12\x44\n\ncandidates\x18\x01 \x03(\x0b\x32\x30.google.internal.cloud.code.v1internal.Candidate\"w\n\x1aStreamGenerateContentChunk\x12Y\n\x08response\x18\x01 \x01(\x0b\x32G.google.internal.cloud.code.v1internal.GenerateContentResponse.Response\".\n\x1b\x46\x65tchAvailableModelsRequest\x12\x0f\n\x07project\x18\x01 \x01(\t\"\xdb\x01\n\x1c\x46\x65tchAvailableModelsResponse\x12]\n\x06models\x18\x01 \x03(\x0b\x32M.google.internal.cloud.code.v1internal.FetchAvailableModelsResponse.ModelInfo\x1a\\\n\tModelInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x14\n\x0c\x64isplay_name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x16\n\x0e\x63ontext_window\x18\x04 \x01(\x03\"v\n\x12\x43ountTokensRequest\x12\x0f\n\x07project\x18\x01 \x01(\t\x12\r\n\x05model\x18\x02 \x01(\t\x12@\n\x08\x63ontents\x18\x03 \x03(\x0b\x32..google.internal.cloud.code.v1internal.Content\"+\n\x13\x43ountTokensResponse\x12\x14\n\x0ctotal_tokens\x18\x01 \x01(\x05\"+\n\x18RetrieveUserQuotaRequest\x12\x0f\n\x07project\x18\x01 \x01(\t\"^\n\x19RetrieveUserQuotaResponse\x12\x13\n\x0b\x64\x61ily_limit\x18\x01 \x01(\x03\x12\x13\n\x0b\x64\x61ily_usage\x18\x02 \x01(\x03\x12\x17\n\x0f\x64\x61ily_remaining\x18\x03 \x01(\x03\x32\x86\x06\n\x11PredictionService\x12\x90\x01\n\x0fGenerateContent\x12=.google.internal.cloud.code.v1internal.GenerateContentRequest\x1a>.google.internal.cloud.code.v1internal.GenerateContentResponse\x12\x9b\x01\n\x15StreamGenerateContent\x12=.google.internal.cloud.code.v1internal.GenerateContentRequest\x1a\x41.google.internal.cloud.code.v1internal.StreamGenerateContentChunk0\x01\x12\x9f\x01\n\x14\x46\x65tchAvailableModels\x12\x42.google.internal.cloud.code.v1internal.FetchAvailableModelsRequest\x1a\x43.google.internal.cloud.code.v1internal.FetchAvailableModelsResponse\x12\x84\x01\n\x0b\x43ountTokens\x12\x39.google.internal.cloud.code.v1internal.CountTokensRequest\x1a:.google.internal.cloud.code.v1internal.CountTokensResponse\x12\x96\x01\n\x11RetrieveUserQuota\x12?.google.internal.cloud.code.v1internal.RetrieveUserQuotaRequest\x1a@.google.internal.cloud.code.v1internal.RetrieveUserQuotaResponseB2Z0google.golang.org/internal/cloud/code/v1internalb\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cloudcode_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z0google.golang.org/internal/cloud/code/v1internal' + _globals['_CONTENT']._serialized_start=88 + _globals['_CONTENT']._serialized_end=171 + _globals['_PART']._serialized_start=174 + _globals['_PART']._serialized_end=486 + _globals['_INLINEDATA']._serialized_start=488 + _globals['_INLINEDATA']._serialized_end=533 + _globals['_FUNCTIONCALL']._serialized_start=535 + _globals['_FUNCTIONCALL']._serialized_end=614 + _globals['_FUNCTIONRESPONSE']._serialized_start=616 + _globals['_FUNCTIONRESPONSE']._serialized_end=703 + _globals['_SAFETYSETTING']._serialized_start=705 + _globals['_SAFETYSETTING']._serialized_end=757 + _globals['_GENERATIONCONFIG']._serialized_start=760 + _globals['_GENERATIONCONFIG']._serialized_end=1082 + _globals['_GENERATIONCONFIG_THINKINGCONFIG']._serialized_start=1015 + _globals['_GENERATIONCONFIG_THINKINGCONFIG']._serialized_end=1082 + _globals['_TOOL']._serialized_start=1084 + _globals['_TOOL']._serialized_end=1181 + _globals['_FUNCTIONDECLARATION']._serialized_start=1183 + _globals['_FUNCTIONDECLARATION']._serialized_end=1284 + _globals['_TOOLCONFIG']._serialized_start=1287 + _globals['_TOOLCONFIG']._serialized_end=1476 + _globals['_TOOLCONFIG_FUNCTIONCALLINGCONFIG']._serialized_start=1407 + _globals['_TOOLCONFIG_FUNCTIONCALLINGCONFIG']._serialized_end=1476 + _globals['_CANDIDATE']._serialized_start=1478 + _globals['_CANDIDATE']._serialized_end=1592 + _globals['_GENERATECONTENTREQUEST']._serialized_start=1595 + _globals['_GENERATECONTENTREQUEST']._serialized_end=2280 + _globals['_GENERATECONTENTREQUEST_INNERREQUEST']._serialized_start=1809 + _globals['_GENERATECONTENTREQUEST_INNERREQUEST']._serialized_end=2280 + _globals['_GENERATECONTENTRESPONSE']._serialized_start=2283 + _globals['_GENERATECONTENTRESPONSE']._serialized_end=2481 + _globals['_GENERATECONTENTRESPONSE_RESPONSE']._serialized_start=2401 + _globals['_GENERATECONTENTRESPONSE_RESPONSE']._serialized_end=2481 + _globals['_STREAMGENERATECONTENTCHUNK']._serialized_start=2483 + _globals['_STREAMGENERATECONTENTCHUNK']._serialized_end=2602 + _globals['_FETCHAVAILABLEMODELSREQUEST']._serialized_start=2604 + _globals['_FETCHAVAILABLEMODELSREQUEST']._serialized_end=2650 + _globals['_FETCHAVAILABLEMODELSRESPONSE']._serialized_start=2653 + _globals['_FETCHAVAILABLEMODELSRESPONSE']._serialized_end=2872 + _globals['_FETCHAVAILABLEMODELSRESPONSE_MODELINFO']._serialized_start=2780 + _globals['_FETCHAVAILABLEMODELSRESPONSE_MODELINFO']._serialized_end=2872 + _globals['_COUNTTOKENSREQUEST']._serialized_start=2874 + _globals['_COUNTTOKENSREQUEST']._serialized_end=2992 + _globals['_COUNTTOKENSRESPONSE']._serialized_start=2994 + _globals['_COUNTTOKENSRESPONSE']._serialized_end=3037 + _globals['_RETRIEVEUSERQUOTAREQUEST']._serialized_start=3039 + _globals['_RETRIEVEUSERQUOTAREQUEST']._serialized_end=3082 + _globals['_RETRIEVEUSERQUOTARESPONSE']._serialized_start=3084 + _globals['_RETRIEVEUSERQUOTARESPONSE']._serialized_end=3178 + _globals['_PREDICTIONSERVICE']._serialized_start=3181 + _globals['_PREDICTIONSERVICE']._serialized_end=3955 +# @@protoc_insertion_point(module_scope) diff --git a/src/antigravity_grpc/cloudcode_pb2_grpc.py b/src/antigravity_grpc/cloudcode_pb2_grpc.py new file mode 100644 index 0000000..4b2e289 --- /dev/null +++ b/src/antigravity_grpc/cloudcode_pb2_grpc.py @@ -0,0 +1,275 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc +import warnings + +from antigravity_grpc import cloudcode_pb2 as cloudcode__pb2 + +GRPC_GENERATED_VERSION = '1.80.0' +GRPC_VERSION = grpc.__version__ +_version_not_supported = False + +try: + from grpc._utilities import first_version_is_lower + _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION) +except ImportError: + _version_not_supported = True + +if _version_not_supported: + raise RuntimeError( + f'The grpc package installed is at version {GRPC_VERSION},' + + ' but the generated code in cloudcode_pb2_grpc.py depends on' + + f' grpcio>={GRPC_GENERATED_VERSION}.' + + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}' + + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.' + ) + + +class PredictionServiceStub(object): + """─── Service ────────────────────────────────────────────────────────── + + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.GenerateContent = channel.unary_unary( + '/google.internal.cloud.code.v1internal.PredictionService/GenerateContent', + request_serializer=cloudcode__pb2.GenerateContentRequest.SerializeToString, + response_deserializer=cloudcode__pb2.GenerateContentResponse.FromString, + _registered_method=True) + self.StreamGenerateContent = channel.unary_stream( + '/google.internal.cloud.code.v1internal.PredictionService/StreamGenerateContent', + request_serializer=cloudcode__pb2.GenerateContentRequest.SerializeToString, + response_deserializer=cloudcode__pb2.StreamGenerateContentChunk.FromString, + _registered_method=True) + self.FetchAvailableModels = channel.unary_unary( + '/google.internal.cloud.code.v1internal.PredictionService/FetchAvailableModels', + request_serializer=cloudcode__pb2.FetchAvailableModelsRequest.SerializeToString, + response_deserializer=cloudcode__pb2.FetchAvailableModelsResponse.FromString, + _registered_method=True) + self.CountTokens = channel.unary_unary( + '/google.internal.cloud.code.v1internal.PredictionService/CountTokens', + request_serializer=cloudcode__pb2.CountTokensRequest.SerializeToString, + response_deserializer=cloudcode__pb2.CountTokensResponse.FromString, + _registered_method=True) + self.RetrieveUserQuota = channel.unary_unary( + '/google.internal.cloud.code.v1internal.PredictionService/RetrieveUserQuota', + request_serializer=cloudcode__pb2.RetrieveUserQuotaRequest.SerializeToString, + response_deserializer=cloudcode__pb2.RetrieveUserQuotaResponse.FromString, + _registered_method=True) + + +class PredictionServiceServicer(object): + """─── Service ────────────────────────────────────────────────────────── + + """ + + def GenerateContent(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def StreamGenerateContent(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def FetchAvailableModels(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def CountTokens(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def RetrieveUserQuota(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_PredictionServiceServicer_to_server(servicer, server): + rpc_method_handlers = { + 'GenerateContent': grpc.unary_unary_rpc_method_handler( + servicer.GenerateContent, + request_deserializer=cloudcode__pb2.GenerateContentRequest.FromString, + response_serializer=cloudcode__pb2.GenerateContentResponse.SerializeToString, + ), + 'StreamGenerateContent': grpc.unary_stream_rpc_method_handler( + servicer.StreamGenerateContent, + request_deserializer=cloudcode__pb2.GenerateContentRequest.FromString, + response_serializer=cloudcode__pb2.StreamGenerateContentChunk.SerializeToString, + ), + 'FetchAvailableModels': grpc.unary_unary_rpc_method_handler( + servicer.FetchAvailableModels, + request_deserializer=cloudcode__pb2.FetchAvailableModelsRequest.FromString, + response_serializer=cloudcode__pb2.FetchAvailableModelsResponse.SerializeToString, + ), + 'CountTokens': grpc.unary_unary_rpc_method_handler( + servicer.CountTokens, + request_deserializer=cloudcode__pb2.CountTokensRequest.FromString, + response_serializer=cloudcode__pb2.CountTokensResponse.SerializeToString, + ), + 'RetrieveUserQuota': grpc.unary_unary_rpc_method_handler( + servicer.RetrieveUserQuota, + request_deserializer=cloudcode__pb2.RetrieveUserQuotaRequest.FromString, + response_serializer=cloudcode__pb2.RetrieveUserQuotaResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'google.internal.cloud.code.v1internal.PredictionService', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('google.internal.cloud.code.v1internal.PredictionService', rpc_method_handlers) + + + # This class is part of an EXPERIMENTAL API. +class PredictionService(object): + """─── Service ────────────────────────────────────────────────────────── + + """ + + @staticmethod + def GenerateContent(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/google.internal.cloud.code.v1internal.PredictionService/GenerateContent', + cloudcode__pb2.GenerateContentRequest.SerializeToString, + cloudcode__pb2.GenerateContentResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def StreamGenerateContent(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_stream( + request, + target, + '/google.internal.cloud.code.v1internal.PredictionService/StreamGenerateContent', + cloudcode__pb2.GenerateContentRequest.SerializeToString, + cloudcode__pb2.StreamGenerateContentChunk.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def FetchAvailableModels(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/google.internal.cloud.code.v1internal.PredictionService/FetchAvailableModels', + cloudcode__pb2.FetchAvailableModelsRequest.SerializeToString, + cloudcode__pb2.FetchAvailableModelsResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def CountTokens(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/google.internal.cloud.code.v1internal.PredictionService/CountTokens', + cloudcode__pb2.CountTokensRequest.SerializeToString, + cloudcode__pb2.CountTokensResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def RetrieveUserQuota(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/google.internal.cloud.code.v1internal.PredictionService/RetrieveUserQuota', + cloudcode__pb2.RetrieveUserQuotaRequest.SerializeToString, + cloudcode__pb2.RetrieveUserQuotaResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/src/antigravity_grpc/proto/cloudcode.proto b/src/antigravity_grpc/proto/cloudcode.proto new file mode 100644 index 0000000..cfecf0c --- /dev/null +++ b/src/antigravity_grpc/proto/cloudcode.proto @@ -0,0 +1,183 @@ +// Copyright 2026 Codex Launcher Contributors +// SPDX-License-Identifier: MIT +// +// CloudCode internal gRPC service definitions. +// Reverse-engineered from the agy-core binary for Antigravity proxy fallback. +// Service: google.internal.cloud.code.v1internal.PredictionService +// +// NOTE: google/api/annotations.proto is NOT imported here because it conflicts +// with the google namespace package at runtime. The HTTP annotations are only +// needed for Google's Envoy/gRPC-gateway and are unnecessary for our client. + +syntax = "proto3"; + +package google.internal.cloud.code.v1internal; + +import "google/protobuf/struct.proto"; + +option go_package = "google.golang.org/internal/cloud/code/v1internal"; + +// ─── Reused message types ─────────────────────────────────────────── + +message Content { + string role = 1; + repeated Part parts = 2; +} + +message Part { + oneof data { + string text = 1; + InlineData inline_data = 2; + FunctionCall function_call = 3; + FunctionResponse function_response = 4; + } + // Thought signature for Gemini continuity + string thought_signature = 10; + // Thought part (reasoning) + bool thought = 11; +} + +message InlineData { + string mime_type = 1; + bytes data = 2; +} + +message FunctionCall { + string name = 1; + google.protobuf.Struct args = 2; + string id = 3; +} + +message FunctionResponse { + string name = 1; + google.protobuf.Struct response = 2; + string id = 3; +} + +message SafetySetting { + string category = 1; + string threshold = 2; +} + +message GenerationConfig { + int32 max_output_tokens = 1; + float temperature = 2; + float top_p = 3; + int32 thinking_budget = 4; + bool include_thoughts = 5; + repeated string stop_sequences = 6; + message ThinkingConfig { + bool include_thoughts = 1; + int32 thinking_budget = 2; + } + ThinkingConfig thinking_config = 7; +} + +message Tool { + repeated FunctionDeclaration function_declarations = 1; +} + +message FunctionDeclaration { + string name = 1; + string description = 2; + google.protobuf.Struct parameters = 3; +} + +message ToolConfig { + message FunctionCallingConfig { + string mode = 1; // "AUTO", "ANY", "NONE", "VALIDATED" + repeated string allowed_function_names = 2; + } + FunctionCallingConfig function_calling_config = 1; +} + +message Candidate { + Content content = 1; + string finish_reason = 2; + int32 index = 3; +} + +// ─── GenerateContent ───────────────────────────────────────────────── + +message GenerateContentRequest { + string project = 1; + string model = 2; + string request_type = 3; + string user_agent = 4; + string request_id = 5; + + message InnerRequest { + repeated Content contents = 1; + Content system_instruction = 2; + GenerationConfig generation_config = 3; + repeated Tool tools = 4; + repeated SafetySetting safety_settings = 5; + ToolConfig tool_config = 6; + string session_id = 7; + } + + InnerRequest request = 10; +} + +message GenerateContentResponse { + message Response { + repeated Candidate candidates = 1; + } + Response response = 1; +} + +// ─── StreamGenerateContent ──────────────────────────────────────────── + +message StreamGenerateContentChunk { + GenerateContentResponse.Response response = 1; +} + +// ─── FetchAvailableModels ──────────────────────────────────────────── + +message FetchAvailableModelsRequest { + string project = 1; +} + +message FetchAvailableModelsResponse { + message ModelInfo { + string name = 1; + string display_name = 2; + string description = 3; + int64 context_window = 4; + } + repeated ModelInfo models = 1; +} + +// ─── CountTokens ────────────────────────────────────────────────────── + +message CountTokensRequest { + string project = 1; + string model = 2; + repeated Content contents = 3; +} + +message CountTokensResponse { + int32 total_tokens = 1; +} + +// ─── RetrieveUserQuota ─────────────────────────────────────────────── + +message RetrieveUserQuotaRequest { + string project = 1; +} + +message RetrieveUserQuotaResponse { + int64 daily_limit = 1; + int64 daily_usage = 2; + int64 daily_remaining = 3; +} + +// ─── Service ────────────────────────────────────────────────────────── + +service PredictionService { + rpc GenerateContent(GenerateContentRequest) returns (GenerateContentResponse); + rpc StreamGenerateContent(GenerateContentRequest) returns (stream StreamGenerateContentChunk); + rpc FetchAvailableModels(FetchAvailableModelsRequest) returns (FetchAvailableModelsResponse); + rpc CountTokens(CountTokensRequest) returns (CountTokensResponse); + rpc RetrieveUserQuota(RetrieveUserQuotaRequest) returns (RetrieveUserQuotaResponse); +} diff --git a/src/antigravity_grpc/proto/google/api/annotations.proto b/src/antigravity_grpc/proto/google/api/annotations.proto new file mode 100644 index 0000000..5f0556d --- /dev/null +++ b/src/antigravity_grpc/proto/google/api/annotations.proto @@ -0,0 +1,14 @@ +// Minimal google/api/annotations.proto for code generation. + +syntax = "proto3"; + +package google.api; + +import "google/api/http.proto"; +import "google/protobuf/descriptor.proto"; + +option go_package = "google.golang.org/genproto/googleapis/api/annotations"; + +extend google.protobuf.MethodOptions { + HttpRule http = 72295728; +} diff --git a/src/antigravity_grpc/proto/google/api/http.proto b/src/antigravity_grpc/proto/google/api/http.proto new file mode 100644 index 0000000..a089001 --- /dev/null +++ b/src/antigravity_grpc/proto/google/api/http.proto @@ -0,0 +1,18 @@ +// Minimal google/api/http.proto for code generation. + +syntax = "proto3"; + +package google.api; + +option go_package = "google.golang.org/genproto/googleapis/api/annotations"; + +message HttpRule { + string get = 1; + string put = 2; + string post = 3; + string delete = 4; + string patch = 5; + repeated HttpRule additional_bindings = 11; + string body = 7; + string response_body = 12; +} diff --git a/src/codex-launcher-gui b/src/codex-launcher-gui index 1f61f0d..000e696 100755 --- a/src/codex-launcher-gui +++ b/src/codex-launcher-gui @@ -27,9 +27,10 @@ model_catalog_json = "" """ CHANGELOG = [ - ("3.11.12", "2026-05-26", [ - "New Antigravity v2 handler mimicking anti-api", - "Safety settings, stopSequences, simplified sanitizer", + ("3.12.0", "2026-05-27", [ + "gRPC auto-fallback for Antigravity (PR #13)", + "Dynamic version fetch with probe validation", + "Antigravity v2 handler rewrite (anti-api)", ]), ("3.11.10", "2026-05-26", [ "Fix Antigravity: interleave function_call/output pairs (PR #11)", diff --git a/src/codex_launcher_lib.py b/src/codex_launcher_lib.py index c6c8b84..9f93125 100644 --- a/src/codex_launcher_lib.py +++ b/src/codex_launcher_lib.py @@ -83,12 +83,14 @@ model_catalog_json = "" """ CHANGELOG = [ - ("3.11.12", "2026-05-26", [ - "New Antigravity v2 handler mimicking anti-api approach", + ("3.12.0", "2026-05-27", [ + "gRPC auto-fallback for Antigravity provider (PR #13)", + "New antigravity_grpc module with protobuf client", + "REST 404 triggers gRPC fallback using display names", + "gRPC supports streaming and unary generate", + "Dynamic version fetch with probe validation", + "Antigravity v2 handler rewrite (anti-api approach)", "Safety settings, stopSequences, sessionId, requestType: agent", - "Simplified sanitizer preserving functionCall/functionResponse", - "Endpoint priority: daily-cloudcode-pa first", - "functionResponse uses response.result (string) format", ]), ("3.11.11", "2026-05-26", [ "Final trimming only removes plain messages, never function_call_output", diff --git a/src/translate-proxy.py b/src/translate-proxy.py index 20a6794..708cc7e 100755 --- a/src/translate-proxy.py +++ b/src/translate-proxy.py @@ -165,6 +165,56 @@ import tempfile _IS_WINDOWS = sys.platform == "win32" +# ═══════════════════════════════════════════════════════════════════ +# Lazy gRPC import for Antigravity fallback +# ═══════════════════════════════════════════════════════════════════ +_antigravity_grpc_client = None +_antigravity_grpc_available = None + +def _get_grpc_client(): + """Lazy-load the Antigravity gRPC client. Returns None if grpcio is not installed.""" + global _antigravity_grpc_client, _antigravity_grpc_available + if _antigravity_grpc_available is False: + return None + if _antigravity_grpc_client is not None: + return _antigravity_grpc_client + try: + # Add the src directory to sys.path so antigravity_grpc package is found + _src_dir = os.path.dirname(os.path.abspath(__file__)) + if _src_dir not in sys.path: + sys.path.insert(0, _src_dir) + from antigravity_grpc import is_grpc_available, AntigravityGrpcClient, get_client + if is_grpc_available(): + _antigravity_grpc_client = get_client() + _antigravity_grpc_available = True + print("[antigravity-grpc] gRPC fallback module loaded OK", file=sys.stderr) + return _antigravity_grpc_client + else: + _antigravity_grpc_available = False + print("[antigravity-grpc] grpcio available but stubs failed to load, gRPC fallback disabled", file=sys.stderr) + return None + except ImportError as e: + _antigravity_grpc_available = False + print(f"[antigravity-grpc] grpcio not installed ({e}), gRPC fallback disabled", file=sys.stderr) + return None + +# Reverse alias map: REST slug → gRPC display name +# gRPC uses display names (e.g. "Gemini 3.5 Flash (High)") while REST uses slugs (e.g. "gemini-3-flash") +_GRPC_REVERSE_ALIAS = { + "gemini-3-flash": "Gemini 3.5 Flash (High)", + "gemini-3.5-flash-low": "Gemini 3.5 Flash (Low)", + "gemini-3.1-pro-low": "Gemini 3.1 Pro (High)", + "claude-sonnet-4-6": "Claude Sonnet 4.6 (Thinking)", + "claude-opus-4-6-thinking": "Claude Opus 4.6 (Thinking)", + "gpt-oss-120b-medium": "GPT-OSS 120B (Medium)", + "gemini-2.5-flash": "Gemini 2.5 Flash", + "gemini-2.5-pro": "Gemini 2.5 Pro", + "gemini-2.5-flash-lite": "Gemini 2.5 Flash Lite", +} + +# Errors from REST that should trigger gRPC fallback +_GRPC_FALLBACK_REST_ERRORS = {404} # Model not found via REST (model exists in gRPC but not REST) + # ═══════════════════════════════════════════════════════════════════ # Config # ═══════════════════════════════════════════════════════════════════ @@ -5762,7 +5812,7 @@ class Handler(http.server.BaseHTTPRequestHandler): _antigravity_endpoints.append("https://autopush-cloudcode-pa.sandbox.googleapis.com") body_b = json.dumps(wrapped).encode() - print(f"[{self._session_id}] [antigravity-v2] model={model} stream={stream} contents={len(contents)} tools={bool(gemini_tools)} project={project_id} ver={_versions[0]}", file=sys.stderr) + print(f"[{self._session_id}] [antigravity-v2] model={model} stream={stream} contents={len(contents)} tools={bool(gemini_tools)} project={project_id} ver={_fetched_ver}", file=sys.stderr) try: debug_path = os.path.join(_LOG_DIR, f"antigravity-v2-request-{self._session_id}.json") with open(debug_path, "w") as dbg: @@ -5863,6 +5913,14 @@ class Handler(http.server.BaseHTTPRequestHandler): continue if upstream is None: + # ─── gRPC FALLBACK ───────────────────────────────────────── + # If REST failed with 404 (model not available via REST API), + # try gRPC which supports display names and has a wider model catalog. + if _all_404: + grpc_result = self._try_grpc_fallback(wrapped, access_token, stream, tracker) + if grpc_result is not None: + return # gRPC succeeded, response already sent + # ─── END gRPC FALLBACK ───────────────────────────────────── return self.send_json(502, {"error": {"type": "proxy_error", "message": "All endpoints failed"}}) if stream: @@ -5870,6 +5928,190 @@ class Handler(http.server.BaseHTTPRequestHandler): else: self._forward_gemini_json(upstream, model, body, input_data) + # ═══════════════════════════════════════════════════════════════════ + # gRPC Fallback for Antigravity + # ═══════════════════════════════════════════════════════════════════ + + def _try_grpc_fallback(self, wrapped_dict, access_token, stream, tracker=None): + """ + Try gRPC fallback when REST API returns 404 (model not found). + + gRPC uses display names (e.g. "Gemini 3.5 Flash (High)") instead of + REST slugs (e.g. "gemini-3-flash"), so models unavailable via REST + may work via gRPC. + + Returns None if gRPC is unavailable or also failed (caller should + send its own error response). Returns True if gRPC succeeded and + the response was already sent to the client. + """ + grpc_client = _get_grpc_client() + if grpc_client is None: + print(f"[{self._session_id}] [antigravity-grpc] gRPC fallback not available (grpcio not installed), skipping", file=sys.stderr) + return None + + # gRPC uses display names, not REST slugs — remap the model ID + grpc_wrapped = dict(wrapped_dict) + rest_model = grpc_wrapped.get("model", "") + grpc_model = _GRPC_REVERSE_ALIAS.get(rest_model, rest_model) + grpc_wrapped["model"] = grpc_model + if grpc_model != rest_model: + print(f"[{self._session_id}] [antigravity-grpc] model remapped for gRPC: REST={rest_model} -> gRPC={grpc_model}", file=sys.stderr) + + print(f"[{self._session_id}] [antigravity-grpc] REST 404, trying gRPC fallback with model={grpc_model} stream={stream}", file=sys.stderr) + + try: + result = grpc_client.try_generate( + grpc_wrapped, + stream=stream, + access_token=access_token, + timeout_s=180, + ) + except Exception as e: + print(f"[{self._session_id}] [antigravity-grpc] gRPC call exception: {e}", file=sys.stderr) + return None + + if not result.ok: + print(f"[{self._session_id}] [antigravity-grpc] gRPC fallback also failed: {result.error_message}", file=sys.stderr) + return None + + print(f"[{self._session_id}] [antigravity-grpc] gRPC fallback OK! endpoint={result.endpoint_used} model={result.model_used} elapsed={result.elapsed_s:.1f}s", file=sys.stderr) + + # Process the gRPC response through the same forwarding paths as REST + if stream and result.stream_chunks is not None: + self._forward_grpc_sse(result, grpc_model) + elif not stream and result.response_data is not None: + self._forward_grpc_json(result, grpc_model) + else: + print(f"[{self._session_id}] [antigravity-grpc] unexpected result shape, no data to forward", file=sys.stderr) + return None + + return True # Response sent successfully via gRPC + + def _forward_grpc_sse(self, grpc_result, model): + """ + Forward a gRPC streaming result to the client as SSE events. + The gRPC result contains stream_chunks that match the REST SSE chunk shape, + so we can process them through the same _forward_gemini_sse logic. + """ + resp_id = f"resp-{uuid.uuid4().hex[:24]}" + created = int(time.time()) + self.send_response(200) + self.send_header("Content-Type", "text/event-stream") + self.send_header("Cache-Control", "no-cache") + self.send_header("Connection", "keep-alive") + self.end_headers() + + full_text = "" + output_items = [] + current_tool_calls = {} + message_started = False + message_id = f"msg-{uuid.uuid4().hex[:24]}" + + def flush_event(event_type, data): + self.wfile.write(f"event: {event_type}\ndata: {json.dumps(data)}\n\n".encode()) + self.wfile.flush() + + flush_event("response.created", {"type": "response.created", "response": {"id": resp_id, "object": "response", "model": model, "status": "in_progress", "created": created, "output": []}}) + flush_event("response.in_progress", {"type": "response.in_progress", "response": {"id": resp_id}}) + + # Process each gRPC chunk (same shape as REST SSE chunks) + for chunk in grpc_result.stream_chunks: + candidates = chunk.get("response", chunk).get("candidates", []) + if not candidates: + continue + parts = candidates[0].get("content", {}).get("parts", []) + for part in parts: + sig = _extract_gemini_sig(part) + if sig: + if part.get("functionCall"): + fc_id = part["functionCall"].get("id") or part["functionCall"].get("name") + fc_name = part["functionCall"].get("name") + if fc_id: + _gemini_store_sig(f"fc:{fc_id}", sig) + if fc_name: + _gemini_store_sig(f"fc:{fc_name}", sig) + _gemini_store_sig(f"turn:{resp_id}", sig) + if part.get("thought"): + sig_from_thought = _extract_gemini_sig(part) + if sig_from_thought: + _gemini_store_sig(f"turn:{resp_id}", sig_from_thought) + continue + if "text" in part and not part.get("functionCall"): + text_delta = part["text"] + if not text_delta: + continue + full_text += text_delta + if not message_started: + flush_event("response.output_item.added", {"type": "response.output_item.added", "output_index": 0, "item": {"type": "message", "id": message_id, "role": "assistant", "content": []}}) + flush_event("response.content_part.added", {"type": "response.content_part.added", "output_index": 0, "content_index": 0, "part": {"type": "output_text", "text": ""}}) + output_items.append({"text": True}) + message_started = True + flush_event("response.output_text.delta", {"type": "response.output_text.delta", "output_index": 0, "content_index": 0, "delta": text_delta}) + elif part.get("functionCall"): + fc = part["functionCall"] + call_id = f"call_{uuid.uuid4().hex[:24]}" + args_str = json.dumps(fc.get("args", fc.get("arguments", {}))) + output_index = len(output_items) + flush_event("response.output_item.added", {"type": "response.output_item.added", "output_index": output_index, "item": {"type": "function_call", "id": call_id, "call_id": call_id, "name": fc.get("name", ""), "arguments": ""}}) + flush_event("response.function_call_arguments.delta", {"type": "response.function_call_arguments.delta", "output_index": output_index, "item_id": call_id, "delta": args_str}) + flush_event("response.function_call_arguments.done", {"type": "response.function_call_arguments.done", "output_index": output_index, "item_id": call_id, "arguments": args_str}) + current_tool_calls[call_id] = fc + output_items.append({"tool": True}) + + # Build final response + out = [] + if full_text: + out.append({"type": "message", "id": message_id, "role": "assistant", "content": [{"type": "output_text", "text": full_text}]}) + tool_outputs = [] + for cid, fc in current_tool_calls.items(): + tool_outputs.append({"type": "function_call", "id": cid, "call_id": cid, "name": fc.get("name", ""), "arguments": json.dumps(fc.get("args", fc.get("arguments", {})))}) + out.extend(tool_outputs) + + final_resp = {"id": resp_id, "object": "response", "model": model, "status": "completed", "created": created, "output": out} + if full_text: + flush_event("response.output_text.done", {"type": "response.output_text.done", "output_index": 0, "content_index": 0, "text": full_text}) + flush_event("response.content_part.done", {"type": "response.content_part.done", "output_index": 0, "content_index": 0, "part": {"type": "output_text", "text": full_text}}) + flush_event("response.output_item.done", {"type": "response.output_item.done", "output_index": 0, "item": out[0]}) + for idx, item in enumerate(tool_outputs, start=(1 if full_text else 0)): + flush_event("response.output_item.done", {"type": "response.output_item.done", "output_index": idx, "item": item}) + flush_event("response.completed", {"type": "response.completed", "response": final_resp}) + self.close_connection = True + + with _response_store_lock: + _response_store[resp_id] = final_resp + while len(_response_store) > _MAX_STORED: + _response_store.popitem(last=False) + + def _forward_grpc_json(self, grpc_result, model): + """Forward a gRPC non-streaming result to the client as JSON.""" + resp_id = f"resp-{uuid.uuid4().hex[:24]}" + created = int(time.time()) + out = [] + full_text = "" + data = grpc_result.response_data + candidates = data.get("response", data).get("candidates", []) + if candidates: + parts = candidates[0].get("content", {}).get("parts", []) + text_parts = [] + for part in parts: + if part.get("thought"): + continue + if "text" in part and not part.get("functionCall"): + text_parts.append(part["text"]) + elif part.get("functionCall"): + fc = part["functionCall"] + call_id = f"call_{uuid.uuid4().hex[:24]}" + out.append({"type": "function_call", "id": call_id, "call_id": call_id, "name": fc.get("name", ""), "arguments": json.dumps(fc.get("args", fc.get("arguments", {})))}) + if text_parts: + full_text = "".join(text_parts) + out.insert(0, {"type": "message", "id": f"msg-{uuid.uuid4().hex[:24]}", "role": "assistant", "content": [{"type": "output_text", "text": full_text}]}) + resp = {"id": resp_id, "object": "response", "model": model, "status": "completed", "created": created, "output": out} + with _response_store_lock: + _response_store[resp_id] = resp + while len(_response_store) > _MAX_STORED: + _response_store.popitem(last=False) + self.send_json(200, resp) + def _handle_gemini_oauth(self, body, model, stream, tracker=None): input_data = body.get("input", "") policy = provider_policy() diff --git a/tests/test_antigravity_grpc.py b/tests/test_antigravity_grpc.py new file mode 100644 index 0000000..d099133 --- /dev/null +++ b/tests/test_antigravity_grpc.py @@ -0,0 +1,396 @@ +#!/usr/bin/env python3 +""" +Unit tests for the Antigravity gRPC fallback module. + +Tests cover: +1. Module import and availability detection +2. Protobuf conversion helpers (JSON <-> protobuf) +3. Request building from wrapped REST dict +4. Reverse alias map correctness +5. GrpcFallbackResult type +6. Integration: _try_grpc_fallback triggers correctly on REST 404 +""" + +import json +import os +import sys +import unittest +from unittest.mock import patch, MagicMock + +# Add src to path so we can import the antigravity_grpc package +_src_dir = os.path.join(os.path.dirname(os.path.abspath(__file__)), "..", "src") +if _src_dir not in sys.path: + sys.path.insert(0, _src_dir) + + +class TestGrpcModuleAvailability(unittest.TestCase): + """Tests for is_grpc_available() and module loading.""" + + def test_is_grpc_available_returns_bool(self): + """is_grpc_available should return a boolean.""" + from antigravity_grpc import is_grpc_available + result = is_grpc_available() + self.assertIsInstance(result, bool) + + def test_is_grpc_available_true_when_installed(self): + """If grpcio is installed and stubs are loadable, should return True.""" + from antigravity_grpc import is_grpc_available + # grpcio was installed at test time, so this should be True + self.assertTrue(is_grpc_available()) + + def test_client_instantiation(self): + """AntigravityGrpcClient should be instantiatable.""" + from antigravity_grpc import AntigravityGrpcClient + client = AntigravityGrpcClient() + self.assertIsNotNone(client) + + def test_get_client_singleton(self): + """get_client should return the same singleton.""" + from antigravity_grpc import get_client + c1 = get_client() + c2 = get_client() + self.assertIs(c1, c2) + + +class TestGrpcFallbackResult(unittest.TestCase): + """Tests for GrpcFallbackResult type.""" + + def test_default_values(self): + from antigravity_grpc import GrpcFallbackResult + r = GrpcFallbackResult() + self.assertFalse(r.ok) + self.assertIsNone(r.response_data) + self.assertIsNone(r.stream_chunks) + self.assertEqual(r.error_message, "") + self.assertEqual(r.endpoint_used, "") + self.assertEqual(r.model_used, "") + self.assertEqual(r.elapsed_s, 0.0) + + def test_success_result(self): + from antigravity_grpc import GrpcFallbackResult + r = GrpcFallbackResult(ok=True, response_data={"response": {"candidates": []}}, + endpoint_used="daily-cloudcode-pa.googleapis.com:443", + model_used="Gemini 3.5 Flash (High)", + elapsed_s=2.5) + self.assertTrue(r.ok) + self.assertIsNotNone(r.response_data) + self.assertEqual(r.elapsed_s, 2.5) + + def test_failure_result(self): + from antigravity_grpc import GrpcFallbackResult + r = GrpcFallbackResult(ok=False, error_message="All gRPC endpoints failed") + self.assertFalse(r.ok) + self.assertIn("failed", r.error_message) + + def test_repr(self): + from antigravity_grpc import GrpcFallbackResult + r_ok = GrpcFallbackResult(ok=True, response_data={"response": {"candidates": []}}) + self.assertIn("OK", repr(r_ok)) + r_fail = GrpcFallbackResult(ok=False, error_message="timeout") + self.assertIn("FAIL", repr(r_fail)) + + +class TestReverseAliasMap(unittest.TestCase): + """Tests for the _GRPC_REVERSE_ALIAS map in translate-proxy.py.""" + + def test_import_reverse_alias(self): + """The reverse alias map should be importable from the proxy module.""" + import importlib + _spec = importlib.util.spec_from_file_location( + "translate_proxy", + os.path.join(_src_dir, "translate-proxy.py"), + ) + tp = importlib.util.module_from_spec(_spec) + _spec.loader.exec_module(tp) + self.assertIsInstance(tp._GRPC_REVERSE_ALIAS, dict) + + def test_key_models_have_reverse_aliases(self): + """All key REST model slugs should have gRPC display name mappings.""" + import importlib + _spec = importlib.util.spec_from_file_location( + "translate_proxy", + os.path.join(_src_dir, "translate-proxy.py"), + ) + tp = importlib.util.module_from_spec(_spec) + _spec.loader.exec_module(tp) + + required_slugs = [ + "gemini-3-flash", + "gemini-3.5-flash-low", + "gemini-3.1-pro-low", + "claude-sonnet-4-6", + "claude-opus-4-6-thinking", + "gemini-2.5-flash", + ] + for slug in required_slugs: + self.assertIn(slug, tp._GRPC_REVERSE_ALIAS, + f"Missing reverse alias for REST slug '{slug}'") + + def test_reverse_alias_values_are_display_names(self): + """gRPC display names should contain spaces and parentheses, not hyphens.""" + import importlib + _spec = importlib.util.spec_from_file_location( + "translate_proxy", + os.path.join(_src_dir, "translate-proxy.py"), + ) + tp = importlib.util.module_from_spec(_spec) + _spec.loader.exec_module(tp) + + for slug, display_name in tp._GRPC_REVERSE_ALIAS.items(): + # Display names typically have spaces (e.g. "Gemini 3.5 Flash (High)") + # while slugs use hyphens (e.g. "gemini-3-flash") + self.assertNotEqual(slug, display_name, + f"Reverse alias for '{slug}' should differ from slug (gRPC uses display names)") + + +class TestProtobufConversion(unittest.TestCase): + """Tests for JSON -> protobuf conversion helpers.""" + + def test_struct_to_protobuf(self): + """_struct_to_protobuf should convert a simple dict to Struct.""" + from antigravity_grpc.client import _struct_to_protobuf + result = _struct_to_protobuf({"key": "value", "num": 42}) + self.assertIsNotNone(result) + # Verify round-trip + from antigravity_grpc.client import _protobuf_struct_to_dict + d = _protobuf_struct_to_dict(result) + self.assertEqual(d["key"], "value") + self.assertEqual(d["num"], 42.0) + + def test_struct_round_trip_nested(self): + """Nested dicts should survive a round-trip through protobuf.""" + from antigravity_grpc.client import _struct_to_protobuf, _protobuf_struct_to_dict + original = {"outer": {"inner": "hello"}, "list_val": [1, 2, 3]} + proto = _struct_to_protobuf(original) + result = _protobuf_struct_to_dict(proto) + self.assertEqual(result["outer"]["inner"], "hello") + self.assertEqual(result["list_val"], [1.0, 2.0, 3.0]) + + def test_json_parts_to_proto_text(self): + """Text parts should convert to protobuf Part with text field.""" + from antigravity_grpc.client import _json_parts_to_proto + parts = _json_parts_to_proto([{"text": "Hello world"}]) + self.assertEqual(len(parts), 1) + self.assertEqual(parts[0].text, "Hello world") + + def test_json_parts_to_proto_function_call(self): + """FunctionCall parts should convert correctly.""" + from antigravity_grpc.client import _json_parts_to_proto + parts = _json_parts_to_proto([{ + "functionCall": { + "name": "exec_command", + "args": {"cmd": "ls -la"}, + "id": "call_123" + } + }]) + self.assertEqual(len(parts), 1) + self.assertTrue(parts[0].HasField("function_call")) + self.assertEqual(parts[0].function_call.name, "exec_command") + self.assertEqual(parts[0].function_call.id, "call_123") + + def test_json_parts_to_proto_function_response(self): + """FunctionResponse parts should convert correctly.""" + from antigravity_grpc.client import _json_parts_to_proto + parts = _json_parts_to_proto([{ + "functionResponse": { + "name": "exec_command", + "response": {"result": "file1.txt"}, + "id": "call_123" + } + }]) + self.assertEqual(len(parts), 1) + self.assertTrue(parts[0].HasField("function_response")) + self.assertEqual(parts[0].function_response.name, "exec_command") + + def test_json_contents_to_proto(self): + """Content objects should convert correctly.""" + from antigravity_grpc.client import _json_contents_to_proto + contents = _json_contents_to_proto([ + {"role": "user", "parts": [{"text": "Hello"}]}, + {"role": "model", "parts": [{"text": "Hi there"}]}, + ]) + self.assertEqual(len(contents), 2) + self.assertEqual(contents[0].role, "user") + self.assertEqual(contents[1].role, "model") + + def test_proto_candidate_to_json(self): + """Protobuf candidates should convert back to JSON-compatible dicts.""" + from antigravity_grpc.client import _json_contents_to_proto, _proto_candidate_to_json + from antigravity_grpc import cloudcode_pb2 as pb2 + + # Build a candidate manually + candidate = pb2.Candidate() + candidate.content.role = "model" + candidate.content.parts.add().text = "Hello from gRPC" + candidate.finish_reason = "STOP" + candidate.index = 0 + + result = _proto_candidate_to_json(candidate) + self.assertEqual(result["finishReason"], "STOP") + self.assertEqual(result["content"]["role"], "model") + self.assertEqual(result["content"]["parts"][0]["text"], "Hello from gRPC") + + +class TestGrpcRequestBuilding(unittest.TestCase): + """Tests for _build_request (wrapped REST dict → protobuf).""" + + def _get_client(self): + from antigravity_grpc import AntigravityGrpcClient + return AntigravityGrpcClient() + + def test_build_request_basic(self): + """Basic request fields should be populated correctly.""" + client = self._get_client() + wrapped = { + "project": "test-project-123", + "model": "Gemini 3.5 Flash (High)", + "requestType": "agent", + "userAgent": "antigravity/2.0.6", + "requestId": "agent-test123", + "request": { + "contents": [ + {"role": "user", "parts": [{"text": "Say hello"}]} + ], + "safetySettings": [ + {"category": "HARM_CATEGORY_HARASSMENT", "threshold": "OFF"}, + ], + } + } + req = client._build_request(wrapped) + self.assertEqual(req.project, "test-project-123") + self.assertEqual(req.model, "Gemini 3.5 Flash (High)") + self.assertEqual(req.request_type, "agent") + self.assertEqual(len(req.request.contents), 1) + self.assertEqual(req.request.contents[0].role, "user") + + def test_build_request_with_tools(self): + """Tools should be converted to function declarations.""" + client = self._get_client() + wrapped = { + "project": "test-project", + "model": "gemini-3-flash", + "request": { + "contents": [], + "tools": [{ + "functionDeclarations": [{ + "name": "exec_command", + "description": "Run a shell command", + "parameters": {"type": "object", "properties": {"cmd": {"type": "string"}}} + }] + }], + } + } + req = client._build_request(wrapped) + self.assertEqual(len(req.request.tools), 1) + self.assertEqual(req.request.tools[0].function_declarations[0].name, "exec_command") + + def test_build_request_with_generation_config(self): + """Generation config should be populated correctly.""" + client = self._get_client() + wrapped = { + "project": "test-project", + "model": "gemini-3-flash", + "request": { + "contents": [], + "generationConfig": { + "maxOutputTokens": 64000, + "temperature": 0.7, + "stopSequences": ["\n\nHuman:"], + "thinkingConfig": { + "includeThoughts": True, + "thinkingBudget": 8192, + } + } + } + } + req = client._build_request(wrapped) + self.assertEqual(req.request.generation_config.max_output_tokens, 64000) + self.assertAlmostEqual(req.request.generation_config.temperature, 0.7, places=2) + self.assertTrue(req.request.generation_config.thinking_config.include_thoughts) + self.assertEqual(req.request.generation_config.thinking_config.thinking_budget, 8192) + + def test_build_request_with_function_call_history(self): + """Function call/response pairs in contents should be preserved.""" + client = self._get_client() + wrapped = { + "project": "test-project", + "model": "gemini-3-flash", + "request": { + "contents": [ + {"role": "user", "parts": [{"text": "List files"}]}, + {"role": "model", "parts": [{ + "functionCall": {"name": "exec_command", "args": {"cmd": "ls"}, "id": "call_1"} + }]}, + {"role": "user", "parts": [{ + "functionResponse": {"name": "exec_command", "response": {"result": "file.txt"}, "id": "call_1"} + }]}, + ] + } + } + req = client._build_request(wrapped) + self.assertEqual(len(req.request.contents), 3) + # Verify function call preserved + self.assertTrue(req.request.contents[1].parts[0].HasField("function_call")) + self.assertEqual(req.request.contents[1].parts[0].function_call.name, "exec_command") + # Verify function response preserved + self.assertTrue(req.request.contents[2].parts[0].HasField("function_response")) + self.assertEqual(req.request.contents[2].parts[0].function_response.name, "exec_command") + + +class TestGrpcEndpointsConfig(unittest.TestCase): + """Tests for gRPC endpoint configuration.""" + + def test_default_endpoints(self): + """Default endpoints should include production and daily.""" + from antigravity_grpc.client import _GRPC_ENDPOINTS + self.assertGreaterEqual(len(_GRPC_ENDPOINTS), 2) + hostnames = [ep.split(":")[0] for ep in _GRPC_ENDPOINTS] + self.assertIn("daily-cloudcode-pa.googleapis.com", hostnames) + self.assertIn("cloudcode-pa.googleapis.com", hostnames) + + def test_staging_env_var(self): + """Staging endpoints should be controlled by env var.""" + from antigravity_grpc.client import _ALLOW_STAGING_ENV + self.assertEqual(_ALLOW_STAGING_ENV, "ALLOW_ANTIGRAVITY_STAGING") + + +class TestProxyIntegration(unittest.TestCase): + """Tests for the proxy's gRPC fallback integration.""" + + def _load_proxy_module(self): + import importlib + _spec = importlib.util.spec_from_file_location( + "translate_proxy", + os.path.join(_src_dir, "translate-proxy.py"), + ) + tp = importlib.util.module_from_spec(_spec) + _spec.loader.exec_module(tp) + return tp + + def test_get_grpc_client_function_exists(self): + """_get_grpc_client should exist as a module-level function.""" + tp = self._load_proxy_module() + self.assertTrue(callable(tp._get_grpc_client)) + + def test_grpc_fallback_errors_set(self): + """_GRPC_FALLBACK_REST_ERRORS should include 404.""" + tp = self._load_proxy_module() + self.assertIn(404, tp._GRPC_FALLBACK_REST_ERRORS) + + def test_versions_bug_fixed(self): + """The _versions[0] NameError should be fixed (should be _fetched_ver).""" + # Read the source file and verify _versions is not used incorrectly + with open(os.path.join(_src_dir, "translate-proxy.py")) as f: + source = f.read() + # The bug was: ver={_versions[0]} -- should be ver={_fetched_ver} + self.assertNotIn("_versions[0]", source, + "Bug: _versions[0] should have been replaced with _fetched_ver") + + +if __name__ == "__main__": + print("=" * 70) + print("Antigravity gRPC Fallback - Unit Tests") + print("=" * 70) + print() + + unittest.main(verbosity=2)