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

1040 lines
40 KiB
Go

// Code generated by tools/scripts/generate-event-protocol.mjs. DO NOT EDIT.
package generated
import "encoding/json"
const (
BusinessEventProtocolVersion = 1
BusinessEventCatalogRevision = "sha256:62c8f436b88b9e02"
)
type Topic string
const (
TopicAccountUserpresenceUpdated Topic = "account.userpresence.updated"
TopicAgentActivityUpdated Topic = "agent.activity.updated"
TopicAgentAutomationRulesChanged Topic = "agent.automation.rules.changed"
TopicAgentCollaborationUpdated Topic = "agent.collaboration.updated"
TopicAgentModelCatalogInvalidated Topic = "agent.model.catalog.invalidated"
TopicAgentModelConfigurationChanged Topic = "agent.model.configuration.changed"
TopicAgentQuickpromptUpdated Topic = "agent.quickprompt.updated"
TopicAgentSideUpdated Topic = "agent.side.updated"
TopicAnalyticsDebugReported Topic = "analytics.debug.reported"
TopicConnectorMarketChanged Topic = "connector.market.changed"
TopicPreferencesAgentComposerDefaultsChanged Topic = "preferences.agent.composer.defaults.changed"
TopicPreferencesAgentComposerDefaultsPatchRequested Topic = "preferences.agent.composer.defaults.patch.requested"
TopicPreferencesAgentSessionLaunchModePatchRequested Topic = "preferences.agent.session.launch.mode.patch.requested"
TopicPreferencesDesktopUpdateRequested Topic = "preferences.desktop.update.requested"
TopicPreferencesDesktopUpdated Topic = "preferences.desktop.updated"
TopicUserProjectUpdated Topic = "user.project.updated"
TopicWorkspaceAppUpdated Topic = "workspace.app.updated"
TopicWorkspaceAppfactoryJobUpdated Topic = "workspace.appfactory.job.updated"
TopicWorkspaceIssueUpdated Topic = "workspace.issue.updated"
TopicWorkspaceTuttimodeUpdated Topic = "workspace.tuttimode.updated"
TopicWorkspaceWorkbenchNodeLaunchRequested Topic = "workspace.workbench.node.launch.requested"
TopicWorkspaceWorkflowUpdated Topic = "workspace.workflow.updated"
)
type Direction string
const (
DirectionClientToServer Direction = "client->server"
DirectionServerToClient Direction = "server->client"
)
type ScopeName string
const (
ScopeNameGlobal ScopeName = "global"
ScopeNameDesktop ScopeName = "desktop"
ScopeNameWorkspace ScopeName = "workspace"
)
type EventDefinition struct {
Topic Topic
Version int
Direction Direction
Owner string
Scope ScopeName
}
type EventScope struct {
WorkspaceID *string `json:"workspaceId,omitempty"`
}
type EventEnvelope struct {
ID string `json:"id"`
Topic Topic `json:"topic"`
Version int `json:"version"`
EmittedAt string `json:"emittedAt"`
Scope *EventScope `json:"scope,omitempty"`
Payload json.RawMessage `json:"payload"`
}
type PreferencesDesktopPreferences struct {
AgentCliUpdateCheckEnabled bool `json:"agentCliUpdateCheckEnabled"`
AgentComposerDefaultsByProvider struct {
ClaudeCode *struct {
Model *string `json:"model,omitempty"`
PermissionModeId *string `json:"permissionModeId,omitempty"`
ReasoningEffort *string `json:"reasoningEffort,omitempty"`
Speed *string `json:"speed,omitempty"`
} `json:"claude-code,omitempty"`
Codex *struct {
Model *string `json:"model,omitempty"`
PermissionModeId *string `json:"permissionModeId,omitempty"`
ReasoningEffort *string `json:"reasoningEffort,omitempty"`
Speed *string `json:"speed,omitempty"`
} `json:"codex,omitempty"`
TuttiAgent *struct {
Model *string `json:"model,omitempty"`
PermissionModeId *string `json:"permissionModeId,omitempty"`
ReasoningEffort *string `json:"reasoningEffort,omitempty"`
Speed *string `json:"speed,omitempty"`
} `json:"tutti-agent,omitempty"`
Cursor *struct {
Model *string `json:"model,omitempty"`
PermissionModeId *string `json:"permissionModeId,omitempty"`
ReasoningEffort *string `json:"reasoningEffort,omitempty"`
Speed *string `json:"speed,omitempty"`
} `json:"cursor,omitempty"`
Nexight *struct {
Model *string `json:"model,omitempty"`
PermissionModeId *string `json:"permissionModeId,omitempty"`
ReasoningEffort *string `json:"reasoningEffort,omitempty"`
Speed *string `json:"speed,omitempty"`
} `json:"nexight,omitempty"`
Openclaw *struct {
Model *string `json:"model,omitempty"`
PermissionModeId *string `json:"permissionModeId,omitempty"`
ReasoningEffort *string `json:"reasoningEffort,omitempty"`
Speed *string `json:"speed,omitempty"`
} `json:"openclaw,omitempty"`
Opencode *struct {
Model *string `json:"model,omitempty"`
PermissionModeId *string `json:"permissionModeId,omitempty"`
ReasoningEffort *string `json:"reasoningEffort,omitempty"`
Speed *string `json:"speed,omitempty"`
} `json:"opencode,omitempty"`
} `json:"agentComposerDefaultsByProvider"`
AgentComposerDefaultsByAgentTarget *map[string]struct {
Model *string `json:"model,omitempty"`
PermissionModeId *string `json:"permissionModeId,omitempty"`
ReasoningEffort *string `json:"reasoningEffort,omitempty"`
Speed *string `json:"speed,omitempty"`
} `json:"agentComposerDefaultsByAgentTarget,omitempty"`
AgentGuiConversationRailCollapsedByProvider struct {
ClaudeCode *bool `json:"claude-code,omitempty"`
Codex *bool `json:"codex,omitempty"`
TuttiAgent *bool `json:"tutti-agent,omitempty"`
Cursor *bool `json:"cursor,omitempty"`
Nexight *bool `json:"nexight,omitempty"`
Openclaw *bool `json:"openclaw,omitempty"`
Opencode *bool `json:"opencode,omitempty"`
} `json:"agentGuiConversationRailCollapsedByProvider"`
AgentSessionLaunchModesByWorkspace *map[string]map[string]string `json:"agentSessionLaunchModesByWorkspace,omitempty"`
AgentConversationDetailMode string `json:"agentConversationDetailMode"`
AgentDockLayout string `json:"agentDockLayout"`
AppCatalogChannel string `json:"appCatalogChannel"`
BrowserUseConnectionMode *string `json:"browserUseConnectionMode,omitempty"`
DefaultAgentProvider string `json:"defaultAgentProvider"`
DockIconStyle string `json:"dockIconStyle"`
DockPlacement string `json:"dockPlacement"`
DeletedAgentConversationRetentionDays int `json:"deletedAgentConversationRetentionDays"`
FileDefaultOpenersByExtension map[string]string `json:"fileDefaultOpenersByExtension"`
FeatureFlags map[string]bool `json:"featureFlags"`
WorkbenchShortcuts struct {
NewAgentConversation *string `json:"newAgentConversation"`
NewSameTypeWindow *string `json:"newSameTypeWindow"`
CaptureScreenshot *string `json:"captureScreenshot,omitempty"`
} `json:"workbenchShortcuts"`
Locale string `json:"locale"`
MinimizeAnimation string `json:"minimizeAnimation"`
SleepPreventionMode string `json:"sleepPreventionMode"`
ShowAppDeveloperSources bool `json:"showAppDeveloperSources"`
ThemeSource string `json:"themeSource"`
UpdateChannel string `json:"updateChannel"`
UpdatePolicy string `json:"updatePolicy"`
WorkbenchWindowSnapping *struct {
Enabled bool `json:"enabled"`
ShortcutPreset string `json:"shortcutPreset"`
} `json:"workbenchWindowSnapping,omitempty"`
}
type UserUserProject struct {
Id string `json:"id"`
Path string `json:"path"`
Label string `json:"label"`
SectionKey string `json:"sectionKey"`
CreatedAtUnixMs int64 `json:"createdAtUnixMs"`
UpdatedAtUnixMs int64 `json:"updatedAtUnixMs"`
LastUsedAtUnixMs int64 `json:"lastUsedAtUnixMs"`
PinnedAtUnixMs int64 `json:"pinnedAtUnixMs"`
}
type WorkspaceWorkspaceAppFactoryJob struct {
JobId string `json:"jobId"`
WorkspaceId string `json:"workspaceId"`
Status string `json:"status"`
Prompt string `json:"prompt"`
AppId *string `json:"appId"`
DisplayName string `json:"displayName"`
Description *string `json:"description"`
AgentTargetId *string `json:"agentTargetId"`
Provider *string `json:"provider"`
Model *string `json:"model"`
ReasoningEffort *string `json:"reasoningEffort"`
AgentSessionId *string `json:"agentSessionId"`
ValidationResult *map[string]any `json:"validationResult"`
FailureReason *string `json:"failureReason"`
PublishedVersion *string `json:"publishedVersion"`
CreatedAtUnixMs int64 `json:"createdAtUnixMs"`
UpdatedAtUnixMs int64 `json:"updatedAtUnixMs"`
}
type WorkspaceWorkspaceApp struct {
AppId string `json:"appId"`
DisplayName string `json:"displayName"`
Version string `json:"version"`
Description string `json:"description"`
Authors []struct {
Name string `json:"name"`
Url *string `json:"url,omitempty"`
AvatarUrl *string `json:"avatarUrl,omitempty"`
} `json:"authors"`
Repository *struct {
Type string `json:"type"`
Url string `json:"url"`
} `json:"repository"`
IconUrl *string `json:"iconUrl"`
Installed bool `json:"installed"`
Enabled bool `json:"enabled"`
Status string `json:"status"`
StateRevision int64 `json:"stateRevision"`
LaunchUrl *string `json:"launchUrl"`
Port *int `json:"port"`
FailureReason *string `json:"failureReason"`
FailurePhase *string `json:"failurePhase,omitempty"`
LastError *string `json:"lastError"`
StartedAtUnixMs *int64 `json:"startedAtUnixMs"`
UpdatedAtUnixMs *int64 `json:"updatedAtUnixMs"`
Source string `json:"source"`
Exportable bool `json:"exportable"`
Tags []string `json:"tags"`
Localizations []struct {
Locale string `json:"locale"`
DisplayName *string `json:"displayName"`
Description *string `json:"description"`
Tags []string `json:"tags"`
} `json:"localizations"`
MinimizeBehavior string `json:"minimizeBehavior"`
WindowMinWidth *int `json:"windowMinWidth"`
WindowMinHeight *int `json:"windowMinHeight"`
References struct {
ListSupported bool `json:"listSupported"`
SearchSupported bool `json:"searchSupported"`
} `json:"references"`
InstallProgress *struct {
UserPhase string `json:"userPhase"`
OverallPercent float64 `json:"overallPercent"`
DownloadedBytes *int64 `json:"downloadedBytes"`
TotalBytes *int64 `json:"totalBytes"`
Indeterminate bool `json:"indeterminate"`
} `json:"installProgress,omitempty"`
}
type AccountUserpresenceUpdatedPayload struct {
UserId string `json:"userId"`
Status string `json:"status"`
Availability string `json:"availability"`
Authoritative bool `json:"authoritative"`
AuthorityGeneration string `json:"authorityGeneration"`
PresenceRevision string `json:"presenceRevision"`
ObservedAt *string `json:"observedAt,omitempty"`
}
type AgentActivityUpdatedPayload struct {
WorkspaceId string `json:"workspaceId"`
AgentSessionId string `json:"agentSessionId"`
AgentTargetId *string `json:"agentTargetId,omitempty"`
EventType string `json:"eventType"`
Data any `json:"data"`
}
type AgentAutomationRulesChangedPayload struct {
WorkspaceId string `json:"workspaceId"`
OccurredAtUnixMs int `json:"occurredAtUnixMs"`
}
type AgentCollaborationUpdatedPayload struct {
WorkspaceId string `json:"workspaceId"`
RunId string `json:"runId"`
Mode string `json:"mode"`
Status string `json:"status"`
SourceSessionId *string `json:"sourceSessionId,omitempty"`
TargetSessionId *string `json:"targetSessionId,omitempty"`
ModelPlanId *string `json:"modelPlanId,omitempty"`
Model *string `json:"model,omitempty"`
TriggerSource string `json:"triggerSource"`
Adoption *string `json:"adoption,omitempty"`
OccurredAtUnixMs int `json:"occurredAtUnixMs"`
}
type AgentModelCatalogInvalidatedPayload struct {
Providers []string `json:"providers"`
OccurredAtUnixMs int `json:"occurredAtUnixMs"`
}
type AgentModelConfigurationChangedPayload struct {
WorkspaceId string `json:"workspaceId"`
AgentTargetIds []string `json:"agentTargetIds"`
DefaultModels map[string]string `json:"defaultModels"`
ResetComposerModel bool `json:"resetComposerModel"`
OccurredAtUnixMs int `json:"occurredAtUnixMs"`
}
type AgentQuickpromptUpdatedPayload struct {
PromptId string `json:"promptId"`
ChangeKind string `json:"changeKind"`
Version int `json:"version"`
OccurredAtUnixMs int `json:"occurredAtUnixMs"`
}
type AgentSideUpdatedPayload struct {
WorkspaceId string `json:"workspaceId"`
SideAgentSessionId string `json:"sideAgentSessionId"`
SourceAgentSessionId string `json:"sourceAgentSessionId"`
Sequence int `json:"sequence"`
EventType any `json:"eventType"`
Data map[string]any `json:"data"`
}
type AnalyticsDebugReportedPayload struct {
Events []struct {
Name string `json:"name"`
ClientTs int `json:"clientTs"`
Params map[string]any `json:"params"`
} `json:"events"`
}
type ConnectorMarketChangedPayload struct {
ConnectorKey *string `json:"connectorKey,omitempty"`
OperationId *string `json:"operationId,omitempty"`
Revision int `json:"revision"`
Cursor *int `json:"cursor,omitempty"`
}
type PreferencesAgentComposerDefaultsChangedPayload struct {
AgentTargetId string `json:"agentTargetId"`
}
type PreferencesAgentComposerDefaultsPatchRequestedPayload struct {
AgentTargetId string `json:"agentTargetId"`
Patch struct {
CodexSaverMode *bool `json:"codexSaverMode,omitempty"`
RtkSaverMode *bool `json:"rtkSaverMode,omitempty"`
Model *string `json:"model,omitempty"`
PermissionModeId *string `json:"permissionModeId,omitempty"`
ReasoningEffort *string `json:"reasoningEffort,omitempty"`
Speed *string `json:"speed,omitempty"`
} `json:"patch"`
ClientMutationId *string `json:"clientMutationId,omitempty"`
}
type PreferencesAgentSessionLaunchModePatchRequestedPayload struct {
WorkspaceId string `json:"workspaceId"`
ProjectSectionKey string `json:"projectSectionKey"`
Mode string `json:"mode"`
}
type PreferencesDesktopUpdateRequestedPayload struct {
Preferences PreferencesDesktopPreferences `json:"preferences"`
}
type PreferencesDesktopUpdatedPayload struct {
Initialized bool `json:"initialized"`
Preferences PreferencesDesktopPreferences `json:"preferences"`
}
type UserProjectUpdatedPayload struct {
Projects []UserUserProject `json:"projects"`
}
type WorkspaceAppUpdatedPayload struct {
App WorkspaceWorkspaceApp `json:"app"`
}
type WorkspaceAppfactoryJobUpdatedPayload struct {
Job WorkspaceWorkspaceAppFactoryJob `json:"job"`
}
type WorkspaceIssueUpdatedPayload struct {
WorkspaceId string `json:"workspaceId"`
IssueId string `json:"issueId"`
TaskId *string `json:"taskId,omitempty"`
RunId *string `json:"runId,omitempty"`
ChangeKind string `json:"changeKind"`
}
type WorkspaceTuttimodeUpdatedPayload struct {
AgentSessionId string `json:"agentSessionId"`
ActivationId string `json:"activationId"`
Revision int `json:"revision"`
Status string `json:"status"`
ChangeKind string `json:"changeKind"`
}
type WorkspaceWorkbenchNodeLaunchRequestedPayload struct {
WorkspaceId string `json:"workspaceId"`
TypeId string `json:"typeId"`
Source string `json:"source"`
LaunchSource *string `json:"launchSource,omitempty"`
DockEntryId *string `json:"dockEntryId,omitempty"`
RequestId *string `json:"requestId,omitempty"`
Payload any `json:"payload,omitempty"`
}
type WorkspaceWorkflowUpdatedPayload struct {
WorkflowId string `json:"workflowId"`
SourceSessionId string `json:"sourceSessionId"`
CheckpointId string `json:"checkpointId"`
ChangeKind string `json:"changeKind"`
}
type AccountUserpresenceUpdatedEvent struct {
ID string `json:"id"`
Topic Topic `json:"topic"`
Version int `json:"version"`
EmittedAt string `json:"emittedAt"`
Scope *EventScope `json:"scope,omitempty"`
Payload AccountUserpresenceUpdatedPayload `json:"payload"`
}
type AgentActivityUpdatedEvent struct {
ID string `json:"id"`
Topic Topic `json:"topic"`
Version int `json:"version"`
EmittedAt string `json:"emittedAt"`
Scope *EventScope `json:"scope,omitempty"`
Payload AgentActivityUpdatedPayload `json:"payload"`
}
type AgentAutomationRulesChangedEvent struct {
ID string `json:"id"`
Topic Topic `json:"topic"`
Version int `json:"version"`
EmittedAt string `json:"emittedAt"`
Scope *EventScope `json:"scope,omitempty"`
Payload AgentAutomationRulesChangedPayload `json:"payload"`
}
type AgentCollaborationUpdatedEvent struct {
ID string `json:"id"`
Topic Topic `json:"topic"`
Version int `json:"version"`
EmittedAt string `json:"emittedAt"`
Scope *EventScope `json:"scope,omitempty"`
Payload AgentCollaborationUpdatedPayload `json:"payload"`
}
type AgentModelCatalogInvalidatedEvent struct {
ID string `json:"id"`
Topic Topic `json:"topic"`
Version int `json:"version"`
EmittedAt string `json:"emittedAt"`
Scope *EventScope `json:"scope,omitempty"`
Payload AgentModelCatalogInvalidatedPayload `json:"payload"`
}
type AgentModelConfigurationChangedEvent struct {
ID string `json:"id"`
Topic Topic `json:"topic"`
Version int `json:"version"`
EmittedAt string `json:"emittedAt"`
Scope *EventScope `json:"scope,omitempty"`
Payload AgentModelConfigurationChangedPayload `json:"payload"`
}
type AgentQuickpromptUpdatedEvent struct {
ID string `json:"id"`
Topic Topic `json:"topic"`
Version int `json:"version"`
EmittedAt string `json:"emittedAt"`
Scope *EventScope `json:"scope,omitempty"`
Payload AgentQuickpromptUpdatedPayload `json:"payload"`
}
type AgentSideUpdatedEvent struct {
ID string `json:"id"`
Topic Topic `json:"topic"`
Version int `json:"version"`
EmittedAt string `json:"emittedAt"`
Scope *EventScope `json:"scope,omitempty"`
Payload AgentSideUpdatedPayload `json:"payload"`
}
type AnalyticsDebugReportedEvent struct {
ID string `json:"id"`
Topic Topic `json:"topic"`
Version int `json:"version"`
EmittedAt string `json:"emittedAt"`
Scope *EventScope `json:"scope,omitempty"`
Payload AnalyticsDebugReportedPayload `json:"payload"`
}
type ConnectorMarketChangedEvent struct {
ID string `json:"id"`
Topic Topic `json:"topic"`
Version int `json:"version"`
EmittedAt string `json:"emittedAt"`
Scope *EventScope `json:"scope,omitempty"`
Payload ConnectorMarketChangedPayload `json:"payload"`
}
type PreferencesAgentComposerDefaultsChangedEvent struct {
ID string `json:"id"`
Topic Topic `json:"topic"`
Version int `json:"version"`
EmittedAt string `json:"emittedAt"`
Scope *EventScope `json:"scope,omitempty"`
Payload PreferencesAgentComposerDefaultsChangedPayload `json:"payload"`
}
type PreferencesAgentComposerDefaultsPatchRequestedEvent struct {
ID string `json:"id"`
Topic Topic `json:"topic"`
Version int `json:"version"`
EmittedAt string `json:"emittedAt"`
Scope *EventScope `json:"scope,omitempty"`
Payload PreferencesAgentComposerDefaultsPatchRequestedPayload `json:"payload"`
}
type PreferencesAgentSessionLaunchModePatchRequestedEvent struct {
ID string `json:"id"`
Topic Topic `json:"topic"`
Version int `json:"version"`
EmittedAt string `json:"emittedAt"`
Scope *EventScope `json:"scope,omitempty"`
Payload PreferencesAgentSessionLaunchModePatchRequestedPayload `json:"payload"`
}
type PreferencesDesktopUpdateRequestedEvent struct {
ID string `json:"id"`
Topic Topic `json:"topic"`
Version int `json:"version"`
EmittedAt string `json:"emittedAt"`
Scope *EventScope `json:"scope,omitempty"`
Payload PreferencesDesktopUpdateRequestedPayload `json:"payload"`
}
type PreferencesDesktopUpdatedEvent struct {
ID string `json:"id"`
Topic Topic `json:"topic"`
Version int `json:"version"`
EmittedAt string `json:"emittedAt"`
Scope *EventScope `json:"scope,omitempty"`
Payload PreferencesDesktopUpdatedPayload `json:"payload"`
}
type UserProjectUpdatedEvent struct {
ID string `json:"id"`
Topic Topic `json:"topic"`
Version int `json:"version"`
EmittedAt string `json:"emittedAt"`
Scope *EventScope `json:"scope,omitempty"`
Payload UserProjectUpdatedPayload `json:"payload"`
}
type WorkspaceAppUpdatedEvent struct {
ID string `json:"id"`
Topic Topic `json:"topic"`
Version int `json:"version"`
EmittedAt string `json:"emittedAt"`
Scope *EventScope `json:"scope,omitempty"`
Payload WorkspaceAppUpdatedPayload `json:"payload"`
}
type WorkspaceAppfactoryJobUpdatedEvent struct {
ID string `json:"id"`
Topic Topic `json:"topic"`
Version int `json:"version"`
EmittedAt string `json:"emittedAt"`
Scope *EventScope `json:"scope,omitempty"`
Payload WorkspaceAppfactoryJobUpdatedPayload `json:"payload"`
}
type WorkspaceIssueUpdatedEvent struct {
ID string `json:"id"`
Topic Topic `json:"topic"`
Version int `json:"version"`
EmittedAt string `json:"emittedAt"`
Scope *EventScope `json:"scope,omitempty"`
Payload WorkspaceIssueUpdatedPayload `json:"payload"`
}
type WorkspaceTuttimodeUpdatedEvent struct {
ID string `json:"id"`
Topic Topic `json:"topic"`
Version int `json:"version"`
EmittedAt string `json:"emittedAt"`
Scope *EventScope `json:"scope,omitempty"`
Payload WorkspaceTuttimodeUpdatedPayload `json:"payload"`
}
type WorkspaceWorkbenchNodeLaunchRequestedEvent struct {
ID string `json:"id"`
Topic Topic `json:"topic"`
Version int `json:"version"`
EmittedAt string `json:"emittedAt"`
Scope *EventScope `json:"scope,omitempty"`
Payload WorkspaceWorkbenchNodeLaunchRequestedPayload `json:"payload"`
}
type WorkspaceWorkflowUpdatedEvent struct {
ID string `json:"id"`
Topic Topic `json:"topic"`
Version int `json:"version"`
EmittedAt string `json:"emittedAt"`
Scope *EventScope `json:"scope,omitempty"`
Payload WorkspaceWorkflowUpdatedPayload `json:"payload"`
}
type ClientSubscribeFrame struct {
Kind string `json:"kind"`
RequestID string `json:"requestId"`
Topics []Topic `json:"topics"`
Scope *EventScope `json:"scope,omitempty"`
}
type ClientUnsubscribeFrame struct {
Kind string `json:"kind"`
RequestID string `json:"requestId"`
Topics []Topic `json:"topics"`
Scope *EventScope `json:"scope,omitempty"`
}
type ClientPublishFrame struct {
Kind string `json:"kind"`
RequestID string `json:"requestId"`
Event EventEnvelope `json:"event"`
}
type ClientPingFrame struct {
Kind string `json:"kind"`
RequestID string `json:"requestId"`
SentAt string `json:"sentAt"`
}
type ServerReadyFrame struct {
Kind string `json:"kind"`
ProtocolVersion int `json:"protocolVersion"`
CatalogRevision string `json:"catalogRevision"`
ServerTime string `json:"serverTime"`
}
type ServerAckFrame struct {
Kind string `json:"kind"`
RequestID string `json:"requestId"`
AcceptedAt string `json:"acceptedAt"`
}
type ServerEventFrame struct {
Kind string `json:"kind"`
Event EventEnvelope `json:"event"`
}
type ServerErrorFrame struct {
Kind string `json:"kind"`
RequestID *string `json:"requestId,omitempty"`
Code string `json:"code"`
Message string `json:"message"`
Retryable *bool `json:"retryable,omitempty"`
}
type ServerPongFrame struct {
Kind string `json:"kind"`
RequestID string `json:"requestId"`
SentAt string `json:"sentAt"`
}
var BusinessEventDefinitions = []EventDefinition{
{
Topic: TopicAccountUserpresenceUpdated,
Version: 1,
Direction: DirectionServerToClient,
Owner: "core",
Scope: ScopeNameGlobal,
},
{
Topic: TopicAgentActivityUpdated,
Version: 2,
Direction: DirectionServerToClient,
Owner: "agent",
Scope: ScopeNameWorkspace,
},
{
Topic: TopicAgentAutomationRulesChanged,
Version: 1,
Direction: DirectionServerToClient,
Owner: "agent",
Scope: ScopeNameWorkspace,
},
{
Topic: TopicAgentCollaborationUpdated,
Version: 1,
Direction: DirectionServerToClient,
Owner: "agent",
Scope: ScopeNameWorkspace,
},
{
Topic: TopicAgentModelCatalogInvalidated,
Version: 1,
Direction: DirectionServerToClient,
Owner: "agent",
Scope: ScopeNameGlobal,
},
{
Topic: TopicAgentModelConfigurationChanged,
Version: 1,
Direction: DirectionServerToClient,
Owner: "agent",
Scope: ScopeNameWorkspace,
},
{
Topic: TopicAgentQuickpromptUpdated,
Version: 1,
Direction: DirectionServerToClient,
Owner: "core",
Scope: ScopeNameGlobal,
},
{
Topic: TopicAgentSideUpdated,
Version: 1,
Direction: DirectionServerToClient,
Owner: "agent",
Scope: ScopeNameWorkspace,
},
{
Topic: TopicAnalyticsDebugReported,
Version: 1,
Direction: DirectionServerToClient,
Owner: "desktop",
Scope: ScopeNameDesktop,
},
{
Topic: TopicConnectorMarketChanged,
Version: 1,
Direction: DirectionServerToClient,
Owner: "core",
Scope: ScopeNameGlobal,
},
{
Topic: TopicPreferencesAgentComposerDefaultsChanged,
Version: 1,
Direction: DirectionServerToClient,
Owner: "core",
Scope: ScopeNameDesktop,
},
{
Topic: TopicPreferencesAgentComposerDefaultsPatchRequested,
Version: 1,
Direction: DirectionClientToServer,
Owner: "core",
Scope: ScopeNameDesktop,
},
{
Topic: TopicPreferencesAgentSessionLaunchModePatchRequested,
Version: 1,
Direction: DirectionClientToServer,
Owner: "core",
Scope: ScopeNameDesktop,
},
{
Topic: TopicPreferencesDesktopUpdateRequested,
Version: 1,
Direction: DirectionClientToServer,
Owner: "core",
Scope: ScopeNameDesktop,
},
{
Topic: TopicPreferencesDesktopUpdated,
Version: 1,
Direction: DirectionServerToClient,
Owner: "core",
Scope: ScopeNameDesktop,
},
{
Topic: TopicUserProjectUpdated,
Version: 2,
Direction: DirectionServerToClient,
Owner: "core",
Scope: ScopeNameGlobal,
},
{
Topic: TopicWorkspaceAppUpdated,
Version: 1,
Direction: DirectionServerToClient,
Owner: "core",
Scope: ScopeNameWorkspace,
},
{
Topic: TopicWorkspaceAppfactoryJobUpdated,
Version: 1,
Direction: DirectionServerToClient,
Owner: "core",
Scope: ScopeNameWorkspace,
},
{
Topic: TopicWorkspaceIssueUpdated,
Version: 1,
Direction: DirectionServerToClient,
Owner: "workspace",
Scope: ScopeNameWorkspace,
},
{
Topic: TopicWorkspaceTuttimodeUpdated,
Version: 1,
Direction: DirectionServerToClient,
Owner: "workspace",
Scope: ScopeNameWorkspace,
},
{
Topic: TopicWorkspaceWorkbenchNodeLaunchRequested,
Version: 1,
Direction: DirectionServerToClient,
Owner: "core",
Scope: ScopeNameWorkspace,
},
{
Topic: TopicWorkspaceWorkflowUpdated,
Version: 1,
Direction: DirectionServerToClient,
Owner: "workspace",
Scope: ScopeNameWorkspace,
},
}
var businessEventDefinitionByTopic = map[Topic]EventDefinition{
TopicAccountUserpresenceUpdated: BusinessEventDefinitions[0],
TopicAgentActivityUpdated: BusinessEventDefinitions[1],
TopicAgentAutomationRulesChanged: BusinessEventDefinitions[2],
TopicAgentCollaborationUpdated: BusinessEventDefinitions[3],
TopicAgentModelCatalogInvalidated: BusinessEventDefinitions[4],
TopicAgentModelConfigurationChanged: BusinessEventDefinitions[5],
TopicAgentQuickpromptUpdated: BusinessEventDefinitions[6],
TopicAgentSideUpdated: BusinessEventDefinitions[7],
TopicAnalyticsDebugReported: BusinessEventDefinitions[8],
TopicConnectorMarketChanged: BusinessEventDefinitions[9],
TopicPreferencesAgentComposerDefaultsChanged: BusinessEventDefinitions[10],
TopicPreferencesAgentComposerDefaultsPatchRequested: BusinessEventDefinitions[11],
TopicPreferencesAgentSessionLaunchModePatchRequested: BusinessEventDefinitions[12],
TopicPreferencesDesktopUpdateRequested: BusinessEventDefinitions[13],
TopicPreferencesDesktopUpdated: BusinessEventDefinitions[14],
TopicUserProjectUpdated: BusinessEventDefinitions[15],
TopicWorkspaceAppUpdated: BusinessEventDefinitions[16],
TopicWorkspaceAppfactoryJobUpdated: BusinessEventDefinitions[17],
TopicWorkspaceIssueUpdated: BusinessEventDefinitions[18],
TopicWorkspaceTuttimodeUpdated: BusinessEventDefinitions[19],
TopicWorkspaceWorkbenchNodeLaunchRequested: BusinessEventDefinitions[20],
TopicWorkspaceWorkflowUpdated: BusinessEventDefinitions[21],
}
var ClientToServerTopics = []Topic{
TopicPreferencesAgentComposerDefaultsPatchRequested,
TopicPreferencesAgentSessionLaunchModePatchRequested,
TopicPreferencesDesktopUpdateRequested,
}
var ServerToClientTopics = []Topic{
TopicAccountUserpresenceUpdated,
TopicAgentActivityUpdated,
TopicAgentAutomationRulesChanged,
TopicAgentCollaborationUpdated,
TopicAgentModelCatalogInvalidated,
TopicAgentModelConfigurationChanged,
TopicAgentQuickpromptUpdated,
TopicAgentSideUpdated,
TopicAnalyticsDebugReported,
TopicConnectorMarketChanged,
TopicPreferencesAgentComposerDefaultsChanged,
TopicPreferencesDesktopUpdated,
TopicUserProjectUpdated,
TopicWorkspaceAppUpdated,
TopicWorkspaceAppfactoryJobUpdated,
TopicWorkspaceIssueUpdated,
TopicWorkspaceTuttimodeUpdated,
TopicWorkspaceWorkbenchNodeLaunchRequested,
TopicWorkspaceWorkflowUpdated,
}
func LookupEventDefinition(topic Topic) (EventDefinition, bool) {
definition, ok := businessEventDefinitionByTopic[topic]
return definition, ok
}
func IsKnownTopic(topic Topic) bool {
_, ok := businessEventDefinitionByTopic[topic]
return ok
}
func IsClientToServerTopic(topic Topic) bool {
switch topic {
case TopicPreferencesAgentComposerDefaultsPatchRequested:
return true
case TopicPreferencesAgentSessionLaunchModePatchRequested:
return true
case TopicPreferencesDesktopUpdateRequested:
return true
default:
return false
}
}
func IsServerToClientTopic(topic Topic) bool {
switch topic {
case TopicAccountUserpresenceUpdated:
return true
case TopicAgentActivityUpdated:
return true
case TopicAgentAutomationRulesChanged:
return true
case TopicAgentCollaborationUpdated:
return true
case TopicAgentModelCatalogInvalidated:
return true
case TopicAgentModelConfigurationChanged:
return true
case TopicAgentQuickpromptUpdated:
return true
case TopicAgentSideUpdated:
return true
case TopicAnalyticsDebugReported:
return true
case TopicConnectorMarketChanged:
return true
case TopicPreferencesAgentComposerDefaultsChanged:
return true
case TopicPreferencesDesktopUpdated:
return true
case TopicUserProjectUpdated:
return true
case TopicWorkspaceAppUpdated:
return true
case TopicWorkspaceAppfactoryJobUpdated:
return true
case TopicWorkspaceIssueUpdated:
return true
case TopicWorkspaceTuttimodeUpdated:
return true
case TopicWorkspaceWorkbenchNodeLaunchRequested:
return true
case TopicWorkspaceWorkflowUpdated:
return true
default:
return false
}
}
func PayloadPrototypeForTopic(topic Topic) (any, bool) {
switch topic {
case TopicAccountUserpresenceUpdated:
return &AccountUserpresenceUpdatedPayload{}, true
case TopicAgentActivityUpdated:
return &AgentActivityUpdatedPayload{}, true
case TopicAgentAutomationRulesChanged:
return &AgentAutomationRulesChangedPayload{}, true
case TopicAgentCollaborationUpdated:
return &AgentCollaborationUpdatedPayload{}, true
case TopicAgentModelCatalogInvalidated:
return &AgentModelCatalogInvalidatedPayload{}, true
case TopicAgentModelConfigurationChanged:
return &AgentModelConfigurationChangedPayload{}, true
case TopicAgentQuickpromptUpdated:
return &AgentQuickpromptUpdatedPayload{}, true
case TopicAgentSideUpdated:
return &AgentSideUpdatedPayload{}, true
case TopicAnalyticsDebugReported:
return &AnalyticsDebugReportedPayload{}, true
case TopicConnectorMarketChanged:
return &ConnectorMarketChangedPayload{}, true
case TopicPreferencesAgentComposerDefaultsChanged:
return &PreferencesAgentComposerDefaultsChangedPayload{}, true
case TopicPreferencesAgentComposerDefaultsPatchRequested:
return &PreferencesAgentComposerDefaultsPatchRequestedPayload{}, true
case TopicPreferencesAgentSessionLaunchModePatchRequested:
return &PreferencesAgentSessionLaunchModePatchRequestedPayload{}, true
case TopicPreferencesDesktopUpdateRequested:
return &PreferencesDesktopUpdateRequestedPayload{}, true
case TopicPreferencesDesktopUpdated:
return &PreferencesDesktopUpdatedPayload{}, true
case TopicUserProjectUpdated:
return &UserProjectUpdatedPayload{}, true
case TopicWorkspaceAppUpdated:
return &WorkspaceAppUpdatedPayload{}, true
case TopicWorkspaceAppfactoryJobUpdated:
return &WorkspaceAppfactoryJobUpdatedPayload{}, true
case TopicWorkspaceIssueUpdated:
return &WorkspaceIssueUpdatedPayload{}, true
case TopicWorkspaceTuttimodeUpdated:
return &WorkspaceTuttimodeUpdatedPayload{}, true
case TopicWorkspaceWorkbenchNodeLaunchRequested:
return &WorkspaceWorkbenchNodeLaunchRequestedPayload{}, true
case TopicWorkspaceWorkflowUpdated:
return &WorkspaceWorkflowUpdatedPayload{}, true
default:
return nil, false
}
}
func EventPrototypeForTopic(topic Topic) (any, bool) {
switch topic {
case TopicAccountUserpresenceUpdated:
return &AccountUserpresenceUpdatedEvent{}, true
case TopicAgentActivityUpdated:
return &AgentActivityUpdatedEvent{}, true
case TopicAgentAutomationRulesChanged:
return &AgentAutomationRulesChangedEvent{}, true
case TopicAgentCollaborationUpdated:
return &AgentCollaborationUpdatedEvent{}, true
case TopicAgentModelCatalogInvalidated:
return &AgentModelCatalogInvalidatedEvent{}, true
case TopicAgentModelConfigurationChanged:
return &AgentModelConfigurationChangedEvent{}, true
case TopicAgentQuickpromptUpdated:
return &AgentQuickpromptUpdatedEvent{}, true
case TopicAgentSideUpdated:
return &AgentSideUpdatedEvent{}, true
case TopicAnalyticsDebugReported:
return &AnalyticsDebugReportedEvent{}, true
case TopicConnectorMarketChanged:
return &ConnectorMarketChangedEvent{}, true
case TopicPreferencesAgentComposerDefaultsChanged:
return &PreferencesAgentComposerDefaultsChangedEvent{}, true
case TopicPreferencesAgentComposerDefaultsPatchRequested:
return &PreferencesAgentComposerDefaultsPatchRequestedEvent{}, true
case TopicPreferencesAgentSessionLaunchModePatchRequested:
return &PreferencesAgentSessionLaunchModePatchRequestedEvent{}, true
case TopicPreferencesDesktopUpdateRequested:
return &PreferencesDesktopUpdateRequestedEvent{}, true
case TopicPreferencesDesktopUpdated:
return &PreferencesDesktopUpdatedEvent{}, true
case TopicUserProjectUpdated:
return &UserProjectUpdatedEvent{}, true
case TopicWorkspaceAppUpdated:
return &WorkspaceAppUpdatedEvent{}, true
case TopicWorkspaceAppfactoryJobUpdated:
return &WorkspaceAppfactoryJobUpdatedEvent{}, true
case TopicWorkspaceIssueUpdated:
return &WorkspaceIssueUpdatedEvent{}, true
case TopicWorkspaceTuttimodeUpdated:
return &WorkspaceTuttimodeUpdatedEvent{}, true
case TopicWorkspaceWorkbenchNodeLaunchRequested:
return &WorkspaceWorkbenchNodeLaunchRequestedEvent{}, true
case TopicWorkspaceWorkflowUpdated:
return &WorkspaceWorkflowUpdatedEvent{}, true
default:
return nil, false
}
}