How glaforge/gemini-interactions-api-sdk works
This repository is a Java SDK for the Gemini Interactions API, with an optional server-side HTTP webhook handler. The principal workflow is application code building typed interaction parameters, calling the client to send requests to Gemini, then consuming a structured or streamed interaction response. The client also exposes resource-management operations for agents, environments and files, voices, triggers, and webhooks. Models and custom Jackson handling represent the API’s polymorphic interaction data; schema utilities support tool schemas. Source excerpts are partial, so unsampled resource-operation wiring is represented at the client boundary only.
Main entry points: GeminiInteractionsClient.java Interactions client · Interaction.java Interaction models · EnvironmentWorkspace.java Environment files · InteractionInputDeserializer.java Input decoding
Components 15
Interactions
- Interactions client
gemini-interactions-api-sdk/src/main/java/io/github/glaforge/gemini/interactions/GeminiInteractionsClient.java
API resources
- Agents and environments
gemini-interactions-api-sdk/src/main/java/io/github/glaforge/gemini/interactions/model/Agent.java - Environment files
gemini-interactions-api-sdk/src/main/java/io/github/glaforge/gemini/interactions/EnvironmentWorkspace.java - TAR index
gemini-interactions-api-sdk/src/main/java/io/github/glaforge/gemini/interactions/TarParser.java - Voice resources
gemini-interactions-api-sdk/src/main/java/io/github/glaforge/gemini/interactions/model/Voice.java - Triggers
gemini-interactions-api-sdk/src/main/java/io/github/glaforge/gemini/interactions/model/Trigger.java - Webhooks
gemini-interactions-api-sdk/src/main/java/io/github/glaforge/gemini/interactions/model/Webhook.java
Models and schemas
- Interaction models
gemini-interactions-api-sdk/src/main/java/io/github/glaforge/gemini/interactions/model/Interaction.java - Input decoding
gemini-interactions-api-sdk/src/main/java/io/github/glaforge/gemini/interactions/model/deserializer/InteractionInputDeserializer.java - Step and content types
gemini-interactions-api-sdk/src/main/java/io/github/glaforge/gemini/interactions/model/Step.java - Tool schemas
gemini-interactions-api-sdk/src/main/java/io/github/glaforge/gemini/schema/GSchema.java
Server handler
- HTTP handler
gemini-interactions-server/src/main/java/io/github/glaforge/gemini/interactions/server/InteractionsHandler.java
Other components
- Java application
- Gemini API
- Webhook host
Connections 16
- Java application → Interactions client: calls
- Interactions client → Gemini API: sends requests
- Gemini API → Interactions client: returns responses
- Interactions client → Interaction models: decodes responses
- Interactions client → Input decoding: decodes inputs
- Input decoding → Interaction models: constructs turns
- Interaction models → Step and content types: contains steps
- Java application → Tool schemas: defines schemas
- Java application → Agents and environments: manages resources
- Java application → Environment files: handles files
- Environment files → TAR index: indexes TAR
- Java application → Voice resources: manages voices
- Java application → Triggers: manages triggers
- Java application → Webhooks: manages webhooks
- Webhook host → HTTP handler: sends HTTP requests
- HTTP handler → Interactions client: delegates API operations