Expand description
Upstream signatures carried by the client in its own protocol’s field.
A Gemini thoughtSignature or a Claude thinking signature is opaque to
the client and verified by the upstream that issued it, so the gateway
keeps nothing: it hands the native value to the client in the field its
protocol already has for reasoning state (a Claude thinking block’s
signature, a Responses reasoning item’s encrypted_content), and reads
it back from there on the next turn. The value is not encrypted or wrapped;
only a short prefix names its source, so a later turn can put it back where
that upstream expects it, or strip it when the conversation has moved to an
upstream that would reject it.
gemini:<signature>is the signature of a Gemini thought part. The carrier’s text is the part’s text, and the pair replays as one{thought: true, text, thoughtSignature}part: the only shape a Claude model behind Antigravity accepts. An empty signature marks thought text the upstream did not sign; it replays as nothing.gemini-next:<signature>is the signature of the Gemini part that the carrier precedes in the client’s history (afunctionCall, or a generated image), which has no field of its own for it. The carrier has no text.claude:<signature>is a Claude thinking block’s signature, shown to a client whose reasoning field is not a Claude one.
A Claude client’s own Claude signature carries no prefix: it is native
there, and a Claude request routed to Anthropic as it is must not change.
Chat clients carry signatures in reasoning_details, whose format names
the source instead (see reasoning_details).
Enums§
- Carried
- A carried signature, with its source prefix removed.
Constants§
- CLAUDE
- A Claude thinking block’s signature.
- GEMINI
- A Gemini thought part’s signature.
- GEMINI_
NEXT - A Gemini signature for the part after the carrier.
Functions§
- claude
- The carried form of a Claude thinking signature.
- gemini_
next - The carried form of the signature of the Gemini part after the carrier.
- gemini_
thought - The carried form of a Gemini thought part’s signature;
Nonemarks an unsigned thought. - is_
carried - True for a value with any source prefix gproxy adds.
- is_
gemini - True for a value that carries a Gemini signature in any form.
- without_
carried_ reasoning - A Responses request (or input token count) body without the reasoning
items whose
encrypted_contentcarries another upstream’s signature;Nonewhen it holds none. This is for a request that reaches a Responses upstream as it is, without conversion: that upstream decrypts its own ciphertext only, and refuses a Claude or Gemini signature it finds there.