UNPKG

ardunno-cli

Version:
3,843 lines 151 kB
"use strict";
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
// versions:
//   protoc-gen-ts_proto  v1.181.2
//   protoc               v3.20.3
// source: cc/arduino/cli/commands/v1/lib.proto
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.GitLibraryInstallResponse_Result = exports.GitLibraryInstallResponse = exports.GitLibraryInstallRequest = exports.ZipLibraryInstallResponse_Result = exports.ZipLibraryInstallResponse = exports.ZipLibraryInstallRequest = exports.Library_CompatibleWithEntry = exports.Library_PropertiesEntry = exports.Library = exports.InstalledLibrary = exports.LibraryListResponse = exports.LibraryListRequest = exports.DownloadResource = exports.LibraryDependency = exports.LibraryRelease = exports.SearchedLibrary_ReleasesEntry = exports.SearchedLibrary = exports.LibrarySearchResponse = exports.LibrarySearchRequest = exports.LibraryDependencyStatus = exports.LibraryResolveDependenciesResponse = exports.LibraryResolveDependenciesRequest = exports.LibraryUpgradeAllResponse_Result = exports.LibraryUpgradeAllResponse = exports.LibraryUpgradeAllRequest = exports.LibraryUninstallResponse_Result = exports.LibraryUninstallResponse = exports.LibraryUninstallRequest = exports.LibraryUpgradeResponse_Result = exports.LibraryUpgradeResponse = exports.LibraryUpgradeRequest = exports.LibraryInstallResponse_Result = exports.LibraryInstallResponse = exports.LibraryInstallRequest = exports.LibraryDownloadResponse_Result = exports.LibraryDownloadResponse = exports.LibraryDownloadRequest = exports.LibraryLocation = exports.LibraryLayout = exports.LibrarySearchStatus = exports.LibraryInstallLocation = void 0;
exports.libraryInstallLocationFromJSON = libraryInstallLocationFromJSON;
exports.libraryInstallLocationToJSON = libraryInstallLocationToJSON;
exports.librarySearchStatusFromJSON = librarySearchStatusFromJSON;
exports.librarySearchStatusToJSON = librarySearchStatusToJSON;
exports.libraryLayoutFromJSON = libraryLayoutFromJSON;
exports.libraryLayoutToJSON = libraryLayoutToJSON;
exports.libraryLocationFromJSON = libraryLocationFromJSON;
exports.libraryLocationToJSON = libraryLocationToJSON;
/* eslint-disable */
const long_1 = __importDefault(require("long"));
const minimal_1 = __importDefault(require("protobufjs/minimal"));
const common_1 = require("./common");
/** Represent a library installation location. */
var LibraryInstallLocation;
(function (LibraryInstallLocation) {
    /**
     * LIBRARY_INSTALL_LOCATION_USER - In the `libraries` subdirectory of the user
     * directory (sketchbook). This is the default if not specified.
     */
    LibraryInstallLocation[LibraryInstallLocation["LIBRARY_INSTALL_LOCATION_USER"] = 0] = "LIBRARY_INSTALL_LOCATION_USER";
    /**
     * LIBRARY_INSTALL_LOCATION_BUILTIN - In the configured 'builtin.libraries'
     * directory.
     */
    LibraryInstallLocation[LibraryInstallLocation["LIBRARY_INSTALL_LOCATION_BUILTIN"] = 1] = "LIBRARY_INSTALL_LOCATION_BUILTIN";
    LibraryInstallLocation[LibraryInstallLocation["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
})(LibraryInstallLocation || (exports.LibraryInstallLocation = LibraryInstallLocation = {}));
function libraryInstallLocationFromJSON(object) {
    switch (object) {
        case 0:
        case 'LIBRARY_INSTALL_LOCATION_USER':
            return LibraryInstallLocation.LIBRARY_INSTALL_LOCATION_USER;
        case 1:
        case 'LIBRARY_INSTALL_LOCATION_BUILTIN':
            return LibraryInstallLocation.LIBRARY_INSTALL_LOCATION_BUILTIN;
        case -1:
        case 'UNRECOGNIZED':
        default:
            return LibraryInstallLocation.UNRECOGNIZED;
    }
}
function libraryInstallLocationToJSON(object) {
    switch (object) {
        case LibraryInstallLocation.LIBRARY_INSTALL_LOCATION_USER:
            return 'LIBRARY_INSTALL_LOCATION_USER';
        case LibraryInstallLocation.LIBRARY_INSTALL_LOCATION_BUILTIN:
            return 'LIBRARY_INSTALL_LOCATION_BUILTIN';
        case LibraryInstallLocation.UNRECOGNIZED:
        default:
            return 'UNRECOGNIZED';
    }
}
/** Represent the result of the library search. */
var LibrarySearchStatus;
(function (LibrarySearchStatus) {
    /** LIBRARY_SEARCH_STATUS_FAILED - No search results were found. */
    LibrarySearchStatus[LibrarySearchStatus["LIBRARY_SEARCH_STATUS_FAILED"] = 0] = "LIBRARY_SEARCH_STATUS_FAILED";
    /** LIBRARY_SEARCH_STATUS_SUCCESS - Search results were found. */
    LibrarySearchStatus[LibrarySearchStatus["LIBRARY_SEARCH_STATUS_SUCCESS"] = 1] = "LIBRARY_SEARCH_STATUS_SUCCESS";
    LibrarySearchStatus[LibrarySearchStatus["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
})(LibrarySearchStatus || (exports.LibrarySearchStatus = LibrarySearchStatus = {}));
function librarySearchStatusFromJSON(object) {
    switch (object) {
        case 0:
        case 'LIBRARY_SEARCH_STATUS_FAILED':
            return LibrarySearchStatus.LIBRARY_SEARCH_STATUS_FAILED;
        case 1:
        case 'LIBRARY_SEARCH_STATUS_SUCCESS':
            return LibrarySearchStatus.LIBRARY_SEARCH_STATUS_SUCCESS;
        case -1:
        case 'UNRECOGNIZED':
        default:
            return LibrarySearchStatus.UNRECOGNIZED;
    }
}
function librarySearchStatusToJSON(object) {
    switch (object) {
        case LibrarySearchStatus.LIBRARY_SEARCH_STATUS_FAILED:
            return 'LIBRARY_SEARCH_STATUS_FAILED';
        case LibrarySearchStatus.LIBRARY_SEARCH_STATUS_SUCCESS:
            return 'LIBRARY_SEARCH_STATUS_SUCCESS';
        case LibrarySearchStatus.UNRECOGNIZED:
        default:
            return 'UNRECOGNIZED';
    }
}
/** Represent the library layout. */
var LibraryLayout;
(function (LibraryLayout) {
    /** LIBRARY_LAYOUT_FLAT - Library is in the 1.0 Arduino library format. */
    LibraryLayout[LibraryLayout["LIBRARY_LAYOUT_FLAT"] = 0] = "LIBRARY_LAYOUT_FLAT";
    /** LIBRARY_LAYOUT_RECURSIVE - Library is in the 1.5 Arduino library format. */
    LibraryLayout[LibraryLayout["LIBRARY_LAYOUT_RECURSIVE"] = 1] = "LIBRARY_LAYOUT_RECURSIVE";
    LibraryLayout[LibraryLayout["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
})(LibraryLayout || (exports.LibraryLayout = LibraryLayout = {}));
function libraryLayoutFromJSON(object) {
    switch (object) {
        case 0:
        case 'LIBRARY_LAYOUT_FLAT':
            return LibraryLayout.LIBRARY_LAYOUT_FLAT;
        case 1:
        case 'LIBRARY_LAYOUT_RECURSIVE':
            return LibraryLayout.LIBRARY_LAYOUT_RECURSIVE;
        case -1:
        case 'UNRECOGNIZED':
        default:
            return LibraryLayout.UNRECOGNIZED;
    }
}
function libraryLayoutToJSON(object) {
    switch (object) {
        case LibraryLayout.LIBRARY_LAYOUT_FLAT:
            return 'LIBRARY_LAYOUT_FLAT';
        case LibraryLayout.LIBRARY_LAYOUT_RECURSIVE:
            return 'LIBRARY_LAYOUT_RECURSIVE';
        case LibraryLayout.UNRECOGNIZED:
        default:
            return 'UNRECOGNIZED';
    }
}
/** Represent the location of the library. */
var LibraryLocation;
(function (LibraryLocation) {
    /** LIBRARY_LOCATION_BUILTIN - In the configured 'builtin.libraries' directory. */
    LibraryLocation[LibraryLocation["LIBRARY_LOCATION_BUILTIN"] = 0] = "LIBRARY_LOCATION_BUILTIN";
    /**
     * LIBRARY_LOCATION_USER - In the `libraries` subdirectory of the user
     * directory (sketchbook).
     */
    LibraryLocation[LibraryLocation["LIBRARY_LOCATION_USER"] = 1] = "LIBRARY_LOCATION_USER";
    /**
     * LIBRARY_LOCATION_PLATFORM_BUILTIN - In the `libraries` subdirectory of a
     * platform.
     */
    LibraryLocation[LibraryLocation["LIBRARY_LOCATION_PLATFORM_BUILTIN"] = 2] = "LIBRARY_LOCATION_PLATFORM_BUILTIN";
    /**
     * LIBRARY_LOCATION_REFERENCED_PLATFORM_BUILTIN - When `LibraryLocation` is
     * used in a context where a board is specified, this indicates the library is
     * in the `libraries` subdirectory of a platform referenced by the board's
     * platform.
     */
    LibraryLocation[LibraryLocation["LIBRARY_LOCATION_REFERENCED_PLATFORM_BUILTIN"] = 3] = "LIBRARY_LOCATION_REFERENCED_PLATFORM_BUILTIN";
    /**
     * LIBRARY_LOCATION_UNMANAGED - Outside the `libraries` folders managed by the
     * CLI.
     */
    LibraryLocation[LibraryLocation["LIBRARY_LOCATION_UNMANAGED"] = 4] = "LIBRARY_LOCATION_UNMANAGED";
    /** LIBRARY_LOCATION_PROFILE - Library is part of the sketch profile. */
    LibraryLocation[LibraryLocation["LIBRARY_LOCATION_PROFILE"] = 5] = "LIBRARY_LOCATION_PROFILE";
    LibraryLocation[LibraryLocation["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
})(LibraryLocation || (exports.LibraryLocation = LibraryLocation = {}));
function libraryLocationFromJSON(object) {
    switch (object) {
        case 0:
        case 'LIBRARY_LOCATION_BUILTIN':
            return LibraryLocation.LIBRARY_LOCATION_BUILTIN;
        case 1:
        case 'LIBRARY_LOCATION_USER':
            return LibraryLocation.LIBRARY_LOCATION_USER;
        case 2:
        case 'LIBRARY_LOCATION_PLATFORM_BUILTIN':
            return LibraryLocation.LIBRARY_LOCATION_PLATFORM_BUILTIN;
        case 3:
        case 'LIBRARY_LOCATION_REFERENCED_PLATFORM_BUILTIN':
            return LibraryLocation.LIBRARY_LOCATION_REFERENCED_PLATFORM_BUILTIN;
        case 4:
        case 'LIBRARY_LOCATION_UNMANAGED':
            return LibraryLocation.LIBRARY_LOCATION_UNMANAGED;
        case 5:
        case 'LIBRARY_LOCATION_PROFILE':
            return LibraryLocation.LIBRARY_LOCATION_PROFILE;
        case -1:
        case 'UNRECOGNIZED':
        default:
            return LibraryLocation.UNRECOGNIZED;
    }
}
function libraryLocationToJSON(object) {
    switch (object) {
        case LibraryLocation.LIBRARY_LOCATION_BUILTIN:
            return 'LIBRARY_LOCATION_BUILTIN';
        case LibraryLocation.LIBRARY_LOCATION_USER:
            return 'LIBRARY_LOCATION_USER';
        case LibraryLocation.LIBRARY_LOCATION_PLATFORM_BUILTIN:
            return 'LIBRARY_LOCATION_PLATFORM_BUILTIN';
        case LibraryLocation.LIBRARY_LOCATION_REFERENCED_PLATFORM_BUILTIN:
            return 'LIBRARY_LOCATION_REFERENCED_PLATFORM_BUILTIN';
        case LibraryLocation.LIBRARY_LOCATION_UNMANAGED:
            return 'LIBRARY_LOCATION_UNMANAGED';
        case LibraryLocation.LIBRARY_LOCATION_PROFILE:
            return 'LIBRARY_LOCATION_PROFILE';
        case LibraryLocation.UNRECOGNIZED:
        default:
            return 'UNRECOGNIZED';
    }
}
function createBaseLibraryDownloadRequest() {
    return { instance: undefined, name: '', version: '' };
}
exports.LibraryDownloadRequest = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.instance !== undefined) {
            common_1.Instance.encode(message.instance, writer.uint32(10).fork()).ldelim();
        }
        if (message.name !== '') {
            writer.uint32(18).string(message.name);
        }
        if (message.version !== '') {
            writer.uint32(26).string(message.version);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseLibraryDownloadRequest();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    message.instance = common_1.Instance.decode(reader, reader.uint32());
                    continue;
                case 2:
                    if (tag !== 18) {
                        break;
                    }
                    message.name = reader.string();
                    continue;
                case 3:
                    if (tag !== 26) {
                        break;
                    }
                    message.version = reader.string();
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            instance: isSet(object.instance)
                ? common_1.Instance.fromJSON(object.instance)
                : undefined,
            name: isSet(object.name) ? globalThis.String(object.name) : '',
            version: isSet(object.version) ? globalThis.String(object.version) : '',
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.instance !== undefined) {
            obj.instance = common_1.Instance.toJSON(message.instance);
        }
        if (message.name !== '') {
            obj.name = message.name;
        }
        if (message.version !== '') {
            obj.version = message.version;
        }
        return obj;
    },
    create(base) {
        return exports.LibraryDownloadRequest.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a, _b;
        const message = createBaseLibraryDownloadRequest();
        message.instance =
            object.instance !== undefined && object.instance !== null
                ? common_1.Instance.fromPartial(object.instance)
                : undefined;
        message.name = (_a = object.name) !== null && _a !== void 0 ? _a : '';
        message.version = (_b = object.version) !== null && _b !== void 0 ? _b : '';
        return message;
    },
};
function createBaseLibraryDownloadResponse() {
    return { message: undefined };
}
exports.LibraryDownloadResponse = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        var _a;
        switch ((_a = message.message) === null || _a === void 0 ? void 0 : _a.$case) {
            case 'progress':
                common_1.DownloadProgress.encode(message.message.progress, writer.uint32(10).fork()).ldelim();
                break;
            case 'result':
                exports.LibraryDownloadResponse_Result.encode(message.message.result, writer.uint32(18).fork()).ldelim();
                break;
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseLibraryDownloadResponse();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    message.message = {
                        $case: 'progress',
                        progress: common_1.DownloadProgress.decode(reader, reader.uint32()),
                    };
                    continue;
                case 2:
                    if (tag !== 18) {
                        break;
                    }
                    message.message = {
                        $case: 'result',
                        result: exports.LibraryDownloadResponse_Result.decode(reader, reader.uint32()),
                    };
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            message: isSet(object.progress)
                ? {
                    $case: 'progress',
                    progress: common_1.DownloadProgress.fromJSON(object.progress),
                }
                : isSet(object.result)
                    ? {
                        $case: 'result',
                        result: exports.LibraryDownloadResponse_Result.fromJSON(object.result),
                    }
                    : undefined,
        };
    },
    toJSON(message) {
        var _a, _b;
        const obj = {};
        if (((_a = message.message) === null || _a === void 0 ? void 0 : _a.$case) === 'progress') {
            obj.progress = common_1.DownloadProgress.toJSON(message.message.progress);
        }
        if (((_b = message.message) === null || _b === void 0 ? void 0 : _b.$case) === 'result') {
            obj.result = exports.LibraryDownloadResponse_Result.toJSON(message.message.result);
        }
        return obj;
    },
    create(base) {
        return exports.LibraryDownloadResponse.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a, _b, _c, _d, _e, _f;
        const message = createBaseLibraryDownloadResponse();
        if (((_a = object.message) === null || _a === void 0 ? void 0 : _a.$case) === 'progress' &&
            ((_b = object.message) === null || _b === void 0 ? void 0 : _b.progress) !== undefined &&
            ((_c = object.message) === null || _c === void 0 ? void 0 : _c.progress) !== null) {
            message.message = {
                $case: 'progress',
                progress: common_1.DownloadProgress.fromPartial(object.message.progress),
            };
        }
        if (((_d = object.message) === null || _d === void 0 ? void 0 : _d.$case) === 'result' &&
            ((_e = object.message) === null || _e === void 0 ? void 0 : _e.result) !== undefined &&
            ((_f = object.message) === null || _f === void 0 ? void 0 : _f.result) !== null) {
            message.message = {
                $case: 'result',
                result: exports.LibraryDownloadResponse_Result.fromPartial(object.message.result),
            };
        }
        return message;
    },
};
function createBaseLibraryDownloadResponse_Result() {
    return {};
}
exports.LibraryDownloadResponse_Result = {
    encode(_, writer = minimal_1.default.Writer.create()) {
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseLibraryDownloadResponse_Result();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(_) {
        return {};
    },
    toJSON(_) {
        const obj = {};
        return obj;
    },
    create(base) {
        return exports.LibraryDownloadResponse_Result.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(_) {
        const message = createBaseLibraryDownloadResponse_Result();
        return message;
    },
};
function createBaseLibraryInstallRequest() {
    return {
        instance: undefined,
        name: '',
        version: '',
        noDeps: false,
        noOverwrite: false,
        installLocation: 0,
    };
}
exports.LibraryInstallRequest = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.instance !== undefined) {
            common_1.Instance.encode(message.instance, writer.uint32(10).fork()).ldelim();
        }
        if (message.name !== '') {
            writer.uint32(18).string(message.name);
        }
        if (message.version !== '') {
            writer.uint32(26).string(message.version);
        }
        if (message.noDeps !== false) {
            writer.uint32(32).bool(message.noDeps);
        }
        if (message.noOverwrite !== false) {
            writer.uint32(40).bool(message.noOverwrite);
        }
        if (message.installLocation !== 0) {
            writer.uint32(48).int32(message.installLocation);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseLibraryInstallRequest();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    message.instance = common_1.Instance.decode(reader, reader.uint32());
                    continue;
                case 2:
                    if (tag !== 18) {
                        break;
                    }
                    message.name = reader.string();
                    continue;
                case 3:
                    if (tag !== 26) {
                        break;
                    }
                    message.version = reader.string();
                    continue;
                case 4:
                    if (tag !== 32) {
                        break;
                    }
                    message.noDeps = reader.bool();
                    continue;
                case 5:
                    if (tag !== 40) {
                        break;
                    }
                    message.noOverwrite = reader.bool();
                    continue;
                case 6:
                    if (tag !== 48) {
                        break;
                    }
                    message.installLocation = reader.int32();
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            instance: isSet(object.instance)
                ? common_1.Instance.fromJSON(object.instance)
                : undefined,
            name: isSet(object.name) ? globalThis.String(object.name) : '',
            version: isSet(object.version) ? globalThis.String(object.version) : '',
            noDeps: isSet(object.noDeps) ? globalThis.Boolean(object.noDeps) : false,
            noOverwrite: isSet(object.noOverwrite)
                ? globalThis.Boolean(object.noOverwrite)
                : false,
            installLocation: isSet(object.installLocation)
                ? libraryInstallLocationFromJSON(object.installLocation)
                : 0,
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.instance !== undefined) {
            obj.instance = common_1.Instance.toJSON(message.instance);
        }
        if (message.name !== '') {
            obj.name = message.name;
        }
        if (message.version !== '') {
            obj.version = message.version;
        }
        if (message.noDeps !== false) {
            obj.noDeps = message.noDeps;
        }
        if (message.noOverwrite !== false) {
            obj.noOverwrite = message.noOverwrite;
        }
        if (message.installLocation !== 0) {
            obj.installLocation = libraryInstallLocationToJSON(message.installLocation);
        }
        return obj;
    },
    create(base) {
        return exports.LibraryInstallRequest.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a, _b, _c, _d, _e;
        const message = createBaseLibraryInstallRequest();
        message.instance =
            object.instance !== undefined && object.instance !== null
                ? common_1.Instance.fromPartial(object.instance)
                : undefined;
        message.name = (_a = object.name) !== null && _a !== void 0 ? _a : '';
        message.version = (_b = object.version) !== null && _b !== void 0 ? _b : '';
        message.noDeps = (_c = object.noDeps) !== null && _c !== void 0 ? _c : false;
        message.noOverwrite = (_d = object.noOverwrite) !== null && _d !== void 0 ? _d : false;
        message.installLocation = (_e = object.installLocation) !== null && _e !== void 0 ? _e : 0;
        return message;
    },
};
function createBaseLibraryInstallResponse() {
    return { message: undefined };
}
exports.LibraryInstallResponse = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        var _a;
        switch ((_a = message.message) === null || _a === void 0 ? void 0 : _a.$case) {
            case 'progress':
                common_1.DownloadProgress.encode(message.message.progress, writer.uint32(10).fork()).ldelim();
                break;
            case 'taskProgress':
                common_1.TaskProgress.encode(message.message.taskProgress, writer.uint32(18).fork()).ldelim();
                break;
            case 'result':
                exports.LibraryInstallResponse_Result.encode(message.message.result, writer.uint32(26).fork()).ldelim();
                break;
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseLibraryInstallResponse();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    message.message = {
                        $case: 'progress',
                        progress: common_1.DownloadProgress.decode(reader, reader.uint32()),
                    };
                    continue;
                case 2:
                    if (tag !== 18) {
                        break;
                    }
                    message.message = {
                        $case: 'taskProgress',
                        taskProgress: common_1.TaskProgress.decode(reader, reader.uint32()),
                    };
                    continue;
                case 3:
                    if (tag !== 26) {
                        break;
                    }
                    message.message = {
                        $case: 'result',
                        result: exports.LibraryInstallResponse_Result.decode(reader, reader.uint32()),
                    };
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            message: isSet(object.progress)
                ? {
                    $case: 'progress',
                    progress: common_1.DownloadProgress.fromJSON(object.progress),
                }
                : isSet(object.taskProgress)
                    ? {
                        $case: 'taskProgress',
                        taskProgress: common_1.TaskProgress.fromJSON(object.taskProgress),
                    }
                    : isSet(object.result)
                        ? {
                            $case: 'result',
                            result: exports.LibraryInstallResponse_Result.fromJSON(object.result),
                        }
                        : undefined,
        };
    },
    toJSON(message) {
        var _a, _b, _c;
        const obj = {};
        if (((_a = message.message) === null || _a === void 0 ? void 0 : _a.$case) === 'progress') {
            obj.progress = common_1.DownloadProgress.toJSON(message.message.progress);
        }
        if (((_b = message.message) === null || _b === void 0 ? void 0 : _b.$case) === 'taskProgress') {
            obj.taskProgress = common_1.TaskProgress.toJSON(message.message.taskProgress);
        }
        if (((_c = message.message) === null || _c === void 0 ? void 0 : _c.$case) === 'result') {
            obj.result = exports.LibraryInstallResponse_Result.toJSON(message.message.result);
        }
        return obj;
    },
    create(base) {
        return exports.LibraryInstallResponse.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a, _b, _c, _d, _e, _f, _g, _h, _j;
        const message = createBaseLibraryInstallResponse();
        if (((_a = object.message) === null || _a === void 0 ? void 0 : _a.$case) === 'progress' &&
            ((_b = object.message) === null || _b === void 0 ? void 0 : _b.progress) !== undefined &&
            ((_c = object.message) === null || _c === void 0 ? void 0 : _c.progress) !== null) {
            message.message = {
                $case: 'progress',
                progress: common_1.DownloadProgress.fromPartial(object.message.progress),
            };
        }
        if (((_d = object.message) === null || _d === void 0 ? void 0 : _d.$case) === 'taskProgress' &&
            ((_e = object.message) === null || _e === void 0 ? void 0 : _e.taskProgress) !== undefined &&
            ((_f = object.message) === null || _f === void 0 ? void 0 : _f.taskProgress) !== null) {
            message.message = {
                $case: 'taskProgress',
                taskProgress: common_1.TaskProgress.fromPartial(object.message.taskProgress),
            };
        }
        if (((_g = object.message) === null || _g === void 0 ? void 0 : _g.$case) === 'result' &&
            ((_h = object.message) === null || _h === void 0 ? void 0 : _h.result) !== undefined &&
            ((_j = object.message) === null || _j === void 0 ? void 0 : _j.result) !== null) {
            message.message = {
                $case: 'result',
                result: exports.LibraryInstallResponse_Result.fromPartial(object.message.result),
            };
        }
        return message;
    },
};
function createBaseLibraryInstallResponse_Result() {
    return {};
}
exports.LibraryInstallResponse_Result = {
    encode(_, writer = minimal_1.default.Writer.create()) {
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseLibraryInstallResponse_Result();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(_) {
        return {};
    },
    toJSON(_) {
        const obj = {};
        return obj;
    },
    create(base) {
        return exports.LibraryInstallResponse_Result.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(_) {
        const message = createBaseLibraryInstallResponse_Result();
        return message;
    },
};
function createBaseLibraryUpgradeRequest() {
    return { instance: undefined, name: '', noDeps: false };
}
exports.LibraryUpgradeRequest = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.instance !== undefined) {
            common_1.Instance.encode(message.instance, writer.uint32(10).fork()).ldelim();
        }
        if (message.name !== '') {
            writer.uint32(18).string(message.name);
        }
        if (message.noDeps !== false) {
            writer.uint32(24).bool(message.noDeps);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseLibraryUpgradeRequest();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    message.instance = common_1.Instance.decode(reader, reader.uint32());
                    continue;
                case 2:
                    if (tag !== 18) {
                        break;
                    }
                    message.name = reader.string();
                    continue;
                case 3:
                    if (tag !== 24) {
                        break;
                    }
                    message.noDeps = reader.bool();
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            instance: isSet(object.instance)
                ? common_1.Instance.fromJSON(object.instance)
                : undefined,
            name: isSet(object.name) ? globalThis.String(object.name) : '',
            noDeps: isSet(object.noDeps) ? globalThis.Boolean(object.noDeps) : false,
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.instance !== undefined) {
            obj.instance = common_1.Instance.toJSON(message.instance);
        }
        if (message.name !== '') {
            obj.name = message.name;
        }
        if (message.noDeps !== false) {
            obj.noDeps = message.noDeps;
        }
        return obj;
    },
    create(base) {
        return exports.LibraryUpgradeRequest.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a, _b;
        const message = createBaseLibraryUpgradeRequest();
        message.instance =
            object.instance !== undefined && object.instance !== null
                ? common_1.Instance.fromPartial(object.instance)
                : undefined;
        message.name = (_a = object.name) !== null && _a !== void 0 ? _a : '';
        message.noDeps = (_b = object.noDeps) !== null && _b !== void 0 ? _b : false;
        return message;
    },
};
function createBaseLibraryUpgradeResponse() {
    return { message: undefined };
}
exports.LibraryUpgradeResponse = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        var _a;
        switch ((_a = message.message) === null || _a === void 0 ? void 0 : _a.$case) {
            case 'progress':
                common_1.DownloadProgress.encode(message.message.progress, writer.uint32(10).fork()).ldelim();
                break;
            case 'taskProgress':
                common_1.TaskProgress.encode(message.message.taskProgress, writer.uint32(18).fork()).ldelim();
                break;
            case 'result':
                exports.LibraryUpgradeResponse_Result.encode(message.message.result, writer.uint32(26).fork()).ldelim();
                break;
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseLibraryUpgradeResponse();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    message.message = {
                        $case: 'progress',
                        progress: common_1.DownloadProgress.decode(reader, reader.uint32()),
                    };
                    continue;
                case 2:
                    if (tag !== 18) {
                        break;
                    }
                    message.message = {
                        $case: 'taskProgress',
                        taskProgress: common_1.TaskProgress.decode(reader, reader.uint32()),
                    };
                    continue;
                case 3:
                    if (tag !== 26) {
                        break;
                    }
                    message.message = {
                        $case: 'result',
                        result: exports.LibraryUpgradeResponse_Result.decode(reader, reader.uint32()),
                    };
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            message: isSet(object.progress)
                ? {
                    $case: 'progress',
                    progress: common_1.DownloadProgress.fromJSON(object.progress),
                }
                : isSet(object.taskProgress)
                    ? {
                        $case: 'taskProgress',
                        taskProgress: common_1.TaskProgress.fromJSON(object.taskProgress),
                    }
                    : isSet(object.result)
                        ? {
                            $case: 'result',
                            result: exports.LibraryUpgradeResponse_Result.fromJSON(object.result),
                        }
                        : undefined,
        };
    },
    toJSON(message) {
        var _a, _b, _c;
        const obj = {};
        if (((_a = message.message) === null || _a === void 0 ? void 0 : _a.$case) === 'progress') {
            obj.progress = common_1.DownloadProgress.toJSON(message.message.progress);
        }
        if (((_b = message.message) === null || _b === void 0 ? void 0 : _b.$case) === 'taskProgress') {
            obj.taskProgress = common_1.TaskProgress.toJSON(message.message.taskProgress);
        }
        if (((_c = message.message) === null || _c === void 0 ? void 0 : _c.$case) === 'result') {
            obj.result = exports.LibraryUpgradeResponse_Result.toJSON(message.message.result);
        }
        return obj;
    },
    create(base) {
        return exports.LibraryUpgradeResponse.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a, _b, _c, _d, _e, _f, _g, _h, _j;
        const message = createBaseLibraryUpgradeResponse();
        if (((_a = object.message) === null || _a === void 0 ? void 0 : _a.$case) === 'progress' &&
            ((_b = object.message) === null || _b === void 0 ? void 0 : _b.progress) !== undefined &&
            ((_c = object.message) === null || _c === void 0 ? void 0 : _c.progress) !== null) {
            message.message = {
                $case: 'progress',
                progress: common_1.DownloadProgress.fromPartial(object.message.progress),
            };
        }
        if (((_d = object.message) === null || _d === void 0 ? void 0 : _d.$case) === 'taskProgress' &&
            ((_e = object.message) === null || _e === void 0 ? void 0 : _e.taskProgress) !== undefined &&
            ((_f = object.message) === null || _f === void 0 ? void 0 : _f.taskProgress) !== null) {
            message.message = {
                $case: 'taskProgress',
                taskProgress: common_1.TaskProgress.fromPartial(object.message.taskProgress),
            };
        }
        if (((_g = object.message) === null || _g === void 0 ? void 0 : _g.$case) === 'result' &&
            ((_h = object.message) === null || _h === void 0 ? void 0 : _h.result) !== undefined &&
            ((_j = object.message) === null || _j === void 0 ? void 0 : _j.result) !== null) {
            message.message = {
                $case: 'result',
                result: exports.LibraryUpgradeResponse_Result.fromPartial(object.message.result),
            };
        }
        return message;
    },
};
function createBaseLibraryUpgradeResponse_Result() {
    return {};
}
exports.LibraryUpgradeResponse_Result = {
    encode(_, writer = minimal_1.default.Writer.create()) {
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseLibraryUpgradeResponse_Result();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(_) {
        return {};
    },
    toJSON(_) {
        const obj = {};
        return obj;
    },
    create(base) {
        return exports.LibraryUpgradeResponse_Result.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(_) {
        const message = createBaseLibraryUpgradeResponse_Result();
        return message;
    },
};
function createBaseLibraryUninstallRequest() {
    return { instance: undefined, name: '', version: '' };
}
exports.LibraryUninstallRequest = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.instance !== undefined) {
            common_1.Instance.encode(message.instance, writer.uint32(10).fork()).ldelim();
        }
        if (message.name !== '') {
            writer.uint32(18).string(message.name);
        }
        if (message.version !== '') {
            writer.uint32(26).string(message.version);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseLibraryUninstallRequest();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    message.instance = common_1.Instance.decode(reader, reader.uint32());
                    continue;
                case 2:
                    if (tag !== 18) {
                        break;
                    }
                    message.name = reader.string();
                    continue;
                case 3:
                    if (tag !== 26) {
                        break;
                    }
                    message.version = reader.string();
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            instance: isSet(object.instance)
                ? common_1.Instance.fromJSON(object.instance)
                : undefined,
            name: isSet(object.name) ? globalThis.String(object.name) : '',
            version: isSet(object.version) ? globalThis.String(object.version) : '',
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.instance !== undefined) {
            obj.instance = common_1.Instance.toJSON(message.instance);
        }
        if (message.name !== '') {
            obj.name = message.name;
        }
        if (message.version !== '') {
            obj.version = message.version;
        }
        return obj;
    },
    create(base) {
        return exports.LibraryUninstallRequest.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a, _b;
        const message = createBaseLibraryUninstallRequest();
        message.instance =
            object.instance !== undefined && object.instance !== null
                ? common_1.Instance.fromPartial(object.instance)
                : undefined;
        message.name = (_a = object.name) !== null && _a !== void 0 ? _a : '';
        message.version = (_b = object.version) !== null && _b !== void 0 ? _b : '';
        return message;
    },
};
function createBaseLibraryUninstallResponse() {
    return { message: undefined };
}
exports.LibraryUninstallResponse = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        var _a;
        switch ((_a = message.message) === null || _a === void 0 ? void 0 : _a.$case) {
            case 'taskProgress':
                common_1.TaskProgress.encode(message.message.taskProgress, writer.uint32(10).fork()).ldelim();
                break;
            case 'result':
                exports.LibraryUninstallResponse_Result.encode(message.message.result, writer.uint32(18).fork()).ldelim();
                break;
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseLibraryUninstallResponse();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    message.message = {
                        $case: 'taskProgress',
                        taskProgress: common_1.TaskProgress.decode(reader, reader.uint32()),
                    };
                    continue;
                case 2:
                    if (tag !== 18) {
                        break;
                    }
                    message.message = {
                        $case: 'result',
                        result: exports.LibraryUninstallResponse_Result.decode(reader, reader.uint32()),
                    };
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            message: isSet(object.taskProgress)
                ? {
                    $case: 'taskProgress',
                    taskProgress: common_1.TaskProgress.fromJSON(object.taskProgress),
                }
                : isSet(object.result)
                    ? {
                        $case: 'result',
                        result: exports.LibraryUninstallResponse_Result.fromJSON(object.result),
                    }
                    : undefined,
        };
    },
    toJSON(message) {
        var _a, _b;
        const obj = {};
        if (((_a = message.message) === null || _a === void 0 ? void 0 : _a.$case) === 'taskProgress') {
            obj.taskProgress = common_1.TaskProgress.toJSON(message.message.taskProgress);
        }
        if (((_b = message.message) === null || _b === void 0 ? void 0 : _b.$case) === 'result') {
            obj.result = exports.LibraryUninstallResponse_Result.toJSON(message.message.result);
        }
        return obj;
    },
    create(base) {
        return exports.LibraryUninstallResponse.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a, _b, _c, _d, _e, _f;
        const message = createBaseLibraryUninstallResponse();
        if (((_a = object.message) === null || _a === void 0 ? void 0 : _a.$case) === 'taskProgress' &&
            ((_b = object.message) === null || _b === void 0 ? void 0 : _b.taskProgress) !== undefined &&
            ((_c = object.message) === null || _c === void 0 ? void 0 : _c.taskProgress) !== null) {
            message.message = {
                $case: 'taskProgress',
                taskProgress: common_1.TaskProgress.fromPartial(object.message.taskProgress),
            };
        }
        if (((_d = object.message) === null || _d === void 0 ? void 0 : _d.$case) === 'result' &&
            ((_e = object.message) === null || _e === void 0 ? void 0 : _e.result) !== undefined &&
            ((_f = object.message) === null || _f === void 0 ? void 0 : _f.result) !== null) {
            message.message = {
                $case: 'result',
                result: exports.LibraryUninstallResponse_Result.fromPartial(object.message.result),
            };
        }
        return message;
    },
};
function createBaseLibraryUninstallResponse_Result() {
    return {};
}
exports.LibraryUninstallResponse_Result = {
    encode(_, writer = minimal_1.default.Writer.create()) {
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseLibraryUninstallResponse_Result();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(_) {
        return {};
    },
    toJSON(_) {
        const obj = {};
        return obj;
    },
    create(base) {
        return exports.LibraryUninstallResponse_Result.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(_) {
        const message = createBaseLibraryUninstallResponse_Result();
        return message;
    },
};
function createBaseLibraryUpgradeAllRequest() {
    return { instance: undefined };
}
exports.LibraryUpgradeAllRequest = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.instance !== undefined) {
            common_1.Instance.encode(message.instance, writer.uint32(10).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseLibraryUpgradeAllRequest();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    message.instance = common_1.Instance.decode(reader, reader.uint32());
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            instance: isSet(object.instance)
                ? common_1.Instance.fromJSON(object.instance)
                : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.instance !== undefined) {
            obj.instance = common_1.Instance.toJSON(message.instance);
        }
        return obj;
    },
    create(base) {
        return exports.LibraryUpgradeAllRequest.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        const message = createBaseLibraryUpgradeAllRequest();
        message.instance =
            object.instance !== undefined && object.instance !== null
                ? common_1.Instance.fromPartial(object.instance)
                : undefined;
        return message;
    },
};
function createBaseLibraryUpgradeAllResponse() {
    return { message: undefined };
}
exports.LibraryUpgradeAllResponse = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        var _a;
        switch ((_a = message.message) === null || _a === void 0 ? void 0 : _a.$case) {
            case 'progress':
                common_1.DownloadProgress.encode(message.message.progress, writer.uint32(10).fork()).ldelim();
                break;
            case 'taskProgress':
                common_1.TaskProgress.encode(message.message.taskProgress, writer.uint32(18).fork()).ldelim();
                break;
            case 'result':
                exports.LibraryUpgradeAllResponse_Result.encode(message.message.result, writer.uint32(26).fork()).ldelim();
                break;
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseLibraryUpgradeAllResponse();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    message.message = {
                        $case: 'progress',
                        progress: common_1.DownloadProgress.decode(reader, reader.uint32()),
                    };
                    continue;
                case 2:
                    if (tag !== 18) {
                        break;
                    }
                    message.message = {
                        $case: 'taskProgress',
                        taskProgress: common_1.TaskProgress.decode(reader, reader.uint32()),
                    };
                    continue;
                case 3:
                    if (tag !== 26) {
                        break;
                    }
                    message.message = {
                        $case: 'result',
                        result: exports.LibraryUpgradeAllResponse_Result.decode(reader, reader.uint32()),
                    };
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            message: isSet(object.progress)
                ? {
                    $case: 'progress',
                    progress: common_1.DownloadProgress.fromJSON(object.progress),
                }
                : isSet(object.taskProgress)
                    ? {
                        $case: 'taskProgress',
                        taskProgress: common_1.TaskProgress.fromJSON(object.taskProgress),
                    }
                    : isSet(object.result)
                        ? {
                            $case: 'result',
                            result: exports.LibraryUpgradeAllResponse_Result.fromJSON(object.result),
                        }
                        : undefined,
        };
    },
    toJSON(message) {
        var _a, _b, _c;
        const obj = {};
        if (((_a = message.message) === null || _a === void 0 ? void 0 : _a.$case) === 'progress') {
            obj.progress = common_1.DownloadProgress.toJSON(message.message.progress);
        }
        if (((_b = message.message) === null || _b === void 0 ? void 0 : _b.$case) === 'taskProgress') {
            obj.taskProgress = common_1.TaskProgress.toJSON(message.message.taskProgress);
        }
        if (((_c = message.message) === null || _c === void 0 ? void 0 : _c.$case) === 'result') {
            obj.result = exports.LibraryUpgradeAllResponse_Result.toJSON(message.message.result);
        }
        return obj;
    },
    create(base) {
        return exports.LibraryUpgradeAllResponse.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a, _b, _c, _d, _e, _f, _g, _h, _j;
        const message = createBaseLibraryUpgradeAllResponse();
        if (((_a = object.message) === null || _a === void 0 ? void 0 : _a.$case) === 'progress' &&
            ((_b = object.message) === null || _b === void 0 ? void 0 : _b.progress) !== undefined &&
            ((_c = object.message) === null || _c === void 0 ? void 0 : _c.progress) !== null) {
            message.message = {
                $case: 'progress',
                progress: common_1.DownloadProgress.fromPartial(object.message.progress),
            };
        }
        if (((_d = object.message) === null || _d === void 0 ? void 0 : _d.$case) === 'taskProgress' &&
            ((_e = object.message) === null || _e === void 0 ? void 0 : _e.taskProgress) !== undefined &&
            ((_f = object.message) === null || _f === void 0 ? void 0 : _f.taskProgress) !== null) {
            message.message = {
                $case: 'taskProgress',
                taskProgress: common_1.TaskProgress.fromPartial(object.message.taskProgress),
            };
        }
        if (((_g = object.message) === null || _g === void 0 ? void 0 : _g.$case) === 'result' &&
            ((_h = object.message) === null || _h === void 0 ? void 0 : _h.result) !== undefined &&
            ((_j = object.message) === null || _j === void 0 ? void 0 : _j.result) !== null) {
            message.message = {
                $case: 'result',
                result: exports.LibraryUpgradeAllResponse_Result.fromPartial(object.message.result),
            };
        }
        return message;
    },
};
function createBaseLibraryUpgradeAllResponse_Result() {
    return {};
}
exports.LibraryUpgradeAllResponse_Result = {
    encode(_, writer = minimal_1.default.Writer.create()) {
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseLibraryUpgradeAllResponse_Result();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(_) {
        return {};
    },
    toJSON(_) {
        const obj = {};
        return obj;
    },
    create(base) {
        return exports.LibraryUpgradeAllResponse_Result.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(_) {
        const message = createBaseLibraryUpgradeAllResponse_Result();
        return message;
    },
};
function createBaseLibraryResolveDependenciesRequest() {
    return {
        instance: undefined,
        name: '',
        version: '',
        doNotUpdateInstalledLibraries: false,
    };
}
exports.LibraryResolveDependenciesRequest = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.instance !== undefined) {
            common_1.Instance.encode(message.instance, writer.uint32(10).fork()).ldelim();
        }
        if (message.name !== '') {
            writer.uint32(18).string(message.name);
        }
        if (message.version !== '') {
            writer.uint32(26).string(message.version);
        }
        if (message.doNotUpdateInstalledLibraries !== false) {
            writer.uint32(32).bool(message.doNotUpdateInstalledLibraries);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseLibraryResolveDependenciesRequest();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    message.instance = common_1.Instance.decode(reader, reader.uint32());
                    continue;
                case 2:
                    if (tag !== 18) {
                        break;
                    }
                    message.name = reader.string();
                    continue;
                case 3:
                    if (tag !== 26) {
                        break;
                    }
                    message.version = reader.string();
                    continue;
                case 4:
                    if (tag !== 32) {
                        break;
                    }
                    message.doNotUpdateInstalledLibraries = reader.bool();
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            instance: isSet(object.instance)
                ? common_1.Instance.fromJSON(object.instance)
                : undefined,
            name: isSet(object.name) ? globalThis.String(object.name) : '',
            version: isSet(object.version) ? globalThis.String(object.version) : '',
            doNotUpdateInstalledLibraries: isSet(object.doNotUpdateInstalledLibraries)
                ? globalThis.Boolean(object.doNotUpdateInstalledLibraries)
                : false,
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.instance !== undefined) {
            obj.instance = common_1.Instance.toJSON(message.instance);
        }
        if (message.name !== '') {
            obj.name = message.name;
        }
        if (message.version !== '') {
            obj.version = message.version;
        }
        if (message.doNotUpdateInstalledLibraries !== false) {
            obj.doNotUpdateInstalledLibraries = message.doNotUpdateInstalledLibraries;
        }
        return obj;
    },
    create(base) {
        return exports.LibraryResolveDependenciesRequest.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a, _b, _c;
        const message = createBaseLibraryResolveDependenciesRequest();
        message.instance =
            object.instance !== undefined && object.instance !== null
                ? common_1.Instance.fromPartial(object.instance)
                : undefined;
        message.name = (_a = object.name) !== null && _a !== void 0 ? _a : '';
        message.version = (_b = object.version) !== null && _b !== void 0 ? _b : '';
        message.doNotUpdateInstalledLibraries =
            (_c = object.doNotUpdateInstalledLibraries) !== null && _c !== void 0 ? _c : false;
        return message;
    },
};
function createBaseLibraryResolveDependenciesResponse() {
    return { dependencies: [] };
}
exports.LibraryResolveDependenciesResponse = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        for (const v of message.dependencies) {
            exports.LibraryDependencyStatus.encode(v, writer.uint32(10).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseLibraryResolveDependenciesResponse();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    message.dependencies.push(exports.LibraryDependencyStatus.decode(reader, reader.uint32()));
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            dependencies: globalThis.Array.isArray(object === null || object === void 0 ? void 0 : object.dependencies)
                ? object.dependencies.map((e) => exports.LibraryDependencyStatus.fromJSON(e))
                : [],
        };
    },
    toJSON(message) {
        var _a;
        const obj = {};
        if ((_a = message.dependencies) === null || _a === void 0 ? void 0 : _a.length) {
            obj.dependencies = message.dependencies.map((e) => exports.LibraryDependencyStatus.toJSON(e));
        }
        return obj;
    },
    create(base) {
        return exports.LibraryResolveDependenciesResponse.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a;
        const message = createBaseLibraryResolveDependenciesResponse();
        message.dependencies =
            ((_a = object.dependencies) === null || _a === void 0 ? void 0 : _a.map((e) => exports.LibraryDependencyStatus.fromPartial(e))) ||
                [];
        return message;
    },
};
function createBaseLibraryDependencyStatus() {
    return { name: '', versionRequired: '', versionInstalled: '' };
}
exports.LibraryDependencyStatus = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.name !== '') {
            writer.uint32(10).string(message.name);
        }
        if (message.versionRequired !== '') {
            writer.uint32(18).string(message.versionRequired);
        }
        if (message.versionInstalled !== '') {
            writer.uint32(26).string(message.versionInstalled);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseLibraryDependencyStatus();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    message.name = reader.string();
                    continue;
                case 2:
                    if (tag !== 18) {
                        break;
                    }
                    message.versionRequired = reader.string();
                    continue;
                case 3:
                    if (tag !== 26) {
                        break;
                    }
                    message.versionInstalled = reader.string();
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            name: isSet(object.name) ? globalThis.String(object.name) : '',
            versionRequired: isSet(object.versionRequired)
                ? globalThis.String(object.versionRequired)
                : '',
            versionInstalled: isSet(object.versionInstalled)
                ? globalThis.String(object.versionInstalled)
                : '',
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.name !== '') {
            obj.name = message.name;
        }
        if (message.versionRequired !== '') {
            obj.versionRequired = message.versionRequired;
        }
        if (message.versionInstalled !== '') {
            obj.versionInstalled = message.versionInstalled;
        }
        return obj;
    },
    create(base) {
        return exports.LibraryDependencyStatus.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a, _b, _c;
        const message = createBaseLibraryDependencyStatus();
        message.name = (_a = object.name) !== null && _a !== void 0 ? _a : '';
        message.versionRequired = (_b = object.versionRequired) !== null && _b !== void 0 ? _b : '';
        message.versionInstalled = (_c = object.versionInstalled) !== null && _c !== void 0 ? _c : '';
        return message;
    },
};
function createBaseLibrarySearchRequest() {
    return { instance: undefined, omitReleasesDetails: false, searchArgs: '' };
}
exports.LibrarySearchRequest = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.instance !== undefined) {
            common_1.Instance.encode(message.instance, writer.uint32(10).fork()).ldelim();
        }
        if (message.omitReleasesDetails !== false) {
            writer.uint32(16).bool(message.omitReleasesDetails);
        }
        if (message.searchArgs !== '') {
            writer.uint32(26).string(message.searchArgs);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseLibrarySearchRequest();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    message.instance = common_1.Instance.decode(reader, reader.uint32());
                    continue;
                case 2:
                    if (tag !== 16) {
                        break;
                    }
                    message.omitReleasesDetails = reader.bool();
                    continue;
                case 3:
                    if (tag !== 26) {
                        break;
                    }
                    message.searchArgs = reader.string();
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            instance: isSet(object.instance)
                ? common_1.Instance.fromJSON(object.instance)
                : undefined,
            omitReleasesDetails: isSet(object.omitReleasesDetails)
                ? globalThis.Boolean(object.omitReleasesDetails)
                : false,
            searchArgs: isSet(object.searchArgs)
                ? globalThis.String(object.searchArgs)
                : '',
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.instance !== undefined) {
            obj.instance = common_1.Instance.toJSON(message.instance);
        }
        if (message.omitReleasesDetails !== false) {
            obj.omitReleasesDetails = message.omitReleasesDetails;
        }
        if (message.searchArgs !== '') {
            obj.searchArgs = message.searchArgs;
        }
        return obj;
    },
    create(base) {
        return exports.LibrarySearchRequest.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a, _b;
        const message = createBaseLibrarySearchRequest();
        message.instance =
            object.instance !== undefined && object.instance !== null
                ? common_1.Instance.fromPartial(object.instance)
                : undefined;
        message.omitReleasesDetails = (_a = object.omitReleasesDetails) !== null && _a !== void 0 ? _a : false;
        message.searchArgs = (_b = object.searchArgs) !== null && _b !== void 0 ? _b : '';
        return message;
    },
};
function createBaseLibrarySearchResponse() {
    return { libraries: [], status: 0 };
}
exports.LibrarySearchResponse = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        for (const v of message.libraries) {
            exports.SearchedLibrary.encode(v, writer.uint32(10).fork()).ldelim();
        }
        if (message.status !== 0) {
            writer.uint32(16).int32(message.status);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseLibrarySearchResponse();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    message.libraries.push(exports.SearchedLibrary.decode(reader, reader.uint32()));
                    continue;
                case 2:
                    if (tag !== 16) {
                        break;
                    }
                    message.status = reader.int32();
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            libraries: globalThis.Array.isArray(object === null || object === void 0 ? void 0 : object.libraries)
                ? object.libraries.map((e) => exports.SearchedLibrary.fromJSON(e))
                : [],
            status: isSet(object.status)
                ? librarySearchStatusFromJSON(object.status)
                : 0,
        };
    },
    toJSON(message) {
        var _a;
        const obj = {};
        if ((_a = message.libraries) === null || _a === void 0 ? void 0 : _a.length) {
            obj.libraries = message.libraries.map((e) => exports.SearchedLibrary.toJSON(e));
        }
        if (message.status !== 0) {
            obj.status = librarySearchStatusToJSON(message.status);
        }
        return obj;
    },
    create(base) {
        return exports.LibrarySearchResponse.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a, _b;
        const message = createBaseLibrarySearchResponse();
        message.libraries =
            ((_a = object.libraries) === null || _a === void 0 ? void 0 : _a.map((e) => exports.SearchedLibrary.fromPartial(e))) || [];
        message.status = (_b = object.status) !== null && _b !== void 0 ? _b : 0;
        return message;
    },
};
function createBaseSearchedLibrary() {
    return { name: '', releases: {}, latest: undefined, availableVersions: [] };
}
exports.SearchedLibrary = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.name !== '') {
            writer.uint32(10).string(message.name);
        }
        Object.entries(message.releases).forEach(([key, value]) => {
            exports.SearchedLibrary_ReleasesEntry.encode({ key: key, value }, writer.uint32(18).fork()).ldelim();
        });
        if (message.latest !== undefined) {
            exports.LibraryRelease.encode(message.latest, writer.uint32(26).fork()).ldelim();
        }
        for (const v of message.availableVersions) {
            writer.uint32(34).string(v);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseSearchedLibrary();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    message.name = reader.string();
                    continue;
                case 2:
                    if (tag !== 18) {
                        break;
                    }
                    const entry2 = exports.SearchedLibrary_ReleasesEntry.decode(reader, reader.uint32());
                    if (entry2.value !== undefined) {
                        message.releases[entry2.key] = entry2.value;
                    }
                    continue;
                case 3:
                    if (tag !== 26) {
                        break;
                    }
                    message.latest = exports.LibraryRelease.decode(reader, reader.uint32());
                    continue;
                case 4:
                    if (tag !== 34) {
                        break;
                    }
                    message.availableVersions.push(reader.string());
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            name: isSet(object.name) ? globalThis.String(object.name) : '',
            releases: isObject(object.releases)
                ? Object.entries(object.releases).reduce((acc, [key, value]) => {
                    acc[key] = exports.LibraryRelease.fromJSON(value);
                    return acc;
                }, {})
                : {},
            latest: isSet(object.latest)
                ? exports.LibraryRelease.fromJSON(object.latest)
                : undefined,
            availableVersions: globalThis.Array.isArray(object === null || object === void 0 ? void 0 : object.availableVersions)
                ? object.availableVersions.map((e) => globalThis.String(e))
                : [],
        };
    },
    toJSON(message) {
        var _a;
        const obj = {};
        if (message.name !== '') {
            obj.name = message.name;
        }
        if (message.releases) {
            const entries = Object.entries(message.releases);
            if (entries.length > 0) {
                obj.releases = {};
                entries.forEach(([k, v]) => {
                    obj.releases[k] = exports.LibraryRelease.toJSON(v);
                });
            }
        }
        if (message.latest !== undefined) {
            obj.latest = exports.LibraryRelease.toJSON(message.latest);
        }
        if ((_a = message.availableVersions) === null || _a === void 0 ? void 0 : _a.length) {
            obj.availableVersions = message.availableVersions;
        }
        return obj;
    },
    create(base) {
        return exports.SearchedLibrary.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a, _b, _c;
        const message = createBaseSearchedLibrary();
        message.name = (_a = object.name) !== null && _a !== void 0 ? _a : '';
        message.releases = Object.entries((_b = object.releases) !== null && _b !== void 0 ? _b : {}).reduce((acc, [key, value]) => {
            if (value !== undefined) {
                acc[key] = exports.LibraryRelease.fromPartial(value);
            }
            return acc;
        }, {});
        message.latest =
            object.latest !== undefined && object.latest !== null
                ? exports.LibraryRelease.fromPartial(object.latest)
                : undefined;
        message.availableVersions = ((_c = object.availableVersions) === null || _c === void 0 ? void 0 : _c.map((e) => e)) || [];
        return message;
    },
};
function createBaseSearchedLibrary_ReleasesEntry() {
    return { key: '', value: undefined };
}
exports.SearchedLibrary_ReleasesEntry = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.key !== '') {
            writer.uint32(10).string(message.key);
        }
        if (message.value !== undefined) {
            exports.LibraryRelease.encode(message.value, writer.uint32(18).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseSearchedLibrary_ReleasesEntry();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    message.key = reader.string();
                    continue;
                case 2:
                    if (tag !== 18) {
                        break;
                    }
                    message.value = exports.LibraryRelease.decode(reader, reader.uint32());
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            key: isSet(object.key) ? globalThis.String(object.key) : '',
            value: isSet(object.value)
                ? exports.LibraryRelease.fromJSON(object.value)
                : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.key !== '') {
            obj.key = message.key;
        }
        if (message.value !== undefined) {
            obj.value = exports.LibraryRelease.toJSON(message.value);
        }
        return obj;
    },
    create(base) {
        return exports.SearchedLibrary_ReleasesEntry.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a;
        const message = createBaseSearchedLibrary_ReleasesEntry();
        message.key = (_a = object.key) !== null && _a !== void 0 ? _a : '';
        message.value =
            object.value !== undefined && object.value !== null
                ? exports.LibraryRelease.fromPartial(object.value)
                : undefined;
        return message;
    },
};
function createBaseLibraryRelease() {
    return {
        author: '',
        version: '',
        maintainer: '',
        sentence: '',
        paragraph: '',
        website: '',
        category: '',
        architectures: [],
        types: [],
        resources: undefined,
        license: '',
        providesIncludes: [],
        dependencies: [],
    };
}
exports.LibraryRelease = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.author !== '') {
            writer.uint32(10).string(message.author);
        }
        if (message.version !== '') {
            writer.uint32(18).string(message.version);
        }
        if (message.maintainer !== '') {
            writer.uint32(26).string(message.maintainer);
        }
        if (message.sentence !== '') {
            writer.uint32(34).string(message.sentence);
        }
        if (message.paragraph !== '') {
            writer.uint32(42).string(message.paragraph);
        }
        if (message.website !== '') {
            writer.uint32(50).string(message.website);
        }
        if (message.category !== '') {
            writer.uint32(58).string(message.category);
        }
        for (const v of message.architectures) {
            writer.uint32(66).string(v);
        }
        for (const v of message.types) {
            writer.uint32(74).string(v);
        }
        if (message.resources !== undefined) {
            exports.DownloadResource.encode(message.resources, writer.uint32(82).fork()).ldelim();
        }
        if (message.license !== '') {
            writer.uint32(90).string(message.license);
        }
        for (const v of message.providesIncludes) {
            writer.uint32(98).string(v);
        }
        for (const v of message.dependencies) {
            exports.LibraryDependency.encode(v, writer.uint32(106).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseLibraryRelease();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    message.author = reader.string();
                    continue;
                case 2:
                    if (tag !== 18) {
                        break;
                    }
                    message.version = reader.string();
                    continue;
                case 3:
                    if (tag !== 26) {
                        break;
                    }
                    message.maintainer = reader.string();
                    continue;
                case 4:
                    if (tag !== 34) {
                        break;
                    }
                    message.sentence = reader.string();
                    continue;
                case 5:
                    if (tag !== 42) {
                        break;
                    }
                    message.paragraph = reader.string();
                    continue;
                case 6:
                    if (tag !== 50) {
                        break;
                    }
                    message.website = reader.string();
                    continue;
                case 7:
                    if (tag !== 58) {
                        break;
                    }
                    message.category = reader.string();
                    continue;
                case 8:
                    if (tag !== 66) {
                        break;
                    }
                    message.architectures.push(reader.string());
                    continue;
                case 9:
                    if (tag !== 74) {
                        break;
                    }
                    message.types.push(reader.string());
                    continue;
                case 10:
                    if (tag !== 82) {
                        break;
                    }
                    message.resources = exports.DownloadResource.decode(reader, reader.uint32());
                    continue;
                case 11:
                    if (tag !== 90) {
                        break;
                    }
                    message.license = reader.string();
                    continue;
                case 12:
                    if (tag !== 98) {
                        break;
                    }
                    message.providesIncludes.push(reader.string());
                    continue;
                case 13:
                    if (tag !== 106) {
                        break;
                    }
                    message.dependencies.push(exports.LibraryDependency.decode(reader, reader.uint32()));
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            author: isSet(object.author) ? globalThis.String(object.author) : '',
            version: isSet(object.version) ? globalThis.String(object.version) : '',
            maintainer: isSet(object.maintainer)
                ? globalThis.String(object.maintainer)
                : '',
            sentence: isSet(object.sentence)
                ? globalThis.String(object.sentence)
                : '',
            paragraph: isSet(object.paragraph)
                ? globalThis.String(object.paragraph)
                : '',
            website: isSet(object.website) ? globalThis.String(object.website) : '',
            category: isSet(object.category)
                ? globalThis.String(object.category)
                : '',
            architectures: globalThis.Array.isArray(object === null || object === void 0 ? void 0 : object.architectures)
                ? object.architectures.map((e) => globalThis.String(e))
                : [],
            types: globalThis.Array.isArray(object === null || object === void 0 ? void 0 : object.types)
                ? object.types.map((e) => globalThis.String(e))
                : [],
            resources: isSet(object.resources)
                ? exports.DownloadResource.fromJSON(object.resources)
                : undefined,
            license: isSet(object.license) ? globalThis.String(object.license) : '',
            providesIncludes: globalThis.Array.isArray(object === null || object === void 0 ? void 0 : object.providesIncludes)
                ? object.providesIncludes.map((e) => globalThis.String(e))
                : [],
            dependencies: globalThis.Array.isArray(object === null || object === void 0 ? void 0 : object.dependencies)
                ? object.dependencies.map((e) => exports.LibraryDependency.fromJSON(e))
                : [],
        };
    },
    toJSON(message) {
        var _a, _b, _c, _d;
        const obj = {};
        if (message.author !== '') {
            obj.author = message.author;
        }
        if (message.version !== '') {
            obj.version = message.version;
        }
        if (message.maintainer !== '') {
            obj.maintainer = message.maintainer;
        }
        if (message.sentence !== '') {
            obj.sentence = message.sentence;
        }
        if (message.paragraph !== '') {
            obj.paragraph = message.paragraph;
        }
        if (message.website !== '') {
            obj.website = message.website;
        }
        if (message.category !== '') {
            obj.category = message.category;
        }
        if ((_a = message.architectures) === null || _a === void 0 ? void 0 : _a.length) {
            obj.architectures = message.architectures;
        }
        if ((_b = message.types) === null || _b === void 0 ? void 0 : _b.length) {
            obj.types = message.types;
        }
        if (message.resources !== undefined) {
            obj.resources = exports.DownloadResource.toJSON(message.resources);
        }
        if (message.license !== '') {
            obj.license = message.license;
        }
        if ((_c = message.providesIncludes) === null || _c === void 0 ? void 0 : _c.length) {
            obj.providesIncludes = message.providesIncludes;
        }
        if ((_d = message.dependencies) === null || _d === void 0 ? void 0 : _d.length) {
            obj.dependencies = message.dependencies.map((e) => exports.LibraryDependency.toJSON(e));
        }
        return obj;
    },
    create(base) {
        return exports.LibraryRelease.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
        const message = createBaseLibraryRelease();
        message.author = (_a = object.author) !== null && _a !== void 0 ? _a : '';
        message.version = (_b = object.version) !== null && _b !== void 0 ? _b : '';
        message.maintainer = (_c = object.maintainer) !== null && _c !== void 0 ? _c : '';
        message.sentence = (_d = object.sentence) !== null && _d !== void 0 ? _d : '';
        message.paragraph = (_e = object.paragraph) !== null && _e !== void 0 ? _e : '';
        message.website = (_f = object.website) !== null && _f !== void 0 ? _f : '';
        message.category = (_g = object.category) !== null && _g !== void 0 ? _g : '';
        message.architectures = ((_h = object.architectures) === null || _h === void 0 ? void 0 : _h.map((e) => e)) || [];
        message.types = ((_j = object.types) === null || _j === void 0 ? void 0 : _j.map((e) => e)) || [];
        message.resources =
            object.resources !== undefined && object.resources !== null
                ? exports.DownloadResource.fromPartial(object.resources)
                : undefined;
        message.license = (_k = object.license) !== null && _k !== void 0 ? _k : '';
        message.providesIncludes = ((_l = object.providesIncludes) === null || _l === void 0 ? void 0 : _l.map((e) => e)) || [];
        message.dependencies =
            ((_m = object.dependencies) === null || _m === void 0 ? void 0 : _m.map((e) => exports.LibraryDependency.fromPartial(e))) || [];
        return message;
    },
};
function createBaseLibraryDependency() {
    return { name: '', versionConstraint: '' };
}
exports.LibraryDependency = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.name !== '') {
            writer.uint32(10).string(message.name);
        }
        if (message.versionConstraint !== '') {
            writer.uint32(18).string(message.versionConstraint);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseLibraryDependency();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    message.name = reader.string();
                    continue;
                case 2:
                    if (tag !== 18) {
                        break;
                    }
                    message.versionConstraint = reader.string();
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            name: isSet(object.name) ? globalThis.String(object.name) : '',
            versionConstraint: isSet(object.versionConstraint)
                ? globalThis.String(object.versionConstraint)
                : '',
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.name !== '') {
            obj.name = message.name;
        }
        if (message.versionConstraint !== '') {
            obj.versionConstraint = message.versionConstraint;
        }
        return obj;
    },
    create(base) {
        return exports.LibraryDependency.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a, _b;
        const message = createBaseLibraryDependency();
        message.name = (_a = object.name) !== null && _a !== void 0 ? _a : '';
        message.versionConstraint = (_b = object.versionConstraint) !== null && _b !== void 0 ? _b : '';
        return message;
    },
};
function createBaseDownloadResource() {
    return { url: '', archiveFilename: '', checksum: '', size: 0, cachePath: '' };
}
exports.DownloadResource = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.url !== '') {
            writer.uint32(10).string(message.url);
        }
        if (message.archiveFilename !== '') {
            writer.uint32(18).string(message.archiveFilename);
        }
        if (message.checksum !== '') {
            writer.uint32(26).string(message.checksum);
        }
        if (message.size !== 0) {
            writer.uint32(32).int64(message.size);
        }
        if (message.cachePath !== '') {
            writer.uint32(42).string(message.cachePath);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseDownloadResource();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    message.url = reader.string();
                    continue;
                case 2:
                    if (tag !== 18) {
                        break;
                    }
                    message.archiveFilename = reader.string();
                    continue;
                case 3:
                    if (tag !== 26) {
                        break;
                    }
                    message.checksum = reader.string();
                    continue;
                case 4:
                    if (tag !== 32) {
                        break;
                    }
                    message.size = longToNumber(reader.int64());
                    continue;
                case 5:
                    if (tag !== 42) {
                        break;
                    }
                    message.cachePath = reader.string();
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            url: isSet(object.url) ? globalThis.String(object.url) : '',
            archiveFilename: isSet(object.archiveFilename)
                ? globalThis.String(object.archiveFilename)
                : '',
            checksum: isSet(object.checksum)
                ? globalThis.String(object.checksum)
                : '',
            size: isSet(object.size) ? globalThis.Number(object.size) : 0,
            cachePath: isSet(object.cachePath)
                ? globalThis.String(object.cachePath)
                : '',
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.url !== '') {
            obj.url = message.url;
        }
        if (message.archiveFilename !== '') {
            obj.archiveFilename = message.archiveFilename;
        }
        if (message.checksum !== '') {
            obj.checksum = message.checksum;
        }
        if (message.size !== 0) {
            obj.size = Math.round(message.size);
        }
        if (message.cachePath !== '') {
            obj.cachePath = message.cachePath;
        }
        return obj;
    },
    create(base) {
        return exports.DownloadResource.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a, _b, _c, _d, _e;
        const message = createBaseDownloadResource();
        message.url = (_a = object.url) !== null && _a !== void 0 ? _a : '';
        message.archiveFilename = (_b = object.archiveFilename) !== null && _b !== void 0 ? _b : '';
        message.checksum = (_c = object.checksum) !== null && _c !== void 0 ? _c : '';
        message.size = (_d = object.size) !== null && _d !== void 0 ? _d : 0;
        message.cachePath = (_e = object.cachePath) !== null && _e !== void 0 ? _e : '';
        return message;
    },
};
function createBaseLibraryListRequest() {
    return {
        instance: undefined,
        all: false,
        updatable: false,
        name: '',
        fqbn: '',
    };
}
exports.LibraryListRequest = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.instance !== undefined) {
            common_1.Instance.encode(message.instance, writer.uint32(10).fork()).ldelim();
        }
        if (message.all !== false) {
            writer.uint32(16).bool(message.all);
        }
        if (message.updatable !== false) {
            writer.uint32(24).bool(message.updatable);
        }
        if (message.name !== '') {
            writer.uint32(34).string(message.name);
        }
        if (message.fqbn !== '') {
            writer.uint32(42).string(message.fqbn);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseLibraryListRequest();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    message.instance = common_1.Instance.decode(reader, reader.uint32());
                    continue;
                case 2:
                    if (tag !== 16) {
                        break;
                    }
                    message.all = reader.bool();
                    continue;
                case 3:
                    if (tag !== 24) {
                        break;
                    }
                    message.updatable = reader.bool();
                    continue;
                case 4:
                    if (tag !== 34) {
                        break;
                    }
                    message.name = reader.string();
                    continue;
                case 5:
                    if (tag !== 42) {
                        break;
                    }
                    message.fqbn = reader.string();
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            instance: isSet(object.instance)
                ? common_1.Instance.fromJSON(object.instance)
                : undefined,
            all: isSet(object.all) ? globalThis.Boolean(object.all) : false,
            updatable: isSet(object.updatable)
                ? globalThis.Boolean(object.updatable)
                : false,
            name: isSet(object.name) ? globalThis.String(object.name) : '',
            fqbn: isSet(object.fqbn) ? globalThis.String(object.fqbn) : '',
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.instance !== undefined) {
            obj.instance = common_1.Instance.toJSON(message.instance);
        }
        if (message.all !== false) {
            obj.all = message.all;
        }
        if (message.updatable !== false) {
            obj.updatable = message.updatable;
        }
        if (message.name !== '') {
            obj.name = message.name;
        }
        if (message.fqbn !== '') {
            obj.fqbn = message.fqbn;
        }
        return obj;
    },
    create(base) {
        return exports.LibraryListRequest.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a, _b, _c, _d;
        const message = createBaseLibraryListRequest();
        message.instance =
            object.instance !== undefined && object.instance !== null
                ? common_1.Instance.fromPartial(object.instance)
                : undefined;
        message.all = (_a = object.all) !== null && _a !== void 0 ? _a : false;
        message.updatable = (_b = object.updatable) !== null && _b !== void 0 ? _b : false;
        message.name = (_c = object.name) !== null && _c !== void 0 ? _c : '';
        message.fqbn = (_d = object.fqbn) !== null && _d !== void 0 ? _d : '';
        return message;
    },
};
function createBaseLibraryListResponse() {
    return { installedLibraries: [] };
}
exports.LibraryListResponse = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        for (const v of message.installedLibraries) {
            exports.InstalledLibrary.encode(v, writer.uint32(10).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseLibraryListResponse();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    message.installedLibraries.push(exports.InstalledLibrary.decode(reader, reader.uint32()));
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            installedLibraries: globalThis.Array.isArray(object === null || object === void 0 ? void 0 : object.installedLibraries)
                ? object.installedLibraries.map((e) => exports.InstalledLibrary.fromJSON(e))
                : [],
        };
    },
    toJSON(message) {
        var _a;
        const obj = {};
        if ((_a = message.installedLibraries) === null || _a === void 0 ? void 0 : _a.length) {
            obj.installedLibraries = message.installedLibraries.map((e) => exports.InstalledLibrary.toJSON(e));
        }
        return obj;
    },
    create(base) {
        return exports.LibraryListResponse.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a;
        const message = createBaseLibraryListResponse();
        message.installedLibraries =
            ((_a = object.installedLibraries) === null || _a === void 0 ? void 0 : _a.map((e) => exports.InstalledLibrary.fromPartial(e))) ||
                [];
        return message;
    },
};
function createBaseInstalledLibrary() {
    return { library: undefined, release: undefined };
}
exports.InstalledLibrary = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.library !== undefined) {
            exports.Library.encode(message.library, writer.uint32(10).fork()).ldelim();
        }
        if (message.release !== undefined) {
            exports.LibraryRelease.encode(message.release, writer.uint32(18).fork()).ldelim();
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseInstalledLibrary();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    message.library = exports.Library.decode(reader, reader.uint32());
                    continue;
                case 2:
                    if (tag !== 18) {
                        break;
                    }
                    message.release = exports.LibraryRelease.decode(reader, reader.uint32());
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            library: isSet(object.library)
                ? exports.Library.fromJSON(object.library)
                : undefined,
            release: isSet(object.release)
                ? exports.LibraryRelease.fromJSON(object.release)
                : undefined,
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.library !== undefined) {
            obj.library = exports.Library.toJSON(message.library);
        }
        if (message.release !== undefined) {
            obj.release = exports.LibraryRelease.toJSON(message.release);
        }
        return obj;
    },
    create(base) {
        return exports.InstalledLibrary.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        const message = createBaseInstalledLibrary();
        message.library =
            object.library !== undefined && object.library !== null
                ? exports.Library.fromPartial(object.library)
                : undefined;
        message.release =
            object.release !== undefined && object.release !== null
                ? exports.LibraryRelease.fromPartial(object.release)
                : undefined;
        return message;
    },
};
function createBaseLibrary() {
    return {
        name: '',
        author: '',
        maintainer: '',
        sentence: '',
        paragraph: '',
        website: '',
        category: '',
        architectures: [],
        types: [],
        installDir: '',
        sourceDir: '',
        utilityDir: '',
        containerPlatform: '',
        dotALinkage: false,
        precompiled: false,
        ldFlags: '',
        isLegacy: false,
        version: '',
        license: '',
        properties: {},
        location: 0,
        layout: 0,
        examples: [],
        providesIncludes: [],
        compatibleWith: {},
        inDevelopment: false,
    };
}
exports.Library = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.name !== '') {
            writer.uint32(10).string(message.name);
        }
        if (message.author !== '') {
            writer.uint32(18).string(message.author);
        }
        if (message.maintainer !== '') {
            writer.uint32(26).string(message.maintainer);
        }
        if (message.sentence !== '') {
            writer.uint32(34).string(message.sentence);
        }
        if (message.paragraph !== '') {
            writer.uint32(42).string(message.paragraph);
        }
        if (message.website !== '') {
            writer.uint32(50).string(message.website);
        }
        if (message.category !== '') {
            writer.uint32(58).string(message.category);
        }
        for (const v of message.architectures) {
            writer.uint32(66).string(v);
        }
        for (const v of message.types) {
            writer.uint32(74).string(v);
        }
        if (message.installDir !== '') {
            writer.uint32(82).string(message.installDir);
        }
        if (message.sourceDir !== '') {
            writer.uint32(90).string(message.sourceDir);
        }
        if (message.utilityDir !== '') {
            writer.uint32(98).string(message.utilityDir);
        }
        if (message.containerPlatform !== '') {
            writer.uint32(114).string(message.containerPlatform);
        }
        if (message.dotALinkage !== false) {
            writer.uint32(136).bool(message.dotALinkage);
        }
        if (message.precompiled !== false) {
            writer.uint32(144).bool(message.precompiled);
        }
        if (message.ldFlags !== '') {
            writer.uint32(154).string(message.ldFlags);
        }
        if (message.isLegacy !== false) {
            writer.uint32(160).bool(message.isLegacy);
        }
        if (message.version !== '') {
            writer.uint32(170).string(message.version);
        }
        if (message.license !== '') {
            writer.uint32(178).string(message.license);
        }
        Object.entries(message.properties).forEach(([key, value]) => {
            exports.Library_PropertiesEntry.encode({ key: key, value }, writer.uint32(186).fork()).ldelim();
        });
        if (message.location !== 0) {
            writer.uint32(192).int32(message.location);
        }
        if (message.layout !== 0) {
            writer.uint32(200).int32(message.layout);
        }
        for (const v of message.examples) {
            writer.uint32(210).string(v);
        }
        for (const v of message.providesIncludes) {
            writer.uint32(218).string(v);
        }
        Object.entries(message.compatibleWith).forEach(([key, value]) => {
            exports.Library_CompatibleWithEntry.encode({ key: key, value }, writer.uint32(226).fork()).ldelim();
        });
        if (message.inDevelopment !== false) {
            writer.uint32(232).bool(message.inDevelopment);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseLibrary();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    message.name = reader.string();
                    continue;
                case 2:
                    if (tag !== 18) {
                        break;
                    }
                    message.author = reader.string();
                    continue;
                case 3:
                    if (tag !== 26) {
                        break;
                    }
                    message.maintainer = reader.string();
                    continue;
                case 4:
                    if (tag !== 34) {
                        break;
                    }
                    message.sentence = reader.string();
                    continue;
                case 5:
                    if (tag !== 42) {
                        break;
                    }
                    message.paragraph = reader.string();
                    continue;
                case 6:
                    if (tag !== 50) {
                        break;
                    }
                    message.website = reader.string();
                    continue;
                case 7:
                    if (tag !== 58) {
                        break;
                    }
                    message.category = reader.string();
                    continue;
                case 8:
                    if (tag !== 66) {
                        break;
                    }
                    message.architectures.push(reader.string());
                    continue;
                case 9:
                    if (tag !== 74) {
                        break;
                    }
                    message.types.push(reader.string());
                    continue;
                case 10:
                    if (tag !== 82) {
                        break;
                    }
                    message.installDir = reader.string();
                    continue;
                case 11:
                    if (tag !== 90) {
                        break;
                    }
                    message.sourceDir = reader.string();
                    continue;
                case 12:
                    if (tag !== 98) {
                        break;
                    }
                    message.utilityDir = reader.string();
                    continue;
                case 14:
                    if (tag !== 114) {
                        break;
                    }
                    message.containerPlatform = reader.string();
                    continue;
                case 17:
                    if (tag !== 136) {
                        break;
                    }
                    message.dotALinkage = reader.bool();
                    continue;
                case 18:
                    if (tag !== 144) {
                        break;
                    }
                    message.precompiled = reader.bool();
                    continue;
                case 19:
                    if (tag !== 154) {
                        break;
                    }
                    message.ldFlags = reader.string();
                    continue;
                case 20:
                    if (tag !== 160) {
                        break;
                    }
                    message.isLegacy = reader.bool();
                    continue;
                case 21:
                    if (tag !== 170) {
                        break;
                    }
                    message.version = reader.string();
                    continue;
                case 22:
                    if (tag !== 178) {
                        break;
                    }
                    message.license = reader.string();
                    continue;
                case 23:
                    if (tag !== 186) {
                        break;
                    }
                    const entry23 = exports.Library_PropertiesEntry.decode(reader, reader.uint32());
                    if (entry23.value !== undefined) {
                        message.properties[entry23.key] = entry23.value;
                    }
                    continue;
                case 24:
                    if (tag !== 192) {
                        break;
                    }
                    message.location = reader.int32();
                    continue;
                case 25:
                    if (tag !== 200) {
                        break;
                    }
                    message.layout = reader.int32();
                    continue;
                case 26:
                    if (tag !== 210) {
                        break;
                    }
                    message.examples.push(reader.string());
                    continue;
                case 27:
                    if (tag !== 218) {
                        break;
                    }
                    message.providesIncludes.push(reader.string());
                    continue;
                case 28:
                    if (tag !== 226) {
                        break;
                    }
                    const entry28 = exports.Library_CompatibleWithEntry.decode(reader, reader.uint32());
                    if (entry28.value !== undefined) {
                        message.compatibleWith[entry28.key] = entry28.value;
                    }
                    continue;
                case 29:
                    if (tag !== 232) {
                        break;
                    }
                    message.inDevelopment = reader.bool();
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            name: isSet(object.name) ? globalThis.String(object.name) : '',
            author: isSet(object.author) ? globalThis.String(object.author) : '',
            maintainer: isSet(object.maintainer)
                ? globalThis.String(object.maintainer)
                : '',
            sentence: isSet(object.sentence)
                ? globalThis.String(object.sentence)
                : '',
            paragraph: isSet(object.paragraph)
                ? globalThis.String(object.paragraph)
                : '',
            website: isSet(object.website) ? globalThis.String(object.website) : '',
            category: isSet(object.category)
                ? globalThis.String(object.category)
                : '',
            architectures: globalThis.Array.isArray(object === null || object === void 0 ? void 0 : object.architectures)
                ? object.architectures.map((e) => globalThis.String(e))
                : [],
            types: globalThis.Array.isArray(object === null || object === void 0 ? void 0 : object.types)
                ? object.types.map((e) => globalThis.String(e))
                : [],
            installDir: isSet(object.installDir)
                ? globalThis.String(object.installDir)
                : '',
            sourceDir: isSet(object.sourceDir)
                ? globalThis.String(object.sourceDir)
                : '',
            utilityDir: isSet(object.utilityDir)
                ? globalThis.String(object.utilityDir)
                : '',
            containerPlatform: isSet(object.containerPlatform)
                ? globalThis.String(object.containerPlatform)
                : '',
            dotALinkage: isSet(object.dotALinkage)
                ? globalThis.Boolean(object.dotALinkage)
                : false,
            precompiled: isSet(object.precompiled)
                ? globalThis.Boolean(object.precompiled)
                : false,
            ldFlags: isSet(object.ldFlags) ? globalThis.String(object.ldFlags) : '',
            isLegacy: isSet(object.isLegacy)
                ? globalThis.Boolean(object.isLegacy)
                : false,
            version: isSet(object.version) ? globalThis.String(object.version) : '',
            license: isSet(object.license) ? globalThis.String(object.license) : '',
            properties: isObject(object.properties)
                ? Object.entries(object.properties).reduce((acc, [key, value]) => {
                    acc[key] = String(value);
                    return acc;
                }, {})
                : {},
            location: isSet(object.location)
                ? libraryLocationFromJSON(object.location)
                : 0,
            layout: isSet(object.layout) ? libraryLayoutFromJSON(object.layout) : 0,
            examples: globalThis.Array.isArray(object === null || object === void 0 ? void 0 : object.examples)
                ? object.examples.map((e) => globalThis.String(e))
                : [],
            providesIncludes: globalThis.Array.isArray(object === null || object === void 0 ? void 0 : object.providesIncludes)
                ? object.providesIncludes.map((e) => globalThis.String(e))
                : [],
            compatibleWith: isObject(object.compatibleWith)
                ? Object.entries(object.compatibleWith).reduce((acc, [key, value]) => {
                    acc[key] = Boolean(value);
                    return acc;
                }, {})
                : {},
            inDevelopment: isSet(object.inDevelopment)
                ? globalThis.Boolean(object.inDevelopment)
                : false,
        };
    },
    toJSON(message) {
        var _a, _b, _c, _d;
        const obj = {};
        if (message.name !== '') {
            obj.name = message.name;
        }
        if (message.author !== '') {
            obj.author = message.author;
        }
        if (message.maintainer !== '') {
            obj.maintainer = message.maintainer;
        }
        if (message.sentence !== '') {
            obj.sentence = message.sentence;
        }
        if (message.paragraph !== '') {
            obj.paragraph = message.paragraph;
        }
        if (message.website !== '') {
            obj.website = message.website;
        }
        if (message.category !== '') {
            obj.category = message.category;
        }
        if ((_a = message.architectures) === null || _a === void 0 ? void 0 : _a.length) {
            obj.architectures = message.architectures;
        }
        if ((_b = message.types) === null || _b === void 0 ? void 0 : _b.length) {
            obj.types = message.types;
        }
        if (message.installDir !== '') {
            obj.installDir = message.installDir;
        }
        if (message.sourceDir !== '') {
            obj.sourceDir = message.sourceDir;
        }
        if (message.utilityDir !== '') {
            obj.utilityDir = message.utilityDir;
        }
        if (message.containerPlatform !== '') {
            obj.containerPlatform = message.containerPlatform;
        }
        if (message.dotALinkage !== false) {
            obj.dotALinkage = message.dotALinkage;
        }
        if (message.precompiled !== false) {
            obj.precompiled = message.precompiled;
        }
        if (message.ldFlags !== '') {
            obj.ldFlags = message.ldFlags;
        }
        if (message.isLegacy !== false) {
            obj.isLegacy = message.isLegacy;
        }
        if (message.version !== '') {
            obj.version = message.version;
        }
        if (message.license !== '') {
            obj.license = message.license;
        }
        if (message.properties) {
            const entries = Object.entries(message.properties);
            if (entries.length > 0) {
                obj.properties = {};
                entries.forEach(([k, v]) => {
                    obj.properties[k] = v;
                });
            }
        }
        if (message.location !== 0) {
            obj.location = libraryLocationToJSON(message.location);
        }
        if (message.layout !== 0) {
            obj.layout = libraryLayoutToJSON(message.layout);
        }
        if ((_c = message.examples) === null || _c === void 0 ? void 0 : _c.length) {
            obj.examples = message.examples;
        }
        if ((_d = message.providesIncludes) === null || _d === void 0 ? void 0 : _d.length) {
            obj.providesIncludes = message.providesIncludes;
        }
        if (message.compatibleWith) {
            const entries = Object.entries(message.compatibleWith);
            if (entries.length > 0) {
                obj.compatibleWith = {};
                entries.forEach(([k, v]) => {
                    obj.compatibleWith[k] = v;
                });
            }
        }
        if (message.inDevelopment !== false) {
            obj.inDevelopment = message.inDevelopment;
        }
        return obj;
    },
    create(base) {
        return exports.Library.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1;
        const message = createBaseLibrary();
        message.name = (_a = object.name) !== null && _a !== void 0 ? _a : '';
        message.author = (_b = object.author) !== null && _b !== void 0 ? _b : '';
        message.maintainer = (_c = object.maintainer) !== null && _c !== void 0 ? _c : '';
        message.sentence = (_d = object.sentence) !== null && _d !== void 0 ? _d : '';
        message.paragraph = (_e = object.paragraph) !== null && _e !== void 0 ? _e : '';
        message.website = (_f = object.website) !== null && _f !== void 0 ? _f : '';
        message.category = (_g = object.category) !== null && _g !== void 0 ? _g : '';
        message.architectures = ((_h = object.architectures) === null || _h === void 0 ? void 0 : _h.map((e) => e)) || [];
        message.types = ((_j = object.types) === null || _j === void 0 ? void 0 : _j.map((e) => e)) || [];
        message.installDir = (_k = object.installDir) !== null && _k !== void 0 ? _k : '';
        message.sourceDir = (_l = object.sourceDir) !== null && _l !== void 0 ? _l : '';
        message.utilityDir = (_m = object.utilityDir) !== null && _m !== void 0 ? _m : '';
        message.containerPlatform = (_o = object.containerPlatform) !== null && _o !== void 0 ? _o : '';
        message.dotALinkage = (_p = object.dotALinkage) !== null && _p !== void 0 ? _p : false;
        message.precompiled = (_q = object.precompiled) !== null && _q !== void 0 ? _q : false;
        message.ldFlags = (_r = object.ldFlags) !== null && _r !== void 0 ? _r : '';
        message.isLegacy = (_s = object.isLegacy) !== null && _s !== void 0 ? _s : false;
        message.version = (_t = object.version) !== null && _t !== void 0 ? _t : '';
        message.license = (_u = object.license) !== null && _u !== void 0 ? _u : '';
        message.properties = Object.entries((_v = object.properties) !== null && _v !== void 0 ? _v : {}).reduce((acc, [key, value]) => {
            if (value !== undefined) {
                acc[key] = globalThis.String(value);
            }
            return acc;
        }, {});
        message.location = (_w = object.location) !== null && _w !== void 0 ? _w : 0;
        message.layout = (_x = object.layout) !== null && _x !== void 0 ? _x : 0;
        message.examples = ((_y = object.examples) === null || _y === void 0 ? void 0 : _y.map((e) => e)) || [];
        message.providesIncludes = ((_z = object.providesIncludes) === null || _z === void 0 ? void 0 : _z.map((e) => e)) || [];
        message.compatibleWith = Object.entries((_0 = object.compatibleWith) !== null && _0 !== void 0 ? _0 : {}).reduce((acc, [key, value]) => {
            if (value !== undefined) {
                acc[key] = globalThis.Boolean(value);
            }
            return acc;
        }, {});
        message.inDevelopment = (_1 = object.inDevelopment) !== null && _1 !== void 0 ? _1 : false;
        return message;
    },
};
function createBaseLibrary_PropertiesEntry() {
    return { key: '', value: '' };
}
exports.Library_PropertiesEntry = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.key !== '') {
            writer.uint32(10).string(message.key);
        }
        if (message.value !== '') {
            writer.uint32(18).string(message.value);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseLibrary_PropertiesEntry();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    message.key = reader.string();
                    continue;
                case 2:
                    if (tag !== 18) {
                        break;
                    }
                    message.value = reader.string();
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            key: isSet(object.key) ? globalThis.String(object.key) : '',
            value: isSet(object.value) ? globalThis.String(object.value) : '',
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.key !== '') {
            obj.key = message.key;
        }
        if (message.value !== '') {
            obj.value = message.value;
        }
        return obj;
    },
    create(base) {
        return exports.Library_PropertiesEntry.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a, _b;
        const message = createBaseLibrary_PropertiesEntry();
        message.key = (_a = object.key) !== null && _a !== void 0 ? _a : '';
        message.value = (_b = object.value) !== null && _b !== void 0 ? _b : '';
        return message;
    },
};
function createBaseLibrary_CompatibleWithEntry() {
    return { key: '', value: false };
}
exports.Library_CompatibleWithEntry = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.key !== '') {
            writer.uint32(10).string(message.key);
        }
        if (message.value !== false) {
            writer.uint32(16).bool(message.value);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseLibrary_CompatibleWithEntry();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    message.key = reader.string();
                    continue;
                case 2:
                    if (tag !== 16) {
                        break;
                    }
                    message.value = reader.bool();
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            key: isSet(object.key) ? globalThis.String(object.key) : '',
            value: isSet(object.value) ? globalThis.Boolean(object.value) : false,
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.key !== '') {
            obj.key = message.key;
        }
        if (message.value !== false) {
            obj.value = message.value;
        }
        return obj;
    },
    create(base) {
        return exports.Library_CompatibleWithEntry.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a, _b;
        const message = createBaseLibrary_CompatibleWithEntry();
        message.key = (_a = object.key) !== null && _a !== void 0 ? _a : '';
        message.value = (_b = object.value) !== null && _b !== void 0 ? _b : false;
        return message;
    },
};
function createBaseZipLibraryInstallRequest() {
    return { instance: undefined, path: '', overwrite: false };
}
exports.ZipLibraryInstallRequest = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.instance !== undefined) {
            common_1.Instance.encode(message.instance, writer.uint32(10).fork()).ldelim();
        }
        if (message.path !== '') {
            writer.uint32(18).string(message.path);
        }
        if (message.overwrite !== false) {
            writer.uint32(24).bool(message.overwrite);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseZipLibraryInstallRequest();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    message.instance = common_1.Instance.decode(reader, reader.uint32());
                    continue;
                case 2:
                    if (tag !== 18) {
                        break;
                    }
                    message.path = reader.string();
                    continue;
                case 3:
                    if (tag !== 24) {
                        break;
                    }
                    message.overwrite = reader.bool();
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            instance: isSet(object.instance)
                ? common_1.Instance.fromJSON(object.instance)
                : undefined,
            path: isSet(object.path) ? globalThis.String(object.path) : '',
            overwrite: isSet(object.overwrite)
                ? globalThis.Boolean(object.overwrite)
                : false,
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.instance !== undefined) {
            obj.instance = common_1.Instance.toJSON(message.instance);
        }
        if (message.path !== '') {
            obj.path = message.path;
        }
        if (message.overwrite !== false) {
            obj.overwrite = message.overwrite;
        }
        return obj;
    },
    create(base) {
        return exports.ZipLibraryInstallRequest.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a, _b;
        const message = createBaseZipLibraryInstallRequest();
        message.instance =
            object.instance !== undefined && object.instance !== null
                ? common_1.Instance.fromPartial(object.instance)
                : undefined;
        message.path = (_a = object.path) !== null && _a !== void 0 ? _a : '';
        message.overwrite = (_b = object.overwrite) !== null && _b !== void 0 ? _b : false;
        return message;
    },
};
function createBaseZipLibraryInstallResponse() {
    return { message: undefined };
}
exports.ZipLibraryInstallResponse = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        var _a;
        switch ((_a = message.message) === null || _a === void 0 ? void 0 : _a.$case) {
            case 'taskProgress':
                common_1.TaskProgress.encode(message.message.taskProgress, writer.uint32(10).fork()).ldelim();
                break;
            case 'result':
                exports.ZipLibraryInstallResponse_Result.encode(message.message.result, writer.uint32(18).fork()).ldelim();
                break;
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseZipLibraryInstallResponse();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    message.message = {
                        $case: 'taskProgress',
                        taskProgress: common_1.TaskProgress.decode(reader, reader.uint32()),
                    };
                    continue;
                case 2:
                    if (tag !== 18) {
                        break;
                    }
                    message.message = {
                        $case: 'result',
                        result: exports.ZipLibraryInstallResponse_Result.decode(reader, reader.uint32()),
                    };
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            message: isSet(object.taskProgress)
                ? {
                    $case: 'taskProgress',
                    taskProgress: common_1.TaskProgress.fromJSON(object.taskProgress),
                }
                : isSet(object.result)
                    ? {
                        $case: 'result',
                        result: exports.ZipLibraryInstallResponse_Result.fromJSON(object.result),
                    }
                    : undefined,
        };
    },
    toJSON(message) {
        var _a, _b;
        const obj = {};
        if (((_a = message.message) === null || _a === void 0 ? void 0 : _a.$case) === 'taskProgress') {
            obj.taskProgress = common_1.TaskProgress.toJSON(message.message.taskProgress);
        }
        if (((_b = message.message) === null || _b === void 0 ? void 0 : _b.$case) === 'result') {
            obj.result = exports.ZipLibraryInstallResponse_Result.toJSON(message.message.result);
        }
        return obj;
    },
    create(base) {
        return exports.ZipLibraryInstallResponse.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a, _b, _c, _d, _e, _f;
        const message = createBaseZipLibraryInstallResponse();
        if (((_a = object.message) === null || _a === void 0 ? void 0 : _a.$case) === 'taskProgress' &&
            ((_b = object.message) === null || _b === void 0 ? void 0 : _b.taskProgress) !== undefined &&
            ((_c = object.message) === null || _c === void 0 ? void 0 : _c.taskProgress) !== null) {
            message.message = {
                $case: 'taskProgress',
                taskProgress: common_1.TaskProgress.fromPartial(object.message.taskProgress),
            };
        }
        if (((_d = object.message) === null || _d === void 0 ? void 0 : _d.$case) === 'result' &&
            ((_e = object.message) === null || _e === void 0 ? void 0 : _e.result) !== undefined &&
            ((_f = object.message) === null || _f === void 0 ? void 0 : _f.result) !== null) {
            message.message = {
                $case: 'result',
                result: exports.ZipLibraryInstallResponse_Result.fromPartial(object.message.result),
            };
        }
        return message;
    },
};
function createBaseZipLibraryInstallResponse_Result() {
    return {};
}
exports.ZipLibraryInstallResponse_Result = {
    encode(_, writer = minimal_1.default.Writer.create()) {
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseZipLibraryInstallResponse_Result();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(_) {
        return {};
    },
    toJSON(_) {
        const obj = {};
        return obj;
    },
    create(base) {
        return exports.ZipLibraryInstallResponse_Result.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(_) {
        const message = createBaseZipLibraryInstallResponse_Result();
        return message;
    },
};
function createBaseGitLibraryInstallRequest() {
    return { instance: undefined, url: '', overwrite: false };
}
exports.GitLibraryInstallRequest = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        if (message.instance !== undefined) {
            common_1.Instance.encode(message.instance, writer.uint32(10).fork()).ldelim();
        }
        if (message.url !== '') {
            writer.uint32(18).string(message.url);
        }
        if (message.overwrite !== false) {
            writer.uint32(24).bool(message.overwrite);
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseGitLibraryInstallRequest();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    message.instance = common_1.Instance.decode(reader, reader.uint32());
                    continue;
                case 2:
                    if (tag !== 18) {
                        break;
                    }
                    message.url = reader.string();
                    continue;
                case 3:
                    if (tag !== 24) {
                        break;
                    }
                    message.overwrite = reader.bool();
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            instance: isSet(object.instance)
                ? common_1.Instance.fromJSON(object.instance)
                : undefined,
            url: isSet(object.url) ? globalThis.String(object.url) : '',
            overwrite: isSet(object.overwrite)
                ? globalThis.Boolean(object.overwrite)
                : false,
        };
    },
    toJSON(message) {
        const obj = {};
        if (message.instance !== undefined) {
            obj.instance = common_1.Instance.toJSON(message.instance);
        }
        if (message.url !== '') {
            obj.url = message.url;
        }
        if (message.overwrite !== false) {
            obj.overwrite = message.overwrite;
        }
        return obj;
    },
    create(base) {
        return exports.GitLibraryInstallRequest.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a, _b;
        const message = createBaseGitLibraryInstallRequest();
        message.instance =
            object.instance !== undefined && object.instance !== null
                ? common_1.Instance.fromPartial(object.instance)
                : undefined;
        message.url = (_a = object.url) !== null && _a !== void 0 ? _a : '';
        message.overwrite = (_b = object.overwrite) !== null && _b !== void 0 ? _b : false;
        return message;
    },
};
function createBaseGitLibraryInstallResponse() {
    return { message: undefined };
}
exports.GitLibraryInstallResponse = {
    encode(message, writer = minimal_1.default.Writer.create()) {
        var _a;
        switch ((_a = message.message) === null || _a === void 0 ? void 0 : _a.$case) {
            case 'taskProgress':
                common_1.TaskProgress.encode(message.message.taskProgress, writer.uint32(10).fork()).ldelim();
                break;
            case 'result':
                exports.GitLibraryInstallResponse_Result.encode(message.message.result, writer.uint32(18).fork()).ldelim();
                break;
        }
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseGitLibraryInstallResponse();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
                case 1:
                    if (tag !== 10) {
                        break;
                    }
                    message.message = {
                        $case: 'taskProgress',
                        taskProgress: common_1.TaskProgress.decode(reader, reader.uint32()),
                    };
                    continue;
                case 2:
                    if (tag !== 18) {
                        break;
                    }
                    message.message = {
                        $case: 'result',
                        result: exports.GitLibraryInstallResponse_Result.decode(reader, reader.uint32()),
                    };
                    continue;
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(object) {
        return {
            message: isSet(object.taskProgress)
                ? {
                    $case: 'taskProgress',
                    taskProgress: common_1.TaskProgress.fromJSON(object.taskProgress),
                }
                : isSet(object.result)
                    ? {
                        $case: 'result',
                        result: exports.GitLibraryInstallResponse_Result.fromJSON(object.result),
                    }
                    : undefined,
        };
    },
    toJSON(message) {
        var _a, _b;
        const obj = {};
        if (((_a = message.message) === null || _a === void 0 ? void 0 : _a.$case) === 'taskProgress') {
            obj.taskProgress = common_1.TaskProgress.toJSON(message.message.taskProgress);
        }
        if (((_b = message.message) === null || _b === void 0 ? void 0 : _b.$case) === 'result') {
            obj.result = exports.GitLibraryInstallResponse_Result.toJSON(message.message.result);
        }
        return obj;
    },
    create(base) {
        return exports.GitLibraryInstallResponse.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(object) {
        var _a, _b, _c, _d, _e, _f;
        const message = createBaseGitLibraryInstallResponse();
        if (((_a = object.message) === null || _a === void 0 ? void 0 : _a.$case) === 'taskProgress' &&
            ((_b = object.message) === null || _b === void 0 ? void 0 : _b.taskProgress) !== undefined &&
            ((_c = object.message) === null || _c === void 0 ? void 0 : _c.taskProgress) !== null) {
            message.message = {
                $case: 'taskProgress',
                taskProgress: common_1.TaskProgress.fromPartial(object.message.taskProgress),
            };
        }
        if (((_d = object.message) === null || _d === void 0 ? void 0 : _d.$case) === 'result' &&
            ((_e = object.message) === null || _e === void 0 ? void 0 : _e.result) !== undefined &&
            ((_f = object.message) === null || _f === void 0 ? void 0 : _f.result) !== null) {
            message.message = {
                $case: 'result',
                result: exports.GitLibraryInstallResponse_Result.fromPartial(object.message.result),
            };
        }
        return message;
    },
};
function createBaseGitLibraryInstallResponse_Result() {
    return {};
}
exports.GitLibraryInstallResponse_Result = {
    encode(_, writer = minimal_1.default.Writer.create()) {
        return writer;
    },
    decode(input, length) {
        const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
        let end = length === undefined ? reader.len : reader.pos + length;
        const message = createBaseGitLibraryInstallResponse_Result();
        while (reader.pos < end) {
            const tag = reader.uint32();
            switch (tag >>> 3) {
            }
            if ((tag & 7) === 4 || tag === 0) {
                break;
            }
            reader.skipType(tag & 7);
        }
        return message;
    },
    fromJSON(_) {
        return {};
    },
    toJSON(_) {
        const obj = {};
        return obj;
    },
    create(base) {
        return exports.GitLibraryInstallResponse_Result.fromPartial(base !== null && base !== void 0 ? base : {});
    },
    fromPartial(_) {
        const message = createBaseGitLibraryInstallResponse_Result();
        return message;
    },
};
function longToNumber(long) {
    if (long.gt(globalThis.Number.MAX_SAFE_INTEGER)) {
        throw new globalThis.Error('Value is larger than Number.MAX_SAFE_INTEGER');
    }
    if (long.lt(globalThis.Number.MIN_SAFE_INTEGER)) {
        throw new globalThis.Error('Value is smaller than Number.MIN_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;
}