export const RuntimeMethodIds = {
    auth: {
        registerApp: '/nimi.runtime.v1.RuntimeAuthService/RegisterApp',
        openSession: '/nimi.runtime.v1.RuntimeAuthService/OpenSession',
        refreshSession: '/nimi.runtime.v1.RuntimeAuthService/RefreshSession',
        revokeSession: '/nimi.runtime.v1.RuntimeAuthService/RevokeSession',
        registerExternalPrincipal: '/nimi.runtime.v1.RuntimeAuthService/RegisterExternalPrincipal',
        openExternalPrincipalSession: '/nimi.runtime.v1.RuntimeAuthService/OpenExternalPrincipalSession',
        revokeExternalPrincipalSession: '/nimi.runtime.v1.RuntimeAuthService/RevokeExternalPrincipalSession',
    },
    artifact: {
        readArtifactBytes: '/nimi.runtime.v1.RuntimeArtifactService/ReadArtifactBytes',
    },
    appAuth: {
        authorizeExternalPrincipal: '/nimi.runtime.v1.RuntimeGrantService/AuthorizeExternalPrincipal',
        validateToken: '/nimi.runtime.v1.RuntimeGrantService/ValidateAppAccessToken',
        revokeToken: '/nimi.runtime.v1.RuntimeGrantService/RevokeAppAccessToken',
        issueDelegatedToken: '/nimi.runtime.v1.RuntimeGrantService/IssueDelegatedAccessToken',
        listTokenChain: '/nimi.runtime.v1.RuntimeGrantService/ListTokenChain',
    },
    account: {
        getAccountSessionStatus: '/nimi.runtime.v1.RuntimeAccountService/GetAccountSessionStatus',
        subscribeAccountSessionEvents: '/nimi.runtime.v1.RuntimeAccountService/SubscribeAccountSessionEvents',
        beginLogin: '/nimi.runtime.v1.RuntimeAccountService/BeginLogin',
        completeLogin: '/nimi.runtime.v1.RuntimeAccountService/CompleteLogin',
        getAccessToken: '/nimi.runtime.v1.RuntimeAccountService/GetAccessToken',
        refreshAccountSession: '/nimi.runtime.v1.RuntimeAccountService/RefreshAccountSession',
        logout: '/nimi.runtime.v1.RuntimeAccountService/Logout',
        switchAccount: '/nimi.runtime.v1.RuntimeAccountService/SwitchAccount',
        issueScopedAppBinding: '/nimi.runtime.v1.RuntimeAccountService/IssueScopedAppBinding',
        revokeScopedAppBinding: '/nimi.runtime.v1.RuntimeAccountService/RevokeScopedAppBinding',
        issueWorkspaceBinding: '/nimi.runtime.v1.RuntimeAccountService/IssueWorkspaceBinding',
        revokeWorkspaceBinding: '/nimi.runtime.v1.RuntimeAccountService/RevokeWorkspaceBinding',
    },
    ai: {
        executeScenario: '/nimi.runtime.v1.RuntimeAiService/ExecuteScenario',
        streamScenario: '/nimi.runtime.v1.RuntimeAiService/StreamScenario',
        submitScenarioJob: '/nimi.runtime.v1.RuntimeAiService/SubmitScenarioJob',
        getScenarioJob: '/nimi.runtime.v1.RuntimeAiService/GetScenarioJob',
        cancelScenarioJob: '/nimi.runtime.v1.RuntimeAiService/CancelScenarioJob',
        subscribeScenarioJobEvents: '/nimi.runtime.v1.RuntimeAiService/SubscribeScenarioJobEvents',
        getScenarioArtifacts: '/nimi.runtime.v1.RuntimeAiService/GetScenarioArtifacts',
        listScenarioProfiles: '/nimi.runtime.v1.RuntimeAiService/ListScenarioProfiles',
        getVoiceAsset: '/nimi.runtime.v1.RuntimeAiService/GetVoiceAsset',
        listVoiceAssets: '/nimi.runtime.v1.RuntimeAiService/ListVoiceAssets',
        deleteVoiceAsset: '/nimi.runtime.v1.RuntimeAiService/DeleteVoiceAsset',
        listPresetVoices: '/nimi.runtime.v1.RuntimeAiService/ListPresetVoices',
        peekScheduling: '/nimi.runtime.v1.RuntimeAiService/PeekScheduling',
    },
    aiRealtime: {
        openRealtimeSession: '/nimi.runtime.v1.RuntimeAiRealtimeService/OpenRealtimeSession',
        appendRealtimeInput: '/nimi.runtime.v1.RuntimeAiRealtimeService/AppendRealtimeInput',
        readRealtimeEvents: '/nimi.runtime.v1.RuntimeAiRealtimeService/ReadRealtimeEvents',
        closeRealtimeSession: '/nimi.runtime.v1.RuntimeAiRealtimeService/CloseRealtimeSession',
    },
    workflow: {
        submit: '/nimi.runtime.v1.RuntimeWorkflowService/SubmitWorkflow',
        get: '/nimi.runtime.v1.RuntimeWorkflowService/GetWorkflow',
        cancel: '/nimi.runtime.v1.RuntimeWorkflowService/CancelWorkflow',
        subscribeEvents: '/nimi.runtime.v1.RuntimeWorkflowService/SubscribeWorkflowEvents',
    },
    model: {
        list: '/nimi.runtime.v1.RuntimeModelService/ListModels',
        pull: '/nimi.runtime.v1.RuntimeModelService/PullModel',
        remove: '/nimi.runtime.v1.RuntimeModelService/RemoveModel',
        checkHealth: '/nimi.runtime.v1.RuntimeModelService/CheckModelHealth',
    },
    local: {
        listLocalAssets: '/nimi.runtime.v1.RuntimeLocalService/ListLocalAssets',
        listVerifiedAssets: '/nimi.runtime.v1.RuntimeLocalService/ListVerifiedAssets',
        searchCatalogModels: '/nimi.runtime.v1.RuntimeLocalService/SearchCatalogModels',
        resolveModelInstallPlan: '/nimi.runtime.v1.RuntimeLocalService/ResolveModelInstallPlan',
        installVerifiedAsset: '/nimi.runtime.v1.RuntimeLocalService/InstallVerifiedAsset',
        importLocalAsset: '/nimi.runtime.v1.RuntimeLocalService/ImportLocalAsset',
        importLocalAssetFile: '/nimi.runtime.v1.RuntimeLocalService/ImportLocalAssetFile',
        scanUnregisteredAssets: '/nimi.runtime.v1.RuntimeLocalService/ScanUnregisteredAssets',
        scaffoldOrphanAsset: '/nimi.runtime.v1.RuntimeLocalService/ScaffoldOrphanAsset',
        removeLocalAsset: '/nimi.runtime.v1.RuntimeLocalService/RemoveLocalAsset',
        startLocalAsset: '/nimi.runtime.v1.RuntimeLocalService/StartLocalAsset',
        stopLocalAsset: '/nimi.runtime.v1.RuntimeLocalService/StopLocalAsset',
        checkLocalAssetHealth: '/nimi.runtime.v1.RuntimeLocalService/CheckLocalAssetHealth',
        warmLocalAsset: '/nimi.runtime.v1.RuntimeLocalService/WarmLocalAsset',
        listLocalTransfers: '/nimi.runtime.v1.RuntimeLocalService/ListLocalTransfers',
        pauseLocalTransfer: '/nimi.runtime.v1.RuntimeLocalService/PauseLocalTransfer',
        resumeLocalTransfer: '/nimi.runtime.v1.RuntimeLocalService/ResumeLocalTransfer',
        cancelLocalTransfer: '/nimi.runtime.v1.RuntimeLocalService/CancelLocalTransfer',
        watchLocalTransfers: '/nimi.runtime.v1.RuntimeLocalService/WatchLocalTransfers',
        resolveLocalEnvironmentPlan: '/nimi.runtime.v1.RuntimeLocalService/ResolveLocalEnvironmentPlan',
        listLocalEnvironmentSelectedSources: '/nimi.runtime.v1.RuntimeLocalService/ListLocalEnvironmentSelectedSources',
        listLocalEnvironmentDependencyJobs: '/nimi.runtime.v1.RuntimeLocalService/ListLocalEnvironmentDependencyJobs',
        resolveLocalEnvironmentActivationGate: '/nimi.runtime.v1.RuntimeLocalService/ResolveLocalEnvironmentActivationGate',
        mintRuntimeBaselineReadiness: '/nimi.runtime.v1.RuntimeLocalService/MintRuntimeBaselineReadiness',
        resolveRuntimeBaselineReadiness: '/nimi.runtime.v1.RuntimeLocalService/ResolveRuntimeBaselineReadiness',
        mintFirstRunExecutionEvidence: '/nimi.runtime.v1.RuntimeLocalService/MintFirstRunExecutionEvidence',
        resolveFirstRunExecutionEvidence: '/nimi.runtime.v1.RuntimeLocalService/ResolveFirstRunExecutionEvidence',
        startLocalEnvironmentDependencyJob: '/nimi.runtime.v1.RuntimeLocalService/StartLocalEnvironmentDependencyJob',
        cancelLocalEnvironmentDependencyJob: '/nimi.runtime.v1.RuntimeLocalService/CancelLocalEnvironmentDependencyJob',
        retryLocalEnvironmentDependencyJob: '/nimi.runtime.v1.RuntimeLocalService/RetryLocalEnvironmentDependencyJob',
        repairLocalEnvironmentDependency: '/nimi.runtime.v1.RuntimeLocalService/RepairLocalEnvironmentDependency',
        resolveLocalStateReconciliation: '/nimi.runtime.v1.RuntimeLocalService/ResolveLocalStateReconciliation',
        executeLocalStateCutover: '/nimi.runtime.v1.RuntimeLocalService/ExecuteLocalStateCutover',
        collectDeviceProfile: '/nimi.runtime.v1.RuntimeLocalService/CollectDeviceProfile',
        resolveProfile: '/nimi.runtime.v1.RuntimeLocalService/ResolveProfile',
        applyProfile: '/nimi.runtime.v1.RuntimeLocalService/ApplyProfile',
        listLocalServices: '/nimi.runtime.v1.RuntimeLocalService/ListLocalServices',
        installLocalService: '/nimi.runtime.v1.RuntimeLocalService/InstallLocalService',
        startLocalService: '/nimi.runtime.v1.RuntimeLocalService/StartLocalService',
        stopLocalService: '/nimi.runtime.v1.RuntimeLocalService/StopLocalService',
        checkLocalServiceHealth: '/nimi.runtime.v1.RuntimeLocalService/CheckLocalServiceHealth',
        removeLocalService: '/nimi.runtime.v1.RuntimeLocalService/RemoveLocalService',
        listNodeCatalog: '/nimi.runtime.v1.RuntimeLocalService/ListNodeCatalog',
        listLocalAudits: '/nimi.runtime.v1.RuntimeLocalService/ListLocalAudits',
        appendInferenceAudit: '/nimi.runtime.v1.RuntimeLocalService/AppendInferenceAudit',
        appendRuntimeAudit: '/nimi.runtime.v1.RuntimeLocalService/AppendRuntimeAudit',
        listEngines: '/nimi.runtime.v1.RuntimeLocalService/ListEngines',
        ensureEngine: '/nimi.runtime.v1.RuntimeLocalService/EnsureEngine',
        startEngine: '/nimi.runtime.v1.RuntimeLocalService/StartEngine',
        stopEngine: '/nimi.runtime.v1.RuntimeLocalService/StopEngine',
        getEngineStatus: '/nimi.runtime.v1.RuntimeLocalService/GetEngineStatus',
    },
    knowledge: {
        createKnowledgeBank: '/nimi.runtime.v1.RuntimeCognitionService/CreateKnowledgeBank',
        getKnowledgeBank: '/nimi.runtime.v1.RuntimeCognitionService/GetKnowledgeBank',
        listKnowledgeBanks: '/nimi.runtime.v1.RuntimeCognitionService/ListKnowledgeBanks',
        deleteKnowledgeBank: '/nimi.runtime.v1.RuntimeCognitionService/DeleteKnowledgeBank',
        putPage: '/nimi.runtime.v1.RuntimeCognitionService/PutPage',
        getPage: '/nimi.runtime.v1.RuntimeCognitionService/GetPage',
        listPages: '/nimi.runtime.v1.RuntimeCognitionService/ListPages',
        deletePage: '/nimi.runtime.v1.RuntimeCognitionService/DeletePage',
        searchKeyword: '/nimi.runtime.v1.RuntimeCognitionService/SearchKeyword',
        searchHybrid: '/nimi.runtime.v1.RuntimeCognitionService/SearchHybrid',
        addLink: '/nimi.runtime.v1.RuntimeCognitionService/AddLink',
        removeLink: '/nimi.runtime.v1.RuntimeCognitionService/RemoveLink',
        listLinks: '/nimi.runtime.v1.RuntimeCognitionService/ListLinks',
        listBacklinks: '/nimi.runtime.v1.RuntimeCognitionService/ListBacklinks',
        traverseGraph: '/nimi.runtime.v1.RuntimeCognitionService/TraverseGraph',
        ingestDocument: '/nimi.runtime.v1.RuntimeCognitionService/IngestDocument',
        getIngestTask: '/nimi.runtime.v1.RuntimeCognitionService/GetIngestTask',
    },
    memory: {
        createBank: '/nimi.runtime.v1.RuntimeCognitionService/CreateBank',
        getBank: '/nimi.runtime.v1.RuntimeCognitionService/GetBank',
        listBanks: '/nimi.runtime.v1.RuntimeCognitionService/ListBanks',
        deleteBank: '/nimi.runtime.v1.RuntimeCognitionService/DeleteBank',
        retain: '/nimi.runtime.v1.RuntimeCognitionService/Retain',
        recall: '/nimi.runtime.v1.RuntimeCognitionService/Recall',
        history: '/nimi.runtime.v1.RuntimeCognitionService/History',
        deleteMemory: '/nimi.runtime.v1.RuntimeCognitionService/DeleteMemory',
        subscribeEvents: '/nimi.runtime.v1.RuntimeCognitionService/SubscribeMemoryEvents',
    },
    agent: {
        initializeAgent: '/nimi.runtime.v1.RuntimeAgentService/InitializeAgent',
        terminateAgent: '/nimi.runtime.v1.RuntimeAgentService/TerminateAgent',
        getAgent: '/nimi.runtime.v1.RuntimeAgentService/GetAgent',
        listAgents: '/nimi.runtime.v1.RuntimeAgentService/ListAgents',
        openConversationAnchor: '/nimi.runtime.v1.RuntimeAgentService/OpenConversationAnchor',
        getConversationAnchorSnapshot: '/nimi.runtime.v1.RuntimeAgentService/GetConversationAnchorSnapshot',
        registerAvatarLiveInstanceBinding: '/nimi.runtime.v1.RuntimeAgentService/RegisterAvatarLiveInstanceBinding',
        resolveAvatarLiveInstanceBinding: '/nimi.runtime.v1.RuntimeAgentService/ResolveAvatarLiveInstanceBinding',
        getPublicChatSessionSnapshot: '/nimi.runtime.v1.RuntimeAgentService/GetPublicChatSessionSnapshot',
        getCompanionParticipationProjection: '/nimi.runtime.v1.RuntimeAgentService/GetCompanionParticipationProjection',
        requestCompanionParticipation: '/nimi.runtime.v1.RuntimeAgentService/RequestCompanionParticipation',
        cancelCompanionParticipation: '/nimi.runtime.v1.RuntimeAgentService/CancelCompanionParticipation',
        openCompanionParticipationReplay: '/nimi.runtime.v1.RuntimeAgentService/OpenCompanionParticipationReplay',
        createRealmGroupMessageCandidate: '/nimi.runtime.v1.RuntimeAgentService/CreateRealmGroupMessageCandidate',
        getRealmGroupMessageCandidateEvidence: '/nimi.runtime.v1.RuntimeAgentService/GetRealmGroupMessageCandidateEvidence',
        getAvatarDebugSnapshot: '/nimi.runtime.v1.RuntimeAgentService/GetAvatarDebugSnapshot',
        requestAvatarDebugProbe: '/nimi.runtime.v1.RuntimeAgentService/RequestAvatarDebugProbe',
        listAvatarDebugProbeResults: '/nimi.runtime.v1.RuntimeAgentService/ListAvatarDebugProbeResults',
        getAvatarDebugReplay: '/nimi.runtime.v1.RuntimeAgentService/GetAvatarDebugReplay',
        listDelegatedProviderProfiles: '/nimi.runtime.v1.RuntimeAgentService/ListDelegatedProviderProfiles',
        upsertDelegatedProviderProfile: '/nimi.runtime.v1.RuntimeAgentService/UpsertDelegatedProviderProfile',
        setDelegatedProviderState: '/nimi.runtime.v1.RuntimeAgentService/SetDelegatedProviderState',
        listDelegatedApprovalRequests: '/nimi.runtime.v1.RuntimeAgentService/ListDelegatedApprovalRequests',
        submitDelegatedApprovalDecision: '/nimi.runtime.v1.RuntimeAgentService/SubmitDelegatedApprovalDecision',
        listDelegatedDiagnostics: '/nimi.runtime.v1.RuntimeAgentService/ListDelegatedDiagnostics',
        getDelegatedReplayTrace: '/nimi.runtime.v1.RuntimeAgentService/GetDelegatedReplayTrace',
        getDelegatedControlSurfaceSnapshot: '/nimi.runtime.v1.RuntimeAgentService/GetDelegatedControlSurfaceSnapshot',
        executeDelegatedCapability: '/nimi.runtime.v1.RuntimeAgentService/ExecuteDelegatedCapability',
        getAgentState: '/nimi.runtime.v1.RuntimeAgentService/GetAgentState',
        updateAgentState: '/nimi.runtime.v1.RuntimeAgentService/UpdateAgentState',
        setPresentationProfile: '/nimi.runtime.v1.RuntimeAgentService/SetAgentPresentationProfile',
        enableAutonomy: '/nimi.runtime.v1.RuntimeAgentService/EnableAutonomy',
        disableAutonomy: '/nimi.runtime.v1.RuntimeAgentService/DisableAutonomy',
        setAutonomyConfig: '/nimi.runtime.v1.RuntimeAgentService/SetAutonomyConfig',
        listPendingHooks: '/nimi.runtime.v1.RuntimeAgentService/ListPendingHooks',
        cancelHook: '/nimi.runtime.v1.RuntimeAgentService/CancelHook',
        queryMemory: '/nimi.runtime.v1.RuntimeAgentService/QueryAgentMemory',
        writeMemory: '/nimi.runtime.v1.RuntimeAgentService/WriteAgentMemory',
        subscribeEvents: '/nimi.runtime.v1.RuntimeAgentService/SubscribeAgentEvents',
    },
    app: {
        sendAppMessage: '/nimi.runtime.v1.RuntimeAppService/SendAppMessage',
        subscribeAppMessages: '/nimi.runtime.v1.RuntimeAppService/SubscribeAppMessages',
        installApp: '/nimi.runtime.v1.RuntimeAppService/InstallApp',
        uninstallApp: '/nimi.runtime.v1.RuntimeAppService/UninstallApp',
        getAppInstallJob: '/nimi.runtime.v1.RuntimeAppService/GetAppInstallJob',
        listAppInstallJobs: '/nimi.runtime.v1.RuntimeAppService/ListAppInstallJobs',
        watchAppInstallJobEvents: '/nimi.runtime.v1.RuntimeAppService/WatchAppInstallJobEvents',
        updateApp: '/nimi.runtime.v1.RuntimeAppService/UpdateApp',
        healthRepairApp: '/nimi.runtime.v1.RuntimeAppService/HealthRepairApp',
        openApp: '/nimi.runtime.v1.RuntimeAppService/OpenApp',
    },
    connector: {
        createConnector: '/nimi.runtime.v1.RuntimeConnectorService/CreateConnector',
        getConnector: '/nimi.runtime.v1.RuntimeConnectorService/GetConnector',
        listConnectors: '/nimi.runtime.v1.RuntimeConnectorService/ListConnectors',
        updateConnector: '/nimi.runtime.v1.RuntimeConnectorService/UpdateConnector',
        deleteConnector: '/nimi.runtime.v1.RuntimeConnectorService/DeleteConnector',
        testConnector: '/nimi.runtime.v1.RuntimeConnectorService/TestConnector',
        listConnectorModels: '/nimi.runtime.v1.RuntimeConnectorService/ListConnectorModels',
        listProviderCatalog: '/nimi.runtime.v1.RuntimeConnectorService/ListProviderCatalog',
        listModelCatalogProviders: '/nimi.runtime.v1.RuntimeConnectorService/ListModelCatalogProviders',
        upsertModelCatalogProvider: '/nimi.runtime.v1.RuntimeConnectorService/UpsertModelCatalogProvider',
        deleteModelCatalogProvider: '/nimi.runtime.v1.RuntimeConnectorService/DeleteModelCatalogProvider',
        listCatalogProviderModels: '/nimi.runtime.v1.RuntimeConnectorService/ListCatalogProviderModels',
        getCatalogModelDetail: '/nimi.runtime.v1.RuntimeConnectorService/GetCatalogModelDetail',
        upsertCatalogModelOverlay: '/nimi.runtime.v1.RuntimeConnectorService/UpsertCatalogModelOverlay',
        deleteCatalogModelOverlay: '/nimi.runtime.v1.RuntimeConnectorService/DeleteCatalogModelOverlay',
    },
    audit: {
        listAuditEvents: '/nimi.runtime.v1.RuntimeAuditService/ListAuditEvents',
        exportAuditEvents: '/nimi.runtime.v1.RuntimeAuditService/ExportAuditEvents',
        listUsageStats: '/nimi.runtime.v1.RuntimeAuditService/ListUsageStats',
        getRuntimeHealth: '/nimi.runtime.v1.RuntimeAuditService/GetRuntimeHealth',
        listAIProviderHealth: '/nimi.runtime.v1.RuntimeAuditService/ListAIProviderHealth',
        subscribeAIProviderHealthEvents: '/nimi.runtime.v1.RuntimeAuditService/SubscribeAIProviderHealthEvents',
        subscribeRuntimeHealthEvents: '/nimi.runtime.v1.RuntimeAuditService/SubscribeRuntimeHealthEvents',
    },
};
const RuntimeAllMethodIds = Object.freeze(Object.values(RuntimeMethodIds)
    .flatMap((serviceMethods) => Object.values(serviceMethods)));
export const RuntimeMethodGroupDeniedMethodIds = Object.freeze([
    RuntimeMethodIds.workflow.submit,
    RuntimeMethodIds.workflow.get,
    RuntimeMethodIds.workflow.cancel,
    RuntimeMethodIds.workflow.subscribeEvents,
    RuntimeMethodIds.model.list,
    RuntimeMethodIds.model.pull,
    RuntimeMethodIds.model.remove,
    RuntimeMethodIds.model.checkHealth,
    RuntimeMethodIds.local.resolveLocalStateReconciliation,
    RuntimeMethodIds.local.executeLocalStateCutover,
]);
const RuntimeMethodGroupDeniedMethodIdSet = new Set(RuntimeMethodGroupDeniedMethodIds);
export const RuntimeAllowlistedMethodIds = Object.freeze(RuntimeAllMethodIds.filter((methodId) => !RuntimeMethodGroupDeniedMethodIdSet.has(methodId)));
const RuntimeAllowlistedMethodIdSet = new Set(RuntimeAllowlistedMethodIds);
export const RuntimeStreamMethodIds = Object.freeze([
    RuntimeMethodIds.account.subscribeAccountSessionEvents,
    RuntimeMethodIds.ai.streamScenario,
    RuntimeMethodIds.ai.subscribeScenarioJobEvents,
    RuntimeMethodIds.aiRealtime.readRealtimeEvents,
    RuntimeMethodIds.local.watchLocalTransfers,
    RuntimeMethodIds.memory.subscribeEvents,
    RuntimeMethodIds.agent.subscribeEvents,
    RuntimeMethodIds.app.subscribeAppMessages,
    RuntimeMethodIds.app.watchAppInstallJobEvents,
    RuntimeMethodIds.audit.exportAuditEvents,
    RuntimeMethodIds.audit.subscribeAIProviderHealthEvents,
    RuntimeMethodIds.audit.subscribeRuntimeHealthEvents,
]);
export const RuntimeWriteMethodIds = Object.freeze([
    RuntimeMethodIds.auth.registerApp,
    RuntimeMethodIds.auth.openSession,
    RuntimeMethodIds.auth.refreshSession,
    RuntimeMethodIds.auth.revokeSession,
    RuntimeMethodIds.auth.registerExternalPrincipal,
    RuntimeMethodIds.auth.openExternalPrincipalSession,
    RuntimeMethodIds.auth.revokeExternalPrincipalSession,
    RuntimeMethodIds.account.beginLogin,
    RuntimeMethodIds.account.completeLogin,
    RuntimeMethodIds.account.refreshAccountSession,
    RuntimeMethodIds.account.logout,
    RuntimeMethodIds.account.switchAccount,
    RuntimeMethodIds.account.issueScopedAppBinding,
    RuntimeMethodIds.account.revokeScopedAppBinding,
    RuntimeMethodIds.account.issueWorkspaceBinding,
    RuntimeMethodIds.account.revokeWorkspaceBinding,
    RuntimeMethodIds.appAuth.authorizeExternalPrincipal,
    RuntimeMethodIds.appAuth.revokeToken,
    RuntimeMethodIds.appAuth.issueDelegatedToken,
    RuntimeMethodIds.ai.executeScenario,
    RuntimeMethodIds.ai.streamScenario,
    RuntimeMethodIds.ai.submitScenarioJob,
    RuntimeMethodIds.ai.cancelScenarioJob,
    RuntimeMethodIds.ai.deleteVoiceAsset,
    RuntimeMethodIds.aiRealtime.openRealtimeSession,
    RuntimeMethodIds.aiRealtime.appendRealtimeInput,
    RuntimeMethodIds.aiRealtime.closeRealtimeSession,
    RuntimeMethodIds.workflow.submit,
    RuntimeMethodIds.workflow.cancel,
    RuntimeMethodIds.model.pull,
    RuntimeMethodIds.model.remove,
    RuntimeMethodIds.local.installVerifiedAsset,
    RuntimeMethodIds.local.importLocalAsset,
    RuntimeMethodIds.local.importLocalAssetFile,
    RuntimeMethodIds.local.scaffoldOrphanAsset,
    RuntimeMethodIds.local.pauseLocalTransfer,
    RuntimeMethodIds.local.resumeLocalTransfer,
    RuntimeMethodIds.local.cancelLocalTransfer,
    RuntimeMethodIds.local.startLocalEnvironmentDependencyJob,
    RuntimeMethodIds.local.cancelLocalEnvironmentDependencyJob,
    RuntimeMethodIds.local.retryLocalEnvironmentDependencyJob,
    RuntimeMethodIds.local.repairLocalEnvironmentDependency,
    RuntimeMethodIds.local.removeLocalAsset,
    RuntimeMethodIds.local.startLocalAsset,
    RuntimeMethodIds.local.stopLocalAsset,
    RuntimeMethodIds.local.applyProfile,
    RuntimeMethodIds.local.installLocalService,
    RuntimeMethodIds.local.startLocalService,
    RuntimeMethodIds.local.stopLocalService,
    RuntimeMethodIds.local.removeLocalService,
    RuntimeMethodIds.local.appendInferenceAudit,
    RuntimeMethodIds.local.appendRuntimeAudit,
    RuntimeMethodIds.local.ensureEngine,
    RuntimeMethodIds.local.startEngine,
    RuntimeMethodIds.local.stopEngine,
    RuntimeMethodIds.connector.createConnector,
    RuntimeMethodIds.connector.updateConnector,
    RuntimeMethodIds.connector.deleteConnector,
    RuntimeMethodIds.connector.upsertModelCatalogProvider,
    RuntimeMethodIds.connector.deleteModelCatalogProvider,
    RuntimeMethodIds.connector.upsertCatalogModelOverlay,
    RuntimeMethodIds.connector.deleteCatalogModelOverlay,
    RuntimeMethodIds.knowledge.createKnowledgeBank,
    RuntimeMethodIds.knowledge.deleteKnowledgeBank,
    RuntimeMethodIds.knowledge.putPage,
    RuntimeMethodIds.knowledge.deletePage,
    RuntimeMethodIds.knowledge.addLink,
    RuntimeMethodIds.knowledge.removeLink,
    RuntimeMethodIds.knowledge.ingestDocument,
    RuntimeMethodIds.memory.createBank,
    RuntimeMethodIds.memory.deleteBank,
    RuntimeMethodIds.memory.retain,
    RuntimeMethodIds.memory.deleteMemory,
    RuntimeMethodIds.agent.initializeAgent,
    RuntimeMethodIds.agent.terminateAgent,
    RuntimeMethodIds.agent.openConversationAnchor,
    RuntimeMethodIds.agent.registerAvatarLiveInstanceBinding,
    RuntimeMethodIds.agent.createRealmGroupMessageCandidate,
    RuntimeMethodIds.agent.requestAvatarDebugProbe,
    RuntimeMethodIds.agent.updateAgentState,
    RuntimeMethodIds.agent.setPresentationProfile,
    RuntimeMethodIds.agent.upsertDelegatedProviderProfile,
    RuntimeMethodIds.agent.setDelegatedProviderState,
    RuntimeMethodIds.agent.submitDelegatedApprovalDecision,
    RuntimeMethodIds.agent.executeDelegatedCapability,
    RuntimeMethodIds.agent.enableAutonomy,
    RuntimeMethodIds.agent.disableAutonomy,
    RuntimeMethodIds.agent.setAutonomyConfig,
    RuntimeMethodIds.agent.cancelHook,
    RuntimeMethodIds.agent.writeMemory,
    RuntimeMethodIds.app.sendAppMessage,
    RuntimeMethodIds.audit.exportAuditEvents,
].filter((methodId) => RuntimeAllowlistedMethodIdSet.has(methodId)));
export const RuntimeLocalAnonymousMethodIds = Object.freeze([
    RuntimeMethodIds.local.listLocalAssets,
    RuntimeMethodIds.local.listVerifiedAssets,
    RuntimeMethodIds.local.searchCatalogModels,
    RuntimeMethodIds.local.resolveModelInstallPlan,
    RuntimeMethodIds.local.scanUnregisteredAssets,
    RuntimeMethodIds.local.listLocalTransfers,
    RuntimeMethodIds.local.resolveLocalEnvironmentPlan,
    RuntimeMethodIds.local.listLocalEnvironmentSelectedSources,
    RuntimeMethodIds.local.listLocalEnvironmentDependencyJobs,
    RuntimeMethodIds.local.resolveLocalEnvironmentActivationGate,
    RuntimeMethodIds.local.resolveLocalStateReconciliation,
    RuntimeMethodIds.local.checkLocalAssetHealth,
    RuntimeMethodIds.local.warmLocalAsset,
    RuntimeMethodIds.local.collectDeviceProfile,
    RuntimeMethodIds.local.resolveProfile,
    RuntimeMethodIds.local.listLocalServices,
    RuntimeMethodIds.local.checkLocalServiceHealth,
    RuntimeMethodIds.local.listNodeCatalog,
    RuntimeMethodIds.local.listLocalAudits,
    RuntimeMethodIds.local.watchLocalTransfers,
].filter((methodId) => RuntimeAllowlistedMethodIdSet.has(methodId)));
// =====================================================================
// Anonymous-read posture classifier (Wave 2 of topic
// 2026-05-10-runtime-bearer-revocation-contract-closure).
//
// Source of truth: Wave 0 spec table index at
// nimi/.nimi/spec/runtime/kernel/tables/runtime-rpc-auth-posture.yaml,
// filtered from its method shards to entries whose `posture` field equals
// `anonymous_read`.
//
// Set equality with the spec table is enforced by
// scripts/check-runtime-rpc-auth-posture-sdk-drift.mjs (Spec Gates job).
// Do not hand-edit individual entries; mutate the spec table and let
// the drift check confirm.
// =====================================================================
export const RuntimeAnonymousReadMethodIds = Object.freeze([
    '/nimi.runtime.v1.RuntimeAgentService/CancelHook',
    '/nimi.runtime.v1.RuntimeAgentService/DisableAutonomy',
    '/nimi.runtime.v1.RuntimeAgentService/EnableAutonomy',
    '/nimi.runtime.v1.RuntimeAgentService/ExecuteDelegatedCapability',
    '/nimi.runtime.v1.RuntimeAgentService/GetAgent',
    '/nimi.runtime.v1.RuntimeAgentService/GetAgentState',
    '/nimi.runtime.v1.RuntimeAgentService/GetAvatarDebugReplay',
    '/nimi.runtime.v1.RuntimeAgentService/GetAvatarDebugSnapshot',
    '/nimi.runtime.v1.RuntimeAgentService/GetConversationAnchorSnapshot',
    '/nimi.runtime.v1.RuntimeAgentService/GetDelegatedControlSurfaceSnapshot',
    '/nimi.runtime.v1.RuntimeAgentService/GetDelegatedReplayTrace',
    '/nimi.runtime.v1.RuntimeAgentService/GetPublicChatSessionSnapshot',
    '/nimi.runtime.v1.RuntimeAgentService/InitializeAgent',
    '/nimi.runtime.v1.RuntimeAgentService/ListAgents',
    '/nimi.runtime.v1.RuntimeAgentService/ListAvatarDebugProbeResults',
    '/nimi.runtime.v1.RuntimeAgentService/ListDelegatedApprovalRequests',
    '/nimi.runtime.v1.RuntimeAgentService/ListDelegatedDiagnostics',
    '/nimi.runtime.v1.RuntimeAgentService/ListDelegatedProviderProfiles',
    '/nimi.runtime.v1.RuntimeAgentService/ListPendingHooks',
    '/nimi.runtime.v1.RuntimeAgentService/OpenConversationAnchor',
    '/nimi.runtime.v1.RuntimeAgentService/QueryAgentMemory',
    '/nimi.runtime.v1.RuntimeAgentService/RequestAvatarDebugProbe',
    '/nimi.runtime.v1.RuntimeAgentService/SetAgentPresentationProfile',
    '/nimi.runtime.v1.RuntimeAgentService/SetAutonomyConfig',
    '/nimi.runtime.v1.RuntimeAgentService/SetDelegatedProviderState',
    '/nimi.runtime.v1.RuntimeAgentService/SubmitDelegatedApprovalDecision',
    '/nimi.runtime.v1.RuntimeAgentService/SubscribeAgentEvents',
    '/nimi.runtime.v1.RuntimeAgentService/TerminateAgent',
    '/nimi.runtime.v1.RuntimeAgentService/UpdateAgentState',
    '/nimi.runtime.v1.RuntimeAgentService/UpsertDelegatedProviderProfile',
    '/nimi.runtime.v1.RuntimeAgentService/WriteAgentMemory',
    '/nimi.runtime.v1.RuntimeAiRealtimeService/OpenRealtimeSession',
    '/nimi.runtime.v1.RuntimeAiService/DeleteVoiceAsset',
    '/nimi.runtime.v1.RuntimeAiService/GetVoiceAsset',
    '/nimi.runtime.v1.RuntimeAiService/ListPresetVoices',
    '/nimi.runtime.v1.RuntimeAiService/ListScenarioProfiles',
    '/nimi.runtime.v1.RuntimeAiService/ListVoiceAssets',
    '/nimi.runtime.v1.RuntimeAiService/PeekScheduling',
    '/nimi.runtime.v1.RuntimeAiService/UploadArtifact',
    '/nimi.runtime.v1.RuntimeArtifactService/ReadArtifactBytes',
    '/nimi.runtime.v1.RuntimeAuditService/ExportAuditEvents',
    '/nimi.runtime.v1.RuntimeAuditService/GetRuntimeHealth',
    '/nimi.runtime.v1.RuntimeAuditService/ListAIProviderHealth',
    '/nimi.runtime.v1.RuntimeAuditService/ListAuditEvents',
    '/nimi.runtime.v1.RuntimeAuditService/ListUsageStats',
    '/nimi.runtime.v1.RuntimeAuditService/SubscribeAIProviderHealthEvents',
    '/nimi.runtime.v1.RuntimeAuditService/SubscribeRuntimeHealthEvents',
    '/nimi.runtime.v1.RuntimeAuthService/OpenSession',
    '/nimi.runtime.v1.RuntimeAuthService/RegisterApp',
    '/nimi.runtime.v1.RuntimeAuthService/RegisterExternalPrincipal',
    '/nimi.runtime.v1.RuntimeAuthService/RevokeExternalPrincipalSession',
    '/nimi.runtime.v1.RuntimeAuthService/RevokeSession',
    '/nimi.runtime.v1.RuntimeCognitionService/CreateBank',
    '/nimi.runtime.v1.RuntimeCognitionService/DeleteBank',
    '/nimi.runtime.v1.RuntimeCognitionService/DeleteMemory',
    '/nimi.runtime.v1.RuntimeCognitionService/GetBank',
    '/nimi.runtime.v1.RuntimeCognitionService/History',
    '/nimi.runtime.v1.RuntimeCognitionService/ListBanks',
    '/nimi.runtime.v1.RuntimeCognitionService/Recall',
    '/nimi.runtime.v1.RuntimeCognitionService/Retain',
    '/nimi.runtime.v1.RuntimeCognitionService/SubscribeMemoryEvents',
    '/nimi.runtime.v1.RuntimeConnectorService/ListProviderCatalog',
    '/nimi.runtime.v1.RuntimeGrantService/AuthorizeExternalPrincipal',
    '/nimi.runtime.v1.RuntimeGrantService/IssueDelegatedAccessToken',
    '/nimi.runtime.v1.RuntimeGrantService/ListTokenChain',
    '/nimi.runtime.v1.RuntimeGrantService/RevokeAppAccessToken',
    '/nimi.runtime.v1.RuntimeGrantService/ValidateAppAccessToken',
    '/nimi.runtime.v1.RuntimeLocalService/AppendInferenceAudit',
    '/nimi.runtime.v1.RuntimeLocalService/AppendRuntimeAudit',
    '/nimi.runtime.v1.RuntimeLocalService/ApplyProfile',
    '/nimi.runtime.v1.RuntimeLocalService/CancelLocalEnvironmentDependencyJob',
    '/nimi.runtime.v1.RuntimeLocalService/CancelLocalTransfer',
    '/nimi.runtime.v1.RuntimeLocalService/CheckLocalAssetHealth',
    '/nimi.runtime.v1.RuntimeLocalService/CheckLocalServiceHealth',
    '/nimi.runtime.v1.RuntimeLocalService/CollectDeviceProfile',
    '/nimi.runtime.v1.RuntimeLocalService/EnsureEngine',
    '/nimi.runtime.v1.RuntimeLocalService/ExecuteLocalStateCutover',
    '/nimi.runtime.v1.RuntimeLocalService/GetEngineStatus',
    '/nimi.runtime.v1.RuntimeLocalService/ImportLocalAsset',
    '/nimi.runtime.v1.RuntimeLocalService/ImportLocalAssetFile',
    '/nimi.runtime.v1.RuntimeLocalService/InstallLocalService',
    '/nimi.runtime.v1.RuntimeLocalService/InstallVerifiedAsset',
    '/nimi.runtime.v1.RuntimeLocalService/ListEngines',
    '/nimi.runtime.v1.RuntimeLocalService/ListLocalAssets',
    '/nimi.runtime.v1.RuntimeLocalService/ListLocalAudits',
    '/nimi.runtime.v1.RuntimeLocalService/ListLocalEnvironmentDependencyJobs',
    '/nimi.runtime.v1.RuntimeLocalService/ListLocalEnvironmentSelectedSources',
    '/nimi.runtime.v1.RuntimeLocalService/ListLocalServices',
    '/nimi.runtime.v1.RuntimeLocalService/ListLocalTransfers',
    '/nimi.runtime.v1.RuntimeLocalService/ListNodeCatalog',
    '/nimi.runtime.v1.RuntimeLocalService/ListVerifiedAssets',
    '/nimi.runtime.v1.RuntimeLocalService/MintFirstRunExecutionEvidence',
    '/nimi.runtime.v1.RuntimeLocalService/MintRuntimeBaselineReadiness',
    '/nimi.runtime.v1.RuntimeLocalService/PauseLocalTransfer',
    '/nimi.runtime.v1.RuntimeLocalService/RemoveLocalAsset',
    '/nimi.runtime.v1.RuntimeLocalService/RemoveLocalService',
    '/nimi.runtime.v1.RuntimeLocalService/RepairLocalEnvironmentDependency',
    '/nimi.runtime.v1.RuntimeLocalService/ResolveFirstRunExecutionEvidence',
    '/nimi.runtime.v1.RuntimeLocalService/ResolveLocalEnvironmentActivationGate',
    '/nimi.runtime.v1.RuntimeLocalService/ResolveLocalEnvironmentPlan',
    '/nimi.runtime.v1.RuntimeLocalService/ResolveLocalStateReconciliation',
    '/nimi.runtime.v1.RuntimeLocalService/ResolveModelInstallPlan',
    '/nimi.runtime.v1.RuntimeLocalService/ResolveProfile',
    '/nimi.runtime.v1.RuntimeLocalService/ResolveRuntimeBaselineReadiness',
    '/nimi.runtime.v1.RuntimeLocalService/ResumeLocalTransfer',
    '/nimi.runtime.v1.RuntimeLocalService/RetryLocalEnvironmentDependencyJob',
    '/nimi.runtime.v1.RuntimeLocalService/ScaffoldOrphanAsset',
    '/nimi.runtime.v1.RuntimeLocalService/ScanUnregisteredAssets',
    '/nimi.runtime.v1.RuntimeLocalService/SearchCatalogModels',
    '/nimi.runtime.v1.RuntimeLocalService/StartEngine',
    '/nimi.runtime.v1.RuntimeLocalService/StartLocalAsset',
    '/nimi.runtime.v1.RuntimeLocalService/StartLocalEnvironmentDependencyJob',
    '/nimi.runtime.v1.RuntimeLocalService/StartLocalService',
    '/nimi.runtime.v1.RuntimeLocalService/StopEngine',
    '/nimi.runtime.v1.RuntimeLocalService/StopLocalAsset',
    '/nimi.runtime.v1.RuntimeLocalService/StopLocalService',
    '/nimi.runtime.v1.RuntimeLocalService/WarmLocalAsset',
    '/nimi.runtime.v1.RuntimeLocalService/WatchLocalTransfers',
    '/nimi.runtime.v1.RuntimeModelService/CheckModelHealth',
    '/nimi.runtime.v1.RuntimeModelService/ListModels',
    '/nimi.runtime.v1.RuntimeModelService/PullModel',
    '/nimi.runtime.v1.RuntimeModelService/RemoveModel',
    '/nimi.runtime.v1.RuntimeWorkflowService/SubmitWorkflow',
]);
const RuntimeStreamMethodIdSet = new Set(RuntimeStreamMethodIds);
const RuntimeWriteMethodIdSet = new Set(RuntimeWriteMethodIds);
const RuntimeLocalAnonymousMethodIdSet = new Set(RuntimeLocalAnonymousMethodIds);
const RuntimeAnonymousReadMethodIdSet = new Set(RuntimeAnonymousReadMethodIds);
const RuntimeAccountMethodIdSet = new Set(Object.values(RuntimeMethodIds.account));
const RuntimeAppSessionBootstrapMethodIdSet = new Set([
    RuntimeMethodIds.auth.registerApp,
    RuntimeMethodIds.auth.openSession,
]);
export function isRuntimeStreamMethod(methodId) {
    return RuntimeStreamMethodIdSet.has(methodId);
}
export function isRuntimeMethodAllowlisted(methodId) {
    return RuntimeAllowlistedMethodIdSet.has(methodId);
}
export function isRuntimeMethodDeniedByMethodGroup(methodId) {
    return RuntimeMethodGroupDeniedMethodIdSet.has(methodId);
}
export function isRuntimeWriteMethod(methodId) {
    return RuntimeWriteMethodIdSet.has(methodId);
}
export function isRuntimeLocalAnonymousMethod(methodId) {
    return RuntimeLocalAnonymousMethodIdSet.has(methodId);
}
export function isRuntimeAccountMethod(methodId) {
    return RuntimeAccountMethodIdSet.has(methodId);
}
export function isRuntimeAppSessionBootstrapMethod(methodId) {
    return RuntimeAppSessionBootstrapMethodIdSet.has(methodId);
}
export function isRuntimeAnonymousReadMethod(methodId) {
    return RuntimeAnonymousReadMethodIdSet.has(methodId);
}
//# sourceMappingURL=method-ids.js.map