# Auto-generated by scripts/update_sdk_artifacts.py # DO NOT EDIT MANUALLY. from __future__ import annotations from pydantic import BaseModel from .v2_all import AccountLoginCompletedNotification from .v2_all import AccountRateLimitsUpdatedNotification from .v2_all import AccountUpdatedNotification from .v2_all import AgentMessageDeltaNotification from .v2_all import AppListUpdatedNotification from .v2_all import CommandExecOutputDeltaNotification from .v2_all import CommandExecutionOutputDeltaNotification from .v2_all import ConfigWarningNotification from .v2_all import ContextCompactedNotification from .v2_all import DeprecationNoticeNotification from .v2_all import ErrorNotification from .v2_all import ExternalAgentConfigImportCompletedNotification from .v2_all import FileChangeOutputDeltaNotification from .v2_all import FileChangePatchUpdatedNotification from .v2_all import FsChangedNotification from .v2_all import FuzzyFileSearchSessionCompletedNotification from .v2_all import FuzzyFileSearchSessionUpdatedNotification from .v2_all import GuardianWarningNotification from .v2_all import HookCompletedNotification from .v2_all import HookStartedNotification from .v2_all import ItemCompletedNotification from .v2_all import ItemGuardianApprovalReviewCompletedNotification from .v2_all import ItemGuardianApprovalReviewStartedNotification from .v2_all import ItemStartedNotification from .v2_all import McpServerOauthLoginCompletedNotification from .v2_all import McpServerStatusUpdatedNotification from .v2_all import McpToolCallProgressNotification from .v2_all import ModelReroutedNotification from .v2_all import ModelVerificationNotification from .v2_all import PlanDeltaNotification from .v2_all import ReasoningSummaryPartAddedNotification from .v2_all import ReasoningSummaryTextDeltaNotification from .v2_all import ReasoningTextDeltaNotification from .v2_all import RemoteControlStatusChangedNotification from .v2_all import ServerRequestResolvedNotification from .v2_all import SkillsChangedNotification from .v2_all import TerminalInteractionNotification from .v2_all import ThreadArchivedNotification from .v2_all import ThreadClosedNotification from .v2_all import ThreadGoalClearedNotification from .v2_all import ThreadGoalUpdatedNotification from .v2_all import ThreadNameUpdatedNotification from .v2_all import ThreadRealtimeClosedNotification from .v2_all import ThreadRealtimeErrorNotification from .v2_all import ThreadRealtimeItemAddedNotification from .v2_all import ThreadRealtimeOutputAudioDeltaNotification from .v2_all import ThreadRealtimeSdpNotification from .v2_all import ThreadRealtimeStartedNotification from .v2_all import ThreadRealtimeTranscriptDeltaNotification from .v2_all import ThreadRealtimeTranscriptDoneNotification from .v2_all import ThreadStartedNotification from .v2_all import ThreadStatusChangedNotification from .v2_all import ThreadTokenUsageUpdatedNotification from .v2_all import ThreadUnarchivedNotification from .v2_all import TurnCompletedNotification from .v2_all import TurnDiffUpdatedNotification from .v2_all import TurnPlanUpdatedNotification from .v2_all import TurnStartedNotification from .v2_all import WarningNotification from .v2_all import WindowsSandboxSetupCompletedNotification from .v2_all import WindowsWorldWritableWarningNotification NOTIFICATION_MODELS: dict[str, type[BaseModel]] = { "account/login/completed": AccountLoginCompletedNotification, "account/rateLimits/updated": AccountRateLimitsUpdatedNotification, "account/updated": AccountUpdatedNotification, "app/list/updated": AppListUpdatedNotification, "command/exec/outputDelta": CommandExecOutputDeltaNotification, "configWarning": ConfigWarningNotification, "deprecationNotice": DeprecationNoticeNotification, "error": ErrorNotification, "externalAgentConfig/import/completed": ExternalAgentConfigImportCompletedNotification, "fs/changed": FsChangedNotification, "fuzzyFileSearch/sessionCompleted": FuzzyFileSearchSessionCompletedNotification, "fuzzyFileSearch/sessionUpdated": FuzzyFileSearchSessionUpdatedNotification, "guardianWarning": GuardianWarningNotification, "hook/completed": HookCompletedNotification, "hook/started": HookStartedNotification, "item/agentMessage/delta": AgentMessageDeltaNotification, "item/autoApprovalReview/completed": ItemGuardianApprovalReviewCompletedNotification, "item/autoApprovalReview/started": ItemGuardianApprovalReviewStartedNotification, "item/commandExecution/outputDelta": CommandExecutionOutputDeltaNotification, "item/commandExecution/terminalInteraction": TerminalInteractionNotification, "item/completed": ItemCompletedNotification, "item/fileChange/outputDelta": FileChangeOutputDeltaNotification, "item/fileChange/patchUpdated": FileChangePatchUpdatedNotification, "item/mcpToolCall/progress": McpToolCallProgressNotification, "item/plan/delta": PlanDeltaNotification, "item/reasoning/summaryPartAdded": ReasoningSummaryPartAddedNotification, "item/reasoning/summaryTextDelta": ReasoningSummaryTextDeltaNotification, "item/reasoning/textDelta": ReasoningTextDeltaNotification, "item/started": ItemStartedNotification, "mcpServer/oauthLogin/completed": McpServerOauthLoginCompletedNotification, "mcpServer/startupStatus/updated": McpServerStatusUpdatedNotification, "model/rerouted": ModelReroutedNotification, "model/verification": ModelVerificationNotification, "remoteControl/status/changed": RemoteControlStatusChangedNotification, "serverRequest/resolved": ServerRequestResolvedNotification, "skills/changed": SkillsChangedNotification, "thread/archived": ThreadArchivedNotification, "thread/closed": ThreadClosedNotification, "thread/compacted": ContextCompactedNotification, "thread/goal/cleared": ThreadGoalClearedNotification, "thread/goal/updated": ThreadGoalUpdatedNotification, "thread/name/updated": ThreadNameUpdatedNotification, "thread/realtime/closed": ThreadRealtimeClosedNotification, "thread/realtime/error": ThreadRealtimeErrorNotification, "thread/realtime/itemAdded": ThreadRealtimeItemAddedNotification, "thread/realtime/outputAudio/delta": ThreadRealtimeOutputAudioDeltaNotification, "thread/realtime/sdp": ThreadRealtimeSdpNotification, "thread/realtime/started": ThreadRealtimeStartedNotification, "thread/realtime/transcript/delta": ThreadRealtimeTranscriptDeltaNotification, "thread/realtime/transcript/done": ThreadRealtimeTranscriptDoneNotification, "thread/started": ThreadStartedNotification, "thread/status/changed": ThreadStatusChangedNotification, "thread/tokenUsage/updated": ThreadTokenUsageUpdatedNotification, "thread/unarchived": ThreadUnarchivedNotification, "turn/completed": TurnCompletedNotification, "turn/diff/updated": TurnDiffUpdatedNotification, "turn/plan/updated": TurnPlanUpdatedNotification, "turn/started": TurnStartedNotification, "warning": WarningNotification, "windows/worldWritableWarning": WindowsWorldWritableWarningNotification, "windowsSandbox/setupCompleted": WindowsSandboxSetupCompletedNotification, } DIRECT_TURN_ID_NOTIFICATION_TYPES: tuple[type[BaseModel], ...] = ( AgentMessageDeltaNotification, CommandExecutionOutputDeltaNotification, ContextCompactedNotification, ErrorNotification, FileChangeOutputDeltaNotification, FileChangePatchUpdatedNotification, HookCompletedNotification, HookStartedNotification, ItemCompletedNotification, ItemGuardianApprovalReviewCompletedNotification, ItemGuardianApprovalReviewStartedNotification, ItemStartedNotification, McpToolCallProgressNotification, ModelReroutedNotification, ModelVerificationNotification, PlanDeltaNotification, ReasoningSummaryPartAddedNotification, ReasoningSummaryTextDeltaNotification, ReasoningTextDeltaNotification, TerminalInteractionNotification, ThreadGoalUpdatedNotification, ThreadTokenUsageUpdatedNotification, TurnDiffUpdatedNotification, TurnPlanUpdatedNotification, ) NESTED_TURN_NOTIFICATION_TYPES: tuple[type[BaseModel], ...] = ( TurnCompletedNotification, TurnStartedNotification, ) def notification_turn_id(payload: BaseModel) -> str | None: if isinstance(payload, DIRECT_TURN_ID_NOTIFICATION_TYPES): return payload.turn_id if isinstance(payload.turn_id, str) else None if isinstance(payload, NESTED_TURN_NOTIFICATION_TYPES): return payload.turn.id return None