UNPKG

spot-sdk-ts

Version:

TypeScript bindings based on protobufs (proto3) provided by Boston Dynamics

1,654 lines (1,541 loc) 95.1 kB
/* eslint-disable */ import { Timestamp } from "../../google/protobuf/timestamp"; import Long from "long"; import { RequestHeader, ResponseHeader } from "./header"; import { Parameter } from "./parameter"; import _m0 from "protobufjs/minimal"; export const protobufPackage = "bosdyn.api"; export interface RecordTextMessagesRequest { /** Common request header. */ header: RequestHeader | undefined; /** The text messages to be logged. */ textMessages: TextMessage[]; } export interface RecordOperatorCommentsRequest { /** Common request header. */ header: RequestHeader | undefined; /** The operator comments to be logged. */ operatorComments: OperatorComment[]; } export interface RecordDataBlobsRequest { /** Common request header. */ header: RequestHeader | undefined; /** The data blobs to be logged. */ blobData: DataBlob[]; /** * When set, the data blob is committed to the log synchronously. The RPC does not return until * the data is written. */ sync: boolean; } export interface RecordSignalTicksRequest { /** Common request header. */ header: RequestHeader | undefined; /** The signals data to be logged. */ tickData: SignalTick[]; } export interface RecordEventsRequest { /** Common request header. */ header: RequestHeader | undefined; /** The events to be logged. */ events: Event[]; } /** * A text message to add to the log. * These could be internal text-log messages from a client for use in debugging, for example. */ export interface TextMessage { /** String annotation message. */ message: string; /** * The timestamp of the annotation. This must be in robot time. * If this is not specified, this will default to the time the server received the message. */ timestamp: Date | undefined; /** * The client name. * This may be used to segregate data for the same variables to different parts of the buffer. */ source: string; /** The relative importance of the message. */ level: TextMessage_Level; /** Optional tag to identify from what code/module this message originated from. */ tag: string; /** Optional source file name originating the log message. */ filename: string; /** Optional source file line number originating the log message. */ lineNumber: number; } export enum TextMessage_Level { /** LEVEL_UNKNOWN - Invalid, do not use. */ LEVEL_UNKNOWN = 0, /** LEVEL_DEBUG - Events likely of interest only in a debugging context. */ LEVEL_DEBUG = 1, /** LEVEL_INFO - Informational message during normal operation. */ LEVEL_INFO = 2, /** LEVEL_WARN - Information about an unexpected but recoverable condition. */ LEVEL_WARN = 3, /** LEVEL_ERROR - Information about an operation which did not succeed. */ LEVEL_ERROR = 4, UNRECOGNIZED = -1, } export function textMessage_LevelFromJSON(object: any): TextMessage_Level { switch (object) { case 0: case "LEVEL_UNKNOWN": return TextMessage_Level.LEVEL_UNKNOWN; case 1: case "LEVEL_DEBUG": return TextMessage_Level.LEVEL_DEBUG; case 2: case "LEVEL_INFO": return TextMessage_Level.LEVEL_INFO; case 3: case "LEVEL_WARN": return TextMessage_Level.LEVEL_WARN; case 4: case "LEVEL_ERROR": return TextMessage_Level.LEVEL_ERROR; case -1: case "UNRECOGNIZED": default: return TextMessage_Level.UNRECOGNIZED; } } export function textMessage_LevelToJSON(object: TextMessage_Level): string { switch (object) { case TextMessage_Level.LEVEL_UNKNOWN: return "LEVEL_UNKNOWN"; case TextMessage_Level.LEVEL_DEBUG: return "LEVEL_DEBUG"; case TextMessage_Level.LEVEL_INFO: return "LEVEL_INFO"; case TextMessage_Level.LEVEL_WARN: return "LEVEL_WARN"; case TextMessage_Level.LEVEL_ERROR: return "LEVEL_ERROR"; case TextMessage_Level.UNRECOGNIZED: default: return "UNRECOGNIZED"; } } /** * An operator comment to be added to the log. * These are notes especially intended to mark when logs should be preserved and reviewed * to ensure that robot hardware and/or software is working as intended. */ export interface OperatorComment { /** String annotation message to add to the log. */ message: string; /** * The timestamp of the annotation. This must be in robot time. * If this is not specified, this will default to the time the server received the message. */ timestamp: Date | undefined; } /** Message-style data to add to the log. */ export interface DataBlob { /** Timestamp of data in robot clock time. This is required. */ timestamp: Date | undefined; /** * A general label for this blob. * This is distinct from type_id, which identifies how the blob is to be parsed. * In practice, this is often the same as the type_id. */ channel: string; /** * A description of the data's content and its encoding. This is required. * This should be sufficient for deciding how to deserialize the data. * For example, this could be the full name of a protobuf message type. */ typeId: string; /** * Raw data. * For example, jpeg data or a serialized protobuf. */ data: Uint8Array; } /** A description of a set of signals-style variables to log together as timestamped samples. */ export interface SignalSchema { /** A SignalTick using this schema contains the values of this ordered list of variables. */ vars: SignalSchema_Variable[]; /** The name of the schema. */ schemaName: string; } /** A variable of signals-style data, which will be sampled in time. */ export interface SignalSchema_Variable { /** The name of the variable. */ name: string; /** The type of the data. */ type: SignalSchema_Variable_Type; /** * Zero or one variable in 'vars' may be specified as a time variable. * A time variable must have type TYPE_FLOAT64. */ isTime: boolean; } export enum SignalSchema_Variable_Type { TYPE_UNKNOWN = 0, TYPE_INT8 = 1, TYPE_INT16 = 2, TYPE_INT32 = 3, TYPE_INT64 = 4, TYPE_UINT8 = 5, TYPE_UINT16 = 6, TYPE_UINT32 = 7, TYPE_UINT64 = 8, TYPE_FLOAT32 = 9, TYPE_FLOAT64 = 10, UNRECOGNIZED = -1, } export function signalSchema_Variable_TypeFromJSON( object: any ): SignalSchema_Variable_Type { switch (object) { case 0: case "TYPE_UNKNOWN": return SignalSchema_Variable_Type.TYPE_UNKNOWN; case 1: case "TYPE_INT8": return SignalSchema_Variable_Type.TYPE_INT8; case 2: case "TYPE_INT16": return SignalSchema_Variable_Type.TYPE_INT16; case 3: case "TYPE_INT32": return SignalSchema_Variable_Type.TYPE_INT32; case 4: case "TYPE_INT64": return SignalSchema_Variable_Type.TYPE_INT64; case 5: case "TYPE_UINT8": return SignalSchema_Variable_Type.TYPE_UINT8; case 6: case "TYPE_UINT16": return SignalSchema_Variable_Type.TYPE_UINT16; case 7: case "TYPE_UINT32": return SignalSchema_Variable_Type.TYPE_UINT32; case 8: case "TYPE_UINT64": return SignalSchema_Variable_Type.TYPE_UINT64; case 9: case "TYPE_FLOAT32": return SignalSchema_Variable_Type.TYPE_FLOAT32; case 10: case "TYPE_FLOAT64": return SignalSchema_Variable_Type.TYPE_FLOAT64; case -1: case "UNRECOGNIZED": default: return SignalSchema_Variable_Type.UNRECOGNIZED; } } export function signalSchema_Variable_TypeToJSON( object: SignalSchema_Variable_Type ): string { switch (object) { case SignalSchema_Variable_Type.TYPE_UNKNOWN: return "TYPE_UNKNOWN"; case SignalSchema_Variable_Type.TYPE_INT8: return "TYPE_INT8"; case SignalSchema_Variable_Type.TYPE_INT16: return "TYPE_INT16"; case SignalSchema_Variable_Type.TYPE_INT32: return "TYPE_INT32"; case SignalSchema_Variable_Type.TYPE_INT64: return "TYPE_INT64"; case SignalSchema_Variable_Type.TYPE_UINT8: return "TYPE_UINT8"; case SignalSchema_Variable_Type.TYPE_UINT16: return "TYPE_UINT16"; case SignalSchema_Variable_Type.TYPE_UINT32: return "TYPE_UINT32"; case SignalSchema_Variable_Type.TYPE_UINT64: return "TYPE_UINT64"; case SignalSchema_Variable_Type.TYPE_FLOAT32: return "TYPE_FLOAT32"; case SignalSchema_Variable_Type.TYPE_FLOAT64: return "TYPE_FLOAT64"; case SignalSchema_Variable_Type.UNRECOGNIZED: default: return "UNRECOGNIZED"; } } export interface SignalSchemaId { /** {schema, id} pair */ schemaId: number; schema: SignalSchema | undefined; } /** A timestamped set of signals variable values. */ export interface SignalTick { /** * Successive ticks should have successive sequence_id's. * The robot uses this to determine if a tick was somehow lost. */ sequenceId: number; /** Timestamp at which the variable values were sampled. */ timestamp: Date | undefined; /** * The client name. * This may be used to segregate data for the same variables to different parts of the buffer. */ source: string; /** * This specifies the SignalSchema to be used in interpreting the |data| field. * This value was returned by the server when the schema was registered. */ schemaId: number; /** Format describing how the data bytes array is encoded. */ encoding: SignalTick_Encoding; /** The encoded data representing a tick of multiple values of signal-styles data. */ data: Uint8Array; } export enum SignalTick_Encoding { ENCODING_UNKNOWN = 0, /** * ENCODING_RAW - Bytes array is a concatination of little-endian machine representations of * the variables from the SignalSchema, in order listed in that schema. */ ENCODING_RAW = 1, UNRECOGNIZED = -1, } export function signalTick_EncodingFromJSON(object: any): SignalTick_Encoding { switch (object) { case 0: case "ENCODING_UNKNOWN": return SignalTick_Encoding.ENCODING_UNKNOWN; case 1: case "ENCODING_RAW": return SignalTick_Encoding.ENCODING_RAW; case -1: case "UNRECOGNIZED": default: return SignalTick_Encoding.UNRECOGNIZED; } } export function signalTick_EncodingToJSON(object: SignalTick_Encoding): string { switch (object) { case SignalTick_Encoding.ENCODING_UNKNOWN: return "ENCODING_UNKNOWN"; case SignalTick_Encoding.ENCODING_RAW: return "ENCODING_RAW"; case SignalTick_Encoding.UNRECOGNIZED: default: return "UNRECOGNIZED"; } } /** This message contains event data for logging to the public timeline. */ export interface Event { /** Type of event, typically prefixed with a project or organization, e.g. "bosdyn:startup" */ type: string; /** * Event description. * This is optional. */ description: string; /** * A description of the source of this event. May be the client name. * - Not required to be unique. * - Disambiguates the source of similar event types. */ source: string; /** * Unique identifier to link start and end messages for events with a duration. * - Long running events may have separate messages at the start and end, in case the message * for the end of the event is lost. * - For events without a separate start and end message (in which case both start_time and * end time should be specified), the 'id' field should not be set. * - This id is not tracked internally by the service. It is only used to consume the event * timeline. * - To be effective, the id value should be generated randomly by the client. */ id: string; /** * Start and end times for the event: * - Some events are instantaneous. For these, set start_timestamp and end_timestamp to the * same value and send a single message (without an id). * - Some events take time. At the onset, send a message with a unique id, the start time, and * type. The end message should include all data from the start message, any * additional data, and an end time. If you have the end message, you should not need * the start message since it is a strict subset. */ startTime: Date | undefined; endTime: Date | undefined; /** The relative importance of the event. */ level: Event_Level; /** Optional set of event parameters. */ parameters: Parameter[]; /** Optionally request that the robot try to preserve data near this time for a service log. */ logPreserveHint: Event_LogPreserveHint; } /** * Level, or similarly "visibility," "importance," or "weight" of event. * - Higher level events will increase the visibility on the event timeline, relative to other * events. * - In general, higher level events should be more consequential with respect to the robot * operation on a per-occurence basis. * - Lower level events should be less consequential on a per occurence basis. * - Non-critical events may be one of LOW, MEDIUM, or HIGH. UNSET is logically equivalent to * LOW level. * - Critical events may be either mission or system critical. * - System-critical is quasi-reserved for internal robot use, and is used to identify events * that directly affect robot status or capability, such as the onset of a critical fault or * start of an enabling capability. * - Mission-critical is quasi-reserved client use, and is intended for events that directly * affect the ability of the robot to "do what the user wants," such as the onset of a * service fault or start of an enabling capability. */ export enum Event_Level { LEVEL_UNSET = 0, /** LEVEL_LOW - Non-critical events */ LEVEL_LOW = 1, LEVEL_MEDIUM = 2, LEVEL_HIGH = 3, /** LEVEL_MISSION_CRITICAL - Critical events */ LEVEL_MISSION_CRITICAL = 4, LEVEL_SYSTEM_CRITICAL = 5, UNRECOGNIZED = -1, } export function event_LevelFromJSON(object: any): Event_Level { switch (object) { case 0: case "LEVEL_UNSET": return Event_Level.LEVEL_UNSET; case 1: case "LEVEL_LOW": return Event_Level.LEVEL_LOW; case 2: case "LEVEL_MEDIUM": return Event_Level.LEVEL_MEDIUM; case 3: case "LEVEL_HIGH": return Event_Level.LEVEL_HIGH; case 4: case "LEVEL_MISSION_CRITICAL": return Event_Level.LEVEL_MISSION_CRITICAL; case 5: case "LEVEL_SYSTEM_CRITICAL": return Event_Level.LEVEL_SYSTEM_CRITICAL; case -1: case "UNRECOGNIZED": default: return Event_Level.UNRECOGNIZED; } } export function event_LevelToJSON(object: Event_Level): string { switch (object) { case Event_Level.LEVEL_UNSET: return "LEVEL_UNSET"; case Event_Level.LEVEL_LOW: return "LEVEL_LOW"; case Event_Level.LEVEL_MEDIUM: return "LEVEL_MEDIUM"; case Event_Level.LEVEL_HIGH: return "LEVEL_HIGH"; case Event_Level.LEVEL_MISSION_CRITICAL: return "LEVEL_MISSION_CRITICAL"; case Event_Level.LEVEL_SYSTEM_CRITICAL: return "LEVEL_SYSTEM_CRITICAL"; case Event_Level.UNRECOGNIZED: default: return "UNRECOGNIZED"; } } /** * LogPreserveHint may encode a hint to the robot's logging system for whether to preserve * internal log data near the time of this event. This could be useful in saving data * to be used in a service log to send to Boston Dynamics. */ export enum Event_LogPreserveHint { /** LOG_PRESERVE_HINT_UNSET - If this this is unset, it is equivalent to LOG_PRESERVE_HINT_NORMAL. */ LOG_PRESERVE_HINT_UNSET = 0, /** * LOG_PRESERVE_HINT_NORMAL - Do not change the robot's default log data preservation behavior in response to this * event. */ LOG_PRESERVE_HINT_NORMAL = 1, /** * LOG_PRESERVE_HINT_PRESERVE - Request that the robot try to preserve data near the time of this event. * Log space on the robot is limited, so this does not guarentee that the data will be * preserved. */ LOG_PRESERVE_HINT_PRESERVE = 2, UNRECOGNIZED = -1, } export function event_LogPreserveHintFromJSON( object: any ): Event_LogPreserveHint { switch (object) { case 0: case "LOG_PRESERVE_HINT_UNSET": return Event_LogPreserveHint.LOG_PRESERVE_HINT_UNSET; case 1: case "LOG_PRESERVE_HINT_NORMAL": return Event_LogPreserveHint.LOG_PRESERVE_HINT_NORMAL; case 2: case "LOG_PRESERVE_HINT_PRESERVE": return Event_LogPreserveHint.LOG_PRESERVE_HINT_PRESERVE; case -1: case "UNRECOGNIZED": default: return Event_LogPreserveHint.UNRECOGNIZED; } } export function event_LogPreserveHintToJSON( object: Event_LogPreserveHint ): string { switch (object) { case Event_LogPreserveHint.LOG_PRESERVE_HINT_UNSET: return "LOG_PRESERVE_HINT_UNSET"; case Event_LogPreserveHint.LOG_PRESERVE_HINT_NORMAL: return "LOG_PRESERVE_HINT_NORMAL"; case Event_LogPreserveHint.LOG_PRESERVE_HINT_PRESERVE: return "LOG_PRESERVE_HINT_PRESERVE"; case Event_LogPreserveHint.UNRECOGNIZED: default: return "UNRECOGNIZED"; } } export interface RecordTextMessagesResponse { /** Common response header. */ header: ResponseHeader | undefined; /** Errors which occurred when logging text message data. */ errors: RecordTextMessagesResponse_Error[]; } /** Text message recording error. */ export interface RecordTextMessagesResponse_Error { /** The type of error: if it was caused by the client or the service. */ type: RecordTextMessagesResponse_Error_Type; /** An error message. */ message: string; /** The index to identify the data being stored. */ index: number; } export enum RecordTextMessagesResponse_Error_Type { NONE = 0, CLIENT_ERROR = 1, SERVER_ERROR = 2, UNRECOGNIZED = -1, } export function recordTextMessagesResponse_Error_TypeFromJSON( object: any ): RecordTextMessagesResponse_Error_Type { switch (object) { case 0: case "NONE": return RecordTextMessagesResponse_Error_Type.NONE; case 1: case "CLIENT_ERROR": return RecordTextMessagesResponse_Error_Type.CLIENT_ERROR; case 2: case "SERVER_ERROR": return RecordTextMessagesResponse_Error_Type.SERVER_ERROR; case -1: case "UNRECOGNIZED": default: return RecordTextMessagesResponse_Error_Type.UNRECOGNIZED; } } export function recordTextMessagesResponse_Error_TypeToJSON( object: RecordTextMessagesResponse_Error_Type ): string { switch (object) { case RecordTextMessagesResponse_Error_Type.NONE: return "NONE"; case RecordTextMessagesResponse_Error_Type.CLIENT_ERROR: return "CLIENT_ERROR"; case RecordTextMessagesResponse_Error_Type.SERVER_ERROR: return "SERVER_ERROR"; case RecordTextMessagesResponse_Error_Type.UNRECOGNIZED: default: return "UNRECOGNIZED"; } } export interface RecordOperatorCommentsResponse { /** Common response header. */ header: ResponseHeader | undefined; /** Errors which occurred when logging operator comments. */ errors: RecordOperatorCommentsResponse_Error[]; } /** Operator comment recording error. */ export interface RecordOperatorCommentsResponse_Error { /** The type of error: if it was caused by the client or the service. */ type: RecordOperatorCommentsResponse_Error_Type; /** An error message. */ message: string; /** The index to identify the data being stored. */ index: number; } export enum RecordOperatorCommentsResponse_Error_Type { NONE = 0, CLIENT_ERROR = 1, SERVER_ERROR = 2, UNRECOGNIZED = -1, } export function recordOperatorCommentsResponse_Error_TypeFromJSON( object: any ): RecordOperatorCommentsResponse_Error_Type { switch (object) { case 0: case "NONE": return RecordOperatorCommentsResponse_Error_Type.NONE; case 1: case "CLIENT_ERROR": return RecordOperatorCommentsResponse_Error_Type.CLIENT_ERROR; case 2: case "SERVER_ERROR": return RecordOperatorCommentsResponse_Error_Type.SERVER_ERROR; case -1: case "UNRECOGNIZED": default: return RecordOperatorCommentsResponse_Error_Type.UNRECOGNIZED; } } export function recordOperatorCommentsResponse_Error_TypeToJSON( object: RecordOperatorCommentsResponse_Error_Type ): string { switch (object) { case RecordOperatorCommentsResponse_Error_Type.NONE: return "NONE"; case RecordOperatorCommentsResponse_Error_Type.CLIENT_ERROR: return "CLIENT_ERROR"; case RecordOperatorCommentsResponse_Error_Type.SERVER_ERROR: return "SERVER_ERROR"; case RecordOperatorCommentsResponse_Error_Type.UNRECOGNIZED: default: return "UNRECOGNIZED"; } } export interface RecordDataBlobsResponse { /** Common response header. */ header: ResponseHeader | undefined; /** Errors which occurred when logging data blobs. */ errors: RecordDataBlobsResponse_Error[]; } /** DataBlob recording error. */ export interface RecordDataBlobsResponse_Error { /** The type of error: if it was caused by the client or the service. */ type: RecordDataBlobsResponse_Error_Type; /** An error message. */ message: string; /** The index to identify the data being stored. */ index: number; } export enum RecordDataBlobsResponse_Error_Type { NONE = 0, CLIENT_ERROR = 1, SERVER_ERROR = 2, UNRECOGNIZED = -1, } export function recordDataBlobsResponse_Error_TypeFromJSON( object: any ): RecordDataBlobsResponse_Error_Type { switch (object) { case 0: case "NONE": return RecordDataBlobsResponse_Error_Type.NONE; case 1: case "CLIENT_ERROR": return RecordDataBlobsResponse_Error_Type.CLIENT_ERROR; case 2: case "SERVER_ERROR": return RecordDataBlobsResponse_Error_Type.SERVER_ERROR; case -1: case "UNRECOGNIZED": default: return RecordDataBlobsResponse_Error_Type.UNRECOGNIZED; } } export function recordDataBlobsResponse_Error_TypeToJSON( object: RecordDataBlobsResponse_Error_Type ): string { switch (object) { case RecordDataBlobsResponse_Error_Type.NONE: return "NONE"; case RecordDataBlobsResponse_Error_Type.CLIENT_ERROR: return "CLIENT_ERROR"; case RecordDataBlobsResponse_Error_Type.SERVER_ERROR: return "SERVER_ERROR"; case RecordDataBlobsResponse_Error_Type.UNRECOGNIZED: default: return "UNRECOGNIZED"; } } export interface RecordSignalTicksResponse { /** Common response header. */ header: ResponseHeader | undefined; /** Errors which occurred when logging signal ticks. */ errors: RecordSignalTicksResponse_Error[]; } /** Signal tick recording error. */ export interface RecordSignalTicksResponse_Error { /** The type of error: if it was caused by the client, the service, or something else. */ type: RecordSignalTicksResponse_Error_Type; /** An error message. */ message: string; /** The index to identify the data being stored. */ index: number; } export enum RecordSignalTicksResponse_Error_Type { NONE = 0, CLIENT_ERROR = 1, SERVER_ERROR = 2, INVALID_SCHEMA_ID = 3, UNRECOGNIZED = -1, } export function recordSignalTicksResponse_Error_TypeFromJSON( object: any ): RecordSignalTicksResponse_Error_Type { switch (object) { case 0: case "NONE": return RecordSignalTicksResponse_Error_Type.NONE; case 1: case "CLIENT_ERROR": return RecordSignalTicksResponse_Error_Type.CLIENT_ERROR; case 2: case "SERVER_ERROR": return RecordSignalTicksResponse_Error_Type.SERVER_ERROR; case 3: case "INVALID_SCHEMA_ID": return RecordSignalTicksResponse_Error_Type.INVALID_SCHEMA_ID; case -1: case "UNRECOGNIZED": default: return RecordSignalTicksResponse_Error_Type.UNRECOGNIZED; } } export function recordSignalTicksResponse_Error_TypeToJSON( object: RecordSignalTicksResponse_Error_Type ): string { switch (object) { case RecordSignalTicksResponse_Error_Type.NONE: return "NONE"; case RecordSignalTicksResponse_Error_Type.CLIENT_ERROR: return "CLIENT_ERROR"; case RecordSignalTicksResponse_Error_Type.SERVER_ERROR: return "SERVER_ERROR"; case RecordSignalTicksResponse_Error_Type.INVALID_SCHEMA_ID: return "INVALID_SCHEMA_ID"; case RecordSignalTicksResponse_Error_Type.UNRECOGNIZED: default: return "UNRECOGNIZED"; } } export interface RecordEventsResponse { /** Common response header. */ header: ResponseHeader | undefined; /** Errors which occurred when logging events. */ errors: RecordEventsResponse_Error[]; } /** Event recording error. */ export interface RecordEventsResponse_Error { /** The type of error: if it was caused by the client, the service, or something else. */ type: RecordEventsResponse_Error_Type; /** An error message. */ message: string; /** The index to identify the data being stored. */ index: number; } export enum RecordEventsResponse_Error_Type { NONE = 0, CLIENT_ERROR = 1, SERVER_ERROR = 2, UNRECOGNIZED = -1, } export function recordEventsResponse_Error_TypeFromJSON( object: any ): RecordEventsResponse_Error_Type { switch (object) { case 0: case "NONE": return RecordEventsResponse_Error_Type.NONE; case 1: case "CLIENT_ERROR": return RecordEventsResponse_Error_Type.CLIENT_ERROR; case 2: case "SERVER_ERROR": return RecordEventsResponse_Error_Type.SERVER_ERROR; case -1: case "UNRECOGNIZED": default: return RecordEventsResponse_Error_Type.UNRECOGNIZED; } } export function recordEventsResponse_Error_TypeToJSON( object: RecordEventsResponse_Error_Type ): string { switch (object) { case RecordEventsResponse_Error_Type.NONE: return "NONE"; case RecordEventsResponse_Error_Type.CLIENT_ERROR: return "CLIENT_ERROR"; case RecordEventsResponse_Error_Type.SERVER_ERROR: return "SERVER_ERROR"; case RecordEventsResponse_Error_Type.UNRECOGNIZED: default: return "UNRECOGNIZED"; } } export interface RegisterSignalSchemaRequest { /** Common request/response header. */ header: RequestHeader | undefined; /** Defines a schema for interpreting SignalTick data containing packed signals-type data. */ schema: SignalSchema | undefined; } export interface RegisterSignalSchemaResponse { /** Common request/response header. */ header: ResponseHeader | undefined; /** * Server returns a unique ID based on the client ID and schema definition. * Always greater than zero. */ schemaId: number; } function createBaseRecordTextMessagesRequest(): RecordTextMessagesRequest { return { header: undefined, textMessages: [] }; } export const RecordTextMessagesRequest = { encode( message: RecordTextMessagesRequest, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.header !== undefined) { RequestHeader.encode(message.header, writer.uint32(10).fork()).ldelim(); } for (const v of message.textMessages) { TextMessage.encode(v!, writer.uint32(18).fork()).ldelim(); } return writer; }, decode( input: _m0.Reader | Uint8Array, length?: number ): RecordTextMessagesRequest { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseRecordTextMessagesRequest(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.header = RequestHeader.decode(reader, reader.uint32()); break; case 2: message.textMessages.push( TextMessage.decode(reader, reader.uint32()) ); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): RecordTextMessagesRequest { return { header: isSet(object.header) ? RequestHeader.fromJSON(object.header) : undefined, textMessages: Array.isArray(object?.textMessages) ? object.textMessages.map((e: any) => TextMessage.fromJSON(e)) : [], }; }, toJSON(message: RecordTextMessagesRequest): unknown { const obj: any = {}; message.header !== undefined && (obj.header = message.header ? RequestHeader.toJSON(message.header) : undefined); if (message.textMessages) { obj.textMessages = message.textMessages.map((e) => e ? TextMessage.toJSON(e) : undefined ); } else { obj.textMessages = []; } return obj; }, fromPartial<I extends Exact<DeepPartial<RecordTextMessagesRequest>, I>>( object: I ): RecordTextMessagesRequest { const message = createBaseRecordTextMessagesRequest(); message.header = object.header !== undefined && object.header !== null ? RequestHeader.fromPartial(object.header) : undefined; message.textMessages = object.textMessages?.map((e) => TextMessage.fromPartial(e)) || []; return message; }, }; function createBaseRecordOperatorCommentsRequest(): RecordOperatorCommentsRequest { return { header: undefined, operatorComments: [] }; } export const RecordOperatorCommentsRequest = { encode( message: RecordOperatorCommentsRequest, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.header !== undefined) { RequestHeader.encode(message.header, writer.uint32(10).fork()).ldelim(); } for (const v of message.operatorComments) { OperatorComment.encode(v!, writer.uint32(18).fork()).ldelim(); } return writer; }, decode( input: _m0.Reader | Uint8Array, length?: number ): RecordOperatorCommentsRequest { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseRecordOperatorCommentsRequest(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.header = RequestHeader.decode(reader, reader.uint32()); break; case 2: message.operatorComments.push( OperatorComment.decode(reader, reader.uint32()) ); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): RecordOperatorCommentsRequest { return { header: isSet(object.header) ? RequestHeader.fromJSON(object.header) : undefined, operatorComments: Array.isArray(object?.operatorComments) ? object.operatorComments.map((e: any) => OperatorComment.fromJSON(e)) : [], }; }, toJSON(message: RecordOperatorCommentsRequest): unknown { const obj: any = {}; message.header !== undefined && (obj.header = message.header ? RequestHeader.toJSON(message.header) : undefined); if (message.operatorComments) { obj.operatorComments = message.operatorComments.map((e) => e ? OperatorComment.toJSON(e) : undefined ); } else { obj.operatorComments = []; } return obj; }, fromPartial<I extends Exact<DeepPartial<RecordOperatorCommentsRequest>, I>>( object: I ): RecordOperatorCommentsRequest { const message = createBaseRecordOperatorCommentsRequest(); message.header = object.header !== undefined && object.header !== null ? RequestHeader.fromPartial(object.header) : undefined; message.operatorComments = object.operatorComments?.map((e) => OperatorComment.fromPartial(e)) || []; return message; }, }; function createBaseRecordDataBlobsRequest(): RecordDataBlobsRequest { return { header: undefined, blobData: [], sync: false }; } export const RecordDataBlobsRequest = { encode( message: RecordDataBlobsRequest, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.header !== undefined) { RequestHeader.encode(message.header, writer.uint32(10).fork()).ldelim(); } for (const v of message.blobData) { DataBlob.encode(v!, writer.uint32(18).fork()).ldelim(); } if (message.sync === true) { writer.uint32(24).bool(message.sync); } return writer; }, decode( input: _m0.Reader | Uint8Array, length?: number ): RecordDataBlobsRequest { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseRecordDataBlobsRequest(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.header = RequestHeader.decode(reader, reader.uint32()); break; case 2: message.blobData.push(DataBlob.decode(reader, reader.uint32())); break; case 3: message.sync = reader.bool(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): RecordDataBlobsRequest { return { header: isSet(object.header) ? RequestHeader.fromJSON(object.header) : undefined, blobData: Array.isArray(object?.blobData) ? object.blobData.map((e: any) => DataBlob.fromJSON(e)) : [], sync: isSet(object.sync) ? Boolean(object.sync) : false, }; }, toJSON(message: RecordDataBlobsRequest): unknown { const obj: any = {}; message.header !== undefined && (obj.header = message.header ? RequestHeader.toJSON(message.header) : undefined); if (message.blobData) { obj.blobData = message.blobData.map((e) => e ? DataBlob.toJSON(e) : undefined ); } else { obj.blobData = []; } message.sync !== undefined && (obj.sync = message.sync); return obj; }, fromPartial<I extends Exact<DeepPartial<RecordDataBlobsRequest>, I>>( object: I ): RecordDataBlobsRequest { const message = createBaseRecordDataBlobsRequest(); message.header = object.header !== undefined && object.header !== null ? RequestHeader.fromPartial(object.header) : undefined; message.blobData = object.blobData?.map((e) => DataBlob.fromPartial(e)) || []; message.sync = object.sync ?? false; return message; }, }; function createBaseRecordSignalTicksRequest(): RecordSignalTicksRequest { return { header: undefined, tickData: [] }; } export const RecordSignalTicksRequest = { encode( message: RecordSignalTicksRequest, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.header !== undefined) { RequestHeader.encode(message.header, writer.uint32(10).fork()).ldelim(); } for (const v of message.tickData) { SignalTick.encode(v!, writer.uint32(18).fork()).ldelim(); } return writer; }, decode( input: _m0.Reader | Uint8Array, length?: number ): RecordSignalTicksRequest { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseRecordSignalTicksRequest(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.header = RequestHeader.decode(reader, reader.uint32()); break; case 2: message.tickData.push(SignalTick.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): RecordSignalTicksRequest { return { header: isSet(object.header) ? RequestHeader.fromJSON(object.header) : undefined, tickData: Array.isArray(object?.tickData) ? object.tickData.map((e: any) => SignalTick.fromJSON(e)) : [], }; }, toJSON(message: RecordSignalTicksRequest): unknown { const obj: any = {}; message.header !== undefined && (obj.header = message.header ? RequestHeader.toJSON(message.header) : undefined); if (message.tickData) { obj.tickData = message.tickData.map((e) => e ? SignalTick.toJSON(e) : undefined ); } else { obj.tickData = []; } return obj; }, fromPartial<I extends Exact<DeepPartial<RecordSignalTicksRequest>, I>>( object: I ): RecordSignalTicksRequest { const message = createBaseRecordSignalTicksRequest(); message.header = object.header !== undefined && object.header !== null ? RequestHeader.fromPartial(object.header) : undefined; message.tickData = object.tickData?.map((e) => SignalTick.fromPartial(e)) || []; return message; }, }; function createBaseRecordEventsRequest(): RecordEventsRequest { return { header: undefined, events: [] }; } export const RecordEventsRequest = { encode( message: RecordEventsRequest, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.header !== undefined) { RequestHeader.encode(message.header, writer.uint32(10).fork()).ldelim(); } for (const v of message.events) { Event.encode(v!, writer.uint32(18).fork()).ldelim(); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): RecordEventsRequest { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseRecordEventsRequest(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.header = RequestHeader.decode(reader, reader.uint32()); break; case 2: message.events.push(Event.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): RecordEventsRequest { return { header: isSet(object.header) ? RequestHeader.fromJSON(object.header) : undefined, events: Array.isArray(object?.events) ? object.events.map((e: any) => Event.fromJSON(e)) : [], }; }, toJSON(message: RecordEventsRequest): unknown { const obj: any = {}; message.header !== undefined && (obj.header = message.header ? RequestHeader.toJSON(message.header) : undefined); if (message.events) { obj.events = message.events.map((e) => (e ? Event.toJSON(e) : undefined)); } else { obj.events = []; } return obj; }, fromPartial<I extends Exact<DeepPartial<RecordEventsRequest>, I>>( object: I ): RecordEventsRequest { const message = createBaseRecordEventsRequest(); message.header = object.header !== undefined && object.header !== null ? RequestHeader.fromPartial(object.header) : undefined; message.events = object.events?.map((e) => Event.fromPartial(e)) || []; return message; }, }; function createBaseTextMessage(): TextMessage { return { message: "", timestamp: undefined, source: "", level: 0, tag: "", filename: "", lineNumber: 0, }; } export const TextMessage = { encode( message: TextMessage, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.message !== "") { writer.uint32(10).string(message.message); } if (message.timestamp !== undefined) { Timestamp.encode( toTimestamp(message.timestamp), writer.uint32(18).fork() ).ldelim(); } if (message.source !== "") { writer.uint32(26).string(message.source); } if (message.level !== 0) { writer.uint32(32).int32(message.level); } if (message.tag !== "") { writer.uint32(42).string(message.tag); } if (message.filename !== "") { writer.uint32(50).string(message.filename); } if (message.lineNumber !== 0) { writer.uint32(56).int32(message.lineNumber); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): TextMessage { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseTextMessage(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.message = reader.string(); break; case 2: message.timestamp = fromTimestamp( Timestamp.decode(reader, reader.uint32()) ); break; case 3: message.source = reader.string(); break; case 4: message.level = reader.int32() as any; break; case 5: message.tag = reader.string(); break; case 6: message.filename = reader.string(); break; case 7: message.lineNumber = reader.int32(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): TextMessage { return { message: isSet(object.message) ? String(object.message) : "", timestamp: isSet(object.timestamp) ? fromJsonTimestamp(object.timestamp) : undefined, source: isSet(object.source) ? String(object.source) : "", level: isSet(object.level) ? textMessage_LevelFromJSON(object.level) : 0, tag: isSet(object.tag) ? String(object.tag) : "", filename: isSet(object.filename) ? String(object.filename) : "", lineNumber: isSet(object.lineNumber) ? Number(object.lineNumber) : 0, }; }, toJSON(message: TextMessage): unknown { const obj: any = {}; message.message !== undefined && (obj.message = message.message); message.timestamp !== undefined && (obj.timestamp = message.timestamp.toISOString()); message.source !== undefined && (obj.source = message.source); message.level !== undefined && (obj.level = textMessage_LevelToJSON(message.level)); message.tag !== undefined && (obj.tag = message.tag); message.filename !== undefined && (obj.filename = message.filename); message.lineNumber !== undefined && (obj.lineNumber = Math.round(message.lineNumber)); return obj; }, fromPartial<I extends Exact<DeepPartial<TextMessage>, I>>( object: I ): TextMessage { const message = createBaseTextMessage(); message.message = object.message ?? ""; message.timestamp = object.timestamp ?? undefined; message.source = object.source ?? ""; message.level = object.level ?? 0; message.tag = object.tag ?? ""; message.filename = object.filename ?? ""; message.lineNumber = object.lineNumber ?? 0; return message; }, }; function createBaseOperatorComment(): OperatorComment { return { message: "", timestamp: undefined }; } export const OperatorComment = { encode( message: OperatorComment, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.message !== "") { writer.uint32(10).string(message.message); } if (message.timestamp !== undefined) { Timestamp.encode( toTimestamp(message.timestamp), writer.uint32(18).fork() ).ldelim(); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): OperatorComment { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseOperatorComment(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.message = reader.string(); break; case 2: message.timestamp = fromTimestamp( Timestamp.decode(reader, reader.uint32()) ); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): OperatorComment { return { message: isSet(object.message) ? String(object.message) : "", timestamp: isSet(object.timestamp) ? fromJsonTimestamp(object.timestamp) : undefined, }; }, toJSON(message: OperatorComment): unknown { const obj: any = {}; message.message !== undefined && (obj.message = message.message); message.timestamp !== undefined && (obj.timestamp = message.timestamp.toISOString()); return obj; }, fromPartial<I extends Exact<DeepPartial<OperatorComment>, I>>( object: I ): OperatorComment { const message = createBaseOperatorComment(); message.message = object.message ?? ""; message.timestamp = object.timestamp ?? undefined; return message; }, }; function createBaseDataBlob(): DataBlob { return { timestamp: undefined, channel: "", typeId: "", data: new Uint8Array(), }; } export const DataBlob = { encode( message: DataBlob, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.timestamp !== undefined) { Timestamp.encode( toTimestamp(message.timestamp), writer.uint32(10).fork() ).ldelim(); } if (message.channel !== "") { writer.uint32(18).string(message.channel); } if (message.typeId !== "") { writer.uint32(26).string(message.typeId); } if (message.data.length !== 0) { writer.uint32(34).bytes(message.data); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): DataBlob { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseDataBlob(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.timestamp = fromTimestamp( Timestamp.decode(reader, reader.uint32()) ); break; case 2: message.channel = reader.string(); break; case 3: message.typeId = reader.string(); break; case 4: message.data = reader.bytes(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): DataBlob { return { timestamp: isSet(object.timestamp) ? fromJsonTimestamp(object.timestamp) : undefined, channel: isSet(object.channel) ? String(object.channel) : "", typeId: isSet(object.typeId) ? String(object.typeId) : "", data: isSet(object.data) ? bytesFromBase64(object.data) : new Uint8Array(), }; }, toJSON(message: DataBlob): unknown { const obj: any = {}; message.timestamp !== undefined && (obj.timestamp = message.timestamp.toISOString()); message.channel !== undefined && (obj.channel = message.channel); message.typeId !== undefined && (obj.typeId = message.typeId); message.data !== undefined && (obj.data = base64FromBytes( message.data !== undefined ? message.data : new Uint8Array() )); return obj; }, fromPartial<I extends Exact<DeepPartial<DataBlob>, I>>(object: I): DataBlob { const message = createBaseDataBlob(); message.timestamp = object.timestamp ?? undefined; message.channel = object.channel ?? ""; message.typeId = object.typeId ?? ""; message.data = object.data ?? new Uint8Array(); return message; }, }; function createBaseSignalSchema(): SignalSchema { return { vars: [], schemaName: "" }; } export const SignalSchema = { encode( message: SignalSchema, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { for (const v of message.vars) { SignalSchema_Variable.encode(v!, writer.uint32(10).fork()).ldelim(); } if (message.schemaName !== "") { writer.uint32(18).string(message.schemaName); } return writer; }, decode(input: _m0.Reader | Uint8Array, length?: number): SignalSchema { const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseSignalSchema(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: message.vars.push( SignalSchema_Variable.decode(reader, reader.uint32()) ); break; case 2: message.schemaName = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }, fromJSON(object: any): SignalSchema { return { vars: Array.isArray(object?.vars) ? object.vars.map((e: any) => SignalSchema_Variable.fromJSON(e)) : [], schemaName: isSet(object.schemaName) ? String(object.schemaName) : "", }; }, toJSON(message: SignalSchema): unknown { const obj: any = {}; if (message.vars) { obj.vars = message.vars.map((e) => e ? SignalSchema_Variable.toJSON(e) : undefined ); } else { obj.vars = []; } message.schemaName !== undefined && (obj.schemaName = message.schemaName); return obj; }, fromPartial<I extends Exact<DeepPartial<SignalSchema>, I>>( object: I ): SignalSchema { const message = createBaseSignalSchema(); message.vars = object.vars?.map((e) => SignalSchema_Variable.fromPartial(e)) || []; message.schemaName = object.schemaName ?? ""; return message; }, }; function createBaseSignalSchema_Variable(): SignalSchema_Variable { return { name: "", type: 0, isTime: false }; } export const SignalSchema_Variable = { encode( message: SignalSchema_Variable, writer: _m0.Writer = _m0.Writer.create() ): _m0.Writer { if (message.name !== "") { writer.uint32(10).string(message.name);