From ec3c4c1f3cba807d21dae36130581a5d3ce79684 Mon Sep 17 00:00:00 2001 From: Mark Daoust Date: Mon, 3 Aug 2026 10:36:01 -0700 Subject: [PATCH] chore: Add java api reference examples. PiperOrigin-RevId: 958453800 --- google/genai/_gaos/_version.py | 4 +- google/genai/_gaos/agents.py | 76 ++++++++++++++++-- google/genai/_gaos/interactions.py | 120 +++++++++++++++++++++++++++++ 3 files changed, 190 insertions(+), 10 deletions(-) diff --git a/google/genai/_gaos/_version.py b/google/genai/_gaos/_version.py index 114706005..7679f3cb2 100644 --- a/google/genai/_gaos/_version.py +++ b/google/genai/_gaos/_version.py @@ -22,8 +22,8 @@ __version__: str = "2.4.1-preview.5" __response_mode_header__: str = "x-google-genai-response-mode" __openapi_doc_version__: str = "v1beta" -__gen_version__: str = "2.924.0" -__user_agent__: str = "speakeasy-sdk/python 2.4.1-preview.5 2.924.0 v1beta google-genai" +__gen_version__: str = "2.930.0" +__user_agent__: str = "speakeasy-sdk/python 2.4.1-preview.5 2.930.0 v1beta google-genai" try: if __package__ is not None: diff --git a/google/genai/_gaos/agents.py b/google/genai/_gaos/agents.py index 425ff97a8..23b3a163b 100644 --- a/google/genai/_gaos/agents.py +++ b/google/genai/_gaos/agents.py @@ -191,6 +191,11 @@ def _speakeasy_parse_response(http_res): "lang": "javascript", "source": "import {GoogleGenAI} from '@google/genai';\n\nconst ai = new GoogleGenAI({});\nconst agentId = `research-assistant-${crypto.randomUUID().slice(0, 8)}`;\nconst agent = await ai.agents.create({\n id: agentId,\n base_agent: 'antigravity-preview-05-2026',\n description: 'A helpful research assistant.',\n system_instruction: 'You are a helpful research assistant.',\n base_environment: 'remote',\n tools: [{ type: 'google_search' }],\n});\nif (!agent.id) {\n throw new Error('Agent creation failed: ID is undefined');\n}\nconsole.log(agent.id);\n\n// [cleanup]\nawait ai.agents.delete(agent.id);\n// [/cleanup]\n", }, + { + "label": "create", + "lang": "java", + "source": 'import com.google.genai.Client;\nimport com.google.genai.gaos.models.agents.Agent;\nimport com.google.genai.gaos.models.agents.BaseEnvironment;\nimport com.google.genai.gaos.models.interactions.GoogleSearch;\nimport com.google.genai.gaos.models.operations.CreateAgentResponse;\nimport java.util.List;\nimport java.util.UUID;\n\nClient client = new Client();\nString agentId = "research-assistant-" + UUID.randomUUID().toString().substring(0, 8);\nAgent agent = Agent.builder()\n .id(agentId)\n .baseAgent("antigravity-preview-05-2026")\n .description("A helpful research assistant.")\n .systemInstruction("You are a helpful research assistant.")\n .baseEnvironment(BaseEnvironment.of("remote"))\n .tools(List.of(new GoogleSearch()))\n .build();\nCreateAgentResponse response = client.agents.create(agent);\nSystem.out.println(response.agent().flatMap(Agent::id).orElse(""));\n\n// [cleanup]\nclient.agents.delete(agentId);\n// [/cleanup]\n', + }, { "label": "with_sources", "lang": "sh", @@ -206,6 +211,11 @@ def _speakeasy_parse_response(http_res): "lang": "javascript", "source": "import {GoogleGenAI} from '@google/genai';\n\nconst ai = new GoogleGenAI({});\nconst agentId = `data-analyst-${crypto.randomUUID().slice(0, 8)}`;\nconst agent = await ai.agents.create({\n id: agentId,\n base_agent: 'antigravity-preview-05-2026',\n system_instruction: 'You are a data analyst. Always include visualizations and export results as PDF.',\n base_environment: {\n type: 'remote',\n sources: [\n {\n type: 'inline',\n target: '.agents/AGENTS.md',\n content: 'Always use matplotlib for charts. Include a summary table in every report.',\n },\n {\n type: 'repository',\n source: 'https://github.com/my-org/analysis-templates',\n target: '/workspace/templates',\n },\n ],\n },\n});\nconsole.log(`Created agent: ${agent.id}`);\n\n// [cleanup]\nif (agent.id) await ai.agents.delete(agent.id);\n// [/cleanup]\n", }, + { + "label": "with_sources", + "lang": "java", + "source": 'import com.google.genai.Client;\nimport com.google.genai.gaos.models.agents.Agent;\nimport com.google.genai.gaos.models.agents.BaseEnvironment;\nimport com.google.genai.gaos.models.interactions.Environment;\nimport com.google.genai.gaos.models.interactions.Source;\nimport com.google.genai.gaos.models.interactions.SourceType;\nimport com.google.genai.gaos.models.operations.CreateAgentResponse;\nimport java.util.List;\nimport java.util.UUID;\n\nClient client = new Client();\nString agentId = "data-analyst-" + UUID.randomUUID().toString().substring(0, 8);\nEnvironment env = Environment.builder()\n .sources(List.of(\n Source.builder()\n .type(SourceType.INLINE)\n .target(".agents/AGENTS.md")\n .content("Always use matplotlib for charts. Include a summary table in every report.")\n .build(),\n Source.builder()\n .type(SourceType.REPOSITORY)\n .source("https://github.com/my-org/analysis-templates")\n .target("/workspace/templates")\n .build()\n ))\n .build();\nAgent agent = Agent.builder()\n .id(agentId)\n .baseAgent("antigravity-preview-05-2026")\n .systemInstruction("You are a data analyst. Always include visualizations and export results as PDF.")\n .baseEnvironment(BaseEnvironment.of(env))\n .build();\nCreateAgentResponse response = client.agents.create(agent);\nSystem.out.println("Created agent: " + response.agent().flatMap(Agent::id).orElse(""));\n\n// [cleanup]\nclient.agents.delete(agentId);\n// [/cleanup]\n', + }, { "label": "fork_from_env", "lang": "sh", @@ -221,6 +231,11 @@ def _speakeasy_parse_response(http_res): "lang": "javascript", "source": "import {GoogleGenAI} from '@google/genai';\n\nconst ai = new GoogleGenAI({});\n\n// Step 1: Set up the environment interactively.\nconst interaction = await ai.interactions.create({\n agent: 'antigravity-preview-05-2026',\n input: 'Write a basic Hello World template to /workspace/template.py.',\n environment: 'remote',\n});\n\n// Step 2: Fork that environment into a named agent.\nconst agentId = `my-data-analyst-${crypto.randomUUID().slice(0, 8)}`;\nconst agent = await ai.agents.create({\n id: agentId,\n base_agent: 'antigravity-preview-05-2026',\n system_instruction: 'You are a data analyst. Use the template at /workspace/template.py for all reports.',\n base_environment: interaction.environment_id,\n});\nconsole.log(`Forked agent: ${agent.id}`);\n\n// [cleanup]\nif (agent.id) await ai.agents.delete(agent.id);\n// [/cleanup]\n", }, + { + "label": "fork_from_env", + "lang": "java", + "source": 'import com.google.genai.Client;\nimport com.google.genai.gaos.models.agents.Agent;\nimport com.google.genai.gaos.models.agents.BaseEnvironment;\nimport com.google.genai.gaos.models.interactions.AgentOption;\nimport com.google.genai.gaos.models.interactions.CreateAgentInteraction;\nimport com.google.genai.gaos.models.interactions.CreateAgentInteractionEnvironment;\nimport com.google.genai.gaos.models.interactions.Interaction;\nimport com.google.genai.gaos.models.interactions.InteractionsInput;\nimport com.google.genai.gaos.models.operations.CreateAgentResponse;\nimport com.google.genai.gaos.models.operations.CreateInteractionRequestBody;\nimport com.google.genai.gaos.models.operations.CreateInteractionResponse;\nimport java.util.UUID;\n\nClient client = new Client();\n\n// Step 1: Set up the environment interactively.\nCreateAgentInteraction params =\n CreateAgentInteraction.builder()\n .agent(AgentOption.of("antigravity-preview-05-2026"))\n .input(InteractionsInput.of("Write a basic Hello World template to /workspace/template.py."))\n .environment(CreateAgentInteractionEnvironment.of("remote"))\n .build();\nCreateInteractionResponse interactionResponse =\n client.interactions.create(CreateInteractionRequestBody.of(params));\nInteraction interaction =\n interactionResponse.interaction().orElseThrow(() -> new RuntimeException("No interaction returned"));\n\n// Step 2: Fork that environment into a named agent.\nString agentId = "my-data-analyst-" + UUID.randomUUID().toString().substring(0, 8);\nAgent agent = Agent.builder()\n .id(agentId)\n .baseAgent("antigravity-preview-05-2026")\n .systemInstruction("You are a data analyst. Use the template at /workspace/template.py for all reports.")\n .baseEnvironment(BaseEnvironment.of(interaction.environmentId().orElse("")))\n .build();\nCreateAgentResponse agentResponse = client.agents.create(agent);\nSystem.out.println("Forked agent: " + agentResponse.agent().flatMap(Agent::id).orElse(""));\n\n// [cleanup]\nclient.agents.delete(agentId);\n// [/cleanup]\n', + }, ] }, response=ResponseContext(mode=_speakeasy_response_mode, execution="sync"), @@ -395,6 +410,11 @@ def _speakeasy_parse_response(http_res): "lang": "javascript", "source": "import {GoogleGenAI} from '@google/genai';\n\nconst ai = new GoogleGenAI({});\nconst agents = await ai.agents.list();\nfor (const agent of (agents.agents ?? [])) {\n console.log(agent.id);\n}\n", }, + { + "label": "list", + "lang": "java", + "source": "import com.google.genai.Client;\nimport com.google.genai.gaos.models.agents.Agent;\nimport com.google.genai.gaos.models.agents.AgentListResponse;\nimport com.google.genai.gaos.models.operations.ListAgentsResponse;\nimport java.util.List;\n\nClient client = new Client();\nListAgentsResponse response = client.agents.list().call();\nList agents = response.agentListResponse()\n .flatMap(AgentListResponse::agents)\n .orElse(List.of());\nfor (Agent agent : agents) {\n agent.id().ifPresent(System.out::println);\n}\n", + }, ] }, response=ResponseContext(mode=_speakeasy_response_mode, execution="sync"), @@ -554,12 +574,17 @@ def _speakeasy_parse_response(http_res): { "label": "get", "lang": "python", - "source": 'import uuid\nfrom google import genai\n\nclient = genai.Client()\n\n# Create an agent so we have a valid ID to retrieve.\nagent_id = f"test-agent-{uuid.uuid4().hex[:8]}"\nclient.agents.create(\n id=agent_id,\n base_agent="waverunner",\n description="A test agent.",\n base_environment="remote",\n)\n\nagent = client.agents.get(agent_id)\nprint(agent.id)\n\n# [cleanup]\nclient.agents.delete(agent.id)\n# [/cleanup]\n', + "source": 'import uuid\nfrom google import genai\n\nclient = genai.Client()\n\n# [setup]\nagent_id = f"test-agent-{uuid.uuid4().hex[:8]}"\nclient.agents.create(\n id=agent_id,\n base_agent="antigravity-preview-05-2026",\n description="A test agent.",\n base_environment="remote",\n)\n# [/setup]\n\nagent = client.agents.get(agent_id)\nprint(agent.id)\n\n# [cleanup]\nclient.agents.delete(agent.id)\n# [/cleanup]\n', }, { "label": "get", "lang": "javascript", - "source": "import {GoogleGenAI} from '@google/genai';\n\nconst ai = new GoogleGenAI({});\n\n// Create an agent so we have a valid ID to retrieve.\nconst agentId = `test-agent-${crypto.randomUUID().slice(0, 8)}`;\nawait ai.agents.create({\n id: agentId,\n base_agent: 'waverunner',\n description: 'A test agent.',\n base_environment: 'remote',\n});\n\nconst agent = await ai.agents.get(agentId);\nif (!agent.id) {\n throw new Error('Agent retrieval failed: ID is undefined');\n}\nconsole.log(agent.id);\n\n// [cleanup]\nawait ai.agents.delete(agent.id);\n// [/cleanup]\n", + "source": "import {GoogleGenAI} from '@google/genai';\n\nconst ai = new GoogleGenAI({});\n\n// [setup]\nconst agentId = `test-agent-${crypto.randomUUID().slice(0, 8)}`;\nawait ai.agents.create({\n id: agentId,\n base_agent: 'antigravity-preview-05-2026',\n description: 'A test agent.',\n base_environment: 'remote',\n});\n// [/setup]\n\nconst agent = await ai.agents.get(agentId);\nif (!agent.id) {\n throw new Error('Agent retrieval failed: ID is undefined');\n}\nconsole.log(agent.id);\n\n// [cleanup]\nawait ai.agents.delete(agent.id);\n// [/cleanup]\n", + }, + { + "label": "get", + "lang": "java", + "source": 'import com.google.genai.Client;\nimport com.google.genai.gaos.models.agents.Agent;\nimport com.google.genai.gaos.models.agents.BaseEnvironment;\nimport com.google.genai.gaos.models.operations.GetAgentResponse;\nimport java.util.UUID;\n\nClient client = new Client();\n\n// [setup]\nString agentId = "test-agent-" + UUID.randomUUID().toString().substring(0, 8);\nclient.agents.create(Agent.builder()\n .id(agentId)\n .baseAgent("antigravity-preview-05-2026")\n .description("A test agent.")\n .baseEnvironment(BaseEnvironment.of("remote"))\n .build());\n// [/setup]\n\nGetAgentResponse response = client.agents.get(agentId);\nAgent agent = response.agent().orElseThrow(() -> new RuntimeException("No agent returned"));\nSystem.out.println(agent.id().orElse(""));\n\n// [cleanup]\nclient.agents.delete(agentId);\n// [/cleanup]\n', }, ] }, @@ -722,12 +747,17 @@ def _speakeasy_parse_response(http_res): { "label": "delete", "lang": "python", - "source": 'import uuid\nfrom google import genai\n\nclient = genai.Client()\n\n# Create an agent so we have a valid ID to delete.\nagent_id = f"delete-test-{uuid.uuid4().hex[:8]}"\nclient.agents.create(\n id=agent_id,\n base_agent="waverunner",\n description="Temporary agent for deletion.",\n base_environment="remote",\n)\n\nclient.agents.delete(agent_id)\nprint("Agent deleted successfully.")\n', + "source": 'import uuid\nfrom google import genai\n\nclient = genai.Client()\n\n# [setup]\nagent_id = f"delete-test-{uuid.uuid4().hex[:8]}"\nclient.agents.create(\n id=agent_id,\n base_agent="antigravity-preview-05-2026",\n description="Temporary agent for deletion.",\n base_environment="remote",\n)\n# [/setup]\n\nclient.agents.delete(agent_id)\nprint("Agent deleted successfully.")\n', }, { "label": "delete", "lang": "javascript", - "source": "import {GoogleGenAI} from '@google/genai';\n\nconst ai = new GoogleGenAI({});\n\n// Create an agent so we have a valid ID to delete.\nconst agentId = `delete-test-${crypto.randomUUID().slice(0, 8)}`;\nawait ai.agents.create({\n id: agentId,\n base_agent: 'waverunner',\n description: 'Temporary agent for deletion.',\n base_environment: 'remote',\n});\n\nawait ai.agents.delete(agentId);\nconsole.log('Agent deleted successfully.');\n", + "source": "import {GoogleGenAI} from '@google/genai';\n\nconst ai = new GoogleGenAI({});\n\n// [setup]\nconst agentId = `delete-test-${crypto.randomUUID().slice(0, 8)}`;\nawait ai.agents.create({\n id: agentId,\n base_agent: 'antigravity-preview-05-2026',\n description: 'Temporary agent for deletion.',\n base_environment: 'remote',\n});\n// [/setup]\n\nawait ai.agents.delete(agentId);\nconsole.log('Agent deleted successfully.');\n", + }, + { + "label": "delete", + "lang": "java", + "source": 'import com.google.genai.Client;\nimport com.google.genai.gaos.models.agents.Agent;\nimport com.google.genai.gaos.models.agents.BaseEnvironment;\nimport java.util.UUID;\n\nClient client = new Client();\n\n// [setup]\nString agentId = "delete-test-" + UUID.randomUUID().toString().substring(0, 8);\nclient.agents.create(Agent.builder()\n .id(agentId)\n .baseAgent("antigravity-preview-05-2026")\n .description("Temporary agent for deletion.")\n .baseEnvironment(BaseEnvironment.of("remote"))\n .build());\n// [/setup]\n\nclient.agents.delete(agentId);\nSystem.out.println("Agent deleted successfully.");\n', }, ] }, @@ -973,6 +1003,11 @@ async def _speakeasy_parse_response(http_res): "lang": "javascript", "source": "import {GoogleGenAI} from '@google/genai';\n\nconst ai = new GoogleGenAI({});\nconst agentId = `research-assistant-${crypto.randomUUID().slice(0, 8)}`;\nconst agent = await ai.agents.create({\n id: agentId,\n base_agent: 'antigravity-preview-05-2026',\n description: 'A helpful research assistant.',\n system_instruction: 'You are a helpful research assistant.',\n base_environment: 'remote',\n tools: [{ type: 'google_search' }],\n});\nif (!agent.id) {\n throw new Error('Agent creation failed: ID is undefined');\n}\nconsole.log(agent.id);\n\n// [cleanup]\nawait ai.agents.delete(agent.id);\n// [/cleanup]\n", }, + { + "label": "create", + "lang": "java", + "source": 'import com.google.genai.Client;\nimport com.google.genai.gaos.models.agents.Agent;\nimport com.google.genai.gaos.models.agents.BaseEnvironment;\nimport com.google.genai.gaos.models.interactions.GoogleSearch;\nimport com.google.genai.gaos.models.operations.CreateAgentResponse;\nimport java.util.List;\nimport java.util.UUID;\n\nClient client = new Client();\nString agentId = "research-assistant-" + UUID.randomUUID().toString().substring(0, 8);\nAgent agent = Agent.builder()\n .id(agentId)\n .baseAgent("antigravity-preview-05-2026")\n .description("A helpful research assistant.")\n .systemInstruction("You are a helpful research assistant.")\n .baseEnvironment(BaseEnvironment.of("remote"))\n .tools(List.of(new GoogleSearch()))\n .build();\nCreateAgentResponse response = client.agents.create(agent);\nSystem.out.println(response.agent().flatMap(Agent::id).orElse(""));\n\n// [cleanup]\nclient.agents.delete(agentId);\n// [/cleanup]\n', + }, { "label": "with_sources", "lang": "sh", @@ -988,6 +1023,11 @@ async def _speakeasy_parse_response(http_res): "lang": "javascript", "source": "import {GoogleGenAI} from '@google/genai';\n\nconst ai = new GoogleGenAI({});\nconst agentId = `data-analyst-${crypto.randomUUID().slice(0, 8)}`;\nconst agent = await ai.agents.create({\n id: agentId,\n base_agent: 'antigravity-preview-05-2026',\n system_instruction: 'You are a data analyst. Always include visualizations and export results as PDF.',\n base_environment: {\n type: 'remote',\n sources: [\n {\n type: 'inline',\n target: '.agents/AGENTS.md',\n content: 'Always use matplotlib for charts. Include a summary table in every report.',\n },\n {\n type: 'repository',\n source: 'https://github.com/my-org/analysis-templates',\n target: '/workspace/templates',\n },\n ],\n },\n});\nconsole.log(`Created agent: ${agent.id}`);\n\n// [cleanup]\nif (agent.id) await ai.agents.delete(agent.id);\n// [/cleanup]\n", }, + { + "label": "with_sources", + "lang": "java", + "source": 'import com.google.genai.Client;\nimport com.google.genai.gaos.models.agents.Agent;\nimport com.google.genai.gaos.models.agents.BaseEnvironment;\nimport com.google.genai.gaos.models.interactions.Environment;\nimport com.google.genai.gaos.models.interactions.Source;\nimport com.google.genai.gaos.models.interactions.SourceType;\nimport com.google.genai.gaos.models.operations.CreateAgentResponse;\nimport java.util.List;\nimport java.util.UUID;\n\nClient client = new Client();\nString agentId = "data-analyst-" + UUID.randomUUID().toString().substring(0, 8);\nEnvironment env = Environment.builder()\n .sources(List.of(\n Source.builder()\n .type(SourceType.INLINE)\n .target(".agents/AGENTS.md")\n .content("Always use matplotlib for charts. Include a summary table in every report.")\n .build(),\n Source.builder()\n .type(SourceType.REPOSITORY)\n .source("https://github.com/my-org/analysis-templates")\n .target("/workspace/templates")\n .build()\n ))\n .build();\nAgent agent = Agent.builder()\n .id(agentId)\n .baseAgent("antigravity-preview-05-2026")\n .systemInstruction("You are a data analyst. Always include visualizations and export results as PDF.")\n .baseEnvironment(BaseEnvironment.of(env))\n .build();\nCreateAgentResponse response = client.agents.create(agent);\nSystem.out.println("Created agent: " + response.agent().flatMap(Agent::id).orElse(""));\n\n// [cleanup]\nclient.agents.delete(agentId);\n// [/cleanup]\n', + }, { "label": "fork_from_env", "lang": "sh", @@ -1003,6 +1043,11 @@ async def _speakeasy_parse_response(http_res): "lang": "javascript", "source": "import {GoogleGenAI} from '@google/genai';\n\nconst ai = new GoogleGenAI({});\n\n// Step 1: Set up the environment interactively.\nconst interaction = await ai.interactions.create({\n agent: 'antigravity-preview-05-2026',\n input: 'Write a basic Hello World template to /workspace/template.py.',\n environment: 'remote',\n});\n\n// Step 2: Fork that environment into a named agent.\nconst agentId = `my-data-analyst-${crypto.randomUUID().slice(0, 8)}`;\nconst agent = await ai.agents.create({\n id: agentId,\n base_agent: 'antigravity-preview-05-2026',\n system_instruction: 'You are a data analyst. Use the template at /workspace/template.py for all reports.',\n base_environment: interaction.environment_id,\n});\nconsole.log(`Forked agent: ${agent.id}`);\n\n// [cleanup]\nif (agent.id) await ai.agents.delete(agent.id);\n// [/cleanup]\n", }, + { + "label": "fork_from_env", + "lang": "java", + "source": 'import com.google.genai.Client;\nimport com.google.genai.gaos.models.agents.Agent;\nimport com.google.genai.gaos.models.agents.BaseEnvironment;\nimport com.google.genai.gaos.models.interactions.AgentOption;\nimport com.google.genai.gaos.models.interactions.CreateAgentInteraction;\nimport com.google.genai.gaos.models.interactions.CreateAgentInteractionEnvironment;\nimport com.google.genai.gaos.models.interactions.Interaction;\nimport com.google.genai.gaos.models.interactions.InteractionsInput;\nimport com.google.genai.gaos.models.operations.CreateAgentResponse;\nimport com.google.genai.gaos.models.operations.CreateInteractionRequestBody;\nimport com.google.genai.gaos.models.operations.CreateInteractionResponse;\nimport java.util.UUID;\n\nClient client = new Client();\n\n// Step 1: Set up the environment interactively.\nCreateAgentInteraction params =\n CreateAgentInteraction.builder()\n .agent(AgentOption.of("antigravity-preview-05-2026"))\n .input(InteractionsInput.of("Write a basic Hello World template to /workspace/template.py."))\n .environment(CreateAgentInteractionEnvironment.of("remote"))\n .build();\nCreateInteractionResponse interactionResponse =\n client.interactions.create(CreateInteractionRequestBody.of(params));\nInteraction interaction =\n interactionResponse.interaction().orElseThrow(() -> new RuntimeException("No interaction returned"));\n\n// Step 2: Fork that environment into a named agent.\nString agentId = "my-data-analyst-" + UUID.randomUUID().toString().substring(0, 8);\nAgent agent = Agent.builder()\n .id(agentId)\n .baseAgent("antigravity-preview-05-2026")\n .systemInstruction("You are a data analyst. Use the template at /workspace/template.py for all reports.")\n .baseEnvironment(BaseEnvironment.of(interaction.environmentId().orElse("")))\n .build();\nCreateAgentResponse agentResponse = client.agents.create(agent);\nSystem.out.println("Forked agent: " + agentResponse.agent().flatMap(Agent::id).orElse(""));\n\n// [cleanup]\nclient.agents.delete(agentId);\n// [/cleanup]\n', + }, ] }, response=ResponseContext(mode=_speakeasy_response_mode, execution="async"), @@ -1180,6 +1225,11 @@ async def _speakeasy_parse_response(http_res): "lang": "javascript", "source": "import {GoogleGenAI} from '@google/genai';\n\nconst ai = new GoogleGenAI({});\nconst agents = await ai.agents.list();\nfor (const agent of (agents.agents ?? [])) {\n console.log(agent.id);\n}\n", }, + { + "label": "list", + "lang": "java", + "source": "import com.google.genai.Client;\nimport com.google.genai.gaos.models.agents.Agent;\nimport com.google.genai.gaos.models.agents.AgentListResponse;\nimport com.google.genai.gaos.models.operations.ListAgentsResponse;\nimport java.util.List;\n\nClient client = new Client();\nListAgentsResponse response = client.agents.list().call();\nList agents = response.agentListResponse()\n .flatMap(AgentListResponse::agents)\n .orElse(List.of());\nfor (Agent agent : agents) {\n agent.id().ifPresent(System.out::println);\n}\n", + }, ] }, response=ResponseContext(mode=_speakeasy_response_mode, execution="async"), @@ -1342,12 +1392,17 @@ async def _speakeasy_parse_response(http_res): { "label": "get", "lang": "python", - "source": 'import uuid\nfrom google import genai\n\nclient = genai.Client()\n\n# Create an agent so we have a valid ID to retrieve.\nagent_id = f"test-agent-{uuid.uuid4().hex[:8]}"\nclient.agents.create(\n id=agent_id,\n base_agent="waverunner",\n description="A test agent.",\n base_environment="remote",\n)\n\nagent = client.agents.get(agent_id)\nprint(agent.id)\n\n# [cleanup]\nclient.agents.delete(agent.id)\n# [/cleanup]\n', + "source": 'import uuid\nfrom google import genai\n\nclient = genai.Client()\n\n# [setup]\nagent_id = f"test-agent-{uuid.uuid4().hex[:8]}"\nclient.agents.create(\n id=agent_id,\n base_agent="antigravity-preview-05-2026",\n description="A test agent.",\n base_environment="remote",\n)\n# [/setup]\n\nagent = client.agents.get(agent_id)\nprint(agent.id)\n\n# [cleanup]\nclient.agents.delete(agent.id)\n# [/cleanup]\n', }, { "label": "get", "lang": "javascript", - "source": "import {GoogleGenAI} from '@google/genai';\n\nconst ai = new GoogleGenAI({});\n\n// Create an agent so we have a valid ID to retrieve.\nconst agentId = `test-agent-${crypto.randomUUID().slice(0, 8)}`;\nawait ai.agents.create({\n id: agentId,\n base_agent: 'waverunner',\n description: 'A test agent.',\n base_environment: 'remote',\n});\n\nconst agent = await ai.agents.get(agentId);\nif (!agent.id) {\n throw new Error('Agent retrieval failed: ID is undefined');\n}\nconsole.log(agent.id);\n\n// [cleanup]\nawait ai.agents.delete(agent.id);\n// [/cleanup]\n", + "source": "import {GoogleGenAI} from '@google/genai';\n\nconst ai = new GoogleGenAI({});\n\n// [setup]\nconst agentId = `test-agent-${crypto.randomUUID().slice(0, 8)}`;\nawait ai.agents.create({\n id: agentId,\n base_agent: 'antigravity-preview-05-2026',\n description: 'A test agent.',\n base_environment: 'remote',\n});\n// [/setup]\n\nconst agent = await ai.agents.get(agentId);\nif (!agent.id) {\n throw new Error('Agent retrieval failed: ID is undefined');\n}\nconsole.log(agent.id);\n\n// [cleanup]\nawait ai.agents.delete(agent.id);\n// [/cleanup]\n", + }, + { + "label": "get", + "lang": "java", + "source": 'import com.google.genai.Client;\nimport com.google.genai.gaos.models.agents.Agent;\nimport com.google.genai.gaos.models.agents.BaseEnvironment;\nimport com.google.genai.gaos.models.operations.GetAgentResponse;\nimport java.util.UUID;\n\nClient client = new Client();\n\n// [setup]\nString agentId = "test-agent-" + UUID.randomUUID().toString().substring(0, 8);\nclient.agents.create(Agent.builder()\n .id(agentId)\n .baseAgent("antigravity-preview-05-2026")\n .description("A test agent.")\n .baseEnvironment(BaseEnvironment.of("remote"))\n .build());\n// [/setup]\n\nGetAgentResponse response = client.agents.get(agentId);\nAgent agent = response.agent().orElseThrow(() -> new RuntimeException("No agent returned"));\nSystem.out.println(agent.id().orElse(""));\n\n// [cleanup]\nclient.agents.delete(agentId);\n// [/cleanup]\n', }, ] }, @@ -1513,12 +1568,17 @@ async def _speakeasy_parse_response(http_res): { "label": "delete", "lang": "python", - "source": 'import uuid\nfrom google import genai\n\nclient = genai.Client()\n\n# Create an agent so we have a valid ID to delete.\nagent_id = f"delete-test-{uuid.uuid4().hex[:8]}"\nclient.agents.create(\n id=agent_id,\n base_agent="waverunner",\n description="Temporary agent for deletion.",\n base_environment="remote",\n)\n\nclient.agents.delete(agent_id)\nprint("Agent deleted successfully.")\n', + "source": 'import uuid\nfrom google import genai\n\nclient = genai.Client()\n\n# [setup]\nagent_id = f"delete-test-{uuid.uuid4().hex[:8]}"\nclient.agents.create(\n id=agent_id,\n base_agent="antigravity-preview-05-2026",\n description="Temporary agent for deletion.",\n base_environment="remote",\n)\n# [/setup]\n\nclient.agents.delete(agent_id)\nprint("Agent deleted successfully.")\n', }, { "label": "delete", "lang": "javascript", - "source": "import {GoogleGenAI} from '@google/genai';\n\nconst ai = new GoogleGenAI({});\n\n// Create an agent so we have a valid ID to delete.\nconst agentId = `delete-test-${crypto.randomUUID().slice(0, 8)}`;\nawait ai.agents.create({\n id: agentId,\n base_agent: 'waverunner',\n description: 'Temporary agent for deletion.',\n base_environment: 'remote',\n});\n\nawait ai.agents.delete(agentId);\nconsole.log('Agent deleted successfully.');\n", + "source": "import {GoogleGenAI} from '@google/genai';\n\nconst ai = new GoogleGenAI({});\n\n// [setup]\nconst agentId = `delete-test-${crypto.randomUUID().slice(0, 8)}`;\nawait ai.agents.create({\n id: agentId,\n base_agent: 'antigravity-preview-05-2026',\n description: 'Temporary agent for deletion.',\n base_environment: 'remote',\n});\n// [/setup]\n\nawait ai.agents.delete(agentId);\nconsole.log('Agent deleted successfully.');\n", + }, + { + "label": "delete", + "lang": "java", + "source": 'import com.google.genai.Client;\nimport com.google.genai.gaos.models.agents.Agent;\nimport com.google.genai.gaos.models.agents.BaseEnvironment;\nimport java.util.UUID;\n\nClient client = new Client();\n\n// [setup]\nString agentId = "delete-test-" + UUID.randomUUID().toString().substring(0, 8);\nclient.agents.create(Agent.builder()\n .id(agentId)\n .baseAgent("antigravity-preview-05-2026")\n .description("Temporary agent for deletion.")\n .baseEnvironment(BaseEnvironment.of("remote"))\n .build());\n// [/setup]\n\nclient.agents.delete(agentId);\nSystem.out.println("Agent deleted successfully.");\n', }, ] }, diff --git a/google/genai/_gaos/interactions.py b/google/genai/_gaos/interactions.py index 52fe581f6..972d19de7 100644 --- a/google/genai/_gaos/interactions.py +++ b/google/genai/_gaos/interactions.py @@ -542,6 +542,11 @@ def _speakeasy_parse_response(http_res): "lang": "javascript", "source": "import {GoogleGenAI} from '@google/genai';\n\nconst ai = new GoogleGenAI({});\nconst interaction = await ai.interactions.create({\n model: 'gemini-3.6-flash',\n input: 'Hello, how are you?',\n});\nconsole.log(interaction.output_text);\n", }, + { + "label": "simple", + "lang": "java", + "source": 'import com.google.genai.Client;\nimport com.google.genai.gaos.models.interactions.CreateModelInteraction;\nimport com.google.genai.gaos.models.interactions.Interaction;\nimport com.google.genai.gaos.models.interactions.InteractionsInput;\nimport com.google.genai.gaos.models.operations.CreateInteractionRequestBody;\nimport com.google.genai.gaos.models.operations.CreateInteractionResponse;\n\nClient client = new Client();\nCreateModelInteraction params =\n CreateModelInteraction.builder()\n .model("gemini-3.6-flash")\n .input(InteractionsInput.of("Hello, how are you?"))\n .build();\nCreateInteractionResponse response =\n client.interactions.create(CreateInteractionRequestBody.of(params));\nInteraction interaction =\n response.interaction().orElseThrow(() -> new RuntimeException("No interaction returned"));\nSystem.out.println(interaction.outputText().orElse(""));\n', + }, { "label": "multi_turn", "lang": "sh", @@ -557,6 +562,11 @@ def _speakeasy_parse_response(http_res): "lang": "javascript", "source": "import {GoogleGenAI} from '@google/genai';\n\nconst ai = new GoogleGenAI({});\nconst interaction = await ai.interactions.create({\n model: 'gemini-3.6-flash',\n input: [\n { type: 'user_input', content: [{ type: 'text', text: 'Hello' }] },\n { type: 'model_output', content: [{ type: 'text', text: 'Hi there! How can I help you today?' }] },\n { type: 'user_input', content: [{ type: 'text', text: 'What is the capital of France?' }] }\n ]\n});\nconsole.log(interaction.output_text);\n", }, + { + "label": "multi_turn", + "lang": "java", + "source": 'import com.google.genai.Client;\nimport com.google.genai.gaos.models.interactions.CreateModelInteraction;\nimport com.google.genai.gaos.models.interactions.Interaction;\nimport com.google.genai.gaos.models.interactions.InteractionsInput;\nimport com.google.genai.gaos.models.interactions.ModelOutputStep;\nimport com.google.genai.gaos.models.interactions.Step;\nimport com.google.genai.gaos.models.interactions.TextContent;\nimport com.google.genai.gaos.models.interactions.UserInputStep;\nimport com.google.genai.gaos.models.operations.CreateInteractionRequestBody;\nimport com.google.genai.gaos.models.operations.CreateInteractionResponse;\nimport java.util.List;\n\nClient client = new Client();\nList conversation = List.of(\n UserInputStep.builder()\n .content(List.of(TextContent.builder().text("Hello!").build()))\n .build(),\n ModelOutputStep.builder()\n .content(List.of(TextContent.builder().text("Hi there! How can I help you today?").build()))\n .build(),\n UserInputStep.builder()\n .content(List.of(TextContent.builder().text("What is the capital of France?").build()))\n .build()\n);\nCreateModelInteraction params =\n CreateModelInteraction.builder()\n .model("gemini-3.6-flash")\n .input(InteractionsInput.ofStep(conversation))\n .build();\nCreateInteractionResponse response =\n client.interactions.create(CreateInteractionRequestBody.of(params));\nInteraction interaction =\n response.interaction().orElseThrow(() -> new RuntimeException("No interaction returned"));\nSystem.out.println(interaction.outputText().orElse(""));\n', + }, { "label": "multimodal_image", "lang": "sh", @@ -572,6 +582,11 @@ def _speakeasy_parse_response(http_res): "lang": "javascript", "source": "import {GoogleGenAI} from '@google/genai';\n\nconst ai = new GoogleGenAI({});\nconst interaction = await ai.interactions.create({\n model: 'gemini-3.6-flash',\n input: [\n { type: 'text', text: 'What is in this picture?' },\n { type: 'image', data: 'BASE64_ENCODED_IMAGE', mime_type: 'image/png' }\n ]\n});\nconsole.log(interaction.output_text);\n", }, + { + "label": "multimodal_image", + "lang": "java", + "source": 'import com.google.genai.Client;\nimport com.google.genai.gaos.models.interactions.Content;\nimport com.google.genai.gaos.models.interactions.CreateModelInteraction;\nimport com.google.genai.gaos.models.interactions.ImageContent;\nimport com.google.genai.gaos.models.interactions.ImageContentMimeType;\nimport com.google.genai.gaos.models.interactions.Interaction;\nimport com.google.genai.gaos.models.interactions.InteractionsInput;\nimport com.google.genai.gaos.models.interactions.TextContent;\nimport com.google.genai.gaos.models.operations.CreateInteractionRequestBody;\nimport com.google.genai.gaos.models.operations.CreateInteractionResponse;\nimport java.util.List;\n\nClient client = new Client();\nList content = List.of(\n TextContent.builder().text("What is in this picture?").build(),\n ImageContent.builder()\n .data("BASE64_ENCODED_IMAGE")\n .mimeType(ImageContentMimeType.IMAGE_PNG)\n .build()\n);\nCreateModelInteraction params =\n CreateModelInteraction.builder()\n .model("gemini-3.6-flash")\n .input(InteractionsInput.ofContent(content))\n .build();\nCreateInteractionResponse response =\n client.interactions.create(CreateInteractionRequestBody.of(params));\nInteraction interaction =\n response.interaction().orElseThrow(() -> new RuntimeException("No interaction returned"));\nSystem.out.println(interaction.outputText().orElse(""));\n', + }, { "label": "function_calling", "lang": "sh", @@ -587,6 +602,11 @@ def _speakeasy_parse_response(http_res): "lang": "javascript", "source": "import {GoogleGenAI} from '@google/genai';\n\nconst ai = new GoogleGenAI({});\nconst interaction = await ai.interactions.create({\n model: 'gemini-3.6-flash',\n tools: [{\n type: 'function',\n name: 'get_weather',\n description: 'Get the current weather in a given location',\n parameters: {\n type: 'object',\n properties: {\n location: {\n type: 'string',\n description: 'The city and state, e.g. San Francisco, CA'\n }\n },\n required: ['location']\n }\n }],\n input: 'What is the weather like in Boston, MA?'\n});\nconsole.log(interaction.steps.at(-1));\n", }, + { + "label": "function_calling", + "lang": "java", + "source": 'import com.google.genai.Client;\nimport com.google.genai.gaos.models.interactions.CreateModelInteraction;\nimport com.google.genai.gaos.models.interactions.Function;\nimport com.google.genai.gaos.models.interactions.Interaction;\nimport com.google.genai.gaos.models.interactions.InteractionsInput;\nimport com.google.genai.gaos.models.interactions.Step;\nimport com.google.genai.gaos.models.operations.CreateInteractionRequestBody;\nimport com.google.genai.gaos.models.operations.CreateInteractionResponse;\nimport java.util.List;\nimport java.util.Map;\n\nClient client = new Client();\nMap parameters = Map.of(\n "type", "object",\n "properties", Map.of(\n "location", Map.of(\n "type", "string",\n "description", "The city and state, e.g. San Francisco, CA"\n )\n ),\n "required", List.of("location")\n);\nFunction functionTool = Function.builder()\n .name("get_weather")\n .description("Get the current weather in a given location")\n .parameters(parameters)\n .build();\nCreateModelInteraction params =\n CreateModelInteraction.builder()\n .model("gemini-3.6-flash")\n .tools(List.of(functionTool))\n .input(InteractionsInput.of("What is the weather like in Boston, MA?"))\n .build();\nCreateInteractionResponse response =\n client.interactions.create(CreateInteractionRequestBody.of(params));\nInteraction interaction =\n response.interaction().orElseThrow(() -> new RuntimeException("No interaction returned"));\nList steps = interaction.steps().orElse(List.of());\nif (!steps.isEmpty()) {\n System.out.println(steps.get(steps.size() - 1));\n}\n', + }, { "label": "deep_research", "lang": "sh", @@ -602,6 +622,11 @@ def _speakeasy_parse_response(http_res): "lang": "javascript", "source": "import {GoogleGenAI} from '@google/genai';\n\nconst ai = new GoogleGenAI({});\nconst interaction = await ai.interactions.create({\n agent: 'deep-research-pro-preview-12-2025',\n input: 'find a cure to cancer',\n background: true,\n});\nconsole.log(interaction.status);\n", }, + { + "label": "deep_research", + "lang": "java", + "source": 'import com.google.genai.Client;\nimport com.google.genai.gaos.models.interactions.AgentOption;\nimport com.google.genai.gaos.models.interactions.CreateAgentInteraction;\nimport com.google.genai.gaos.models.interactions.Interaction;\nimport com.google.genai.gaos.models.interactions.InteractionStatus;\nimport com.google.genai.gaos.models.interactions.InteractionsInput;\nimport com.google.genai.gaos.models.operations.CreateInteractionRequestBody;\nimport com.google.genai.gaos.models.operations.CreateInteractionResponse;\n\nClient client = new Client();\nCreateAgentInteraction params =\n CreateAgentInteraction.builder()\n .agent(AgentOption.of("deep-research-pro-preview-12-2025"))\n .input(InteractionsInput.of("find a cure to cancer"))\n .background(true)\n .build();\nCreateInteractionResponse response =\n client.interactions.create(CreateInteractionRequestBody.of(params));\nInteraction interaction =\n response.interaction().orElseThrow(() -> new RuntimeException("No interaction returned"));\nSystem.out.println(interaction.status().map(InteractionStatus::value).orElse(""));\n', + }, { "label": "antigravity", "lang": "sh", @@ -617,6 +642,11 @@ def _speakeasy_parse_response(http_res): "lang": "javascript", "source": "import {GoogleGenAI} from '@google/genai';\n\nconst ai = new GoogleGenAI({});\nconst interaction = await ai.interactions.create({\n agent: 'antigravity-preview-05-2026',\n input: 'Read Hacker News, summarize the top 5 stories, and save results as a markdown file.',\n environment: 'remote',\n});\nconsole.log(interaction.output_text);\n", }, + { + "label": "antigravity", + "lang": "java", + "source": 'import com.google.genai.Client;\nimport com.google.genai.gaos.models.interactions.AgentOption;\nimport com.google.genai.gaos.models.interactions.CreateAgentInteraction;\nimport com.google.genai.gaos.models.interactions.CreateAgentInteractionEnvironment;\nimport com.google.genai.gaos.models.interactions.Interaction;\nimport com.google.genai.gaos.models.interactions.InteractionsInput;\nimport com.google.genai.gaos.models.operations.CreateInteractionRequestBody;\nimport com.google.genai.gaos.models.operations.CreateInteractionResponse;\n\nClient client = new Client();\nCreateAgentInteraction params =\n CreateAgentInteraction.builder()\n .agent(AgentOption.of("antigravity-preview-05-2026"))\n .input(InteractionsInput.of("Read Hacker News, summarize the top 5 stories, and save results as a markdown file."))\n .environment(CreateAgentInteractionEnvironment.of("remote"))\n .build();\nCreateInteractionResponse response =\n client.interactions.create(CreateInteractionRequestBody.of(params));\nInteraction interaction =\n response.interaction().orElseThrow(() -> new RuntimeException("No interaction returned"));\nSystem.out.println(interaction.outputText().orElse(""));\n', + }, { "label": "reuse_env", "lang": "sh", @@ -632,6 +662,11 @@ def _speakeasy_parse_response(http_res): "lang": "javascript", "source": "import {GoogleGenAI} from '@google/genai';\n\nconst ai = new GoogleGenAI({});\n\n// Step 1: Create an interaction with a fresh remote environment.\nconst interaction = await ai.interactions.create({\n agent: 'antigravity-preview-05-2026',\n input: 'Write a hello world script at /workspace/hello.py.',\n environment: 'remote',\n});\nconsole.log(`Environment ID: ${interaction.environment_id}`);\n\n// Step 2: Reuse the same environment in a follow-up interaction.\nconst interaction2 = await ai.interactions.create({\n agent: 'antigravity-preview-05-2026',\n input: 'Modify the script to accept a name argument and greet the user.',\n environment: interaction.environment_id,\n previous_interaction_id: interaction.id,\n});\nconsole.log(interaction2.output_text);\n", }, + { + "label": "reuse_env", + "lang": "java", + "source": 'import com.google.genai.Client;\nimport com.google.genai.gaos.models.interactions.AgentOption;\nimport com.google.genai.gaos.models.interactions.CreateAgentInteraction;\nimport com.google.genai.gaos.models.interactions.CreateAgentInteractionEnvironment;\nimport com.google.genai.gaos.models.interactions.Interaction;\nimport com.google.genai.gaos.models.interactions.InteractionsInput;\nimport com.google.genai.gaos.models.operations.CreateInteractionRequestBody;\nimport com.google.genai.gaos.models.operations.CreateInteractionResponse;\n\nClient client = new Client();\n\n// Step 1: Create an interaction with a fresh remote environment.\nCreateAgentInteraction params1 =\n CreateAgentInteraction.builder()\n .agent(AgentOption.of("antigravity-preview-05-2026"))\n .input(InteractionsInput.of("Write a hello world script at /workspace/hello.py."))\n .environment(CreateAgentInteractionEnvironment.of("remote"))\n .build();\nCreateInteractionResponse response1 =\n client.interactions.create(CreateInteractionRequestBody.of(params1));\nInteraction interaction1 =\n response1.interaction().orElseThrow(() -> new RuntimeException("No interaction returned"));\nSystem.out.println("Environment ID: " + interaction1.environmentId().orElse(""));\n\n// Step 2: Reuse the same environment in a follow-up interaction.\nCreateAgentInteraction params2 =\n CreateAgentInteraction.builder()\n .agent(AgentOption.of("antigravity-preview-05-2026"))\n .input(InteractionsInput.of("Modify the script to accept a name argument and greet the user."))\n .environment(CreateAgentInteractionEnvironment.of(interaction1.environmentId().orElse("")))\n .previousInteractionId(interaction1.id().orElse(null))\n .build();\nCreateInteractionResponse response2 =\n client.interactions.create(CreateInteractionRequestBody.of(params2));\nInteraction interaction2 =\n response2.interaction().orElseThrow(() -> new RuntimeException("No interaction returned"));\nSystem.out.println(interaction2.outputText().orElse(""));\n', + }, { "label": "with_sources", "lang": "sh", @@ -647,6 +682,11 @@ def _speakeasy_parse_response(http_res): "lang": "javascript", "source": "import {GoogleGenAI} from '@google/genai';\n\nconst ai = new GoogleGenAI({});\nconst interaction = await ai.interactions.create({\n agent: 'antigravity-preview-05-2026',\n input: 'List all files under /workspace and summarize what you find.',\n environment: {\n type: 'remote',\n sources: [\n {\n type: 'repository',\n source: 'https://github.com/octocat/Spoon-Knife',\n target: '/workspace/repo',\n },\n {\n type: 'inline',\n content: 'Focus on Python files only.',\n target: '/workspace/notes.txt',\n },\n ],\n },\n});\nconsole.log(interaction.output_text);\n", }, + { + "label": "with_sources", + "lang": "java", + "source": 'import com.google.genai.Client;\nimport com.google.genai.gaos.models.interactions.AgentOption;\nimport com.google.genai.gaos.models.interactions.CreateAgentInteraction;\nimport com.google.genai.gaos.models.interactions.CreateAgentInteractionEnvironment;\nimport com.google.genai.gaos.models.interactions.Environment;\nimport com.google.genai.gaos.models.interactions.Interaction;\nimport com.google.genai.gaos.models.interactions.InteractionsInput;\nimport com.google.genai.gaos.models.interactions.Source;\nimport com.google.genai.gaos.models.interactions.SourceType;\nimport com.google.genai.gaos.models.operations.CreateInteractionRequestBody;\nimport com.google.genai.gaos.models.operations.CreateInteractionResponse;\nimport java.util.List;\n\nClient client = new Client();\nEnvironment env = Environment.builder()\n .sources(List.of(\n Source.builder()\n .type(SourceType.REPOSITORY)\n .source("https://github.com/octocat/Spoon-Knife")\n .target("/workspace/repo")\n .build(),\n Source.builder()\n .type(SourceType.INLINE)\n .content("Focus on Python files only.")\n .target("/workspace/notes.txt")\n .build()\n ))\n .build();\nCreateAgentInteraction params =\n CreateAgentInteraction.builder()\n .agent(AgentOption.of("antigravity-preview-05-2026"))\n .input(InteractionsInput.of("List all files under /workspace and summarize what you find."))\n .environment(CreateAgentInteractionEnvironment.of(env))\n .build();\nCreateInteractionResponse response =\n client.interactions.create(CreateInteractionRequestBody.of(params));\nInteraction interaction =\n response.interaction().orElseThrow(() -> new RuntimeException("No interaction returned"));\nSystem.out.println(interaction.outputText().orElse(""));\n', + }, { "label": "custom_agent", "lang": "sh", @@ -662,6 +702,11 @@ def _speakeasy_parse_response(http_res): "lang": "javascript", "source": "import {GoogleGenAI} from '@google/genai';\n\nconst ai = new GoogleGenAI({});\n\n// Step 1: Create a custom agent.\nconst agentId = `code-reviewer-${crypto.randomUUID().slice(0, 8)}`;\nawait ai.agents.create({\n id: agentId,\n base_agent: 'antigravity-preview-05-2026',\n system_instruction: 'You are a senior code reviewer. Check every file for bugs, style issues, and security vulnerabilities.',\n base_environment: {\n type: 'remote',\n sources: [{\n type: 'repository',\n source: 'https://github.com/octocat/Spoon-Knife',\n target: '/workspace/repo',\n }],\n },\n});\n\n// Step 2: Use the custom agent.\nconst result = await ai.interactions.create({\n agent: agentId,\n input: 'Review the latest changes in /workspace/repo/src and file a summary.',\n environment: 'remote',\n});\nconsole.log(result.output_text);\n\n// [cleanup]\nawait ai.agents.delete(agentId);\n// [/cleanup]\n", }, + { + "label": "custom_agent", + "lang": "java", + "source": 'import com.google.genai.Client;\nimport com.google.genai.gaos.models.agents.Agent;\nimport com.google.genai.gaos.models.agents.BaseEnvironment;\nimport com.google.genai.gaos.models.interactions.AgentOption;\nimport com.google.genai.gaos.models.interactions.CreateAgentInteraction;\nimport com.google.genai.gaos.models.interactions.CreateAgentInteractionEnvironment;\nimport com.google.genai.gaos.models.interactions.Environment;\nimport com.google.genai.gaos.models.interactions.Interaction;\nimport com.google.genai.gaos.models.interactions.InteractionsInput;\nimport com.google.genai.gaos.models.interactions.Source;\nimport com.google.genai.gaos.models.interactions.SourceType;\nimport com.google.genai.gaos.models.operations.CreateInteractionRequestBody;\nimport com.google.genai.gaos.models.operations.CreateInteractionResponse;\nimport java.util.List;\nimport java.util.UUID;\n\nClient client = new Client();\n\n// Step 1: Create a custom agent.\nString agentId = "code-reviewer-" + UUID.randomUUID().toString().substring(0, 8);\nEnvironment baseEnv = Environment.builder()\n .sources(List.of(\n Source.builder()\n .type(SourceType.REPOSITORY)\n .source("https://github.com/octocat/Spoon-Knife")\n .target("/workspace/repo")\n .build()\n ))\n .build();\nAgent customAgent = Agent.builder()\n .id(agentId)\n .baseAgent("antigravity-preview-05-2026")\n .systemInstruction("You are a senior code reviewer. Check every file for bugs, style issues, and security vulnerabilities.")\n .baseEnvironment(BaseEnvironment.of(baseEnv))\n .build();\nclient.agents.create(customAgent);\n\n// Step 2: Use the custom agent.\nCreateAgentInteraction params =\n CreateAgentInteraction.builder()\n .agent(AgentOption.of(agentId))\n .input(InteractionsInput.of("Review the latest changes in /workspace/repo/src and file a summary."))\n .environment(CreateAgentInteractionEnvironment.of("remote"))\n .build();\nCreateInteractionResponse response =\n client.interactions.create(CreateInteractionRequestBody.of(params));\nInteraction interaction =\n response.interaction().orElseThrow(() -> new RuntimeException("No interaction returned"));\nSystem.out.println(interaction.outputText().orElse(""));\n\n// [cleanup]\nclient.agents.delete(agentId);\n// [/cleanup]\n', + }, ] }, response=ResponseContext(mode=_speakeasy_response_mode, execution="sync"), @@ -971,6 +1016,11 @@ def _speakeasy_parse_response(http_res): "lang": "javascript", "source": "import {GoogleGenAI} from '@google/genai';\n\nconst ai = new GoogleGenAI({});\n\n// [setup]\nconst created = await ai.interactions.create({\n model: 'gemini-3.6-flash',\n input: 'Say hello.'\n});\n// [/setup]\n\nconst interaction = await ai.interactions.get(created.id);\nconsole.log(interaction.status);\n", }, + { + "label": "get", + "lang": "java", + "source": 'import com.google.genai.Client;\nimport com.google.genai.gaos.models.interactions.CreateModelInteraction;\nimport com.google.genai.gaos.models.interactions.Interaction;\nimport com.google.genai.gaos.models.interactions.InteractionStatus;\nimport com.google.genai.gaos.models.interactions.InteractionsInput;\nimport com.google.genai.gaos.models.operations.CreateInteractionRequestBody;\nimport com.google.genai.gaos.models.operations.CreateInteractionResponse;\nimport com.google.genai.gaos.models.operations.GetInteractionByIdRequest;\nimport com.google.genai.gaos.models.operations.GetInteractionByIdResponse;\n\nClient client = new Client();\n\n// [setup]\nCreateModelInteraction params =\n CreateModelInteraction.builder()\n .model("gemini-3.6-flash")\n .input(InteractionsInput.of("Say hello."))\n .build();\nCreateInteractionResponse created =\n client.interactions.create(CreateInteractionRequestBody.of(params));\nString interactionId = created.interaction().flatMap(Interaction::id).orElseThrow();\n// [/setup]\n\nGetInteractionByIdResponse getResponse =\n client.interactions.get(new GetInteractionByIdRequest(interactionId));\nInteraction interaction =\n getResponse.interaction().orElseThrow(() -> new RuntimeException("No interaction returned"));\nSystem.out.println(interaction.status().map(InteractionStatus::value).orElse(""));\n', + }, ] }, response=ResponseContext(mode=_speakeasy_response_mode, execution="sync"), @@ -1154,6 +1204,11 @@ def _speakeasy_parse_response(http_res): "lang": "javascript", "source": "import {GoogleGenAI} from '@google/genai';\n\nconst ai = new GoogleGenAI({});\n\n// [setup]\nconst created = await ai.interactions.create({\n model: 'gemini-3.6-flash',\n input: 'Hello',\n});\n// [/setup]\n\nawait ai.interactions.delete(created.id);\nconsole.log('Interaction deleted successfully.');\n", }, + { + "label": "delete", + "lang": "java", + "source": 'import com.google.genai.Client;\nimport com.google.genai.gaos.models.interactions.CreateModelInteraction;\nimport com.google.genai.gaos.models.interactions.Interaction;\nimport com.google.genai.gaos.models.interactions.InteractionsInput;\nimport com.google.genai.gaos.models.operations.CreateInteractionRequestBody;\nimport com.google.genai.gaos.models.operations.CreateInteractionResponse;\n\nClient client = new Client();\n\n// [setup]\nCreateModelInteraction params =\n CreateModelInteraction.builder()\n .model("gemini-3.6-flash")\n .input(InteractionsInput.of("Hello"))\n .build();\nCreateInteractionResponse created =\n client.interactions.create(CreateInteractionRequestBody.of(params));\nString interactionId = created.interaction().flatMap(Interaction::id).orElseThrow();\n// [/setup]\n\nclient.interactions.delete(interactionId);\nSystem.out.println("Interaction deleted successfully.");\n', + }, ] }, response=ResponseContext(mode=_speakeasy_response_mode, execution="sync"), @@ -1343,6 +1398,11 @@ def _speakeasy_parse_response(http_res): "lang": "javascript", "source": "import {GoogleGenAI} from '@google/genai';\n\nconst ai = new GoogleGenAI({});\n\n// Start a background interaction so it stays in-progress.\nconst created = await ai.interactions.create({\n model: 'gemini-3.6-flash',\n input: 'Write a long essay about the history of computing.',\n tools: [{ type: 'computer_use' }],\n background: true,\n});\n\n// Cancel the in-progress interaction.\nconst interaction = await ai.interactions.cancel(created.id);\nconsole.log(interaction.status);\n", }, + { + "label": "cancel", + "lang": "java", + "source": 'import com.google.genai.Client;\nimport com.google.genai.gaos.models.interactions.ComputerUse;\nimport com.google.genai.gaos.models.interactions.CreateModelInteraction;\nimport com.google.genai.gaos.models.interactions.Interaction;\nimport com.google.genai.gaos.models.interactions.InteractionStatus;\nimport com.google.genai.gaos.models.interactions.InteractionsInput;\nimport com.google.genai.gaos.models.operations.CancelInteractionByIdResponse;\nimport com.google.genai.gaos.models.operations.CreateInteractionRequestBody;\nimport com.google.genai.gaos.models.operations.CreateInteractionResponse;\nimport java.util.List;\n\nClient client = new Client();\n\n// Start a background interaction so it stays in-progress.\nCreateModelInteraction params =\n CreateModelInteraction.builder()\n .model("gemini-3.6-flash")\n .input(InteractionsInput.of("Write a long essay about the history of computing."))\n .tools(List.of(new ComputerUse()))\n .background(true)\n .build();\nCreateInteractionResponse created =\n client.interactions.create(CreateInteractionRequestBody.of(params));\nString interactionId = created.interaction().flatMap(Interaction::id).orElseThrow();\n\n// Cancel the in-progress interaction.\nCancelInteractionByIdResponse cancelResponse = client.interactions.cancel(interactionId);\nInteraction interaction =\n cancelResponse.interaction().orElseThrow(() -> new RuntimeException("No interaction returned"));\nSystem.out.println(interaction.status().map(InteractionStatus::value).orElse(""));\n', + }, ] }, response=ResponseContext(mode=_speakeasy_response_mode, execution="sync"), @@ -1940,6 +2000,11 @@ async def _speakeasy_parse_response(http_res): "lang": "javascript", "source": "import {GoogleGenAI} from '@google/genai';\n\nconst ai = new GoogleGenAI({});\nconst interaction = await ai.interactions.create({\n model: 'gemini-3.6-flash',\n input: 'Hello, how are you?',\n});\nconsole.log(interaction.output_text);\n", }, + { + "label": "simple", + "lang": "java", + "source": 'import com.google.genai.Client;\nimport com.google.genai.gaos.models.interactions.CreateModelInteraction;\nimport com.google.genai.gaos.models.interactions.Interaction;\nimport com.google.genai.gaos.models.interactions.InteractionsInput;\nimport com.google.genai.gaos.models.operations.CreateInteractionRequestBody;\nimport com.google.genai.gaos.models.operations.CreateInteractionResponse;\n\nClient client = new Client();\nCreateModelInteraction params =\n CreateModelInteraction.builder()\n .model("gemini-3.6-flash")\n .input(InteractionsInput.of("Hello, how are you?"))\n .build();\nCreateInteractionResponse response =\n client.interactions.create(CreateInteractionRequestBody.of(params));\nInteraction interaction =\n response.interaction().orElseThrow(() -> new RuntimeException("No interaction returned"));\nSystem.out.println(interaction.outputText().orElse(""));\n', + }, { "label": "multi_turn", "lang": "sh", @@ -1955,6 +2020,11 @@ async def _speakeasy_parse_response(http_res): "lang": "javascript", "source": "import {GoogleGenAI} from '@google/genai';\n\nconst ai = new GoogleGenAI({});\nconst interaction = await ai.interactions.create({\n model: 'gemini-3.6-flash',\n input: [\n { type: 'user_input', content: [{ type: 'text', text: 'Hello' }] },\n { type: 'model_output', content: [{ type: 'text', text: 'Hi there! How can I help you today?' }] },\n { type: 'user_input', content: [{ type: 'text', text: 'What is the capital of France?' }] }\n ]\n});\nconsole.log(interaction.output_text);\n", }, + { + "label": "multi_turn", + "lang": "java", + "source": 'import com.google.genai.Client;\nimport com.google.genai.gaos.models.interactions.CreateModelInteraction;\nimport com.google.genai.gaos.models.interactions.Interaction;\nimport com.google.genai.gaos.models.interactions.InteractionsInput;\nimport com.google.genai.gaos.models.interactions.ModelOutputStep;\nimport com.google.genai.gaos.models.interactions.Step;\nimport com.google.genai.gaos.models.interactions.TextContent;\nimport com.google.genai.gaos.models.interactions.UserInputStep;\nimport com.google.genai.gaos.models.operations.CreateInteractionRequestBody;\nimport com.google.genai.gaos.models.operations.CreateInteractionResponse;\nimport java.util.List;\n\nClient client = new Client();\nList conversation = List.of(\n UserInputStep.builder()\n .content(List.of(TextContent.builder().text("Hello!").build()))\n .build(),\n ModelOutputStep.builder()\n .content(List.of(TextContent.builder().text("Hi there! How can I help you today?").build()))\n .build(),\n UserInputStep.builder()\n .content(List.of(TextContent.builder().text("What is the capital of France?").build()))\n .build()\n);\nCreateModelInteraction params =\n CreateModelInteraction.builder()\n .model("gemini-3.6-flash")\n .input(InteractionsInput.ofStep(conversation))\n .build();\nCreateInteractionResponse response =\n client.interactions.create(CreateInteractionRequestBody.of(params));\nInteraction interaction =\n response.interaction().orElseThrow(() -> new RuntimeException("No interaction returned"));\nSystem.out.println(interaction.outputText().orElse(""));\n', + }, { "label": "multimodal_image", "lang": "sh", @@ -1970,6 +2040,11 @@ async def _speakeasy_parse_response(http_res): "lang": "javascript", "source": "import {GoogleGenAI} from '@google/genai';\n\nconst ai = new GoogleGenAI({});\nconst interaction = await ai.interactions.create({\n model: 'gemini-3.6-flash',\n input: [\n { type: 'text', text: 'What is in this picture?' },\n { type: 'image', data: 'BASE64_ENCODED_IMAGE', mime_type: 'image/png' }\n ]\n});\nconsole.log(interaction.output_text);\n", }, + { + "label": "multimodal_image", + "lang": "java", + "source": 'import com.google.genai.Client;\nimport com.google.genai.gaos.models.interactions.Content;\nimport com.google.genai.gaos.models.interactions.CreateModelInteraction;\nimport com.google.genai.gaos.models.interactions.ImageContent;\nimport com.google.genai.gaos.models.interactions.ImageContentMimeType;\nimport com.google.genai.gaos.models.interactions.Interaction;\nimport com.google.genai.gaos.models.interactions.InteractionsInput;\nimport com.google.genai.gaos.models.interactions.TextContent;\nimport com.google.genai.gaos.models.operations.CreateInteractionRequestBody;\nimport com.google.genai.gaos.models.operations.CreateInteractionResponse;\nimport java.util.List;\n\nClient client = new Client();\nList content = List.of(\n TextContent.builder().text("What is in this picture?").build(),\n ImageContent.builder()\n .data("BASE64_ENCODED_IMAGE")\n .mimeType(ImageContentMimeType.IMAGE_PNG)\n .build()\n);\nCreateModelInteraction params =\n CreateModelInteraction.builder()\n .model("gemini-3.6-flash")\n .input(InteractionsInput.ofContent(content))\n .build();\nCreateInteractionResponse response =\n client.interactions.create(CreateInteractionRequestBody.of(params));\nInteraction interaction =\n response.interaction().orElseThrow(() -> new RuntimeException("No interaction returned"));\nSystem.out.println(interaction.outputText().orElse(""));\n', + }, { "label": "function_calling", "lang": "sh", @@ -1985,6 +2060,11 @@ async def _speakeasy_parse_response(http_res): "lang": "javascript", "source": "import {GoogleGenAI} from '@google/genai';\n\nconst ai = new GoogleGenAI({});\nconst interaction = await ai.interactions.create({\n model: 'gemini-3.6-flash',\n tools: [{\n type: 'function',\n name: 'get_weather',\n description: 'Get the current weather in a given location',\n parameters: {\n type: 'object',\n properties: {\n location: {\n type: 'string',\n description: 'The city and state, e.g. San Francisco, CA'\n }\n },\n required: ['location']\n }\n }],\n input: 'What is the weather like in Boston, MA?'\n});\nconsole.log(interaction.steps.at(-1));\n", }, + { + "label": "function_calling", + "lang": "java", + "source": 'import com.google.genai.Client;\nimport com.google.genai.gaos.models.interactions.CreateModelInteraction;\nimport com.google.genai.gaos.models.interactions.Function;\nimport com.google.genai.gaos.models.interactions.Interaction;\nimport com.google.genai.gaos.models.interactions.InteractionsInput;\nimport com.google.genai.gaos.models.interactions.Step;\nimport com.google.genai.gaos.models.operations.CreateInteractionRequestBody;\nimport com.google.genai.gaos.models.operations.CreateInteractionResponse;\nimport java.util.List;\nimport java.util.Map;\n\nClient client = new Client();\nMap parameters = Map.of(\n "type", "object",\n "properties", Map.of(\n "location", Map.of(\n "type", "string",\n "description", "The city and state, e.g. San Francisco, CA"\n )\n ),\n "required", List.of("location")\n);\nFunction functionTool = Function.builder()\n .name("get_weather")\n .description("Get the current weather in a given location")\n .parameters(parameters)\n .build();\nCreateModelInteraction params =\n CreateModelInteraction.builder()\n .model("gemini-3.6-flash")\n .tools(List.of(functionTool))\n .input(InteractionsInput.of("What is the weather like in Boston, MA?"))\n .build();\nCreateInteractionResponse response =\n client.interactions.create(CreateInteractionRequestBody.of(params));\nInteraction interaction =\n response.interaction().orElseThrow(() -> new RuntimeException("No interaction returned"));\nList steps = interaction.steps().orElse(List.of());\nif (!steps.isEmpty()) {\n System.out.println(steps.get(steps.size() - 1));\n}\n', + }, { "label": "deep_research", "lang": "sh", @@ -2000,6 +2080,11 @@ async def _speakeasy_parse_response(http_res): "lang": "javascript", "source": "import {GoogleGenAI} from '@google/genai';\n\nconst ai = new GoogleGenAI({});\nconst interaction = await ai.interactions.create({\n agent: 'deep-research-pro-preview-12-2025',\n input: 'find a cure to cancer',\n background: true,\n});\nconsole.log(interaction.status);\n", }, + { + "label": "deep_research", + "lang": "java", + "source": 'import com.google.genai.Client;\nimport com.google.genai.gaos.models.interactions.AgentOption;\nimport com.google.genai.gaos.models.interactions.CreateAgentInteraction;\nimport com.google.genai.gaos.models.interactions.Interaction;\nimport com.google.genai.gaos.models.interactions.InteractionStatus;\nimport com.google.genai.gaos.models.interactions.InteractionsInput;\nimport com.google.genai.gaos.models.operations.CreateInteractionRequestBody;\nimport com.google.genai.gaos.models.operations.CreateInteractionResponse;\n\nClient client = new Client();\nCreateAgentInteraction params =\n CreateAgentInteraction.builder()\n .agent(AgentOption.of("deep-research-pro-preview-12-2025"))\n .input(InteractionsInput.of("find a cure to cancer"))\n .background(true)\n .build();\nCreateInteractionResponse response =\n client.interactions.create(CreateInteractionRequestBody.of(params));\nInteraction interaction =\n response.interaction().orElseThrow(() -> new RuntimeException("No interaction returned"));\nSystem.out.println(interaction.status().map(InteractionStatus::value).orElse(""));\n', + }, { "label": "antigravity", "lang": "sh", @@ -2015,6 +2100,11 @@ async def _speakeasy_parse_response(http_res): "lang": "javascript", "source": "import {GoogleGenAI} from '@google/genai';\n\nconst ai = new GoogleGenAI({});\nconst interaction = await ai.interactions.create({\n agent: 'antigravity-preview-05-2026',\n input: 'Read Hacker News, summarize the top 5 stories, and save results as a markdown file.',\n environment: 'remote',\n});\nconsole.log(interaction.output_text);\n", }, + { + "label": "antigravity", + "lang": "java", + "source": 'import com.google.genai.Client;\nimport com.google.genai.gaos.models.interactions.AgentOption;\nimport com.google.genai.gaos.models.interactions.CreateAgentInteraction;\nimport com.google.genai.gaos.models.interactions.CreateAgentInteractionEnvironment;\nimport com.google.genai.gaos.models.interactions.Interaction;\nimport com.google.genai.gaos.models.interactions.InteractionsInput;\nimport com.google.genai.gaos.models.operations.CreateInteractionRequestBody;\nimport com.google.genai.gaos.models.operations.CreateInteractionResponse;\n\nClient client = new Client();\nCreateAgentInteraction params =\n CreateAgentInteraction.builder()\n .agent(AgentOption.of("antigravity-preview-05-2026"))\n .input(InteractionsInput.of("Read Hacker News, summarize the top 5 stories, and save results as a markdown file."))\n .environment(CreateAgentInteractionEnvironment.of("remote"))\n .build();\nCreateInteractionResponse response =\n client.interactions.create(CreateInteractionRequestBody.of(params));\nInteraction interaction =\n response.interaction().orElseThrow(() -> new RuntimeException("No interaction returned"));\nSystem.out.println(interaction.outputText().orElse(""));\n', + }, { "label": "reuse_env", "lang": "sh", @@ -2030,6 +2120,11 @@ async def _speakeasy_parse_response(http_res): "lang": "javascript", "source": "import {GoogleGenAI} from '@google/genai';\n\nconst ai = new GoogleGenAI({});\n\n// Step 1: Create an interaction with a fresh remote environment.\nconst interaction = await ai.interactions.create({\n agent: 'antigravity-preview-05-2026',\n input: 'Write a hello world script at /workspace/hello.py.',\n environment: 'remote',\n});\nconsole.log(`Environment ID: ${interaction.environment_id}`);\n\n// Step 2: Reuse the same environment in a follow-up interaction.\nconst interaction2 = await ai.interactions.create({\n agent: 'antigravity-preview-05-2026',\n input: 'Modify the script to accept a name argument and greet the user.',\n environment: interaction.environment_id,\n previous_interaction_id: interaction.id,\n});\nconsole.log(interaction2.output_text);\n", }, + { + "label": "reuse_env", + "lang": "java", + "source": 'import com.google.genai.Client;\nimport com.google.genai.gaos.models.interactions.AgentOption;\nimport com.google.genai.gaos.models.interactions.CreateAgentInteraction;\nimport com.google.genai.gaos.models.interactions.CreateAgentInteractionEnvironment;\nimport com.google.genai.gaos.models.interactions.Interaction;\nimport com.google.genai.gaos.models.interactions.InteractionsInput;\nimport com.google.genai.gaos.models.operations.CreateInteractionRequestBody;\nimport com.google.genai.gaos.models.operations.CreateInteractionResponse;\n\nClient client = new Client();\n\n// Step 1: Create an interaction with a fresh remote environment.\nCreateAgentInteraction params1 =\n CreateAgentInteraction.builder()\n .agent(AgentOption.of("antigravity-preview-05-2026"))\n .input(InteractionsInput.of("Write a hello world script at /workspace/hello.py."))\n .environment(CreateAgentInteractionEnvironment.of("remote"))\n .build();\nCreateInteractionResponse response1 =\n client.interactions.create(CreateInteractionRequestBody.of(params1));\nInteraction interaction1 =\n response1.interaction().orElseThrow(() -> new RuntimeException("No interaction returned"));\nSystem.out.println("Environment ID: " + interaction1.environmentId().orElse(""));\n\n// Step 2: Reuse the same environment in a follow-up interaction.\nCreateAgentInteraction params2 =\n CreateAgentInteraction.builder()\n .agent(AgentOption.of("antigravity-preview-05-2026"))\n .input(InteractionsInput.of("Modify the script to accept a name argument and greet the user."))\n .environment(CreateAgentInteractionEnvironment.of(interaction1.environmentId().orElse("")))\n .previousInteractionId(interaction1.id().orElse(null))\n .build();\nCreateInteractionResponse response2 =\n client.interactions.create(CreateInteractionRequestBody.of(params2));\nInteraction interaction2 =\n response2.interaction().orElseThrow(() -> new RuntimeException("No interaction returned"));\nSystem.out.println(interaction2.outputText().orElse(""));\n', + }, { "label": "with_sources", "lang": "sh", @@ -2045,6 +2140,11 @@ async def _speakeasy_parse_response(http_res): "lang": "javascript", "source": "import {GoogleGenAI} from '@google/genai';\n\nconst ai = new GoogleGenAI({});\nconst interaction = await ai.interactions.create({\n agent: 'antigravity-preview-05-2026',\n input: 'List all files under /workspace and summarize what you find.',\n environment: {\n type: 'remote',\n sources: [\n {\n type: 'repository',\n source: 'https://github.com/octocat/Spoon-Knife',\n target: '/workspace/repo',\n },\n {\n type: 'inline',\n content: 'Focus on Python files only.',\n target: '/workspace/notes.txt',\n },\n ],\n },\n});\nconsole.log(interaction.output_text);\n", }, + { + "label": "with_sources", + "lang": "java", + "source": 'import com.google.genai.Client;\nimport com.google.genai.gaos.models.interactions.AgentOption;\nimport com.google.genai.gaos.models.interactions.CreateAgentInteraction;\nimport com.google.genai.gaos.models.interactions.CreateAgentInteractionEnvironment;\nimport com.google.genai.gaos.models.interactions.Environment;\nimport com.google.genai.gaos.models.interactions.Interaction;\nimport com.google.genai.gaos.models.interactions.InteractionsInput;\nimport com.google.genai.gaos.models.interactions.Source;\nimport com.google.genai.gaos.models.interactions.SourceType;\nimport com.google.genai.gaos.models.operations.CreateInteractionRequestBody;\nimport com.google.genai.gaos.models.operations.CreateInteractionResponse;\nimport java.util.List;\n\nClient client = new Client();\nEnvironment env = Environment.builder()\n .sources(List.of(\n Source.builder()\n .type(SourceType.REPOSITORY)\n .source("https://github.com/octocat/Spoon-Knife")\n .target("/workspace/repo")\n .build(),\n Source.builder()\n .type(SourceType.INLINE)\n .content("Focus on Python files only.")\n .target("/workspace/notes.txt")\n .build()\n ))\n .build();\nCreateAgentInteraction params =\n CreateAgentInteraction.builder()\n .agent(AgentOption.of("antigravity-preview-05-2026"))\n .input(InteractionsInput.of("List all files under /workspace and summarize what you find."))\n .environment(CreateAgentInteractionEnvironment.of(env))\n .build();\nCreateInteractionResponse response =\n client.interactions.create(CreateInteractionRequestBody.of(params));\nInteraction interaction =\n response.interaction().orElseThrow(() -> new RuntimeException("No interaction returned"));\nSystem.out.println(interaction.outputText().orElse(""));\n', + }, { "label": "custom_agent", "lang": "sh", @@ -2060,6 +2160,11 @@ async def _speakeasy_parse_response(http_res): "lang": "javascript", "source": "import {GoogleGenAI} from '@google/genai';\n\nconst ai = new GoogleGenAI({});\n\n// Step 1: Create a custom agent.\nconst agentId = `code-reviewer-${crypto.randomUUID().slice(0, 8)}`;\nawait ai.agents.create({\n id: agentId,\n base_agent: 'antigravity-preview-05-2026',\n system_instruction: 'You are a senior code reviewer. Check every file for bugs, style issues, and security vulnerabilities.',\n base_environment: {\n type: 'remote',\n sources: [{\n type: 'repository',\n source: 'https://github.com/octocat/Spoon-Knife',\n target: '/workspace/repo',\n }],\n },\n});\n\n// Step 2: Use the custom agent.\nconst result = await ai.interactions.create({\n agent: agentId,\n input: 'Review the latest changes in /workspace/repo/src and file a summary.',\n environment: 'remote',\n});\nconsole.log(result.output_text);\n\n// [cleanup]\nawait ai.agents.delete(agentId);\n// [/cleanup]\n", }, + { + "label": "custom_agent", + "lang": "java", + "source": 'import com.google.genai.Client;\nimport com.google.genai.gaos.models.agents.Agent;\nimport com.google.genai.gaos.models.agents.BaseEnvironment;\nimport com.google.genai.gaos.models.interactions.AgentOption;\nimport com.google.genai.gaos.models.interactions.CreateAgentInteraction;\nimport com.google.genai.gaos.models.interactions.CreateAgentInteractionEnvironment;\nimport com.google.genai.gaos.models.interactions.Environment;\nimport com.google.genai.gaos.models.interactions.Interaction;\nimport com.google.genai.gaos.models.interactions.InteractionsInput;\nimport com.google.genai.gaos.models.interactions.Source;\nimport com.google.genai.gaos.models.interactions.SourceType;\nimport com.google.genai.gaos.models.operations.CreateInteractionRequestBody;\nimport com.google.genai.gaos.models.operations.CreateInteractionResponse;\nimport java.util.List;\nimport java.util.UUID;\n\nClient client = new Client();\n\n// Step 1: Create a custom agent.\nString agentId = "code-reviewer-" + UUID.randomUUID().toString().substring(0, 8);\nEnvironment baseEnv = Environment.builder()\n .sources(List.of(\n Source.builder()\n .type(SourceType.REPOSITORY)\n .source("https://github.com/octocat/Spoon-Knife")\n .target("/workspace/repo")\n .build()\n ))\n .build();\nAgent customAgent = Agent.builder()\n .id(agentId)\n .baseAgent("antigravity-preview-05-2026")\n .systemInstruction("You are a senior code reviewer. Check every file for bugs, style issues, and security vulnerabilities.")\n .baseEnvironment(BaseEnvironment.of(baseEnv))\n .build();\nclient.agents.create(customAgent);\n\n// Step 2: Use the custom agent.\nCreateAgentInteraction params =\n CreateAgentInteraction.builder()\n .agent(AgentOption.of(agentId))\n .input(InteractionsInput.of("Review the latest changes in /workspace/repo/src and file a summary."))\n .environment(CreateAgentInteractionEnvironment.of("remote"))\n .build();\nCreateInteractionResponse response =\n client.interactions.create(CreateInteractionRequestBody.of(params));\nInteraction interaction =\n response.interaction().orElseThrow(() -> new RuntimeException("No interaction returned"));\nSystem.out.println(interaction.outputText().orElse(""));\n\n// [cleanup]\nclient.agents.delete(agentId);\n// [/cleanup]\n', + }, ] }, response=ResponseContext(mode=_speakeasy_response_mode, execution="async"), @@ -2372,6 +2477,11 @@ async def _speakeasy_parse_response(http_res): "lang": "javascript", "source": "import {GoogleGenAI} from '@google/genai';\n\nconst ai = new GoogleGenAI({});\n\n// [setup]\nconst created = await ai.interactions.create({\n model: 'gemini-3.6-flash',\n input: 'Say hello.'\n});\n// [/setup]\n\nconst interaction = await ai.interactions.get(created.id);\nconsole.log(interaction.status);\n", }, + { + "label": "get", + "lang": "java", + "source": 'import com.google.genai.Client;\nimport com.google.genai.gaos.models.interactions.CreateModelInteraction;\nimport com.google.genai.gaos.models.interactions.Interaction;\nimport com.google.genai.gaos.models.interactions.InteractionStatus;\nimport com.google.genai.gaos.models.interactions.InteractionsInput;\nimport com.google.genai.gaos.models.operations.CreateInteractionRequestBody;\nimport com.google.genai.gaos.models.operations.CreateInteractionResponse;\nimport com.google.genai.gaos.models.operations.GetInteractionByIdRequest;\nimport com.google.genai.gaos.models.operations.GetInteractionByIdResponse;\n\nClient client = new Client();\n\n// [setup]\nCreateModelInteraction params =\n CreateModelInteraction.builder()\n .model("gemini-3.6-flash")\n .input(InteractionsInput.of("Say hello."))\n .build();\nCreateInteractionResponse created =\n client.interactions.create(CreateInteractionRequestBody.of(params));\nString interactionId = created.interaction().flatMap(Interaction::id).orElseThrow();\n// [/setup]\n\nGetInteractionByIdResponse getResponse =\n client.interactions.get(new GetInteractionByIdRequest(interactionId));\nInteraction interaction =\n getResponse.interaction().orElseThrow(() -> new RuntimeException("No interaction returned"));\nSystem.out.println(interaction.status().map(InteractionStatus::value).orElse(""));\n', + }, ] }, response=ResponseContext(mode=_speakeasy_response_mode, execution="async"), @@ -2558,6 +2668,11 @@ async def _speakeasy_parse_response(http_res): "lang": "javascript", "source": "import {GoogleGenAI} from '@google/genai';\n\nconst ai = new GoogleGenAI({});\n\n// [setup]\nconst created = await ai.interactions.create({\n model: 'gemini-3.6-flash',\n input: 'Hello',\n});\n// [/setup]\n\nawait ai.interactions.delete(created.id);\nconsole.log('Interaction deleted successfully.');\n", }, + { + "label": "delete", + "lang": "java", + "source": 'import com.google.genai.Client;\nimport com.google.genai.gaos.models.interactions.CreateModelInteraction;\nimport com.google.genai.gaos.models.interactions.Interaction;\nimport com.google.genai.gaos.models.interactions.InteractionsInput;\nimport com.google.genai.gaos.models.operations.CreateInteractionRequestBody;\nimport com.google.genai.gaos.models.operations.CreateInteractionResponse;\n\nClient client = new Client();\n\n// [setup]\nCreateModelInteraction params =\n CreateModelInteraction.builder()\n .model("gemini-3.6-flash")\n .input(InteractionsInput.of("Hello"))\n .build();\nCreateInteractionResponse created =\n client.interactions.create(CreateInteractionRequestBody.of(params));\nString interactionId = created.interaction().flatMap(Interaction::id).orElseThrow();\n// [/setup]\n\nclient.interactions.delete(interactionId);\nSystem.out.println("Interaction deleted successfully.");\n', + }, ] }, response=ResponseContext(mode=_speakeasy_response_mode, execution="async"), @@ -2750,6 +2865,11 @@ async def _speakeasy_parse_response(http_res): "lang": "javascript", "source": "import {GoogleGenAI} from '@google/genai';\n\nconst ai = new GoogleGenAI({});\n\n// Start a background interaction so it stays in-progress.\nconst created = await ai.interactions.create({\n model: 'gemini-3.6-flash',\n input: 'Write a long essay about the history of computing.',\n tools: [{ type: 'computer_use' }],\n background: true,\n});\n\n// Cancel the in-progress interaction.\nconst interaction = await ai.interactions.cancel(created.id);\nconsole.log(interaction.status);\n", }, + { + "label": "cancel", + "lang": "java", + "source": 'import com.google.genai.Client;\nimport com.google.genai.gaos.models.interactions.ComputerUse;\nimport com.google.genai.gaos.models.interactions.CreateModelInteraction;\nimport com.google.genai.gaos.models.interactions.Interaction;\nimport com.google.genai.gaos.models.interactions.InteractionStatus;\nimport com.google.genai.gaos.models.interactions.InteractionsInput;\nimport com.google.genai.gaos.models.operations.CancelInteractionByIdResponse;\nimport com.google.genai.gaos.models.operations.CreateInteractionRequestBody;\nimport com.google.genai.gaos.models.operations.CreateInteractionResponse;\nimport java.util.List;\n\nClient client = new Client();\n\n// Start a background interaction so it stays in-progress.\nCreateModelInteraction params =\n CreateModelInteraction.builder()\n .model("gemini-3.6-flash")\n .input(InteractionsInput.of("Write a long essay about the history of computing."))\n .tools(List.of(new ComputerUse()))\n .background(true)\n .build();\nCreateInteractionResponse created =\n client.interactions.create(CreateInteractionRequestBody.of(params));\nString interactionId = created.interaction().flatMap(Interaction::id).orElseThrow();\n\n// Cancel the in-progress interaction.\nCancelInteractionByIdResponse cancelResponse = client.interactions.cancel(interactionId);\nInteraction interaction =\n cancelResponse.interaction().orElseThrow(() -> new RuntimeException("No interaction returned"));\nSystem.out.println(interaction.status().map(InteractionStatus::value).orElse(""));\n', + }, ] }, response=ResponseContext(mode=_speakeasy_response_mode, execution="async"),