import { WireType } from "@protobuf-ts/runtime";
import { UnknownFieldHandler } from "@protobuf-ts/runtime";
import { reflectionMergePartial } from "@protobuf-ts/runtime";
import { MessageType } from "@protobuf-ts/runtime";
/**
 * @generated from protobuf enum nimi.runtime.v1.ReasonCode
 */
export var ReasonCode;
(function (ReasonCode) {
    /**
     * General (0–8): stable, not in reason-codes.yaml but implementation-required.
     *
     * @generated from protobuf enum value: REASON_CODE_UNSPECIFIED = 0;
     */
    ReasonCode[ReasonCode["REASON_CODE_UNSPECIFIED"] = 0] = "REASON_CODE_UNSPECIFIED";
    /**
     * @generated from protobuf enum value: ACTION_EXECUTED = 1;
     */
    ReasonCode[ReasonCode["ACTION_EXECUTED"] = 1] = "ACTION_EXECUTED";
    /**
     * @generated from protobuf enum value: PROTOCOL_ENVELOPE_INVALID = 2;
     */
    ReasonCode[ReasonCode["PROTOCOL_ENVELOPE_INVALID"] = 2] = "PROTOCOL_ENVELOPE_INVALID";
    /**
     * @generated from protobuf enum value: PROTOCOL_DOMAIN_FIELD_CONFLICT = 3;
     */
    ReasonCode[ReasonCode["PROTOCOL_DOMAIN_FIELD_CONFLICT"] = 3] = "PROTOCOL_DOMAIN_FIELD_CONFLICT";
    /**
     * @generated from protobuf enum value: CAPABILITY_CATALOG_MISMATCH = 4;
     */
    ReasonCode[ReasonCode["CAPABILITY_CATALOG_MISMATCH"] = 4] = "CAPABILITY_CATALOG_MISMATCH";
    /**
     * @generated from protobuf enum value: APP_NOT_REGISTERED = 5;
     */
    ReasonCode[ReasonCode["APP_NOT_REGISTERED"] = 5] = "APP_NOT_REGISTERED";
    /**
     * @generated from protobuf enum value: EXTERNAL_PRINCIPAL_NOT_REGISTERED = 6;
     */
    ReasonCode[ReasonCode["EXTERNAL_PRINCIPAL_NOT_REGISTERED"] = 6] = "EXTERNAL_PRINCIPAL_NOT_REGISTERED";
    /**
     * @generated from protobuf enum value: SESSION_EXPIRED = 7;
     */
    ReasonCode[ReasonCode["SESSION_EXPIRED"] = 7] = "SESSION_EXPIRED";
    /**
     * @generated from protobuf enum value: PRINCIPAL_UNAUTHORIZED = 8;
     */
    ReasonCode[ReasonCode["PRINCIPAL_UNAUTHORIZED"] = 8] = "PRINCIPAL_UNAUTHORIZED";
    /**
     * App authorization (100–114, 117): stable legacy range.
     *
     * @generated from protobuf enum value: APP_AUTHORIZATION_DENIED = 100;
     */
    ReasonCode[ReasonCode["APP_AUTHORIZATION_DENIED"] = 100] = "APP_AUTHORIZATION_DENIED";
    /**
     * @generated from protobuf enum value: APP_GRANT_INVALID = 101;
     */
    ReasonCode[ReasonCode["APP_GRANT_INVALID"] = 101] = "APP_GRANT_INVALID";
    /**
     * @generated from protobuf enum value: APP_TOKEN_EXPIRED = 102;
     */
    ReasonCode[ReasonCode["APP_TOKEN_EXPIRED"] = 102] = "APP_TOKEN_EXPIRED";
    /**
     * @generated from protobuf enum value: APP_TOKEN_REVOKED = 103;
     */
    ReasonCode[ReasonCode["APP_TOKEN_REVOKED"] = 103] = "APP_TOKEN_REVOKED";
    /**
     * 104 → reserved (moved to APP_SCOPE_FORBIDDEN = 503)
     *
     * @generated from protobuf enum value: APP_SCOPE_CATALOG_UNPUBLISHED = 105;
     */
    ReasonCode[ReasonCode["APP_SCOPE_CATALOG_UNPUBLISHED"] = 105] = "APP_SCOPE_CATALOG_UNPUBLISHED";
    /**
     * 106 → reserved (moved to APP_SCOPE_REVOKED = 504)
     *
     * @generated from protobuf enum value: APP_DELEGATION_FORBIDDEN = 107;
     */
    ReasonCode[ReasonCode["APP_DELEGATION_FORBIDDEN"] = 107] = "APP_DELEGATION_FORBIDDEN";
    /**
     * @generated from protobuf enum value: APP_DELEGATION_DEPTH_EXCEEDED = 108;
     */
    ReasonCode[ReasonCode["APP_DELEGATION_DEPTH_EXCEEDED"] = 108] = "APP_DELEGATION_DEPTH_EXCEEDED";
    /**
     * @generated from protobuf enum value: APP_RESOURCE_SELECTOR_INVALID = 109;
     */
    ReasonCode[ReasonCode["APP_RESOURCE_SELECTOR_INVALID"] = 109] = "APP_RESOURCE_SELECTOR_INVALID";
    /**
     * @generated from protobuf enum value: APP_RESOURCE_OUT_OF_SCOPE = 110;
     */
    ReasonCode[ReasonCode["APP_RESOURCE_OUT_OF_SCOPE"] = 110] = "APP_RESOURCE_OUT_OF_SCOPE";
    /**
     * @generated from protobuf enum value: APP_CONSENT_MISSING = 111;
     */
    ReasonCode[ReasonCode["APP_CONSENT_MISSING"] = 111] = "APP_CONSENT_MISSING";
    /**
     * @generated from protobuf enum value: APP_CONSENT_INVALID = 112;
     */
    ReasonCode[ReasonCode["APP_CONSENT_INVALID"] = 112] = "APP_CONSENT_INVALID";
    /**
     * @generated from protobuf enum value: EXTERNAL_PRINCIPAL_PROOF_MISSING = 113;
     */
    ReasonCode[ReasonCode["EXTERNAL_PRINCIPAL_PROOF_MISSING"] = 113] = "EXTERNAL_PRINCIPAL_PROOF_MISSING";
    /**
     * @generated from protobuf enum value: EXTERNAL_PRINCIPAL_PROOF_INVALID = 114;
     */
    ReasonCode[ReasonCode["EXTERNAL_PRINCIPAL_PROOF_INVALID"] = 114] = "EXTERNAL_PRINCIPAL_PROOF_INVALID";
    /**
     * 115, 116, 118 → reserved (moved to 500, 501, 502)
     *
     * @generated from protobuf enum value: APP_MODE_WORLD_RELATION_FORBIDDEN = 117;
     */
    ReasonCode[ReasonCode["APP_MODE_WORLD_RELATION_FORBIDDEN"] = 117] = "APP_MODE_WORLD_RELATION_FORBIDDEN";
    /**
     * AI legacy range (200–213): frozen per spec numbering_note.
     *
     * @generated from protobuf enum value: AI_MODEL_NOT_FOUND = 200;
     */
    ReasonCode[ReasonCode["AI_MODEL_NOT_FOUND"] = 200] = "AI_MODEL_NOT_FOUND";
    /**
     * @generated from protobuf enum value: AI_MODEL_NOT_READY = 201;
     */
    ReasonCode[ReasonCode["AI_MODEL_NOT_READY"] = 201] = "AI_MODEL_NOT_READY";
    /**
     * @generated from protobuf enum value: AI_PROVIDER_UNAVAILABLE = 202;
     */
    ReasonCode[ReasonCode["AI_PROVIDER_UNAVAILABLE"] = 202] = "AI_PROVIDER_UNAVAILABLE";
    /**
     * 203 → reserved (moved to AI_PROVIDER_TIMEOUT = 394)
     *
     * @generated from protobuf enum value: AI_ROUTE_UNSUPPORTED = 204;
     */
    ReasonCode[ReasonCode["AI_ROUTE_UNSUPPORTED"] = 204] = "AI_ROUTE_UNSUPPORTED";
    /**
     * @generated from protobuf enum value: AI_ROUTE_FALLBACK_DENIED = 205;
     */
    ReasonCode[ReasonCode["AI_ROUTE_FALLBACK_DENIED"] = 205] = "AI_ROUTE_FALLBACK_DENIED";
    /**
     * @generated from protobuf enum value: AI_INPUT_INVALID = 206;
     */
    ReasonCode[ReasonCode["AI_INPUT_INVALID"] = 206] = "AI_INPUT_INVALID";
    /**
     * @generated from protobuf enum value: AI_OUTPUT_INVALID = 207;
     */
    ReasonCode[ReasonCode["AI_OUTPUT_INVALID"] = 207] = "AI_OUTPUT_INVALID";
    /**
     * @generated from protobuf enum value: AI_STREAM_BROKEN = 208;
     */
    ReasonCode[ReasonCode["AI_STREAM_BROKEN"] = 208] = "AI_STREAM_BROKEN";
    /**
     * @generated from protobuf enum value: AI_CONTENT_FILTER_BLOCKED = 209;
     */
    ReasonCode[ReasonCode["AI_CONTENT_FILTER_BLOCKED"] = 209] = "AI_CONTENT_FILTER_BLOCKED";
    /**
     * @generated from protobuf enum value: AI_REQUEST_CREDENTIAL_REQUIRED = 210;
     */
    ReasonCode[ReasonCode["AI_REQUEST_CREDENTIAL_REQUIRED"] = 210] = "AI_REQUEST_CREDENTIAL_REQUIRED";
    /**
     * @generated from protobuf enum value: AI_REQUEST_CREDENTIAL_MISSING = 211;
     */
    ReasonCode[ReasonCode["AI_REQUEST_CREDENTIAL_MISSING"] = 211] = "AI_REQUEST_CREDENTIAL_MISSING";
    /**
     * @generated from protobuf enum value: AI_REQUEST_CREDENTIAL_INVALID = 212;
     */
    ReasonCode[ReasonCode["AI_REQUEST_CREDENTIAL_INVALID"] = 212] = "AI_REQUEST_CREDENTIAL_INVALID";
    /**
     * @generated from protobuf enum value: AI_REQUEST_CREDENTIAL_SCOPE_FORBIDDEN = 213;
     */
    ReasonCode[ReasonCode["AI_REQUEST_CREDENTIAL_SCOPE_FORBIDDEN"] = 213] = "AI_REQUEST_CREDENTIAL_SCOPE_FORBIDDEN";
    /**
     * AUTH family (300+)
     *
     * @generated from protobuf enum value: AUTH_TOKEN_INVALID = 300;
     */
    ReasonCode[ReasonCode["AUTH_TOKEN_INVALID"] = 300] = "AUTH_TOKEN_INVALID";
    /**
     * @generated from protobuf enum value: AUTH_TOKEN_EXPIRED = 301;
     */
    ReasonCode[ReasonCode["AUTH_TOKEN_EXPIRED"] = 301] = "AUTH_TOKEN_EXPIRED";
    /**
     * @generated from protobuf enum value: AUTH_UNSUPPORTED_PROOF_TYPE = 302;
     */
    ReasonCode[ReasonCode["AUTH_UNSUPPORTED_PROOF_TYPE"] = 302] = "AUTH_UNSUPPORTED_PROOF_TYPE";
    /**
     * @generated from protobuf enum value: AUTH_REVOCATION_UNAVAILABLE = 303;
     */
    ReasonCode[ReasonCode["AUTH_REVOCATION_UNAVAILABLE"] = 303] = "AUTH_REVOCATION_UNAVAILABLE";
    /**
     * CONNECTOR family (310+)
     *
     * @generated from protobuf enum value: AI_CONNECTOR_NOT_FOUND = 310;
     */
    ReasonCode[ReasonCode["AI_CONNECTOR_NOT_FOUND"] = 310] = "AI_CONNECTOR_NOT_FOUND";
    /**
     * @generated from protobuf enum value: AI_CONNECTOR_DISABLED = 311;
     */
    ReasonCode[ReasonCode["AI_CONNECTOR_DISABLED"] = 311] = "AI_CONNECTOR_DISABLED";
    /**
     * @generated from protobuf enum value: AI_CONNECTOR_CREDENTIAL_MISSING = 312;
     */
    ReasonCode[ReasonCode["AI_CONNECTOR_CREDENTIAL_MISSING"] = 312] = "AI_CONNECTOR_CREDENTIAL_MISSING";
    /**
     * @generated from protobuf enum value: AI_CONNECTOR_INVALID = 313;
     */
    ReasonCode[ReasonCode["AI_CONNECTOR_INVALID"] = 313] = "AI_CONNECTOR_INVALID";
    /**
     * @generated from protobuf enum value: AI_CONNECTOR_IMMUTABLE = 314;
     */
    ReasonCode[ReasonCode["AI_CONNECTOR_IMMUTABLE"] = 314] = "AI_CONNECTOR_IMMUTABLE";
    /**
     * @generated from protobuf enum value: AI_CONNECTOR_LIMIT_EXCEEDED = 315;
     */
    ReasonCode[ReasonCode["AI_CONNECTOR_LIMIT_EXCEEDED"] = 315] = "AI_CONNECTOR_LIMIT_EXCEEDED";
    /**
     * @generated from protobuf enum value: AI_CONNECTOR_ID_REQUIRED = 316;
     */
    ReasonCode[ReasonCode["AI_CONNECTOR_ID_REQUIRED"] = 316] = "AI_CONNECTOR_ID_REQUIRED";
    /**
     * REQUEST_CREDENTIAL family (330)
     *
     * @generated from protobuf enum value: AI_REQUEST_CREDENTIAL_CONFLICT = 330;
     */
    ReasonCode[ReasonCode["AI_REQUEST_CREDENTIAL_CONFLICT"] = 330] = "AI_REQUEST_CREDENTIAL_CONFLICT";
    /**
     * APP family (340+)
     *
     * @generated from protobuf enum value: AI_APP_ID_REQUIRED = 340;
     */
    ReasonCode[ReasonCode["AI_APP_ID_REQUIRED"] = 340] = "AI_APP_ID_REQUIRED";
    /**
     * @generated from protobuf enum value: AI_APP_ID_CONFLICT = 341;
     */
    ReasonCode[ReasonCode["AI_APP_ID_CONFLICT"] = 341] = "AI_APP_ID_CONFLICT";
    /**
     * MODEL family (350+)
     *
     * @generated from protobuf enum value: AI_MODEL_ID_REQUIRED = 350;
     */
    ReasonCode[ReasonCode["AI_MODEL_ID_REQUIRED"] = 350] = "AI_MODEL_ID_REQUIRED";
    /**
     * @generated from protobuf enum value: AI_MODALITY_NOT_SUPPORTED = 351;
     */
    ReasonCode[ReasonCode["AI_MODALITY_NOT_SUPPORTED"] = 351] = "AI_MODALITY_NOT_SUPPORTED";
    /**
     * @generated from protobuf enum value: AI_LOCAL_MODEL_UNAVAILABLE = 352;
     */
    ReasonCode[ReasonCode["AI_LOCAL_MODEL_UNAVAILABLE"] = 352] = "AI_LOCAL_MODEL_UNAVAILABLE";
    /**
     * @generated from protobuf enum value: AI_LOCAL_MODEL_PROFILE_MISSING = 353;
     */
    ReasonCode[ReasonCode["AI_LOCAL_MODEL_PROFILE_MISSING"] = 353] = "AI_LOCAL_MODEL_PROFILE_MISSING";
    /**
     * @generated from protobuf enum value: AI_LOCAL_MODEL_ALREADY_INSTALLED = 354;
     */
    ReasonCode[ReasonCode["AI_LOCAL_MODEL_ALREADY_INSTALLED"] = 354] = "AI_LOCAL_MODEL_ALREADY_INSTALLED";
    /**
     * @generated from protobuf enum value: AI_LOCAL_ENDPOINT_REQUIRED = 355;
     */
    ReasonCode[ReasonCode["AI_LOCAL_ENDPOINT_REQUIRED"] = 355] = "AI_LOCAL_ENDPOINT_REQUIRED";
    /**
     * @generated from protobuf enum value: AI_LOCAL_TEMPLATE_NOT_FOUND = 356;
     */
    ReasonCode[ReasonCode["AI_LOCAL_TEMPLATE_NOT_FOUND"] = 356] = "AI_LOCAL_TEMPLATE_NOT_FOUND";
    /**
     * @generated from protobuf enum value: AI_LOCAL_MANIFEST_INVALID = 357;
     */
    ReasonCode[ReasonCode["AI_LOCAL_MANIFEST_INVALID"] = 357] = "AI_LOCAL_MANIFEST_INVALID";
    /**
     * @generated from protobuf enum value: AI_LOCAL_MODEL_INVALID_TRANSITION = 358;
     */
    ReasonCode[ReasonCode["AI_LOCAL_MODEL_INVALID_TRANSITION"] = 358] = "AI_LOCAL_MODEL_INVALID_TRANSITION";
    /**
     * @generated from protobuf enum value: AI_LOCAL_DOWNLOAD_FAILED = 359;
     */
    ReasonCode[ReasonCode["AI_LOCAL_DOWNLOAD_FAILED"] = 359] = "AI_LOCAL_DOWNLOAD_FAILED";
    /**
     * @generated from protobuf enum value: AI_LOCAL_DOWNLOAD_HASH_MISMATCH = 360;
     */
    ReasonCode[ReasonCode["AI_LOCAL_DOWNLOAD_HASH_MISMATCH"] = 360] = "AI_LOCAL_DOWNLOAD_HASH_MISMATCH";
    /**
     * @generated from protobuf enum value: AI_LOCAL_HF_REPO_INVALID = 361;
     */
    ReasonCode[ReasonCode["AI_LOCAL_HF_REPO_INVALID"] = 361] = "AI_LOCAL_HF_REPO_INVALID";
    /**
     * @generated from protobuf enum value: AI_LOCAL_HF_SEARCH_FAILED = 362;
     */
    ReasonCode[ReasonCode["AI_LOCAL_HF_SEARCH_FAILED"] = 362] = "AI_LOCAL_HF_SEARCH_FAILED";
    /**
     * @generated from protobuf enum value: AI_LOCAL_MANIFEST_SCHEMA_INVALID = 363;
     */
    ReasonCode[ReasonCode["AI_LOCAL_MANIFEST_SCHEMA_INVALID"] = 363] = "AI_LOCAL_MANIFEST_SCHEMA_INVALID";
    /**
     * LOCAL_SERVICE family (364+)
     *
     * @generated from protobuf enum value: AI_LOCAL_SERVICE_UNAVAILABLE = 364;
     */
    ReasonCode[ReasonCode["AI_LOCAL_SERVICE_UNAVAILABLE"] = 364] = "AI_LOCAL_SERVICE_UNAVAILABLE";
    /**
     * @generated from protobuf enum value: AI_LOCAL_SERVICE_ALREADY_INSTALLED = 365;
     */
    ReasonCode[ReasonCode["AI_LOCAL_SERVICE_ALREADY_INSTALLED"] = 365] = "AI_LOCAL_SERVICE_ALREADY_INSTALLED";
    /**
     * @generated from protobuf enum value: AI_LOCAL_SERVICE_INVALID_TRANSITION = 366;
     */
    ReasonCode[ReasonCode["AI_LOCAL_SERVICE_INVALID_TRANSITION"] = 366] = "AI_LOCAL_SERVICE_INVALID_TRANSITION";
    /**
     * @generated from protobuf enum value: AI_LOCAL_ASSET_ALREADY_INSTALLED = 367;
     */
    ReasonCode[ReasonCode["AI_LOCAL_ASSET_ALREADY_INSTALLED"] = 367] = "AI_LOCAL_ASSET_ALREADY_INSTALLED";
    /**
     * @generated from protobuf enum value: AI_LOCAL_ASSET_SLOT_MISSING = 368;
     */
    ReasonCode[ReasonCode["AI_LOCAL_ASSET_SLOT_MISSING"] = 368] = "AI_LOCAL_ASSET_SLOT_MISSING";
    /**
     * @generated from protobuf enum value: AI_LOCAL_ASSET_SLOT_FORBIDDEN = 369;
     */
    ReasonCode[ReasonCode["AI_LOCAL_ASSET_SLOT_FORBIDDEN"] = 369] = "AI_LOCAL_ASSET_SLOT_FORBIDDEN";
    /**
     * FINISH family (370+)
     *
     * @generated from protobuf enum value: AI_FINISH_LENGTH = 370;
     */
    ReasonCode[ReasonCode["AI_FINISH_LENGTH"] = 370] = "AI_FINISH_LENGTH";
    /**
     * @generated from protobuf enum value: AI_FINISH_CONTENT_FILTER = 371;
     */
    ReasonCode[ReasonCode["AI_FINISH_CONTENT_FILTER"] = 371] = "AI_FINISH_CONTENT_FILTER";
    /**
     * @generated from protobuf enum value: AI_LOCAL_PROFILE_SLOT_CONFLICT = 376;
     */
    ReasonCode[ReasonCode["AI_LOCAL_PROFILE_SLOT_CONFLICT"] = 376] = "AI_LOCAL_PROFILE_SLOT_CONFLICT";
    /**
     * @generated from protobuf enum value: AI_LOCAL_PROFILE_OVERRIDE_FORBIDDEN = 377;
     */
    ReasonCode[ReasonCode["AI_LOCAL_PROFILE_OVERRIDE_FORBIDDEN"] = 377] = "AI_LOCAL_PROFILE_OVERRIDE_FORBIDDEN";
    /**
     * MODEL_ROUTE family (380+)
     *
     * @generated from protobuf enum value: AI_MODEL_PROVIDER_MISMATCH = 380;
     */
    ReasonCode[ReasonCode["AI_MODEL_PROVIDER_MISMATCH"] = 380] = "AI_MODEL_PROVIDER_MISMATCH";
    /**
     * PROVIDER family (390+)
     *
     * @generated from protobuf enum value: AI_PROVIDER_ENDPOINT_FORBIDDEN = 390;
     */
    ReasonCode[ReasonCode["AI_PROVIDER_ENDPOINT_FORBIDDEN"] = 390] = "AI_PROVIDER_ENDPOINT_FORBIDDEN";
    /**
     * @generated from protobuf enum value: AI_PROVIDER_AUTH_FAILED = 391;
     */
    ReasonCode[ReasonCode["AI_PROVIDER_AUTH_FAILED"] = 391] = "AI_PROVIDER_AUTH_FAILED";
    /**
     * @generated from protobuf enum value: AI_PROVIDER_INTERNAL = 392;
     */
    ReasonCode[ReasonCode["AI_PROVIDER_INTERNAL"] = 392] = "AI_PROVIDER_INTERNAL";
    /**
     * @generated from protobuf enum value: AI_PROVIDER_RATE_LIMITED = 393;
     */
    ReasonCode[ReasonCode["AI_PROVIDER_RATE_LIMITED"] = 393] = "AI_PROVIDER_RATE_LIMITED";
    /**
     * @generated from protobuf enum value: AI_PROVIDER_TIMEOUT = 394;
     */
    ReasonCode[ReasonCode["AI_PROVIDER_TIMEOUT"] = 394] = "AI_PROVIDER_TIMEOUT";
    /**
     * MEDIA family (410+)
     *
     * @generated from protobuf enum value: AI_MEDIA_SPEC_INVALID = 410;
     */
    ReasonCode[ReasonCode["AI_MEDIA_SPEC_INVALID"] = 410] = "AI_MEDIA_SPEC_INVALID";
    /**
     * @generated from protobuf enum value: AI_MEDIA_OPTION_UNSUPPORTED = 411;
     */
    ReasonCode[ReasonCode["AI_MEDIA_OPTION_UNSUPPORTED"] = 411] = "AI_MEDIA_OPTION_UNSUPPORTED";
    /**
     * @generated from protobuf enum value: AI_MEDIA_JOB_NOT_FOUND = 412;
     */
    ReasonCode[ReasonCode["AI_MEDIA_JOB_NOT_FOUND"] = 412] = "AI_MEDIA_JOB_NOT_FOUND";
    /**
     * @generated from protobuf enum value: AI_MEDIA_JOB_NOT_CANCELLABLE = 413;
     */
    ReasonCode[ReasonCode["AI_MEDIA_JOB_NOT_CANCELLABLE"] = 413] = "AI_MEDIA_JOB_NOT_CANCELLABLE";
    /**
     * @generated from protobuf enum value: AI_MEDIA_IDEMPOTENCY_CONFLICT = 414;
     */
    ReasonCode[ReasonCode["AI_MEDIA_IDEMPOTENCY_CONFLICT"] = 414] = "AI_MEDIA_IDEMPOTENCY_CONFLICT";
    /**
     * @generated from protobuf enum value: AI_ARTIFACT_UPLOAD_INVALID = 415;
     */
    ReasonCode[ReasonCode["AI_ARTIFACT_UPLOAD_INVALID"] = 415] = "AI_ARTIFACT_UPLOAD_INVALID";
    /**
     * @generated from protobuf enum value: AI_ARTIFACT_UPLOAD_TOO_LARGE = 416;
     */
    ReasonCode[ReasonCode["AI_ARTIFACT_UPLOAD_TOO_LARGE"] = 416] = "AI_ARTIFACT_UPLOAD_TOO_LARGE";
    /**
     * @generated from protobuf enum value: AI_REALTIME_SESSION_NOT_FOUND = 417;
     */
    ReasonCode[ReasonCode["AI_REALTIME_SESSION_NOT_FOUND"] = 417] = "AI_REALTIME_SESSION_NOT_FOUND";
    /**
     * @generated from protobuf enum value: AI_REALTIME_SESSION_CLOSED = 418;
     */
    ReasonCode[ReasonCode["AI_REALTIME_SESSION_CLOSED"] = 418] = "AI_REALTIME_SESSION_CLOSED";
    /**
     * VOICE family (420+)
     *
     * @generated from protobuf enum value: AI_VOICE_INPUT_INVALID = 420;
     */
    ReasonCode[ReasonCode["AI_VOICE_INPUT_INVALID"] = 420] = "AI_VOICE_INPUT_INVALID";
    /**
     * @generated from protobuf enum value: AI_VOICE_WORKFLOW_UNSUPPORTED = 421;
     */
    ReasonCode[ReasonCode["AI_VOICE_WORKFLOW_UNSUPPORTED"] = 421] = "AI_VOICE_WORKFLOW_UNSUPPORTED";
    /**
     * @generated from protobuf enum value: AI_VOICE_ASSET_NOT_FOUND = 422;
     */
    ReasonCode[ReasonCode["AI_VOICE_ASSET_NOT_FOUND"] = 422] = "AI_VOICE_ASSET_NOT_FOUND";
    /**
     * @generated from protobuf enum value: AI_VOICE_ASSET_EXPIRED = 423;
     */
    ReasonCode[ReasonCode["AI_VOICE_ASSET_EXPIRED"] = 423] = "AI_VOICE_ASSET_EXPIRED";
    /**
     * @generated from protobuf enum value: AI_VOICE_ASSET_SCOPE_FORBIDDEN = 424;
     */
    ReasonCode[ReasonCode["AI_VOICE_ASSET_SCOPE_FORBIDDEN"] = 424] = "AI_VOICE_ASSET_SCOPE_FORBIDDEN";
    /**
     * @generated from protobuf enum value: AI_VOICE_TARGET_MODEL_MISMATCH = 425;
     */
    ReasonCode[ReasonCode["AI_VOICE_TARGET_MODEL_MISMATCH"] = 425] = "AI_VOICE_TARGET_MODEL_MISMATCH";
    /**
     * @generated from protobuf enum value: AI_VOICE_JOB_NOT_FOUND = 426;
     */
    ReasonCode[ReasonCode["AI_VOICE_JOB_NOT_FOUND"] = 426] = "AI_VOICE_JOB_NOT_FOUND";
    /**
     * @generated from protobuf enum value: AI_VOICE_JOB_NOT_CANCELLABLE = 427;
     */
    ReasonCode[ReasonCode["AI_VOICE_JOB_NOT_CANCELLABLE"] = 427] = "AI_VOICE_JOB_NOT_CANCELLABLE";
    /**
     * MODULE family (430+)
     *
     * @generated from protobuf enum value: AI_MODULE_CONFIG_INVALID = 430;
     */
    ReasonCode[ReasonCode["AI_MODULE_CONFIG_INVALID"] = 430] = "AI_MODULE_CONFIG_INVALID";
    /**
     * WORKFLOW family (440+)
     *
     * @generated from protobuf enum value: WF_DAG_INVALID = 440;
     */
    ReasonCode[ReasonCode["WF_DAG_INVALID"] = 440] = "WF_DAG_INVALID";
    /**
     * @generated from protobuf enum value: WF_NODE_CONFIG_MISMATCH = 441;
     */
    ReasonCode[ReasonCode["WF_NODE_CONFIG_MISMATCH"] = 441] = "WF_NODE_CONFIG_MISMATCH";
    /**
     * @generated from protobuf enum value: WF_TIMEOUT = 442;
     */
    ReasonCode[ReasonCode["WF_TIMEOUT"] = 442] = "WF_TIMEOUT";
    /**
     * @generated from protobuf enum value: WF_TASK_NOT_FOUND = 443;
     */
    ReasonCode[ReasonCode["WF_TASK_NOT_FOUND"] = 443] = "WF_TASK_NOT_FOUND";
    /**
     * APP_AUTH family (500+)
     *
     * @generated from protobuf enum value: APP_MODE_DOMAIN_FORBIDDEN = 500;
     */
    ReasonCode[ReasonCode["APP_MODE_DOMAIN_FORBIDDEN"] = 500] = "APP_MODE_DOMAIN_FORBIDDEN";
    /**
     * @generated from protobuf enum value: APP_MODE_SCOPE_FORBIDDEN = 501;
     */
    ReasonCode[ReasonCode["APP_MODE_SCOPE_FORBIDDEN"] = 501] = "APP_MODE_SCOPE_FORBIDDEN";
    /**
     * @generated from protobuf enum value: APP_MODE_MANIFEST_INVALID = 502;
     */
    ReasonCode[ReasonCode["APP_MODE_MANIFEST_INVALID"] = 502] = "APP_MODE_MANIFEST_INVALID";
    /**
     * @generated from protobuf enum value: APP_SCOPE_FORBIDDEN = 503;
     */
    ReasonCode[ReasonCode["APP_SCOPE_FORBIDDEN"] = 503] = "APP_SCOPE_FORBIDDEN";
    /**
     * @generated from protobuf enum value: APP_SCOPE_REVOKED = 504;
     */
    ReasonCode[ReasonCode["APP_SCOPE_REVOKED"] = 504] = "APP_SCOPE_REVOKED";
    /**
     * @generated from protobuf enum value: APP_MESSAGE_PAYLOAD_TOO_LARGE = 550;
     */
    ReasonCode[ReasonCode["APP_MESSAGE_PAYLOAD_TOO_LARGE"] = 550] = "APP_MESSAGE_PAYLOAD_TOO_LARGE";
    /**
     * @generated from protobuf enum value: APP_MESSAGE_RATE_LIMITED = 551;
     */
    ReasonCode[ReasonCode["APP_MESSAGE_RATE_LIMITED"] = 551] = "APP_MESSAGE_RATE_LIMITED";
    /**
     * @generated from protobuf enum value: APP_MESSAGE_LOOP_DETECTED = 552;
     */
    ReasonCode[ReasonCode["APP_MESSAGE_LOOP_DETECTED"] = 552] = "APP_MESSAGE_LOOP_DETECTED";
    /**
     * APP_INSTALL family (553+) — Nimi App install/uninstall lifecycle
     * fail-closed reasons. Each reason is distinct and is never collapsed
     * into a generic value.
     *
     * @generated from protobuf enum value: APP_INSTALL_DESCRIPTOR_NOT_FOUND = 553;
     */
    ReasonCode[ReasonCode["APP_INSTALL_DESCRIPTOR_NOT_FOUND"] = 553] = "APP_INSTALL_DESCRIPTOR_NOT_FOUND";
    /**
     * @generated from protobuf enum value: APP_INSTALL_DIGEST_MISMATCH = 554;
     */
    ReasonCode[ReasonCode["APP_INSTALL_DIGEST_MISMATCH"] = 554] = "APP_INSTALL_DIGEST_MISMATCH";
    /**
     * @generated from protobuf enum value: APP_INSTALL_MANIFEST_INVALID = 555;
     */
    ReasonCode[ReasonCode["APP_INSTALL_MANIFEST_INVALID"] = 555] = "APP_INSTALL_MANIFEST_INVALID";
    /**
     * @generated from protobuf enum value: APP_INSTALL_STORAGE_VIOLATION = 556;
     */
    ReasonCode[ReasonCode["APP_INSTALL_STORAGE_VIOLATION"] = 556] = "APP_INSTALL_STORAGE_VIOLATION";
    /**
     * @generated from protobuf enum value: APP_INSTALL_DOWNLOAD_FAILED = 557;
     */
    ReasonCode[ReasonCode["APP_INSTALL_DOWNLOAD_FAILED"] = 557] = "APP_INSTALL_DOWNLOAD_FAILED";
    /**
     * @generated from protobuf enum value: APP_INSTALL_UNPACK_FAILED = 558;
     */
    ReasonCode[ReasonCode["APP_INSTALL_UNPACK_FAILED"] = 558] = "APP_INSTALL_UNPACK_FAILED";
    /**
     * @generated from protobuf enum value: APP_INSTALL_INTERNAL = 559;
     */
    ReasonCode[ReasonCode["APP_INSTALL_INTERNAL"] = 559] = "APP_INSTALL_INTERNAL";
    /**
     * APP_UPDATE / APP_REPAIR family (590+) — Nimi App update + health/repair
     * lifecycle fail-closed reasons. Each reason is distinct and is never
     * collapsed into a generic value (K-APP-015 / K-APP-016).
     *
     * @generated from protobuf enum value: APP_UPDATE_NOT_AVAILABLE = 590;
     */
    ReasonCode[ReasonCode["APP_UPDATE_NOT_AVAILABLE"] = 590] = "APP_UPDATE_NOT_AVAILABLE";
    /**
     * @generated from protobuf enum value: APP_UPDATE_NOT_INSTALLED = 591;
     */
    ReasonCode[ReasonCode["APP_UPDATE_NOT_INSTALLED"] = 591] = "APP_UPDATE_NOT_INSTALLED";
    /**
     * @generated from protobuf enum value: APP_UPDATE_CONFIRMATION_REQUIRED = 592;
     */
    ReasonCode[ReasonCode["APP_UPDATE_CONFIRMATION_REQUIRED"] = 592] = "APP_UPDATE_CONFIRMATION_REQUIRED";
    /**
     * @generated from protobuf enum value: APP_UPDATE_SWAP_FAILED = 593;
     */
    ReasonCode[ReasonCode["APP_UPDATE_SWAP_FAILED"] = 593] = "APP_UPDATE_SWAP_FAILED";
    /**
     * @generated from protobuf enum value: APP_REPAIR_ACTION_INVALID = 594;
     */
    ReasonCode[ReasonCode["APP_REPAIR_ACTION_INVALID"] = 594] = "APP_REPAIR_ACTION_INVALID";
    /**
     * @generated from protobuf enum value: APP_REPAIR_NO_RECOVERABLE_JOB = 595;
     */
    ReasonCode[ReasonCode["APP_REPAIR_NO_RECOVERABLE_JOB"] = 595] = "APP_REPAIR_NO_RECOVERABLE_JOB";
    /**
     * @generated from protobuf enum value: APP_REPAIR_NOT_REPAIRABLE = 596;
     */
    ReasonCode[ReasonCode["APP_REPAIR_NOT_REPAIRABLE"] = 596] = "APP_REPAIR_NOT_REPAIRABLE";
    /**
     * @generated from protobuf enum value: APP_LIFECYCLE_JOB_CANCELLED = 597;
     */
    ReasonCode[ReasonCode["APP_LIFECYCLE_JOB_CANCELLED"] = 597] = "APP_LIFECYCLE_JOB_CANCELLED";
    /**
     * LOCAL_SPEECH family (560+)
     *
     * @generated from protobuf enum value: AI_LOCAL_SPEECH_PREFLIGHT_BLOCKED = 560;
     */
    ReasonCode[ReasonCode["AI_LOCAL_SPEECH_PREFLIGHT_BLOCKED"] = 560] = "AI_LOCAL_SPEECH_PREFLIGHT_BLOCKED";
    /**
     * @generated from protobuf enum value: AI_LOCAL_SPEECH_DOWNLOAD_CONFIRMATION_REQUIRED = 561;
     */
    ReasonCode[ReasonCode["AI_LOCAL_SPEECH_DOWNLOAD_CONFIRMATION_REQUIRED"] = 561] = "AI_LOCAL_SPEECH_DOWNLOAD_CONFIRMATION_REQUIRED";
    /**
     * @generated from protobuf enum value: AI_LOCAL_SPEECH_ENV_INIT_FAILED = 562;
     */
    ReasonCode[ReasonCode["AI_LOCAL_SPEECH_ENV_INIT_FAILED"] = 562] = "AI_LOCAL_SPEECH_ENV_INIT_FAILED";
    /**
     * @generated from protobuf enum value: AI_LOCAL_SPEECH_HOST_INIT_FAILED = 563;
     */
    ReasonCode[ReasonCode["AI_LOCAL_SPEECH_HOST_INIT_FAILED"] = 563] = "AI_LOCAL_SPEECH_HOST_INIT_FAILED";
    /**
     * @generated from protobuf enum value: AI_LOCAL_SPEECH_CAPABILITY_DOWNLOAD_FAILED = 564;
     */
    ReasonCode[ReasonCode["AI_LOCAL_SPEECH_CAPABILITY_DOWNLOAD_FAILED"] = 564] = "AI_LOCAL_SPEECH_CAPABILITY_DOWNLOAD_FAILED";
    /**
     * @generated from protobuf enum value: AI_LOCAL_SPEECH_BUNDLE_DEGRADED = 565;
     */
    ReasonCode[ReasonCode["AI_LOCAL_SPEECH_BUNDLE_DEGRADED"] = 565] = "AI_LOCAL_SPEECH_BUNDLE_DEGRADED";
    /**
     * WORKSPACE_BINDING family (570+)
     *
     * @generated from protobuf enum value: WORKSPACE_BINDING_MISSING = 570;
     */
    ReasonCode[ReasonCode["WORKSPACE_BINDING_MISSING"] = 570] = "WORKSPACE_BINDING_MISSING";
    /**
     * @generated from protobuf enum value: WORKSPACE_BINDING_MALFORMED = 571;
     */
    ReasonCode[ReasonCode["WORKSPACE_BINDING_MALFORMED"] = 571] = "WORKSPACE_BINDING_MALFORMED";
    /**
     * @generated from protobuf enum value: WORKSPACE_BINDING_NOT_FOUND = 572;
     */
    ReasonCode[ReasonCode["WORKSPACE_BINDING_NOT_FOUND"] = 572] = "WORKSPACE_BINDING_NOT_FOUND";
    /**
     * @generated from protobuf enum value: WORKSPACE_BINDING_REVOKED = 573;
     */
    ReasonCode[ReasonCode["WORKSPACE_BINDING_REVOKED"] = 573] = "WORKSPACE_BINDING_REVOKED";
    /**
     * @generated from protobuf enum value: WORKSPACE_BINDING_EXPIRED = 574;
     */
    ReasonCode[ReasonCode["WORKSPACE_BINDING_EXPIRED"] = 574] = "WORKSPACE_BINDING_EXPIRED";
    /**
     * @generated from protobuf enum value: WORKSPACE_BINDING_REPLAY = 575;
     */
    ReasonCode[ReasonCode["WORKSPACE_BINDING_REPLAY"] = 575] = "WORKSPACE_BINDING_REPLAY";
    /**
     * @generated from protobuf enum value: WORKSPACE_BINDING_ACCOUNT_UNAVAILABLE = 576;
     */
    ReasonCode[ReasonCode["WORKSPACE_BINDING_ACCOUNT_UNAVAILABLE"] = 576] = "WORKSPACE_BINDING_ACCOUNT_UNAVAILABLE";
    /**
     * @generated from protobuf enum value: WORKSPACE_BINDING_CALLER_MISMATCH = 577;
     */
    ReasonCode[ReasonCode["WORKSPACE_BINDING_CALLER_MISMATCH"] = 577] = "WORKSPACE_BINDING_CALLER_MISMATCH";
    /**
     * @generated from protobuf enum value: WORKSPACE_BINDING_WORKSPACE_MISMATCH = 578;
     */
    ReasonCode[ReasonCode["WORKSPACE_BINDING_WORKSPACE_MISMATCH"] = 578] = "WORKSPACE_BINDING_WORKSPACE_MISMATCH";
    /**
     * @generated from protobuf enum value: WORKSPACE_BINDING_ENV_DEVICE_MISMATCH = 579;
     */
    ReasonCode[ReasonCode["WORKSPACE_BINDING_ENV_DEVICE_MISMATCH"] = 579] = "WORKSPACE_BINDING_ENV_DEVICE_MISMATCH";
    /**
     * @generated from protobuf enum value: WORKSPACE_BINDING_SCOPE_MISSING = 580;
     */
    ReasonCode[ReasonCode["WORKSPACE_BINDING_SCOPE_MISSING"] = 580] = "WORKSPACE_BINDING_SCOPE_MISSING";
    /**
     * GRANT family (510+)
     *
     * @generated from protobuf enum value: GRANT_TOKEN_CHAIN_ROOT_NOT_FOUND = 510;
     */
    ReasonCode[ReasonCode["GRANT_TOKEN_CHAIN_ROOT_NOT_FOUND"] = 510] = "GRANT_TOKEN_CHAIN_ROOT_NOT_FOUND";
    /**
     * @generated from protobuf enum value: GRANT_TOKEN_CHAIN_ROOT_REQUIRED = 511;
     */
    ReasonCode[ReasonCode["GRANT_TOKEN_CHAIN_ROOT_REQUIRED"] = 511] = "GRANT_TOKEN_CHAIN_ROOT_REQUIRED";
    /**
     * PAGE family (520+)
     *
     * @generated from protobuf enum value: PAGE_TOKEN_INVALID = 520;
     */
    ReasonCode[ReasonCode["PAGE_TOKEN_INVALID"] = 520] = "PAGE_TOKEN_INVALID";
    /**
     * KNOWLEDGE family (530+)
     *
     * @generated from protobuf enum value: KNOWLEDGE_BANK_ALREADY_EXISTS = 530;
     */
    ReasonCode[ReasonCode["KNOWLEDGE_BANK_ALREADY_EXISTS"] = 530] = "KNOWLEDGE_BANK_ALREADY_EXISTS";
    /**
     * @generated from protobuf enum value: KNOWLEDGE_BANK_NOT_FOUND = 531;
     */
    ReasonCode[ReasonCode["KNOWLEDGE_BANK_NOT_FOUND"] = 531] = "KNOWLEDGE_BANK_NOT_FOUND";
    /**
     * @generated from protobuf enum value: KNOWLEDGE_BANK_SCOPE_INVALID = 532;
     */
    ReasonCode[ReasonCode["KNOWLEDGE_BANK_SCOPE_INVALID"] = 532] = "KNOWLEDGE_BANK_SCOPE_INVALID";
    /**
     * @generated from protobuf enum value: KNOWLEDGE_BANK_ACCESS_DENIED = 533;
     */
    ReasonCode[ReasonCode["KNOWLEDGE_BANK_ACCESS_DENIED"] = 533] = "KNOWLEDGE_BANK_ACCESS_DENIED";
    /**
     * @generated from protobuf enum value: KNOWLEDGE_PAGE_NOT_FOUND = 534;
     */
    ReasonCode[ReasonCode["KNOWLEDGE_PAGE_NOT_FOUND"] = 534] = "KNOWLEDGE_PAGE_NOT_FOUND";
    /**
     * @generated from protobuf enum value: KNOWLEDGE_PAGE_SLUG_CONFLICT = 535;
     */
    ReasonCode[ReasonCode["KNOWLEDGE_PAGE_SLUG_CONFLICT"] = 535] = "KNOWLEDGE_PAGE_SLUG_CONFLICT";
    /**
     * @generated from protobuf enum value: KNOWLEDGE_PAGE_ACCESS_DENIED = 536;
     */
    ReasonCode[ReasonCode["KNOWLEDGE_PAGE_ACCESS_DENIED"] = 536] = "KNOWLEDGE_PAGE_ACCESS_DENIED";
    /**
     * @generated from protobuf enum value: KNOWLEDGE_HYBRID_SEARCH_UNAVAILABLE = 537;
     */
    ReasonCode[ReasonCode["KNOWLEDGE_HYBRID_SEARCH_UNAVAILABLE"] = 537] = "KNOWLEDGE_HYBRID_SEARCH_UNAVAILABLE";
    /**
     * @generated from protobuf enum value: KNOWLEDGE_EMBEDDING_PROFILE_UNAVAILABLE = 538;
     */
    ReasonCode[ReasonCode["KNOWLEDGE_EMBEDDING_PROFILE_UNAVAILABLE"] = 538] = "KNOWLEDGE_EMBEDDING_PROFILE_UNAVAILABLE";
    /**
     * @generated from protobuf enum value: KNOWLEDGE_VECTOR_INDEX_NOT_READY = 539;
     */
    ReasonCode[ReasonCode["KNOWLEDGE_VECTOR_INDEX_NOT_READY"] = 539] = "KNOWLEDGE_VECTOR_INDEX_NOT_READY";
    /**
     * @generated from protobuf enum value: KNOWLEDGE_INDEX_REFRESH_IN_PROGRESS = 540;
     */
    ReasonCode[ReasonCode["KNOWLEDGE_INDEX_REFRESH_IN_PROGRESS"] = 540] = "KNOWLEDGE_INDEX_REFRESH_IN_PROGRESS";
    /**
     * @generated from protobuf enum value: KNOWLEDGE_LINK_NOT_FOUND = 541;
     */
    ReasonCode[ReasonCode["KNOWLEDGE_LINK_NOT_FOUND"] = 541] = "KNOWLEDGE_LINK_NOT_FOUND";
    /**
     * @generated from protobuf enum value: KNOWLEDGE_LINK_ALREADY_EXISTS = 542;
     */
    ReasonCode[ReasonCode["KNOWLEDGE_LINK_ALREADY_EXISTS"] = 542] = "KNOWLEDGE_LINK_ALREADY_EXISTS";
    /**
     * @generated from protobuf enum value: KNOWLEDGE_LINK_INVALID = 543;
     */
    ReasonCode[ReasonCode["KNOWLEDGE_LINK_INVALID"] = 543] = "KNOWLEDGE_LINK_INVALID";
    /**
     * @generated from protobuf enum value: KNOWLEDGE_GRAPH_DEPTH_INVALID = 544;
     */
    ReasonCode[ReasonCode["KNOWLEDGE_GRAPH_DEPTH_INVALID"] = 544] = "KNOWLEDGE_GRAPH_DEPTH_INVALID";
    /**
     * @generated from protobuf enum value: KNOWLEDGE_INGEST_TASK_NOT_FOUND = 545;
     */
    ReasonCode[ReasonCode["KNOWLEDGE_INGEST_TASK_NOT_FOUND"] = 545] = "KNOWLEDGE_INGEST_TASK_NOT_FOUND";
    /**
     * ARTIFACT family (600+) — K-AGCORE-053 runtime-artifact-contract
     *
     * @generated from protobuf enum value: ARTIFACT_INVALID_INPUT = 600;
     */
    ReasonCode[ReasonCode["ARTIFACT_INVALID_INPUT"] = 600] = "ARTIFACT_INVALID_INPUT";
    /**
     * @generated from protobuf enum value: ARTIFACT_NOT_FOUND = 601;
     */
    ReasonCode[ReasonCode["ARTIFACT_NOT_FOUND"] = 601] = "ARTIFACT_NOT_FOUND";
    /**
     * @generated from protobuf enum value: ARTIFACT_TOO_LARGE = 602;
     */
    ReasonCode[ReasonCode["ARTIFACT_TOO_LARGE"] = 602] = "ARTIFACT_TOO_LARGE";
    /**
     * @generated from protobuf enum value: ARTIFACT_FORBIDDEN = 603;
     */
    ReasonCode[ReasonCode["ARTIFACT_FORBIDDEN"] = 603] = "ARTIFACT_FORBIDDEN";
    /**
     * @generated from protobuf enum value: ARTIFACT_MIME_MISMATCH = 604;
     */
    ReasonCode[ReasonCode["ARTIFACT_MIME_MISMATCH"] = 604] = "ARTIFACT_MIME_MISMATCH";
    /**
     * APP_OPEN family (605+) — Nimi App Open / launch flow (K-APP-017)
     * fail-closed reasons. Each reason is distinct and is never collapsed
     * into a generic value.
     *
     * @generated from protobuf enum value: APP_OPEN_SCOPE_REF_REQUIRED = 605;
     */
    ReasonCode[ReasonCode["APP_OPEN_SCOPE_REF_REQUIRED"] = 605] = "APP_OPEN_SCOPE_REF_REQUIRED";
    /**
     * @generated from protobuf enum value: APP_OPEN_SCOPE_REF_INVALID = 606;
     */
    ReasonCode[ReasonCode["APP_OPEN_SCOPE_REF_INVALID"] = 606] = "APP_OPEN_SCOPE_REF_INVALID";
    /**
     * @generated from protobuf enum value: APP_OPEN_PACKAGE_NOT_VERIFIED = 607;
     */
    ReasonCode[ReasonCode["APP_OPEN_PACKAGE_NOT_VERIFIED"] = 607] = "APP_OPEN_PACKAGE_NOT_VERIFIED";
    /**
     * @generated from protobuf enum value: APP_OPEN_LIBRARY_STATE_INVALID = 608;
     */
    ReasonCode[ReasonCode["APP_OPEN_LIBRARY_STATE_INVALID"] = 608] = "APP_OPEN_LIBRARY_STATE_INVALID";
    /**
     * @generated from protobuf enum value: APP_OPEN_APP_DATA_INVALID = 609;
     */
    ReasonCode[ReasonCode["APP_OPEN_APP_DATA_INVALID"] = 609] = "APP_OPEN_APP_DATA_INVALID";
    /**
     * @generated from protobuf enum value: APP_OPEN_PERMISSION_NOT_GRANTED = 610;
     */
    ReasonCode[ReasonCode["APP_OPEN_PERMISSION_NOT_GRANTED"] = 610] = "APP_OPEN_PERMISSION_NOT_GRANTED";
    /**
     * @generated from protobuf enum value: APP_OPEN_AICONFIG_UNRESOLVED = 611;
     */
    ReasonCode[ReasonCode["APP_OPEN_AICONFIG_UNRESOLVED"] = 611] = "APP_OPEN_AICONFIG_UNRESOLVED";
    /**
     * @generated from protobuf enum value: APP_OPEN_MANIFEST_REQUIREMENT_UNSATISFIED = 612;
     */
    ReasonCode[ReasonCode["APP_OPEN_MANIFEST_REQUIREMENT_UNSATISFIED"] = 612] = "APP_OPEN_MANIFEST_REQUIREMENT_UNSATISFIED";
    /**
     * @generated from protobuf enum value: APP_OPEN_LAUNCH_FAILED = 613;
     */
    ReasonCode[ReasonCode["APP_OPEN_LAUNCH_FAILED"] = 613] = "APP_OPEN_LAUNCH_FAILED";
})(ReasonCode || (ReasonCode = {}));
/**
 * @generated from protobuf enum nimi.runtime.v1.ExternalPrincipalType
 */
export var ExternalPrincipalType;
(function (ExternalPrincipalType) {
    /**
     * @generated from protobuf enum value: EXTERNAL_PRINCIPAL_TYPE_UNSPECIFIED = 0;
     */
    ExternalPrincipalType[ExternalPrincipalType["UNSPECIFIED"] = 0] = "UNSPECIFIED";
    /**
     * @generated from protobuf enum value: EXTERNAL_PRINCIPAL_TYPE_AGENT = 1;
     */
    ExternalPrincipalType[ExternalPrincipalType["AGENT"] = 1] = "AGENT";
    /**
     * @generated from protobuf enum value: EXTERNAL_PRINCIPAL_TYPE_APP = 2;
     */
    ExternalPrincipalType[ExternalPrincipalType["APP"] = 2] = "APP";
    /**
     * @generated from protobuf enum value: EXTERNAL_PRINCIPAL_TYPE_SERVICE = 3;
     */
    ExternalPrincipalType[ExternalPrincipalType["SERVICE"] = 3] = "SERVICE";
})(ExternalPrincipalType || (ExternalPrincipalType = {}));
/**
 * @generated from protobuf enum nimi.runtime.v1.CallerKind
 */
export var CallerKind;
(function (CallerKind) {
    /**
     * @generated from protobuf enum value: CALLER_KIND_UNSPECIFIED = 0;
     */
    CallerKind[CallerKind["UNSPECIFIED"] = 0] = "UNSPECIFIED";
    /**
     * @generated from protobuf enum value: CALLER_KIND_DESKTOP_CORE = 1;
     */
    CallerKind[CallerKind["DESKTOP_CORE"] = 1] = "DESKTOP_CORE";
    /**
     * @generated from protobuf enum value: CALLER_KIND_DESKTOP_MOD = 2;
     */
    CallerKind[CallerKind["DESKTOP_MOD"] = 2] = "DESKTOP_MOD";
    /**
     * @generated from protobuf enum value: CALLER_KIND_THIRD_PARTY_APP = 3;
     */
    CallerKind[CallerKind["THIRD_PARTY_APP"] = 3] = "THIRD_PARTY_APP";
    /**
     * @generated from protobuf enum value: CALLER_KIND_THIRD_PARTY_SERVICE = 4;
     */
    CallerKind[CallerKind["THIRD_PARTY_SERVICE"] = 4] = "THIRD_PARTY_SERVICE";
})(CallerKind || (CallerKind = {}));
// @generated message type with reflection information, may provide speed optimized methods
class ScopedRuntimeBindingAttachment$Type extends MessageType {
    constructor() {
        super("nimi.runtime.v1.ScopedRuntimeBindingAttachment", [
            { no: 1, name: "binding_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
            { no: 2, name: "binding_handle", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
            { no: 3, name: "runtime_app_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
            { no: 4, name: "app_instance_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
            { no: 5, name: "window_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
            { no: 6, name: "avatar_instance_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
            { no: 7, name: "agent_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
            { no: 8, name: "conversation_anchor_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
            { no: 9, name: "world_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
        ]);
    }
    create(value) {
        const message = globalThis.Object.create((this.messagePrototype));
        message.bindingId = "";
        message.bindingHandle = "";
        message.runtimeAppId = "";
        message.appInstanceId = "";
        message.windowId = "";
        message.avatarInstanceId = "";
        message.agentId = "";
        message.conversationAnchorId = "";
        message.worldId = "";
        if (value !== undefined)
            reflectionMergePartial(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* string binding_id */ 1:
                    message.bindingId = reader.string();
                    break;
                case /* string binding_handle */ 2:
                    message.bindingHandle = reader.string();
                    break;
                case /* string runtime_app_id */ 3:
                    message.runtimeAppId = reader.string();
                    break;
                case /* string app_instance_id */ 4:
                    message.appInstanceId = reader.string();
                    break;
                case /* string window_id */ 5:
                    message.windowId = reader.string();
                    break;
                case /* string avatar_instance_id */ 6:
                    message.avatarInstanceId = reader.string();
                    break;
                case /* string agent_id */ 7:
                    message.agentId = reader.string();
                    break;
                case /* string conversation_anchor_id */ 8:
                    message.conversationAnchorId = reader.string();
                    break;
                case /* string world_id */ 9:
                    message.worldId = reader.string();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* string binding_id = 1; */
        if (message.bindingId !== "")
            writer.tag(1, WireType.LengthDelimited).string(message.bindingId);
        /* string binding_handle = 2; */
        if (message.bindingHandle !== "")
            writer.tag(2, WireType.LengthDelimited).string(message.bindingHandle);
        /* string runtime_app_id = 3; */
        if (message.runtimeAppId !== "")
            writer.tag(3, WireType.LengthDelimited).string(message.runtimeAppId);
        /* string app_instance_id = 4; */
        if (message.appInstanceId !== "")
            writer.tag(4, WireType.LengthDelimited).string(message.appInstanceId);
        /* string window_id = 5; */
        if (message.windowId !== "")
            writer.tag(5, WireType.LengthDelimited).string(message.windowId);
        /* string avatar_instance_id = 6; */
        if (message.avatarInstanceId !== "")
            writer.tag(6, WireType.LengthDelimited).string(message.avatarInstanceId);
        /* string agent_id = 7; */
        if (message.agentId !== "")
            writer.tag(7, WireType.LengthDelimited).string(message.agentId);
        /* string conversation_anchor_id = 8; */
        if (message.conversationAnchorId !== "")
            writer.tag(8, WireType.LengthDelimited).string(message.conversationAnchorId);
        /* string world_id = 9; */
        if (message.worldId !== "")
            writer.tag(9, WireType.LengthDelimited).string(message.worldId);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message nimi.runtime.v1.ScopedRuntimeBindingAttachment
 */
export const ScopedRuntimeBindingAttachment = new ScopedRuntimeBindingAttachment$Type();
// @generated message type with reflection information, may provide speed optimized methods
class WorkspaceBindingAttachment$Type extends MessageType {
    constructor() {
        super("nimi.runtime.v1.WorkspaceBindingAttachment", [
            { no: 1, name: "binding_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
            { no: 2, name: "binding_handle", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
            { no: 3, name: "runtime_app_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
            { no: 4, name: "app_instance_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
            { no: 5, name: "workspace_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
            { no: 6, name: "realm_environment_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
        ]);
    }
    create(value) {
        const message = globalThis.Object.create((this.messagePrototype));
        message.bindingId = "";
        message.bindingHandle = "";
        message.runtimeAppId = "";
        message.appInstanceId = "";
        message.workspaceId = "";
        message.realmEnvironmentId = "";
        if (value !== undefined)
            reflectionMergePartial(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* string binding_id */ 1:
                    message.bindingId = reader.string();
                    break;
                case /* string binding_handle */ 2:
                    message.bindingHandle = reader.string();
                    break;
                case /* string runtime_app_id */ 3:
                    message.runtimeAppId = reader.string();
                    break;
                case /* string app_instance_id */ 4:
                    message.appInstanceId = reader.string();
                    break;
                case /* string workspace_id */ 5:
                    message.workspaceId = reader.string();
                    break;
                case /* string realm_environment_id */ 6:
                    message.realmEnvironmentId = reader.string();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* string binding_id = 1; */
        if (message.bindingId !== "")
            writer.tag(1, WireType.LengthDelimited).string(message.bindingId);
        /* string binding_handle = 2; */
        if (message.bindingHandle !== "")
            writer.tag(2, WireType.LengthDelimited).string(message.bindingHandle);
        /* string runtime_app_id = 3; */
        if (message.runtimeAppId !== "")
            writer.tag(3, WireType.LengthDelimited).string(message.runtimeAppId);
        /* string app_instance_id = 4; */
        if (message.appInstanceId !== "")
            writer.tag(4, WireType.LengthDelimited).string(message.appInstanceId);
        /* string workspace_id = 5; */
        if (message.workspaceId !== "")
            writer.tag(5, WireType.LengthDelimited).string(message.workspaceId);
        /* string realm_environment_id = 6; */
        if (message.realmEnvironmentId !== "")
            writer.tag(6, WireType.LengthDelimited).string(message.realmEnvironmentId);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message nimi.runtime.v1.WorkspaceBindingAttachment
 */
export const WorkspaceBindingAttachment = new WorkspaceBindingAttachment$Type();
// @generated message type with reflection information, may provide speed optimized methods
class UsageStats$Type extends MessageType {
    constructor() {
        super("nimi.runtime.v1.UsageStats", [
            { no: 1, name: "input_tokens", kind: "scalar", T: 3 /*ScalarType.INT64*/ },
            { no: 2, name: "output_tokens", kind: "scalar", T: 3 /*ScalarType.INT64*/ },
            { no: 3, name: "compute_ms", kind: "scalar", T: 3 /*ScalarType.INT64*/ }
        ]);
    }
    create(value) {
        const message = globalThis.Object.create((this.messagePrototype));
        message.inputTokens = "0";
        message.outputTokens = "0";
        message.computeMs = "0";
        if (value !== undefined)
            reflectionMergePartial(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* int64 input_tokens */ 1:
                    message.inputTokens = reader.int64().toString();
                    break;
                case /* int64 output_tokens */ 2:
                    message.outputTokens = reader.int64().toString();
                    break;
                case /* int64 compute_ms */ 3:
                    message.computeMs = reader.int64().toString();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* int64 input_tokens = 1; */
        if (message.inputTokens !== "0")
            writer.tag(1, WireType.Varint).int64(message.inputTokens);
        /* int64 output_tokens = 2; */
        if (message.outputTokens !== "0")
            writer.tag(2, WireType.Varint).int64(message.outputTokens);
        /* int64 compute_ms = 3; */
        if (message.computeMs !== "0")
            writer.tag(3, WireType.Varint).int64(message.computeMs);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message nimi.runtime.v1.UsageStats
 */
export const UsageStats = new UsageStats$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ResourceSelectors$Type extends MessageType {
    constructor() {
        super("nimi.runtime.v1.ResourceSelectors", [
            { no: 1, name: "conversation_ids", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ },
            { no: 2, name: "message_ids", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ },
            { no: 3, name: "document_ids", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ },
            { no: 10, name: "labels", kind: "map", K: 9 /*ScalarType.STRING*/, V: { kind: "scalar", T: 9 /*ScalarType.STRING*/ } }
        ]);
    }
    create(value) {
        const message = globalThis.Object.create((this.messagePrototype));
        message.conversationIds = [];
        message.messageIds = [];
        message.documentIds = [];
        message.labels = {};
        if (value !== undefined)
            reflectionMergePartial(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* repeated string conversation_ids */ 1:
                    message.conversationIds.push(reader.string());
                    break;
                case /* repeated string message_ids */ 2:
                    message.messageIds.push(reader.string());
                    break;
                case /* repeated string document_ids */ 3:
                    message.documentIds.push(reader.string());
                    break;
                case /* map<string, string> labels */ 10:
                    this.binaryReadMap10(message.labels, reader, options);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    binaryReadMap10(map, reader, options) {
        let len = reader.uint32(), end = reader.pos + len, key, val;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case 1:
                    key = reader.string();
                    break;
                case 2:
                    val = reader.string();
                    break;
                default: throw new globalThis.Error("unknown map entry field for nimi.runtime.v1.ResourceSelectors.labels");
            }
        }
        map[key ?? ""] = val ?? "";
    }
    internalBinaryWrite(message, writer, options) {
        /* repeated string conversation_ids = 1; */
        for (let i = 0; i < message.conversationIds.length; i++)
            writer.tag(1, WireType.LengthDelimited).string(message.conversationIds[i]);
        /* repeated string message_ids = 2; */
        for (let i = 0; i < message.messageIds.length; i++)
            writer.tag(2, WireType.LengthDelimited).string(message.messageIds[i]);
        /* repeated string document_ids = 3; */
        for (let i = 0; i < message.documentIds.length; i++)
            writer.tag(3, WireType.LengthDelimited).string(message.documentIds[i]);
        /* map<string, string> labels = 10; */
        for (let k of globalThis.Object.keys(message.labels))
            writer.tag(10, WireType.LengthDelimited).fork().tag(1, WireType.LengthDelimited).string(k).tag(2, WireType.LengthDelimited).string(message.labels[k]).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message nimi.runtime.v1.ResourceSelectors
 */
export const ResourceSelectors = new ResourceSelectors$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ConsentRef$Type extends MessageType {
    constructor() {
        super("nimi.runtime.v1.ConsentRef", [
            { no: 1, name: "subject_user_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
            { no: 2, name: "consent_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
            { no: 3, name: "consent_version", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
        ]);
    }
    create(value) {
        const message = globalThis.Object.create((this.messagePrototype));
        message.subjectUserId = "";
        message.consentId = "";
        message.consentVersion = "";
        if (value !== undefined)
            reflectionMergePartial(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* string subject_user_id */ 1:
                    message.subjectUserId = reader.string();
                    break;
                case /* string consent_id */ 2:
                    message.consentId = reader.string();
                    break;
                case /* string consent_version */ 3:
                    message.consentVersion = reader.string();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* string subject_user_id = 1; */
        if (message.subjectUserId !== "")
            writer.tag(1, WireType.LengthDelimited).string(message.subjectUserId);
        /* string consent_id = 2; */
        if (message.consentId !== "")
            writer.tag(2, WireType.LengthDelimited).string(message.consentId);
        /* string consent_version = 3; */
        if (message.consentVersion !== "")
            writer.tag(3, WireType.LengthDelimited).string(message.consentVersion);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message nimi.runtime.v1.ConsentRef
 */
export const ConsentRef = new ConsentRef$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ErrorInfo$Type extends MessageType {
    constructor() {
        super("nimi.runtime.v1.ErrorInfo", [
            { no: 1, name: "reason_code", kind: "enum", T: () => ["nimi.runtime.v1.ReasonCode", ReasonCode] },
            { no: 2, name: "action_hint", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
            { no: 3, name: "message", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
        ]);
    }
    create(value) {
        const message = globalThis.Object.create((this.messagePrototype));
        message.reasonCode = 0;
        message.actionHint = "";
        message.message = "";
        if (value !== undefined)
            reflectionMergePartial(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* nimi.runtime.v1.ReasonCode reason_code */ 1:
                    message.reasonCode = reader.int32();
                    break;
                case /* string action_hint */ 2:
                    message.actionHint = reader.string();
                    break;
                case /* string message */ 3:
                    message.message = reader.string();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* nimi.runtime.v1.ReasonCode reason_code = 1; */
        if (message.reasonCode !== 0)
            writer.tag(1, WireType.Varint).int32(message.reasonCode);
        /* string action_hint = 2; */
        if (message.actionHint !== "")
            writer.tag(2, WireType.LengthDelimited).string(message.actionHint);
        /* string message = 3; */
        if (message.message !== "")
            writer.tag(3, WireType.LengthDelimited).string(message.message);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message nimi.runtime.v1.ErrorInfo
 */
export const ErrorInfo = new ErrorInfo$Type();
// @generated message type with reflection information, may provide speed optimized methods
class Ack$Type extends MessageType {
    constructor() {
        super("nimi.runtime.v1.Ack", [
            { no: 1, name: "ok", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
            { no: 2, name: "reason_code", kind: "enum", T: () => ["nimi.runtime.v1.ReasonCode", ReasonCode] },
            { no: 3, name: "action_hint", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
        ]);
    }
    create(value) {
        const message = globalThis.Object.create((this.messagePrototype));
        message.ok = false;
        message.reasonCode = 0;
        message.actionHint = "";
        if (value !== undefined)
            reflectionMergePartial(this, message, value);
        return message;
    }
    internalBinaryRead(reader, length, options, target) {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* bool ok */ 1:
                    message.ok = reader.bool();
                    break;
                case /* nimi.runtime.v1.ReasonCode reason_code */ 2:
                    message.reasonCode = reader.int32();
                    break;
                case /* string action_hint */ 3:
                    message.actionHint = reader.string();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message, writer, options) {
        /* bool ok = 1; */
        if (message.ok !== false)
            writer.tag(1, WireType.Varint).bool(message.ok);
        /* nimi.runtime.v1.ReasonCode reason_code = 2; */
        if (message.reasonCode !== 0)
            writer.tag(2, WireType.Varint).int32(message.reasonCode);
        /* string action_hint = 3; */
        if (message.actionHint !== "")
            writer.tag(3, WireType.LengthDelimited).string(message.actionHint);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message nimi.runtime.v1.Ack
 */
export const Ack = new Ack$Type();
//# sourceMappingURL=common.js.map