diff --git a/google/genai/_gaos/environments.py b/google/genai/_gaos/environments.py index c9390f3d5..0411b2530 100644 --- a/google/genai/_gaos/environments.py +++ b/google/genai/_gaos/environments.py @@ -158,7 +158,30 @@ def _speakeasy_parse_response(http_res): self.sdk_configuration.security, types.Security ), tags=None, - extensions=None, + extensions={ + "x-codeSamples": [ + { + "label": "list", + "lang": "sh", + "source": 'curl -X GET https://generativelanguage.googleapis.com/v1beta/environments \\\n -H "x-goog-api-key: $GEMINI_API_KEY"\n', + }, + { + "label": "list", + "lang": "python", + "source": "from google import genai\n\nclient = genai.Client()\nresponse = client.environments.list()\nfor environment in response.environments or []:\n print(environment.id)\n", + }, + { + "label": "list", + "lang": "javascript", + "source": "import {GoogleGenAI} from '@google/genai';\n\nconst ai = new GoogleGenAI({});\nconst response = await ai.environments.list();\nfor (const env of (response.environments ?? [])) {\n console.log(env.id);\n}\n", + }, + { + "label": "list", + "lang": "java", + "source": 'import com.google.genai.Client;\nimport com.google.genai.gaos.models.environments.Environment;\nimport com.google.genai.gaos.models.operations.ListEnvironmentsResponse;\nimport java.util.List;\n\nClient client = new Client();\nListEnvironmentsResponse response = client.environments.listEnvironmentsDirect();\nfor (Environment env : response.listEnvironmentsResponse().flatMap(res -> res.environments()).orElse(List.of())) {\n System.out.println(env.id().orElse(""));\n}\n', + }, + ] + }, response=ResponseContext(mode=_speakeasy_response_mode, execution="sync"), ) http_res = self.do_request( @@ -337,7 +360,30 @@ def _speakeasy_parse_response(http_res): self.sdk_configuration.security, types.Security ), tags=None, - extensions=None, + extensions={ + "x-codeSamples": [ + { + "label": "create", + "lang": "sh", + "source": 'curl -X POST https://generativelanguage.googleapis.com/v1beta/environments \\\n -H "x-goog-api-key: $GEMINI_API_KEY" \\\n -H "Content-Type: application/json" \\\n -d \'{\n "sources": [{\n "type": "inline",\n "target": "main.py",\n "content": "print(\\"Hello, World!\\")"\n }]\n }\'\n', + }, + { + "label": "create", + "lang": "python", + "source": 'from google import genai\n\nclient = genai.Client()\nenvironment = client.environments.create(\n sources=[{\n "type": "inline",\n "target": "main.py",\n "content": "print(\'Hello, World!\')",\n }]\n)\nprint(environment.id)\n\n# [cleanup]\nclient.environments.delete(id=environment.id)\n# [/cleanup]\n', + }, + { + "label": "create", + "lang": "javascript", + "source": "import {GoogleGenAI} from '@google/genai';\n\nconst ai = new GoogleGenAI({});\nconst environment = await ai.environments.create({\n sources: [{\n type: 'inline',\n target: 'main.py',\n content: \"print('Hello, World!')\",\n }],\n});\nif (!environment.id) {\n throw new Error('Environment creation failed: ID is undefined');\n}\nconsole.log(environment.id);\n\n// [cleanup]\nawait ai.environments.delete(environment.id);\n// [/cleanup]\n", + }, + { + "label": "create", + "lang": "java", + "source": 'import com.google.genai.Client;\nimport com.google.genai.gaos.models.environments.CreateEnvironmentRequest;\nimport com.google.genai.gaos.models.environments.Environment;\nimport com.google.genai.gaos.models.interactions.Source;\nimport com.google.genai.gaos.models.interactions.SourceType;\nimport java.util.List;\n\nClient client = new Client();\nCreateEnvironmentRequest request = CreateEnvironmentRequest.builder()\n .sources(List.of(Source.builder()\n .type(SourceType.INLINE)\n .target("main.py")\n .content("print(\'Hello, World!\')")\n .build()))\n .build();\nEnvironment environment = client.environments.createEnvironment(request).environment().orElseThrow();\nSystem.out.println(environment.id().orElse(""));\n\n// [cleanup]\nenvironment.id().ifPresent(id -> client.environments.deleteEnvironment(id));\n// [/cleanup]\n', + }, + ] + }, response=ResponseContext(mode=_speakeasy_response_mode, execution="sync"), ) http_res = self.do_request( @@ -487,7 +533,30 @@ def _speakeasy_parse_response(http_res): self.sdk_configuration.security, types.Security ), tags=None, - extensions=None, + extensions={ + "x-codeSamples": [ + { + "label": "delete", + "lang": "sh", + "source": 'curl -X DELETE https://generativelanguage.googleapis.com/v1beta/environments/env_abc123 \\\n -H "x-goog-api-key: $GEMINI_API_KEY"\n', + }, + { + "label": "delete", + "lang": "python", + "source": 'from google import genai\n\nclient = genai.Client()\n\n# [setup]\ncreated = client.environments.create(\n sources=[{"type": "inline", "target": "main.py", "content": "print(\'Hello\')"}]\n)\n# [/setup]\n\nclient.environments.delete(id=created.id)\nprint("Environment deleted successfully.")\n', + }, + { + "label": "delete", + "lang": "javascript", + "source": "import {GoogleGenAI} from '@google/genai';\n\nconst ai = new GoogleGenAI({});\n\n// [setup]\nconst created = await ai.environments.create({\n sources: [{type: 'inline', target: 'main.py', content: \"print('Hello')\"}],\n});\nif (!created.id) throw new Error('Failed to create environment');\n// [/setup]\n\nawait ai.environments.delete(created.id);\nconsole.log('Environment deleted successfully.');\n", + }, + { + "label": "delete", + "lang": "java", + "source": 'import com.google.genai.Client;\nimport com.google.genai.gaos.models.environments.CreateEnvironmentRequest;\nimport com.google.genai.gaos.models.environments.Environment;\nimport com.google.genai.gaos.models.interactions.Source;\nimport com.google.genai.gaos.models.interactions.SourceType;\nimport java.util.List;\n\nClient client = new Client();\n\n// [setup]\nCreateEnvironmentRequest request = CreateEnvironmentRequest.builder()\n .sources(List.of(Source.builder()\n .type(SourceType.INLINE)\n .target("main.py")\n .content("print(\'Hello\')")\n .build()))\n .build();\nEnvironment created = client.environments.createEnvironment(request).environment().orElseThrow();\nString envId = created.id().orElseThrow();\n// [/setup]\n\nclient.environments.deleteEnvironment(envId);\nSystem.out.println("Environment deleted successfully.");\n', + }, + ] + }, response=ResponseContext(mode=_speakeasy_response_mode, execution="sync"), ) http_res = self.do_request( @@ -637,7 +706,30 @@ def _speakeasy_parse_response(http_res): self.sdk_configuration.security, types.Security ), tags=None, - extensions=None, + extensions={ + "x-codeSamples": [ + { + "label": "get", + "lang": "sh", + "source": 'curl -X GET https://generativelanguage.googleapis.com/v1beta/environments/env_abc123 \\\n -H "x-goog-api-key: $GEMINI_API_KEY"\n', + }, + { + "label": "get", + "lang": "python", + "source": 'from google import genai\n\nclient = genai.Client()\n\n# [setup]\ncreated = client.environments.create(\n sources=[{"type": "inline", "target": "main.py", "content": "print(\'Hello\')"}]\n)\n# [/setup]\n\nenvironment = client.environments.get(id=created.id)\nprint(environment.id)\n\n# [cleanup]\nclient.environments.delete(id=created.id)\n# [/cleanup]\n', + }, + { + "label": "get", + "lang": "javascript", + "source": "import {GoogleGenAI} from '@google/genai';\n\nconst ai = new GoogleGenAI({});\n\n// [setup]\nconst created = await ai.environments.create({\n sources: [{type: 'inline', target: 'main.py', content: \"print('Hello')\"}],\n});\nif (!created.id) throw new Error('Failed to create environment');\n// [/setup]\n\nconst environment = await ai.environments.get(created.id);\nconsole.log(environment.id);\n\n// [cleanup]\nawait ai.environments.delete(created.id);\n// [/cleanup]\n", + }, + { + "label": "get", + "lang": "java", + "source": 'import com.google.genai.Client;\nimport com.google.genai.gaos.models.environments.CreateEnvironmentRequest;\nimport com.google.genai.gaos.models.environments.Environment;\nimport com.google.genai.gaos.models.interactions.Source;\nimport com.google.genai.gaos.models.interactions.SourceType;\nimport java.util.List;\n\nClient client = new Client();\n\n// [setup]\nCreateEnvironmentRequest request = CreateEnvironmentRequest.builder()\n .sources(List.of(Source.builder()\n .type(SourceType.INLINE)\n .target("main.py")\n .content("print(\'Hello\')")\n .build()))\n .build();\nEnvironment created = client.environments.createEnvironment(request).environment().orElseThrow();\nString envId = created.id().orElseThrow();\n// [/setup]\n\nEnvironment environment = client.environments.getEnvironment(envId).environment().orElseThrow();\nSystem.out.println(environment.id().orElse(""));\n\n// [cleanup]\nclient.environments.deleteEnvironment(envId);\n// [/cleanup]\n', + }, + ] + }, response=ResponseContext(mode=_speakeasy_response_mode, execution="sync"), ) http_res = self.do_request( @@ -854,7 +946,30 @@ async def _speakeasy_parse_response(http_res): self.sdk_configuration.security, types.Security ), tags=None, - extensions=None, + extensions={ + "x-codeSamples": [ + { + "label": "list", + "lang": "sh", + "source": 'curl -X GET https://generativelanguage.googleapis.com/v1beta/environments \\\n -H "x-goog-api-key: $GEMINI_API_KEY"\n', + }, + { + "label": "list", + "lang": "python", + "source": "from google import genai\n\nclient = genai.Client()\nresponse = client.environments.list()\nfor environment in response.environments or []:\n print(environment.id)\n", + }, + { + "label": "list", + "lang": "javascript", + "source": "import {GoogleGenAI} from '@google/genai';\n\nconst ai = new GoogleGenAI({});\nconst response = await ai.environments.list();\nfor (const env of (response.environments ?? [])) {\n console.log(env.id);\n}\n", + }, + { + "label": "list", + "lang": "java", + "source": 'import com.google.genai.Client;\nimport com.google.genai.gaos.models.environments.Environment;\nimport com.google.genai.gaos.models.operations.ListEnvironmentsResponse;\nimport java.util.List;\n\nClient client = new Client();\nListEnvironmentsResponse response = client.environments.listEnvironmentsDirect();\nfor (Environment env : response.listEnvironmentsResponse().flatMap(res -> res.environments()).orElse(List.of())) {\n System.out.println(env.id().orElse(""));\n}\n', + }, + ] + }, response=ResponseContext(mode=_speakeasy_response_mode, execution="async"), ) http_res = await self.do_request_async( @@ -1036,7 +1151,30 @@ async def _speakeasy_parse_response(http_res): self.sdk_configuration.security, types.Security ), tags=None, - extensions=None, + extensions={ + "x-codeSamples": [ + { + "label": "create", + "lang": "sh", + "source": 'curl -X POST https://generativelanguage.googleapis.com/v1beta/environments \\\n -H "x-goog-api-key: $GEMINI_API_KEY" \\\n -H "Content-Type: application/json" \\\n -d \'{\n "sources": [{\n "type": "inline",\n "target": "main.py",\n "content": "print(\\"Hello, World!\\")"\n }]\n }\'\n', + }, + { + "label": "create", + "lang": "python", + "source": 'from google import genai\n\nclient = genai.Client()\nenvironment = client.environments.create(\n sources=[{\n "type": "inline",\n "target": "main.py",\n "content": "print(\'Hello, World!\')",\n }]\n)\nprint(environment.id)\n\n# [cleanup]\nclient.environments.delete(id=environment.id)\n# [/cleanup]\n', + }, + { + "label": "create", + "lang": "javascript", + "source": "import {GoogleGenAI} from '@google/genai';\n\nconst ai = new GoogleGenAI({});\nconst environment = await ai.environments.create({\n sources: [{\n type: 'inline',\n target: 'main.py',\n content: \"print('Hello, World!')\",\n }],\n});\nif (!environment.id) {\n throw new Error('Environment creation failed: ID is undefined');\n}\nconsole.log(environment.id);\n\n// [cleanup]\nawait ai.environments.delete(environment.id);\n// [/cleanup]\n", + }, + { + "label": "create", + "lang": "java", + "source": 'import com.google.genai.Client;\nimport com.google.genai.gaos.models.environments.CreateEnvironmentRequest;\nimport com.google.genai.gaos.models.environments.Environment;\nimport com.google.genai.gaos.models.interactions.Source;\nimport com.google.genai.gaos.models.interactions.SourceType;\nimport java.util.List;\n\nClient client = new Client();\nCreateEnvironmentRequest request = CreateEnvironmentRequest.builder()\n .sources(List.of(Source.builder()\n .type(SourceType.INLINE)\n .target("main.py")\n .content("print(\'Hello, World!\')")\n .build()))\n .build();\nEnvironment environment = client.environments.createEnvironment(request).environment().orElseThrow();\nSystem.out.println(environment.id().orElse(""));\n\n// [cleanup]\nenvironment.id().ifPresent(id -> client.environments.deleteEnvironment(id));\n// [/cleanup]\n', + }, + ] + }, response=ResponseContext(mode=_speakeasy_response_mode, execution="async"), ) http_res = await self.do_request_async( @@ -1189,7 +1327,30 @@ async def _speakeasy_parse_response(http_res): self.sdk_configuration.security, types.Security ), tags=None, - extensions=None, + extensions={ + "x-codeSamples": [ + { + "label": "delete", + "lang": "sh", + "source": 'curl -X DELETE https://generativelanguage.googleapis.com/v1beta/environments/env_abc123 \\\n -H "x-goog-api-key: $GEMINI_API_KEY"\n', + }, + { + "label": "delete", + "lang": "python", + "source": 'from google import genai\n\nclient = genai.Client()\n\n# [setup]\ncreated = client.environments.create(\n sources=[{"type": "inline", "target": "main.py", "content": "print(\'Hello\')"}]\n)\n# [/setup]\n\nclient.environments.delete(id=created.id)\nprint("Environment deleted successfully.")\n', + }, + { + "label": "delete", + "lang": "javascript", + "source": "import {GoogleGenAI} from '@google/genai';\n\nconst ai = new GoogleGenAI({});\n\n// [setup]\nconst created = await ai.environments.create({\n sources: [{type: 'inline', target: 'main.py', content: \"print('Hello')\"}],\n});\nif (!created.id) throw new Error('Failed to create environment');\n// [/setup]\n\nawait ai.environments.delete(created.id);\nconsole.log('Environment deleted successfully.');\n", + }, + { + "label": "delete", + "lang": "java", + "source": 'import com.google.genai.Client;\nimport com.google.genai.gaos.models.environments.CreateEnvironmentRequest;\nimport com.google.genai.gaos.models.environments.Environment;\nimport com.google.genai.gaos.models.interactions.Source;\nimport com.google.genai.gaos.models.interactions.SourceType;\nimport java.util.List;\n\nClient client = new Client();\n\n// [setup]\nCreateEnvironmentRequest request = CreateEnvironmentRequest.builder()\n .sources(List.of(Source.builder()\n .type(SourceType.INLINE)\n .target("main.py")\n .content("print(\'Hello\')")\n .build()))\n .build();\nEnvironment created = client.environments.createEnvironment(request).environment().orElseThrow();\nString envId = created.id().orElseThrow();\n// [/setup]\n\nclient.environments.deleteEnvironment(envId);\nSystem.out.println("Environment deleted successfully.");\n', + }, + ] + }, response=ResponseContext(mode=_speakeasy_response_mode, execution="async"), ) http_res = await self.do_request_async( @@ -1342,7 +1503,30 @@ async def _speakeasy_parse_response(http_res): self.sdk_configuration.security, types.Security ), tags=None, - extensions=None, + extensions={ + "x-codeSamples": [ + { + "label": "get", + "lang": "sh", + "source": 'curl -X GET https://generativelanguage.googleapis.com/v1beta/environments/env_abc123 \\\n -H "x-goog-api-key: $GEMINI_API_KEY"\n', + }, + { + "label": "get", + "lang": "python", + "source": 'from google import genai\n\nclient = genai.Client()\n\n# [setup]\ncreated = client.environments.create(\n sources=[{"type": "inline", "target": "main.py", "content": "print(\'Hello\')"}]\n)\n# [/setup]\n\nenvironment = client.environments.get(id=created.id)\nprint(environment.id)\n\n# [cleanup]\nclient.environments.delete(id=created.id)\n# [/cleanup]\n', + }, + { + "label": "get", + "lang": "javascript", + "source": "import {GoogleGenAI} from '@google/genai';\n\nconst ai = new GoogleGenAI({});\n\n// [setup]\nconst created = await ai.environments.create({\n sources: [{type: 'inline', target: 'main.py', content: \"print('Hello')\"}],\n});\nif (!created.id) throw new Error('Failed to create environment');\n// [/setup]\n\nconst environment = await ai.environments.get(created.id);\nconsole.log(environment.id);\n\n// [cleanup]\nawait ai.environments.delete(created.id);\n// [/cleanup]\n", + }, + { + "label": "get", + "lang": "java", + "source": 'import com.google.genai.Client;\nimport com.google.genai.gaos.models.environments.CreateEnvironmentRequest;\nimport com.google.genai.gaos.models.environments.Environment;\nimport com.google.genai.gaos.models.interactions.Source;\nimport com.google.genai.gaos.models.interactions.SourceType;\nimport java.util.List;\n\nClient client = new Client();\n\n// [setup]\nCreateEnvironmentRequest request = CreateEnvironmentRequest.builder()\n .sources(List.of(Source.builder()\n .type(SourceType.INLINE)\n .target("main.py")\n .content("print(\'Hello\')")\n .build()))\n .build();\nEnvironment created = client.environments.createEnvironment(request).environment().orElseThrow();\nString envId = created.id().orElseThrow();\n// [/setup]\n\nEnvironment environment = client.environments.getEnvironment(envId).environment().orElseThrow();\nSystem.out.println(environment.id().orElse(""));\n\n// [cleanup]\nclient.environments.deleteEnvironment(envId);\n// [/cleanup]\n', + }, + ] + }, response=ResponseContext(mode=_speakeasy_response_mode, execution="async"), ) http_res = await self.do_request_async( diff --git a/google/genai/_gaos/files.py b/google/genai/_gaos/files.py index 51b506456..d813db692 100644 --- a/google/genai/_gaos/files.py +++ b/google/genai/_gaos/files.py @@ -48,7 +48,7 @@ def list( extra_query: Optional[Mapping[str, Any]] = None, timeout: Optional[Union[float, httpx.Timeout]] = None, ) -> environments.GetEnvironmentFilesResponse: - r"""Retrieves a file or directory from an environment's snapshot. + r"""Retrieves file metadata or directory contents from an environment's snapshot. To download file contents directly, pass ?alt=media or use the files.download helper. :param environment: :param path: @@ -149,7 +149,60 @@ def _speakeasy_parse_response(http_res): self.sdk_configuration.security, types.Security ), tags=None, - extensions=None, + extensions={ + "x-codeSamples": [ + { + "label": "list_files", + "lang": "sh", + "source": "curl -X GET 'https://generativelanguage.googleapis.com/v1beta/environments/env_abc123/files/src' \\\n -H \"x-goog-api-key: $GEMINI_API_KEY\"\n", + }, + { + "label": "list_files", + "lang": "python", + "source": 'from google import genai\n\nclient = genai.Client()\n\n# [setup]\ncreated = client.environments.create(\n sources=[{"type": "inline", "target": "src/main.py", "content": "print(\'Hello\')"}]\n)\n# [/setup]\n\nresponse = client.environments.files.list(\n environment=created.id,\n path="src",\n)\nfor file in response.files or []:\n print(file.name, file.type, file.size_bytes)\n\n# [cleanup]\nclient.environments.delete(id=created.id)\n# [/cleanup]\n', + }, + { + "label": "list_files", + "lang": "javascript", + "source": "import {GoogleGenAI} from '@google/genai';\n\nconst ai = new GoogleGenAI({});\n\n// [setup]\nconst created = await ai.environments.create({\n sources: [{type: 'inline', target: 'src/main.py', content: \"print('Hello')\"}],\n});\nif (!created.id) throw new Error('Failed to create environment');\n// [/setup]\n\nconst response = await ai.environments.files.list({\n environment: created.id,\n path: 'src',\n});\nfor (const file of (response.files ?? [])) {\n console.log(file.name, file.type, file.size_bytes);\n}\n\n// [cleanup]\nawait ai.environments.delete(created.id);\n// [/cleanup]\n", + }, + { + "label": "list_files", + "lang": "java", + "source": 'import com.google.genai.Client;\nimport com.google.genai.gaos.models.environments.CreateEnvironmentRequest;\nimport com.google.genai.gaos.models.environments.Environment;\nimport com.google.genai.gaos.models.environments.EnvironmentFile;\nimport com.google.genai.gaos.models.environments.GetEnvironmentFilesResponse;\nimport com.google.genai.gaos.models.interactions.Source;\nimport com.google.genai.gaos.models.interactions.SourceType;\nimport com.google.genai.gaos.models.operations.GetEnvironmentFilesRequest;\nimport java.util.List;\n\nClient client = new Client();\n\n// [setup]\nCreateEnvironmentRequest createReq = CreateEnvironmentRequest.builder()\n .sources(List.of(Source.builder()\n .type(SourceType.INLINE)\n .target("src/main.py")\n .content("print(\'Hello\')")\n .build()))\n .build();\nEnvironment created = client.environments.createEnvironment(createReq).environment().orElseThrow();\nString envId = created.id().orElseThrow();\n// [/setup]\n\ncom.google.genai.gaos.models.operations.GetEnvironmentFilesResponse response = client.environments.files().list(\n GetEnvironmentFilesRequest.builder()\n .environment(envId)\n .path("src")\n .build());\nGetEnvironmentFilesResponse filesResponse = response.getEnvironmentFilesResponse().orElseThrow();\nfor (EnvironmentFile file : filesResponse.files().orElse(List.of())) {\n System.out.println(file.name().orElse("") + " " + file.type().map(Object::toString).orElse("") + " " + file.sizeBytes().orElse(""));\n}\n\n// [cleanup]\nclient.environments.deleteEnvironment(envId);\n// [/cleanup]\n', + }, + { + "label": "get_file", + "lang": "sh", + "source": "curl -X GET 'https://generativelanguage.googleapis.com/v1beta/environments/env_abc123/files/main.py' \\\n -H \"x-goog-api-key: $GEMINI_API_KEY\"\n", + }, + { + "label": "get_file", + "lang": "python", + "source": 'from google import genai\n\nclient = genai.Client()\n\n# [setup]\ncreated = client.environments.create(\n sources=[{"type": "inline", "target": "main.py", "content": "print(\'Hello\')"}]\n)\n# [/setup]\n\nresponse = client.environments.files.get(\n environment=created.id,\n path="main.py",\n)\nfor file in response.files or []:\n print(file.name, file.size_bytes)\n\n# [cleanup]\nclient.environments.delete(id=created.id)\n# [/cleanup]\n', + }, + { + "label": "get_file", + "lang": "javascript", + "source": "import {GoogleGenAI} from '@google/genai';\n\nconst ai = new GoogleGenAI({});\n\n// [setup]\nconst created = await ai.environments.create({\n sources: [{type: 'inline', target: 'main.py', content: \"print('Hello')\"}],\n});\nif (!created.id) throw new Error('Failed to create environment');\n// [/setup]\n\nconst response = await ai.environments.files.list({\n environment: created.id,\n path: 'main.py',\n});\nfor (const file of (response.files ?? [])) {\n console.log(file.name, file.size_bytes);\n}\n\n// [cleanup]\nawait ai.environments.delete(created.id);\n// [/cleanup]\n", + }, + { + "label": "get_file", + "lang": "java", + "source": 'import com.google.genai.Client;\nimport com.google.genai.gaos.models.environments.CreateEnvironmentRequest;\nimport com.google.genai.gaos.models.environments.Environment;\nimport com.google.genai.gaos.models.environments.EnvironmentFile;\nimport com.google.genai.gaos.models.environments.GetEnvironmentFilesResponse;\nimport com.google.genai.gaos.models.interactions.Source;\nimport com.google.genai.gaos.models.interactions.SourceType;\nimport com.google.genai.gaos.models.operations.GetEnvironmentFilesRequest;\nimport java.util.List;\n\nClient client = new Client();\n\n// [setup]\nCreateEnvironmentRequest createReq = CreateEnvironmentRequest.builder()\n .sources(List.of(Source.builder()\n .type(SourceType.INLINE)\n .target("main.py")\n .content("print(\'Hello\')")\n .build()))\n .build();\nEnvironment created = client.environments.createEnvironment(createReq).environment().orElseThrow();\nString envId = created.id().orElseThrow();\n// [/setup]\n\ncom.google.genai.gaos.models.operations.GetEnvironmentFilesResponse response = client.environments.files().list(\n GetEnvironmentFilesRequest.builder()\n .environment(envId)\n .path("main.py")\n .build());\nGetEnvironmentFilesResponse filesResponse = response.getEnvironmentFilesResponse().orElseThrow();\nfor (EnvironmentFile file : filesResponse.files().orElse(List.of())) {\n System.out.println(file.name().orElse("") + " " + file.sizeBytes().orElse(""));\n}\n\n// [cleanup]\nclient.environments.deleteEnvironment(envId);\n// [/cleanup]\n', + }, + { + "label": "download_file", + "lang": "sh", + "source": "curl -X GET 'https://generativelanguage.googleapis.com/v1beta/environments/env_abc123/files/src/main.py?alt=media' \\\n -H \"x-goog-api-key: $GEMINI_API_KEY\" \\\n --output main.py\n", + }, + { + "label": "download_file", + "lang": "python", + "source": 'from google import genai\n\nclient = genai.Client()\n\n# [setup]\ncreated = client.environments.create(\n sources=[{"type": "inline", "target": "src/main.py", "content": "print(\'Hello\')"}]\n)\n# [/setup]\n\ncontent = client.environments.files.download(\n environment=created.id,\n path="src/main.py",\n)\nprint(content.decode("utf-8"))\n\n# [cleanup]\nclient.environments.delete(id=created.id)\n# [/cleanup]\n', + }, + ] + }, response=ResponseContext(mode=_speakeasy_response_mode, execution="sync"), ) http_res = self.do_request( @@ -234,7 +287,7 @@ async def list( extra_query: Optional[Mapping[str, Any]] = None, timeout: Optional[Union[float, httpx.Timeout]] = None, ) -> environments.GetEnvironmentFilesResponse: - r"""Retrieves a file or directory from an environment's snapshot. + r"""Retrieves file metadata or directory contents from an environment's snapshot. To download file contents directly, pass ?alt=media or use the files.download helper. :param environment: :param path: @@ -335,7 +388,60 @@ async def _speakeasy_parse_response(http_res): self.sdk_configuration.security, types.Security ), tags=None, - extensions=None, + extensions={ + "x-codeSamples": [ + { + "label": "list_files", + "lang": "sh", + "source": "curl -X GET 'https://generativelanguage.googleapis.com/v1beta/environments/env_abc123/files/src' \\\n -H \"x-goog-api-key: $GEMINI_API_KEY\"\n", + }, + { + "label": "list_files", + "lang": "python", + "source": 'from google import genai\n\nclient = genai.Client()\n\n# [setup]\ncreated = client.environments.create(\n sources=[{"type": "inline", "target": "src/main.py", "content": "print(\'Hello\')"}]\n)\n# [/setup]\n\nresponse = client.environments.files.list(\n environment=created.id,\n path="src",\n)\nfor file in response.files or []:\n print(file.name, file.type, file.size_bytes)\n\n# [cleanup]\nclient.environments.delete(id=created.id)\n# [/cleanup]\n', + }, + { + "label": "list_files", + "lang": "javascript", + "source": "import {GoogleGenAI} from '@google/genai';\n\nconst ai = new GoogleGenAI({});\n\n// [setup]\nconst created = await ai.environments.create({\n sources: [{type: 'inline', target: 'src/main.py', content: \"print('Hello')\"}],\n});\nif (!created.id) throw new Error('Failed to create environment');\n// [/setup]\n\nconst response = await ai.environments.files.list({\n environment: created.id,\n path: 'src',\n});\nfor (const file of (response.files ?? [])) {\n console.log(file.name, file.type, file.size_bytes);\n}\n\n// [cleanup]\nawait ai.environments.delete(created.id);\n// [/cleanup]\n", + }, + { + "label": "list_files", + "lang": "java", + "source": 'import com.google.genai.Client;\nimport com.google.genai.gaos.models.environments.CreateEnvironmentRequest;\nimport com.google.genai.gaos.models.environments.Environment;\nimport com.google.genai.gaos.models.environments.EnvironmentFile;\nimport com.google.genai.gaos.models.environments.GetEnvironmentFilesResponse;\nimport com.google.genai.gaos.models.interactions.Source;\nimport com.google.genai.gaos.models.interactions.SourceType;\nimport com.google.genai.gaos.models.operations.GetEnvironmentFilesRequest;\nimport java.util.List;\n\nClient client = new Client();\n\n// [setup]\nCreateEnvironmentRequest createReq = CreateEnvironmentRequest.builder()\n .sources(List.of(Source.builder()\n .type(SourceType.INLINE)\n .target("src/main.py")\n .content("print(\'Hello\')")\n .build()))\n .build();\nEnvironment created = client.environments.createEnvironment(createReq).environment().orElseThrow();\nString envId = created.id().orElseThrow();\n// [/setup]\n\ncom.google.genai.gaos.models.operations.GetEnvironmentFilesResponse response = client.environments.files().list(\n GetEnvironmentFilesRequest.builder()\n .environment(envId)\n .path("src")\n .build());\nGetEnvironmentFilesResponse filesResponse = response.getEnvironmentFilesResponse().orElseThrow();\nfor (EnvironmentFile file : filesResponse.files().orElse(List.of())) {\n System.out.println(file.name().orElse("") + " " + file.type().map(Object::toString).orElse("") + " " + file.sizeBytes().orElse(""));\n}\n\n// [cleanup]\nclient.environments.deleteEnvironment(envId);\n// [/cleanup]\n', + }, + { + "label": "get_file", + "lang": "sh", + "source": "curl -X GET 'https://generativelanguage.googleapis.com/v1beta/environments/env_abc123/files/main.py' \\\n -H \"x-goog-api-key: $GEMINI_API_KEY\"\n", + }, + { + "label": "get_file", + "lang": "python", + "source": 'from google import genai\n\nclient = genai.Client()\n\n# [setup]\ncreated = client.environments.create(\n sources=[{"type": "inline", "target": "main.py", "content": "print(\'Hello\')"}]\n)\n# [/setup]\n\nresponse = client.environments.files.get(\n environment=created.id,\n path="main.py",\n)\nfor file in response.files or []:\n print(file.name, file.size_bytes)\n\n# [cleanup]\nclient.environments.delete(id=created.id)\n# [/cleanup]\n', + }, + { + "label": "get_file", + "lang": "javascript", + "source": "import {GoogleGenAI} from '@google/genai';\n\nconst ai = new GoogleGenAI({});\n\n// [setup]\nconst created = await ai.environments.create({\n sources: [{type: 'inline', target: 'main.py', content: \"print('Hello')\"}],\n});\nif (!created.id) throw new Error('Failed to create environment');\n// [/setup]\n\nconst response = await ai.environments.files.list({\n environment: created.id,\n path: 'main.py',\n});\nfor (const file of (response.files ?? [])) {\n console.log(file.name, file.size_bytes);\n}\n\n// [cleanup]\nawait ai.environments.delete(created.id);\n// [/cleanup]\n", + }, + { + "label": "get_file", + "lang": "java", + "source": 'import com.google.genai.Client;\nimport com.google.genai.gaos.models.environments.CreateEnvironmentRequest;\nimport com.google.genai.gaos.models.environments.Environment;\nimport com.google.genai.gaos.models.environments.EnvironmentFile;\nimport com.google.genai.gaos.models.environments.GetEnvironmentFilesResponse;\nimport com.google.genai.gaos.models.interactions.Source;\nimport com.google.genai.gaos.models.interactions.SourceType;\nimport com.google.genai.gaos.models.operations.GetEnvironmentFilesRequest;\nimport java.util.List;\n\nClient client = new Client();\n\n// [setup]\nCreateEnvironmentRequest createReq = CreateEnvironmentRequest.builder()\n .sources(List.of(Source.builder()\n .type(SourceType.INLINE)\n .target("main.py")\n .content("print(\'Hello\')")\n .build()))\n .build();\nEnvironment created = client.environments.createEnvironment(createReq).environment().orElseThrow();\nString envId = created.id().orElseThrow();\n// [/setup]\n\ncom.google.genai.gaos.models.operations.GetEnvironmentFilesResponse response = client.environments.files().list(\n GetEnvironmentFilesRequest.builder()\n .environment(envId)\n .path("main.py")\n .build());\nGetEnvironmentFilesResponse filesResponse = response.getEnvironmentFilesResponse().orElseThrow();\nfor (EnvironmentFile file : filesResponse.files().orElse(List.of())) {\n System.out.println(file.name().orElse("") + " " + file.sizeBytes().orElse(""));\n}\n\n// [cleanup]\nclient.environments.deleteEnvironment(envId);\n// [/cleanup]\n', + }, + { + "label": "download_file", + "lang": "sh", + "source": "curl -X GET 'https://generativelanguage.googleapis.com/v1beta/environments/env_abc123/files/src/main.py?alt=media' \\\n -H \"x-goog-api-key: $GEMINI_API_KEY\" \\\n --output main.py\n", + }, + { + "label": "download_file", + "lang": "python", + "source": 'from google import genai\n\nclient = genai.Client()\n\n# [setup]\ncreated = client.environments.create(\n sources=[{"type": "inline", "target": "src/main.py", "content": "print(\'Hello\')"}]\n)\n# [/setup]\n\ncontent = client.environments.files.download(\n environment=created.id,\n path="src/main.py",\n)\nprint(content.decode("utf-8"))\n\n# [cleanup]\nclient.environments.delete(id=created.id)\n# [/cleanup]\n', + }, + ] + }, response=ResponseContext(mode=_speakeasy_response_mode, execution="async"), ) http_res = await self.do_request_async(