{"version":3,"file":"client_service-CswFL8pJ.cjs","names":["MessageType","UnknownFieldHandler","WireType","ServiceType$"],"sources":["../generated/ts/backend/client_service.ts"],"sourcesContent":["// @generated by protobuf-ts 2.11.1 with parameter generate_dependencies\n// @generated from protobuf file \"backend/client_service.proto\" (package \"tusk.drift.backend.v1\", syntax proto3)\n// tslint:disable\nimport { ServiceType as ServiceType$ } from \"@protobuf-ts/runtime-rpc\";\nimport type { BinaryWriteOptions } from \"@protobuf-ts/runtime\";\nimport type { IBinaryWriter } from \"@protobuf-ts/runtime\";\nimport { WireType } from \"@protobuf-ts/runtime\";\nimport type { BinaryReadOptions } from \"@protobuf-ts/runtime\";\nimport type { IBinaryReader } from \"@protobuf-ts/runtime\";\nimport { UnknownFieldHandler } from \"@protobuf-ts/runtime\";\nimport type { PartialMessage } from \"@protobuf-ts/runtime\";\nimport { reflectionMergePartial } from \"@protobuf-ts/runtime\";\nimport { MessageType } from \"@protobuf-ts/runtime\";\n/**\n * @generated from protobuf message tusk.drift.backend.v1.GetAuthInfoRequest\n */\nexport interface GetAuthInfoRequest {\n    /**\n     * @generated from protobuf field: optional string client_id = 1\n     */\n    clientId?: string;\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.UserAuthInfo\n */\nexport interface UserAuthInfo {\n    /**\n     * @generated from protobuf field: string id = 1\n     */\n    id: string;\n    /**\n     * @generated from protobuf field: tusk.drift.backend.v1.UserType type = 2\n     */\n    type: UserType;\n    /**\n     * @generated from protobuf field: string name = 3\n     */\n    name: string;\n    /**\n     * @generated from protobuf field: optional string email = 4\n     */\n    email?: string;\n    /**\n     * @generated from protobuf field: optional string code_hosting_username = 5\n     */\n    codeHostingUsername?: string;\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.AuthInfoClient\n */\nexport interface AuthInfoClient {\n    /**\n     * @generated from protobuf field: string id = 1\n     */\n    id: string;\n    /**\n     * @generated from protobuf field: optional string name = 2\n     */\n    name?: string;\n    /**\n     * @generated from protobuf field: optional string domain = 3\n     */\n    domain?: string;\n    /**\n     * @generated from protobuf field: repeated string feature_flags = 4\n     */\n    featureFlags: string[];\n    /**\n     * @generated from protobuf field: repeated tusk.drift.backend.v1.CodeHostingResource code_hosting_resources = 5\n     */\n    codeHostingResources: CodeHostingResource[];\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.CodeHostingResource\n */\nexport interface CodeHostingResource {\n    /**\n     * @generated from protobuf field: int64 id = 1\n     */\n    id: bigint;\n    /**\n     * @generated from protobuf field: tusk.drift.backend.v1.CodeHostingResourceType type = 2\n     */\n    type: CodeHostingResourceType;\n    /**\n     * @generated from protobuf field: string external_id = 3\n     */\n    externalId: string;\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.GetAuthInfoResponse\n */\nexport interface GetAuthInfoResponse {\n    /**\n     * @generated from protobuf field: tusk.drift.backend.v1.UserAuthInfo user = 1\n     */\n    user?: UserAuthInfo;\n    /**\n     * @generated from protobuf field: repeated tusk.drift.backend.v1.AuthInfoClient clients = 2\n     */\n    clients: AuthInfoClient[];\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.CreateObservableServiceRequest\n */\nexport interface CreateObservableServiceRequest {\n    /**\n     * @generated from protobuf field: string repo_owner_name = 1\n     */\n    repoOwnerName: string;\n    /**\n     * @generated from protobuf field: string repo_name = 2\n     */\n    repoName: string;\n    /**\n     * @generated from protobuf field: tusk.drift.backend.v1.ServiceType service_type = 3\n     */\n    serviceType: ServiceType;\n    /**\n     * @generated from protobuf field: optional string app_dir = 4\n     */\n    appDir?: string;\n    /**\n     * @generated from protobuf field: optional string name = 5\n     */\n    name?: string;\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.CreateObservableServiceResponseSuccess\n */\nexport interface CreateObservableServiceResponseSuccess {\n    /**\n     * @generated from protobuf field: string observable_service_id = 1\n     */\n    observableServiceId: string;\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.CreateObservableServiceResponseError\n */\nexport interface CreateObservableServiceResponseError {\n    /**\n     * @generated from protobuf field: tusk.drift.backend.v1.CreateObservableServiceResponseErrorCode code = 1\n     */\n    code: CreateObservableServiceResponseErrorCode;\n    /**\n     * @generated from protobuf field: string message = 2\n     */\n    message: string;\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.CreateObservableServiceResponse\n */\nexport interface CreateObservableServiceResponse {\n    /**\n     * @generated from protobuf oneof: response\n     */\n    response: {\n        oneofKind: \"success\";\n        /**\n         * @generated from protobuf field: tusk.drift.backend.v1.CreateObservableServiceResponseSuccess success = 1\n         */\n        success: CreateObservableServiceResponseSuccess;\n    } | {\n        oneofKind: \"error\";\n        /**\n         * @generated from protobuf field: tusk.drift.backend.v1.CreateObservableServiceResponseError error = 2\n         */\n        error: CreateObservableServiceResponseError;\n    } | {\n        oneofKind: undefined;\n    };\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.VerifyRepoAccessRequest\n */\nexport interface VerifyRepoAccessRequest {\n    /**\n     * @generated from protobuf field: string repo_owner_name = 1\n     */\n    repoOwnerName: string;\n    /**\n     * @generated from protobuf field: string repo_name = 2\n     */\n    repoName: string;\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.VerifyRepoAccessResponseSuccess\n */\nexport interface VerifyRepoAccessResponseSuccess {\n    /**\n     * @generated from protobuf field: int64 repo_id = 1\n     */\n    repoId: bigint;\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.VerifyRepoAccessResponseError\n */\nexport interface VerifyRepoAccessResponseError {\n    /**\n     * @generated from protobuf field: tusk.drift.backend.v1.VerifyRepoAccessResponseErrorCode code = 1\n     */\n    code: VerifyRepoAccessResponseErrorCode;\n    /**\n     * @generated from protobuf field: string message = 2\n     */\n    message: string;\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.VerifyRepoAccessResponse\n */\nexport interface VerifyRepoAccessResponse {\n    /**\n     * @generated from protobuf oneof: response\n     */\n    response: {\n        oneofKind: \"success\";\n        /**\n         * @generated from protobuf field: tusk.drift.backend.v1.VerifyRepoAccessResponseSuccess success = 1\n         */\n        success: VerifyRepoAccessResponseSuccess;\n    } | {\n        oneofKind: \"error\";\n        /**\n         * @generated from protobuf field: tusk.drift.backend.v1.VerifyRepoAccessResponseError error = 2\n         */\n        error: VerifyRepoAccessResponseError;\n    } | {\n        oneofKind: undefined;\n    };\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.CreateApiKeyRequest\n */\nexport interface CreateApiKeyRequest {\n    /**\n     * @generated from protobuf field: string name = 1\n     */\n    name: string;\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.CreateApiKeyResponse\n */\nexport interface CreateApiKeyResponse {\n    /**\n     * @generated from protobuf oneof: response\n     */\n    response: {\n        oneofKind: \"success\";\n        /**\n         * @generated from protobuf field: tusk.drift.backend.v1.CreateApiKeyResponseSuccess success = 1\n         */\n        success: CreateApiKeyResponseSuccess;\n    } | {\n        oneofKind: \"error\";\n        /**\n         * @generated from protobuf field: tusk.drift.backend.v1.CreateApiKeyResponseError error = 2\n         */\n        error: CreateApiKeyResponseError;\n    } | {\n        oneofKind: undefined;\n    };\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.CreateApiKeyResponseSuccess\n */\nexport interface CreateApiKeyResponseSuccess {\n    /**\n     * @generated from protobuf field: string api_key_id = 1\n     */\n    apiKeyId: string;\n    /**\n     * @generated from protobuf field: string api_key = 2\n     */\n    apiKey: string;\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.CreateApiKeyResponseError\n */\nexport interface CreateApiKeyResponseError {\n    /**\n     * @generated from protobuf field: tusk.drift.backend.v1.CreateApiKeyResponseErrorCode code = 1\n     */\n    code: CreateApiKeyResponseErrorCode;\n    /**\n     * @generated from protobuf field: string message = 2\n     */\n    message: string;\n}\n// =============================================================================\n// GetObservableServiceInfo Messages\n// =============================================================================\n\n/**\n * @generated from protobuf message tusk.drift.backend.v1.GetObservableServiceInfoRequest\n */\nexport interface GetObservableServiceInfoRequest {\n    /**\n     * @generated from protobuf field: string observable_service_id = 1\n     */\n    observableServiceId: string;\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.GetObservableServiceInfoResponseSuccess\n */\nexport interface GetObservableServiceInfoResponseSuccess {\n    /**\n     * @generated from protobuf field: string observable_service_id = 1\n     */\n    observableServiceId: string;\n    /**\n     * @generated from protobuf field: string default_branch = 2\n     */\n    defaultBranch: string;\n    /**\n     * @generated from protobuf field: string repo_owner = 3\n     */\n    repoOwner: string;\n    /**\n     * @generated from protobuf field: string repo_name = 4\n     */\n    repoName: string;\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.GetObservableServiceInfoResponseError\n */\nexport interface GetObservableServiceInfoResponseError {\n    /**\n     * @generated from protobuf field: string code = 1\n     */\n    code: string;\n    /**\n     * @generated from protobuf field: string message = 2\n     */\n    message: string;\n}\n/**\n * @generated from protobuf message tusk.drift.backend.v1.GetObservableServiceInfoResponse\n */\nexport interface GetObservableServiceInfoResponse {\n    /**\n     * @generated from protobuf oneof: response\n     */\n    response: {\n        oneofKind: \"success\";\n        /**\n         * @generated from protobuf field: tusk.drift.backend.v1.GetObservableServiceInfoResponseSuccess success = 1\n         */\n        success: GetObservableServiceInfoResponseSuccess;\n    } | {\n        oneofKind: \"error\";\n        /**\n         * @generated from protobuf field: tusk.drift.backend.v1.GetObservableServiceInfoResponseError error = 2\n         */\n        error: GetObservableServiceInfoResponseError;\n    } | {\n        oneofKind: undefined;\n    };\n}\n/**\n * @generated from protobuf enum tusk.drift.backend.v1.UserType\n */\nexport enum UserType {\n    /**\n     * @generated from protobuf enum value: USER_TYPE_UNSPECIFIED = 0;\n     */\n    UNSPECIFIED = 0,\n    /**\n     * @generated from protobuf enum value: USER_TYPE_USER = 1;\n     */\n    USER = 1,\n    /**\n     * @generated from protobuf enum value: USER_TYPE_API_KEY = 2;\n     */\n    API_KEY = 2\n}\n/**\n * @generated from protobuf enum tusk.drift.backend.v1.CodeHostingResourceType\n */\nexport enum CodeHostingResourceType {\n    /**\n     * @generated from protobuf enum value: CODE_HOSTING_RESOURCE_TYPE_UNSPECIFIED = 0;\n     */\n    UNSPECIFIED = 0,\n    /**\n     * @generated from protobuf enum value: CODE_HOSTING_RESOURCE_TYPE_GITHUB = 1;\n     */\n    GITHUB = 1,\n    /**\n     * @generated from protobuf enum value: CODE_HOSTING_RESOURCE_TYPE_GITLAB = 2;\n     */\n    GITLAB = 2\n}\n/**\n * @generated from protobuf enum tusk.drift.backend.v1.ServiceType\n */\nexport enum ServiceType {\n    /**\n     * @generated from protobuf enum value: SERVICE_TYPE_UNSPECIFIED = 0;\n     */\n    UNSPECIFIED = 0,\n    /**\n     * @generated from protobuf enum value: SERVICE_TYPE_NODE = 1;\n     */\n    NODE = 1,\n    /**\n     * @generated from protobuf enum value: SERVICE_TYPE_PYTHON = 2;\n     */\n    PYTHON = 2\n}\n/**\n * @generated from protobuf enum tusk.drift.backend.v1.CreateObservableServiceResponseErrorCode\n */\nexport enum CreateObservableServiceResponseErrorCode {\n    /**\n     * @generated from protobuf enum value: CREATE_OBSERVABLE_SERVICE_RESPONSE_ERROR_CODE_UNSPECIFIED = 0;\n     */\n    UNSPECIFIED = 0,\n    /**\n     * @generated from protobuf enum value: CREATE_OBSERVABLE_SERVICE_RESPONSE_ERROR_CODE_INTERNAL = 1;\n     */\n    INTERNAL = 1,\n    /**\n     * @generated from protobuf enum value: CREATE_OBSERVABLE_SERVICE_RESPONSE_ERROR_CODE_NOT_AUTHORIZED = 2;\n     */\n    NOT_AUTHORIZED = 2,\n    /**\n     * @generated from protobuf enum value: CREATE_OBSERVABLE_SERVICE_RESPONSE_ERROR_CODE_NO_CODE_HOSTING_RESOURCE = 3;\n     */\n    NO_CODE_HOSTING_RESOURCE = 3,\n    /**\n     * @generated from protobuf enum value: CREATE_OBSERVABLE_SERVICE_RESPONSE_ERROR_CODE_NO_REPO_FOUND = 4;\n     */\n    NO_REPO_FOUND = 4\n}\n/**\n * @generated from protobuf enum tusk.drift.backend.v1.VerifyRepoAccessResponseErrorCode\n */\nexport enum VerifyRepoAccessResponseErrorCode {\n    /**\n     * @generated from protobuf enum value: VERIFY_REPO_ACCESS_RESPONSE_ERROR_CODE_UNSPECIFIED = 0;\n     */\n    UNSPECIFIED = 0,\n    /**\n     * @generated from protobuf enum value: VERIFY_REPO_ACCESS_RESPONSE_ERROR_CODE_INTERNAL = 1;\n     */\n    INTERNAL = 1,\n    /**\n     * @generated from protobuf enum value: VERIFY_REPO_ACCESS_RESPONSE_ERROR_CODE_NOT_AUTHORIZED = 2;\n     */\n    NOT_AUTHORIZED = 2,\n    /**\n     * @generated from protobuf enum value: VERIFY_REPO_ACCESS_RESPONSE_ERROR_CODE_NO_CODE_HOSTING_RESOURCE = 3;\n     */\n    NO_CODE_HOSTING_RESOURCE = 3,\n    /**\n     * @generated from protobuf enum value: VERIFY_REPO_ACCESS_RESPONSE_ERROR_CODE_REPO_NOT_FOUND = 4;\n     */\n    REPO_NOT_FOUND = 4\n}\n/**\n * @generated from protobuf enum tusk.drift.backend.v1.CreateApiKeyResponseErrorCode\n */\nexport enum CreateApiKeyResponseErrorCode {\n    /**\n     * @generated from protobuf enum value: CREATE_API_KEY_RESPONSE_ERROR_CODE_UNSPECIFIED = 0;\n     */\n    UNSPECIFIED = 0,\n    /**\n     * @generated from protobuf enum value: CREATE_API_KEY_RESPONSE_ERROR_CODE_INTERNAL = 1;\n     */\n    INTERNAL = 1,\n    /**\n     * @generated from protobuf enum value: CREATE_API_KEY_RESPONSE_ERROR_CODE_NOT_AUTHORIZED = 2;\n     */\n    NOT_AUTHORIZED = 2\n}\n// @generated message type with reflection information, may provide speed optimized methods\nclass GetAuthInfoRequest$Type extends MessageType<GetAuthInfoRequest> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.GetAuthInfoRequest\", [\n            { no: 1, name: \"client_id\", kind: \"scalar\", opt: true, T: 9 /*ScalarType.STRING*/ }\n        ]);\n    }\n    create(value?: PartialMessage<GetAuthInfoRequest>): GetAuthInfoRequest {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        if (value !== undefined)\n            reflectionMergePartial<GetAuthInfoRequest>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetAuthInfoRequest): GetAuthInfoRequest {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* optional string client_id */ 1:\n                    message.clientId = reader.string();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: GetAuthInfoRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* optional string client_id = 1; */\n        if (message.clientId !== undefined)\n            writer.tag(1, WireType.LengthDelimited).string(message.clientId);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.GetAuthInfoRequest\n */\nexport const GetAuthInfoRequest = new GetAuthInfoRequest$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass UserAuthInfo$Type extends MessageType<UserAuthInfo> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.UserAuthInfo\", [\n            { no: 1, name: \"id\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 2, name: \"type\", kind: \"enum\", T: () => [\"tusk.drift.backend.v1.UserType\", UserType, \"USER_TYPE_\"] },\n            { no: 3, name: \"name\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 4, name: \"email\", kind: \"scalar\", opt: true, T: 9 /*ScalarType.STRING*/ },\n            { no: 5, name: \"code_hosting_username\", kind: \"scalar\", opt: true, T: 9 /*ScalarType.STRING*/ }\n        ]);\n    }\n    create(value?: PartialMessage<UserAuthInfo>): UserAuthInfo {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.id = \"\";\n        message.type = 0;\n        message.name = \"\";\n        if (value !== undefined)\n            reflectionMergePartial<UserAuthInfo>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UserAuthInfo): UserAuthInfo {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* string id */ 1:\n                    message.id = reader.string();\n                    break;\n                case /* tusk.drift.backend.v1.UserType type */ 2:\n                    message.type = reader.int32();\n                    break;\n                case /* string name */ 3:\n                    message.name = reader.string();\n                    break;\n                case /* optional string email */ 4:\n                    message.email = reader.string();\n                    break;\n                case /* optional string code_hosting_username */ 5:\n                    message.codeHostingUsername = reader.string();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: UserAuthInfo, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* string id = 1; */\n        if (message.id !== \"\")\n            writer.tag(1, WireType.LengthDelimited).string(message.id);\n        /* tusk.drift.backend.v1.UserType type = 2; */\n        if (message.type !== 0)\n            writer.tag(2, WireType.Varint).int32(message.type);\n        /* string name = 3; */\n        if (message.name !== \"\")\n            writer.tag(3, WireType.LengthDelimited).string(message.name);\n        /* optional string email = 4; */\n        if (message.email !== undefined)\n            writer.tag(4, WireType.LengthDelimited).string(message.email);\n        /* optional string code_hosting_username = 5; */\n        if (message.codeHostingUsername !== undefined)\n            writer.tag(5, WireType.LengthDelimited).string(message.codeHostingUsername);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.UserAuthInfo\n */\nexport const UserAuthInfo = new UserAuthInfo$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass AuthInfoClient$Type extends MessageType<AuthInfoClient> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.AuthInfoClient\", [\n            { no: 1, name: \"id\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 2, name: \"name\", kind: \"scalar\", opt: true, T: 9 /*ScalarType.STRING*/ },\n            { no: 3, name: \"domain\", kind: \"scalar\", opt: true, T: 9 /*ScalarType.STRING*/ },\n            { no: 4, name: \"feature_flags\", kind: \"scalar\", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ },\n            { no: 5, name: \"code_hosting_resources\", kind: \"message\", repeat: 2 /*RepeatType.UNPACKED*/, T: () => CodeHostingResource }\n        ]);\n    }\n    create(value?: PartialMessage<AuthInfoClient>): AuthInfoClient {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.id = \"\";\n        message.featureFlags = [];\n        message.codeHostingResources = [];\n        if (value !== undefined)\n            reflectionMergePartial<AuthInfoClient>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: AuthInfoClient): AuthInfoClient {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* string id */ 1:\n                    message.id = reader.string();\n                    break;\n                case /* optional string name */ 2:\n                    message.name = reader.string();\n                    break;\n                case /* optional string domain */ 3:\n                    message.domain = reader.string();\n                    break;\n                case /* repeated string feature_flags */ 4:\n                    message.featureFlags.push(reader.string());\n                    break;\n                case /* repeated tusk.drift.backend.v1.CodeHostingResource code_hosting_resources */ 5:\n                    message.codeHostingResources.push(CodeHostingResource.internalBinaryRead(reader, reader.uint32(), options));\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: AuthInfoClient, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* string id = 1; */\n        if (message.id !== \"\")\n            writer.tag(1, WireType.LengthDelimited).string(message.id);\n        /* optional string name = 2; */\n        if (message.name !== undefined)\n            writer.tag(2, WireType.LengthDelimited).string(message.name);\n        /* optional string domain = 3; */\n        if (message.domain !== undefined)\n            writer.tag(3, WireType.LengthDelimited).string(message.domain);\n        /* repeated string feature_flags = 4; */\n        for (let i = 0; i < message.featureFlags.length; i++)\n            writer.tag(4, WireType.LengthDelimited).string(message.featureFlags[i]);\n        /* repeated tusk.drift.backend.v1.CodeHostingResource code_hosting_resources = 5; */\n        for (let i = 0; i < message.codeHostingResources.length; i++)\n            CodeHostingResource.internalBinaryWrite(message.codeHostingResources[i], writer.tag(5, WireType.LengthDelimited).fork(), options).join();\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.AuthInfoClient\n */\nexport const AuthInfoClient = new AuthInfoClient$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass CodeHostingResource$Type extends MessageType<CodeHostingResource> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.CodeHostingResource\", [\n            { no: 1, name: \"id\", kind: \"scalar\", T: 3 /*ScalarType.INT64*/, L: 0 /*LongType.BIGINT*/ },\n            { no: 2, name: \"type\", kind: \"enum\", T: () => [\"tusk.drift.backend.v1.CodeHostingResourceType\", CodeHostingResourceType, \"CODE_HOSTING_RESOURCE_TYPE_\"] },\n            { no: 3, name: \"external_id\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ }\n        ]);\n    }\n    create(value?: PartialMessage<CodeHostingResource>): CodeHostingResource {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.id = 0n;\n        message.type = 0;\n        message.externalId = \"\";\n        if (value !== undefined)\n            reflectionMergePartial<CodeHostingResource>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CodeHostingResource): CodeHostingResource {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* int64 id */ 1:\n                    message.id = reader.int64().toBigInt();\n                    break;\n                case /* tusk.drift.backend.v1.CodeHostingResourceType type */ 2:\n                    message.type = reader.int32();\n                    break;\n                case /* string external_id */ 3:\n                    message.externalId = reader.string();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: CodeHostingResource, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* int64 id = 1; */\n        if (message.id !== 0n)\n            writer.tag(1, WireType.Varint).int64(message.id);\n        /* tusk.drift.backend.v1.CodeHostingResourceType type = 2; */\n        if (message.type !== 0)\n            writer.tag(2, WireType.Varint).int32(message.type);\n        /* string external_id = 3; */\n        if (message.externalId !== \"\")\n            writer.tag(3, WireType.LengthDelimited).string(message.externalId);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.CodeHostingResource\n */\nexport const CodeHostingResource = new CodeHostingResource$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass GetAuthInfoResponse$Type extends MessageType<GetAuthInfoResponse> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.GetAuthInfoResponse\", [\n            { no: 1, name: \"user\", kind: \"message\", T: () => UserAuthInfo },\n            { no: 2, name: \"clients\", kind: \"message\", repeat: 2 /*RepeatType.UNPACKED*/, T: () => AuthInfoClient }\n        ]);\n    }\n    create(value?: PartialMessage<GetAuthInfoResponse>): GetAuthInfoResponse {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.clients = [];\n        if (value !== undefined)\n            reflectionMergePartial<GetAuthInfoResponse>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetAuthInfoResponse): GetAuthInfoResponse {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* tusk.drift.backend.v1.UserAuthInfo user */ 1:\n                    message.user = UserAuthInfo.internalBinaryRead(reader, reader.uint32(), options, message.user);\n                    break;\n                case /* repeated tusk.drift.backend.v1.AuthInfoClient clients */ 2:\n                    message.clients.push(AuthInfoClient.internalBinaryRead(reader, reader.uint32(), options));\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: GetAuthInfoResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* tusk.drift.backend.v1.UserAuthInfo user = 1; */\n        if (message.user)\n            UserAuthInfo.internalBinaryWrite(message.user, writer.tag(1, WireType.LengthDelimited).fork(), options).join();\n        /* repeated tusk.drift.backend.v1.AuthInfoClient clients = 2; */\n        for (let i = 0; i < message.clients.length; i++)\n            AuthInfoClient.internalBinaryWrite(message.clients[i], writer.tag(2, WireType.LengthDelimited).fork(), options).join();\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.GetAuthInfoResponse\n */\nexport const GetAuthInfoResponse = new GetAuthInfoResponse$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass CreateObservableServiceRequest$Type extends MessageType<CreateObservableServiceRequest> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.CreateObservableServiceRequest\", [\n            { no: 1, name: \"repo_owner_name\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 2, name: \"repo_name\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 3, name: \"service_type\", kind: \"enum\", T: () => [\"tusk.drift.backend.v1.ServiceType\", ServiceType, \"SERVICE_TYPE_\"] },\n            { no: 4, name: \"app_dir\", kind: \"scalar\", opt: true, T: 9 /*ScalarType.STRING*/ },\n            { no: 5, name: \"name\", kind: \"scalar\", opt: true, T: 9 /*ScalarType.STRING*/ }\n        ]);\n    }\n    create(value?: PartialMessage<CreateObservableServiceRequest>): CreateObservableServiceRequest {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.repoOwnerName = \"\";\n        message.repoName = \"\";\n        message.serviceType = 0;\n        if (value !== undefined)\n            reflectionMergePartial<CreateObservableServiceRequest>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CreateObservableServiceRequest): CreateObservableServiceRequest {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* string repo_owner_name */ 1:\n                    message.repoOwnerName = reader.string();\n                    break;\n                case /* string repo_name */ 2:\n                    message.repoName = reader.string();\n                    break;\n                case /* tusk.drift.backend.v1.ServiceType service_type */ 3:\n                    message.serviceType = reader.int32();\n                    break;\n                case /* optional string app_dir */ 4:\n                    message.appDir = reader.string();\n                    break;\n                case /* optional string name */ 5:\n                    message.name = reader.string();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: CreateObservableServiceRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* string repo_owner_name = 1; */\n        if (message.repoOwnerName !== \"\")\n            writer.tag(1, WireType.LengthDelimited).string(message.repoOwnerName);\n        /* string repo_name = 2; */\n        if (message.repoName !== \"\")\n            writer.tag(2, WireType.LengthDelimited).string(message.repoName);\n        /* tusk.drift.backend.v1.ServiceType service_type = 3; */\n        if (message.serviceType !== 0)\n            writer.tag(3, WireType.Varint).int32(message.serviceType);\n        /* optional string app_dir = 4; */\n        if (message.appDir !== undefined)\n            writer.tag(4, WireType.LengthDelimited).string(message.appDir);\n        /* optional string name = 5; */\n        if (message.name !== undefined)\n            writer.tag(5, WireType.LengthDelimited).string(message.name);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.CreateObservableServiceRequest\n */\nexport const CreateObservableServiceRequest = new CreateObservableServiceRequest$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass CreateObservableServiceResponseSuccess$Type extends MessageType<CreateObservableServiceResponseSuccess> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.CreateObservableServiceResponseSuccess\", [\n            { no: 1, name: \"observable_service_id\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ }\n        ]);\n    }\n    create(value?: PartialMessage<CreateObservableServiceResponseSuccess>): CreateObservableServiceResponseSuccess {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.observableServiceId = \"\";\n        if (value !== undefined)\n            reflectionMergePartial<CreateObservableServiceResponseSuccess>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CreateObservableServiceResponseSuccess): CreateObservableServiceResponseSuccess {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* string observable_service_id */ 1:\n                    message.observableServiceId = reader.string();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: CreateObservableServiceResponseSuccess, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* string observable_service_id = 1; */\n        if (message.observableServiceId !== \"\")\n            writer.tag(1, WireType.LengthDelimited).string(message.observableServiceId);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.CreateObservableServiceResponseSuccess\n */\nexport const CreateObservableServiceResponseSuccess = new CreateObservableServiceResponseSuccess$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass CreateObservableServiceResponseError$Type extends MessageType<CreateObservableServiceResponseError> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.CreateObservableServiceResponseError\", [\n            { no: 1, name: \"code\", kind: \"enum\", T: () => [\"tusk.drift.backend.v1.CreateObservableServiceResponseErrorCode\", CreateObservableServiceResponseErrorCode, \"CREATE_OBSERVABLE_SERVICE_RESPONSE_ERROR_CODE_\"] },\n            { no: 2, name: \"message\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ }\n        ]);\n    }\n    create(value?: PartialMessage<CreateObservableServiceResponseError>): CreateObservableServiceResponseError {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.code = 0;\n        message.message = \"\";\n        if (value !== undefined)\n            reflectionMergePartial<CreateObservableServiceResponseError>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CreateObservableServiceResponseError): CreateObservableServiceResponseError {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* tusk.drift.backend.v1.CreateObservableServiceResponseErrorCode code */ 1:\n                    message.code = reader.int32();\n                    break;\n                case /* string message */ 2:\n                    message.message = reader.string();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: CreateObservableServiceResponseError, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* tusk.drift.backend.v1.CreateObservableServiceResponseErrorCode code = 1; */\n        if (message.code !== 0)\n            writer.tag(1, WireType.Varint).int32(message.code);\n        /* string message = 2; */\n        if (message.message !== \"\")\n            writer.tag(2, WireType.LengthDelimited).string(message.message);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.CreateObservableServiceResponseError\n */\nexport const CreateObservableServiceResponseError = new CreateObservableServiceResponseError$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass CreateObservableServiceResponse$Type extends MessageType<CreateObservableServiceResponse> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.CreateObservableServiceResponse\", [\n            { no: 1, name: \"success\", kind: \"message\", oneof: \"response\", T: () => CreateObservableServiceResponseSuccess },\n            { no: 2, name: \"error\", kind: \"message\", oneof: \"response\", T: () => CreateObservableServiceResponseError }\n        ]);\n    }\n    create(value?: PartialMessage<CreateObservableServiceResponse>): CreateObservableServiceResponse {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.response = { oneofKind: undefined };\n        if (value !== undefined)\n            reflectionMergePartial<CreateObservableServiceResponse>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CreateObservableServiceResponse): CreateObservableServiceResponse {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* tusk.drift.backend.v1.CreateObservableServiceResponseSuccess success */ 1:\n                    message.response = {\n                        oneofKind: \"success\",\n                        success: CreateObservableServiceResponseSuccess.internalBinaryRead(reader, reader.uint32(), options, (message.response as any).success)\n                    };\n                    break;\n                case /* tusk.drift.backend.v1.CreateObservableServiceResponseError error */ 2:\n                    message.response = {\n                        oneofKind: \"error\",\n                        error: CreateObservableServiceResponseError.internalBinaryRead(reader, reader.uint32(), options, (message.response as any).error)\n                    };\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: CreateObservableServiceResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* tusk.drift.backend.v1.CreateObservableServiceResponseSuccess success = 1; */\n        if (message.response.oneofKind === \"success\")\n            CreateObservableServiceResponseSuccess.internalBinaryWrite(message.response.success, writer.tag(1, WireType.LengthDelimited).fork(), options).join();\n        /* tusk.drift.backend.v1.CreateObservableServiceResponseError error = 2; */\n        if (message.response.oneofKind === \"error\")\n            CreateObservableServiceResponseError.internalBinaryWrite(message.response.error, writer.tag(2, WireType.LengthDelimited).fork(), options).join();\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.CreateObservableServiceResponse\n */\nexport const CreateObservableServiceResponse = new CreateObservableServiceResponse$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass VerifyRepoAccessRequest$Type extends MessageType<VerifyRepoAccessRequest> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.VerifyRepoAccessRequest\", [\n            { no: 1, name: \"repo_owner_name\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 2, name: \"repo_name\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ }\n        ]);\n    }\n    create(value?: PartialMessage<VerifyRepoAccessRequest>): VerifyRepoAccessRequest {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.repoOwnerName = \"\";\n        message.repoName = \"\";\n        if (value !== undefined)\n            reflectionMergePartial<VerifyRepoAccessRequest>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: VerifyRepoAccessRequest): VerifyRepoAccessRequest {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* string repo_owner_name */ 1:\n                    message.repoOwnerName = reader.string();\n                    break;\n                case /* string repo_name */ 2:\n                    message.repoName = reader.string();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: VerifyRepoAccessRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* string repo_owner_name = 1; */\n        if (message.repoOwnerName !== \"\")\n            writer.tag(1, WireType.LengthDelimited).string(message.repoOwnerName);\n        /* string repo_name = 2; */\n        if (message.repoName !== \"\")\n            writer.tag(2, WireType.LengthDelimited).string(message.repoName);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.VerifyRepoAccessRequest\n */\nexport const VerifyRepoAccessRequest = new VerifyRepoAccessRequest$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass VerifyRepoAccessResponseSuccess$Type extends MessageType<VerifyRepoAccessResponseSuccess> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.VerifyRepoAccessResponseSuccess\", [\n            { no: 1, name: \"repo_id\", kind: \"scalar\", T: 3 /*ScalarType.INT64*/, L: 0 /*LongType.BIGINT*/ }\n        ]);\n    }\n    create(value?: PartialMessage<VerifyRepoAccessResponseSuccess>): VerifyRepoAccessResponseSuccess {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.repoId = 0n;\n        if (value !== undefined)\n            reflectionMergePartial<VerifyRepoAccessResponseSuccess>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: VerifyRepoAccessResponseSuccess): VerifyRepoAccessResponseSuccess {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* int64 repo_id */ 1:\n                    message.repoId = reader.int64().toBigInt();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: VerifyRepoAccessResponseSuccess, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* int64 repo_id = 1; */\n        if (message.repoId !== 0n)\n            writer.tag(1, WireType.Varint).int64(message.repoId);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.VerifyRepoAccessResponseSuccess\n */\nexport const VerifyRepoAccessResponseSuccess = new VerifyRepoAccessResponseSuccess$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass VerifyRepoAccessResponseError$Type extends MessageType<VerifyRepoAccessResponseError> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.VerifyRepoAccessResponseError\", [\n            { no: 1, name: \"code\", kind: \"enum\", T: () => [\"tusk.drift.backend.v1.VerifyRepoAccessResponseErrorCode\", VerifyRepoAccessResponseErrorCode, \"VERIFY_REPO_ACCESS_RESPONSE_ERROR_CODE_\"] },\n            { no: 2, name: \"message\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ }\n        ]);\n    }\n    create(value?: PartialMessage<VerifyRepoAccessResponseError>): VerifyRepoAccessResponseError {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.code = 0;\n        message.message = \"\";\n        if (value !== undefined)\n            reflectionMergePartial<VerifyRepoAccessResponseError>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: VerifyRepoAccessResponseError): VerifyRepoAccessResponseError {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* tusk.drift.backend.v1.VerifyRepoAccessResponseErrorCode code */ 1:\n                    message.code = reader.int32();\n                    break;\n                case /* string message */ 2:\n                    message.message = reader.string();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: VerifyRepoAccessResponseError, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* tusk.drift.backend.v1.VerifyRepoAccessResponseErrorCode code = 1; */\n        if (message.code !== 0)\n            writer.tag(1, WireType.Varint).int32(message.code);\n        /* string message = 2; */\n        if (message.message !== \"\")\n            writer.tag(2, WireType.LengthDelimited).string(message.message);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.VerifyRepoAccessResponseError\n */\nexport const VerifyRepoAccessResponseError = new VerifyRepoAccessResponseError$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass VerifyRepoAccessResponse$Type extends MessageType<VerifyRepoAccessResponse> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.VerifyRepoAccessResponse\", [\n            { no: 1, name: \"success\", kind: \"message\", oneof: \"response\", T: () => VerifyRepoAccessResponseSuccess },\n            { no: 2, name: \"error\", kind: \"message\", oneof: \"response\", T: () => VerifyRepoAccessResponseError }\n        ]);\n    }\n    create(value?: PartialMessage<VerifyRepoAccessResponse>): VerifyRepoAccessResponse {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.response = { oneofKind: undefined };\n        if (value !== undefined)\n            reflectionMergePartial<VerifyRepoAccessResponse>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: VerifyRepoAccessResponse): VerifyRepoAccessResponse {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* tusk.drift.backend.v1.VerifyRepoAccessResponseSuccess success */ 1:\n                    message.response = {\n                        oneofKind: \"success\",\n                        success: VerifyRepoAccessResponseSuccess.internalBinaryRead(reader, reader.uint32(), options, (message.response as any).success)\n                    };\n                    break;\n                case /* tusk.drift.backend.v1.VerifyRepoAccessResponseError error */ 2:\n                    message.response = {\n                        oneofKind: \"error\",\n                        error: VerifyRepoAccessResponseError.internalBinaryRead(reader, reader.uint32(), options, (message.response as any).error)\n                    };\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: VerifyRepoAccessResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* tusk.drift.backend.v1.VerifyRepoAccessResponseSuccess success = 1; */\n        if (message.response.oneofKind === \"success\")\n            VerifyRepoAccessResponseSuccess.internalBinaryWrite(message.response.success, writer.tag(1, WireType.LengthDelimited).fork(), options).join();\n        /* tusk.drift.backend.v1.VerifyRepoAccessResponseError error = 2; */\n        if (message.response.oneofKind === \"error\")\n            VerifyRepoAccessResponseError.internalBinaryWrite(message.response.error, writer.tag(2, WireType.LengthDelimited).fork(), options).join();\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.VerifyRepoAccessResponse\n */\nexport const VerifyRepoAccessResponse = new VerifyRepoAccessResponse$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass CreateApiKeyRequest$Type extends MessageType<CreateApiKeyRequest> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.CreateApiKeyRequest\", [\n            { no: 1, name: \"name\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ }\n        ]);\n    }\n    create(value?: PartialMessage<CreateApiKeyRequest>): CreateApiKeyRequest {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.name = \"\";\n        if (value !== undefined)\n            reflectionMergePartial<CreateApiKeyRequest>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CreateApiKeyRequest): CreateApiKeyRequest {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* string name */ 1:\n                    message.name = reader.string();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: CreateApiKeyRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* string name = 1; */\n        if (message.name !== \"\")\n            writer.tag(1, WireType.LengthDelimited).string(message.name);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.CreateApiKeyRequest\n */\nexport const CreateApiKeyRequest = new CreateApiKeyRequest$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass CreateApiKeyResponse$Type extends MessageType<CreateApiKeyResponse> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.CreateApiKeyResponse\", [\n            { no: 1, name: \"success\", kind: \"message\", oneof: \"response\", T: () => CreateApiKeyResponseSuccess },\n            { no: 2, name: \"error\", kind: \"message\", oneof: \"response\", T: () => CreateApiKeyResponseError }\n        ]);\n    }\n    create(value?: PartialMessage<CreateApiKeyResponse>): CreateApiKeyResponse {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.response = { oneofKind: undefined };\n        if (value !== undefined)\n            reflectionMergePartial<CreateApiKeyResponse>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CreateApiKeyResponse): CreateApiKeyResponse {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* tusk.drift.backend.v1.CreateApiKeyResponseSuccess success */ 1:\n                    message.response = {\n                        oneofKind: \"success\",\n                        success: CreateApiKeyResponseSuccess.internalBinaryRead(reader, reader.uint32(), options, (message.response as any).success)\n                    };\n                    break;\n                case /* tusk.drift.backend.v1.CreateApiKeyResponseError error */ 2:\n                    message.response = {\n                        oneofKind: \"error\",\n                        error: CreateApiKeyResponseError.internalBinaryRead(reader, reader.uint32(), options, (message.response as any).error)\n                    };\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: CreateApiKeyResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* tusk.drift.backend.v1.CreateApiKeyResponseSuccess success = 1; */\n        if (message.response.oneofKind === \"success\")\n            CreateApiKeyResponseSuccess.internalBinaryWrite(message.response.success, writer.tag(1, WireType.LengthDelimited).fork(), options).join();\n        /* tusk.drift.backend.v1.CreateApiKeyResponseError error = 2; */\n        if (message.response.oneofKind === \"error\")\n            CreateApiKeyResponseError.internalBinaryWrite(message.response.error, writer.tag(2, WireType.LengthDelimited).fork(), options).join();\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.CreateApiKeyResponse\n */\nexport const CreateApiKeyResponse = new CreateApiKeyResponse$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass CreateApiKeyResponseSuccess$Type extends MessageType<CreateApiKeyResponseSuccess> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.CreateApiKeyResponseSuccess\", [\n            { no: 1, name: \"api_key_id\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 2, name: \"api_key\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ }\n        ]);\n    }\n    create(value?: PartialMessage<CreateApiKeyResponseSuccess>): CreateApiKeyResponseSuccess {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.apiKeyId = \"\";\n        message.apiKey = \"\";\n        if (value !== undefined)\n            reflectionMergePartial<CreateApiKeyResponseSuccess>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CreateApiKeyResponseSuccess): CreateApiKeyResponseSuccess {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* string api_key_id */ 1:\n                    message.apiKeyId = reader.string();\n                    break;\n                case /* string api_key */ 2:\n                    message.apiKey = reader.string();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: CreateApiKeyResponseSuccess, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* string api_key_id = 1; */\n        if (message.apiKeyId !== \"\")\n            writer.tag(1, WireType.LengthDelimited).string(message.apiKeyId);\n        /* string api_key = 2; */\n        if (message.apiKey !== \"\")\n            writer.tag(2, WireType.LengthDelimited).string(message.apiKey);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.CreateApiKeyResponseSuccess\n */\nexport const CreateApiKeyResponseSuccess = new CreateApiKeyResponseSuccess$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass CreateApiKeyResponseError$Type extends MessageType<CreateApiKeyResponseError> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.CreateApiKeyResponseError\", [\n            { no: 1, name: \"code\", kind: \"enum\", T: () => [\"tusk.drift.backend.v1.CreateApiKeyResponseErrorCode\", CreateApiKeyResponseErrorCode, \"CREATE_API_KEY_RESPONSE_ERROR_CODE_\"] },\n            { no: 2, name: \"message\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ }\n        ]);\n    }\n    create(value?: PartialMessage<CreateApiKeyResponseError>): CreateApiKeyResponseError {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.code = 0;\n        message.message = \"\";\n        if (value !== undefined)\n            reflectionMergePartial<CreateApiKeyResponseError>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CreateApiKeyResponseError): CreateApiKeyResponseError {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* tusk.drift.backend.v1.CreateApiKeyResponseErrorCode code */ 1:\n                    message.code = reader.int32();\n                    break;\n                case /* string message */ 2:\n                    message.message = reader.string();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: CreateApiKeyResponseError, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* tusk.drift.backend.v1.CreateApiKeyResponseErrorCode code = 1; */\n        if (message.code !== 0)\n            writer.tag(1, WireType.Varint).int32(message.code);\n        /* string message = 2; */\n        if (message.message !== \"\")\n            writer.tag(2, WireType.LengthDelimited).string(message.message);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.CreateApiKeyResponseError\n */\nexport const CreateApiKeyResponseError = new CreateApiKeyResponseError$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass GetObservableServiceInfoRequest$Type extends MessageType<GetObservableServiceInfoRequest> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.GetObservableServiceInfoRequest\", [\n            { no: 1, name: \"observable_service_id\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ }\n        ]);\n    }\n    create(value?: PartialMessage<GetObservableServiceInfoRequest>): GetObservableServiceInfoRequest {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.observableServiceId = \"\";\n        if (value !== undefined)\n            reflectionMergePartial<GetObservableServiceInfoRequest>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetObservableServiceInfoRequest): GetObservableServiceInfoRequest {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* string observable_service_id */ 1:\n                    message.observableServiceId = reader.string();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: GetObservableServiceInfoRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* string observable_service_id = 1; */\n        if (message.observableServiceId !== \"\")\n            writer.tag(1, WireType.LengthDelimited).string(message.observableServiceId);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.GetObservableServiceInfoRequest\n */\nexport const GetObservableServiceInfoRequest = new GetObservableServiceInfoRequest$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass GetObservableServiceInfoResponseSuccess$Type extends MessageType<GetObservableServiceInfoResponseSuccess> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.GetObservableServiceInfoResponseSuccess\", [\n            { no: 1, name: \"observable_service_id\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 2, name: \"default_branch\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 3, name: \"repo_owner\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 4, name: \"repo_name\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ }\n        ]);\n    }\n    create(value?: PartialMessage<GetObservableServiceInfoResponseSuccess>): GetObservableServiceInfoResponseSuccess {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.observableServiceId = \"\";\n        message.defaultBranch = \"\";\n        message.repoOwner = \"\";\n        message.repoName = \"\";\n        if (value !== undefined)\n            reflectionMergePartial<GetObservableServiceInfoResponseSuccess>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetObservableServiceInfoResponseSuccess): GetObservableServiceInfoResponseSuccess {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* string observable_service_id */ 1:\n                    message.observableServiceId = reader.string();\n                    break;\n                case /* string default_branch */ 2:\n                    message.defaultBranch = reader.string();\n                    break;\n                case /* string repo_owner */ 3:\n                    message.repoOwner = reader.string();\n                    break;\n                case /* string repo_name */ 4:\n                    message.repoName = reader.string();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: GetObservableServiceInfoResponseSuccess, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* string observable_service_id = 1; */\n        if (message.observableServiceId !== \"\")\n            writer.tag(1, WireType.LengthDelimited).string(message.observableServiceId);\n        /* string default_branch = 2; */\n        if (message.defaultBranch !== \"\")\n            writer.tag(2, WireType.LengthDelimited).string(message.defaultBranch);\n        /* string repo_owner = 3; */\n        if (message.repoOwner !== \"\")\n            writer.tag(3, WireType.LengthDelimited).string(message.repoOwner);\n        /* string repo_name = 4; */\n        if (message.repoName !== \"\")\n            writer.tag(4, WireType.LengthDelimited).string(message.repoName);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.GetObservableServiceInfoResponseSuccess\n */\nexport const GetObservableServiceInfoResponseSuccess = new GetObservableServiceInfoResponseSuccess$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass GetObservableServiceInfoResponseError$Type extends MessageType<GetObservableServiceInfoResponseError> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.GetObservableServiceInfoResponseError\", [\n            { no: 1, name: \"code\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n            { no: 2, name: \"message\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ }\n        ]);\n    }\n    create(value?: PartialMessage<GetObservableServiceInfoResponseError>): GetObservableServiceInfoResponseError {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.code = \"\";\n        message.message = \"\";\n        if (value !== undefined)\n            reflectionMergePartial<GetObservableServiceInfoResponseError>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetObservableServiceInfoResponseError): GetObservableServiceInfoResponseError {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* string code */ 1:\n                    message.code = reader.string();\n                    break;\n                case /* string message */ 2:\n                    message.message = reader.string();\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: GetObservableServiceInfoResponseError, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* string code = 1; */\n        if (message.code !== \"\")\n            writer.tag(1, WireType.LengthDelimited).string(message.code);\n        /* string message = 2; */\n        if (message.message !== \"\")\n            writer.tag(2, WireType.LengthDelimited).string(message.message);\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.GetObservableServiceInfoResponseError\n */\nexport const GetObservableServiceInfoResponseError = new GetObservableServiceInfoResponseError$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass GetObservableServiceInfoResponse$Type extends MessageType<GetObservableServiceInfoResponse> {\n    constructor() {\n        super(\"tusk.drift.backend.v1.GetObservableServiceInfoResponse\", [\n            { no: 1, name: \"success\", kind: \"message\", oneof: \"response\", T: () => GetObservableServiceInfoResponseSuccess },\n            { no: 2, name: \"error\", kind: \"message\", oneof: \"response\", T: () => GetObservableServiceInfoResponseError }\n        ]);\n    }\n    create(value?: PartialMessage<GetObservableServiceInfoResponse>): GetObservableServiceInfoResponse {\n        const message = globalThis.Object.create((this.messagePrototype!));\n        message.response = { oneofKind: undefined };\n        if (value !== undefined)\n            reflectionMergePartial<GetObservableServiceInfoResponse>(this, message, value);\n        return message;\n    }\n    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetObservableServiceInfoResponse): GetObservableServiceInfoResponse {\n        let message = target ?? this.create(), end = reader.pos + length;\n        while (reader.pos < end) {\n            let [fieldNo, wireType] = reader.tag();\n            switch (fieldNo) {\n                case /* tusk.drift.backend.v1.GetObservableServiceInfoResponseSuccess success */ 1:\n                    message.response = {\n                        oneofKind: \"success\",\n                        success: GetObservableServiceInfoResponseSuccess.internalBinaryRead(reader, reader.uint32(), options, (message.response as any).success)\n                    };\n                    break;\n                case /* tusk.drift.backend.v1.GetObservableServiceInfoResponseError error */ 2:\n                    message.response = {\n                        oneofKind: \"error\",\n                        error: GetObservableServiceInfoResponseError.internalBinaryRead(reader, reader.uint32(), options, (message.response as any).error)\n                    };\n                    break;\n                default:\n                    let u = options.readUnknownField;\n                    if (u === \"throw\")\n                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n                    let d = reader.skip(wireType);\n                    if (u !== false)\n                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n            }\n        }\n        return message;\n    }\n    internalBinaryWrite(message: GetObservableServiceInfoResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n        /* tusk.drift.backend.v1.GetObservableServiceInfoResponseSuccess success = 1; */\n        if (message.response.oneofKind === \"success\")\n            GetObservableServiceInfoResponseSuccess.internalBinaryWrite(message.response.success, writer.tag(1, WireType.LengthDelimited).fork(), options).join();\n        /* tusk.drift.backend.v1.GetObservableServiceInfoResponseError error = 2; */\n        if (message.response.oneofKind === \"error\")\n            GetObservableServiceInfoResponseError.internalBinaryWrite(message.response.error, writer.tag(2, WireType.LengthDelimited).fork(), options).join();\n        let u = options.writeUnknownFields;\n        if (u !== false)\n            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n        return writer;\n    }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.backend.v1.GetObservableServiceInfoResponse\n */\nexport const GetObservableServiceInfoResponse = new GetObservableServiceInfoResponse$Type();\n/**\n * @generated ServiceType for protobuf service tusk.drift.backend.v1.ClientService\n */\nexport const ClientService = new ServiceType$(\"tusk.drift.backend.v1.ClientService\", [\n    { name: \"GetAuthInfo\", options: {}, I: GetAuthInfoRequest, O: GetAuthInfoResponse },\n    { name: \"CreateObservableService\", options: {}, I: CreateObservableServiceRequest, O: CreateObservableServiceResponse },\n    { name: \"VerifyRepoAccess\", options: {}, I: VerifyRepoAccessRequest, O: VerifyRepoAccessResponse },\n    { name: \"CreateApiKey\", options: {}, I: CreateApiKeyRequest, O: CreateApiKeyResponse },\n    { name: \"GetObservableServiceInfo\", options: {}, I: GetObservableServiceInfoRequest, O: GetObservableServiceInfoResponse }\n]);\n"],"mappings":"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"}