# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# NO CHECKED-IN PROTOBUF GENCODE
# source: soulfire/plugin_api.proto
# Protobuf Python Version: 6.31.1
"""Generated protocol buffer code."""
from google.protobuf import descriptor as _descriptor
from google.protobuf import descriptor_pool as _descriptor_pool
from google.protobuf import runtime_version as _runtime_version
from google.protobuf import symbol_database as _symbol_database
from google.protobuf.internal import builder as _builder
_runtime_version.ValidateProtobufRuntimeVersion(
    _runtime_version.Domain.PUBLIC,
    6,
    31,
    1,
    '',
    'soulfire/plugin_api.proto'
)
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from soulfire import api_docs_pb2 as soulfire_dot_api__docs__pb2
from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
from google.api import field_behavior_pb2 as google_dot_api_dot_field__behavior__pb2
from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2
from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2


DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x19soulfire/plugin_api.proto\x12\x0bsoulfire.v1\x1a\x17soulfire/api_docs.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/protobuf/any.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xed\x02\n\x1aPluginPermissionDescriptor\x12\x13\n\x02id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x02id\x12 \n\tplugin_id\x18\x02 \x01(\tB\x03\xe0\x41\x02R\x08pluginId\x12=\n\x05scope\x18\x03 \x01(\x0e\x32\".soulfire.v1.PluginPermissionScopeB\x03\xe0\x41\x02R\x05scope\x12:\n\x04risk\x18\x04 \x01(\x0e\x32!.soulfire.v1.PluginPermissionRiskB\x03\xe0\x41\x02R\x04risk\x12&\n\x0c\x64isplay_name\x18\x05 \x01(\tB\x03\xe0\x41\x02R\x0b\x64isplayName\x12%\n\x0b\x64\x65scription\x18\x06 \x01(\tB\x03\xe0\x41\x02R\x0b\x64\x65scription\x12N\n\rdefault_grant\x18\x07 \x01(\x0e\x32$.soulfire.v1.PluginPermissionDefaultB\x03\xe0\x41\x02R\x0c\x64\x65\x66\x61ultGrant\"\xe6\x03\n\x19PluginRpcMethodDescriptor\x12\x17\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x04name\x12 \n\tfull_name\x18\x02 \x01(\tB\x03\xe0\x41\x02R\x08\x66ullName\x12)\n\x0einput_type_url\x18\x03 \x01(\tB\x03\xe0\x41\x02R\x0cinputTypeUrl\x12+\n\x0foutput_type_url\x18\x04 \x01(\tB\x03\xe0\x41\x02R\routputTypeUrl\x12.\n\x10\x63lient_streaming\x18\x05 \x01(\x08\x42\x03\xe0\x41\x02R\x0f\x63lientStreaming\x12.\n\x10server_streaming\x18\x06 \x01(\x08\x42\x03\xe0\x41\x02R\x0fserverStreaming\x12%\n\x0bpermissions\x18\x07 \x03(\tB\x03\xe0\x41\x02R\x0bpermissions\x12!\n\x0c\x64isplay_name\x18\x08 \x01(\tR\x0b\x64isplayName\x12 \n\x0b\x64\x65scription\x18\t \x01(\tR\x0b\x64\x65scription\x12)\n\x0e\x65xposed_to_mcp\x18\n \x01(\x08\x42\x03\xe0\x41\x02R\x0c\x65xposedToMcp\x12?\n\x19mcp_requires_confirmation\x18\x0b \x01(\x08\x42\x03\xe0\x41\x02R\x17mcpRequiresConfirmation\"\x9e\x01\n\x1aPluginRpcServiceDescriptor\x12\x17\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x04name\x12 \n\tfull_name\x18\x02 \x01(\tB\x03\xe0\x41\x02R\x08\x66ullName\x12\x45\n\x07methods\x18\x03 \x03(\x0b\x32&.soulfire.v1.PluginRpcMethodDescriptorB\x03\xe0\x41\x02R\x07methods\"b\n\x19PluginEventTypeDescriptor\x12\x1e\n\x08type_url\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x07typeUrl\x12%\n\x0bpermissions\x18\x02 \x03(\tB\x03\xe0\x41\x02R\x0bpermissions\"\xe0\x01\n\x18PluginTaskTypeDescriptor\x12)\n\x0einput_type_url\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x0cinputTypeUrl\x12+\n\x0fresult_type_url\x18\x02 \x01(\tB\x03\xe0\x41\x02R\rresultTypeUrl\x12/\n\x11progress_type_url\x18\x03 \x01(\tH\x00R\x0fprogressTypeUrl\x88\x01\x01\x12%\n\x0bpermissions\x18\x04 \x03(\tB\x03\xe0\x41\x02R\x0bpermissionsB\x14\n\x12_progress_type_url\"\xdc\x01\n\x11PluginSdkPackages\x12\x32\n\x12typescript_package\x18\x01 \x01(\tH\x00R\x11typescriptPackage\x88\x01\x01\x12*\n\x0epython_package\x18\x02 \x01(\tH\x01R\rpythonPackage\x88\x01\x01\x12*\n\x0emaven_artifact\x18\x03 \x01(\tH\x02R\rmavenArtifact\x88\x01\x01\x42\x15\n\x13_typescript_packageB\x11\n\x0f_python_packageB\x11\n\x0f_maven_artifact\"\xa8\x08\n\x13PluginApiDescriptor\x12 \n\tplugin_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x08pluginId\x12*\n\x0eplugin_version\x18\x02 \x01(\tB\x03\xe0\x41\x02R\rpluginVersion\x12%\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x03\xe0\x41\x02R\x0b\x64\x65scription\x12\x1b\n\x06\x61uthor\x18\x04 \x01(\tB\x03\xe0\x41\x02R\x06\x61uthor\x12\x1d\n\x07license\x18\x05 \x01(\tB\x03\xe0\x41\x02R\x07license\x12-\n\x0bwebsite_url\x18\x06 \x01(\tB\x0c\xe0\x41\x02\xd2\xf3\x18\x05\n\x03uriR\nwebsiteUrl\x12?\n\x19required_soulfire_version\x18\x07 \x01(\tB\x03\xe0\x41\x02R\x17requiredSoulfireVersion\x12/\n\x11\x61pi_major_version\x18\x08 \x01(\rB\x03\xe0\x41\x02R\x0f\x61piMajorVersion\x12\x30\n\x11\x64\x65scriptor_sha256\x18\t \x01(\tB\x03\xe0\x41\x02R\x10\x64\x65scriptorSha256\x12H\n\x08services\x18\n \x03(\x0b\x32\'.soulfire.v1.PluginRpcServiceDescriptorB\x03\xe0\x41\x02R\x08services\x12N\n\x0bpermissions\x18\x0b \x03(\x0b\x32\'.soulfire.v1.PluginPermissionDescriptorB\x03\xe0\x41\x02R\x0bpermissions\x12&\n\x0f\x65vent_type_urls\x18\x0c \x03(\tR\reventTypeUrls\x12$\n\x0etask_type_urls\x18\r \x03(\tR\x0ctaskTypeUrls\x12\x42\n\tstability\x18\x0e \x01(\x0e\x32\x1f.soulfire.v1.PluginApiStabilityB\x03\xe0\x41\x02R\tstability\x12\x41\n\x0csdk_packages\x18\x0f \x01(\x0b\x32\x1e.soulfire.v1.PluginSdkPackagesR\x0bsdkPackages\x12;\n\x11\x64ocumentation_url\x18\x10 \x01(\tB\t\xd2\xf3\x18\x05\n\x03uriH\x00R\x10\x64ocumentationUrl\x88\x01\x01\x12-\n\nsource_url\x18\x11 \x01(\tB\t\xd2\xf3\x18\x05\n\x03uriH\x01R\tsourceUrl\x88\x01\x01\x12G\n\x0b\x65vent_types\x18\x12 \x03(\x0b\x32&.soulfire.v1.PluginEventTypeDescriptorR\neventTypes\x12\x44\n\ntask_types\x18\x13 \x03(\x0b\x32%.soulfire.v1.PluginTaskTypeDescriptorR\ttaskTypesB\x14\n\x12_documentation_urlB\r\n\x0b_source_url\"\x17\n\x15ListPluginApisRequest\"z\n\x16ListPluginApisResponse\x12?\n\x07plugins\x18\x01 \x03(\x0b\x32 .soulfire.v1.PluginApiDescriptorB\x03\xe0\x41\x02R\x07plugins\x12\x1f\n\x08revision\x18\x02 \x01(\x04\x42\x03\xe0\x41\x02R\x08revision\"7\n\x13GetPluginApiRequest\x12 \n\tplugin_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x08pluginId\"v\n\x14GetPluginApiResponse\x12=\n\x06plugin\x18\x01 \x01(\x0b\x32 .soulfire.v1.PluginApiDescriptorB\x03\xe0\x41\x02R\x06plugin\x12\x1f\n\x08revision\x18\x02 \x01(\x04\x42\x03\xe0\x41\x02R\x08revision\"\x83\x01\n\x1dGetPluginDescriptorSetRequest\x12 \n\tplugin_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x08pluginId\x12,\n\x0f\x65xpected_sha256\x18\x02 \x01(\tH\x00R\x0e\x65xpectedSha256\x88\x01\x01\x42\x12\n\x10_expected_sha256\"\xcc\x01\n\x1eGetPluginDescriptorSetResponse\x12 \n\tplugin_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x08pluginId\x12*\n\x0eplugin_version\x18\x02 \x01(\tB\x03\xe0\x41\x02R\rpluginVersion\x12\x30\n\x11\x64\x65scriptor_sha256\x18\x03 \x01(\tB\x03\xe0\x41\x02R\x10\x64\x65scriptorSha256\x12*\n\x0e\x64\x65scriptor_set\x18\x04 \x01(\x0c\x42\x03\xe0\x41\x02R\rdescriptorSet\"?\n\x16WatchPluginApisRequest\x12%\n\x0e\x61\x66ter_revision\x18\x01 \x01(\x04R\rafterRevision\"\xb8\x02\n\x0ePluginApiEvent\x12\x1f\n\x08revision\x18\x01 \x01(\x04\x42\x03\xe0\x41\x02R\x08revision\x12\x38\n\x04kind\x18\x02 \x01(\x0e\x32\x1f.soulfire.v1.PluginApiEventKindB\x03\xe0\x41\x02R\x04kind\x12=\n\x06plugin\x18\x03 \x01(\x0b\x32 .soulfire.v1.PluginApiDescriptorH\x00R\x06plugin\x88\x01\x01\x12:\n\x07plugins\x18\x04 \x03(\x0b\x32 .soulfire.v1.PluginApiDescriptorR\x07plugins\x12/\n\x11removed_plugin_id\x18\x05 \x01(\tH\x01R\x0fremovedPluginId\x88\x01\x01\x42\t\n\x07_pluginB\x14\n\x12_removed_plugin_id\"\xbd\x01\n\x10PluginEventScope\x12\x30\n\x0binstance_id\x18\x01 \x01(\tB\n\xd2\xf3\x18\x06\n\x04uuidH\x00R\ninstanceId\x88\x01\x01\x12&\n\x06\x62ot_id\x18\x02 \x01(\tB\n\xd2\xf3\x18\x06\n\x04uuidH\x01R\x05\x62otId\x88\x01\x01\x12(\n\x07task_id\x18\x03 \x01(\tB\n\xd2\xf3\x18\x06\n\x04uuidH\x02R\x06taskId\x88\x01\x01\x42\x0e\n\x0c_instance_idB\t\n\x07_bot_idB\n\n\x08_task_id\"\xa8\x02\n\x18WatchPluginEventsRequest\x12\x1d\n\nplugin_ids\x18\x01 \x03(\tR\tpluginIds\x12\x1b\n\ttype_urls\x18\x02 \x03(\tR\x08typeUrls\x12\x30\n\x0binstance_id\x18\x03 \x01(\tB\n\xd2\xf3\x18\x06\n\x04uuidH\x00R\ninstanceId\x88\x01\x01\x12&\n\x06\x62ot_id\x18\x04 \x01(\tB\n\xd2\xf3\x18\x06\n\x04uuidH\x01R\x05\x62otId\x88\x01\x01\x12(\n\x07task_id\x18\x05 \x01(\tB\n\xd2\xf3\x18\x06\n\x04uuidH\x02R\x06taskId\x88\x01\x01\x12%\n\x0e\x61\x66ter_sequence\x18\x06 \x01(\x04R\rafterSequenceB\x0e\n\x0c_instance_idB\t\n\x07_bot_idB\n\n\x08_task_id\"\xcd\x03\n\x0bPluginEvent\x12\x1f\n\x08sequence\x18\x01 \x01(\x04\x42\x03\xe0\x41\x02R\x08sequence\x12>\n\nemitted_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\temittedAt\x12\x35\n\x04kind\x18\x03 \x01(\x0e\x32\x1c.soulfire.v1.PluginEventKindB\x03\xe0\x41\x02R\x04kind\x12 \n\tplugin_id\x18\x04 \x01(\tH\x00R\x08pluginId\x88\x01\x01\x12\x1e\n\x08type_url\x18\x05 \x01(\tH\x01R\x07typeUrl\x88\x01\x01\x12\x38\n\x05scope\x18\x06 \x01(\x0b\x32\x1d.soulfire.v1.PluginEventScopeB\x03\xe0\x41\x02R\x05scope\x12\x33\n\x07payload\x18\x07 \x01(\x0b\x32\x14.google.protobuf.AnyH\x02R\x07payload\x88\x01\x01\x12*\n\x0e\x64ropped_before\x18\x08 \x01(\x04\x42\x03\xe0\x41\x02R\rdroppedBefore\x12\"\n\nresume_gap\x18\t \x01(\x08\x42\x03\xe0\x41\x02R\tresumeGapB\x0c\n\n_plugin_idB\x0b\n\t_type_urlB\n\n\x08_payload*\xcd\x01\n\x15PluginPermissionScope\x12\'\n#PLUGIN_PERMISSION_SCOPE_UNSPECIFIED\x10\x00\x12\"\n\x1ePLUGIN_PERMISSION_SCOPE_GLOBAL\x10\x01\x12$\n PLUGIN_PERMISSION_SCOPE_INSTANCE\x10\x02\x12\x1f\n\x1bPLUGIN_PERMISSION_SCOPE_BOT\x10\x03\x12 \n\x1cPLUGIN_PERMISSION_SCOPE_TASK\x10\x04*\xd0\x01\n\x14PluginPermissionRisk\x12&\n\"PLUGIN_PERMISSION_RISK_UNSPECIFIED\x10\x00\x12\x1f\n\x1bPLUGIN_PERMISSION_RISK_READ\x10\x01\x12\"\n\x1ePLUGIN_PERMISSION_RISK_CONTROL\x10\x02\x12#\n\x1fPLUGIN_PERMISSION_RISK_MUTATION\x10\x03\x12&\n\"PLUGIN_PERMISSION_RISK_DESTRUCTIVE\x10\x04*\xc9\x01\n\x17PluginPermissionDefault\x12)\n%PLUGIN_PERMISSION_DEFAULT_UNSPECIFIED\x10\x00\x12(\n$PLUGIN_PERMISSION_DEFAULT_ADMIN_ONLY\x10\x01\x12+\n\'PLUGIN_PERMISSION_DEFAULT_AUTHENTICATED\x10\x02\x12,\n(PLUGIN_PERMISSION_DEFAULT_INSTANCE_OWNER\x10\x03*\xc6\x01\n\x12PluginApiStability\x12$\n PLUGIN_API_STABILITY_UNSPECIFIED\x10\x00\x12%\n!PLUGIN_API_STABILITY_EXPERIMENTAL\x10\x01\x12\x1d\n\x19PLUGIN_API_STABILITY_BETA\x10\x02\x12\x1f\n\x1bPLUGIN_API_STABILITY_STABLE\x10\x03\x12#\n\x1fPLUGIN_API_STABILITY_DEPRECATED\x10\x04*\xc6\x01\n\x12PluginApiEventKind\x12%\n!PLUGIN_API_EVENT_KIND_UNSPECIFIED\x10\x00\x12\"\n\x1ePLUGIN_API_EVENT_KIND_SNAPSHOT\x10\x01\x12\x1f\n\x1bPLUGIN_API_EVENT_KIND_ADDED\x10\x02\x12!\n\x1dPLUGIN_API_EVENT_KIND_UPDATED\x10\x03\x12!\n\x1dPLUGIN_API_EVENT_KIND_REMOVED\x10\x04*m\n\x0fPluginEventKind\x12!\n\x1dPLUGIN_EVENT_KIND_UNSPECIFIED\x10\x00\x12\x1b\n\x17PLUGIN_EVENT_KIND_READY\x10\x01\x12\x1a\n\x16PLUGIN_EVENT_KIND_DATA\x10\x02\x32\x8a\x08\n\x10PluginApiService\x12\xa8\x01\n\x0eListPluginApis\x12\".soulfire.v1.ListPluginApisRequest\x1a#.soulfire.v1.ListPluginApisResponse\"M\xca\xf3\x18\x31\n\x10List plugin APIs\x1a\x10READ_CLIENT_DATA\"\x0b\x63lient.self\x82\xd3\xe4\x93\x02\x12\x12\x10/v1/plugins/apis\x12\xab\x01\n\x0cGetPluginApi\x12 .soulfire.v1.GetPluginApiRequest\x1a!.soulfire.v1.GetPluginApiResponse\"V\xca\xf3\x18/\n\x0eGet plugin API\x1a\x10READ_CLIENT_DATA\"\x0b\x63lient.self\x82\xd3\xe4\x93\x02\x1d\x12\x1b/v1/plugins/{plugin_id}/api\x12\xe4\x01\n\x16GetPluginDescriptorSet\x12*.soulfire.v1.GetPluginDescriptorSetRequest\x1a+.soulfire.v1.GetPluginDescriptorSetResponse\"q\xca\xf3\x18?\n\x1e\x44ownload plugin descriptor set\x1a\x10READ_CLIENT_DATA\"\x0b\x63lient.self\x82\xd3\xe4\x93\x02(\x12&/v1/plugins/{plugin_id}/descriptor-set\x12\xc6\x01\n\x0fWatchPluginApis\x12#.soulfire.v1.WatchPluginApisRequest\x1a\x1b.soulfire.v1.PluginApiEvent\"o\xca\xf3\x18M\n\x11Watch plugin APIs\x1a\x10READ_CLIENT_DATA\"\x0b\x63lient.self2\x19Long-lived server stream.\x82\xd3\xe4\x93\x02\x18\x12\x16/v1/plugins/apis:watch0\x01\x12\xec\x01\n\x11WatchPluginEvents\x12%.soulfire.v1.WatchPluginEventsRequest\x1a\x18.soulfire.v1.PluginEvent\"\x93\x01\xca\xf3\x18o\n\x13Watch plugin events\x1a\x10READ_CLIENT_DATA\"\x0b\x63lient.self29Long-lived server stream with dynamic plugin permissions.\x82\xd3\xe4\x93\x02\x1a\x12\x18/v1/plugins/events:watch0\x01\x42!\n\x1d\x63om.soulfiremc.grpc.generatedP\x01\x62\x06proto3')

_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'soulfire.plugin_api_pb2', _globals)
if not _descriptor._USE_C_DESCRIPTORS:
  _globals['DESCRIPTOR']._loaded_options = None
  _globals['DESCRIPTOR']._serialized_options = b'\n\035com.soulfiremc.grpc.generatedP\001'
  _globals['_PLUGINPERMISSIONDESCRIPTOR'].fields_by_name['id']._loaded_options = None
  _globals['_PLUGINPERMISSIONDESCRIPTOR'].fields_by_name['id']._serialized_options = b'\340A\002'
  _globals['_PLUGINPERMISSIONDESCRIPTOR'].fields_by_name['plugin_id']._loaded_options = None
  _globals['_PLUGINPERMISSIONDESCRIPTOR'].fields_by_name['plugin_id']._serialized_options = b'\340A\002'
  _globals['_PLUGINPERMISSIONDESCRIPTOR'].fields_by_name['scope']._loaded_options = None
  _globals['_PLUGINPERMISSIONDESCRIPTOR'].fields_by_name['scope']._serialized_options = b'\340A\002'
  _globals['_PLUGINPERMISSIONDESCRIPTOR'].fields_by_name['risk']._loaded_options = None
  _globals['_PLUGINPERMISSIONDESCRIPTOR'].fields_by_name['risk']._serialized_options = b'\340A\002'
  _globals['_PLUGINPERMISSIONDESCRIPTOR'].fields_by_name['display_name']._loaded_options = None
  _globals['_PLUGINPERMISSIONDESCRIPTOR'].fields_by_name['display_name']._serialized_options = b'\340A\002'
  _globals['_PLUGINPERMISSIONDESCRIPTOR'].fields_by_name['description']._loaded_options = None
  _globals['_PLUGINPERMISSIONDESCRIPTOR'].fields_by_name['description']._serialized_options = b'\340A\002'
  _globals['_PLUGINPERMISSIONDESCRIPTOR'].fields_by_name['default_grant']._loaded_options = None
  _globals['_PLUGINPERMISSIONDESCRIPTOR'].fields_by_name['default_grant']._serialized_options = b'\340A\002'
  _globals['_PLUGINRPCMETHODDESCRIPTOR'].fields_by_name['name']._loaded_options = None
  _globals['_PLUGINRPCMETHODDESCRIPTOR'].fields_by_name['name']._serialized_options = b'\340A\002'
  _globals['_PLUGINRPCMETHODDESCRIPTOR'].fields_by_name['full_name']._loaded_options = None
  _globals['_PLUGINRPCMETHODDESCRIPTOR'].fields_by_name['full_name']._serialized_options = b'\340A\002'
  _globals['_PLUGINRPCMETHODDESCRIPTOR'].fields_by_name['input_type_url']._loaded_options = None
  _globals['_PLUGINRPCMETHODDESCRIPTOR'].fields_by_name['input_type_url']._serialized_options = b'\340A\002'
  _globals['_PLUGINRPCMETHODDESCRIPTOR'].fields_by_name['output_type_url']._loaded_options = None
  _globals['_PLUGINRPCMETHODDESCRIPTOR'].fields_by_name['output_type_url']._serialized_options = b'\340A\002'
  _globals['_PLUGINRPCMETHODDESCRIPTOR'].fields_by_name['client_streaming']._loaded_options = None
  _globals['_PLUGINRPCMETHODDESCRIPTOR'].fields_by_name['client_streaming']._serialized_options = b'\340A\002'
  _globals['_PLUGINRPCMETHODDESCRIPTOR'].fields_by_name['server_streaming']._loaded_options = None
  _globals['_PLUGINRPCMETHODDESCRIPTOR'].fields_by_name['server_streaming']._serialized_options = b'\340A\002'
  _globals['_PLUGINRPCMETHODDESCRIPTOR'].fields_by_name['permissions']._loaded_options = None
  _globals['_PLUGINRPCMETHODDESCRIPTOR'].fields_by_name['permissions']._serialized_options = b'\340A\002'
  _globals['_PLUGINRPCMETHODDESCRIPTOR'].fields_by_name['exposed_to_mcp']._loaded_options = None
  _globals['_PLUGINRPCMETHODDESCRIPTOR'].fields_by_name['exposed_to_mcp']._serialized_options = b'\340A\002'
  _globals['_PLUGINRPCMETHODDESCRIPTOR'].fields_by_name['mcp_requires_confirmation']._loaded_options = None
  _globals['_PLUGINRPCMETHODDESCRIPTOR'].fields_by_name['mcp_requires_confirmation']._serialized_options = b'\340A\002'
  _globals['_PLUGINRPCSERVICEDESCRIPTOR'].fields_by_name['name']._loaded_options = None
  _globals['_PLUGINRPCSERVICEDESCRIPTOR'].fields_by_name['name']._serialized_options = b'\340A\002'
  _globals['_PLUGINRPCSERVICEDESCRIPTOR'].fields_by_name['full_name']._loaded_options = None
  _globals['_PLUGINRPCSERVICEDESCRIPTOR'].fields_by_name['full_name']._serialized_options = b'\340A\002'
  _globals['_PLUGINRPCSERVICEDESCRIPTOR'].fields_by_name['methods']._loaded_options = None
  _globals['_PLUGINRPCSERVICEDESCRIPTOR'].fields_by_name['methods']._serialized_options = b'\340A\002'
  _globals['_PLUGINEVENTTYPEDESCRIPTOR'].fields_by_name['type_url']._loaded_options = None
  _globals['_PLUGINEVENTTYPEDESCRIPTOR'].fields_by_name['type_url']._serialized_options = b'\340A\002'
  _globals['_PLUGINEVENTTYPEDESCRIPTOR'].fields_by_name['permissions']._loaded_options = None
  _globals['_PLUGINEVENTTYPEDESCRIPTOR'].fields_by_name['permissions']._serialized_options = b'\340A\002'
  _globals['_PLUGINTASKTYPEDESCRIPTOR'].fields_by_name['input_type_url']._loaded_options = None
  _globals['_PLUGINTASKTYPEDESCRIPTOR'].fields_by_name['input_type_url']._serialized_options = b'\340A\002'
  _globals['_PLUGINTASKTYPEDESCRIPTOR'].fields_by_name['result_type_url']._loaded_options = None
  _globals['_PLUGINTASKTYPEDESCRIPTOR'].fields_by_name['result_type_url']._serialized_options = b'\340A\002'
  _globals['_PLUGINTASKTYPEDESCRIPTOR'].fields_by_name['permissions']._loaded_options = None
  _globals['_PLUGINTASKTYPEDESCRIPTOR'].fields_by_name['permissions']._serialized_options = b'\340A\002'
  _globals['_PLUGINAPIDESCRIPTOR'].fields_by_name['plugin_id']._loaded_options = None
  _globals['_PLUGINAPIDESCRIPTOR'].fields_by_name['plugin_id']._serialized_options = b'\340A\002'
  _globals['_PLUGINAPIDESCRIPTOR'].fields_by_name['plugin_version']._loaded_options = None
  _globals['_PLUGINAPIDESCRIPTOR'].fields_by_name['plugin_version']._serialized_options = b'\340A\002'
  _globals['_PLUGINAPIDESCRIPTOR'].fields_by_name['description']._loaded_options = None
  _globals['_PLUGINAPIDESCRIPTOR'].fields_by_name['description']._serialized_options = b'\340A\002'
  _globals['_PLUGINAPIDESCRIPTOR'].fields_by_name['author']._loaded_options = None
  _globals['_PLUGINAPIDESCRIPTOR'].fields_by_name['author']._serialized_options = b'\340A\002'
  _globals['_PLUGINAPIDESCRIPTOR'].fields_by_name['license']._loaded_options = None
  _globals['_PLUGINAPIDESCRIPTOR'].fields_by_name['license']._serialized_options = b'\340A\002'
  _globals['_PLUGINAPIDESCRIPTOR'].fields_by_name['website_url']._loaded_options = None
  _globals['_PLUGINAPIDESCRIPTOR'].fields_by_name['website_url']._serialized_options = b'\340A\002\322\363\030\005\n\003uri'
  _globals['_PLUGINAPIDESCRIPTOR'].fields_by_name['required_soulfire_version']._loaded_options = None
  _globals['_PLUGINAPIDESCRIPTOR'].fields_by_name['required_soulfire_version']._serialized_options = b'\340A\002'
  _globals['_PLUGINAPIDESCRIPTOR'].fields_by_name['api_major_version']._loaded_options = None
  _globals['_PLUGINAPIDESCRIPTOR'].fields_by_name['api_major_version']._serialized_options = b'\340A\002'
  _globals['_PLUGINAPIDESCRIPTOR'].fields_by_name['descriptor_sha256']._loaded_options = None
  _globals['_PLUGINAPIDESCRIPTOR'].fields_by_name['descriptor_sha256']._serialized_options = b'\340A\002'
  _globals['_PLUGINAPIDESCRIPTOR'].fields_by_name['services']._loaded_options = None
  _globals['_PLUGINAPIDESCRIPTOR'].fields_by_name['services']._serialized_options = b'\340A\002'
  _globals['_PLUGINAPIDESCRIPTOR'].fields_by_name['permissions']._loaded_options = None
  _globals['_PLUGINAPIDESCRIPTOR'].fields_by_name['permissions']._serialized_options = b'\340A\002'
  _globals['_PLUGINAPIDESCRIPTOR'].fields_by_name['stability']._loaded_options = None
  _globals['_PLUGINAPIDESCRIPTOR'].fields_by_name['stability']._serialized_options = b'\340A\002'
  _globals['_PLUGINAPIDESCRIPTOR'].fields_by_name['documentation_url']._loaded_options = None
  _globals['_PLUGINAPIDESCRIPTOR'].fields_by_name['documentation_url']._serialized_options = b'\322\363\030\005\n\003uri'
  _globals['_PLUGINAPIDESCRIPTOR'].fields_by_name['source_url']._loaded_options = None
  _globals['_PLUGINAPIDESCRIPTOR'].fields_by_name['source_url']._serialized_options = b'\322\363\030\005\n\003uri'
  _globals['_LISTPLUGINAPISRESPONSE'].fields_by_name['plugins']._loaded_options = None
  _globals['_LISTPLUGINAPISRESPONSE'].fields_by_name['plugins']._serialized_options = b'\340A\002'
  _globals['_LISTPLUGINAPISRESPONSE'].fields_by_name['revision']._loaded_options = None
  _globals['_LISTPLUGINAPISRESPONSE'].fields_by_name['revision']._serialized_options = b'\340A\002'
  _globals['_GETPLUGINAPIREQUEST'].fields_by_name['plugin_id']._loaded_options = None
  _globals['_GETPLUGINAPIREQUEST'].fields_by_name['plugin_id']._serialized_options = b'\340A\002'
  _globals['_GETPLUGINAPIRESPONSE'].fields_by_name['plugin']._loaded_options = None
  _globals['_GETPLUGINAPIRESPONSE'].fields_by_name['plugin']._serialized_options = b'\340A\002'
  _globals['_GETPLUGINAPIRESPONSE'].fields_by_name['revision']._loaded_options = None
  _globals['_GETPLUGINAPIRESPONSE'].fields_by_name['revision']._serialized_options = b'\340A\002'
  _globals['_GETPLUGINDESCRIPTORSETREQUEST'].fields_by_name['plugin_id']._loaded_options = None
  _globals['_GETPLUGINDESCRIPTORSETREQUEST'].fields_by_name['plugin_id']._serialized_options = b'\340A\002'
  _globals['_GETPLUGINDESCRIPTORSETRESPONSE'].fields_by_name['plugin_id']._loaded_options = None
  _globals['_GETPLUGINDESCRIPTORSETRESPONSE'].fields_by_name['plugin_id']._serialized_options = b'\340A\002'
  _globals['_GETPLUGINDESCRIPTORSETRESPONSE'].fields_by_name['plugin_version']._loaded_options = None
  _globals['_GETPLUGINDESCRIPTORSETRESPONSE'].fields_by_name['plugin_version']._serialized_options = b'\340A\002'
  _globals['_GETPLUGINDESCRIPTORSETRESPONSE'].fields_by_name['descriptor_sha256']._loaded_options = None
  _globals['_GETPLUGINDESCRIPTORSETRESPONSE'].fields_by_name['descriptor_sha256']._serialized_options = b'\340A\002'
  _globals['_GETPLUGINDESCRIPTORSETRESPONSE'].fields_by_name['descriptor_set']._loaded_options = None
  _globals['_GETPLUGINDESCRIPTORSETRESPONSE'].fields_by_name['descriptor_set']._serialized_options = b'\340A\002'
  _globals['_PLUGINAPIEVENT'].fields_by_name['revision']._loaded_options = None
  _globals['_PLUGINAPIEVENT'].fields_by_name['revision']._serialized_options = b'\340A\002'
  _globals['_PLUGINAPIEVENT'].fields_by_name['kind']._loaded_options = None
  _globals['_PLUGINAPIEVENT'].fields_by_name['kind']._serialized_options = b'\340A\002'
  _globals['_PLUGINEVENTSCOPE'].fields_by_name['instance_id']._loaded_options = None
  _globals['_PLUGINEVENTSCOPE'].fields_by_name['instance_id']._serialized_options = b'\322\363\030\006\n\004uuid'
  _globals['_PLUGINEVENTSCOPE'].fields_by_name['bot_id']._loaded_options = None
  _globals['_PLUGINEVENTSCOPE'].fields_by_name['bot_id']._serialized_options = b'\322\363\030\006\n\004uuid'
  _globals['_PLUGINEVENTSCOPE'].fields_by_name['task_id']._loaded_options = None
  _globals['_PLUGINEVENTSCOPE'].fields_by_name['task_id']._serialized_options = b'\322\363\030\006\n\004uuid'
  _globals['_WATCHPLUGINEVENTSREQUEST'].fields_by_name['instance_id']._loaded_options = None
  _globals['_WATCHPLUGINEVENTSREQUEST'].fields_by_name['instance_id']._serialized_options = b'\322\363\030\006\n\004uuid'
  _globals['_WATCHPLUGINEVENTSREQUEST'].fields_by_name['bot_id']._loaded_options = None
  _globals['_WATCHPLUGINEVENTSREQUEST'].fields_by_name['bot_id']._serialized_options = b'\322\363\030\006\n\004uuid'
  _globals['_WATCHPLUGINEVENTSREQUEST'].fields_by_name['task_id']._loaded_options = None
  _globals['_WATCHPLUGINEVENTSREQUEST'].fields_by_name['task_id']._serialized_options = b'\322\363\030\006\n\004uuid'
  _globals['_PLUGINEVENT'].fields_by_name['sequence']._loaded_options = None
  _globals['_PLUGINEVENT'].fields_by_name['sequence']._serialized_options = b'\340A\002'
  _globals['_PLUGINEVENT'].fields_by_name['emitted_at']._loaded_options = None
  _globals['_PLUGINEVENT'].fields_by_name['emitted_at']._serialized_options = b'\340A\002'
  _globals['_PLUGINEVENT'].fields_by_name['kind']._loaded_options = None
  _globals['_PLUGINEVENT'].fields_by_name['kind']._serialized_options = b'\340A\002'
  _globals['_PLUGINEVENT'].fields_by_name['scope']._loaded_options = None
  _globals['_PLUGINEVENT'].fields_by_name['scope']._serialized_options = b'\340A\002'
  _globals['_PLUGINEVENT'].fields_by_name['dropped_before']._loaded_options = None
  _globals['_PLUGINEVENT'].fields_by_name['dropped_before']._serialized_options = b'\340A\002'
  _globals['_PLUGINEVENT'].fields_by_name['resume_gap']._loaded_options = None
  _globals['_PLUGINEVENT'].fields_by_name['resume_gap']._serialized_options = b'\340A\002'
  _globals['_PLUGINAPISERVICE'].methods_by_name['ListPluginApis']._loaded_options = None
  _globals['_PLUGINAPISERVICE'].methods_by_name['ListPluginApis']._serialized_options = b'\312\363\0301\n\020List plugin APIs\032\020READ_CLIENT_DATA\"\013client.self\202\323\344\223\002\022\022\020/v1/plugins/apis'
  _globals['_PLUGINAPISERVICE'].methods_by_name['GetPluginApi']._loaded_options = None
  _globals['_PLUGINAPISERVICE'].methods_by_name['GetPluginApi']._serialized_options = b'\312\363\030/\n\016Get plugin API\032\020READ_CLIENT_DATA\"\013client.self\202\323\344\223\002\035\022\033/v1/plugins/{plugin_id}/api'
  _globals['_PLUGINAPISERVICE'].methods_by_name['GetPluginDescriptorSet']._loaded_options = None
  _globals['_PLUGINAPISERVICE'].methods_by_name['GetPluginDescriptorSet']._serialized_options = b'\312\363\030?\n\036Download plugin descriptor set\032\020READ_CLIENT_DATA\"\013client.self\202\323\344\223\002(\022&/v1/plugins/{plugin_id}/descriptor-set'
  _globals['_PLUGINAPISERVICE'].methods_by_name['WatchPluginApis']._loaded_options = None
  _globals['_PLUGINAPISERVICE'].methods_by_name['WatchPluginApis']._serialized_options = b'\312\363\030M\n\021Watch plugin APIs\032\020READ_CLIENT_DATA\"\013client.self2\031Long-lived server stream.\202\323\344\223\002\030\022\026/v1/plugins/apis:watch'
  _globals['_PLUGINAPISERVICE'].methods_by_name['WatchPluginEvents']._loaded_options = None
  _globals['_PLUGINAPISERVICE'].methods_by_name['WatchPluginEvents']._serialized_options = b'\312\363\030o\n\023Watch plugin events\032\020READ_CLIENT_DATA\"\013client.self29Long-lived server stream with dynamic plugin permissions.\202\323\344\223\002\032\022\030/v1/plugins/events:watch'
  _globals['_PLUGINPERMISSIONSCOPE']._serialized_start=4828
  _globals['_PLUGINPERMISSIONSCOPE']._serialized_end=5033
  _globals['_PLUGINPERMISSIONRISK']._serialized_start=5036
  _globals['_PLUGINPERMISSIONRISK']._serialized_end=5244
  _globals['_PLUGINPERMISSIONDEFAULT']._serialized_start=5247
  _globals['_PLUGINPERMISSIONDEFAULT']._serialized_end=5448
  _globals['_PLUGINAPISTABILITY']._serialized_start=5451
  _globals['_PLUGINAPISTABILITY']._serialized_end=5649
  _globals['_PLUGINAPIEVENTKIND']._serialized_start=5652
  _globals['_PLUGINAPIEVENTKIND']._serialized_end=5850
  _globals['_PLUGINEVENTKIND']._serialized_start=5852
  _globals['_PLUGINEVENTKIND']._serialized_end=5961
  _globals['_PLUGINPERMISSIONDESCRIPTOR']._serialized_start=191
  _globals['_PLUGINPERMISSIONDESCRIPTOR']._serialized_end=556
  _globals['_PLUGINRPCMETHODDESCRIPTOR']._serialized_start=559
  _globals['_PLUGINRPCMETHODDESCRIPTOR']._serialized_end=1045
  _globals['_PLUGINRPCSERVICEDESCRIPTOR']._serialized_start=1048
  _globals['_PLUGINRPCSERVICEDESCRIPTOR']._serialized_end=1206
  _globals['_PLUGINEVENTTYPEDESCRIPTOR']._serialized_start=1208
  _globals['_PLUGINEVENTTYPEDESCRIPTOR']._serialized_end=1306
  _globals['_PLUGINTASKTYPEDESCRIPTOR']._serialized_start=1309
  _globals['_PLUGINTASKTYPEDESCRIPTOR']._serialized_end=1533
  _globals['_PLUGINSDKPACKAGES']._serialized_start=1536
  _globals['_PLUGINSDKPACKAGES']._serialized_end=1756
  _globals['_PLUGINAPIDESCRIPTOR']._serialized_start=1759
  _globals['_PLUGINAPIDESCRIPTOR']._serialized_end=2823
  _globals['_LISTPLUGINAPISREQUEST']._serialized_start=2825
  _globals['_LISTPLUGINAPISREQUEST']._serialized_end=2848
  _globals['_LISTPLUGINAPISRESPONSE']._serialized_start=2850
  _globals['_LISTPLUGINAPISRESPONSE']._serialized_end=2972
  _globals['_GETPLUGINAPIREQUEST']._serialized_start=2974
  _globals['_GETPLUGINAPIREQUEST']._serialized_end=3029
  _globals['_GETPLUGINAPIRESPONSE']._serialized_start=3031
  _globals['_GETPLUGINAPIRESPONSE']._serialized_end=3149
  _globals['_GETPLUGINDESCRIPTORSETREQUEST']._serialized_start=3152
  _globals['_GETPLUGINDESCRIPTORSETREQUEST']._serialized_end=3283
  _globals['_GETPLUGINDESCRIPTORSETRESPONSE']._serialized_start=3286
  _globals['_GETPLUGINDESCRIPTORSETRESPONSE']._serialized_end=3490
  _globals['_WATCHPLUGINAPISREQUEST']._serialized_start=3492
  _globals['_WATCHPLUGINAPISREQUEST']._serialized_end=3555
  _globals['_PLUGINAPIEVENT']._serialized_start=3558
  _globals['_PLUGINAPIEVENT']._serialized_end=3870
  _globals['_PLUGINEVENTSCOPE']._serialized_start=3873
  _globals['_PLUGINEVENTSCOPE']._serialized_end=4062
  _globals['_WATCHPLUGINEVENTSREQUEST']._serialized_start=4065
  _globals['_WATCHPLUGINEVENTSREQUEST']._serialized_end=4361
  _globals['_PLUGINEVENT']._serialized_start=4364
  _globals['_PLUGINEVENT']._serialized_end=4825
  _globals['_PLUGINAPISERVICE']._serialized_start=5964
  _globals['_PLUGINAPISERVICE']._serialized_end=6998
# @@protoc_insertion_point(module_scope)
