diff --git a/mise.toml b/mise.toml index 9367d04..7e78822 100644 --- a/mise.toml +++ b/mise.toml @@ -18,7 +18,7 @@ uv = "0.10.12" [env] # The single core pin: a release tag. scripts/core-sync/ requires a tag. -OPENSHELL_CORE_REF = "v0.1.7" +OPENSHELL_CORE_REF = "v0.1.8-pre.5" # The package version for builds. CI and local builds use 0.0.0; the release # workflow sets OPENSHELL_SDK_VERSION to the release's version. SETUPTOOLS_SCM_PRETEND_VERSION_FOR_OPENSHELL = "{{ get_env(name='OPENSHELL_SDK_VERSION', default='0.0.0') }}" diff --git a/src/openshell/_proto/openshell_pb2.py b/src/openshell/_proto/openshell_pb2.py index 36045b8..bfb0e79 100644 --- a/src/openshell/_proto/openshell_pb2.py +++ b/src/openshell/_proto/openshell_pb2.py @@ -30,7 +30,7 @@ from . import sandbox_pb2 as sandbox__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0fopenshell.proto\x12\x0copenshell.v1\x1a\x0f\x64\x61tamodel.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\roptions.proto\x1a\rsandbox.proto\"\x1a\n\x18IssueSandboxTokenRequest\"z\n\x19IssueSandboxTokenResponse\x12\x13\n\x05token\x18\x01 \x01(\tB\x04\x88\xb5\x18\x01\x12\x33\n\x0f\x65xpiration_time\x18\x66 \x01(\x0b\x32\x1a.google.protobuf.TimestampJ\x04\x08\x02\x10\x03R\rexpires_at_ms\"=\n\x1aRefreshSandboxTokenRequest\x12\x1f\n\x17\x65xtension_service_names\x18\x01 \x03(\t\"\xea\x02\n\x1bRefreshSandboxTokenResponse\x12\x13\n\x05token\x18\x01 \x01(\tB\x04\x88\xb5\x18\x01\x12\x33\n\x0f\x65xpiration_time\x18\x66 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12G\n\x15\x65xtension_credentials\x18\x03 \x03(\x0b\x32(.openshell.v1.ExtensionServiceCredential\x12\x1b\n\rsandbox_token\x18\x04 \x01(\tB\x04\x88\xb5\x18\x01\x12;\n\x17sandbox_expiration_time\x18i \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x12\n\nsession_id\x18\x06 \x01(\t\x12\x18\n\x10\x63redential_epoch\x18\x07 \x01(\x04J\x04\x08\x02\x10\x03J\x04\x08\x05\x10\x06R\rexpires_at_msR\x15sandbox_expires_at_ms\"\x0f\n\rHealthRequest\"N\n\x0eHealthResponse\x12+\n\x06status\x18\x01 \x01(\x0e\x32\x1b.openshell.v1.ServiceStatus\x12\x0f\n\x07version\x18\x02 \x01(\t\"\x17\n\x15GetCurrentUserRequest\"y\n\x16GetCurrentUserResponse\x12\x0f\n\x07subject\x18\x01 \x01(\t\x12\x14\n\x0c\x64isplay_name\x18\x02 \x01(\t\x12\r\n\x05roles\x18\x03 \x03(\t\x12\x0e\n\x06scopes\x18\x04 \x03(\t\x12\x19\n\x11identity_provider\x18\x05 \x01(\t\"\x17\n\x15GetGatewayInfoRequest\"\xd3\x01\n\x16GetGatewayInfoResponse\x12+\n\x06status\x18\x01 \x01(\x0e\x32\x1b.openshell.v1.ServiceStatus\x12\x17\n\x0fgateway_version\x18\x02 \x01(\t\x12\x38\n\x0f\x63ompute_drivers\x18\x03 \x03(\x0b\x32\x1f.openshell.v1.ComputeDriverInfo\x12\x39\n\nextensions\x18\x04 \x03(\x0b\x32%.openshell.v1.NegotiatedExtensionInfo\"\x89\x02\n\x17NegotiatedExtensionInfo\x12)\n\x04kind\x18\x01 \x01(\x0e\x32\x1b.openshell.v1.ExtensionKind\x12\x17\n\x0f\x63onfigured_name\x18\x02 \x01(\t\x12\x1b\n\x13implementation_name\x18\x03 \x01(\t\x12\x1e\n\x16implementation_version\x18\x04 \x01(\t\x12\x16\n\x0eprotocol_major\x18\x05 \x01(\r\x12\x16\n\x0eprotocol_minor\x18\x06 \x01(\r\x12\x1e\n\x16supported_capabilities\x18\x07 \x03(\t\x12\x1d\n\x15required_capabilities\x18\x08 \x03(\t\"`\n\x11\x43omputeDriverInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12=\n\x0c\x63\x61pabilities\x18\x02 \x01(\x0b\x32\'.openshell.v1.ComputeDriverCapabilities\"\x8b\x01\n\x19\x43omputeDriverCapabilities\x12\x13\n\x0b\x64river_name\x18\x01 \x01(\t\x12\x16\n\x0e\x64river_version\x18\x02 \x01(\t\x12\x41\n\x15resource_capabilities\x18\x03 \x01(\x0b\x32\".openshell.v1.ResourceCapabilities\"\xb8\x01\n\x14ResourceCapabilities\x12\x32\n\x03\x63pu\x18\x01 \x01(\x0b\x32%.openshell.v1.CpuResourceCapabilities\x12\x38\n\x06memory\x18\x02 \x01(\x0b\x32(.openshell.v1.MemoryResourceCapabilities\x12\x32\n\x03gpu\x18\x03 \x01(\x0b\x32%.openshell.v1.GpuResourceCapabilities\"2\n\x17\x43puResourceCapabilities\x12\x17\n\x0flimit_supported\x18\x01 \x01(\x08\"5\n\x1aMemoryResourceCapabilities\x12\x17\n\x0flimit_supported\x18\x01 \x01(\x08\"a\n\x17GpuResourceCapabilities\x12#\n\x1b\x64\x65\x66\x61ult_selection_supported\x18\x01 \x01(\x08\x12!\n\x19\x63ount_selection_supported\x18\x02 \x01(\x08\"\xb7\x02\n\x07Sandbox\x12\x34\n\x08metadata\x18\x01 \x01(\x0b\x32\".openshell.datamodel.v1.ObjectMeta\x12\'\n\x04spec\x18\x02 \x01(\x0b\x32\x19.openshell.v1.SandboxSpec\x12+\n\x06status\x18\x03 \x01(\x0b\x32\x1b.openshell.v1.SandboxStatus\x12\x1c\n\x14host_key_fingerprint\x18\x06 \x01(\t\x12W\n\x1e\x63reated_from_workload_template\x18\x14 \x01(\x0b\x32/.openshell.v1.SandboxWorkloadTemplateProvenanceJ\x04\x08\x04\x10\x05J\x04\x08\x05\x10\x06R\x05phaseR\x16\x63urrent_policy_version\"\xfe\x03\n\x0bSandboxSpec\x12\x11\n\tlog_level\x18\x01 \x01(\t\x12?\n\x0b\x65nvironment\x18\x05 \x03(\x0b\x32*.openshell.v1.SandboxSpec.EnvironmentEntry\x12/\n\x08template\x18\x06 \x01(\x0b\x32\x1d.openshell.v1.SandboxTemplate\x12\x33\n\x06policy\x18\x07 \x01(\x0b\x32#.openshell.sandbox.v1.SandboxPolicy\x12\x11\n\tproviders\x18\x08 \x03(\t\x12\x41\n\x15resource_requirements\x18\t \x01(\x0b\x32\".openshell.v1.ResourceRequirements\x12\x0f\n\x07\x63ommand\x18\x0c \x03(\t\x12\x0b\n\x03tty\x18\r \x01(\x08\x12!\n\x19provider_attachment_epoch\x18\x0e \x01(\t\x12:\n\x0erestart_policy\x18\x0f \x01(\x0e\x32\".openshell.v1.SandboxRestartPolicy\x1a\x32\n\x10\x45nvironmentEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01J\x04\x08\n\x10\x0bJ\x04\x08\x0b\x10\x0cR\ngpu_deviceR\x16proposal_approval_mode\"J\n\x14ResourceRequirements\x12\x32\n\x03gpu\x18\x01 \x01(\x0b\x32%.openshell.v1.GpuResourceRequirements\"7\n\x17GpuResourceRequirements\x12\x12\n\x05\x63ount\x18\x01 \x01(\rH\x00\x88\x01\x01\x42\x08\n\x06_count\"\xda\x04\n\x0fSandboxTemplate\x12\r\n\x05image\x18\x01 \x01(\t\x12\x1a\n\x12runtime_class_name\x18\x02 \x01(\t\x12\x14\n\x0c\x61gent_socket\x18\x03 \x01(\t\x12\x39\n\x06labels\x18\x04 \x03(\x0b\x32).openshell.v1.SandboxTemplate.LabelsEntry\x12\x43\n\x0b\x61nnotations\x18\x05 \x03(\x0b\x32..openshell.v1.SandboxTemplate.AnnotationsEntry\x12\x43\n\x0b\x65nvironment\x18\x06 \x03(\x0b\x32..openshell.v1.SandboxTemplate.EnvironmentEntry\x12*\n\tresources\x18\x07 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x1c\n\x0fuser_namespaces\x18\n \x01(\x08H\x00\x88\x01\x01\x12.\n\rdriver_config\x18\x0b \x01(\x0b\x32\x17.google.protobuf.Struct\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x32\n\x10\x41nnotationsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x32\n\x10\x45nvironmentEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x12\n\x10_user_namespacesJ\x04\x08\t\x10\nR\x16volume_claim_templates\"\x88\x01\n\x17SandboxWorkloadTemplate\x12\x34\n\x08metadata\x18\x01 \x01(\x0b\x32\".openshell.datamodel.v1.ObjectMeta\x12\x37\n\x04spec\x18\x02 \x01(\x0b\x32).openshell.v1.SandboxWorkloadTemplateSpec\"\xc6\x01\n\x1bSandboxWorkloadTemplateSpec\x12\x35\n\x08workload\x18\x01 \x01(\x0b\x32#.openshell.v1.SandboxWorkloadConfig\x12.\n\rdriver_config\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\x12@\n\x15\x64\x65sired_service_level\x18\x03 \x01(\x0b\x32!.openshell.v1.SandboxServiceLevel\"\xd8\x01\n\x15SandboxWorkloadConfig\x12\r\n\x05image\x18\x01 \x01(\t\x12I\n\x0b\x65nvironment\x18\x02 \x03(\x0b\x32\x34.openshell.v1.SandboxWorkloadConfig.EnvironmentEntry\x12\x31\n\tresources\x18\x03 \x01(\x0b\x32\x1e.openshell.v1.SandboxResources\x1a\x32\n\x10\x45nvironmentEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"c\n\x10SandboxResources\x12\x0b\n\x03\x63pu\x18\x01 \x01(\t\x12\x0e\n\x06memory\x18\x02 \x01(\t\x12\x32\n\x03gpu\x18\x03 \x01(\x0b\x32%.openshell.v1.GpuResourceRequirements\"D\n\x13SandboxServiceLevel\x12-\n\x07startup\x18\x01 \x01(\x0b\x32\x1c.openshell.v1.SandboxStartup\"T\n\x0eSandboxStartup\x12/\n\x0cready_within\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x11\n\tmax_burst\x18\x02 \x01(\r\"K\n!SandboxWorkloadTemplateProvenance\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x18\n\x10resource_version\x18\x02 \x01(\t\"\xec\x05\n\rSandboxStatus\x12\x11\n\tagent_pod\x18\x02 \x01(\t\x12\x10\n\x08\x61gent_fd\x18\x03 \x01(\t\x12\x12\n\nsandbox_fd\x18\x04 \x01(\t\x12\x32\n\nconditions\x18\x05 \x03(\x0b\x32\x1e.openshell.v1.SandboxCondition\x12)\n\x05phase\x18\x06 \x01(\x0e\x32\x1a.openshell.v1.SandboxPhase\x12\x1e\n\x16\x63urrent_policy_version\x18\x07 \x01(\r\x12 \n\x18main_process_instance_id\x18\x08 \x01(\t\x12\x16\n\texit_code\x18\t \x01(\x05H\x00\x88\x01\x01\x12\x37\n\x11\x65ndpoint_statuses\x18\n \x03(\x0b\x32\x1c.openshell.v1.EndpointStatus\x12L\n\x17\x63onfiguration_admission\x18\x0b \x01(\x0b\x32+.openshell.v1.SandboxConfigurationAdmission\x12$\n\x17\x63onfiguration_activated\x18\x0c \x01(\x08H\x01\x88\x01\x01\x12\x37\n\x0cprovisioning\x18\r \x01(\x0b\x32!.openshell.v1.SandboxProvisioning\x12\x15\n\rrestart_count\x18\x0e \x01(\r\x12\x35\n\x11next_restart_time\x18\x0f \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12=\n\x19main_process_started_time\x18\x10 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12L\n\x18last_token_grant_failure\x18\x11 \x01(\x0b\x32*.openshell.v1.TokenGrantFailureObservationB\x0c\n\n_exit_codeB\x1a\n\x18_configuration_activated\"\xa2\x01\n\x10SandboxCondition\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0e\n\x06status\x18\x02 \x01(\t\x12\x0e\n\x06reason\x18\x03 \x01(\t\x12\x0f\n\x07message\x18\x04 \x01(\t\x12\x33\n\x0ftransition_time\x18i \x01(\x0b\x32\x1a.google.protobuf.TimestampJ\x04\x08\x05\x10\x06R\x14last_transition_time\"\x80\x02\n\rPlatformEvent\x12.\n\nevent_time\x18\x65 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0e\n\x06source\x18\x02 \x01(\t\x12\x0c\n\x04type\x18\x03 \x01(\t\x12\x0e\n\x06reason\x18\x04 \x01(\t\x12\x0f\n\x07message\x18\x05 \x01(\t\x12;\n\x08metadata\x18\x06 \x03(\x0b\x32).openshell.v1.PlatformEvent.MetadataEntry\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01J\x04\x08\x01\x10\x02R\x0ctimestamp_ms\"\x95\x04\n\x14\x43reateSandboxRequest\x12\x42\n\x0fworkspace_scope\x18\x07 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\'\n\x04spec\x18\x01 \x01(\x0b\x32\x19.openshell.v1.SandboxSpec\x12\x0c\n\x04name\x18\x02 \x01(\t\x12>\n\x06labels\x18\x03 \x03(\x0b\x32..openshell.v1.CreateSandboxRequest.LabelsEntry\x12H\n\x0b\x61nnotations\x18\x04 \x03(\x0b\x32\x33.openshell.v1.CreateSandboxRequest.AnnotationsEntry\x12%\n\x1d\x61wait_main_process_attachment\x18\x05 \x01(\x08\x12\x19\n\x11workload_template\x18\x06 \x01(\t\x12\x12\n\nrequest_id\x18\x08 \x01(\t\x12?\n\x11service_exposures\x18\t \x03(\x0b\x32$.openshell.v1.SandboxServiceExposure\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x32\n\x10\x41nnotationsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x8c\x03\n\x14UpdateSandboxRequest\x12\x42\n\x0fworkspace_scope\x18\x01 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x12\n\x05image\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x33\n\x07\x63ommand\x18\x06 \x01(\x0b\x32\".openshell.v1.SandboxCommandUpdate\x12\x33\n\x0b\x65nvironment\x18\x07 \x01(\x0b\x32\x1e.openshell.v1.SandboxMapUpdate\x12.\n\x06labels\x18\x08 \x01(\x0b\x32\x1e.openshell.v1.SandboxMapUpdate\x12\x33\n\x0b\x61nnotations\x18\t \x01(\x0b\x32\x1e.openshell.v1.SandboxMapUpdate\x12!\n\x19\x65xpected_resource_version\x18\x04 \x01(\x04\x12\x12\n\nrequest_id\x18\x05 \x01(\tB\x08\n\x06_image\"$\n\x14SandboxCommandUpdate\x12\x0c\n\x04\x61rgv\x18\x01 \x03(\t\"}\n\x10SandboxMapUpdate\x12:\n\x06values\x18\x01 \x03(\x0b\x32*.openshell.v1.SandboxMapUpdate.ValuesEntry\x1a-\n\x0bValuesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xaf\x01\n\x1c\x43reateSandboxTemplateRequest\x12\x42\n\x0fworkspace_scope\x18\x02 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x37\n\x08template\x18\x01 \x01(\x0b\x32%.openshell.v1.SandboxWorkloadTemplate\x12\x12\n\nrequest_id\x18\x03 \x01(\t\"m\n\x19GetSandboxTemplateRequest\x12\x42\n\x0fworkspace_scope\x18\x02 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x0c\n\x04name\x18\x01 \x01(\t\"\xa0\x01\n\x1bListSandboxTemplatesRequest\x12\x42\n\x0fworkspace_scope\x18\x04 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x11\n\tpage_size\x18\x01 \x01(\x05\x12\x12\n\npage_token\x18\x02 \x01(\t\x12\x16\n\x0elabel_selector\x18\x03 \x01(\t\"\x9b\x01\n\x1c\x44\x65leteSandboxTemplateRequest\x12\x42\n\x0fworkspace_scope\x18\x02 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rallow_missing\x18\x03 \x01(\x08\x12\x12\n\nrequest_id\x18\x04 \x01(\t\"R\n\x17SandboxTemplateResponse\x12\x37\n\x08template\x18\x01 \x01(\x0b\x32%.openshell.v1.SandboxWorkloadTemplate\"q\n\x1cListSandboxTemplatesResponse\x12\x38\n\ttemplates\x18\x01 \x03(\x0b\x32%.openshell.v1.SandboxWorkloadTemplate\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"^\n\x1d\x44\x65leteSandboxTemplateResponse\x12.\n\x07outcome\x18\x02 \x01(\x0e\x32\x1d.openshell.v1.DeletionOutcomeJ\x04\x08\x01\x10\x02R\x07\x64\x65leted\"\x89\x01\n\x1c\x42\x65ginRootfsTarStagingRequest\x12\x42\n\x0fworkspace_scope\x18\x03 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x11\n\tfile_name\x18\x01 \x01(\t\x12\x12\n\nsize_bytes\x18\x02 \x01(\x04\"\xa8\x01\n\x1d\x42\x65ginRootfsTarStagingResponse\x12\x15\n\rstaging_token\x18\x01 \x01(\t\x12\x13\n\x0bupload_path\x18\x02 \x01(\t\x12\x11\n\tmax_bytes\x18\x03 \x01(\x04\x12\x33\n\x0f\x65xpiration_time\x18h \x01(\x0b\x32\x1a.google.protobuf.TimestampJ\x04\x08\x04\x10\x05R\rexpires_at_ms\"e\n\x11GetSandboxRequest\x12\x42\n\x0fworkspace_scope\x18\x02 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x0c\n\x04name\x18\x01 \x01(\t\"\x99\x01\n\x14ListSandboxesRequest\x12\x42\n\x0fworkspace_scope\x18\x04 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x11\n\tpage_size\x18\x01 \x01(\x05\x12\x12\n\npage_token\x18\x02 \x01(\t\x12\x16\n\x0elabel_selector\x18\x03 \x01(\t\"\x99\x01\n\x1bListSandboxProvidersRequest\x12\x42\n\x0fworkspace_scope\x18\x02 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x0f\n\x07sandbox\x18\x01 \x01(\t\x12\x11\n\tpage_size\x18\x03 \x01(\x05\x12\x12\n\npage_token\x18\x04 \x01(\t\"\xbc\x01\n\x1c\x41ttachSandboxProviderRequest\x12\x42\n\x0fworkspace_scope\x18\x04 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x0f\n\x07sandbox\x18\x01 \x01(\t\x12\x10\n\x08provider\x18\x02 \x01(\t\x12!\n\x19\x65xpected_resource_version\x18\x03 \x01(\x04\x12\x12\n\nrequest_id\x18\x05 \x01(\t\"\xbc\x01\n\x1c\x44\x65tachSandboxProviderRequest\x12\x42\n\x0fworkspace_scope\x18\x04 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x0f\n\x07sandbox\x18\x01 \x01(\t\x12\x10\n\x08provider\x18\x02 \x01(\t\x12!\n\x19\x65xpected_resource_version\x18\x03 \x01(\x04\x12\x12\n\nrequest_id\x18\x05 \x01(\t\"\x93\x01\n\x14\x44\x65leteSandboxRequest\x12\x42\n\x0fworkspace_scope\x18\x02 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rallow_missing\x18\x03 \x01(\x08\x12\x12\n\nrequest_id\x18\x04 \x01(\t\"z\n\x12StopSandboxRequest\x12\x42\n\x0fworkspace_scope\x18\x02 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x12\n\nrequest_id\x18\x03 \x01(\t\"{\n\x13StartSandboxRequest\x12\x42\n\x0fworkspace_scope\x18\x02 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x12\n\nrequest_id\x18\x03 \x01(\t\"i\n\x15SuspendSandboxRequest\x12\x42\n\x0fworkspace_scope\x18\x02 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x0c\n\x04name\x18\x01 \x01(\t\"\x8a\x01\n\x14ResumeSandboxRequest\x12\x42\n\x0fworkspace_scope\x18\x02 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x0c\n\x04name\x18\x01 \x01(\t\x12 \n\x18restart_if_restore_fails\x18\x03 \x01(\x08\"\xb3\x01\n\x0fSandboxResponse\x12&\n\x07sandbox\x18\x01 \x01(\x0b\x32\x15.openshell.v1.Sandbox\x12\x44\n\x0cservice_urls\x18\x02 \x03(\x0b\x32..openshell.v1.SandboxResponse.ServiceUrlsEntry\x1a\x32\n\x10ServiceUrlsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"Z\n\x15ListSandboxesResponse\x12(\n\tsandboxes\x18\x01 \x03(\x0b\x32\x15.openshell.v1.Sandbox\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"l\n\x1cListSandboxProvidersResponse\x12\x33\n\tproviders\x18\x01 \x03(\x0b\x32 .openshell.datamodel.v1.Provider\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\x91\x01\n\x1d\x41ttachSandboxProviderResponse\x12&\n\x07sandbox\x18\x01 \x01(\x0b\x32\x15.openshell.v1.Sandbox\x12\x10\n\x08\x61ttached\x18\x02 \x01(\x08\x12\x36\n\x07receipt\x18\x03 \x01(\x0b\x32%.openshell.v1.ProviderMutationReceipt\"\x91\x01\n\x1d\x44\x65tachSandboxProviderResponse\x12&\n\x07sandbox\x18\x01 \x01(\x0b\x32\x15.openshell.v1.Sandbox\x12\x10\n\x08\x64\x65tached\x18\x02 \x01(\x08\x12\x36\n\x07receipt\x18\x03 \x01(\x0b\x32%.openshell.v1.ProviderMutationReceipt\"\xdd\x01\n\x17ProviderDesiredIdentity\x12\x12\n\nsandbox_id\x18\x01 \x01(\t\x12\x0f\n\x07sandbox\x18\x02 \x01(\t\x12\x18\n\x10\x61ttachment_epoch\x18\x03 \x01(\t\x12\x13\n\x0bprovider_id\x18\x04 \x01(\t\x12!\n\x19provider_resource_version\x18\x05 \x01(\x04\x12\x1d\n\x15provider_env_revision\x18\x06 \x01(\x04\x12\x17\n\x0f\x63onfig_revision\x18\x07 \x01(\x04\x12\x13\n\x0bpolicy_hash\x18\x08 \x01(\t\"\xc6\x01\n\x16\x43onfigSnapshotRevision\x12=\n\x0esandbox_config\x18\x01 \x01(\x0b\x32#.openshell.v1.SandboxConfigRevisionH\x00\x12\x1e\n\x14provider_environment\x18\x02 \x01(\x04H\x00\x12@\n\x0fprovider_target\x18\x03 \x01(\x0b\x32%.openshell.v1.ProviderDesiredIdentityH\x00\x42\x0b\n\tcomponent\"\xbd\x01\n\x15SandboxConfigRevision\x12\x17\n\x0f\x63onfig_revision\x18\x01 \x01(\x04\x12\x16\n\x0epolicy_version\x18\x02 \x01(\r\x12\x39\n\rpolicy_source\x18\x03 \x01(\x0e\x32\".openshell.sandbox.v1.PolicySource\x12\x1d\n\x15global_policy_version\x18\x04 \x01(\r\x12\x19\n\x11settings_revision\x18\x05 \x01(\x04\"\x90\x04\n\x15\x43onfigUpdateOperation\x12\x14\n\x0coperation_id\x18\x01 \x01(\t\x12\x12\n\nsandbox_id\x18\x02 \x01(\t\x12\x30\n\tcomponent\x18\x03 \x01(\x0e\x32\x1d.openshell.v1.ConfigComponent\x12=\n\x0ftarget_revision\x18\x04 \x01(\x0b\x32$.openshell.v1.ConfigSnapshotRevision\x12\x37\n\x05state\x18\x05 \x01(\x0e\x32(.openshell.v1.ConfigUpdateOperationState\x12\x31\n\x07outcome\x18\x06 \x01(\x0e\x32 .openshell.v1.ConfigApplyOutcome\x12\x17\n\x0fsanitized_error\x18\x07 \x01(\t\x12\x30\n\x0c\x63reated_time\x18l \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x0cupdated_time\x18m \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x32\n\x0e\x63ompleted_time\x18n \x01(\x0b\x32\x1a.google.protobuf.TimestampJ\x04\x08\x08\x10\tJ\x04\x08\t\x10\nJ\x04\x08\n\x10\x0bR\rcreated_at_msR\rupdated_at_msR\x0f\x63ompleted_at_ms\"\x9c\x02\n\x17ProviderMutationReceipt\x12\x12\n\nreceipt_id\x18\x01 \x01(\t\x12\x13\n\x0bmutation_id\x18\x02 \x01(\t\x12\x10\n\x08provider\x18\x03 \x01(\t\x12\x11\n\tworkspace\x18\x04 \x01(\t\x12\x30\n\x04kind\x18\x05 \x01(\x0e\x32\".openshell.v1.ProviderMutationKind\x12\x36\n\x07\x64\x65sired\x18\x06 \x01(\x0b\x32%.openshell.v1.ProviderDesiredIdentity\x12\x32\n\x0epersisted_time\x18k \x01(\x0b\x32\x1a.google.protobuf.TimestampJ\x04\x08\x07\x10\x08R\x0fpersisted_at_ms\"\xdb\x02\n\x1cProviderReadinessObservation\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x10\n\x08sequence\x18\x02 \x01(\x04\x12\x18\n\x10\x61ttachment_epoch\x18\x03 \x01(\t\x12\x1d\n\x15provider_env_revision\x18\x04 \x01(\x04\x12\x17\n\x0f\x63onfig_revision\x18\x05 \x01(\x04\x12\x13\n\x0bpolicy_hash\x18\x06 \x01(\t\x12\x1d\n\x15\x63redentials_installed\x18\x07 \x01(\x08\x12\x15\n\rpolicy_active\x18\x08 \x01(\x08\x12$\n\x1claunch_environment_installed\x18\t \x01(\x08\x12\x1b\n\x13process_instance_id\x18\n \x01(\t\x12\x35\n\x06reason\x18\x0b \x01(\x0e\x32%.openshell.v1.ProviderReadinessReason\"\xe4\x03\n\x17ProviderReadinessStatus\x12\x36\n\x07receipt\x18\x01 \x01(\x0b\x32%.openshell.v1.ProviderMutationReceipt\x12\x33\n\x05state\x18\x02 \x01(\x0e\x32$.openshell.v1.ProviderReadinessState\x12\x35\n\x06reason\x18\x03 \x01(\x0e\x32%.openshell.v1.ProviderReadinessReason\x12<\n\x08observed\x18\x04 \x01(\x0b\x32*.openshell.v1.ProviderReadinessObservation\x12\x1b\n\x13network_instance_id\x18\x05 \x01(\t\x12\x31\n\robserved_time\x18j \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x32\n\x0e\x65valuated_time\x18k \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x36\n\toperation\x18\x08 \x01(\x0b\x32#.openshell.v1.ConfigUpdateOperationJ\x04\x08\x06\x10\x07J\x04\x08\x07\x10\x08R\x0eobserved_at_msR\x0f\x65valuated_at_ms\"\x9c\x01\n\x1fGetSandboxProviderStatusRequest\x12\x42\n\x0fworkspace_scope\x18\x04 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x0f\n\x07sandbox\x18\x01 \x01(\t\x12\x10\n\x08provider\x18\x02 \x01(\t\x12\x12\n\nreceipt_id\x18\x03 \x01(\t\"Y\n GetSandboxProviderStatusResponse\x12\x35\n\x06status\x18\x01 \x01(\x0b\x32%.openshell.v1.ProviderReadinessStatus\"u\n\x1eReportProviderReadinessRequest\x12\x12\n\nsandbox_id\x18\x01 \x01(\t\x12?\n\x0bobservation\x18\x02 \x01(\x0b\x32*.openshell.v1.ProviderReadinessObservation\"\xe2\x01\n\x1fReportProviderReadinessResponse\x12\x19\n\x11\x61\x63\x63\x65pted_sequence\x18\x01 \x01(\x04\x12\x32\n\x0freport_interval\x18\x66 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x32\n\x0fobservation_ttl\x18g \x01(\x0b\x32\x19.google.protobuf.DurationJ\x04\x08\x02\x10\x03J\x04\x08\x03\x10\x04R\x17report_interval_secondsR\x17observation_ttl_seconds\"j\n\x15\x44\x65leteSandboxResponse\x12.\n\x07outcome\x18\x02 \x01(\x0e\x32\x1d.openshell.v1.DeletionOutcome\x12\x12\n\nsandbox_id\x18\x03 \x01(\tJ\x04\x08\x01\x10\x02R\x07\x64\x65leted\"n\n\x17\x43reateSshSessionRequest\x12\x42\n\x0fworkspace_scope\x18\x03 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x0f\n\x07sandbox\x18\x01 \x01(\t\"\xef\x01\n\x18\x43reateSshSessionResponse\x12\x12\n\nsandbox_id\x18\x01 \x01(\t\x12\x13\n\x05token\x18\x02 \x01(\tB\x04\x88\xb5\x18\x01\x12\x14\n\x0cgateway_host\x18\x03 \x01(\t\x12\x14\n\x0cgateway_port\x18\x04 \x01(\r\x12\x16\n\x0egateway_scheme\x18\x05 \x01(\t\x12\x1c\n\x14host_key_fingerprint\x18\x07 \x01(\t\x12\x33\n\x0f\x65xpiration_time\x18l \x01(\x0b\x32\x1a.google.protobuf.TimestampJ\x04\x08\x08\x10\tR\rexpires_at_ms\"\xf6\x01\n\x14\x45xposeServiceRequest\x12\x42\n\x0fworkspace_scope\x18\x05 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0btarget_port\x18\x03 \x01(\r\x12\x0e\n\x06\x64omain\x18\x04 \x01(\x08\x12\x0f\n\x07sandbox\x18\x01 \x01(\t\x12\x12\n\nrequest_id\x18\x06 \x01(\t\x12\x42\n\x12\x61uthorization_mode\x18\x07 \x01(\x0e\x32&.openshell.v1.ServiceAuthorizationMode\"v\n\x11GetServiceRequest\x12\x42\n\x0fworkspace_scope\x18\x03 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0f\n\x07sandbox\x18\x01 \x01(\t\"\x91\x01\n\x13ListServicesRequest\x12\x42\n\x0fworkspace_scope\x18\x04 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x0f\n\x07sandbox\x18\x01 \x01(\t\"h\n\x14ListServicesResponse\x12\x37\n\x08services\x18\x01 \x03(\x0b\x32%.openshell.v1.ServiceEndpointResponse\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\xa4\x01\n\x14\x44\x65leteServiceRequest\x12\x42\n\x0fworkspace_scope\x18\x03 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0f\n\x07sandbox\x18\x01 \x01(\t\x12\x15\n\rallow_missing\x18\x04 \x01(\x08\x12\x12\n\nrequest_id\x18\x05 \x01(\t\"V\n\x15\x44\x65leteServiceResponse\x12.\n\x07outcome\x18\x02 \x01(\x0e\x32\x1d.openshell.v1.DeletionOutcomeJ\x04\x08\x01\x10\x02R\x07\x64\x65leted\"\xe3\x01\n\x0fServiceEndpoint\x12\x34\n\x08metadata\x18\x01 \x01(\x0b\x32\".openshell.datamodel.v1.ObjectMeta\x12\x12\n\nsandbox_id\x18\x02 \x01(\t\x12\x0f\n\x07sandbox\x18\x03 \x01(\t\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x13\n\x0btarget_port\x18\x05 \x01(\r\x12\x0e\n\x06\x64omain\x18\x06 \x01(\x08\x12\x42\n\x12\x61uthorization_mode\x18\x07 \x01(\x0e\x32&.openshell.v1.ServiceAuthorizationMode\"W\n\x17ServiceEndpointResponse\x12/\n\x08\x65ndpoint\x18\x01 \x01(\x0b\x32\x1d.openshell.v1.ServiceEndpoint\x12\x0b\n\x03url\x18\x02 \x01(\t\"E\n\x17RevokeSshSessionRequest\x12\x13\n\x05token\x18\x01 \x01(\tB\x04\x88\xb5\x18\x01\x12\x15\n\rallow_missing\x18\x02 \x01(\x08\"Y\n\x18RevokeSshSessionResponse\x12.\n\x07outcome\x18\x02 \x01(\x0e\x32\x1d.openshell.v1.DeletionOutcomeJ\x04\x08\x01\x10\x02R\x07revoked\"\xb8\x03\n\x12\x45xecSandboxRequest\x12\x42\n\x0fworkspace_scope\x18\x0c \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x0f\n\x07sandbox\x18\x01 \x01(\t\x12\x0f\n\x07\x63ommand\x18\x02 \x03(\t\x12\x0f\n\x07workdir\x18\x03 \x01(\t\x12\x46\n\x0b\x65nvironment\x18\x04 \x03(\x0b\x32\x31.openshell.v1.ExecSandboxRequest.EnvironmentEntry\x12\x34\n\x11\x65xecution_timeout\x18i \x01(\x0b\x32\x19.google.protobuf.Duration\x12\r\n\x05stdin\x18\x06 \x01(\x0c\x12\x0b\n\x03tty\x18\x07 \x01(\x08\x12\x0c\n\x04\x63ols\x18\x08 \x01(\r\x12\x0c\n\x04rows\x18\t \x01(\r\x12\x16\n\x0eno_login_shell\x18\n \x01(\x08\x12\x12\n\nrequest_id\x18\x0b \x01(\t\x1a\x32\n\x10\x45nvironmentEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01J\x04\x08\x05\x10\x06R\x0ftimeout_seconds\"!\n\x11\x45xecSandboxStdout\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"!\n\x11\x45xecSandboxStderr\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"$\n\x0f\x45xecSandboxExit\x12\x11\n\texit_code\x18\x01 \x01(\x05\"\xb2\x01\n\x10\x45xecSandboxEvent\x12\x31\n\x06stdout\x18\x01 \x01(\x0b\x32\x1f.openshell.v1.ExecSandboxStdoutH\x00\x12\x31\n\x06stderr\x18\x02 \x01(\x0b\x32\x1f.openshell.v1.ExecSandboxStderrH\x00\x12-\n\x04\x65xit\x18\x03 \x01(\x0b\x32\x1d.openshell.v1.ExecSandboxExitH\x00\x42\t\n\x07payload\"\xcf\x01\n\x0eTcpForwardInit\x12\x0f\n\x07sandbox\x18\x01 \x01(\t\x12\x11\n\tworkspace\x18\x03 \x01(\t\x12\x12\n\nservice_id\x18\x04 \x01(\t\x12+\n\x03ssh\x18\x05 \x01(\x0b\x32\x1c.openshell.v1.SshRelayTargetH\x00\x12+\n\x03tcp\x18\x06 \x01(\x0b\x32\x1c.openshell.v1.TcpRelayTargetH\x00\x12!\n\x13\x61uthorization_token\x18\x07 \x01(\tB\x04\x88\xb5\x18\x01\x42\x08\n\x06target\"Z\n\x0fTcpForwardFrame\x12,\n\x04init\x18\x01 \x01(\x0b\x32\x1c.openshell.v1.TcpForwardInitH\x00\x12\x0e\n\x04\x64\x61ta\x18\x02 \x01(\x0cH\x00\x42\t\n\x07payload\"\x9a\x01\n\x10\x45xecSandboxInput\x12\x31\n\x05start\x18\x01 \x01(\x0b\x32 .openshell.v1.ExecSandboxRequestH\x00\x12\x0f\n\x05stdin\x18\x02 \x01(\x0cH\x00\x12\x37\n\x06resize\x18\x03 \x01(\x0b\x32%.openshell.v1.ExecSandboxWindowResizeH\x00\x42\t\n\x07payload\"5\n\x17\x45xecSandboxWindowResize\x12\x0c\n\x04\x63ols\x18\x01 \x01(\r\x12\x0c\n\x04rows\x18\x02 \x01(\r\"\xc6\x01\n\nSshSession\x12\x34\n\x08metadata\x18\x01 \x01(\x0b\x32\".openshell.datamodel.v1.ObjectMeta\x12\x12\n\nsandbox_id\x18\x02 \x01(\t\x12\x13\n\x05token\x18\x03 \x01(\tB\x04\x88\xb5\x18\x01\x12\x33\n\x0f\x65xpiration_time\x18h \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0f\n\x07revoked\x18\x05 \x01(\x08J\x04\x08\x04\x10\x05R\rexpires_at_ms\"\x80\x03\n\x13WatchSandboxRequest\x12\x42\n\x0fworkspace_scope\x18\x0b \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x0f\n\x07sandbox\x18\x01 \x01(\t\x12\x15\n\rfollow_status\x18\x02 \x01(\x08\x12\x13\n\x0b\x66ollow_logs\x18\x03 \x01(\x08\x12\x15\n\rfollow_events\x18\x04 \x01(\x08\x12\x16\n\x0elog_tail_lines\x18\x05 \x01(\r\x12\x12\n\nevent_tail\x18\x06 \x01(\r\x12\x18\n\x10stop_on_terminal\x18\x07 \x01(\x08\x12.\n\nsince_time\x18l \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x13\n\x0blog_sources\x18\t \x03(\t\x12\x15\n\rlog_min_level\x18\n \x01(\t\x12\x1b\n\x13resume_after_cursor\x18\x0c \x01(\tJ\x04\x08\x08\x10\tR\x0clog_since_ms\"\xab\x02\n\x12SandboxStreamEvent\x12(\n\x07sandbox\x18\x01 \x01(\x0b\x32\x15.openshell.v1.SandboxH\x00\x12+\n\x03log\x18\x02 \x01(\x0b\x32\x1c.openshell.v1.SandboxLogLineH\x00\x12,\n\x05\x65vent\x18\x03 \x01(\x0b\x32\x1b.openshell.v1.PlatformEventH\x00\x12\x35\n\x07warning\x18\x04 \x01(\x0b\x32\".openshell.v1.SandboxStreamWarningH\x00\x12>\n\x13\x64raft_policy_update\x18\x05 \x01(\x0b\x32\x1f.openshell.v1.DraftPolicyUpdateH\x00\x12\x0e\n\x06\x63ursor\x18\x06 \x01(\tB\t\n\x07payload\"\x91\x02\n\x0eSandboxLogLine\x12\x12\n\nsandbox_id\x18\x01 \x01(\t\x12.\n\nevent_time\x18\x66 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\r\n\x05level\x18\x03 \x01(\t\x12\x0e\n\x06target\x18\x04 \x01(\t\x12\x0f\n\x07message\x18\x05 \x01(\t\x12\x0e\n\x06source\x18\x06 \x01(\t\x12\x38\n\x06\x66ields\x18\x07 \x03(\x0b\x32(.openshell.v1.SandboxLogLine.FieldsEntry\x1a-\n\x0b\x46ieldsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01J\x04\x08\x02\x10\x03R\x0ctimestamp_ms\"\'\n\x14SandboxStreamWarning\x12\x0f\n\x07message\x18\x01 \x01(\t\"\xa3\x01\n\x15\x43reateProviderRequest\x12\x42\n\x0fworkspace_scope\x18\x02 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x32\n\x08provider\x18\x01 \x01(\x0b\x32 .openshell.datamodel.v1.Provider\x12\x12\n\nrequest_id\x18\x03 \x01(\t\"f\n\x12GetProviderRequest\x12\x42\n\x0fworkspace_scope\x18\x02 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x0c\n\x04name\x18\x01 \x01(\t\"\xc9\x01\n\x1dGetProviderCredentialsRequest\x12\x42\n\x0fworkspace_scope\x18\x01 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x17\n\x0f\x63redential_keys\x18\x03 \x03(\t\x12=\n\x1aminimum_remaining_lifetime\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\"c\n\x17ProviderCredentialValue\x12\x13\n\x05value\x18\x01 \x01(\tB\x04\x88\xb5\x18\x01\x12\x33\n\x0f\x65xpiration_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xcf\x01\n\x1eGetProviderCredentialsResponse\x12R\n\x0b\x63redentials\x18\x01 \x03(\x0b\x32=.openshell.v1.GetProviderCredentialsResponse.CredentialsEntry\x1aY\n\x10\x43redentialsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x34\n\x05value\x18\x02 \x01(\x0b\x32%.openshell.v1.ProviderCredentialValue:\x02\x38\x01\"\x99\x01\n\x14ListProvidersRequest\x12\x42\n\x0fworkspace_scope\x18\x03 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x11\n\tpage_size\x18\x01 \x01(\x05\x12\x12\n\npage_token\x18\x02 \x01(\t\x12\x16\n\x0elabel_selector\x18\x04 \x01(\t\"\xb4\x03\n\x15UpdateProviderRequest\x12\x42\n\x0fworkspace_scope\x18\x03 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x32\n\x08provider\x18\x01 \x01(\x0b\x32 .openshell.datamodel.v1.Provider\x12g\n\x1b\x63redential_expiration_times\x18\x66 \x03(\x0b\x32\x42.openshell.v1.UpdateProviderRequest.CredentialExpirationTimesEntry\x12(\n clear_credential_expiration_keys\x18g \x03(\t\x12\x12\n\nrequest_id\x18\x04 \x01(\t\x1a\\\n\x1e\x43redentialExpirationTimesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12)\n\x05value\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp:\x02\x38\x01J\x04\x08\x02\x10\x03R\x18\x63redential_expires_at_ms\"\x94\x01\n\x15\x44\x65leteProviderRequest\x12\x42\n\x0fworkspace_scope\x18\x03 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rallow_missing\x18\x04 \x01(\x08\x12\x12\n\nrequest_id\x18\x05 \x01(\t\"\x9b\x01\n\x10ProviderResponse\x12\x32\n\x08provider\x18\x01 \x01(\x0b\x32 .openshell.datamodel.v1.Provider\x12>\n\x0ftarget_receipts\x18\x02 \x03(\x0b\x32%.openshell.v1.ProviderMutationReceipt\x12\x13\n\x0bmutation_id\x18\x03 \x01(\t\"e\n\x15ListProvidersResponse\x12\x33\n\tproviders\x18\x01 \x03(\x0b\x32 .openshell.datamodel.v1.Provider\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\x88\x01\n\x1bListProviderProfilesRequest\x12\x42\n\x0fworkspace_scope\x18\x03 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x11\n\tpage_size\x18\x01 \x01(\x05\x12\x12\n\npage_token\x18\x02 \x01(\t\"k\n\x19GetProviderProfileRequest\x12\x42\n\x0fworkspace_scope\x18\x02 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\n\n\x02id\x18\x01 \x01(\t\"[\n\x19ProviderProfileImportItem\x12.\n\x07profile\x18\x01 \x01(\x0b\x32\x1d.openshell.v1.ProviderProfile\x12\x0e\n\x06source\x18\x02 \x01(\t\"q\n\x19ProviderProfileDiagnostic\x12\x0e\n\x06source\x18\x01 \x01(\t\x12\x12\n\nprofile_id\x18\x02 \x01(\t\x12\r\n\x05\x66ield\x18\x03 \x01(\t\x12\x0f\n\x07message\x18\x04 \x01(\t\x12\x10\n\x08severity\x18\x05 \x01(\t\"z\n,ProviderCredentialTokenGrantAudienceOverride\x12\x0c\n\x04host\x18\x01 \x01(\t\x12\x0c\n\x04port\x18\x02 \x01(\r\x12\x0c\n\x04path\x18\x03 \x01(\t\x12\x10\n\x08\x61udience\x18\x04 \x01(\t\x12\x0e\n\x06scopes\x18\x05 \x03(\t\"j\n(ProviderCredentialTokenGrantSubjectToken\x12\x0e\n\x06source\x18\x01 \x01(\t\x12\x12\n\ncredential\x18\x02 \x01(\t\x12\x1a\n\x12subject_token_type\x18\x03 \x01(\t\"\xe2\x03\n\x1cProviderCredentialTokenGrant\x12\x16\n\x0etoken_endpoint\x18\x01 \x01(\t\x12\x10\n\x08\x61udience\x18\x02 \x01(\t\x12\x19\n\x11jwt_svid_audience\x18\x06 \x01(\t\x12\x0e\n\x06scopes\x18\x03 \x03(\t\x12,\n\tcache_ttl\x18h \x01(\x0b\x32\x19.google.protobuf.Duration\x12V\n\x12\x61udience_overrides\x18\x05 \x03(\x0b\x32:.openshell.v1.ProviderCredentialTokenGrantAudienceOverride\x12\x1d\n\x15\x63lient_assertion_type\x18\x07 \x01(\t\x12\x42\n\ngrant_type\x18\x08 \x01(\x0e\x32..openshell.v1.ProviderCredentialTokenGrantType\x12M\n\rsubject_token\x18\t \x01(\x0b\x32\x36.openshell.v1.ProviderCredentialTokenGrantSubjectToken\x12\x1c\n\x14requested_token_type\x18\n \x01(\tJ\x04\x08\x04\x10\x05R\x11\x63\x61\x63he_ttl_seconds\"\xea\x02\n\x19ProviderProfileCredential\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x10\n\x08\x65nv_vars\x18\x03 \x03(\t\x12\x10\n\x08required\x18\x04 \x01(\x08\x12\x12\n\nauth_style\x18\x05 \x01(\t\x12\x13\n\x0bheader_name\x18\x06 \x01(\t\x12\x13\n\x0bquery_param\x18\x07 \x01(\t\x12\x38\n\x07refresh\x18\x08 \x01(\x0b\x32\'.openshell.v1.ProviderCredentialRefresh\x12\x15\n\rpath_template\x18\t \x01(\t\x12?\n\x0btoken_grant\x18\n \x01(\x0b\x32*.openshell.v1.ProviderCredentialTokenGrant\x12\x1a\n\x12token_grant_owners\x18\x0b \x03(\t\x12\x1a\n\x12stable_placeholder\x18\x0c \x01(\x08\"h\n!ProviderCredentialRefreshMaterial\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x10\n\x08required\x18\x03 \x01(\x08\x12\x0e\n\x06secret\x18\x04 \x01(\x08\"E\n\x1fProviderCredentialRefreshOutput\x12\x0e\n\x06output\x18\x01 \x01(\t\x12\x12\n\ncredential\x18\x02 \x01(\t\"\xad\x03\n\x19ProviderCredentialRefresh\x12\x41\n\x08strategy\x18\x01 \x01(\x0e\x32/.openshell.v1.ProviderCredentialRefreshStrategy\x12\x11\n\ttoken_url\x18\x02 \x01(\t\x12\x0e\n\x06scopes\x18\x03 \x03(\t\x12\x31\n\x0erefresh_before\x18h \x01(\x0b\x32\x19.google.protobuf.Duration\x12/\n\x0cmax_lifetime\x18i \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x41\n\x08material\x18\x06 \x03(\x0b\x32/.openshell.v1.ProviderCredentialRefreshMaterial\x12I\n\x12\x61\x64\x64itional_outputs\x18\x07 \x03(\x0b\x32-.openshell.v1.ProviderCredentialRefreshOutputJ\x04\x08\x04\x10\x05J\x04\x08\x05\x10\x06R\x16refresh_before_secondsR\x14max_lifetime_seconds\"\x86\x05\n\x1fProviderCredentialRefreshStatus\x12\x10\n\x08provider\x18\x01 \x01(\t\x12\x13\n\x0bprovider_id\x18\x02 \x01(\t\x12\x16\n\x0e\x63redential_key\x18\x03 \x01(\t\x12\x41\n\x08strategy\x18\x04 \x01(\x0e\x32/.openshell.v1.ProviderCredentialRefreshStrategy\x12\x0e\n\x06status\x18\x05 \x01(\t\x12\x33\n\x0f\x65xpiration_time\x18j \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x35\n\x11next_refresh_time\x18k \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x35\n\x11last_refresh_time\x18l \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x12\n\nlast_error\x18\t \x01(\t\x12N\n\x0frecovery_action\x18\n \x01(\x0e\x32\x35.openshell.v1.ProviderCredentialRefreshRecoveryAction\x12\x14\n\x0c\x66\x61ilure_code\x18\x0b \x01(\t\x12\x1e\n\x16provider_error_subtype\x18\x0c \x01(\t\x12\x33\n\x0flast_error_time\x18q \x01(\x0b\x32\x1a.google.protobuf.TimestampJ\x04\x08\x06\x10\x07J\x04\x08\x07\x10\x08J\x04\x08\x08\x10\tJ\x04\x08\r\x10\x0eR\rexpires_at_msR\x12next_refresh_at_msR\x12last_refresh_at_msR\x10last_error_at_ms\"/\n\x18ProviderProfileDiscovery\x12\x13\n\x0b\x63redentials\x18\x01 \x03(\t\"\x8f\x01\n\x1fGetProviderRefreshStatusRequest\x12\x42\n\x0fworkspace_scope\x18\x03 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x10\n\x08provider\x18\x01 \x01(\t\x12\x16\n\x0e\x63redential_key\x18\x02 \x01(\t\"f\n GetProviderRefreshStatusResponse\x12\x42\n\x0b\x63redentials\x18\x01 \x03(\x0b\x32-.openshell.v1.ProviderCredentialRefreshStatus\"\xd4\x03\n\x1f\x43onfigureProviderRefreshRequest\x12\x42\n\x0fworkspace_scope\x18\x07 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x10\n\x08provider\x18\x01 \x01(\t\x12\x16\n\x0e\x63redential_key\x18\x02 \x01(\t\x12\x41\n\x08strategy\x18\x03 \x01(\x0e\x32/.openshell.v1.ProviderCredentialRefreshStrategy\x12S\n\x08material\x18\x04 \x03(\x0b\x32;.openshell.v1.ConfigureProviderRefreshRequest.MaterialEntryB\x04\x88\xb5\x18\x01\x12\x1c\n\x14secret_material_keys\x18\x05 \x03(\t\x12\x33\n\x0f\x65xpiration_time\x18j \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x12\n\nrequest_id\x18\x08 \x01(\t\x1a/\n\rMaterialEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01J\x04\x08\x06\x10\x07R\rexpires_at_ms\"a\n ConfigureProviderRefreshResponse\x12=\n\x06status\x18\x01 \x01(\x0b\x32-.openshell.v1.ProviderCredentialRefreshStatus\"\xa3\x01\n\x1fRotateProviderCredentialRequest\x12\x42\n\x0fworkspace_scope\x18\x03 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x10\n\x08provider\x18\x01 \x01(\t\x12\x16\n\x0e\x63redential_key\x18\x02 \x01(\t\x12\x12\n\nrequest_id\x18\x04 \x01(\t\"a\n RotateProviderCredentialResponse\x12=\n\x06status\x18\x01 \x01(\x0b\x32-.openshell.v1.ProviderCredentialRefreshStatus\"\xb7\x01\n\x1c\x44\x65leteProviderRefreshRequest\x12\x42\n\x0fworkspace_scope\x18\x04 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x10\n\x08provider\x18\x01 \x01(\t\x12\x16\n\x0e\x63redential_key\x18\x02 \x01(\t\x12\x15\n\rallow_missing\x18\x05 \x01(\x08\x12\x12\n\nrequest_id\x18\x06 \x01(\t\"^\n\x1d\x44\x65leteProviderRefreshResponse\x12.\n\x07outcome\x18\x02 \x01(\x0e\x32\x1d.openshell.v1.DeletionOutcomeJ\x04\x08\x01\x10\x02R\x07\x64\x65leted\"\xea\x04\n\x0fProviderProfile\x12\n\n\x02id\x18\x01 \x01(\t\x12\x14\n\x0c\x64isplay_name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x37\n\x08\x63\x61tegory\x18\x04 \x01(\x0e\x32%.openshell.v1.ProviderProfileCategory\x12<\n\x0b\x63redentials\x18\x05 \x03(\x0b\x32\'.openshell.v1.ProviderProfileCredential\x12\x38\n\tendpoints\x18\x06 \x03(\x0b\x32%.openshell.sandbox.v1.NetworkEndpoint\x12\x35\n\x08\x62inaries\x18\x07 \x03(\x0b\x32#.openshell.sandbox.v1.NetworkBinary\x12\x19\n\x11inference_capable\x18\x08 \x01(\x08\x12\x39\n\tdiscovery\x18\t \x01(\x0b\x32&.openshell.v1.ProviderProfileDiscovery\x12\x18\n\x10resource_version\x18\n \x01(\x04\x12\x43\n\x0b\x61nnotations\x18\x0b \x03(\x0b\x32..openshell.v1.ProviderProfile.AnnotationsEntry\x12\x0e\n\x06source\x18\x0c \x01(\t\x12\r\n\x05scope\x18\r \x01(\t\x12\x30\n\x05\x66iles\x18\x0e \x03(\x0b\x32!.openshell.v1.ProviderProfileFile\x1a\x32\n\x10\x41nnotationsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"E\n\x13ProviderProfileFile\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x0f\n\x07\x63ontent\x18\x02 \x01(\t\x12\x0f\n\x07\x65nv_var\x18\x03 \x01(\t\"I\n\x17ProviderProfileResponse\x12.\n\x07profile\x18\x01 \x01(\x0b\x32\x1d.openshell.v1.ProviderProfile\"h\n\x1cListProviderProfilesResponse\x12/\n\x08profiles\x18\x01 \x03(\x0b\x32\x1d.openshell.v1.ProviderProfile\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\xb2\x01\n\x1dImportProviderProfilesRequest\x12\x42\n\x0fworkspace_scope\x18\x02 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x39\n\x08profiles\x18\x01 \x03(\x0b\x32\'.openshell.v1.ProviderProfileImportItem\x12\x12\n\nrequest_id\x18\x03 \x01(\t\"\xa1\x01\n\x1eImportProviderProfilesResponse\x12<\n\x0b\x64iagnostics\x18\x01 \x03(\x0b\x32\'.openshell.v1.ProviderProfileDiagnostic\x12/\n\x08profiles\x18\x02 \x03(\x0b\x32\x1d.openshell.v1.ProviderProfile\x12\x10\n\x08imported\x18\x03 \x01(\x08\"\xe0\x01\n\x1dUpdateProviderProfilesRequest\x12\x42\n\x0fworkspace_scope\x18\x04 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x38\n\x07profile\x18\x01 \x01(\x0b\x32\'.openshell.v1.ProviderProfileImportItem\x12!\n\x19\x65xpected_resource_version\x18\x02 \x01(\x04\x12\n\n\x02id\x18\x03 \x01(\t\x12\x12\n\nrequest_id\x18\x05 \x01(\t\"\x9f\x01\n\x1eUpdateProviderProfilesResponse\x12<\n\x0b\x64iagnostics\x18\x01 \x03(\x0b\x32\'.openshell.v1.ProviderProfileDiagnostic\x12.\n\x07profile\x18\x02 \x01(\x0b\x32\x1d.openshell.v1.ProviderProfile\x12\x0f\n\x07updated\x18\x03 \x01(\x08\"\x9c\x01\n\x1bLintProviderProfilesRequest\x12\x42\n\x0fworkspace_scope\x18\x02 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x39\n\x08profiles\x18\x01 \x03(\x0b\x32\'.openshell.v1.ProviderProfileImportItem\"\x90\x01\n\x1cLintProviderProfilesResponse\x12<\n\x0b\x64iagnostics\x18\x01 \x03(\x0b\x32\'.openshell.v1.ProviderProfileDiagnostic\x12\r\n\x05valid\x18\x02 \x01(\x08\x12#\n\x1bsupports_stable_placeholder\x18\x03 \x01(\x08\"W\n\x16\x44\x65leteProviderResponse\x12.\n\x07outcome\x18\x02 \x01(\x0e\x32\x1d.openshell.v1.DeletionOutcomeJ\x04\x08\x01\x10\x02R\x07\x64\x65leted\"\x99\x01\n\x1c\x44\x65leteProviderProfileRequest\x12\x42\n\x0fworkspace_scope\x18\x02 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\n\n\x02id\x18\x01 \x01(\t\x12\x15\n\rallow_missing\x18\x03 \x01(\x08\x12\x12\n\nrequest_id\x18\x04 \x01(\t\"^\n\x1d\x44\x65leteProviderProfileResponse\x12.\n\x07outcome\x18\x02 \x01(\x0e\x32\x1d.openshell.v1.DeletionOutcomeJ\x04\x08\x01\x10\x02R\x07\x64\x65leted\"\x9d\x01\n$GetSandboxProviderEnvironmentRequest\x12\x12\n\nsandbox_id\x18\x01 \x01(\t\x12+\n#supports_static_credential_bindings\x18\x02 \x01(\x08\x12\x34\n,supports_stable_placeholder_environment_keys\x18\x03 \x01(\x08\"K\n\x1fStaticCredentialEndpointBinding\x12\x0c\n\x04host\x18\x01 \x01(\t\x12\x0c\n\x04port\x18\x02 \x01(\r\x12\x0c\n\x04path\x18\x03 \x01(\t\"\x9c\x01\n\x17StaticCredentialBinding\x12@\n\tendpoints\x18\x01 \x03(\x0b\x32-.openshell.v1.StaticCredentialEndpointBinding\x12\x1b\n\x13\x63redential_identity\x18\x02 \x01(\t\x12\"\n\x1aworkload_credential_handle\x18\x03 \x01(\t\"\xfd\t\n%GetSandboxProviderEnvironmentResponse\x12_\n\x0b\x65nvironment\x18\x01 \x03(\x0b\x32\x44.openshell.v1.GetSandboxProviderEnvironmentResponse.EnvironmentEntryB\x04\x88\xb5\x18\x01\x12\x1d\n\x15provider_env_revision\x18\x02 \x01(\x04\x12w\n\x1b\x63redential_expiration_times\x18g \x03(\x0b\x32R.openshell.v1.GetSandboxProviderEnvironmentResponse.CredentialExpirationTimesEntry\x12h\n\x13\x64ynamic_credentials\x18\x04 \x03(\x0b\x32K.openshell.v1.GetSandboxProviderEnvironmentResponse.DynamicCredentialsEntry\x12u\n\x1astatic_credential_bindings\x18\x05 \x03(\x0b\x32Q.openshell.v1.GetSandboxProviderEnvironmentResponse.StaticCredentialBindingsEntry\x12#\n\x1bnon_secret_environment_keys\x18\x06 \x03(\t\x12!\n\x19provider_attachment_epoch\x18\x07 \x01(\t\x12\x13\n\x0bpolicy_hash\x18\x08 \x01(\t\x12?\n\x10readiness_reason\x18\t \x01(\x0e\x32%.openshell.v1.ProviderReadinessReason\x12M\n\x05\x66iles\x18\n \x03(\x0b\x32>.openshell.v1.GetSandboxProviderEnvironmentResponse.FilesEntry\x12+\n#stable_placeholder_environment_keys\x18\x0b \x03(\t\x12\x34\n,supports_stable_placeholder_environment_keys\x18\x0c \x01(\x08\x1a\x32\n\x10\x45nvironmentEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\\\n\x1e\x43redentialExpirationTimesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12)\n\x05value\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp:\x02\x38\x01\x1a\x62\n\x17\x44ynamicCredentialsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x36\n\x05value\x18\x02 \x01(\x0b\x32\'.openshell.v1.ProviderProfileCredential:\x02\x38\x01\x1a\x66\n\x1dStaticCredentialBindingsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x34\n\x05value\x18\x02 \x01(\x0b\x32%.openshell.v1.StaticCredentialBinding:\x02\x38\x01\x1a,\n\nFilesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01J\x04\x08\x03\x10\x04R\x18\x63redential_expires_at_ms\"\xa6\x02\n\x18ProviderEnvironmentValue\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x05value\x18\x02 \x01(\tB\x04\x88\xb5\x18\x01\x12L\n\x0e\x63lassification\x18\x04 \x01(\x0e\x32\x34.openshell.v1.ProviderEnvironmentValueClassification\x12H\n\x19static_credential_binding\x18\x05 \x01(\x0b\x32%.openshell.v1.StaticCredentialBinding\x12\x33\n\x0f\x65xpiration_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1a\n\x12stable_placeholder\x18\x06 \x01(\x08\"\xa4\x04\n\x1bProviderEnvironmentSnapshot\x12\x1d\n\x15provider_env_revision\x18\x01 \x01(\x04\x12\x36\n\x06values\x18\x02 \x03(\x0b\x32&.openshell.v1.ProviderEnvironmentValue\x12^\n\x13\x64ynamic_credentials\x18\x03 \x03(\x0b\x32\x41.openshell.v1.ProviderEnvironmentSnapshot.DynamicCredentialsEntry\x12!\n\x19provider_attachment_epoch\x18\x04 \x01(\t\x12\x13\n\x0bpolicy_hash\x18\x05 \x01(\t\x12?\n\x10readiness_reason\x18\x06 \x01(\x0e\x32%.openshell.v1.ProviderReadinessReason\x12\x43\n\x05\x66iles\x18\x07 \x03(\x0b\x32\x34.openshell.v1.ProviderEnvironmentSnapshot.FilesEntry\x1a\x62\n\x17\x44ynamicCredentialsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x36\n\x05value\x18\x02 \x01(\x0b\x32\'.openshell.v1.ProviderProfileCredential:\x02\x38\x01\x1a,\n\nFilesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x86\x01\n#ExchangeProviderSubjectTokenRequest\x12\x12\n\nsandbox_id\x18\x01 \x01(\t\x12\x10\n\x08provider\x18\x02 \x01(\t\x12\x16\n\x0e\x63redential_key\x18\x03 \x01(\t\x12!\n\x13supervisor_jwt_svid\x18\x04 \x01(\tB\x04\x88\xb5\x18\x01\"\x9a\x01\n$ExchangeProviderSubjectTokenResponse\x12\x1a\n\x0c\x61\x63\x63\x65ss_token\x18\x01 \x01(\tB\x04\x88\xb5\x18\x01\x12\x30\n\rexpires_after\x18\x66 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x12\n\ntoken_type\x18\x03 \x01(\tJ\x04\x08\x02\x10\x03R\nexpires_in\"\x89\x04\n\x13UpdateConfigRequest\x12\x42\n\x0fworkspace_scope\x18\n \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x33\n\x06policy\x18\x02 \x01(\x0b\x32#.openshell.sandbox.v1.SandboxPolicy\x12\x13\n\x0bsetting_key\x18\x03 \x01(\t\x12\x39\n\rsetting_value\x18\x04 \x01(\x0b\x32\".openshell.sandbox.v1.SettingValue\x12\x16\n\x0e\x64\x65lete_setting\x18\x05 \x01(\x08\x12\x0e\n\x06global\x18\x06 \x01(\x08\x12<\n\x10merge_operations\x18\x07 \x03(\x0b\x32\".openshell.v1.PolicyMergeOperation\x12!\n\x19\x65xpected_resource_version\x18\x08 \x01(\x04\x12G\n\x0b\x61nnotations\x18\t \x03(\x0b\x32\x32.openshell.v1.UpdateConfigRequest.AnnotationsEntry\x12\x0f\n\x07sandbox\x18\x01 \x01(\t\x12\x12\n\nrequest_id\x18\x0b \x01(\t\x1a\x32\n\x10\x41nnotationsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xf7\x02\n\x14PolicyMergeOperation\x12\x30\n\x08\x61\x64\x64_rule\x18\x01 \x01(\x0b\x32\x1c.openshell.v1.AddNetworkRuleH\x00\x12>\n\x0fremove_endpoint\x18\x02 \x01(\x0b\x32#.openshell.v1.RemoveNetworkEndpointH\x00\x12\x36\n\x0bremove_rule\x18\x03 \x01(\x0b\x32\x1f.openshell.v1.RemoveNetworkRuleH\x00\x12\x34\n\x0e\x61\x64\x64_deny_rules\x18\x04 \x01(\x0b\x32\x1a.openshell.v1.AddDenyRulesH\x00\x12\x36\n\x0f\x61\x64\x64_allow_rules\x18\x05 \x01(\x0b\x32\x1b.openshell.v1.AddAllowRulesH\x00\x12:\n\rremove_binary\x18\x06 \x01(\x0b\x32!.openshell.v1.RemoveNetworkBinaryH\x00\x42\x0b\n\toperation\"Z\n\x0e\x41\x64\x64NetworkRule\x12\x11\n\trule_name\x18\x01 \x01(\t\x12\x35\n\x04rule\x18\x02 \x01(\x0b\x32\'.openshell.sandbox.v1.NetworkPolicyRule\"F\n\x15RemoveNetworkEndpoint\x12\x11\n\trule_name\x18\x01 \x01(\t\x12\x0c\n\x04host\x18\x02 \x01(\t\x12\x0c\n\x04port\x18\x03 \x01(\r\"&\n\x11RemoveNetworkRule\x12\x11\n\trule_name\x18\x01 \x01(\t\"\xa5\x01\n\x0cL7RuleTarget\x12\x11\n\trule_name\x18\x01 \x01(\t\x12\x0c\n\x04host\x18\x02 \x01(\t\x12\r\n\x05ports\x18\x03 \x03(\r\x12\x11\n\x04path\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x35\n\x08\x62inaries\x18\x05 \x03(\x0b\x32#.openshell.sandbox.v1.NetworkBinary\x12\x12\n\nany_binary\x18\x06 \x01(\x08\x42\x07\n\x05_path\"\x88\x01\n\x0c\x41\x64\x64\x44\x65nyRules\x12\x34\n\ndeny_rules\x18\x03 \x03(\x0b\x32 .openshell.sandbox.v1.L7DenyRule\x12*\n\x06target\x18\x04 \x01(\x0b\x32\x1a.openshell.v1.L7RuleTargetJ\x04\x08\x01\x10\x02J\x04\x08\x02\x10\x03R\x04hostR\x04port\"\x80\x01\n\rAddAllowRules\x12+\n\x05rules\x18\x03 \x03(\x0b\x32\x1c.openshell.sandbox.v1.L7Rule\x12*\n\x06target\x18\x04 \x01(\x0b\x32\x1a.openshell.v1.L7RuleTargetJ\x04\x08\x01\x10\x02J\x04\x08\x02\x10\x03R\x04hostR\x04port\"=\n\x13RemoveNetworkBinary\x12\x11\n\trule_name\x18\x01 \x01(\t\x12\x13\n\x0b\x62inary_path\x18\x02 \x01(\t\"\xe6\x01\n\x14UpdateConfigResponse\x12\x0f\n\x07version\x18\x01 \x01(\r\x12\x13\n\x0bpolicy_hash\x18\x02 \x01(\t\x12\x19\n\x11settings_revision\x18\x03 \x01(\x04\x12\x0f\n\x07\x64\x65leted\x18\x04 \x01(\x08\x12H\n\x0b\x61nnotations\x18\x05 \x03(\x0b\x32\x33.openshell.v1.UpdateConfigResponse.AnnotationsEntry\x1a\x32\n\x10\x41nnotationsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x95\x01\n\x1dGetSandboxPolicyStatusRequest\x12\x42\n\x0fworkspace_scope\x18\x04 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x0f\n\x07version\x18\x02 \x01(\r\x12\x0e\n\x06global\x18\x03 \x01(\x08\x12\x0f\n\x07sandbox\x18\x01 \x01(\t\"o\n\x1eGetSandboxPolicyStatusResponse\x12\x35\n\x08revision\x18\x01 \x01(\x0b\x32#.openshell.v1.SandboxPolicyRevision\x12\x16\n\x0e\x61\x63tive_version\x18\x02 \x01(\r\"\xa8\x01\n\x1aListSandboxPoliciesRequest\x12\x42\n\x0fworkspace_scope\x18\x05 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x0e\n\x06global\x18\x04 \x01(\x08\x12\x0f\n\x07sandbox\x18\x01 \x01(\t\"n\n\x1bListSandboxPoliciesResponse\x12\x36\n\trevisions\x18\x01 \x03(\x0b\x32#.openshell.v1.SandboxPolicyRevision\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\x80\x01\n\x19ReportPolicyStatusRequest\x12\x12\n\nsandbox_id\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\r\x12*\n\x06status\x18\x03 \x01(\x0e\x32\x1a.openshell.v1.PolicyStatus\x12\x12\n\nload_error\x18\x04 \x01(\t\"\x1c\n\x1aReportPolicyStatusResponse\"\xe2\x01\n\x1dSandboxConfigurationAdmission\x12\x13\n\x0binstance_id\x18\x01 \x01(\t\x12\x38\n\x05state\x18\x02 \x01(\x0e\x32).openshell.v1.ConfigurationAdmissionState\x12\x16\n\x0epolicy_version\x18\x03 \x01(\r\x12\x13\n\x0bpolicy_hash\x18\x04 \x01(\t\x12\x17\n\x0f\x63onfig_revision\x18\x05 \x01(\x04\x12\x1d\n\x15provider_env_revision\x18\x06 \x01(\x04\x12\r\n\x05\x65rror\x18\x07 \x01(\t\"\x95\x01\n!ReportSandboxConfigurationRequest\x12\x12\n\nsandbox_id\x18\x01 \x01(\t\x12>\n\tadmission\x18\x02 \x01(\x0b\x32+.openshell.v1.SandboxConfigurationAdmission\x12\x1c\n\x14\x65xpected_instance_id\x18\x03 \x01(\t\"$\n\"ReportSandboxConfigurationResponse\"\xba\x03\n\x15SandboxPolicyRevision\x12\x0f\n\x07version\x18\x01 \x01(\r\x12\x13\n\x0bpolicy_hash\x18\x02 \x01(\t\x12*\n\x06status\x18\x03 \x01(\x0e\x32\x1a.openshell.v1.PolicyStatus\x12\x12\n\nload_error\x18\x04 \x01(\t\x12\x30\n\x0c\x63reated_time\x18i \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0bloaded_time\x18j \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x33\n\x06policy\x18\x07 \x01(\x0b\x32#.openshell.sandbox.v1.SandboxPolicy\x12G\n\nprovenance\x18\x08 \x03(\x0b\x32\x33.openshell.v1.SandboxPolicyRevision.ProvenanceEntry\x1a\x31\n\x0fProvenanceEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01J\x04\x08\x05\x10\x06J\x04\x08\x06\x10\x07R\rcreated_at_msR\x0cloaded_at_ms\"\xdf\x01\n\x15GetSandboxLogsRequest\x12\x42\n\x0fworkspace_scope\x18\x06 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x0f\n\x07sandbox\x18\x01 \x01(\t\x12\r\n\x05lines\x18\x02 \x01(\r\x12.\n\nsince_time\x18g \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0f\n\x07sources\x18\x04 \x03(\t\x12\x11\n\tmin_level\x18\x05 \x01(\tJ\x04\x08\x03\x10\x04R\x08since_ms\"X\n\x16PushSandboxLogsRequest\x12\x12\n\nsandbox_id\x18\x01 \x01(\t\x12*\n\x04logs\x18\x02 \x03(\x0b\x32\x1c.openshell.v1.SandboxLogLine\"\x19\n\x17PushSandboxLogsResponse\"Z\n\x16GetSandboxLogsResponse\x12*\n\x04logs\x18\x01 \x03(\x0b\x32\x1c.openshell.v1.SandboxLogLine\x12\x14\n\x0c\x62uffer_total\x18\x02 \x01(\r\"\xb5\x02\n\x11SupervisorMessage\x12.\n\x05hello\x18\x01 \x01(\x0b\x32\x1d.openshell.v1.SupervisorHelloH\x00\x12\x36\n\theartbeat\x18\x02 \x01(\x0b\x32!.openshell.v1.SupervisorHeartbeatH\x00\x12:\n\x11relay_open_result\x18\x03 \x01(\x0b\x32\x1d.openshell.v1.RelayOpenResultH\x00\x12/\n\x0brelay_close\x18\x04 \x01(\x0b\x32\x18.openshell.v1.RelayCloseH\x00\x12@\n\x14\x63onfig_update_result\x18\x05 \x01(\x0b\x32 .openshell.v1.ConfigUpdateResultH\x00\x42\t\n\x07payload\"\x96\x03\n\x0eGatewayMessage\x12\x39\n\x10session_accepted\x18\x01 \x01(\x0b\x32\x1d.openshell.v1.SessionAcceptedH\x00\x12\x39\n\x10session_rejected\x18\x02 \x01(\x0b\x32\x1d.openshell.v1.SessionRejectedH\x00\x12\x33\n\theartbeat\x18\x03 \x01(\x0b\x32\x1e.openshell.v1.GatewayHeartbeatH\x00\x12-\n\nrelay_open\x18\x04 \x01(\x0b\x32\x17.openshell.v1.RelayOpenH\x00\x12/\n\x0brelay_close\x18\x05 \x01(\x0b\x32\x18.openshell.v1.RelayCloseH\x00\x12\x39\n\x10session_redirect\x18\x06 \x01(\x0b\x32\x1d.openshell.v1.SessionRedirectH\x00\x12\x33\n\rconfig_update\x18\x07 \x01(\x0b\x32\x1a.openshell.v1.ConfigUpdateH\x00\x42\t\n\x07payload\"\xce\x01\n\x0fSupervisorHello\x12\x12\n\nsandbox_id\x18\x01 \x01(\t\x12\x13\n\x0binstance_id\x18\x02 \x01(\t\x12\x18\n\x10\x63onnection_epoch\x18\x03 \x01(\x04\x12#\n\x1bsupports_provider_readiness\x18\x04 \x01(\x08\x12\x12\n\nredirected\x18\x05 \x01(\x08\x12!\n\x19supports_session_redirect\x18\x06 \x01(\x08\x12\x1c\n\x14supports_config_push\x18\x07 \x01(\x08\"\xc7\x01\n\x0fSessionAccepted\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12-\n\tbootstrap\x18\x03 \x01(\x0b\x32\x1a.openshell.v1.ConfigUpdate\x12\x1b\n\x13\x63onfig_push_enabled\x18\x04 \x01(\x08\x12\x35\n\x12heartbeat_interval\x18\x66 \x01(\x0b\x32\x19.google.protobuf.DurationJ\x04\x08\x02\x10\x03R\x17heartbeat_interval_secs\"\xaf\x01\n\x0c\x43onfigUpdate\x12\x11\n\tupdate_id\x18\x01 \x01(\t\x12\x43\n\x0esandbox_config\x18\x02 \x01(\x0b\x32+.openshell.sandbox.v1.SandboxConfigSnapshot\x12G\n\x14provider_environment\x18\x03 \x01(\x0b\x32).openshell.v1.ProviderEnvironmentSnapshot\"F\n\x12\x43onfigApplyFailure\x12\x0c\n\x04\x63ode\x18\x01 \x01(\t\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\x11\n\tretryable\x18\x03 \x01(\x08\"\x82\x02\n\x12\x43onfigUpdateResult\x12\x11\n\tupdate_id\x18\x01 \x01(\t\x12\x31\n\x07outcome\x18\x02 \x01(\x0e\x32 .openshell.v1.ConfigApplyOutcome\x12\x31\n\x07\x66\x61ilure\x18\x03 \x01(\x0b\x32 .openshell.v1.ConfigApplyFailure\x12>\n\tadmission\x18\x04 \x01(\x0b\x32+.openshell.v1.SandboxConfigurationAdmission\x12\x33\n\x0bpolicy_load\x18\x05 \x01(\x0b\x32\x1e.openshell.v1.PolicyLoadResult\"B\n\x10PolicyLoadResult\x12\x0f\n\x07version\x18\x01 \x01(\r\x12\x0e\n\x06loaded\x18\x02 \x01(\x08\x12\r\n\x05\x65rror\x18\x03 \x01(\t\"!\n\x0fSessionRejected\x12\x0e\n\x06reason\x18\x01 \x01(\t\"B\n\x0fSessionRedirect\x12\x15\n\rpeer_endpoint\x18\x01 \x01(\t\x12\x18\n\x10owner_replica_id\x18\x02 \x01(\t\"\x15\n\x13SupervisorHeartbeat\"\x12\n\x10GatewayHeartbeat\"Z\n\x1cReportMainProcessExitRequest\x12\x12\n\nsandbox_id\x18\x01 \x01(\t\x12\x13\n\x0binstance_id\x18\x02 \x01(\t\x12\x11\n\texit_code\x18\x03 \x01(\x05\"\x1f\n\x1dReportMainProcessExitResponse\"I\n\x1e\x46inalizeMainProcessExitRequest\x12\x12\n\nsandbox_id\x18\x01 \x01(\t\x12\x13\n\x0binstance_id\x18\x02 \x01(\t\"!\n\x1f\x46inalizeMainProcessExitResponse\"\x97\x01\n\tRelayOpen\x12\x12\n\nchannel_id\x18\x01 \x01(\t\x12+\n\x03ssh\x18\x02 \x01(\x0b\x32\x1c.openshell.v1.SshRelayTargetH\x00\x12+\n\x03tcp\x18\x03 \x01(\x0b\x32\x1c.openshell.v1.TcpRelayTargetH\x00\x12\x12\n\nservice_id\x18\x05 \x01(\tB\x08\n\x06target\"\x10\n\x0eSshRelayTarget\",\n\x0eTcpRelayTarget\x12\x0c\n\x04host\x18\x01 \x01(\t\x12\x0c\n\x04port\x18\x02 \x01(\r\"\x1f\n\tRelayInit\x12\x12\n\nchannel_id\x18\x01 \x01(\t\"P\n\nRelayFrame\x12\'\n\x04init\x18\x01 \x01(\x0b\x32\x17.openshell.v1.RelayInitH\x00\x12\x0e\n\x04\x64\x61ta\x18\x02 \x01(\x0cH\x00\x42\t\n\x07payload\"n\n\rPeerRelayInit\x12\x12\n\nsandbox_id\x18\x01 \x01(\t\x12+\n\nrelay_open\x18\x02 \x01(\x0b\x32\x17.openshell.v1.RelayOpen\x12\x1c\n\x14requester_replica_id\x18\x03 \x01(\t\"X\n\x0ePeerRelayFrame\x12+\n\x04init\x18\x01 \x01(\x0b\x32\x1b.openshell.v1.PeerRelayInitH\x00\x12\x0e\n\x04\x64\x61ta\x18\x02 \x01(\x0cH\x00\x42\t\n\x07payload\"A\n\x17PeerConfigSandboxTarget\x12\x12\n\nsandbox_id\x18\x01 \x01(\t\x12\x12\n\nsession_id\x18\x02 \x01(\t\";\n\x18PeerConfigProviderTarget\x12\x11\n\tworkspace\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"\xcc\x01\n\x1dPeerNotifyConfigUpdateRequest\x12\x38\n\x07sandbox\x18\x01 \x01(\x0b\x32%.openshell.v1.PeerConfigSandboxTargetH\x00\x12\x13\n\tworkspace\x18\x02 \x01(\tH\x00\x12\x17\n\rall_connected\x18\x03 \x01(\x08H\x00\x12:\n\x08provider\x18\x04 \x01(\x0b\x32&.openshell.v1.PeerConfigProviderTargetH\x00\x42\x07\n\x05scope\"5\n\x1ePeerNotifyConfigUpdateResponse\x12\x13\n\x0bstale_owner\x18\x01 \x01(\x08\"E\n\x0fRelayOpenResult\x12\x12\n\nchannel_id\x18\x01 \x01(\t\x12\x0f\n\x07success\x18\x02 \x01(\x08\x12\r\n\x05\x65rror\x18\x03 \x01(\t\"0\n\nRelayClose\x12\x12\n\nchannel_id\x18\x01 \x01(\t\x12\x0e\n\x06reason\x18\x02 \x01(\t\"P\n\x0fL7RequestSample\x12\x0e\n\x06method\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t\x12\x10\n\x08\x64\x65\x63ision\x18\x03 \x01(\t\x12\r\n\x05\x63ount\x18\x04 \x01(\r\"\xfa\x03\n\rDenialSummary\x12\x12\n\nsandbox_id\x18\x01 \x01(\t\x12\x0c\n\x04host\x18\x02 \x01(\t\x12\x0c\n\x04port\x18\x03 \x01(\r\x12\x0e\n\x06\x62inary\x18\x04 \x01(\t\x12\x11\n\tancestors\x18\x05 \x03(\t\x12\x13\n\x0b\x64\x65ny_reason\x18\x06 \x01(\t\x12\x33\n\x0f\x66irst_seen_time\x18k \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x32\n\x0elast_seen_time\x18l \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\r\n\x05\x63ount\x18\t \x01(\r\x12\x18\n\x10suppressed_count\x18\n \x01(\r\x12\x13\n\x0btotal_count\x18\x0b \x01(\r\x12\x17\n\x0fsample_cmdlines\x18\x0c \x03(\t\x12\x15\n\rbinary_sha256\x18\r \x01(\t\x12\x12\n\npersistent\x18\x0e \x01(\x08\x12\x14\n\x0c\x64\x65nial_stage\x18\x0f \x01(\t\x12\x39\n\x12l7_request_samples\x18\x10 \x03(\x0b\x32\x1d.openshell.v1.L7RequestSample\x12\x1c\n\x14l7_inspection_active\x18\x11 \x01(\x08J\x04\x08\x07\x10\x08J\x04\x08\x08\x10\tR\rfirst_seen_msR\x0clast_seen_ms\"<\n\x10\x44\x65nialGroupCount\x12\x12\n\ndeny_group\x18\x01 \x01(\t\x12\x14\n\x0c\x64\x65nied_count\x18\x02 \x01(\r\"\x8f\x01\n\x16NetworkActivitySummary\x12\x1e\n\x16network_activity_count\x18\x01 \x01(\r\x12\x1b\n\x13\x64\x65nied_action_count\x18\x02 \x01(\r\x12\x38\n\x10\x64\x65nials_by_group\x18\x03 \x03(\x0b\x32\x1e.openshell.v1.DenialGroupCount\"\x8c\x07\n\x0bPolicyChunk\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0e\n\x06status\x18\x02 \x01(\t\x12\x11\n\trule_name\x18\x03 \x01(\t\x12>\n\rproposed_rule\x18\x04 \x01(\x0b\x32\'.openshell.sandbox.v1.NetworkPolicyRule\x12\x11\n\trationale\x18\x05 \x01(\t\x12\x16\n\x0esecurity_notes\x18\x06 \x01(\t\x12\x12\n\nconfidence\x18\x07 \x01(\x02\x12\x1a\n\x12\x64\x65nial_summary_ids\x18\x08 \x03(\t\x12\x30\n\x0c\x63reated_time\x18m \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x0c\x64\x65\x63ided_time\x18n \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\r\n\x05stage\x18\x0b \x01(\t\x12\x1b\n\x13supersedes_chunk_id\x18\x0c \x01(\t\x12\x11\n\thit_count\x18\r \x01(\x05\x12\x33\n\x0f\x66irst_seen_time\x18r \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x32\n\x0elast_seen_time\x18s \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0e\n\x06\x62inary\x18\x10 \x01(\t\x12\x19\n\x11validation_result\x18\x11 \x01(\t\x12\x18\n\x10rejection_reason\x18\x12 \x01(\t\x12\x19\n\x11\x61pplication_error\x18\x13 \x01(\t\x12\x14\n\x0creview_token\x18\x14 \x01(\t\x12%\n\x1d\x63urrent_effective_policy_hash\x18\x15 \x01(\t\x12\'\n\x1f\x63\x61ndidate_effective_policy_hash\x18\x16 \x01(\t\x12\x45\n\x18\x63urrent_effective_policy\x18\x17 \x01(\x0b\x32#.openshell.sandbox.v1.SandboxPolicy\x12G\n\x1a\x63\x61ndidate_effective_policy\x18\x18 \x01(\x0b\x32#.openshell.sandbox.v1.SandboxPolicyJ\x04\x08\t\x10\nJ\x04\x08\n\x10\x0bJ\x04\x08\x0e\x10\x0fJ\x04\x08\x0f\x10\x10R\rcreated_at_msR\rdecided_at_msR\rfirst_seen_msR\x0clast_seen_ms\"f\n\x11\x44raftPolicyUpdate\x12\x15\n\rdraft_version\x18\x01 \x01(\x04\x12\x12\n\nnew_chunks\x18\x02 \x01(\r\x12\x15\n\rtotal_pending\x18\x03 \x01(\r\x12\x0f\n\x07summary\x18\x04 \x01(\t\"\xb4\x02\n\x1bSubmitPolicyAnalysisRequest\x12\x42\n\x0fworkspace_scope\x18\x06 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12.\n\tsummaries\x18\x01 \x03(\x0b\x32\x1b.openshell.v1.DenialSummary\x12\x32\n\x0fproposed_chunks\x18\x02 \x03(\x0b\x32\x19.openshell.v1.PolicyChunk\x12\x15\n\ranalysis_mode\x18\x03 \x01(\t\x12\x0c\n\x04name\x18\x04 \x01(\t\x12H\n\x1anetwork_activity_summaries\x18\x05 \x03(\x0b\x32$.openshell.v1.NetworkActivitySummary\"\x87\x01\n\x1cSubmitPolicyAnalysisResponse\x12\x17\n\x0f\x61\x63\x63\x65pted_chunks\x18\x01 \x01(\r\x12\x17\n\x0frejected_chunks\x18\x02 \x01(\r\x12\x19\n\x11rejection_reasons\x18\x03 \x03(\t\x12\x1a\n\x12\x61\x63\x63\x65pted_chunk_ids\x18\x04 \x03(\t\"\x83\x01\n\x15GetDraftPolicyRequest\x12\x42\n\x0fworkspace_scope\x18\x03 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x15\n\rstatus_filter\x18\x02 \x01(\t\x12\x0f\n\x07sandbox\x18\x01 \x01(\t\"\xc6\x01\n\x16GetDraftPolicyResponse\x12)\n\x06\x63hunks\x18\x01 \x03(\x0b\x32\x19.openshell.v1.PolicyChunk\x12\x17\n\x0frolling_summary\x18\x02 \x01(\t\x12\x15\n\rdraft_version\x18\x03 \x01(\x04\x12\x36\n\x12last_analyzed_time\x18h \x01(\x0b\x32\x1a.google.protobuf.TimestampJ\x04\x08\x04\x10\x05R\x13last_analyzed_at_ms\"\xab\x01\n\x18\x41pproveDraftChunkRequest\x12\x42\n\x0fworkspace_scope\x18\x03 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x10\n\x08\x63hunk_id\x18\x02 \x01(\t\x12\x14\n\x0creview_token\x18\x04 \x01(\t\x12\x0f\n\x07sandbox\x18\x01 \x01(\t\x12\x12\n\nrequest_id\x18\x05 \x01(\t\"H\n\x19\x41pproveDraftChunkResponse\x12\x16\n\x0epolicy_version\x18\x01 \x01(\r\x12\x13\n\x0bpolicy_hash\x18\x02 \x01(\t\"\xa4\x01\n\x17RejectDraftChunkRequest\x12\x42\n\x0fworkspace_scope\x18\x04 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x10\n\x08\x63hunk_id\x18\x02 \x01(\t\x12\x0e\n\x06reason\x18\x03 \x01(\t\x12\x0f\n\x07sandbox\x18\x01 \x01(\t\x12\x12\n\nrequest_id\x18\x05 \x01(\t\"\x1a\n\x18RejectDraftChunkResponse\"<\n\x12\x44raftChunkApproval\x12\x10\n\x08\x63hunk_id\x18\x01 \x01(\t\x12\x14\n\x0creview_token\x18\x02 \x01(\t\"\xde\x01\n\x1c\x41pproveAllDraftChunksRequest\x12\x42\n\x0fworkspace_scope\x18\x04 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12 \n\x18include_security_flagged\x18\x02 \x01(\x08\x12\x33\n\tapprovals\x18\x03 \x03(\x0b\x32 .openshell.v1.DraftChunkApproval\x12\x0f\n\x07sandbox\x18\x01 \x01(\t\x12\x12\n\nrequest_id\x18\x05 \x01(\t\"}\n\x1d\x41pproveAllDraftChunksResponse\x12\x16\n\x0epolicy_version\x18\x01 \x01(\r\x12\x13\n\x0bpolicy_hash\x18\x02 \x01(\t\x12\x17\n\x0f\x63hunks_approved\x18\x03 \x01(\r\x12\x16\n\x0e\x63hunks_skipped\x18\x04 \x01(\r\"\xd2\x01\n\x15\x45\x64itDraftChunkRequest\x12\x42\n\x0fworkspace_scope\x18\x04 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x10\n\x08\x63hunk_id\x18\x02 \x01(\t\x12>\n\rproposed_rule\x18\x03 \x01(\x0b\x32\'.openshell.sandbox.v1.NetworkPolicyRule\x12\x0f\n\x07sandbox\x18\x01 \x01(\t\x12\x12\n\nrequest_id\x18\x05 \x01(\t\"\x18\n\x16\x45\x64itDraftChunkResponse\"\x92\x01\n\x15UndoDraftChunkRequest\x12\x42\n\x0fworkspace_scope\x18\x03 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x10\n\x08\x63hunk_id\x18\x02 \x01(\t\x12\x0f\n\x07sandbox\x18\x01 \x01(\t\x12\x12\n\nrequest_id\x18\x04 \x01(\t\"E\n\x16UndoDraftChunkResponse\x12\x16\n\x0epolicy_version\x18\x01 \x01(\r\x12\x13\n\x0bpolicy_hash\x18\x02 \x01(\t\"\x82\x01\n\x17\x43learDraftChunksRequest\x12\x42\n\x0fworkspace_scope\x18\x02 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x0f\n\x07sandbox\x18\x01 \x01(\t\x12\x12\n\nrequest_id\x18\x03 \x01(\t\"2\n\x18\x43learDraftChunksResponse\x12\x16\n\x0e\x63hunks_cleared\x18\x01 \x01(\r\"m\n\x16GetDraftHistoryRequest\x12\x42\n\x0fworkspace_scope\x18\x02 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x0f\n\x07sandbox\x18\x01 \x01(\t\"\x92\x01\n\x11\x44raftHistoryEntry\x12.\n\nevent_time\x18\x65 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x12\n\nevent_type\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x10\n\x08\x63hunk_id\x18\x04 \x01(\tJ\x04\x08\x01\x10\x02R\x0ctimestamp_ms\"K\n\x17GetDraftHistoryResponse\x12\x30\n\x07\x65ntries\x18\x01 \x03(\x0b\x32\x1f.openshell.v1.DraftHistoryEntry\"\xab\x01\n\x16\x43reateWorkspaceRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12@\n\x06labels\x18\x02 \x03(\x0b\x32\x30.openshell.v1.CreateWorkspaceRequest.LabelsEntry\x12\x12\n\nrequest_id\x18\x03 \x01(\t\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"O\n\x17\x43reateWorkspaceResponse\x12\x34\n\tworkspace\x18\x01 \x01(\x0b\x32!.openshell.datamodel.v1.Workspace\"#\n\x13GetWorkspaceRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"L\n\x14GetWorkspaceResponse\x12\x34\n\tworkspace\x18\x01 \x01(\x0b\x32!.openshell.datamodel.v1.Workspace\"V\n\x15ListWorkspacesRequest\x12\x11\n\tpage_size\x18\x01 \x01(\x05\x12\x12\n\npage_token\x18\x02 \x01(\t\x12\x16\n\x0elabel_selector\x18\x03 \x01(\t\"h\n\x16ListWorkspacesResponse\x12\x35\n\nworkspaces\x18\x01 \x03(\x0b\x32!.openshell.datamodel.v1.Workspace\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"Q\n\x16\x44\x65leteWorkspaceRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rallow_missing\x18\x02 \x01(\x08\x12\x12\n\nrequest_id\x18\x03 \x01(\t\"X\n\x17\x44\x65leteWorkspaceResponse\x12.\n\x07outcome\x18\x02 \x01(\x0e\x32\x1d.openshell.v1.DeletionOutcomeJ\x04\x08\x01\x10\x02R\x07\x64\x65leted\"\x8d\x01\n\x0fWorkspaceMember\x12\x34\n\x08metadata\x18\x01 \x01(\x0b\x32\".openshell.datamodel.v1.ObjectMeta\x12\x19\n\x11principal_subject\x18\x02 \x01(\t\x12)\n\x04role\x18\x03 \x01(\x0e\x32\x1b.openshell.v1.WorkspaceRole\"\xb9\x01\n\x19\x41\x64\x64WorkspaceMemberRequest\x12\x42\n\x0fworkspace_scope\x18\x01 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x19\n\x11principal_subject\x18\x02 \x01(\t\x12)\n\x04role\x18\x03 \x01(\x0e\x32\x1b.openshell.v1.WorkspaceRole\x12\x12\n\nrequest_id\x18\x04 \x01(\t\"K\n\x1a\x41\x64\x64WorkspaceMemberResponse\x12-\n\x06member\x18\x01 \x01(\x0b\x32\x1d.openshell.v1.WorkspaceMember\"\xa8\x01\n\x1cRemoveWorkspaceMemberRequest\x12\x42\n\x0fworkspace_scope\x18\x01 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x19\n\x11principal_subject\x18\x02 \x01(\t\x12\x15\n\rallow_missing\x18\x03 \x01(\x08\x12\x12\n\nrequest_id\x18\x04 \x01(\t\"^\n\x1dRemoveWorkspaceMemberResponse\x12.\n\x07outcome\x18\x02 \x01(\x0e\x32\x1d.openshell.v1.DeletionOutcomeJ\x04\x08\x01\x10\x02R\x07removed\"\x88\x01\n\x1bListWorkspaceMembersRequest\x12\x42\n\x0fworkspace_scope\x18\x01 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\"g\n\x1cListWorkspaceMembersResponse\x12.\n\x07members\x18\x01 \x03(\x0b\x32\x1d.openshell.v1.WorkspaceMember\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\x91\x01\n\x1a\x45xtensionServiceCredential\x12\x14\n\x0cservice_name\x18\x01 \x01(\t\x12\x13\n\x05token\x18\x02 \x01(\tB\x04\x88\xb5\x18\x01\x12\x33\n\x0f\x65xpiration_time\x18g \x01(\x0b\x32\x1a.google.protobuf.TimestampJ\x04\x08\x03\x10\x04R\rexpires_at_ms\"\x88\x01\n\x13\x45ndpointObservation\x12\x13\n\x0b\x65ndpoint_id\x18\x01 \x01(\t\x12,\n\x06result\x18\x02 \x01(\x0e\x32\x1c.openshell.v1.EndpointResult\x12.\n\x07\x66\x61ilure\x18\x03 \x01(\x0b\x32\x1d.openshell.v1.EndpointFailure\"\xb1\x02\n\x1bReportEndpointStatusRequest\x12\x12\n\nsandbox_id\x18\x01 \x01(\t\x12\x13\n\x0bpolicy_hash\x18\x02 \x01(\t\x12\x1d\n\x15provider_env_revision\x18\x03 \x01(\x04\x12\x37\n\x0cobservations\x18\x04 \x03(\x0b\x32!.openshell.v1.EndpointObservation\x12\x1d\n\x15observed_endpoint_ids\x18\x05 \x03(\t\x12\x1d\n\x15supervisor_session_id\x18\x06 \x01(\t\x12\x17\n\x0freport_sequence\x18\x07 \x01(\x04\x12:\n\x12token_grant_status\x18\x08 \x01(\x0b\x32\x1e.openshell.v1.TokenGrantStatus\"T\n\x10TokenGrantStatus\x12@\n\x0clast_failure\x18\x01 \x01(\x0b\x32*.openshell.v1.TokenGrantFailureObservation\"\x82\x01\n\x1cTokenGrantFailureObservation\x12\x18\n\x10\x64\x65stination_host\x18\x01 \x01(\t\x12\x18\n\x10\x64\x65stination_port\x18\x02 \x01(\r\x12.\n\x07\x66\x61ilure\x18\x03 \x01(\x0b\x32\x1d.openshell.v1.EndpointFailure\"\x1e\n\x1cReportEndpointStatusResponse\"\x88\x02\n\x0e\x45ndpointStatus\x12\x13\n\x0b\x65ndpoint_id\x18\x01 \x01(\t\x12\x0c\n\x04host\x18\x02 \x01(\t\x12\r\n\x05ports\x18\x03 \x03(\r\x12\x0c\n\x04path\x18\x04 \x01(\t\x12\x31\n\x0blast_result\x18\x05 \x01(\x0e\x32\x1c.openshell.v1.EndpointResult\x12\x36\n\x12last_reported_time\x18j \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x33\n\x0clast_failure\x18\x07 \x01(\x0b\x32\x1d.openshell.v1.EndpointFailureJ\x04\x08\x06\x10\x07R\x10last_reported_at\"\xbb\x05\n\x13SandboxProvisioning\x12\x12\n\nattempt_id\x18\x01 \x01(\t\x12\x1f\n\x17\x63onfiguration_change_id\x18\x02 \x01(\t\x12=\n\x19\x63onfiguration_change_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x38\n\x14\x66irst_rejection_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x64\x65\x61\x64line\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x0ctimeout_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12:\n\x16\x63leanup_completed_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x15\n\rcleanup_error\x18\x08 \x01(\t\x12\x36\n\x12\x63leanup_retry_time\x18\t \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1c\n\x14\x61ttachment_change_id\x18\n \x01(\t\x12:\n\x16\x61ttachment_change_time\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x38\n\x14preparation_deadline\x18\x0c \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x38\n\x14\x61\x64mission_start_time\x18\r \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12 \n\x18\x64river_operation_pending\x18\x0e \x01(\x08\x12\x1b\n\x13\x64river_operation_id\x18\x0f \x01(\t\"\x82\x01\n\x16SandboxServiceExposure\x12\x0f\n\x07service\x18\x01 \x01(\t\x12\x13\n\x0btarget_port\x18\x02 \x01(\r\x12\x42\n\x12\x61uthorization_mode\x18\x03 \x01(\x0e\x32&.openshell.v1.ServiceAuthorizationMode\"\xad\x02\n\x0f\x45ndpointFailure\x12\x33\n\x06\x64omain\x18\x01 \x01(\x0e\x32#.openshell.v1.EndpointFailureDomain\x12\x0c\n\x04\x63ode\x18\x02 \x01(\t\x12N\n\x0frecovery_action\x18\x03 \x01(\x0e\x32\x35.openshell.v1.ProviderCredentialRefreshRecoveryAction\x12\x10\n\x08provider\x18\x04 \x01(\t\x12\x16\n\x0e\x63redential_key\x18\x05 \x01(\t\x12\r\n\x05stage\x18\x06 \x01(\t\x12!\n\x14upstream_http_status\x18\x07 \x01(\rH\x00\x88\x01\x01\x12\x12\n\nrequest_id\x18\x08 \x01(\tB\x17\n\x15_upstream_http_status*\xca\x01\n\rExtensionKind\x12\x1e\n\x1a\x45XTENSION_KIND_UNSPECIFIED\x10\x00\x12!\n\x1d\x45XTENSION_KIND_COMPUTE_DRIVER\x10\x01\x12$\n EXTENSION_KIND_CREDENTIAL_DRIVER\x10\x02\x12&\n\"EXTENSION_KIND_GATEWAY_INTERCEPTOR\x10\x03\x12(\n$EXTENSION_KIND_SUPERVISOR_MIDDLEWARE\x10\x04*\x81\x03\n\x0cSandboxPhase\x12\x1d\n\x19SANDBOX_PHASE_UNSPECIFIED\x10\x00\x12\x1e\n\x1aSANDBOX_PHASE_PROVISIONING\x10\x01\x12\x17\n\x13SANDBOX_PHASE_READY\x10\x02\x12\x17\n\x13SANDBOX_PHASE_ERROR\x10\x03\x12\x1a\n\x16SANDBOX_PHASE_DELETING\x10\x04\x12\x19\n\x15SANDBOX_PHASE_UNKNOWN\x10\x05\x12\x1a\n\x16SANDBOX_PHASE_STOPPING\x10\x06\x12\x19\n\x15SANDBOX_PHASE_STOPPED\x10\x07\x12\x1a\n\x16SANDBOX_PHASE_STARTING\x10\x08\x12\x1b\n\x17SANDBOX_PHASE_COMPLETED\x10\t\x12\x1c\n\x18SANDBOX_PHASE_SUSPENDING\x10\x0b\x12\x1b\n\x17SANDBOX_PHASE_SUSPENDED\x10\x0c\"\x04\x08\n\x10\n*\x18SANDBOX_PHASE_RESTARTING*\xcb\x01\n\x14ProviderMutationKind\x12&\n\"PROVIDER_MUTATION_KIND_UNSPECIFIED\x10\x00\x12!\n\x1dPROVIDER_MUTATION_KIND_ATTACH\x10\x01\x12!\n\x1dPROVIDER_MUTATION_KIND_DETACH\x10\x02\x12!\n\x1dPROVIDER_MUTATION_KIND_UPDATE\x10\x03\x12\"\n\x1ePROVIDER_MUTATION_KIND_OBSERVE\x10\x04*\xcf\x02\n\x16ProviderReadinessState\x12(\n$PROVIDER_READINESS_STATE_UNSPECIFIED\x10\x00\x12&\n\"PROVIDER_READINESS_STATE_PERSISTED\x10\x01\x12$\n PROVIDER_READINESS_STATE_PENDING\x10\x02\x12\"\n\x1ePROVIDER_READINESS_STATE_READY\x10\x03\x12%\n!PROVIDER_READINESS_STATE_WITHHELD\x10\x04\x12$\n PROVIDER_READINESS_STATE_REVOKED\x10\x05\x12#\n\x1fPROVIDER_READINESS_STATE_FAILED\x10\x06\x12\'\n#PROVIDER_READINESS_STATE_SUPERSEDED\x10\x07*\xda\x06\n\x17ProviderReadinessReason\x12)\n%PROVIDER_READINESS_REASON_UNSPECIFIED\x10\x00\x12\x34\n0PROVIDER_READINESS_REASON_WAITING_FOR_SUPERVISOR\x10\x01\x12\x35\n1PROVIDER_READINESS_REASON_WAITING_FOR_CREDENTIALS\x10\x02\x12\x30\n,PROVIDER_READINESS_REASON_WAITING_FOR_POLICY\x10\x03\x12\x31\n-PROVIDER_READINESS_REASON_WAITING_FOR_PROCESS\x10\x04\x12\x34\n0PROVIDER_READINESS_REASON_UNSUPPORTED_SUPERVISOR\x10\x05\x12\x32\n.PROVIDER_READINESS_REASON_CREDENTIALS_WITHHELD\x10\x06\x12\x37\n3PROVIDER_READINESS_REASON_CREDENTIAL_INSTALL_FAILED\x10\x07\x12\x36\n2PROVIDER_READINESS_REASON_POLICY_ACTIVATION_FAILED\x10\x08\x12\x34\n0PROVIDER_READINESS_REASON_PROCESS_INSTALL_FAILED\x10\t\x12\x35\n1PROVIDER_READINESS_REASON_SUPERVISOR_DISCONNECTED\x10\n\x12\x36\n2PROVIDER_READINESS_REASON_SUPERVISOR_LEASE_EXPIRED\x10\x0b\x12\x33\n/PROVIDER_READINESS_REASON_DESIRED_STATE_CHANGED\x10\x0c\x12\x30\n,PROVIDER_READINESS_REASON_CREDENTIAL_EXPIRED\x10\r\x12*\n&PROVIDER_READINESS_REASON_LOCAL_POLICY\x10\x0e\x12/\n+PROVIDER_READINESS_REASON_SNAPSHOT_MISMATCH\x10\x0f*\x83\x01\n\x0f\x43onfigComponent\x12 \n\x1c\x43ONFIG_COMPONENT_UNSPECIFIED\x10\x00\x12#\n\x1f\x43ONFIG_COMPONENT_SANDBOX_CONFIG\x10\x01\x12)\n%CONFIG_COMPONENT_PROVIDER_ENVIRONMENT\x10\x02*\x8d\x03\n\x12\x43onfigApplyOutcome\x12$\n CONFIG_APPLY_OUTCOME_UNSPECIFIED\x10\x00\x12 \n\x1c\x43ONFIG_APPLY_OUTCOME_APPLIED\x10\x01\x12*\n&CONFIG_APPLY_OUTCOME_IGNORED_DUPLICATE\x10\x02\x12&\n\"CONFIG_APPLY_OUTCOME_IGNORED_STALE\x10\x03\x12\x30\n,CONFIG_APPLY_OUTCOME_RETAINED_LOCAL_OVERRIDE\x10\x04\x12!\n\x1d\x43ONFIG_APPLY_OUTCOME_DEGRADED\x10\x05\x12\x38\n4CONFIG_APPLY_OUTCOME_FAILED_RETAINED_LAST_KNOWN_GOOD\x10\x06\x12&\n\"CONFIG_APPLY_OUTCOME_FAILED_CLOSED\x10\x07\x12$\n CONFIG_APPLY_OUTCOME_UNSUPPORTED\x10\x08*\xd2\x02\n\x1a\x43onfigUpdateOperationState\x12-\n)CONFIG_UPDATE_OPERATION_STATE_UNSPECIFIED\x10\x00\x12)\n%CONFIG_UPDATE_OPERATION_STATE_PENDING\x10\x01\x12)\n%CONFIG_UPDATE_OPERATION_STATE_APPLIED\x10\x02\x12*\n&CONFIG_UPDATE_OPERATION_STATE_INACTIVE\x10\x03\x12(\n$CONFIG_UPDATE_OPERATION_STATE_FAILED\x10\x04\x12,\n(CONFIG_UPDATE_OPERATION_STATE_SUPERSEDED\x10\x05\x12+\n\'CONFIG_UPDATE_OPERATION_STATE_CANCELLED\x10\x06*\xce\x01\n ProviderCredentialTokenGrantType\x12\x34\n0PROVIDER_CREDENTIAL_TOKEN_GRANT_TYPE_UNSPECIFIED\x10\x00\x12;\n7PROVIDER_CREDENTIAL_TOKEN_GRANT_TYPE_CLIENT_CREDENTIALS\x10\x01\x12\x37\n3PROVIDER_CREDENTIAL_TOKEN_GRANT_TYPE_TOKEN_EXCHANGE\x10\x02*\xc3\x03\n!ProviderCredentialRefreshStrategy\x12\x34\n0PROVIDER_CREDENTIAL_REFRESH_STRATEGY_UNSPECIFIED\x10\x00\x12/\n+PROVIDER_CREDENTIAL_REFRESH_STRATEGY_STATIC\x10\x01\x12\x31\n-PROVIDER_CREDENTIAL_REFRESH_STRATEGY_EXTERNAL\x10\x02\x12=\n9PROVIDER_CREDENTIAL_REFRESH_STRATEGY_OAUTH2_REFRESH_TOKEN\x10\x03\x12\x42\n>PROVIDER_CREDENTIAL_REFRESH_STRATEGY_OAUTH2_CLIENT_CREDENTIALS\x10\x04\x12\x43\n?PROVIDER_CREDENTIAL_REFRESH_STRATEGY_GOOGLE_SERVICE_ACCOUNT_JWT\x10\x05\x12<\n8PROVIDER_CREDENTIAL_REFRESH_STRATEGY_AWS_STS_ASSUME_ROLE\x10\x06*\xdb\x02\n\x17ProviderProfileCategory\x12)\n%PROVIDER_PROFILE_CATEGORY_UNSPECIFIED\x10\x00\x12#\n\x1fPROVIDER_PROFILE_CATEGORY_OTHER\x10\x01\x12\'\n#PROVIDER_PROFILE_CATEGORY_INFERENCE\x10\x02\x12#\n\x1fPROVIDER_PROFILE_CATEGORY_AGENT\x10\x03\x12,\n(PROVIDER_PROFILE_CATEGORY_SOURCE_CONTROL\x10\x04\x12\'\n#PROVIDER_PROFILE_CATEGORY_MESSAGING\x10\x05\x12\"\n\x1ePROVIDER_PROFILE_CATEGORY_DATA\x10\x06\x12\'\n#PROVIDER_PROFILE_CATEGORY_KNOWLEDGE\x10\x07*\xde\x01\n&ProviderEnvironmentValueClassification\x12\x39\n5PROVIDER_ENVIRONMENT_VALUE_CLASSIFICATION_UNSPECIFIED\x10\x00\x12\x38\n4PROVIDER_ENVIRONMENT_VALUE_CLASSIFICATION_NON_SECRET\x10\x01\x12?\n;PROVIDER_ENVIRONMENT_VALUE_CLASSIFICATION_STATIC_CREDENTIAL\x10\x02*\xcf\x01\n\x1b\x43onfigurationAdmissionState\x12-\n)CONFIGURATION_ADMISSION_STATE_UNSPECIFIED\x10\x00\x12)\n%CONFIGURATION_ADMISSION_STATE_PENDING\x10\x01\x12*\n&CONFIGURATION_ADMISSION_STATE_ACCEPTED\x10\x02\x12*\n&CONFIGURATION_ADMISSION_STATE_REJECTED\x10\x03*\x9a\x01\n\x0cPolicyStatus\x12\x1d\n\x19POLICY_STATUS_UNSPECIFIED\x10\x00\x12\x19\n\x15POLICY_STATUS_PENDING\x10\x01\x12\x18\n\x14POLICY_STATUS_LOADED\x10\x02\x12\x18\n\x14POLICY_STATUS_FAILED\x10\x03\x12\x1c\n\x18POLICY_STATUS_SUPERSEDED\x10\x04*\x86\x01\n\rServiceStatus\x12\x1e\n\x1aSERVICE_STATUS_UNSPECIFIED\x10\x00\x12\x1a\n\x16SERVICE_STATUS_HEALTHY\x10\x01\x12\x1b\n\x17SERVICE_STATUS_DEGRADED\x10\x02\x12\x1c\n\x18SERVICE_STATUS_UNHEALTHY\x10\x03*b\n\rWorkspaceRole\x12\x1e\n\x1aWORKSPACE_ROLE_UNSPECIFIED\x10\x00\x12\x17\n\x13WORKSPACE_ROLE_USER\x10\x01\x12\x18\n\x14WORKSPACE_ROLE_ADMIN\x10\x02*\xda\x02\n\'ProviderCredentialRefreshRecoveryAction\x12;\n7PROVIDER_CREDENTIAL_REFRESH_RECOVERY_ACTION_UNSPECIFIED\x10\x00\x12\x35\n1PROVIDER_CREDENTIAL_REFRESH_RECOVERY_ACTION_RETRY\x10\x01\x12;\n7PROVIDER_CREDENTIAL_REFRESH_RECOVERY_ACTION_REAUTHORIZE\x10\x02\x12\x41\n=PROVIDER_CREDENTIAL_REFRESH_RECOVERY_ACTION_FIX_CONFIGURATION\x10\x03\x12;\n7PROVIDER_CREDENTIAL_REFRESH_RECOVERY_ACTION_INVESTIGATE\x10\x04*\xaa\x01\n\x14SandboxRestartPolicy\x12&\n\"SANDBOX_RESTART_POLICY_UNSPECIFIED\x10\x00\x12 \n\x1cSANDBOX_RESTART_POLICY_NEVER\x10\x01\x12%\n!SANDBOX_RESTART_POLICY_ON_FAILURE\x10\x02\x12!\n\x1dSANDBOX_RESTART_POLICY_ALWAYS\x10\x03*\x97\x01\n\x0f\x44\x65letionOutcome\x12 \n\x1c\x44\x45LETION_OUTCOME_UNSPECIFIED\x10\x00\x12\x1e\n\x1a\x44\x45LETION_OUTCOME_COMPLETED\x10\x01\x12\x1d\n\x19\x44\x45LETION_OUTCOME_ACCEPTED\x10\x02\x12#\n\x1f\x44\x45LETION_OUTCOME_ALREADY_ABSENT\x10\x03*\xc3\x02\n\x0e\x45ndpointResult\x12\x1f\n\x1b\x45NDPOINT_RESULT_UNSPECIFIED\x10\x00\x12(\n$ENDPOINT_RESULT_NO_OBSERVED_EXCHANGE\x10\x01\x12*\n&ENDPOINT_RESULT_HTTP_RESPONSE_RECEIVED\x10\x02\x12!\n\x1d\x45NDPOINT_RESULT_POLICY_DENIED\x10\x03\x12*\n&ENDPOINT_RESULT_CREDENTIAL_UNAVAILABLE\x10\x04\x12\x1e\n\x1a\x45NDPOINT_RESULT_TLS_FAILED\x10\x05\x12$\n ENDPOINT_RESULT_TRANSPORT_FAILED\x10\x06\x12%\n!ENDPOINT_RESULT_UPSTREAM_REJECTED\x10\x07*\x9f\x01\n\x18ServiceAuthorizationMode\x12*\n&SERVICE_AUTHORIZATION_MODE_UNSPECIFIED\x10\x00\x12$\n SERVICE_AUTHORIZATION_MODE_STRIP\x10\x01\x12\x31\n-SERVICE_AUTHORIZATION_MODE_BEARER_PASSTHROUGH\x10\x02*i\n\x15\x45ndpointFailureDomain\x12\'\n#ENDPOINT_FAILURE_DOMAIN_UNSPECIFIED\x10\x00\x12\'\n#ENDPOINT_FAILURE_DOMAIN_TOKEN_GRANT\x10\x01\x32\xa6Y\n\tOpenShell\x12Z\n\x06Health\x12\x1b.openshell.v1.HealthRequest\x1a\x1c.openshell.v1.HealthResponse\"\x15\x82\xb5\x18\x11\n\x0funauthenticated\x12i\n\x0eGetCurrentUser\x12#.openshell.v1.GetCurrentUserRequest\x1a$.openshell.v1.GetCurrentUserResponse\"\x0c\x82\xb5\x18\x08\n\x06\x62\x65\x61rer\x12\x86\x01\n\x0eGetGatewayInfo\x12#.openshell.v1.GetGatewayInfoRequest\x1a$.openshell.v1.GetGatewayInfoResponse\")\x82\xb5\x18%\n\x06\x62\x65\x61rer\x1a\x0eplatform_admin\"\x0b\x63onfig:read\x12u\n\rCreateSandbox\x12\".openshell.v1.CreateSandboxRequest\x1a\x1d.openshell.v1.SandboxResponse\"!\x82\xb5\x18\x1d\n\x06\x62\x65\x61rer\x12\x04user\"\rsandbox:write\x12\x93\x01\n\x15\x42\x65ginRootfsTarStaging\x12*.openshell.v1.BeginRootfsTarStagingRequest\x1a+.openshell.v1.BeginRootfsTarStagingResponse\"!\x82\xb5\x18\x1d\n\x06\x62\x65\x61rer\x12\x04user\"\rsandbox:write\x12n\n\nGetSandbox\x12\x1f.openshell.v1.GetSandboxRequest\x1a\x1d.openshell.v1.SandboxResponse\" \x82\xb5\x18\x1c\n\x06\x62\x65\x61rer\x12\x04user\"\x0csandbox:read\x12z\n\rListSandboxes\x12\".openshell.v1.ListSandboxesRequest\x1a#.openshell.v1.ListSandboxesResponse\" \x82\xb5\x18\x1c\n\x06\x62\x65\x61rer\x12\x04user\"\x0csandbox:read\x12\x8e\x01\n\x15\x43reateSandboxTemplate\x12*.openshell.v1.CreateSandboxTemplateRequest\x1a%.openshell.v1.SandboxTemplateResponse\"\"\x82\xb5\x18\x1e\n\x06\x62\x65\x61rer\x12\x05\x61\x64min\"\rsandbox:write\x12\x86\x01\n\x12GetSandboxTemplate\x12\'.openshell.v1.GetSandboxTemplateRequest\x1a%.openshell.v1.SandboxTemplateResponse\" \x82\xb5\x18\x1c\n\x06\x62\x65\x61rer\x12\x04user\"\x0csandbox:read\x12\x8f\x01\n\x14ListSandboxTemplates\x12).openshell.v1.ListSandboxTemplatesRequest\x1a*.openshell.v1.ListSandboxTemplatesResponse\" \x82\xb5\x18\x1c\n\x06\x62\x65\x61rer\x12\x04user\"\x0csandbox:read\x12\x94\x01\n\x15\x44\x65leteSandboxTemplate\x12*.openshell.v1.DeleteSandboxTemplateRequest\x1a+.openshell.v1.DeleteSandboxTemplateResponse\"\"\x82\xb5\x18\x1e\n\x06\x62\x65\x61rer\x12\x05\x61\x64min\"\rsandbox:write\x12\x8f\x01\n\x14ListSandboxProviders\x12).openshell.v1.ListSandboxProvidersRequest\x1a*.openshell.v1.ListSandboxProvidersResponse\" \x82\xb5\x18\x1c\n\x06\x62\x65\x61rer\x12\x04user\"\x0csandbox:read\x12\x93\x01\n\x15\x41ttachSandboxProvider\x12*.openshell.v1.AttachSandboxProviderRequest\x1a+.openshell.v1.AttachSandboxProviderResponse\"!\x82\xb5\x18\x1d\n\x06\x62\x65\x61rer\x12\x04user\"\rsandbox:write\x12\x93\x01\n\x15\x44\x65tachSandboxProvider\x12*.openshell.v1.DetachSandboxProviderRequest\x1a+.openshell.v1.DetachSandboxProviderResponse\"!\x82\xb5\x18\x1d\n\x06\x62\x65\x61rer\x12\x04user\"\rsandbox:write\x12\x9b\x01\n\x18GetSandboxProviderStatus\x12-.openshell.v1.GetSandboxProviderStatusRequest\x1a..openshell.v1.GetSandboxProviderStatusResponse\" \x82\xb5\x18\x1c\n\x06\x62\x65\x61rer\x12\x04user\"\x0csandbox:read\x12{\n\rDeleteSandbox\x12\".openshell.v1.DeleteSandboxRequest\x1a#.openshell.v1.DeleteSandboxResponse\"!\x82\xb5\x18\x1d\n\x06\x62\x65\x61rer\x12\x04user\"\rsandbox:write\x12q\n\x0bStopSandbox\x12 .openshell.v1.StopSandboxRequest\x1a\x1d.openshell.v1.SandboxResponse\"!\x82\xb5\x18\x1d\n\x06\x62\x65\x61rer\x12\x04user\"\rsandbox:write\x12s\n\x0cStartSandbox\x12!.openshell.v1.StartSandboxRequest\x1a\x1d.openshell.v1.SandboxResponse\"!\x82\xb5\x18\x1d\n\x06\x62\x65\x61rer\x12\x04user\"\rsandbox:write\x12w\n\x0eSuspendSandbox\x12#.openshell.v1.SuspendSandboxRequest\x1a\x1d.openshell.v1.SandboxResponse\"!\x82\xb5\x18\x1d\n\x06\x62\x65\x61rer\x12\x04user\"\rsandbox:write\x12u\n\rResumeSandbox\x12\".openshell.v1.ResumeSandboxRequest\x1a\x1d.openshell.v1.SandboxResponse\"!\x82\xb5\x18\x1d\n\x06\x62\x65\x61rer\x12\x04user\"\rsandbox:write\x12\x84\x01\n\x10\x43reateSshSession\x12%.openshell.v1.CreateSshSessionRequest\x1a&.openshell.v1.CreateSshSessionResponse\"!\x82\xb5\x18\x1d\n\x06\x62\x65\x61rer\x12\x04user\"\rsandbox:write\x12}\n\rExposeService\x12\".openshell.v1.ExposeServiceRequest\x1a%.openshell.v1.ServiceEndpointResponse\"!\x82\xb5\x18\x1d\n\x06\x62\x65\x61rer\x12\x04user\"\rsandbox:write\x12v\n\nGetService\x12\x1f.openshell.v1.GetServiceRequest\x1a%.openshell.v1.ServiceEndpointResponse\" \x82\xb5\x18\x1c\n\x06\x62\x65\x61rer\x12\x04user\"\x0csandbox:read\x12w\n\x0cListServices\x12!.openshell.v1.ListServicesRequest\x1a\".openshell.v1.ListServicesResponse\" \x82\xb5\x18\x1c\n\x06\x62\x65\x61rer\x12\x04user\"\x0csandbox:read\x12{\n\rDeleteService\x12\".openshell.v1.DeleteServiceRequest\x1a#.openshell.v1.DeleteServiceResponse\"!\x82\xb5\x18\x1d\n\x06\x62\x65\x61rer\x12\x04user\"\rsandbox:write\x12\x84\x01\n\x10RevokeSshSession\x12%.openshell.v1.RevokeSshSessionRequest\x1a&.openshell.v1.RevokeSshSessionResponse\"!\x82\xb5\x18\x1d\n\x06\x62\x65\x61rer\x12\x04user\"\rsandbox:write\x12t\n\x0b\x45xecSandbox\x12 .openshell.v1.ExecSandboxRequest\x1a\x1e.openshell.v1.ExecSandboxEvent\"!\x82\xb5\x18\x1d\n\x06\x62\x65\x61rer\x12\x04user\"\rsandbox:write0\x01\x12q\n\nForwardTcp\x12\x1d.openshell.v1.TcpForwardFrame\x1a\x1d.openshell.v1.TcpForwardFrame\"!\x82\xb5\x18\x1d\n\x06\x62\x65\x61rer\x12\x04user\"\rsandbox:write(\x01\x30\x01\x12\x7f\n\x16\x45xecSandboxInteractive\x12\x1e.openshell.v1.ExecSandboxInput\x1a\x1e.openshell.v1.ExecSandboxEvent\"!\x82\xb5\x18\x1d\n\x06\x62\x65\x61rer\x12\x04user\"\rsandbox:write(\x01\x30\x01\x12z\n\x0e\x43reateProvider\x12#.openshell.v1.CreateProviderRequest\x1a\x1e.openshell.v1.ProviderResponse\"#\x82\xb5\x18\x1f\n\x06\x62\x65\x61rer\x12\x05\x61\x64min\"\x0eprovider:write\x12r\n\x0bGetProvider\x12 .openshell.v1.GetProviderRequest\x1a\x1e.openshell.v1.ProviderResponse\"!\x82\xb5\x18\x1d\n\x06\x62\x65\x61rer\x12\x04user\"\rprovider:read\x12\x83\x01\n\x16GetProviderCredentials\x12+.openshell.v1.GetProviderCredentialsRequest\x1a,.openshell.v1.GetProviderCredentialsResponse\"\x0e\x82\xb5\x18\n\n\x08operator\x12{\n\rListProviders\x12\".openshell.v1.ListProvidersRequest\x1a#.openshell.v1.ListProvidersResponse\"!\x82\xb5\x18\x1d\n\x06\x62\x65\x61rer\x12\x04user\"\rprovider:read\x12\x90\x01\n\x14ListProviderProfiles\x12).openshell.v1.ListProviderProfilesRequest\x1a*.openshell.v1.ListProviderProfilesResponse\"!\x82\xb5\x18\x1d\n\x06\x62\x65\x61rer\x12\x04user\"\rprovider:read\x12\x87\x01\n\x12GetProviderProfile\x12\'.openshell.v1.GetProviderProfileRequest\x1a%.openshell.v1.ProviderProfileResponse\"!\x82\xb5\x18\x1d\n\x06\x62\x65\x61rer\x12\x04user\"\rprovider:read\x12\x98\x01\n\x16ImportProviderProfiles\x12+.openshell.v1.ImportProviderProfilesRequest\x1a,.openshell.v1.ImportProviderProfilesResponse\"#\x82\xb5\x18\x1f\n\x06\x62\x65\x61rer\x12\x05\x61\x64min\"\x0eprovider:write\x12\x98\x01\n\x16UpdateProviderProfiles\x12+.openshell.v1.UpdateProviderProfilesRequest\x1a,.openshell.v1.UpdateProviderProfilesResponse\"#\x82\xb5\x18\x1f\n\x06\x62\x65\x61rer\x12\x05\x61\x64min\"\x0eprovider:write\x12\x90\x01\n\x14LintProviderProfiles\x12).openshell.v1.LintProviderProfilesRequest\x1a*.openshell.v1.LintProviderProfilesResponse\"!\x82\xb5\x18\x1d\n\x06\x62\x65\x61rer\x12\x04user\"\rprovider:read\x12z\n\x0eUpdateProvider\x12#.openshell.v1.UpdateProviderRequest\x1a\x1e.openshell.v1.ProviderResponse\"#\x82\xb5\x18\x1f\n\x06\x62\x65\x61rer\x12\x05\x61\x64min\"\x0eprovider:write\x12\x9c\x01\n\x18GetProviderRefreshStatus\x12-.openshell.v1.GetProviderRefreshStatusRequest\x1a..openshell.v1.GetProviderRefreshStatusResponse\"!\x82\xb5\x18\x1d\n\x06\x62\x65\x61rer\x12\x04user\"\rprovider:read\x12\x9e\x01\n\x18\x43onfigureProviderRefresh\x12-.openshell.v1.ConfigureProviderRefreshRequest\x1a..openshell.v1.ConfigureProviderRefreshResponse\"#\x82\xb5\x18\x1f\n\x06\x62\x65\x61rer\x12\x05\x61\x64min\"\x0eprovider:write\x12\x9e\x01\n\x18RotateProviderCredential\x12-.openshell.v1.RotateProviderCredentialRequest\x1a..openshell.v1.RotateProviderCredentialResponse\"#\x82\xb5\x18\x1f\n\x06\x62\x65\x61rer\x12\x05\x61\x64min\"\x0eprovider:write\x12\x95\x01\n\x15\x44\x65leteProviderRefresh\x12*.openshell.v1.DeleteProviderRefreshRequest\x1a+.openshell.v1.DeleteProviderRefreshResponse\"#\x82\xb5\x18\x1f\n\x06\x62\x65\x61rer\x12\x05\x61\x64min\"\x0eprovider:write\x12\x80\x01\n\x0e\x44\x65leteProvider\x12#.openshell.v1.DeleteProviderRequest\x1a$.openshell.v1.DeleteProviderResponse\"#\x82\xb5\x18\x1f\n\x06\x62\x65\x61rer\x12\x05\x61\x64min\"\x0eprovider:write\x12\x95\x01\n\x15\x44\x65leteProviderProfile\x12*.openshell.v1.DeleteProviderProfileRequest\x1a+.openshell.v1.DeleteProviderProfileResponse\"#\x82\xb5\x18\x1f\n\x06\x62\x65\x61rer\x12\x05\x61\x64min\"\x0eprovider:write\x12\x90\x01\n\x10GetSandboxConfig\x12-.openshell.sandbox.v1.GetSandboxConfigRequest\x1a..openshell.sandbox.v1.GetSandboxConfigResponse\"\x1d\x82\xb5\x18\x19\n\x04\x64ual\x12\x04user\"\x0b\x63onfig:read\x12\x8c\x01\n\x10GetGatewayConfig\x12-.openshell.sandbox.v1.GetGatewayConfigRequest\x1a..openshell.sandbox.v1.GetGatewayConfigResponse\"\x19\x82\xb5\x18\x15\n\x06\x62\x65\x61rer\"\x0b\x63onfig:read\x12v\n\x0cUpdateConfig\x12!.openshell.v1.UpdateConfigRequest\x1a\".openshell.v1.UpdateConfigResponse\"\x1f\x82\xb5\x18\x1b\n\x04\x64ual\x12\x05\x61\x64min\"\x0c\x63onfig:write\x12\x95\x01\n\x16GetSandboxPolicyStatus\x12+.openshell.v1.GetSandboxPolicyStatusRequest\x1a,.openshell.v1.GetSandboxPolicyStatusResponse\" \x82\xb5\x18\x1c\n\x06\x62\x65\x61rer\x12\x04user\"\x0csandbox:read\x12\x8c\x01\n\x13ListSandboxPolicies\x12(.openshell.v1.ListSandboxPoliciesRequest\x1a).openshell.v1.ListSandboxPoliciesResponse\" \x82\xb5\x18\x1c\n\x06\x62\x65\x61rer\x12\x04user\"\x0csandbox:read\x12v\n\x12ReportPolicyStatus\x12\'.openshell.v1.ReportPolicyStatusRequest\x1a(.openshell.v1.ReportPolicyStatusResponse\"\r\x82\xb5\x18\t\n\x07sandbox\x12|\n\x14ReportEndpointStatus\x12).openshell.v1.ReportEndpointStatusRequest\x1a*.openshell.v1.ReportEndpointStatusResponse\"\r\x82\xb5\x18\t\n\x07sandbox\x12\x85\x01\n\x17ReportProviderReadiness\x12,.openshell.v1.ReportProviderReadinessRequest\x1a-.openshell.v1.ReportProviderReadinessResponse\"\r\x82\xb5\x18\t\n\x07sandbox\x12\x8e\x01\n\x1aReportSandboxConfiguration\x12/.openshell.v1.ReportSandboxConfigurationRequest\x1a\x30.openshell.v1.ReportSandboxConfigurationResponse\"\r\x82\xb5\x18\t\n\x07sandbox\x12\x97\x01\n\x1dGetSandboxProviderEnvironment\x12\x32.openshell.v1.GetSandboxProviderEnvironmentRequest\x1a\x33.openshell.v1.GetSandboxProviderEnvironmentResponse\"\r\x82\xb5\x18\t\n\x07sandbox\x12\x94\x01\n\x1c\x45xchangeProviderSubjectToken\x12\x31.openshell.v1.ExchangeProviderSubjectTokenRequest\x1a\x32.openshell.v1.ExchangeProviderSubjectTokenResponse\"\r\x82\xb5\x18\t\n\x07sandbox\x12}\n\x0eGetSandboxLogs\x12#.openshell.v1.GetSandboxLogsRequest\x1a$.openshell.v1.GetSandboxLogsResponse\" \x82\xb5\x18\x1c\n\x06\x62\x65\x61rer\x12\x04user\"\x0csandbox:read\x12o\n\x0fPushSandboxLogs\x12$.openshell.v1.PushSandboxLogsRequest\x1a%.openshell.v1.PushSandboxLogsResponse\"\r\x82\xb5\x18\t\n\x07sandbox(\x01\x12\x65\n\x11\x43onnectSupervisor\x12\x1f.openshell.v1.SupervisorMessage\x1a\x1c.openshell.v1.GatewayMessage\"\r\x82\xb5\x18\t\n\x07sandbox(\x01\x30\x01\x12\x7f\n\x15ReportMainProcessExit\x12*.openshell.v1.ReportMainProcessExitRequest\x1a+.openshell.v1.ReportMainProcessExitResponse\"\r\x82\xb5\x18\t\n\x07sandbox\x12\x85\x01\n\x17\x46inalizeMainProcessExit\x12,.openshell.v1.FinalizeMainProcessExitRequest\x1a-.openshell.v1.FinalizeMainProcessExitResponse\"\r\x82\xb5\x18\t\n\x07sandbox\x12T\n\x0bRelayStream\x12\x18.openshell.v1.RelayFrame\x1a\x18.openshell.v1.RelayFrame\"\r\x82\xb5\x18\t\n\x07sandbox(\x01\x30\x01\x12W\n\tPeerRelay\x12\x1c.openshell.v1.PeerRelayFrame\x1a\x1c.openshell.v1.PeerRelayFrame\"\n\x82\xb5\x18\x06\n\x04peer(\x01\x30\x01\x12\x86\x01\n\x1bPeerReportProviderReadiness\x12,.openshell.v1.ReportProviderReadinessRequest\x1a-.openshell.v1.ReportProviderReadinessResponse\"\n\x82\xb5\x18\x06\n\x04peer\x12}\n\x18PeerReportEndpointStatus\x12).openshell.v1.ReportEndpointStatusRequest\x1a*.openshell.v1.ReportEndpointStatusResponse\"\n\x82\xb5\x18\x06\n\x04peer\x12\x89\x01\n\x1cPeerGetSandboxProviderStatus\x12-.openshell.v1.GetSandboxProviderStatusRequest\x1a..openshell.v1.GetSandboxProviderStatusResponse\"\n\x82\xb5\x18\x06\n\x04peer\x12\x7f\n\x16PeerNotifyConfigUpdate\x12+.openshell.v1.PeerNotifyConfigUpdateRequest\x1a,.openshell.v1.PeerNotifyConfigUpdateResponse\"\n\x82\xb5\x18\x06\n\x04peer\x12w\n\x0cWatchSandbox\x12!.openshell.v1.WatchSandboxRequest\x1a .openshell.v1.SandboxStreamEvent\" \x82\xb5\x18\x1c\n\x06\x62\x65\x61rer\x12\x04user\"\x0csandbox:read0\x01\x12|\n\x14SubmitPolicyAnalysis\x12).openshell.v1.SubmitPolicyAnalysisRequest\x1a*.openshell.v1.SubmitPolicyAnalysisResponse\"\r\x82\xb5\x18\t\n\x07sandbox\x12z\n\x0eGetDraftPolicy\x12#.openshell.v1.GetDraftPolicyRequest\x1a$.openshell.v1.GetDraftPolicyResponse\"\x1d\x82\xb5\x18\x19\n\x04\x64ual\x12\x04user\"\x0b\x63onfig:read\x12\x87\x01\n\x11\x41pproveDraftChunk\x12&.openshell.v1.ApproveDraftChunkRequest\x1a\'.openshell.v1.ApproveDraftChunkResponse\"!\x82\xb5\x18\x1d\n\x06\x62\x65\x61rer\x12\x05\x61\x64min\"\x0c\x63onfig:write\x12\x84\x01\n\x10RejectDraftChunk\x12%.openshell.v1.RejectDraftChunkRequest\x1a&.openshell.v1.RejectDraftChunkResponse\"!\x82\xb5\x18\x1d\n\x06\x62\x65\x61rer\x12\x05\x61\x64min\"\x0c\x63onfig:write\x12\x93\x01\n\x15\x41pproveAllDraftChunks\x12*.openshell.v1.ApproveAllDraftChunksRequest\x1a+.openshell.v1.ApproveAllDraftChunksResponse\"!\x82\xb5\x18\x1d\n\x06\x62\x65\x61rer\x12\x05\x61\x64min\"\x0c\x63onfig:write\x12~\n\x0e\x45\x64itDraftChunk\x12#.openshell.v1.EditDraftChunkRequest\x1a$.openshell.v1.EditDraftChunkResponse\"!\x82\xb5\x18\x1d\n\x06\x62\x65\x61rer\x12\x05\x61\x64min\"\x0c\x63onfig:write\x12~\n\x0eUndoDraftChunk\x12#.openshell.v1.UndoDraftChunkRequest\x1a$.openshell.v1.UndoDraftChunkResponse\"!\x82\xb5\x18\x1d\n\x06\x62\x65\x61rer\x12\x05\x61\x64min\"\x0c\x63onfig:write\x12\x84\x01\n\x10\x43learDraftChunks\x12%.openshell.v1.ClearDraftChunksRequest\x1a&.openshell.v1.ClearDraftChunksResponse\"!\x82\xb5\x18\x1d\n\x06\x62\x65\x61rer\x12\x05\x61\x64min\"\x0c\x63onfig:write\x12\x7f\n\x0fGetDraftHistory\x12$.openshell.v1.GetDraftHistoryRequest\x1a%.openshell.v1.GetDraftHistoryResponse\"\x1f\x82\xb5\x18\x1b\n\x06\x62\x65\x61rer\x12\x04user\"\x0b\x63onfig:read\x12s\n\x11IssueSandboxToken\x12&.openshell.v1.IssueSandboxTokenRequest\x1a\'.openshell.v1.IssueSandboxTokenResponse\"\r\x82\xb5\x18\t\n\x07sandbox\x12y\n\x13RefreshSandboxToken\x12(.openshell.v1.RefreshSandboxTokenRequest\x1a).openshell.v1.RefreshSandboxTokenResponse\"\r\x82\xb5\x18\t\n\x07sandbox\x12\x8d\x01\n\x0f\x43reateWorkspace\x12$.openshell.v1.CreateWorkspaceRequest\x1a%.openshell.v1.CreateWorkspaceResponse\"-\x82\xb5\x18)\n\x06\x62\x65\x61rer\x1a\x0eplatform_admin\"\x0fworkspace:write\x12y\n\x0cGetWorkspace\x12!.openshell.v1.GetWorkspaceRequest\x1a\".openshell.v1.GetWorkspaceResponse\"\"\x82\xb5\x18\x1e\n\x06\x62\x65\x61rer\x12\x04user\"\x0eworkspace:read\x12\x7f\n\x0eListWorkspaces\x12#.openshell.v1.ListWorkspacesRequest\x1a$.openshell.v1.ListWorkspacesResponse\"\"\x82\xb5\x18\x1e\n\x06\x62\x65\x61rer\x12\x04user\"\x0eworkspace:read\x12\x8d\x01\n\x0f\x44\x65leteWorkspace\x12$.openshell.v1.DeleteWorkspaceRequest\x1a%.openshell.v1.DeleteWorkspaceResponse\"-\x82\xb5\x18)\n\x06\x62\x65\x61rer\x1a\x0eplatform_admin\"\x0fworkspace:write\x12\x8d\x01\n\x12\x41\x64\x64WorkspaceMember\x12\'.openshell.v1.AddWorkspaceMemberRequest\x1a(.openshell.v1.AddWorkspaceMemberResponse\"$\x82\xb5\x18 \n\x06\x62\x65\x61rer\x12\x05\x61\x64min\"\x0fworkspace:write\x12\x96\x01\n\x15RemoveWorkspaceMember\x12*.openshell.v1.RemoveWorkspaceMemberRequest\x1a+.openshell.v1.RemoveWorkspaceMemberResponse\"$\x82\xb5\x18 \n\x06\x62\x65\x61rer\x12\x05\x61\x64min\"\x0fworkspace:write\x12\x91\x01\n\x14ListWorkspaceMembers\x12).openshell.v1.ListWorkspaceMembersRequest\x1a*.openshell.v1.ListWorkspaceMembersResponse\"\"\x82\xb5\x18\x1e\n\x06\x62\x65\x61rer\x12\x04user\"\x0eworkspace:read2\x87\x01\n\x0eSandboxUpdates\x12u\n\rUpdateSandbox\x12\".openshell.v1.UpdateSandboxRequest\x1a\x1d.openshell.v1.SandboxResponse\"!\x82\xb5\x18\x1d\n\x06\x62\x65\x61rer\x12\x04user\"\rsandbox:writeb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0fopenshell.proto\x12\x0copenshell.v1\x1a\x0f\x64\x61tamodel.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\roptions.proto\x1a\rsandbox.proto\"\x1a\n\x18IssueSandboxTokenRequest\"z\n\x19IssueSandboxTokenResponse\x12\x13\n\x05token\x18\x01 \x01(\tB\x04\x88\xb5\x18\x01\x12\x33\n\x0f\x65xpiration_time\x18\x66 \x01(\x0b\x32\x1a.google.protobuf.TimestampJ\x04\x08\x02\x10\x03R\rexpires_at_ms\"=\n\x1aRefreshSandboxTokenRequest\x12\x1f\n\x17\x65xtension_service_names\x18\x01 \x03(\t\"\xea\x02\n\x1bRefreshSandboxTokenResponse\x12\x13\n\x05token\x18\x01 \x01(\tB\x04\x88\xb5\x18\x01\x12\x33\n\x0f\x65xpiration_time\x18\x66 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12G\n\x15\x65xtension_credentials\x18\x03 \x03(\x0b\x32(.openshell.v1.ExtensionServiceCredential\x12\x1b\n\rsandbox_token\x18\x04 \x01(\tB\x04\x88\xb5\x18\x01\x12;\n\x17sandbox_expiration_time\x18i \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x12\n\nsession_id\x18\x06 \x01(\t\x12\x18\n\x10\x63redential_epoch\x18\x07 \x01(\x04J\x04\x08\x02\x10\x03J\x04\x08\x05\x10\x06R\rexpires_at_msR\x15sandbox_expires_at_ms\"\x0f\n\rHealthRequest\"N\n\x0eHealthResponse\x12+\n\x06status\x18\x01 \x01(\x0e\x32\x1b.openshell.v1.ServiceStatus\x12\x0f\n\x07version\x18\x02 \x01(\t\"\x17\n\x15GetCurrentUserRequest\"y\n\x16GetCurrentUserResponse\x12\x0f\n\x07subject\x18\x01 \x01(\t\x12\x14\n\x0c\x64isplay_name\x18\x02 \x01(\t\x12\r\n\x05roles\x18\x03 \x03(\t\x12\x0e\n\x06scopes\x18\x04 \x03(\t\x12\x19\n\x11identity_provider\x18\x05 \x01(\t\"\x17\n\x15GetGatewayInfoRequest\"\xd3\x01\n\x16GetGatewayInfoResponse\x12+\n\x06status\x18\x01 \x01(\x0e\x32\x1b.openshell.v1.ServiceStatus\x12\x17\n\x0fgateway_version\x18\x02 \x01(\t\x12\x38\n\x0f\x63ompute_drivers\x18\x03 \x03(\x0b\x32\x1f.openshell.v1.ComputeDriverInfo\x12\x39\n\nextensions\x18\x04 \x03(\x0b\x32%.openshell.v1.NegotiatedExtensionInfo\"\x89\x02\n\x17NegotiatedExtensionInfo\x12)\n\x04kind\x18\x01 \x01(\x0e\x32\x1b.openshell.v1.ExtensionKind\x12\x17\n\x0f\x63onfigured_name\x18\x02 \x01(\t\x12\x1b\n\x13implementation_name\x18\x03 \x01(\t\x12\x1e\n\x16implementation_version\x18\x04 \x01(\t\x12\x16\n\x0eprotocol_major\x18\x05 \x01(\r\x12\x16\n\x0eprotocol_minor\x18\x06 \x01(\r\x12\x1e\n\x16supported_capabilities\x18\x07 \x03(\t\x12\x1d\n\x15required_capabilities\x18\x08 \x03(\t\"`\n\x11\x43omputeDriverInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12=\n\x0c\x63\x61pabilities\x18\x02 \x01(\x0b\x32\'.openshell.v1.ComputeDriverCapabilities\"\x8b\x01\n\x19\x43omputeDriverCapabilities\x12\x13\n\x0b\x64river_name\x18\x01 \x01(\t\x12\x16\n\x0e\x64river_version\x18\x02 \x01(\t\x12\x41\n\x15resource_capabilities\x18\x03 \x01(\x0b\x32\".openshell.v1.ResourceCapabilities\"\xb8\x01\n\x14ResourceCapabilities\x12\x32\n\x03\x63pu\x18\x01 \x01(\x0b\x32%.openshell.v1.CpuResourceCapabilities\x12\x38\n\x06memory\x18\x02 \x01(\x0b\x32(.openshell.v1.MemoryResourceCapabilities\x12\x32\n\x03gpu\x18\x03 \x01(\x0b\x32%.openshell.v1.GpuResourceCapabilities\"2\n\x17\x43puResourceCapabilities\x12\x17\n\x0flimit_supported\x18\x01 \x01(\x08\"5\n\x1aMemoryResourceCapabilities\x12\x17\n\x0flimit_supported\x18\x01 \x01(\x08\"a\n\x17GpuResourceCapabilities\x12#\n\x1b\x64\x65\x66\x61ult_selection_supported\x18\x01 \x01(\x08\x12!\n\x19\x63ount_selection_supported\x18\x02 \x01(\x08\"\xb7\x02\n\x07Sandbox\x12\x34\n\x08metadata\x18\x01 \x01(\x0b\x32\".openshell.datamodel.v1.ObjectMeta\x12\'\n\x04spec\x18\x02 \x01(\x0b\x32\x19.openshell.v1.SandboxSpec\x12+\n\x06status\x18\x03 \x01(\x0b\x32\x1b.openshell.v1.SandboxStatus\x12\x1c\n\x14host_key_fingerprint\x18\x06 \x01(\t\x12W\n\x1e\x63reated_from_workload_template\x18\x14 \x01(\x0b\x32/.openshell.v1.SandboxWorkloadTemplateProvenanceJ\x04\x08\x04\x10\x05J\x04\x08\x05\x10\x06R\x05phaseR\x16\x63urrent_policy_version\"\xfe\x03\n\x0bSandboxSpec\x12\x11\n\tlog_level\x18\x01 \x01(\t\x12?\n\x0b\x65nvironment\x18\x05 \x03(\x0b\x32*.openshell.v1.SandboxSpec.EnvironmentEntry\x12/\n\x08template\x18\x06 \x01(\x0b\x32\x1d.openshell.v1.SandboxTemplate\x12\x33\n\x06policy\x18\x07 \x01(\x0b\x32#.openshell.sandbox.v1.SandboxPolicy\x12\x11\n\tproviders\x18\x08 \x03(\t\x12\x41\n\x15resource_requirements\x18\t \x01(\x0b\x32\".openshell.v1.ResourceRequirements\x12\x0f\n\x07\x63ommand\x18\x0c \x03(\t\x12\x0b\n\x03tty\x18\r \x01(\x08\x12!\n\x19provider_attachment_epoch\x18\x0e \x01(\t\x12:\n\x0erestart_policy\x18\x0f \x01(\x0e\x32\".openshell.v1.SandboxRestartPolicy\x1a\x32\n\x10\x45nvironmentEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01J\x04\x08\n\x10\x0bJ\x04\x08\x0b\x10\x0cR\ngpu_deviceR\x16proposal_approval_mode\"J\n\x14ResourceRequirements\x12\x32\n\x03gpu\x18\x01 \x01(\x0b\x32%.openshell.v1.GpuResourceRequirements\"7\n\x17GpuResourceRequirements\x12\x12\n\x05\x63ount\x18\x01 \x01(\rH\x00\x88\x01\x01\x42\x08\n\x06_count\"\xda\x04\n\x0fSandboxTemplate\x12\r\n\x05image\x18\x01 \x01(\t\x12\x1a\n\x12runtime_class_name\x18\x02 \x01(\t\x12\x14\n\x0c\x61gent_socket\x18\x03 \x01(\t\x12\x39\n\x06labels\x18\x04 \x03(\x0b\x32).openshell.v1.SandboxTemplate.LabelsEntry\x12\x43\n\x0b\x61nnotations\x18\x05 \x03(\x0b\x32..openshell.v1.SandboxTemplate.AnnotationsEntry\x12\x43\n\x0b\x65nvironment\x18\x06 \x03(\x0b\x32..openshell.v1.SandboxTemplate.EnvironmentEntry\x12*\n\tresources\x18\x07 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x1c\n\x0fuser_namespaces\x18\n \x01(\x08H\x00\x88\x01\x01\x12.\n\rdriver_config\x18\x0b \x01(\x0b\x32\x17.google.protobuf.Struct\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x32\n\x10\x41nnotationsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x32\n\x10\x45nvironmentEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x12\n\x10_user_namespacesJ\x04\x08\t\x10\nR\x16volume_claim_templates\"\x88\x01\n\x17SandboxWorkloadTemplate\x12\x34\n\x08metadata\x18\x01 \x01(\x0b\x32\".openshell.datamodel.v1.ObjectMeta\x12\x37\n\x04spec\x18\x02 \x01(\x0b\x32).openshell.v1.SandboxWorkloadTemplateSpec\"\xc6\x01\n\x1bSandboxWorkloadTemplateSpec\x12\x35\n\x08workload\x18\x01 \x01(\x0b\x32#.openshell.v1.SandboxWorkloadConfig\x12.\n\rdriver_config\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\x12@\n\x15\x64\x65sired_service_level\x18\x03 \x01(\x0b\x32!.openshell.v1.SandboxServiceLevel\"\xd8\x01\n\x15SandboxWorkloadConfig\x12\r\n\x05image\x18\x01 \x01(\t\x12I\n\x0b\x65nvironment\x18\x02 \x03(\x0b\x32\x34.openshell.v1.SandboxWorkloadConfig.EnvironmentEntry\x12\x31\n\tresources\x18\x03 \x01(\x0b\x32\x1e.openshell.v1.SandboxResources\x1a\x32\n\x10\x45nvironmentEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"c\n\x10SandboxResources\x12\x0b\n\x03\x63pu\x18\x01 \x01(\t\x12\x0e\n\x06memory\x18\x02 \x01(\t\x12\x32\n\x03gpu\x18\x03 \x01(\x0b\x32%.openshell.v1.GpuResourceRequirements\"D\n\x13SandboxServiceLevel\x12-\n\x07startup\x18\x01 \x01(\x0b\x32\x1c.openshell.v1.SandboxStartup\"T\n\x0eSandboxStartup\x12/\n\x0cready_within\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x11\n\tmax_burst\x18\x02 \x01(\r\"K\n!SandboxWorkloadTemplateProvenance\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x18\n\x10resource_version\x18\x02 \x01(\t\"\xec\x05\n\rSandboxStatus\x12\x11\n\tagent_pod\x18\x02 \x01(\t\x12\x10\n\x08\x61gent_fd\x18\x03 \x01(\t\x12\x12\n\nsandbox_fd\x18\x04 \x01(\t\x12\x32\n\nconditions\x18\x05 \x03(\x0b\x32\x1e.openshell.v1.SandboxCondition\x12)\n\x05phase\x18\x06 \x01(\x0e\x32\x1a.openshell.v1.SandboxPhase\x12\x1e\n\x16\x63urrent_policy_version\x18\x07 \x01(\r\x12 \n\x18main_process_instance_id\x18\x08 \x01(\t\x12\x16\n\texit_code\x18\t \x01(\x05H\x00\x88\x01\x01\x12\x37\n\x11\x65ndpoint_statuses\x18\n \x03(\x0b\x32\x1c.openshell.v1.EndpointStatus\x12L\n\x17\x63onfiguration_admission\x18\x0b \x01(\x0b\x32+.openshell.v1.SandboxConfigurationAdmission\x12$\n\x17\x63onfiguration_activated\x18\x0c \x01(\x08H\x01\x88\x01\x01\x12\x37\n\x0cprovisioning\x18\r \x01(\x0b\x32!.openshell.v1.SandboxProvisioning\x12\x15\n\rrestart_count\x18\x0e \x01(\r\x12\x35\n\x11next_restart_time\x18\x0f \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12=\n\x19main_process_started_time\x18\x10 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12L\n\x18last_token_grant_failure\x18\x11 \x01(\x0b\x32*.openshell.v1.TokenGrantFailureObservationB\x0c\n\n_exit_codeB\x1a\n\x18_configuration_activated\"\xa2\x01\n\x10SandboxCondition\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0e\n\x06status\x18\x02 \x01(\t\x12\x0e\n\x06reason\x18\x03 \x01(\t\x12\x0f\n\x07message\x18\x04 \x01(\t\x12\x33\n\x0ftransition_time\x18i \x01(\x0b\x32\x1a.google.protobuf.TimestampJ\x04\x08\x05\x10\x06R\x14last_transition_time\"\x80\x02\n\rPlatformEvent\x12.\n\nevent_time\x18\x65 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0e\n\x06source\x18\x02 \x01(\t\x12\x0c\n\x04type\x18\x03 \x01(\t\x12\x0e\n\x06reason\x18\x04 \x01(\t\x12\x0f\n\x07message\x18\x05 \x01(\t\x12;\n\x08metadata\x18\x06 \x03(\x0b\x32).openshell.v1.PlatformEvent.MetadataEntry\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01J\x04\x08\x01\x10\x02R\x0ctimestamp_ms\"\x95\x04\n\x14\x43reateSandboxRequest\x12\x42\n\x0fworkspace_scope\x18\x07 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\'\n\x04spec\x18\x01 \x01(\x0b\x32\x19.openshell.v1.SandboxSpec\x12\x0c\n\x04name\x18\x02 \x01(\t\x12>\n\x06labels\x18\x03 \x03(\x0b\x32..openshell.v1.CreateSandboxRequest.LabelsEntry\x12H\n\x0b\x61nnotations\x18\x04 \x03(\x0b\x32\x33.openshell.v1.CreateSandboxRequest.AnnotationsEntry\x12%\n\x1d\x61wait_main_process_attachment\x18\x05 \x01(\x08\x12\x19\n\x11workload_template\x18\x06 \x01(\t\x12\x12\n\nrequest_id\x18\x08 \x01(\t\x12?\n\x11service_exposures\x18\t \x03(\x0b\x32$.openshell.v1.SandboxServiceExposure\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x32\n\x10\x41nnotationsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x8c\x03\n\x14UpdateSandboxRequest\x12\x42\n\x0fworkspace_scope\x18\x01 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x12\n\x05image\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x33\n\x07\x63ommand\x18\x06 \x01(\x0b\x32\".openshell.v1.SandboxCommandUpdate\x12\x33\n\x0b\x65nvironment\x18\x07 \x01(\x0b\x32\x1e.openshell.v1.SandboxMapUpdate\x12.\n\x06labels\x18\x08 \x01(\x0b\x32\x1e.openshell.v1.SandboxMapUpdate\x12\x33\n\x0b\x61nnotations\x18\t \x01(\x0b\x32\x1e.openshell.v1.SandboxMapUpdate\x12!\n\x19\x65xpected_resource_version\x18\x04 \x01(\x04\x12\x12\n\nrequest_id\x18\x05 \x01(\tB\x08\n\x06_image\"$\n\x14SandboxCommandUpdate\x12\x0c\n\x04\x61rgv\x18\x01 \x03(\t\"}\n\x10SandboxMapUpdate\x12:\n\x06values\x18\x01 \x03(\x0b\x32*.openshell.v1.SandboxMapUpdate.ValuesEntry\x1a-\n\x0bValuesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xaf\x01\n\x1c\x43reateSandboxTemplateRequest\x12\x42\n\x0fworkspace_scope\x18\x02 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x37\n\x08template\x18\x01 \x01(\x0b\x32%.openshell.v1.SandboxWorkloadTemplate\x12\x12\n\nrequest_id\x18\x03 \x01(\t\"m\n\x19GetSandboxTemplateRequest\x12\x42\n\x0fworkspace_scope\x18\x02 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x0c\n\x04name\x18\x01 \x01(\t\"\xa0\x01\n\x1bListSandboxTemplatesRequest\x12\x42\n\x0fworkspace_scope\x18\x04 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x11\n\tpage_size\x18\x01 \x01(\x05\x12\x12\n\npage_token\x18\x02 \x01(\t\x12\x16\n\x0elabel_selector\x18\x03 \x01(\t\"\x9b\x01\n\x1c\x44\x65leteSandboxTemplateRequest\x12\x42\n\x0fworkspace_scope\x18\x02 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rallow_missing\x18\x03 \x01(\x08\x12\x12\n\nrequest_id\x18\x04 \x01(\t\"R\n\x17SandboxTemplateResponse\x12\x37\n\x08template\x18\x01 \x01(\x0b\x32%.openshell.v1.SandboxWorkloadTemplate\"q\n\x1cListSandboxTemplatesResponse\x12\x38\n\ttemplates\x18\x01 \x03(\x0b\x32%.openshell.v1.SandboxWorkloadTemplate\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"^\n\x1d\x44\x65leteSandboxTemplateResponse\x12.\n\x07outcome\x18\x02 \x01(\x0e\x32\x1d.openshell.v1.DeletionOutcomeJ\x04\x08\x01\x10\x02R\x07\x64\x65leted\"\x89\x01\n\x1c\x42\x65ginRootfsTarStagingRequest\x12\x42\n\x0fworkspace_scope\x18\x03 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x11\n\tfile_name\x18\x01 \x01(\t\x12\x12\n\nsize_bytes\x18\x02 \x01(\x04\"\xa8\x01\n\x1d\x42\x65ginRootfsTarStagingResponse\x12\x15\n\rstaging_token\x18\x01 \x01(\t\x12\x13\n\x0bupload_path\x18\x02 \x01(\t\x12\x11\n\tmax_bytes\x18\x03 \x01(\x04\x12\x33\n\x0f\x65xpiration_time\x18h \x01(\x0b\x32\x1a.google.protobuf.TimestampJ\x04\x08\x04\x10\x05R\rexpires_at_ms\"e\n\x11GetSandboxRequest\x12\x42\n\x0fworkspace_scope\x18\x02 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x0c\n\x04name\x18\x01 \x01(\t\"\x99\x01\n\x14ListSandboxesRequest\x12\x42\n\x0fworkspace_scope\x18\x04 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x11\n\tpage_size\x18\x01 \x01(\x05\x12\x12\n\npage_token\x18\x02 \x01(\t\x12\x16\n\x0elabel_selector\x18\x03 \x01(\t\"\x99\x01\n\x1bListSandboxProvidersRequest\x12\x42\n\x0fworkspace_scope\x18\x02 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x0f\n\x07sandbox\x18\x01 \x01(\t\x12\x11\n\tpage_size\x18\x03 \x01(\x05\x12\x12\n\npage_token\x18\x04 \x01(\t\"\xbc\x01\n\x1c\x41ttachSandboxProviderRequest\x12\x42\n\x0fworkspace_scope\x18\x04 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x0f\n\x07sandbox\x18\x01 \x01(\t\x12\x10\n\x08provider\x18\x02 \x01(\t\x12!\n\x19\x65xpected_resource_version\x18\x03 \x01(\x04\x12\x12\n\nrequest_id\x18\x05 \x01(\t\"\xbc\x01\n\x1c\x44\x65tachSandboxProviderRequest\x12\x42\n\x0fworkspace_scope\x18\x04 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x0f\n\x07sandbox\x18\x01 \x01(\t\x12\x10\n\x08provider\x18\x02 \x01(\t\x12!\n\x19\x65xpected_resource_version\x18\x03 \x01(\x04\x12\x12\n\nrequest_id\x18\x05 \x01(\t\"\x93\x01\n\x14\x44\x65leteSandboxRequest\x12\x42\n\x0fworkspace_scope\x18\x02 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rallow_missing\x18\x03 \x01(\x08\x12\x12\n\nrequest_id\x18\x04 \x01(\t\"z\n\x12StopSandboxRequest\x12\x42\n\x0fworkspace_scope\x18\x02 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x12\n\nrequest_id\x18\x03 \x01(\t\"{\n\x13StartSandboxRequest\x12\x42\n\x0fworkspace_scope\x18\x02 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x12\n\nrequest_id\x18\x03 \x01(\t\"i\n\x15SuspendSandboxRequest\x12\x42\n\x0fworkspace_scope\x18\x02 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x0c\n\x04name\x18\x01 \x01(\t\"\x8a\x01\n\x14ResumeSandboxRequest\x12\x42\n\x0fworkspace_scope\x18\x02 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x0c\n\x04name\x18\x01 \x01(\t\x12 \n\x18restart_if_restore_fails\x18\x03 \x01(\x08\"\xb3\x01\n\x0fSandboxResponse\x12&\n\x07sandbox\x18\x01 \x01(\x0b\x32\x15.openshell.v1.Sandbox\x12\x44\n\x0cservice_urls\x18\x02 \x03(\x0b\x32..openshell.v1.SandboxResponse.ServiceUrlsEntry\x1a\x32\n\x10ServiceUrlsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"Z\n\x15ListSandboxesResponse\x12(\n\tsandboxes\x18\x01 \x03(\x0b\x32\x15.openshell.v1.Sandbox\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"l\n\x1cListSandboxProvidersResponse\x12\x33\n\tproviders\x18\x01 \x03(\x0b\x32 .openshell.datamodel.v1.Provider\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\x91\x01\n\x1d\x41ttachSandboxProviderResponse\x12&\n\x07sandbox\x18\x01 \x01(\x0b\x32\x15.openshell.v1.Sandbox\x12\x10\n\x08\x61ttached\x18\x02 \x01(\x08\x12\x36\n\x07receipt\x18\x03 \x01(\x0b\x32%.openshell.v1.ProviderMutationReceipt\"\x91\x01\n\x1d\x44\x65tachSandboxProviderResponse\x12&\n\x07sandbox\x18\x01 \x01(\x0b\x32\x15.openshell.v1.Sandbox\x12\x10\n\x08\x64\x65tached\x18\x02 \x01(\x08\x12\x36\n\x07receipt\x18\x03 \x01(\x0b\x32%.openshell.v1.ProviderMutationReceipt\"\xdd\x01\n\x17ProviderDesiredIdentity\x12\x12\n\nsandbox_id\x18\x01 \x01(\t\x12\x0f\n\x07sandbox\x18\x02 \x01(\t\x12\x18\n\x10\x61ttachment_epoch\x18\x03 \x01(\t\x12\x13\n\x0bprovider_id\x18\x04 \x01(\t\x12!\n\x19provider_resource_version\x18\x05 \x01(\x04\x12\x1d\n\x15provider_env_revision\x18\x06 \x01(\x04\x12\x17\n\x0f\x63onfig_revision\x18\x07 \x01(\x04\x12\x13\n\x0bpolicy_hash\x18\x08 \x01(\t\"\xc6\x01\n\x16\x43onfigSnapshotRevision\x12=\n\x0esandbox_config\x18\x01 \x01(\x0b\x32#.openshell.v1.SandboxConfigRevisionH\x00\x12\x1e\n\x14provider_environment\x18\x02 \x01(\x04H\x00\x12@\n\x0fprovider_target\x18\x03 \x01(\x0b\x32%.openshell.v1.ProviderDesiredIdentityH\x00\x42\x0b\n\tcomponent\"\xbd\x01\n\x15SandboxConfigRevision\x12\x17\n\x0f\x63onfig_revision\x18\x01 \x01(\x04\x12\x16\n\x0epolicy_version\x18\x02 \x01(\r\x12\x39\n\rpolicy_source\x18\x03 \x01(\x0e\x32\".openshell.sandbox.v1.PolicySource\x12\x1d\n\x15global_policy_version\x18\x04 \x01(\r\x12\x19\n\x11settings_revision\x18\x05 \x01(\x04\"\x90\x04\n\x15\x43onfigUpdateOperation\x12\x14\n\x0coperation_id\x18\x01 \x01(\t\x12\x12\n\nsandbox_id\x18\x02 \x01(\t\x12\x30\n\tcomponent\x18\x03 \x01(\x0e\x32\x1d.openshell.v1.ConfigComponent\x12=\n\x0ftarget_revision\x18\x04 \x01(\x0b\x32$.openshell.v1.ConfigSnapshotRevision\x12\x37\n\x05state\x18\x05 \x01(\x0e\x32(.openshell.v1.ConfigUpdateOperationState\x12\x31\n\x07outcome\x18\x06 \x01(\x0e\x32 .openshell.v1.ConfigApplyOutcome\x12\x17\n\x0fsanitized_error\x18\x07 \x01(\t\x12\x30\n\x0c\x63reated_time\x18l \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x0cupdated_time\x18m \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x32\n\x0e\x63ompleted_time\x18n \x01(\x0b\x32\x1a.google.protobuf.TimestampJ\x04\x08\x08\x10\tJ\x04\x08\t\x10\nJ\x04\x08\n\x10\x0bR\rcreated_at_msR\rupdated_at_msR\x0f\x63ompleted_at_ms\"\x9c\x02\n\x17ProviderMutationReceipt\x12\x12\n\nreceipt_id\x18\x01 \x01(\t\x12\x13\n\x0bmutation_id\x18\x02 \x01(\t\x12\x10\n\x08provider\x18\x03 \x01(\t\x12\x11\n\tworkspace\x18\x04 \x01(\t\x12\x30\n\x04kind\x18\x05 \x01(\x0e\x32\".openshell.v1.ProviderMutationKind\x12\x36\n\x07\x64\x65sired\x18\x06 \x01(\x0b\x32%.openshell.v1.ProviderDesiredIdentity\x12\x32\n\x0epersisted_time\x18k \x01(\x0b\x32\x1a.google.protobuf.TimestampJ\x04\x08\x07\x10\x08R\x0fpersisted_at_ms\"\xdb\x02\n\x1cProviderReadinessObservation\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x10\n\x08sequence\x18\x02 \x01(\x04\x12\x18\n\x10\x61ttachment_epoch\x18\x03 \x01(\t\x12\x1d\n\x15provider_env_revision\x18\x04 \x01(\x04\x12\x17\n\x0f\x63onfig_revision\x18\x05 \x01(\x04\x12\x13\n\x0bpolicy_hash\x18\x06 \x01(\t\x12\x1d\n\x15\x63redentials_installed\x18\x07 \x01(\x08\x12\x15\n\rpolicy_active\x18\x08 \x01(\x08\x12$\n\x1claunch_environment_installed\x18\t \x01(\x08\x12\x1b\n\x13process_instance_id\x18\n \x01(\t\x12\x35\n\x06reason\x18\x0b \x01(\x0e\x32%.openshell.v1.ProviderReadinessReason\"\xe4\x03\n\x17ProviderReadinessStatus\x12\x36\n\x07receipt\x18\x01 \x01(\x0b\x32%.openshell.v1.ProviderMutationReceipt\x12\x33\n\x05state\x18\x02 \x01(\x0e\x32$.openshell.v1.ProviderReadinessState\x12\x35\n\x06reason\x18\x03 \x01(\x0e\x32%.openshell.v1.ProviderReadinessReason\x12<\n\x08observed\x18\x04 \x01(\x0b\x32*.openshell.v1.ProviderReadinessObservation\x12\x1b\n\x13network_instance_id\x18\x05 \x01(\t\x12\x31\n\robserved_time\x18j \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x32\n\x0e\x65valuated_time\x18k \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x36\n\toperation\x18\x08 \x01(\x0b\x32#.openshell.v1.ConfigUpdateOperationJ\x04\x08\x06\x10\x07J\x04\x08\x07\x10\x08R\x0eobserved_at_msR\x0f\x65valuated_at_ms\"\x9c\x01\n\x1fGetSandboxProviderStatusRequest\x12\x42\n\x0fworkspace_scope\x18\x04 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x0f\n\x07sandbox\x18\x01 \x01(\t\x12\x10\n\x08provider\x18\x02 \x01(\t\x12\x12\n\nreceipt_id\x18\x03 \x01(\t\"Y\n GetSandboxProviderStatusResponse\x12\x35\n\x06status\x18\x01 \x01(\x0b\x32%.openshell.v1.ProviderReadinessStatus\"u\n\x1eReportProviderReadinessRequest\x12\x12\n\nsandbox_id\x18\x01 \x01(\t\x12?\n\x0bobservation\x18\x02 \x01(\x0b\x32*.openshell.v1.ProviderReadinessObservation\"\xe2\x01\n\x1fReportProviderReadinessResponse\x12\x19\n\x11\x61\x63\x63\x65pted_sequence\x18\x01 \x01(\x04\x12\x32\n\x0freport_interval\x18\x66 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x32\n\x0fobservation_ttl\x18g \x01(\x0b\x32\x19.google.protobuf.DurationJ\x04\x08\x02\x10\x03J\x04\x08\x03\x10\x04R\x17report_interval_secondsR\x17observation_ttl_seconds\"j\n\x15\x44\x65leteSandboxResponse\x12.\n\x07outcome\x18\x02 \x01(\x0e\x32\x1d.openshell.v1.DeletionOutcome\x12\x12\n\nsandbox_id\x18\x03 \x01(\tJ\x04\x08\x01\x10\x02R\x07\x64\x65leted\"n\n\x17\x43reateSshSessionRequest\x12\x42\n\x0fworkspace_scope\x18\x03 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x0f\n\x07sandbox\x18\x01 \x01(\t\"\xef\x01\n\x18\x43reateSshSessionResponse\x12\x12\n\nsandbox_id\x18\x01 \x01(\t\x12\x13\n\x05token\x18\x02 \x01(\tB\x04\x88\xb5\x18\x01\x12\x14\n\x0cgateway_host\x18\x03 \x01(\t\x12\x14\n\x0cgateway_port\x18\x04 \x01(\r\x12\x16\n\x0egateway_scheme\x18\x05 \x01(\t\x12\x1c\n\x14host_key_fingerprint\x18\x07 \x01(\t\x12\x33\n\x0f\x65xpiration_time\x18l \x01(\x0b\x32\x1a.google.protobuf.TimestampJ\x04\x08\x08\x10\tR\rexpires_at_ms\"\xf6\x01\n\x14\x45xposeServiceRequest\x12\x42\n\x0fworkspace_scope\x18\x05 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0btarget_port\x18\x03 \x01(\r\x12\x0e\n\x06\x64omain\x18\x04 \x01(\x08\x12\x0f\n\x07sandbox\x18\x01 \x01(\t\x12\x12\n\nrequest_id\x18\x06 \x01(\t\x12\x42\n\x12\x61uthorization_mode\x18\x07 \x01(\x0e\x32&.openshell.v1.ServiceAuthorizationMode\"v\n\x11GetServiceRequest\x12\x42\n\x0fworkspace_scope\x18\x03 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0f\n\x07sandbox\x18\x01 \x01(\t\"\x91\x01\n\x13ListServicesRequest\x12\x42\n\x0fworkspace_scope\x18\x04 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x0f\n\x07sandbox\x18\x01 \x01(\t\"h\n\x14ListServicesResponse\x12\x37\n\x08services\x18\x01 \x03(\x0b\x32%.openshell.v1.ServiceEndpointResponse\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\xa4\x01\n\x14\x44\x65leteServiceRequest\x12\x42\n\x0fworkspace_scope\x18\x03 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0f\n\x07sandbox\x18\x01 \x01(\t\x12\x15\n\rallow_missing\x18\x04 \x01(\x08\x12\x12\n\nrequest_id\x18\x05 \x01(\t\"V\n\x15\x44\x65leteServiceResponse\x12.\n\x07outcome\x18\x02 \x01(\x0e\x32\x1d.openshell.v1.DeletionOutcomeJ\x04\x08\x01\x10\x02R\x07\x64\x65leted\"\xe3\x01\n\x0fServiceEndpoint\x12\x34\n\x08metadata\x18\x01 \x01(\x0b\x32\".openshell.datamodel.v1.ObjectMeta\x12\x12\n\nsandbox_id\x18\x02 \x01(\t\x12\x0f\n\x07sandbox\x18\x03 \x01(\t\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x13\n\x0btarget_port\x18\x05 \x01(\r\x12\x0e\n\x06\x64omain\x18\x06 \x01(\x08\x12\x42\n\x12\x61uthorization_mode\x18\x07 \x01(\x0e\x32&.openshell.v1.ServiceAuthorizationMode\"W\n\x17ServiceEndpointResponse\x12/\n\x08\x65ndpoint\x18\x01 \x01(\x0b\x32\x1d.openshell.v1.ServiceEndpoint\x12\x0b\n\x03url\x18\x02 \x01(\t\"E\n\x17RevokeSshSessionRequest\x12\x13\n\x05token\x18\x01 \x01(\tB\x04\x88\xb5\x18\x01\x12\x15\n\rallow_missing\x18\x02 \x01(\x08\"Y\n\x18RevokeSshSessionResponse\x12.\n\x07outcome\x18\x02 \x01(\x0e\x32\x1d.openshell.v1.DeletionOutcomeJ\x04\x08\x01\x10\x02R\x07revoked\"\xb8\x03\n\x12\x45xecSandboxRequest\x12\x42\n\x0fworkspace_scope\x18\x0c \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x0f\n\x07sandbox\x18\x01 \x01(\t\x12\x0f\n\x07\x63ommand\x18\x02 \x03(\t\x12\x0f\n\x07workdir\x18\x03 \x01(\t\x12\x46\n\x0b\x65nvironment\x18\x04 \x03(\x0b\x32\x31.openshell.v1.ExecSandboxRequest.EnvironmentEntry\x12\x34\n\x11\x65xecution_timeout\x18i \x01(\x0b\x32\x19.google.protobuf.Duration\x12\r\n\x05stdin\x18\x06 \x01(\x0c\x12\x0b\n\x03tty\x18\x07 \x01(\x08\x12\x0c\n\x04\x63ols\x18\x08 \x01(\r\x12\x0c\n\x04rows\x18\t \x01(\r\x12\x16\n\x0eno_login_shell\x18\n \x01(\x08\x12\x12\n\nrequest_id\x18\x0b \x01(\t\x1a\x32\n\x10\x45nvironmentEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01J\x04\x08\x05\x10\x06R\x0ftimeout_seconds\"!\n\x11\x45xecSandboxStdout\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"!\n\x11\x45xecSandboxStderr\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"$\n\x0f\x45xecSandboxExit\x12\x11\n\texit_code\x18\x01 \x01(\x05\"\xb2\x01\n\x10\x45xecSandboxEvent\x12\x31\n\x06stdout\x18\x01 \x01(\x0b\x32\x1f.openshell.v1.ExecSandboxStdoutH\x00\x12\x31\n\x06stderr\x18\x02 \x01(\x0b\x32\x1f.openshell.v1.ExecSandboxStderrH\x00\x12-\n\x04\x65xit\x18\x03 \x01(\x0b\x32\x1d.openshell.v1.ExecSandboxExitH\x00\x42\t\n\x07payload\"\xcf\x01\n\x0eTcpForwardInit\x12\x0f\n\x07sandbox\x18\x01 \x01(\t\x12\x11\n\tworkspace\x18\x03 \x01(\t\x12\x12\n\nservice_id\x18\x04 \x01(\t\x12+\n\x03ssh\x18\x05 \x01(\x0b\x32\x1c.openshell.v1.SshRelayTargetH\x00\x12+\n\x03tcp\x18\x06 \x01(\x0b\x32\x1c.openshell.v1.TcpRelayTargetH\x00\x12!\n\x13\x61uthorization_token\x18\x07 \x01(\tB\x04\x88\xb5\x18\x01\x42\x08\n\x06target\"Z\n\x0fTcpForwardFrame\x12,\n\x04init\x18\x01 \x01(\x0b\x32\x1c.openshell.v1.TcpForwardInitH\x00\x12\x0e\n\x04\x64\x61ta\x18\x02 \x01(\x0cH\x00\x42\t\n\x07payload\"\x9a\x01\n\x10\x45xecSandboxInput\x12\x31\n\x05start\x18\x01 \x01(\x0b\x32 .openshell.v1.ExecSandboxRequestH\x00\x12\x0f\n\x05stdin\x18\x02 \x01(\x0cH\x00\x12\x37\n\x06resize\x18\x03 \x01(\x0b\x32%.openshell.v1.ExecSandboxWindowResizeH\x00\x42\t\n\x07payload\"5\n\x17\x45xecSandboxWindowResize\x12\x0c\n\x04\x63ols\x18\x01 \x01(\r\x12\x0c\n\x04rows\x18\x02 \x01(\r\"\xc6\x01\n\nSshSession\x12\x34\n\x08metadata\x18\x01 \x01(\x0b\x32\".openshell.datamodel.v1.ObjectMeta\x12\x12\n\nsandbox_id\x18\x02 \x01(\t\x12\x13\n\x05token\x18\x03 \x01(\tB\x04\x88\xb5\x18\x01\x12\x33\n\x0f\x65xpiration_time\x18h \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0f\n\x07revoked\x18\x05 \x01(\x08J\x04\x08\x04\x10\x05R\rexpires_at_ms\"\x80\x03\n\x13WatchSandboxRequest\x12\x42\n\x0fworkspace_scope\x18\x0b \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x0f\n\x07sandbox\x18\x01 \x01(\t\x12\x15\n\rfollow_status\x18\x02 \x01(\x08\x12\x13\n\x0b\x66ollow_logs\x18\x03 \x01(\x08\x12\x15\n\rfollow_events\x18\x04 \x01(\x08\x12\x16\n\x0elog_tail_lines\x18\x05 \x01(\r\x12\x12\n\nevent_tail\x18\x06 \x01(\r\x12\x18\n\x10stop_on_terminal\x18\x07 \x01(\x08\x12.\n\nsince_time\x18l \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x13\n\x0blog_sources\x18\t \x03(\t\x12\x15\n\rlog_min_level\x18\n \x01(\t\x12\x1b\n\x13resume_after_cursor\x18\x0c \x01(\tJ\x04\x08\x08\x10\tR\x0clog_since_ms\"\xab\x02\n\x12SandboxStreamEvent\x12(\n\x07sandbox\x18\x01 \x01(\x0b\x32\x15.openshell.v1.SandboxH\x00\x12+\n\x03log\x18\x02 \x01(\x0b\x32\x1c.openshell.v1.SandboxLogLineH\x00\x12,\n\x05\x65vent\x18\x03 \x01(\x0b\x32\x1b.openshell.v1.PlatformEventH\x00\x12\x35\n\x07warning\x18\x04 \x01(\x0b\x32\".openshell.v1.SandboxStreamWarningH\x00\x12>\n\x13\x64raft_policy_update\x18\x05 \x01(\x0b\x32\x1f.openshell.v1.DraftPolicyUpdateH\x00\x12\x0e\n\x06\x63ursor\x18\x06 \x01(\tB\t\n\x07payload\"\x91\x02\n\x0eSandboxLogLine\x12\x12\n\nsandbox_id\x18\x01 \x01(\t\x12.\n\nevent_time\x18\x66 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\r\n\x05level\x18\x03 \x01(\t\x12\x0e\n\x06target\x18\x04 \x01(\t\x12\x0f\n\x07message\x18\x05 \x01(\t\x12\x0e\n\x06source\x18\x06 \x01(\t\x12\x38\n\x06\x66ields\x18\x07 \x03(\x0b\x32(.openshell.v1.SandboxLogLine.FieldsEntry\x1a-\n\x0b\x46ieldsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01J\x04\x08\x02\x10\x03R\x0ctimestamp_ms\"\'\n\x14SandboxStreamWarning\x12\x0f\n\x07message\x18\x01 \x01(\t\"\xa3\x01\n\x15\x43reateProviderRequest\x12\x42\n\x0fworkspace_scope\x18\x02 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x32\n\x08provider\x18\x01 \x01(\x0b\x32 .openshell.datamodel.v1.Provider\x12\x12\n\nrequest_id\x18\x03 \x01(\t\"f\n\x12GetProviderRequest\x12\x42\n\x0fworkspace_scope\x18\x02 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x0c\n\x04name\x18\x01 \x01(\t\"\xc9\x01\n\x1dGetProviderCredentialsRequest\x12\x42\n\x0fworkspace_scope\x18\x01 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x17\n\x0f\x63redential_keys\x18\x03 \x03(\t\x12=\n\x1aminimum_remaining_lifetime\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\"c\n\x17ProviderCredentialValue\x12\x13\n\x05value\x18\x01 \x01(\tB\x04\x88\xb5\x18\x01\x12\x33\n\x0f\x65xpiration_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xcf\x01\n\x1eGetProviderCredentialsResponse\x12R\n\x0b\x63redentials\x18\x01 \x03(\x0b\x32=.openshell.v1.GetProviderCredentialsResponse.CredentialsEntry\x1aY\n\x10\x43redentialsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x34\n\x05value\x18\x02 \x01(\x0b\x32%.openshell.v1.ProviderCredentialValue:\x02\x38\x01\"\x99\x01\n\x14ListProvidersRequest\x12\x42\n\x0fworkspace_scope\x18\x03 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x11\n\tpage_size\x18\x01 \x01(\x05\x12\x12\n\npage_token\x18\x02 \x01(\t\x12\x16\n\x0elabel_selector\x18\x04 \x01(\t\"\xb4\x03\n\x15UpdateProviderRequest\x12\x42\n\x0fworkspace_scope\x18\x03 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x32\n\x08provider\x18\x01 \x01(\x0b\x32 .openshell.datamodel.v1.Provider\x12g\n\x1b\x63redential_expiration_times\x18\x66 \x03(\x0b\x32\x42.openshell.v1.UpdateProviderRequest.CredentialExpirationTimesEntry\x12(\n clear_credential_expiration_keys\x18g \x03(\t\x12\x12\n\nrequest_id\x18\x04 \x01(\t\x1a\\\n\x1e\x43redentialExpirationTimesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12)\n\x05value\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp:\x02\x38\x01J\x04\x08\x02\x10\x03R\x18\x63redential_expires_at_ms\"\x94\x01\n\x15\x44\x65leteProviderRequest\x12\x42\n\x0fworkspace_scope\x18\x03 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rallow_missing\x18\x04 \x01(\x08\x12\x12\n\nrequest_id\x18\x05 \x01(\t\"\x9b\x01\n\x10ProviderResponse\x12\x32\n\x08provider\x18\x01 \x01(\x0b\x32 .openshell.datamodel.v1.Provider\x12>\n\x0ftarget_receipts\x18\x02 \x03(\x0b\x32%.openshell.v1.ProviderMutationReceipt\x12\x13\n\x0bmutation_id\x18\x03 \x01(\t\"e\n\x15ListProvidersResponse\x12\x33\n\tproviders\x18\x01 \x03(\x0b\x32 .openshell.datamodel.v1.Provider\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\x88\x01\n\x1bListProviderProfilesRequest\x12\x42\n\x0fworkspace_scope\x18\x03 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x11\n\tpage_size\x18\x01 \x01(\x05\x12\x12\n\npage_token\x18\x02 \x01(\t\"k\n\x19GetProviderProfileRequest\x12\x42\n\x0fworkspace_scope\x18\x02 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\n\n\x02id\x18\x01 \x01(\t\"[\n\x19ProviderProfileImportItem\x12.\n\x07profile\x18\x01 \x01(\x0b\x32\x1d.openshell.v1.ProviderProfile\x12\x0e\n\x06source\x18\x02 \x01(\t\"q\n\x19ProviderProfileDiagnostic\x12\x0e\n\x06source\x18\x01 \x01(\t\x12\x12\n\nprofile_id\x18\x02 \x01(\t\x12\r\n\x05\x66ield\x18\x03 \x01(\t\x12\x0f\n\x07message\x18\x04 \x01(\t\x12\x10\n\x08severity\x18\x05 \x01(\t\"z\n,ProviderCredentialTokenGrantAudienceOverride\x12\x0c\n\x04host\x18\x01 \x01(\t\x12\x0c\n\x04port\x18\x02 \x01(\r\x12\x0c\n\x04path\x18\x03 \x01(\t\x12\x10\n\x08\x61udience\x18\x04 \x01(\t\x12\x0e\n\x06scopes\x18\x05 \x03(\t\"j\n(ProviderCredentialTokenGrantSubjectToken\x12\x0e\n\x06source\x18\x01 \x01(\t\x12\x12\n\ncredential\x18\x02 \x01(\t\x12\x1a\n\x12subject_token_type\x18\x03 \x01(\t\"\xe2\x03\n\x1cProviderCredentialTokenGrant\x12\x16\n\x0etoken_endpoint\x18\x01 \x01(\t\x12\x10\n\x08\x61udience\x18\x02 \x01(\t\x12\x19\n\x11jwt_svid_audience\x18\x06 \x01(\t\x12\x0e\n\x06scopes\x18\x03 \x03(\t\x12,\n\tcache_ttl\x18h \x01(\x0b\x32\x19.google.protobuf.Duration\x12V\n\x12\x61udience_overrides\x18\x05 \x03(\x0b\x32:.openshell.v1.ProviderCredentialTokenGrantAudienceOverride\x12\x1d\n\x15\x63lient_assertion_type\x18\x07 \x01(\t\x12\x42\n\ngrant_type\x18\x08 \x01(\x0e\x32..openshell.v1.ProviderCredentialTokenGrantType\x12M\n\rsubject_token\x18\t \x01(\x0b\x32\x36.openshell.v1.ProviderCredentialTokenGrantSubjectToken\x12\x1c\n\x14requested_token_type\x18\n \x01(\tJ\x04\x08\x04\x10\x05R\x11\x63\x61\x63he_ttl_seconds\"\xea\x02\n\x19ProviderProfileCredential\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x10\n\x08\x65nv_vars\x18\x03 \x03(\t\x12\x10\n\x08required\x18\x04 \x01(\x08\x12\x12\n\nauth_style\x18\x05 \x01(\t\x12\x13\n\x0bheader_name\x18\x06 \x01(\t\x12\x13\n\x0bquery_param\x18\x07 \x01(\t\x12\x38\n\x07refresh\x18\x08 \x01(\x0b\x32\'.openshell.v1.ProviderCredentialRefresh\x12\x15\n\rpath_template\x18\t \x01(\t\x12?\n\x0btoken_grant\x18\n \x01(\x0b\x32*.openshell.v1.ProviderCredentialTokenGrant\x12\x1a\n\x12token_grant_owners\x18\x0b \x03(\t\x12\x1a\n\x12stable_placeholder\x18\x0c \x01(\x08\"h\n!ProviderCredentialRefreshMaterial\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x10\n\x08required\x18\x03 \x01(\x08\x12\x0e\n\x06secret\x18\x04 \x01(\x08\"E\n\x1fProviderCredentialRefreshOutput\x12\x0e\n\x06output\x18\x01 \x01(\t\x12\x12\n\ncredential\x18\x02 \x01(\t\"\xad\x03\n\x19ProviderCredentialRefresh\x12\x41\n\x08strategy\x18\x01 \x01(\x0e\x32/.openshell.v1.ProviderCredentialRefreshStrategy\x12\x11\n\ttoken_url\x18\x02 \x01(\t\x12\x0e\n\x06scopes\x18\x03 \x03(\t\x12\x31\n\x0erefresh_before\x18h \x01(\x0b\x32\x19.google.protobuf.Duration\x12/\n\x0cmax_lifetime\x18i \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x41\n\x08material\x18\x06 \x03(\x0b\x32/.openshell.v1.ProviderCredentialRefreshMaterial\x12I\n\x12\x61\x64\x64itional_outputs\x18\x07 \x03(\x0b\x32-.openshell.v1.ProviderCredentialRefreshOutputJ\x04\x08\x04\x10\x05J\x04\x08\x05\x10\x06R\x16refresh_before_secondsR\x14max_lifetime_seconds\"\x86\x05\n\x1fProviderCredentialRefreshStatus\x12\x10\n\x08provider\x18\x01 \x01(\t\x12\x13\n\x0bprovider_id\x18\x02 \x01(\t\x12\x16\n\x0e\x63redential_key\x18\x03 \x01(\t\x12\x41\n\x08strategy\x18\x04 \x01(\x0e\x32/.openshell.v1.ProviderCredentialRefreshStrategy\x12\x0e\n\x06status\x18\x05 \x01(\t\x12\x33\n\x0f\x65xpiration_time\x18j \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x35\n\x11next_refresh_time\x18k \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x35\n\x11last_refresh_time\x18l \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x12\n\nlast_error\x18\t \x01(\t\x12N\n\x0frecovery_action\x18\n \x01(\x0e\x32\x35.openshell.v1.ProviderCredentialRefreshRecoveryAction\x12\x14\n\x0c\x66\x61ilure_code\x18\x0b \x01(\t\x12\x1e\n\x16provider_error_subtype\x18\x0c \x01(\t\x12\x33\n\x0flast_error_time\x18q \x01(\x0b\x32\x1a.google.protobuf.TimestampJ\x04\x08\x06\x10\x07J\x04\x08\x07\x10\x08J\x04\x08\x08\x10\tJ\x04\x08\r\x10\x0eR\rexpires_at_msR\x12next_refresh_at_msR\x12last_refresh_at_msR\x10last_error_at_ms\"/\n\x18ProviderProfileDiscovery\x12\x13\n\x0b\x63redentials\x18\x01 \x03(\t\"\x8f\x01\n\x1fGetProviderRefreshStatusRequest\x12\x42\n\x0fworkspace_scope\x18\x03 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x10\n\x08provider\x18\x01 \x01(\t\x12\x16\n\x0e\x63redential_key\x18\x02 \x01(\t\"f\n GetProviderRefreshStatusResponse\x12\x42\n\x0b\x63redentials\x18\x01 \x03(\x0b\x32-.openshell.v1.ProviderCredentialRefreshStatus\"\xd4\x03\n\x1f\x43onfigureProviderRefreshRequest\x12\x42\n\x0fworkspace_scope\x18\x07 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x10\n\x08provider\x18\x01 \x01(\t\x12\x16\n\x0e\x63redential_key\x18\x02 \x01(\t\x12\x41\n\x08strategy\x18\x03 \x01(\x0e\x32/.openshell.v1.ProviderCredentialRefreshStrategy\x12S\n\x08material\x18\x04 \x03(\x0b\x32;.openshell.v1.ConfigureProviderRefreshRequest.MaterialEntryB\x04\x88\xb5\x18\x01\x12\x1c\n\x14secret_material_keys\x18\x05 \x03(\t\x12\x33\n\x0f\x65xpiration_time\x18j \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x12\n\nrequest_id\x18\x08 \x01(\t\x1a/\n\rMaterialEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01J\x04\x08\x06\x10\x07R\rexpires_at_ms\"a\n ConfigureProviderRefreshResponse\x12=\n\x06status\x18\x01 \x01(\x0b\x32-.openshell.v1.ProviderCredentialRefreshStatus\"\xa3\x01\n\x1fRotateProviderCredentialRequest\x12\x42\n\x0fworkspace_scope\x18\x03 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x10\n\x08provider\x18\x01 \x01(\t\x12\x16\n\x0e\x63redential_key\x18\x02 \x01(\t\x12\x12\n\nrequest_id\x18\x04 \x01(\t\"a\n RotateProviderCredentialResponse\x12=\n\x06status\x18\x01 \x01(\x0b\x32-.openshell.v1.ProviderCredentialRefreshStatus\"\xb7\x01\n\x1c\x44\x65leteProviderRefreshRequest\x12\x42\n\x0fworkspace_scope\x18\x04 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x10\n\x08provider\x18\x01 \x01(\t\x12\x16\n\x0e\x63redential_key\x18\x02 \x01(\t\x12\x15\n\rallow_missing\x18\x05 \x01(\x08\x12\x12\n\nrequest_id\x18\x06 \x01(\t\"^\n\x1d\x44\x65leteProviderRefreshResponse\x12.\n\x07outcome\x18\x02 \x01(\x0e\x32\x1d.openshell.v1.DeletionOutcomeJ\x04\x08\x01\x10\x02R\x07\x64\x65leted\"\xea\x04\n\x0fProviderProfile\x12\n\n\x02id\x18\x01 \x01(\t\x12\x14\n\x0c\x64isplay_name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x37\n\x08\x63\x61tegory\x18\x04 \x01(\x0e\x32%.openshell.v1.ProviderProfileCategory\x12<\n\x0b\x63redentials\x18\x05 \x03(\x0b\x32\'.openshell.v1.ProviderProfileCredential\x12\x38\n\tendpoints\x18\x06 \x03(\x0b\x32%.openshell.sandbox.v1.NetworkEndpoint\x12\x35\n\x08\x62inaries\x18\x07 \x03(\x0b\x32#.openshell.sandbox.v1.NetworkBinary\x12\x19\n\x11inference_capable\x18\x08 \x01(\x08\x12\x39\n\tdiscovery\x18\t \x01(\x0b\x32&.openshell.v1.ProviderProfileDiscovery\x12\x18\n\x10resource_version\x18\n \x01(\x04\x12\x43\n\x0b\x61nnotations\x18\x0b \x03(\x0b\x32..openshell.v1.ProviderProfile.AnnotationsEntry\x12\x0e\n\x06source\x18\x0c \x01(\t\x12\r\n\x05scope\x18\r \x01(\t\x12\x30\n\x05\x66iles\x18\x0e \x03(\x0b\x32!.openshell.v1.ProviderProfileFile\x1a\x32\n\x10\x41nnotationsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"E\n\x13ProviderProfileFile\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x0f\n\x07\x63ontent\x18\x02 \x01(\t\x12\x0f\n\x07\x65nv_var\x18\x03 \x01(\t\"I\n\x17ProviderProfileResponse\x12.\n\x07profile\x18\x01 \x01(\x0b\x32\x1d.openshell.v1.ProviderProfile\"h\n\x1cListProviderProfilesResponse\x12/\n\x08profiles\x18\x01 \x03(\x0b\x32\x1d.openshell.v1.ProviderProfile\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\xb2\x01\n\x1dImportProviderProfilesRequest\x12\x42\n\x0fworkspace_scope\x18\x02 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x39\n\x08profiles\x18\x01 \x03(\x0b\x32\'.openshell.v1.ProviderProfileImportItem\x12\x12\n\nrequest_id\x18\x03 \x01(\t\"\xa1\x01\n\x1eImportProviderProfilesResponse\x12<\n\x0b\x64iagnostics\x18\x01 \x03(\x0b\x32\'.openshell.v1.ProviderProfileDiagnostic\x12/\n\x08profiles\x18\x02 \x03(\x0b\x32\x1d.openshell.v1.ProviderProfile\x12\x10\n\x08imported\x18\x03 \x01(\x08\"\xe0\x01\n\x1dUpdateProviderProfilesRequest\x12\x42\n\x0fworkspace_scope\x18\x04 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x38\n\x07profile\x18\x01 \x01(\x0b\x32\'.openshell.v1.ProviderProfileImportItem\x12!\n\x19\x65xpected_resource_version\x18\x02 \x01(\x04\x12\n\n\x02id\x18\x03 \x01(\t\x12\x12\n\nrequest_id\x18\x05 \x01(\t\"\x9f\x01\n\x1eUpdateProviderProfilesResponse\x12<\n\x0b\x64iagnostics\x18\x01 \x03(\x0b\x32\'.openshell.v1.ProviderProfileDiagnostic\x12.\n\x07profile\x18\x02 \x01(\x0b\x32\x1d.openshell.v1.ProviderProfile\x12\x0f\n\x07updated\x18\x03 \x01(\x08\"\x9c\x01\n\x1bLintProviderProfilesRequest\x12\x42\n\x0fworkspace_scope\x18\x02 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x39\n\x08profiles\x18\x01 \x03(\x0b\x32\'.openshell.v1.ProviderProfileImportItem\"\x90\x01\n\x1cLintProviderProfilesResponse\x12<\n\x0b\x64iagnostics\x18\x01 \x03(\x0b\x32\'.openshell.v1.ProviderProfileDiagnostic\x12\r\n\x05valid\x18\x02 \x01(\x08\x12#\n\x1bsupports_stable_placeholder\x18\x03 \x01(\x08\"W\n\x16\x44\x65leteProviderResponse\x12.\n\x07outcome\x18\x02 \x01(\x0e\x32\x1d.openshell.v1.DeletionOutcomeJ\x04\x08\x01\x10\x02R\x07\x64\x65leted\"\x99\x01\n\x1c\x44\x65leteProviderProfileRequest\x12\x42\n\x0fworkspace_scope\x18\x02 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\n\n\x02id\x18\x01 \x01(\t\x12\x15\n\rallow_missing\x18\x03 \x01(\x08\x12\x12\n\nrequest_id\x18\x04 \x01(\t\"^\n\x1d\x44\x65leteProviderProfileResponse\x12.\n\x07outcome\x18\x02 \x01(\x0e\x32\x1d.openshell.v1.DeletionOutcomeJ\x04\x08\x01\x10\x02R\x07\x64\x65leted\"\x9d\x01\n$GetSandboxProviderEnvironmentRequest\x12\x12\n\nsandbox_id\x18\x01 \x01(\t\x12+\n#supports_static_credential_bindings\x18\x02 \x01(\x08\x12\x34\n,supports_stable_placeholder_environment_keys\x18\x03 \x01(\x08\"K\n\x1fStaticCredentialEndpointBinding\x12\x0c\n\x04host\x18\x01 \x01(\t\x12\x0c\n\x04port\x18\x02 \x01(\r\x12\x0c\n\x04path\x18\x03 \x01(\t\"\x9c\x01\n\x17StaticCredentialBinding\x12@\n\tendpoints\x18\x01 \x03(\x0b\x32-.openshell.v1.StaticCredentialEndpointBinding\x12\x1b\n\x13\x63redential_identity\x18\x02 \x01(\t\x12\"\n\x1aworkload_credential_handle\x18\x03 \x01(\t\"\xfd\t\n%GetSandboxProviderEnvironmentResponse\x12_\n\x0b\x65nvironment\x18\x01 \x03(\x0b\x32\x44.openshell.v1.GetSandboxProviderEnvironmentResponse.EnvironmentEntryB\x04\x88\xb5\x18\x01\x12\x1d\n\x15provider_env_revision\x18\x02 \x01(\x04\x12w\n\x1b\x63redential_expiration_times\x18g \x03(\x0b\x32R.openshell.v1.GetSandboxProviderEnvironmentResponse.CredentialExpirationTimesEntry\x12h\n\x13\x64ynamic_credentials\x18\x04 \x03(\x0b\x32K.openshell.v1.GetSandboxProviderEnvironmentResponse.DynamicCredentialsEntry\x12u\n\x1astatic_credential_bindings\x18\x05 \x03(\x0b\x32Q.openshell.v1.GetSandboxProviderEnvironmentResponse.StaticCredentialBindingsEntry\x12#\n\x1bnon_secret_environment_keys\x18\x06 \x03(\t\x12!\n\x19provider_attachment_epoch\x18\x07 \x01(\t\x12\x13\n\x0bpolicy_hash\x18\x08 \x01(\t\x12?\n\x10readiness_reason\x18\t \x01(\x0e\x32%.openshell.v1.ProviderReadinessReason\x12M\n\x05\x66iles\x18\n \x03(\x0b\x32>.openshell.v1.GetSandboxProviderEnvironmentResponse.FilesEntry\x12+\n#stable_placeholder_environment_keys\x18\x0b \x03(\t\x12\x34\n,supports_stable_placeholder_environment_keys\x18\x0c \x01(\x08\x1a\x32\n\x10\x45nvironmentEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\\\n\x1e\x43redentialExpirationTimesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12)\n\x05value\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp:\x02\x38\x01\x1a\x62\n\x17\x44ynamicCredentialsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x36\n\x05value\x18\x02 \x01(\x0b\x32\'.openshell.v1.ProviderProfileCredential:\x02\x38\x01\x1a\x66\n\x1dStaticCredentialBindingsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x34\n\x05value\x18\x02 \x01(\x0b\x32%.openshell.v1.StaticCredentialBinding:\x02\x38\x01\x1a,\n\nFilesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01J\x04\x08\x03\x10\x04R\x18\x63redential_expires_at_ms\"\xa6\x02\n\x18ProviderEnvironmentValue\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x05value\x18\x02 \x01(\tB\x04\x88\xb5\x18\x01\x12L\n\x0e\x63lassification\x18\x04 \x01(\x0e\x32\x34.openshell.v1.ProviderEnvironmentValueClassification\x12H\n\x19static_credential_binding\x18\x05 \x01(\x0b\x32%.openshell.v1.StaticCredentialBinding\x12\x33\n\x0f\x65xpiration_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1a\n\x12stable_placeholder\x18\x06 \x01(\x08\"\xa4\x04\n\x1bProviderEnvironmentSnapshot\x12\x1d\n\x15provider_env_revision\x18\x01 \x01(\x04\x12\x36\n\x06values\x18\x02 \x03(\x0b\x32&.openshell.v1.ProviderEnvironmentValue\x12^\n\x13\x64ynamic_credentials\x18\x03 \x03(\x0b\x32\x41.openshell.v1.ProviderEnvironmentSnapshot.DynamicCredentialsEntry\x12!\n\x19provider_attachment_epoch\x18\x04 \x01(\t\x12\x13\n\x0bpolicy_hash\x18\x05 \x01(\t\x12?\n\x10readiness_reason\x18\x06 \x01(\x0e\x32%.openshell.v1.ProviderReadinessReason\x12\x43\n\x05\x66iles\x18\x07 \x03(\x0b\x32\x34.openshell.v1.ProviderEnvironmentSnapshot.FilesEntry\x1a\x62\n\x17\x44ynamicCredentialsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x36\n\x05value\x18\x02 \x01(\x0b\x32\'.openshell.v1.ProviderProfileCredential:\x02\x38\x01\x1a,\n\nFilesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x86\x01\n#ExchangeProviderSubjectTokenRequest\x12\x12\n\nsandbox_id\x18\x01 \x01(\t\x12\x10\n\x08provider\x18\x02 \x01(\t\x12\x16\n\x0e\x63redential_key\x18\x03 \x01(\t\x12!\n\x13supervisor_jwt_svid\x18\x04 \x01(\tB\x04\x88\xb5\x18\x01\"\x9a\x01\n$ExchangeProviderSubjectTokenResponse\x12\x1a\n\x0c\x61\x63\x63\x65ss_token\x18\x01 \x01(\tB\x04\x88\xb5\x18\x01\x12\x30\n\rexpires_after\x18\x66 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x12\n\ntoken_type\x18\x03 \x01(\tJ\x04\x08\x02\x10\x03R\nexpires_in\"\x89\x04\n\x13UpdateConfigRequest\x12\x42\n\x0fworkspace_scope\x18\n \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x33\n\x06policy\x18\x02 \x01(\x0b\x32#.openshell.sandbox.v1.SandboxPolicy\x12\x13\n\x0bsetting_key\x18\x03 \x01(\t\x12\x39\n\rsetting_value\x18\x04 \x01(\x0b\x32\".openshell.sandbox.v1.SettingValue\x12\x16\n\x0e\x64\x65lete_setting\x18\x05 \x01(\x08\x12\x0e\n\x06global\x18\x06 \x01(\x08\x12<\n\x10merge_operations\x18\x07 \x03(\x0b\x32\".openshell.v1.PolicyMergeOperation\x12!\n\x19\x65xpected_resource_version\x18\x08 \x01(\x04\x12G\n\x0b\x61nnotations\x18\t \x03(\x0b\x32\x32.openshell.v1.UpdateConfigRequest.AnnotationsEntry\x12\x0f\n\x07sandbox\x18\x01 \x01(\t\x12\x12\n\nrequest_id\x18\x0b \x01(\t\x1a\x32\n\x10\x41nnotationsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xf7\x02\n\x14PolicyMergeOperation\x12\x30\n\x08\x61\x64\x64_rule\x18\x01 \x01(\x0b\x32\x1c.openshell.v1.AddNetworkRuleH\x00\x12>\n\x0fremove_endpoint\x18\x02 \x01(\x0b\x32#.openshell.v1.RemoveNetworkEndpointH\x00\x12\x36\n\x0bremove_rule\x18\x03 \x01(\x0b\x32\x1f.openshell.v1.RemoveNetworkRuleH\x00\x12\x34\n\x0e\x61\x64\x64_deny_rules\x18\x04 \x01(\x0b\x32\x1a.openshell.v1.AddDenyRulesH\x00\x12\x36\n\x0f\x61\x64\x64_allow_rules\x18\x05 \x01(\x0b\x32\x1b.openshell.v1.AddAllowRulesH\x00\x12:\n\rremove_binary\x18\x06 \x01(\x0b\x32!.openshell.v1.RemoveNetworkBinaryH\x00\x42\x0b\n\toperation\"Z\n\x0e\x41\x64\x64NetworkRule\x12\x11\n\trule_name\x18\x01 \x01(\t\x12\x35\n\x04rule\x18\x02 \x01(\x0b\x32\'.openshell.sandbox.v1.NetworkPolicyRule\"F\n\x15RemoveNetworkEndpoint\x12\x11\n\trule_name\x18\x01 \x01(\t\x12\x0c\n\x04host\x18\x02 \x01(\t\x12\x0c\n\x04port\x18\x03 \x01(\r\"&\n\x11RemoveNetworkRule\x12\x11\n\trule_name\x18\x01 \x01(\t\"\xa5\x01\n\x0cL7RuleTarget\x12\x11\n\trule_name\x18\x01 \x01(\t\x12\x0c\n\x04host\x18\x02 \x01(\t\x12\r\n\x05ports\x18\x03 \x03(\r\x12\x11\n\x04path\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x35\n\x08\x62inaries\x18\x05 \x03(\x0b\x32#.openshell.sandbox.v1.NetworkBinary\x12\x12\n\nany_binary\x18\x06 \x01(\x08\x42\x07\n\x05_path\"\x88\x01\n\x0c\x41\x64\x64\x44\x65nyRules\x12\x34\n\ndeny_rules\x18\x03 \x03(\x0b\x32 .openshell.sandbox.v1.L7DenyRule\x12*\n\x06target\x18\x04 \x01(\x0b\x32\x1a.openshell.v1.L7RuleTargetJ\x04\x08\x01\x10\x02J\x04\x08\x02\x10\x03R\x04hostR\x04port\"\x80\x01\n\rAddAllowRules\x12+\n\x05rules\x18\x03 \x03(\x0b\x32\x1c.openshell.sandbox.v1.L7Rule\x12*\n\x06target\x18\x04 \x01(\x0b\x32\x1a.openshell.v1.L7RuleTargetJ\x04\x08\x01\x10\x02J\x04\x08\x02\x10\x03R\x04hostR\x04port\"=\n\x13RemoveNetworkBinary\x12\x11\n\trule_name\x18\x01 \x01(\t\x12\x13\n\x0b\x62inary_path\x18\x02 \x01(\t\"\xe6\x01\n\x14UpdateConfigResponse\x12\x0f\n\x07version\x18\x01 \x01(\r\x12\x13\n\x0bpolicy_hash\x18\x02 \x01(\t\x12\x19\n\x11settings_revision\x18\x03 \x01(\x04\x12\x0f\n\x07\x64\x65leted\x18\x04 \x01(\x08\x12H\n\x0b\x61nnotations\x18\x05 \x03(\x0b\x32\x33.openshell.v1.UpdateConfigResponse.AnnotationsEntry\x1a\x32\n\x10\x41nnotationsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x95\x01\n\x1dGetSandboxPolicyStatusRequest\x12\x42\n\x0fworkspace_scope\x18\x04 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x0f\n\x07version\x18\x02 \x01(\r\x12\x0e\n\x06global\x18\x03 \x01(\x08\x12\x0f\n\x07sandbox\x18\x01 \x01(\t\"o\n\x1eGetSandboxPolicyStatusResponse\x12\x35\n\x08revision\x18\x01 \x01(\x0b\x32#.openshell.v1.SandboxPolicyRevision\x12\x16\n\x0e\x61\x63tive_version\x18\x02 \x01(\r\"\xa8\x01\n\x1aListSandboxPoliciesRequest\x12\x42\n\x0fworkspace_scope\x18\x05 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x0e\n\x06global\x18\x04 \x01(\x08\x12\x0f\n\x07sandbox\x18\x01 \x01(\t\"n\n\x1bListSandboxPoliciesResponse\x12\x36\n\trevisions\x18\x01 \x03(\x0b\x32#.openshell.v1.SandboxPolicyRevision\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\x80\x01\n\x19ReportPolicyStatusRequest\x12\x12\n\nsandbox_id\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\r\x12*\n\x06status\x18\x03 \x01(\x0e\x32\x1a.openshell.v1.PolicyStatus\x12\x12\n\nload_error\x18\x04 \x01(\t\"\x1c\n\x1aReportPolicyStatusResponse\"\xe2\x01\n\x1dSandboxConfigurationAdmission\x12\x13\n\x0binstance_id\x18\x01 \x01(\t\x12\x38\n\x05state\x18\x02 \x01(\x0e\x32).openshell.v1.ConfigurationAdmissionState\x12\x16\n\x0epolicy_version\x18\x03 \x01(\r\x12\x13\n\x0bpolicy_hash\x18\x04 \x01(\t\x12\x17\n\x0f\x63onfig_revision\x18\x05 \x01(\x04\x12\x1d\n\x15provider_env_revision\x18\x06 \x01(\x04\x12\r\n\x05\x65rror\x18\x07 \x01(\t\"\x95\x01\n!ReportSandboxConfigurationRequest\x12\x12\n\nsandbox_id\x18\x01 \x01(\t\x12>\n\tadmission\x18\x02 \x01(\x0b\x32+.openshell.v1.SandboxConfigurationAdmission\x12\x1c\n\x14\x65xpected_instance_id\x18\x03 \x01(\t\"$\n\"ReportSandboxConfigurationResponse\"\xba\x03\n\x15SandboxPolicyRevision\x12\x0f\n\x07version\x18\x01 \x01(\r\x12\x13\n\x0bpolicy_hash\x18\x02 \x01(\t\x12*\n\x06status\x18\x03 \x01(\x0e\x32\x1a.openshell.v1.PolicyStatus\x12\x12\n\nload_error\x18\x04 \x01(\t\x12\x30\n\x0c\x63reated_time\x18i \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0bloaded_time\x18j \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x33\n\x06policy\x18\x07 \x01(\x0b\x32#.openshell.sandbox.v1.SandboxPolicy\x12G\n\nprovenance\x18\x08 \x03(\x0b\x32\x33.openshell.v1.SandboxPolicyRevision.ProvenanceEntry\x1a\x31\n\x0fProvenanceEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01J\x04\x08\x05\x10\x06J\x04\x08\x06\x10\x07R\rcreated_at_msR\x0cloaded_at_ms\"\xdf\x01\n\x15GetSandboxLogsRequest\x12\x42\n\x0fworkspace_scope\x18\x06 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x0f\n\x07sandbox\x18\x01 \x01(\t\x12\r\n\x05lines\x18\x02 \x01(\r\x12.\n\nsince_time\x18g \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0f\n\x07sources\x18\x04 \x03(\t\x12\x11\n\tmin_level\x18\x05 \x01(\tJ\x04\x08\x03\x10\x04R\x08since_ms\"X\n\x16PushSandboxLogsRequest\x12\x12\n\nsandbox_id\x18\x01 \x01(\t\x12*\n\x04logs\x18\x02 \x03(\x0b\x32\x1c.openshell.v1.SandboxLogLine\"\x19\n\x17PushSandboxLogsResponse\"Z\n\x16GetSandboxLogsResponse\x12*\n\x04logs\x18\x01 \x03(\x0b\x32\x1c.openshell.v1.SandboxLogLine\x12\x14\n\x0c\x62uffer_total\x18\x02 \x01(\r\"\x84\x03\n\x11SupervisorMessage\x12.\n\x05hello\x18\x01 \x01(\x0b\x32\x1d.openshell.v1.SupervisorHelloH\x00\x12\x36\n\theartbeat\x18\x02 \x01(\x0b\x32!.openshell.v1.SupervisorHeartbeatH\x00\x12:\n\x11relay_open_result\x18\x03 \x01(\x0b\x32\x1d.openshell.v1.RelayOpenResultH\x00\x12/\n\x0brelay_close\x18\x04 \x01(\x0b\x32\x18.openshell.v1.RelayCloseH\x00\x12@\n\x14\x63onfig_update_result\x18\x05 \x01(\x0b\x32 .openshell.v1.ConfigUpdateResultH\x00\x12M\n\x15service_advertisement\x18\x06 \x01(\x0b\x32,.openshell.v1.SupervisorServiceAdvertisementH\x00\x42\t\n\x07payload\"\xd6\x03\n\x0eGatewayMessage\x12\x39\n\x10session_accepted\x18\x01 \x01(\x0b\x32\x1d.openshell.v1.SessionAcceptedH\x00\x12\x39\n\x10session_rejected\x18\x02 \x01(\x0b\x32\x1d.openshell.v1.SessionRejectedH\x00\x12\x33\n\theartbeat\x18\x03 \x01(\x0b\x32\x1e.openshell.v1.GatewayHeartbeatH\x00\x12-\n\nrelay_open\x18\x04 \x01(\x0b\x32\x17.openshell.v1.RelayOpenH\x00\x12/\n\x0brelay_close\x18\x05 \x01(\x0b\x32\x18.openshell.v1.RelayCloseH\x00\x12\x39\n\x10session_redirect\x18\x06 \x01(\x0b\x32\x1d.openshell.v1.SessionRedirectH\x00\x12\x33\n\rconfig_update\x18\x07 \x01(\x0b\x32\x1a.openshell.v1.ConfigUpdateH\x00\x12>\n\x13service_route_lease\x18\x08 \x01(\x0b\x32\x1f.openshell.v1.ServiceRouteLeaseH\x00\x42\t\n\x07payload\"\xf7\x01\n\x0fSupervisorHello\x12\x12\n\nsandbox_id\x18\x01 \x01(\t\x12\x13\n\x0binstance_id\x18\x02 \x01(\t\x12\x18\n\x10\x63onnection_epoch\x18\x03 \x01(\x04\x12#\n\x1bsupports_provider_readiness\x18\x04 \x01(\x08\x12\x12\n\nredirected\x18\x05 \x01(\x08\x12!\n\x19supports_session_redirect\x18\x06 \x01(\x08\x12\x1c\n\x14supports_config_push\x18\x07 \x01(\x08\x12\'\n\x1fsupports_service_advertisements\x18\x08 \x01(\x08\"\xc7\x01\n\x0fSessionAccepted\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12-\n\tbootstrap\x18\x03 \x01(\x0b\x32\x1a.openshell.v1.ConfigUpdate\x12\x1b\n\x13\x63onfig_push_enabled\x18\x04 \x01(\x08\x12\x35\n\x12heartbeat_interval\x18\x66 \x01(\x0b\x32\x19.google.protobuf.DurationJ\x04\x08\x02\x10\x03R\x17heartbeat_interval_secs\"\xaf\x01\n\x0c\x43onfigUpdate\x12\x11\n\tupdate_id\x18\x01 \x01(\t\x12\x43\n\x0esandbox_config\x18\x02 \x01(\x0b\x32+.openshell.sandbox.v1.SandboxConfigSnapshot\x12G\n\x14provider_environment\x18\x03 \x01(\x0b\x32).openshell.v1.ProviderEnvironmentSnapshot\"F\n\x12\x43onfigApplyFailure\x12\x0c\n\x04\x63ode\x18\x01 \x01(\t\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\x11\n\tretryable\x18\x03 \x01(\x08\"\x82\x02\n\x12\x43onfigUpdateResult\x12\x11\n\tupdate_id\x18\x01 \x01(\t\x12\x31\n\x07outcome\x18\x02 \x01(\x0e\x32 .openshell.v1.ConfigApplyOutcome\x12\x31\n\x07\x66\x61ilure\x18\x03 \x01(\x0b\x32 .openshell.v1.ConfigApplyFailure\x12>\n\tadmission\x18\x04 \x01(\x0b\x32+.openshell.v1.SandboxConfigurationAdmission\x12\x33\n\x0bpolicy_load\x18\x05 \x01(\x0b\x32\x1e.openshell.v1.PolicyLoadResult\"B\n\x10PolicyLoadResult\x12\x0f\n\x07version\x18\x01 \x01(\r\x12\x0e\n\x06loaded\x18\x02 \x01(\x08\x12\r\n\x05\x65rror\x18\x03 \x01(\t\"!\n\x0fSessionRejected\x12\x0e\n\x06reason\x18\x01 \x01(\t\"B\n\x0fSessionRedirect\x12\x15\n\rpeer_endpoint\x18\x01 \x01(\t\x12\x18\n\x10owner_replica_id\x18\x02 \x01(\t\"\x15\n\x13SupervisorHeartbeat\"\x12\n\x10GatewayHeartbeat\"Z\n\x1cReportMainProcessExitRequest\x12\x12\n\nsandbox_id\x18\x01 \x01(\t\x12\x13\n\x0binstance_id\x18\x02 \x01(\t\x12\x11\n\texit_code\x18\x03 \x01(\x05\"\x1f\n\x1dReportMainProcessExitResponse\"I\n\x1e\x46inalizeMainProcessExitRequest\x12\x12\n\nsandbox_id\x18\x01 \x01(\t\x12\x13\n\x0binstance_id\x18\x02 \x01(\t\"!\n\x1f\x46inalizeMainProcessExitResponse\"\x97\x01\n\tRelayOpen\x12\x12\n\nchannel_id\x18\x01 \x01(\t\x12+\n\x03ssh\x18\x02 \x01(\x0b\x32\x1c.openshell.v1.SshRelayTargetH\x00\x12+\n\x03tcp\x18\x03 \x01(\x0b\x32\x1c.openshell.v1.TcpRelayTargetH\x00\x12\x12\n\nservice_id\x18\x05 \x01(\tB\x08\n\x06target\"\x10\n\x0eSshRelayTarget\",\n\x0eTcpRelayTarget\x12\x0c\n\x04host\x18\x01 \x01(\t\x12\x0c\n\x04port\x18\x02 \x01(\r\"\x1f\n\tRelayInit\x12\x12\n\nchannel_id\x18\x01 \x01(\t\"P\n\nRelayFrame\x12\'\n\x04init\x18\x01 \x01(\x0b\x32\x17.openshell.v1.RelayInitH\x00\x12\x0e\n\x04\x64\x61ta\x18\x02 \x01(\x0cH\x00\x42\t\n\x07payload\"n\n\rPeerRelayInit\x12\x12\n\nsandbox_id\x18\x01 \x01(\t\x12+\n\nrelay_open\x18\x02 \x01(\x0b\x32\x17.openshell.v1.RelayOpen\x12\x1c\n\x14requester_replica_id\x18\x03 \x01(\t\"X\n\x0ePeerRelayFrame\x12+\n\x04init\x18\x01 \x01(\x0b\x32\x1b.openshell.v1.PeerRelayInitH\x00\x12\x0e\n\x04\x64\x61ta\x18\x02 \x01(\x0cH\x00\x42\t\n\x07payload\"A\n\x17PeerConfigSandboxTarget\x12\x12\n\nsandbox_id\x18\x01 \x01(\t\x12\x12\n\nsession_id\x18\x02 \x01(\t\";\n\x18PeerConfigProviderTarget\x12\x11\n\tworkspace\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"\xcc\x01\n\x1dPeerNotifyConfigUpdateRequest\x12\x38\n\x07sandbox\x18\x01 \x01(\x0b\x32%.openshell.v1.PeerConfigSandboxTargetH\x00\x12\x13\n\tworkspace\x18\x02 \x01(\tH\x00\x12\x17\n\rall_connected\x18\x03 \x01(\x08H\x00\x12:\n\x08provider\x18\x04 \x01(\x0b\x32&.openshell.v1.PeerConfigProviderTargetH\x00\x42\x07\n\x05scope\"5\n\x1ePeerNotifyConfigUpdateResponse\x12\x13\n\x0bstale_owner\x18\x01 \x01(\x08\"E\n\x0fRelayOpenResult\x12\x12\n\nchannel_id\x18\x01 \x01(\t\x12\x0f\n\x07success\x18\x02 \x01(\x08\x12\r\n\x05\x65rror\x18\x03 \x01(\t\"0\n\nRelayClose\x12\x12\n\nchannel_id\x18\x01 \x01(\t\x12\x0e\n\x06reason\x18\x02 \x01(\t\"P\n\x0fL7RequestSample\x12\x0e\n\x06method\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t\x12\x10\n\x08\x64\x65\x63ision\x18\x03 \x01(\t\x12\r\n\x05\x63ount\x18\x04 \x01(\r\"\xfa\x03\n\rDenialSummary\x12\x12\n\nsandbox_id\x18\x01 \x01(\t\x12\x0c\n\x04host\x18\x02 \x01(\t\x12\x0c\n\x04port\x18\x03 \x01(\r\x12\x0e\n\x06\x62inary\x18\x04 \x01(\t\x12\x11\n\tancestors\x18\x05 \x03(\t\x12\x13\n\x0b\x64\x65ny_reason\x18\x06 \x01(\t\x12\x33\n\x0f\x66irst_seen_time\x18k \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x32\n\x0elast_seen_time\x18l \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\r\n\x05\x63ount\x18\t \x01(\r\x12\x18\n\x10suppressed_count\x18\n \x01(\r\x12\x13\n\x0btotal_count\x18\x0b \x01(\r\x12\x17\n\x0fsample_cmdlines\x18\x0c \x03(\t\x12\x15\n\rbinary_sha256\x18\r \x01(\t\x12\x12\n\npersistent\x18\x0e \x01(\x08\x12\x14\n\x0c\x64\x65nial_stage\x18\x0f \x01(\t\x12\x39\n\x12l7_request_samples\x18\x10 \x03(\x0b\x32\x1d.openshell.v1.L7RequestSample\x12\x1c\n\x14l7_inspection_active\x18\x11 \x01(\x08J\x04\x08\x07\x10\x08J\x04\x08\x08\x10\tR\rfirst_seen_msR\x0clast_seen_ms\"<\n\x10\x44\x65nialGroupCount\x12\x12\n\ndeny_group\x18\x01 \x01(\t\x12\x14\n\x0c\x64\x65nied_count\x18\x02 \x01(\r\"\x8f\x01\n\x16NetworkActivitySummary\x12\x1e\n\x16network_activity_count\x18\x01 \x01(\r\x12\x1b\n\x13\x64\x65nied_action_count\x18\x02 \x01(\r\x12\x38\n\x10\x64\x65nials_by_group\x18\x03 \x03(\x0b\x32\x1e.openshell.v1.DenialGroupCount\"\x8c\x07\n\x0bPolicyChunk\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0e\n\x06status\x18\x02 \x01(\t\x12\x11\n\trule_name\x18\x03 \x01(\t\x12>\n\rproposed_rule\x18\x04 \x01(\x0b\x32\'.openshell.sandbox.v1.NetworkPolicyRule\x12\x11\n\trationale\x18\x05 \x01(\t\x12\x16\n\x0esecurity_notes\x18\x06 \x01(\t\x12\x12\n\nconfidence\x18\x07 \x01(\x02\x12\x1a\n\x12\x64\x65nial_summary_ids\x18\x08 \x03(\t\x12\x30\n\x0c\x63reated_time\x18m \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x0c\x64\x65\x63ided_time\x18n \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\r\n\x05stage\x18\x0b \x01(\t\x12\x1b\n\x13supersedes_chunk_id\x18\x0c \x01(\t\x12\x11\n\thit_count\x18\r \x01(\x05\x12\x33\n\x0f\x66irst_seen_time\x18r \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x32\n\x0elast_seen_time\x18s \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0e\n\x06\x62inary\x18\x10 \x01(\t\x12\x19\n\x11validation_result\x18\x11 \x01(\t\x12\x18\n\x10rejection_reason\x18\x12 \x01(\t\x12\x19\n\x11\x61pplication_error\x18\x13 \x01(\t\x12\x14\n\x0creview_token\x18\x14 \x01(\t\x12%\n\x1d\x63urrent_effective_policy_hash\x18\x15 \x01(\t\x12\'\n\x1f\x63\x61ndidate_effective_policy_hash\x18\x16 \x01(\t\x12\x45\n\x18\x63urrent_effective_policy\x18\x17 \x01(\x0b\x32#.openshell.sandbox.v1.SandboxPolicy\x12G\n\x1a\x63\x61ndidate_effective_policy\x18\x18 \x01(\x0b\x32#.openshell.sandbox.v1.SandboxPolicyJ\x04\x08\t\x10\nJ\x04\x08\n\x10\x0bJ\x04\x08\x0e\x10\x0fJ\x04\x08\x0f\x10\x10R\rcreated_at_msR\rdecided_at_msR\rfirst_seen_msR\x0clast_seen_ms\"f\n\x11\x44raftPolicyUpdate\x12\x15\n\rdraft_version\x18\x01 \x01(\x04\x12\x12\n\nnew_chunks\x18\x02 \x01(\r\x12\x15\n\rtotal_pending\x18\x03 \x01(\r\x12\x0f\n\x07summary\x18\x04 \x01(\t\"\xb4\x02\n\x1bSubmitPolicyAnalysisRequest\x12\x42\n\x0fworkspace_scope\x18\x06 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12.\n\tsummaries\x18\x01 \x03(\x0b\x32\x1b.openshell.v1.DenialSummary\x12\x32\n\x0fproposed_chunks\x18\x02 \x03(\x0b\x32\x19.openshell.v1.PolicyChunk\x12\x15\n\ranalysis_mode\x18\x03 \x01(\t\x12\x0c\n\x04name\x18\x04 \x01(\t\x12H\n\x1anetwork_activity_summaries\x18\x05 \x03(\x0b\x32$.openshell.v1.NetworkActivitySummary\"\x87\x01\n\x1cSubmitPolicyAnalysisResponse\x12\x17\n\x0f\x61\x63\x63\x65pted_chunks\x18\x01 \x01(\r\x12\x17\n\x0frejected_chunks\x18\x02 \x01(\r\x12\x19\n\x11rejection_reasons\x18\x03 \x03(\t\x12\x1a\n\x12\x61\x63\x63\x65pted_chunk_ids\x18\x04 \x03(\t\"\x83\x01\n\x15GetDraftPolicyRequest\x12\x42\n\x0fworkspace_scope\x18\x03 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x15\n\rstatus_filter\x18\x02 \x01(\t\x12\x0f\n\x07sandbox\x18\x01 \x01(\t\"\xc6\x01\n\x16GetDraftPolicyResponse\x12)\n\x06\x63hunks\x18\x01 \x03(\x0b\x32\x19.openshell.v1.PolicyChunk\x12\x17\n\x0frolling_summary\x18\x02 \x01(\t\x12\x15\n\rdraft_version\x18\x03 \x01(\x04\x12\x36\n\x12last_analyzed_time\x18h \x01(\x0b\x32\x1a.google.protobuf.TimestampJ\x04\x08\x04\x10\x05R\x13last_analyzed_at_ms\"\xab\x01\n\x18\x41pproveDraftChunkRequest\x12\x42\n\x0fworkspace_scope\x18\x03 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x10\n\x08\x63hunk_id\x18\x02 \x01(\t\x12\x14\n\x0creview_token\x18\x04 \x01(\t\x12\x0f\n\x07sandbox\x18\x01 \x01(\t\x12\x12\n\nrequest_id\x18\x05 \x01(\t\"H\n\x19\x41pproveDraftChunkResponse\x12\x16\n\x0epolicy_version\x18\x01 \x01(\r\x12\x13\n\x0bpolicy_hash\x18\x02 \x01(\t\"\xa4\x01\n\x17RejectDraftChunkRequest\x12\x42\n\x0fworkspace_scope\x18\x04 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x10\n\x08\x63hunk_id\x18\x02 \x01(\t\x12\x0e\n\x06reason\x18\x03 \x01(\t\x12\x0f\n\x07sandbox\x18\x01 \x01(\t\x12\x12\n\nrequest_id\x18\x05 \x01(\t\"\x1a\n\x18RejectDraftChunkResponse\"<\n\x12\x44raftChunkApproval\x12\x10\n\x08\x63hunk_id\x18\x01 \x01(\t\x12\x14\n\x0creview_token\x18\x02 \x01(\t\"\xde\x01\n\x1c\x41pproveAllDraftChunksRequest\x12\x42\n\x0fworkspace_scope\x18\x04 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12 \n\x18include_security_flagged\x18\x02 \x01(\x08\x12\x33\n\tapprovals\x18\x03 \x03(\x0b\x32 .openshell.v1.DraftChunkApproval\x12\x0f\n\x07sandbox\x18\x01 \x01(\t\x12\x12\n\nrequest_id\x18\x05 \x01(\t\"}\n\x1d\x41pproveAllDraftChunksResponse\x12\x16\n\x0epolicy_version\x18\x01 \x01(\r\x12\x13\n\x0bpolicy_hash\x18\x02 \x01(\t\x12\x17\n\x0f\x63hunks_approved\x18\x03 \x01(\r\x12\x16\n\x0e\x63hunks_skipped\x18\x04 \x01(\r\"\xd2\x01\n\x15\x45\x64itDraftChunkRequest\x12\x42\n\x0fworkspace_scope\x18\x04 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x10\n\x08\x63hunk_id\x18\x02 \x01(\t\x12>\n\rproposed_rule\x18\x03 \x01(\x0b\x32\'.openshell.sandbox.v1.NetworkPolicyRule\x12\x0f\n\x07sandbox\x18\x01 \x01(\t\x12\x12\n\nrequest_id\x18\x05 \x01(\t\"\x18\n\x16\x45\x64itDraftChunkResponse\"\x92\x01\n\x15UndoDraftChunkRequest\x12\x42\n\x0fworkspace_scope\x18\x03 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x10\n\x08\x63hunk_id\x18\x02 \x01(\t\x12\x0f\n\x07sandbox\x18\x01 \x01(\t\x12\x12\n\nrequest_id\x18\x04 \x01(\t\"E\n\x16UndoDraftChunkResponse\x12\x16\n\x0epolicy_version\x18\x01 \x01(\r\x12\x13\n\x0bpolicy_hash\x18\x02 \x01(\t\"\x82\x01\n\x17\x43learDraftChunksRequest\x12\x42\n\x0fworkspace_scope\x18\x02 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x0f\n\x07sandbox\x18\x01 \x01(\t\x12\x12\n\nrequest_id\x18\x03 \x01(\t\"2\n\x18\x43learDraftChunksResponse\x12\x16\n\x0e\x63hunks_cleared\x18\x01 \x01(\r\"m\n\x16GetDraftHistoryRequest\x12\x42\n\x0fworkspace_scope\x18\x02 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x0f\n\x07sandbox\x18\x01 \x01(\t\"\x92\x01\n\x11\x44raftHistoryEntry\x12.\n\nevent_time\x18\x65 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x12\n\nevent_type\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x10\n\x08\x63hunk_id\x18\x04 \x01(\tJ\x04\x08\x01\x10\x02R\x0ctimestamp_ms\"K\n\x17GetDraftHistoryResponse\x12\x30\n\x07\x65ntries\x18\x01 \x03(\x0b\x32\x1f.openshell.v1.DraftHistoryEntry\"\xab\x01\n\x16\x43reateWorkspaceRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12@\n\x06labels\x18\x02 \x03(\x0b\x32\x30.openshell.v1.CreateWorkspaceRequest.LabelsEntry\x12\x12\n\nrequest_id\x18\x03 \x01(\t\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"O\n\x17\x43reateWorkspaceResponse\x12\x34\n\tworkspace\x18\x01 \x01(\x0b\x32!.openshell.datamodel.v1.Workspace\"#\n\x13GetWorkspaceRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"L\n\x14GetWorkspaceResponse\x12\x34\n\tworkspace\x18\x01 \x01(\x0b\x32!.openshell.datamodel.v1.Workspace\"V\n\x15ListWorkspacesRequest\x12\x11\n\tpage_size\x18\x01 \x01(\x05\x12\x12\n\npage_token\x18\x02 \x01(\t\x12\x16\n\x0elabel_selector\x18\x03 \x01(\t\"h\n\x16ListWorkspacesResponse\x12\x35\n\nworkspaces\x18\x01 \x03(\x0b\x32!.openshell.datamodel.v1.Workspace\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"Q\n\x16\x44\x65leteWorkspaceRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rallow_missing\x18\x02 \x01(\x08\x12\x12\n\nrequest_id\x18\x03 \x01(\t\"X\n\x17\x44\x65leteWorkspaceResponse\x12.\n\x07outcome\x18\x02 \x01(\x0e\x32\x1d.openshell.v1.DeletionOutcomeJ\x04\x08\x01\x10\x02R\x07\x64\x65leted\"\x8d\x01\n\x0fWorkspaceMember\x12\x34\n\x08metadata\x18\x01 \x01(\x0b\x32\".openshell.datamodel.v1.ObjectMeta\x12\x19\n\x11principal_subject\x18\x02 \x01(\t\x12)\n\x04role\x18\x03 \x01(\x0e\x32\x1b.openshell.v1.WorkspaceRole\"\xb9\x01\n\x19\x41\x64\x64WorkspaceMemberRequest\x12\x42\n\x0fworkspace_scope\x18\x01 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x19\n\x11principal_subject\x18\x02 \x01(\t\x12)\n\x04role\x18\x03 \x01(\x0e\x32\x1b.openshell.v1.WorkspaceRole\x12\x12\n\nrequest_id\x18\x04 \x01(\t\"K\n\x1a\x41\x64\x64WorkspaceMemberResponse\x12-\n\x06member\x18\x01 \x01(\x0b\x32\x1d.openshell.v1.WorkspaceMember\"\xa8\x01\n\x1cRemoveWorkspaceMemberRequest\x12\x42\n\x0fworkspace_scope\x18\x01 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x19\n\x11principal_subject\x18\x02 \x01(\t\x12\x15\n\rallow_missing\x18\x03 \x01(\x08\x12\x12\n\nrequest_id\x18\x04 \x01(\t\"^\n\x1dRemoveWorkspaceMemberResponse\x12.\n\x07outcome\x18\x02 \x01(\x0e\x32\x1d.openshell.v1.DeletionOutcomeJ\x04\x08\x01\x10\x02R\x07removed\"\x88\x01\n\x1bListWorkspaceMembersRequest\x12\x42\n\x0fworkspace_scope\x18\x01 \x01(\x0b\x32).openshell.datamodel.v1.WorkspaceSelector\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\"g\n\x1cListWorkspaceMembersResponse\x12.\n\x07members\x18\x01 \x03(\x0b\x32\x1d.openshell.v1.WorkspaceMember\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\x91\x01\n\x1a\x45xtensionServiceCredential\x12\x14\n\x0cservice_name\x18\x01 \x01(\t\x12\x13\n\x05token\x18\x02 \x01(\tB\x04\x88\xb5\x18\x01\x12\x33\n\x0f\x65xpiration_time\x18g \x01(\x0b\x32\x1a.google.protobuf.TimestampJ\x04\x08\x03\x10\x04R\rexpires_at_ms\"\x88\x01\n\x13\x45ndpointObservation\x12\x13\n\x0b\x65ndpoint_id\x18\x01 \x01(\t\x12,\n\x06result\x18\x02 \x01(\x0e\x32\x1c.openshell.v1.EndpointResult\x12.\n\x07\x66\x61ilure\x18\x03 \x01(\x0b\x32\x1d.openshell.v1.EndpointFailure\"\xb1\x02\n\x1bReportEndpointStatusRequest\x12\x12\n\nsandbox_id\x18\x01 \x01(\t\x12\x13\n\x0bpolicy_hash\x18\x02 \x01(\t\x12\x1d\n\x15provider_env_revision\x18\x03 \x01(\x04\x12\x37\n\x0cobservations\x18\x04 \x03(\x0b\x32!.openshell.v1.EndpointObservation\x12\x1d\n\x15observed_endpoint_ids\x18\x05 \x03(\t\x12\x1d\n\x15supervisor_session_id\x18\x06 \x01(\t\x12\x17\n\x0freport_sequence\x18\x07 \x01(\x04\x12:\n\x12token_grant_status\x18\x08 \x01(\x0b\x32\x1e.openshell.v1.TokenGrantStatus\"T\n\x10TokenGrantStatus\x12@\n\x0clast_failure\x18\x01 \x01(\x0b\x32*.openshell.v1.TokenGrantFailureObservation\"\x82\x01\n\x1cTokenGrantFailureObservation\x12\x18\n\x10\x64\x65stination_host\x18\x01 \x01(\t\x12\x18\n\x10\x64\x65stination_port\x18\x02 \x01(\r\x12.\n\x07\x66\x61ilure\x18\x03 \x01(\x0b\x32\x1d.openshell.v1.EndpointFailure\"\x1e\n\x1cReportEndpointStatusResponse\"\x88\x02\n\x0e\x45ndpointStatus\x12\x13\n\x0b\x65ndpoint_id\x18\x01 \x01(\t\x12\x0c\n\x04host\x18\x02 \x01(\t\x12\r\n\x05ports\x18\x03 \x03(\r\x12\x0c\n\x04path\x18\x04 \x01(\t\x12\x31\n\x0blast_result\x18\x05 \x01(\x0e\x32\x1c.openshell.v1.EndpointResult\x12\x36\n\x12last_reported_time\x18j \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x33\n\x0clast_failure\x18\x07 \x01(\x0b\x32\x1d.openshell.v1.EndpointFailureJ\x04\x08\x06\x10\x07R\x10last_reported_at\"\xbb\x05\n\x13SandboxProvisioning\x12\x12\n\nattempt_id\x18\x01 \x01(\t\x12\x1f\n\x17\x63onfiguration_change_id\x18\x02 \x01(\t\x12=\n\x19\x63onfiguration_change_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x38\n\x14\x66irst_rejection_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x64\x65\x61\x64line\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x0ctimeout_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12:\n\x16\x63leanup_completed_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x15\n\rcleanup_error\x18\x08 \x01(\t\x12\x36\n\x12\x63leanup_retry_time\x18\t \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1c\n\x14\x61ttachment_change_id\x18\n \x01(\t\x12:\n\x16\x61ttachment_change_time\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x38\n\x14preparation_deadline\x18\x0c \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x38\n\x14\x61\x64mission_start_time\x18\r \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12 \n\x18\x64river_operation_pending\x18\x0e \x01(\x08\x12\x1b\n\x13\x64river_operation_id\x18\x0f \x01(\t\"\x82\x01\n\x16SandboxServiceExposure\x12\x0f\n\x07service\x18\x01 \x01(\t\x12\x13\n\x0btarget_port\x18\x02 \x01(\r\x12\x42\n\x12\x61uthorization_mode\x18\x03 \x01(\x0e\x32&.openshell.v1.ServiceAuthorizationMode\"\xad\x02\n\x0f\x45ndpointFailure\x12\x33\n\x06\x64omain\x18\x01 \x01(\x0e\x32#.openshell.v1.EndpointFailureDomain\x12\x0c\n\x04\x63ode\x18\x02 \x01(\t\x12N\n\x0frecovery_action\x18\x03 \x01(\x0e\x32\x35.openshell.v1.ProviderCredentialRefreshRecoveryAction\x12\x10\n\x08provider\x18\x04 \x01(\t\x12\x16\n\x0e\x63redential_key\x18\x05 \x01(\t\x12\r\n\x05stage\x18\x06 \x01(\t\x12!\n\x14upstream_http_status\x18\x07 \x01(\rH\x00\x88\x01\x01\x12\x12\n\nrequest_id\x18\x08 \x01(\tB\x17\n\x15_upstream_http_status\"\x82\x01\n\x11ServiceRouteLease\x12\x10\n\x08sequence\x18\x01 \x01(\x04\x12+\n\x08\x64uration\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12.\n\nexpires_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xc7\x01\n\x1eSupervisorServiceAdvertisement\x12\x16\n\x0elease_sequence\x18\x01 \x01(\x04\x12!\n\x19\x63onfiguration_instance_id\x18\x02 \x01(\t\x12\x17\n\x0f\x63onfig_revision\x18\x03 \x01(\x04\x12\x39\n\x06routes\x18\x04 \x03(\x0b\x32).openshell.sandbox.v1.SandboxServiceRoute\x12\x16\n\x0eservice_domain\x18\x05 \x01(\t*\xca\x01\n\rExtensionKind\x12\x1e\n\x1a\x45XTENSION_KIND_UNSPECIFIED\x10\x00\x12!\n\x1d\x45XTENSION_KIND_COMPUTE_DRIVER\x10\x01\x12$\n EXTENSION_KIND_CREDENTIAL_DRIVER\x10\x02\x12&\n\"EXTENSION_KIND_GATEWAY_INTERCEPTOR\x10\x03\x12(\n$EXTENSION_KIND_SUPERVISOR_MIDDLEWARE\x10\x04*\x81\x03\n\x0cSandboxPhase\x12\x1d\n\x19SANDBOX_PHASE_UNSPECIFIED\x10\x00\x12\x1e\n\x1aSANDBOX_PHASE_PROVISIONING\x10\x01\x12\x17\n\x13SANDBOX_PHASE_READY\x10\x02\x12\x17\n\x13SANDBOX_PHASE_ERROR\x10\x03\x12\x1a\n\x16SANDBOX_PHASE_DELETING\x10\x04\x12\x19\n\x15SANDBOX_PHASE_UNKNOWN\x10\x05\x12\x1a\n\x16SANDBOX_PHASE_STOPPING\x10\x06\x12\x19\n\x15SANDBOX_PHASE_STOPPED\x10\x07\x12\x1a\n\x16SANDBOX_PHASE_STARTING\x10\x08\x12\x1b\n\x17SANDBOX_PHASE_COMPLETED\x10\t\x12\x1c\n\x18SANDBOX_PHASE_SUSPENDING\x10\x0b\x12\x1b\n\x17SANDBOX_PHASE_SUSPENDED\x10\x0c\"\x04\x08\n\x10\n*\x18SANDBOX_PHASE_RESTARTING*\xcb\x01\n\x14ProviderMutationKind\x12&\n\"PROVIDER_MUTATION_KIND_UNSPECIFIED\x10\x00\x12!\n\x1dPROVIDER_MUTATION_KIND_ATTACH\x10\x01\x12!\n\x1dPROVIDER_MUTATION_KIND_DETACH\x10\x02\x12!\n\x1dPROVIDER_MUTATION_KIND_UPDATE\x10\x03\x12\"\n\x1ePROVIDER_MUTATION_KIND_OBSERVE\x10\x04*\xcf\x02\n\x16ProviderReadinessState\x12(\n$PROVIDER_READINESS_STATE_UNSPECIFIED\x10\x00\x12&\n\"PROVIDER_READINESS_STATE_PERSISTED\x10\x01\x12$\n PROVIDER_READINESS_STATE_PENDING\x10\x02\x12\"\n\x1ePROVIDER_READINESS_STATE_READY\x10\x03\x12%\n!PROVIDER_READINESS_STATE_WITHHELD\x10\x04\x12$\n PROVIDER_READINESS_STATE_REVOKED\x10\x05\x12#\n\x1fPROVIDER_READINESS_STATE_FAILED\x10\x06\x12\'\n#PROVIDER_READINESS_STATE_SUPERSEDED\x10\x07*\xda\x06\n\x17ProviderReadinessReason\x12)\n%PROVIDER_READINESS_REASON_UNSPECIFIED\x10\x00\x12\x34\n0PROVIDER_READINESS_REASON_WAITING_FOR_SUPERVISOR\x10\x01\x12\x35\n1PROVIDER_READINESS_REASON_WAITING_FOR_CREDENTIALS\x10\x02\x12\x30\n,PROVIDER_READINESS_REASON_WAITING_FOR_POLICY\x10\x03\x12\x31\n-PROVIDER_READINESS_REASON_WAITING_FOR_PROCESS\x10\x04\x12\x34\n0PROVIDER_READINESS_REASON_UNSUPPORTED_SUPERVISOR\x10\x05\x12\x32\n.PROVIDER_READINESS_REASON_CREDENTIALS_WITHHELD\x10\x06\x12\x37\n3PROVIDER_READINESS_REASON_CREDENTIAL_INSTALL_FAILED\x10\x07\x12\x36\n2PROVIDER_READINESS_REASON_POLICY_ACTIVATION_FAILED\x10\x08\x12\x34\n0PROVIDER_READINESS_REASON_PROCESS_INSTALL_FAILED\x10\t\x12\x35\n1PROVIDER_READINESS_REASON_SUPERVISOR_DISCONNECTED\x10\n\x12\x36\n2PROVIDER_READINESS_REASON_SUPERVISOR_LEASE_EXPIRED\x10\x0b\x12\x33\n/PROVIDER_READINESS_REASON_DESIRED_STATE_CHANGED\x10\x0c\x12\x30\n,PROVIDER_READINESS_REASON_CREDENTIAL_EXPIRED\x10\r\x12*\n&PROVIDER_READINESS_REASON_LOCAL_POLICY\x10\x0e\x12/\n+PROVIDER_READINESS_REASON_SNAPSHOT_MISMATCH\x10\x0f*\x83\x01\n\x0f\x43onfigComponent\x12 \n\x1c\x43ONFIG_COMPONENT_UNSPECIFIED\x10\x00\x12#\n\x1f\x43ONFIG_COMPONENT_SANDBOX_CONFIG\x10\x01\x12)\n%CONFIG_COMPONENT_PROVIDER_ENVIRONMENT\x10\x02*\x8d\x03\n\x12\x43onfigApplyOutcome\x12$\n CONFIG_APPLY_OUTCOME_UNSPECIFIED\x10\x00\x12 \n\x1c\x43ONFIG_APPLY_OUTCOME_APPLIED\x10\x01\x12*\n&CONFIG_APPLY_OUTCOME_IGNORED_DUPLICATE\x10\x02\x12&\n\"CONFIG_APPLY_OUTCOME_IGNORED_STALE\x10\x03\x12\x30\n,CONFIG_APPLY_OUTCOME_RETAINED_LOCAL_OVERRIDE\x10\x04\x12!\n\x1d\x43ONFIG_APPLY_OUTCOME_DEGRADED\x10\x05\x12\x38\n4CONFIG_APPLY_OUTCOME_FAILED_RETAINED_LAST_KNOWN_GOOD\x10\x06\x12&\n\"CONFIG_APPLY_OUTCOME_FAILED_CLOSED\x10\x07\x12$\n CONFIG_APPLY_OUTCOME_UNSUPPORTED\x10\x08*\xd2\x02\n\x1a\x43onfigUpdateOperationState\x12-\n)CONFIG_UPDATE_OPERATION_STATE_UNSPECIFIED\x10\x00\x12)\n%CONFIG_UPDATE_OPERATION_STATE_PENDING\x10\x01\x12)\n%CONFIG_UPDATE_OPERATION_STATE_APPLIED\x10\x02\x12*\n&CONFIG_UPDATE_OPERATION_STATE_INACTIVE\x10\x03\x12(\n$CONFIG_UPDATE_OPERATION_STATE_FAILED\x10\x04\x12,\n(CONFIG_UPDATE_OPERATION_STATE_SUPERSEDED\x10\x05\x12+\n\'CONFIG_UPDATE_OPERATION_STATE_CANCELLED\x10\x06*\xce\x01\n ProviderCredentialTokenGrantType\x12\x34\n0PROVIDER_CREDENTIAL_TOKEN_GRANT_TYPE_UNSPECIFIED\x10\x00\x12;\n7PROVIDER_CREDENTIAL_TOKEN_GRANT_TYPE_CLIENT_CREDENTIALS\x10\x01\x12\x37\n3PROVIDER_CREDENTIAL_TOKEN_GRANT_TYPE_TOKEN_EXCHANGE\x10\x02*\xc3\x03\n!ProviderCredentialRefreshStrategy\x12\x34\n0PROVIDER_CREDENTIAL_REFRESH_STRATEGY_UNSPECIFIED\x10\x00\x12/\n+PROVIDER_CREDENTIAL_REFRESH_STRATEGY_STATIC\x10\x01\x12\x31\n-PROVIDER_CREDENTIAL_REFRESH_STRATEGY_EXTERNAL\x10\x02\x12=\n9PROVIDER_CREDENTIAL_REFRESH_STRATEGY_OAUTH2_REFRESH_TOKEN\x10\x03\x12\x42\n>PROVIDER_CREDENTIAL_REFRESH_STRATEGY_OAUTH2_CLIENT_CREDENTIALS\x10\x04\x12\x43\n?PROVIDER_CREDENTIAL_REFRESH_STRATEGY_GOOGLE_SERVICE_ACCOUNT_JWT\x10\x05\x12<\n8PROVIDER_CREDENTIAL_REFRESH_STRATEGY_AWS_STS_ASSUME_ROLE\x10\x06*\xdb\x02\n\x17ProviderProfileCategory\x12)\n%PROVIDER_PROFILE_CATEGORY_UNSPECIFIED\x10\x00\x12#\n\x1fPROVIDER_PROFILE_CATEGORY_OTHER\x10\x01\x12\'\n#PROVIDER_PROFILE_CATEGORY_INFERENCE\x10\x02\x12#\n\x1fPROVIDER_PROFILE_CATEGORY_AGENT\x10\x03\x12,\n(PROVIDER_PROFILE_CATEGORY_SOURCE_CONTROL\x10\x04\x12\'\n#PROVIDER_PROFILE_CATEGORY_MESSAGING\x10\x05\x12\"\n\x1ePROVIDER_PROFILE_CATEGORY_DATA\x10\x06\x12\'\n#PROVIDER_PROFILE_CATEGORY_KNOWLEDGE\x10\x07*\xde\x01\n&ProviderEnvironmentValueClassification\x12\x39\n5PROVIDER_ENVIRONMENT_VALUE_CLASSIFICATION_UNSPECIFIED\x10\x00\x12\x38\n4PROVIDER_ENVIRONMENT_VALUE_CLASSIFICATION_NON_SECRET\x10\x01\x12?\n;PROVIDER_ENVIRONMENT_VALUE_CLASSIFICATION_STATIC_CREDENTIAL\x10\x02*\xcf\x01\n\x1b\x43onfigurationAdmissionState\x12-\n)CONFIGURATION_ADMISSION_STATE_UNSPECIFIED\x10\x00\x12)\n%CONFIGURATION_ADMISSION_STATE_PENDING\x10\x01\x12*\n&CONFIGURATION_ADMISSION_STATE_ACCEPTED\x10\x02\x12*\n&CONFIGURATION_ADMISSION_STATE_REJECTED\x10\x03*\x9a\x01\n\x0cPolicyStatus\x12\x1d\n\x19POLICY_STATUS_UNSPECIFIED\x10\x00\x12\x19\n\x15POLICY_STATUS_PENDING\x10\x01\x12\x18\n\x14POLICY_STATUS_LOADED\x10\x02\x12\x18\n\x14POLICY_STATUS_FAILED\x10\x03\x12\x1c\n\x18POLICY_STATUS_SUPERSEDED\x10\x04*\x86\x01\n\rServiceStatus\x12\x1e\n\x1aSERVICE_STATUS_UNSPECIFIED\x10\x00\x12\x1a\n\x16SERVICE_STATUS_HEALTHY\x10\x01\x12\x1b\n\x17SERVICE_STATUS_DEGRADED\x10\x02\x12\x1c\n\x18SERVICE_STATUS_UNHEALTHY\x10\x03*b\n\rWorkspaceRole\x12\x1e\n\x1aWORKSPACE_ROLE_UNSPECIFIED\x10\x00\x12\x17\n\x13WORKSPACE_ROLE_USER\x10\x01\x12\x18\n\x14WORKSPACE_ROLE_ADMIN\x10\x02*\xda\x02\n\'ProviderCredentialRefreshRecoveryAction\x12;\n7PROVIDER_CREDENTIAL_REFRESH_RECOVERY_ACTION_UNSPECIFIED\x10\x00\x12\x35\n1PROVIDER_CREDENTIAL_REFRESH_RECOVERY_ACTION_RETRY\x10\x01\x12;\n7PROVIDER_CREDENTIAL_REFRESH_RECOVERY_ACTION_REAUTHORIZE\x10\x02\x12\x41\n=PROVIDER_CREDENTIAL_REFRESH_RECOVERY_ACTION_FIX_CONFIGURATION\x10\x03\x12;\n7PROVIDER_CREDENTIAL_REFRESH_RECOVERY_ACTION_INVESTIGATE\x10\x04*\xaa\x01\n\x14SandboxRestartPolicy\x12&\n\"SANDBOX_RESTART_POLICY_UNSPECIFIED\x10\x00\x12 \n\x1cSANDBOX_RESTART_POLICY_NEVER\x10\x01\x12%\n!SANDBOX_RESTART_POLICY_ON_FAILURE\x10\x02\x12!\n\x1dSANDBOX_RESTART_POLICY_ALWAYS\x10\x03*\x97\x01\n\x0f\x44\x65letionOutcome\x12 \n\x1c\x44\x45LETION_OUTCOME_UNSPECIFIED\x10\x00\x12\x1e\n\x1a\x44\x45LETION_OUTCOME_COMPLETED\x10\x01\x12\x1d\n\x19\x44\x45LETION_OUTCOME_ACCEPTED\x10\x02\x12#\n\x1f\x44\x45LETION_OUTCOME_ALREADY_ABSENT\x10\x03*\xc3\x02\n\x0e\x45ndpointResult\x12\x1f\n\x1b\x45NDPOINT_RESULT_UNSPECIFIED\x10\x00\x12(\n$ENDPOINT_RESULT_NO_OBSERVED_EXCHANGE\x10\x01\x12*\n&ENDPOINT_RESULT_HTTP_RESPONSE_RECEIVED\x10\x02\x12!\n\x1d\x45NDPOINT_RESULT_POLICY_DENIED\x10\x03\x12*\n&ENDPOINT_RESULT_CREDENTIAL_UNAVAILABLE\x10\x04\x12\x1e\n\x1a\x45NDPOINT_RESULT_TLS_FAILED\x10\x05\x12$\n ENDPOINT_RESULT_TRANSPORT_FAILED\x10\x06\x12%\n!ENDPOINT_RESULT_UPSTREAM_REJECTED\x10\x07*\x9f\x01\n\x18ServiceAuthorizationMode\x12*\n&SERVICE_AUTHORIZATION_MODE_UNSPECIFIED\x10\x00\x12$\n SERVICE_AUTHORIZATION_MODE_STRIP\x10\x01\x12\x31\n-SERVICE_AUTHORIZATION_MODE_BEARER_PASSTHROUGH\x10\x02*i\n\x15\x45ndpointFailureDomain\x12\'\n#ENDPOINT_FAILURE_DOMAIN_UNSPECIFIED\x10\x00\x12\'\n#ENDPOINT_FAILURE_DOMAIN_TOKEN_GRANT\x10\x01\x32\xa6Y\n\tOpenShell\x12Z\n\x06Health\x12\x1b.openshell.v1.HealthRequest\x1a\x1c.openshell.v1.HealthResponse\"\x15\x82\xb5\x18\x11\n\x0funauthenticated\x12i\n\x0eGetCurrentUser\x12#.openshell.v1.GetCurrentUserRequest\x1a$.openshell.v1.GetCurrentUserResponse\"\x0c\x82\xb5\x18\x08\n\x06\x62\x65\x61rer\x12\x86\x01\n\x0eGetGatewayInfo\x12#.openshell.v1.GetGatewayInfoRequest\x1a$.openshell.v1.GetGatewayInfoResponse\")\x82\xb5\x18%\n\x06\x62\x65\x61rer\x1a\x0eplatform_admin\"\x0b\x63onfig:read\x12u\n\rCreateSandbox\x12\".openshell.v1.CreateSandboxRequest\x1a\x1d.openshell.v1.SandboxResponse\"!\x82\xb5\x18\x1d\n\x06\x62\x65\x61rer\x12\x04user\"\rsandbox:write\x12\x93\x01\n\x15\x42\x65ginRootfsTarStaging\x12*.openshell.v1.BeginRootfsTarStagingRequest\x1a+.openshell.v1.BeginRootfsTarStagingResponse\"!\x82\xb5\x18\x1d\n\x06\x62\x65\x61rer\x12\x04user\"\rsandbox:write\x12n\n\nGetSandbox\x12\x1f.openshell.v1.GetSandboxRequest\x1a\x1d.openshell.v1.SandboxResponse\" \x82\xb5\x18\x1c\n\x06\x62\x65\x61rer\x12\x04user\"\x0csandbox:read\x12z\n\rListSandboxes\x12\".openshell.v1.ListSandboxesRequest\x1a#.openshell.v1.ListSandboxesResponse\" \x82\xb5\x18\x1c\n\x06\x62\x65\x61rer\x12\x04user\"\x0csandbox:read\x12\x8e\x01\n\x15\x43reateSandboxTemplate\x12*.openshell.v1.CreateSandboxTemplateRequest\x1a%.openshell.v1.SandboxTemplateResponse\"\"\x82\xb5\x18\x1e\n\x06\x62\x65\x61rer\x12\x05\x61\x64min\"\rsandbox:write\x12\x86\x01\n\x12GetSandboxTemplate\x12\'.openshell.v1.GetSandboxTemplateRequest\x1a%.openshell.v1.SandboxTemplateResponse\" \x82\xb5\x18\x1c\n\x06\x62\x65\x61rer\x12\x04user\"\x0csandbox:read\x12\x8f\x01\n\x14ListSandboxTemplates\x12).openshell.v1.ListSandboxTemplatesRequest\x1a*.openshell.v1.ListSandboxTemplatesResponse\" \x82\xb5\x18\x1c\n\x06\x62\x65\x61rer\x12\x04user\"\x0csandbox:read\x12\x94\x01\n\x15\x44\x65leteSandboxTemplate\x12*.openshell.v1.DeleteSandboxTemplateRequest\x1a+.openshell.v1.DeleteSandboxTemplateResponse\"\"\x82\xb5\x18\x1e\n\x06\x62\x65\x61rer\x12\x05\x61\x64min\"\rsandbox:write\x12\x8f\x01\n\x14ListSandboxProviders\x12).openshell.v1.ListSandboxProvidersRequest\x1a*.openshell.v1.ListSandboxProvidersResponse\" \x82\xb5\x18\x1c\n\x06\x62\x65\x61rer\x12\x04user\"\x0csandbox:read\x12\x93\x01\n\x15\x41ttachSandboxProvider\x12*.openshell.v1.AttachSandboxProviderRequest\x1a+.openshell.v1.AttachSandboxProviderResponse\"!\x82\xb5\x18\x1d\n\x06\x62\x65\x61rer\x12\x04user\"\rsandbox:write\x12\x93\x01\n\x15\x44\x65tachSandboxProvider\x12*.openshell.v1.DetachSandboxProviderRequest\x1a+.openshell.v1.DetachSandboxProviderResponse\"!\x82\xb5\x18\x1d\n\x06\x62\x65\x61rer\x12\x04user\"\rsandbox:write\x12\x9b\x01\n\x18GetSandboxProviderStatus\x12-.openshell.v1.GetSandboxProviderStatusRequest\x1a..openshell.v1.GetSandboxProviderStatusResponse\" \x82\xb5\x18\x1c\n\x06\x62\x65\x61rer\x12\x04user\"\x0csandbox:read\x12{\n\rDeleteSandbox\x12\".openshell.v1.DeleteSandboxRequest\x1a#.openshell.v1.DeleteSandboxResponse\"!\x82\xb5\x18\x1d\n\x06\x62\x65\x61rer\x12\x04user\"\rsandbox:write\x12q\n\x0bStopSandbox\x12 .openshell.v1.StopSandboxRequest\x1a\x1d.openshell.v1.SandboxResponse\"!\x82\xb5\x18\x1d\n\x06\x62\x65\x61rer\x12\x04user\"\rsandbox:write\x12s\n\x0cStartSandbox\x12!.openshell.v1.StartSandboxRequest\x1a\x1d.openshell.v1.SandboxResponse\"!\x82\xb5\x18\x1d\n\x06\x62\x65\x61rer\x12\x04user\"\rsandbox:write\x12w\n\x0eSuspendSandbox\x12#.openshell.v1.SuspendSandboxRequest\x1a\x1d.openshell.v1.SandboxResponse\"!\x82\xb5\x18\x1d\n\x06\x62\x65\x61rer\x12\x04user\"\rsandbox:write\x12u\n\rResumeSandbox\x12\".openshell.v1.ResumeSandboxRequest\x1a\x1d.openshell.v1.SandboxResponse\"!\x82\xb5\x18\x1d\n\x06\x62\x65\x61rer\x12\x04user\"\rsandbox:write\x12\x84\x01\n\x10\x43reateSshSession\x12%.openshell.v1.CreateSshSessionRequest\x1a&.openshell.v1.CreateSshSessionResponse\"!\x82\xb5\x18\x1d\n\x06\x62\x65\x61rer\x12\x04user\"\rsandbox:write\x12}\n\rExposeService\x12\".openshell.v1.ExposeServiceRequest\x1a%.openshell.v1.ServiceEndpointResponse\"!\x82\xb5\x18\x1d\n\x06\x62\x65\x61rer\x12\x04user\"\rsandbox:write\x12v\n\nGetService\x12\x1f.openshell.v1.GetServiceRequest\x1a%.openshell.v1.ServiceEndpointResponse\" \x82\xb5\x18\x1c\n\x06\x62\x65\x61rer\x12\x04user\"\x0csandbox:read\x12w\n\x0cListServices\x12!.openshell.v1.ListServicesRequest\x1a\".openshell.v1.ListServicesResponse\" \x82\xb5\x18\x1c\n\x06\x62\x65\x61rer\x12\x04user\"\x0csandbox:read\x12{\n\rDeleteService\x12\".openshell.v1.DeleteServiceRequest\x1a#.openshell.v1.DeleteServiceResponse\"!\x82\xb5\x18\x1d\n\x06\x62\x65\x61rer\x12\x04user\"\rsandbox:write\x12\x84\x01\n\x10RevokeSshSession\x12%.openshell.v1.RevokeSshSessionRequest\x1a&.openshell.v1.RevokeSshSessionResponse\"!\x82\xb5\x18\x1d\n\x06\x62\x65\x61rer\x12\x04user\"\rsandbox:write\x12t\n\x0b\x45xecSandbox\x12 .openshell.v1.ExecSandboxRequest\x1a\x1e.openshell.v1.ExecSandboxEvent\"!\x82\xb5\x18\x1d\n\x06\x62\x65\x61rer\x12\x04user\"\rsandbox:write0\x01\x12q\n\nForwardTcp\x12\x1d.openshell.v1.TcpForwardFrame\x1a\x1d.openshell.v1.TcpForwardFrame\"!\x82\xb5\x18\x1d\n\x06\x62\x65\x61rer\x12\x04user\"\rsandbox:write(\x01\x30\x01\x12\x7f\n\x16\x45xecSandboxInteractive\x12\x1e.openshell.v1.ExecSandboxInput\x1a\x1e.openshell.v1.ExecSandboxEvent\"!\x82\xb5\x18\x1d\n\x06\x62\x65\x61rer\x12\x04user\"\rsandbox:write(\x01\x30\x01\x12z\n\x0e\x43reateProvider\x12#.openshell.v1.CreateProviderRequest\x1a\x1e.openshell.v1.ProviderResponse\"#\x82\xb5\x18\x1f\n\x06\x62\x65\x61rer\x12\x05\x61\x64min\"\x0eprovider:write\x12r\n\x0bGetProvider\x12 .openshell.v1.GetProviderRequest\x1a\x1e.openshell.v1.ProviderResponse\"!\x82\xb5\x18\x1d\n\x06\x62\x65\x61rer\x12\x04user\"\rprovider:read\x12\x83\x01\n\x16GetProviderCredentials\x12+.openshell.v1.GetProviderCredentialsRequest\x1a,.openshell.v1.GetProviderCredentialsResponse\"\x0e\x82\xb5\x18\n\n\x08operator\x12{\n\rListProviders\x12\".openshell.v1.ListProvidersRequest\x1a#.openshell.v1.ListProvidersResponse\"!\x82\xb5\x18\x1d\n\x06\x62\x65\x61rer\x12\x04user\"\rprovider:read\x12\x90\x01\n\x14ListProviderProfiles\x12).openshell.v1.ListProviderProfilesRequest\x1a*.openshell.v1.ListProviderProfilesResponse\"!\x82\xb5\x18\x1d\n\x06\x62\x65\x61rer\x12\x04user\"\rprovider:read\x12\x87\x01\n\x12GetProviderProfile\x12\'.openshell.v1.GetProviderProfileRequest\x1a%.openshell.v1.ProviderProfileResponse\"!\x82\xb5\x18\x1d\n\x06\x62\x65\x61rer\x12\x04user\"\rprovider:read\x12\x98\x01\n\x16ImportProviderProfiles\x12+.openshell.v1.ImportProviderProfilesRequest\x1a,.openshell.v1.ImportProviderProfilesResponse\"#\x82\xb5\x18\x1f\n\x06\x62\x65\x61rer\x12\x05\x61\x64min\"\x0eprovider:write\x12\x98\x01\n\x16UpdateProviderProfiles\x12+.openshell.v1.UpdateProviderProfilesRequest\x1a,.openshell.v1.UpdateProviderProfilesResponse\"#\x82\xb5\x18\x1f\n\x06\x62\x65\x61rer\x12\x05\x61\x64min\"\x0eprovider:write\x12\x90\x01\n\x14LintProviderProfiles\x12).openshell.v1.LintProviderProfilesRequest\x1a*.openshell.v1.LintProviderProfilesResponse\"!\x82\xb5\x18\x1d\n\x06\x62\x65\x61rer\x12\x04user\"\rprovider:read\x12z\n\x0eUpdateProvider\x12#.openshell.v1.UpdateProviderRequest\x1a\x1e.openshell.v1.ProviderResponse\"#\x82\xb5\x18\x1f\n\x06\x62\x65\x61rer\x12\x05\x61\x64min\"\x0eprovider:write\x12\x9c\x01\n\x18GetProviderRefreshStatus\x12-.openshell.v1.GetProviderRefreshStatusRequest\x1a..openshell.v1.GetProviderRefreshStatusResponse\"!\x82\xb5\x18\x1d\n\x06\x62\x65\x61rer\x12\x04user\"\rprovider:read\x12\x9e\x01\n\x18\x43onfigureProviderRefresh\x12-.openshell.v1.ConfigureProviderRefreshRequest\x1a..openshell.v1.ConfigureProviderRefreshResponse\"#\x82\xb5\x18\x1f\n\x06\x62\x65\x61rer\x12\x05\x61\x64min\"\x0eprovider:write\x12\x9e\x01\n\x18RotateProviderCredential\x12-.openshell.v1.RotateProviderCredentialRequest\x1a..openshell.v1.RotateProviderCredentialResponse\"#\x82\xb5\x18\x1f\n\x06\x62\x65\x61rer\x12\x05\x61\x64min\"\x0eprovider:write\x12\x95\x01\n\x15\x44\x65leteProviderRefresh\x12*.openshell.v1.DeleteProviderRefreshRequest\x1a+.openshell.v1.DeleteProviderRefreshResponse\"#\x82\xb5\x18\x1f\n\x06\x62\x65\x61rer\x12\x05\x61\x64min\"\x0eprovider:write\x12\x80\x01\n\x0e\x44\x65leteProvider\x12#.openshell.v1.DeleteProviderRequest\x1a$.openshell.v1.DeleteProviderResponse\"#\x82\xb5\x18\x1f\n\x06\x62\x65\x61rer\x12\x05\x61\x64min\"\x0eprovider:write\x12\x95\x01\n\x15\x44\x65leteProviderProfile\x12*.openshell.v1.DeleteProviderProfileRequest\x1a+.openshell.v1.DeleteProviderProfileResponse\"#\x82\xb5\x18\x1f\n\x06\x62\x65\x61rer\x12\x05\x61\x64min\"\x0eprovider:write\x12\x90\x01\n\x10GetSandboxConfig\x12-.openshell.sandbox.v1.GetSandboxConfigRequest\x1a..openshell.sandbox.v1.GetSandboxConfigResponse\"\x1d\x82\xb5\x18\x19\n\x04\x64ual\x12\x04user\"\x0b\x63onfig:read\x12\x8c\x01\n\x10GetGatewayConfig\x12-.openshell.sandbox.v1.GetGatewayConfigRequest\x1a..openshell.sandbox.v1.GetGatewayConfigResponse\"\x19\x82\xb5\x18\x15\n\x06\x62\x65\x61rer\"\x0b\x63onfig:read\x12v\n\x0cUpdateConfig\x12!.openshell.v1.UpdateConfigRequest\x1a\".openshell.v1.UpdateConfigResponse\"\x1f\x82\xb5\x18\x1b\n\x04\x64ual\x12\x05\x61\x64min\"\x0c\x63onfig:write\x12\x95\x01\n\x16GetSandboxPolicyStatus\x12+.openshell.v1.GetSandboxPolicyStatusRequest\x1a,.openshell.v1.GetSandboxPolicyStatusResponse\" \x82\xb5\x18\x1c\n\x06\x62\x65\x61rer\x12\x04user\"\x0csandbox:read\x12\x8c\x01\n\x13ListSandboxPolicies\x12(.openshell.v1.ListSandboxPoliciesRequest\x1a).openshell.v1.ListSandboxPoliciesResponse\" \x82\xb5\x18\x1c\n\x06\x62\x65\x61rer\x12\x04user\"\x0csandbox:read\x12v\n\x12ReportPolicyStatus\x12\'.openshell.v1.ReportPolicyStatusRequest\x1a(.openshell.v1.ReportPolicyStatusResponse\"\r\x82\xb5\x18\t\n\x07sandbox\x12|\n\x14ReportEndpointStatus\x12).openshell.v1.ReportEndpointStatusRequest\x1a*.openshell.v1.ReportEndpointStatusResponse\"\r\x82\xb5\x18\t\n\x07sandbox\x12\x85\x01\n\x17ReportProviderReadiness\x12,.openshell.v1.ReportProviderReadinessRequest\x1a-.openshell.v1.ReportProviderReadinessResponse\"\r\x82\xb5\x18\t\n\x07sandbox\x12\x8e\x01\n\x1aReportSandboxConfiguration\x12/.openshell.v1.ReportSandboxConfigurationRequest\x1a\x30.openshell.v1.ReportSandboxConfigurationResponse\"\r\x82\xb5\x18\t\n\x07sandbox\x12\x97\x01\n\x1dGetSandboxProviderEnvironment\x12\x32.openshell.v1.GetSandboxProviderEnvironmentRequest\x1a\x33.openshell.v1.GetSandboxProviderEnvironmentResponse\"\r\x82\xb5\x18\t\n\x07sandbox\x12\x94\x01\n\x1c\x45xchangeProviderSubjectToken\x12\x31.openshell.v1.ExchangeProviderSubjectTokenRequest\x1a\x32.openshell.v1.ExchangeProviderSubjectTokenResponse\"\r\x82\xb5\x18\t\n\x07sandbox\x12}\n\x0eGetSandboxLogs\x12#.openshell.v1.GetSandboxLogsRequest\x1a$.openshell.v1.GetSandboxLogsResponse\" \x82\xb5\x18\x1c\n\x06\x62\x65\x61rer\x12\x04user\"\x0csandbox:read\x12o\n\x0fPushSandboxLogs\x12$.openshell.v1.PushSandboxLogsRequest\x1a%.openshell.v1.PushSandboxLogsResponse\"\r\x82\xb5\x18\t\n\x07sandbox(\x01\x12\x65\n\x11\x43onnectSupervisor\x12\x1f.openshell.v1.SupervisorMessage\x1a\x1c.openshell.v1.GatewayMessage\"\r\x82\xb5\x18\t\n\x07sandbox(\x01\x30\x01\x12\x7f\n\x15ReportMainProcessExit\x12*.openshell.v1.ReportMainProcessExitRequest\x1a+.openshell.v1.ReportMainProcessExitResponse\"\r\x82\xb5\x18\t\n\x07sandbox\x12\x85\x01\n\x17\x46inalizeMainProcessExit\x12,.openshell.v1.FinalizeMainProcessExitRequest\x1a-.openshell.v1.FinalizeMainProcessExitResponse\"\r\x82\xb5\x18\t\n\x07sandbox\x12T\n\x0bRelayStream\x12\x18.openshell.v1.RelayFrame\x1a\x18.openshell.v1.RelayFrame\"\r\x82\xb5\x18\t\n\x07sandbox(\x01\x30\x01\x12W\n\tPeerRelay\x12\x1c.openshell.v1.PeerRelayFrame\x1a\x1c.openshell.v1.PeerRelayFrame\"\n\x82\xb5\x18\x06\n\x04peer(\x01\x30\x01\x12\x86\x01\n\x1bPeerReportProviderReadiness\x12,.openshell.v1.ReportProviderReadinessRequest\x1a-.openshell.v1.ReportProviderReadinessResponse\"\n\x82\xb5\x18\x06\n\x04peer\x12}\n\x18PeerReportEndpointStatus\x12).openshell.v1.ReportEndpointStatusRequest\x1a*.openshell.v1.ReportEndpointStatusResponse\"\n\x82\xb5\x18\x06\n\x04peer\x12\x89\x01\n\x1cPeerGetSandboxProviderStatus\x12-.openshell.v1.GetSandboxProviderStatusRequest\x1a..openshell.v1.GetSandboxProviderStatusResponse\"\n\x82\xb5\x18\x06\n\x04peer\x12\x7f\n\x16PeerNotifyConfigUpdate\x12+.openshell.v1.PeerNotifyConfigUpdateRequest\x1a,.openshell.v1.PeerNotifyConfigUpdateResponse\"\n\x82\xb5\x18\x06\n\x04peer\x12w\n\x0cWatchSandbox\x12!.openshell.v1.WatchSandboxRequest\x1a .openshell.v1.SandboxStreamEvent\" \x82\xb5\x18\x1c\n\x06\x62\x65\x61rer\x12\x04user\"\x0csandbox:read0\x01\x12|\n\x14SubmitPolicyAnalysis\x12).openshell.v1.SubmitPolicyAnalysisRequest\x1a*.openshell.v1.SubmitPolicyAnalysisResponse\"\r\x82\xb5\x18\t\n\x07sandbox\x12z\n\x0eGetDraftPolicy\x12#.openshell.v1.GetDraftPolicyRequest\x1a$.openshell.v1.GetDraftPolicyResponse\"\x1d\x82\xb5\x18\x19\n\x04\x64ual\x12\x04user\"\x0b\x63onfig:read\x12\x87\x01\n\x11\x41pproveDraftChunk\x12&.openshell.v1.ApproveDraftChunkRequest\x1a\'.openshell.v1.ApproveDraftChunkResponse\"!\x82\xb5\x18\x1d\n\x06\x62\x65\x61rer\x12\x05\x61\x64min\"\x0c\x63onfig:write\x12\x84\x01\n\x10RejectDraftChunk\x12%.openshell.v1.RejectDraftChunkRequest\x1a&.openshell.v1.RejectDraftChunkResponse\"!\x82\xb5\x18\x1d\n\x06\x62\x65\x61rer\x12\x05\x61\x64min\"\x0c\x63onfig:write\x12\x93\x01\n\x15\x41pproveAllDraftChunks\x12*.openshell.v1.ApproveAllDraftChunksRequest\x1a+.openshell.v1.ApproveAllDraftChunksResponse\"!\x82\xb5\x18\x1d\n\x06\x62\x65\x61rer\x12\x05\x61\x64min\"\x0c\x63onfig:write\x12~\n\x0e\x45\x64itDraftChunk\x12#.openshell.v1.EditDraftChunkRequest\x1a$.openshell.v1.EditDraftChunkResponse\"!\x82\xb5\x18\x1d\n\x06\x62\x65\x61rer\x12\x05\x61\x64min\"\x0c\x63onfig:write\x12~\n\x0eUndoDraftChunk\x12#.openshell.v1.UndoDraftChunkRequest\x1a$.openshell.v1.UndoDraftChunkResponse\"!\x82\xb5\x18\x1d\n\x06\x62\x65\x61rer\x12\x05\x61\x64min\"\x0c\x63onfig:write\x12\x84\x01\n\x10\x43learDraftChunks\x12%.openshell.v1.ClearDraftChunksRequest\x1a&.openshell.v1.ClearDraftChunksResponse\"!\x82\xb5\x18\x1d\n\x06\x62\x65\x61rer\x12\x05\x61\x64min\"\x0c\x63onfig:write\x12\x7f\n\x0fGetDraftHistory\x12$.openshell.v1.GetDraftHistoryRequest\x1a%.openshell.v1.GetDraftHistoryResponse\"\x1f\x82\xb5\x18\x1b\n\x06\x62\x65\x61rer\x12\x04user\"\x0b\x63onfig:read\x12s\n\x11IssueSandboxToken\x12&.openshell.v1.IssueSandboxTokenRequest\x1a\'.openshell.v1.IssueSandboxTokenResponse\"\r\x82\xb5\x18\t\n\x07sandbox\x12y\n\x13RefreshSandboxToken\x12(.openshell.v1.RefreshSandboxTokenRequest\x1a).openshell.v1.RefreshSandboxTokenResponse\"\r\x82\xb5\x18\t\n\x07sandbox\x12\x8d\x01\n\x0f\x43reateWorkspace\x12$.openshell.v1.CreateWorkspaceRequest\x1a%.openshell.v1.CreateWorkspaceResponse\"-\x82\xb5\x18)\n\x06\x62\x65\x61rer\x1a\x0eplatform_admin\"\x0fworkspace:write\x12y\n\x0cGetWorkspace\x12!.openshell.v1.GetWorkspaceRequest\x1a\".openshell.v1.GetWorkspaceResponse\"\"\x82\xb5\x18\x1e\n\x06\x62\x65\x61rer\x12\x04user\"\x0eworkspace:read\x12\x7f\n\x0eListWorkspaces\x12#.openshell.v1.ListWorkspacesRequest\x1a$.openshell.v1.ListWorkspacesResponse\"\"\x82\xb5\x18\x1e\n\x06\x62\x65\x61rer\x12\x04user\"\x0eworkspace:read\x12\x8d\x01\n\x0f\x44\x65leteWorkspace\x12$.openshell.v1.DeleteWorkspaceRequest\x1a%.openshell.v1.DeleteWorkspaceResponse\"-\x82\xb5\x18)\n\x06\x62\x65\x61rer\x1a\x0eplatform_admin\"\x0fworkspace:write\x12\x8d\x01\n\x12\x41\x64\x64WorkspaceMember\x12\'.openshell.v1.AddWorkspaceMemberRequest\x1a(.openshell.v1.AddWorkspaceMemberResponse\"$\x82\xb5\x18 \n\x06\x62\x65\x61rer\x12\x05\x61\x64min\"\x0fworkspace:write\x12\x96\x01\n\x15RemoveWorkspaceMember\x12*.openshell.v1.RemoveWorkspaceMemberRequest\x1a+.openshell.v1.RemoveWorkspaceMemberResponse\"$\x82\xb5\x18 \n\x06\x62\x65\x61rer\x12\x05\x61\x64min\"\x0fworkspace:write\x12\x91\x01\n\x14ListWorkspaceMembers\x12).openshell.v1.ListWorkspaceMembersRequest\x1a*.openshell.v1.ListWorkspaceMembersResponse\"\"\x82\xb5\x18\x1e\n\x06\x62\x65\x61rer\x12\x04user\"\x0eworkspace:read2\x87\x01\n\x0eSandboxUpdates\x12u\n\rUpdateSandbox\x12\".openshell.v1.UpdateSandboxRequest\x1a\x1d.openshell.v1.SandboxResponse\"!\x82\xb5\x18\x1d\n\x06\x62\x65\x61rer\x12\x04user\"\rsandbox:writeb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -293,50 +293,50 @@ _globals['_OPENSHELL'].methods_by_name['ListWorkspaceMembers']._serialized_options = b'\202\265\030\036\n\006bearer\022\004user\"\016workspace:read' _globals['_SANDBOXUPDATES'].methods_by_name['UpdateSandbox']._loaded_options = None _globals['_SANDBOXUPDATES'].methods_by_name['UpdateSandbox']._serialized_options = b'\202\265\030\035\n\006bearer\022\004user\"\rsandbox:write' - _globals['_EXTENSIONKIND']._serialized_start=43765 - _globals['_EXTENSIONKIND']._serialized_end=43967 - _globals['_SANDBOXPHASE']._serialized_start=43970 - _globals['_SANDBOXPHASE']._serialized_end=44355 - _globals['_PROVIDERMUTATIONKIND']._serialized_start=44358 - _globals['_PROVIDERMUTATIONKIND']._serialized_end=44561 - _globals['_PROVIDERREADINESSSTATE']._serialized_start=44564 - _globals['_PROVIDERREADINESSSTATE']._serialized_end=44899 - _globals['_PROVIDERREADINESSREASON']._serialized_start=44902 - _globals['_PROVIDERREADINESSREASON']._serialized_end=45760 - _globals['_CONFIGCOMPONENT']._serialized_start=45763 - _globals['_CONFIGCOMPONENT']._serialized_end=45894 - _globals['_CONFIGAPPLYOUTCOME']._serialized_start=45897 - _globals['_CONFIGAPPLYOUTCOME']._serialized_end=46294 - _globals['_CONFIGUPDATEOPERATIONSTATE']._serialized_start=46297 - _globals['_CONFIGUPDATEOPERATIONSTATE']._serialized_end=46635 - _globals['_PROVIDERCREDENTIALTOKENGRANTTYPE']._serialized_start=46638 - _globals['_PROVIDERCREDENTIALTOKENGRANTTYPE']._serialized_end=46844 - _globals['_PROVIDERCREDENTIALREFRESHSTRATEGY']._serialized_start=46847 - _globals['_PROVIDERCREDENTIALREFRESHSTRATEGY']._serialized_end=47298 - _globals['_PROVIDERPROFILECATEGORY']._serialized_start=47301 - _globals['_PROVIDERPROFILECATEGORY']._serialized_end=47648 - _globals['_PROVIDERENVIRONMENTVALUECLASSIFICATION']._serialized_start=47651 - _globals['_PROVIDERENVIRONMENTVALUECLASSIFICATION']._serialized_end=47873 - _globals['_CONFIGURATIONADMISSIONSTATE']._serialized_start=47876 - _globals['_CONFIGURATIONADMISSIONSTATE']._serialized_end=48083 - _globals['_POLICYSTATUS']._serialized_start=48086 - _globals['_POLICYSTATUS']._serialized_end=48240 - _globals['_SERVICESTATUS']._serialized_start=48243 - _globals['_SERVICESTATUS']._serialized_end=48377 - _globals['_WORKSPACEROLE']._serialized_start=48379 - _globals['_WORKSPACEROLE']._serialized_end=48477 - _globals['_PROVIDERCREDENTIALREFRESHRECOVERYACTION']._serialized_start=48480 - _globals['_PROVIDERCREDENTIALREFRESHRECOVERYACTION']._serialized_end=48826 - _globals['_SANDBOXRESTARTPOLICY']._serialized_start=48829 - _globals['_SANDBOXRESTARTPOLICY']._serialized_end=48999 - _globals['_DELETIONOUTCOME']._serialized_start=49002 - _globals['_DELETIONOUTCOME']._serialized_end=49153 - _globals['_ENDPOINTRESULT']._serialized_start=49156 - _globals['_ENDPOINTRESULT']._serialized_end=49479 - _globals['_SERVICEAUTHORIZATIONMODE']._serialized_start=49482 - _globals['_SERVICEAUTHORIZATIONMODE']._serialized_end=49641 - _globals['_ENDPOINTFAILUREDOMAIN']._serialized_start=49643 - _globals['_ENDPOINTFAILUREDOMAIN']._serialized_end=49748 + _globals['_EXTENSIONKIND']._serialized_start=44284 + _globals['_EXTENSIONKIND']._serialized_end=44486 + _globals['_SANDBOXPHASE']._serialized_start=44489 + _globals['_SANDBOXPHASE']._serialized_end=44874 + _globals['_PROVIDERMUTATIONKIND']._serialized_start=44877 + _globals['_PROVIDERMUTATIONKIND']._serialized_end=45080 + _globals['_PROVIDERREADINESSSTATE']._serialized_start=45083 + _globals['_PROVIDERREADINESSSTATE']._serialized_end=45418 + _globals['_PROVIDERREADINESSREASON']._serialized_start=45421 + _globals['_PROVIDERREADINESSREASON']._serialized_end=46279 + _globals['_CONFIGCOMPONENT']._serialized_start=46282 + _globals['_CONFIGCOMPONENT']._serialized_end=46413 + _globals['_CONFIGAPPLYOUTCOME']._serialized_start=46416 + _globals['_CONFIGAPPLYOUTCOME']._serialized_end=46813 + _globals['_CONFIGUPDATEOPERATIONSTATE']._serialized_start=46816 + _globals['_CONFIGUPDATEOPERATIONSTATE']._serialized_end=47154 + _globals['_PROVIDERCREDENTIALTOKENGRANTTYPE']._serialized_start=47157 + _globals['_PROVIDERCREDENTIALTOKENGRANTTYPE']._serialized_end=47363 + _globals['_PROVIDERCREDENTIALREFRESHSTRATEGY']._serialized_start=47366 + _globals['_PROVIDERCREDENTIALREFRESHSTRATEGY']._serialized_end=47817 + _globals['_PROVIDERPROFILECATEGORY']._serialized_start=47820 + _globals['_PROVIDERPROFILECATEGORY']._serialized_end=48167 + _globals['_PROVIDERENVIRONMENTVALUECLASSIFICATION']._serialized_start=48170 + _globals['_PROVIDERENVIRONMENTVALUECLASSIFICATION']._serialized_end=48392 + _globals['_CONFIGURATIONADMISSIONSTATE']._serialized_start=48395 + _globals['_CONFIGURATIONADMISSIONSTATE']._serialized_end=48602 + _globals['_POLICYSTATUS']._serialized_start=48605 + _globals['_POLICYSTATUS']._serialized_end=48759 + _globals['_SERVICESTATUS']._serialized_start=48762 + _globals['_SERVICESTATUS']._serialized_end=48896 + _globals['_WORKSPACEROLE']._serialized_start=48898 + _globals['_WORKSPACEROLE']._serialized_end=48996 + _globals['_PROVIDERCREDENTIALREFRESHRECOVERYACTION']._serialized_start=48999 + _globals['_PROVIDERCREDENTIALREFRESHRECOVERYACTION']._serialized_end=49345 + _globals['_SANDBOXRESTARTPOLICY']._serialized_start=49348 + _globals['_SANDBOXRESTARTPOLICY']._serialized_end=49518 + _globals['_DELETIONOUTCOME']._serialized_start=49521 + _globals['_DELETIONOUTCOME']._serialized_end=49672 + _globals['_ENDPOINTRESULT']._serialized_start=49675 + _globals['_ENDPOINTRESULT']._serialized_end=49998 + _globals['_SERVICEAUTHORIZATIONMODE']._serialized_start=50001 + _globals['_SERVICEAUTHORIZATIONMODE']._serialized_end=50160 + _globals['_ENDPOINTFAILUREDOMAIN']._serialized_start=50162 + _globals['_ENDPOINTFAILUREDOMAIN']._serialized_end=50267 _globals['_ISSUESANDBOXTOKENREQUEST']._serialized_start=175 _globals['_ISSUESANDBOXTOKENREQUEST']._serialized_end=201 _globals['_ISSUESANDBOXTOKENRESPONSE']._serialized_start=203 @@ -738,169 +738,173 @@ _globals['_GETSANDBOXLOGSRESPONSE']._serialized_start=32189 _globals['_GETSANDBOXLOGSRESPONSE']._serialized_end=32279 _globals['_SUPERVISORMESSAGE']._serialized_start=32282 - _globals['_SUPERVISORMESSAGE']._serialized_end=32591 - _globals['_GATEWAYMESSAGE']._serialized_start=32594 - _globals['_GATEWAYMESSAGE']._serialized_end=33000 - _globals['_SUPERVISORHELLO']._serialized_start=33003 - _globals['_SUPERVISORHELLO']._serialized_end=33209 - _globals['_SESSIONACCEPTED']._serialized_start=33212 - _globals['_SESSIONACCEPTED']._serialized_end=33411 - _globals['_CONFIGUPDATE']._serialized_start=33414 - _globals['_CONFIGUPDATE']._serialized_end=33589 - _globals['_CONFIGAPPLYFAILURE']._serialized_start=33591 - _globals['_CONFIGAPPLYFAILURE']._serialized_end=33661 - _globals['_CONFIGUPDATERESULT']._serialized_start=33664 - _globals['_CONFIGUPDATERESULT']._serialized_end=33922 - _globals['_POLICYLOADRESULT']._serialized_start=33924 - _globals['_POLICYLOADRESULT']._serialized_end=33990 - _globals['_SESSIONREJECTED']._serialized_start=33992 - _globals['_SESSIONREJECTED']._serialized_end=34025 - _globals['_SESSIONREDIRECT']._serialized_start=34027 - _globals['_SESSIONREDIRECT']._serialized_end=34093 - _globals['_SUPERVISORHEARTBEAT']._serialized_start=34095 - _globals['_SUPERVISORHEARTBEAT']._serialized_end=34116 - _globals['_GATEWAYHEARTBEAT']._serialized_start=34118 - _globals['_GATEWAYHEARTBEAT']._serialized_end=34136 - _globals['_REPORTMAINPROCESSEXITREQUEST']._serialized_start=34138 - _globals['_REPORTMAINPROCESSEXITREQUEST']._serialized_end=34228 - _globals['_REPORTMAINPROCESSEXITRESPONSE']._serialized_start=34230 - _globals['_REPORTMAINPROCESSEXITRESPONSE']._serialized_end=34261 - _globals['_FINALIZEMAINPROCESSEXITREQUEST']._serialized_start=34263 - _globals['_FINALIZEMAINPROCESSEXITREQUEST']._serialized_end=34336 - _globals['_FINALIZEMAINPROCESSEXITRESPONSE']._serialized_start=34338 - _globals['_FINALIZEMAINPROCESSEXITRESPONSE']._serialized_end=34371 - _globals['_RELAYOPEN']._serialized_start=34374 - _globals['_RELAYOPEN']._serialized_end=34525 - _globals['_SSHRELAYTARGET']._serialized_start=34527 - _globals['_SSHRELAYTARGET']._serialized_end=34543 - _globals['_TCPRELAYTARGET']._serialized_start=34545 - _globals['_TCPRELAYTARGET']._serialized_end=34589 - _globals['_RELAYINIT']._serialized_start=34591 - _globals['_RELAYINIT']._serialized_end=34622 - _globals['_RELAYFRAME']._serialized_start=34624 - _globals['_RELAYFRAME']._serialized_end=34704 - _globals['_PEERRELAYINIT']._serialized_start=34706 - _globals['_PEERRELAYINIT']._serialized_end=34816 - _globals['_PEERRELAYFRAME']._serialized_start=34818 - _globals['_PEERRELAYFRAME']._serialized_end=34906 - _globals['_PEERCONFIGSANDBOXTARGET']._serialized_start=34908 - _globals['_PEERCONFIGSANDBOXTARGET']._serialized_end=34973 - _globals['_PEERCONFIGPROVIDERTARGET']._serialized_start=34975 - _globals['_PEERCONFIGPROVIDERTARGET']._serialized_end=35034 - _globals['_PEERNOTIFYCONFIGUPDATEREQUEST']._serialized_start=35037 - _globals['_PEERNOTIFYCONFIGUPDATEREQUEST']._serialized_end=35241 - _globals['_PEERNOTIFYCONFIGUPDATERESPONSE']._serialized_start=35243 - _globals['_PEERNOTIFYCONFIGUPDATERESPONSE']._serialized_end=35296 - _globals['_RELAYOPENRESULT']._serialized_start=35298 - _globals['_RELAYOPENRESULT']._serialized_end=35367 - _globals['_RELAYCLOSE']._serialized_start=35369 - _globals['_RELAYCLOSE']._serialized_end=35417 - _globals['_L7REQUESTSAMPLE']._serialized_start=35419 - _globals['_L7REQUESTSAMPLE']._serialized_end=35499 - _globals['_DENIALSUMMARY']._serialized_start=35502 - _globals['_DENIALSUMMARY']._serialized_end=36008 - _globals['_DENIALGROUPCOUNT']._serialized_start=36010 - _globals['_DENIALGROUPCOUNT']._serialized_end=36070 - _globals['_NETWORKACTIVITYSUMMARY']._serialized_start=36073 - _globals['_NETWORKACTIVITYSUMMARY']._serialized_end=36216 - _globals['_POLICYCHUNK']._serialized_start=36219 - _globals['_POLICYCHUNK']._serialized_end=37127 - _globals['_DRAFTPOLICYUPDATE']._serialized_start=37129 - _globals['_DRAFTPOLICYUPDATE']._serialized_end=37231 - _globals['_SUBMITPOLICYANALYSISREQUEST']._serialized_start=37234 - _globals['_SUBMITPOLICYANALYSISREQUEST']._serialized_end=37542 - _globals['_SUBMITPOLICYANALYSISRESPONSE']._serialized_start=37545 - _globals['_SUBMITPOLICYANALYSISRESPONSE']._serialized_end=37680 - _globals['_GETDRAFTPOLICYREQUEST']._serialized_start=37683 - _globals['_GETDRAFTPOLICYREQUEST']._serialized_end=37814 - _globals['_GETDRAFTPOLICYRESPONSE']._serialized_start=37817 - _globals['_GETDRAFTPOLICYRESPONSE']._serialized_end=38015 - _globals['_APPROVEDRAFTCHUNKREQUEST']._serialized_start=38018 - _globals['_APPROVEDRAFTCHUNKREQUEST']._serialized_end=38189 - _globals['_APPROVEDRAFTCHUNKRESPONSE']._serialized_start=38191 - _globals['_APPROVEDRAFTCHUNKRESPONSE']._serialized_end=38263 - _globals['_REJECTDRAFTCHUNKREQUEST']._serialized_start=38266 - _globals['_REJECTDRAFTCHUNKREQUEST']._serialized_end=38430 - _globals['_REJECTDRAFTCHUNKRESPONSE']._serialized_start=38432 - _globals['_REJECTDRAFTCHUNKRESPONSE']._serialized_end=38458 - _globals['_DRAFTCHUNKAPPROVAL']._serialized_start=38460 - _globals['_DRAFTCHUNKAPPROVAL']._serialized_end=38520 - _globals['_APPROVEALLDRAFTCHUNKSREQUEST']._serialized_start=38523 - _globals['_APPROVEALLDRAFTCHUNKSREQUEST']._serialized_end=38745 - _globals['_APPROVEALLDRAFTCHUNKSRESPONSE']._serialized_start=38747 - _globals['_APPROVEALLDRAFTCHUNKSRESPONSE']._serialized_end=38872 - _globals['_EDITDRAFTCHUNKREQUEST']._serialized_start=38875 - _globals['_EDITDRAFTCHUNKREQUEST']._serialized_end=39085 - _globals['_EDITDRAFTCHUNKRESPONSE']._serialized_start=39087 - _globals['_EDITDRAFTCHUNKRESPONSE']._serialized_end=39111 - _globals['_UNDODRAFTCHUNKREQUEST']._serialized_start=39114 - _globals['_UNDODRAFTCHUNKREQUEST']._serialized_end=39260 - _globals['_UNDODRAFTCHUNKRESPONSE']._serialized_start=39262 - _globals['_UNDODRAFTCHUNKRESPONSE']._serialized_end=39331 - _globals['_CLEARDRAFTCHUNKSREQUEST']._serialized_start=39334 - _globals['_CLEARDRAFTCHUNKSREQUEST']._serialized_end=39464 - _globals['_CLEARDRAFTCHUNKSRESPONSE']._serialized_start=39466 - _globals['_CLEARDRAFTCHUNKSRESPONSE']._serialized_end=39516 - _globals['_GETDRAFTHISTORYREQUEST']._serialized_start=39518 - _globals['_GETDRAFTHISTORYREQUEST']._serialized_end=39627 - _globals['_DRAFTHISTORYENTRY']._serialized_start=39630 - _globals['_DRAFTHISTORYENTRY']._serialized_end=39776 - _globals['_GETDRAFTHISTORYRESPONSE']._serialized_start=39778 - _globals['_GETDRAFTHISTORYRESPONSE']._serialized_end=39853 - _globals['_CREATEWORKSPACEREQUEST']._serialized_start=39856 - _globals['_CREATEWORKSPACEREQUEST']._serialized_end=40027 + _globals['_SUPERVISORMESSAGE']._serialized_end=32670 + _globals['_GATEWAYMESSAGE']._serialized_start=32673 + _globals['_GATEWAYMESSAGE']._serialized_end=33143 + _globals['_SUPERVISORHELLO']._serialized_start=33146 + _globals['_SUPERVISORHELLO']._serialized_end=33393 + _globals['_SESSIONACCEPTED']._serialized_start=33396 + _globals['_SESSIONACCEPTED']._serialized_end=33595 + _globals['_CONFIGUPDATE']._serialized_start=33598 + _globals['_CONFIGUPDATE']._serialized_end=33773 + _globals['_CONFIGAPPLYFAILURE']._serialized_start=33775 + _globals['_CONFIGAPPLYFAILURE']._serialized_end=33845 + _globals['_CONFIGUPDATERESULT']._serialized_start=33848 + _globals['_CONFIGUPDATERESULT']._serialized_end=34106 + _globals['_POLICYLOADRESULT']._serialized_start=34108 + _globals['_POLICYLOADRESULT']._serialized_end=34174 + _globals['_SESSIONREJECTED']._serialized_start=34176 + _globals['_SESSIONREJECTED']._serialized_end=34209 + _globals['_SESSIONREDIRECT']._serialized_start=34211 + _globals['_SESSIONREDIRECT']._serialized_end=34277 + _globals['_SUPERVISORHEARTBEAT']._serialized_start=34279 + _globals['_SUPERVISORHEARTBEAT']._serialized_end=34300 + _globals['_GATEWAYHEARTBEAT']._serialized_start=34302 + _globals['_GATEWAYHEARTBEAT']._serialized_end=34320 + _globals['_REPORTMAINPROCESSEXITREQUEST']._serialized_start=34322 + _globals['_REPORTMAINPROCESSEXITREQUEST']._serialized_end=34412 + _globals['_REPORTMAINPROCESSEXITRESPONSE']._serialized_start=34414 + _globals['_REPORTMAINPROCESSEXITRESPONSE']._serialized_end=34445 + _globals['_FINALIZEMAINPROCESSEXITREQUEST']._serialized_start=34447 + _globals['_FINALIZEMAINPROCESSEXITREQUEST']._serialized_end=34520 + _globals['_FINALIZEMAINPROCESSEXITRESPONSE']._serialized_start=34522 + _globals['_FINALIZEMAINPROCESSEXITRESPONSE']._serialized_end=34555 + _globals['_RELAYOPEN']._serialized_start=34558 + _globals['_RELAYOPEN']._serialized_end=34709 + _globals['_SSHRELAYTARGET']._serialized_start=34711 + _globals['_SSHRELAYTARGET']._serialized_end=34727 + _globals['_TCPRELAYTARGET']._serialized_start=34729 + _globals['_TCPRELAYTARGET']._serialized_end=34773 + _globals['_RELAYINIT']._serialized_start=34775 + _globals['_RELAYINIT']._serialized_end=34806 + _globals['_RELAYFRAME']._serialized_start=34808 + _globals['_RELAYFRAME']._serialized_end=34888 + _globals['_PEERRELAYINIT']._serialized_start=34890 + _globals['_PEERRELAYINIT']._serialized_end=35000 + _globals['_PEERRELAYFRAME']._serialized_start=35002 + _globals['_PEERRELAYFRAME']._serialized_end=35090 + _globals['_PEERCONFIGSANDBOXTARGET']._serialized_start=35092 + _globals['_PEERCONFIGSANDBOXTARGET']._serialized_end=35157 + _globals['_PEERCONFIGPROVIDERTARGET']._serialized_start=35159 + _globals['_PEERCONFIGPROVIDERTARGET']._serialized_end=35218 + _globals['_PEERNOTIFYCONFIGUPDATEREQUEST']._serialized_start=35221 + _globals['_PEERNOTIFYCONFIGUPDATEREQUEST']._serialized_end=35425 + _globals['_PEERNOTIFYCONFIGUPDATERESPONSE']._serialized_start=35427 + _globals['_PEERNOTIFYCONFIGUPDATERESPONSE']._serialized_end=35480 + _globals['_RELAYOPENRESULT']._serialized_start=35482 + _globals['_RELAYOPENRESULT']._serialized_end=35551 + _globals['_RELAYCLOSE']._serialized_start=35553 + _globals['_RELAYCLOSE']._serialized_end=35601 + _globals['_L7REQUESTSAMPLE']._serialized_start=35603 + _globals['_L7REQUESTSAMPLE']._serialized_end=35683 + _globals['_DENIALSUMMARY']._serialized_start=35686 + _globals['_DENIALSUMMARY']._serialized_end=36192 + _globals['_DENIALGROUPCOUNT']._serialized_start=36194 + _globals['_DENIALGROUPCOUNT']._serialized_end=36254 + _globals['_NETWORKACTIVITYSUMMARY']._serialized_start=36257 + _globals['_NETWORKACTIVITYSUMMARY']._serialized_end=36400 + _globals['_POLICYCHUNK']._serialized_start=36403 + _globals['_POLICYCHUNK']._serialized_end=37311 + _globals['_DRAFTPOLICYUPDATE']._serialized_start=37313 + _globals['_DRAFTPOLICYUPDATE']._serialized_end=37415 + _globals['_SUBMITPOLICYANALYSISREQUEST']._serialized_start=37418 + _globals['_SUBMITPOLICYANALYSISREQUEST']._serialized_end=37726 + _globals['_SUBMITPOLICYANALYSISRESPONSE']._serialized_start=37729 + _globals['_SUBMITPOLICYANALYSISRESPONSE']._serialized_end=37864 + _globals['_GETDRAFTPOLICYREQUEST']._serialized_start=37867 + _globals['_GETDRAFTPOLICYREQUEST']._serialized_end=37998 + _globals['_GETDRAFTPOLICYRESPONSE']._serialized_start=38001 + _globals['_GETDRAFTPOLICYRESPONSE']._serialized_end=38199 + _globals['_APPROVEDRAFTCHUNKREQUEST']._serialized_start=38202 + _globals['_APPROVEDRAFTCHUNKREQUEST']._serialized_end=38373 + _globals['_APPROVEDRAFTCHUNKRESPONSE']._serialized_start=38375 + _globals['_APPROVEDRAFTCHUNKRESPONSE']._serialized_end=38447 + _globals['_REJECTDRAFTCHUNKREQUEST']._serialized_start=38450 + _globals['_REJECTDRAFTCHUNKREQUEST']._serialized_end=38614 + _globals['_REJECTDRAFTCHUNKRESPONSE']._serialized_start=38616 + _globals['_REJECTDRAFTCHUNKRESPONSE']._serialized_end=38642 + _globals['_DRAFTCHUNKAPPROVAL']._serialized_start=38644 + _globals['_DRAFTCHUNKAPPROVAL']._serialized_end=38704 + _globals['_APPROVEALLDRAFTCHUNKSREQUEST']._serialized_start=38707 + _globals['_APPROVEALLDRAFTCHUNKSREQUEST']._serialized_end=38929 + _globals['_APPROVEALLDRAFTCHUNKSRESPONSE']._serialized_start=38931 + _globals['_APPROVEALLDRAFTCHUNKSRESPONSE']._serialized_end=39056 + _globals['_EDITDRAFTCHUNKREQUEST']._serialized_start=39059 + _globals['_EDITDRAFTCHUNKREQUEST']._serialized_end=39269 + _globals['_EDITDRAFTCHUNKRESPONSE']._serialized_start=39271 + _globals['_EDITDRAFTCHUNKRESPONSE']._serialized_end=39295 + _globals['_UNDODRAFTCHUNKREQUEST']._serialized_start=39298 + _globals['_UNDODRAFTCHUNKREQUEST']._serialized_end=39444 + _globals['_UNDODRAFTCHUNKRESPONSE']._serialized_start=39446 + _globals['_UNDODRAFTCHUNKRESPONSE']._serialized_end=39515 + _globals['_CLEARDRAFTCHUNKSREQUEST']._serialized_start=39518 + _globals['_CLEARDRAFTCHUNKSREQUEST']._serialized_end=39648 + _globals['_CLEARDRAFTCHUNKSRESPONSE']._serialized_start=39650 + _globals['_CLEARDRAFTCHUNKSRESPONSE']._serialized_end=39700 + _globals['_GETDRAFTHISTORYREQUEST']._serialized_start=39702 + _globals['_GETDRAFTHISTORYREQUEST']._serialized_end=39811 + _globals['_DRAFTHISTORYENTRY']._serialized_start=39814 + _globals['_DRAFTHISTORYENTRY']._serialized_end=39960 + _globals['_GETDRAFTHISTORYRESPONSE']._serialized_start=39962 + _globals['_GETDRAFTHISTORYRESPONSE']._serialized_end=40037 + _globals['_CREATEWORKSPACEREQUEST']._serialized_start=40040 + _globals['_CREATEWORKSPACEREQUEST']._serialized_end=40211 _globals['_CREATEWORKSPACEREQUEST_LABELSENTRY']._serialized_start=3504 _globals['_CREATEWORKSPACEREQUEST_LABELSENTRY']._serialized_end=3549 - _globals['_CREATEWORKSPACERESPONSE']._serialized_start=40029 - _globals['_CREATEWORKSPACERESPONSE']._serialized_end=40108 - _globals['_GETWORKSPACEREQUEST']._serialized_start=40110 - _globals['_GETWORKSPACEREQUEST']._serialized_end=40145 - _globals['_GETWORKSPACERESPONSE']._serialized_start=40147 - _globals['_GETWORKSPACERESPONSE']._serialized_end=40223 - _globals['_LISTWORKSPACESREQUEST']._serialized_start=40225 - _globals['_LISTWORKSPACESREQUEST']._serialized_end=40311 - _globals['_LISTWORKSPACESRESPONSE']._serialized_start=40313 - _globals['_LISTWORKSPACESRESPONSE']._serialized_end=40417 - _globals['_DELETEWORKSPACEREQUEST']._serialized_start=40419 - _globals['_DELETEWORKSPACEREQUEST']._serialized_end=40500 - _globals['_DELETEWORKSPACERESPONSE']._serialized_start=40502 - _globals['_DELETEWORKSPACERESPONSE']._serialized_end=40590 - _globals['_WORKSPACEMEMBER']._serialized_start=40593 - _globals['_WORKSPACEMEMBER']._serialized_end=40734 - _globals['_ADDWORKSPACEMEMBERREQUEST']._serialized_start=40737 - _globals['_ADDWORKSPACEMEMBERREQUEST']._serialized_end=40922 - _globals['_ADDWORKSPACEMEMBERRESPONSE']._serialized_start=40924 - _globals['_ADDWORKSPACEMEMBERRESPONSE']._serialized_end=40999 - _globals['_REMOVEWORKSPACEMEMBERREQUEST']._serialized_start=41002 - _globals['_REMOVEWORKSPACEMEMBERREQUEST']._serialized_end=41170 - _globals['_REMOVEWORKSPACEMEMBERRESPONSE']._serialized_start=41172 - _globals['_REMOVEWORKSPACEMEMBERRESPONSE']._serialized_end=41266 - _globals['_LISTWORKSPACEMEMBERSREQUEST']._serialized_start=41269 - _globals['_LISTWORKSPACEMEMBERSREQUEST']._serialized_end=41405 - _globals['_LISTWORKSPACEMEMBERSRESPONSE']._serialized_start=41407 - _globals['_LISTWORKSPACEMEMBERSRESPONSE']._serialized_end=41510 - _globals['_EXTENSIONSERVICECREDENTIAL']._serialized_start=41513 - _globals['_EXTENSIONSERVICECREDENTIAL']._serialized_end=41658 - _globals['_ENDPOINTOBSERVATION']._serialized_start=41661 - _globals['_ENDPOINTOBSERVATION']._serialized_end=41797 - _globals['_REPORTENDPOINTSTATUSREQUEST']._serialized_start=41800 - _globals['_REPORTENDPOINTSTATUSREQUEST']._serialized_end=42105 - _globals['_TOKENGRANTSTATUS']._serialized_start=42107 - _globals['_TOKENGRANTSTATUS']._serialized_end=42191 - _globals['_TOKENGRANTFAILUREOBSERVATION']._serialized_start=42194 - _globals['_TOKENGRANTFAILUREOBSERVATION']._serialized_end=42324 - _globals['_REPORTENDPOINTSTATUSRESPONSE']._serialized_start=42326 - _globals['_REPORTENDPOINTSTATUSRESPONSE']._serialized_end=42356 - _globals['_ENDPOINTSTATUS']._serialized_start=42359 - _globals['_ENDPOINTSTATUS']._serialized_end=42623 - _globals['_SANDBOXPROVISIONING']._serialized_start=42626 - _globals['_SANDBOXPROVISIONING']._serialized_end=43325 - _globals['_SANDBOXSERVICEEXPOSURE']._serialized_start=43328 - _globals['_SANDBOXSERVICEEXPOSURE']._serialized_end=43458 - _globals['_ENDPOINTFAILURE']._serialized_start=43461 - _globals['_ENDPOINTFAILURE']._serialized_end=43762 - _globals['_OPENSHELL']._serialized_start=49751 - _globals['_OPENSHELL']._serialized_end=61181 - _globals['_SANDBOXUPDATES']._serialized_start=61184 - _globals['_SANDBOXUPDATES']._serialized_end=61319 + _globals['_CREATEWORKSPACERESPONSE']._serialized_start=40213 + _globals['_CREATEWORKSPACERESPONSE']._serialized_end=40292 + _globals['_GETWORKSPACEREQUEST']._serialized_start=40294 + _globals['_GETWORKSPACEREQUEST']._serialized_end=40329 + _globals['_GETWORKSPACERESPONSE']._serialized_start=40331 + _globals['_GETWORKSPACERESPONSE']._serialized_end=40407 + _globals['_LISTWORKSPACESREQUEST']._serialized_start=40409 + _globals['_LISTWORKSPACESREQUEST']._serialized_end=40495 + _globals['_LISTWORKSPACESRESPONSE']._serialized_start=40497 + _globals['_LISTWORKSPACESRESPONSE']._serialized_end=40601 + _globals['_DELETEWORKSPACEREQUEST']._serialized_start=40603 + _globals['_DELETEWORKSPACEREQUEST']._serialized_end=40684 + _globals['_DELETEWORKSPACERESPONSE']._serialized_start=40686 + _globals['_DELETEWORKSPACERESPONSE']._serialized_end=40774 + _globals['_WORKSPACEMEMBER']._serialized_start=40777 + _globals['_WORKSPACEMEMBER']._serialized_end=40918 + _globals['_ADDWORKSPACEMEMBERREQUEST']._serialized_start=40921 + _globals['_ADDWORKSPACEMEMBERREQUEST']._serialized_end=41106 + _globals['_ADDWORKSPACEMEMBERRESPONSE']._serialized_start=41108 + _globals['_ADDWORKSPACEMEMBERRESPONSE']._serialized_end=41183 + _globals['_REMOVEWORKSPACEMEMBERREQUEST']._serialized_start=41186 + _globals['_REMOVEWORKSPACEMEMBERREQUEST']._serialized_end=41354 + _globals['_REMOVEWORKSPACEMEMBERRESPONSE']._serialized_start=41356 + _globals['_REMOVEWORKSPACEMEMBERRESPONSE']._serialized_end=41450 + _globals['_LISTWORKSPACEMEMBERSREQUEST']._serialized_start=41453 + _globals['_LISTWORKSPACEMEMBERSREQUEST']._serialized_end=41589 + _globals['_LISTWORKSPACEMEMBERSRESPONSE']._serialized_start=41591 + _globals['_LISTWORKSPACEMEMBERSRESPONSE']._serialized_end=41694 + _globals['_EXTENSIONSERVICECREDENTIAL']._serialized_start=41697 + _globals['_EXTENSIONSERVICECREDENTIAL']._serialized_end=41842 + _globals['_ENDPOINTOBSERVATION']._serialized_start=41845 + _globals['_ENDPOINTOBSERVATION']._serialized_end=41981 + _globals['_REPORTENDPOINTSTATUSREQUEST']._serialized_start=41984 + _globals['_REPORTENDPOINTSTATUSREQUEST']._serialized_end=42289 + _globals['_TOKENGRANTSTATUS']._serialized_start=42291 + _globals['_TOKENGRANTSTATUS']._serialized_end=42375 + _globals['_TOKENGRANTFAILUREOBSERVATION']._serialized_start=42378 + _globals['_TOKENGRANTFAILUREOBSERVATION']._serialized_end=42508 + _globals['_REPORTENDPOINTSTATUSRESPONSE']._serialized_start=42510 + _globals['_REPORTENDPOINTSTATUSRESPONSE']._serialized_end=42540 + _globals['_ENDPOINTSTATUS']._serialized_start=42543 + _globals['_ENDPOINTSTATUS']._serialized_end=42807 + _globals['_SANDBOXPROVISIONING']._serialized_start=42810 + _globals['_SANDBOXPROVISIONING']._serialized_end=43509 + _globals['_SANDBOXSERVICEEXPOSURE']._serialized_start=43512 + _globals['_SANDBOXSERVICEEXPOSURE']._serialized_end=43642 + _globals['_ENDPOINTFAILURE']._serialized_start=43645 + _globals['_ENDPOINTFAILURE']._serialized_end=43946 + _globals['_SERVICEROUTELEASE']._serialized_start=43949 + _globals['_SERVICEROUTELEASE']._serialized_end=44079 + _globals['_SUPERVISORSERVICEADVERTISEMENT']._serialized_start=44082 + _globals['_SUPERVISORSERVICEADVERTISEMENT']._serialized_end=44281 + _globals['_OPENSHELL']._serialized_start=50270 + _globals['_OPENSHELL']._serialized_end=61700 + _globals['_SANDBOXUPDATES']._serialized_start=61703 + _globals['_SANDBOXUPDATES']._serialized_end=61838 # @@protoc_insertion_point(module_scope) diff --git a/src/openshell/_proto/openshell_pb2.pyi b/src/openshell/_proto/openshell_pb2.pyi index fda0d1d..d48592f 100644 --- a/src/openshell/_proto/openshell_pb2.pyi +++ b/src/openshell/_proto/openshell_pb2.pyi @@ -2541,21 +2541,23 @@ class GetSandboxLogsResponse(_message.Message): def __init__(self, logs: _Optional[_Iterable[_Union[SandboxLogLine, _Mapping]]] = ..., buffer_total: _Optional[int] = ...) -> None: ... class SupervisorMessage(_message.Message): - __slots__ = ("hello", "heartbeat", "relay_open_result", "relay_close", "config_update_result") + __slots__ = ("hello", "heartbeat", "relay_open_result", "relay_close", "config_update_result", "service_advertisement") HELLO_FIELD_NUMBER: _ClassVar[int] HEARTBEAT_FIELD_NUMBER: _ClassVar[int] RELAY_OPEN_RESULT_FIELD_NUMBER: _ClassVar[int] RELAY_CLOSE_FIELD_NUMBER: _ClassVar[int] CONFIG_UPDATE_RESULT_FIELD_NUMBER: _ClassVar[int] + SERVICE_ADVERTISEMENT_FIELD_NUMBER: _ClassVar[int] hello: SupervisorHello heartbeat: SupervisorHeartbeat relay_open_result: RelayOpenResult relay_close: RelayClose config_update_result: ConfigUpdateResult - def __init__(self, hello: _Optional[_Union[SupervisorHello, _Mapping]] = ..., heartbeat: _Optional[_Union[SupervisorHeartbeat, _Mapping]] = ..., relay_open_result: _Optional[_Union[RelayOpenResult, _Mapping]] = ..., relay_close: _Optional[_Union[RelayClose, _Mapping]] = ..., config_update_result: _Optional[_Union[ConfigUpdateResult, _Mapping]] = ...) -> None: ... + service_advertisement: SupervisorServiceAdvertisement + def __init__(self, hello: _Optional[_Union[SupervisorHello, _Mapping]] = ..., heartbeat: _Optional[_Union[SupervisorHeartbeat, _Mapping]] = ..., relay_open_result: _Optional[_Union[RelayOpenResult, _Mapping]] = ..., relay_close: _Optional[_Union[RelayClose, _Mapping]] = ..., config_update_result: _Optional[_Union[ConfigUpdateResult, _Mapping]] = ..., service_advertisement: _Optional[_Union[SupervisorServiceAdvertisement, _Mapping]] = ...) -> None: ... class GatewayMessage(_message.Message): - __slots__ = ("session_accepted", "session_rejected", "heartbeat", "relay_open", "relay_close", "session_redirect", "config_update") + __slots__ = ("session_accepted", "session_rejected", "heartbeat", "relay_open", "relay_close", "session_redirect", "config_update", "service_route_lease") SESSION_ACCEPTED_FIELD_NUMBER: _ClassVar[int] SESSION_REJECTED_FIELD_NUMBER: _ClassVar[int] HEARTBEAT_FIELD_NUMBER: _ClassVar[int] @@ -2563,6 +2565,7 @@ class GatewayMessage(_message.Message): RELAY_CLOSE_FIELD_NUMBER: _ClassVar[int] SESSION_REDIRECT_FIELD_NUMBER: _ClassVar[int] CONFIG_UPDATE_FIELD_NUMBER: _ClassVar[int] + SERVICE_ROUTE_LEASE_FIELD_NUMBER: _ClassVar[int] session_accepted: SessionAccepted session_rejected: SessionRejected heartbeat: GatewayHeartbeat @@ -2570,10 +2573,11 @@ class GatewayMessage(_message.Message): relay_close: RelayClose session_redirect: SessionRedirect config_update: ConfigUpdate - def __init__(self, session_accepted: _Optional[_Union[SessionAccepted, _Mapping]] = ..., session_rejected: _Optional[_Union[SessionRejected, _Mapping]] = ..., heartbeat: _Optional[_Union[GatewayHeartbeat, _Mapping]] = ..., relay_open: _Optional[_Union[RelayOpen, _Mapping]] = ..., relay_close: _Optional[_Union[RelayClose, _Mapping]] = ..., session_redirect: _Optional[_Union[SessionRedirect, _Mapping]] = ..., config_update: _Optional[_Union[ConfigUpdate, _Mapping]] = ...) -> None: ... + service_route_lease: ServiceRouteLease + def __init__(self, session_accepted: _Optional[_Union[SessionAccepted, _Mapping]] = ..., session_rejected: _Optional[_Union[SessionRejected, _Mapping]] = ..., heartbeat: _Optional[_Union[GatewayHeartbeat, _Mapping]] = ..., relay_open: _Optional[_Union[RelayOpen, _Mapping]] = ..., relay_close: _Optional[_Union[RelayClose, _Mapping]] = ..., session_redirect: _Optional[_Union[SessionRedirect, _Mapping]] = ..., config_update: _Optional[_Union[ConfigUpdate, _Mapping]] = ..., service_route_lease: _Optional[_Union[ServiceRouteLease, _Mapping]] = ...) -> None: ... class SupervisorHello(_message.Message): - __slots__ = ("sandbox_id", "instance_id", "connection_epoch", "supports_provider_readiness", "redirected", "supports_session_redirect", "supports_config_push") + __slots__ = ("sandbox_id", "instance_id", "connection_epoch", "supports_provider_readiness", "redirected", "supports_session_redirect", "supports_config_push", "supports_service_advertisements") SANDBOX_ID_FIELD_NUMBER: _ClassVar[int] INSTANCE_ID_FIELD_NUMBER: _ClassVar[int] CONNECTION_EPOCH_FIELD_NUMBER: _ClassVar[int] @@ -2581,6 +2585,7 @@ class SupervisorHello(_message.Message): REDIRECTED_FIELD_NUMBER: _ClassVar[int] SUPPORTS_SESSION_REDIRECT_FIELD_NUMBER: _ClassVar[int] SUPPORTS_CONFIG_PUSH_FIELD_NUMBER: _ClassVar[int] + SUPPORTS_SERVICE_ADVERTISEMENTS_FIELD_NUMBER: _ClassVar[int] sandbox_id: str instance_id: str connection_epoch: int @@ -2588,7 +2593,8 @@ class SupervisorHello(_message.Message): redirected: bool supports_session_redirect: bool supports_config_push: bool - def __init__(self, sandbox_id: _Optional[str] = ..., instance_id: _Optional[str] = ..., connection_epoch: _Optional[int] = ..., supports_provider_readiness: bool = ..., redirected: bool = ..., supports_session_redirect: bool = ..., supports_config_push: bool = ...) -> None: ... + supports_service_advertisements: bool + def __init__(self, sandbox_id: _Optional[str] = ..., instance_id: _Optional[str] = ..., connection_epoch: _Optional[int] = ..., supports_provider_readiness: bool = ..., redirected: bool = ..., supports_session_redirect: bool = ..., supports_config_push: bool = ..., supports_service_advertisements: bool = ...) -> None: ... class SessionAccepted(_message.Message): __slots__ = ("session_id", "bootstrap", "config_push_enabled", "heartbeat_interval") @@ -3412,3 +3418,27 @@ class EndpointFailure(_message.Message): upstream_http_status: int request_id: str def __init__(self, domain: _Optional[_Union[EndpointFailureDomain, str]] = ..., code: _Optional[str] = ..., recovery_action: _Optional[_Union[ProviderCredentialRefreshRecoveryAction, str]] = ..., provider: _Optional[str] = ..., credential_key: _Optional[str] = ..., stage: _Optional[str] = ..., upstream_http_status: _Optional[int] = ..., request_id: _Optional[str] = ...) -> None: ... + +class ServiceRouteLease(_message.Message): + __slots__ = ("sequence", "duration", "expires_at") + SEQUENCE_FIELD_NUMBER: _ClassVar[int] + DURATION_FIELD_NUMBER: _ClassVar[int] + EXPIRES_AT_FIELD_NUMBER: _ClassVar[int] + sequence: int + duration: _duration_pb2.Duration + expires_at: _timestamp_pb2.Timestamp + def __init__(self, sequence: _Optional[int] = ..., duration: _Optional[_Union[datetime.timedelta, _duration_pb2.Duration, _Mapping]] = ..., expires_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + +class SupervisorServiceAdvertisement(_message.Message): + __slots__ = ("lease_sequence", "configuration_instance_id", "config_revision", "routes", "service_domain") + LEASE_SEQUENCE_FIELD_NUMBER: _ClassVar[int] + CONFIGURATION_INSTANCE_ID_FIELD_NUMBER: _ClassVar[int] + CONFIG_REVISION_FIELD_NUMBER: _ClassVar[int] + ROUTES_FIELD_NUMBER: _ClassVar[int] + SERVICE_DOMAIN_FIELD_NUMBER: _ClassVar[int] + lease_sequence: int + configuration_instance_id: str + config_revision: int + routes: _containers.RepeatedCompositeFieldContainer[_sandbox_pb2.SandboxServiceRoute] + service_domain: str + def __init__(self, lease_sequence: _Optional[int] = ..., configuration_instance_id: _Optional[str] = ..., config_revision: _Optional[int] = ..., routes: _Optional[_Iterable[_Union[_sandbox_pb2.SandboxServiceRoute, _Mapping]]] = ..., service_domain: _Optional[str] = ...) -> None: ...