From 233bf16bd13e4111c752f6e237d985f564566477 Mon Sep 17 00:00:00 2001 From: Shawn Blakesley Date: Wed, 1 May 2019 00:19:14 -0700 Subject: [PATCH] Add proto messages used by the app --- anki_vector/messaging/alexa.proto | 37 + anki_vector/messaging/alexa_pb2.py | 259 +- .../messaging/external_interface.proto | 112 +- .../messaging/external_interface_pb2.py | 149 +- .../messaging/external_interface_pb2_grpc.py | 258 ++ anki_vector/messaging/messages.proto | 265 ++ anki_vector/messaging/messages_pb2.py | 3117 ++++++++++++++--- anki_vector/messaging/settings.proto | 129 + anki_vector/messaging/settings_pb2.py | 967 ++++- anki_vector/messaging/shared.proto | 7 + anki_vector/messaging/shared_pb2.py | 130 +- docs/source/proto.html | 1887 +++++++++- 12 files changed, 6676 insertions(+), 641 deletions(-) diff --git a/anki_vector/messaging/alexa.proto b/anki_vector/messaging/alexa.proto index d4397d7..b780c4e 100644 --- a/anki_vector/messaging/alexa.proto +++ b/anki_vector/messaging/alexa.proto @@ -18,4 +18,41 @@ syntax = "proto3"; package Anki.Vector.external_interface; +import "anki_vector/messaging/response_status.proto"; + +enum AlexaAuthState { + // Invalid/error/versioning issue + ALEXA_AUTH_INVALID = 0; + + // Not opted in, or opt-in attempted but failed + ALEXA_AUTH_UNINITIALIZED = 1; + // Opted in, and attempting to authorize + ALEXA_AUTH_REQUESTING_AUTH = 2; + // Opted in, and waiting on the user to enter a code + ALEXA_AUTH_WAITING_FOR_CODE = 3; + // Opted in, and authorized / in use + ALEXA_AUTH_AUTHORIZED = 4; +} + +message AlexaAuthStateRequest { +} + +message AlexaAuthStateResponse { + ResponseStatus status = 1; + AlexaAuthState auth_state = 2; + string extra = 3; +} + +message AlexaOptInRequest { + bool opt_in = 1; +} + +message AlexaOptInResponse{ + ResponseStatus status = 1; +} + +message AlexaAuthEvent { + AlexaAuthState auth_state = 1; + string extra = 2; +} diff --git a/anki_vector/messaging/alexa_pb2.py b/anki_vector/messaging/alexa_pb2.py index bcb059d..9b78c0e 100644 --- a/anki_vector/messaging/alexa_pb2.py +++ b/anki_vector/messaging/alexa_pb2.py @@ -3,6 +3,7 @@ import sys _b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) +from google.protobuf.internal import enum_type_wrapper from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection @@ -13,18 +14,274 @@ _sym_db = _symbol_database.Default() +from anki_vector.messaging import response_status_pb2 as anki__vector_dot_messaging_dot_response__status__pb2 DESCRIPTOR = _descriptor.FileDescriptor( name='anki_vector/messaging/alexa.proto', package='Anki.Vector.external_interface', syntax='proto3', - serialized_pb=_b('\n!anki_vector/messaging/alexa.proto\x12\x1e\x41nki.Vector.external_interfaceb\x06proto3') + serialized_pb=_b('\n!anki_vector/messaging/alexa.proto\x12\x1e\x41nki.Vector.external_interface\x1a+anki_vector/messaging/response_status.proto\"\x17\n\x15\x41lexaAuthStateRequest\"\xab\x01\n\x16\x41lexaAuthStateResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12\x42\n\nauth_state\x18\x02 \x01(\x0e\x32..Anki.Vector.external_interface.AlexaAuthState\x12\r\n\x05\x65xtra\x18\x03 \x01(\t\"#\n\x11\x41lexaOptInRequest\x12\x0e\n\x06opt_in\x18\x01 \x01(\x08\"T\n\x12\x41lexaOptInResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\"c\n\x0e\x41lexaAuthEvent\x12\x42\n\nauth_state\x18\x01 \x01(\x0e\x32..Anki.Vector.external_interface.AlexaAuthState\x12\r\n\x05\x65xtra\x18\x02 \x01(\t*\xa2\x01\n\x0e\x41lexaAuthState\x12\x16\n\x12\x41LEXA_AUTH_INVALID\x10\x00\x12\x1c\n\x18\x41LEXA_AUTH_UNINITIALIZED\x10\x01\x12\x1e\n\x1a\x41LEXA_AUTH_REQUESTING_AUTH\x10\x02\x12\x1f\n\x1b\x41LEXA_AUTH_WAITING_FOR_CODE\x10\x03\x12\x19\n\x15\x41LEXA_AUTH_AUTHORIZED\x10\x04\x62\x06proto3') + , + dependencies=[anki__vector_dot_messaging_dot_response__status__pb2.DESCRIPTOR,]) + +_ALEXAAUTHSTATE = _descriptor.EnumDescriptor( + name='AlexaAuthState', + full_name='Anki.Vector.external_interface.AlexaAuthState', + filename=None, + file=DESCRIPTOR, + values=[ + _descriptor.EnumValueDescriptor( + name='ALEXA_AUTH_INVALID', index=0, number=0, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='ALEXA_AUTH_UNINITIALIZED', index=1, number=1, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='ALEXA_AUTH_REQUESTING_AUTH', index=2, number=2, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='ALEXA_AUTH_WAITING_FOR_CODE', index=3, number=3, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='ALEXA_AUTH_AUTHORIZED', index=4, number=4, + options=None, + type=None), + ], + containing_type=None, + options=None, + serialized_start=538, + serialized_end=700, +) +_sym_db.RegisterEnumDescriptor(_ALEXAAUTHSTATE) + +AlexaAuthState = enum_type_wrapper.EnumTypeWrapper(_ALEXAAUTHSTATE) +ALEXA_AUTH_INVALID = 0 +ALEXA_AUTH_UNINITIALIZED = 1 +ALEXA_AUTH_REQUESTING_AUTH = 2 +ALEXA_AUTH_WAITING_FOR_CODE = 3 +ALEXA_AUTH_AUTHORIZED = 4 + + + +_ALEXAAUTHSTATEREQUEST = _descriptor.Descriptor( + name='AlexaAuthStateRequest', + full_name='Anki.Vector.external_interface.AlexaAuthStateRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=114, + serialized_end=137, +) + + +_ALEXAAUTHSTATERESPONSE = _descriptor.Descriptor( + name='AlexaAuthStateResponse', + full_name='Anki.Vector.external_interface.AlexaAuthStateResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='status', full_name='Anki.Vector.external_interface.AlexaAuthStateResponse.status', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='auth_state', full_name='Anki.Vector.external_interface.AlexaAuthStateResponse.auth_state', index=1, + number=2, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='extra', full_name='Anki.Vector.external_interface.AlexaAuthStateResponse.extra', index=2, + number=3, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=140, + serialized_end=311, +) + + +_ALEXAOPTINREQUEST = _descriptor.Descriptor( + name='AlexaOptInRequest', + full_name='Anki.Vector.external_interface.AlexaOptInRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='opt_in', full_name='Anki.Vector.external_interface.AlexaOptInRequest.opt_in', index=0, + number=1, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=313, + serialized_end=348, ) +_ALEXAOPTINRESPONSE = _descriptor.Descriptor( + name='AlexaOptInResponse', + full_name='Anki.Vector.external_interface.AlexaOptInResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='status', full_name='Anki.Vector.external_interface.AlexaOptInResponse.status', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=350, + serialized_end=434, +) + +_ALEXAAUTHEVENT = _descriptor.Descriptor( + name='AlexaAuthEvent', + full_name='Anki.Vector.external_interface.AlexaAuthEvent', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='auth_state', full_name='Anki.Vector.external_interface.AlexaAuthEvent.auth_state', index=0, + number=1, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='extra', full_name='Anki.Vector.external_interface.AlexaAuthEvent.extra', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=436, + serialized_end=535, +) + +_ALEXAAUTHSTATERESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS +_ALEXAAUTHSTATERESPONSE.fields_by_name['auth_state'].enum_type = _ALEXAAUTHSTATE +_ALEXAOPTINRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS +_ALEXAAUTHEVENT.fields_by_name['auth_state'].enum_type = _ALEXAAUTHSTATE +DESCRIPTOR.message_types_by_name['AlexaAuthStateRequest'] = _ALEXAAUTHSTATEREQUEST +DESCRIPTOR.message_types_by_name['AlexaAuthStateResponse'] = _ALEXAAUTHSTATERESPONSE +DESCRIPTOR.message_types_by_name['AlexaOptInRequest'] = _ALEXAOPTINREQUEST +DESCRIPTOR.message_types_by_name['AlexaOptInResponse'] = _ALEXAOPTINRESPONSE +DESCRIPTOR.message_types_by_name['AlexaAuthEvent'] = _ALEXAAUTHEVENT +DESCRIPTOR.enum_types_by_name['AlexaAuthState'] = _ALEXAAUTHSTATE _sym_db.RegisterFileDescriptor(DESCRIPTOR) +AlexaAuthStateRequest = _reflection.GeneratedProtocolMessageType('AlexaAuthStateRequest', (_message.Message,), dict( + DESCRIPTOR = _ALEXAAUTHSTATEREQUEST, + __module__ = 'anki_vector.messaging.alexa_pb2' + # @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.AlexaAuthStateRequest) + )) +_sym_db.RegisterMessage(AlexaAuthStateRequest) + +AlexaAuthStateResponse = _reflection.GeneratedProtocolMessageType('AlexaAuthStateResponse', (_message.Message,), dict( + DESCRIPTOR = _ALEXAAUTHSTATERESPONSE, + __module__ = 'anki_vector.messaging.alexa_pb2' + # @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.AlexaAuthStateResponse) + )) +_sym_db.RegisterMessage(AlexaAuthStateResponse) + +AlexaOptInRequest = _reflection.GeneratedProtocolMessageType('AlexaOptInRequest', (_message.Message,), dict( + DESCRIPTOR = _ALEXAOPTINREQUEST, + __module__ = 'anki_vector.messaging.alexa_pb2' + # @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.AlexaOptInRequest) + )) +_sym_db.RegisterMessage(AlexaOptInRequest) + +AlexaOptInResponse = _reflection.GeneratedProtocolMessageType('AlexaOptInResponse', (_message.Message,), dict( + DESCRIPTOR = _ALEXAOPTINRESPONSE, + __module__ = 'anki_vector.messaging.alexa_pb2' + # @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.AlexaOptInResponse) + )) +_sym_db.RegisterMessage(AlexaOptInResponse) + +AlexaAuthEvent = _reflection.GeneratedProtocolMessageType('AlexaAuthEvent', (_message.Message,), dict( + DESCRIPTOR = _ALEXAAUTHEVENT, + __module__ = 'anki_vector.messaging.alexa_pb2' + # @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.AlexaAuthEvent) + )) +_sym_db.RegisterMessage(AlexaAuthEvent) + # @@protoc_insertion_point(module_scope) diff --git a/anki_vector/messaging/external_interface.proto b/anki_vector/messaging/external_interface.proto index aeaedb3..cbcd043 100644 --- a/anki_vector/messaging/external_interface.proto +++ b/anki_vector/messaging/external_interface.proto @@ -19,10 +19,12 @@ syntax = "proto3"; package Anki.Vector.external_interface; import "google/api/annotations.proto"; +import "anki_vector/messaging/alexa.proto"; import "anki_vector/messaging/behavior.proto"; import "anki_vector/messaging/cube.proto"; import "anki_vector/messaging/messages.proto"; import "anki_vector/messaging/nav_map.proto"; +import "anki_vector/messaging/settings.proto"; import "anki_vector/messaging/shared.proto"; //

The valid versions of the protocol.

@@ -496,4 +498,112 @@ service ExternalInterface { }; } -} \ No newline at end of file + + rpc AppIntent(AppIntentRequest) returns (AppIntentResponse) { + option (google.api.http) = { + post: "/v1/app_intent", + body: "*" + }; + } + + rpc GetOnboardingState(OnboardingStateRequest) returns (OnboardingStateResponse) { + option (google.api.http) = { + post: "/v1/get_onboarding_state", + body: "*" + }; + } + + rpc SendOnboardingInput(OnboardingInputRequest) returns (OnboardingInputResponse) { + option (google.api.http) = { + post: "/v1/send_onboarding_input", + body: "*" + }; + } + + rpc GetLatestAttentionTransfer(LatestAttentionTransferRequest) returns (LatestAttentionTransferResponse) { + option (google.api.http) = { + post: "/v1/get_latest_attention_transfer", + body: "*" + }; + } + + rpc PullJdocs(PullJdocsRequest) returns (PullJdocsResponse) { + option (google.api.http) = { + post: "/v1/pull_jdocs", + body: "*" + }; + } + + rpc UpdateSettings(UpdateSettingsRequest) returns (UpdateSettingsResponse) { + option (google.api.http) = { + post: "/v1/update_settings", + body: "*" + }; + } + + rpc UpdateAccountSettings(UpdateAccountSettingsRequest) returns (UpdateAccountSettingsResponse) { + option (google.api.http) = { + post: "/v1/update_account_settings", + body: "*" + }; + } + + // StartUpdateEngine cycles the update-engine service (to start a new check for an update) and sets up a stream of + // UpdateStatusResponse Events. + rpc StartUpdateEngine(CheckUpdateStatusRequest) returns (CheckUpdateStatusResponse) { + option (google.api.http) = { + post: "/v1/start_update_engine", + body: "*" + }; + } + + // CheckUpdateStatus tells if the robot is ready to reboot and update. + rpc CheckUpdateStatus(CheckUpdateStatusRequest) returns (CheckUpdateStatusResponse) { + option (google.api.http) = { + post: "/v1/check_update_status", + body: "*" + }; + } + + rpc UpdateAndRestart(UpdateAndRestartRequest) returns (UpdateAndRestartResponse) { + option (google.api.http) = { + post: "/v1/update_and_restart", + body: "*" + }; + } + + rpc CheckCloudConnection(CheckCloudRequest) returns (CheckCloudResponse) { + option (google.api.http) = { + post: "/v1/check_cloud_connection", + body: "*" + }; + } + + rpc GetFeatureFlag(FeatureFlagRequest) returns (FeatureFlagResponse) { + option (google.api.http) = { + post: "/v1/feature_flag", + body: "*" + }; + } + + rpc GetFeatureFlagList(FeatureFlagListRequest) returns (FeatureFlagListResponse) { + option (google.api.http) = { + post: "/v1/feature_flag_list", + body: "*" + }; + } + + rpc GetAlexaAuthState(AlexaAuthStateRequest) returns (AlexaAuthStateResponse) { + option (google.api.http) = { + post: "/v1/alexa_auth_state", + body: "*" + }; + } + + rpc AlexaOptIn(AlexaOptInRequest) returns (AlexaOptInResponse) { + option (google.api.http) = { + post: "/v1/alexa_opt_in", + body: "*" + }; + } +} diff --git a/anki_vector/messaging/external_interface_pb2.py b/anki_vector/messaging/external_interface_pb2.py index 1a9e771..465345e 100644 --- a/anki_vector/messaging/external_interface_pb2.py +++ b/anki_vector/messaging/external_interface_pb2.py @@ -15,10 +15,12 @@ from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 +from anki_vector.messaging import alexa_pb2 as anki__vector_dot_messaging_dot_alexa__pb2 from anki_vector.messaging import behavior_pb2 as anki__vector_dot_messaging_dot_behavior__pb2 from anki_vector.messaging import cube_pb2 as anki__vector_dot_messaging_dot_cube__pb2 from anki_vector.messaging import messages_pb2 as anki__vector_dot_messaging_dot_messages__pb2 from anki_vector.messaging import nav_map_pb2 as anki__vector_dot_messaging_dot_nav__map__pb2 +from anki_vector.messaging import settings_pb2 as anki__vector_dot_messaging_dot_settings__pb2 from anki_vector.messaging import shared_pb2 as anki__vector_dot_messaging_dot_shared__pb2 @@ -26,9 +28,9 @@ name='anki_vector/messaging/external_interface.proto', package='Anki.Vector.external_interface', syntax='proto3', - serialized_pb=_b('\n.anki_vector/messaging/external_interface.proto\x12\x1e\x41nki.Vector.external_interface\x1a\x1cgoogle/api/annotations.proto\x1a$anki_vector/messaging/behavior.proto\x1a anki_vector/messaging/cube.proto\x1a$anki_vector/messaging/messages.proto\x1a#anki_vector/messaging/nav_map.proto\x1a\"anki_vector/messaging/shared.proto*o\n\x0fProtocolVersion\x12\x1c\n\x18PROTOCOL_VERSION_UNKNOWN\x10\x00\x12\x1c\n\x18PROTOCOL_VERSION_MINIMUM\x10\x00\x12\x1c\n\x18PROTOCOL_VERSION_CURRENT\x10\x05\x1a\x02\x10\x01\x32\xddT\n\x11\x45xternalInterface\x12\xa3\x01\n\x0fProtocolVersion\x12\x36.Anki.Vector.external_interface.ProtocolVersionRequest\x1a\x37.Anki.Vector.external_interface.ProtocolVersionResponse\"\x1f\x82\xd3\xe4\x93\x02\x19\"\x14/v1/protocol_version:\x01*\x12\xab\x01\n\x11SDKInitialization\x12\x38.Anki.Vector.external_interface.SDKInitializationRequest\x1a\x39.Anki.Vector.external_interface.SDKInitializationResponse\"!\x82\xd3\xe4\x93\x02\x1b\"\x16/v1/sdk_initialization:\x01*\x12x\n\x0b\x44riveWheels\x12\x32.Anki.Vector.external_interface.DriveWheelsRequest\x1a\x33.Anki.Vector.external_interface.DriveWheelsResponse\"\x00\x12\x8c\x01\n\x14PlayAnimationTrigger\x12;.Anki.Vector.external_interface.PlayAnimationTriggerRequest\x1a\x35.Anki.Vector.external_interface.PlayAnimationResponse\"\x00\x12~\n\rPlayAnimation\x12\x34.Anki.Vector.external_interface.PlayAnimationRequest\x1a\x35.Anki.Vector.external_interface.PlayAnimationResponse\"\x00\x12\x9f\x01\n\x0eListAnimations\x12\x35.Anki.Vector.external_interface.ListAnimationsRequest\x1a\x36.Anki.Vector.external_interface.ListAnimationsResponse\"\x1e\x82\xd3\xe4\x93\x02\x18\"\x13/v1/list_animations:\x01*\x12\xbc\x01\n\x15ListAnimationTriggers\x12<.Anki.Vector.external_interface.ListAnimationTriggersRequest\x1a=.Anki.Vector.external_interface.ListAnimationTriggersResponse\"&\x82\xd3\xe4\x93\x02 \"\x1b/v1/list_animation_triggers:\x01*\x12o\n\x08MoveHead\x12/.Anki.Vector.external_interface.MoveHeadRequest\x1a\x30.Anki.Vector.external_interface.MoveHeadResponse\"\x00\x12o\n\x08MoveLift\x12/.Anki.Vector.external_interface.MoveLiftRequest\x1a\x30.Anki.Vector.external_interface.MoveLiftResponse\"\x00\x12~\n\rStopAllMotors\x12\x34.Anki.Vector.external_interface.StopAllMotorsRequest\x1a\x35.Anki.Vector.external_interface.StopAllMotorsResponse\"\x00\x12\xb5\x01\n\x13\x44isplayFaceImageRGB\x12:.Anki.Vector.external_interface.DisplayFaceImageRGBRequest\x1a;.Anki.Vector.external_interface.DisplayFaceImageRGBResponse\"%\x82\xd3\xe4\x93\x02\x1f\"\x1a/v1/display_face_image_rgb:\x01*\x12\x9d\x01\n\x0b\x45ventStream\x12,.Anki.Vector.external_interface.EventRequest\x1a-.Anki.Vector.external_interface.EventResponse\"/\x82\xd3\xe4\x93\x02)\"\x10/v1/event_stream:\x01*Z\x12\x12\x10/v1/event_stream0\x01\x12\x9c\x01\n\x1b\x45xternalAudioStreamPlayback\x12:.Anki.Vector.external_interface.ExternalAudioStreamRequest\x1a;.Anki.Vector.external_interface.ExternalAudioStreamResponse\"\x00(\x01\x30\x01\x12\x88\x01\n\x0f\x42\x65haviorControl\x12\x36.Anki.Vector.external_interface.BehaviorControlRequest\x1a\x37.Anki.Vector.external_interface.BehaviorControlResponse\"\x00(\x01\x30\x01\x12\xb2\x01\n\x15\x41ssumeBehaviorControl\x12\x36.Anki.Vector.external_interface.BehaviorControlRequest\x1a\x37.Anki.Vector.external_interface.BehaviorControlResponse\"&\x82\xd3\xe4\x93\x02 \"\x1b/v1/assume_behavior_control:\x01*0\x01\x12\xb8\x01\n\x14\x43\x61ncelFaceEnrollment\x12;.Anki.Vector.external_interface.CancelFaceEnrollmentRequest\x1a<.Anki.Vector.external_interface.CancelFaceEnrollmentResponse\"%\x82\xd3\xe4\x93\x02\x1f\"\x1a/v1/cancel_face_enrollment:\x01*\x12\xb8\x01\n\x14RequestEnrolledNames\x12;.Anki.Vector.external_interface.RequestEnrolledNamesRequest\x1a<.Anki.Vector.external_interface.RequestEnrolledNamesResponse\"%\x82\xd3\xe4\x93\x02\x1f\"\x1a/v1/request_enrolled_names:\x01*\x12\xc2\x01\n\x16UpdateEnrolledFaceByID\x12=.Anki.Vector.external_interface.UpdateEnrolledFaceByIDRequest\x1a>.Anki.Vector.external_interface.UpdateEnrolledFaceByIDResponse\")\x82\xd3\xe4\x93\x02#\"\x1e/v1/update_enrolled_face_by_id:\x01*\x12\xbe\x01\n\x15\x45raseEnrolledFaceByID\x12<.Anki.Vector.external_interface.EraseEnrolledFaceByIDRequest\x1a=.Anki.Vector.external_interface.EraseEnrolledFaceByIDResponse\"(\x82\xd3\xe4\x93\x02\"\"\x1d/v1/erase_enrolled_face_by_id:\x01*\x12\xbd\x01\n\x15\x45raseAllEnrolledFaces\x12<.Anki.Vector.external_interface.EraseAllEnrolledFacesRequest\x1a=.Anki.Vector.external_interface.EraseAllEnrolledFacesResponse\"\'\x82\xd3\xe4\x93\x02!\"\x1c/v1/erase_all_enrolled_faces:\x01*\x12\xa5\x01\n\x0fSetFaceToEnroll\x12\x36.Anki.Vector.external_interface.SetFaceToEnrollRequest\x1a\x37.Anki.Vector.external_interface.SetFaceToEnrollResponse\"!\x82\xd3\xe4\x93\x02\x1b\"\x16/v1/set_face_to_enroll:\x01*\x12\xbc\x01\n\x15\x45nableMarkerDetection\x12<.Anki.Vector.external_interface.EnableMarkerDetectionRequest\x1a=.Anki.Vector.external_interface.EnableMarkerDetectionResponse\"&\x82\xd3\xe4\x93\x02 \"\x1b/v1/enable_marker_detection:\x01*\x12\xb4\x01\n\x13\x45nableFaceDetection\x12:.Anki.Vector.external_interface.EnableFaceDetectionRequest\x1a;.Anki.Vector.external_interface.EnableFaceDetectionResponse\"$\x82\xd3\xe4\x93\x02\x1e\"\x19/v1/enable_face_detection:\x01*\x12\xbc\x01\n\x15\x45nableMotionDetection\x12<.Anki.Vector.external_interface.EnableMotionDetectionRequest\x1a=.Anki.Vector.external_interface.EnableMotionDetectionResponse\"&\x82\xd3\xe4\x93\x02 \"\x1b/v1/enable_motion_detection:\x01*\x12\xa8\x01\n\x10\x45nableMirrorMode\x12\x37.Anki.Vector.external_interface.EnableMirrorModeRequest\x1a\x38.Anki.Vector.external_interface.EnableMirrorModeResponse\"!\x82\xd3\xe4\x93\x02\x1b\"\x16/v1/enable_mirror_mode:\x01*\x12\xb8\x01\n\x14\x45nableImageStreaming\x12;.Anki.Vector.external_interface.EnableImageStreamingRequest\x1a<.Anki.Vector.external_interface.EnableImageStreamingResponse\"%\x82\xd3\xe4\x93\x02\x1f\"\x1a/v1/enable_image_streaming:\x01*\x12\xc5\x01\n\x17IsImageStreamingEnabled\x12>.Anki.Vector.external_interface.IsImageStreamingEnabledRequest\x1a?.Anki.Vector.external_interface.IsImageStreamingEnabledResponse\")\x82\xd3\xe4\x93\x02#\"\x1e/v1/is_image_streaming_enabled:\x01*\x12\xb6\x01\n\x13\x43\x61ncelActionByIdTag\x12:.Anki.Vector.external_interface.CancelActionByIdTagRequest\x1a;.Anki.Vector.external_interface.CancelActionByIdTagResponse\"&\x82\xd3\xe4\x93\x02 \"\x1b/v1/cancel_action_by_id_tag:\x01*\x12\x88\x01\n\x08GoToPose\x12/.Anki.Vector.external_interface.GoToPoseRequest\x1a\x30.Anki.Vector.external_interface.GoToPoseResponse\"\x19\x82\xd3\xe4\x93\x02\x13\"\x0e/v1/go_to_pose:\x01*\x12\x98\x01\n\x0c\x44ockWithCube\x12\x33.Anki.Vector.external_interface.DockWithCubeRequest\x1a\x34.Anki.Vector.external_interface.DockWithCubeResponse\"\x1d\x82\xd3\xe4\x93\x02\x17\"\x12/v1/dock_with_cube:\x01*\x12\xa4\x01\n\x0f\x44riveOffCharger\x12\x36.Anki.Vector.external_interface.DriveOffChargerRequest\x1a\x37.Anki.Vector.external_interface.DriveOffChargerResponse\" \x82\xd3\xe4\x93\x02\x1a\"\x15/v1/drive_off_charger:\x01*\x12\xa0\x01\n\x0e\x44riveOnCharger\x12\x35.Anki.Vector.external_interface.DriveOnChargerRequest\x1a\x36.Anki.Vector.external_interface.DriveOnChargerResponse\"\x1f\x82\xd3\xe4\x93\x02\x19\"\x14/v1/drive_on_charger:\x01*\x12\x8b\x01\n\tFindFaces\x12\x30.Anki.Vector.external_interface.FindFacesRequest\x1a\x31.Anki.Vector.external_interface.FindFacesResponse\"\x19\x82\xd3\xe4\x93\x02\x13\"\x0e/v1/find_faces:\x01*\x12\xad\x01\n\x11LookAroundInPlace\x12\x38.Anki.Vector.external_interface.LookAroundInPlaceRequest\x1a\x39.Anki.Vector.external_interface.LookAroundInPlaceResponse\"#\x82\xd3\xe4\x93\x02\x1d\"\x18/v1/look_around_in_place:\x01*\x12\x8b\x01\n\tRollBlock\x12\x30.Anki.Vector.external_interface.RollBlockRequest\x1a\x31.Anki.Vector.external_interface.RollBlockResponse\"\x19\x82\xd3\xe4\x93\x02\x13\"\x0e/v1/roll_block:\x01*\x12\x8f\x01\n\nPhotosInfo\x12\x31.Anki.Vector.external_interface.PhotosInfoRequest\x1a\x32.Anki.Vector.external_interface.PhotosInfoResponse\"\x1a\x82\xd3\xe4\x93\x02\x14\"\x0f/v1/photos_info:\x01*\x12z\n\x05Photo\x12,.Anki.Vector.external_interface.PhotoRequest\x1a-.Anki.Vector.external_interface.PhotoResponse\"\x14\x82\xd3\xe4\x93\x02\x0e\"\t/v1/photo:\x01*\x12\x8a\x01\n\tThumbnail\x12\x30.Anki.Vector.external_interface.ThumbnailRequest\x1a\x31.Anki.Vector.external_interface.ThumbnailResponse\"\x18\x82\xd3\xe4\x93\x02\x12\"\r/v1/thumbnail:\x01*\x12\x93\x01\n\x0b\x44\x65letePhoto\x12\x32.Anki.Vector.external_interface.DeletePhotoRequest\x1a\x33.Anki.Vector.external_interface.DeletePhotoResponse\"\x1b\x82\xd3\xe4\x93\x02\x15\"\x10/v1/delete_photo:\x01*\x12~\n\rDriveStraight\x12\x34.Anki.Vector.external_interface.DriveStraightRequest\x1a\x35.Anki.Vector.external_interface.DriveStraightResponse\"\x00\x12x\n\x0bTurnInPlace\x12\x32.Anki.Vector.external_interface.TurnInPlaceRequest\x1a\x33.Anki.Vector.external_interface.TurnInPlaceResponse\"\x00\x12{\n\x0cSetHeadAngle\x12\x33.Anki.Vector.external_interface.SetHeadAngleRequest\x1a\x34.Anki.Vector.external_interface.SetHeadAngleResponse\"\x00\x12~\n\rSetLiftHeight\x12\x34.Anki.Vector.external_interface.SetLiftHeightRequest\x1a\x35.Anki.Vector.external_interface.SetLiftHeightResponse\"\x00\x12\x84\x01\n\x0fTurnTowardsFace\x12\x36.Anki.Vector.external_interface.TurnTowardsFaceRequest\x1a\x37.Anki.Vector.external_interface.TurnTowardsFaceResponse\"\x00\x12u\n\nGoToObject\x12\x31.Anki.Vector.external_interface.GoToObjectRequest\x1a\x32.Anki.Vector.external_interface.GoToObjectResponse\"\x00\x12u\n\nRollObject\x12\x31.Anki.Vector.external_interface.RollObjectRequest\x1a\x32.Anki.Vector.external_interface.RollObjectResponse\"\x00\x12x\n\x0bPopAWheelie\x12\x32.Anki.Vector.external_interface.PopAWheelieRequest\x1a\x33.Anki.Vector.external_interface.PopAWheelieResponse\"\x00\x12{\n\x0cPickupObject\x12\x33.Anki.Vector.external_interface.PickupObjectRequest\x1a\x34.Anki.Vector.external_interface.PickupObjectResponse\"\x00\x12\x9c\x01\n\x17PlaceObjectOnGroundHere\x12>.Anki.Vector.external_interface.PlaceObjectOnGroundHereRequest\x1a?.Anki.Vector.external_interface.PlaceObjectOnGroundHereResponse\"\x00\x12~\n\x0fSetMasterVolume\x12\x33.Anki.Vector.external_interface.MasterVolumeRequest\x1a\x34.Anki.Vector.external_interface.MasterVolumeResponse\"\x00\x12\xaf\x01\n\x12UserAuthentication\x12\x39.Anki.Vector.external_interface.UserAuthenticationRequest\x1a:.Anki.Vector.external_interface.UserAuthenticationResponse\"\"\x82\xd3\xe4\x93\x02\x1c\"\x17/v1/user_authentication:\x01*\x12\x97\x01\n\x0c\x42\x61tteryState\x12\x33.Anki.Vector.external_interface.BatteryStateRequest\x1a\x34.Anki.Vector.external_interface.BatteryStateResponse\"\x1c\x82\xd3\xe4\x93\x02\x16\"\x11/v1/battery_state:\x01*\x12\x97\x01\n\x0cVersionState\x12\x33.Anki.Vector.external_interface.VersionStateRequest\x1a\x34.Anki.Vector.external_interface.VersionStateResponse\"\x1c\x82\xd3\xe4\x93\x02\x16\"\x11/v1/version_state:\x01*\x12\x83\x01\n\x07SayText\x12..Anki.Vector.external_interface.SayTextRequest\x1a/.Anki.Vector.external_interface.SayTextResponse\"\x17\x82\xd3\xe4\x93\x02\x11\"\x0c/v1/say_text:\x01*\x12\x93\x01\n\x0b\x43onnectCube\x12\x32.Anki.Vector.external_interface.ConnectCubeRequest\x1a\x33.Anki.Vector.external_interface.ConnectCubeResponse\"\x1b\x82\xd3\xe4\x93\x02\x15\"\x10/v1/connect_cube:\x01*\x12\x9f\x01\n\x0e\x44isconnectCube\x12\x35.Anki.Vector.external_interface.DisconnectCubeRequest\x1a\x36.Anki.Vector.external_interface.DisconnectCubeResponse\"\x1e\x82\xd3\xe4\x93\x02\x18\"\x13/v1/disconnect_cube:\x01*\x12\x9f\x01\n\x0e\x43ubesAvailable\x12\x35.Anki.Vector.external_interface.CubesAvailableRequest\x1a\x36.Anki.Vector.external_interface.CubesAvailableResponse\"\x1e\x82\xd3\xe4\x93\x02\x18\"\x13/v1/cubes_available:\x01*\x12\xa4\x01\n\x0f\x46lashCubeLights\x12\x36.Anki.Vector.external_interface.FlashCubeLightsRequest\x1a\x37.Anki.Vector.external_interface.FlashCubeLightsResponse\" \x82\xd3\xe4\x93\x02\x1a\"\x15/v1/flash_cube_lights:\x01*\x12\xb4\x01\n\x13\x46orgetPreferredCube\x12:.Anki.Vector.external_interface.ForgetPreferredCubeRequest\x1a;.Anki.Vector.external_interface.ForgetPreferredCubeResponse\"$\x82\xd3\xe4\x93\x02\x1e\"\x19/v1/forget_preferred_cube:\x01*\x12\xa8\x01\n\x10SetPreferredCube\x12\x37.Anki.Vector.external_interface.SetPreferredCubeRequest\x1a\x38.Anki.Vector.external_interface.SetPreferredCubeResponse\"!\x82\xd3\xe4\x93\x02\x1b\"\x16/v1/set_preferred_cube:\x01*\x12\xb4\x01\n\x13\x44\x65leteCustomObjects\x12:.Anki.Vector.external_interface.DeleteCustomObjectsRequest\x1a;.Anki.Vector.external_interface.DeleteCustomObjectsResponse\"$\x82\xd3\xe4\x93\x02\x1e\"\x19/v1/delete_custom_objects:\x01*\x12\xc5\x01\n\x17\x43reateFixedCustomObject\x12>.Anki.Vector.external_interface.CreateFixedCustomObjectRequest\x1a?.Anki.Vector.external_interface.CreateFixedCustomObjectResponse\")\x82\xd3\xe4\x93\x02#\"\x1e/v1/create_fixed_custom_object:\x01*\x12\xb0\x01\n\x12\x44\x65\x66ineCustomObject\x12\x39.Anki.Vector.external_interface.DefineCustomObjectRequest\x1a:.Anki.Vector.external_interface.DefineCustomObjectResponse\"#\x82\xd3\xe4\x93\x02\x1d\"\x18/v1/define_custom_object:\x01*\x12~\n\rSetCubeLights\x12\x34.Anki.Vector.external_interface.SetCubeLightsRequest\x1a\x35.Anki.Vector.external_interface.SetCubeLightsResponse\"\x00\x12\x8d\x01\n\tAudioFeed\x12\x30.Anki.Vector.external_interface.AudioFeedRequest\x1a\x31.Anki.Vector.external_interface.AudioFeedResponse\"\x19\x82\xd3\xe4\x93\x02\x13\"\x0e/v1/audio_feed:\x01*0\x01\x12\x91\x01\n\nCameraFeed\x12\x31.Anki.Vector.external_interface.CameraFeedRequest\x1a\x32.Anki.Vector.external_interface.CameraFeedResponse\"\x1a\x82\xd3\xe4\x93\x02\x14\"\x0f/v1/camera_feed:\x01*0\x01\x12\xb0\x01\n\x12\x43\x61ptureSingleImage\x12\x39.Anki.Vector.external_interface.CaptureSingleImageRequest\x1a:.Anki.Vector.external_interface.CaptureSingleImageResponse\"#\x82\xd3\xe4\x93\x02\x1d\"\x18/v1/capture_single_image:\x01*\x12\x94\x01\n\x0bSetEyeColor\x12\x32.Anki.Vector.external_interface.SetEyeColorRequest\x1a\x33.Anki.Vector.external_interface.SetEyeColorResponse\"\x1c\x82\xd3\xe4\x93\x02\x16\"\x11/v1/set_eye_color:\x01*\x12\x92\x01\n\nNavMapFeed\x12\x31.Anki.Vector.external_interface.NavMapFeedRequest\x1a\x32.Anki.Vector.external_interface.NavMapFeedResponse\"\x1b\x82\xd3\xe4\x93\x02\x15\"\x10/v1/nav_map_feed:\x01*0\x01\x62\x06proto3') + serialized_pb=_b('\n.anki_vector/messaging/external_interface.proto\x12\x1e\x41nki.Vector.external_interface\x1a\x1cgoogle/api/annotations.proto\x1a!anki_vector/messaging/alexa.proto\x1a$anki_vector/messaging/behavior.proto\x1a anki_vector/messaging/cube.proto\x1a$anki_vector/messaging/messages.proto\x1a#anki_vector/messaging/nav_map.proto\x1a$anki_vector/messaging/settings.proto\x1a\"anki_vector/messaging/shared.proto*o\n\x0fProtocolVersion\x12\x1c\n\x18PROTOCOL_VERSION_UNKNOWN\x10\x00\x12\x1c\n\x18PROTOCOL_VERSION_MINIMUM\x10\x00\x12\x1c\n\x18PROTOCOL_VERSION_CURRENT\x10\x05\x1a\x02\x10\x01\x32\xb0h\n\x11\x45xternalInterface\x12\xa3\x01\n\x0fProtocolVersion\x12\x36.Anki.Vector.external_interface.ProtocolVersionRequest\x1a\x37.Anki.Vector.external_interface.ProtocolVersionResponse\"\x1f\x82\xd3\xe4\x93\x02\x19\"\x14/v1/protocol_version:\x01*\x12\xab\x01\n\x11SDKInitialization\x12\x38.Anki.Vector.external_interface.SDKInitializationRequest\x1a\x39.Anki.Vector.external_interface.SDKInitializationResponse\"!\x82\xd3\xe4\x93\x02\x1b\"\x16/v1/sdk_initialization:\x01*\x12x\n\x0b\x44riveWheels\x12\x32.Anki.Vector.external_interface.DriveWheelsRequest\x1a\x33.Anki.Vector.external_interface.DriveWheelsResponse\"\x00\x12\x8c\x01\n\x14PlayAnimationTrigger\x12;.Anki.Vector.external_interface.PlayAnimationTriggerRequest\x1a\x35.Anki.Vector.external_interface.PlayAnimationResponse\"\x00\x12~\n\rPlayAnimation\x12\x34.Anki.Vector.external_interface.PlayAnimationRequest\x1a\x35.Anki.Vector.external_interface.PlayAnimationResponse\"\x00\x12\x9f\x01\n\x0eListAnimations\x12\x35.Anki.Vector.external_interface.ListAnimationsRequest\x1a\x36.Anki.Vector.external_interface.ListAnimationsResponse\"\x1e\x82\xd3\xe4\x93\x02\x18\"\x13/v1/list_animations:\x01*\x12\xbc\x01\n\x15ListAnimationTriggers\x12<.Anki.Vector.external_interface.ListAnimationTriggersRequest\x1a=.Anki.Vector.external_interface.ListAnimationTriggersResponse\"&\x82\xd3\xe4\x93\x02 \"\x1b/v1/list_animation_triggers:\x01*\x12o\n\x08MoveHead\x12/.Anki.Vector.external_interface.MoveHeadRequest\x1a\x30.Anki.Vector.external_interface.MoveHeadResponse\"\x00\x12o\n\x08MoveLift\x12/.Anki.Vector.external_interface.MoveLiftRequest\x1a\x30.Anki.Vector.external_interface.MoveLiftResponse\"\x00\x12~\n\rStopAllMotors\x12\x34.Anki.Vector.external_interface.StopAllMotorsRequest\x1a\x35.Anki.Vector.external_interface.StopAllMotorsResponse\"\x00\x12\xb5\x01\n\x13\x44isplayFaceImageRGB\x12:.Anki.Vector.external_interface.DisplayFaceImageRGBRequest\x1a;.Anki.Vector.external_interface.DisplayFaceImageRGBResponse\"%\x82\xd3\xe4\x93\x02\x1f\"\x1a/v1/display_face_image_rgb:\x01*\x12\x9d\x01\n\x0b\x45ventStream\x12,.Anki.Vector.external_interface.EventRequest\x1a-.Anki.Vector.external_interface.EventResponse\"/\x82\xd3\xe4\x93\x02)\"\x10/v1/event_stream:\x01*Z\x12\x12\x10/v1/event_stream0\x01\x12\x9c\x01\n\x1b\x45xternalAudioStreamPlayback\x12:.Anki.Vector.external_interface.ExternalAudioStreamRequest\x1a;.Anki.Vector.external_interface.ExternalAudioStreamResponse\"\x00(\x01\x30\x01\x12\x88\x01\n\x0f\x42\x65haviorControl\x12\x36.Anki.Vector.external_interface.BehaviorControlRequest\x1a\x37.Anki.Vector.external_interface.BehaviorControlResponse\"\x00(\x01\x30\x01\x12\xb2\x01\n\x15\x41ssumeBehaviorControl\x12\x36.Anki.Vector.external_interface.BehaviorControlRequest\x1a\x37.Anki.Vector.external_interface.BehaviorControlResponse\"&\x82\xd3\xe4\x93\x02 \"\x1b/v1/assume_behavior_control:\x01*0\x01\x12\xb8\x01\n\x14\x43\x61ncelFaceEnrollment\x12;.Anki.Vector.external_interface.CancelFaceEnrollmentRequest\x1a<.Anki.Vector.external_interface.CancelFaceEnrollmentResponse\"%\x82\xd3\xe4\x93\x02\x1f\"\x1a/v1/cancel_face_enrollment:\x01*\x12\xb8\x01\n\x14RequestEnrolledNames\x12;.Anki.Vector.external_interface.RequestEnrolledNamesRequest\x1a<.Anki.Vector.external_interface.RequestEnrolledNamesResponse\"%\x82\xd3\xe4\x93\x02\x1f\"\x1a/v1/request_enrolled_names:\x01*\x12\xc2\x01\n\x16UpdateEnrolledFaceByID\x12=.Anki.Vector.external_interface.UpdateEnrolledFaceByIDRequest\x1a>.Anki.Vector.external_interface.UpdateEnrolledFaceByIDResponse\")\x82\xd3\xe4\x93\x02#\"\x1e/v1/update_enrolled_face_by_id:\x01*\x12\xbe\x01\n\x15\x45raseEnrolledFaceByID\x12<.Anki.Vector.external_interface.EraseEnrolledFaceByIDRequest\x1a=.Anki.Vector.external_interface.EraseEnrolledFaceByIDResponse\"(\x82\xd3\xe4\x93\x02\"\"\x1d/v1/erase_enrolled_face_by_id:\x01*\x12\xbd\x01\n\x15\x45raseAllEnrolledFaces\x12<.Anki.Vector.external_interface.EraseAllEnrolledFacesRequest\x1a=.Anki.Vector.external_interface.EraseAllEnrolledFacesResponse\"\'\x82\xd3\xe4\x93\x02!\"\x1c/v1/erase_all_enrolled_faces:\x01*\x12\xa5\x01\n\x0fSetFaceToEnroll\x12\x36.Anki.Vector.external_interface.SetFaceToEnrollRequest\x1a\x37.Anki.Vector.external_interface.SetFaceToEnrollResponse\"!\x82\xd3\xe4\x93\x02\x1b\"\x16/v1/set_face_to_enroll:\x01*\x12\xbc\x01\n\x15\x45nableMarkerDetection\x12<.Anki.Vector.external_interface.EnableMarkerDetectionRequest\x1a=.Anki.Vector.external_interface.EnableMarkerDetectionResponse\"&\x82\xd3\xe4\x93\x02 \"\x1b/v1/enable_marker_detection:\x01*\x12\xb4\x01\n\x13\x45nableFaceDetection\x12:.Anki.Vector.external_interface.EnableFaceDetectionRequest\x1a;.Anki.Vector.external_interface.EnableFaceDetectionResponse\"$\x82\xd3\xe4\x93\x02\x1e\"\x19/v1/enable_face_detection:\x01*\x12\xbc\x01\n\x15\x45nableMotionDetection\x12<.Anki.Vector.external_interface.EnableMotionDetectionRequest\x1a=.Anki.Vector.external_interface.EnableMotionDetectionResponse\"&\x82\xd3\xe4\x93\x02 \"\x1b/v1/enable_motion_detection:\x01*\x12\xa8\x01\n\x10\x45nableMirrorMode\x12\x37.Anki.Vector.external_interface.EnableMirrorModeRequest\x1a\x38.Anki.Vector.external_interface.EnableMirrorModeResponse\"!\x82\xd3\xe4\x93\x02\x1b\"\x16/v1/enable_mirror_mode:\x01*\x12\xb8\x01\n\x14\x45nableImageStreaming\x12;.Anki.Vector.external_interface.EnableImageStreamingRequest\x1a<.Anki.Vector.external_interface.EnableImageStreamingResponse\"%\x82\xd3\xe4\x93\x02\x1f\"\x1a/v1/enable_image_streaming:\x01*\x12\xc5\x01\n\x17IsImageStreamingEnabled\x12>.Anki.Vector.external_interface.IsImageStreamingEnabledRequest\x1a?.Anki.Vector.external_interface.IsImageStreamingEnabledResponse\")\x82\xd3\xe4\x93\x02#\"\x1e/v1/is_image_streaming_enabled:\x01*\x12\xb6\x01\n\x13\x43\x61ncelActionByIdTag\x12:.Anki.Vector.external_interface.CancelActionByIdTagRequest\x1a;.Anki.Vector.external_interface.CancelActionByIdTagResponse\"&\x82\xd3\xe4\x93\x02 \"\x1b/v1/cancel_action_by_id_tag:\x01*\x12\x88\x01\n\x08GoToPose\x12/.Anki.Vector.external_interface.GoToPoseRequest\x1a\x30.Anki.Vector.external_interface.GoToPoseResponse\"\x19\x82\xd3\xe4\x93\x02\x13\"\x0e/v1/go_to_pose:\x01*\x12\x98\x01\n\x0c\x44ockWithCube\x12\x33.Anki.Vector.external_interface.DockWithCubeRequest\x1a\x34.Anki.Vector.external_interface.DockWithCubeResponse\"\x1d\x82\xd3\xe4\x93\x02\x17\"\x12/v1/dock_with_cube:\x01*\x12\xa4\x01\n\x0f\x44riveOffCharger\x12\x36.Anki.Vector.external_interface.DriveOffChargerRequest\x1a\x37.Anki.Vector.external_interface.DriveOffChargerResponse\" \x82\xd3\xe4\x93\x02\x1a\"\x15/v1/drive_off_charger:\x01*\x12\xa0\x01\n\x0e\x44riveOnCharger\x12\x35.Anki.Vector.external_interface.DriveOnChargerRequest\x1a\x36.Anki.Vector.external_interface.DriveOnChargerResponse\"\x1f\x82\xd3\xe4\x93\x02\x19\"\x14/v1/drive_on_charger:\x01*\x12\x8b\x01\n\tFindFaces\x12\x30.Anki.Vector.external_interface.FindFacesRequest\x1a\x31.Anki.Vector.external_interface.FindFacesResponse\"\x19\x82\xd3\xe4\x93\x02\x13\"\x0e/v1/find_faces:\x01*\x12\xad\x01\n\x11LookAroundInPlace\x12\x38.Anki.Vector.external_interface.LookAroundInPlaceRequest\x1a\x39.Anki.Vector.external_interface.LookAroundInPlaceResponse\"#\x82\xd3\xe4\x93\x02\x1d\"\x18/v1/look_around_in_place:\x01*\x12\x8b\x01\n\tRollBlock\x12\x30.Anki.Vector.external_interface.RollBlockRequest\x1a\x31.Anki.Vector.external_interface.RollBlockResponse\"\x19\x82\xd3\xe4\x93\x02\x13\"\x0e/v1/roll_block:\x01*\x12\x8f\x01\n\nPhotosInfo\x12\x31.Anki.Vector.external_interface.PhotosInfoRequest\x1a\x32.Anki.Vector.external_interface.PhotosInfoResponse\"\x1a\x82\xd3\xe4\x93\x02\x14\"\x0f/v1/photos_info:\x01*\x12z\n\x05Photo\x12,.Anki.Vector.external_interface.PhotoRequest\x1a-.Anki.Vector.external_interface.PhotoResponse\"\x14\x82\xd3\xe4\x93\x02\x0e\"\t/v1/photo:\x01*\x12\x8a\x01\n\tThumbnail\x12\x30.Anki.Vector.external_interface.ThumbnailRequest\x1a\x31.Anki.Vector.external_interface.ThumbnailResponse\"\x18\x82\xd3\xe4\x93\x02\x12\"\r/v1/thumbnail:\x01*\x12\x93\x01\n\x0b\x44\x65letePhoto\x12\x32.Anki.Vector.external_interface.DeletePhotoRequest\x1a\x33.Anki.Vector.external_interface.DeletePhotoResponse\"\x1b\x82\xd3\xe4\x93\x02\x15\"\x10/v1/delete_photo:\x01*\x12~\n\rDriveStraight\x12\x34.Anki.Vector.external_interface.DriveStraightRequest\x1a\x35.Anki.Vector.external_interface.DriveStraightResponse\"\x00\x12x\n\x0bTurnInPlace\x12\x32.Anki.Vector.external_interface.TurnInPlaceRequest\x1a\x33.Anki.Vector.external_interface.TurnInPlaceResponse\"\x00\x12{\n\x0cSetHeadAngle\x12\x33.Anki.Vector.external_interface.SetHeadAngleRequest\x1a\x34.Anki.Vector.external_interface.SetHeadAngleResponse\"\x00\x12~\n\rSetLiftHeight\x12\x34.Anki.Vector.external_interface.SetLiftHeightRequest\x1a\x35.Anki.Vector.external_interface.SetLiftHeightResponse\"\x00\x12\x84\x01\n\x0fTurnTowardsFace\x12\x36.Anki.Vector.external_interface.TurnTowardsFaceRequest\x1a\x37.Anki.Vector.external_interface.TurnTowardsFaceResponse\"\x00\x12u\n\nGoToObject\x12\x31.Anki.Vector.external_interface.GoToObjectRequest\x1a\x32.Anki.Vector.external_interface.GoToObjectResponse\"\x00\x12u\n\nRollObject\x12\x31.Anki.Vector.external_interface.RollObjectRequest\x1a\x32.Anki.Vector.external_interface.RollObjectResponse\"\x00\x12x\n\x0bPopAWheelie\x12\x32.Anki.Vector.external_interface.PopAWheelieRequest\x1a\x33.Anki.Vector.external_interface.PopAWheelieResponse\"\x00\x12{\n\x0cPickupObject\x12\x33.Anki.Vector.external_interface.PickupObjectRequest\x1a\x34.Anki.Vector.external_interface.PickupObjectResponse\"\x00\x12\x9c\x01\n\x17PlaceObjectOnGroundHere\x12>.Anki.Vector.external_interface.PlaceObjectOnGroundHereRequest\x1a?.Anki.Vector.external_interface.PlaceObjectOnGroundHereResponse\"\x00\x12~\n\x0fSetMasterVolume\x12\x33.Anki.Vector.external_interface.MasterVolumeRequest\x1a\x34.Anki.Vector.external_interface.MasterVolumeResponse\"\x00\x12\xaf\x01\n\x12UserAuthentication\x12\x39.Anki.Vector.external_interface.UserAuthenticationRequest\x1a:.Anki.Vector.external_interface.UserAuthenticationResponse\"\"\x82\xd3\xe4\x93\x02\x1c\"\x17/v1/user_authentication:\x01*\x12\x97\x01\n\x0c\x42\x61tteryState\x12\x33.Anki.Vector.external_interface.BatteryStateRequest\x1a\x34.Anki.Vector.external_interface.BatteryStateResponse\"\x1c\x82\xd3\xe4\x93\x02\x16\"\x11/v1/battery_state:\x01*\x12\x97\x01\n\x0cVersionState\x12\x33.Anki.Vector.external_interface.VersionStateRequest\x1a\x34.Anki.Vector.external_interface.VersionStateResponse\"\x1c\x82\xd3\xe4\x93\x02\x16\"\x11/v1/version_state:\x01*\x12\x83\x01\n\x07SayText\x12..Anki.Vector.external_interface.SayTextRequest\x1a/.Anki.Vector.external_interface.SayTextResponse\"\x17\x82\xd3\xe4\x93\x02\x11\"\x0c/v1/say_text:\x01*\x12\x93\x01\n\x0b\x43onnectCube\x12\x32.Anki.Vector.external_interface.ConnectCubeRequest\x1a\x33.Anki.Vector.external_interface.ConnectCubeResponse\"\x1b\x82\xd3\xe4\x93\x02\x15\"\x10/v1/connect_cube:\x01*\x12\x9f\x01\n\x0e\x44isconnectCube\x12\x35.Anki.Vector.external_interface.DisconnectCubeRequest\x1a\x36.Anki.Vector.external_interface.DisconnectCubeResponse\"\x1e\x82\xd3\xe4\x93\x02\x18\"\x13/v1/disconnect_cube:\x01*\x12\x9f\x01\n\x0e\x43ubesAvailable\x12\x35.Anki.Vector.external_interface.CubesAvailableRequest\x1a\x36.Anki.Vector.external_interface.CubesAvailableResponse\"\x1e\x82\xd3\xe4\x93\x02\x18\"\x13/v1/cubes_available:\x01*\x12\xa4\x01\n\x0f\x46lashCubeLights\x12\x36.Anki.Vector.external_interface.FlashCubeLightsRequest\x1a\x37.Anki.Vector.external_interface.FlashCubeLightsResponse\" \x82\xd3\xe4\x93\x02\x1a\"\x15/v1/flash_cube_lights:\x01*\x12\xb4\x01\n\x13\x46orgetPreferredCube\x12:.Anki.Vector.external_interface.ForgetPreferredCubeRequest\x1a;.Anki.Vector.external_interface.ForgetPreferredCubeResponse\"$\x82\xd3\xe4\x93\x02\x1e\"\x19/v1/forget_preferred_cube:\x01*\x12\xa8\x01\n\x10SetPreferredCube\x12\x37.Anki.Vector.external_interface.SetPreferredCubeRequest\x1a\x38.Anki.Vector.external_interface.SetPreferredCubeResponse\"!\x82\xd3\xe4\x93\x02\x1b\"\x16/v1/set_preferred_cube:\x01*\x12\xb4\x01\n\x13\x44\x65leteCustomObjects\x12:.Anki.Vector.external_interface.DeleteCustomObjectsRequest\x1a;.Anki.Vector.external_interface.DeleteCustomObjectsResponse\"$\x82\xd3\xe4\x93\x02\x1e\"\x19/v1/delete_custom_objects:\x01*\x12\xc5\x01\n\x17\x43reateFixedCustomObject\x12>.Anki.Vector.external_interface.CreateFixedCustomObjectRequest\x1a?.Anki.Vector.external_interface.CreateFixedCustomObjectResponse\")\x82\xd3\xe4\x93\x02#\"\x1e/v1/create_fixed_custom_object:\x01*\x12\xb0\x01\n\x12\x44\x65\x66ineCustomObject\x12\x39.Anki.Vector.external_interface.DefineCustomObjectRequest\x1a:.Anki.Vector.external_interface.DefineCustomObjectResponse\"#\x82\xd3\xe4\x93\x02\x1d\"\x18/v1/define_custom_object:\x01*\x12~\n\rSetCubeLights\x12\x34.Anki.Vector.external_interface.SetCubeLightsRequest\x1a\x35.Anki.Vector.external_interface.SetCubeLightsResponse\"\x00\x12\x8d\x01\n\tAudioFeed\x12\x30.Anki.Vector.external_interface.AudioFeedRequest\x1a\x31.Anki.Vector.external_interface.AudioFeedResponse\"\x19\x82\xd3\xe4\x93\x02\x13\"\x0e/v1/audio_feed:\x01*0\x01\x12\x91\x01\n\nCameraFeed\x12\x31.Anki.Vector.external_interface.CameraFeedRequest\x1a\x32.Anki.Vector.external_interface.CameraFeedResponse\"\x1a\x82\xd3\xe4\x93\x02\x14\"\x0f/v1/camera_feed:\x01*0\x01\x12\xb0\x01\n\x12\x43\x61ptureSingleImage\x12\x39.Anki.Vector.external_interface.CaptureSingleImageRequest\x1a:.Anki.Vector.external_interface.CaptureSingleImageResponse\"#\x82\xd3\xe4\x93\x02\x1d\"\x18/v1/capture_single_image:\x01*\x12\x94\x01\n\x0bSetEyeColor\x12\x32.Anki.Vector.external_interface.SetEyeColorRequest\x1a\x33.Anki.Vector.external_interface.SetEyeColorResponse\"\x1c\x82\xd3\xe4\x93\x02\x16\"\x11/v1/set_eye_color:\x01*\x12\x92\x01\n\nNavMapFeed\x12\x31.Anki.Vector.external_interface.NavMapFeedRequest\x1a\x32.Anki.Vector.external_interface.NavMapFeedResponse\"\x1b\x82\xd3\xe4\x93\x02\x15\"\x10/v1/nav_map_feed:\x01*0\x01\x12\x8b\x01\n\tAppIntent\x12\x30.Anki.Vector.external_interface.AppIntentRequest\x1a\x31.Anki.Vector.external_interface.AppIntentResponse\"\x19\x82\xd3\xe4\x93\x02\x13\"\x0e/v1/app_intent:\x01*\x12\xaa\x01\n\x12GetOnboardingState\x12\x36.Anki.Vector.external_interface.OnboardingStateRequest\x1a\x37.Anki.Vector.external_interface.OnboardingStateResponse\"#\x82\xd3\xe4\x93\x02\x1d\"\x18/v1/get_onboarding_state:\x01*\x12\xac\x01\n\x13SendOnboardingInput\x12\x36.Anki.Vector.external_interface.OnboardingInputRequest\x1a\x37.Anki.Vector.external_interface.OnboardingInputResponse\"$\x82\xd3\xe4\x93\x02\x1e\"\x19/v1/send_onboarding_input:\x01*\x12\xcb\x01\n\x1aGetLatestAttentionTransfer\x12>.Anki.Vector.external_interface.LatestAttentionTransferRequest\x1a?.Anki.Vector.external_interface.LatestAttentionTransferResponse\",\x82\xd3\xe4\x93\x02&\"!/v1/get_latest_attention_transfer:\x01*\x12\x8b\x01\n\tPullJdocs\x12\x30.Anki.Vector.external_interface.PullJdocsRequest\x1a\x31.Anki.Vector.external_interface.PullJdocsResponse\"\x19\x82\xd3\xe4\x93\x02\x13\"\x0e/v1/pull_jdocs:\x01*\x12\x9f\x01\n\x0eUpdateSettings\x12\x35.Anki.Vector.external_interface.UpdateSettingsRequest\x1a\x36.Anki.Vector.external_interface.UpdateSettingsResponse\"\x1e\x82\xd3\xe4\x93\x02\x18\"\x13/v1/update_settings:\x01*\x12\xbc\x01\n\x15UpdateAccountSettings\x12<.Anki.Vector.external_interface.UpdateAccountSettingsRequest\x1a=.Anki.Vector.external_interface.UpdateAccountSettingsResponse\"&\x82\xd3\xe4\x93\x02 \"\x1b/v1/update_account_settings:\x01*\x12\xac\x01\n\x11StartUpdateEngine\x12\x38.Anki.Vector.external_interface.CheckUpdateStatusRequest\x1a\x39.Anki.Vector.external_interface.CheckUpdateStatusResponse\"\"\x82\xd3\xe4\x93\x02\x1c\"\x17/v1/start_update_engine:\x01*\x12\xac\x01\n\x11\x43heckUpdateStatus\x12\x38.Anki.Vector.external_interface.CheckUpdateStatusRequest\x1a\x39.Anki.Vector.external_interface.CheckUpdateStatusResponse\"\"\x82\xd3\xe4\x93\x02\x1c\"\x17/v1/check_update_status:\x01*\x12\xa8\x01\n\x10UpdateAndRestart\x12\x37.Anki.Vector.external_interface.UpdateAndRestartRequest\x1a\x38.Anki.Vector.external_interface.UpdateAndRestartResponse\"!\x82\xd3\xe4\x93\x02\x1b\"\x16/v1/update_and_restart:\x01*\x12\xa4\x01\n\x14\x43heckCloudConnection\x12\x31.Anki.Vector.external_interface.CheckCloudRequest\x1a\x32.Anki.Vector.external_interface.CheckCloudResponse\"%\x82\xd3\xe4\x93\x02\x1f\"\x1a/v1/check_cloud_connection:\x01*\x12\x96\x01\n\x0eGetFeatureFlag\x12\x32.Anki.Vector.external_interface.FeatureFlagRequest\x1a\x33.Anki.Vector.external_interface.FeatureFlagResponse\"\x1b\x82\xd3\xe4\x93\x02\x15\"\x10/v1/feature_flag:\x01*\x12\xa7\x01\n\x12GetFeatureFlagList\x12\x36.Anki.Vector.external_interface.FeatureFlagListRequest\x1a\x37.Anki.Vector.external_interface.FeatureFlagListResponse\" \x82\xd3\xe4\x93\x02\x1a\"\x15/v1/feature_flag_list:\x01*\x12\xa3\x01\n\x11GetAlexaAuthState\x12\x35.Anki.Vector.external_interface.AlexaAuthStateRequest\x1a\x36.Anki.Vector.external_interface.AlexaAuthStateResponse\"\x1f\x82\xd3\xe4\x93\x02\x19\"\x14/v1/alexa_auth_state:\x01*\x12\x90\x01\n\nAlexaOptIn\x12\x31.Anki.Vector.external_interface.AlexaOptInRequest\x1a\x32.Anki.Vector.external_interface.AlexaOptInResponse\"\x1b\x82\xd3\xe4\x93\x02\x15\"\x10/v1/alexa_opt_in:\x01*b\x06proto3') , - dependencies=[google_dot_api_dot_annotations__pb2.DESCRIPTOR,anki__vector_dot_messaging_dot_behavior__pb2.DESCRIPTOR,anki__vector_dot_messaging_dot_cube__pb2.DESCRIPTOR,anki__vector_dot_messaging_dot_messages__pb2.DESCRIPTOR,anki__vector_dot_messaging_dot_nav__map__pb2.DESCRIPTOR,anki__vector_dot_messaging_dot_shared__pb2.DESCRIPTOR,]) + dependencies=[google_dot_api_dot_annotations__pb2.DESCRIPTOR,anki__vector_dot_messaging_dot_alexa__pb2.DESCRIPTOR,anki__vector_dot_messaging_dot_behavior__pb2.DESCRIPTOR,anki__vector_dot_messaging_dot_cube__pb2.DESCRIPTOR,anki__vector_dot_messaging_dot_messages__pb2.DESCRIPTOR,anki__vector_dot_messaging_dot_nav__map__pb2.DESCRIPTOR,anki__vector_dot_messaging_dot_settings__pb2.DESCRIPTOR,anki__vector_dot_messaging_dot_shared__pb2.DESCRIPTOR,]) _PROTOCOLVERSION = _descriptor.EnumDescriptor( name='ProtocolVersion', @@ -51,8 +53,8 @@ ], containing_type=None, options=_descriptor._ParseOptions(descriptor_pb2.EnumOptions(), _b('\020\001')), - serialized_start=295, - serialized_end=406, + serialized_start=368, + serialized_end=479, ) _sym_db.RegisterEnumDescriptor(_PROTOCOLVERSION) @@ -75,8 +77,8 @@ file=DESCRIPTOR, index=0, options=None, - serialized_start=409, - serialized_end=11254, + serialized_start=482, + serialized_end=13842, methods=[ _descriptor.MethodDescriptor( name='ProtocolVersion', @@ -699,6 +701,141 @@ output_type=anki__vector_dot_messaging_dot_nav__map__pb2._NAVMAPFEEDRESPONSE, options=_descriptor._ParseOptions(descriptor_pb2.MethodOptions(), _b('\202\323\344\223\002\025\"\020/v1/nav_map_feed:\001*')), ), + _descriptor.MethodDescriptor( + name='AppIntent', + full_name='Anki.Vector.external_interface.ExternalInterface.AppIntent', + index=69, + containing_service=None, + input_type=anki__vector_dot_messaging_dot_messages__pb2._APPINTENTREQUEST, + output_type=anki__vector_dot_messaging_dot_messages__pb2._APPINTENTRESPONSE, + options=_descriptor._ParseOptions(descriptor_pb2.MethodOptions(), _b('\202\323\344\223\002\023\"\016/v1/app_intent:\001*')), + ), + _descriptor.MethodDescriptor( + name='GetOnboardingState', + full_name='Anki.Vector.external_interface.ExternalInterface.GetOnboardingState', + index=70, + containing_service=None, + input_type=anki__vector_dot_messaging_dot_messages__pb2._ONBOARDINGSTATEREQUEST, + output_type=anki__vector_dot_messaging_dot_messages__pb2._ONBOARDINGSTATERESPONSE, + options=_descriptor._ParseOptions(descriptor_pb2.MethodOptions(), _b('\202\323\344\223\002\035\"\030/v1/get_onboarding_state:\001*')), + ), + _descriptor.MethodDescriptor( + name='SendOnboardingInput', + full_name='Anki.Vector.external_interface.ExternalInterface.SendOnboardingInput', + index=71, + containing_service=None, + input_type=anki__vector_dot_messaging_dot_messages__pb2._ONBOARDINGINPUTREQUEST, + output_type=anki__vector_dot_messaging_dot_messages__pb2._ONBOARDINGINPUTRESPONSE, + options=_descriptor._ParseOptions(descriptor_pb2.MethodOptions(), _b('\202\323\344\223\002\036\"\031/v1/send_onboarding_input:\001*')), + ), + _descriptor.MethodDescriptor( + name='GetLatestAttentionTransfer', + full_name='Anki.Vector.external_interface.ExternalInterface.GetLatestAttentionTransfer', + index=72, + containing_service=None, + input_type=anki__vector_dot_messaging_dot_messages__pb2._LATESTATTENTIONTRANSFERREQUEST, + output_type=anki__vector_dot_messaging_dot_messages__pb2._LATESTATTENTIONTRANSFERRESPONSE, + options=_descriptor._ParseOptions(descriptor_pb2.MethodOptions(), _b('\202\323\344\223\002&\"!/v1/get_latest_attention_transfer:\001*')), + ), + _descriptor.MethodDescriptor( + name='PullJdocs', + full_name='Anki.Vector.external_interface.ExternalInterface.PullJdocs', + index=73, + containing_service=None, + input_type=anki__vector_dot_messaging_dot_settings__pb2._PULLJDOCSREQUEST, + output_type=anki__vector_dot_messaging_dot_settings__pb2._PULLJDOCSRESPONSE, + options=_descriptor._ParseOptions(descriptor_pb2.MethodOptions(), _b('\202\323\344\223\002\023\"\016/v1/pull_jdocs:\001*')), + ), + _descriptor.MethodDescriptor( + name='UpdateSettings', + full_name='Anki.Vector.external_interface.ExternalInterface.UpdateSettings', + index=74, + containing_service=None, + input_type=anki__vector_dot_messaging_dot_settings__pb2._UPDATESETTINGSREQUEST, + output_type=anki__vector_dot_messaging_dot_settings__pb2._UPDATESETTINGSRESPONSE, + options=_descriptor._ParseOptions(descriptor_pb2.MethodOptions(), _b('\202\323\344\223\002\030\"\023/v1/update_settings:\001*')), + ), + _descriptor.MethodDescriptor( + name='UpdateAccountSettings', + full_name='Anki.Vector.external_interface.ExternalInterface.UpdateAccountSettings', + index=75, + containing_service=None, + input_type=anki__vector_dot_messaging_dot_settings__pb2._UPDATEACCOUNTSETTINGSREQUEST, + output_type=anki__vector_dot_messaging_dot_settings__pb2._UPDATEACCOUNTSETTINGSRESPONSE, + options=_descriptor._ParseOptions(descriptor_pb2.MethodOptions(), _b('\202\323\344\223\002 \"\033/v1/update_account_settings:\001*')), + ), + _descriptor.MethodDescriptor( + name='StartUpdateEngine', + full_name='Anki.Vector.external_interface.ExternalInterface.StartUpdateEngine', + index=76, + containing_service=None, + input_type=anki__vector_dot_messaging_dot_messages__pb2._CHECKUPDATESTATUSREQUEST, + output_type=anki__vector_dot_messaging_dot_messages__pb2._CHECKUPDATESTATUSRESPONSE, + options=_descriptor._ParseOptions(descriptor_pb2.MethodOptions(), _b('\202\323\344\223\002\034\"\027/v1/start_update_engine:\001*')), + ), + _descriptor.MethodDescriptor( + name='CheckUpdateStatus', + full_name='Anki.Vector.external_interface.ExternalInterface.CheckUpdateStatus', + index=77, + containing_service=None, + input_type=anki__vector_dot_messaging_dot_messages__pb2._CHECKUPDATESTATUSREQUEST, + output_type=anki__vector_dot_messaging_dot_messages__pb2._CHECKUPDATESTATUSRESPONSE, + options=_descriptor._ParseOptions(descriptor_pb2.MethodOptions(), _b('\202\323\344\223\002\034\"\027/v1/check_update_status:\001*')), + ), + _descriptor.MethodDescriptor( + name='UpdateAndRestart', + full_name='Anki.Vector.external_interface.ExternalInterface.UpdateAndRestart', + index=78, + containing_service=None, + input_type=anki__vector_dot_messaging_dot_messages__pb2._UPDATEANDRESTARTREQUEST, + output_type=anki__vector_dot_messaging_dot_messages__pb2._UPDATEANDRESTARTRESPONSE, + options=_descriptor._ParseOptions(descriptor_pb2.MethodOptions(), _b('\202\323\344\223\002\033\"\026/v1/update_and_restart:\001*')), + ), + _descriptor.MethodDescriptor( + name='CheckCloudConnection', + full_name='Anki.Vector.external_interface.ExternalInterface.CheckCloudConnection', + index=79, + containing_service=None, + input_type=anki__vector_dot_messaging_dot_messages__pb2._CHECKCLOUDREQUEST, + output_type=anki__vector_dot_messaging_dot_messages__pb2._CHECKCLOUDRESPONSE, + options=_descriptor._ParseOptions(descriptor_pb2.MethodOptions(), _b('\202\323\344\223\002\037\"\032/v1/check_cloud_connection:\001*')), + ), + _descriptor.MethodDescriptor( + name='GetFeatureFlag', + full_name='Anki.Vector.external_interface.ExternalInterface.GetFeatureFlag', + index=80, + containing_service=None, + input_type=anki__vector_dot_messaging_dot_messages__pb2._FEATUREFLAGREQUEST, + output_type=anki__vector_dot_messaging_dot_messages__pb2._FEATUREFLAGRESPONSE, + options=_descriptor._ParseOptions(descriptor_pb2.MethodOptions(), _b('\202\323\344\223\002\025\"\020/v1/feature_flag:\001*')), + ), + _descriptor.MethodDescriptor( + name='GetFeatureFlagList', + full_name='Anki.Vector.external_interface.ExternalInterface.GetFeatureFlagList', + index=81, + containing_service=None, + input_type=anki__vector_dot_messaging_dot_messages__pb2._FEATUREFLAGLISTREQUEST, + output_type=anki__vector_dot_messaging_dot_messages__pb2._FEATUREFLAGLISTRESPONSE, + options=_descriptor._ParseOptions(descriptor_pb2.MethodOptions(), _b('\202\323\344\223\002\032\"\025/v1/feature_flag_list:\001*')), + ), + _descriptor.MethodDescriptor( + name='GetAlexaAuthState', + full_name='Anki.Vector.external_interface.ExternalInterface.GetAlexaAuthState', + index=82, + containing_service=None, + input_type=anki__vector_dot_messaging_dot_alexa__pb2._ALEXAAUTHSTATEREQUEST, + output_type=anki__vector_dot_messaging_dot_alexa__pb2._ALEXAAUTHSTATERESPONSE, + options=_descriptor._ParseOptions(descriptor_pb2.MethodOptions(), _b('\202\323\344\223\002\031\"\024/v1/alexa_auth_state:\001*')), + ), + _descriptor.MethodDescriptor( + name='AlexaOptIn', + full_name='Anki.Vector.external_interface.ExternalInterface.AlexaOptIn', + index=83, + containing_service=None, + input_type=anki__vector_dot_messaging_dot_alexa__pb2._ALEXAOPTINREQUEST, + output_type=anki__vector_dot_messaging_dot_alexa__pb2._ALEXAOPTINRESPONSE, + options=_descriptor._ParseOptions(descriptor_pb2.MethodOptions(), _b('\202\323\344\223\002\025\"\020/v1/alexa_opt_in:\001*')), + ), ]) _sym_db.RegisterServiceDescriptor(_EXTERNALINTERFACE) diff --git a/anki_vector/messaging/external_interface_pb2_grpc.py b/anki_vector/messaging/external_interface_pb2_grpc.py index a41ae3e..e9551b4 100644 --- a/anki_vector/messaging/external_interface_pb2_grpc.py +++ b/anki_vector/messaging/external_interface_pb2_grpc.py @@ -1,10 +1,12 @@ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! import grpc +from anki_vector.messaging import alexa_pb2 as anki__vector_dot_messaging_dot_alexa__pb2 from anki_vector.messaging import behavior_pb2 as anki__vector_dot_messaging_dot_behavior__pb2 from anki_vector.messaging import cube_pb2 as anki__vector_dot_messaging_dot_cube__pb2 from anki_vector.messaging import messages_pb2 as anki__vector_dot_messaging_dot_messages__pb2 from anki_vector.messaging import nav_map_pb2 as anki__vector_dot_messaging_dot_nav__map__pb2 +from anki_vector.messaging import settings_pb2 as anki__vector_dot_messaging_dot_settings__pb2 from anki_vector.messaging import shared_pb2 as anki__vector_dot_messaging_dot_shared__pb2 @@ -363,6 +365,81 @@ def __init__(self, channel): request_serializer=anki__vector_dot_messaging_dot_nav__map__pb2.NavMapFeedRequest.SerializeToString, response_deserializer=anki__vector_dot_messaging_dot_nav__map__pb2.NavMapFeedResponse.FromString, ) + self.AppIntent = channel.unary_unary( + '/Anki.Vector.external_interface.ExternalInterface/AppIntent', + request_serializer=anki__vector_dot_messaging_dot_messages__pb2.AppIntentRequest.SerializeToString, + response_deserializer=anki__vector_dot_messaging_dot_messages__pb2.AppIntentResponse.FromString, + ) + self.GetOnboardingState = channel.unary_unary( + '/Anki.Vector.external_interface.ExternalInterface/GetOnboardingState', + request_serializer=anki__vector_dot_messaging_dot_messages__pb2.OnboardingStateRequest.SerializeToString, + response_deserializer=anki__vector_dot_messaging_dot_messages__pb2.OnboardingStateResponse.FromString, + ) + self.SendOnboardingInput = channel.unary_unary( + '/Anki.Vector.external_interface.ExternalInterface/SendOnboardingInput', + request_serializer=anki__vector_dot_messaging_dot_messages__pb2.OnboardingInputRequest.SerializeToString, + response_deserializer=anki__vector_dot_messaging_dot_messages__pb2.OnboardingInputResponse.FromString, + ) + self.GetLatestAttentionTransfer = channel.unary_unary( + '/Anki.Vector.external_interface.ExternalInterface/GetLatestAttentionTransfer', + request_serializer=anki__vector_dot_messaging_dot_messages__pb2.LatestAttentionTransferRequest.SerializeToString, + response_deserializer=anki__vector_dot_messaging_dot_messages__pb2.LatestAttentionTransferResponse.FromString, + ) + self.PullJdocs = channel.unary_unary( + '/Anki.Vector.external_interface.ExternalInterface/PullJdocs', + request_serializer=anki__vector_dot_messaging_dot_settings__pb2.PullJdocsRequest.SerializeToString, + response_deserializer=anki__vector_dot_messaging_dot_settings__pb2.PullJdocsResponse.FromString, + ) + self.UpdateSettings = channel.unary_unary( + '/Anki.Vector.external_interface.ExternalInterface/UpdateSettings', + request_serializer=anki__vector_dot_messaging_dot_settings__pb2.UpdateSettingsRequest.SerializeToString, + response_deserializer=anki__vector_dot_messaging_dot_settings__pb2.UpdateSettingsResponse.FromString, + ) + self.UpdateAccountSettings = channel.unary_unary( + '/Anki.Vector.external_interface.ExternalInterface/UpdateAccountSettings', + request_serializer=anki__vector_dot_messaging_dot_settings__pb2.UpdateAccountSettingsRequest.SerializeToString, + response_deserializer=anki__vector_dot_messaging_dot_settings__pb2.UpdateAccountSettingsResponse.FromString, + ) + self.StartUpdateEngine = channel.unary_unary( + '/Anki.Vector.external_interface.ExternalInterface/StartUpdateEngine', + request_serializer=anki__vector_dot_messaging_dot_messages__pb2.CheckUpdateStatusRequest.SerializeToString, + response_deserializer=anki__vector_dot_messaging_dot_messages__pb2.CheckUpdateStatusResponse.FromString, + ) + self.CheckUpdateStatus = channel.unary_unary( + '/Anki.Vector.external_interface.ExternalInterface/CheckUpdateStatus', + request_serializer=anki__vector_dot_messaging_dot_messages__pb2.CheckUpdateStatusRequest.SerializeToString, + response_deserializer=anki__vector_dot_messaging_dot_messages__pb2.CheckUpdateStatusResponse.FromString, + ) + self.UpdateAndRestart = channel.unary_unary( + '/Anki.Vector.external_interface.ExternalInterface/UpdateAndRestart', + request_serializer=anki__vector_dot_messaging_dot_messages__pb2.UpdateAndRestartRequest.SerializeToString, + response_deserializer=anki__vector_dot_messaging_dot_messages__pb2.UpdateAndRestartResponse.FromString, + ) + self.CheckCloudConnection = channel.unary_unary( + '/Anki.Vector.external_interface.ExternalInterface/CheckCloudConnection', + request_serializer=anki__vector_dot_messaging_dot_messages__pb2.CheckCloudRequest.SerializeToString, + response_deserializer=anki__vector_dot_messaging_dot_messages__pb2.CheckCloudResponse.FromString, + ) + self.GetFeatureFlag = channel.unary_unary( + '/Anki.Vector.external_interface.ExternalInterface/GetFeatureFlag', + request_serializer=anki__vector_dot_messaging_dot_messages__pb2.FeatureFlagRequest.SerializeToString, + response_deserializer=anki__vector_dot_messaging_dot_messages__pb2.FeatureFlagResponse.FromString, + ) + self.GetFeatureFlagList = channel.unary_unary( + '/Anki.Vector.external_interface.ExternalInterface/GetFeatureFlagList', + request_serializer=anki__vector_dot_messaging_dot_messages__pb2.FeatureFlagListRequest.SerializeToString, + response_deserializer=anki__vector_dot_messaging_dot_messages__pb2.FeatureFlagListResponse.FromString, + ) + self.GetAlexaAuthState = channel.unary_unary( + '/Anki.Vector.external_interface.ExternalInterface/GetAlexaAuthState', + request_serializer=anki__vector_dot_messaging_dot_alexa__pb2.AlexaAuthStateRequest.SerializeToString, + response_deserializer=anki__vector_dot_messaging_dot_alexa__pb2.AlexaAuthStateResponse.FromString, + ) + self.AlexaOptIn = channel.unary_unary( + '/Anki.Vector.external_interface.ExternalInterface/AlexaOptIn', + request_serializer=anki__vector_dot_messaging_dot_alexa__pb2.AlexaOptInRequest.SerializeToString, + response_deserializer=anki__vector_dot_messaging_dot_alexa__pb2.AlexaOptInResponse.FromString, + ) class ExternalInterfaceServicer(object): @@ -862,6 +939,112 @@ def NavMapFeed(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') + def AppIntent(self, request, context): + # missing associated documentation comment in .proto file + pass + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetOnboardingState(self, request, context): + # missing associated documentation comment in .proto file + pass + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SendOnboardingInput(self, request, context): + # missing associated documentation comment in .proto file + pass + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetLatestAttentionTransfer(self, request, context): + # missing associated documentation comment in .proto file + pass + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def PullJdocs(self, request, context): + # missing associated documentation comment in .proto file + pass + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def UpdateSettings(self, request, context): + # missing associated documentation comment in .proto file + pass + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def UpdateAccountSettings(self, request, context): + # missing associated documentation comment in .proto file + pass + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def StartUpdateEngine(self, request, context): + """StartUpdateEngine cycles the update-engine service (to start a new check for an update) and sets up a stream of + UpdateStatusResponse Events. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def CheckUpdateStatus(self, request, context): + """CheckUpdateStatus tells if the robot is ready to reboot and update. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def UpdateAndRestart(self, request, context): + # missing associated documentation comment in .proto file + pass + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def CheckCloudConnection(self, request, context): + # missing associated documentation comment in .proto file + pass + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetFeatureFlag(self, request, context): + # missing associated documentation comment in .proto file + pass + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetFeatureFlagList(self, request, context): + # missing associated documentation comment in .proto file + pass + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetAlexaAuthState(self, request, context): + # missing associated documentation comment in .proto file + pass + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def AlexaOptIn(self, request, context): + # missing associated documentation comment in .proto file + pass + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def add_ExternalInterfaceServicer_to_server(servicer, server): rpc_method_handlers = { @@ -1210,6 +1393,81 @@ def add_ExternalInterfaceServicer_to_server(servicer, server): request_deserializer=anki__vector_dot_messaging_dot_nav__map__pb2.NavMapFeedRequest.FromString, response_serializer=anki__vector_dot_messaging_dot_nav__map__pb2.NavMapFeedResponse.SerializeToString, ), + 'AppIntent': grpc.unary_unary_rpc_method_handler( + servicer.AppIntent, + request_deserializer=anki__vector_dot_messaging_dot_messages__pb2.AppIntentRequest.FromString, + response_serializer=anki__vector_dot_messaging_dot_messages__pb2.AppIntentResponse.SerializeToString, + ), + 'GetOnboardingState': grpc.unary_unary_rpc_method_handler( + servicer.GetOnboardingState, + request_deserializer=anki__vector_dot_messaging_dot_messages__pb2.OnboardingStateRequest.FromString, + response_serializer=anki__vector_dot_messaging_dot_messages__pb2.OnboardingStateResponse.SerializeToString, + ), + 'SendOnboardingInput': grpc.unary_unary_rpc_method_handler( + servicer.SendOnboardingInput, + request_deserializer=anki__vector_dot_messaging_dot_messages__pb2.OnboardingInputRequest.FromString, + response_serializer=anki__vector_dot_messaging_dot_messages__pb2.OnboardingInputResponse.SerializeToString, + ), + 'GetLatestAttentionTransfer': grpc.unary_unary_rpc_method_handler( + servicer.GetLatestAttentionTransfer, + request_deserializer=anki__vector_dot_messaging_dot_messages__pb2.LatestAttentionTransferRequest.FromString, + response_serializer=anki__vector_dot_messaging_dot_messages__pb2.LatestAttentionTransferResponse.SerializeToString, + ), + 'PullJdocs': grpc.unary_unary_rpc_method_handler( + servicer.PullJdocs, + request_deserializer=anki__vector_dot_messaging_dot_settings__pb2.PullJdocsRequest.FromString, + response_serializer=anki__vector_dot_messaging_dot_settings__pb2.PullJdocsResponse.SerializeToString, + ), + 'UpdateSettings': grpc.unary_unary_rpc_method_handler( + servicer.UpdateSettings, + request_deserializer=anki__vector_dot_messaging_dot_settings__pb2.UpdateSettingsRequest.FromString, + response_serializer=anki__vector_dot_messaging_dot_settings__pb2.UpdateSettingsResponse.SerializeToString, + ), + 'UpdateAccountSettings': grpc.unary_unary_rpc_method_handler( + servicer.UpdateAccountSettings, + request_deserializer=anki__vector_dot_messaging_dot_settings__pb2.UpdateAccountSettingsRequest.FromString, + response_serializer=anki__vector_dot_messaging_dot_settings__pb2.UpdateAccountSettingsResponse.SerializeToString, + ), + 'StartUpdateEngine': grpc.unary_unary_rpc_method_handler( + servicer.StartUpdateEngine, + request_deserializer=anki__vector_dot_messaging_dot_messages__pb2.CheckUpdateStatusRequest.FromString, + response_serializer=anki__vector_dot_messaging_dot_messages__pb2.CheckUpdateStatusResponse.SerializeToString, + ), + 'CheckUpdateStatus': grpc.unary_unary_rpc_method_handler( + servicer.CheckUpdateStatus, + request_deserializer=anki__vector_dot_messaging_dot_messages__pb2.CheckUpdateStatusRequest.FromString, + response_serializer=anki__vector_dot_messaging_dot_messages__pb2.CheckUpdateStatusResponse.SerializeToString, + ), + 'UpdateAndRestart': grpc.unary_unary_rpc_method_handler( + servicer.UpdateAndRestart, + request_deserializer=anki__vector_dot_messaging_dot_messages__pb2.UpdateAndRestartRequest.FromString, + response_serializer=anki__vector_dot_messaging_dot_messages__pb2.UpdateAndRestartResponse.SerializeToString, + ), + 'CheckCloudConnection': grpc.unary_unary_rpc_method_handler( + servicer.CheckCloudConnection, + request_deserializer=anki__vector_dot_messaging_dot_messages__pb2.CheckCloudRequest.FromString, + response_serializer=anki__vector_dot_messaging_dot_messages__pb2.CheckCloudResponse.SerializeToString, + ), + 'GetFeatureFlag': grpc.unary_unary_rpc_method_handler( + servicer.GetFeatureFlag, + request_deserializer=anki__vector_dot_messaging_dot_messages__pb2.FeatureFlagRequest.FromString, + response_serializer=anki__vector_dot_messaging_dot_messages__pb2.FeatureFlagResponse.SerializeToString, + ), + 'GetFeatureFlagList': grpc.unary_unary_rpc_method_handler( + servicer.GetFeatureFlagList, + request_deserializer=anki__vector_dot_messaging_dot_messages__pb2.FeatureFlagListRequest.FromString, + response_serializer=anki__vector_dot_messaging_dot_messages__pb2.FeatureFlagListResponse.SerializeToString, + ), + 'GetAlexaAuthState': grpc.unary_unary_rpc_method_handler( + servicer.GetAlexaAuthState, + request_deserializer=anki__vector_dot_messaging_dot_alexa__pb2.AlexaAuthStateRequest.FromString, + response_serializer=anki__vector_dot_messaging_dot_alexa__pb2.AlexaAuthStateResponse.SerializeToString, + ), + 'AlexaOptIn': grpc.unary_unary_rpc_method_handler( + servicer.AlexaOptIn, + request_deserializer=anki__vector_dot_messaging_dot_alexa__pb2.AlexaOptInRequest.FromString, + response_serializer=anki__vector_dot_messaging_dot_alexa__pb2.AlexaOptInResponse.SerializeToString, + ), } generic_handler = grpc.method_handlers_generic_handler( 'Anki.Vector.external_interface.ExternalInterface', rpc_method_handlers) diff --git a/anki_vector/messaging/messages.proto b/anki_vector/messaging/messages.proto index 37bb0d8..0cddecb 100644 --- a/anki_vector/messaging/messages.proto +++ b/anki_vector/messaging/messages.proto @@ -20,6 +20,7 @@ package Anki.Vector.external_interface; import "anki_vector/messaging/response_status.proto"; import "anki_vector/messaging/extensions.proto"; +import "anki_vector/messaging/alexa.proto"; // A null message used by streams to verify that the client is // still connected. @@ -170,6 +171,7 @@ message MeetVictorFaceScanComplete message Status { oneof status_type { + FeatureStatus feature_status = 1; MeetVictorFaceScanStarted meet_victor_face_scan_started = 2; MeetVictorFaceScanComplete meet_victor_face_scan_complete = 3; FaceEnrollmentCompleted face_enrollment_completed = 4; @@ -556,6 +558,7 @@ message PathMotionProfile { bool is_custom = 11; } +// These codes are duplicated from actionResults.clad file and need to be kept in sync // The possible results of running an action. message ActionResult { // The possible results of running an action. @@ -1179,3 +1182,265 @@ message SDKInitializationResponse { } + +message AppDisconnected{} + +message AppIntentRequest { + string intent = 1; + string param = 2; +} + +message AppIntentResponse { + ResponseStatus status = 1; +} + +message FeatureStatus { + string feature_name = 1; + string source = 2; // Voice, App, AI, Unknown +} + +message Onboarding { + oneof onboarding_type { + OnboardingState onboarding_state = 1; + OnboardingWakeUpFinished onboarding_wake_up_finished = 9; + Onboarding1p0ChargingInfo onboarding_1p0_charging_info = 10; + // 1p0 backward compatibility messages ^^^ + } +} + +message RobotHistoryRequest { +} + +message RobotHistoryResponse { + repeated TimeStampedStatus messages = 1; +} + +enum OnboardingStages +{ + NotStarted = 0; + TimedOut = 1; + // Maintain this numbering for backward compatibility + Complete = 3; + DevDoNothing = 4; +} + +message OnboardingState { + OnboardingStages stage = 1; +} + +message OnboardingStateRequest { +} + +message OnboardingStateResponse { + ResponseStatus status = 1; + OnboardingState onboarding_state = 2; +} + +enum OnboardingPhase +{ + InvalidPhase = 0; + Default = 1; + LookAtPhone = 2; + WakeUp = 3; + LookAtUser = 4; + TeachWakeWord = 5; + TeachComeHere = 6; + TeachMeetVictor = 7; +} + +enum OnboardingPhaseState +{ + PhaseInvalid = 0; + PhasePending = 1; + PhaseInProgress = 2; + PhaseComplete = 3; +} + +message OnboardingSetPhaseRequest { + OnboardingPhase phase = 1; +} + +message OnboardingSetPhaseResponse { + ResponseStatus status = 1; + OnboardingPhase phase = 2; + OnboardingPhaseState phase_state = 3; +} + +message OnboardingPhaseProgressRequest { +} + +message OnboardingPhaseProgressResponse { + ResponseStatus status = 1; + OnboardingPhase last_set_phase = 2; + OnboardingPhaseState last_set_phase_state = 3; + int32 percent_completed = 4; +} + +message OnboardingChargeInfoRequest { +} + +message OnboardingChargeInfoResponse { + ResponseStatus status = 1; + bool on_charger = 2; + bool needs_to_charge = 3; + float required_charge_time = 4; +} + +message OnboardingSkipOnboarding { +} + +message OnboardingRestart { +} + +message OnboardingMarkCompleteAndExit { +} + +message OnboardingInputRequest { + oneof oneof_message_type { + OnboardingCompleteRequest onboarding_complete_request = 1; + OnboardingWakeUpRequest onboarding_wake_up_request = 2; + OnboardingSkipOnboarding onboarding_skip_onboarding = 7; + OnboardingRestart onboarding_restart = 8; + OnboardingWakeUpStartedRequest onboarding_wake_up_started_request = 9; + // 1p0 backward compatibility messages ^^^ + OnboardingSetPhaseRequest onboarding_set_phase_request = 10; + OnboardingPhaseProgressRequest onboarding_phase_progress_request = 11; + OnboardingChargeInfoRequest onboarding_charge_info_request = 12; + OnboardingMarkCompleteAndExit onboarding_mark_complete_and_exit = 13; + } +} + +message OnboardingInputResponse { + ResponseStatus status = 1; + oneof oneof_message_type { + OnboardingCompleteResponse onboarding_complete_response = 2; + OnboardingWakeUpResponse onboarding_wake_up_response = 3; + OnboardingWakeUpStartedResponse onboarding_wake_up_started_response = 6; + // 1p0 backward compatibility messages ^^^ + OnboardingSetPhaseResponse onboarding_set_phase_response = 7; + OnboardingPhaseProgressResponse onboarding_phase_progress_response = 8; + OnboardingChargeInfoResponse onboarding_charge_info_response = 9; + } +} + +// 1p0 backward compatibility messages - - - - - +message OnboardingCompleteRequest { +} + +message OnboardingCompleteResponse { + bool completed = 1; +} + +message OnboardingWakeUpStartedRequest { +} + +message OnboardingWakeUpStartedResponse { + bool already_started = 1; +} + +message OnboardingWakeUpRequest { +} + +message OnboardingWakeUpResponse { + bool waking_up = 1; + Onboarding1p0ChargingInfo charging_info = 2; +} + +message Onboarding1p0ChargingInfo { + bool on_charger = 1; + bool needs_to_charge = 2; + float suggested_charger_time = 3; +} + +message OnboardingWakeUpFinished { +} +// 1p0 backward compatibility messages - - - - - + +message FeatureFlagRequest { + string feature_name = 1; +} + +message FeatureFlagResponse { + ResponseStatus status = 1; + bool valid_feature = 2; + bool feature_enabled = 3; +} + +message FeatureFlagListRequest { + repeated string request_list = 1; +} + +message FeatureFlagListResponse { + ResponseStatus status = 1; + repeated string list = 2; +} + +// NOTE: must match attentionTransferTypes.clad +enum AttentionTransferReason { + Invalid = 0; + + NoCloudConnection = 1; + NoWifi = 2; + UnmatchedIntent = 3; +} + +message AttentionTransfer { + AttentionTransferReason reason = 1; + float seconds_ago = 2; +} + +message LatestAttentionTransferRequest { +} + +message LatestAttentionTransfer { + oneof oneof_message_type { + AttentionTransfer attention_transfer = 1; + } +} + +message LatestAttentionTransferResponse { + ResponseStatus status = 1; + LatestAttentionTransfer latest_attention_transfer = 2; +} + +message UpdateAndRestartRequest{} + +message UpdateAndRestartResponse{ + ResponseStatus status = 1; +} + + +message CheckUpdateStatusRequest{} + +message CheckUpdateStatusResponse{ + option(streamed) = true; + + ResponseStatus status = 1; + enum UpdateStatus { + NO_UPDATE = 0; + READY_TO_INSTALL = 1; + IN_PROGRESS_DOWNLOAD = 2; + } + UpdateStatus update_status = 2; + int64 expected = 3; + int64 progress = 4; + string update_version = 5; +} + +message CheckCloudRequest{} + +message CheckCloudResponse{ + ResponseStatus status = 1; + enum ConnectionCode { + UNKNOWN = 0; + AVAILABLE = 1; + BAD_CONNECTIVITY = 2; + FAILED_TLS = 3; + FAILED_AUTH = 4; + INSUFFICIENT_BANDWIDTH = 5; + } + ConnectionCode code = 2; + string status_message = 3; + int32 num_packets = 4; + int32 expected_packets = 5; +} diff --git a/anki_vector/messaging/messages_pb2.py b/anki_vector/messaging/messages_pb2.py index c30261a..4d385c3 100644 --- a/anki_vector/messaging/messages_pb2.py +++ b/anki_vector/messaging/messages_pb2.py @@ -16,15 +16,16 @@ from anki_vector.messaging import response_status_pb2 as anki__vector_dot_messaging_dot_response__status__pb2 from anki_vector.messaging import extensions_pb2 as anki__vector_dot_messaging_dot_extensions__pb2 +from anki_vector.messaging import alexa_pb2 as anki__vector_dot_messaging_dot_alexa__pb2 DESCRIPTOR = _descriptor.FileDescriptor( name='anki_vector/messaging/messages.proto', package='Anki.Vector.external_interface', syntax='proto3', - serialized_pb=_b('\n$anki_vector/messaging/messages.proto\x12\x1e\x41nki.Vector.external_interface\x1a+anki_vector/messaging/response_status.proto\x1a&anki_vector/messaging/extensions.proto\"\x0f\n\rKeepAlivePing\" \n\x10\x41nimationTrigger\x12\x0c\n\x04name\x18\x01 \x01(\t\"\x19\n\tAnimation\x12\x0c\n\x04name\x18\x01 \x01(\t\"|\n\x12\x44riveWheelsRequest\x12\x17\n\x0fleft_wheel_mmps\x18\x01 \x01(\x02\x12\x18\n\x10right_wheel_mmps\x18\x02 \x01(\x02\x12\x18\n\x10left_wheel_mmps2\x18\x03 \x01(\x02\x12\x19\n\x11right_wheel_mmps2\x18\x04 \x01(\x02\"U\n\x13\x44riveWheelsResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\",\n\x0fMoveHeadRequest\x12\x19\n\x11speed_rad_per_sec\x18\x01 \x01(\x02\"R\n\x10MoveHeadResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\",\n\x0fMoveLiftRequest\x12\x19\n\x11speed_rad_per_sec\x18\x01 \x01(\x02\"R\n\x10MoveLiftResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\"\x16\n\x14StopAllMotorsRequest\"W\n\x15StopAllMotorsResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\"\xe1\x01\n\x1bPlayAnimationTriggerRequest\x12K\n\x11\x61nimation_trigger\x18\x01 \x01(\x0b\x32\x30.Anki.Vector.external_interface.AnimationTrigger\x12\r\n\x05loops\x18\x02 \x01(\r\x12\x15\n\ruse_lift_safe\x18\x03 \x01(\x08\x12\x19\n\x11ignore_body_track\x18\x04 \x01(\x08\x12\x19\n\x11ignore_head_track\x18\x05 \x01(\x08\x12\x19\n\x11ignore_lift_track\x18\x06 \x01(\x08\"\xb4\x01\n\x14PlayAnimationRequest\x12<\n\tanimation\x18\x01 \x01(\x0b\x32).Anki.Vector.external_interface.Animation\x12\r\n\x05loops\x18\x02 \x01(\r\x12\x19\n\x11ignore_body_track\x18\x03 \x01(\x08\x12\x19\n\x11ignore_head_track\x18\x04 \x01(\x08\x12\x19\n\x11ignore_lift_track\x18\x05 \x01(\x08\"\xd6\x01\n\x15PlayAnimationResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12?\n\x06result\x18\x02 \x01(\x0e\x32/.Anki.Vector.external_interface.BehaviorResults\x12<\n\tanimation\x18\x03 \x01(\x0b\x32).Anki.Vector.external_interface.Animation\"\x17\n\x15ListAnimationsRequest\"\x9c\x01\n\x16ListAnimationsResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12\x42\n\x0f\x61nimation_names\x18\x02 \x03(\x0b\x32).Anki.Vector.external_interface.Animation\"\x1e\n\x1cListAnimationTriggersRequest\"\xb2\x01\n\x1dListAnimationTriggersResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12Q\n\x17\x61nimation_trigger_names\x18\x02 \x03(\x0b\x32\x30.Anki.Vector.external_interface.AnimationTrigger\"_\n\x1a\x44isplayFaceImageRGBRequest\x12\x11\n\tface_data\x18\x01 \x01(\x0c\x12\x13\n\x0b\x64uration_ms\x18\x02 \x01(\r\x12\x19\n\x11interrupt_running\x18\x03 \x01(\x08\"]\n\x1b\x44isplayFaceImageRGBResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\"\x1b\n\x19MeetVictorFaceScanStarted\"\x1c\n\x1aMeetVictorFaceScanComplete\"\xbf\x02\n\x06Status\x12\x62\n\x1dmeet_victor_face_scan_started\x18\x02 \x01(\x0b\x32\x39.Anki.Vector.external_interface.MeetVictorFaceScanStartedH\x00\x12\x64\n\x1emeet_victor_face_scan_complete\x18\x03 \x01(\x0b\x32:.Anki.Vector.external_interface.MeetVictorFaceScanCompleteH\x00\x12\\\n\x19\x66\x61\x63\x65_enrollment_completed\x18\x04 \x01(\x0b\x32\x37.Anki.Vector.external_interface.FaceEnrollmentCompletedH\x00\x42\r\n\x0bstatus_type\"\xac\x01\n\x08WakeWord\x12H\n\x0fwake_word_begin\x18\x01 \x01(\x0b\x32-.Anki.Vector.external_interface.WakeWordBeginH\x00\x12\x44\n\rwake_word_end\x18\x02 \x01(\x0b\x32+.Anki.Vector.external_interface.WakeWordEndH\x00\x42\x10\n\x0ewake_word_type\"b\n\x11TimeStampedStatus\x12\x36\n\x06status\x18\x01 \x01(\x0b\x32&.Anki.Vector.external_interface.Status\x12\x15\n\rtimestamp_utc\x18\x02 \x01(\r\"p\n\nPoseStruct\x12\t\n\x01x\x18\x01 \x01(\x02\x12\t\n\x01y\x18\x02 \x01(\x02\x12\t\n\x01z\x18\x03 \x01(\x02\x12\n\n\x02q0\x18\x04 \x01(\x02\x12\n\n\x02q1\x18\x05 \x01(\x02\x12\n\n\x02q2\x18\x06 \x01(\x02\x12\n\n\x02q3\x18\x07 \x01(\x02\x12\x11\n\torigin_id\x18\x08 \x01(\r\",\n\tAccelData\x12\t\n\x01x\x18\x01 \x01(\x02\x12\t\n\x01y\x18\x02 \x01(\x02\x12\t\n\x01z\x18\x03 \x01(\x02\"+\n\x08GyroData\x12\t\n\x01x\x18\x01 \x01(\x02\x12\t\n\x01y\x18\x02 \x01(\x02\x12\t\n\x01z\x18\x03 \x01(\x02\"{\n\x08ProxData\x12\x13\n\x0b\x64istance_mm\x18\x01 \x01(\r\x12\x16\n\x0esignal_quality\x18\x02 \x01(\x02\x12\x14\n\x0cunobstructed\x18\x03 \x01(\x08\x12\x14\n\x0c\x66ound_object\x18\x04 \x01(\x08\x12\x16\n\x0eis_lift_in_fov\x18\x05 \x01(\x08\">\n\tTouchData\x12\x17\n\x0fraw_touch_value\x18\x01 \x01(\r\x12\x18\n\x10is_being_touched\x18\x02 \x01(\x08\"\x82\x05\n\nRobotState\x12\x38\n\x04pose\x18\x01 \x01(\x0b\x32*.Anki.Vector.external_interface.PoseStruct\x12\x16\n\x0epose_angle_rad\x18\x02 \x01(\x02\x12\x16\n\x0epose_pitch_rad\x18\x03 \x01(\x02\x12\x1d\n\x15left_wheel_speed_mmps\x18\x04 \x01(\x02\x12\x1e\n\x16right_wheel_speed_mmps\x18\x05 \x01(\x02\x12\x16\n\x0ehead_angle_rad\x18\x06 \x01(\x02\x12\x16\n\x0elift_height_mm\x18\x07 \x01(\x02\x12\x38\n\x05\x61\x63\x63\x65l\x18\x08 \x01(\x0b\x32).Anki.Vector.external_interface.AccelData\x12\x36\n\x04gyro\x18\t \x01(\x0b\x32(.Anki.Vector.external_interface.GyroData\x12\x1a\n\x12\x63\x61rrying_object_id\x18\n \x01(\x05\x12!\n\x19\x63\x61rrying_object_on_top_id\x18\x0b \x01(\x05\x12\x1f\n\x17head_tracking_object_id\x18\x0c \x01(\x05\x12\x1e\n\x16localized_to_object_id\x18\r \x01(\x05\x12\x1d\n\x15last_image_time_stamp\x18\x0e \x01(\r\x12\x0e\n\x06status\x18\x0f \x01(\r\x12;\n\tprox_data\x18\x10 \x01(\x0b\x32(.Anki.Vector.external_interface.ProxData\x12=\n\ntouch_data\x18\x11 \x01(\x0b\x32).Anki.Vector.external_interface.TouchData\"!\n\tCladPoint\x12\t\n\x01x\x18\x01 \x01(\x02\x12\t\n\x01y\x18\x02 \x01(\x02\"Q\n\x08\x43ladRect\x12\x12\n\nx_top_left\x18\x01 \x01(\x02\x12\x12\n\ny_top_left\x18\x02 \x01(\x02\x12\r\n\x05width\x18\x03 \x01(\x02\x12\x0e\n\x06height\x18\x04 \x01(\x02\"\x8a\x04\n\x11RobotObservedFace\x12\x0f\n\x07\x66\x61\x63\x65_id\x18\x01 \x01(\x05\x12\x11\n\ttimestamp\x18\x02 \x01(\r\x12\x38\n\x04pose\x18\x03 \x01(\x0b\x32*.Anki.Vector.external_interface.PoseStruct\x12:\n\x08img_rect\x18\x04 \x01(\x0b\x32(.Anki.Vector.external_interface.CladRect\x12\x0c\n\x04name\x18\x05 \x01(\t\x12\x44\n\nexpression\x18\x06 \x01(\x0e\x32\x30.Anki.Vector.external_interface.FacialExpression\x12\x19\n\x11\x65xpression_values\x18\x07 \x03(\r\x12;\n\x08left_eye\x18\x08 \x03(\x0b\x32).Anki.Vector.external_interface.CladPoint\x12<\n\tright_eye\x18\t \x03(\x0b\x32).Anki.Vector.external_interface.CladPoint\x12\x37\n\x04nose\x18\n \x03(\x0b\x32).Anki.Vector.external_interface.CladPoint\x12\x38\n\x05mouth\x18\x0b \x03(\x0b\x32).Anki.Vector.external_interface.CladPoint\"<\n\x1aRobotChangedObservedFaceID\x12\x0e\n\x06old_id\x18\x01 \x01(\x05\x12\x0e\n\x06new_id\x18\x02 \x01(\x05\"~\n\x17\x46\x61\x63\x65\x45nrollmentCompleted\x12\x44\n\x06result\x18\x01 \x01(\x0e\x32\x34.Anki.Vector.external_interface.FaceEnrollmentResult\x12\x0f\n\x07\x66\x61\x63\x65_id\x18\x02 \x01(\x05\x12\x0c\n\x04name\x18\x03 \x01(\t\"\x1d\n\x1b\x43\x61ncelFaceEnrollmentRequest\"^\n\x1c\x43\x61ncelFaceEnrollmentResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\"\x1d\n\x1bRequestEnrolledNamesRequest\"\xc2\x01\n\x0fLoadedKnownFace\x12$\n\x1cseconds_since_first_enrolled\x18\x01 \x01(\x03\x12\"\n\x1aseconds_since_last_updated\x18\x02 \x01(\x03\x12\x1f\n\x17seconds_since_last_seen\x18\x03 \x01(\x03\x12%\n\x1dlast_seen_seconds_since_epoch\x18\x04 \x01(\x03\x12\x0f\n\x07\x66\x61\x63\x65_id\x18\x05 \x01(\x05\x12\x0c\n\x04name\x18\x06 \x01(\t\"9\n\x18RobotRenamedEnrolledFace\x12\x0f\n\x07\x66\x61\x63\x65_id\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\"\x9e\x01\n\x1cRequestEnrolledNamesResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12>\n\x05\x66\x61\x63\x65s\x18\x02 \x03(\x0b\x32/.Anki.Vector.external_interface.LoadedKnownFace\"T\n\x1dUpdateEnrolledFaceByIDRequest\x12\x0f\n\x07\x66\x61\x63\x65_id\x18\x01 \x01(\x05\x12\x10\n\x08old_name\x18\x02 \x01(\t\x12\x10\n\x08new_name\x18\x03 \x01(\t\"`\n\x1eUpdateEnrolledFaceByIDResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\"/\n\x1c\x45raseEnrolledFaceByIDRequest\x12\x0f\n\x07\x66\x61\x63\x65_id\x18\x01 \x01(\x05\"_\n\x1d\x45raseEnrolledFaceByIDResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\"\x1e\n\x1c\x45raseAllEnrolledFacesRequest\"_\n\x1d\x45raseAllEnrolledFacesResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\"\x88\x01\n\x16SetFaceToEnrollRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0bobserved_id\x18\x02 \x01(\x05\x12\x0f\n\x07save_id\x18\x03 \x01(\x05\x12\x15\n\rsave_to_robot\x18\x04 \x01(\x08\x12\x10\n\x08say_name\x18\x05 \x01(\x08\x12\x11\n\tuse_music\x18\x06 \x01(\x08\"Y\n\x17SetFaceToEnrollResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\"\x18\n\x16\x44riveOffChargerRequest\"\x9a\x01\n\x17\x44riveOffChargerResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12?\n\x06result\x18\x02 \x01(\x0e\x32/.Anki.Vector.external_interface.BehaviorResults\"\x17\n\x15\x44riveOnChargerRequest\"\x99\x01\n\x16\x44riveOnChargerResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12?\n\x06result\x18\x02 \x01(\x0e\x32/.Anki.Vector.external_interface.BehaviorResults\"\x12\n\x10\x46indFacesRequest\"\x94\x01\n\x11\x46indFacesResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12?\n\x06result\x18\x02 \x01(\x0e\x32/.Anki.Vector.external_interface.BehaviorResults\"\x1a\n\x18LookAroundInPlaceRequest\"\x9c\x01\n\x19LookAroundInPlaceResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12?\n\x06result\x18\x02 \x01(\x0e\x32/.Anki.Vector.external_interface.BehaviorResults\"\x12\n\x10RollBlockRequest\"\x94\x01\n\x11RollBlockResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12?\n\x06result\x18\x02 \x01(\x0e\x32/.Anki.Vector.external_interface.BehaviorResults\"\x0f\n\rWakeWordBegin\"8\n\x0bWakeWordEnd\x12\x14\n\x0cintent_heard\x18\x01 \x01(\x08\x12\x13\n\x0bintent_json\x18\x02 \x01(\t\"2\n\nUserIntent\x12\x11\n\tintent_id\x18\x01 \x01(\r\x12\x11\n\tjson_data\x18\x02 \x01(\t\"n\n\tPhotoInfo\x12\x10\n\x08photo_id\x18\x01 \x01(\r\x12\x15\n\rtimestamp_utc\x18\x02 \x01(\r\x12\x1b\n\x13photo_copied_to_app\x18\x03 \x01(\x08\x12\x1b\n\x13thumb_copied_to_app\x18\x04 \x01(\x08\"\x13\n\x11PhotosInfoRequest\"\x94\x01\n\x12PhotosInfoResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12>\n\x0bphoto_infos\x18\x02 \x03(\x0b\x32).Anki.Vector.external_interface.PhotoInfo\" \n\x0cPhotoRequest\x12\x10\n\x08photo_id\x18\x01 \x01(\r\"6\n\x10PhotoPathMessage\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x11\n\tfull_path\x18\x02 \x01(\t\"o\n\rPhotoResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12\x0f\n\x07success\x18\x02 \x01(\x08\x12\r\n\x05image\x18\x03 \x01(\x0c\"$\n\x10ThumbnailRequest\x12\x10\n\x08photo_id\x18\x01 \x01(\r\":\n\x14ThumbnailPathMessage\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x11\n\tfull_path\x18\x02 \x01(\t\"s\n\x11ThumbnailResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12\x0f\n\x07success\x18\x02 \x01(\x08\x12\r\n\x05image\x18\x03 \x01(\x0c\"&\n\x12\x44\x65letePhotoRequest\x12\x10\n\x08photo_id\x18\x01 \x01(\r\"f\n\x13\x44\x65letePhotoResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12\x0f\n\x07success\x18\x02 \x01(\x08\"\x1e\n\nPhotoTaken\x12\x10\n\x08photo_id\x18\x01 \x01(\r\"\xc1\x02\n\x11PathMotionProfile\x12\x12\n\nspeed_mmps\x18\x01 \x01(\x02\x12\x13\n\x0b\x61\x63\x63\x65l_mmps2\x18\x02 \x01(\x02\x12\x13\n\x0b\x64\x65\x63\x65l_mmps2\x18\x03 \x01(\x02\x12$\n\x1cpoint_turn_speed_rad_per_sec\x18\x04 \x01(\x02\x12%\n\x1dpoint_turn_accel_rad_per_sec2\x18\x05 \x01(\x02\x12%\n\x1dpoint_turn_decel_rad_per_sec2\x18\x06 \x01(\x02\x12\x17\n\x0f\x64ock_speed_mmps\x18\x07 \x01(\x02\x12\x18\n\x10\x64ock_accel_mmps2\x18\x08 \x01(\x02\x12\x18\n\x10\x64ock_decel_mmps2\x18\t \x01(\x02\x12\x1a\n\x12reverse_speed_mmps\x18\n \x01(\x02\x12\x11\n\tis_custom\x18\x0b \x01(\x08\"\xf8\x0c\n\x0c\x41\x63tionResult\x12K\n\x04\x63ode\x18\x01 \x01(\x0e\x32=.Anki.Vector.external_interface.ActionResult.ActionResultCode\"\x9a\x0c\n\x10\x41\x63tionResultCode\x12\x19\n\x15\x41\x43TION_RESULT_SUCCESS\x10\x00\x12\x1c\n\x15\x41\x43TION_RESULT_RUNNING\x10\x80\x80\x80\x08\x12,\n%ACTION_RESULT_CANCELLED_WHILE_RUNNING\x10\x80\x80\x80\x10\x12\x12\n\x0bNOT_STARTED\x10\x81\x80\x80\x10\x12\x0c\n\x05\x41\x42ORT\x10\x80\x80\x80\x18\x12\x13\n\x0c\x41NIM_ABORTED\x10\x81\x80\x80\x18\x12\x11\n\nBAD_MARKER\x10\x82\x80\x80\x18\x12\x16\n\x0f\x42\x41\x44_MESSAGE_TAG\x10\x83\x80\x80\x18\x12\x11\n\nBAD_OBJECT\x10\x84\x80\x80\x18\x12\x0f\n\x08\x42\x41\x44_POSE\x10\x85\x80\x80\x18\x12\x0e\n\x07\x42\x41\x44_TAG\x10\x86\x80\x80\x18\x12\x1e\n\x17\x43HARGER_UNPLUGGED_ABORT\x10\x87\x80\x80\x18\x12!\n\x1a\x43LIFF_ALIGN_FAILED_TIMEOUT\x10\x88\x80\x80\x18\x12$\n\x1d\x43LIFF_ALIGN_FAILED_NO_TURNING\x10\x89\x80\x80\x18\x12&\n\x1f\x43LIFF_ALIGN_FAILED_OVER_TURNING\x10\x8a\x80\x80\x18\x12\"\n\x1b\x43LIFF_ALIGN_FAILED_NO_WHITE\x10\x8b\x80\x80\x18\x12!\n\x1a\x43LIFF_ALIGN_FAILED_STOPPED\x10\x8c\x80\x80\x18\x12!\n\x1a\x46\x41ILED_SETTING_CALIBRATION\x10\x8d\x80\x80\x18\x12(\n!FOLLOWING_PATH_BUT_NOT_TRAVERSING\x10\x8e\x80\x80\x18\x12\x12\n\x0bINTERRUPTED\x10\x8f\x80\x80\x18\x12\x1f\n\x18INVALID_OFF_TREADS_STATE\x10\x90\x80\x80\x18\x12\x19\n\x12MISMATCHED_UP_AXIS\x10\x91\x80\x80\x18\x12\x13\n\x0cNO_ANIM_NAME\x10\x92\x80\x80\x18\x12\x16\n\x0fNO_DISTANCE_SET\x10\x93\x80\x80\x18\x12\x0e\n\x07NO_FACE\x10\x94\x80\x80\x18\x12\x12\n\x0bNO_GOAL_SET\x10\x95\x80\x80\x18\x12\x19\n\x12NO_PREACTION_POSES\x10\x96\x80\x80\x18\x12 \n\x19NOT_CARRYING_OBJECT_ABORT\x10\x97\x80\x80\x18\x12\x1b\n\x14NOT_ON_CHARGER_ABORT\x10\x98\x80\x80\x18\x12\x15\n\x0eNULL_SUBACTION\x10\x99\x80\x80\x18\x12!\n\x1aPATH_PLANNING_FAILED_ABORT\x10\x9a\x80\x80\x18\x12(\n!PICKUP_OBJECT_UNEXPECTEDLY_MOVING\x10\x9b\x80\x80\x18\x12#\n\x1cSEND_MESSAGE_TO_ROBOT_FAILED\x10\x9c\x80\x80\x18\x12\x1c\n\x15STILL_CARRYING_OBJECT\x10\x9d\x80\x80\x18\x12\x0e\n\x07TIMEOUT\x10\x9e\x80\x80\x18\x12\x14\n\rTRACKS_LOCKED\x10\x9f\x80\x80\x18\x12\x1d\n\x16UNEXPECTED_DOCK_ACTION\x10\xa0\x80\x80\x18\x12\x18\n\x11UNKNOWN_TOOL_CODE\x10\xa1\x80\x80\x18\x12\x1c\n\x15UPDATE_DERIVED_FAILED\x10\xa2\x80\x80\x18\x12 \n\x19VISUAL_OBSERVATION_FAILED\x10\xa3\x80\x80\x18\x12 \n\x19SHOULDNT_DRIVE_ON_CHARGER\x10\xa4\x80\x80\x18\x12\x0c\n\x05RETRY\x10\x80\x80\x80 \x12#\n\x1c\x44ID_NOT_REACH_PREACTION_POSE\x10\x81\x80\x80 \x12\x1d\n\x16\x46\x41ILED_TRAVERSING_PATH\x10\x82\x80\x80 \x12!\n\x1aLAST_PICK_AND_PLACE_FAILED\x10\x83\x80\x80 \x12$\n\x1dMOTOR_STOPPED_MAKING_PROGRESS\x10\x84\x80\x80 \x12 \n\x19NOT_CARRYING_OBJECT_RETRY\x10\x85\x80\x80 \x12\x1b\n\x14NOT_ON_CHARGER_RETRY\x10\x86\x80\x80 \x12!\n\x1aPATH_PLANNING_FAILED_RETRY\x10\x87\x80\x80 \x12\x1e\n\x17PLACEMENT_GOAL_NOT_FREE\x10\x88\x80\x80 \x12,\n%PICKUP_OBJECT_UNEXPECTEDLY_NOT_MOVING\x10\x89\x80\x80 \x12\x17\n\x10STILL_ON_CHARGER\x10\x8a\x80\x80 \x12\x1d\n\x16UNEXPECTED_PITCH_ANGLE\x10\x8b\x80\x80 \",\n\x1a\x43\x61ncelActionByIdTagRequest\x12\x0e\n\x06id_tag\x18\x01 \x01(\r\"]\n\x1b\x43\x61ncelActionByIdTagResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\"\xa7\x01\n\x0fGoToPoseRequest\x12\x0c\n\x04x_mm\x18\x01 \x01(\x02\x12\x0c\n\x04y_mm\x18\x02 \x01(\x02\x12\x0b\n\x03rad\x18\x03 \x01(\x02\x12\x46\n\x0bmotion_prof\x18\x04 \x01(\x0b\x32\x31.Anki.Vector.external_interface.PathMotionProfile\x12\x0e\n\x06id_tag\x18\x05 \x01(\x05\x12\x13\n\x0bnum_retries\x18\x06 \x01(\x05\"\x90\x01\n\x10GoToPoseResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12<\n\x06result\x18\x02 \x01(\x0b\x32,.Anki.Vector.external_interface.ActionResult\"\xd0\x02\n\x13\x44ockWithCubeRequest\x12\x11\n\tobject_id\x18\x01 \x01(\x05\x12\x1f\n\x17\x64istance_from_marker_mm\x18\x02 \x01(\x02\x12\x1a\n\x12\x61pproach_angle_rad\x18\x03 \x01(\x02\x12\x45\n\x0e\x61lignment_type\x18\x04 \x01(\x0e\x32-.Anki.Vector.external_interface.AlignmentType\x12\x1a\n\x12use_approach_angle\x18\x05 \x01(\x08\x12\x19\n\x11use_pre_dock_pose\x18\x06 \x01(\x08\x12\x46\n\x0bmotion_prof\x18\x07 \x01(\x0b\x32\x31.Anki.Vector.external_interface.PathMotionProfile\x12\x0e\n\x06id_tag\x18\x08 \x01(\x05\x12\x13\n\x0bnum_retries\x18\t \x01(\x05\"\x94\x01\n\x14\x44ockWithCubeResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12<\n\x06result\x18\x02 \x01(\x0b\x32,.Anki.Vector.external_interface.ActionResult\"\x7f\n\x14\x44riveStraightRequest\x12\x12\n\nspeed_mmps\x18\x01 \x01(\x02\x12\x0f\n\x07\x64ist_mm\x18\x02 \x01(\x02\x12\x1d\n\x15should_play_animation\x18\x03 \x01(\x08\x12\x0e\n\x06id_tag\x18\x04 \x01(\x05\x12\x13\n\x0bnum_retries\x18\x05 \x01(\x05\"\x95\x01\n\x15\x44riveStraightResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12<\n\x06result\x18\x02 \x01(\x0b\x32,.Anki.Vector.external_interface.ActionResult\"\xa9\x01\n\x12TurnInPlaceRequest\x12\x11\n\tangle_rad\x18\x01 \x01(\x02\x12\x19\n\x11speed_rad_per_sec\x18\x02 \x01(\x02\x12\x1a\n\x12\x61\x63\x63\x65l_rad_per_sec2\x18\x03 \x01(\x02\x12\x0f\n\x07tol_rad\x18\x04 \x01(\x02\x12\x13\n\x0bis_absolute\x18\x05 \x01(\r\x12\x0e\n\x06id_tag\x18\x06 \x01(\x05\x12\x13\n\x0bnum_retries\x18\x07 \x01(\x05\"\x93\x01\n\x13TurnInPlaceResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12<\n\x06result\x18\x02 \x01(\x0b\x32,.Anki.Vector.external_interface.ActionResult\"\x9e\x01\n\x13SetHeadAngleRequest\x12\x11\n\tangle_rad\x18\x01 \x01(\x02\x12\x1d\n\x15max_speed_rad_per_sec\x18\x02 \x01(\x02\x12\x1a\n\x12\x61\x63\x63\x65l_rad_per_sec2\x18\x03 \x01(\x02\x12\x14\n\x0c\x64uration_sec\x18\x04 \x01(\x02\x12\x0e\n\x06id_tag\x18\x05 \x01(\x05\x12\x13\n\x0bnum_retries\x18\x06 \x01(\x05\"\x94\x01\n\x14SetHeadAngleResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12<\n\x06result\x18\x02 \x01(\x0b\x32,.Anki.Vector.external_interface.ActionResult\"\x9f\x01\n\x14SetLiftHeightRequest\x12\x11\n\theight_mm\x18\x01 \x01(\x02\x12\x1d\n\x15max_speed_rad_per_sec\x18\x02 \x01(\x02\x12\x1a\n\x12\x61\x63\x63\x65l_rad_per_sec2\x18\x03 \x01(\x02\x12\x14\n\x0c\x64uration_sec\x18\x04 \x01(\x02\x12\x0e\n\x06id_tag\x18\x05 \x01(\x05\x12\x13\n\x0bnum_retries\x18\x06 \x01(\x05\"\x95\x01\n\x15SetLiftHeightResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12<\n\x06result\x18\x02 \x01(\x0b\x32,.Anki.Vector.external_interface.ActionResult\"j\n\x16TurnTowardsFaceRequest\x12\x0f\n\x07\x66\x61\x63\x65_id\x18\x01 \x01(\x05\x12\x1a\n\x12max_turn_angle_rad\x18\x02 \x01(\x02\x12\x0e\n\x06id_tag\x18\x03 \x01(\x05\x12\x13\n\x0bnum_retries\x18\x04 \x01(\x05\"\x97\x01\n\x17TurnTowardsFaceResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12<\n\x06result\x18\x02 \x01(\x0b\x32,.Anki.Vector.external_interface.ActionResult\"\xd6\x01\n\x11GoToObjectRequest\x12\x11\n\tobject_id\x18\x01 \x01(\x05\x12\x46\n\x0bmotion_prof\x18\x02 \x01(\x0b\x32\x31.Anki.Vector.external_interface.PathMotionProfile\x12&\n\x1e\x64istance_from_object_origin_mm\x18\x03 \x01(\x02\x12\x19\n\x11use_pre_dock_pose\x18\x04 \x01(\x08\x12\x0e\n\x06id_tag\x18\x05 \x01(\x05\x12\x13\n\x0bnum_retries\x18\x06 \x01(\x05\"\x92\x01\n\x12GoToObjectResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12<\n\x06result\x18\x02 \x01(\x0b\x32,.Anki.Vector.external_interface.ActionResult\"\xe6\x01\n\x11RollObjectRequest\x12\x11\n\tobject_id\x18\x01 \x01(\x05\x12\x46\n\x0bmotion_prof\x18\x02 \x01(\x0b\x32\x31.Anki.Vector.external_interface.PathMotionProfile\x12\x1a\n\x12\x61pproach_angle_rad\x18\x03 \x01(\x02\x12\x1a\n\x12use_approach_angle\x18\x04 \x01(\x08\x12\x19\n\x11use_pre_dock_pose\x18\x05 \x01(\x08\x12\x0e\n\x06id_tag\x18\x06 \x01(\x05\x12\x13\n\x0bnum_retries\x18\x07 \x01(\x05\"\x92\x01\n\x12RollObjectResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12<\n\x06result\x18\x02 \x01(\x0b\x32,.Anki.Vector.external_interface.ActionResult\"\xe7\x01\n\x12PopAWheelieRequest\x12\x11\n\tobject_id\x18\x01 \x01(\x05\x12\x46\n\x0bmotion_prof\x18\x02 \x01(\x0b\x32\x31.Anki.Vector.external_interface.PathMotionProfile\x12\x1a\n\x12\x61pproach_angle_rad\x18\x03 \x01(\x02\x12\x1a\n\x12use_approach_angle\x18\x04 \x01(\x08\x12\x19\n\x11use_pre_dock_pose\x18\x05 \x01(\x08\x12\x0e\n\x06id_tag\x18\x06 \x01(\x05\x12\x13\n\x0bnum_retries\x18\x07 \x01(\x05\"\x93\x01\n\x13PopAWheelieResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12<\n\x06result\x18\x02 \x01(\x0b\x32,.Anki.Vector.external_interface.ActionResult\"\xe8\x01\n\x13PickupObjectRequest\x12\x11\n\tobject_id\x18\x01 \x01(\x05\x12\x46\n\x0bmotion_prof\x18\x02 \x01(\x0b\x32\x31.Anki.Vector.external_interface.PathMotionProfile\x12\x1a\n\x12\x61pproach_angle_rad\x18\x03 \x01(\x02\x12\x1a\n\x12use_approach_angle\x18\x04 \x01(\x08\x12\x19\n\x11use_pre_dock_pose\x18\x05 \x01(\x08\x12\x0e\n\x06id_tag\x18\x06 \x01(\x05\x12\x13\n\x0bnum_retries\x18\x07 \x01(\x05\"\x94\x01\n\x14PickupObjectResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12<\n\x06result\x18\x02 \x01(\x0b\x32,.Anki.Vector.external_interface.ActionResult\"E\n\x1ePlaceObjectOnGroundHereRequest\x12\x0e\n\x06id_tag\x18\x01 \x01(\x05\x12\x13\n\x0bnum_retries\x18\x02 \x01(\x05\"\x9f\x01\n\x1fPlaceObjectOnGroundHereResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12<\n\x06result\x18\x02 \x01(\x0b\x32,.Anki.Vector.external_interface.ActionResult\"\x15\n\x13\x42\x61tteryStateRequest\"\xc9\x02\n\x14\x42\x61tteryStateResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12\x43\n\rbattery_level\x18\x02 \x01(\x0e\x32,.Anki.Vector.external_interface.BatteryLevel\x12\x15\n\rbattery_volts\x18\x03 \x01(\x02\x12\x13\n\x0bis_charging\x18\x04 \x01(\x08\x12\x1e\n\x16is_on_charger_platform\x18\x05 \x01(\x08\x12\x1d\n\x15suggested_charger_sec\x18\x06 \x01(\x02\x12\x41\n\x0c\x63ube_battery\x18\x07 \x01(\x0b\x32+.Anki.Vector.external_interface.CubeBattery\"\xd3\x01\n\x0b\x43ubeBattery\x12K\n\x05level\x18\x01 \x01(\x0e\x32<.Anki.Vector.external_interface.CubeBattery.CubeBatteryLevel\x12\x12\n\nfactory_id\x18\x02 \x01(\t\x12\x15\n\rbattery_volts\x18\x03 \x01(\x02\x12#\n\x1btime_since_last_reading_sec\x18\x04 \x01(\x02\"\'\n\x10\x43ubeBatteryLevel\x12\x07\n\x03Low\x10\x00\x12\n\n\x06Normal\x10\x01\"\x15\n\x13VersionStateRequest\"\x83\x01\n\x14VersionStateResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12\x12\n\nos_version\x18\x02 \x01(\t\x12\x17\n\x0f\x65ngine_build_id\x18\x03 \x01(\t\"Q\n\x0eSayTextRequest\x12\x0c\n\x04text\x18\x01 \x01(\t\x12\x18\n\x10use_vector_voice\x18\x02 \x01(\x08\x12\x17\n\x0f\x64uration_scalar\x18\x03 \x01(\x02\"\xf5\x01\n\x0fSayTextResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12M\n\x05state\x18\x02 \x01(\x0e\x32>.Anki.Vector.external_interface.SayTextResponse.UtteranceState\"S\n\x0eUtteranceState\x12\x0b\n\x07INVALID\x10\x00\x12\x0e\n\nGENERATING\x10\x01\x12\t\n\x05READY\x10\x02\x12\x0b\n\x07PLAYING\x10\x03\x12\x0c\n\x08\x46INISHED\x10\x04\"\x9b\x01\n\x0fStimulationInfo\x12\x16\n\x0e\x65motion_events\x18\x01 \x03(\t\x12\r\n\x05value\x18\x02 \x01(\x02\x12\x10\n\x08velocity\x18\x03 \x01(\x02\x12\r\n\x05\x61\x63\x63\x65l\x18\x04 \x01(\x02\x12\x1a\n\x12value_before_event\x18\x05 \x01(\x02\x12\x11\n\tmin_value\x18\x06 \x01(\x02\x12\x11\n\tmax_value\x18\x07 \x01(\x02\"Y\n\x14\x41udioSendModeRequest\x12\x41\n\x04mode\x18\x01 \x01(\x0e\x32\x33.Anki.Vector.external_interface.AudioProcessingMode\"Y\n\x14\x41udioSendModeChanged\x12\x41\n\x04mode\x18\x01 \x01(\x0e\x32\x33.Anki.Vector.external_interface.AudioProcessingMode\"\xe8\x01\n\nAudioChunk\x12\x18\n\x10robot_time_stamp\x18\x01 \x01(\r\x12\x10\n\x08group_id\x18\x02 \x01(\r\x12\x10\n\x08\x63hunk_id\x18\x03 \x01(\r\x12\x19\n\x11\x61udio_chunk_count\x18\x04 \x01(\r\x12\x14\n\x0csignal_power\x18\x05 \x01(\x0c\x12\x1b\n\x13\x64irection_strengths\x18\x06 \x01(\x0c\x12\x18\n\x10source_direction\x18\x07 \x01(\r\x12\x19\n\x11source_confidence\x18\x08 \x01(\r\x12\x19\n\x11noise_floor_power\x18\t \x01(\r\"\x12\n\x10\x41udioFeedRequest\"\xc8\x01\n\x11\x41udioFeedResponse\x12\x18\n\x10robot_time_stamp\x18\x01 \x01(\r\x12\x10\n\x08group_id\x18\x02 \x01(\r\x12\x14\n\x0csignal_power\x18\x03 \x01(\x0c\x12\x1b\n\x13\x64irection_strengths\x18\x04 \x01(\x0c\x12\x18\n\x10source_direction\x18\x05 \x01(\r\x12\x19\n\x11source_confidence\x18\x06 \x01(\r\x12\x19\n\x11noise_floor_power\x18\x07 \x01(\r:\x04\x80\xa6\x1d\x01\"L\n\x1a\x45xternalAudioStreamPrepare\x12\x18\n\x10\x61udio_frame_rate\x18\x01 \x01(\r\x12\x14\n\x0c\x61udio_volume\x18\x02 \x01(\r\"W\n\x18\x45xternalAudioStreamChunk\x12\x1e\n\x16\x61udio_chunk_size_bytes\x18\x01 \x01(\r\x12\x1b\n\x13\x61udio_chunk_samples\x18\x02 \x01(\x0c\"\x1d\n\x1b\x45xternalAudioStreamComplete\"\x1b\n\x19\x45xternalAudioStreamCancel\"\x9e\x03\n\x1a\x45xternalAudioStreamRequest\x12Z\n\x14\x61udio_stream_prepare\x18\x01 \x01(\x0b\x32:.Anki.Vector.external_interface.ExternalAudioStreamPrepareH\x00\x12V\n\x12\x61udio_stream_chunk\x18\x02 \x01(\x0b\x32\x38.Anki.Vector.external_interface.ExternalAudioStreamChunkH\x00\x12\\\n\x15\x61udio_stream_complete\x18\x03 \x01(\x0b\x32;.Anki.Vector.external_interface.ExternalAudioStreamCompleteH\x00\x12X\n\x13\x61udio_stream_cancel\x18\x04 \x01(\x0b\x32\x39.Anki.Vector.external_interface.ExternalAudioStreamCancelH\x00\x42\x14\n\x12\x61udio_request_type\"%\n#ExternalAudioStreamPlaybackComplete\"$\n\"ExternalAudioStreamPlaybackFailure\"\\\n ExternalAudioStreamBufferOverrun\x12\x1a\n\x12\x61udio_samples_sent\x18\x01 \x01(\r\x12\x1c\n\x14\x61udio_samples_played\x18\x02 \x01(\r\"\xf9\x02\n\x1b\x45xternalAudioStreamResponse\x12m\n\x1e\x61udio_stream_playback_complete\x18\x01 \x01(\x0b\x32\x43.Anki.Vector.external_interface.ExternalAudioStreamPlaybackCompleteH\x00\x12g\n\x1b\x61udio_stream_buffer_overrun\x18\x02 \x01(\x0b\x32@.Anki.Vector.external_interface.ExternalAudioStreamBufferOverrunH\x00\x12k\n\x1d\x61udio_stream_playback_failyer\x18\x03 \x01(\x0b\x32\x42.Anki.Vector.external_interface.ExternalAudioStreamPlaybackFailureH\x00\x42\x15\n\x13\x61udio_response_type\"^\n\x13MasterVolumeRequest\x12G\n\x0cvolume_level\x18\x01 \x01(\x0e\x32\x31.Anki.Vector.external_interface.MasterVolumeLevel\"V\n\x14MasterVolumeResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\".\n\x1c\x45nableMarkerDetectionRequest\x12\x0e\n\x06\x65nable\x18\x01 \x01(\x08\"_\n\x1d\x45nableMarkerDetectionResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\"\xb1\x01\n\x1a\x45nableFaceDetectionRequest\x12\x0e\n\x06\x65nable\x18\x01 \x01(\x08\x12\x1e\n\x16\x65nable_smile_detection\x18\x02 \x01(\x08\x12$\n\x1c\x65nable_expression_estimation\x18\x03 \x01(\x08\x12\x1e\n\x16\x65nable_blink_detection\x18\x04 \x01(\x08\x12\x1d\n\x15\x65nable_gaze_detection\x18\x05 \x01(\x08\"]\n\x1b\x45nableFaceDetectionResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\".\n\x1c\x45nableMotionDetectionRequest\x12\x0e\n\x06\x65nable\x18\x01 \x01(\x08\"_\n\x1d\x45nableMotionDetectionResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\")\n\x17\x45nableMirrorModeRequest\x12\x0e\n\x06\x65nable\x18\x01 \x01(\x08\"Z\n\x18\x45nableMirrorModeResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\"\x14\n\x12MirrorModeDisabled\"-\n\x1b\x45nableImageStreamingRequest\x12\x0e\n\x06\x65nable\x18\x01 \x01(\x08\"^\n\x1c\x45nableImageStreamingResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\" \n\x1eIsImageStreamingEnabledRequest\"E\n\x1fIsImageStreamingEnabledResponse\x12\"\n\x1ais_image_streaming_enabled\x18\x01 \x01(\x08\"\x19\n\x17VisionModesAutoDisabled\"\xd1\x03\n\nImageChunk\x12\x18\n\x10\x66rame_time_stamp\x18\x01 \x01(\r\x12\x10\n\x08image_id\x18\x02 \x01(\r\x12\r\n\x05width\x18\x03 \x01(\r\x12\x0e\n\x06height\x18\x04 \x01(\r\x12P\n\x0eimage_encoding\x18\x05 \x01(\x0e\x32\x38.Anki.Vector.external_interface.ImageChunk.ImageEncoding\x12\x15\n\rdisplay_index\x18\x06 \x01(\r\x12\x19\n\x11image_chunk_count\x18\x07 \x01(\r\x12\x10\n\x08\x63hunk_id\x18\x08 \x01(\r\x12\x0c\n\x04\x64\x61ta\x18\t \x01(\x0c\"\xd3\x01\n\rImageEncoding\x12\x17\n\x13NONE_IMAGE_ENCODING\x10\x00\x12\x0c\n\x08RAW_GRAY\x10\x01\x12\x0b\n\x07RAW_RGB\x10\x02\x12\x08\n\x04YUYV\x10\x03\x12\x0c\n\x08YUV420SP\x10\x04\x12\t\n\x05\x42\x41YER\x10\x05\x12\r\n\tJPEG_GRAY\x10\x06\x12\x0e\n\nJPEG_COLOR\x10\x07\x12\x19\n\x15JPEG_COLOR_HALF_WIDTH\x10\x08\x12\x17\n\x13JPEG_MINIMIZED_GRAY\x10\t\x12\x18\n\x14JPEG_MINIMIZED_COLOR\x10\n\"\x13\n\x11\x43\x61meraFeedRequest\"\xa6\x01\n\x12\x43\x61meraFeedResponse\x12\x18\n\x10\x66rame_time_stamp\x18\x01 \x01(\r\x12\x10\n\x08image_id\x18\x02 \x01(\r\x12P\n\x0eimage_encoding\x18\x03 \x01(\x0e\x32\x38.Anki.Vector.external_interface.ImageChunk.ImageEncoding\x12\x0c\n\x04\x64\x61ta\x18\x04 \x01(\x0c:\x04\x80\xa6\x1d\x01\"\x1b\n\x19\x43\x61ptureSingleImageRequest\"\xe8\x01\n\x1a\x43\x61ptureSingleImageResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12\x18\n\x10\x66rame_time_stamp\x18\x02 \x01(\r\x12\x10\n\x08image_id\x18\x03 \x01(\r\x12P\n\x0eimage_encoding\x18\x04 \x01(\x0e\x32\x38.Anki.Vector.external_interface.ImageChunk.ImageEncoding\x12\x0c\n\x04\x64\x61ta\x18\x05 \x01(\x0c\"5\n\x12SetEyeColorRequest\x12\x0b\n\x03hue\x18\x01 \x01(\x02\x12\x12\n\nsaturation\x18\x02 \x01(\x02\"U\n\x13SetEyeColorResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\"\x96\x01\n\x18SDKInitializationRequest\x12\x1a\n\x12sdk_module_version\x18\x01 \x01(\t\x12\x16\n\x0epython_version\x18\x02 \x01(\t\x12\x1d\n\x15python_implementation\x18\x03 \x01(\t\x12\x12\n\nos_version\x18\x04 \x01(\t\x12\x13\n\x0b\x63pu_version\x18\x05 \x01(\t\"[\n\x19SDKInitializationResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus*\xdc\x04\n\x0bRobotStatus\x12\x15\n\x11ROBOT_STATUS_NONE\x10\x00\x12\x1a\n\x16ROBOT_STATUS_IS_MOVING\x10\x01\x12\"\n\x1eROBOT_STATUS_IS_CARRYING_BLOCK\x10\x02\x12&\n\"ROBOT_STATUS_IS_PICKING_OR_PLACING\x10\x04\x12\x1d\n\x19ROBOT_STATUS_IS_PICKED_UP\x10\x08\x12\"\n\x1eROBOT_STATUS_IS_BUTTON_PRESSED\x10\x10\x12\x1b\n\x17ROBOT_STATUS_IS_FALLING\x10 \x12\x1d\n\x19ROBOT_STATUS_IS_ANIMATING\x10@\x12\x1c\n\x17ROBOT_STATUS_IS_PATHING\x10\x80\x01\x12\x1d\n\x18ROBOT_STATUS_LIFT_IN_POS\x10\x80\x02\x12\x1d\n\x18ROBOT_STATUS_HEAD_IN_POS\x10\x80\x04\x12!\n\x1cROBOT_STATUS_CALM_POWER_MODE\x10\x80\x08\x12\x1f\n\x1aROBOT_STATUS_IS_ON_CHARGER\x10\x80 \x12\x1d\n\x18ROBOT_STATUS_IS_CHARGING\x10\x80@\x12!\n\x1bROBOT_STATUS_CLIFF_DETECTED\x10\x80\x80\x01\x12$\n\x1eROBOT_STATUS_ARE_WHEELS_MOVING\x10\x80\x80\x02\x12 \n\x1aROBOT_STATUS_IS_BEING_HELD\x10\x80\x80\x04\x12%\n\x1fROBOT_STATUS_IS_MOTION_DETECTED\x10\x80\x80\x08*\xbd\x01\n\x10\x46\x61\x63ialExpression\x12\x16\n\x12\x45XPRESSION_UNKNOWN\x10\x00\x12\x16\n\x12\x45XPRESSION_NEUTRAL\x10\x01\x12\x18\n\x14\x45XPRESSION_HAPPINESS\x10\x02\x12\x17\n\x13\x45XPRESSION_SURPRISE\x10\x03\x12\x14\n\x10\x45XPRESSION_ANGER\x10\x04\x12\x16\n\x12\x45XPRESSION_SADNESS\x10\x05\x12\x14\n\x10\x45XPRESSION_COUNT\x10\x05\x1a\x02\x10\x01*\xcc\x01\n\x14\x46\x61\x63\x65\x45nrollmentResult\x12\x0b\n\x07SUCCESS\x10\x00\x12\x12\n\x0eSAW_WRONG_FACE\x10\x01\x12\x16\n\x12SAW_MULTIPLE_FACES\x10\x02\x12\r\n\tTIMED_OUT\x10\x03\x12\x0f\n\x0bSAVE_FAILED\x10\x04\x12\x0e\n\nINCOMPLETE\x10\x05\x12\r\n\tCANCELLED\x10\x06\x12\x0f\n\x0bNAME_IN_USE\x10\x07\x12\x16\n\x12NAMED_STORAGE_FULL\x10\x08\x12\x13\n\x0fUNKNOWN_FAILURE\x10\t*l\n\x0f\x42\x65haviorResults\x12\x1a\n\x16\x42\x45HAVIOR_INVALID_STATE\x10\x00\x12\x1b\n\x17\x42\x45HAVIOR_COMPLETE_STATE\x10\x01\x12 \n\x1c\x42\x45HAVIOR_WONT_ACTIVATE_STATE\x10\x02*S\n\x12\x41\x63tionTagConstants\x12\x13\n\x0fINVALID_SDK_TAG\x10\x00\x12\x13\n\rFIRST_SDK_TAG\x10\x81\x89z\x12\x13\n\x0cLAST_SDK_TAG\x10\xc0\x8d\xb7\x01*\x9e\x01\n\rAlignmentType\x12\x1a\n\x16\x41LIGNMENT_TYPE_UNKNOWN\x10\x00\x12\x1e\n\x1a\x41LIGNMENT_TYPE_LIFT_FINGER\x10\x01\x12\x1d\n\x19\x41LIGNMENT_TYPE_LIFT_PLATE\x10\x02\x12\x17\n\x13\x41LIGNMENT_TYPE_BODY\x10\x03\x12\x19\n\x15\x41LIGNMENT_TYPE_CUSTOM\x10\x04*s\n\x0c\x42\x61tteryLevel\x12\x19\n\x15\x42\x41TTERY_LEVEL_UNKNOWN\x10\x00\x12\x15\n\x11\x42\x41TTERY_LEVEL_LOW\x10\x01\x12\x19\n\x15\x42\x41TTERY_LEVEL_NOMINAL\x10\x02\x12\x16\n\x12\x42\x41TTERY_LEVEL_FULL\x10\x03*\xcc\x01\n\x0e\x41udioConstants\x12\x18\n\x14\x41UDIO_CONSTANTS_NULL\x10\x00\x12\x1c\n\x18MIC_DETECTION_DIRECTIONS\x10\x0c\x12%\n SAMPLE_COUNTS_PER_ENGINE_MESSAGE\x10\xa0\x01\x12\"\n\x1dSAMPLE_COUNTS_PER_SDK_MESSAGE\x10\xc0\x0c\x12\x1b\n\x16MICROPHONE_SAMPLE_RATE\x10\x89z\x12\x1a\n\x15PROCESSED_SAMPLE_RATE\x10\x80}*\x85\x01\n\x13\x41udioProcessingMode\x12\x11\n\rAUDIO_UNKNOWN\x10\x00\x12\r\n\tAUDIO_OFF\x10\x01\x12\x13\n\x0f\x41UDIO_FAST_MODE\x10\x02\x12\x1a\n\x16\x41UDIO_DIRECTIONAL_MODE\x10\x03\x12\x1b\n\x17\x41UDIO_VOICE_DETECT_MODE\x10\x04*v\n\x11MasterVolumeLevel\x12\x0e\n\nVOLUME_LOW\x10\x00\x12\x15\n\x11VOLUME_MEDIUM_LOW\x10\x01\x12\x11\n\rVOLUME_MEDIUM\x10\x02\x12\x16\n\x12VOLUME_MEDIUM_HIGH\x10\x03\x12\x0f\n\x0bVOLUME_HIGH\x10\x04\x62\x06proto3') + serialized_pb=_b('\n$anki_vector/messaging/messages.proto\x12\x1e\x41nki.Vector.external_interface\x1a+anki_vector/messaging/response_status.proto\x1a&anki_vector/messaging/extensions.proto\x1a!anki_vector/messaging/alexa.proto\"\x0f\n\rKeepAlivePing\" \n\x10\x41nimationTrigger\x12\x0c\n\x04name\x18\x01 \x01(\t\"\x19\n\tAnimation\x12\x0c\n\x04name\x18\x01 \x01(\t\"|\n\x12\x44riveWheelsRequest\x12\x17\n\x0fleft_wheel_mmps\x18\x01 \x01(\x02\x12\x18\n\x10right_wheel_mmps\x18\x02 \x01(\x02\x12\x18\n\x10left_wheel_mmps2\x18\x03 \x01(\x02\x12\x19\n\x11right_wheel_mmps2\x18\x04 \x01(\x02\"U\n\x13\x44riveWheelsResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\",\n\x0fMoveHeadRequest\x12\x19\n\x11speed_rad_per_sec\x18\x01 \x01(\x02\"R\n\x10MoveHeadResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\",\n\x0fMoveLiftRequest\x12\x19\n\x11speed_rad_per_sec\x18\x01 \x01(\x02\"R\n\x10MoveLiftResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\"\x16\n\x14StopAllMotorsRequest\"W\n\x15StopAllMotorsResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\"\xe1\x01\n\x1bPlayAnimationTriggerRequest\x12K\n\x11\x61nimation_trigger\x18\x01 \x01(\x0b\x32\x30.Anki.Vector.external_interface.AnimationTrigger\x12\r\n\x05loops\x18\x02 \x01(\r\x12\x15\n\ruse_lift_safe\x18\x03 \x01(\x08\x12\x19\n\x11ignore_body_track\x18\x04 \x01(\x08\x12\x19\n\x11ignore_head_track\x18\x05 \x01(\x08\x12\x19\n\x11ignore_lift_track\x18\x06 \x01(\x08\"\xb4\x01\n\x14PlayAnimationRequest\x12<\n\tanimation\x18\x01 \x01(\x0b\x32).Anki.Vector.external_interface.Animation\x12\r\n\x05loops\x18\x02 \x01(\r\x12\x19\n\x11ignore_body_track\x18\x03 \x01(\x08\x12\x19\n\x11ignore_head_track\x18\x04 \x01(\x08\x12\x19\n\x11ignore_lift_track\x18\x05 \x01(\x08\"\xd6\x01\n\x15PlayAnimationResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12?\n\x06result\x18\x02 \x01(\x0e\x32/.Anki.Vector.external_interface.BehaviorResults\x12<\n\tanimation\x18\x03 \x01(\x0b\x32).Anki.Vector.external_interface.Animation\"\x17\n\x15ListAnimationsRequest\"\x9c\x01\n\x16ListAnimationsResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12\x42\n\x0f\x61nimation_names\x18\x02 \x03(\x0b\x32).Anki.Vector.external_interface.Animation\"\x1e\n\x1cListAnimationTriggersRequest\"\xb2\x01\n\x1dListAnimationTriggersResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12Q\n\x17\x61nimation_trigger_names\x18\x02 \x03(\x0b\x32\x30.Anki.Vector.external_interface.AnimationTrigger\"_\n\x1a\x44isplayFaceImageRGBRequest\x12\x11\n\tface_data\x18\x01 \x01(\x0c\x12\x13\n\x0b\x64uration_ms\x18\x02 \x01(\r\x12\x19\n\x11interrupt_running\x18\x03 \x01(\x08\"]\n\x1b\x44isplayFaceImageRGBResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\"\x1b\n\x19MeetVictorFaceScanStarted\"\x1c\n\x1aMeetVictorFaceScanComplete\"\x88\x03\n\x06Status\x12G\n\x0e\x66\x65\x61ture_status\x18\x01 \x01(\x0b\x32-.Anki.Vector.external_interface.FeatureStatusH\x00\x12\x62\n\x1dmeet_victor_face_scan_started\x18\x02 \x01(\x0b\x32\x39.Anki.Vector.external_interface.MeetVictorFaceScanStartedH\x00\x12\x64\n\x1emeet_victor_face_scan_complete\x18\x03 \x01(\x0b\x32:.Anki.Vector.external_interface.MeetVictorFaceScanCompleteH\x00\x12\\\n\x19\x66\x61\x63\x65_enrollment_completed\x18\x04 \x01(\x0b\x32\x37.Anki.Vector.external_interface.FaceEnrollmentCompletedH\x00\x42\r\n\x0bstatus_type\"\xac\x01\n\x08WakeWord\x12H\n\x0fwake_word_begin\x18\x01 \x01(\x0b\x32-.Anki.Vector.external_interface.WakeWordBeginH\x00\x12\x44\n\rwake_word_end\x18\x02 \x01(\x0b\x32+.Anki.Vector.external_interface.WakeWordEndH\x00\x42\x10\n\x0ewake_word_type\"b\n\x11TimeStampedStatus\x12\x36\n\x06status\x18\x01 \x01(\x0b\x32&.Anki.Vector.external_interface.Status\x12\x15\n\rtimestamp_utc\x18\x02 \x01(\r\"p\n\nPoseStruct\x12\t\n\x01x\x18\x01 \x01(\x02\x12\t\n\x01y\x18\x02 \x01(\x02\x12\t\n\x01z\x18\x03 \x01(\x02\x12\n\n\x02q0\x18\x04 \x01(\x02\x12\n\n\x02q1\x18\x05 \x01(\x02\x12\n\n\x02q2\x18\x06 \x01(\x02\x12\n\n\x02q3\x18\x07 \x01(\x02\x12\x11\n\torigin_id\x18\x08 \x01(\r\",\n\tAccelData\x12\t\n\x01x\x18\x01 \x01(\x02\x12\t\n\x01y\x18\x02 \x01(\x02\x12\t\n\x01z\x18\x03 \x01(\x02\"+\n\x08GyroData\x12\t\n\x01x\x18\x01 \x01(\x02\x12\t\n\x01y\x18\x02 \x01(\x02\x12\t\n\x01z\x18\x03 \x01(\x02\"{\n\x08ProxData\x12\x13\n\x0b\x64istance_mm\x18\x01 \x01(\r\x12\x16\n\x0esignal_quality\x18\x02 \x01(\x02\x12\x14\n\x0cunobstructed\x18\x03 \x01(\x08\x12\x14\n\x0c\x66ound_object\x18\x04 \x01(\x08\x12\x16\n\x0eis_lift_in_fov\x18\x05 \x01(\x08\">\n\tTouchData\x12\x17\n\x0fraw_touch_value\x18\x01 \x01(\r\x12\x18\n\x10is_being_touched\x18\x02 \x01(\x08\"\x82\x05\n\nRobotState\x12\x38\n\x04pose\x18\x01 \x01(\x0b\x32*.Anki.Vector.external_interface.PoseStruct\x12\x16\n\x0epose_angle_rad\x18\x02 \x01(\x02\x12\x16\n\x0epose_pitch_rad\x18\x03 \x01(\x02\x12\x1d\n\x15left_wheel_speed_mmps\x18\x04 \x01(\x02\x12\x1e\n\x16right_wheel_speed_mmps\x18\x05 \x01(\x02\x12\x16\n\x0ehead_angle_rad\x18\x06 \x01(\x02\x12\x16\n\x0elift_height_mm\x18\x07 \x01(\x02\x12\x38\n\x05\x61\x63\x63\x65l\x18\x08 \x01(\x0b\x32).Anki.Vector.external_interface.AccelData\x12\x36\n\x04gyro\x18\t \x01(\x0b\x32(.Anki.Vector.external_interface.GyroData\x12\x1a\n\x12\x63\x61rrying_object_id\x18\n \x01(\x05\x12!\n\x19\x63\x61rrying_object_on_top_id\x18\x0b \x01(\x05\x12\x1f\n\x17head_tracking_object_id\x18\x0c \x01(\x05\x12\x1e\n\x16localized_to_object_id\x18\r \x01(\x05\x12\x1d\n\x15last_image_time_stamp\x18\x0e \x01(\r\x12\x0e\n\x06status\x18\x0f \x01(\r\x12;\n\tprox_data\x18\x10 \x01(\x0b\x32(.Anki.Vector.external_interface.ProxData\x12=\n\ntouch_data\x18\x11 \x01(\x0b\x32).Anki.Vector.external_interface.TouchData\"!\n\tCladPoint\x12\t\n\x01x\x18\x01 \x01(\x02\x12\t\n\x01y\x18\x02 \x01(\x02\"Q\n\x08\x43ladRect\x12\x12\n\nx_top_left\x18\x01 \x01(\x02\x12\x12\n\ny_top_left\x18\x02 \x01(\x02\x12\r\n\x05width\x18\x03 \x01(\x02\x12\x0e\n\x06height\x18\x04 \x01(\x02\"\x8a\x04\n\x11RobotObservedFace\x12\x0f\n\x07\x66\x61\x63\x65_id\x18\x01 \x01(\x05\x12\x11\n\ttimestamp\x18\x02 \x01(\r\x12\x38\n\x04pose\x18\x03 \x01(\x0b\x32*.Anki.Vector.external_interface.PoseStruct\x12:\n\x08img_rect\x18\x04 \x01(\x0b\x32(.Anki.Vector.external_interface.CladRect\x12\x0c\n\x04name\x18\x05 \x01(\t\x12\x44\n\nexpression\x18\x06 \x01(\x0e\x32\x30.Anki.Vector.external_interface.FacialExpression\x12\x19\n\x11\x65xpression_values\x18\x07 \x03(\r\x12;\n\x08left_eye\x18\x08 \x03(\x0b\x32).Anki.Vector.external_interface.CladPoint\x12<\n\tright_eye\x18\t \x03(\x0b\x32).Anki.Vector.external_interface.CladPoint\x12\x37\n\x04nose\x18\n \x03(\x0b\x32).Anki.Vector.external_interface.CladPoint\x12\x38\n\x05mouth\x18\x0b \x03(\x0b\x32).Anki.Vector.external_interface.CladPoint\"<\n\x1aRobotChangedObservedFaceID\x12\x0e\n\x06old_id\x18\x01 \x01(\x05\x12\x0e\n\x06new_id\x18\x02 \x01(\x05\"~\n\x17\x46\x61\x63\x65\x45nrollmentCompleted\x12\x44\n\x06result\x18\x01 \x01(\x0e\x32\x34.Anki.Vector.external_interface.FaceEnrollmentResult\x12\x0f\n\x07\x66\x61\x63\x65_id\x18\x02 \x01(\x05\x12\x0c\n\x04name\x18\x03 \x01(\t\"\x1d\n\x1b\x43\x61ncelFaceEnrollmentRequest\"^\n\x1c\x43\x61ncelFaceEnrollmentResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\"\x1d\n\x1bRequestEnrolledNamesRequest\"\xc2\x01\n\x0fLoadedKnownFace\x12$\n\x1cseconds_since_first_enrolled\x18\x01 \x01(\x03\x12\"\n\x1aseconds_since_last_updated\x18\x02 \x01(\x03\x12\x1f\n\x17seconds_since_last_seen\x18\x03 \x01(\x03\x12%\n\x1dlast_seen_seconds_since_epoch\x18\x04 \x01(\x03\x12\x0f\n\x07\x66\x61\x63\x65_id\x18\x05 \x01(\x05\x12\x0c\n\x04name\x18\x06 \x01(\t\"9\n\x18RobotRenamedEnrolledFace\x12\x0f\n\x07\x66\x61\x63\x65_id\x18\x01 \x01(\x05\x12\x0c\n\x04name\x18\x02 \x01(\t\"\x9e\x01\n\x1cRequestEnrolledNamesResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12>\n\x05\x66\x61\x63\x65s\x18\x02 \x03(\x0b\x32/.Anki.Vector.external_interface.LoadedKnownFace\"T\n\x1dUpdateEnrolledFaceByIDRequest\x12\x0f\n\x07\x66\x61\x63\x65_id\x18\x01 \x01(\x05\x12\x10\n\x08old_name\x18\x02 \x01(\t\x12\x10\n\x08new_name\x18\x03 \x01(\t\"`\n\x1eUpdateEnrolledFaceByIDResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\"/\n\x1c\x45raseEnrolledFaceByIDRequest\x12\x0f\n\x07\x66\x61\x63\x65_id\x18\x01 \x01(\x05\"_\n\x1d\x45raseEnrolledFaceByIDResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\"\x1e\n\x1c\x45raseAllEnrolledFacesRequest\"_\n\x1d\x45raseAllEnrolledFacesResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\"\x88\x01\n\x16SetFaceToEnrollRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0bobserved_id\x18\x02 \x01(\x05\x12\x0f\n\x07save_id\x18\x03 \x01(\x05\x12\x15\n\rsave_to_robot\x18\x04 \x01(\x08\x12\x10\n\x08say_name\x18\x05 \x01(\x08\x12\x11\n\tuse_music\x18\x06 \x01(\x08\"Y\n\x17SetFaceToEnrollResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\"\x18\n\x16\x44riveOffChargerRequest\"\x9a\x01\n\x17\x44riveOffChargerResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12?\n\x06result\x18\x02 \x01(\x0e\x32/.Anki.Vector.external_interface.BehaviorResults\"\x17\n\x15\x44riveOnChargerRequest\"\x99\x01\n\x16\x44riveOnChargerResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12?\n\x06result\x18\x02 \x01(\x0e\x32/.Anki.Vector.external_interface.BehaviorResults\"\x12\n\x10\x46indFacesRequest\"\x94\x01\n\x11\x46indFacesResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12?\n\x06result\x18\x02 \x01(\x0e\x32/.Anki.Vector.external_interface.BehaviorResults\"\x1a\n\x18LookAroundInPlaceRequest\"\x9c\x01\n\x19LookAroundInPlaceResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12?\n\x06result\x18\x02 \x01(\x0e\x32/.Anki.Vector.external_interface.BehaviorResults\"\x12\n\x10RollBlockRequest\"\x94\x01\n\x11RollBlockResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12?\n\x06result\x18\x02 \x01(\x0e\x32/.Anki.Vector.external_interface.BehaviorResults\"\x0f\n\rWakeWordBegin\"8\n\x0bWakeWordEnd\x12\x14\n\x0cintent_heard\x18\x01 \x01(\x08\x12\x13\n\x0bintent_json\x18\x02 \x01(\t\"2\n\nUserIntent\x12\x11\n\tintent_id\x18\x01 \x01(\r\x12\x11\n\tjson_data\x18\x02 \x01(\t\"n\n\tPhotoInfo\x12\x10\n\x08photo_id\x18\x01 \x01(\r\x12\x15\n\rtimestamp_utc\x18\x02 \x01(\r\x12\x1b\n\x13photo_copied_to_app\x18\x03 \x01(\x08\x12\x1b\n\x13thumb_copied_to_app\x18\x04 \x01(\x08\"\x13\n\x11PhotosInfoRequest\"\x94\x01\n\x12PhotosInfoResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12>\n\x0bphoto_infos\x18\x02 \x03(\x0b\x32).Anki.Vector.external_interface.PhotoInfo\" \n\x0cPhotoRequest\x12\x10\n\x08photo_id\x18\x01 \x01(\r\"6\n\x10PhotoPathMessage\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x11\n\tfull_path\x18\x02 \x01(\t\"o\n\rPhotoResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12\x0f\n\x07success\x18\x02 \x01(\x08\x12\r\n\x05image\x18\x03 \x01(\x0c\"$\n\x10ThumbnailRequest\x12\x10\n\x08photo_id\x18\x01 \x01(\r\":\n\x14ThumbnailPathMessage\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x11\n\tfull_path\x18\x02 \x01(\t\"s\n\x11ThumbnailResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12\x0f\n\x07success\x18\x02 \x01(\x08\x12\r\n\x05image\x18\x03 \x01(\x0c\"&\n\x12\x44\x65letePhotoRequest\x12\x10\n\x08photo_id\x18\x01 \x01(\r\"f\n\x13\x44\x65letePhotoResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12\x0f\n\x07success\x18\x02 \x01(\x08\"\x1e\n\nPhotoTaken\x12\x10\n\x08photo_id\x18\x01 \x01(\r\"\xc1\x02\n\x11PathMotionProfile\x12\x12\n\nspeed_mmps\x18\x01 \x01(\x02\x12\x13\n\x0b\x61\x63\x63\x65l_mmps2\x18\x02 \x01(\x02\x12\x13\n\x0b\x64\x65\x63\x65l_mmps2\x18\x03 \x01(\x02\x12$\n\x1cpoint_turn_speed_rad_per_sec\x18\x04 \x01(\x02\x12%\n\x1dpoint_turn_accel_rad_per_sec2\x18\x05 \x01(\x02\x12%\n\x1dpoint_turn_decel_rad_per_sec2\x18\x06 \x01(\x02\x12\x17\n\x0f\x64ock_speed_mmps\x18\x07 \x01(\x02\x12\x18\n\x10\x64ock_accel_mmps2\x18\x08 \x01(\x02\x12\x18\n\x10\x64ock_decel_mmps2\x18\t \x01(\x02\x12\x1a\n\x12reverse_speed_mmps\x18\n \x01(\x02\x12\x11\n\tis_custom\x18\x0b \x01(\x08\"\xf8\x0c\n\x0c\x41\x63tionResult\x12K\n\x04\x63ode\x18\x01 \x01(\x0e\x32=.Anki.Vector.external_interface.ActionResult.ActionResultCode\"\x9a\x0c\n\x10\x41\x63tionResultCode\x12\x19\n\x15\x41\x43TION_RESULT_SUCCESS\x10\x00\x12\x1c\n\x15\x41\x43TION_RESULT_RUNNING\x10\x80\x80\x80\x08\x12,\n%ACTION_RESULT_CANCELLED_WHILE_RUNNING\x10\x80\x80\x80\x10\x12\x12\n\x0bNOT_STARTED\x10\x81\x80\x80\x10\x12\x0c\n\x05\x41\x42ORT\x10\x80\x80\x80\x18\x12\x13\n\x0c\x41NIM_ABORTED\x10\x81\x80\x80\x18\x12\x11\n\nBAD_MARKER\x10\x82\x80\x80\x18\x12\x16\n\x0f\x42\x41\x44_MESSAGE_TAG\x10\x83\x80\x80\x18\x12\x11\n\nBAD_OBJECT\x10\x84\x80\x80\x18\x12\x0f\n\x08\x42\x41\x44_POSE\x10\x85\x80\x80\x18\x12\x0e\n\x07\x42\x41\x44_TAG\x10\x86\x80\x80\x18\x12\x1e\n\x17\x43HARGER_UNPLUGGED_ABORT\x10\x87\x80\x80\x18\x12!\n\x1a\x43LIFF_ALIGN_FAILED_TIMEOUT\x10\x88\x80\x80\x18\x12$\n\x1d\x43LIFF_ALIGN_FAILED_NO_TURNING\x10\x89\x80\x80\x18\x12&\n\x1f\x43LIFF_ALIGN_FAILED_OVER_TURNING\x10\x8a\x80\x80\x18\x12\"\n\x1b\x43LIFF_ALIGN_FAILED_NO_WHITE\x10\x8b\x80\x80\x18\x12!\n\x1a\x43LIFF_ALIGN_FAILED_STOPPED\x10\x8c\x80\x80\x18\x12!\n\x1a\x46\x41ILED_SETTING_CALIBRATION\x10\x8d\x80\x80\x18\x12(\n!FOLLOWING_PATH_BUT_NOT_TRAVERSING\x10\x8e\x80\x80\x18\x12\x12\n\x0bINTERRUPTED\x10\x8f\x80\x80\x18\x12\x1f\n\x18INVALID_OFF_TREADS_STATE\x10\x90\x80\x80\x18\x12\x19\n\x12MISMATCHED_UP_AXIS\x10\x91\x80\x80\x18\x12\x13\n\x0cNO_ANIM_NAME\x10\x92\x80\x80\x18\x12\x16\n\x0fNO_DISTANCE_SET\x10\x93\x80\x80\x18\x12\x0e\n\x07NO_FACE\x10\x94\x80\x80\x18\x12\x12\n\x0bNO_GOAL_SET\x10\x95\x80\x80\x18\x12\x19\n\x12NO_PREACTION_POSES\x10\x96\x80\x80\x18\x12 \n\x19NOT_CARRYING_OBJECT_ABORT\x10\x97\x80\x80\x18\x12\x1b\n\x14NOT_ON_CHARGER_ABORT\x10\x98\x80\x80\x18\x12\x15\n\x0eNULL_SUBACTION\x10\x99\x80\x80\x18\x12!\n\x1aPATH_PLANNING_FAILED_ABORT\x10\x9a\x80\x80\x18\x12(\n!PICKUP_OBJECT_UNEXPECTEDLY_MOVING\x10\x9b\x80\x80\x18\x12#\n\x1cSEND_MESSAGE_TO_ROBOT_FAILED\x10\x9c\x80\x80\x18\x12\x1c\n\x15STILL_CARRYING_OBJECT\x10\x9d\x80\x80\x18\x12\x0e\n\x07TIMEOUT\x10\x9e\x80\x80\x18\x12\x14\n\rTRACKS_LOCKED\x10\x9f\x80\x80\x18\x12\x1d\n\x16UNEXPECTED_DOCK_ACTION\x10\xa0\x80\x80\x18\x12\x18\n\x11UNKNOWN_TOOL_CODE\x10\xa1\x80\x80\x18\x12\x1c\n\x15UPDATE_DERIVED_FAILED\x10\xa2\x80\x80\x18\x12 \n\x19VISUAL_OBSERVATION_FAILED\x10\xa3\x80\x80\x18\x12 \n\x19SHOULDNT_DRIVE_ON_CHARGER\x10\xa4\x80\x80\x18\x12\x0c\n\x05RETRY\x10\x80\x80\x80 \x12#\n\x1c\x44ID_NOT_REACH_PREACTION_POSE\x10\x81\x80\x80 \x12\x1d\n\x16\x46\x41ILED_TRAVERSING_PATH\x10\x82\x80\x80 \x12!\n\x1aLAST_PICK_AND_PLACE_FAILED\x10\x83\x80\x80 \x12$\n\x1dMOTOR_STOPPED_MAKING_PROGRESS\x10\x84\x80\x80 \x12 \n\x19NOT_CARRYING_OBJECT_RETRY\x10\x85\x80\x80 \x12\x1b\n\x14NOT_ON_CHARGER_RETRY\x10\x86\x80\x80 \x12!\n\x1aPATH_PLANNING_FAILED_RETRY\x10\x87\x80\x80 \x12\x1e\n\x17PLACEMENT_GOAL_NOT_FREE\x10\x88\x80\x80 \x12,\n%PICKUP_OBJECT_UNEXPECTEDLY_NOT_MOVING\x10\x89\x80\x80 \x12\x17\n\x10STILL_ON_CHARGER\x10\x8a\x80\x80 \x12\x1d\n\x16UNEXPECTED_PITCH_ANGLE\x10\x8b\x80\x80 \",\n\x1a\x43\x61ncelActionByIdTagRequest\x12\x0e\n\x06id_tag\x18\x01 \x01(\r\"]\n\x1b\x43\x61ncelActionByIdTagResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\"\xa7\x01\n\x0fGoToPoseRequest\x12\x0c\n\x04x_mm\x18\x01 \x01(\x02\x12\x0c\n\x04y_mm\x18\x02 \x01(\x02\x12\x0b\n\x03rad\x18\x03 \x01(\x02\x12\x46\n\x0bmotion_prof\x18\x04 \x01(\x0b\x32\x31.Anki.Vector.external_interface.PathMotionProfile\x12\x0e\n\x06id_tag\x18\x05 \x01(\x05\x12\x13\n\x0bnum_retries\x18\x06 \x01(\x05\"\x90\x01\n\x10GoToPoseResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12<\n\x06result\x18\x02 \x01(\x0b\x32,.Anki.Vector.external_interface.ActionResult\"\xd0\x02\n\x13\x44ockWithCubeRequest\x12\x11\n\tobject_id\x18\x01 \x01(\x05\x12\x1f\n\x17\x64istance_from_marker_mm\x18\x02 \x01(\x02\x12\x1a\n\x12\x61pproach_angle_rad\x18\x03 \x01(\x02\x12\x45\n\x0e\x61lignment_type\x18\x04 \x01(\x0e\x32-.Anki.Vector.external_interface.AlignmentType\x12\x1a\n\x12use_approach_angle\x18\x05 \x01(\x08\x12\x19\n\x11use_pre_dock_pose\x18\x06 \x01(\x08\x12\x46\n\x0bmotion_prof\x18\x07 \x01(\x0b\x32\x31.Anki.Vector.external_interface.PathMotionProfile\x12\x0e\n\x06id_tag\x18\x08 \x01(\x05\x12\x13\n\x0bnum_retries\x18\t \x01(\x05\"\x94\x01\n\x14\x44ockWithCubeResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12<\n\x06result\x18\x02 \x01(\x0b\x32,.Anki.Vector.external_interface.ActionResult\"\x7f\n\x14\x44riveStraightRequest\x12\x12\n\nspeed_mmps\x18\x01 \x01(\x02\x12\x0f\n\x07\x64ist_mm\x18\x02 \x01(\x02\x12\x1d\n\x15should_play_animation\x18\x03 \x01(\x08\x12\x0e\n\x06id_tag\x18\x04 \x01(\x05\x12\x13\n\x0bnum_retries\x18\x05 \x01(\x05\"\x95\x01\n\x15\x44riveStraightResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12<\n\x06result\x18\x02 \x01(\x0b\x32,.Anki.Vector.external_interface.ActionResult\"\xa9\x01\n\x12TurnInPlaceRequest\x12\x11\n\tangle_rad\x18\x01 \x01(\x02\x12\x19\n\x11speed_rad_per_sec\x18\x02 \x01(\x02\x12\x1a\n\x12\x61\x63\x63\x65l_rad_per_sec2\x18\x03 \x01(\x02\x12\x0f\n\x07tol_rad\x18\x04 \x01(\x02\x12\x13\n\x0bis_absolute\x18\x05 \x01(\r\x12\x0e\n\x06id_tag\x18\x06 \x01(\x05\x12\x13\n\x0bnum_retries\x18\x07 \x01(\x05\"\x93\x01\n\x13TurnInPlaceResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12<\n\x06result\x18\x02 \x01(\x0b\x32,.Anki.Vector.external_interface.ActionResult\"\x9e\x01\n\x13SetHeadAngleRequest\x12\x11\n\tangle_rad\x18\x01 \x01(\x02\x12\x1d\n\x15max_speed_rad_per_sec\x18\x02 \x01(\x02\x12\x1a\n\x12\x61\x63\x63\x65l_rad_per_sec2\x18\x03 \x01(\x02\x12\x14\n\x0c\x64uration_sec\x18\x04 \x01(\x02\x12\x0e\n\x06id_tag\x18\x05 \x01(\x05\x12\x13\n\x0bnum_retries\x18\x06 \x01(\x05\"\x94\x01\n\x14SetHeadAngleResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12<\n\x06result\x18\x02 \x01(\x0b\x32,.Anki.Vector.external_interface.ActionResult\"\x9f\x01\n\x14SetLiftHeightRequest\x12\x11\n\theight_mm\x18\x01 \x01(\x02\x12\x1d\n\x15max_speed_rad_per_sec\x18\x02 \x01(\x02\x12\x1a\n\x12\x61\x63\x63\x65l_rad_per_sec2\x18\x03 \x01(\x02\x12\x14\n\x0c\x64uration_sec\x18\x04 \x01(\x02\x12\x0e\n\x06id_tag\x18\x05 \x01(\x05\x12\x13\n\x0bnum_retries\x18\x06 \x01(\x05\"\x95\x01\n\x15SetLiftHeightResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12<\n\x06result\x18\x02 \x01(\x0b\x32,.Anki.Vector.external_interface.ActionResult\"j\n\x16TurnTowardsFaceRequest\x12\x0f\n\x07\x66\x61\x63\x65_id\x18\x01 \x01(\x05\x12\x1a\n\x12max_turn_angle_rad\x18\x02 \x01(\x02\x12\x0e\n\x06id_tag\x18\x03 \x01(\x05\x12\x13\n\x0bnum_retries\x18\x04 \x01(\x05\"\x97\x01\n\x17TurnTowardsFaceResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12<\n\x06result\x18\x02 \x01(\x0b\x32,.Anki.Vector.external_interface.ActionResult\"\xd6\x01\n\x11GoToObjectRequest\x12\x11\n\tobject_id\x18\x01 \x01(\x05\x12\x46\n\x0bmotion_prof\x18\x02 \x01(\x0b\x32\x31.Anki.Vector.external_interface.PathMotionProfile\x12&\n\x1e\x64istance_from_object_origin_mm\x18\x03 \x01(\x02\x12\x19\n\x11use_pre_dock_pose\x18\x04 \x01(\x08\x12\x0e\n\x06id_tag\x18\x05 \x01(\x05\x12\x13\n\x0bnum_retries\x18\x06 \x01(\x05\"\x92\x01\n\x12GoToObjectResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12<\n\x06result\x18\x02 \x01(\x0b\x32,.Anki.Vector.external_interface.ActionResult\"\xe6\x01\n\x11RollObjectRequest\x12\x11\n\tobject_id\x18\x01 \x01(\x05\x12\x46\n\x0bmotion_prof\x18\x02 \x01(\x0b\x32\x31.Anki.Vector.external_interface.PathMotionProfile\x12\x1a\n\x12\x61pproach_angle_rad\x18\x03 \x01(\x02\x12\x1a\n\x12use_approach_angle\x18\x04 \x01(\x08\x12\x19\n\x11use_pre_dock_pose\x18\x05 \x01(\x08\x12\x0e\n\x06id_tag\x18\x06 \x01(\x05\x12\x13\n\x0bnum_retries\x18\x07 \x01(\x05\"\x92\x01\n\x12RollObjectResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12<\n\x06result\x18\x02 \x01(\x0b\x32,.Anki.Vector.external_interface.ActionResult\"\xe7\x01\n\x12PopAWheelieRequest\x12\x11\n\tobject_id\x18\x01 \x01(\x05\x12\x46\n\x0bmotion_prof\x18\x02 \x01(\x0b\x32\x31.Anki.Vector.external_interface.PathMotionProfile\x12\x1a\n\x12\x61pproach_angle_rad\x18\x03 \x01(\x02\x12\x1a\n\x12use_approach_angle\x18\x04 \x01(\x08\x12\x19\n\x11use_pre_dock_pose\x18\x05 \x01(\x08\x12\x0e\n\x06id_tag\x18\x06 \x01(\x05\x12\x13\n\x0bnum_retries\x18\x07 \x01(\x05\"\x93\x01\n\x13PopAWheelieResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12<\n\x06result\x18\x02 \x01(\x0b\x32,.Anki.Vector.external_interface.ActionResult\"\xe8\x01\n\x13PickupObjectRequest\x12\x11\n\tobject_id\x18\x01 \x01(\x05\x12\x46\n\x0bmotion_prof\x18\x02 \x01(\x0b\x32\x31.Anki.Vector.external_interface.PathMotionProfile\x12\x1a\n\x12\x61pproach_angle_rad\x18\x03 \x01(\x02\x12\x1a\n\x12use_approach_angle\x18\x04 \x01(\x08\x12\x19\n\x11use_pre_dock_pose\x18\x05 \x01(\x08\x12\x0e\n\x06id_tag\x18\x06 \x01(\x05\x12\x13\n\x0bnum_retries\x18\x07 \x01(\x05\"\x94\x01\n\x14PickupObjectResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12<\n\x06result\x18\x02 \x01(\x0b\x32,.Anki.Vector.external_interface.ActionResult\"E\n\x1ePlaceObjectOnGroundHereRequest\x12\x0e\n\x06id_tag\x18\x01 \x01(\x05\x12\x13\n\x0bnum_retries\x18\x02 \x01(\x05\"\x9f\x01\n\x1fPlaceObjectOnGroundHereResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12<\n\x06result\x18\x02 \x01(\x0b\x32,.Anki.Vector.external_interface.ActionResult\"\x15\n\x13\x42\x61tteryStateRequest\"\xc9\x02\n\x14\x42\x61tteryStateResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12\x43\n\rbattery_level\x18\x02 \x01(\x0e\x32,.Anki.Vector.external_interface.BatteryLevel\x12\x15\n\rbattery_volts\x18\x03 \x01(\x02\x12\x13\n\x0bis_charging\x18\x04 \x01(\x08\x12\x1e\n\x16is_on_charger_platform\x18\x05 \x01(\x08\x12\x1d\n\x15suggested_charger_sec\x18\x06 \x01(\x02\x12\x41\n\x0c\x63ube_battery\x18\x07 \x01(\x0b\x32+.Anki.Vector.external_interface.CubeBattery\"\xd3\x01\n\x0b\x43ubeBattery\x12K\n\x05level\x18\x01 \x01(\x0e\x32<.Anki.Vector.external_interface.CubeBattery.CubeBatteryLevel\x12\x12\n\nfactory_id\x18\x02 \x01(\t\x12\x15\n\rbattery_volts\x18\x03 \x01(\x02\x12#\n\x1btime_since_last_reading_sec\x18\x04 \x01(\x02\"\'\n\x10\x43ubeBatteryLevel\x12\x07\n\x03Low\x10\x00\x12\n\n\x06Normal\x10\x01\"\x15\n\x13VersionStateRequest\"\x83\x01\n\x14VersionStateResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12\x12\n\nos_version\x18\x02 \x01(\t\x12\x17\n\x0f\x65ngine_build_id\x18\x03 \x01(\t\"Q\n\x0eSayTextRequest\x12\x0c\n\x04text\x18\x01 \x01(\t\x12\x18\n\x10use_vector_voice\x18\x02 \x01(\x08\x12\x17\n\x0f\x64uration_scalar\x18\x03 \x01(\x02\"\xf5\x01\n\x0fSayTextResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12M\n\x05state\x18\x02 \x01(\x0e\x32>.Anki.Vector.external_interface.SayTextResponse.UtteranceState\"S\n\x0eUtteranceState\x12\x0b\n\x07INVALID\x10\x00\x12\x0e\n\nGENERATING\x10\x01\x12\t\n\x05READY\x10\x02\x12\x0b\n\x07PLAYING\x10\x03\x12\x0c\n\x08\x46INISHED\x10\x04\"\x9b\x01\n\x0fStimulationInfo\x12\x16\n\x0e\x65motion_events\x18\x01 \x03(\t\x12\r\n\x05value\x18\x02 \x01(\x02\x12\x10\n\x08velocity\x18\x03 \x01(\x02\x12\r\n\x05\x61\x63\x63\x65l\x18\x04 \x01(\x02\x12\x1a\n\x12value_before_event\x18\x05 \x01(\x02\x12\x11\n\tmin_value\x18\x06 \x01(\x02\x12\x11\n\tmax_value\x18\x07 \x01(\x02\"Y\n\x14\x41udioSendModeRequest\x12\x41\n\x04mode\x18\x01 \x01(\x0e\x32\x33.Anki.Vector.external_interface.AudioProcessingMode\"Y\n\x14\x41udioSendModeChanged\x12\x41\n\x04mode\x18\x01 \x01(\x0e\x32\x33.Anki.Vector.external_interface.AudioProcessingMode\"\xe8\x01\n\nAudioChunk\x12\x18\n\x10robot_time_stamp\x18\x01 \x01(\r\x12\x10\n\x08group_id\x18\x02 \x01(\r\x12\x10\n\x08\x63hunk_id\x18\x03 \x01(\r\x12\x19\n\x11\x61udio_chunk_count\x18\x04 \x01(\r\x12\x14\n\x0csignal_power\x18\x05 \x01(\x0c\x12\x1b\n\x13\x64irection_strengths\x18\x06 \x01(\x0c\x12\x18\n\x10source_direction\x18\x07 \x01(\r\x12\x19\n\x11source_confidence\x18\x08 \x01(\r\x12\x19\n\x11noise_floor_power\x18\t \x01(\r\"\x12\n\x10\x41udioFeedRequest\"\xc8\x01\n\x11\x41udioFeedResponse\x12\x18\n\x10robot_time_stamp\x18\x01 \x01(\r\x12\x10\n\x08group_id\x18\x02 \x01(\r\x12\x14\n\x0csignal_power\x18\x03 \x01(\x0c\x12\x1b\n\x13\x64irection_strengths\x18\x04 \x01(\x0c\x12\x18\n\x10source_direction\x18\x05 \x01(\r\x12\x19\n\x11source_confidence\x18\x06 \x01(\r\x12\x19\n\x11noise_floor_power\x18\x07 \x01(\r:\x04\x80\xa6\x1d\x01\"L\n\x1a\x45xternalAudioStreamPrepare\x12\x18\n\x10\x61udio_frame_rate\x18\x01 \x01(\r\x12\x14\n\x0c\x61udio_volume\x18\x02 \x01(\r\"W\n\x18\x45xternalAudioStreamChunk\x12\x1e\n\x16\x61udio_chunk_size_bytes\x18\x01 \x01(\r\x12\x1b\n\x13\x61udio_chunk_samples\x18\x02 \x01(\x0c\"\x1d\n\x1b\x45xternalAudioStreamComplete\"\x1b\n\x19\x45xternalAudioStreamCancel\"\x9e\x03\n\x1a\x45xternalAudioStreamRequest\x12Z\n\x14\x61udio_stream_prepare\x18\x01 \x01(\x0b\x32:.Anki.Vector.external_interface.ExternalAudioStreamPrepareH\x00\x12V\n\x12\x61udio_stream_chunk\x18\x02 \x01(\x0b\x32\x38.Anki.Vector.external_interface.ExternalAudioStreamChunkH\x00\x12\\\n\x15\x61udio_stream_complete\x18\x03 \x01(\x0b\x32;.Anki.Vector.external_interface.ExternalAudioStreamCompleteH\x00\x12X\n\x13\x61udio_stream_cancel\x18\x04 \x01(\x0b\x32\x39.Anki.Vector.external_interface.ExternalAudioStreamCancelH\x00\x42\x14\n\x12\x61udio_request_type\"%\n#ExternalAudioStreamPlaybackComplete\"$\n\"ExternalAudioStreamPlaybackFailure\"\\\n ExternalAudioStreamBufferOverrun\x12\x1a\n\x12\x61udio_samples_sent\x18\x01 \x01(\r\x12\x1c\n\x14\x61udio_samples_played\x18\x02 \x01(\r\"\xf9\x02\n\x1b\x45xternalAudioStreamResponse\x12m\n\x1e\x61udio_stream_playback_complete\x18\x01 \x01(\x0b\x32\x43.Anki.Vector.external_interface.ExternalAudioStreamPlaybackCompleteH\x00\x12g\n\x1b\x61udio_stream_buffer_overrun\x18\x02 \x01(\x0b\x32@.Anki.Vector.external_interface.ExternalAudioStreamBufferOverrunH\x00\x12k\n\x1d\x61udio_stream_playback_failyer\x18\x03 \x01(\x0b\x32\x42.Anki.Vector.external_interface.ExternalAudioStreamPlaybackFailureH\x00\x42\x15\n\x13\x61udio_response_type\"^\n\x13MasterVolumeRequest\x12G\n\x0cvolume_level\x18\x01 \x01(\x0e\x32\x31.Anki.Vector.external_interface.MasterVolumeLevel\"V\n\x14MasterVolumeResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\".\n\x1c\x45nableMarkerDetectionRequest\x12\x0e\n\x06\x65nable\x18\x01 \x01(\x08\"_\n\x1d\x45nableMarkerDetectionResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\"\xb1\x01\n\x1a\x45nableFaceDetectionRequest\x12\x0e\n\x06\x65nable\x18\x01 \x01(\x08\x12\x1e\n\x16\x65nable_smile_detection\x18\x02 \x01(\x08\x12$\n\x1c\x65nable_expression_estimation\x18\x03 \x01(\x08\x12\x1e\n\x16\x65nable_blink_detection\x18\x04 \x01(\x08\x12\x1d\n\x15\x65nable_gaze_detection\x18\x05 \x01(\x08\"]\n\x1b\x45nableFaceDetectionResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\".\n\x1c\x45nableMotionDetectionRequest\x12\x0e\n\x06\x65nable\x18\x01 \x01(\x08\"_\n\x1d\x45nableMotionDetectionResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\")\n\x17\x45nableMirrorModeRequest\x12\x0e\n\x06\x65nable\x18\x01 \x01(\x08\"Z\n\x18\x45nableMirrorModeResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\"\x14\n\x12MirrorModeDisabled\"-\n\x1b\x45nableImageStreamingRequest\x12\x0e\n\x06\x65nable\x18\x01 \x01(\x08\"^\n\x1c\x45nableImageStreamingResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\" \n\x1eIsImageStreamingEnabledRequest\"E\n\x1fIsImageStreamingEnabledResponse\x12\"\n\x1ais_image_streaming_enabled\x18\x01 \x01(\x08\"\x19\n\x17VisionModesAutoDisabled\"\xd1\x03\n\nImageChunk\x12\x18\n\x10\x66rame_time_stamp\x18\x01 \x01(\r\x12\x10\n\x08image_id\x18\x02 \x01(\r\x12\r\n\x05width\x18\x03 \x01(\r\x12\x0e\n\x06height\x18\x04 \x01(\r\x12P\n\x0eimage_encoding\x18\x05 \x01(\x0e\x32\x38.Anki.Vector.external_interface.ImageChunk.ImageEncoding\x12\x15\n\rdisplay_index\x18\x06 \x01(\r\x12\x19\n\x11image_chunk_count\x18\x07 \x01(\r\x12\x10\n\x08\x63hunk_id\x18\x08 \x01(\r\x12\x0c\n\x04\x64\x61ta\x18\t \x01(\x0c\"\xd3\x01\n\rImageEncoding\x12\x17\n\x13NONE_IMAGE_ENCODING\x10\x00\x12\x0c\n\x08RAW_GRAY\x10\x01\x12\x0b\n\x07RAW_RGB\x10\x02\x12\x08\n\x04YUYV\x10\x03\x12\x0c\n\x08YUV420SP\x10\x04\x12\t\n\x05\x42\x41YER\x10\x05\x12\r\n\tJPEG_GRAY\x10\x06\x12\x0e\n\nJPEG_COLOR\x10\x07\x12\x19\n\x15JPEG_COLOR_HALF_WIDTH\x10\x08\x12\x17\n\x13JPEG_MINIMIZED_GRAY\x10\t\x12\x18\n\x14JPEG_MINIMIZED_COLOR\x10\n\"\x13\n\x11\x43\x61meraFeedRequest\"\xa6\x01\n\x12\x43\x61meraFeedResponse\x12\x18\n\x10\x66rame_time_stamp\x18\x01 \x01(\r\x12\x10\n\x08image_id\x18\x02 \x01(\r\x12P\n\x0eimage_encoding\x18\x03 \x01(\x0e\x32\x38.Anki.Vector.external_interface.ImageChunk.ImageEncoding\x12\x0c\n\x04\x64\x61ta\x18\x04 \x01(\x0c:\x04\x80\xa6\x1d\x01\"\x1b\n\x19\x43\x61ptureSingleImageRequest\"\xe8\x01\n\x1a\x43\x61ptureSingleImageResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12\x18\n\x10\x66rame_time_stamp\x18\x02 \x01(\r\x12\x10\n\x08image_id\x18\x03 \x01(\r\x12P\n\x0eimage_encoding\x18\x04 \x01(\x0e\x32\x38.Anki.Vector.external_interface.ImageChunk.ImageEncoding\x12\x0c\n\x04\x64\x61ta\x18\x05 \x01(\x0c\"5\n\x12SetEyeColorRequest\x12\x0b\n\x03hue\x18\x01 \x01(\x02\x12\x12\n\nsaturation\x18\x02 \x01(\x02\"U\n\x13SetEyeColorResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\"\x96\x01\n\x18SDKInitializationRequest\x12\x1a\n\x12sdk_module_version\x18\x01 \x01(\t\x12\x16\n\x0epython_version\x18\x02 \x01(\t\x12\x1d\n\x15python_implementation\x18\x03 \x01(\t\x12\x12\n\nos_version\x18\x04 \x01(\t\x12\x13\n\x0b\x63pu_version\x18\x05 \x01(\t\"[\n\x19SDKInitializationResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\"\x11\n\x0f\x41ppDisconnected\"1\n\x10\x41ppIntentRequest\x12\x0e\n\x06intent\x18\x01 \x01(\t\x12\r\n\x05param\x18\x02 \x01(\t\"S\n\x11\x41ppIntentResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\"5\n\rFeatureStatus\x12\x14\n\x0c\x66\x65\x61ture_name\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"\xb0\x02\n\nOnboarding\x12K\n\x10onboarding_state\x18\x01 \x01(\x0b\x32/.Anki.Vector.external_interface.OnboardingStateH\x00\x12_\n\x1bonboarding_wake_up_finished\x18\t \x01(\x0b\x32\x38.Anki.Vector.external_interface.OnboardingWakeUpFinishedH\x00\x12\x61\n\x1conboarding_1p0_charging_info\x18\n \x01(\x0b\x32\x39.Anki.Vector.external_interface.Onboarding1p0ChargingInfoH\x00\x42\x11\n\x0fonboarding_type\"\x15\n\x13RobotHistoryRequest\"[\n\x14RobotHistoryResponse\x12\x43\n\x08messages\x18\x01 \x03(\x0b\x32\x31.Anki.Vector.external_interface.TimeStampedStatus\"R\n\x0fOnboardingState\x12?\n\x05stage\x18\x01 \x01(\x0e\x32\x30.Anki.Vector.external_interface.OnboardingStages\"\x18\n\x16OnboardingStateRequest\"\xa4\x01\n\x17OnboardingStateResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12I\n\x10onboarding_state\x18\x02 \x01(\x0b\x32/.Anki.Vector.external_interface.OnboardingState\"[\n\x19OnboardingSetPhaseRequest\x12>\n\x05phase\x18\x01 \x01(\x0e\x32/.Anki.Vector.external_interface.OnboardingPhase\"\xe7\x01\n\x1aOnboardingSetPhaseResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12>\n\x05phase\x18\x02 \x01(\x0e\x32/.Anki.Vector.external_interface.OnboardingPhase\x12I\n\x0bphase_state\x18\x03 \x01(\x0e\x32\x34.Anki.Vector.external_interface.OnboardingPhaseState\" \n\x1eOnboardingPhaseProgressRequest\"\x99\x02\n\x1fOnboardingPhaseProgressResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12G\n\x0elast_set_phase\x18\x02 \x01(\x0e\x32/.Anki.Vector.external_interface.OnboardingPhase\x12R\n\x14last_set_phase_state\x18\x03 \x01(\x0e\x32\x34.Anki.Vector.external_interface.OnboardingPhaseState\x12\x19\n\x11percent_completed\x18\x04 \x01(\x05\"\x1d\n\x1bOnboardingChargeInfoRequest\"\xa9\x01\n\x1cOnboardingChargeInfoResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12\x12\n\non_charger\x18\x02 \x01(\x08\x12\x17\n\x0fneeds_to_charge\x18\x03 \x01(\x08\x12\x1c\n\x14required_charge_time\x18\x04 \x01(\x02\"\x1a\n\x18OnboardingSkipOnboarding\"\x13\n\x11OnboardingRestart\"\x1f\n\x1dOnboardingMarkCompleteAndExit\"\xb1\x07\n\x16OnboardingInputRequest\x12`\n\x1bonboarding_complete_request\x18\x01 \x01(\x0b\x32\x39.Anki.Vector.external_interface.OnboardingCompleteRequestH\x00\x12]\n\x1aonboarding_wake_up_request\x18\x02 \x01(\x0b\x32\x37.Anki.Vector.external_interface.OnboardingWakeUpRequestH\x00\x12^\n\x1aonboarding_skip_onboarding\x18\x07 \x01(\x0b\x32\x38.Anki.Vector.external_interface.OnboardingSkipOnboardingH\x00\x12O\n\x12onboarding_restart\x18\x08 \x01(\x0b\x32\x31.Anki.Vector.external_interface.OnboardingRestartH\x00\x12l\n\"onboarding_wake_up_started_request\x18\t \x01(\x0b\x32>.Anki.Vector.external_interface.OnboardingWakeUpStartedRequestH\x00\x12\x61\n\x1conboarding_set_phase_request\x18\n \x01(\x0b\x32\x39.Anki.Vector.external_interface.OnboardingSetPhaseRequestH\x00\x12k\n!onboarding_phase_progress_request\x18\x0b \x01(\x0b\x32>.Anki.Vector.external_interface.OnboardingPhaseProgressRequestH\x00\x12\x65\n\x1eonboarding_charge_info_request\x18\x0c \x01(\x0b\x32;.Anki.Vector.external_interface.OnboardingChargeInfoRequestH\x00\x12j\n!onboarding_mark_complete_and_exit\x18\r \x01(\x0b\x32=.Anki.Vector.external_interface.OnboardingMarkCompleteAndExitH\x00\x42\x14\n\x12oneof_message_type\"\xe1\x05\n\x17OnboardingInputResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12\x62\n\x1conboarding_complete_response\x18\x02 \x01(\x0b\x32:.Anki.Vector.external_interface.OnboardingCompleteResponseH\x00\x12_\n\x1bonboarding_wake_up_response\x18\x03 \x01(\x0b\x32\x38.Anki.Vector.external_interface.OnboardingWakeUpResponseH\x00\x12n\n#onboarding_wake_up_started_response\x18\x06 \x01(\x0b\x32?.Anki.Vector.external_interface.OnboardingWakeUpStartedResponseH\x00\x12\x63\n\x1donboarding_set_phase_response\x18\x07 \x01(\x0b\x32:.Anki.Vector.external_interface.OnboardingSetPhaseResponseH\x00\x12m\n\"onboarding_phase_progress_response\x18\x08 \x01(\x0b\x32?.Anki.Vector.external_interface.OnboardingPhaseProgressResponseH\x00\x12g\n\x1fonboarding_charge_info_response\x18\t \x01(\x0b\x32<.Anki.Vector.external_interface.OnboardingChargeInfoResponseH\x00\x42\x14\n\x12oneof_message_type\"\x1b\n\x19OnboardingCompleteRequest\"/\n\x1aOnboardingCompleteResponse\x12\x11\n\tcompleted\x18\x01 \x01(\x08\" \n\x1eOnboardingWakeUpStartedRequest\":\n\x1fOnboardingWakeUpStartedResponse\x12\x17\n\x0f\x61lready_started\x18\x01 \x01(\x08\"\x19\n\x17OnboardingWakeUpRequest\"\x7f\n\x18OnboardingWakeUpResponse\x12\x11\n\twaking_up\x18\x01 \x01(\x08\x12P\n\rcharging_info\x18\x02 \x01(\x0b\x32\x39.Anki.Vector.external_interface.Onboarding1p0ChargingInfo\"h\n\x19Onboarding1p0ChargingInfo\x12\x12\n\non_charger\x18\x01 \x01(\x08\x12\x17\n\x0fneeds_to_charge\x18\x02 \x01(\x08\x12\x1e\n\x16suggested_charger_time\x18\x03 \x01(\x02\"\x1a\n\x18OnboardingWakeUpFinished\"*\n\x12\x46\x65\x61tureFlagRequest\x12\x14\n\x0c\x66\x65\x61ture_name\x18\x01 \x01(\t\"\x85\x01\n\x13\x46\x65\x61tureFlagResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12\x15\n\rvalid_feature\x18\x02 \x01(\x08\x12\x17\n\x0f\x66\x65\x61ture_enabled\x18\x03 \x01(\x08\".\n\x16\x46\x65\x61tureFlagListRequest\x12\x14\n\x0crequest_list\x18\x01 \x03(\t\"g\n\x17\x46\x65\x61tureFlagListResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12\x0c\n\x04list\x18\x02 \x03(\t\"q\n\x11\x41ttentionTransfer\x12G\n\x06reason\x18\x01 \x01(\x0e\x32\x37.Anki.Vector.external_interface.AttentionTransferReason\x12\x13\n\x0bseconds_ago\x18\x02 \x01(\x02\" \n\x1eLatestAttentionTransferRequest\"\x80\x01\n\x17LatestAttentionTransfer\x12O\n\x12\x61ttention_transfer\x18\x01 \x01(\x0b\x32\x31.Anki.Vector.external_interface.AttentionTransferH\x00\x42\x14\n\x12oneof_message_type\"\xbd\x01\n\x1fLatestAttentionTransferResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12Z\n\x19latest_attention_transfer\x18\x02 \x01(\x0b\x32\x37.Anki.Vector.external_interface.LatestAttentionTransfer\"\x19\n\x17UpdateAndRestartRequest\"Z\n\x18UpdateAndRestartResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\"\x1a\n\x18\x43heckUpdateStatusRequest\"\xcb\x02\n\x19\x43heckUpdateStatusResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12]\n\rupdate_status\x18\x02 \x01(\x0e\x32\x46.Anki.Vector.external_interface.CheckUpdateStatusResponse.UpdateStatus\x12\x10\n\x08\x65xpected\x18\x03 \x01(\x03\x12\x10\n\x08progress\x18\x04 \x01(\x03\x12\x16\n\x0eupdate_version\x18\x05 \x01(\t\"M\n\x0cUpdateStatus\x12\r\n\tNO_UPDATE\x10\x00\x12\x14\n\x10READY_TO_INSTALL\x10\x01\x12\x18\n\x14IN_PROGRESS_DOWNLOAD\x10\x02:\x04\x80\xa6\x1d\x01\"\x13\n\x11\x43heckCloudRequest\"\xed\x02\n\x12\x43heckCloudResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12O\n\x04\x63ode\x18\x02 \x01(\x0e\x32\x41.Anki.Vector.external_interface.CheckCloudResponse.ConnectionCode\x12\x16\n\x0estatus_message\x18\x03 \x01(\t\x12\x13\n\x0bnum_packets\x18\x04 \x01(\x05\x12\x18\n\x10\x65xpected_packets\x18\x05 \x01(\x05\"\x7f\n\x0e\x43onnectionCode\x12\x0b\n\x07UNKNOWN\x10\x00\x12\r\n\tAVAILABLE\x10\x01\x12\x14\n\x10\x42\x41\x44_CONNECTIVITY\x10\x02\x12\x0e\n\nFAILED_TLS\x10\x03\x12\x0f\n\x0b\x46\x41ILED_AUTH\x10\x04\x12\x1a\n\x16INSUFFICIENT_BANDWIDTH\x10\x05*\xdc\x04\n\x0bRobotStatus\x12\x15\n\x11ROBOT_STATUS_NONE\x10\x00\x12\x1a\n\x16ROBOT_STATUS_IS_MOVING\x10\x01\x12\"\n\x1eROBOT_STATUS_IS_CARRYING_BLOCK\x10\x02\x12&\n\"ROBOT_STATUS_IS_PICKING_OR_PLACING\x10\x04\x12\x1d\n\x19ROBOT_STATUS_IS_PICKED_UP\x10\x08\x12\"\n\x1eROBOT_STATUS_IS_BUTTON_PRESSED\x10\x10\x12\x1b\n\x17ROBOT_STATUS_IS_FALLING\x10 \x12\x1d\n\x19ROBOT_STATUS_IS_ANIMATING\x10@\x12\x1c\n\x17ROBOT_STATUS_IS_PATHING\x10\x80\x01\x12\x1d\n\x18ROBOT_STATUS_LIFT_IN_POS\x10\x80\x02\x12\x1d\n\x18ROBOT_STATUS_HEAD_IN_POS\x10\x80\x04\x12!\n\x1cROBOT_STATUS_CALM_POWER_MODE\x10\x80\x08\x12\x1f\n\x1aROBOT_STATUS_IS_ON_CHARGER\x10\x80 \x12\x1d\n\x18ROBOT_STATUS_IS_CHARGING\x10\x80@\x12!\n\x1bROBOT_STATUS_CLIFF_DETECTED\x10\x80\x80\x01\x12$\n\x1eROBOT_STATUS_ARE_WHEELS_MOVING\x10\x80\x80\x02\x12 \n\x1aROBOT_STATUS_IS_BEING_HELD\x10\x80\x80\x04\x12%\n\x1fROBOT_STATUS_IS_MOTION_DETECTED\x10\x80\x80\x08*\xbd\x01\n\x10\x46\x61\x63ialExpression\x12\x16\n\x12\x45XPRESSION_UNKNOWN\x10\x00\x12\x16\n\x12\x45XPRESSION_NEUTRAL\x10\x01\x12\x18\n\x14\x45XPRESSION_HAPPINESS\x10\x02\x12\x17\n\x13\x45XPRESSION_SURPRISE\x10\x03\x12\x14\n\x10\x45XPRESSION_ANGER\x10\x04\x12\x16\n\x12\x45XPRESSION_SADNESS\x10\x05\x12\x14\n\x10\x45XPRESSION_COUNT\x10\x05\x1a\x02\x10\x01*\xcc\x01\n\x14\x46\x61\x63\x65\x45nrollmentResult\x12\x0b\n\x07SUCCESS\x10\x00\x12\x12\n\x0eSAW_WRONG_FACE\x10\x01\x12\x16\n\x12SAW_MULTIPLE_FACES\x10\x02\x12\r\n\tTIMED_OUT\x10\x03\x12\x0f\n\x0bSAVE_FAILED\x10\x04\x12\x0e\n\nINCOMPLETE\x10\x05\x12\r\n\tCANCELLED\x10\x06\x12\x0f\n\x0bNAME_IN_USE\x10\x07\x12\x16\n\x12NAMED_STORAGE_FULL\x10\x08\x12\x13\n\x0fUNKNOWN_FAILURE\x10\t*l\n\x0f\x42\x65haviorResults\x12\x1a\n\x16\x42\x45HAVIOR_INVALID_STATE\x10\x00\x12\x1b\n\x17\x42\x45HAVIOR_COMPLETE_STATE\x10\x01\x12 \n\x1c\x42\x45HAVIOR_WONT_ACTIVATE_STATE\x10\x02*S\n\x12\x41\x63tionTagConstants\x12\x13\n\x0fINVALID_SDK_TAG\x10\x00\x12\x13\n\rFIRST_SDK_TAG\x10\x81\x89z\x12\x13\n\x0cLAST_SDK_TAG\x10\xc0\x8d\xb7\x01*\x9e\x01\n\rAlignmentType\x12\x1a\n\x16\x41LIGNMENT_TYPE_UNKNOWN\x10\x00\x12\x1e\n\x1a\x41LIGNMENT_TYPE_LIFT_FINGER\x10\x01\x12\x1d\n\x19\x41LIGNMENT_TYPE_LIFT_PLATE\x10\x02\x12\x17\n\x13\x41LIGNMENT_TYPE_BODY\x10\x03\x12\x19\n\x15\x41LIGNMENT_TYPE_CUSTOM\x10\x04*s\n\x0c\x42\x61tteryLevel\x12\x19\n\x15\x42\x41TTERY_LEVEL_UNKNOWN\x10\x00\x12\x15\n\x11\x42\x41TTERY_LEVEL_LOW\x10\x01\x12\x19\n\x15\x42\x41TTERY_LEVEL_NOMINAL\x10\x02\x12\x16\n\x12\x42\x41TTERY_LEVEL_FULL\x10\x03*\xcc\x01\n\x0e\x41udioConstants\x12\x18\n\x14\x41UDIO_CONSTANTS_NULL\x10\x00\x12\x1c\n\x18MIC_DETECTION_DIRECTIONS\x10\x0c\x12%\n SAMPLE_COUNTS_PER_ENGINE_MESSAGE\x10\xa0\x01\x12\"\n\x1dSAMPLE_COUNTS_PER_SDK_MESSAGE\x10\xc0\x0c\x12\x1b\n\x16MICROPHONE_SAMPLE_RATE\x10\x89z\x12\x1a\n\x15PROCESSED_SAMPLE_RATE\x10\x80}*\x85\x01\n\x13\x41udioProcessingMode\x12\x11\n\rAUDIO_UNKNOWN\x10\x00\x12\r\n\tAUDIO_OFF\x10\x01\x12\x13\n\x0f\x41UDIO_FAST_MODE\x10\x02\x12\x1a\n\x16\x41UDIO_DIRECTIONAL_MODE\x10\x03\x12\x1b\n\x17\x41UDIO_VOICE_DETECT_MODE\x10\x04*v\n\x11MasterVolumeLevel\x12\x0e\n\nVOLUME_LOW\x10\x00\x12\x15\n\x11VOLUME_MEDIUM_LOW\x10\x01\x12\x11\n\rVOLUME_MEDIUM\x10\x02\x12\x16\n\x12VOLUME_MEDIUM_HIGH\x10\x03\x12\x0f\n\x0bVOLUME_HIGH\x10\x04*P\n\x10OnboardingStages\x12\x0e\n\nNotStarted\x10\x00\x12\x0c\n\x08TimedOut\x10\x01\x12\x0c\n\x08\x43omplete\x10\x03\x12\x10\n\x0c\x44\x65vDoNothing\x10\x04*\x98\x01\n\x0fOnboardingPhase\x12\x10\n\x0cInvalidPhase\x10\x00\x12\x0b\n\x07\x44\x65\x66\x61ult\x10\x01\x12\x0f\n\x0bLookAtPhone\x10\x02\x12\n\n\x06WakeUp\x10\x03\x12\x0e\n\nLookAtUser\x10\x04\x12\x11\n\rTeachWakeWord\x10\x05\x12\x11\n\rTeachComeHere\x10\x06\x12\x13\n\x0fTeachMeetVictor\x10\x07*b\n\x14OnboardingPhaseState\x12\x10\n\x0cPhaseInvalid\x10\x00\x12\x10\n\x0cPhasePending\x10\x01\x12\x13\n\x0fPhaseInProgress\x10\x02\x12\x11\n\rPhaseComplete\x10\x03*^\n\x17\x41ttentionTransferReason\x12\x0b\n\x07Invalid\x10\x00\x12\x15\n\x11NoCloudConnection\x10\x01\x12\n\n\x06NoWifi\x10\x02\x12\x13\n\x0fUnmatchedIntent\x10\x03\x62\x06proto3') , - dependencies=[anki__vector_dot_messaging_dot_response__status__pb2.DESCRIPTOR,anki__vector_dot_messaging_dot_extensions__pb2.DESCRIPTOR,]) + dependencies=[anki__vector_dot_messaging_dot_response__status__pb2.DESCRIPTOR,anki__vector_dot_messaging_dot_extensions__pb2.DESCRIPTOR,anki__vector_dot_messaging_dot_alexa__pb2.DESCRIPTOR,]) _ROBOTSTATUS = _descriptor.EnumDescriptor( name='RobotStatus', @@ -107,8 +108,8 @@ ], containing_type=None, options=None, - serialized_start=19443, - serialized_end=20047, + serialized_start=25216, + serialized_end=25820, ) _sym_db.RegisterEnumDescriptor(_ROBOTSTATUS) @@ -150,8 +151,8 @@ ], containing_type=None, options=_descriptor._ParseOptions(descriptor_pb2.EnumOptions(), _b('\020\001')), - serialized_start=20050, - serialized_end=20239, + serialized_start=25823, + serialized_end=26012, ) _sym_db.RegisterEnumDescriptor(_FACIALEXPRESSION) @@ -205,8 +206,8 @@ ], containing_type=None, options=None, - serialized_start=20242, - serialized_end=20446, + serialized_start=26015, + serialized_end=26219, ) _sym_db.RegisterEnumDescriptor(_FACEENROLLMENTRESULT) @@ -232,8 +233,8 @@ ], containing_type=None, options=None, - serialized_start=20448, - serialized_end=20556, + serialized_start=26221, + serialized_end=26329, ) _sym_db.RegisterEnumDescriptor(_BEHAVIORRESULTS) @@ -259,8 +260,8 @@ ], containing_type=None, options=None, - serialized_start=20558, - serialized_end=20641, + serialized_start=26331, + serialized_end=26414, ) _sym_db.RegisterEnumDescriptor(_ACTIONTAGCONSTANTS) @@ -294,8 +295,8 @@ ], containing_type=None, options=None, - serialized_start=20644, - serialized_end=20802, + serialized_start=26417, + serialized_end=26575, ) _sym_db.RegisterEnumDescriptor(_ALIGNMENTTYPE) @@ -325,8 +326,8 @@ ], containing_type=None, options=None, - serialized_start=20804, - serialized_end=20919, + serialized_start=26577, + serialized_end=26692, ) _sym_db.RegisterEnumDescriptor(_BATTERYLEVEL) @@ -364,8 +365,8 @@ ], containing_type=None, options=None, - serialized_start=20922, - serialized_end=21126, + serialized_start=26695, + serialized_end=26899, ) _sym_db.RegisterEnumDescriptor(_AUDIOCONSTANTS) @@ -399,8 +400,8 @@ ], containing_type=None, options=None, - serialized_start=21129, - serialized_end=21262, + serialized_start=26902, + serialized_end=27035, ) _sym_db.RegisterEnumDescriptor(_AUDIOPROCESSINGMODE) @@ -434,12 +435,152 @@ ], containing_type=None, options=None, - serialized_start=21264, - serialized_end=21382, + serialized_start=27037, + serialized_end=27155, ) _sym_db.RegisterEnumDescriptor(_MASTERVOLUMELEVEL) MasterVolumeLevel = enum_type_wrapper.EnumTypeWrapper(_MASTERVOLUMELEVEL) +_ONBOARDINGSTAGES = _descriptor.EnumDescriptor( + name='OnboardingStages', + full_name='Anki.Vector.external_interface.OnboardingStages', + filename=None, + file=DESCRIPTOR, + values=[ + _descriptor.EnumValueDescriptor( + name='NotStarted', index=0, number=0, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='TimedOut', index=1, number=1, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='Complete', index=2, number=3, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='DevDoNothing', index=3, number=4, + options=None, + type=None), + ], + containing_type=None, + options=None, + serialized_start=27157, + serialized_end=27237, +) +_sym_db.RegisterEnumDescriptor(_ONBOARDINGSTAGES) + +OnboardingStages = enum_type_wrapper.EnumTypeWrapper(_ONBOARDINGSTAGES) +_ONBOARDINGPHASE = _descriptor.EnumDescriptor( + name='OnboardingPhase', + full_name='Anki.Vector.external_interface.OnboardingPhase', + filename=None, + file=DESCRIPTOR, + values=[ + _descriptor.EnumValueDescriptor( + name='InvalidPhase', index=0, number=0, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='Default', index=1, number=1, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='LookAtPhone', index=2, number=2, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='WakeUp', index=3, number=3, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='LookAtUser', index=4, number=4, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='TeachWakeWord', index=5, number=5, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='TeachComeHere', index=6, number=6, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='TeachMeetVictor', index=7, number=7, + options=None, + type=None), + ], + containing_type=None, + options=None, + serialized_start=27240, + serialized_end=27392, +) +_sym_db.RegisterEnumDescriptor(_ONBOARDINGPHASE) + +OnboardingPhase = enum_type_wrapper.EnumTypeWrapper(_ONBOARDINGPHASE) +_ONBOARDINGPHASESTATE = _descriptor.EnumDescriptor( + name='OnboardingPhaseState', + full_name='Anki.Vector.external_interface.OnboardingPhaseState', + filename=None, + file=DESCRIPTOR, + values=[ + _descriptor.EnumValueDescriptor( + name='PhaseInvalid', index=0, number=0, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='PhasePending', index=1, number=1, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='PhaseInProgress', index=2, number=2, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='PhaseComplete', index=3, number=3, + options=None, + type=None), + ], + containing_type=None, + options=None, + serialized_start=27394, + serialized_end=27492, +) +_sym_db.RegisterEnumDescriptor(_ONBOARDINGPHASESTATE) + +OnboardingPhaseState = enum_type_wrapper.EnumTypeWrapper(_ONBOARDINGPHASESTATE) +_ATTENTIONTRANSFERREASON = _descriptor.EnumDescriptor( + name='AttentionTransferReason', + full_name='Anki.Vector.external_interface.AttentionTransferReason', + filename=None, + file=DESCRIPTOR, + values=[ + _descriptor.EnumValueDescriptor( + name='Invalid', index=0, number=0, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='NoCloudConnection', index=1, number=1, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='NoWifi', index=2, number=2, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='UnmatchedIntent', index=3, number=3, + options=None, + type=None), + ], + containing_type=None, + options=None, + serialized_start=27494, + serialized_end=27588, +) +_sym_db.RegisterEnumDescriptor(_ATTENTIONTRANSFERREASON) + +AttentionTransferReason = enum_type_wrapper.EnumTypeWrapper(_ATTENTIONTRANSFERREASON) ROBOT_STATUS_NONE = 0 ROBOT_STATUS_IS_MOVING = 1 ROBOT_STATUS_IS_CARRYING_BLOCK = 2 @@ -506,6 +647,26 @@ VOLUME_MEDIUM = 2 VOLUME_MEDIUM_HIGH = 3 VOLUME_HIGH = 4 +NotStarted = 0 +TimedOut = 1 +Complete = 3 +DevDoNothing = 4 +InvalidPhase = 0 +Default = 1 +LookAtPhone = 2 +WakeUp = 3 +LookAtUser = 4 +TeachWakeWord = 5 +TeachComeHere = 6 +TeachMeetVictor = 7 +PhaseInvalid = 0 +PhasePending = 1 +PhaseInProgress = 2 +PhaseComplete = 3 +Invalid = 0 +NoCloudConnection = 1 +NoWifi = 2 +UnmatchedIntent = 3 _ACTIONRESULT_ACTIONRESULTCODE = _descriptor.EnumDescriptor( @@ -729,8 +890,8 @@ ], containing_type=None, options=None, - serialized_start=8147, - serialized_end=9709, + serialized_start=8255, + serialized_end=9817, ) _sym_db.RegisterEnumDescriptor(_ACTIONRESULT_ACTIONRESULTCODE) @@ -751,8 +912,8 @@ ], containing_type=None, options=None, - serialized_start=14429, - serialized_end=14468, + serialized_start=14537, + serialized_end=14576, ) _sym_db.RegisterEnumDescriptor(_CUBEBATTERY_CUBEBATTERYLEVEL) @@ -785,8 +946,8 @@ ], containing_type=None, options=None, - serialized_start=14873, - serialized_end=14956, + serialized_start=14981, + serialized_end=15064, ) _sym_db.RegisterEnumDescriptor(_SAYTEXTRESPONSE_UTTERANCESTATE) @@ -843,11 +1004,75 @@ ], containing_type=None, options=None, - serialized_start=18387, - serialized_end=18598, + serialized_start=18495, + serialized_end=18706, ) _sym_db.RegisterEnumDescriptor(_IMAGECHUNK_IMAGEENCODING) +_CHECKUPDATESTATUSRESPONSE_UPDATESTATUS = _descriptor.EnumDescriptor( + name='UpdateStatus', + full_name='Anki.Vector.external_interface.CheckUpdateStatusResponse.UpdateStatus', + filename=None, + file=DESCRIPTOR, + values=[ + _descriptor.EnumValueDescriptor( + name='NO_UPDATE', index=0, number=0, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='READY_TO_INSTALL', index=1, number=1, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='IN_PROGRESS_DOWNLOAD', index=2, number=2, + options=None, + type=None), + ], + containing_type=None, + options=None, + serialized_start=24741, + serialized_end=24818, +) +_sym_db.RegisterEnumDescriptor(_CHECKUPDATESTATUSRESPONSE_UPDATESTATUS) + +_CHECKCLOUDRESPONSE_CONNECTIONCODE = _descriptor.EnumDescriptor( + name='ConnectionCode', + full_name='Anki.Vector.external_interface.CheckCloudResponse.ConnectionCode', + filename=None, + file=DESCRIPTOR, + values=[ + _descriptor.EnumValueDescriptor( + name='UNKNOWN', index=0, number=0, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='AVAILABLE', index=1, number=1, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='BAD_CONNECTIVITY', index=2, number=2, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='FAILED_TLS', index=3, number=3, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='FAILED_AUTH', index=4, number=4, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='INSUFFICIENT_BANDWIDTH', index=5, number=5, + options=None, + type=None), + ], + containing_type=None, + options=None, + serialized_start=25086, + serialized_end=25213, +) +_sym_db.RegisterEnumDescriptor(_CHECKCLOUDRESPONSE_CONNECTIONCODE) + _KEEPALIVEPING = _descriptor.Descriptor( name='KeepAlivePing', @@ -868,8 +1093,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=157, - serialized_end=172, + serialized_start=192, + serialized_end=207, ) @@ -899,8 +1124,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=174, - serialized_end=206, + serialized_start=209, + serialized_end=241, ) @@ -930,8 +1155,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=208, - serialized_end=233, + serialized_start=243, + serialized_end=268, ) @@ -982,8 +1207,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=235, - serialized_end=359, + serialized_start=270, + serialized_end=394, ) @@ -1013,8 +1238,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=361, - serialized_end=446, + serialized_start=396, + serialized_end=481, ) @@ -1044,8 +1269,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=448, - serialized_end=492, + serialized_start=483, + serialized_end=527, ) @@ -1075,8 +1300,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=494, - serialized_end=576, + serialized_start=529, + serialized_end=611, ) @@ -1106,8 +1331,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=578, - serialized_end=622, + serialized_start=613, + serialized_end=657, ) @@ -1137,8 +1362,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=624, - serialized_end=706, + serialized_start=659, + serialized_end=741, ) @@ -1161,8 +1386,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=708, - serialized_end=730, + serialized_start=743, + serialized_end=765, ) @@ -1192,8 +1417,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=732, - serialized_end=819, + serialized_start=767, + serialized_end=854, ) @@ -1258,8 +1483,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=822, - serialized_end=1047, + serialized_start=857, + serialized_end=1082, ) @@ -1317,8 +1542,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1050, - serialized_end=1230, + serialized_start=1085, + serialized_end=1265, ) @@ -1362,8 +1587,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1233, - serialized_end=1447, + serialized_start=1268, + serialized_end=1482, ) @@ -1386,8 +1611,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1449, - serialized_end=1472, + serialized_start=1484, + serialized_end=1507, ) @@ -1424,8 +1649,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1475, - serialized_end=1631, + serialized_start=1510, + serialized_end=1666, ) @@ -1448,8 +1673,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1633, - serialized_end=1663, + serialized_start=1668, + serialized_end=1698, ) @@ -1486,8 +1711,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1666, - serialized_end=1844, + serialized_start=1701, + serialized_end=1879, ) @@ -1531,8 +1756,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1846, - serialized_end=1941, + serialized_start=1881, + serialized_end=1976, ) @@ -1562,8 +1787,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1943, - serialized_end=2036, + serialized_start=1978, + serialized_end=2071, ) @@ -1586,8 +1811,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2038, - serialized_end=2065, + serialized_start=2073, + serialized_end=2100, ) @@ -1610,8 +1835,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2067, - serialized_end=2095, + serialized_start=2102, + serialized_end=2130, ) @@ -1623,21 +1848,28 @@ containing_type=None, fields=[ _descriptor.FieldDescriptor( - name='meet_victor_face_scan_started', full_name='Anki.Vector.external_interface.Status.meet_victor_face_scan_started', index=0, + name='feature_status', full_name='Anki.Vector.external_interface.Status.feature_status', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='meet_victor_face_scan_started', full_name='Anki.Vector.external_interface.Status.meet_victor_face_scan_started', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='meet_victor_face_scan_complete', full_name='Anki.Vector.external_interface.Status.meet_victor_face_scan_complete', index=1, + name='meet_victor_face_scan_complete', full_name='Anki.Vector.external_interface.Status.meet_victor_face_scan_complete', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='face_enrollment_completed', full_name='Anki.Vector.external_interface.Status.face_enrollment_completed', index=2, + name='face_enrollment_completed', full_name='Anki.Vector.external_interface.Status.face_enrollment_completed', index=3, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, @@ -1658,8 +1890,8 @@ name='status_type', full_name='Anki.Vector.external_interface.Status.status_type', index=0, containing_type=None, fields=[]), ], - serialized_start=2098, - serialized_end=2417, + serialized_start=2133, + serialized_end=2525, ) @@ -1699,8 +1931,8 @@ name='wake_word_type', full_name='Anki.Vector.external_interface.WakeWord.wake_word_type', index=0, containing_type=None, fields=[]), ], - serialized_start=2420, - serialized_end=2592, + serialized_start=2528, + serialized_end=2700, ) @@ -1737,8 +1969,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2594, - serialized_end=2692, + serialized_start=2702, + serialized_end=2800, ) @@ -1817,8 +2049,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2694, - serialized_end=2806, + serialized_start=2802, + serialized_end=2914, ) @@ -1862,8 +2094,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2808, - serialized_end=2852, + serialized_start=2916, + serialized_end=2960, ) @@ -1907,8 +2139,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2854, - serialized_end=2897, + serialized_start=2962, + serialized_end=3005, ) @@ -1966,8 +2198,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2899, - serialized_end=3022, + serialized_start=3007, + serialized_end=3130, ) @@ -2004,8 +2236,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3024, - serialized_end=3086, + serialized_start=3132, + serialized_end=3194, ) @@ -2147,8 +2379,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3089, - serialized_end=3731, + serialized_start=3197, + serialized_end=3839, ) @@ -2185,8 +2417,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3733, - serialized_end=3766, + serialized_start=3841, + serialized_end=3874, ) @@ -2237,8 +2469,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3768, - serialized_end=3849, + serialized_start=3876, + serialized_end=3957, ) @@ -2338,8 +2570,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=3852, - serialized_end=4374, + serialized_start=3960, + serialized_end=4482, ) @@ -2376,8 +2608,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4376, - serialized_end=4436, + serialized_start=4484, + serialized_end=4544, ) @@ -2421,8 +2653,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4438, - serialized_end=4564, + serialized_start=4546, + serialized_end=4672, ) @@ -2445,8 +2677,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4566, - serialized_end=4595, + serialized_start=4674, + serialized_end=4703, ) @@ -2476,8 +2708,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4597, - serialized_end=4691, + serialized_start=4705, + serialized_end=4799, ) @@ -2500,8 +2732,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4693, - serialized_end=4722, + serialized_start=4801, + serialized_end=4830, ) @@ -2566,8 +2798,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4725, - serialized_end=4919, + serialized_start=4833, + serialized_end=5027, ) @@ -2604,8 +2836,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4921, - serialized_end=4978, + serialized_start=5029, + serialized_end=5086, ) @@ -2642,8 +2874,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=4981, - serialized_end=5139, + serialized_start=5089, + serialized_end=5247, ) @@ -2687,8 +2919,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5141, - serialized_end=5225, + serialized_start=5249, + serialized_end=5333, ) @@ -2718,8 +2950,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5227, - serialized_end=5323, + serialized_start=5335, + serialized_end=5431, ) @@ -2749,8 +2981,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5325, - serialized_end=5372, + serialized_start=5433, + serialized_end=5480, ) @@ -2780,8 +3012,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5374, - serialized_end=5469, + serialized_start=5482, + serialized_end=5577, ) @@ -2804,8 +3036,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5471, - serialized_end=5501, + serialized_start=5579, + serialized_end=5609, ) @@ -2835,8 +3067,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5503, - serialized_end=5598, + serialized_start=5611, + serialized_end=5706, ) @@ -2901,8 +3133,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5601, - serialized_end=5737, + serialized_start=5709, + serialized_end=5845, ) @@ -2932,8 +3164,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5739, - serialized_end=5828, + serialized_start=5847, + serialized_end=5936, ) @@ -2956,8 +3188,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5830, - serialized_end=5854, + serialized_start=5938, + serialized_end=5962, ) @@ -2994,8 +3226,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=5857, - serialized_end=6011, + serialized_start=5965, + serialized_end=6119, ) @@ -3018,8 +3250,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6013, - serialized_end=6036, + serialized_start=6121, + serialized_end=6144, ) @@ -3056,8 +3288,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6039, - serialized_end=6192, + serialized_start=6147, + serialized_end=6300, ) @@ -3080,8 +3312,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6194, - serialized_end=6212, + serialized_start=6302, + serialized_end=6320, ) @@ -3118,8 +3350,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6215, - serialized_end=6363, + serialized_start=6323, + serialized_end=6471, ) @@ -3142,8 +3374,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6365, - serialized_end=6391, + serialized_start=6473, + serialized_end=6499, ) @@ -3180,8 +3412,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6394, - serialized_end=6550, + serialized_start=6502, + serialized_end=6658, ) @@ -3204,8 +3436,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6552, - serialized_end=6570, + serialized_start=6660, + serialized_end=6678, ) @@ -3242,8 +3474,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6573, - serialized_end=6721, + serialized_start=6681, + serialized_end=6829, ) @@ -3266,8 +3498,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6723, - serialized_end=6738, + serialized_start=6831, + serialized_end=6846, ) @@ -3304,8 +3536,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6740, - serialized_end=6796, + serialized_start=6848, + serialized_end=6904, ) @@ -3342,8 +3574,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6798, - serialized_end=6848, + serialized_start=6906, + serialized_end=6956, ) @@ -3394,8 +3626,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6850, - serialized_end=6960, + serialized_start=6958, + serialized_end=7068, ) @@ -3418,8 +3650,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6962, - serialized_end=6981, + serialized_start=7070, + serialized_end=7089, ) @@ -3456,8 +3688,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6984, - serialized_end=7132, + serialized_start=7092, + serialized_end=7240, ) @@ -3487,8 +3719,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7134, - serialized_end=7166, + serialized_start=7242, + serialized_end=7274, ) @@ -3525,8 +3757,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7168, - serialized_end=7222, + serialized_start=7276, + serialized_end=7330, ) @@ -3570,8 +3802,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7224, - serialized_end=7335, + serialized_start=7332, + serialized_end=7443, ) @@ -3601,8 +3833,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7337, - serialized_end=7373, + serialized_start=7445, + serialized_end=7481, ) @@ -3639,8 +3871,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7375, - serialized_end=7433, + serialized_start=7483, + serialized_end=7541, ) @@ -3684,8 +3916,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7435, - serialized_end=7550, + serialized_start=7543, + serialized_end=7658, ) @@ -3715,8 +3947,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7552, - serialized_end=7590, + serialized_start=7660, + serialized_end=7698, ) @@ -3753,8 +3985,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7592, - serialized_end=7694, + serialized_start=7700, + serialized_end=7802, ) @@ -3784,8 +4016,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7696, - serialized_end=7726, + serialized_start=7804, + serialized_end=7834, ) @@ -3885,8 +4117,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7729, - serialized_end=8050, + serialized_start=7837, + serialized_end=8158, ) @@ -3917,8 +4149,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=8053, - serialized_end=9709, + serialized_start=8161, + serialized_end=9817, ) @@ -3948,8 +4180,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=9711, - serialized_end=9755, + serialized_start=9819, + serialized_end=9863, ) @@ -3979,8 +4211,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=9757, - serialized_end=9850, + serialized_start=9865, + serialized_end=9958, ) @@ -4045,8 +4277,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=9853, - serialized_end=10020, + serialized_start=9961, + serialized_end=10128, ) @@ -4083,8 +4315,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=10023, - serialized_end=10167, + serialized_start=10131, + serialized_end=10275, ) @@ -4170,8 +4402,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=10170, - serialized_end=10506, + serialized_start=10278, + serialized_end=10614, ) @@ -4208,8 +4440,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=10509, - serialized_end=10657, + serialized_start=10617, + serialized_end=10765, ) @@ -4267,8 +4499,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=10659, - serialized_end=10786, + serialized_start=10767, + serialized_end=10894, ) @@ -4305,8 +4537,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=10789, - serialized_end=10938, + serialized_start=10897, + serialized_end=11046, ) @@ -4378,8 +4610,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=10941, - serialized_end=11110, + serialized_start=11049, + serialized_end=11218, ) @@ -4416,8 +4648,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=11113, - serialized_end=11260, + serialized_start=11221, + serialized_end=11368, ) @@ -4482,8 +4714,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=11263, - serialized_end=11421, + serialized_start=11371, + serialized_end=11529, ) @@ -4520,8 +4752,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=11424, - serialized_end=11572, + serialized_start=11532, + serialized_end=11680, ) @@ -4586,8 +4818,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=11575, - serialized_end=11734, + serialized_start=11683, + serialized_end=11842, ) @@ -4624,8 +4856,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=11737, - serialized_end=11886, + serialized_start=11845, + serialized_end=11994, ) @@ -4676,8 +4908,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=11888, - serialized_end=11994, + serialized_start=11996, + serialized_end=12102, ) @@ -4714,8 +4946,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=11997, - serialized_end=12148, + serialized_start=12105, + serialized_end=12256, ) @@ -4780,8 +5012,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=12151, - serialized_end=12365, + serialized_start=12259, + serialized_end=12473, ) @@ -4818,8 +5050,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=12368, - serialized_end=12514, + serialized_start=12476, + serialized_end=12622, ) @@ -4891,8 +5123,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=12517, - serialized_end=12747, + serialized_start=12625, + serialized_end=12855, ) @@ -4929,8 +5161,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=12750, - serialized_end=12896, + serialized_start=12858, + serialized_end=13004, ) @@ -5002,8 +5234,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=12899, - serialized_end=13130, + serialized_start=13007, + serialized_end=13238, ) @@ -5040,8 +5272,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=13133, - serialized_end=13280, + serialized_start=13241, + serialized_end=13388, ) @@ -5113,8 +5345,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=13283, - serialized_end=13515, + serialized_start=13391, + serialized_end=13623, ) @@ -5151,8 +5383,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=13518, - serialized_end=13666, + serialized_start=13626, + serialized_end=13774, ) @@ -5189,8 +5421,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=13668, - serialized_end=13737, + serialized_start=13776, + serialized_end=13845, ) @@ -5227,8 +5459,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=13740, - serialized_end=13899, + serialized_start=13848, + serialized_end=14007, ) @@ -5251,8 +5483,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=13901, - serialized_end=13922, + serialized_start=14009, + serialized_end=14030, ) @@ -5324,8 +5556,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=13925, - serialized_end=14254, + serialized_start=14033, + serialized_end=14362, ) @@ -5377,8 +5609,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=14257, - serialized_end=14468, + serialized_start=14365, + serialized_end=14576, ) @@ -5401,8 +5633,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=14470, - serialized_end=14491, + serialized_start=14578, + serialized_end=14599, ) @@ -5446,8 +5678,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=14494, - serialized_end=14625, + serialized_start=14602, + serialized_end=14733, ) @@ -5491,8 +5723,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=14627, - serialized_end=14708, + serialized_start=14735, + serialized_end=14816, ) @@ -5530,8 +5762,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=14711, - serialized_end=14956, + serialized_start=14819, + serialized_end=15064, ) @@ -5603,8 +5835,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=14959, - serialized_end=15114, + serialized_start=15067, + serialized_end=15222, ) @@ -5634,8 +5866,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=15116, - serialized_end=15205, + serialized_start=15224, + serialized_end=15313, ) @@ -5665,8 +5897,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=15207, - serialized_end=15296, + serialized_start=15315, + serialized_end=15404, ) @@ -5752,8 +5984,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=15299, - serialized_end=15531, + serialized_start=15407, + serialized_end=15639, ) @@ -5776,8 +6008,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=15533, - serialized_end=15551, + serialized_start=15641, + serialized_end=15659, ) @@ -5849,8 +6081,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=15554, - serialized_end=15754, + serialized_start=15662, + serialized_end=15862, ) @@ -5887,8 +6119,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=15756, - serialized_end=15832, + serialized_start=15864, + serialized_end=15940, ) @@ -5925,8 +6157,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=15834, - serialized_end=15921, + serialized_start=15942, + serialized_end=16029, ) @@ -5949,8 +6181,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=15923, - serialized_end=15952, + serialized_start=16031, + serialized_end=16060, ) @@ -5973,8 +6205,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=15954, - serialized_end=15981, + serialized_start=16062, + serialized_end=16089, ) @@ -6028,8 +6260,8 @@ name='audio_request_type', full_name='Anki.Vector.external_interface.ExternalAudioStreamRequest.audio_request_type', index=0, containing_type=None, fields=[]), ], - serialized_start=15984, - serialized_end=16398, + serialized_start=16092, + serialized_end=16506, ) @@ -6052,8 +6284,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=16400, - serialized_end=16437, + serialized_start=16508, + serialized_end=16545, ) @@ -6076,8 +6308,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=16439, - serialized_end=16475, + serialized_start=16547, + serialized_end=16583, ) @@ -6114,8 +6346,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=16477, - serialized_end=16569, + serialized_start=16585, + serialized_end=16677, ) @@ -6162,8 +6394,8 @@ name='audio_response_type', full_name='Anki.Vector.external_interface.ExternalAudioStreamResponse.audio_response_type', index=0, containing_type=None, fields=[]), ], - serialized_start=16572, - serialized_end=16949, + serialized_start=16680, + serialized_end=17057, ) @@ -6193,8 +6425,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=16951, - serialized_end=17045, + serialized_start=17059, + serialized_end=17153, ) @@ -6224,8 +6456,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=17047, - serialized_end=17133, + serialized_start=17155, + serialized_end=17241, ) @@ -6255,8 +6487,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=17135, - serialized_end=17181, + serialized_start=17243, + serialized_end=17289, ) @@ -6286,8 +6518,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=17183, - serialized_end=17278, + serialized_start=17291, + serialized_end=17386, ) @@ -6345,8 +6577,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=17281, - serialized_end=17458, + serialized_start=17389, + serialized_end=17566, ) @@ -6376,8 +6608,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=17460, - serialized_end=17553, + serialized_start=17568, + serialized_end=17661, ) @@ -6407,8 +6639,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=17555, - serialized_end=17601, + serialized_start=17663, + serialized_end=17709, ) @@ -6438,8 +6670,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=17603, - serialized_end=17698, + serialized_start=17711, + serialized_end=17806, ) @@ -6469,8 +6701,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=17700, - serialized_end=17741, + serialized_start=17808, + serialized_end=17849, ) @@ -6500,8 +6732,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=17743, - serialized_end=17833, + serialized_start=17851, + serialized_end=17941, ) @@ -6524,8 +6756,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=17835, - serialized_end=17855, + serialized_start=17943, + serialized_end=17963, ) @@ -6555,8 +6787,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=17857, - serialized_end=17902, + serialized_start=17965, + serialized_end=18010, ) @@ -6586,8 +6818,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=17904, - serialized_end=17998, + serialized_start=18012, + serialized_end=18106, ) @@ -6610,8 +6842,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=18000, - serialized_end=18032, + serialized_start=18108, + serialized_end=18140, ) @@ -6641,8 +6873,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=18034, - serialized_end=18103, + serialized_start=18142, + serialized_end=18211, ) @@ -6665,8 +6897,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=18105, - serialized_end=18130, + serialized_start=18213, + serialized_end=18238, ) @@ -6753,8 +6985,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=18133, - serialized_end=18598, + serialized_start=18241, + serialized_end=18706, ) @@ -6777,8 +7009,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=18600, - serialized_end=18619, + serialized_start=18708, + serialized_end=18727, ) @@ -6829,8 +7061,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=18622, - serialized_end=18788, + serialized_start=18730, + serialized_end=18896, ) @@ -6853,8 +7085,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=18790, - serialized_end=18817, + serialized_start=18898, + serialized_end=18925, ) @@ -6912,8 +7144,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=18820, - serialized_end=19052, + serialized_start=18928, + serialized_end=19160, ) @@ -6950,8 +7182,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=19054, - serialized_end=19107, + serialized_start=19162, + serialized_end=19215, ) @@ -6981,8 +7213,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=19109, - serialized_end=19194, + serialized_start=19217, + serialized_end=19302, ) @@ -7040,8 +7272,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=19197, - serialized_end=19347, + serialized_start=19305, + serialized_end=19455, ) @@ -7071,123 +7303,1663 @@ extension_ranges=[], oneofs=[ ], - serialized_start=19349, - serialized_end=19440, + serialized_start=19457, + serialized_end=19548, ) -_DRIVEWHEELSRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS -_MOVEHEADRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS -_MOVELIFTRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS -_STOPALLMOTORSRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS -_PLAYANIMATIONTRIGGERREQUEST.fields_by_name['animation_trigger'].message_type = _ANIMATIONTRIGGER -_PLAYANIMATIONREQUEST.fields_by_name['animation'].message_type = _ANIMATION -_PLAYANIMATIONRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS -_PLAYANIMATIONRESPONSE.fields_by_name['result'].enum_type = _BEHAVIORRESULTS -_PLAYANIMATIONRESPONSE.fields_by_name['animation'].message_type = _ANIMATION -_LISTANIMATIONSRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS -_LISTANIMATIONSRESPONSE.fields_by_name['animation_names'].message_type = _ANIMATION -_LISTANIMATIONTRIGGERSRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS -_LISTANIMATIONTRIGGERSRESPONSE.fields_by_name['animation_trigger_names'].message_type = _ANIMATIONTRIGGER -_DISPLAYFACEIMAGERGBRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS -_STATUS.fields_by_name['meet_victor_face_scan_started'].message_type = _MEETVICTORFACESCANSTARTED -_STATUS.fields_by_name['meet_victor_face_scan_complete'].message_type = _MEETVICTORFACESCANCOMPLETE -_STATUS.fields_by_name['face_enrollment_completed'].message_type = _FACEENROLLMENTCOMPLETED -_STATUS.oneofs_by_name['status_type'].fields.append( - _STATUS.fields_by_name['meet_victor_face_scan_started']) -_STATUS.fields_by_name['meet_victor_face_scan_started'].containing_oneof = _STATUS.oneofs_by_name['status_type'] -_STATUS.oneofs_by_name['status_type'].fields.append( - _STATUS.fields_by_name['meet_victor_face_scan_complete']) -_STATUS.fields_by_name['meet_victor_face_scan_complete'].containing_oneof = _STATUS.oneofs_by_name['status_type'] -_STATUS.oneofs_by_name['status_type'].fields.append( - _STATUS.fields_by_name['face_enrollment_completed']) -_STATUS.fields_by_name['face_enrollment_completed'].containing_oneof = _STATUS.oneofs_by_name['status_type'] -_WAKEWORD.fields_by_name['wake_word_begin'].message_type = _WAKEWORDBEGIN -_WAKEWORD.fields_by_name['wake_word_end'].message_type = _WAKEWORDEND -_WAKEWORD.oneofs_by_name['wake_word_type'].fields.append( - _WAKEWORD.fields_by_name['wake_word_begin']) -_WAKEWORD.fields_by_name['wake_word_begin'].containing_oneof = _WAKEWORD.oneofs_by_name['wake_word_type'] -_WAKEWORD.oneofs_by_name['wake_word_type'].fields.append( - _WAKEWORD.fields_by_name['wake_word_end']) -_WAKEWORD.fields_by_name['wake_word_end'].containing_oneof = _WAKEWORD.oneofs_by_name['wake_word_type'] -_TIMESTAMPEDSTATUS.fields_by_name['status'].message_type = _STATUS -_ROBOTSTATE.fields_by_name['pose'].message_type = _POSESTRUCT -_ROBOTSTATE.fields_by_name['accel'].message_type = _ACCELDATA -_ROBOTSTATE.fields_by_name['gyro'].message_type = _GYRODATA -_ROBOTSTATE.fields_by_name['prox_data'].message_type = _PROXDATA -_ROBOTSTATE.fields_by_name['touch_data'].message_type = _TOUCHDATA -_ROBOTOBSERVEDFACE.fields_by_name['pose'].message_type = _POSESTRUCT -_ROBOTOBSERVEDFACE.fields_by_name['img_rect'].message_type = _CLADRECT -_ROBOTOBSERVEDFACE.fields_by_name['expression'].enum_type = _FACIALEXPRESSION -_ROBOTOBSERVEDFACE.fields_by_name['left_eye'].message_type = _CLADPOINT -_ROBOTOBSERVEDFACE.fields_by_name['right_eye'].message_type = _CLADPOINT -_ROBOTOBSERVEDFACE.fields_by_name['nose'].message_type = _CLADPOINT -_ROBOTOBSERVEDFACE.fields_by_name['mouth'].message_type = _CLADPOINT -_FACEENROLLMENTCOMPLETED.fields_by_name['result'].enum_type = _FACEENROLLMENTRESULT -_CANCELFACEENROLLMENTRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS -_REQUESTENROLLEDNAMESRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS -_REQUESTENROLLEDNAMESRESPONSE.fields_by_name['faces'].message_type = _LOADEDKNOWNFACE -_UPDATEENROLLEDFACEBYIDRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS -_ERASEENROLLEDFACEBYIDRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS -_ERASEALLENROLLEDFACESRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS -_SETFACETOENROLLRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS -_DRIVEOFFCHARGERRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS -_DRIVEOFFCHARGERRESPONSE.fields_by_name['result'].enum_type = _BEHAVIORRESULTS -_DRIVEONCHARGERRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS -_DRIVEONCHARGERRESPONSE.fields_by_name['result'].enum_type = _BEHAVIORRESULTS -_FINDFACESRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS -_FINDFACESRESPONSE.fields_by_name['result'].enum_type = _BEHAVIORRESULTS -_LOOKAROUNDINPLACERESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS -_LOOKAROUNDINPLACERESPONSE.fields_by_name['result'].enum_type = _BEHAVIORRESULTS -_ROLLBLOCKRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS -_ROLLBLOCKRESPONSE.fields_by_name['result'].enum_type = _BEHAVIORRESULTS -_PHOTOSINFORESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS -_PHOTOSINFORESPONSE.fields_by_name['photo_infos'].message_type = _PHOTOINFO -_PHOTORESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS -_THUMBNAILRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS -_DELETEPHOTORESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS -_ACTIONRESULT.fields_by_name['code'].enum_type = _ACTIONRESULT_ACTIONRESULTCODE -_ACTIONRESULT_ACTIONRESULTCODE.containing_type = _ACTIONRESULT -_CANCELACTIONBYIDTAGRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS -_GOTOPOSEREQUEST.fields_by_name['motion_prof'].message_type = _PATHMOTIONPROFILE -_GOTOPOSERESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS -_GOTOPOSERESPONSE.fields_by_name['result'].message_type = _ACTIONRESULT -_DOCKWITHCUBEREQUEST.fields_by_name['alignment_type'].enum_type = _ALIGNMENTTYPE -_DOCKWITHCUBEREQUEST.fields_by_name['motion_prof'].message_type = _PATHMOTIONPROFILE -_DOCKWITHCUBERESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS -_DOCKWITHCUBERESPONSE.fields_by_name['result'].message_type = _ACTIONRESULT -_DRIVESTRAIGHTRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS -_DRIVESTRAIGHTRESPONSE.fields_by_name['result'].message_type = _ACTIONRESULT -_TURNINPLACERESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS -_TURNINPLACERESPONSE.fields_by_name['result'].message_type = _ACTIONRESULT -_SETHEADANGLERESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS -_SETHEADANGLERESPONSE.fields_by_name['result'].message_type = _ACTIONRESULT -_SETLIFTHEIGHTRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS -_SETLIFTHEIGHTRESPONSE.fields_by_name['result'].message_type = _ACTIONRESULT -_TURNTOWARDSFACERESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS -_TURNTOWARDSFACERESPONSE.fields_by_name['result'].message_type = _ACTIONRESULT -_GOTOOBJECTREQUEST.fields_by_name['motion_prof'].message_type = _PATHMOTIONPROFILE -_GOTOOBJECTRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS -_GOTOOBJECTRESPONSE.fields_by_name['result'].message_type = _ACTIONRESULT -_ROLLOBJECTREQUEST.fields_by_name['motion_prof'].message_type = _PATHMOTIONPROFILE -_ROLLOBJECTRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS -_ROLLOBJECTRESPONSE.fields_by_name['result'].message_type = _ACTIONRESULT -_POPAWHEELIEREQUEST.fields_by_name['motion_prof'].message_type = _PATHMOTIONPROFILE -_POPAWHEELIERESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS -_POPAWHEELIERESPONSE.fields_by_name['result'].message_type = _ACTIONRESULT -_PICKUPOBJECTREQUEST.fields_by_name['motion_prof'].message_type = _PATHMOTIONPROFILE -_PICKUPOBJECTRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS -_PICKUPOBJECTRESPONSE.fields_by_name['result'].message_type = _ACTIONRESULT -_PLACEOBJECTONGROUNDHERERESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS -_PLACEOBJECTONGROUNDHERERESPONSE.fields_by_name['result'].message_type = _ACTIONRESULT -_BATTERYSTATERESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS -_BATTERYSTATERESPONSE.fields_by_name['battery_level'].enum_type = _BATTERYLEVEL -_BATTERYSTATERESPONSE.fields_by_name['cube_battery'].message_type = _CUBEBATTERY -_CUBEBATTERY.fields_by_name['level'].enum_type = _CUBEBATTERY_CUBEBATTERYLEVEL -_CUBEBATTERY_CUBEBATTERYLEVEL.containing_type = _CUBEBATTERY -_VERSIONSTATERESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS -_SAYTEXTRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS -_SAYTEXTRESPONSE.fields_by_name['state'].enum_type = _SAYTEXTRESPONSE_UTTERANCESTATE -_SAYTEXTRESPONSE_UTTERANCESTATE.containing_type = _SAYTEXTRESPONSE + +_APPDISCONNECTED = _descriptor.Descriptor( + name='AppDisconnected', + full_name='Anki.Vector.external_interface.AppDisconnected', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=19550, + serialized_end=19567, +) + + +_APPINTENTREQUEST = _descriptor.Descriptor( + name='AppIntentRequest', + full_name='Anki.Vector.external_interface.AppIntentRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='intent', full_name='Anki.Vector.external_interface.AppIntentRequest.intent', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='param', full_name='Anki.Vector.external_interface.AppIntentRequest.param', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=19569, + serialized_end=19618, +) + + +_APPINTENTRESPONSE = _descriptor.Descriptor( + name='AppIntentResponse', + full_name='Anki.Vector.external_interface.AppIntentResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='status', full_name='Anki.Vector.external_interface.AppIntentResponse.status', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=19620, + serialized_end=19703, +) + + +_FEATURESTATUS = _descriptor.Descriptor( + name='FeatureStatus', + full_name='Anki.Vector.external_interface.FeatureStatus', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='feature_name', full_name='Anki.Vector.external_interface.FeatureStatus.feature_name', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='source', full_name='Anki.Vector.external_interface.FeatureStatus.source', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=19705, + serialized_end=19758, +) + + +_ONBOARDING = _descriptor.Descriptor( + name='Onboarding', + full_name='Anki.Vector.external_interface.Onboarding', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='onboarding_state', full_name='Anki.Vector.external_interface.Onboarding.onboarding_state', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='onboarding_wake_up_finished', full_name='Anki.Vector.external_interface.Onboarding.onboarding_wake_up_finished', index=1, + number=9, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='onboarding_1p0_charging_info', full_name='Anki.Vector.external_interface.Onboarding.onboarding_1p0_charging_info', index=2, + number=10, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='onboarding_type', full_name='Anki.Vector.external_interface.Onboarding.onboarding_type', + index=0, containing_type=None, fields=[]), + ], + serialized_start=19761, + serialized_end=20065, +) + + +_ROBOTHISTORYREQUEST = _descriptor.Descriptor( + name='RobotHistoryRequest', + full_name='Anki.Vector.external_interface.RobotHistoryRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=20067, + serialized_end=20088, +) + + +_ROBOTHISTORYRESPONSE = _descriptor.Descriptor( + name='RobotHistoryResponse', + full_name='Anki.Vector.external_interface.RobotHistoryResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='messages', full_name='Anki.Vector.external_interface.RobotHistoryResponse.messages', index=0, + number=1, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=20090, + serialized_end=20181, +) + + +_ONBOARDINGSTATE = _descriptor.Descriptor( + name='OnboardingState', + full_name='Anki.Vector.external_interface.OnboardingState', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='stage', full_name='Anki.Vector.external_interface.OnboardingState.stage', index=0, + number=1, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=20183, + serialized_end=20265, +) + + +_ONBOARDINGSTATEREQUEST = _descriptor.Descriptor( + name='OnboardingStateRequest', + full_name='Anki.Vector.external_interface.OnboardingStateRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=20267, + serialized_end=20291, +) + + +_ONBOARDINGSTATERESPONSE = _descriptor.Descriptor( + name='OnboardingStateResponse', + full_name='Anki.Vector.external_interface.OnboardingStateResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='status', full_name='Anki.Vector.external_interface.OnboardingStateResponse.status', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='onboarding_state', full_name='Anki.Vector.external_interface.OnboardingStateResponse.onboarding_state', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=20294, + serialized_end=20458, +) + + +_ONBOARDINGSETPHASEREQUEST = _descriptor.Descriptor( + name='OnboardingSetPhaseRequest', + full_name='Anki.Vector.external_interface.OnboardingSetPhaseRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='phase', full_name='Anki.Vector.external_interface.OnboardingSetPhaseRequest.phase', index=0, + number=1, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=20460, + serialized_end=20551, +) + + +_ONBOARDINGSETPHASERESPONSE = _descriptor.Descriptor( + name='OnboardingSetPhaseResponse', + full_name='Anki.Vector.external_interface.OnboardingSetPhaseResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='status', full_name='Anki.Vector.external_interface.OnboardingSetPhaseResponse.status', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='phase', full_name='Anki.Vector.external_interface.OnboardingSetPhaseResponse.phase', index=1, + number=2, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='phase_state', full_name='Anki.Vector.external_interface.OnboardingSetPhaseResponse.phase_state', index=2, + number=3, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=20554, + serialized_end=20785, +) + + +_ONBOARDINGPHASEPROGRESSREQUEST = _descriptor.Descriptor( + name='OnboardingPhaseProgressRequest', + full_name='Anki.Vector.external_interface.OnboardingPhaseProgressRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=20787, + serialized_end=20819, +) + + +_ONBOARDINGPHASEPROGRESSRESPONSE = _descriptor.Descriptor( + name='OnboardingPhaseProgressResponse', + full_name='Anki.Vector.external_interface.OnboardingPhaseProgressResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='status', full_name='Anki.Vector.external_interface.OnboardingPhaseProgressResponse.status', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='last_set_phase', full_name='Anki.Vector.external_interface.OnboardingPhaseProgressResponse.last_set_phase', index=1, + number=2, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='last_set_phase_state', full_name='Anki.Vector.external_interface.OnboardingPhaseProgressResponse.last_set_phase_state', index=2, + number=3, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='percent_completed', full_name='Anki.Vector.external_interface.OnboardingPhaseProgressResponse.percent_completed', index=3, + number=4, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=20822, + serialized_end=21103, +) + + +_ONBOARDINGCHARGEINFOREQUEST = _descriptor.Descriptor( + name='OnboardingChargeInfoRequest', + full_name='Anki.Vector.external_interface.OnboardingChargeInfoRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=21105, + serialized_end=21134, +) + + +_ONBOARDINGCHARGEINFORESPONSE = _descriptor.Descriptor( + name='OnboardingChargeInfoResponse', + full_name='Anki.Vector.external_interface.OnboardingChargeInfoResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='status', full_name='Anki.Vector.external_interface.OnboardingChargeInfoResponse.status', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='on_charger', full_name='Anki.Vector.external_interface.OnboardingChargeInfoResponse.on_charger', index=1, + number=2, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='needs_to_charge', full_name='Anki.Vector.external_interface.OnboardingChargeInfoResponse.needs_to_charge', index=2, + number=3, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='required_charge_time', full_name='Anki.Vector.external_interface.OnboardingChargeInfoResponse.required_charge_time', index=3, + number=4, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=21137, + serialized_end=21306, +) + + +_ONBOARDINGSKIPONBOARDING = _descriptor.Descriptor( + name='OnboardingSkipOnboarding', + full_name='Anki.Vector.external_interface.OnboardingSkipOnboarding', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=21308, + serialized_end=21334, +) + + +_ONBOARDINGRESTART = _descriptor.Descriptor( + name='OnboardingRestart', + full_name='Anki.Vector.external_interface.OnboardingRestart', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=21336, + serialized_end=21355, +) + + +_ONBOARDINGMARKCOMPLETEANDEXIT = _descriptor.Descriptor( + name='OnboardingMarkCompleteAndExit', + full_name='Anki.Vector.external_interface.OnboardingMarkCompleteAndExit', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=21357, + serialized_end=21388, +) + + +_ONBOARDINGINPUTREQUEST = _descriptor.Descriptor( + name='OnboardingInputRequest', + full_name='Anki.Vector.external_interface.OnboardingInputRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='onboarding_complete_request', full_name='Anki.Vector.external_interface.OnboardingInputRequest.onboarding_complete_request', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='onboarding_wake_up_request', full_name='Anki.Vector.external_interface.OnboardingInputRequest.onboarding_wake_up_request', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='onboarding_skip_onboarding', full_name='Anki.Vector.external_interface.OnboardingInputRequest.onboarding_skip_onboarding', index=2, + number=7, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='onboarding_restart', full_name='Anki.Vector.external_interface.OnboardingInputRequest.onboarding_restart', index=3, + number=8, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='onboarding_wake_up_started_request', full_name='Anki.Vector.external_interface.OnboardingInputRequest.onboarding_wake_up_started_request', index=4, + number=9, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='onboarding_set_phase_request', full_name='Anki.Vector.external_interface.OnboardingInputRequest.onboarding_set_phase_request', index=5, + number=10, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='onboarding_phase_progress_request', full_name='Anki.Vector.external_interface.OnboardingInputRequest.onboarding_phase_progress_request', index=6, + number=11, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='onboarding_charge_info_request', full_name='Anki.Vector.external_interface.OnboardingInputRequest.onboarding_charge_info_request', index=7, + number=12, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='onboarding_mark_complete_and_exit', full_name='Anki.Vector.external_interface.OnboardingInputRequest.onboarding_mark_complete_and_exit', index=8, + number=13, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='oneof_message_type', full_name='Anki.Vector.external_interface.OnboardingInputRequest.oneof_message_type', + index=0, containing_type=None, fields=[]), + ], + serialized_start=21391, + serialized_end=22336, +) + + +_ONBOARDINGINPUTRESPONSE = _descriptor.Descriptor( + name='OnboardingInputResponse', + full_name='Anki.Vector.external_interface.OnboardingInputResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='status', full_name='Anki.Vector.external_interface.OnboardingInputResponse.status', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='onboarding_complete_response', full_name='Anki.Vector.external_interface.OnboardingInputResponse.onboarding_complete_response', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='onboarding_wake_up_response', full_name='Anki.Vector.external_interface.OnboardingInputResponse.onboarding_wake_up_response', index=2, + number=3, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='onboarding_wake_up_started_response', full_name='Anki.Vector.external_interface.OnboardingInputResponse.onboarding_wake_up_started_response', index=3, + number=6, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='onboarding_set_phase_response', full_name='Anki.Vector.external_interface.OnboardingInputResponse.onboarding_set_phase_response', index=4, + number=7, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='onboarding_phase_progress_response', full_name='Anki.Vector.external_interface.OnboardingInputResponse.onboarding_phase_progress_response', index=5, + number=8, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='onboarding_charge_info_response', full_name='Anki.Vector.external_interface.OnboardingInputResponse.onboarding_charge_info_response', index=6, + number=9, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='oneof_message_type', full_name='Anki.Vector.external_interface.OnboardingInputResponse.oneof_message_type', + index=0, containing_type=None, fields=[]), + ], + serialized_start=22339, + serialized_end=23076, +) + + +_ONBOARDINGCOMPLETEREQUEST = _descriptor.Descriptor( + name='OnboardingCompleteRequest', + full_name='Anki.Vector.external_interface.OnboardingCompleteRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=23078, + serialized_end=23105, +) + + +_ONBOARDINGCOMPLETERESPONSE = _descriptor.Descriptor( + name='OnboardingCompleteResponse', + full_name='Anki.Vector.external_interface.OnboardingCompleteResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='completed', full_name='Anki.Vector.external_interface.OnboardingCompleteResponse.completed', index=0, + number=1, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=23107, + serialized_end=23154, +) + + +_ONBOARDINGWAKEUPSTARTEDREQUEST = _descriptor.Descriptor( + name='OnboardingWakeUpStartedRequest', + full_name='Anki.Vector.external_interface.OnboardingWakeUpStartedRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=23156, + serialized_end=23188, +) + + +_ONBOARDINGWAKEUPSTARTEDRESPONSE = _descriptor.Descriptor( + name='OnboardingWakeUpStartedResponse', + full_name='Anki.Vector.external_interface.OnboardingWakeUpStartedResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='already_started', full_name='Anki.Vector.external_interface.OnboardingWakeUpStartedResponse.already_started', index=0, + number=1, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=23190, + serialized_end=23248, +) + + +_ONBOARDINGWAKEUPREQUEST = _descriptor.Descriptor( + name='OnboardingWakeUpRequest', + full_name='Anki.Vector.external_interface.OnboardingWakeUpRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=23250, + serialized_end=23275, +) + + +_ONBOARDINGWAKEUPRESPONSE = _descriptor.Descriptor( + name='OnboardingWakeUpResponse', + full_name='Anki.Vector.external_interface.OnboardingWakeUpResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='waking_up', full_name='Anki.Vector.external_interface.OnboardingWakeUpResponse.waking_up', index=0, + number=1, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='charging_info', full_name='Anki.Vector.external_interface.OnboardingWakeUpResponse.charging_info', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=23277, + serialized_end=23404, +) + + +_ONBOARDING1P0CHARGINGINFO = _descriptor.Descriptor( + name='Onboarding1p0ChargingInfo', + full_name='Anki.Vector.external_interface.Onboarding1p0ChargingInfo', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='on_charger', full_name='Anki.Vector.external_interface.Onboarding1p0ChargingInfo.on_charger', index=0, + number=1, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='needs_to_charge', full_name='Anki.Vector.external_interface.Onboarding1p0ChargingInfo.needs_to_charge', index=1, + number=2, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='suggested_charger_time', full_name='Anki.Vector.external_interface.Onboarding1p0ChargingInfo.suggested_charger_time', index=2, + number=3, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=23406, + serialized_end=23510, +) + + +_ONBOARDINGWAKEUPFINISHED = _descriptor.Descriptor( + name='OnboardingWakeUpFinished', + full_name='Anki.Vector.external_interface.OnboardingWakeUpFinished', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=23512, + serialized_end=23538, +) + + +_FEATUREFLAGREQUEST = _descriptor.Descriptor( + name='FeatureFlagRequest', + full_name='Anki.Vector.external_interface.FeatureFlagRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='feature_name', full_name='Anki.Vector.external_interface.FeatureFlagRequest.feature_name', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=23540, + serialized_end=23582, +) + + +_FEATUREFLAGRESPONSE = _descriptor.Descriptor( + name='FeatureFlagResponse', + full_name='Anki.Vector.external_interface.FeatureFlagResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='status', full_name='Anki.Vector.external_interface.FeatureFlagResponse.status', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='valid_feature', full_name='Anki.Vector.external_interface.FeatureFlagResponse.valid_feature', index=1, + number=2, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='feature_enabled', full_name='Anki.Vector.external_interface.FeatureFlagResponse.feature_enabled', index=2, + number=3, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=23585, + serialized_end=23718, +) + + +_FEATUREFLAGLISTREQUEST = _descriptor.Descriptor( + name='FeatureFlagListRequest', + full_name='Anki.Vector.external_interface.FeatureFlagListRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='request_list', full_name='Anki.Vector.external_interface.FeatureFlagListRequest.request_list', index=0, + number=1, type=9, cpp_type=9, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=23720, + serialized_end=23766, +) + + +_FEATUREFLAGLISTRESPONSE = _descriptor.Descriptor( + name='FeatureFlagListResponse', + full_name='Anki.Vector.external_interface.FeatureFlagListResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='status', full_name='Anki.Vector.external_interface.FeatureFlagListResponse.status', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='list', full_name='Anki.Vector.external_interface.FeatureFlagListResponse.list', index=1, + number=2, type=9, cpp_type=9, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=23768, + serialized_end=23871, +) + + +_ATTENTIONTRANSFER = _descriptor.Descriptor( + name='AttentionTransfer', + full_name='Anki.Vector.external_interface.AttentionTransfer', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='reason', full_name='Anki.Vector.external_interface.AttentionTransfer.reason', index=0, + number=1, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='seconds_ago', full_name='Anki.Vector.external_interface.AttentionTransfer.seconds_ago', index=1, + number=2, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=23873, + serialized_end=23986, +) + + +_LATESTATTENTIONTRANSFERREQUEST = _descriptor.Descriptor( + name='LatestAttentionTransferRequest', + full_name='Anki.Vector.external_interface.LatestAttentionTransferRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=23988, + serialized_end=24020, +) + + +_LATESTATTENTIONTRANSFER = _descriptor.Descriptor( + name='LatestAttentionTransfer', + full_name='Anki.Vector.external_interface.LatestAttentionTransfer', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='attention_transfer', full_name='Anki.Vector.external_interface.LatestAttentionTransfer.attention_transfer', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='oneof_message_type', full_name='Anki.Vector.external_interface.LatestAttentionTransfer.oneof_message_type', + index=0, containing_type=None, fields=[]), + ], + serialized_start=24023, + serialized_end=24151, +) + + +_LATESTATTENTIONTRANSFERRESPONSE = _descriptor.Descriptor( + name='LatestAttentionTransferResponse', + full_name='Anki.Vector.external_interface.LatestAttentionTransferResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='status', full_name='Anki.Vector.external_interface.LatestAttentionTransferResponse.status', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='latest_attention_transfer', full_name='Anki.Vector.external_interface.LatestAttentionTransferResponse.latest_attention_transfer', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=24154, + serialized_end=24343, +) + + +_UPDATEANDRESTARTREQUEST = _descriptor.Descriptor( + name='UpdateAndRestartRequest', + full_name='Anki.Vector.external_interface.UpdateAndRestartRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=24345, + serialized_end=24370, +) + + +_UPDATEANDRESTARTRESPONSE = _descriptor.Descriptor( + name='UpdateAndRestartResponse', + full_name='Anki.Vector.external_interface.UpdateAndRestartResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='status', full_name='Anki.Vector.external_interface.UpdateAndRestartResponse.status', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=24372, + serialized_end=24462, +) + + +_CHECKUPDATESTATUSREQUEST = _descriptor.Descriptor( + name='CheckUpdateStatusRequest', + full_name='Anki.Vector.external_interface.CheckUpdateStatusRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=24464, + serialized_end=24490, +) + + +_CHECKUPDATESTATUSRESPONSE = _descriptor.Descriptor( + name='CheckUpdateStatusResponse', + full_name='Anki.Vector.external_interface.CheckUpdateStatusResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='status', full_name='Anki.Vector.external_interface.CheckUpdateStatusResponse.status', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='update_status', full_name='Anki.Vector.external_interface.CheckUpdateStatusResponse.update_status', index=1, + number=2, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='expected', full_name='Anki.Vector.external_interface.CheckUpdateStatusResponse.expected', index=2, + number=3, type=3, cpp_type=2, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='progress', full_name='Anki.Vector.external_interface.CheckUpdateStatusResponse.progress', index=3, + number=4, type=3, cpp_type=2, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='update_version', full_name='Anki.Vector.external_interface.CheckUpdateStatusResponse.update_version', index=4, + number=5, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + _CHECKUPDATESTATUSRESPONSE_UPDATESTATUS, + ], + options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('\200\246\035\001')), + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=24493, + serialized_end=24824, +) + + +_CHECKCLOUDREQUEST = _descriptor.Descriptor( + name='CheckCloudRequest', + full_name='Anki.Vector.external_interface.CheckCloudRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=24826, + serialized_end=24845, +) + + +_CHECKCLOUDRESPONSE = _descriptor.Descriptor( + name='CheckCloudResponse', + full_name='Anki.Vector.external_interface.CheckCloudResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='status', full_name='Anki.Vector.external_interface.CheckCloudResponse.status', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='code', full_name='Anki.Vector.external_interface.CheckCloudResponse.code', index=1, + number=2, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='status_message', full_name='Anki.Vector.external_interface.CheckCloudResponse.status_message', index=2, + number=3, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='num_packets', full_name='Anki.Vector.external_interface.CheckCloudResponse.num_packets', index=3, + number=4, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='expected_packets', full_name='Anki.Vector.external_interface.CheckCloudResponse.expected_packets', index=4, + number=5, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + _CHECKCLOUDRESPONSE_CONNECTIONCODE, + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=24848, + serialized_end=25213, +) + +_DRIVEWHEELSRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS +_MOVEHEADRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS +_MOVELIFTRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS +_STOPALLMOTORSRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS +_PLAYANIMATIONTRIGGERREQUEST.fields_by_name['animation_trigger'].message_type = _ANIMATIONTRIGGER +_PLAYANIMATIONREQUEST.fields_by_name['animation'].message_type = _ANIMATION +_PLAYANIMATIONRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS +_PLAYANIMATIONRESPONSE.fields_by_name['result'].enum_type = _BEHAVIORRESULTS +_PLAYANIMATIONRESPONSE.fields_by_name['animation'].message_type = _ANIMATION +_LISTANIMATIONSRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS +_LISTANIMATIONSRESPONSE.fields_by_name['animation_names'].message_type = _ANIMATION +_LISTANIMATIONTRIGGERSRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS +_LISTANIMATIONTRIGGERSRESPONSE.fields_by_name['animation_trigger_names'].message_type = _ANIMATIONTRIGGER +_DISPLAYFACEIMAGERGBRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS +_STATUS.fields_by_name['feature_status'].message_type = _FEATURESTATUS +_STATUS.fields_by_name['meet_victor_face_scan_started'].message_type = _MEETVICTORFACESCANSTARTED +_STATUS.fields_by_name['meet_victor_face_scan_complete'].message_type = _MEETVICTORFACESCANCOMPLETE +_STATUS.fields_by_name['face_enrollment_completed'].message_type = _FACEENROLLMENTCOMPLETED +_STATUS.oneofs_by_name['status_type'].fields.append( + _STATUS.fields_by_name['feature_status']) +_STATUS.fields_by_name['feature_status'].containing_oneof = _STATUS.oneofs_by_name['status_type'] +_STATUS.oneofs_by_name['status_type'].fields.append( + _STATUS.fields_by_name['meet_victor_face_scan_started']) +_STATUS.fields_by_name['meet_victor_face_scan_started'].containing_oneof = _STATUS.oneofs_by_name['status_type'] +_STATUS.oneofs_by_name['status_type'].fields.append( + _STATUS.fields_by_name['meet_victor_face_scan_complete']) +_STATUS.fields_by_name['meet_victor_face_scan_complete'].containing_oneof = _STATUS.oneofs_by_name['status_type'] +_STATUS.oneofs_by_name['status_type'].fields.append( + _STATUS.fields_by_name['face_enrollment_completed']) +_STATUS.fields_by_name['face_enrollment_completed'].containing_oneof = _STATUS.oneofs_by_name['status_type'] +_WAKEWORD.fields_by_name['wake_word_begin'].message_type = _WAKEWORDBEGIN +_WAKEWORD.fields_by_name['wake_word_end'].message_type = _WAKEWORDEND +_WAKEWORD.oneofs_by_name['wake_word_type'].fields.append( + _WAKEWORD.fields_by_name['wake_word_begin']) +_WAKEWORD.fields_by_name['wake_word_begin'].containing_oneof = _WAKEWORD.oneofs_by_name['wake_word_type'] +_WAKEWORD.oneofs_by_name['wake_word_type'].fields.append( + _WAKEWORD.fields_by_name['wake_word_end']) +_WAKEWORD.fields_by_name['wake_word_end'].containing_oneof = _WAKEWORD.oneofs_by_name['wake_word_type'] +_TIMESTAMPEDSTATUS.fields_by_name['status'].message_type = _STATUS +_ROBOTSTATE.fields_by_name['pose'].message_type = _POSESTRUCT +_ROBOTSTATE.fields_by_name['accel'].message_type = _ACCELDATA +_ROBOTSTATE.fields_by_name['gyro'].message_type = _GYRODATA +_ROBOTSTATE.fields_by_name['prox_data'].message_type = _PROXDATA +_ROBOTSTATE.fields_by_name['touch_data'].message_type = _TOUCHDATA +_ROBOTOBSERVEDFACE.fields_by_name['pose'].message_type = _POSESTRUCT +_ROBOTOBSERVEDFACE.fields_by_name['img_rect'].message_type = _CLADRECT +_ROBOTOBSERVEDFACE.fields_by_name['expression'].enum_type = _FACIALEXPRESSION +_ROBOTOBSERVEDFACE.fields_by_name['left_eye'].message_type = _CLADPOINT +_ROBOTOBSERVEDFACE.fields_by_name['right_eye'].message_type = _CLADPOINT +_ROBOTOBSERVEDFACE.fields_by_name['nose'].message_type = _CLADPOINT +_ROBOTOBSERVEDFACE.fields_by_name['mouth'].message_type = _CLADPOINT +_FACEENROLLMENTCOMPLETED.fields_by_name['result'].enum_type = _FACEENROLLMENTRESULT +_CANCELFACEENROLLMENTRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS +_REQUESTENROLLEDNAMESRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS +_REQUESTENROLLEDNAMESRESPONSE.fields_by_name['faces'].message_type = _LOADEDKNOWNFACE +_UPDATEENROLLEDFACEBYIDRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS +_ERASEENROLLEDFACEBYIDRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS +_ERASEALLENROLLEDFACESRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS +_SETFACETOENROLLRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS +_DRIVEOFFCHARGERRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS +_DRIVEOFFCHARGERRESPONSE.fields_by_name['result'].enum_type = _BEHAVIORRESULTS +_DRIVEONCHARGERRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS +_DRIVEONCHARGERRESPONSE.fields_by_name['result'].enum_type = _BEHAVIORRESULTS +_FINDFACESRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS +_FINDFACESRESPONSE.fields_by_name['result'].enum_type = _BEHAVIORRESULTS +_LOOKAROUNDINPLACERESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS +_LOOKAROUNDINPLACERESPONSE.fields_by_name['result'].enum_type = _BEHAVIORRESULTS +_ROLLBLOCKRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS +_ROLLBLOCKRESPONSE.fields_by_name['result'].enum_type = _BEHAVIORRESULTS +_PHOTOSINFORESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS +_PHOTOSINFORESPONSE.fields_by_name['photo_infos'].message_type = _PHOTOINFO +_PHOTORESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS +_THUMBNAILRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS +_DELETEPHOTORESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS +_ACTIONRESULT.fields_by_name['code'].enum_type = _ACTIONRESULT_ACTIONRESULTCODE +_ACTIONRESULT_ACTIONRESULTCODE.containing_type = _ACTIONRESULT +_CANCELACTIONBYIDTAGRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS +_GOTOPOSEREQUEST.fields_by_name['motion_prof'].message_type = _PATHMOTIONPROFILE +_GOTOPOSERESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS +_GOTOPOSERESPONSE.fields_by_name['result'].message_type = _ACTIONRESULT +_DOCKWITHCUBEREQUEST.fields_by_name['alignment_type'].enum_type = _ALIGNMENTTYPE +_DOCKWITHCUBEREQUEST.fields_by_name['motion_prof'].message_type = _PATHMOTIONPROFILE +_DOCKWITHCUBERESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS +_DOCKWITHCUBERESPONSE.fields_by_name['result'].message_type = _ACTIONRESULT +_DRIVESTRAIGHTRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS +_DRIVESTRAIGHTRESPONSE.fields_by_name['result'].message_type = _ACTIONRESULT +_TURNINPLACERESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS +_TURNINPLACERESPONSE.fields_by_name['result'].message_type = _ACTIONRESULT +_SETHEADANGLERESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS +_SETHEADANGLERESPONSE.fields_by_name['result'].message_type = _ACTIONRESULT +_SETLIFTHEIGHTRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS +_SETLIFTHEIGHTRESPONSE.fields_by_name['result'].message_type = _ACTIONRESULT +_TURNTOWARDSFACERESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS +_TURNTOWARDSFACERESPONSE.fields_by_name['result'].message_type = _ACTIONRESULT +_GOTOOBJECTREQUEST.fields_by_name['motion_prof'].message_type = _PATHMOTIONPROFILE +_GOTOOBJECTRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS +_GOTOOBJECTRESPONSE.fields_by_name['result'].message_type = _ACTIONRESULT +_ROLLOBJECTREQUEST.fields_by_name['motion_prof'].message_type = _PATHMOTIONPROFILE +_ROLLOBJECTRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS +_ROLLOBJECTRESPONSE.fields_by_name['result'].message_type = _ACTIONRESULT +_POPAWHEELIEREQUEST.fields_by_name['motion_prof'].message_type = _PATHMOTIONPROFILE +_POPAWHEELIERESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS +_POPAWHEELIERESPONSE.fields_by_name['result'].message_type = _ACTIONRESULT +_PICKUPOBJECTREQUEST.fields_by_name['motion_prof'].message_type = _PATHMOTIONPROFILE +_PICKUPOBJECTRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS +_PICKUPOBJECTRESPONSE.fields_by_name['result'].message_type = _ACTIONRESULT +_PLACEOBJECTONGROUNDHERERESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS +_PLACEOBJECTONGROUNDHERERESPONSE.fields_by_name['result'].message_type = _ACTIONRESULT +_BATTERYSTATERESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS +_BATTERYSTATERESPONSE.fields_by_name['battery_level'].enum_type = _BATTERYLEVEL +_BATTERYSTATERESPONSE.fields_by_name['cube_battery'].message_type = _CUBEBATTERY +_CUBEBATTERY.fields_by_name['level'].enum_type = _CUBEBATTERY_CUBEBATTERYLEVEL +_CUBEBATTERY_CUBEBATTERYLEVEL.containing_type = _CUBEBATTERY +_VERSIONSTATERESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS +_SAYTEXTRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS +_SAYTEXTRESPONSE.fields_by_name['state'].enum_type = _SAYTEXTRESPONSE_UTTERANCESTATE +_SAYTEXTRESPONSE_UTTERANCESTATE.containing_type = _SAYTEXTRESPONSE _AUDIOSENDMODEREQUEST.fields_by_name['mode'].enum_type = _AUDIOPROCESSINGMODE _AUDIOSENDMODECHANGED.fields_by_name['mode'].enum_type = _AUDIOPROCESSINGMODE _EXTERNALAUDIOSTREAMREQUEST.fields_by_name['audio_stream_prepare'].message_type = _EXTERNALAUDIOSTREAMPREPARE @@ -7232,6 +9004,109 @@ _CAPTURESINGLEIMAGERESPONSE.fields_by_name['image_encoding'].enum_type = _IMAGECHUNK_IMAGEENCODING _SETEYECOLORRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS _SDKINITIALIZATIONRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS +_APPINTENTRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS +_ONBOARDING.fields_by_name['onboarding_state'].message_type = _ONBOARDINGSTATE +_ONBOARDING.fields_by_name['onboarding_wake_up_finished'].message_type = _ONBOARDINGWAKEUPFINISHED +_ONBOARDING.fields_by_name['onboarding_1p0_charging_info'].message_type = _ONBOARDING1P0CHARGINGINFO +_ONBOARDING.oneofs_by_name['onboarding_type'].fields.append( + _ONBOARDING.fields_by_name['onboarding_state']) +_ONBOARDING.fields_by_name['onboarding_state'].containing_oneof = _ONBOARDING.oneofs_by_name['onboarding_type'] +_ONBOARDING.oneofs_by_name['onboarding_type'].fields.append( + _ONBOARDING.fields_by_name['onboarding_wake_up_finished']) +_ONBOARDING.fields_by_name['onboarding_wake_up_finished'].containing_oneof = _ONBOARDING.oneofs_by_name['onboarding_type'] +_ONBOARDING.oneofs_by_name['onboarding_type'].fields.append( + _ONBOARDING.fields_by_name['onboarding_1p0_charging_info']) +_ONBOARDING.fields_by_name['onboarding_1p0_charging_info'].containing_oneof = _ONBOARDING.oneofs_by_name['onboarding_type'] +_ROBOTHISTORYRESPONSE.fields_by_name['messages'].message_type = _TIMESTAMPEDSTATUS +_ONBOARDINGSTATE.fields_by_name['stage'].enum_type = _ONBOARDINGSTAGES +_ONBOARDINGSTATERESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS +_ONBOARDINGSTATERESPONSE.fields_by_name['onboarding_state'].message_type = _ONBOARDINGSTATE +_ONBOARDINGSETPHASEREQUEST.fields_by_name['phase'].enum_type = _ONBOARDINGPHASE +_ONBOARDINGSETPHASERESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS +_ONBOARDINGSETPHASERESPONSE.fields_by_name['phase'].enum_type = _ONBOARDINGPHASE +_ONBOARDINGSETPHASERESPONSE.fields_by_name['phase_state'].enum_type = _ONBOARDINGPHASESTATE +_ONBOARDINGPHASEPROGRESSRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS +_ONBOARDINGPHASEPROGRESSRESPONSE.fields_by_name['last_set_phase'].enum_type = _ONBOARDINGPHASE +_ONBOARDINGPHASEPROGRESSRESPONSE.fields_by_name['last_set_phase_state'].enum_type = _ONBOARDINGPHASESTATE +_ONBOARDINGCHARGEINFORESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS +_ONBOARDINGINPUTREQUEST.fields_by_name['onboarding_complete_request'].message_type = _ONBOARDINGCOMPLETEREQUEST +_ONBOARDINGINPUTREQUEST.fields_by_name['onboarding_wake_up_request'].message_type = _ONBOARDINGWAKEUPREQUEST +_ONBOARDINGINPUTREQUEST.fields_by_name['onboarding_skip_onboarding'].message_type = _ONBOARDINGSKIPONBOARDING +_ONBOARDINGINPUTREQUEST.fields_by_name['onboarding_restart'].message_type = _ONBOARDINGRESTART +_ONBOARDINGINPUTREQUEST.fields_by_name['onboarding_wake_up_started_request'].message_type = _ONBOARDINGWAKEUPSTARTEDREQUEST +_ONBOARDINGINPUTREQUEST.fields_by_name['onboarding_set_phase_request'].message_type = _ONBOARDINGSETPHASEREQUEST +_ONBOARDINGINPUTREQUEST.fields_by_name['onboarding_phase_progress_request'].message_type = _ONBOARDINGPHASEPROGRESSREQUEST +_ONBOARDINGINPUTREQUEST.fields_by_name['onboarding_charge_info_request'].message_type = _ONBOARDINGCHARGEINFOREQUEST +_ONBOARDINGINPUTREQUEST.fields_by_name['onboarding_mark_complete_and_exit'].message_type = _ONBOARDINGMARKCOMPLETEANDEXIT +_ONBOARDINGINPUTREQUEST.oneofs_by_name['oneof_message_type'].fields.append( + _ONBOARDINGINPUTREQUEST.fields_by_name['onboarding_complete_request']) +_ONBOARDINGINPUTREQUEST.fields_by_name['onboarding_complete_request'].containing_oneof = _ONBOARDINGINPUTREQUEST.oneofs_by_name['oneof_message_type'] +_ONBOARDINGINPUTREQUEST.oneofs_by_name['oneof_message_type'].fields.append( + _ONBOARDINGINPUTREQUEST.fields_by_name['onboarding_wake_up_request']) +_ONBOARDINGINPUTREQUEST.fields_by_name['onboarding_wake_up_request'].containing_oneof = _ONBOARDINGINPUTREQUEST.oneofs_by_name['oneof_message_type'] +_ONBOARDINGINPUTREQUEST.oneofs_by_name['oneof_message_type'].fields.append( + _ONBOARDINGINPUTREQUEST.fields_by_name['onboarding_skip_onboarding']) +_ONBOARDINGINPUTREQUEST.fields_by_name['onboarding_skip_onboarding'].containing_oneof = _ONBOARDINGINPUTREQUEST.oneofs_by_name['oneof_message_type'] +_ONBOARDINGINPUTREQUEST.oneofs_by_name['oneof_message_type'].fields.append( + _ONBOARDINGINPUTREQUEST.fields_by_name['onboarding_restart']) +_ONBOARDINGINPUTREQUEST.fields_by_name['onboarding_restart'].containing_oneof = _ONBOARDINGINPUTREQUEST.oneofs_by_name['oneof_message_type'] +_ONBOARDINGINPUTREQUEST.oneofs_by_name['oneof_message_type'].fields.append( + _ONBOARDINGINPUTREQUEST.fields_by_name['onboarding_wake_up_started_request']) +_ONBOARDINGINPUTREQUEST.fields_by_name['onboarding_wake_up_started_request'].containing_oneof = _ONBOARDINGINPUTREQUEST.oneofs_by_name['oneof_message_type'] +_ONBOARDINGINPUTREQUEST.oneofs_by_name['oneof_message_type'].fields.append( + _ONBOARDINGINPUTREQUEST.fields_by_name['onboarding_set_phase_request']) +_ONBOARDINGINPUTREQUEST.fields_by_name['onboarding_set_phase_request'].containing_oneof = _ONBOARDINGINPUTREQUEST.oneofs_by_name['oneof_message_type'] +_ONBOARDINGINPUTREQUEST.oneofs_by_name['oneof_message_type'].fields.append( + _ONBOARDINGINPUTREQUEST.fields_by_name['onboarding_phase_progress_request']) +_ONBOARDINGINPUTREQUEST.fields_by_name['onboarding_phase_progress_request'].containing_oneof = _ONBOARDINGINPUTREQUEST.oneofs_by_name['oneof_message_type'] +_ONBOARDINGINPUTREQUEST.oneofs_by_name['oneof_message_type'].fields.append( + _ONBOARDINGINPUTREQUEST.fields_by_name['onboarding_charge_info_request']) +_ONBOARDINGINPUTREQUEST.fields_by_name['onboarding_charge_info_request'].containing_oneof = _ONBOARDINGINPUTREQUEST.oneofs_by_name['oneof_message_type'] +_ONBOARDINGINPUTREQUEST.oneofs_by_name['oneof_message_type'].fields.append( + _ONBOARDINGINPUTREQUEST.fields_by_name['onboarding_mark_complete_and_exit']) +_ONBOARDINGINPUTREQUEST.fields_by_name['onboarding_mark_complete_and_exit'].containing_oneof = _ONBOARDINGINPUTREQUEST.oneofs_by_name['oneof_message_type'] +_ONBOARDINGINPUTRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS +_ONBOARDINGINPUTRESPONSE.fields_by_name['onboarding_complete_response'].message_type = _ONBOARDINGCOMPLETERESPONSE +_ONBOARDINGINPUTRESPONSE.fields_by_name['onboarding_wake_up_response'].message_type = _ONBOARDINGWAKEUPRESPONSE +_ONBOARDINGINPUTRESPONSE.fields_by_name['onboarding_wake_up_started_response'].message_type = _ONBOARDINGWAKEUPSTARTEDRESPONSE +_ONBOARDINGINPUTRESPONSE.fields_by_name['onboarding_set_phase_response'].message_type = _ONBOARDINGSETPHASERESPONSE +_ONBOARDINGINPUTRESPONSE.fields_by_name['onboarding_phase_progress_response'].message_type = _ONBOARDINGPHASEPROGRESSRESPONSE +_ONBOARDINGINPUTRESPONSE.fields_by_name['onboarding_charge_info_response'].message_type = _ONBOARDINGCHARGEINFORESPONSE +_ONBOARDINGINPUTRESPONSE.oneofs_by_name['oneof_message_type'].fields.append( + _ONBOARDINGINPUTRESPONSE.fields_by_name['onboarding_complete_response']) +_ONBOARDINGINPUTRESPONSE.fields_by_name['onboarding_complete_response'].containing_oneof = _ONBOARDINGINPUTRESPONSE.oneofs_by_name['oneof_message_type'] +_ONBOARDINGINPUTRESPONSE.oneofs_by_name['oneof_message_type'].fields.append( + _ONBOARDINGINPUTRESPONSE.fields_by_name['onboarding_wake_up_response']) +_ONBOARDINGINPUTRESPONSE.fields_by_name['onboarding_wake_up_response'].containing_oneof = _ONBOARDINGINPUTRESPONSE.oneofs_by_name['oneof_message_type'] +_ONBOARDINGINPUTRESPONSE.oneofs_by_name['oneof_message_type'].fields.append( + _ONBOARDINGINPUTRESPONSE.fields_by_name['onboarding_wake_up_started_response']) +_ONBOARDINGINPUTRESPONSE.fields_by_name['onboarding_wake_up_started_response'].containing_oneof = _ONBOARDINGINPUTRESPONSE.oneofs_by_name['oneof_message_type'] +_ONBOARDINGINPUTRESPONSE.oneofs_by_name['oneof_message_type'].fields.append( + _ONBOARDINGINPUTRESPONSE.fields_by_name['onboarding_set_phase_response']) +_ONBOARDINGINPUTRESPONSE.fields_by_name['onboarding_set_phase_response'].containing_oneof = _ONBOARDINGINPUTRESPONSE.oneofs_by_name['oneof_message_type'] +_ONBOARDINGINPUTRESPONSE.oneofs_by_name['oneof_message_type'].fields.append( + _ONBOARDINGINPUTRESPONSE.fields_by_name['onboarding_phase_progress_response']) +_ONBOARDINGINPUTRESPONSE.fields_by_name['onboarding_phase_progress_response'].containing_oneof = _ONBOARDINGINPUTRESPONSE.oneofs_by_name['oneof_message_type'] +_ONBOARDINGINPUTRESPONSE.oneofs_by_name['oneof_message_type'].fields.append( + _ONBOARDINGINPUTRESPONSE.fields_by_name['onboarding_charge_info_response']) +_ONBOARDINGINPUTRESPONSE.fields_by_name['onboarding_charge_info_response'].containing_oneof = _ONBOARDINGINPUTRESPONSE.oneofs_by_name['oneof_message_type'] +_ONBOARDINGWAKEUPRESPONSE.fields_by_name['charging_info'].message_type = _ONBOARDING1P0CHARGINGINFO +_FEATUREFLAGRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS +_FEATUREFLAGLISTRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS +_ATTENTIONTRANSFER.fields_by_name['reason'].enum_type = _ATTENTIONTRANSFERREASON +_LATESTATTENTIONTRANSFER.fields_by_name['attention_transfer'].message_type = _ATTENTIONTRANSFER +_LATESTATTENTIONTRANSFER.oneofs_by_name['oneof_message_type'].fields.append( + _LATESTATTENTIONTRANSFER.fields_by_name['attention_transfer']) +_LATESTATTENTIONTRANSFER.fields_by_name['attention_transfer'].containing_oneof = _LATESTATTENTIONTRANSFER.oneofs_by_name['oneof_message_type'] +_LATESTATTENTIONTRANSFERRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS +_LATESTATTENTIONTRANSFERRESPONSE.fields_by_name['latest_attention_transfer'].message_type = _LATESTATTENTIONTRANSFER +_UPDATEANDRESTARTRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS +_CHECKUPDATESTATUSRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS +_CHECKUPDATESTATUSRESPONSE.fields_by_name['update_status'].enum_type = _CHECKUPDATESTATUSRESPONSE_UPDATESTATUS +_CHECKUPDATESTATUSRESPONSE_UPDATESTATUS.containing_type = _CHECKUPDATESTATUSRESPONSE +_CHECKCLOUDRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS +_CHECKCLOUDRESPONSE.fields_by_name['code'].enum_type = _CHECKCLOUDRESPONSE_CONNECTIONCODE +_CHECKCLOUDRESPONSE_CONNECTIONCODE.containing_type = _CHECKCLOUDRESPONSE DESCRIPTOR.message_types_by_name['KeepAlivePing'] = _KEEPALIVEPING DESCRIPTOR.message_types_by_name['AnimationTrigger'] = _ANIMATIONTRIGGER DESCRIPTOR.message_types_by_name['Animation'] = _ANIMATION @@ -7382,6 +9257,49 @@ DESCRIPTOR.message_types_by_name['SetEyeColorResponse'] = _SETEYECOLORRESPONSE DESCRIPTOR.message_types_by_name['SDKInitializationRequest'] = _SDKINITIALIZATIONREQUEST DESCRIPTOR.message_types_by_name['SDKInitializationResponse'] = _SDKINITIALIZATIONRESPONSE +DESCRIPTOR.message_types_by_name['AppDisconnected'] = _APPDISCONNECTED +DESCRIPTOR.message_types_by_name['AppIntentRequest'] = _APPINTENTREQUEST +DESCRIPTOR.message_types_by_name['AppIntentResponse'] = _APPINTENTRESPONSE +DESCRIPTOR.message_types_by_name['FeatureStatus'] = _FEATURESTATUS +DESCRIPTOR.message_types_by_name['Onboarding'] = _ONBOARDING +DESCRIPTOR.message_types_by_name['RobotHistoryRequest'] = _ROBOTHISTORYREQUEST +DESCRIPTOR.message_types_by_name['RobotHistoryResponse'] = _ROBOTHISTORYRESPONSE +DESCRIPTOR.message_types_by_name['OnboardingState'] = _ONBOARDINGSTATE +DESCRIPTOR.message_types_by_name['OnboardingStateRequest'] = _ONBOARDINGSTATEREQUEST +DESCRIPTOR.message_types_by_name['OnboardingStateResponse'] = _ONBOARDINGSTATERESPONSE +DESCRIPTOR.message_types_by_name['OnboardingSetPhaseRequest'] = _ONBOARDINGSETPHASEREQUEST +DESCRIPTOR.message_types_by_name['OnboardingSetPhaseResponse'] = _ONBOARDINGSETPHASERESPONSE +DESCRIPTOR.message_types_by_name['OnboardingPhaseProgressRequest'] = _ONBOARDINGPHASEPROGRESSREQUEST +DESCRIPTOR.message_types_by_name['OnboardingPhaseProgressResponse'] = _ONBOARDINGPHASEPROGRESSRESPONSE +DESCRIPTOR.message_types_by_name['OnboardingChargeInfoRequest'] = _ONBOARDINGCHARGEINFOREQUEST +DESCRIPTOR.message_types_by_name['OnboardingChargeInfoResponse'] = _ONBOARDINGCHARGEINFORESPONSE +DESCRIPTOR.message_types_by_name['OnboardingSkipOnboarding'] = _ONBOARDINGSKIPONBOARDING +DESCRIPTOR.message_types_by_name['OnboardingRestart'] = _ONBOARDINGRESTART +DESCRIPTOR.message_types_by_name['OnboardingMarkCompleteAndExit'] = _ONBOARDINGMARKCOMPLETEANDEXIT +DESCRIPTOR.message_types_by_name['OnboardingInputRequest'] = _ONBOARDINGINPUTREQUEST +DESCRIPTOR.message_types_by_name['OnboardingInputResponse'] = _ONBOARDINGINPUTRESPONSE +DESCRIPTOR.message_types_by_name['OnboardingCompleteRequest'] = _ONBOARDINGCOMPLETEREQUEST +DESCRIPTOR.message_types_by_name['OnboardingCompleteResponse'] = _ONBOARDINGCOMPLETERESPONSE +DESCRIPTOR.message_types_by_name['OnboardingWakeUpStartedRequest'] = _ONBOARDINGWAKEUPSTARTEDREQUEST +DESCRIPTOR.message_types_by_name['OnboardingWakeUpStartedResponse'] = _ONBOARDINGWAKEUPSTARTEDRESPONSE +DESCRIPTOR.message_types_by_name['OnboardingWakeUpRequest'] = _ONBOARDINGWAKEUPREQUEST +DESCRIPTOR.message_types_by_name['OnboardingWakeUpResponse'] = _ONBOARDINGWAKEUPRESPONSE +DESCRIPTOR.message_types_by_name['Onboarding1p0ChargingInfo'] = _ONBOARDING1P0CHARGINGINFO +DESCRIPTOR.message_types_by_name['OnboardingWakeUpFinished'] = _ONBOARDINGWAKEUPFINISHED +DESCRIPTOR.message_types_by_name['FeatureFlagRequest'] = _FEATUREFLAGREQUEST +DESCRIPTOR.message_types_by_name['FeatureFlagResponse'] = _FEATUREFLAGRESPONSE +DESCRIPTOR.message_types_by_name['FeatureFlagListRequest'] = _FEATUREFLAGLISTREQUEST +DESCRIPTOR.message_types_by_name['FeatureFlagListResponse'] = _FEATUREFLAGLISTRESPONSE +DESCRIPTOR.message_types_by_name['AttentionTransfer'] = _ATTENTIONTRANSFER +DESCRIPTOR.message_types_by_name['LatestAttentionTransferRequest'] = _LATESTATTENTIONTRANSFERREQUEST +DESCRIPTOR.message_types_by_name['LatestAttentionTransfer'] = _LATESTATTENTIONTRANSFER +DESCRIPTOR.message_types_by_name['LatestAttentionTransferResponse'] = _LATESTATTENTIONTRANSFERRESPONSE +DESCRIPTOR.message_types_by_name['UpdateAndRestartRequest'] = _UPDATEANDRESTARTREQUEST +DESCRIPTOR.message_types_by_name['UpdateAndRestartResponse'] = _UPDATEANDRESTARTRESPONSE +DESCRIPTOR.message_types_by_name['CheckUpdateStatusRequest'] = _CHECKUPDATESTATUSREQUEST +DESCRIPTOR.message_types_by_name['CheckUpdateStatusResponse'] = _CHECKUPDATESTATUSRESPONSE +DESCRIPTOR.message_types_by_name['CheckCloudRequest'] = _CHECKCLOUDREQUEST +DESCRIPTOR.message_types_by_name['CheckCloudResponse'] = _CHECKCLOUDRESPONSE DESCRIPTOR.enum_types_by_name['RobotStatus'] = _ROBOTSTATUS DESCRIPTOR.enum_types_by_name['FacialExpression'] = _FACIALEXPRESSION DESCRIPTOR.enum_types_by_name['FaceEnrollmentResult'] = _FACEENROLLMENTRESULT @@ -7392,6 +9310,10 @@ DESCRIPTOR.enum_types_by_name['AudioConstants'] = _AUDIOCONSTANTS DESCRIPTOR.enum_types_by_name['AudioProcessingMode'] = _AUDIOPROCESSINGMODE DESCRIPTOR.enum_types_by_name['MasterVolumeLevel'] = _MASTERVOLUMELEVEL +DESCRIPTOR.enum_types_by_name['OnboardingStages'] = _ONBOARDINGSTAGES +DESCRIPTOR.enum_types_by_name['OnboardingPhase'] = _ONBOARDINGPHASE +DESCRIPTOR.enum_types_by_name['OnboardingPhaseState'] = _ONBOARDINGPHASESTATE +DESCRIPTOR.enum_types_by_name['AttentionTransferReason'] = _ATTENTIONTRANSFERREASON _sym_db.RegisterFileDescriptor(DESCRIPTOR) KeepAlivePing = _reflection.GeneratedProtocolMessageType('KeepAlivePing', (_message.Message,), dict( @@ -8444,6 +10366,307 @@ )) _sym_db.RegisterMessage(SDKInitializationResponse) +AppDisconnected = _reflection.GeneratedProtocolMessageType('AppDisconnected', (_message.Message,), dict( + DESCRIPTOR = _APPDISCONNECTED, + __module__ = 'anki_vector.messaging.messages_pb2' + # @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.AppDisconnected) + )) +_sym_db.RegisterMessage(AppDisconnected) + +AppIntentRequest = _reflection.GeneratedProtocolMessageType('AppIntentRequest', (_message.Message,), dict( + DESCRIPTOR = _APPINTENTREQUEST, + __module__ = 'anki_vector.messaging.messages_pb2' + # @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.AppIntentRequest) + )) +_sym_db.RegisterMessage(AppIntentRequest) + +AppIntentResponse = _reflection.GeneratedProtocolMessageType('AppIntentResponse', (_message.Message,), dict( + DESCRIPTOR = _APPINTENTRESPONSE, + __module__ = 'anki_vector.messaging.messages_pb2' + # @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.AppIntentResponse) + )) +_sym_db.RegisterMessage(AppIntentResponse) + +FeatureStatus = _reflection.GeneratedProtocolMessageType('FeatureStatus', (_message.Message,), dict( + DESCRIPTOR = _FEATURESTATUS, + __module__ = 'anki_vector.messaging.messages_pb2' + # @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.FeatureStatus) + )) +_sym_db.RegisterMessage(FeatureStatus) + +Onboarding = _reflection.GeneratedProtocolMessageType('Onboarding', (_message.Message,), dict( + DESCRIPTOR = _ONBOARDING, + __module__ = 'anki_vector.messaging.messages_pb2' + # @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.Onboarding) + )) +_sym_db.RegisterMessage(Onboarding) + +RobotHistoryRequest = _reflection.GeneratedProtocolMessageType('RobotHistoryRequest', (_message.Message,), dict( + DESCRIPTOR = _ROBOTHISTORYREQUEST, + __module__ = 'anki_vector.messaging.messages_pb2' + # @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.RobotHistoryRequest) + )) +_sym_db.RegisterMessage(RobotHistoryRequest) + +RobotHistoryResponse = _reflection.GeneratedProtocolMessageType('RobotHistoryResponse', (_message.Message,), dict( + DESCRIPTOR = _ROBOTHISTORYRESPONSE, + __module__ = 'anki_vector.messaging.messages_pb2' + # @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.RobotHistoryResponse) + )) +_sym_db.RegisterMessage(RobotHistoryResponse) + +OnboardingState = _reflection.GeneratedProtocolMessageType('OnboardingState', (_message.Message,), dict( + DESCRIPTOR = _ONBOARDINGSTATE, + __module__ = 'anki_vector.messaging.messages_pb2' + # @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.OnboardingState) + )) +_sym_db.RegisterMessage(OnboardingState) + +OnboardingStateRequest = _reflection.GeneratedProtocolMessageType('OnboardingStateRequest', (_message.Message,), dict( + DESCRIPTOR = _ONBOARDINGSTATEREQUEST, + __module__ = 'anki_vector.messaging.messages_pb2' + # @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.OnboardingStateRequest) + )) +_sym_db.RegisterMessage(OnboardingStateRequest) + +OnboardingStateResponse = _reflection.GeneratedProtocolMessageType('OnboardingStateResponse', (_message.Message,), dict( + DESCRIPTOR = _ONBOARDINGSTATERESPONSE, + __module__ = 'anki_vector.messaging.messages_pb2' + # @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.OnboardingStateResponse) + )) +_sym_db.RegisterMessage(OnboardingStateResponse) + +OnboardingSetPhaseRequest = _reflection.GeneratedProtocolMessageType('OnboardingSetPhaseRequest', (_message.Message,), dict( + DESCRIPTOR = _ONBOARDINGSETPHASEREQUEST, + __module__ = 'anki_vector.messaging.messages_pb2' + # @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.OnboardingSetPhaseRequest) + )) +_sym_db.RegisterMessage(OnboardingSetPhaseRequest) + +OnboardingSetPhaseResponse = _reflection.GeneratedProtocolMessageType('OnboardingSetPhaseResponse', (_message.Message,), dict( + DESCRIPTOR = _ONBOARDINGSETPHASERESPONSE, + __module__ = 'anki_vector.messaging.messages_pb2' + # @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.OnboardingSetPhaseResponse) + )) +_sym_db.RegisterMessage(OnboardingSetPhaseResponse) + +OnboardingPhaseProgressRequest = _reflection.GeneratedProtocolMessageType('OnboardingPhaseProgressRequest', (_message.Message,), dict( + DESCRIPTOR = _ONBOARDINGPHASEPROGRESSREQUEST, + __module__ = 'anki_vector.messaging.messages_pb2' + # @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.OnboardingPhaseProgressRequest) + )) +_sym_db.RegisterMessage(OnboardingPhaseProgressRequest) + +OnboardingPhaseProgressResponse = _reflection.GeneratedProtocolMessageType('OnboardingPhaseProgressResponse', (_message.Message,), dict( + DESCRIPTOR = _ONBOARDINGPHASEPROGRESSRESPONSE, + __module__ = 'anki_vector.messaging.messages_pb2' + # @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.OnboardingPhaseProgressResponse) + )) +_sym_db.RegisterMessage(OnboardingPhaseProgressResponse) + +OnboardingChargeInfoRequest = _reflection.GeneratedProtocolMessageType('OnboardingChargeInfoRequest', (_message.Message,), dict( + DESCRIPTOR = _ONBOARDINGCHARGEINFOREQUEST, + __module__ = 'anki_vector.messaging.messages_pb2' + # @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.OnboardingChargeInfoRequest) + )) +_sym_db.RegisterMessage(OnboardingChargeInfoRequest) + +OnboardingChargeInfoResponse = _reflection.GeneratedProtocolMessageType('OnboardingChargeInfoResponse', (_message.Message,), dict( + DESCRIPTOR = _ONBOARDINGCHARGEINFORESPONSE, + __module__ = 'anki_vector.messaging.messages_pb2' + # @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.OnboardingChargeInfoResponse) + )) +_sym_db.RegisterMessage(OnboardingChargeInfoResponse) + +OnboardingSkipOnboarding = _reflection.GeneratedProtocolMessageType('OnboardingSkipOnboarding', (_message.Message,), dict( + DESCRIPTOR = _ONBOARDINGSKIPONBOARDING, + __module__ = 'anki_vector.messaging.messages_pb2' + # @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.OnboardingSkipOnboarding) + )) +_sym_db.RegisterMessage(OnboardingSkipOnboarding) + +OnboardingRestart = _reflection.GeneratedProtocolMessageType('OnboardingRestart', (_message.Message,), dict( + DESCRIPTOR = _ONBOARDINGRESTART, + __module__ = 'anki_vector.messaging.messages_pb2' + # @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.OnboardingRestart) + )) +_sym_db.RegisterMessage(OnboardingRestart) + +OnboardingMarkCompleteAndExit = _reflection.GeneratedProtocolMessageType('OnboardingMarkCompleteAndExit', (_message.Message,), dict( + DESCRIPTOR = _ONBOARDINGMARKCOMPLETEANDEXIT, + __module__ = 'anki_vector.messaging.messages_pb2' + # @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.OnboardingMarkCompleteAndExit) + )) +_sym_db.RegisterMessage(OnboardingMarkCompleteAndExit) + +OnboardingInputRequest = _reflection.GeneratedProtocolMessageType('OnboardingInputRequest', (_message.Message,), dict( + DESCRIPTOR = _ONBOARDINGINPUTREQUEST, + __module__ = 'anki_vector.messaging.messages_pb2' + # @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.OnboardingInputRequest) + )) +_sym_db.RegisterMessage(OnboardingInputRequest) + +OnboardingInputResponse = _reflection.GeneratedProtocolMessageType('OnboardingInputResponse', (_message.Message,), dict( + DESCRIPTOR = _ONBOARDINGINPUTRESPONSE, + __module__ = 'anki_vector.messaging.messages_pb2' + # @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.OnboardingInputResponse) + )) +_sym_db.RegisterMessage(OnboardingInputResponse) + +OnboardingCompleteRequest = _reflection.GeneratedProtocolMessageType('OnboardingCompleteRequest', (_message.Message,), dict( + DESCRIPTOR = _ONBOARDINGCOMPLETEREQUEST, + __module__ = 'anki_vector.messaging.messages_pb2' + # @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.OnboardingCompleteRequest) + )) +_sym_db.RegisterMessage(OnboardingCompleteRequest) + +OnboardingCompleteResponse = _reflection.GeneratedProtocolMessageType('OnboardingCompleteResponse', (_message.Message,), dict( + DESCRIPTOR = _ONBOARDINGCOMPLETERESPONSE, + __module__ = 'anki_vector.messaging.messages_pb2' + # @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.OnboardingCompleteResponse) + )) +_sym_db.RegisterMessage(OnboardingCompleteResponse) + +OnboardingWakeUpStartedRequest = _reflection.GeneratedProtocolMessageType('OnboardingWakeUpStartedRequest', (_message.Message,), dict( + DESCRIPTOR = _ONBOARDINGWAKEUPSTARTEDREQUEST, + __module__ = 'anki_vector.messaging.messages_pb2' + # @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.OnboardingWakeUpStartedRequest) + )) +_sym_db.RegisterMessage(OnboardingWakeUpStartedRequest) + +OnboardingWakeUpStartedResponse = _reflection.GeneratedProtocolMessageType('OnboardingWakeUpStartedResponse', (_message.Message,), dict( + DESCRIPTOR = _ONBOARDINGWAKEUPSTARTEDRESPONSE, + __module__ = 'anki_vector.messaging.messages_pb2' + # @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.OnboardingWakeUpStartedResponse) + )) +_sym_db.RegisterMessage(OnboardingWakeUpStartedResponse) + +OnboardingWakeUpRequest = _reflection.GeneratedProtocolMessageType('OnboardingWakeUpRequest', (_message.Message,), dict( + DESCRIPTOR = _ONBOARDINGWAKEUPREQUEST, + __module__ = 'anki_vector.messaging.messages_pb2' + # @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.OnboardingWakeUpRequest) + )) +_sym_db.RegisterMessage(OnboardingWakeUpRequest) + +OnboardingWakeUpResponse = _reflection.GeneratedProtocolMessageType('OnboardingWakeUpResponse', (_message.Message,), dict( + DESCRIPTOR = _ONBOARDINGWAKEUPRESPONSE, + __module__ = 'anki_vector.messaging.messages_pb2' + # @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.OnboardingWakeUpResponse) + )) +_sym_db.RegisterMessage(OnboardingWakeUpResponse) + +Onboarding1p0ChargingInfo = _reflection.GeneratedProtocolMessageType('Onboarding1p0ChargingInfo', (_message.Message,), dict( + DESCRIPTOR = _ONBOARDING1P0CHARGINGINFO, + __module__ = 'anki_vector.messaging.messages_pb2' + # @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.Onboarding1p0ChargingInfo) + )) +_sym_db.RegisterMessage(Onboarding1p0ChargingInfo) + +OnboardingWakeUpFinished = _reflection.GeneratedProtocolMessageType('OnboardingWakeUpFinished', (_message.Message,), dict( + DESCRIPTOR = _ONBOARDINGWAKEUPFINISHED, + __module__ = 'anki_vector.messaging.messages_pb2' + # @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.OnboardingWakeUpFinished) + )) +_sym_db.RegisterMessage(OnboardingWakeUpFinished) + +FeatureFlagRequest = _reflection.GeneratedProtocolMessageType('FeatureFlagRequest', (_message.Message,), dict( + DESCRIPTOR = _FEATUREFLAGREQUEST, + __module__ = 'anki_vector.messaging.messages_pb2' + # @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.FeatureFlagRequest) + )) +_sym_db.RegisterMessage(FeatureFlagRequest) + +FeatureFlagResponse = _reflection.GeneratedProtocolMessageType('FeatureFlagResponse', (_message.Message,), dict( + DESCRIPTOR = _FEATUREFLAGRESPONSE, + __module__ = 'anki_vector.messaging.messages_pb2' + # @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.FeatureFlagResponse) + )) +_sym_db.RegisterMessage(FeatureFlagResponse) + +FeatureFlagListRequest = _reflection.GeneratedProtocolMessageType('FeatureFlagListRequest', (_message.Message,), dict( + DESCRIPTOR = _FEATUREFLAGLISTREQUEST, + __module__ = 'anki_vector.messaging.messages_pb2' + # @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.FeatureFlagListRequest) + )) +_sym_db.RegisterMessage(FeatureFlagListRequest) + +FeatureFlagListResponse = _reflection.GeneratedProtocolMessageType('FeatureFlagListResponse', (_message.Message,), dict( + DESCRIPTOR = _FEATUREFLAGLISTRESPONSE, + __module__ = 'anki_vector.messaging.messages_pb2' + # @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.FeatureFlagListResponse) + )) +_sym_db.RegisterMessage(FeatureFlagListResponse) + +AttentionTransfer = _reflection.GeneratedProtocolMessageType('AttentionTransfer', (_message.Message,), dict( + DESCRIPTOR = _ATTENTIONTRANSFER, + __module__ = 'anki_vector.messaging.messages_pb2' + # @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.AttentionTransfer) + )) +_sym_db.RegisterMessage(AttentionTransfer) + +LatestAttentionTransferRequest = _reflection.GeneratedProtocolMessageType('LatestAttentionTransferRequest', (_message.Message,), dict( + DESCRIPTOR = _LATESTATTENTIONTRANSFERREQUEST, + __module__ = 'anki_vector.messaging.messages_pb2' + # @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.LatestAttentionTransferRequest) + )) +_sym_db.RegisterMessage(LatestAttentionTransferRequest) + +LatestAttentionTransfer = _reflection.GeneratedProtocolMessageType('LatestAttentionTransfer', (_message.Message,), dict( + DESCRIPTOR = _LATESTATTENTIONTRANSFER, + __module__ = 'anki_vector.messaging.messages_pb2' + # @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.LatestAttentionTransfer) + )) +_sym_db.RegisterMessage(LatestAttentionTransfer) + +LatestAttentionTransferResponse = _reflection.GeneratedProtocolMessageType('LatestAttentionTransferResponse', (_message.Message,), dict( + DESCRIPTOR = _LATESTATTENTIONTRANSFERRESPONSE, + __module__ = 'anki_vector.messaging.messages_pb2' + # @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.LatestAttentionTransferResponse) + )) +_sym_db.RegisterMessage(LatestAttentionTransferResponse) + +UpdateAndRestartRequest = _reflection.GeneratedProtocolMessageType('UpdateAndRestartRequest', (_message.Message,), dict( + DESCRIPTOR = _UPDATEANDRESTARTREQUEST, + __module__ = 'anki_vector.messaging.messages_pb2' + # @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.UpdateAndRestartRequest) + )) +_sym_db.RegisterMessage(UpdateAndRestartRequest) + +UpdateAndRestartResponse = _reflection.GeneratedProtocolMessageType('UpdateAndRestartResponse', (_message.Message,), dict( + DESCRIPTOR = _UPDATEANDRESTARTRESPONSE, + __module__ = 'anki_vector.messaging.messages_pb2' + # @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.UpdateAndRestartResponse) + )) +_sym_db.RegisterMessage(UpdateAndRestartResponse) + +CheckUpdateStatusRequest = _reflection.GeneratedProtocolMessageType('CheckUpdateStatusRequest', (_message.Message,), dict( + DESCRIPTOR = _CHECKUPDATESTATUSREQUEST, + __module__ = 'anki_vector.messaging.messages_pb2' + # @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.CheckUpdateStatusRequest) + )) +_sym_db.RegisterMessage(CheckUpdateStatusRequest) + +CheckUpdateStatusResponse = _reflection.GeneratedProtocolMessageType('CheckUpdateStatusResponse', (_message.Message,), dict( + DESCRIPTOR = _CHECKUPDATESTATUSRESPONSE, + __module__ = 'anki_vector.messaging.messages_pb2' + # @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.CheckUpdateStatusResponse) + )) +_sym_db.RegisterMessage(CheckUpdateStatusResponse) + +CheckCloudRequest = _reflection.GeneratedProtocolMessageType('CheckCloudRequest', (_message.Message,), dict( + DESCRIPTOR = _CHECKCLOUDREQUEST, + __module__ = 'anki_vector.messaging.messages_pb2' + # @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.CheckCloudRequest) + )) +_sym_db.RegisterMessage(CheckCloudRequest) + +CheckCloudResponse = _reflection.GeneratedProtocolMessageType('CheckCloudResponse', (_message.Message,), dict( + DESCRIPTOR = _CHECKCLOUDRESPONSE, + __module__ = 'anki_vector.messaging.messages_pb2' + # @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.CheckCloudResponse) + )) +_sym_db.RegisterMessage(CheckCloudResponse) + _FACIALEXPRESSION.has_options = True _FACIALEXPRESSION._options = _descriptor._ParseOptions(descriptor_pb2.EnumOptions(), _b('\020\001')) @@ -8451,4 +10674,6 @@ _AUDIOFEEDRESPONSE._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('\200\246\035\001')) _CAMERAFEEDRESPONSE.has_options = True _CAMERAFEEDRESPONSE._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('\200\246\035\001')) +_CHECKUPDATESTATUSRESPONSE.has_options = True +_CHECKUPDATESTATUSRESPONSE._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('\200\246\035\001')) # @@protoc_insertion_point(module_scope) diff --git a/anki_vector/messaging/settings.proto b/anki_vector/messaging/settings.proto index 36fc97e..f95ba70 100644 --- a/anki_vector/messaging/settings.proto +++ b/anki_vector/messaging/settings.proto @@ -18,4 +18,133 @@ syntax = "proto3"; package Anki.Vector.external_interface; +import "anki_vector/messaging/response_status.proto"; + +enum ApiVersion { + INVALID = 0; + LATEST = 1; +} + +enum Volume { + MUTE = 0; + LOW = 1; + MEDIUM_LOW = 2; + MEDIUM = 3; + MEDIUM_HIGH = 4; + HIGH = 5; +} + +enum JdocType { + ROBOT_SETTINGS = 0; + ROBOT_LIFETIME_STATS = 1; + ACCOUNT_SETTINGS = 2; + USER_ENTITLEMENTS = 3; +} + +enum JdocResolveMethod { + PUSH_TO_CLOUD = 0; + PULL_FROM_CLOUD = 1; +} + +// RobotSetting enum values are not in all caps for historical reasons. +// Changing that now would involve a format migration because we're now +// saving robot settings jdocs in the cloud. +enum RobotSetting { + clock_24_hour = 0; + eye_color = 1; + default_location = 2; + dist_is_metric = 3; + locale = 4; + master_volume = 5; + temp_is_fahrenheit = 6; + time_zone = 7; + button_wakeword = 8; +} + +enum EyeColor { + TIP_OVER_TEAL = 0; + OVERFIT_ORANGE = 1; + UNCANNY_YELLOW = 2; + NON_LINEAR_LIME = 3; + SINGULARITY_SAPPHIRE = 4; + FALSE_POSITIVE_PURPLE = 5; + CONFUSION_MATRIX_GREEN = 6; +} + +enum ButtonWakeWord { + BUTTON_WAKEWORD_HEY_VECTOR = 0; + BUTTON_WAKEWORD_ALEXA = 1; +} + +message RobotSettingsConfig { + oneof oneof_clock_24_hour { bool clock_24_hour = 1; } + oneof oneof_eye_color { EyeColor eye_color = 2; } + oneof oneof_default_location { string default_location = 3; } + oneof oneof_dist_is_metric { bool dist_is_metric = 4; } + oneof oneof_locale { string locale = 5; } + oneof oneof_master_volume { Volume master_volume = 6; } + oneof oneof_temp_is_fahrenheit { bool temp_is_fahrenheit = 7; } + oneof oneof_time_zone { string time_zone = 8; } + oneof oneof_button_wakeword { ButtonWakeWord button_wakeword = 9; } +} + +enum AccountSetting { + DATA_COLLECTION = 0; + APP_LOCALE = 1; +} + +message AccountSettingsConfig { + oneof oneof_data_collection { bool data_collection = 1; } + oneof oneof_app_locale { string app_locale = 2; } +} + +enum ResultCode { + SETTINGS_ACCEPTED = 0; + ERROR_UPDATE_IN_PROGRESS = 1; +} + +message Jdoc { + uint64 doc_version = 1; + uint64 fmt_version = 2; + string client_metadata = 3; + string json_doc = 4; +} + +message NamedJdoc { + JdocType jdoc_type = 1; + Jdoc doc = 2; +} + +message PullJdocsRequest { + repeated JdocType jdoc_types = 1; +} + +message PullJdocsResponse { + ResponseStatus status = 1; + repeated NamedJdoc named_jdocs = 2; +} + +message UpdateSettingsRequest { + RobotSettingsConfig settings = 1; +} + +message UpdateSettingsResponse { + ResponseStatus status = 1; + ResultCode code = 2; + Jdoc doc = 3; +} + +message UpdateAccountSettingsRequest { + AccountSettingsConfig account_settings = 1; +} + +message UpdateAccountSettingsResponse { + ResponseStatus status = 1; + ResultCode code = 2; + Jdoc doc = 3; +} + +message JdocsChanged { + repeated JdocType jdoc_types = 1; +} diff --git a/anki_vector/messaging/settings_pb2.py b/anki_vector/messaging/settings_pb2.py index b59b818..cb472ec 100644 --- a/anki_vector/messaging/settings_pb2.py +++ b/anki_vector/messaging/settings_pb2.py @@ -3,6 +3,7 @@ import sys _b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) +from google.protobuf.internal import enum_type_wrapper from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection @@ -13,18 +14,982 @@ _sym_db = _symbol_database.Default() +from anki_vector.messaging import response_status_pb2 as anki__vector_dot_messaging_dot_response__status__pb2 DESCRIPTOR = _descriptor.FileDescriptor( name='anki_vector/messaging/settings.proto', package='Anki.Vector.external_interface', syntax='proto3', - serialized_pb=_b('\n$anki_vector/messaging/settings.proto\x12\x1e\x41nki.Vector.external_interfaceb\x06proto3') + serialized_pb=_b('\n$anki_vector/messaging/settings.proto\x12\x1e\x41nki.Vector.external_interface\x1a+anki_vector/messaging/response_status.proto\"\xbf\x04\n\x13RobotSettingsConfig\x12\x17\n\rclock_24_hour\x18\x01 \x01(\x08H\x00\x12=\n\teye_color\x18\x02 \x01(\x0e\x32(.Anki.Vector.external_interface.EyeColorH\x01\x12\x1a\n\x10\x64\x65\x66\x61ult_location\x18\x03 \x01(\tH\x02\x12\x18\n\x0e\x64ist_is_metric\x18\x04 \x01(\x08H\x03\x12\x10\n\x06locale\x18\x05 \x01(\tH\x04\x12?\n\rmaster_volume\x18\x06 \x01(\x0e\x32&.Anki.Vector.external_interface.VolumeH\x05\x12\x1c\n\x12temp_is_fahrenheit\x18\x07 \x01(\x08H\x06\x12\x13\n\ttime_zone\x18\x08 \x01(\tH\x07\x12I\n\x0f\x62utton_wakeword\x18\t \x01(\x0e\x32..Anki.Vector.external_interface.ButtonWakeWordH\x08\x42\x15\n\x13oneof_clock_24_hourB\x11\n\x0foneof_eye_colorB\x18\n\x16oneof_default_locationB\x16\n\x14oneof_dist_is_metricB\x0e\n\x0coneof_localeB\x15\n\x13oneof_master_volumeB\x1a\n\x18oneof_temp_is_fahrenheitB\x11\n\x0foneof_time_zoneB\x17\n\x15oneof_button_wakeword\"u\n\x15\x41\x63\x63ountSettingsConfig\x12\x19\n\x0f\x64\x61ta_collection\x18\x01 \x01(\x08H\x00\x12\x14\n\napp_locale\x18\x02 \x01(\tH\x01\x42\x17\n\x15oneof_data_collectionB\x12\n\x10oneof_app_locale\"[\n\x04Jdoc\x12\x13\n\x0b\x64oc_version\x18\x01 \x01(\x04\x12\x13\n\x0b\x66mt_version\x18\x02 \x01(\x04\x12\x17\n\x0f\x63lient_metadata\x18\x03 \x01(\t\x12\x10\n\x08json_doc\x18\x04 \x01(\t\"{\n\tNamedJdoc\x12;\n\tjdoc_type\x18\x01 \x01(\x0e\x32(.Anki.Vector.external_interface.JdocType\x12\x31\n\x03\x64oc\x18\x02 \x01(\x0b\x32$.Anki.Vector.external_interface.Jdoc\"P\n\x10PullJdocsRequest\x12<\n\njdoc_types\x18\x01 \x03(\x0e\x32(.Anki.Vector.external_interface.JdocType\"\x93\x01\n\x11PullJdocsResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12>\n\x0bnamed_jdocs\x18\x02 \x03(\x0b\x32).Anki.Vector.external_interface.NamedJdoc\"^\n\x15UpdateSettingsRequest\x12\x45\n\x08settings\x18\x01 \x01(\x0b\x32\x33.Anki.Vector.external_interface.RobotSettingsConfig\"\xc5\x01\n\x16UpdateSettingsResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12\x38\n\x04\x63ode\x18\x02 \x01(\x0e\x32*.Anki.Vector.external_interface.ResultCode\x12\x31\n\x03\x64oc\x18\x03 \x01(\x0b\x32$.Anki.Vector.external_interface.Jdoc\"o\n\x1cUpdateAccountSettingsRequest\x12O\n\x10\x61\x63\x63ount_settings\x18\x01 \x01(\x0b\x32\x35.Anki.Vector.external_interface.AccountSettingsConfig\"\xcc\x01\n\x1dUpdateAccountSettingsResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12\x38\n\x04\x63ode\x18\x02 \x01(\x0e\x32*.Anki.Vector.external_interface.ResultCode\x12\x31\n\x03\x64oc\x18\x03 \x01(\x0b\x32$.Anki.Vector.external_interface.Jdoc\"L\n\x0cJdocsChanged\x12<\n\njdoc_types\x18\x01 \x03(\x0e\x32(.Anki.Vector.external_interface.JdocType*%\n\nApiVersion\x12\x0b\n\x07INVALID\x10\x00\x12\n\n\x06LATEST\x10\x01*R\n\x06Volume\x12\x08\n\x04MUTE\x10\x00\x12\x07\n\x03LOW\x10\x01\x12\x0e\n\nMEDIUM_LOW\x10\x02\x12\n\n\x06MEDIUM\x10\x03\x12\x0f\n\x0bMEDIUM_HIGH\x10\x04\x12\x08\n\x04HIGH\x10\x05*e\n\x08JdocType\x12\x12\n\x0eROBOT_SETTINGS\x10\x00\x12\x18\n\x14ROBOT_LIFETIME_STATS\x10\x01\x12\x14\n\x10\x41\x43\x43OUNT_SETTINGS\x10\x02\x12\x15\n\x11USER_ENTITLEMENTS\x10\x03*;\n\x11JdocResolveMethod\x12\x11\n\rPUSH_TO_CLOUD\x10\x00\x12\x13\n\x0fPULL_FROM_CLOUD\x10\x01*\xb5\x01\n\x0cRobotSetting\x12\x11\n\rclock_24_hour\x10\x00\x12\r\n\teye_color\x10\x01\x12\x14\n\x10\x64\x65\x66\x61ult_location\x10\x02\x12\x12\n\x0e\x64ist_is_metric\x10\x03\x12\n\n\x06locale\x10\x04\x12\x11\n\rmaster_volume\x10\x05\x12\x16\n\x12temp_is_fahrenheit\x10\x06\x12\r\n\ttime_zone\x10\x07\x12\x13\n\x0f\x62utton_wakeword\x10\x08*\xab\x01\n\x08\x45yeColor\x12\x11\n\rTIP_OVER_TEAL\x10\x00\x12\x12\n\x0eOVERFIT_ORANGE\x10\x01\x12\x12\n\x0eUNCANNY_YELLOW\x10\x02\x12\x13\n\x0fNON_LINEAR_LIME\x10\x03\x12\x18\n\x14SINGULARITY_SAPPHIRE\x10\x04\x12\x19\n\x15\x46\x41LSE_POSITIVE_PURPLE\x10\x05\x12\x1a\n\x16\x43ONFUSION_MATRIX_GREEN\x10\x06*K\n\x0e\x42uttonWakeWord\x12\x1e\n\x1a\x42UTTON_WAKEWORD_HEY_VECTOR\x10\x00\x12\x19\n\x15\x42UTTON_WAKEWORD_ALEXA\x10\x01*5\n\x0e\x41\x63\x63ountSetting\x12\x13\n\x0f\x44\x41TA_COLLECTION\x10\x00\x12\x0e\n\nAPP_LOCALE\x10\x01*A\n\nResultCode\x12\x15\n\x11SETTINGS_ACCEPTED\x10\x00\x12\x1c\n\x18\x45RROR_UPDATE_IN_PROGRESS\x10\x01\x62\x06proto3') + , + dependencies=[anki__vector_dot_messaging_dot_response__status__pb2.DESCRIPTOR,]) + +_APIVERSION = _descriptor.EnumDescriptor( + name='ApiVersion', + full_name='Anki.Vector.external_interface.ApiVersion', + filename=None, + file=DESCRIPTOR, + values=[ + _descriptor.EnumValueDescriptor( + name='INVALID', index=0, number=0, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='LATEST', index=1, number=1, + options=None, + type=None), + ], + containing_type=None, + options=None, + serialized_start=1958, + serialized_end=1995, +) +_sym_db.RegisterEnumDescriptor(_APIVERSION) + +ApiVersion = enum_type_wrapper.EnumTypeWrapper(_APIVERSION) +_VOLUME = _descriptor.EnumDescriptor( + name='Volume', + full_name='Anki.Vector.external_interface.Volume', + filename=None, + file=DESCRIPTOR, + values=[ + _descriptor.EnumValueDescriptor( + name='MUTE', index=0, number=0, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='LOW', index=1, number=1, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='MEDIUM_LOW', index=2, number=2, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='MEDIUM', index=3, number=3, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='MEDIUM_HIGH', index=4, number=4, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='HIGH', index=5, number=5, + options=None, + type=None), + ], + containing_type=None, + options=None, + serialized_start=1997, + serialized_end=2079, +) +_sym_db.RegisterEnumDescriptor(_VOLUME) + +Volume = enum_type_wrapper.EnumTypeWrapper(_VOLUME) +_JDOCTYPE = _descriptor.EnumDescriptor( + name='JdocType', + full_name='Anki.Vector.external_interface.JdocType', + filename=None, + file=DESCRIPTOR, + values=[ + _descriptor.EnumValueDescriptor( + name='ROBOT_SETTINGS', index=0, number=0, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='ROBOT_LIFETIME_STATS', index=1, number=1, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='ACCOUNT_SETTINGS', index=2, number=2, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='USER_ENTITLEMENTS', index=3, number=3, + options=None, + type=None), + ], + containing_type=None, + options=None, + serialized_start=2081, + serialized_end=2182, +) +_sym_db.RegisterEnumDescriptor(_JDOCTYPE) + +JdocType = enum_type_wrapper.EnumTypeWrapper(_JDOCTYPE) +_JDOCRESOLVEMETHOD = _descriptor.EnumDescriptor( + name='JdocResolveMethod', + full_name='Anki.Vector.external_interface.JdocResolveMethod', + filename=None, + file=DESCRIPTOR, + values=[ + _descriptor.EnumValueDescriptor( + name='PUSH_TO_CLOUD', index=0, number=0, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='PULL_FROM_CLOUD', index=1, number=1, + options=None, + type=None), + ], + containing_type=None, + options=None, + serialized_start=2184, + serialized_end=2243, +) +_sym_db.RegisterEnumDescriptor(_JDOCRESOLVEMETHOD) + +JdocResolveMethod = enum_type_wrapper.EnumTypeWrapper(_JDOCRESOLVEMETHOD) +_ROBOTSETTING = _descriptor.EnumDescriptor( + name='RobotSetting', + full_name='Anki.Vector.external_interface.RobotSetting', + filename=None, + file=DESCRIPTOR, + values=[ + _descriptor.EnumValueDescriptor( + name='clock_24_hour', index=0, number=0, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='eye_color', index=1, number=1, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='default_location', index=2, number=2, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='dist_is_metric', index=3, number=3, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='locale', index=4, number=4, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='master_volume', index=5, number=5, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='temp_is_fahrenheit', index=6, number=6, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='time_zone', index=7, number=7, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='button_wakeword', index=8, number=8, + options=None, + type=None), + ], + containing_type=None, + options=None, + serialized_start=2246, + serialized_end=2427, +) +_sym_db.RegisterEnumDescriptor(_ROBOTSETTING) + +RobotSetting = enum_type_wrapper.EnumTypeWrapper(_ROBOTSETTING) +_EYECOLOR = _descriptor.EnumDescriptor( + name='EyeColor', + full_name='Anki.Vector.external_interface.EyeColor', + filename=None, + file=DESCRIPTOR, + values=[ + _descriptor.EnumValueDescriptor( + name='TIP_OVER_TEAL', index=0, number=0, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='OVERFIT_ORANGE', index=1, number=1, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='UNCANNY_YELLOW', index=2, number=2, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='NON_LINEAR_LIME', index=3, number=3, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='SINGULARITY_SAPPHIRE', index=4, number=4, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='FALSE_POSITIVE_PURPLE', index=5, number=5, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='CONFUSION_MATRIX_GREEN', index=6, number=6, + options=None, + type=None), + ], + containing_type=None, + options=None, + serialized_start=2430, + serialized_end=2601, +) +_sym_db.RegisterEnumDescriptor(_EYECOLOR) + +EyeColor = enum_type_wrapper.EnumTypeWrapper(_EYECOLOR) +_BUTTONWAKEWORD = _descriptor.EnumDescriptor( + name='ButtonWakeWord', + full_name='Anki.Vector.external_interface.ButtonWakeWord', + filename=None, + file=DESCRIPTOR, + values=[ + _descriptor.EnumValueDescriptor( + name='BUTTON_WAKEWORD_HEY_VECTOR', index=0, number=0, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='BUTTON_WAKEWORD_ALEXA', index=1, number=1, + options=None, + type=None), + ], + containing_type=None, + options=None, + serialized_start=2603, + serialized_end=2678, +) +_sym_db.RegisterEnumDescriptor(_BUTTONWAKEWORD) + +ButtonWakeWord = enum_type_wrapper.EnumTypeWrapper(_BUTTONWAKEWORD) +_ACCOUNTSETTING = _descriptor.EnumDescriptor( + name='AccountSetting', + full_name='Anki.Vector.external_interface.AccountSetting', + filename=None, + file=DESCRIPTOR, + values=[ + _descriptor.EnumValueDescriptor( + name='DATA_COLLECTION', index=0, number=0, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='APP_LOCALE', index=1, number=1, + options=None, + type=None), + ], + containing_type=None, + options=None, + serialized_start=2680, + serialized_end=2733, +) +_sym_db.RegisterEnumDescriptor(_ACCOUNTSETTING) + +AccountSetting = enum_type_wrapper.EnumTypeWrapper(_ACCOUNTSETTING) +_RESULTCODE = _descriptor.EnumDescriptor( + name='ResultCode', + full_name='Anki.Vector.external_interface.ResultCode', + filename=None, + file=DESCRIPTOR, + values=[ + _descriptor.EnumValueDescriptor( + name='SETTINGS_ACCEPTED', index=0, number=0, + options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='ERROR_UPDATE_IN_PROGRESS', index=1, number=1, + options=None, + type=None), + ], + containing_type=None, + options=None, + serialized_start=2735, + serialized_end=2800, +) +_sym_db.RegisterEnumDescriptor(_RESULTCODE) + +ResultCode = enum_type_wrapper.EnumTypeWrapper(_RESULTCODE) +INVALID = 0 +LATEST = 1 +MUTE = 0 +LOW = 1 +MEDIUM_LOW = 2 +MEDIUM = 3 +MEDIUM_HIGH = 4 +HIGH = 5 +ROBOT_SETTINGS = 0 +ROBOT_LIFETIME_STATS = 1 +ACCOUNT_SETTINGS = 2 +USER_ENTITLEMENTS = 3 +PUSH_TO_CLOUD = 0 +PULL_FROM_CLOUD = 1 +clock_24_hour = 0 +eye_color = 1 +default_location = 2 +dist_is_metric = 3 +locale = 4 +master_volume = 5 +temp_is_fahrenheit = 6 +time_zone = 7 +button_wakeword = 8 +TIP_OVER_TEAL = 0 +OVERFIT_ORANGE = 1 +UNCANNY_YELLOW = 2 +NON_LINEAR_LIME = 3 +SINGULARITY_SAPPHIRE = 4 +FALSE_POSITIVE_PURPLE = 5 +CONFUSION_MATRIX_GREEN = 6 +BUTTON_WAKEWORD_HEY_VECTOR = 0 +BUTTON_WAKEWORD_ALEXA = 1 +DATA_COLLECTION = 0 +APP_LOCALE = 1 +SETTINGS_ACCEPTED = 0 +ERROR_UPDATE_IN_PROGRESS = 1 + + + +_ROBOTSETTINGSCONFIG = _descriptor.Descriptor( + name='RobotSettingsConfig', + full_name='Anki.Vector.external_interface.RobotSettingsConfig', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='clock_24_hour', full_name='Anki.Vector.external_interface.RobotSettingsConfig.clock_24_hour', index=0, + number=1, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='eye_color', full_name='Anki.Vector.external_interface.RobotSettingsConfig.eye_color', index=1, + number=2, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='default_location', full_name='Anki.Vector.external_interface.RobotSettingsConfig.default_location', index=2, + number=3, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='dist_is_metric', full_name='Anki.Vector.external_interface.RobotSettingsConfig.dist_is_metric', index=3, + number=4, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='locale', full_name='Anki.Vector.external_interface.RobotSettingsConfig.locale', index=4, + number=5, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='master_volume', full_name='Anki.Vector.external_interface.RobotSettingsConfig.master_volume', index=5, + number=6, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='temp_is_fahrenheit', full_name='Anki.Vector.external_interface.RobotSettingsConfig.temp_is_fahrenheit', index=6, + number=7, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='time_zone', full_name='Anki.Vector.external_interface.RobotSettingsConfig.time_zone', index=7, + number=8, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='button_wakeword', full_name='Anki.Vector.external_interface.RobotSettingsConfig.button_wakeword', index=8, + number=9, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='oneof_clock_24_hour', full_name='Anki.Vector.external_interface.RobotSettingsConfig.oneof_clock_24_hour', + index=0, containing_type=None, fields=[]), + _descriptor.OneofDescriptor( + name='oneof_eye_color', full_name='Anki.Vector.external_interface.RobotSettingsConfig.oneof_eye_color', + index=1, containing_type=None, fields=[]), + _descriptor.OneofDescriptor( + name='oneof_default_location', full_name='Anki.Vector.external_interface.RobotSettingsConfig.oneof_default_location', + index=2, containing_type=None, fields=[]), + _descriptor.OneofDescriptor( + name='oneof_dist_is_metric', full_name='Anki.Vector.external_interface.RobotSettingsConfig.oneof_dist_is_metric', + index=3, containing_type=None, fields=[]), + _descriptor.OneofDescriptor( + name='oneof_locale', full_name='Anki.Vector.external_interface.RobotSettingsConfig.oneof_locale', + index=4, containing_type=None, fields=[]), + _descriptor.OneofDescriptor( + name='oneof_master_volume', full_name='Anki.Vector.external_interface.RobotSettingsConfig.oneof_master_volume', + index=5, containing_type=None, fields=[]), + _descriptor.OneofDescriptor( + name='oneof_temp_is_fahrenheit', full_name='Anki.Vector.external_interface.RobotSettingsConfig.oneof_temp_is_fahrenheit', + index=6, containing_type=None, fields=[]), + _descriptor.OneofDescriptor( + name='oneof_time_zone', full_name='Anki.Vector.external_interface.RobotSettingsConfig.oneof_time_zone', + index=7, containing_type=None, fields=[]), + _descriptor.OneofDescriptor( + name='oneof_button_wakeword', full_name='Anki.Vector.external_interface.RobotSettingsConfig.oneof_button_wakeword', + index=8, containing_type=None, fields=[]), + ], + serialized_start=118, + serialized_end=693, +) + + +_ACCOUNTSETTINGSCONFIG = _descriptor.Descriptor( + name='AccountSettingsConfig', + full_name='Anki.Vector.external_interface.AccountSettingsConfig', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='data_collection', full_name='Anki.Vector.external_interface.AccountSettingsConfig.data_collection', index=0, + number=1, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='app_locale', full_name='Anki.Vector.external_interface.AccountSettingsConfig.app_locale', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='oneof_data_collection', full_name='Anki.Vector.external_interface.AccountSettingsConfig.oneof_data_collection', + index=0, containing_type=None, fields=[]), + _descriptor.OneofDescriptor( + name='oneof_app_locale', full_name='Anki.Vector.external_interface.AccountSettingsConfig.oneof_app_locale', + index=1, containing_type=None, fields=[]), + ], + serialized_start=695, + serialized_end=812, +) + + +_JDOC = _descriptor.Descriptor( + name='Jdoc', + full_name='Anki.Vector.external_interface.Jdoc', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='doc_version', full_name='Anki.Vector.external_interface.Jdoc.doc_version', index=0, + number=1, type=4, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='fmt_version', full_name='Anki.Vector.external_interface.Jdoc.fmt_version', index=1, + number=2, type=4, cpp_type=4, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='client_metadata', full_name='Anki.Vector.external_interface.Jdoc.client_metadata', index=2, + number=3, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='json_doc', full_name='Anki.Vector.external_interface.Jdoc.json_doc', index=3, + number=4, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=814, + serialized_end=905, +) + + +_NAMEDJDOC = _descriptor.Descriptor( + name='NamedJdoc', + full_name='Anki.Vector.external_interface.NamedJdoc', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='jdoc_type', full_name='Anki.Vector.external_interface.NamedJdoc.jdoc_type', index=0, + number=1, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='doc', full_name='Anki.Vector.external_interface.NamedJdoc.doc', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=907, + serialized_end=1030, +) + + +_PULLJDOCSREQUEST = _descriptor.Descriptor( + name='PullJdocsRequest', + full_name='Anki.Vector.external_interface.PullJdocsRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='jdoc_types', full_name='Anki.Vector.external_interface.PullJdocsRequest.jdoc_types', index=0, + number=1, type=14, cpp_type=8, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1032, + serialized_end=1112, +) + + +_PULLJDOCSRESPONSE = _descriptor.Descriptor( + name='PullJdocsResponse', + full_name='Anki.Vector.external_interface.PullJdocsResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='status', full_name='Anki.Vector.external_interface.PullJdocsResponse.status', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='named_jdocs', full_name='Anki.Vector.external_interface.PullJdocsResponse.named_jdocs', index=1, + number=2, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1115, + serialized_end=1262, +) + + +_UPDATESETTINGSREQUEST = _descriptor.Descriptor( + name='UpdateSettingsRequest', + full_name='Anki.Vector.external_interface.UpdateSettingsRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='settings', full_name='Anki.Vector.external_interface.UpdateSettingsRequest.settings', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1264, + serialized_end=1358, +) + + +_UPDATESETTINGSRESPONSE = _descriptor.Descriptor( + name='UpdateSettingsResponse', + full_name='Anki.Vector.external_interface.UpdateSettingsResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='status', full_name='Anki.Vector.external_interface.UpdateSettingsResponse.status', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='code', full_name='Anki.Vector.external_interface.UpdateSettingsResponse.code', index=1, + number=2, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='doc', full_name='Anki.Vector.external_interface.UpdateSettingsResponse.doc', index=2, + number=3, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1361, + serialized_end=1558, +) + + +_UPDATEACCOUNTSETTINGSREQUEST = _descriptor.Descriptor( + name='UpdateAccountSettingsRequest', + full_name='Anki.Vector.external_interface.UpdateAccountSettingsRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='account_settings', full_name='Anki.Vector.external_interface.UpdateAccountSettingsRequest.account_settings', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1560, + serialized_end=1671, ) +_UPDATEACCOUNTSETTINGSRESPONSE = _descriptor.Descriptor( + name='UpdateAccountSettingsResponse', + full_name='Anki.Vector.external_interface.UpdateAccountSettingsResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='status', full_name='Anki.Vector.external_interface.UpdateAccountSettingsResponse.status', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='code', full_name='Anki.Vector.external_interface.UpdateAccountSettingsResponse.code', index=1, + number=2, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='doc', full_name='Anki.Vector.external_interface.UpdateAccountSettingsResponse.doc', index=2, + number=3, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1674, + serialized_end=1878, +) + +_JDOCSCHANGED = _descriptor.Descriptor( + name='JdocsChanged', + full_name='Anki.Vector.external_interface.JdocsChanged', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='jdoc_types', full_name='Anki.Vector.external_interface.JdocsChanged.jdoc_types', index=0, + number=1, type=14, cpp_type=8, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1880, + serialized_end=1956, +) + +_ROBOTSETTINGSCONFIG.fields_by_name['eye_color'].enum_type = _EYECOLOR +_ROBOTSETTINGSCONFIG.fields_by_name['master_volume'].enum_type = _VOLUME +_ROBOTSETTINGSCONFIG.fields_by_name['button_wakeword'].enum_type = _BUTTONWAKEWORD +_ROBOTSETTINGSCONFIG.oneofs_by_name['oneof_clock_24_hour'].fields.append( + _ROBOTSETTINGSCONFIG.fields_by_name['clock_24_hour']) +_ROBOTSETTINGSCONFIG.fields_by_name['clock_24_hour'].containing_oneof = _ROBOTSETTINGSCONFIG.oneofs_by_name['oneof_clock_24_hour'] +_ROBOTSETTINGSCONFIG.oneofs_by_name['oneof_eye_color'].fields.append( + _ROBOTSETTINGSCONFIG.fields_by_name['eye_color']) +_ROBOTSETTINGSCONFIG.fields_by_name['eye_color'].containing_oneof = _ROBOTSETTINGSCONFIG.oneofs_by_name['oneof_eye_color'] +_ROBOTSETTINGSCONFIG.oneofs_by_name['oneof_default_location'].fields.append( + _ROBOTSETTINGSCONFIG.fields_by_name['default_location']) +_ROBOTSETTINGSCONFIG.fields_by_name['default_location'].containing_oneof = _ROBOTSETTINGSCONFIG.oneofs_by_name['oneof_default_location'] +_ROBOTSETTINGSCONFIG.oneofs_by_name['oneof_dist_is_metric'].fields.append( + _ROBOTSETTINGSCONFIG.fields_by_name['dist_is_metric']) +_ROBOTSETTINGSCONFIG.fields_by_name['dist_is_metric'].containing_oneof = _ROBOTSETTINGSCONFIG.oneofs_by_name['oneof_dist_is_metric'] +_ROBOTSETTINGSCONFIG.oneofs_by_name['oneof_locale'].fields.append( + _ROBOTSETTINGSCONFIG.fields_by_name['locale']) +_ROBOTSETTINGSCONFIG.fields_by_name['locale'].containing_oneof = _ROBOTSETTINGSCONFIG.oneofs_by_name['oneof_locale'] +_ROBOTSETTINGSCONFIG.oneofs_by_name['oneof_master_volume'].fields.append( + _ROBOTSETTINGSCONFIG.fields_by_name['master_volume']) +_ROBOTSETTINGSCONFIG.fields_by_name['master_volume'].containing_oneof = _ROBOTSETTINGSCONFIG.oneofs_by_name['oneof_master_volume'] +_ROBOTSETTINGSCONFIG.oneofs_by_name['oneof_temp_is_fahrenheit'].fields.append( + _ROBOTSETTINGSCONFIG.fields_by_name['temp_is_fahrenheit']) +_ROBOTSETTINGSCONFIG.fields_by_name['temp_is_fahrenheit'].containing_oneof = _ROBOTSETTINGSCONFIG.oneofs_by_name['oneof_temp_is_fahrenheit'] +_ROBOTSETTINGSCONFIG.oneofs_by_name['oneof_time_zone'].fields.append( + _ROBOTSETTINGSCONFIG.fields_by_name['time_zone']) +_ROBOTSETTINGSCONFIG.fields_by_name['time_zone'].containing_oneof = _ROBOTSETTINGSCONFIG.oneofs_by_name['oneof_time_zone'] +_ROBOTSETTINGSCONFIG.oneofs_by_name['oneof_button_wakeword'].fields.append( + _ROBOTSETTINGSCONFIG.fields_by_name['button_wakeword']) +_ROBOTSETTINGSCONFIG.fields_by_name['button_wakeword'].containing_oneof = _ROBOTSETTINGSCONFIG.oneofs_by_name['oneof_button_wakeword'] +_ACCOUNTSETTINGSCONFIG.oneofs_by_name['oneof_data_collection'].fields.append( + _ACCOUNTSETTINGSCONFIG.fields_by_name['data_collection']) +_ACCOUNTSETTINGSCONFIG.fields_by_name['data_collection'].containing_oneof = _ACCOUNTSETTINGSCONFIG.oneofs_by_name['oneof_data_collection'] +_ACCOUNTSETTINGSCONFIG.oneofs_by_name['oneof_app_locale'].fields.append( + _ACCOUNTSETTINGSCONFIG.fields_by_name['app_locale']) +_ACCOUNTSETTINGSCONFIG.fields_by_name['app_locale'].containing_oneof = _ACCOUNTSETTINGSCONFIG.oneofs_by_name['oneof_app_locale'] +_NAMEDJDOC.fields_by_name['jdoc_type'].enum_type = _JDOCTYPE +_NAMEDJDOC.fields_by_name['doc'].message_type = _JDOC +_PULLJDOCSREQUEST.fields_by_name['jdoc_types'].enum_type = _JDOCTYPE +_PULLJDOCSRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS +_PULLJDOCSRESPONSE.fields_by_name['named_jdocs'].message_type = _NAMEDJDOC +_UPDATESETTINGSREQUEST.fields_by_name['settings'].message_type = _ROBOTSETTINGSCONFIG +_UPDATESETTINGSRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS +_UPDATESETTINGSRESPONSE.fields_by_name['code'].enum_type = _RESULTCODE +_UPDATESETTINGSRESPONSE.fields_by_name['doc'].message_type = _JDOC +_UPDATEACCOUNTSETTINGSREQUEST.fields_by_name['account_settings'].message_type = _ACCOUNTSETTINGSCONFIG +_UPDATEACCOUNTSETTINGSRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS +_UPDATEACCOUNTSETTINGSRESPONSE.fields_by_name['code'].enum_type = _RESULTCODE +_UPDATEACCOUNTSETTINGSRESPONSE.fields_by_name['doc'].message_type = _JDOC +_JDOCSCHANGED.fields_by_name['jdoc_types'].enum_type = _JDOCTYPE +DESCRIPTOR.message_types_by_name['RobotSettingsConfig'] = _ROBOTSETTINGSCONFIG +DESCRIPTOR.message_types_by_name['AccountSettingsConfig'] = _ACCOUNTSETTINGSCONFIG +DESCRIPTOR.message_types_by_name['Jdoc'] = _JDOC +DESCRIPTOR.message_types_by_name['NamedJdoc'] = _NAMEDJDOC +DESCRIPTOR.message_types_by_name['PullJdocsRequest'] = _PULLJDOCSREQUEST +DESCRIPTOR.message_types_by_name['PullJdocsResponse'] = _PULLJDOCSRESPONSE +DESCRIPTOR.message_types_by_name['UpdateSettingsRequest'] = _UPDATESETTINGSREQUEST +DESCRIPTOR.message_types_by_name['UpdateSettingsResponse'] = _UPDATESETTINGSRESPONSE +DESCRIPTOR.message_types_by_name['UpdateAccountSettingsRequest'] = _UPDATEACCOUNTSETTINGSREQUEST +DESCRIPTOR.message_types_by_name['UpdateAccountSettingsResponse'] = _UPDATEACCOUNTSETTINGSRESPONSE +DESCRIPTOR.message_types_by_name['JdocsChanged'] = _JDOCSCHANGED +DESCRIPTOR.enum_types_by_name['ApiVersion'] = _APIVERSION +DESCRIPTOR.enum_types_by_name['Volume'] = _VOLUME +DESCRIPTOR.enum_types_by_name['JdocType'] = _JDOCTYPE +DESCRIPTOR.enum_types_by_name['JdocResolveMethod'] = _JDOCRESOLVEMETHOD +DESCRIPTOR.enum_types_by_name['RobotSetting'] = _ROBOTSETTING +DESCRIPTOR.enum_types_by_name['EyeColor'] = _EYECOLOR +DESCRIPTOR.enum_types_by_name['ButtonWakeWord'] = _BUTTONWAKEWORD +DESCRIPTOR.enum_types_by_name['AccountSetting'] = _ACCOUNTSETTING +DESCRIPTOR.enum_types_by_name['ResultCode'] = _RESULTCODE _sym_db.RegisterFileDescriptor(DESCRIPTOR) +RobotSettingsConfig = _reflection.GeneratedProtocolMessageType('RobotSettingsConfig', (_message.Message,), dict( + DESCRIPTOR = _ROBOTSETTINGSCONFIG, + __module__ = 'anki_vector.messaging.settings_pb2' + # @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.RobotSettingsConfig) + )) +_sym_db.RegisterMessage(RobotSettingsConfig) + +AccountSettingsConfig = _reflection.GeneratedProtocolMessageType('AccountSettingsConfig', (_message.Message,), dict( + DESCRIPTOR = _ACCOUNTSETTINGSCONFIG, + __module__ = 'anki_vector.messaging.settings_pb2' + # @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.AccountSettingsConfig) + )) +_sym_db.RegisterMessage(AccountSettingsConfig) + +Jdoc = _reflection.GeneratedProtocolMessageType('Jdoc', (_message.Message,), dict( + DESCRIPTOR = _JDOC, + __module__ = 'anki_vector.messaging.settings_pb2' + # @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.Jdoc) + )) +_sym_db.RegisterMessage(Jdoc) + +NamedJdoc = _reflection.GeneratedProtocolMessageType('NamedJdoc', (_message.Message,), dict( + DESCRIPTOR = _NAMEDJDOC, + __module__ = 'anki_vector.messaging.settings_pb2' + # @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.NamedJdoc) + )) +_sym_db.RegisterMessage(NamedJdoc) + +PullJdocsRequest = _reflection.GeneratedProtocolMessageType('PullJdocsRequest', (_message.Message,), dict( + DESCRIPTOR = _PULLJDOCSREQUEST, + __module__ = 'anki_vector.messaging.settings_pb2' + # @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.PullJdocsRequest) + )) +_sym_db.RegisterMessage(PullJdocsRequest) + +PullJdocsResponse = _reflection.GeneratedProtocolMessageType('PullJdocsResponse', (_message.Message,), dict( + DESCRIPTOR = _PULLJDOCSRESPONSE, + __module__ = 'anki_vector.messaging.settings_pb2' + # @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.PullJdocsResponse) + )) +_sym_db.RegisterMessage(PullJdocsResponse) + +UpdateSettingsRequest = _reflection.GeneratedProtocolMessageType('UpdateSettingsRequest', (_message.Message,), dict( + DESCRIPTOR = _UPDATESETTINGSREQUEST, + __module__ = 'anki_vector.messaging.settings_pb2' + # @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.UpdateSettingsRequest) + )) +_sym_db.RegisterMessage(UpdateSettingsRequest) + +UpdateSettingsResponse = _reflection.GeneratedProtocolMessageType('UpdateSettingsResponse', (_message.Message,), dict( + DESCRIPTOR = _UPDATESETTINGSRESPONSE, + __module__ = 'anki_vector.messaging.settings_pb2' + # @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.UpdateSettingsResponse) + )) +_sym_db.RegisterMessage(UpdateSettingsResponse) + +UpdateAccountSettingsRequest = _reflection.GeneratedProtocolMessageType('UpdateAccountSettingsRequest', (_message.Message,), dict( + DESCRIPTOR = _UPDATEACCOUNTSETTINGSREQUEST, + __module__ = 'anki_vector.messaging.settings_pb2' + # @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.UpdateAccountSettingsRequest) + )) +_sym_db.RegisterMessage(UpdateAccountSettingsRequest) + +UpdateAccountSettingsResponse = _reflection.GeneratedProtocolMessageType('UpdateAccountSettingsResponse', (_message.Message,), dict( + DESCRIPTOR = _UPDATEACCOUNTSETTINGSRESPONSE, + __module__ = 'anki_vector.messaging.settings_pb2' + # @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.UpdateAccountSettingsResponse) + )) +_sym_db.RegisterMessage(UpdateAccountSettingsResponse) + +JdocsChanged = _reflection.GeneratedProtocolMessageType('JdocsChanged', (_message.Message,), dict( + DESCRIPTOR = _JDOCSCHANGED, + __module__ = 'anki_vector.messaging.settings_pb2' + # @@protoc_insertion_point(class_scope:Anki.Vector.external_interface.JdocsChanged) + )) +_sym_db.RegisterMessage(JdocsChanged) + # @@protoc_insertion_point(module_scope) diff --git a/anki_vector/messaging/shared.proto b/anki_vector/messaging/shared.proto index d193d80..70983a2 100644 --- a/anki_vector/messaging/shared.proto +++ b/anki_vector/messaging/shared.proto @@ -20,6 +20,7 @@ package Anki.Vector.external_interface; import "anki_vector/messaging/behavior.proto"; import "anki_vector/messaging/cube.proto"; +import "anki_vector/messaging/alexa.proto"; import "anki_vector/messaging/messages.proto"; import "anki_vector/messaging/settings.proto"; import "anki_vector/messaging/extensions.proto"; @@ -48,7 +49,9 @@ message ConnectionResponse { message Event { oneof event_type { TimeStampedStatus time_stamped_status = 1; + Onboarding onboarding = 2; WakeWord wake_word = 3; + AttentionTransfer attention_transfer = 4; RobotObservedFace robot_observed_face = 5; RobotChangedObservedFaceID robot_changed_observed_face_id = 6; ObjectEvent object_event = 7; @@ -59,8 +62,11 @@ message Event { // Used by Vector to verify the connection is still alive. KeepAlivePing keep_alive = 12; ConnectionResponse connection_response = 13; + JdocsChanged jdocs_changed = 14; + AlexaAuthEvent alexa_auth_event = 15; MirrorModeDisabled mirror_mode_disabled = 16; VisionModesAutoDisabled vision_modes_auto_disabled = 17; + CheckUpdateStatusResponse check_update_status_response = 18; UserIntent user_intent = 19; } } @@ -98,3 +104,4 @@ message UserAuthenticationResponse { bytes client_token_guid = 3; } + diff --git a/anki_vector/messaging/shared_pb2.py b/anki_vector/messaging/shared_pb2.py index a713482..a25a31f 100644 --- a/anki_vector/messaging/shared_pb2.py +++ b/anki_vector/messaging/shared_pb2.py @@ -15,6 +15,7 @@ from anki_vector.messaging import behavior_pb2 as anki__vector_dot_messaging_dot_behavior__pb2 from anki_vector.messaging import cube_pb2 as anki__vector_dot_messaging_dot_cube__pb2 +from anki_vector.messaging import alexa_pb2 as anki__vector_dot_messaging_dot_alexa__pb2 from anki_vector.messaging import messages_pb2 as anki__vector_dot_messaging_dot_messages__pb2 from anki_vector.messaging import settings_pb2 as anki__vector_dot_messaging_dot_settings__pb2 from anki_vector.messaging import extensions_pb2 as anki__vector_dot_messaging_dot_extensions__pb2 @@ -25,9 +26,9 @@ name='anki_vector/messaging/shared.proto', package='Anki.Vector.external_interface', syntax='proto3', - serialized_pb=_b('\n\"anki_vector/messaging/shared.proto\x12\x1e\x41nki.Vector.external_interface\x1a$anki_vector/messaging/behavior.proto\x1a anki_vector/messaging/cube.proto\x1a$anki_vector/messaging/messages.proto\x1a$anki_vector/messaging/settings.proto\x1a&anki_vector/messaging/extensions.proto\x1a+anki_vector/messaging/response_status.proto\"J\n\x16ProtocolVersionRequest\x12\x16\n\x0e\x63lient_version\x18\x01 \x01(\x03\x12\x18\n\x10min_host_version\x18\x02 \x01(\x03\"\xa7\x01\n\x17ProtocolVersionResponse\x12N\n\x06result\x18\x01 \x01(\x0e\x32>.Anki.Vector.external_interface.ProtocolVersionResponse.Result\x12\x14\n\x0chost_version\x18\x02 \x01(\x03\"&\n\x06Result\x12\x0f\n\x0bUNSUPPORTED\x10\x00\x12\x0b\n\x07SUCCESS\x10\x01\"h\n\x12\x43onnectionResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12\x12\n\nis_primary\x18\x02 \x01(\x08\"\xc9\x08\n\x05\x45vent\x12P\n\x13time_stamped_status\x18\x01 \x01(\x0b\x32\x31.Anki.Vector.external_interface.TimeStampedStatusH\x00\x12=\n\twake_word\x18\x03 \x01(\x0b\x32(.Anki.Vector.external_interface.WakeWordH\x00\x12P\n\x13robot_observed_face\x18\x05 \x01(\x0b\x32\x31.Anki.Vector.external_interface.RobotObservedFaceH\x00\x12\x64\n\x1erobot_changed_observed_face_id\x18\x06 \x01(\x0b\x32:.Anki.Vector.external_interface.RobotChangedObservedFaceIDH\x00\x12\x43\n\x0cobject_event\x18\x07 \x01(\x0b\x32+.Anki.Vector.external_interface.ObjectEventH\x00\x12K\n\x10stimulation_info\x18\x08 \x01(\x0b\x32/.Anki.Vector.external_interface.StimulationInfoH\x00\x12\x41\n\x0bphoto_taken\x18\t \x01(\x0b\x32*.Anki.Vector.external_interface.PhotoTakenH\x00\x12\x41\n\x0brobot_state\x18\n \x01(\x0b\x32*.Anki.Vector.external_interface.RobotStateH\x00\x12\x43\n\x0c\x63ube_battery\x18\x0b \x01(\x0b\x32+.Anki.Vector.external_interface.CubeBatteryH\x00\x12\x43\n\nkeep_alive\x18\x0c \x01(\x0b\x32-.Anki.Vector.external_interface.KeepAlivePingH\x00\x12Q\n\x13\x63onnection_response\x18\r \x01(\x0b\x32\x32.Anki.Vector.external_interface.ConnectionResponseH\x00\x12R\n\x14mirror_mode_disabled\x18\x10 \x01(\x0b\x32\x32.Anki.Vector.external_interface.MirrorModeDisabledH\x00\x12]\n\x1avision_modes_auto_disabled\x18\x11 \x01(\x0b\x32\x37.Anki.Vector.external_interface.VisionModesAutoDisabledH\x00\x12\x41\n\x0buser_intent\x18\x13 \x01(\x0b\x32*.Anki.Vector.external_interface.UserIntentH\x00\x42\x0c\n\nevent_type\"\x1a\n\nFilterList\x12\x0c\n\x04list\x18\x01 \x03(\t\"\xb6\x01\n\x0c\x45ventRequest\x12@\n\nwhite_list\x18\x01 \x01(\x0b\x32*.Anki.Vector.external_interface.FilterListH\x00\x12@\n\nblack_list\x18\x02 \x01(\x0b\x32*.Anki.Vector.external_interface.FilterListH\x00\x12\x15\n\rconnection_id\x18\x03 \x01(\tB\x0b\n\tlist_type\"\x8b\x01\n\rEventResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12\x34\n\x05\x65vent\x18\x02 \x01(\x0b\x32%.Anki.Vector.external_interface.Event:\x04\x80\xa6\x1d\x01\"I\n\x19UserAuthenticationRequest\x12\x17\n\x0fuser_session_id\x18\x01 \x01(\x0c\x12\x13\n\x0b\x63lient_name\x18\x02 \x01(\x0c\"\xf0\x01\n\x1aUserAuthenticationResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12M\n\x04\x63ode\x18\x02 \x01(\x0e\x32?.Anki.Vector.external_interface.UserAuthenticationResponse.Code\x12\x19\n\x11\x63lient_token_guid\x18\x03 \x01(\x0c\"(\n\x04\x43ode\x12\x10\n\x0cUNAUTHORIZED\x10\x00\x12\x0e\n\nAUTHORIZED\x10\x01\x62\x06proto3') + serialized_pb=_b('\n\"anki_vector/messaging/shared.proto\x12\x1e\x41nki.Vector.external_interface\x1a$anki_vector/messaging/behavior.proto\x1a anki_vector/messaging/cube.proto\x1a!anki_vector/messaging/alexa.proto\x1a$anki_vector/messaging/messages.proto\x1a$anki_vector/messaging/settings.proto\x1a&anki_vector/messaging/extensions.proto\x1a+anki_vector/messaging/response_status.proto\"J\n\x16ProtocolVersionRequest\x12\x16\n\x0e\x63lient_version\x18\x01 \x01(\x03\x12\x18\n\x10min_host_version\x18\x02 \x01(\x03\"\xa7\x01\n\x17ProtocolVersionResponse\x12N\n\x06result\x18\x01 \x01(\x0e\x32>.Anki.Vector.external_interface.ProtocolVersionResponse.Result\x12\x14\n\x0chost_version\x18\x02 \x01(\x03\"&\n\x06Result\x12\x0f\n\x0bUNSUPPORTED\x10\x00\x12\x0b\n\x07SUCCESS\x10\x01\"h\n\x12\x43onnectionResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12\x12\n\nis_primary\x18\x02 \x01(\x08\"\xd2\x0b\n\x05\x45vent\x12P\n\x13time_stamped_status\x18\x01 \x01(\x0b\x32\x31.Anki.Vector.external_interface.TimeStampedStatusH\x00\x12@\n\nonboarding\x18\x02 \x01(\x0b\x32*.Anki.Vector.external_interface.OnboardingH\x00\x12=\n\twake_word\x18\x03 \x01(\x0b\x32(.Anki.Vector.external_interface.WakeWordH\x00\x12O\n\x12\x61ttention_transfer\x18\x04 \x01(\x0b\x32\x31.Anki.Vector.external_interface.AttentionTransferH\x00\x12P\n\x13robot_observed_face\x18\x05 \x01(\x0b\x32\x31.Anki.Vector.external_interface.RobotObservedFaceH\x00\x12\x64\n\x1erobot_changed_observed_face_id\x18\x06 \x01(\x0b\x32:.Anki.Vector.external_interface.RobotChangedObservedFaceIDH\x00\x12\x43\n\x0cobject_event\x18\x07 \x01(\x0b\x32+.Anki.Vector.external_interface.ObjectEventH\x00\x12K\n\x10stimulation_info\x18\x08 \x01(\x0b\x32/.Anki.Vector.external_interface.StimulationInfoH\x00\x12\x41\n\x0bphoto_taken\x18\t \x01(\x0b\x32*.Anki.Vector.external_interface.PhotoTakenH\x00\x12\x41\n\x0brobot_state\x18\n \x01(\x0b\x32*.Anki.Vector.external_interface.RobotStateH\x00\x12\x43\n\x0c\x63ube_battery\x18\x0b \x01(\x0b\x32+.Anki.Vector.external_interface.CubeBatteryH\x00\x12\x43\n\nkeep_alive\x18\x0c \x01(\x0b\x32-.Anki.Vector.external_interface.KeepAlivePingH\x00\x12Q\n\x13\x63onnection_response\x18\r \x01(\x0b\x32\x32.Anki.Vector.external_interface.ConnectionResponseH\x00\x12\x45\n\rjdocs_changed\x18\x0e \x01(\x0b\x32,.Anki.Vector.external_interface.JdocsChangedH\x00\x12J\n\x10\x61lexa_auth_event\x18\x0f \x01(\x0b\x32..Anki.Vector.external_interface.AlexaAuthEventH\x00\x12R\n\x14mirror_mode_disabled\x18\x10 \x01(\x0b\x32\x32.Anki.Vector.external_interface.MirrorModeDisabledH\x00\x12]\n\x1avision_modes_auto_disabled\x18\x11 \x01(\x0b\x32\x37.Anki.Vector.external_interface.VisionModesAutoDisabledH\x00\x12\x61\n\x1c\x63heck_update_status_response\x18\x12 \x01(\x0b\x32\x39.Anki.Vector.external_interface.CheckUpdateStatusResponseH\x00\x12\x41\n\x0buser_intent\x18\x13 \x01(\x0b\x32*.Anki.Vector.external_interface.UserIntentH\x00\x42\x0c\n\nevent_type\"\x1a\n\nFilterList\x12\x0c\n\x04list\x18\x01 \x03(\t\"\xb6\x01\n\x0c\x45ventRequest\x12@\n\nwhite_list\x18\x01 \x01(\x0b\x32*.Anki.Vector.external_interface.FilterListH\x00\x12@\n\nblack_list\x18\x02 \x01(\x0b\x32*.Anki.Vector.external_interface.FilterListH\x00\x12\x15\n\rconnection_id\x18\x03 \x01(\tB\x0b\n\tlist_type\"\x8b\x01\n\rEventResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12\x34\n\x05\x65vent\x18\x02 \x01(\x0b\x32%.Anki.Vector.external_interface.Event:\x04\x80\xa6\x1d\x01\"I\n\x19UserAuthenticationRequest\x12\x17\n\x0fuser_session_id\x18\x01 \x01(\x0c\x12\x13\n\x0b\x63lient_name\x18\x02 \x01(\x0c\"\xf0\x01\n\x1aUserAuthenticationResponse\x12>\n\x06status\x18\x01 \x01(\x0b\x32..Anki.Vector.external_interface.ResponseStatus\x12M\n\x04\x63ode\x18\x02 \x01(\x0e\x32?.Anki.Vector.external_interface.UserAuthenticationResponse.Code\x12\x19\n\x11\x63lient_token_guid\x18\x03 \x01(\x0c\"(\n\x04\x43ode\x12\x10\n\x0cUNAUTHORIZED\x10\x00\x12\x0e\n\nAUTHORIZED\x10\x01\x62\x06proto3') , - dependencies=[anki__vector_dot_messaging_dot_behavior__pb2.DESCRIPTOR,anki__vector_dot_messaging_dot_cube__pb2.DESCRIPTOR,anki__vector_dot_messaging_dot_messages__pb2.DESCRIPTOR,anki__vector_dot_messaging_dot_settings__pb2.DESCRIPTOR,anki__vector_dot_messaging_dot_extensions__pb2.DESCRIPTOR,anki__vector_dot_messaging_dot_response__status__pb2.DESCRIPTOR,]) + dependencies=[anki__vector_dot_messaging_dot_behavior__pb2.DESCRIPTOR,anki__vector_dot_messaging_dot_cube__pb2.DESCRIPTOR,anki__vector_dot_messaging_dot_alexa__pb2.DESCRIPTOR,anki__vector_dot_messaging_dot_messages__pb2.DESCRIPTOR,anki__vector_dot_messaging_dot_settings__pb2.DESCRIPTOR,anki__vector_dot_messaging_dot_extensions__pb2.DESCRIPTOR,anki__vector_dot_messaging_dot_response__status__pb2.DESCRIPTOR,]) @@ -48,8 +49,8 @@ ], containing_type=None, options=None, - serialized_start=509, - serialized_end=547, + serialized_start=544, + serialized_end=582, ) _sym_db.RegisterEnumDescriptor(_PROTOCOLVERSIONRESPONSE_RESULT) @@ -70,8 +71,8 @@ ], containing_type=None, options=None, - serialized_start=2386, - serialized_end=2426, + serialized_start=2814, + serialized_end=2854, ) _sym_db.RegisterEnumDescriptor(_USERAUTHENTICATIONRESPONSE_CODE) @@ -109,8 +110,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=303, - serialized_end=377, + serialized_start=338, + serialized_end=412, ) @@ -148,8 +149,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=380, - serialized_end=547, + serialized_start=415, + serialized_end=582, ) @@ -186,8 +187,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=549, - serialized_end=653, + serialized_start=584, + serialized_end=688, ) @@ -206,91 +207,126 @@ is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='wake_word', full_name='Anki.Vector.external_interface.Event.wake_word', index=1, + name='onboarding', full_name='Anki.Vector.external_interface.Event.onboarding', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='wake_word', full_name='Anki.Vector.external_interface.Event.wake_word', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='robot_observed_face', full_name='Anki.Vector.external_interface.Event.robot_observed_face', index=2, + name='attention_transfer', full_name='Anki.Vector.external_interface.Event.attention_transfer', index=3, + number=4, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='robot_observed_face', full_name='Anki.Vector.external_interface.Event.robot_observed_face', index=4, number=5, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='robot_changed_observed_face_id', full_name='Anki.Vector.external_interface.Event.robot_changed_observed_face_id', index=3, + name='robot_changed_observed_face_id', full_name='Anki.Vector.external_interface.Event.robot_changed_observed_face_id', index=5, number=6, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='object_event', full_name='Anki.Vector.external_interface.Event.object_event', index=4, + name='object_event', full_name='Anki.Vector.external_interface.Event.object_event', index=6, number=7, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='stimulation_info', full_name='Anki.Vector.external_interface.Event.stimulation_info', index=5, + name='stimulation_info', full_name='Anki.Vector.external_interface.Event.stimulation_info', index=7, number=8, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='photo_taken', full_name='Anki.Vector.external_interface.Event.photo_taken', index=6, + name='photo_taken', full_name='Anki.Vector.external_interface.Event.photo_taken', index=8, number=9, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='robot_state', full_name='Anki.Vector.external_interface.Event.robot_state', index=7, + name='robot_state', full_name='Anki.Vector.external_interface.Event.robot_state', index=9, number=10, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='cube_battery', full_name='Anki.Vector.external_interface.Event.cube_battery', index=8, + name='cube_battery', full_name='Anki.Vector.external_interface.Event.cube_battery', index=10, number=11, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='keep_alive', full_name='Anki.Vector.external_interface.Event.keep_alive', index=9, + name='keep_alive', full_name='Anki.Vector.external_interface.Event.keep_alive', index=11, number=12, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='connection_response', full_name='Anki.Vector.external_interface.Event.connection_response', index=10, + name='connection_response', full_name='Anki.Vector.external_interface.Event.connection_response', index=12, number=13, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='mirror_mode_disabled', full_name='Anki.Vector.external_interface.Event.mirror_mode_disabled', index=11, + name='jdocs_changed', full_name='Anki.Vector.external_interface.Event.jdocs_changed', index=13, + number=14, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='alexa_auth_event', full_name='Anki.Vector.external_interface.Event.alexa_auth_event', index=14, + number=15, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='mirror_mode_disabled', full_name='Anki.Vector.external_interface.Event.mirror_mode_disabled', index=15, number=16, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='vision_modes_auto_disabled', full_name='Anki.Vector.external_interface.Event.vision_modes_auto_disabled', index=12, + name='vision_modes_auto_disabled', full_name='Anki.Vector.external_interface.Event.vision_modes_auto_disabled', index=16, number=17, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='user_intent', full_name='Anki.Vector.external_interface.Event.user_intent', index=13, + name='check_update_status_response', full_name='Anki.Vector.external_interface.Event.check_update_status_response', index=17, + number=18, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='user_intent', full_name='Anki.Vector.external_interface.Event.user_intent', index=18, number=19, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, @@ -311,8 +347,8 @@ name='event_type', full_name='Anki.Vector.external_interface.Event.event_type', index=0, containing_type=None, fields=[]), ], - serialized_start=656, - serialized_end=1753, + serialized_start=691, + serialized_end=2181, ) @@ -342,8 +378,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1755, - serialized_end=1781, + serialized_start=2183, + serialized_end=2209, ) @@ -390,8 +426,8 @@ name='list_type', full_name='Anki.Vector.external_interface.EventRequest.list_type', index=0, containing_type=None, fields=[]), ], - serialized_start=1784, - serialized_end=1966, + serialized_start=2212, + serialized_end=2394, ) @@ -428,8 +464,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=1969, - serialized_end=2108, + serialized_start=2397, + serialized_end=2536, ) @@ -466,8 +502,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2110, - serialized_end=2183, + serialized_start=2538, + serialized_end=2611, ) @@ -512,15 +548,17 @@ extension_ranges=[], oneofs=[ ], - serialized_start=2186, - serialized_end=2426, + serialized_start=2614, + serialized_end=2854, ) _PROTOCOLVERSIONRESPONSE.fields_by_name['result'].enum_type = _PROTOCOLVERSIONRESPONSE_RESULT _PROTOCOLVERSIONRESPONSE_RESULT.containing_type = _PROTOCOLVERSIONRESPONSE _CONNECTIONRESPONSE.fields_by_name['status'].message_type = anki__vector_dot_messaging_dot_response__status__pb2._RESPONSESTATUS _EVENT.fields_by_name['time_stamped_status'].message_type = anki__vector_dot_messaging_dot_messages__pb2._TIMESTAMPEDSTATUS +_EVENT.fields_by_name['onboarding'].message_type = anki__vector_dot_messaging_dot_messages__pb2._ONBOARDING _EVENT.fields_by_name['wake_word'].message_type = anki__vector_dot_messaging_dot_messages__pb2._WAKEWORD +_EVENT.fields_by_name['attention_transfer'].message_type = anki__vector_dot_messaging_dot_messages__pb2._ATTENTIONTRANSFER _EVENT.fields_by_name['robot_observed_face'].message_type = anki__vector_dot_messaging_dot_messages__pb2._ROBOTOBSERVEDFACE _EVENT.fields_by_name['robot_changed_observed_face_id'].message_type = anki__vector_dot_messaging_dot_messages__pb2._ROBOTCHANGEDOBSERVEDFACEID _EVENT.fields_by_name['object_event'].message_type = anki__vector_dot_messaging_dot_cube__pb2._OBJECTEVENT @@ -530,15 +568,24 @@ _EVENT.fields_by_name['cube_battery'].message_type = anki__vector_dot_messaging_dot_messages__pb2._CUBEBATTERY _EVENT.fields_by_name['keep_alive'].message_type = anki__vector_dot_messaging_dot_messages__pb2._KEEPALIVEPING _EVENT.fields_by_name['connection_response'].message_type = _CONNECTIONRESPONSE +_EVENT.fields_by_name['jdocs_changed'].message_type = anki__vector_dot_messaging_dot_settings__pb2._JDOCSCHANGED +_EVENT.fields_by_name['alexa_auth_event'].message_type = anki__vector_dot_messaging_dot_alexa__pb2._ALEXAAUTHEVENT _EVENT.fields_by_name['mirror_mode_disabled'].message_type = anki__vector_dot_messaging_dot_messages__pb2._MIRRORMODEDISABLED _EVENT.fields_by_name['vision_modes_auto_disabled'].message_type = anki__vector_dot_messaging_dot_messages__pb2._VISIONMODESAUTODISABLED +_EVENT.fields_by_name['check_update_status_response'].message_type = anki__vector_dot_messaging_dot_messages__pb2._CHECKUPDATESTATUSRESPONSE _EVENT.fields_by_name['user_intent'].message_type = anki__vector_dot_messaging_dot_messages__pb2._USERINTENT _EVENT.oneofs_by_name['event_type'].fields.append( _EVENT.fields_by_name['time_stamped_status']) _EVENT.fields_by_name['time_stamped_status'].containing_oneof = _EVENT.oneofs_by_name['event_type'] +_EVENT.oneofs_by_name['event_type'].fields.append( + _EVENT.fields_by_name['onboarding']) +_EVENT.fields_by_name['onboarding'].containing_oneof = _EVENT.oneofs_by_name['event_type'] _EVENT.oneofs_by_name['event_type'].fields.append( _EVENT.fields_by_name['wake_word']) _EVENT.fields_by_name['wake_word'].containing_oneof = _EVENT.oneofs_by_name['event_type'] +_EVENT.oneofs_by_name['event_type'].fields.append( + _EVENT.fields_by_name['attention_transfer']) +_EVENT.fields_by_name['attention_transfer'].containing_oneof = _EVENT.oneofs_by_name['event_type'] _EVENT.oneofs_by_name['event_type'].fields.append( _EVENT.fields_by_name['robot_observed_face']) _EVENT.fields_by_name['robot_observed_face'].containing_oneof = _EVENT.oneofs_by_name['event_type'] @@ -566,12 +613,21 @@ _EVENT.oneofs_by_name['event_type'].fields.append( _EVENT.fields_by_name['connection_response']) _EVENT.fields_by_name['connection_response'].containing_oneof = _EVENT.oneofs_by_name['event_type'] +_EVENT.oneofs_by_name['event_type'].fields.append( + _EVENT.fields_by_name['jdocs_changed']) +_EVENT.fields_by_name['jdocs_changed'].containing_oneof = _EVENT.oneofs_by_name['event_type'] +_EVENT.oneofs_by_name['event_type'].fields.append( + _EVENT.fields_by_name['alexa_auth_event']) +_EVENT.fields_by_name['alexa_auth_event'].containing_oneof = _EVENT.oneofs_by_name['event_type'] _EVENT.oneofs_by_name['event_type'].fields.append( _EVENT.fields_by_name['mirror_mode_disabled']) _EVENT.fields_by_name['mirror_mode_disabled'].containing_oneof = _EVENT.oneofs_by_name['event_type'] _EVENT.oneofs_by_name['event_type'].fields.append( _EVENT.fields_by_name['vision_modes_auto_disabled']) _EVENT.fields_by_name['vision_modes_auto_disabled'].containing_oneof = _EVENT.oneofs_by_name['event_type'] +_EVENT.oneofs_by_name['event_type'].fields.append( + _EVENT.fields_by_name['check_update_status_response']) +_EVENT.fields_by_name['check_update_status_response'].containing_oneof = _EVENT.oneofs_by_name['event_type'] _EVENT.oneofs_by_name['event_type'].fields.append( _EVENT.fields_by_name['user_intent']) _EVENT.fields_by_name['user_intent'].containing_oneof = _EVENT.oneofs_by_name['event_type'] diff --git a/docs/source/proto.html b/docs/source/proto.html index 91adc02..073c622 100644 --- a/docs/source/proto.html +++ b/docs/source/proto.html @@ -416,6 +416,22 @@

Table of Contents

MAnimationTrigger +
  • + MAppDisconnected +
  • + +
  • + MAppIntentRequest +
  • + +
  • + MAppIntentResponse +
  • + +
  • + MAttentionTransfer +
  • +
  • MAudioChunk
  • @@ -476,6 +492,22 @@

    Table of Contents

    MCaptureSingleImageResponse +
  • + MCheckCloudRequest +
  • + +
  • + MCheckCloudResponse +
  • + +
  • + MCheckUpdateStatusRequest +
  • + +
  • + MCheckUpdateStatusResponse +
  • +
  • MCladPoint
  • @@ -640,6 +672,26 @@

    Table of Contents

    MFaceEnrollmentCompleted +
  • + MFeatureFlagListRequest +
  • + +
  • + MFeatureFlagListResponse +
  • + +
  • + MFeatureFlagRequest +
  • + +
  • + MFeatureFlagResponse +
  • + +
  • + MFeatureStatus +
  • +
  • MFindFacesRequest
  • @@ -684,6 +736,18 @@

    Table of Contents

    MKeepAlivePing +
  • + MLatestAttentionTransfer +
  • + +
  • + MLatestAttentionTransferRequest +
  • + +
  • + MLatestAttentionTransferResponse +
  • +
  • MListAnimationTriggersRequest
  • @@ -748,6 +812,98 @@

    Table of Contents

    MMoveLiftResponse +
  • + MOnboarding +
  • + +
  • + MOnboarding1p0ChargingInfo +
  • + +
  • + MOnboardingChargeInfoRequest +
  • + +
  • + MOnboardingChargeInfoResponse +
  • + +
  • + MOnboardingCompleteRequest +
  • + +
  • + MOnboardingCompleteResponse +
  • + +
  • + MOnboardingInputRequest +
  • + +
  • + MOnboardingInputResponse +
  • + +
  • + MOnboardingMarkCompleteAndExit +
  • + +
  • + MOnboardingPhaseProgressRequest +
  • + +
  • + MOnboardingPhaseProgressResponse +
  • + +
  • + MOnboardingRestart +
  • + +
  • + MOnboardingSetPhaseRequest +
  • + +
  • + MOnboardingSetPhaseResponse +
  • + +
  • + MOnboardingSkipOnboarding +
  • + +
  • + MOnboardingState +
  • + +
  • + MOnboardingStateRequest +
  • + +
  • + MOnboardingStateResponse +
  • + +
  • + MOnboardingWakeUpFinished +
  • + +
  • + MOnboardingWakeUpRequest +
  • + +
  • + MOnboardingWakeUpResponse +
  • + +
  • + MOnboardingWakeUpStartedRequest +
  • + +
  • + MOnboardingWakeUpStartedResponse +
  • +
  • MPathMotionProfile
  • @@ -836,6 +992,14 @@

    Table of Contents

    MRobotChangedObservedFaceID +
  • + MRobotHistoryRequest +
  • + +
  • + MRobotHistoryResponse +
  • +
  • MRobotObservedFace
  • @@ -964,6 +1128,14 @@

    Table of Contents

    MTurnTowardsFaceResponse +
  • + MUpdateAndRestartRequest +
  • + +
  • + MUpdateAndRestartResponse +
  • +
  • MUpdateEnrolledFaceByIDRequest
  • @@ -1013,6 +1185,10 @@

    Table of Contents

    EAlignmentType +
  • + EAttentionTransferReason +
  • +
  • EAudioConstants
  • @@ -1029,6 +1205,14 @@

    Table of Contents

    EBehaviorResults +
  • + ECheckCloudResponse.ConnectionCode +
  • + +
  • + ECheckUpdateStatusResponse.UpdateStatus +
  • +
  • ECubeBattery.CubeBatteryLevel
  • @@ -1049,6 +1233,18 @@

    Table of Contents

    EMasterVolumeLevel +
  • + EOnboardingPhase +
  • + +
  • + EOnboardingPhaseState +
  • + +
  • + EOnboardingStages +
  • +
  • ERobotStatus
  • @@ -3405,6 +3601,82 @@

    ExternalInterface

    Stream navigation map data.

    + + AppIntent +

    + + + + GetOnboardingState +

    + + + + SendOnboardingInput +

    + + + + GetLatestAttentionTransfer +

    + + + + PullJdocs +

    + + + + UpdateSettings +

    + + + + UpdateAccountSettings +

    + + + + StartUpdateEngine +

    StartUpdateEngine cycles the update-engine service (to start a new check for an update) and sets up a stream of +UpdateStatusResponse Events.

    + + + + CheckUpdateStatus +

    CheckUpdateStatus tells if the robot is ready to reboot and update.

    + + + + UpdateAndRestart +

    + + + + CheckCloudConnection +

    + + + + GetFeatureFlag +

    + + + + GetFeatureFlagList +

    + + + + GetAlexaAuthState +

    + + + + AlexaOptIn +

    + +

    @@ -3454,7 +3726,8 @@

    AccelData

    ActionResult

    - The possible results of running an action. + These codes are duplicated from actionResults.clad file and need to be kept in sync +The possible results of running an action.

    @@ -3525,8 +3798,16 @@

    AnimationTrigger

    -

    AudioChunk

    - One frame of robot audio data and associated metadata +

    AppDisconnected

    + +

    + + + + + +

    AppIntentRequest

    +

    @@ -3537,33 +3818,117 @@

    AudioChunk

    - robot_time_stamp - uint32 -

    robot time at the final chunk of this audio sample group transmission

    + intent + string +

    - group_id - uint32 -

    the id of this sample transmission group

    + param + string +

    - - chunk_id - uint32 -

    the current batched chunk id within in this group id

    - + + +

    + + + + +

    AppIntentResponse

    + +

    + + + + + + + - - - + + + - - - - + +
    FieldTypeDescription
    audio_chunk_countuint32

    number of chunks batched within this group id

    statusResponseStatus

    signal_powerbytes

    mono audio amplitude samples

    +

    + + + + +

    AttentionTransfer

    + +

    + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    reasonAttentionTransferReason

    seconds_agofloat

    +

    + + + + +

    AudioChunk

    + One frame of robot audio data and associated metadata +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3967,6 +4332,118 @@

    CaptureSingle +

    CheckCloudRequest

    + +

    + + + + + +

    CheckCloudResponse

    + +

    + + +
    FieldTypeDescription
    robot_time_stampuint32

    robot time at the final chunk of this audio sample group transmission

    group_iduint32

    the id of this sample transmission group

    chunk_iduint32

    the current batched chunk id within in this group id

    audio_chunk_countuint32

    number of chunks batched within this group id

    signal_powerbytes

    mono audio amplitude samples

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    statusResponseStatus

    codeCheckCloudResponse.ConnectionCode

    status_messagestring

    num_packetsint32

    expected_packetsint32

    +

    + + + + +

    CheckUpdateStatusRequest

    + +

    + + + + + +

    CheckUpdateStatusResponse

    + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    statusResponseStatus

    update_statusCheckUpdateStatusResponse.UpdateStatus

    expectedint64

    progressint64

    update_versionstring

    +

    + + + +

    CladPoint

    @@ -5098,15 +5575,31 @@

    FaceEnrollmentCo -

    FindFacesRequest

    +

    FeatureFlagListRequest

    + + + + + + + + + + + + + +
    FieldTypeDescription
    request_liststring repeated

    +

    + -

    FindFacesResponse

    +

    FeatureFlagListResponse

    @@ -5124,8 +5617,8 @@

    FindFacesResponse

    - result - BehaviorResults + list + string repeated

    @@ -5136,8 +5629,8 @@

    FindFacesResponse

    -

    GoToObjectRequest

    - GoToObject +

    FeatureFlagRequest

    +

    @@ -5148,38 +5641,44 @@

    GoToObjectRequest

    - object_id - int32 + feature_name + string

    - - motion_prof - PathMotionProfile -

    - + + +

    + + + + +

    FeatureFlagResponse

    + +

    + + + + + + + - - + + - + - - - - - - - - + + @@ -5190,7 +5689,7 @@

    GoToObjectRequest

    -

    GoToObjectResponse

    +

    FeatureStatus

    @@ -5202,15 +5701,15 @@

    GoToObjectResponse

    - - + + - - - + + + @@ -5220,8 +5719,16 @@

    GoToObjectResponseGoToPoseRequest

    - GotoPose +

    FindFacesRequest

    + +

    + + + + + +

    FindFacesResponse

    +

    @@ -5232,9 +5739,123 @@

    GoToPoseRequest

    - - - + + + + + + + + + + + + +
    FieldTypeDescription
    distance_from_object_origin_mmfloat statusResponseStatus

    use_pre_dock_posevalid_feature bool

    id_tagint32

    num_retriesint32 feature_enabledbool

    statusResponseStatus feature_namestring

    resultActionResult

    sourcestring

    Voice, App, AI, Unknown

    x_mmfloat

    statusResponseStatus

    resultBehaviorResults

    +

    + + + + +

    GoToObjectRequest

    + GoToObject +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    object_idint32

    motion_profPathMotionProfile

    distance_from_object_origin_mmfloat

    use_pre_dock_posebool

    id_tagint32

    num_retriesint32

    +

    + + + + +

    GoToObjectResponse

    + +

    + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    statusResponseStatus

    resultActionResult

    +

    + + + + +

    GoToPoseRequest

    + GotoPose +

    + + + + + + + + + + + + @@ -5453,16 +6074,537 @@

    KeepAlivePing

    -

    ListAnimationTriggersRequest

    - See ListAnimationTriggers rpc for more details. +

    LatestAttentionTransfer

    + +

    + + +
    FieldTypeDescription
    x_mmfloat

    + + + + + + + + + + + + +
    FieldTypeDescription
    attention_transferAttentionTransfer

    +

    + + + + +

    LatestAttentionTransferRequest

    + +

    + + + + + +

    LatestAttentionTransferResponse

    + +

    + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    statusResponseStatus

    latest_attention_transferLatestAttentionTransfer

    +

    + + + + +

    ListAnimationTriggersRequest

    + See ListAnimationTriggers rpc for more details. +

    + + + + + +

    ListAnimationTriggersResponse

    + See ListAnimationTriggers rpc for more details. +

    + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    statusResponseStatus

    A generic status.

    animation_trigger_namesAnimationTrigger repeated

    The animation triggers that Vector knows.

    +

    + + + + +

    ListAnimationsRequest

    + See ListAnimations rpc for more details. +

    + + + + + +

    ListAnimationsResponse

    + See ListAnimations rpc for more details. +

    + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    statusResponseStatus

    A generic status.

    animation_namesAnimation repeated

    The animations that Vector knows.

    +

    + + + + +

    LoadedKnownFace

    + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    seconds_since_first_enrolledint64

    seconds_since_last_updatedint64

    seconds_since_last_seenint64

    last_seen_seconds_since_epochint64

    face_idint32

    namestring

    +

    + + + + +

    LookAroundInPlaceRequest

    + +

    + + + + + +

    LookAroundInPlaceResponse

    + +

    + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    statusResponseStatus

    resultBehaviorResults

    +

    + + + + +

    MasterVolumeRequest

    + +

    + + + + + + + + + + + + + + + +
    FieldTypeDescription
    volume_levelMasterVolumeLevel

    +

    + + + + +

    MasterVolumeResponse

    + +

    + + + + + + + + + + + + + + + +
    FieldTypeDescription
    statusResponseStatus

    +

    + + + + +

    MeetVictorFaceScanComplete

    + +

    + + + + + +

    MeetVictorFaceScanStarted

    + +

    + + + + + +

    MirrorModeDisabled

    + Sent if MirrorMode (camera feed displayed on face) is currently enabled but is automatically +being disabled +

    + + + + + +

    MoveHeadRequest

    + See the MoveHead rpc for more details. +

    + + + + + + + + + + + + + + + +
    FieldTypeDescription
    speed_rad_per_secfloat

    +

    + + + + +

    MoveHeadResponse

    + See the MoveHead rpc for more details. +

    + + + + + + + + + + + + + + + +
    FieldTypeDescription
    statusResponseStatus

    A generic status.

    +

    + + + + +

    MoveLiftRequest

    + See the MoveLift rpc for more details. +

    + + + + + + + + + + + + + + + +
    FieldTypeDescription
    speed_rad_per_secfloat

    +

    + + + + +

    MoveLiftResponse

    + See the MoveLift rpc for more details. +

    + + + + + + + + + + + + + + + +
    FieldTypeDescription
    statusResponseStatus

    A generic status.

    +

    + + + + +

    Onboarding

    + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    onboarding_stateOnboardingState

    onboarding_wake_up_finishedOnboardingWakeUpFinished

    onboarding_1p0_charging_infoOnboarding1p0ChargingInfo

    1p0 backward compatibility messages ^^^

    +

    + + + + +

    Onboarding1p0ChargingInfo

    + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    on_chargerbool

    needs_to_chargebool

    suggested_charger_timefloat

    +

    + + + + +

    OnboardingChargeInfoRequest

    + +

    + + + + + +

    OnboardingChargeInfoResponse

    + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldTypeDescription
    statusResponseStatus

    on_chargerbool

    needs_to_chargebool

    required_charge_timefloat

    +

    + + + + +

    OnboardingCompleteRequest

    + 1p0 backward compatibility messages - - - - -

    -

    ListAnimationTriggersResponse

    - See ListAnimationTriggers rpc for more details. +

    OnboardingCompleteResponse

    +

    @@ -5473,15 +6615,9 @@

    ListAnimat - status - ResponseStatus -

    A generic status.

    - - - - animation_trigger_names - AnimationTrigger repeated -

    The animation triggers that Vector knows.

    + completed + bool +

    @@ -5491,16 +6627,8 @@

    ListAnimat -

    ListAnimationsRequest

    - See ListAnimations rpc for more details. -

    - - - +

    OnboardingInputRequest

    - -

    ListAnimationsResponse

    - See ListAnimations rpc for more details.

    @@ -5511,15 +6639,57 @@

    ListAnimationsRes - status - ResponseStatus -

    A generic status.

    + onboarding_complete_request + OnboardingCompleteRequest +

    - animation_names - Animation repeated -

    The animations that Vector knows.

    + onboarding_wake_up_request + OnboardingWakeUpRequest +

    + + + + onboarding_skip_onboarding + OnboardingSkipOnboarding +

    + + + + onboarding_restart + OnboardingRestart +

    + + + + onboarding_wake_up_started_request + OnboardingWakeUpStartedRequest +

    + + + + onboarding_set_phase_request + OnboardingSetPhaseRequest +

    1p0 backward compatibility messages ^^^

    + + + + onboarding_phase_progress_request + OnboardingPhaseProgressRequest +

    + + + + onboarding_charge_info_request + OnboardingChargeInfoRequest +

    + + + + onboarding_mark_complete_and_exit + OnboardingMarkCompleteAndExit +

    @@ -5529,7 +6699,7 @@

    ListAnimationsRes -

    LoadedKnownFace

    +

    OnboardingInputResponse

    @@ -5541,38 +6711,44 @@

    LoadedKnownFace

    - seconds_since_first_enrolled - int64 + status + ResponseStatus

    - seconds_since_last_updated - int64 + onboarding_complete_response + OnboardingCompleteResponse

    - seconds_since_last_seen - int64 + onboarding_wake_up_response + OnboardingWakeUpResponse

    - last_seen_seconds_since_epoch - int64 + onboarding_wake_up_started_response + OnboardingWakeUpStartedResponse

    - face_id - int32 + onboarding_set_phase_response + OnboardingSetPhaseResponse +

    1p0 backward compatibility messages ^^^

    + + + + onboarding_phase_progress_response + OnboardingPhaseProgressResponse

    - name - string + onboarding_charge_info_response + OnboardingChargeInfoResponse

    @@ -5583,7 +6759,7 @@

    LoadedKnownFace

    -

    LookAroundInPlaceRequest

    +

    OnboardingMarkCompleteAndExit

    @@ -5591,7 +6767,15 @@

    LookAroundInPla -

    LookAroundInPlaceResponse

    +

    OnboardingPhaseProgressRequest

    + +

    + + + + + +

    OnboardingPhaseProgressResponse

    @@ -5609,8 +6793,20 @@

    LookAroundInPl - result - BehaviorResults + last_set_phase + OnboardingPhase +

    + + + + last_set_phase_state + OnboardingPhaseState +

    + + + + percent_completed + int32

    @@ -5621,7 +6817,15 @@

    LookAroundInPl -

    MasterVolumeRequest

    +

    OnboardingRestart

    + +

    + + + + + +

    OnboardingSetPhaseRequest

    @@ -5633,8 +6837,8 @@

    MasterVolumeRequest< - volume_level - MasterVolumeLevel + phase + OnboardingPhase

    @@ -5645,7 +6849,7 @@

    MasterVolumeRequest< -

    MasterVolumeResponse

    +

    OnboardingSetPhaseResponse

    @@ -5662,6 +6866,18 @@

    MasterVolumeRespons

    + + phase + OnboardingPhase +

    + + + + phase_state + OnboardingPhaseState +

    + +

    @@ -5669,15 +6885,7 @@

    MasterVolumeRespons -

    MeetVictorFaceScanComplete

    - -

    - - - - - -

    MeetVictorFaceScanStarted

    +

    OnboardingSkipOnboarding

    @@ -5685,17 +6893,8 @@

    MeetVictorFace -

    MirrorModeDisabled

    - Sent if MirrorMode (camera feed displayed on face) is currently enabled but is automatically -being disabled -

    - +

    OnboardingState

    - - - -

    MoveHeadRequest

    - See the MoveHead rpc for more details.

    @@ -5706,8 +6905,8 @@

    MoveHeadRequest

    - speed_rad_per_sec - float + stage + OnboardingStages

    @@ -5718,8 +6917,16 @@

    MoveHeadRequest

    -

    MoveHeadResponse

    - See the MoveHead rpc for more details. +

    OnboardingStateRequest

    + +

    + + + + + +

    OnboardingStateResponse

    +

    @@ -5732,7 +6939,13 @@

    MoveHeadResponse

    status ResponseStatus -

    A generic status.

    +

    + + + + onboarding_state + OnboardingState +

    @@ -5742,8 +6955,24 @@

    MoveHeadResponse

    -

    MoveLiftRequest

    - See the MoveLift rpc for more details. +

    OnboardingWakeUpFinished

    + +

    + + + + + +

    OnboardingWakeUpRequest

    + +

    + + + + + +

    OnboardingWakeUpResponse

    +

    @@ -5754,8 +6983,14 @@

    MoveLiftRequest

    - speed_rad_per_sec - float + waking_up + bool +

    + + + + charging_info + Onboarding1p0ChargingInfo

    @@ -5766,8 +7001,16 @@

    MoveLiftRequest

    -

    MoveLiftResponse

    - See the MoveLift rpc for more details. +

    OnboardingWakeUpStartedRequest

    + +

    + + + + + +

    OnboardingWakeUpStartedResponse

    +

    @@ -5778,9 +7021,9 @@

    MoveLiftResponse

    - status - ResponseStatus -

    A generic status.

    + already_started + bool +

    @@ -6631,6 +7874,38 @@

    RobotChangedO +

    RobotHistoryRequest

    + +

    + + + + + +

    RobotHistoryResponse

    + +

    + + + + + + + + + + + + + + + +
    FieldTypeDescription
    messagesTimeStampedStatus repeated

    +

    + + + +

    RobotObservedFace

    @@ -7442,6 +8717,12 @@

    Status

    + + feature_status + FeatureStatus +

    + + meet_victor_face_scan_started MeetVictorFaceScanStarted @@ -7828,14 +9109,44 @@

    TurnTowardsFaceRe - id_tag - int32 + id_tag + int32 +

    + + + + num_retries + int32 +

    + + + + +

    + + + + +

    TurnTowardsFaceResponse

    + +

    + + + + + + + + + + + - - + + @@ -7846,7 +9157,15 @@

    TurnTowardsFaceRe -

    TurnTowardsFaceResponse

    +

    UpdateAndRestartRequest

    + +

    + + + + + +

    UpdateAndRestartResponse

    @@ -7863,12 +9182,6 @@

    TurnTowardsFaceR

    - - - - - -
    FieldTypeDescription
    statusResponseStatus

    num_retriesint32 resultActionResult

    resultActionResult

    @@ -8491,6 +9804,42 @@

    AlignmentType

    +

    AttentionTransferReason

    + NOTE: must match attentionTransferTypes.clad

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameNumberDescription
    Invalid0

    NoCloudConnection1

    NoWifi2

    UnmatchedIntent3

    +

    +

    AudioConstants

    Constants associated with the audio feed

    @@ -8647,6 +9996,84 @@

    BehaviorResults

    +

    CheckCloudResponse.ConnectionCode

    +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameNumberDescription
    UNKNOWN0

    AVAILABLE1

    BAD_CONNECTIVITY2

    FAILED_TLS3

    FAILED_AUTH4

    INSUFFICIENT_BANDWIDTH5

    +

    + +

    CheckUpdateStatusResponse.UpdateStatus

    +

    + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameNumberDescription
    NO_UPDATE0

    READY_TO_INSTALL1

    IN_PROGRESS_DOWNLOAD2

    +

    +

    CubeBattery.CubeBatteryLevel

    @@ -8918,6 +10345,138 @@

    MasterVolumeLevel

    +

    OnboardingPhase

    +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameNumberDescription
    InvalidPhase0

    Default1

    LookAtPhone2

    WakeUp3

    LookAtUser4

    TeachWakeWord5

    TeachComeHere6

    TeachMeetVictor7

    +

    + +

    OnboardingPhaseState

    +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameNumberDescription
    PhaseInvalid0

    PhasePending1

    PhaseInProgress2

    PhaseComplete3

    +

    + +

    OnboardingStages

    +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameNumberDescription
    NotStarted0

    TimedOut1

    Complete3

    Maintain this numbering for backward compatibility

    DevDoNothing4

    +

    +

    RobotStatus

    @@ -9470,12 +11029,24 @@

    Event

    + + + + + + + + + + + + @@ -9530,6 +11101,18 @@

    Event

    + + + + + + + + + + + + @@ -9542,6 +11125,12 @@

    Event

    + + + + + +

    onboardingOnboarding

    wake_word WakeWord

    attention_transferAttentionTransfer

    robot_observed_face RobotObservedFace

    jdocs_changedJdocsChanged

    alexa_auth_eventAlexaAuthEvent

    mirror_mode_disabled MirrorModeDisabled

    check_update_status_responseCheckUpdateStatusResponse

    user_intent UserIntent