Files
agent-radar 2ed3415fb7
Publish Claude Code Binaries / Stage and publish binaries (push) Canceled after 0s
Publish Tutti App Runtime / Build darwin-arm64 (push) Canceled after 0s
Publish Tutti App Runtime / Build darwin-amd64 (push) Canceled after 0s
Publish Tutti App Runtime / Build linux-amd64 (push) Canceled after 0s
Publish Tutti App Runtime / Build windows-amd64 (push) Canceled after 0s
Sync Tutti Agent Skills / sync (push) Canceled after 0s
Windows Agent Adapters / Test Windows agent adapters (push) Canceled after 0s
Windows Daemon Adapters / Test Windows daemon adapters (push) Canceled after 0s
Publish Tutti App Runtime / Publish runtime catalog (push) Canceled after 0s
源码快照 @ 2026-09-01 (source-only, 剔除非源码素材)
2026-09-01 20:17:27 +08:00

645 lines
27 KiB
Go

// Code generated by runtime/codexproto/internal/codegen. DO NOT EDIT.
// Source codex commit: 6d2168f06ae275d5e1f73cabf935d2bcc8549998
package codexproto
import "encoding/json"
// Notification represents a typed server notification.
type Notification struct {
Method string
Params any
Raw json.RawMessage
}
type notificationParser func(json.RawMessage) (Notification, error)
var notificationParsers = map[string]notificationParser{
"account/login/completed": func(params json.RawMessage) (Notification, error) {
var payload AccountLoginCompletedNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "account/login/completed", Raw: params}, err
}
}
return Notification{Method: "account/login/completed", Params: payload, Raw: params}, nil
},
"account/rateLimits/updated": func(params json.RawMessage) (Notification, error) {
var payload AccountRateLimitsUpdatedNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "account/rateLimits/updated", Raw: params}, err
}
}
return Notification{Method: "account/rateLimits/updated", Params: payload, Raw: params}, nil
},
"account/updated": func(params json.RawMessage) (Notification, error) {
var payload AccountUpdatedNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "account/updated", Raw: params}, err
}
}
return Notification{Method: "account/updated", Params: payload, Raw: params}, nil
},
"app/list/updated": func(params json.RawMessage) (Notification, error) {
var payload AppListUpdatedNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "app/list/updated", Raw: params}, err
}
}
return Notification{Method: "app/list/updated", Params: payload, Raw: params}, nil
},
"command/exec/outputDelta": func(params json.RawMessage) (Notification, error) {
var payload CommandExecOutputDeltaNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "command/exec/outputDelta", Raw: params}, err
}
}
return Notification{Method: "command/exec/outputDelta", Params: payload, Raw: params}, nil
},
"configWarning": func(params json.RawMessage) (Notification, error) {
var payload ConfigWarningNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "configWarning", Raw: params}, err
}
}
return Notification{Method: "configWarning", Params: payload, Raw: params}, nil
},
"deprecationNotice": func(params json.RawMessage) (Notification, error) {
var payload DeprecationNoticeNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "deprecationNotice", Raw: params}, err
}
}
return Notification{Method: "deprecationNotice", Params: payload, Raw: params}, nil
},
"error": func(params json.RawMessage) (Notification, error) {
var payload ErrorNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "error", Raw: params}, err
}
}
return Notification{Method: "error", Params: payload, Raw: params}, nil
},
"externalAgentConfig/import/completed": func(params json.RawMessage) (Notification, error) {
var payload ExternalAgentConfigImportCompletedNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "externalAgentConfig/import/completed", Raw: params}, err
}
}
return Notification{Method: "externalAgentConfig/import/completed", Params: payload, Raw: params}, nil
},
"externalAgentConfig/import/progress": func(params json.RawMessage) (Notification, error) {
var payload ExternalAgentConfigImportProgressNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "externalAgentConfig/import/progress", Raw: params}, err
}
}
return Notification{Method: "externalAgentConfig/import/progress", Params: payload, Raw: params}, nil
},
"fs/changed": func(params json.RawMessage) (Notification, error) {
var payload FsChangedNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "fs/changed", Raw: params}, err
}
}
return Notification{Method: "fs/changed", Params: payload, Raw: params}, nil
},
"fuzzyFileSearch/sessionCompleted": func(params json.RawMessage) (Notification, error) {
var payload FuzzyFileSearchSessionCompletedNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "fuzzyFileSearch/sessionCompleted", Raw: params}, err
}
}
return Notification{Method: "fuzzyFileSearch/sessionCompleted", Params: payload, Raw: params}, nil
},
"fuzzyFileSearch/sessionUpdated": func(params json.RawMessage) (Notification, error) {
var payload FuzzyFileSearchSessionUpdatedNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "fuzzyFileSearch/sessionUpdated", Raw: params}, err
}
}
return Notification{Method: "fuzzyFileSearch/sessionUpdated", Params: payload, Raw: params}, nil
},
"guardianWarning": func(params json.RawMessage) (Notification, error) {
var payload GuardianWarningNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "guardianWarning", Raw: params}, err
}
}
return Notification{Method: "guardianWarning", Params: payload, Raw: params}, nil
},
"hook/completed": func(params json.RawMessage) (Notification, error) {
var payload HookCompletedNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "hook/completed", Raw: params}, err
}
}
return Notification{Method: "hook/completed", Params: payload, Raw: params}, nil
},
"hook/started": func(params json.RawMessage) (Notification, error) {
var payload HookStartedNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "hook/started", Raw: params}, err
}
}
return Notification{Method: "hook/started", Params: payload, Raw: params}, nil
},
"item/agentMessage/delta": func(params json.RawMessage) (Notification, error) {
var payload AgentMessageDeltaNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "item/agentMessage/delta", Raw: params}, err
}
}
return Notification{Method: "item/agentMessage/delta", Params: payload, Raw: params}, nil
},
"item/autoApprovalReview/completed": func(params json.RawMessage) (Notification, error) {
var payload ItemGuardianApprovalReviewCompletedNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "item/autoApprovalReview/completed", Raw: params}, err
}
}
return Notification{Method: "item/autoApprovalReview/completed", Params: payload, Raw: params}, nil
},
"item/autoApprovalReview/started": func(params json.RawMessage) (Notification, error) {
var payload ItemGuardianApprovalReviewStartedNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "item/autoApprovalReview/started", Raw: params}, err
}
}
return Notification{Method: "item/autoApprovalReview/started", Params: payload, Raw: params}, nil
},
"item/commandExecution/outputDelta": func(params json.RawMessage) (Notification, error) {
var payload CommandExecutionOutputDeltaNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "item/commandExecution/outputDelta", Raw: params}, err
}
}
return Notification{Method: "item/commandExecution/outputDelta", Params: payload, Raw: params}, nil
},
"item/commandExecution/terminalInteraction": func(params json.RawMessage) (Notification, error) {
var payload TerminalInteractionNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "item/commandExecution/terminalInteraction", Raw: params}, err
}
}
return Notification{Method: "item/commandExecution/terminalInteraction", Params: payload, Raw: params}, nil
},
"item/completed": func(params json.RawMessage) (Notification, error) {
var payload ItemCompletedNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "item/completed", Raw: params}, err
}
}
return Notification{Method: "item/completed", Params: payload, Raw: params}, nil
},
"item/fileChange/outputDelta": func(params json.RawMessage) (Notification, error) {
var payload FileChangeOutputDeltaNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "item/fileChange/outputDelta", Raw: params}, err
}
}
return Notification{Method: "item/fileChange/outputDelta", Params: payload, Raw: params}, nil
},
"item/fileChange/patchUpdated": func(params json.RawMessage) (Notification, error) {
var payload FileChangePatchUpdatedNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "item/fileChange/patchUpdated", Raw: params}, err
}
}
return Notification{Method: "item/fileChange/patchUpdated", Params: payload, Raw: params}, nil
},
"item/mcpToolCall/progress": func(params json.RawMessage) (Notification, error) {
var payload McpToolCallProgressNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "item/mcpToolCall/progress", Raw: params}, err
}
}
return Notification{Method: "item/mcpToolCall/progress", Params: payload, Raw: params}, nil
},
"item/plan/delta": func(params json.RawMessage) (Notification, error) {
var payload PlanDeltaNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "item/plan/delta", Raw: params}, err
}
}
return Notification{Method: "item/plan/delta", Params: payload, Raw: params}, nil
},
"item/reasoning/summaryPartAdded": func(params json.RawMessage) (Notification, error) {
var payload ReasoningSummaryPartAddedNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "item/reasoning/summaryPartAdded", Raw: params}, err
}
}
return Notification{Method: "item/reasoning/summaryPartAdded", Params: payload, Raw: params}, nil
},
"item/reasoning/summaryTextDelta": func(params json.RawMessage) (Notification, error) {
var payload ReasoningSummaryTextDeltaNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "item/reasoning/summaryTextDelta", Raw: params}, err
}
}
return Notification{Method: "item/reasoning/summaryTextDelta", Params: payload, Raw: params}, nil
},
"item/reasoning/textDelta": func(params json.RawMessage) (Notification, error) {
var payload ReasoningTextDeltaNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "item/reasoning/textDelta", Raw: params}, err
}
}
return Notification{Method: "item/reasoning/textDelta", Params: payload, Raw: params}, nil
},
"item/started": func(params json.RawMessage) (Notification, error) {
var payload ItemStartedNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "item/started", Raw: params}, err
}
}
return Notification{Method: "item/started", Params: payload, Raw: params}, nil
},
"mcpServer/oauthLogin/completed": func(params json.RawMessage) (Notification, error) {
var payload McpServerOauthLoginCompletedNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "mcpServer/oauthLogin/completed", Raw: params}, err
}
}
return Notification{Method: "mcpServer/oauthLogin/completed", Params: payload, Raw: params}, nil
},
"mcpServer/startupStatus/updated": func(params json.RawMessage) (Notification, error) {
var payload McpServerStatusUpdatedNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "mcpServer/startupStatus/updated", Raw: params}, err
}
}
return Notification{Method: "mcpServer/startupStatus/updated", Params: payload, Raw: params}, nil
},
"model/rerouted": func(params json.RawMessage) (Notification, error) {
var payload ModelReroutedNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "model/rerouted", Raw: params}, err
}
}
return Notification{Method: "model/rerouted", Params: payload, Raw: params}, nil
},
"model/safetyBuffering/updated": func(params json.RawMessage) (Notification, error) {
var payload ModelSafetyBufferingUpdatedNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "model/safetyBuffering/updated", Raw: params}, err
}
}
return Notification{Method: "model/safetyBuffering/updated", Params: payload, Raw: params}, nil
},
"model/verification": func(params json.RawMessage) (Notification, error) {
var payload ModelVerificationNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "model/verification", Raw: params}, err
}
}
return Notification{Method: "model/verification", Params: payload, Raw: params}, nil
},
"process/exited": func(params json.RawMessage) (Notification, error) {
var payload ProcessExitedNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "process/exited", Raw: params}, err
}
}
return Notification{Method: "process/exited", Params: payload, Raw: params}, nil
},
"process/outputDelta": func(params json.RawMessage) (Notification, error) {
var payload ProcessOutputDeltaNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "process/outputDelta", Raw: params}, err
}
}
return Notification{Method: "process/outputDelta", Params: payload, Raw: params}, nil
},
"remoteControl/status/changed": func(params json.RawMessage) (Notification, error) {
var payload RemoteControlStatusChangedNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "remoteControl/status/changed", Raw: params}, err
}
}
return Notification{Method: "remoteControl/status/changed", Params: payload, Raw: params}, nil
},
"serverRequest/resolved": func(params json.RawMessage) (Notification, error) {
var payload ServerRequestResolvedNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "serverRequest/resolved", Raw: params}, err
}
}
return Notification{Method: "serverRequest/resolved", Params: payload, Raw: params}, nil
},
"skills/changed": func(params json.RawMessage) (Notification, error) {
var payload SkillsChangedNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "skills/changed", Raw: params}, err
}
}
return Notification{Method: "skills/changed", Params: payload, Raw: params}, nil
},
"thread/archived": func(params json.RawMessage) (Notification, error) {
var payload ThreadArchivedNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "thread/archived", Raw: params}, err
}
}
return Notification{Method: "thread/archived", Params: payload, Raw: params}, nil
},
"thread/closed": func(params json.RawMessage) (Notification, error) {
var payload ThreadClosedNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "thread/closed", Raw: params}, err
}
}
return Notification{Method: "thread/closed", Params: payload, Raw: params}, nil
},
"thread/compacted": func(params json.RawMessage) (Notification, error) {
var payload ContextCompactedNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "thread/compacted", Raw: params}, err
}
}
return Notification{Method: "thread/compacted", Params: payload, Raw: params}, nil
},
"thread/deleted": func(params json.RawMessage) (Notification, error) {
var payload ThreadDeletedNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "thread/deleted", Raw: params}, err
}
}
return Notification{Method: "thread/deleted", Params: payload, Raw: params}, nil
},
"thread/goal/cleared": func(params json.RawMessage) (Notification, error) {
var payload ThreadGoalClearedNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "thread/goal/cleared", Raw: params}, err
}
}
return Notification{Method: "thread/goal/cleared", Params: payload, Raw: params}, nil
},
"thread/goal/updated": func(params json.RawMessage) (Notification, error) {
var payload ThreadGoalUpdatedNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "thread/goal/updated", Raw: params}, err
}
}
return Notification{Method: "thread/goal/updated", Params: payload, Raw: params}, nil
},
"thread/name/updated": func(params json.RawMessage) (Notification, error) {
var payload ThreadNameUpdatedNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "thread/name/updated", Raw: params}, err
}
}
return Notification{Method: "thread/name/updated", Params: payload, Raw: params}, nil
},
"thread/realtime/closed": func(params json.RawMessage) (Notification, error) {
var payload ThreadRealtimeClosedNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "thread/realtime/closed", Raw: params}, err
}
}
return Notification{Method: "thread/realtime/closed", Params: payload, Raw: params}, nil
},
"thread/realtime/error": func(params json.RawMessage) (Notification, error) {
var payload ThreadRealtimeErrorNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "thread/realtime/error", Raw: params}, err
}
}
return Notification{Method: "thread/realtime/error", Params: payload, Raw: params}, nil
},
"thread/realtime/itemAdded": func(params json.RawMessage) (Notification, error) {
var payload ThreadRealtimeItemAddedNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "thread/realtime/itemAdded", Raw: params}, err
}
}
return Notification{Method: "thread/realtime/itemAdded", Params: payload, Raw: params}, nil
},
"thread/realtime/outputAudio/delta": func(params json.RawMessage) (Notification, error) {
var payload ThreadRealtimeOutputAudioDeltaNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "thread/realtime/outputAudio/delta", Raw: params}, err
}
}
return Notification{Method: "thread/realtime/outputAudio/delta", Params: payload, Raw: params}, nil
},
"thread/realtime/sdp": func(params json.RawMessage) (Notification, error) {
var payload ThreadRealtimeSdpNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "thread/realtime/sdp", Raw: params}, err
}
}
return Notification{Method: "thread/realtime/sdp", Params: payload, Raw: params}, nil
},
"thread/realtime/started": func(params json.RawMessage) (Notification, error) {
var payload ThreadRealtimeStartedNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "thread/realtime/started", Raw: params}, err
}
}
return Notification{Method: "thread/realtime/started", Params: payload, Raw: params}, nil
},
"thread/realtime/transcript/delta": func(params json.RawMessage) (Notification, error) {
var payload ThreadRealtimeTranscriptDeltaNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "thread/realtime/transcript/delta", Raw: params}, err
}
}
return Notification{Method: "thread/realtime/transcript/delta", Params: payload, Raw: params}, nil
},
"thread/realtime/transcript/done": func(params json.RawMessage) (Notification, error) {
var payload ThreadRealtimeTranscriptDoneNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "thread/realtime/transcript/done", Raw: params}, err
}
}
return Notification{Method: "thread/realtime/transcript/done", Params: payload, Raw: params}, nil
},
"thread/settings/updated": func(params json.RawMessage) (Notification, error) {
var payload ThreadSettingsUpdatedNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "thread/settings/updated", Raw: params}, err
}
}
return Notification{Method: "thread/settings/updated", Params: payload, Raw: params}, nil
},
"thread/started": func(params json.RawMessage) (Notification, error) {
var payload ThreadStartedNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "thread/started", Raw: params}, err
}
}
return Notification{Method: "thread/started", Params: payload, Raw: params}, nil
},
"thread/status/changed": func(params json.RawMessage) (Notification, error) {
var payload ThreadStatusChangedNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "thread/status/changed", Raw: params}, err
}
}
return Notification{Method: "thread/status/changed", Params: payload, Raw: params}, nil
},
"thread/tokenUsage/updated": func(params json.RawMessage) (Notification, error) {
var payload ThreadTokenUsageUpdatedNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "thread/tokenUsage/updated", Raw: params}, err
}
}
return Notification{Method: "thread/tokenUsage/updated", Params: payload, Raw: params}, nil
},
"thread/unarchived": func(params json.RawMessage) (Notification, error) {
var payload ThreadUnarchivedNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "thread/unarchived", Raw: params}, err
}
}
return Notification{Method: "thread/unarchived", Params: payload, Raw: params}, nil
},
"turn/completed": func(params json.RawMessage) (Notification, error) {
var payload TurnCompletedNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "turn/completed", Raw: params}, err
}
}
return Notification{Method: "turn/completed", Params: payload, Raw: params}, nil
},
"turn/diff/updated": func(params json.RawMessage) (Notification, error) {
var payload TurnDiffUpdatedNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "turn/diff/updated", Raw: params}, err
}
}
return Notification{Method: "turn/diff/updated", Params: payload, Raw: params}, nil
},
"turn/moderationMetadata": func(params json.RawMessage) (Notification, error) {
var payload TurnModerationMetadataNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "turn/moderationMetadata", Raw: params}, err
}
}
return Notification{Method: "turn/moderationMetadata", Params: payload, Raw: params}, nil
},
"turn/plan/updated": func(params json.RawMessage) (Notification, error) {
var payload TurnPlanUpdatedNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "turn/plan/updated", Raw: params}, err
}
}
return Notification{Method: "turn/plan/updated", Params: payload, Raw: params}, nil
},
"turn/started": func(params json.RawMessage) (Notification, error) {
var payload TurnStartedNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "turn/started", Raw: params}, err
}
}
return Notification{Method: "turn/started", Params: payload, Raw: params}, nil
},
"warning": func(params json.RawMessage) (Notification, error) {
var payload WarningNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "warning", Raw: params}, err
}
}
return Notification{Method: "warning", Params: payload, Raw: params}, nil
},
"windows/worldWritableWarning": func(params json.RawMessage) (Notification, error) {
var payload WindowsWorldWritableWarningNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "windows/worldWritableWarning", Raw: params}, err
}
}
return Notification{Method: "windows/worldWritableWarning", Params: payload, Raw: params}, nil
},
"windowsSandbox/setupCompleted": func(params json.RawMessage) (Notification, error) {
var payload WindowsSandboxSetupCompletedNotification
if len(params) > 0 {
if err := json.Unmarshal(params, &payload); err != nil {
return Notification{Method: "windowsSandbox/setupCompleted", Raw: params}, err
}
}
return Notification{Method: "windowsSandbox/setupCompleted", Params: payload, Raw: params}, nil
},
}
// ParseServerNotification parses a server notification by method.
func ParseServerNotification(method string, params json.RawMessage) (Notification, error) {
if handler, ok := notificationParsers[method]; ok {
return handler(params)
}
return Notification{Method: method, Raw: params}, nil
}
// IsKnownServerNotificationMethod reports whether method is in the generated server notification surface.
func IsKnownServerNotificationMethod(method string) bool {
_, ok := notificationParsers[method]
return ok
}