mirror of
https://github.com/openai/codex.git
synced 2026-10-23 20:01:35 +00:00
## What changed - Add `thread/attachment/add`, `thread/attachment/list`, and `thread/attachment/remove` to manage durable resource references without loading the owning thread or changing conversation history. - Identify attachments by thread, `attachmentType`, and `identityKey`. Repeated adds return the existing attachment; repeated removals succeed without emitting another update. Listing supports cursor pagination. - Broadcast `thread/attachment/updated` after creation or deletion, after responding to the requester. Serialize attachment mutations with thread lifecycle operations and reject stores that do not support attachments. - Update protocol schemas, TypeScript and Python bindings, documentation, and TUI notification handling so attachment updates do not add untracked threads to the agent picker. ## Testing Add coverage for unloaded threads, pagination, idempotent addition and removal, reattachment, invalid inputs, unsupported stores, response-before-notification ordering across clients, and TUI notification routing. GitOrigin-RevId: 0d29cf903afd4e931a70a9cf96300475213b34aa
303 lines
14 KiB
Python
303 lines
14 KiB
Python
# Auto-generated by scripts/update_sdk_artifacts.py
|
|
# DO NOT EDIT MANUALLY.
|
|
|
|
from __future__ import annotations
|
|
|
|
from typing import TypeAlias
|
|
|
|
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 AuthRecoveryNotification
|
|
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 EnvironmentConnectionNotification
|
|
from .v2_all import ErrorNotification
|
|
from .v2_all import ExternalAgentConfigImportCompletedNotification
|
|
from .v2_all import ExternalAgentConfigImportProgressNotification
|
|
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 McpServerEventStreamNotification
|
|
from .v2_all import McpServerOauthLoginCompletedNotification
|
|
from .v2_all import McpServerStatusUpdatedNotification
|
|
from .v2_all import McpToolCallProgressNotification
|
|
from .v2_all import ModelReroutedNotification
|
|
from .v2_all import ModelSafetyBufferingUpdatedNotification
|
|
from .v2_all import ModelVerificationNotification
|
|
from .v2_all import PlanDeltaNotification
|
|
from .v2_all import ProcessExitedNotification
|
|
from .v2_all import ProcessOutputDeltaNotification
|
|
from .v2_all import ProjectChangedNotification
|
|
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 StrictReviewRequiredNotification
|
|
from .v2_all import TerminalInteractionNotification
|
|
from .v2_all import ThreadArchivedNotification
|
|
from .v2_all import ThreadAttachmentUpdatedNotification
|
|
from .v2_all import ThreadClosedNotification
|
|
from .v2_all import ThreadDeletedNotification
|
|
from .v2_all import ThreadGoalClearedNotification
|
|
from .v2_all import ThreadGoalUpdatedNotification
|
|
from .v2_all import ThreadNameUpdatedNotification
|
|
from .v2_all import ThreadProjectUpdatedNotification
|
|
from .v2_all import ThreadQueueChangedNotification
|
|
from .v2_all import ThreadRealtimeClosedNotification
|
|
from .v2_all import ThreadRealtimeErrorNotification
|
|
from .v2_all import ThreadRealtimeItemAddedNotification
|
|
from .v2_all import ThreadRealtimeItemCompletedNotification
|
|
from .v2_all import ThreadRealtimeItemStartedNotification
|
|
from .v2_all import ThreadRealtimeItemTranscriptDeltaNotification
|
|
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 ThreadRevertedNotification
|
|
from .v2_all import ThreadSettingsUpdatedNotification
|
|
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 TurnModerationMetadataNotification
|
|
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
|
|
|
|
KnownNotificationPayload: TypeAlias = (
|
|
AccountLoginCompletedNotification
|
|
| AccountRateLimitsUpdatedNotification
|
|
| AccountUpdatedNotification
|
|
| AgentMessageDeltaNotification
|
|
| AppListUpdatedNotification
|
|
| AuthRecoveryNotification
|
|
| CommandExecOutputDeltaNotification
|
|
| CommandExecutionOutputDeltaNotification
|
|
| ConfigWarningNotification
|
|
| ContextCompactedNotification
|
|
| DeprecationNoticeNotification
|
|
| EnvironmentConnectionNotification
|
|
| ErrorNotification
|
|
| ExternalAgentConfigImportCompletedNotification
|
|
| ExternalAgentConfigImportProgressNotification
|
|
| FileChangeOutputDeltaNotification
|
|
| FileChangePatchUpdatedNotification
|
|
| FsChangedNotification
|
|
| FuzzyFileSearchSessionCompletedNotification
|
|
| FuzzyFileSearchSessionUpdatedNotification
|
|
| GuardianWarningNotification
|
|
| HookCompletedNotification
|
|
| HookStartedNotification
|
|
| ItemCompletedNotification
|
|
| ItemGuardianApprovalReviewCompletedNotification
|
|
| ItemGuardianApprovalReviewStartedNotification
|
|
| ItemStartedNotification
|
|
| McpServerEventStreamNotification
|
|
| McpServerOauthLoginCompletedNotification
|
|
| McpServerStatusUpdatedNotification
|
|
| McpToolCallProgressNotification
|
|
| ModelReroutedNotification
|
|
| ModelSafetyBufferingUpdatedNotification
|
|
| ModelVerificationNotification
|
|
| PlanDeltaNotification
|
|
| ProcessExitedNotification
|
|
| ProcessOutputDeltaNotification
|
|
| ProjectChangedNotification
|
|
| ReasoningSummaryPartAddedNotification
|
|
| ReasoningSummaryTextDeltaNotification
|
|
| ReasoningTextDeltaNotification
|
|
| RemoteControlStatusChangedNotification
|
|
| ServerRequestResolvedNotification
|
|
| SkillsChangedNotification
|
|
| StrictReviewRequiredNotification
|
|
| TerminalInteractionNotification
|
|
| ThreadArchivedNotification
|
|
| ThreadAttachmentUpdatedNotification
|
|
| ThreadClosedNotification
|
|
| ThreadDeletedNotification
|
|
| ThreadGoalClearedNotification
|
|
| ThreadGoalUpdatedNotification
|
|
| ThreadNameUpdatedNotification
|
|
| ThreadProjectUpdatedNotification
|
|
| ThreadQueueChangedNotification
|
|
| ThreadRealtimeClosedNotification
|
|
| ThreadRealtimeErrorNotification
|
|
| ThreadRealtimeItemAddedNotification
|
|
| ThreadRealtimeItemCompletedNotification
|
|
| ThreadRealtimeItemStartedNotification
|
|
| ThreadRealtimeItemTranscriptDeltaNotification
|
|
| ThreadRealtimeOutputAudioDeltaNotification
|
|
| ThreadRealtimeSdpNotification
|
|
| ThreadRealtimeStartedNotification
|
|
| ThreadRealtimeTranscriptDeltaNotification
|
|
| ThreadRealtimeTranscriptDoneNotification
|
|
| ThreadRevertedNotification
|
|
| ThreadSettingsUpdatedNotification
|
|
| ThreadStartedNotification
|
|
| ThreadStatusChangedNotification
|
|
| ThreadTokenUsageUpdatedNotification
|
|
| ThreadUnarchivedNotification
|
|
| TurnCompletedNotification
|
|
| TurnDiffUpdatedNotification
|
|
| TurnModerationMetadataNotification
|
|
| TurnPlanUpdatedNotification
|
|
| TurnStartedNotification
|
|
| WarningNotification
|
|
| WindowsSandboxSetupCompletedNotification
|
|
| WindowsWorldWritableWarningNotification
|
|
)
|
|
|
|
NOTIFICATION_MODELS: dict[str, type[KnownNotificationPayload]] = {
|
|
"account/login/completed": AccountLoginCompletedNotification,
|
|
"account/rateLimits/updated": AccountRateLimitsUpdatedNotification,
|
|
"account/updated": AccountUpdatedNotification,
|
|
"app/list/updated": AppListUpdatedNotification,
|
|
"autoApprovalReview/strictReviewRequired": StrictReviewRequiredNotification,
|
|
"command/exec/outputDelta": CommandExecOutputDeltaNotification,
|
|
"configWarning": ConfigWarningNotification,
|
|
"deprecationNotice": DeprecationNoticeNotification,
|
|
"error": ErrorNotification,
|
|
"externalAgentConfig/import/completed": ExternalAgentConfigImportCompletedNotification,
|
|
"externalAgentConfig/import/progress": ExternalAgentConfigImportProgressNotification,
|
|
"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/event/stream/notification": McpServerEventStreamNotification,
|
|
"mcpServer/oauthLogin/completed": McpServerOauthLoginCompletedNotification,
|
|
"mcpServer/startupStatus/updated": McpServerStatusUpdatedNotification,
|
|
"model/rerouted": ModelReroutedNotification,
|
|
"model/safetyBuffering/updated": ModelSafetyBufferingUpdatedNotification,
|
|
"model/verification": ModelVerificationNotification,
|
|
"modelProvider/authRecoveryCompleted": AuthRecoveryNotification,
|
|
"modelProvider/authRecoveryStarted": AuthRecoveryNotification,
|
|
"process/exited": ProcessExitedNotification,
|
|
"process/outputDelta": ProcessOutputDeltaNotification,
|
|
"project/changed": ProjectChangedNotification,
|
|
"remoteControl/status/changed": RemoteControlStatusChangedNotification,
|
|
"serverRequest/resolved": ServerRequestResolvedNotification,
|
|
"skills/changed": SkillsChangedNotification,
|
|
"thread/archived": ThreadArchivedNotification,
|
|
"thread/attachment/updated": ThreadAttachmentUpdatedNotification,
|
|
"thread/closed": ThreadClosedNotification,
|
|
"thread/compacted": ContextCompactedNotification,
|
|
"thread/deleted": ThreadDeletedNotification,
|
|
"thread/environment/connected": EnvironmentConnectionNotification,
|
|
"thread/environment/disconnected": EnvironmentConnectionNotification,
|
|
"thread/goal/cleared": ThreadGoalClearedNotification,
|
|
"thread/goal/updated": ThreadGoalUpdatedNotification,
|
|
"thread/name/updated": ThreadNameUpdatedNotification,
|
|
"thread/project/updated": ThreadProjectUpdatedNotification,
|
|
"thread/queue/changed": ThreadQueueChangedNotification,
|
|
"thread/realtime/closed": ThreadRealtimeClosedNotification,
|
|
"thread/realtime/error": ThreadRealtimeErrorNotification,
|
|
"thread/realtime/item/completed": ThreadRealtimeItemCompletedNotification,
|
|
"thread/realtime/item/started": ThreadRealtimeItemStartedNotification,
|
|
"thread/realtime/item/transcript/delta": ThreadRealtimeItemTranscriptDeltaNotification,
|
|
"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/reverted": ThreadRevertedNotification,
|
|
"thread/settings/updated": ThreadSettingsUpdatedNotification,
|
|
"thread/started": ThreadStartedNotification,
|
|
"thread/status/changed": ThreadStatusChangedNotification,
|
|
"thread/tokenUsage/updated": ThreadTokenUsageUpdatedNotification,
|
|
"thread/unarchived": ThreadUnarchivedNotification,
|
|
"turn/completed": TurnCompletedNotification,
|
|
"turn/diff/updated": TurnDiffUpdatedNotification,
|
|
"turn/moderationMetadata": TurnModerationMetadataNotification,
|
|
"turn/plan/updated": TurnPlanUpdatedNotification,
|
|
"turn/started": TurnStartedNotification,
|
|
"warning": WarningNotification,
|
|
"windows/worldWritableWarning": WindowsWorldWritableWarningNotification,
|
|
"windowsSandbox/setupCompleted": WindowsSandboxSetupCompletedNotification,
|
|
}
|
|
|
|
DIRECT_TURN_ID_NOTIFICATION_TYPES: tuple[type[BaseModel], ...] = (
|
|
AgentMessageDeltaNotification,
|
|
AuthRecoveryNotification,
|
|
CommandExecutionOutputDeltaNotification,
|
|
ContextCompactedNotification,
|
|
ErrorNotification,
|
|
FileChangeOutputDeltaNotification,
|
|
FileChangePatchUpdatedNotification,
|
|
HookCompletedNotification,
|
|
HookStartedNotification,
|
|
ItemCompletedNotification,
|
|
ItemGuardianApprovalReviewCompletedNotification,
|
|
ItemGuardianApprovalReviewStartedNotification,
|
|
ItemStartedNotification,
|
|
McpToolCallProgressNotification,
|
|
ModelReroutedNotification,
|
|
ModelSafetyBufferingUpdatedNotification,
|
|
ModelVerificationNotification,
|
|
PlanDeltaNotification,
|
|
ReasoningSummaryPartAddedNotification,
|
|
ReasoningSummaryTextDeltaNotification,
|
|
ReasoningTextDeltaNotification,
|
|
StrictReviewRequiredNotification,
|
|
TerminalInteractionNotification,
|
|
ThreadGoalUpdatedNotification,
|
|
ThreadTokenUsageUpdatedNotification,
|
|
TurnDiffUpdatedNotification,
|
|
TurnModerationMetadataNotification,
|
|
TurnPlanUpdatedNotification,
|
|
)
|
|
|
|
NESTED_TURN_NOTIFICATION_TYPES: tuple[type[BaseModel], ...] = (
|
|
TurnCompletedNotification,
|
|
TurnStartedNotification,
|
|
)
|
|
|
|
|
|
def notification_turn_id(payload: BaseModel) -> str | None:
|
|
"""Return the turn id carried by generated notification payload metadata."""
|
|
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
|