UNPKG

spot-sdk-ts

Version:

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

3,288 lines 130 kB
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.ClearBehaviorFaults = exports.RestartWhenPaused = exports.ConstantResult = exports.DateToBlackboard = exports.FormatBlackboard = exports.SetBlackboard = exports.DefineBlackboard = exports.RetainLease = exports.DataAcquisition = exports.StoreMetadata = exports.Dock = exports.SpotCamResetAutofocus = exports.SpotCamLed_BrightnessesEntry = exports.SpotCamLed = exports.SpotCamStoreMedia = exports.SpotCamPtz_AdjustParameters = exports.SpotCamPtz = exports.Prompt_Option = exports.Prompt = exports.Sleep = exports.RemoteGrpc = exports.BosdynRecordEvent = exports.BosdynGraphNavLocalize = exports.BosdynGraphNavState = exports.BosdynNavigateRoute = exports.BosdynNavigateTo = exports.BosdynPowerRequest = exports.BosdynRobotCommand = exports.BosdynDockState = exports.BosdynRobotState = exports.Condition_Operand = exports.Condition = exports.SimpleParallel = exports.ForDuration = exports.Retry = exports.Repeat = exports.Selector = exports.Sequence = exports.Node = exports.dataAcquisition_CompletionBehaviorToJSON = exports.dataAcquisition_CompletionBehaviorFromJSON = exports.DataAcquisition_CompletionBehavior = exports.condition_HandleStalenessToJSON = exports.condition_HandleStalenessFromJSON = exports.Condition_HandleStaleness = exports.condition_CompareToJSON = exports.condition_CompareFromJSON = exports.Condition_Compare = exports.protobufPackage = void 0;
/* eslint-disable */
const power_1 = require("../power");
const logging_1 = require("../spot_cam/logging");
const docking_1 = require("../docking/docking");
const util_1 = require("./util");
const long_1 = __importDefault(require("long"));
const any_1 = require("../../../google/protobuf/any");
const duration_1 = require("../../../google/protobuf/duration");
const robot_command_1 = require("../robot_command");
const graph_nav_1 = require("../graph_nav/graph_nav");
const nav_1 = require("../graph_nav/nav");
const data_buffer_1 = require("../data_buffer");
const ptz_1 = require("../spot_cam/ptz");
const geometry_1 = require("../geometry");
const camera_1 = require("../spot_cam/camera");
const data_acquisition_1 = require("../data_acquisition");
const minimal_1 = __importDefault(require("protobufjs/minimal"));
exports.protobufPackage = "bosdyn.api.mission";
/** Comparison operator. */
var Condition_Compare;
(function (Condition_Compare) {
    /** COMPARE_UNKNOWN - Invalid, do not use. */
    Condition_Compare[Condition_Compare["COMPARE_UNKNOWN"] = 0] = "COMPARE_UNKNOWN";
    /** COMPARE_EQ - Equal. */
    Condition_Compare[Condition_Compare["COMPARE_EQ"] = 1] = "COMPARE_EQ";
    /** COMPARE_NE - Not equal. */
    Condition_Compare[Condition_Compare["COMPARE_NE"] = 2] = "COMPARE_NE";
    /** COMPARE_LT - Less than. */
    Condition_Compare[Condition_Compare["COMPARE_LT"] = 3] = "COMPARE_LT";
    /** COMPARE_GT - Greater than. */
    Condition_Compare[Condition_Compare["COMPARE_GT"] = 4] = "COMPARE_GT";
    /** COMPARE_LE - Less than or equal. */
    Condition_Compare[Condition_Compare["COMPARE_LE"] = 5] = "COMPARE_LE";
    /** COMPARE_GE - Greater than or equal. */
    Condition_Compare[Condition_Compare["COMPARE_GE"] = 6] = "COMPARE_GE";
    Condition_Compare[Condition_Compare["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
})(Condition_Compare = exports.Condition_Compare || (exports.Condition_Compare = {}));
function condition_CompareFromJSON(object) {
    switch (object) {
        case 0:
        case "COMPARE_UNKNOWN":
            return Condition_Compare.COMPARE_UNKNOWN;
        case 1:
        case "COMPARE_EQ":
            return Condition_Compare.COMPARE_EQ;
        case 2:
        case "COMPARE_NE":
            return Condition_Compare.COMPARE_NE;
        case 3:
        case "COMPARE_LT":
            return Condition_Compare.COMPARE_LT;
        case 4:
        case "COMPARE_GT":
            return Condition_Compare.COMPARE_GT;
        case 5:
        case "COMPARE_LE":
            return Condition_Compare.COMPARE_LE;
        case 6:
        case "COMPARE_GE":
            return Condition_Compare.COMPARE_GE;
        case -1:
        case "UNRECOGNIZED":
        default:
            return Condition_Compare.UNRECOGNIZED;
    }
}
exports.condition_CompareFromJSON = condition_CompareFromJSON;
function condition_CompareToJSON(object) {
    switch (object) {
        case Condition_Compare.COMPARE_UNKNOWN:
            return "COMPARE_UNKNOWN";
        case Condition_Compare.COMPARE_EQ:
            return "COMPARE_EQ";
        case Condition_Compare.COMPARE_NE:
            return "COMPARE_NE";
        case Condition_Compare.COMPARE_LT:
            return "COMPARE_LT";
        case Condition_Compare.COMPARE_GT:
            return "COMPARE_GT";
        case Condition_Compare.COMPARE_LE:
            return "COMPARE_LE";
        case Condition_Compare.COMPARE_GE:
            return "COMPARE_GE";
        case Condition_Compare.UNRECOGNIZED:
        default:
            return "UNRECOGNIZED";
    }
}
exports.condition_CompareToJSON = condition_CompareToJSON;
/**
 * When comparing runtime values in the blackboard, some values might be "stale" (i.e too old).
 * This defines how the comparator should behave when a read value is stale.
 */
var Condition_HandleStaleness;
(function (Condition_HandleStaleness) {
    /** HANDLE_STALE_UNKNOWN - acts like READ_ANYWAY for backwards compatibility. */
    Condition_HandleStaleness[Condition_HandleStaleness["HANDLE_STALE_UNKNOWN"] = 0] = "HANDLE_STALE_UNKNOWN";
    /** HANDLE_STALE_READ_ANYWAY - ignore how stale this data is. */
    Condition_HandleStaleness[Condition_HandleStaleness["HANDLE_STALE_READ_ANYWAY"] = 1] = "HANDLE_STALE_READ_ANYWAY";
    /** HANDLE_STALE_RUN_UNTIL_FRESH - return the RUNNING status until the data being read is not stale. */
    Condition_HandleStaleness[Condition_HandleStaleness["HANDLE_STALE_RUN_UNTIL_FRESH"] = 2] = "HANDLE_STALE_RUN_UNTIL_FRESH";
    /** HANDLE_STALE_FAIL - return FAILURE status if stale data is read. */
    Condition_HandleStaleness[Condition_HandleStaleness["HANDLE_STALE_FAIL"] = 3] = "HANDLE_STALE_FAIL";
    Condition_HandleStaleness[Condition_HandleStaleness["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
})(Condition_HandleStaleness = exports.Condition_HandleStaleness || (exports.Condition_HandleStaleness = {}));
function condition_HandleStalenessFromJSON(object) {
    switch (object) {
        case 0:
        case "HANDLE_STALE_UNKNOWN":
            return Condition_HandleStaleness.HANDLE_STALE_UNKNOWN;
        case 1:
        case "HANDLE_STALE_READ_ANYWAY":
            return Condition_HandleStaleness.HANDLE_STALE_READ_ANYWAY;
        case 2:
        case "HANDLE_STALE_RUN_UNTIL_FRESH":
            return Condition_HandleStaleness.HANDLE_STALE_RUN_UNTIL_FRESH;
        case 3:
        case "HANDLE_STALE_FAIL":
            return Condition_HandleStaleness.HANDLE_STALE_FAIL;
        case -1:
        case "UNRECOGNIZED":
        default:
            return Condition_HandleStaleness.UNRECOGNIZED;
    }
}
exports.condition_HandleStalenessFromJSON = condition_HandleStalenessFromJSON;
function condition_HandleStalenessToJSON(object) {
    switch (object) {
        case Condition_HandleStaleness.HANDLE_STALE_UNKNOWN:
            return "HANDLE_STALE_UNKNOWN";
        case Condition_HandleStaleness.HANDLE_STALE_READ_ANYWAY:
            return "HANDLE_STALE_READ_ANYWAY";
        case Condition_HandleStaleness.HANDLE_STALE_RUN_UNTIL_FRESH:
            return "HANDLE_STALE_RUN_UNTIL_FRESH";
        case Condition_HandleStaleness.HANDLE_STALE_FAIL:
            return "HANDLE_STALE_FAIL";
        case Condition_HandleStaleness.UNRECOGNIZED:
        default:
            return "UNRECOGNIZED";
    }
}
exports.condition_HandleStalenessToJSON = condition_HandleStalenessToJSON;
var DataAcquisition_CompletionBehavior;
(function (DataAcquisition_CompletionBehavior) {
    DataAcquisition_CompletionBehavior[DataAcquisition_CompletionBehavior["COMPLETE_UNKNOWN"] = 0] = "COMPLETE_UNKNOWN";
    /** COMPLETE_AFTER_SAVED - Node is complete after all data has been saved. */
    DataAcquisition_CompletionBehavior[DataAcquisition_CompletionBehavior["COMPLETE_AFTER_SAVED"] = 1] = "COMPLETE_AFTER_SAVED";
    /**
     * COMPLETE_AFTER_ACQUIRED - Node is complete after all data is acquired, but before processing and storage.
     * This allows the robot to continue on with the mission sooner, but
     * it will be unaware of failures in processing or storage.
     */
    DataAcquisition_CompletionBehavior[DataAcquisition_CompletionBehavior["COMPLETE_AFTER_ACQUIRED"] = 2] = "COMPLETE_AFTER_ACQUIRED";
    DataAcquisition_CompletionBehavior[DataAcquisition_CompletionBehavior["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
})(DataAcquisition_CompletionBehavior = exports.DataAcquisition_CompletionBehavior || (exports.DataAcquisition_CompletionBehavior = {}));
function dataAcquisition_CompletionBehaviorFromJSON(object) {
    switch (object) {
        case 0:
        case "COMPLETE_UNKNOWN":
            return DataAcquisition_CompletionBehavior.COMPLETE_UNKNOWN;
        case 1:
        case "COMPLETE_AFTER_SAVED":
            return DataAcquisition_CompletionBehavior.COMPLETE_AFTER_SAVED;
        case 2:
        case "COMPLETE_AFTER_ACQUIRED":
            return DataAcquisition_CompletionBehavior.COMPLETE_AFTER_ACQUIRED;
        case -1:
        case "UNRECOGNIZED":
        default:
            return DataAcquisition_CompletionBehavior.UNRECOGNIZED;
    }
}
exports.dataAcquisition_CompletionBehaviorFromJSON = dataAcquisition_CompletionBehaviorFromJSON;
function dataAcquisition_CompletionBehaviorToJSON(object) {
    switch (object) {
        case DataAcquisition_CompletionBehavior.COMPLETE_UNKNOWN:
            return "COMPLETE_UNKNOWN";
        case DataAcquisition_CompletionBehavior.COMPLETE_AFTER_SAVED:
            return "COMPLETE_AFTER_SAVED";
        case DataAcquisition_CompletionBehavior.COMPLETE_AFTER_ACQUIRED:
            return "COMPLETE_AFTER_ACQUIRED";
        case DataAcquisition_CompletionBehavior.UNRECOGNIZED:
        default:
            return "UNRECOGNIZED";
    }
}
exports.dataAcquisition_CompletionBehaviorToJSON = dataAcquisition_CompletionBehaviorToJSON;
function createBaseNode() {
    return {
        name: "",
        userData: undefined,
        referenceId: "",
        impl: undefined,
        nodeReference: undefined,
        parameterValues: [],
        overrides: [],
        parameters: [],
    };
}
exports.Node = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.name !== "") {
            writer.uint32(10).string(message.name);
        }
        if (message.userData !== undefined) {
            util_1.UserData.encode(message.userData, writer.uint32(18).fork()).ldelim();
        }
        if (message.referenceId !== "") {
            writer.uint32(26).string(message.referenceId);
        }
        if (message.impl !== undefined) {
            any_1.Any.encode(message.impl, writer.uint32(34).fork()).ldelim();
        }
        if (message.nodeReference !== undefined) {
            writer.uint32(42).string(message.nodeReference);
        }
        for (const v of message.parameterValues) {
            util_1.KeyValue.encode(v, writer.uint32(50).fork()).ldelim();
        }
        for (const v of message.overrides) {
            util_1.KeyValue.encode(v, writer.uint32(58).fork()).ldelim();
        }
        for (const v of message.parameters) {
            util_1.VariableDeclaration.encode(v, writer.uint32(66).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseNode();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.name = reader.string();
                    break;
                case 2:
                    message.userData = util_1.UserData.decode(reader, reader.uint32());
                    break;
                case 3:
                    message.referenceId = reader.string();
                    break;
                case 4:
                    message.impl = any_1.Any.decode(reader, reader.uint32());
                    break;
                case 5:
                    message.nodeReference = reader.string();
                    break;
                case 6:
                    message.parameterValues.push(util_1.KeyValue.decode(reader, reader.uint32()));
                    break;
                case 7:
                    message.overrides.push(util_1.KeyValue.decode(reader, reader.uint32()));
                    break;
                case 8:
                    message.parameters.push(util_1.VariableDeclaration.decode(reader, reader.uint32()));
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            name: isSet(object.name) ? String(object.name) : "",
            userData: isSet(object.userData)
                ? util_1.UserData.fromJSON(object.userData)
                : undefined,
            referenceId: isSet(object.referenceId) ? String(object.referenceId) : "",
            impl: isSet(object.impl) ? any_1.Any.fromJSON(object.impl) : undefined,
            nodeReference: isSet(object.nodeReference)
                ? String(object.nodeReference)
                : undefined,
            parameterValues: Array.isArray(object?.parameterValues)
                ? object.parameterValues.map((e) => util_1.KeyValue.fromJSON(e))
                : [],
            overrides: Array.isArray(object?.overrides)
                ? object.overrides.map((e) => util_1.KeyValue.fromJSON(e))
                : [],
            parameters: Array.isArray(object?.parameters)
                ? object.parameters.map((e) => util_1.VariableDeclaration.fromJSON(e))
                : [],
        };
    },
    toJSON(message) {
        const obj = {};
        message.name !== undefined && (obj.name = message.name);
        message.userData !== undefined &&
            (obj.userData = message.userData
                ? util_1.UserData.toJSON(message.userData)
                : undefined);
        message.referenceId !== undefined &&
            (obj.referenceId = message.referenceId);
        message.impl !== undefined &&
            (obj.impl = message.impl ? any_1.Any.toJSON(message.impl) : undefined);
        message.nodeReference !== undefined &&
            (obj.nodeReference = message.nodeReference);
        if (message.parameterValues) {
            obj.parameterValues = message.parameterValues.map((e) => e ? util_1.KeyValue.toJSON(e) : undefined);
        }
        else {
            obj.parameterValues = [];
        }
        if (message.overrides) {
            obj.overrides = message.overrides.map((e) => e ? util_1.KeyValue.toJSON(e) : undefined);
        }
        else {
            obj.overrides = [];
        }
        if (message.parameters) {
            obj.parameters = message.parameters.map((e) => e ? util_1.VariableDeclaration.toJSON(e) : undefined);
        }
        else {
            obj.parameters = [];
        }
        return obj;
    },
    fromPartial(object) {
        const message = createBaseNode();
        message.name = object.name ?? "";
        message.userData =
            object.userData !== undefined && object.userData !== null
                ? util_1.UserData.fromPartial(object.userData)
                : undefined;
        message.referenceId = object.referenceId ?? "";
        message.impl =
            object.impl !== undefined && object.impl !== null
                ? any_1.Any.fromPartial(object.impl)
                : undefined;
        message.nodeReference = object.nodeReference ?? undefined;
        message.parameterValues =
            object.parameterValues?.map((e) => util_1.KeyValue.fromPartial(e)) || [];
        message.overrides =
            object.overrides?.map((e) => util_1.KeyValue.fromPartial(e)) || [];
        message.parameters =
            object.parameters?.map((e) => util_1.VariableDeclaration.fromPartial(e)) || [];
        return message;
    },
};
function createBaseSequence() {
    return { alwaysRestart: false, children: [] };
}
exports.Sequence = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.alwaysRestart === true) {
            writer.uint32(8).bool(message.alwaysRestart);
        }
        for (const v of message.children) {
            exports.Node.encode(v, writer.uint32(18).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseSequence();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.alwaysRestart = reader.bool();
                    break;
                case 2:
                    message.children.push(exports.Node.decode(reader, reader.uint32()));
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            alwaysRestart: isSet(object.alwaysRestart)
                ? Boolean(object.alwaysRestart)
                : false,
            children: Array.isArray(object?.children)
                ? object.children.map((e) => exports.Node.fromJSON(e))
                : [],
        };
    },
    toJSON(message) {
        const obj = {};
        message.alwaysRestart !== undefined &&
            (obj.alwaysRestart = message.alwaysRestart);
        if (message.children) {
            obj.children = message.children.map((e) => e ? exports.Node.toJSON(e) : undefined);
        }
        else {
            obj.children = [];
        }
        return obj;
    },
    fromPartial(object) {
        const message = createBaseSequence();
        message.alwaysRestart = object.alwaysRestart ?? false;
        message.children = object.children?.map((e) => exports.Node.fromPartial(e)) || [];
        return message;
    },
};
function createBaseSelector() {
    return { alwaysRestart: false, children: [] };
}
exports.Selector = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.alwaysRestart === true) {
            writer.uint32(8).bool(message.alwaysRestart);
        }
        for (const v of message.children) {
            exports.Node.encode(v, writer.uint32(18).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseSelector();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.alwaysRestart = reader.bool();
                    break;
                case 2:
                    message.children.push(exports.Node.decode(reader, reader.uint32()));
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            alwaysRestart: isSet(object.alwaysRestart)
                ? Boolean(object.alwaysRestart)
                : false,
            children: Array.isArray(object?.children)
                ? object.children.map((e) => exports.Node.fromJSON(e))
                : [],
        };
    },
    toJSON(message) {
        const obj = {};
        message.alwaysRestart !== undefined &&
            (obj.alwaysRestart = message.alwaysRestart);
        if (message.children) {
            obj.children = message.children.map((e) => e ? exports.Node.toJSON(e) : undefined);
        }
        else {
            obj.children = [];
        }
        return obj;
    },
    fromPartial(object) {
        const message = createBaseSelector();
        message.alwaysRestart = object.alwaysRestart ?? false;
        message.children = object.children?.map((e) => exports.Node.fromPartial(e)) || [];
        return message;
    },
};
function createBaseRepeat() {
    return { maxStarts: 0, child: undefined, startCounterStateName: "" };
}
exports.Repeat = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.maxStarts !== 0) {
            writer.uint32(8).int32(message.maxStarts);
        }
        if (message.child !== undefined) {
            exports.Node.encode(message.child, writer.uint32(34).fork()).ldelim();
        }
        if (message.startCounterStateName !== "") {
            writer.uint32(42).string(message.startCounterStateName);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseRepeat();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.maxStarts = reader.int32();
                    break;
                case 4:
                    message.child = exports.Node.decode(reader, reader.uint32());
                    break;
                case 5:
                    message.startCounterStateName = reader.string();
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            maxStarts: isSet(object.maxStarts) ? Number(object.maxStarts) : 0,
            child: isSet(object.child) ? exports.Node.fromJSON(object.child) : undefined,
            startCounterStateName: isSet(object.startCounterStateName)
                ? String(object.startCounterStateName)
                : "",
        };
    },
    toJSON(message) {
        const obj = {};
        message.maxStarts !== undefined &&
            (obj.maxStarts = Math.round(message.maxStarts));
        message.child !== undefined &&
            (obj.child = message.child ? exports.Node.toJSON(message.child) : undefined);
        message.startCounterStateName !== undefined &&
            (obj.startCounterStateName = message.startCounterStateName);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseRepeat();
        message.maxStarts = object.maxStarts ?? 0;
        message.child =
            object.child !== undefined && object.child !== null
                ? exports.Node.fromPartial(object.child)
                : undefined;
        message.startCounterStateName = object.startCounterStateName ?? "";
        return message;
    },
};
function createBaseRetry() {
    return { maxAttempts: 0, child: undefined, attemptCounterStateName: "" };
}
exports.Retry = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.maxAttempts !== 0) {
            writer.uint32(8).int32(message.maxAttempts);
        }
        if (message.child !== undefined) {
            exports.Node.encode(message.child, writer.uint32(18).fork()).ldelim();
        }
        if (message.attemptCounterStateName !== "") {
            writer.uint32(42).string(message.attemptCounterStateName);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseRetry();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.maxAttempts = reader.int32();
                    break;
                case 2:
                    message.child = exports.Node.decode(reader, reader.uint32());
                    break;
                case 5:
                    message.attemptCounterStateName = reader.string();
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            maxAttempts: isSet(object.maxAttempts) ? Number(object.maxAttempts) : 0,
            child: isSet(object.child) ? exports.Node.fromJSON(object.child) : undefined,
            attemptCounterStateName: isSet(object.attemptCounterStateName)
                ? String(object.attemptCounterStateName)
                : "",
        };
    },
    toJSON(message) {
        const obj = {};
        message.maxAttempts !== undefined &&
            (obj.maxAttempts = Math.round(message.maxAttempts));
        message.child !== undefined &&
            (obj.child = message.child ? exports.Node.toJSON(message.child) : undefined);
        message.attemptCounterStateName !== undefined &&
            (obj.attemptCounterStateName = message.attemptCounterStateName);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseRetry();
        message.maxAttempts = object.maxAttempts ?? 0;
        message.child =
            object.child !== undefined && object.child !== null
                ? exports.Node.fromPartial(object.child)
                : undefined;
        message.attemptCounterStateName = object.attemptCounterStateName ?? "";
        return message;
    },
};
function createBaseForDuration() {
    return {
        duration: undefined,
        child: undefined,
        timeRemainingName: "",
        timeoutChild: undefined,
    };
}
exports.ForDuration = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.duration !== undefined) {
            duration_1.Duration.encode(message.duration, writer.uint32(10).fork()).ldelim();
        }
        if (message.child !== undefined) {
            exports.Node.encode(message.child, writer.uint32(18).fork()).ldelim();
        }
        if (message.timeRemainingName !== "") {
            writer.uint32(26).string(message.timeRemainingName);
        }
        if (message.timeoutChild !== undefined) {
            exports.Node.encode(message.timeoutChild, writer.uint32(34).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseForDuration();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.duration = duration_1.Duration.decode(reader, reader.uint32());
                    break;
                case 2:
                    message.child = exports.Node.decode(reader, reader.uint32());
                    break;
                case 3:
                    message.timeRemainingName = reader.string();
                    break;
                case 4:
                    message.timeoutChild = exports.Node.decode(reader, reader.uint32());
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            duration: isSet(object.duration)
                ? duration_1.Duration.fromJSON(object.duration)
                : undefined,
            child: isSet(object.child) ? exports.Node.fromJSON(object.child) : undefined,
            timeRemainingName: isSet(object.timeRemainingName)
                ? String(object.timeRemainingName)
                : "",
            timeoutChild: isSet(object.timeoutChild)
                ? exports.Node.fromJSON(object.timeoutChild)
                : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        message.duration !== undefined &&
            (obj.duration = message.duration
                ? duration_1.Duration.toJSON(message.duration)
                : undefined);
        message.child !== undefined &&
            (obj.child = message.child ? exports.Node.toJSON(message.child) : undefined);
        message.timeRemainingName !== undefined &&
            (obj.timeRemainingName = message.timeRemainingName);
        message.timeoutChild !== undefined &&
            (obj.timeoutChild = message.timeoutChild
                ? exports.Node.toJSON(message.timeoutChild)
                : undefined);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseForDuration();
        message.duration =
            object.duration !== undefined && object.duration !== null
                ? duration_1.Duration.fromPartial(object.duration)
                : undefined;
        message.child =
            object.child !== undefined && object.child !== null
                ? exports.Node.fromPartial(object.child)
                : undefined;
        message.timeRemainingName = object.timeRemainingName ?? "";
        message.timeoutChild =
            object.timeoutChild !== undefined && object.timeoutChild !== null
                ? exports.Node.fromPartial(object.timeoutChild)
                : undefined;
        return message;
    },
};
function createBaseSimpleParallel() {
    return { primary: undefined, secondary: undefined };
}
exports.SimpleParallel = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.primary !== undefined) {
            exports.Node.encode(message.primary, writer.uint32(10).fork()).ldelim();
        }
        if (message.secondary !== undefined) {
            exports.Node.encode(message.secondary, writer.uint32(18).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseSimpleParallel();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.primary = exports.Node.decode(reader, reader.uint32());
                    break;
                case 2:
                    message.secondary = exports.Node.decode(reader, reader.uint32());
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            primary: isSet(object.primary)
                ? exports.Node.fromJSON(object.primary)
                : undefined,
            secondary: isSet(object.secondary)
                ? exports.Node.fromJSON(object.secondary)
                : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        message.primary !== undefined &&
            (obj.primary = message.primary
                ? exports.Node.toJSON(message.primary)
                : undefined);
        message.secondary !== undefined &&
            (obj.secondary = message.secondary
                ? exports.Node.toJSON(message.secondary)
                : undefined);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseSimpleParallel();
        message.primary =
            object.primary !== undefined && object.primary !== null
                ? exports.Node.fromPartial(object.primary)
                : undefined;
        message.secondary =
            object.secondary !== undefined && object.secondary !== null
                ? exports.Node.fromPartial(object.secondary)
                : undefined;
        return message;
    },
};
function createBaseCondition() {
    return { lhs: undefined, rhs: undefined, operation: 0, handleStaleness: 0 };
}
exports.Condition = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.lhs !== undefined) {
            exports.Condition_Operand.encode(message.lhs, writer.uint32(10).fork()).ldelim();
        }
        if (message.rhs !== undefined) {
            exports.Condition_Operand.encode(message.rhs, writer.uint32(18).fork()).ldelim();
        }
        if (message.operation !== 0) {
            writer.uint32(40).int32(message.operation);
        }
        if (message.handleStaleness !== 0) {
            writer.uint32(48).int32(message.handleStaleness);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseCondition();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.lhs = exports.Condition_Operand.decode(reader, reader.uint32());
                    break;
                case 2:
                    message.rhs = exports.Condition_Operand.decode(reader, reader.uint32());
                    break;
                case 5:
                    message.operation = reader.int32();
                    break;
                case 6:
                    message.handleStaleness = reader.int32();
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            lhs: isSet(object.lhs)
                ? exports.Condition_Operand.fromJSON(object.lhs)
                : undefined,
            rhs: isSet(object.rhs)
                ? exports.Condition_Operand.fromJSON(object.rhs)
                : undefined,
            operation: isSet(object.operation)
                ? condition_CompareFromJSON(object.operation)
                : 0,
            handleStaleness: isSet(object.handleStaleness)
                ? condition_HandleStalenessFromJSON(object.handleStaleness)
                : 0,
        };
    },
    toJSON(message) {
        const obj = {};
        message.lhs !== undefined &&
            (obj.lhs = message.lhs
                ? exports.Condition_Operand.toJSON(message.lhs)
                : undefined);
        message.rhs !== undefined &&
            (obj.rhs = message.rhs
                ? exports.Condition_Operand.toJSON(message.rhs)
                : undefined);
        message.operation !== undefined &&
            (obj.operation = condition_CompareToJSON(message.operation));
        message.handleStaleness !== undefined &&
            (obj.handleStaleness = condition_HandleStalenessToJSON(message.handleStaleness));
        return obj;
    },
    fromPartial(object) {
        const message = createBaseCondition();
        message.lhs =
            object.lhs !== undefined && object.lhs !== null
                ? exports.Condition_Operand.fromPartial(object.lhs)
                : undefined;
        message.rhs =
            object.rhs !== undefined && object.rhs !== null
                ? exports.Condition_Operand.fromPartial(object.rhs)
                : undefined;
        message.operation = object.operation ?? 0;
        message.handleStaleness = object.handleStaleness ?? 0;
        return message;
    },
};
function createBaseCondition_Operand() {
    return { var: undefined, const: undefined };
}
exports.Condition_Operand = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.var !== undefined) {
            util_1.VariableDeclaration.encode(message.var, writer.uint32(10).fork()).ldelim();
        }
        if (message.const !== undefined) {
            util_1.ConstantValue.encode(message.const, writer.uint32(18).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseCondition_Operand();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.var = util_1.VariableDeclaration.decode(reader, reader.uint32());
                    break;
                case 2:
                    message.const = util_1.ConstantValue.decode(reader, reader.uint32());
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            var: isSet(object.var)
                ? util_1.VariableDeclaration.fromJSON(object.var)
                : undefined,
            const: isSet(object.const)
                ? util_1.ConstantValue.fromJSON(object.const)
                : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        message.var !== undefined &&
            (obj.var = message.var
                ? util_1.VariableDeclaration.toJSON(message.var)
                : undefined);
        message.const !== undefined &&
            (obj.const = message.const
                ? util_1.ConstantValue.toJSON(message.const)
                : undefined);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseCondition_Operand();
        message.var =
            object.var !== undefined && object.var !== null
                ? util_1.VariableDeclaration.fromPartial(object.var)
                : undefined;
        message.const =
            object.const !== undefined && object.const !== null
                ? util_1.ConstantValue.fromPartial(object.const)
                : undefined;
        return message;
    },
};
function createBaseBosdynRobotState() {
    return { serviceName: "", host: "", child: undefined, stateName: "" };
}
exports.BosdynRobotState = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.serviceName !== "") {
            writer.uint32(10).string(message.serviceName);
        }
        if (message.host !== "") {
            writer.uint32(18).string(message.host);
        }
        if (message.child !== undefined) {
            exports.Node.encode(message.child, writer.uint32(26).fork()).ldelim();
        }
        if (message.stateName !== "") {
            writer.uint32(34).string(message.stateName);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseBosdynRobotState();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.serviceName = reader.string();
                    break;
                case 2:
                    message.host = reader.string();
                    break;
                case 3:
                    message.child = exports.Node.decode(reader, reader.uint32());
                    break;
                case 4:
                    message.stateName = reader.string();
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            serviceName: isSet(object.serviceName) ? String(object.serviceName) : "",
            host: isSet(object.host) ? String(object.host) : "",
            child: isSet(object.child) ? exports.Node.fromJSON(object.child) : undefined,
            stateName: isSet(object.stateName) ? String(object.stateName) : "",
        };
    },
    toJSON(message) {
        const obj = {};
        message.serviceName !== undefined &&
            (obj.serviceName = message.serviceName);
        message.host !== undefined && (obj.host = message.host);
        message.child !== undefined &&
            (obj.child = message.child ? exports.Node.toJSON(message.child) : undefined);
        message.stateName !== undefined && (obj.stateName = message.stateName);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseBosdynRobotState();
        message.serviceName = object.serviceName ?? "";
        message.host = object.host ?? "";
        message.child =
            object.child !== undefined && object.child !== null
                ? exports.Node.fromPartial(object.child)
                : undefined;
        message.stateName = object.stateName ?? "";
        return message;
    },
};
function createBaseBosdynDockState() {
    return { serviceName: "", host: "", child: undefined, stateName: "" };
}
exports.BosdynDockState = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.serviceName !== "") {
            writer.uint32(10).string(message.serviceName);
        }
        if (message.host !== "") {
            writer.uint32(18).string(message.host);
        }
        if (message.child !== undefined) {
            exports.Node.encode(message.child, writer.uint32(26).fork()).ldelim();
        }
        if (message.stateName !== "") {
            writer.uint32(34).string(message.stateName);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseBosdynDockState();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.serviceName = reader.string();
                    break;
                case 2:
                    message.host = reader.string();
                    break;
                case 3:
                    message.child = exports.Node.decode(reader, reader.uint32());
                    break;
                case 4:
                    message.stateName = reader.string();
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            serviceName: isSet(object.serviceName) ? String(object.serviceName) : "",
            host: isSet(object.host) ? String(object.host) : "",
            child: isSet(object.child) ? exports.Node.fromJSON(object.child) : undefined,
            stateName: isSet(object.stateName) ? String(object.stateName) : "",
        };
    },
    toJSON(message) {
        const obj = {};
        message.serviceName !== undefined &&
            (obj.serviceName = message.serviceName);
        message.host !== undefined && (obj.host = message.host);
        message.child !== undefined &&
            (obj.child = message.child ? exports.Node.toJSON(message.child) : undefined);
        message.stateName !== undefined && (obj.stateName = message.stateName);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseBosdynDockState();
        message.serviceName = object.serviceName ?? "";
        message.host = object.host ?? "";
        message.child =
            object.child !== undefined && object.child !== null
                ? exports.Node.fromPartial(object.child)
                : undefined;
        message.stateName = object.stateName ?? "";
        return message;
    },
};
function createBaseBosdynRobotCommand() {
    return { serviceName: "", host: "", command: undefined };
}
exports.BosdynRobotCommand = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.serviceName !== "") {
            writer.uint32(10).string(message.serviceName);
        }
        if (message.host !== "") {
            writer.uint32(18).string(message.host);
        }
        if (message.command !== undefined) {
            robot_command_1.RobotCommand.encode(message.command, writer.uint32(26).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseBosdynRobotCommand();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.serviceName = reader.string();
                    break;
                case 2:
                    message.host = reader.string();
                    break;
                case 3:
                    message.command = robot_command_1.RobotCommand.decode(reader, reader.uint32());
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            serviceName: isSet(object.serviceName) ? String(object.serviceName) : "",
            host: isSet(object.host) ? String(object.host) : "",
            command: isSet(object.command)
                ? robot_command_1.RobotCommand.fromJSON(object.command)
                : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        message.serviceName !== undefined &&
            (obj.serviceName = message.serviceName);
        message.host !== undefined && (obj.host = message.host);
        message.command !== undefined &&
            (obj.command = message.command
                ? robot_command_1.RobotCommand.toJSON(message.command)
                : undefined);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseBosdynRobotCommand();
        message.serviceName = object.serviceName ?? "";
        message.host = object.host ?? "";
        message.command =
            object.command !== undefined && object.command !== null
                ? robot_command_1.RobotCommand.fromPartial(object.command)
                : undefined;
        return message;
    },
};
function createBaseBosdynPowerRequest() {
    return { serviceName: "", host: "", request: 0 };
}
exports.BosdynPowerRequest = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.serviceName !== "") {
            writer.uint32(10).string(message.serviceName);
        }
        if (message.host !== "") {
            writer.uint32(18).string(message.host);
        }
        if (message.request !== 0) {
            writer.uint32(32).int32(message.request);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseBosdynPowerRequest();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.serviceName = reader.string();
                    break;
                case 2:
                    message.host = reader.string();
                    break;
                case 4:
                    message.request = reader.int32();
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            serviceName: isSet(object.serviceName) ? String(object.serviceName) : "",
            host: isSet(object.host) ? String(object.host) : "",
            request: isSet(object.request)
                ? (0, power_1.powerCommandRequest_RequestFromJSON)(object.request)
                : 0,
        };
    },
    toJSON(message) {
        const obj = {};
        message.serviceName !== undefined &&
            (obj.serviceName = message.serviceName);
        message.host !== undefined && (obj.host = message.host);
        message.request !== undefined &&
            (obj.request = (0, power_1.powerCommandRequest_RequestToJSON)(message.request));
        return obj;
    },
    fromPartial(object) {
        const message = createBaseBosdynPowerRequest();
        message.serviceName = object.serviceName ?? "";
        message.host = object.host ?? "";
        message.request = object.request ?? 0;
        return message;
    },
};
function createBaseBosdynNavigateTo() {
    return {
        serviceName: "",
        host: "",
        destinationWaypointId: "",
        routeGenParams: undefined,
        travelParams: undefined,
        navigationFeedbackResponseBlackboardKey: "",
        navigateToResponseBlackboardKey: "",
    };
}
exports.BosdynNavigateTo = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.serviceName !== "") {
            writer.uint32(10).string(message.serviceName);
        }
        if (message.host !== "") {
            writer.uint32(18).string(message.host);
        }
        if (message.destinationWaypointId !== "") {
            writer.uint32(26).string(message.destinationWaypointId);
        }
        if (message.routeGenParams !== undefined) {
            graph_nav_1.RouteGenParams.encode(message.routeGenParams, writer.uint32(34).fork()).ldelim();
        }
        if (message.travelParams !== undefined) {
            graph_nav_1.TravelParams.encode(message.travelParams, writer.uint32(42).fork()).ldelim();
        }
        if (message.navigationFeedbackResponseBlackboardKey !== "") {
            writer.uint32(50).string(message.navigationFeedbackResponseBlackboardKey);
        }
        if (message.navigateToResponseBlackboardKey !== "") {
            writer.uint32(58).string(message.navigateToResponseBlackboardKey);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseBosdynNavigateTo();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.serviceName = reader.string();
                    break;
                case 2:
                    message.host = reader.string();
                    break;
                case 3:
                    message.destinationWaypointId = reader.string();
                    break;
                case 4:
                    message.routeGenParams = graph_nav_1.RouteGenParams.decode(reader, reader.uint32());
                    break;
                case 5:
                    message.travelParams = graph_nav_1.TravelParams.decode(reader, reader.uint32());
                    break;
                case 6:
                    message.navigationFeedbackResponseBlackboardKey = reader.string();
                    break;
                case 7:
                    message.navigateToResponseBlackboardKey = reader.string();
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            serviceName: isSet(object.serviceName) ? String(object.serviceName) : "",
            host: isSet(object.host) ? String(object.host) : "",
            destinationWaypointId: isSet(object.destinationWaypointId)
                ? String(object.destinationWaypointId)
                : "",
            routeGenParams: isSet(object.routeGenParams)
                ? graph_nav_1.RouteGenParams.fromJSON(object.routeGenParams)
                : undefined,
            travelParams: isSet(object.travelParams)
                ? graph_nav_1.TravelParams.fromJSON(object.travelParams)
                : undefined,
            navigationFeedbackResponseBlackboardKey: isSet(object.navigationFeedbackResponseBlackboardKey)
                ? String(object.navigationFeedbackResponseBlackboardKey)
                : "",
            navigateToResponseBlackboardKey: isSet(object.navigateToResponseBlackboardKey)
                ? String(object.navigateToResponseBlackboardKey)
                : "",
        };
    },
    toJSON(message) {
        const obj = {};
        message.serviceName !== undefined &&
            (obj.serviceName = message.serviceName);
        message.host !== undefined && (obj.host = message.host);
        message.destinationWaypointId !== undefined &&
            (obj.destinationWaypointId = message.destinationWaypointId);
        message.routeGenParams !== undefined &&
            (obj.routeGenParams = message.routeGenParams
                ? graph_nav_1.RouteGenParams.toJSON(message.routeGenParams)
                : undefined);
        message.travelParams !== undefined &&
            (obj.travelParams = message.travelParams
                ? graph_nav_1.TravelParams.toJSON(message.travelParams)
                : undefined);
        message.navigationFeedbackResponseBlackboardKey !== undefined &&
            (obj.navigationFeedbackResponseBlackboardKey =
                message.navigationFeedbackResponseBlackboardKey);
        message.navigateToResponseBlackboardKey !== undefined &&
            (obj.navigateToResponseBlackboardKey =
                message.navigateToResponseBlackboardKey);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseBosdynNavigateTo();
        message.serviceName = object.serviceName ?? "";
        message.host = object.host ?? "";
        message.destinationWaypointId = object.destinationWaypointId ?? "";
        message.routeGenParams =
            object.routeGenParams !== undefined && object.routeGenParams !== null
                ? graph_nav_1.RouteGenParams.fromPartial(object.routeGenParams)
                : undefined;
        message.travelParams =
            object.travelParams !== undefined && object.travelParams !== null
                ? graph_nav_1.TravelParams.fromPartial(object.travelParams)
                : undefined;
        message.navigationFeedbackResponseBlackboardKey =
            object.navigationFeedbackResponseBlackboardKey ?? "";
        message.navigateToResponseBlackboardKey =
            object.navigateToResponseBlackboardKey ?? "";
        return message;
    },
};
function createBaseBosdynNavigateRoute() {
    return {
        serviceName: "",
        host: "",
        route: undefined,
        routeFollowParams: undefined,
        travelParams: undefined,
        navigationFeedbackResponseBlackboardKey: "",
        navigateRouteResponseBlackboardKey: "",
    };
}
exports.BosdynNavigateRoute = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.serviceName !== "") {
            writer.uint32(10).string(message.serviceName);
        }
        if (message.host !== "") {
            writer.uint32(18).string(message.host);
        }
        if (message.route !== undefined) {
            nav_1.Route.encode(message.route, writer.uint32(26).fork()).ldelim();
        }
        if (message.routeFollowParams !== undefined) {
            graph_nav_1.RouteFollowingParams.encode(message.routeFollowParams, writer.uint32(34).fork()).ldelim();
        }
        if (message.travelParams !== undefined) {
            graph_nav_1.TravelParams.encode(message.travelParams, writer.uint32(42).fork()).ldelim();
        }
        if (message.navigationFeedbackResponseBlackboardKey !== "") {
            writer.uint32(50).string(message.navigationFeedbackResponseBlackboardKey);
        }
        if (message.navigateRouteResponseBlackboardKey !== "") {
            writer.uint32(58).string(message.navigateRouteResponseBlackboardKey);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseBosdynNavigateRoute();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.serviceName = reader.string();
                    break;
                case 2:
                    message.host = reader.string();
                    break;
                case 3:
                    message.route = nav_1.Route.decode(reader, reader.uint32());
                    break;
                case 4:
                    message.routeFollowParams = graph_nav_1.RouteFollowingParams.decode(reader, reader.uint32());
                    break;
                case 5:
                    message.travelParams = graph_nav_1.TravelParams.decode(reader, reader.uint32());
                    break;
                case 6:
                    message.navigationFeedbackResponseBlackboardKey = reader.string();
                    break;
                case 7:
                    message.navigateRouteResponseBlackboardKey = reader.string();
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            serviceName: isSet(object.serviceName) ? String(object.serviceName) : "",
            host: isSet(object.host) ? String(object.host) : "",
            route: isSet(object.route) ? nav_1.Route.fromJSON(object.route) : undefined,
            routeFollowParams: isSet(object.routeFollowParams)
                ? graph_nav_1.RouteFollowingParams.fromJSON(object.routeFollowParams)
                : undefined,
            travelParams: isSet(object.travelParams)
                ? graph_nav_1.TravelParams.fromJSON(object.travelParams)
                : undefined,
            navigationFeedbackResponseBlackboardKey: isSet(object.navigationFeedbackResponseBlackboardKey)
                ? String(object.navigationFeedbackResponseBlackboardKey)
                : "",
            navigateRouteResponseBlackboardKey: isSet(object.navigateRouteResponseBlackboardKey)
                ? String(object.navigateRouteResponseBlackboardKey)
                : "",
        };
    },
    toJSON(message) {
        const obj = {};
        message.serviceName !== undefined &&
            (obj.serviceName = message.serviceName);
        message.host !== undefined && (obj.host = message.host);
        message.route !== undefined &&
            (obj.route = message.route ? nav_1.Route.toJSON(message.route) : undefined);
        message.routeFollowParams !== undefined &&
            (obj.routeFollowParams = message.routeFollowParams
                ? graph_nav_1.RouteFollowingParams.toJSON(message.routeFollowParams)
                : undefined);
        message.travelParams !== undefined &&
            (obj.travelParams = message.travelParams
                ? graph_nav_1.TravelParams.toJSON(message.travelParams)
                : undefined);
        message.navigationFeedbackResponseBlackboardKey !== undefined &&
            (obj.navigationFeedbackResponseBlackboardKey =
                message.navigationFeedbackResponseBlackboardKey);
        message.navigateRouteResponseBlackboardKey !== undefined &&
            (obj.navigateRouteResponseBlackboardKey =
                message.navigateRouteResponseBlackboardKey);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseBosdynNavigateRoute();
        message.serviceName = object.serviceName ?? "";
        message.host = object.host ?? "";
        message.route =
            object.route !== undefined && object.route !== null
                ? nav_1.Route.fromPartial(object.route)
                : undefined;
        message.routeFollowParams =
            object.routeFollowParams !== undefined &&
                object.routeFollowParams !== null
                ? graph_nav_1.RouteFollowingParams.fromPartial(object.routeFollowParams)
                : undefined;
        message.travelParams =
            object.travelParams !== undefined && object.travelParams !== null
                ? graph_nav_1.TravelParams.fromPartial(object.travelParams)
                : undefined;
        message.navigationFeedbackResponseBlackboardKey =
            object.navigationFeedbackResponseBlackboardKey ?? "";
        message.navigateRouteResponseBlackboardKey =
            object.navigateRouteResponseBlackboardKey ?? "";
        return message;
    },
};
function createBaseBosdynGraphNavState() {
    return {
        serviceName: "",
        host: "",
        child: undefined,
        stateName: "",
        waypointId: "",
    };
}
exports.BosdynGraphNavState = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.serviceName !== "") {
            writer.uint32(10).string(message.serviceName);
        }
        if (message.host !== "") {
            writer.uint32(18).string(message.host);
        }
        if (message.child !== undefined) {
            exports.Node.encode(message.child, writer.uint32(26).fork()).ldelim();
        }
        if (message.stateName !== "") {
            writer.uint32(34).string(message.stateName);
        }
        if (message.waypointId !== "") {
            writer.uint32(42).string(message.waypointId);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseBosdynGraphNavState();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.serviceName = reader.string();
                    break;
                case 2:
                    message.host = reader.string();
                    break;
                case 3:
                    message.child = exports.Node.decode(reader, reader.uint32());
                    break;
                case 4:
                    message.stateName = reader.string();
                    break;
                case 5:
                    message.waypointId = reader.string();
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            serviceName: isSet(object.serviceName) ? String(object.serviceName) : "",
            host: isSet(object.host) ? String(object.host) : "",
            child: isSet(object.child) ? exports.Node.fromJSON(object.child) : undefined,
            stateName: isSet(object.stateName) ? String(object.stateName) : "",
            waypointId: isSet(object.waypointId) ? String(object.waypointId) : "",
        };
    },
    toJSON(message) {
        const obj = {};
        message.serviceName !== undefined &&
            (obj.serviceName = message.serviceName);
        message.host !== undefined && (obj.host = message.host);
        message.child !== undefined &&
            (obj.child = message.child ? exports.Node.toJSON(message.child) : undefined);
        message.stateName !== undefined && (obj.stateName = message.stateName);
        message.waypointId !== undefined && (obj.waypointId = message.waypointId);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseBosdynGraphNavState();
        message.serviceName = object.serviceName ?? "";
        message.host = object.host ?? "";
        message.child =
            object.child !== undefined && object.child !== null
                ? exports.Node.fromPartial(object.child)
                : undefined;
        message.stateName = object.stateName ?? "";
        message.waypointId = object.waypointId ?? "";
        return message;
    },
};
function createBaseBosdynGraphNavLocalize() {
    return { serviceName: "", host: "", localizationRequest: undefined };
}
exports.BosdynGraphNavLocalize = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.serviceName !== "") {
            writer.uint32(10).string(message.serviceName);
        }
        if (message.host !== "") {
            writer.uint32(18).string(message.host);
        }
        if (message.localizationRequest !== undefined) {
            graph_nav_1.SetLocalizationRequest.encode(message.localizationRequest, writer.uint32(26).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseBosdynGraphNavLocalize();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.serviceName = reader.string();
                    break;
                case 2:
                    message.host = reader.string();
                    break;
                case 3:
                    message.localizationRequest = graph_nav_1.SetLocalizationRequest.decode(reader, reader.uint32());
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            serviceName: isSet(object.serviceName) ? String(object.serviceName) : "",
            host: isSet(object.host) ? String(object.host) : "",
            localizationRequest: isSet(object.localizationRequest)
                ? graph_nav_1.SetLocalizationRequest.fromJSON(object.localizationRequest)
                : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        message.serviceName !== undefined &&
            (obj.serviceName = message.serviceName);
        message.host !== undefined && (obj.host = message.host);
        message.localizationRequest !== undefined &&
            (obj.localizationRequest = message.localizationRequest
                ? graph_nav_1.SetLocalizationRequest.toJSON(message.localizationRequest)
                : undefined);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseBosdynGraphNavLocalize();
        message.serviceName = object.serviceName ?? "";
        message.host = object.host ?? "";
        message.localizationRequest =
            object.localizationRequest !== undefined &&
                object.localizationRequest !== null
                ? graph_nav_1.SetLocalizationRequest.fromPartial(object.localizationRequest)
                : undefined;
        return message;
    },
};
function createBaseBosdynRecordEvent() {
    return { serviceName: "", host: "", event: undefined };
}
exports.BosdynRecordEvent = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.serviceName !== "") {
            writer.uint32(10).string(message.serviceName);
        }
        if (message.host !== "") {
            writer.uint32(18).string(message.host);
        }
        if (message.event !== undefined) {
            data_buffer_1.Event.encode(message.event, writer.uint32(26).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseBosdynRecordEvent();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.serviceName = reader.string();
                    break;
                case 2:
                    message.host = reader.string();
                    break;
                case 3:
                    message.event = data_buffer_1.Event.decode(reader, reader.uint32());
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            serviceName: isSet(object.serviceName) ? String(object.serviceName) : "",
            host: isSet(object.host) ? String(object.host) : "",
            event: isSet(object.event) ? data_buffer_1.Event.fromJSON(object.event) : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        message.serviceName !== undefined &&
            (obj.serviceName = message.serviceName);
        message.host !== undefined && (obj.host = message.host);
        message.event !== undefined &&
            (obj.event = message.event ? data_buffer_1.Event.toJSON(message.event) : undefined);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseBosdynRecordEvent();
        message.serviceName = object.serviceName ?? "";
        message.host = object.host ?? "";
        message.event =
            object.event !== undefined && object.event !== null
                ? data_buffer_1.Event.fromPartial(object.event)
                : undefined;
        return message;
    },
};
function createBaseRemoteGrpc() {
    return {
        host: "",
        serviceName: "",
        timeout: 0,
        leaseResources: [],
        inputs: [],
    };
}
exports.RemoteGrpc = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.host !== "") {
            writer.uint32(10).string(message.host);
        }
        if (message.serviceName !== "") {
            writer.uint32(26).string(message.serviceName);
        }
        if (message.timeout !== 0) {
            writer.uint32(37).float(message.timeout);
        }
        for (const v of message.leaseResources) {
            writer.uint32(42).string(v);
        }
        for (const v of message.inputs) {
            util_1.KeyValue.encode(v, writer.uint32(50).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseRemoteGrpc();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.host = reader.string();
                    break;
                case 3:
                    message.serviceName = reader.string();
                    break;
                case 4:
                    message.timeout = reader.float();
                    break;
                case 5:
                    message.leaseResources.push(reader.string());
                    break;
                case 6:
                    message.inputs.push(util_1.KeyValue.decode(reader, reader.uint32()));
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            host: isSet(object.host) ? String(object.host) : "",
            serviceName: isSet(object.serviceName) ? String(object.serviceName) : "",
            timeout: isSet(object.timeout) ? Number(object.timeout) : 0,
            leaseResources: Array.isArray(object?.leaseResources)
                ? object.leaseResources.map((e) => String(e))
                : [],
            inputs: Array.isArray(object?.inputs)
                ? object.inputs.map((e) => util_1.KeyValue.fromJSON(e))
                : [],
        };
    },
    toJSON(message) {
        const obj = {};
        message.host !== undefined && (obj.host = message.host);
        message.serviceName !== undefined &&
            (obj.serviceName = message.serviceName);
        message.timeout !== undefined && (obj.timeout = message.timeout);
        if (message.leaseResources) {
            obj.leaseResources = message.leaseResources.map((e) => e);
        }
        else {
            obj.leaseResources = [];
        }
        if (message.inputs) {
            obj.inputs = message.inputs.map((e) => e ? util_1.KeyValue.toJSON(e) : undefined);
        }
        else {
            obj.inputs = [];
        }
        return obj;
    },
    fromPartial(object) {
        const message = createBaseRemoteGrpc();
        message.host = object.host ?? "";
        message.serviceName = object.serviceName ?? "";
        message.timeout = object.timeout ?? 0;
        message.leaseResources = object.leaseResources?.map((e) => e) || [];
        message.inputs = object.inputs?.map((e) => util_1.KeyValue.fromPartial(e)) || [];
        return message;
    },
};
function createBaseSleep() {
    return { seconds: 0, restartAfterStop: false };
}
exports.Sleep = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.seconds !== 0) {
            writer.uint32(13).float(message.seconds);
        }
        if (message.restartAfterStop === true) {
            writer.uint32(16).bool(message.restartAfterStop);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseSleep();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.seconds = reader.float();
                    break;
                case 2:
                    message.restartAfterStop = reader.bool();
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            seconds: isSet(object.seconds) ? Number(object.seconds) : 0,
            restartAfterStop: isSet(object.restartAfterStop)
                ? Boolean(object.restartAfterStop)
                : false,
        };
    },
    toJSON(message) {
        const obj = {};
        message.seconds !== undefined && (obj.seconds = message.seconds);
        message.restartAfterStop !== undefined &&
            (obj.restartAfterStop = message.restartAfterStop);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseSleep();
        message.seconds = object.seconds ?? 0;
        message.restartAfterStop = object.restartAfterStop ?? false;
        return message;
    },
};
function createBasePrompt() {
    return {
        alwaysReprompt: false,
        text: "",
        source: "",
        options: [],
        child: undefined,
        forAutonomousProcessing: false,
    };
}
exports.Prompt = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.alwaysReprompt === true) {
            writer.uint32(8).bool(message.alwaysReprompt);
        }
        if (message.text !== "") {
            writer.uint32(18).string(message.text);
        }
        if (message.source !== "") {
            writer.uint32(26).string(message.source);
        }
        for (const v of message.options) {
            exports.Prompt_Option.encode(v, writer.uint32(34).fork()).ldelim();
        }
        if (message.child !== undefined) {
            exports.Node.encode(message.child, writer.uint32(42).fork()).ldelim();
        }
        if (message.forAutonomousProcessing === true) {
            writer.uint32(48).bool(message.forAutonomousProcessing);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBasePrompt();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.alwaysReprompt = reader.bool();
                    break;
                case 2:
                    message.text = reader.string();
                    break;
                case 3:
                    message.source = reader.string();
                    break;
                case 4:
                    message.options.push(exports.Prompt_Option.decode(reader, reader.uint32()));
                    break;
                case 5:
                    message.child = exports.Node.decode(reader, reader.uint32());
                    break;
                case 6:
                    message.forAutonomousProcessing = reader.bool();
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            alwaysReprompt: isSet(object.alwaysReprompt)
                ? Boolean(object.alwaysReprompt)
                : false,
            text: isSet(object.text) ? String(object.text) : "",
            source: isSet(object.source) ? String(object.source) : "",
            options: Array.isArray(object?.options)
                ? object.options.map((e) => exports.Prompt_Option.fromJSON(e))
                : [],
            child: isSet(object.child) ? exports.Node.fromJSON(object.child) : undefined,
            forAutonomousProcessing: isSet(object.forAutonomousProcessing)
                ? Boolean(object.forAutonomousProcessing)
                : false,
        };
    },
    toJSON(message) {
        const obj = {};
        message.alwaysReprompt !== undefined &&
            (obj.alwaysReprompt = message.alwaysReprompt);
        message.text !== undefined && (obj.text = message.text);
        message.source !== undefined && (obj.source = message.source);
        if (message.options) {
            obj.options = message.options.map((e) => e ? exports.Prompt_Option.toJSON(e) : undefined);
        }
        else {
            obj.options = [];
        }
        message.child !== undefined &&
            (obj.child = message.child ? exports.Node.toJSON(message.child) : undefined);
        message.forAutonomousProcessing !== undefined &&
            (obj.forAutonomousProcessing = message.forAutonomousProcessing);
        return obj;
    },
    fromPartial(object) {
        const message = createBasePrompt();
        message.alwaysReprompt = object.alwaysReprompt ?? false;
        message.text = object.text ?? "";
        message.source = object.source ?? "";
        message.options =
            object.options?.map((e) => exports.Prompt_Option.fromPartial(e)) || [];
        message.child =
            object.child !== undefined && object.child !== null
                ? exports.Node.fromPartial(object.child)
                : undefined;
        message.forAutonomousProcessing = object.forAutonomousProcessing ?? false;
        return message;
    },
};
function createBasePrompt_Option() {
    return { text: "", answerCode: 0 };
}
exports.Prompt_Option = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.text !== "") {
            writer.uint32(10).string(message.text);
        }
        if (message.answerCode !== 0) {
            writer.uint32(16).int64(message.answerCode);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBasePrompt_Option();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.text = reader.string();
                    break;
                case 2:
                    message.answerCode = longToNumber(reader.int64());
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            text: isSet(object.text) ? String(object.text) : "",
            answerCode: isSet(object.answerCode) ? Number(object.answerCode) : 0,
        };
    },
    toJSON(message) {
        const obj = {};
        message.text !== undefined && (obj.text = message.text);
        message.answerCode !== undefined &&
            (obj.answerCode = Math.round(message.answerCode));
        return obj;
    },
    fromPartial(object) {
        const message = createBasePrompt_Option();
        message.text = object.text ?? "";
        message.answerCode = object.answerCode ?? 0;
        return message;
    },
};
function createBaseSpotCamPtz() {
    return {
        serviceName: "",
        host: "",
        ptzPosition: undefined,
        adjustParameters: undefined,
    };
}
exports.SpotCamPtz = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.serviceName !== "") {
            writer.uint32(10).string(message.serviceName);
        }
        if (message.host !== "") {
            writer.uint32(18).string(message.host);
        }
        if (message.ptzPosition !== undefined) {
            ptz_1.PtzPosition.encode(message.ptzPosition, writer.uint32(26).fork()).ldelim();
        }
        if (message.adjustParameters !== undefined) {
            exports.SpotCamPtz_AdjustParameters.encode(message.adjustParameters, writer.uint32(34).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseSpotCamPtz();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.serviceName = reader.string();
                    break;
                case 2:
                    message.host = reader.string();
                    break;
                case 3:
                    message.ptzPosition = ptz_1.PtzPosition.decode(reader, reader.uint32());
                    break;
                case 4:
                    message.adjustParameters = exports.SpotCamPtz_AdjustParameters.decode(reader, reader.uint32());
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            serviceName: isSet(object.serviceName) ? String(object.serviceName) : "",
            host: isSet(object.host) ? String(object.host) : "",
            ptzPosition: isSet(object.ptzPosition)
                ? ptz_1.PtzPosition.fromJSON(object.ptzPosition)
                : undefined,
            adjustParameters: isSet(object.adjustParameters)
                ? exports.SpotCamPtz_AdjustParameters.fromJSON(object.adjustParameters)
                : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        message.serviceName !== undefined &&
            (obj.serviceName = message.serviceName);
        message.host !== undefined && (obj.host = message.host);
        message.ptzPosition !== undefined &&
            (obj.ptzPosition = message.ptzPosition
                ? ptz_1.PtzPosition.toJSON(message.ptzPosition)
                : undefined);
        message.adjustParameters !== undefined &&
            (obj.adjustParameters = message.adjustParameters
                ? exports.SpotCamPtz_AdjustParameters.toJSON(message.adjustParameters)
                : undefined);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseSpotCamPtz();
        message.serviceName = object.serviceName ?? "";
        message.host = object.host ?? "";
        message.ptzPosition =
            object.ptzPosition !== undefined && object.ptzPosition !== null
                ? ptz_1.PtzPosition.fromPartial(object.ptzPosition)
                : undefined;
        message.adjustParameters =
            object.adjustParameters !== undefined && object.adjustParameters !== null
                ? exports.SpotCamPtz_AdjustParameters.fromPartial(object.adjustParameters)
                : undefined;
        return message;
    },
};
function createBaseSpotCamPtz_AdjustParameters() {
    return {
        localizationVarname: "",
        waypointId: "",
        waypointTformBody: undefined,
    };
}
exports.SpotCamPtz_AdjustParameters = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.localizationVarname !== "") {
            writer.uint32(34).string(message.localizationVarname);
        }
        if (message.waypointId !== "") {
            writer.uint32(42).string(message.waypointId);
        }
        if (message.waypointTformBody !== undefined) {
            geometry_1.SE3Pose.encode(message.waypointTformBody, writer.uint32(50).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseSpotCamPtz_AdjustParameters();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 4:
                    message.localizationVarname = reader.string();
                    break;
                case 5:
                    message.waypointId = reader.string();
                    break;
                case 6:
                    message.waypointTformBody = geometry_1.SE3Pose.decode(reader, reader.uint32());
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            localizationVarname: isSet(object.localizationVarname)
                ? String(object.localizationVarname)
                : "",
            waypointId: isSet(object.waypointId) ? String(object.waypointId) : "",
            waypointTformBody: isSet(object.waypointTformBody)
                ? geometry_1.SE3Pose.fromJSON(object.waypointTformBody)
                : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        message.localizationVarname !== undefined &&
            (obj.localizationVarname = message.localizationVarname);
        message.waypointId !== undefined && (obj.waypointId = message.waypointId);
        message.waypointTformBody !== undefined &&
            (obj.waypointTformBody = message.waypointTformBody
                ? geometry_1.SE3Pose.toJSON(message.waypointTformBody)
                : undefined);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseSpotCamPtz_AdjustParameters();
        message.localizationVarname = object.localizationVarname ?? "";
        message.waypointId = object.waypointId ?? "";
        message.waypointTformBody =
            object.waypointTformBody !== undefined &&
                object.waypointTformBody !== null
                ? geometry_1.SE3Pose.fromPartial(object.waypointTformBody)
                : undefined;
        return message;
    },
};
function createBaseSpotCamStoreMedia() {
    return { serviceName: "", host: "", camera: undefined, type: 0, tag: "" };
}
exports.SpotCamStoreMedia = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.serviceName !== "") {
            writer.uint32(10).string(message.serviceName);
        }
        if (message.host !== "") {
            writer.uint32(18).string(message.host);
        }
        if (message.camera !== undefined) {
            camera_1.Camera.encode(message.camera, writer.uint32(26).fork()).ldelim();
        }
        if (message.type !== 0) {
            writer.uint32(32).int32(message.type);
        }
        if (message.tag !== "") {
            writer.uint32(42).string(message.tag);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseSpotCamStoreMedia();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.serviceName = reader.string();
                    break;
                case 2:
                    message.host = reader.string();
                    break;
                case 3:
                    message.camera = camera_1.Camera.decode(reader, reader.uint32());
                    break;
                case 4:
                    message.type = reader.int32();
                    break;
                case 5:
                    message.tag = reader.string();
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            serviceName: isSet(object.serviceName) ? String(object.serviceName) : "",
            host: isSet(object.host) ? String(object.host) : "",
            camera: isSet(object.camera) ? camera_1.Camera.fromJSON(object.camera) : undefined,
            type: isSet(object.type) ? (0, logging_1.logpoint_RecordTypeFromJSON)(object.type) : 0,
            tag: isSet(object.tag) ? String(object.tag) : "",
        };
    },
    toJSON(message) {
        const obj = {};
        message.serviceName !== undefined &&
            (obj.serviceName = message.serviceName);
        message.host !== undefined && (obj.host = message.host);
        message.camera !== undefined &&
            (obj.camera = message.camera ? camera_1.Camera.toJSON(message.camera) : undefined);
        message.type !== undefined &&
            (obj.type = (0, logging_1.logpoint_RecordTypeToJSON)(message.type));
        message.tag !== undefined && (obj.tag = message.tag);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseSpotCamStoreMedia();
        message.serviceName = object.serviceName ?? "";
        message.host = object.host ?? "";
        message.camera =
            object.camera !== undefined && object.camera !== null
                ? camera_1.Camera.fromPartial(object.camera)
                : undefined;
        message.type = object.type ?? 0;
        message.tag = object.tag ?? "";
        return message;
    },
};
function createBaseSpotCamLed() {
    return { serviceName: "", host: "", brightnesses: {} };
}
exports.SpotCamLed = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.serviceName !== "") {
            writer.uint32(10).string(message.serviceName);
        }
        if (message.host !== "") {
            writer.uint32(18).string(message.host);
        }
        Object.entries(message.brightnesses).forEach(([key, value]) => {
            exports.SpotCamLed_BrightnessesEntry.encode({ key: key, value }, writer.uint32(26).fork()).ldelim();
        });
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseSpotCamLed();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.serviceName = reader.string();
                    break;
                case 2:
                    message.host = reader.string();
                    break;
                case 3:
                    const entry3 = exports.SpotCamLed_BrightnessesEntry.decode(reader, reader.uint32());
                    if (entry3.value !== undefined) {
                        message.brightnesses[entry3.key] = entry3.value;
                    }
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            serviceName: isSet(object.serviceName) ? String(object.serviceName) : "",
            host: isSet(object.host) ? String(object.host) : "",
            brightnesses: isObject(object.brightnesses)
                ? Object.entries(object.brightnesses).reduce((acc, [key, value]) => {
                    acc[Number(key)] = Number(value);
                    return acc;
                }, {})
                : {},
        };
    },
    toJSON(message) {
        const obj = {};
        message.serviceName !== undefined &&
            (obj.serviceName = message.serviceName);
        message.host !== undefined && (obj.host = message.host);
        obj.brightnesses = {};
        if (message.brightnesses) {
            Object.entries(message.brightnesses).forEach(([k, v]) => {
                obj.brightnesses[k] = v;
            });
        }
        return obj;
    },
    fromPartial(object) {
        const message = createBaseSpotCamLed();
        message.serviceName = object.serviceName ?? "";
        message.host = object.host ?? "";
        message.brightnesses = Object.entries(object.brightnesses ?? {}).reduce((acc, [key, value]) => {
            if (value !== undefined) {
                acc[Number(key)] = Number(value);
            }
            return acc;
        }, {});
        return message;
    },
};
function createBaseSpotCamLed_BrightnessesEntry() {
    return { key: 0, value: 0 };
}
exports.SpotCamLed_BrightnessesEntry = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.key !== 0) {
            writer.uint32(8).int32(message.key);
        }
        if (message.value !== 0) {
            writer.uint32(21).float(message.value);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseSpotCamLed_BrightnessesEntry();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.key = reader.int32();
                    break;
                case 2:
                    message.value = reader.float();
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            key: isSet(object.key) ? Number(object.key) : 0,
            value: isSet(object.value) ? Number(object.value) : 0,
        };
    },
    toJSON(message) {
        const obj = {};
        message.key !== undefined && (obj.key = Math.round(message.key));
        message.value !== undefined && (obj.value = message.value);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseSpotCamLed_BrightnessesEntry();
        message.key = object.key ?? 0;
        message.value = object.value ?? 0;
        return message;
    },
};
function createBaseSpotCamResetAutofocus() {
    return { serviceName: "", host: "" };
}
exports.SpotCamResetAutofocus = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.serviceName !== "") {
            writer.uint32(10).string(message.serviceName);
        }
        if (message.host !== "") {
            writer.uint32(18).string(message.host);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseSpotCamResetAutofocus();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.serviceName = reader.string();
                    break;
                case 2:
                    message.host = reader.string();
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            serviceName: isSet(object.serviceName) ? String(object.serviceName) : "",
            host: isSet(object.host) ? String(object.host) : "",
        };
    },
    toJSON(message) {
        const obj = {};
        message.serviceName !== undefined &&
            (obj.serviceName = message.serviceName);
        message.host !== undefined && (obj.host = message.host);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseSpotCamResetAutofocus();
        message.serviceName = object.serviceName ?? "";
        message.host = object.host ?? "";
        return message;
    },
};
function createBaseDock() {
    return {
        serviceName: "",
        host: "",
        dockingStationId: 0,
        child: undefined,
        commandStatusName: "",
        feedbackStatusName: "",
        prepPoseBehavior: 0,
        dockingCommandFeedbackResponseBlackboardKey: "",
        dockingCommandResponseBlackboardKey: "",
    };
}
exports.Dock = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.serviceName !== "") {
            writer.uint32(10).string(message.serviceName);
        }
        if (message.host !== "") {
            writer.uint32(18).string(message.host);
        }
        if (message.dockingStationId !== 0) {
            writer.uint32(24).uint32(message.dockingStationId);
        }
        if (message.child !== undefined) {
            exports.Node.encode(message.child, writer.uint32(34).fork()).ldelim();
        }
        if (message.commandStatusName !== "") {
            writer.uint32(42).string(message.commandStatusName);
        }
        if (message.feedbackStatusName !== "") {
            writer.uint32(50).string(message.feedbackStatusName);
        }
        if (message.prepPoseBehavior !== 0) {
            writer.uint32(56).int32(message.prepPoseBehavior);
        }
        if (message.dockingCommandFeedbackResponseBlackboardKey !== "") {
            writer
                .uint32(66)
                .string(message.dockingCommandFeedbackResponseBlackboardKey);
        }
        if (message.dockingCommandResponseBlackboardKey !== "") {
            writer.uint32(74).string(message.dockingCommandResponseBlackboardKey);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseDock();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.serviceName = reader.string();
                    break;
                case 2:
                    message.host = reader.string();
                    break;
                case 3:
                    message.dockingStationId = reader.uint32();
                    break;
                case 4:
                    message.child = exports.Node.decode(reader, reader.uint32());
                    break;
                case 5:
                    message.commandStatusName = reader.string();
                    break;
                case 6:
                    message.feedbackStatusName = reader.string();
                    break;
                case 7:
                    message.prepPoseBehavior = reader.int32();
                    break;
                case 8:
                    message.dockingCommandFeedbackResponseBlackboardKey = reader.string();
                    break;
                case 9:
                    message.dockingCommandResponseBlackboardKey = reader.string();
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            serviceName: isSet(object.serviceName) ? String(object.serviceName) : "",
            host: isSet(object.host) ? String(object.host) : "",
            dockingStationId: isSet(object.dockingStationId)
                ? Number(object.dockingStationId)
                : 0,
            child: isSet(object.child) ? exports.Node.fromJSON(object.child) : undefined,
            commandStatusName: isSet(object.commandStatusName)
                ? String(object.commandStatusName)
                : "",
            feedbackStatusName: isSet(object.feedbackStatusName)
                ? String(object.feedbackStatusName)
                : "",
            prepPoseBehavior: isSet(object.prepPoseBehavior)
                ? (0, docking_1.prepPoseBehaviorFromJSON)(object.prepPoseBehavior)
                : 0,
            dockingCommandFeedbackResponseBlackboardKey: isSet(object.dockingCommandFeedbackResponseBlackboardKey)
                ? String(object.dockingCommandFeedbackResponseBlackboardKey)
                : "",
            dockingCommandResponseBlackboardKey: isSet(object.dockingCommandResponseBlackboardKey)
                ? String(object.dockingCommandResponseBlackboardKey)
                : "",
        };
    },
    toJSON(message) {
        const obj = {};
        message.serviceName !== undefined &&
            (obj.serviceName = message.serviceName);
        message.host !== undefined && (obj.host = message.host);
        message.dockingStationId !== undefined &&
            (obj.dockingStationId = Math.round(message.dockingStationId));
        message.child !== undefined &&
            (obj.child = message.child ? exports.Node.toJSON(message.child) : undefined);
        message.commandStatusName !== undefined &&
            (obj.commandStatusName = message.commandStatusName);
        message.feedbackStatusName !== undefined &&
            (obj.feedbackStatusName = message.feedbackStatusName);
        message.prepPoseBehavior !== undefined &&
            (obj.prepPoseBehavior = (0, docking_1.prepPoseBehaviorToJSON)(message.prepPoseBehavior));
        message.dockingCommandFeedbackResponseBlackboardKey !== undefined &&
            (obj.dockingCommandFeedbackResponseBlackboardKey =
                message.dockingCommandFeedbackResponseBlackboardKey);
        message.dockingCommandResponseBlackboardKey !== undefined &&
            (obj.dockingCommandResponseBlackboardKey =
                message.dockingCommandResponseBlackboardKey);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseDock();
        message.serviceName = object.serviceName ?? "";
        message.host = object.host ?? "";
        message.dockingStationId = object.dockingStationId ?? 0;
        message.child =
            object.child !== undefined && object.child !== null
                ? exports.Node.fromPartial(object.child)
                : undefined;
        message.commandStatusName = object.commandStatusName ?? "";
        message.feedbackStatusName = object.feedbackStatusName ?? "";
        message.prepPoseBehavior = object.prepPoseBehavior ?? 0;
        message.dockingCommandFeedbackResponseBlackboardKey =
            object.dockingCommandFeedbackResponseBlackboardKey ?? "";
        message.dockingCommandResponseBlackboardKey =
            object.dockingCommandResponseBlackboardKey ?? "";
        return message;
    },
};
function createBaseStoreMetadata() {
    return {
        serviceName: "",
        host: "",
        acquireDataRequestName: "",
        metadataName: "",
        metadataChannel: "",
    };
}
exports.StoreMetadata = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.serviceName !== "") {
            writer.uint32(10).string(message.serviceName);
        }
        if (message.host !== "") {
            writer.uint32(18).string(message.host);
        }
        if (message.acquireDataRequestName !== "") {
            writer.uint32(26).string(message.acquireDataRequestName);
        }
        if (message.metadataName !== "") {
            writer.uint32(42).string(message.metadataName);
        }
        if (message.metadataChannel !== "") {
            writer.uint32(50).string(message.metadataChannel);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseStoreMetadata();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.serviceName = reader.string();
                    break;
                case 2:
                    message.host = reader.string();
                    break;
                case 3:
                    message.acquireDataRequestName = reader.string();
                    break;
                case 5:
                    message.metadataName = reader.string();
                    break;
                case 6:
                    message.metadataChannel = reader.string();
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            serviceName: isSet(object.serviceName) ? String(object.serviceName) : "",
            host: isSet(object.host) ? String(object.host) : "",
            acquireDataRequestName: isSet(object.acquireDataRequestName)
                ? String(object.acquireDataRequestName)
                : "",
            metadataName: isSet(object.metadataName)
                ? String(object.metadataName)
                : "",
            metadataChannel: isSet(object.metadataChannel)
                ? String(object.metadataChannel)
                : "",
        };
    },
    toJSON(message) {
        const obj = {};
        message.serviceName !== undefined &&
            (obj.serviceName = message.serviceName);
        message.host !== undefined && (obj.host = message.host);
        message.acquireDataRequestName !== undefined &&
            (obj.acquireDataRequestName = message.acquireDataRequestName);
        message.metadataName !== undefined &&
            (obj.metadataName = message.metadataName);
        message.metadataChannel !== undefined &&
            (obj.metadataChannel = message.metadataChannel);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseStoreMetadata();
        message.serviceName = object.serviceName ?? "";
        message.host = object.host ?? "";
        message.acquireDataRequestName = object.acquireDataRequestName ?? "";
        message.metadataName = object.metadataName ?? "";
        message.metadataChannel = object.metadataChannel ?? "";
        return message;
    },
};
function createBaseDataAcquisition() {
    return {
        serviceName: "",
        host: "",
        request: undefined,
        completionBehavior: 0,
        groupNameFormat: "",
        requestNameInBlackboard: "",
    };
}
exports.DataAcquisition = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.serviceName !== "") {
            writer.uint32(10).string(message.serviceName);
        }
        if (message.host !== "") {
            writer.uint32(18).string(message.host);
        }
        if (message.request !== undefined) {
            data_acquisition_1.AcquireDataRequest.encode(message.request, writer.uint32(26).fork()).ldelim();
        }
        if (message.completionBehavior !== 0) {
            writer.uint32(32).int32(message.completionBehavior);
        }
        if (message.groupNameFormat !== "") {
            writer.uint32(42).string(message.groupNameFormat);
        }
        if (message.requestNameInBlackboard !== "") {
            writer.uint32(50).string(message.requestNameInBlackboard);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseDataAcquisition();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.serviceName = reader.string();
                    break;
                case 2:
                    message.host = reader.string();
                    break;
                case 3:
                    message.request = data_acquisition_1.AcquireDataRequest.decode(reader, reader.uint32());
                    break;
                case 4:
                    message.completionBehavior = reader.int32();
                    break;
                case 5:
                    message.groupNameFormat = reader.string();
                    break;
                case 6:
                    message.requestNameInBlackboard = reader.string();
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            serviceName: isSet(object.serviceName) ? String(object.serviceName) : "",
            host: isSet(object.host) ? String(object.host) : "",
            request: isSet(object.request)
                ? data_acquisition_1.AcquireDataRequest.fromJSON(object.request)
                : undefined,
            completionBehavior: isSet(object.completionBehavior)
                ? dataAcquisition_CompletionBehaviorFromJSON(object.completionBehavior)
                : 0,
            groupNameFormat: isSet(object.groupNameFormat)
                ? String(object.groupNameFormat)
                : "",
            requestNameInBlackboard: isSet(object.requestNameInBlackboard)
                ? String(object.requestNameInBlackboard)
                : "",
        };
    },
    toJSON(message) {
        const obj = {};
        message.serviceName !== undefined &&
            (obj.serviceName = message.serviceName);
        message.host !== undefined && (obj.host = message.host);
        message.request !== undefined &&
            (obj.request = message.request
                ? data_acquisition_1.AcquireDataRequest.toJSON(message.request)
                : undefined);
        message.completionBehavior !== undefined &&
            (obj.completionBehavior = dataAcquisition_CompletionBehaviorToJSON(message.completionBehavior));
        message.groupNameFormat !== undefined &&
            (obj.groupNameFormat = message.groupNameFormat);
        message.requestNameInBlackboard !== undefined &&
            (obj.requestNameInBlackboard = message.requestNameInBlackboard);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseDataAcquisition();
        message.serviceName = object.serviceName ?? "";
        message.host = object.host ?? "";
        message.request =
            object.request !== undefined && object.request !== null
                ? data_acquisition_1.AcquireDataRequest.fromPartial(object.request)
                : undefined;
        message.completionBehavior = object.completionBehavior ?? 0;
        message.groupNameFormat = object.groupNameFormat ?? "";
        message.requestNameInBlackboard = object.requestNameInBlackboard ?? "";
        return message;
    },
};
function createBaseRetainLease() {
    return { serviceName: "", host: "" };
}
exports.RetainLease = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.serviceName !== "") {
            writer.uint32(10).string(message.serviceName);
        }
        if (message.host !== "") {
            writer.uint32(18).string(message.host);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseRetainLease();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.serviceName = reader.string();
                    break;
                case 2:
                    message.host = reader.string();
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            serviceName: isSet(object.serviceName) ? String(object.serviceName) : "",
            host: isSet(object.host) ? String(object.host) : "",
        };
    },
    toJSON(message) {
        const obj = {};
        message.serviceName !== undefined &&
            (obj.serviceName = message.serviceName);
        message.host !== undefined && (obj.host = message.host);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseRetainLease();
        message.serviceName = object.serviceName ?? "";
        message.host = object.host ?? "";
        return message;
    },
};
function createBaseDefineBlackboard() {
    return { blackboardVariables: [], child: undefined };
}
exports.DefineBlackboard = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        for (const v of message.blackboardVariables) {
            util_1.KeyValue.encode(v, writer.uint32(10).fork()).ldelim();
        }
        if (message.child !== undefined) {
            exports.Node.encode(message.child, writer.uint32(18).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseDefineBlackboard();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.blackboardVariables.push(util_1.KeyValue.decode(reader, reader.uint32()));
                    break;
                case 2:
                    message.child = exports.Node.decode(reader, reader.uint32());
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            blackboardVariables: Array.isArray(object?.blackboardVariables)
                ? object.blackboardVariables.map((e) => util_1.KeyValue.fromJSON(e))
                : [],
            child: isSet(object.child) ? exports.Node.fromJSON(object.child) : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.blackboardVariables) {
            obj.blackboardVariables = message.blackboardVariables.map((e) => e ? util_1.KeyValue.toJSON(e) : undefined);
        }
        else {
            obj.blackboardVariables = [];
        }
        message.child !== undefined &&
            (obj.child = message.child ? exports.Node.toJSON(message.child) : undefined);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseDefineBlackboard();
        message.blackboardVariables =
            object.blackboardVariables?.map((e) => util_1.KeyValue.fromPartial(e)) || [];
        message.child =
            object.child !== undefined && object.child !== null
                ? exports.Node.fromPartial(object.child)
                : undefined;
        return message;
    },
};
function createBaseSetBlackboard() {
    return { blackboardVariables: [] };
}
exports.SetBlackboard = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        for (const v of message.blackboardVariables) {
            util_1.KeyValue.encode(v, writer.uint32(10).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseSetBlackboard();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.blackboardVariables.push(util_1.KeyValue.decode(reader, reader.uint32()));
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            blackboardVariables: Array.isArray(object?.blackboardVariables)
                ? object.blackboardVariables.map((e) => util_1.KeyValue.fromJSON(e))
                : [],
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.blackboardVariables) {
            obj.blackboardVariables = message.blackboardVariables.map((e) => e ? util_1.KeyValue.toJSON(e) : undefined);
        }
        else {
            obj.blackboardVariables = [];
        }
        return obj;
    },
    fromPartial(object) {
        const message = createBaseSetBlackboard();
        message.blackboardVariables =
            object.blackboardVariables?.map((e) => util_1.KeyValue.fromPartial(e)) || [];
        return message;
    },
};
function createBaseFormatBlackboard() {
    return { key: "", format: "" };
}
exports.FormatBlackboard = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.key !== "") {
            writer.uint32(10).string(message.key);
        }
        if (message.format !== "") {
            writer.uint32(18).string(message.format);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseFormatBlackboard();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.key = reader.string();
                    break;
                case 2:
                    message.format = reader.string();
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            key: isSet(object.key) ? String(object.key) : "",
            format: isSet(object.format) ? String(object.format) : "",
        };
    },
    toJSON(message) {
        const obj = {};
        message.key !== undefined && (obj.key = message.key);
        message.format !== undefined && (obj.format = message.format);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseFormatBlackboard();
        message.key = object.key ?? "";
        message.format = object.format ?? "";
        return message;
    },
};
function createBaseDateToBlackboard() {
    return { key: "" };
}
exports.DateToBlackboard = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.key !== "") {
            writer.uint32(10).string(message.key);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseDateToBlackboard();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.key = reader.string();
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            key: isSet(object.key) ? String(object.key) : "",
        };
    },
    toJSON(message) {
        const obj = {};
        message.key !== undefined && (obj.key = message.key);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseDateToBlackboard();
        message.key = object.key ?? "";
        return message;
    },
};
function createBaseConstantResult() {
    return { result: 0 };
}
exports.ConstantResult = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.result !== 0) {
            writer.uint32(8).int32(message.result);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseConstantResult();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.result = reader.int32();
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            result: isSet(object.result) ? (0, util_1.resultFromJSON)(object.result) : 0,
        };
    },
    toJSON(message) {
        const obj = {};
        message.result !== undefined && (obj.result = (0, util_1.resultToJSON)(message.result));
        return obj;
    },
    fromPartial(object) {
        const message = createBaseConstantResult();
        message.result = object.result ?? 0;
        return message;
    },
};
function createBaseRestartWhenPaused() {
    return { child: undefined };
}
exports.RestartWhenPaused = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.child !== undefined) {
            exports.Node.encode(message.child, writer.uint32(10).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseRestartWhenPaused();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.child = exports.Node.decode(reader, reader.uint32());
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            child: isSet(object.child) ? exports.Node.fromJSON(object.child) : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        message.child !== undefined &&
            (obj.child = message.child ? exports.Node.toJSON(message.child) : undefined);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseRestartWhenPaused();
        message.child =
            object.child !== undefined && object.child !== null
                ? exports.Node.fromPartial(object.child)
                : undefined;
        return message;
    },
};
function createBaseClearBehaviorFaults() {
    return { serviceName: "", host: "", robotStateBlackboardName: "" };
}
exports.ClearBehaviorFaults = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.serviceName !== "") {
            writer.uint32(10).string(message.serviceName);
        }
        if (message.host !== "") {
            writer.uint32(18).string(message.host);
        }
        if (message.robotStateBlackboardName !== "") {
            writer.uint32(26).string(message.robotStateBlackboardName);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseClearBehaviorFaults();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    message.serviceName = reader.string();
                    break;
                case 2:
                    message.host = reader.string();
                    break;
                case 3:
                    message.robotStateBlackboardName = reader.string();
                    break;
                default:
                    reader.skipType(tag & 7);
                    break;
            }
        }
        return message;
    },
    fromJSON(object) {
        return {
            serviceName: isSet(object.serviceName) ? String(object.serviceName) : "",
            host: isSet(object.host) ? String(object.host) : "",
            robotStateBlackboardName: isSet(object.robotStateBlackboardName)
                ? String(object.robotStateBlackboardName)
                : "",
        };
    },
    toJSON(message) {
        const obj = {};
        message.serviceName !== undefined &&
            (obj.serviceName = message.serviceName);
        message.host !== undefined && (obj.host = message.host);
        message.robotStateBlackboardName !== undefined &&
            (obj.robotStateBlackboardName = message.robotStateBlackboardName);
        return obj;
    },
    fromPartial(object) {
        const message = createBaseClearBehaviorFaults();
        message.serviceName = object.serviceName ?? "";
        message.host = object.host ?? "";
        message.robotStateBlackboardName = object.robotStateBlackboardName ?? "";
        return message;
    },
};
var globalThis = (() => {
    if (typeof globalThis !== "undefined")
        return globalThis;
    if (typeof self !== "undefined")
        return self;
    if (typeof window !== "undefined")
        return window;
    if (typeof global !== "undefined")
        return global;
    throw "Unable to locate global object";
})();
function longToNumber(long) {
    if (long.gt(Number.MAX_SAFE_INTEGER)) {
        throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER");
    }
    return long.toNumber();
}
if (minimal_1.default.util.Long !== long_1.default) {
    minimal_1.default.util.Long = long_1.default;
    minimal_1.default.configure();
}
function isObject(value) {
    return typeof value === "object" && value !== null;
}
function isSet(value) {
    return value !== null && value !== undefined;
}
//# sourceMappingURL=nodes.js.map