@otto-code/protocol 0.8.18 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/dist/agent-labels.d.ts +13 -0
  2. package/dist/agent-labels.js +26 -1
  3. package/dist/agent-profiles.d.ts +1 -1
  4. package/dist/agent-profiles.js +3 -3
  5. package/dist/architectural-views/rpc-schemas.d.ts +342 -0
  6. package/dist/architectural-views/rpc-schemas.js +171 -0
  7. package/dist/artifacts/rpc-schemas.d.ts +360 -2
  8. package/dist/artifacts/rpc-schemas.js +75 -1
  9. package/dist/artifacts/types.d.ts +71 -0
  10. package/dist/artifacts/types.js +27 -0
  11. package/dist/binary-frames/terminal.d.ts +1 -1
  12. package/dist/daemon-config.d.ts +66 -0
  13. package/dist/daemon-config.js +76 -3
  14. package/dist/generated/validation/ws-outbound.aot.js +70170 -56553
  15. package/dist/git-hosting.d.ts +56 -0
  16. package/dist/git-hosting.js +50 -0
  17. package/dist/kanban.d.ts +4 -0
  18. package/dist/kanban.js +4 -0
  19. package/dist/messages.d.ts +12186 -1217
  20. package/dist/messages.js +642 -33
  21. package/dist/model-tiers.js +2 -0
  22. package/dist/project-knowledge.d.ts +172 -0
  23. package/dist/project-knowledge.js +77 -0
  24. package/dist/provider-config.js +1 -1
  25. package/dist/provider-icon-names.js +1 -0
  26. package/dist/schedule/rpc-schemas.d.ts +212 -0
  27. package/dist/schedule/rpc-schemas.js +2 -0
  28. package/dist/schedule/types.d.ts +110 -0
  29. package/dist/schedule/types.js +27 -0
  30. package/dist/search/text-match.d.ts +16 -0
  31. package/dist/search/text-match.js +31 -2
  32. package/dist/validation/ws-outbound-schema-metadata.d.ts +2481 -104
  33. package/dist/workflow.d.ts +3060 -0
  34. package/dist/{orchestration.js → workflow.js} +461 -29
  35. package/dist/workspace-labels.d.ts +9 -0
  36. package/dist/workspace-labels.js +19 -0
  37. package/package.json +1 -1
  38. package/dist/orchestration.d.ts +0 -1148
  39. package/dist/project-links.d.ts +0 -102
  40. package/dist/project-links.js +0 -62
package/dist/messages.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import { z } from "zod";
2
- import { MutableAgentBehaviorsConfigSchema, MutableLspConfigSchema, MutableDotnetSolutionConfigSchema, MutableGitHostingConfigSchema, MutableKanbanConfigSchema, MutableProjectKnowledgeConfigSchema, MutableAgentPersonalitiesConfigSchema, MutableAgentPersonalitiesConfigPatchSchema, MutableAgentTeamsConfigSchema, MutableAgentTeamsConfigPatchSchema, MutableBrainConfigSchema, MutableBrainConfigPatchSchema, MutableGitFetchConfigSchema, DEFAULT_MUTABLE_BRAIN_CONFIG, } from "./daemon-config.js";
2
+ import { MutableAgentBehaviorsConfigSchema, MutableAgentBehaviorsConfigPatchSchema, MutableLspConfigSchema, MutableLspConfigPatchSchema, MutableDotnetSolutionConfigSchema, MutableDotnetSolutionConfigPatchSchema, MutableGitHostingConfigSchema, MutableKanbanConfigSchema, MutableProjectKnowledgeConfigSchema, MutableProjectKnowledgeConfigPatchSchema, MutableProjectArtifactsConfigSchema, MutableProjectArtifactsConfigPatchSchema, MutableProjectWorkflowsConfigSchema, MutableProjectWorkflowsConfigPatchSchema, MutableAgentPersonalitiesConfigSchema, MutableAgentPersonalitiesConfigPatchSchema, MutableAgentTeamsConfigSchema, MutableAgentTeamsConfigPatchSchema, MutableBrainConfigSchema, MutableBrainConfigPatchSchema, MutableGitFetchConfigSchema, DEFAULT_MUTABLE_BRAIN_CONFIG, } from "./daemon-config.js";
3
3
  import { VisualizerVoiceCuesGenerateRequestSchema, VisualizerVoiceCuesGenerateResponseSchema, AgentProfileSpinnerSchema, AgentPersonalityVoiceSchema, AgentPersonalityVoiceCuesSchema, AgentPersonalitiesGetStatsRequestSchema, AgentPersonalitiesGenerateProfileRequestSchema, AgentPersonalitiesGetStatsResponseSchema, AgentPersonalitiesGenerateProfileResponseSchema, AgentProfileStatsRequestSchema, AgentProfileStatsResponseSchema, AgentProfileGeneratePromptRequestSchema, AgentProfileGeneratePromptResponseSchema, AgentProfileGenerateVoiceCuesRequestSchema, AgentProfileGenerateVoiceCuesResponseSchema, PersonalityMemoryListRequestMessageSchema, PersonalityMemoryListResponseMessageSchema, PersonalityMemoryUpdateRequestMessageSchema, PersonalityMemoryUpdateResponseMessageSchema, PersonalityMemoryTransferRequestMessageSchema, PersonalityMemoryTransferResponseMessageSchema, PersonalityMemoryStatsRequestMessageSchema, PersonalityMemoryStatsResponseMessageSchema, ProfileMemoryListRequestMessageSchema, ProfileMemoryListResponseMessageSchema, ProfileMemoryUpdateRequestMessageSchema, ProfileMemoryUpdateResponseMessageSchema, ProfileMemoryTransferRequestMessageSchema, ProfileMemoryTransferResponseMessageSchema, ProfileMemoryStatsRequestMessageSchema, ProfileMemoryStatsResponseMessageSchema, } from "./personality-schemas.js";
4
4
  import { TerminalCompatibilityDiagnosticRequestSchema, TerminalCompatibilityDiagnosticResponseSchema, } from "./terminal-compatibility.js";
5
- import { HostingPrAttachmentSchema, HostingIssueAttachmentSchema, HostingSearchRequestSchema, HostingAuthStatusRequestSchema, HostingListRepositoriesRequestSchema, HostingListOwnersRequestSchema, HostingListRepositoriesResponseSchema, HostingListOwnersResponseSchema, HostingAuthStatusResponseSchema, GitHostingCapabilitiesSchema, GitHostingProviderIdWireSchema, } from "./git-hosting.js";
5
+ import { HostingPrAttachmentSchema, HostingIssueAttachmentSchema, HostingSearchRequestSchema, HostingAuthStatusRequestSchema, HostingListRepositoriesRequestSchema, HostingListOwnersRequestSchema, HostingListRepositoriesResponseSchema, HostingListOwnersResponseSchema, HostingAuthStatusResponseSchema, HostingPullRequestThreadSetResolvedRequestSchema, HostingPullRequestThreadSetResolvedResponseSchema, HostingPullRequestCommentSetReactionRequestSchema, HostingPullRequestCommentSetReactionResponseSchema, GitHostingCapabilitiesSchema, GitHostingProviderIdWireSchema, } from "./git-hosting.js";
6
6
  import { ProjectKanbanTargetSchema, KanbanProjectTargetSetRequestSchema, KanbanProjectTargetSetResponseSchema, KanbanBoardsListRequestSchema, KanbanBoardsListResponseSchema, KanbanBoardGetRequestSchema, KanbanBoardGetResponseSchema, KanbanCardMoveRequestSchema, KanbanCardMoveResponseSchema, KanbanCardCreateRequestSchema, KanbanCardCreateResponseSchema, KanbanTaskLinkRequestSchema, KanbanTaskLinkResponseSchema, } from "./kanban.js";
7
7
  import { WorkspaceArchivePreflightRequestSchema, CheckoutBaseSourceSchema, WorktreeBaseRefSetRequestSchema, WorkspaceArchivePreflightResponseSchema, WorktreeBaseRefSetResponseSchema, } from "./worktree-ops.js";
8
8
  import { SuggestedTasksChangedSchema, TasksSuggestedStartRequestMessageSchema, TasksSuggestedStartResponseMessageSchema, TasksSuggestedDismissRequestMessageSchema, TasksSuggestedDismissResponseMessageSchema, } from "./suggested-tasks.js";
@@ -13,25 +13,26 @@ import { QueuedAgentMessagePayloadSchema, AgentQueueRemoveRequestMessageSchema,
13
13
  import { FileEolSchema, FileCreateRequestSchema, FileDeleteRequestSchema, FileRenameRequestSchema, FileWatchSubscribeRequestSchema, FileWatchUnsubscribeRequestSchema, FileSearchRequestSchema, FileReplaceRequestSchema, FileCreateResponseSchema, FileDeleteResponseSchema, FileRenameResponseSchema, FileWatchSubscribeResponseSchema, FileWatchUnsubscribeResponseSchema, FileSearchResultEventSchema, FileSearchResponseSchema, FileReplaceResponseSchema, FileWatchEventSchema, } from "./file-operations.js";
14
14
  import { FileRefineRequestSchema, FileRefineResponseSchema } from "./refine.js";
15
15
  import { MutableSpeechConfigSchema, SpeechSettingsGetOptionsRequestSchema, SpeechTtsPreviewRequestSchema, SpeechTtsSpeakRequestSchema, SpeechTtsSpeakCancelRequestSchema, SpeechSettingsGetOptionsResponseSchema, SpeechTtsPreviewResponseSchema, SpeechTtsSpeakResponseSchema, SpeechTtsSpeakCancelResponseSchema, } from "./speech.js";
16
- import { ProjectLinksListRequestSchema, ProjectLinksSetRequestSchema, ProjectLinksUnsetRequestSchema, ProjectLinksListResponseSchema, ProjectLinksSetResponseSchema, ProjectLinksUnsetResponseSchema, ProjectLinksChangedSchema, } from "./project-links.js";
17
- import { ProjectKnowledgeListRequestMessageSchema, ProjectKnowledgeListResponseMessageSchema, ProjectKnowledgeGetRequestMessageSchema, ProjectKnowledgeGetResponseMessageSchema, ProjectKnowledgeCreateRequestMessageSchema, ProjectKnowledgeCreateResponseMessageSchema, ProjectKnowledgeApplyRequestMessageSchema, ProjectKnowledgeApplyResponseMessageSchema, ProjectKnowledgeStatusRequestMessageSchema, ProjectKnowledgeStatusResponseMessageSchema, ProjectKnowledgeProjectApplyRequestMessageSchema, ProjectKnowledgeProjectApplyResponseMessageSchema, ProjectKnowledgeReferenceApplyRequestMessageSchema, ProjectKnowledgeReferenceApplyResponseMessageSchema, ProjectKnowledgeRootApplyRequestMessageSchema, ProjectKnowledgeRootApplyResponseMessageSchema, ProjectKnowledgeDeleteRequestMessageSchema, ProjectKnowledgeStoreLocationValueSchema, ProjectKnowledgeStoreGetRequestMessageSchema, ProjectKnowledgeStoreGetResponseMessageSchema, ProjectKnowledgeStoreSetRequestMessageSchema, ProjectKnowledgeStoreSetResponseMessageSchema, ProjectKnowledgeDeleteResponseMessageSchema, } from "./project-knowledge.js";
16
+ import { ProjectKnowledgeListRequestMessageSchema, ProjectKnowledgeListResponseMessageSchema, ProjectKnowledgeGetRequestMessageSchema, ProjectKnowledgeGetResponseMessageSchema, ProjectKnowledgeCreateRequestMessageSchema, ProjectKnowledgeCreateResponseMessageSchema, ProjectKnowledgeApplyRequestMessageSchema, ProjectKnowledgeApplyResponseMessageSchema, ProjectKnowledgeStatusRequestMessageSchema, ProjectKnowledgeStatusResponseMessageSchema, ProjectKnowledgeProjectApplyRequestMessageSchema, ProjectKnowledgeProjectApplyResponseMessageSchema, ProjectKnowledgeReferenceApplyRequestMessageSchema, ProjectKnowledgeReferenceApplyResponseMessageSchema, ProjectKnowledgeRootApplyRequestMessageSchema, ProjectKnowledgeRootApplyResponseMessageSchema, ProjectKnowledgeRefineApplyRequestMessageSchema, ProjectKnowledgeRefineApplyResponseMessageSchema, ProjectKnowledgeRefinementProposeRequestMessageSchema, ProjectKnowledgeRefinementProposeResponseMessageSchema, ProjectKnowledgeDeleteRequestMessageSchema, ProjectKnowledgeStoreLocationValueSchema, ProjectKnowledgeStoreGetRequestMessageSchema, ProjectKnowledgeStoreGetResponseMessageSchema, ProjectKnowledgeStoreSetRequestMessageSchema, ProjectKnowledgeStoreSetResponseMessageSchema, ProjectKnowledgeDeleteResponseMessageSchema, } from "./project-knowledge.js";
18
17
  import { CheckoutGitGetOperationLogRequestSchema, CheckoutGitGetOperationLogResponseSchema, CheckoutGitLogAppendedNotificationSchema, CheckoutGitCommitRequestSchema, CheckoutGitCommitAgentRequestSchema, CheckoutGitRollbackRequestSchema, CheckoutGitCommitResponseSchema, CheckoutGitCommitAgentResponseSchema, CheckoutGitRollbackResponseSchema, GitFileHistoryEntrySchema, GitBlameLineSchema, GitBlameCommitSchema, } from "./git-operations.js";
19
18
  import { LspServersListRequestSchema, LspServerStopRequestSchema, LspActivityChangedStatusPayloadSchema, LspDiagnosticsChangedStatusPayloadSchema, LspServersListResponseSchema, LspServerStopResponseSchema, CodeListFilesRequestSchema, CodeSymbolsRequestSchema, CodeOutlineRequestSchema, CodeDefinitionRequestSchema, CodeDocumentSyncRequestSchema, CodeDocumentCloseRequestSchema, CodeHoverRequestSchema, CodeReferencesRequestSchema, CodeRenamePreviewRequestSchema, CodeRenameApplyRequestSchema, CodeRenameUndoRequestSchema, CodeSolutionListRequestSchema, CodeSolutionGetTreeRequestSchema, CodeSolutionLoadProjectRequestSchema, CodeListFilesResponseSchema, CodeSymbolsResponseSchema, CodeDefinitionResponseSchema, CodeDocumentSyncResponseSchema, CodeDocumentCloseResponseSchema, CodeHoverResponseSchema, CodeReferencesResponseSchema, CodeRenamePreviewResponseSchema, CodeRenameUndoResponseSchema, CodeRenameApplyResponseSchema, CodeSolutionListResponseSchema, CodeSolutionGetTreeResponseSchema, CodeSolutionLoadProjectResponseSchema, CodeOutlineResponseSchema, } from "./code-intelligence.js";
20
19
  import { CommunicationsGetOverviewRequestSchema, CommunicationsGetOverviewResponseSchema, CommunicationsInboxGetHomeRequestSchema, CommunicationsInboxGetHomeResponseSchema, CommunicationsInboxSearchRequestSchema, CommunicationsInboxSearchResponseSchema, CommunicationsInboxSetFavoriteRequestSchema, CommunicationsInboxSetFavoriteResponseSchema, CommunicationsInboxNotificationsAcknowledgeRequestSchema, CommunicationsInboxNotificationsAcknowledgeResponseSchema, CommunicationsInboxGetPresenceRequestSchema, CommunicationsInboxGetPresenceResponseSchema, CommunicationsInboxPresenceChangedNotificationSchema, CommunicationsInboxSetPresenceRequestSchema, CommunicationsInboxSetPresenceResponseSchema, CommunicationsInboxSetEnabledRequestSchema, CommunicationsInboxSetEnabledResponseSchema, CommunicationsInboxGetMessagesRequestSchema, CommunicationsInboxGetMessagesResponseSchema, CommunicationsInboxSendMessageRequestSchema, CommunicationsInboxSendMessageResponseSchema, CommunicationsRoomGetRequestSchema, CommunicationsRoomGetResponseSchema, CommunicationsRoomThreadGetRequestSchema, CommunicationsRoomThreadGetResponseSchema, CommunicationsRoomMessageSendRequestSchema, CommunicationsRoomMessageSendResponseSchema, CommunicationsRoomReactionSetRequestSchema, CommunicationsRoomReactionSetResponseSchema, } from "./communications.js";
21
20
  import { IntegrationsAuthorizationGetOverviewRequestSchema, IntegrationsAuthorizationGetOverviewResponseSchema, IntegrationsAuthorizationGetMethodsRequestSchema, IntegrationsAuthorizationGetMethodsResponseSchema, IntegrationsAuthorizationStartBrowserRequestSchema, IntegrationsAuthorizationStartBrowserResponseSchema, IntegrationsZoomStartAuthorizationRequestSchema, IntegrationsZoomStartAuthorizationResponseSchema, } from "./integration-authorization.js";
22
- import { RunsGetSnapshotRequestSchema, RunsGetSnapshotResponseSchema, RunsUpdatedNotificationSchema, RunsGateRespondRequestSchema, RunsGateRespondResponseSchema, RunsCancelRequestSchema, RunsCancelResponseSchema, RunsClearRequestSchema, RunsClearResponseSchema, RunsDeleteRequestSchema, RunsDeleteResponseSchema, RunsClearedNotificationSchema, RunsGraphsListRequestSchema, RunsGraphsListResponseSchema, RunsGraphsSaveRequestSchema, RunsGraphsSaveResponseSchema, RunsGraphsDeleteRequestSchema, RunsGraphsDeleteResponseSchema, RunsGraphsChangedNotificationSchema, RunsTemplatesListRequestSchema, RunsTemplatesListResponseSchema, RunsTemplatesSaveRequestSchema, RunsTemplatesSaveResponseSchema, RunsTemplatesDeleteRequestSchema, RunsTemplatesDeleteResponseSchema, RunsTemplatesChangedNotificationSchema, RunsStartRequestSchema, RunsStartResponseSchema, } from "./orchestration.js";
21
+ import { RunsGetSnapshotRequestSchema, RunsGetSnapshotResponseSchema, RunsUpdatedNotificationSchema, RunsGateRespondRequestSchema, RunsGateRespondResponseSchema, RunsCancelRequestSchema, RunsCancelResponseSchema, RunsClearRequestSchema, RunsClearResponseSchema, RunsDeleteRequestSchema, RunsDeleteResponseSchema, RunsClearedNotificationSchema, RunsGraphsListRequestSchema, RunsGraphsListResponseSchema, RunsGraphsSaveRequestSchema, RunsGraphsSaveResponseSchema, RunsGraphsDeleteRequestSchema, RunsGraphsDeleteResponseSchema, RunsGraphsChangedNotificationSchema, WorkflowsGraphsListRequestSchema, WorkflowsGraphsListResponseSchema, WorkflowsGraphSaveRequestSchema, WorkflowsGraphSaveResponseSchema, WorkflowsGraphExportRequestSchema, WorkflowsGraphExportResponseSchema, WorkflowsGraphImportRequestSchema, WorkflowsGraphImportResponseSchema, RunsTemplatesListRequestSchema, RunsTemplatesListResponseSchema, RunsTemplatesSaveRequestSchema, RunsTemplatesSaveResponseSchema, RunsTemplatesDeleteRequestSchema, RunsTemplatesDeleteResponseSchema, RunsTemplatesChangedNotificationSchema, WorkflowsTemplatesListRequestSchema, WorkflowsTemplatesListResponseSchema, WorkflowsTemplateSaveRequestSchema, WorkflowsTemplateSaveResponseSchema, WorkflowsStorageTransferRequestSchema, WorkflowsStorageTransferResponseSchema, WorkflowsStartRequestSchema, RunsStartRequestSchema, WorkflowsStartResponseSchema, RunsStartResponseSchema, WorkflowsStartConfirmationRespondRequestSchema, WorkflowsStartConfirmationRespondResponseSchema, ProjectWorkflowStoreSetRequestSchema, ProjectWorkflowStoreSetResponseSchema, } from "./workflow.js";
23
22
  import { MeetingsTranscriptsListRequestSchema, MeetingsTranscriptsListResponseSchema, MeetingsTranscriptsCreateRequestSchema, MeetingsTranscriptsCreateResponseSchema, MeetingsTranscriptsUpdateRequestSchema, MeetingsTranscriptsUpdateResponseSchema, MeetingsTranscriptsDeleteRequestSchema, MeetingsTranscriptsDeleteResponseSchema, } from "./meetings.js";
24
23
  import { PreviewListConfigRequestSchema, PreviewStartRequestSchema, PreviewBindTabRequestSchema, PreviewStopRequestSchema, PreviewListConfigResponseSchema, PreviewStartResponseSchema, PreviewBindTabResponseSchema, PreviewStopResponseSchema, } from "./preview.js";
25
24
  import { BrainLogsWatchRequestSchema, BrainLogLineAddedStatusPayloadSchema, BrainBenchRequestSchema, BrainBenchResponseSchema, BrainCalibrateRequestSchema, BrainCalibrateResponseSchema, BrainCatalogListRequestSchema, BrainCatalogListResponseSchema, BrainEvalsGetRequestSchema, BrainEvalsGetResponseSchema, BrainHfQuantsRequestSchema, BrainHfQuantsResponseSchema, BrainHfSearchRequestSchema, BrainHfSearchResponseSchema, BrainHostRestartRequestSchema, BrainHostRestartResponseSchema, BrainHostStartRequestSchema, BrainHostStartResponseSchema, BrainHostStatusRequestSchema, BrainHostStatusResponseSchema, BrainHostStopRequestSchema, BrainHostStopResponseSchema, BrainJobsCancelRequestSchema, BrainJobsCancelResponseSchema, BrainJobsListRequestSchema, BrainJobsListResponseSchema, BrainLogsTailRequestSchema, BrainLogsTailResponseSchema, BrainLogsWatchResponseSchema, BrainModelBudgetGetRequestSchema, BrainModelBudgetGetResponseSchema, BrainModelComponentDeleteRequestSchema, BrainModelComponentDeleteResponseSchema, BrainModelDeleteRequestSchema, BrainModelDeleteResponseSchema, BrainModelLoadRequestSchema, BrainModelLoadResponseSchema, BrainModelProfileGetRequestSchema, BrainModelProfileGetResponseSchema, BrainModelProfileSetRequestSchema, BrainModelProfileSetResponseSchema, BrainModelRenameRequestSchema, BrainModelRenameResetRequestSchema, BrainModelRenameResetResponseSchema, BrainModelRenameResponseSchema, BrainModelUnloadRequestSchema, BrainModelUnloadResponseSchema, BrainModelsAddRequestSchema, BrainModelsAddResponseSchema, BrainModelsInventoryRequestSchema, BrainModelsInventoryResponseSchema, BrainModelsListRequestSchema, BrainModelsListResponseSchema, BrainModelsPullRequestSchema, BrainModelsPullResponseSchema, BrainModelsScanRequestSchema, BrainModelsScanResponseSchema, BrainNetworkDiscoverRequestSchema, BrainNetworkDiscoverResponseSchema, BrainRemoteConfigGetRequestSchema, BrainRemoteConfigGetResponseSchema, BrainRemoteConfigPatchRequestSchema, BrainRemoteConfigPatchResponseSchema, BrainRuntimeInstallRequestSchema, BrainRuntimeInstallResponseSchema, BrainRuntimeListRequestSchema, BrainRuntimeListResponseSchema, BrainRuntimeRemoveRequestSchema, BrainRuntimeRemoveResponseSchema, BrainStatusChangedStatusPayloadSchema, BrainSweepRequestSchema, BrainSweepResponseSchema, } from "./brain.js";
26
25
  import { TerminalActivitySchema } from "./terminal-activity.js";
27
- import { ArtifactMetadataSchema } from "./artifacts/types.js";
28
- import { ArtifactListRequestSchema, ArtifactCreateRequestSchema, ArtifactUpdateRequestSchema, ArtifactRegenerateRequestSchema, ArtifactCancelRequestSchema, ArtifactDeleteRequestSchema, ArtifactStarRequestSchema, ArtifactGetContentRequestSchema, ArtifactListResponseSchema, ArtifactCreateResponseSchema, ArtifactUpdateResponseSchema, ArtifactRegenerateResponseSchema, ArtifactCancelResponseSchema, ArtifactDeleteResponseSchema, ArtifactStarResponseSchema, ArtifactGetContentResponseSchema, ArtifactCreatedNotificationSchema, ArtifactUpdatedNotificationSchema, ArtifactDeletedNotificationSchema, } from "./artifacts/rpc-schemas.js";
26
+ import { ArtifactMetadataSchema, ProjectArtifactStoreLocationValueSchema, } from "./artifacts/types.js";
27
+ import { ArtifactListRequestSchema, ArtifactCreateRequestSchema, ArtifactUpdateRequestSchema, ArtifactRegenerateRequestSchema, ArtifactCancelRequestSchema, ArtifactDeleteRequestSchema, ArtifactStarRequestSchema, ArtifactGetContentRequestSchema, ArtifactRepairRequestSchema, ArtifactDataGetRequestSchema, ArtifactDataUpdateRequestSchema, ArtifactStoreMoveRequestSchema, ProjectArtifactStoreSetRequestSchema, ArtifactListResponseSchema, ArtifactCreateResponseSchema, ArtifactUpdateResponseSchema, ArtifactRegenerateResponseSchema, ArtifactCancelResponseSchema, ArtifactDeleteResponseSchema, ArtifactStarResponseSchema, ArtifactGetContentResponseSchema, ArtifactRepairResponseSchema, ArtifactDataGetResponseSchema, ArtifactDataUpdateResponseSchema, ArtifactStoreMoveResponseSchema, ProjectArtifactStoreSetResponseSchema, ArtifactCreatedNotificationSchema, ArtifactUpdatedNotificationSchema, ArtifactDeletedNotificationSchema, } from "./artifacts/rpc-schemas.js";
28
+ import { ArchitecturalViewsDeliverRequestSchema, ArchitecturalViewsDeliverResponseSchema, ArchitecturalViewsGetContentRequestSchema, ArchitecturalViewsGetContentResponseSchema, ArchitecturalViewsListRequestSchema, ArchitecturalViewsListResponseSchema, ArchitecturalViewsDraftCreateRequestSchema, ArchitecturalViewsDraftCreateResponseSchema, ArchitecturalViewsDraftUpdateRequestSchema, ArchitecturalViewsDraftUpdateResponseSchema, ArchitecturalViewsDraftPublishRequestSchema, ArchitecturalViewsDraftPublishResponseSchema, ArchitecturalViewsDraftDiscardRequestSchema, ArchitecturalViewsDraftDiscardResponseSchema, ArchitecturalViewsDraftGetContentRequestSchema, ArchitecturalViewsDraftGetContentResponseSchema, ArchitecturalViewsOpenNotificationSchema, } from "./architectural-views/rpc-schemas.js";
29
29
  import { CLIENT_CAPS } from "./client-capabilities.js";
30
30
  import { AGENT_LIFECYCLE_STATUSES } from "./agent-lifecycle.js";
31
31
  import { MAX_EXPLICIT_AGENT_TITLE_CHARS } from "./agent-title-limits.js";
32
32
  import { AgentProviderSchema } from "./provider-manifest.js";
33
33
  import { ConnectorConfigSchema, McpServerConfigSchema, STALL_GUARD_DEFAULT_THRESHOLD, } from "./provider-config.js";
34
34
  import { TOOL_CALL_ICON_NAMES } from "./agent-types.js";
35
+ import { WORKSPACE_LABEL_COLORS } from "./workspace-labels.js";
35
36
  import { ChatCreateRequestSchema, ChatListRequestSchema, ChatInspectRequestSchema, ChatDeleteRequestSchema, ChatPostRequestSchema, ChatReadRequestSchema, ChatWaitRequestSchema, ChatCreateResponseSchema, ChatListResponseSchema, ChatInspectResponseSchema, ChatDeleteResponseSchema, ChatPostResponseSchema, ChatReadResponseSchema, ChatWaitResponseSchema, } from "./chat/rpc-schemas.js";
36
37
  import { ScheduleCreateRequestSchema, ScheduleListRequestSchema, ScheduleInspectRequestSchema, ScheduleLogsRequestSchema, SchedulePauseRequestSchema, ScheduleResumeRequestSchema, ScheduleDeleteRequestSchema, ScheduleRunOnceRequestSchema, ScheduleUpdateRequestSchema, ScheduleCreateResponseSchema, ScheduleListResponseSchema, ScheduleInspectResponseSchema, ScheduleLogsResponseSchema, SchedulePauseResponseSchema, ScheduleResumeResponseSchema, ScheduleDeleteResponseSchema, ScheduleRunOnceResponseSchema, ScheduleUpdateResponseSchema, } from "./schedule/rpc-schemas.js";
37
38
  import { LoopRunRequestSchema, LoopListRequestSchema, LoopInspectRequestSchema, LoopLogsRequestSchema, LoopStopRequestSchema, LoopRunResponseSchema, LoopListResponseSchema, LoopInspectResponseSchema, LoopLogsResponseSchema, LoopStopResponseSchema, } from "./loop/rpc-schemas.js";
@@ -88,6 +89,15 @@ const MutableMetadataGenerationConfigSchema = z
88
89
  preferWriterProfiles: z.boolean().optional(),
89
90
  })
90
91
  .passthrough();
92
+ const MutableMetadataGenerationConfigPatchSchema = z
93
+ .object({
94
+ providers: z.array(MutableStructuredGenerationProviderSchema),
95
+ enabled: z.boolean(),
96
+ preferWriterPersonalities: z.boolean(),
97
+ preferWriterProfiles: z.boolean(),
98
+ })
99
+ .partial()
100
+ .passthrough();
91
101
  export const TerminalProfileSchema = z
92
102
  .object({
93
103
  id: z.string(),
@@ -143,6 +153,10 @@ const MutableBrowserToolsConfigSchema = z
143
153
  enabled: z.boolean().default(false),
144
154
  })
145
155
  .passthrough();
156
+ const MutableBrowserToolsConfigPatchSchema = z
157
+ .object({ enabled: z.boolean() })
158
+ .partial()
159
+ .passthrough();
146
160
  export const ModelTierSchema = z.enum(["deep", "standard", "fast"]);
147
161
  // A user's explicit tier tag for one model of one provider. The daemon stamps
148
162
  // `model.tier` at ingest, preferring a matching override here over inference
@@ -188,12 +202,26 @@ export const SavedProviderEndpointSchema = z
188
202
  savedAt: z.number().optional(),
189
203
  })
190
204
  .passthrough();
205
+ export const PluginIdSchema = z.string().regex(/^[a-z][a-z0-9-]*$/);
206
+ export const DirectoryPluginSourceSchema = z
207
+ .object({
208
+ source: z.literal("directory"),
209
+ path: z.string().min(1),
210
+ enabled: z.boolean().optional(),
211
+ })
212
+ .strict();
213
+ export const PluginSourceSchema = z.discriminatedUnion("source", [DirectoryPluginSourceSchema]);
214
+ export const AgentSkillSelectionSchema = z.discriminatedUnion("mode", [
215
+ z.object({ mode: z.literal("all") }).strict(),
216
+ z.object({ mode: z.literal("custom"), skills: z.array(z.string()) }).strict(),
217
+ ]);
191
218
  export const MutableDaemonConfigSchema = z
192
219
  .object({
193
220
  // COMPAT(relayConfig): added in v0.2.6, remove after 2027-01-31 when old daemons are unsupported.
194
221
  relay: MutableRelayConfigSchema.optional(),
195
222
  mcp: z
196
223
  .object({
224
+ enabled: z.boolean().optional(),
197
225
  injectIntoAgents: z.boolean(),
198
226
  // Daemon-wide Otto tool-group allowlist for the MCP (Claude) path.
199
227
  // undefined = all groups enabled (mirrors openai-compat's per-provider
@@ -211,6 +239,22 @@ export const MutableDaemonConfigSchema = z
211
239
  .passthrough(),
212
240
  // Defaults off, matching the daemon's own resolution - browser tools are an
213
241
  // explicit opt-in, so an omitted section must never read as on.
242
+ hostnames: z.union([z.literal(true), z.array(z.string())]).optional(),
243
+ cors: z
244
+ .object({
245
+ allowedOrigins: z.array(z.string()),
246
+ })
247
+ .passthrough()
248
+ .optional(),
249
+ trustedProxies: z.union([z.literal(true), z.array(z.string())]).optional(),
250
+ git: z
251
+ .object({
252
+ maxProcessesPerSecond: z.number().int().positive(),
253
+ maxProcessConcurrency: z.number().int().positive(),
254
+ })
255
+ .optional(),
256
+ app: z.object({ baseUrl: z.string() }).optional(),
257
+ catalogRefreshTimeoutMs: z.number().int().positive().optional(),
214
258
  browserTools: MutableBrowserToolsConfigSchema.default({ enabled: false }),
215
259
  // Daemon-wide agent behavior toggles (Claude-tier capabilities). Defaults to
216
260
  // all-on so a new client parsing an old daemon's config sees today's behavior.
@@ -316,16 +360,25 @@ export const MutableDaemonConfigSchema = z
316
360
  // defaulted, matching `kanban`: absent reads as the historical repository
317
361
  // location, which is exactly what an old daemon does.
318
362
  projectKnowledge: MutableProjectKnowledgeConfigSchema.optional(),
363
+ // Artifacts has its own location default. It shares the storage platform
364
+ // with Knowledge, but never inherits Knowledge's selected location.
365
+ // COMPAT(artifactStoreLocation): added in v0.9.0, remove after 2027-02-28.
366
+ projectArtifacts: MutableProjectArtifactsConfigSchema.optional(),
367
+ // COMPAT(categoryStorageResolver): added in v0.9.0, remove after 2027-02-28.
368
+ projectWorkflows: MutableProjectWorkflowsConfigSchema.optional(),
319
369
  agentProfiles: z.array(AgentProfileSchema).optional(),
370
+ skills: z.object({ selection: AgentSkillSelectionSchema.optional() }).strict().optional(),
371
+ pluginsEnabled: z.boolean().optional(),
372
+ plugins: z.record(PluginIdSchema, PluginSourceSchema).optional(),
320
373
  })
321
374
  .passthrough();
322
375
  export const MutableDaemonConfigPatchSchema = z
323
376
  .object({
324
377
  relay: MutableRelayConfigSchema.partial().optional(),
325
- mcp: MutableDaemonConfigSchema.shape.mcp.partial().optional(),
326
- browserTools: MutableBrowserToolsConfigSchema.partial().optional(),
378
+ mcp: z.object({ injectIntoAgents: z.boolean().optional() }).passthrough().optional(),
379
+ browserTools: MutableBrowserToolsConfigPatchSchema.optional(),
327
380
  // Gated by server_info features.agentBehaviorToggles; patches deep-merge.
328
- agentBehaviors: MutableAgentBehaviorsConfigSchema.partial().optional(),
381
+ agentBehaviors: MutableAgentBehaviorsConfigPatchSchema.optional(),
329
382
  // A null entry removes the provider's config entirely (custom provider
330
383
  // uninstall). Gated by server_info features.providerRemove - old daemons
331
384
  // reject null values.
@@ -333,7 +386,7 @@ export const MutableDaemonConfigPatchSchema = z
333
386
  .record(z.string(), MutableDaemonProviderConfigSchema.partial().passthrough().nullable())
334
387
  .optional(),
335
388
  removeProviders: z.array(z.string().min(1)).optional(),
336
- metadataGeneration: MutableMetadataGenerationConfigSchema.partial().optional(),
389
+ metadataGeneration: MutableMetadataGenerationConfigPatchSchema.optional(),
337
390
  autoArchiveAfterMerge: z.boolean().optional(),
338
391
  // Gated by server_info.features.gitFetchControl; patches deep-merge.
339
392
  gitFetch: MutableGitFetchConfigSchema.partial().optional(),
@@ -357,7 +410,11 @@ export const MutableDaemonConfigPatchSchema = z
357
410
  gitHosting: MutableGitHostingConfigSchema.optional(),
358
411
  // Gated by server_info features.projectKnowledgeStoreLocation; patches
359
412
  // deep-merge.
360
- projectKnowledge: MutableProjectKnowledgeConfigSchema.partial().optional(),
413
+ projectKnowledge: MutableProjectKnowledgeConfigPatchSchema.optional(),
414
+ // COMPAT(artifactStoreLocation): added in v0.9.0, remove after 2027-02-28.
415
+ projectArtifacts: MutableProjectArtifactsConfigPatchSchema.optional(),
416
+ // COMPAT(categoryStorageResolver): added in v0.9.0, remove after 2027-02-28.
417
+ projectWorkflows: MutableProjectWorkflowsConfigPatchSchema.optional(),
361
418
  // Gated by server_info features.agentPersonalities. A patch replaces the
362
419
  // full roster (read-modify-write the array), matching how terminalProfiles
363
420
  // and metadataGeneration.providers patch.
@@ -375,11 +432,11 @@ export const MutableDaemonConfigPatchSchema = z
375
432
  // Gated by server_info features.savedProviderEndpoints. Replaces the full
376
433
  // array (read-modify-write), so forgetting an endpoint drops it from disk.
377
434
  savedProviderEndpoints: z.array(SavedProviderEndpointSchema).optional(),
378
- // Gated by server_info features.lsp; patches deep-merge, so a `languages`
379
- // patch replaces only the keys it names.
380
- lsp: MutableLspConfigSchema.partial().optional(),
435
+ // Gated by server_info features.lsp; dedicated no-default patch schema so
436
+ // a `languages` update cannot materialize and reset the LSP defaults.
437
+ lsp: MutableLspConfigPatchSchema.optional(),
381
438
  // Gated by server_info features.solutionView; patches deep-merge.
382
- dotnetSolutionManagement: MutableDotnetSolutionConfigSchema.partial().optional(),
439
+ dotnetSolutionManagement: MutableDotnetSolutionConfigPatchSchema.optional(),
383
440
  // Gated by server_info features.brainControl; patches deep-merge. Uses the
384
441
  // dedicated no-default patch schema (see MutableBrainConfigPatchSchema): a
385
442
  // plain `.partial()` here keeps every field's default and resets the whole
@@ -390,6 +447,8 @@ export const MutableDaemonConfigPatchSchema = z
390
447
  // enabling/disabling a connector or a tool is a whole-array rewrite.
391
448
  connectors: z.array(ConnectorConfigSchema).optional(),
392
449
  agentProfiles: z.array(AgentProfileSchema).optional(),
450
+ pluginsEnabled: z.boolean().optional(),
451
+ plugins: z.record(PluginIdSchema, PluginSourceSchema).optional(),
393
452
  })
394
453
  .partial()
395
454
  .passthrough();
@@ -874,6 +933,7 @@ export const AgentStreamEventPayloadSchema = z.discriminatedUnion("type", [
874
933
  type: z.literal("timeline"),
875
934
  provider: AgentProviderSchema,
876
935
  item: AgentTimelineItemPayloadSchema,
936
+ turnId: z.string().optional(),
877
937
  }),
878
938
  z.object({
879
939
  type: z.literal("permission_requested"),
@@ -1208,6 +1268,50 @@ export const WorkspacePinSetRequestSchema = z.object({
1208
1268
  pinned: z.boolean(),
1209
1269
  requestId: z.string(),
1210
1270
  });
1271
+ export const WorkspaceLabelColorSchema = z.enum(WORKSPACE_LABEL_COLORS);
1272
+ export const WorkspaceLabelDefinitionSchema = z.object({
1273
+ name: z.string(),
1274
+ color: WorkspaceLabelColorSchema,
1275
+ });
1276
+ const WorkspaceLabelSyncCursorSchema = z.object({
1277
+ generation: z.string(),
1278
+ afterSeq: z.number().int().nonnegative(),
1279
+ });
1280
+ export const WorkspaceLabelListRequestSchema = z.object({
1281
+ type: z.literal("workspace.label.list.request"),
1282
+ requestId: z.string(),
1283
+ subscribe: z.object({ subscriptionId: z.string() }),
1284
+ sync: WorkspaceLabelSyncCursorSchema.optional(),
1285
+ });
1286
+ export const WorkspaceLabelAssignmentSetRequestSchema = z.object({
1287
+ type: z.literal("workspace.label.assignment.set.request"),
1288
+ requestId: z.string(),
1289
+ workspaceId: z.string(),
1290
+ label: WorkspaceLabelDefinitionSchema,
1291
+ assigned: z.boolean(),
1292
+ });
1293
+ /**
1294
+ * Editing a label is one operation. A name and a colour are two fields of one thing, and two
1295
+ * RPCs can land half-applied — leaving the catalog in a state the user never asked for and the
1296
+ * UI with nothing true to say. Both fields are optional; omitting one leaves it alone.
1297
+ */
1298
+ export const WorkspaceLabelUpdateRequestSchema = z.object({
1299
+ type: z.literal("workspace.label.update.request"),
1300
+ requestId: z.string(),
1301
+ name: z.string(),
1302
+ newName: z.string().optional(),
1303
+ color: WorkspaceLabelColorSchema.optional(),
1304
+ });
1305
+ export const WorkspaceLabelDeleteRequestSchema = z.object({
1306
+ type: z.literal("workspace.label.delete.request"),
1307
+ requestId: z.string(),
1308
+ name: z.string(),
1309
+ });
1310
+ export const WorkspaceLabelDeleteInspectRequestSchema = z.object({
1311
+ type: z.literal("workspace.label.delete.inspect.request"),
1312
+ requestId: z.string(),
1313
+ name: z.string(),
1314
+ });
1211
1315
  export const WorkspaceRecoveryInspectRequestSchema = z.object({
1212
1316
  type: z.literal("workspace.recovery.inspect.request"),
1213
1317
  workspaceId: z.string(),
@@ -1264,6 +1368,15 @@ export const ForgeIssueAttachmentSchema = z.object({
1264
1368
  body: z.string().nullable().optional(),
1265
1369
  projectPath: z.string().optional(),
1266
1370
  });
1371
+ export const ExternalResourceAttachmentMetadataSchema = z.object({
1372
+ provider: z.string(),
1373
+ providerLabel: z.string(),
1374
+ resourceType: z.string(),
1375
+ id: z.string(),
1376
+ identifier: z.string(),
1377
+ title: z.string(),
1378
+ url: z.string(),
1379
+ });
1267
1380
  export const TextAttachmentSchema = z
1268
1381
  .object({
1269
1382
  type: z.literal("text"),
@@ -1271,6 +1384,7 @@ export const TextAttachmentSchema = z
1271
1384
  contextKind: z.string().optional(),
1272
1385
  title: z.string().nullable().optional(),
1273
1386
  text: z.string(),
1387
+ externalResource: ExternalResourceAttachmentMetadataSchema.optional(),
1274
1388
  })
1275
1389
  .transform(({ contextKind, ...attachment }) => ({
1276
1390
  ...attachment,
@@ -1344,17 +1458,36 @@ const ImageAttachmentSchema = z.object({
1344
1458
  data: z.string(), // base64 encoded image
1345
1459
  mimeType: z.string(), // e.g., "image/jpeg", "image/png"
1346
1460
  });
1461
+ export const ActiveTurnBehaviorSchema = z.enum(["interrupt", "steer"]);
1347
1462
  export const SendAgentMessageSchema = z.object({
1348
1463
  type: z.literal("send_agent_message"),
1349
1464
  agentId: z.string(),
1350
1465
  text: z.string(),
1351
1466
  messageId: z.string().optional(), // Client-provided ID for deduplication
1467
+ activeTurnBehavior: ActiveTurnBehaviorSchema.optional(),
1352
1468
  images: z.array(ImageAttachmentSchema).optional(),
1353
1469
  attachments: AgentAttachmentsSchema,
1354
1470
  });
1355
1471
  // ============================================================================
1356
1472
  // Agent RPCs (requestId-correlated)
1357
1473
  // ============================================================================
1474
+ const DirectorySyncRequestSchema = z.object({
1475
+ generation: z.string().optional(),
1476
+ afterSeq: z.number().int().nonnegative().optional(),
1477
+ });
1478
+ const DirectorySyncRemovalSchema = z.object({
1479
+ id: z.string(),
1480
+ seq: z.number().int().positive(),
1481
+ });
1482
+ const DirectorySyncMetadataSchema = z.object({
1483
+ generation: z.string(),
1484
+ headSeq: z.number().int().nonnegative(),
1485
+ mode: z.enum(["snapshot", "changes"]),
1486
+ reason: z
1487
+ .enum(["no_cursor", "generation_changed", "cursor_expired", "changes_too_large"])
1488
+ .optional(),
1489
+ removals: z.array(DirectorySyncRemovalSchema),
1490
+ });
1358
1491
  export const FetchAgentsRequestMessageSchema = z.object({
1359
1492
  type: z.literal("fetch_agents_request"),
1360
1493
  requestId: z.string(),
@@ -1377,6 +1510,8 @@ export const FetchAgentsRequestMessageSchema = z.object({
1377
1510
  subscriptionId: z.string().optional(),
1378
1511
  })
1379
1512
  .optional(),
1513
+ // COMPAT(directorySync): added in v0.3.x, remove optional after 2027-02-12.
1514
+ sync: DirectorySyncRequestSchema.optional(),
1380
1515
  });
1381
1516
  const WorkspaceStateBucketSchema = z.enum([
1382
1517
  "needs_input",
@@ -1413,10 +1548,14 @@ export const FetchWorkspacesRequestMessageSchema = z.object({
1413
1548
  subscriptionId: z.string().optional(),
1414
1549
  })
1415
1550
  .optional(),
1551
+ // COMPAT(directorySync): added in v0.3.x, remove optional after 2027-02-12.
1552
+ sync: DirectorySyncRequestSchema.optional(),
1416
1553
  });
1417
1554
  export const ProjectListRequestMessageSchema = z.object({
1418
1555
  type: z.literal("project.list.request"),
1419
1556
  requestId: z.string(),
1557
+ // COMPAT(directorySync): added in v0.3.x, remove optional after 2027-02-12.
1558
+ sync: DirectorySyncRequestSchema.optional(),
1420
1559
  });
1421
1560
  export const ProjectResolveWorkspaceForPathRequestSchema = z.object({
1422
1561
  type: z.literal("project.resolveWorkspaceForPath.request"),
@@ -1465,6 +1604,7 @@ export const SendAgentMessageRequestSchema = z.object({
1465
1604
  agentId: z.string(),
1466
1605
  text: z.string(),
1467
1606
  messageId: z.string().optional(), // Client-provided ID for deduplication
1607
+ activeTurnBehavior: ActiveTurnBehaviorSchema.optional(),
1468
1608
  images: z.array(ImageAttachmentSchema).optional(),
1469
1609
  attachments: AgentAttachmentsSchema,
1470
1610
  // How to reach a BUSY agent. "interrupt" (default, and what every older
@@ -1489,6 +1629,10 @@ export const DaemonGetPairingOfferRequestSchema = z.object({
1489
1629
  type: z.literal("daemon.get_pairing_offer.request"),
1490
1630
  requestId: z.string(),
1491
1631
  });
1632
+ export const DaemonConfigReloadRequestSchema = z.object({
1633
+ type: z.literal("daemon.config.reload.request"),
1634
+ requestId: z.string(),
1635
+ });
1492
1636
  export const HubManagementDaemonConnectRequestSchema = z.object({
1493
1637
  type: z.literal("hub.management.daemon.connect.request"),
1494
1638
  requestId: z.string(),
@@ -1508,6 +1652,81 @@ export const DiagnosticsRequestSchema = z.object({
1508
1652
  type: z.literal("diagnostics.request"),
1509
1653
  requestId: z.string(),
1510
1654
  });
1655
+ export const PluginCatalogGetRequestSchema = z.object({
1656
+ type: z.literal("plugin.catalog.get.request"),
1657
+ requestId: z.string(),
1658
+ });
1659
+ export const PluginListRequestSchema = z.object({
1660
+ type: z.literal("plugin.list.request"),
1661
+ requestId: z.string(),
1662
+ });
1663
+ export const PluginLogsGetRequestSchema = z.object({
1664
+ type: z.literal("plugin.logs.get.request"),
1665
+ requestId: z.string(),
1666
+ pluginId: PluginIdSchema,
1667
+ });
1668
+ export const PluginDirectoryInstallRequestSchema = z.object({
1669
+ type: z.literal("plugin.directory.install.request"),
1670
+ requestId: z.string(),
1671
+ path: z.string().min(1),
1672
+ id: PluginIdSchema.optional(),
1673
+ });
1674
+ export const PluginDirectoryInspectRequestSchema = z.object({
1675
+ type: z.literal("plugin.directory.inspect.request"),
1676
+ requestId: z.string(),
1677
+ path: z.string().min(1),
1678
+ });
1679
+ function pluginIdRequest(type) {
1680
+ return z.object({ type: z.literal(type), requestId: z.string(), pluginId: PluginIdSchema });
1681
+ }
1682
+ export const PluginReloadRequestSchema = pluginIdRequest("plugin.reload.request");
1683
+ export const PluginEnableRequestSchema = pluginIdRequest("plugin.enable.request");
1684
+ export const PluginDisableRequestSchema = pluginIdRequest("plugin.disable.request");
1685
+ export const PluginRemoveRequestSchema = pluginIdRequest("plugin.remove.request");
1686
+ export const PluginRpcInvokeRequestSchema = z.object({
1687
+ type: z.literal("plugin.rpc.invoke.request"),
1688
+ requestId: z.string(),
1689
+ pluginId: PluginIdSchema,
1690
+ method: z.string().min(1),
1691
+ input: z.unknown(),
1692
+ });
1693
+ export const AgentSkillOperationSchema = z.discriminatedUnion("kind", [
1694
+ z.object({ kind: z.literal("add"), name: z.string() }).strict(),
1695
+ z.object({ kind: z.literal("update"), name: z.string() }).strict(),
1696
+ z.object({ kind: z.literal("delete"), name: z.string() }).strict(),
1697
+ ]);
1698
+ export const AgentSkillsStatusSchema = z.object({
1699
+ state: z.enum(["not-installed", "up-to-date", "drift"]),
1700
+ ops: z.array(AgentSkillOperationSchema),
1701
+ available: z.array(z.string()),
1702
+ installed: z.array(z.string()),
1703
+ selection: AgentSkillSelectionSchema,
1704
+ });
1705
+ export const AgentSkillsConfirmationSchema = z.object({ removals: z.array(z.string()) }).strict();
1706
+ export const AgentSkillsSaveResultSchema = AgentSkillsStatusSchema.extend({
1707
+ confirmationRequired: AgentSkillsConfirmationSchema.nullable(),
1708
+ });
1709
+ function agentSkillsRequest(type) {
1710
+ return z.object({ type: z.literal(type), requestId: z.string() }).strict();
1711
+ }
1712
+ export const AgentSkillsGetStatusRequestSchema = agentSkillsRequest("agent.skills.get_status.request");
1713
+ export const AgentSkillsReconcileRequestSchema = agentSkillsRequest("agent.skills.reconcile.request");
1714
+ export const AgentSkillsUninstallRequestSchema = agentSkillsRequest("agent.skills.uninstall.request");
1715
+ export const AgentSkillsSaveSelectionRequestSchema = z
1716
+ .object({
1717
+ type: z.literal("agent.skills.save_selection.request"),
1718
+ requestId: z.string(),
1719
+ selection: AgentSkillSelectionSchema,
1720
+ confirmedRemovals: z.array(z.string()).optional(),
1721
+ })
1722
+ .strict();
1723
+ export const AgentSkillsImportLegacySelectionRequestSchema = z
1724
+ .object({
1725
+ type: z.literal("agent.skills.import_legacy_selection.request"),
1726
+ requestId: z.string(),
1727
+ selection: AgentSkillSelectionSchema,
1728
+ })
1729
+ .strict();
1511
1730
  export const GetDaemonConfigRequestMessageSchema = z.object({
1512
1731
  type: z.literal("get_daemon_config_request"),
1513
1732
  requestId: z.string(),
@@ -1679,6 +1898,8 @@ export const CreateAgentRequestMessageSchema = z.object({
1679
1898
  agentProfile: z.string().optional(),
1680
1899
  env: z.record(z.string(), z.string()).optional(),
1681
1900
  workspaceId: z.string().optional(),
1901
+ // COMPAT(architecturalViewDraftAuthoring): added in v0.9.0, remove after 2027-02-28.
1902
+ architecturalViewDraft: z.object({ viewId: z.string(), draftId: z.string() }).optional(),
1682
1903
  // Optional caller context lets managed CLI invocations use the same daemon-owned
1683
1904
  // workspace and parentage policy as agent-scoped MCP creation.
1684
1905
  callerAgentId: z.string().optional(),
@@ -2828,6 +3049,7 @@ export const FileExplorerRequestSchema = z.object({
2828
3049
  mode: z.enum(["list", "file"]),
2829
3050
  requestId: z.string(),
2830
3051
  acceptBinary: z.boolean().optional(),
3052
+ maxBytes: z.number().int().positive().optional(),
2831
3053
  });
2832
3054
  export const FileVersionSchema = z.discriminatedUnion("status", [
2833
3055
  z.object({
@@ -3307,11 +3529,13 @@ export const SessionInboundMessageSchema = z.discriminatedUnion("type", [
3307
3529
  KanbanProjectTargetSetRequestSchema,
3308
3530
  ProjectIconSetRequestSchema,
3309
3531
  ProjectRemoveRequestSchema,
3310
- ProjectLinksListRequestSchema,
3311
- ProjectLinksSetRequestSchema,
3312
- ProjectLinksUnsetRequestSchema,
3313
3532
  WorkspaceTitleSetRequestSchema,
3314
3533
  WorkspacePinSetRequestSchema,
3534
+ WorkspaceLabelListRequestSchema,
3535
+ WorkspaceLabelAssignmentSetRequestSchema,
3536
+ WorkspaceLabelUpdateRequestSchema,
3537
+ WorkspaceLabelDeleteRequestSchema,
3538
+ WorkspaceLabelDeleteInspectRequestSchema,
3315
3539
  WorkspaceRecoveryInspectRequestSchema,
3316
3540
  WorkspaceRecoveryRestoreRequestSchema,
3317
3541
  SetVoiceModeMessageSchema,
@@ -3319,10 +3543,26 @@ export const SessionInboundMessageSchema = z.discriminatedUnion("type", [
3319
3543
  WaitForFinishRequestSchema,
3320
3544
  DaemonGetStatusRequestSchema,
3321
3545
  DaemonGetPairingOfferRequestSchema,
3546
+ DaemonConfigReloadRequestSchema,
3322
3547
  HubManagementDaemonConnectRequestSchema,
3323
3548
  HubManagementDaemonGetStatusRequestSchema,
3324
3549
  HubManagementDaemonDisconnectRequestSchema,
3325
3550
  DiagnosticsRequestSchema,
3551
+ PluginCatalogGetRequestSchema,
3552
+ PluginListRequestSchema,
3553
+ PluginLogsGetRequestSchema,
3554
+ PluginDirectoryInstallRequestSchema,
3555
+ PluginDirectoryInspectRequestSchema,
3556
+ PluginReloadRequestSchema,
3557
+ PluginEnableRequestSchema,
3558
+ PluginDisableRequestSchema,
3559
+ PluginRemoveRequestSchema,
3560
+ PluginRpcInvokeRequestSchema,
3561
+ AgentSkillsGetStatusRequestSchema,
3562
+ AgentSkillsReconcileRequestSchema,
3563
+ AgentSkillsUninstallRequestSchema,
3564
+ AgentSkillsSaveSelectionRequestSchema,
3565
+ AgentSkillsImportLegacySelectionRequestSchema,
3326
3566
  GetDaemonConfigRequestMessageSchema,
3327
3567
  SetDaemonConfigRequestMessageSchema,
3328
3568
  ConnectorsListToolsRequestSchema,
@@ -3388,6 +3628,8 @@ export const SessionInboundMessageSchema = z.discriminatedUnion("type", [
3388
3628
  ProjectKnowledgeProjectApplyRequestMessageSchema,
3389
3629
  ProjectKnowledgeReferenceApplyRequestMessageSchema,
3390
3630
  ProjectKnowledgeRootApplyRequestMessageSchema,
3631
+ ProjectKnowledgeRefineApplyRequestMessageSchema,
3632
+ ProjectKnowledgeRefinementProposeRequestMessageSchema,
3391
3633
  ProjectKnowledgeDeleteRequestMessageSchema,
3392
3634
  ProjectKnowledgeStoreGetRequestMessageSchema,
3393
3635
  ProjectKnowledgeStoreSetRequestMessageSchema,
@@ -3456,10 +3698,20 @@ export const SessionInboundMessageSchema = z.discriminatedUnion("type", [
3456
3698
  RunsGraphsListRequestSchema,
3457
3699
  RunsGraphsSaveRequestSchema,
3458
3700
  RunsGraphsDeleteRequestSchema,
3701
+ WorkflowsGraphsListRequestSchema,
3702
+ WorkflowsGraphSaveRequestSchema,
3703
+ WorkflowsGraphExportRequestSchema,
3704
+ WorkflowsGraphImportRequestSchema,
3459
3705
  RunsTemplatesListRequestSchema,
3460
3706
  RunsTemplatesSaveRequestSchema,
3461
3707
  RunsTemplatesDeleteRequestSchema,
3708
+ WorkflowsTemplatesListRequestSchema,
3709
+ WorkflowsTemplateSaveRequestSchema,
3710
+ WorkflowsStorageTransferRequestSchema,
3711
+ WorkflowsStartRequestSchema,
3462
3712
  RunsStartRequestSchema,
3713
+ WorkflowsStartConfirmationRespondRequestSchema,
3714
+ ProjectWorkflowStoreSetRequestSchema,
3463
3715
  CheckoutMergeRequestSchema,
3464
3716
  CheckoutMergeFromBaseRequestSchema,
3465
3717
  CheckoutPullRequestSchema,
@@ -3481,6 +3733,8 @@ export const SessionInboundMessageSchema = z.discriminatedUnion("type", [
3481
3733
  PreviewStopRequestSchema,
3482
3734
  CheckoutPrStatusRequestSchema,
3483
3735
  PullRequestTimelineRequestSchema,
3736
+ HostingPullRequestThreadSetResolvedRequestSchema,
3737
+ HostingPullRequestCommentSetReactionRequestSchema,
3484
3738
  CheckoutSwitchBranchRequestSchema,
3485
3739
  CheckoutRenameBranchRequestSchema,
3486
3740
  StashSaveRequestSchema,
@@ -3608,6 +3862,19 @@ export const SessionInboundMessageSchema = z.discriminatedUnion("type", [
3608
3862
  ArtifactDeleteRequestSchema,
3609
3863
  ArtifactStarRequestSchema,
3610
3864
  ArtifactGetContentRequestSchema,
3865
+ ArtifactRepairRequestSchema,
3866
+ ArtifactDataGetRequestSchema,
3867
+ ArtifactDataUpdateRequestSchema,
3868
+ ArtifactStoreMoveRequestSchema,
3869
+ ProjectArtifactStoreSetRequestSchema,
3870
+ ArchitecturalViewsDeliverRequestSchema,
3871
+ ArchitecturalViewsListRequestSchema,
3872
+ ArchitecturalViewsGetContentRequestSchema,
3873
+ ArchitecturalViewsDraftCreateRequestSchema,
3874
+ ArchitecturalViewsDraftUpdateRequestSchema,
3875
+ ArchitecturalViewsDraftPublishRequestSchema,
3876
+ ArchitecturalViewsDraftDiscardRequestSchema,
3877
+ ArchitecturalViewsDraftGetContentRequestSchema,
3611
3878
  ]);
3612
3879
  // ============================================================================
3613
3880
  // Session Outbound Messages (Session emits these)
@@ -3765,6 +4032,10 @@ export const ServerInfoStatusPayloadSchema = z
3765
4032
  providersSnapshot: z.boolean().optional(),
3766
4033
  // COMPAT(providersSnapshotCwd): added in v0.3.2, remove gate after 2027-02-10.
3767
4034
  providersSnapshotCwd: z.boolean().optional(),
4035
+ // COMPAT(directorySync): added in v0.3.x, remove gate after 2027-02-12.
4036
+ directorySync: z.boolean().optional(),
4037
+ // COMPAT(workspaceLabels): added in v0.5.0, remove after 2027-08-14.
4038
+ workspaceLabels: z.boolean().optional(),
3768
4039
  // COMPAT(checkoutForgeSetAutoMerge): added in v0.1.106, remove old
3769
4040
  // checkoutGithubSetAutoMerge fallback after 2026-12-28.
3770
4041
  checkoutForgeSetAutoMerge: z.boolean().optional(),
@@ -3773,14 +4044,31 @@ export const ServerInfoStatusPayloadSchema = z
3773
4044
  githubCheckDetails: z.boolean().optional(),
3774
4045
  // COMPAT(forgeCheckDetails): added in v0.1.106, remove githubCheckDetails fallback after 2026-12-28.
3775
4046
  forgeCheckDetails: z.boolean().optional(),
4047
+ // COMPAT(forgeReviewThreads): added in v0.8.15, remove gate after 2027-02-27.
4048
+ // The daemon accepts the provider-neutral discussion mutations.
4049
+ forgeReviewThreads: z.boolean().optional(),
3776
4050
  // COMPAT(forgeSearch): added in v0.1.106, remove github_search fallback after 2026-12-28.
3777
4051
  forgeSearch: z.boolean().optional(),
3778
4052
  // COMPAT(daemonStatusRpc): added in v0.1.76, remove gate after 2026-11-18.
3779
4053
  daemonStatusRpc: z.boolean().optional(),
4054
+ // COMPAT(daemonConfigReload): added in v0.4.0, remove gate after 2027-02-14.
4055
+ daemonConfigReload: z.boolean().optional(),
3780
4056
  // COMPAT(relayConfig): added in v0.2.6, remove gate after 2027-01-31.
3781
4057
  relayConfig: z.boolean().optional(),
3782
4058
  // COMPAT(pushTokenRevocation): added in v0.3.2, remove gate after 2027-02-10.
3783
4059
  pushTokenRevocation: z.boolean().optional(),
4060
+ // COMPAT(plugins): added in v0.3.0, remove gate after 2027-08-07.
4061
+ plugins: z.boolean().optional(),
4062
+ // COMPAT(pluginManagement): added in v0.4.0, remove gate after 2027-08-14.
4063
+ pluginManagement: z.boolean().optional(),
4064
+ // COMPAT(pluginLogs): added in v0.4.0, remove gate after 2027-08-16.
4065
+ pluginLogs: z.boolean().optional(),
4066
+ // COMPAT(pluginThemes): added in v0.5.0, remove gate after 2027-08-20.
4067
+ // A daemon that predates this flag keeps `addTheme` in the server bundle it compiles,
4068
+ // so a theme plugin cannot start there at all.
4069
+ pluginThemes: z.boolean().optional(),
4070
+ // COMPAT(skillManagement): added in v0.4.0, remove gate after 2027-08-16.
4071
+ skillManagement: z.boolean().optional(),
3784
4072
  // COMPAT(terminalRestoreModes): added in v0.1.81, remove gate after 2026-11-23.
3785
4073
  "terminal-restore-modes": z.boolean().optional(),
3786
4074
  // COMPAT(terminalCompatibilityDiagnostic): added in v0.8.9, remove gate after 2027-02-12.
@@ -3913,6 +4201,8 @@ export const ServerInfoStatusPayloadSchema = z
3913
4201
  agentContextUsage: z.boolean().optional(),
3914
4202
  // COMPAT(artifacts): added in v0.4.1, drop the gate when daemon floor >= v0.4.1.
3915
4203
  artifacts: z.boolean().optional(),
4204
+ // COMPAT(architecturalViews): added in v0.9.0, remove after 2027-02-28.
4205
+ architecturalViews: z.boolean().optional(),
3916
4206
  // COMPAT(observedSubagents): added in v0.4.3, drop the gate when daemon floor >= v0.4.3.
3917
4207
  observedSubagents: z.boolean().optional(),
3918
4208
  // COMPAT(backgroundShellTasks): added in v0.5.3, drop the gate when daemon floor >= v0.5.3.
@@ -3967,11 +4257,47 @@ export const ServerInfoStatusPayloadSchema = z
3967
4257
  personalityMemory: z.boolean().optional(),
3968
4258
  // COMPAT(projectKnowledge): added in v0.8.5, drop the gate when daemon floor >= v0.8.5.
3969
4259
  projectKnowledge: z.boolean().optional(),
4260
+ // COMPAT(projectKnowledgeRefinement): added in v0.8.19, drop the gate
4261
+ // when floor >= v0.8.19.
4262
+ projectKnowledgeRefinement: z.boolean().optional(),
4263
+ // COMPAT(projectKnowledgeReviewedRefinement): added in v0.8.20, remove
4264
+ // the gate after 2027-02-26. The dedicated reviewed-Knowledge proposal
4265
+ // RPC is not supported by hosts that only expose the original apply RPC.
4266
+ projectKnowledgeReviewedRefinement: z.boolean().optional(),
4267
+ // COMPAT(projectKnowledgeAnchoredRefinement): added in v0.8.21, remove
4268
+ // the gate after 2027-02-27.
4269
+ projectKnowledgeAnchoredRefinement: z.boolean().optional(),
4270
+ // COMPAT(projectKnowledgeTagEditing): added in v0.8.21, remove the
4271
+ // gate after 2027-02-27.
4272
+ projectKnowledgeTagEditing: z.boolean().optional(),
3970
4273
  // COMPAT(projectKnowledgeStoreLocation): added in v0.8.18, drop the gate
3971
4274
  // when daemon floor >= v0.8.18. A project's Knowledge store can live
3972
4275
  // host-local instead of in the repository: the project.knowledge.store.*
3973
4276
  // RPCs, the per-project override, and the host default setting.
3974
4277
  projectKnowledgeStoreLocation: z.boolean().optional(),
4278
+ // COMPAT(artifactStoreLocation): added in v0.9.0, remove after 2027-02-28.
4279
+ // The host supports the independent Artifacts storage default and
4280
+ // per-project overrides.
4281
+ artifactStoreLocation: z.boolean().optional(),
4282
+ // COMPAT(artifactRepair): added in v0.9.0, remove after 2027-02-28.
4283
+ // The host monitors externally edited artifacts and can restore a
4284
+ // retained last-known-good output through artifact.repair.request.
4285
+ artifactRepair: z.boolean().optional(),
4286
+ // COMPAT(artifactDataUpdate): added in v0.9.0, remove after 2027-02-28.
4287
+ artifactDataUpdate: z.boolean().optional(),
4288
+ // COMPAT(artifactStoreMove): added in v0.9.0, remove after 2027-02-28.
4289
+ // The host can explicitly transfer a settled artifact between its
4290
+ // repository and host-local stores without changing write preferences.
4291
+ artifactStoreMove: z.boolean().optional(),
4292
+ // COMPAT(artifactProvenance): added in v0.9.0, remove after 2027-02-28.
4293
+ // The host persists and exposes an Artifact's latest durable source.
4294
+ artifactProvenance: z.boolean().optional(),
4295
+ // COMPAT(categoryStorageResolver): added in v0.9.0, remove after 2027-02-28.
4296
+ // An additive shared resolver with a declared supported-category set.
4297
+ categoryStorageResolver: z
4298
+ .object({ categories: z.array(z.string().min(1)) })
4299
+ .passthrough()
4300
+ .optional(),
3975
4301
  // Script discovery - the daemon scans a workspace for the Scripts its
3976
4302
  // project files already declare (package.json scripts, and later
3977
4303
  // Makefile targets, .NET launch profiles) and serves them from
@@ -4096,15 +4422,29 @@ export const ServerInfoStatusPayloadSchema = z
4096
4422
  // The daemon accepts `runs.start` with `draft: true` AND a `runId`,
4097
4423
  // re-saving that draft in place instead of minting a second one.
4098
4424
  runsDraftEdit: z.boolean().optional(),
4425
+ // COMPAT(workflowStartRpc): added in v0.9.0, remove after 2027-02-28.
4426
+ // A new client uses workflows.start when this is true; an older daemon
4427
+ // continues to receive the established runs.start pair.
4428
+ workflowStartRpc: z.boolean().optional(),
4429
+ // COMPAT(workflowStartConfirmation): added in v0.9.0, remove after
4430
+ // 2027-02-28. A new client refuses the start surface rather than
4431
+ // claiming it can enforce agent-count confirmation on an older host.
4432
+ workflowStartConfirmation: z.boolean().optional(),
4099
4433
  // COMPAT(orchestrationGraphs): added in v0.6.7, drop the gate when daemon floor >= v0.6.7.
4100
4434
  orchestrationGraphs: z.boolean().optional(),
4101
- // COMPAT(projectLinks): added in v0.5.6, drop the gate when daemon floor >= v0.5.6.
4102
- projectLinks: z.boolean().optional(),
4435
+ // COMPAT(graphCheckOutputPorts): added in v0.9.0, remove after 2027-02-28.
4436
+ // A client must not offer Check recovery routing to a host that still
4437
+ // treats a false Check as an unconditional terminal failure.
4438
+ graphCheckOutputPorts: z.boolean().optional(),
4439
+ // COMPAT(scheduleWorkflowTargets): added in v0.9.0, remove after 2027-02-28.
4440
+ // The Schedule editor may select saved Workflow definitions only when
4441
+ // the host performs the project/definition resolution and audit.
4442
+ scheduleWorkflowTargets: z.boolean().optional(),
4103
4443
  // COMPAT(fileOutsideWorkspace): added in v0.5.8, drop the gate when daemon floor >= v0.5.8.
4104
4444
  // Set when the daemon will serve single-file read/write/watch for paths
4105
4445
  // outside every known workspace (bounded only by OS filesystem
4106
- // permissions). The client gates this behind an "edit anyway" warning;
4107
- // an old daemon leaves the flag unset and out-of-project files are not offered.
4446
+ // permissions). An old daemon leaves the flag unset, so the client does
4447
+ // not route external files through this access path.
4108
4448
  fileOutsideWorkspace: z.boolean().optional(),
4109
4449
  // COMPAT(promptSuggestions): added in v0.6.3, drop the gate when daemon floor >= v0.6.3.
4110
4450
  // Set when the daemon emits agent_stream `prompt_suggestion` events (native
@@ -4404,6 +4744,10 @@ export const DaemonConfigChangedStatusPayloadSchema = z
4404
4744
  config: MutableDaemonConfigSchema,
4405
4745
  })
4406
4746
  .passthrough();
4747
+ export const PluginCatalogChangedStatusPayloadSchema = z.object({
4748
+ status: z.literal("plugin_catalog_changed"),
4749
+ pluginId: PluginIdSchema,
4750
+ });
4407
4751
  export const KnownStatusPayloadSchema = z.discriminatedUnion("status", [
4408
4752
  BrainStatusChangedStatusPayloadSchema,
4409
4753
  BrainLogLineAddedStatusPayloadSchema,
@@ -4416,6 +4760,7 @@ export const KnownStatusPayloadSchema = z.discriminatedUnion("status", [
4416
4760
  ShutdownRequestedStatusPayloadSchema,
4417
4761
  RestartRequestedStatusPayloadSchema,
4418
4762
  DaemonConfigChangedStatusPayloadSchema,
4763
+ PluginCatalogChangedStatusPayloadSchema,
4419
4764
  ]);
4420
4765
  export const ArtifactMessageSchema = z.object({
4421
4766
  type: z.literal("artifact"),
@@ -4558,7 +4903,7 @@ const WorkspaceGitRuntimePayloadSchema = z
4558
4903
  })
4559
4904
  .optional()
4560
4905
  .nullable();
4561
- const WorkspaceGitHubRuntimePayloadSchema = z
4906
+ export const WorkspaceGitHubRuntimePayloadSchema = z
4562
4907
  .object({
4563
4908
  featuresEnabled: z.boolean().optional(),
4564
4909
  pullRequest: z
@@ -4636,6 +4981,8 @@ export const WorkspaceDescriptorPayloadSchema = z
4636
4981
  title: z.string().nullable().optional(),
4637
4982
  // COMPAT(workspacePinning): added in v0.1.107, remove optional after 2027-01-12.
4638
4983
  pinnedAt: z.string().nullable().optional(),
4984
+ // COMPAT(workspaceLabels): added in v0.5.0, remove optional after 2027-08-14.
4985
+ labels: z.array(z.string()).optional(),
4639
4986
  archivingAt: z.string().nullable().optional().default(null),
4640
4987
  status: WorkspaceStateBucketSchema,
4641
4988
  // Best-effort workspace status entry timestamp. Old daemons omit the
@@ -4672,6 +5019,8 @@ export const WorkspaceDescriptorPayloadSchema = z
4672
5019
  // Old daemons omit it; absent means the client falls back to GitHub.
4673
5020
  forge: z.string().optional(),
4674
5021
  project: ProjectPlacementPayloadSchema.optional(),
5022
+ // COMPAT(directorySync): sequence of this latest directory projection.
5023
+ syncSeq: z.number().int().positive().optional(),
4675
5024
  })
4676
5025
  .transform((workspace) => ({
4677
5026
  ...workspace,
@@ -4690,10 +5039,14 @@ export const AgentUpdateMessageSchema = z.object({
4690
5039
  kind: z.literal("upsert"),
4691
5040
  agent: AgentSnapshotPayloadSchema,
4692
5041
  project: ProjectPlacementPayloadSchema.nullable().optional(),
5042
+ generation: z.string().optional(),
5043
+ seq: z.number().int().positive().optional(),
4693
5044
  }),
4694
5045
  z.object({
4695
5046
  kind: z.literal("remove"),
4696
5047
  agentId: z.string(),
5048
+ generation: z.string().optional(),
5049
+ seq: z.number().int().positive().optional(),
4697
5050
  }),
4698
5051
  ]),
4699
5052
  });
@@ -4741,6 +5094,8 @@ const AgentDirectoryResponseEntrySchema = z.object({
4741
5094
  // anyway; sending it keeps the client from re-deriving a second opinion that
4742
5095
  // could disagree with the ranking it is explaining.
4743
5096
  searchMatches: z.array(AgentSearchMatchSchema).optional(),
5097
+ // COMPAT(directorySync): sequence of this latest directory projection.
5098
+ syncSeq: z.number().int().positive().optional(),
4744
5099
  });
4745
5100
  const AgentDirectoryPageInfoSchema = z.object({
4746
5101
  nextCursor: z.string().nullable(),
@@ -4754,6 +5109,7 @@ export const FetchAgentsResponseMessageSchema = z.object({
4754
5109
  subscriptionId: z.string().nullable().optional(),
4755
5110
  entries: z.array(AgentDirectoryResponseEntrySchema),
4756
5111
  pageInfo: AgentDirectoryPageInfoSchema,
5112
+ sync: DirectorySyncMetadataSchema.optional(),
4757
5113
  }),
4758
5114
  });
4759
5115
  export const FetchAgentHistoryResponseMessageSchema = z.object({
@@ -4799,10 +5155,20 @@ export const WorkspaceProjectDescriptorPayloadSchema = z.object({
4799
5155
  // COMPAT(projectKnowledgeStoreLocation): added in v0.8.18, drop the optional
4800
5156
  // gate when floor >= v0.8.18.
4801
5157
  projectKnowledgeLocation: ProjectKnowledgeStoreLocationValueSchema.nullable().optional(),
5158
+ // COMPAT(artifactStoreLocation): added in v0.9.0, remove after 2027-02-28.
5159
+ projectArtifactLocation: ProjectArtifactStoreLocationValueSchema.nullable().optional(),
5160
+ // COMPAT(categoryStorageResolver): added in v0.9.0, remove after 2027-02-28.
5161
+ projectWorkflowLocation: z.enum(["repository", "host"]).nullable().optional(),
4802
5162
  // COMPAT(projectCustomIcon): added in v0.2.0, remove after 2027-01-20.
4803
5163
  projectCustomIconRevision: z.string().nullable().optional(),
5164
+ // Fingerprints the effective icon, including automatic discovery and the
5165
+ // absence of an icon. Clients may persist icon results against this value.
5166
+ // COMPAT(projectIconCache): added in v0.2.7, remove optional after 2027-02-12.
5167
+ projectIconRevision: z.string().optional(),
4804
5168
  projectRootPath: z.string(),
4805
5169
  projectKind: z.enum(["git", "non_git", "directory"]),
5170
+ // COMPAT(directorySync): sequence of this latest directory projection.
5171
+ syncSeq: z.number().int().positive().optional(),
4806
5172
  });
4807
5173
  export const FetchWorkspacesResponseMessageSchema = z.object({
4808
5174
  type: z.literal("fetch_workspaces_response"),
@@ -4819,6 +5185,7 @@ export const FetchWorkspacesResponseMessageSchema = z.object({
4819
5185
  prevCursor: z.string().nullable(),
4820
5186
  hasMore: z.boolean(),
4821
5187
  }),
5188
+ sync: DirectorySyncMetadataSchema.optional(),
4822
5189
  }),
4823
5190
  });
4824
5191
  export const WorkspaceUpdateMessageSchema = z.object({
@@ -4827,6 +5194,8 @@ export const WorkspaceUpdateMessageSchema = z.object({
4827
5194
  z.object({
4828
5195
  kind: z.literal("upsert"),
4829
5196
  workspace: WorkspaceDescriptorPayloadSchema,
5197
+ generation: z.string().optional(),
5198
+ seq: z.number().int().positive().optional(),
4830
5199
  }),
4831
5200
  z.object({
4832
5201
  kind: z.literal("remove"),
@@ -4841,6 +5210,8 @@ export const WorkspaceUpdateMessageSchema = z.object({
4841
5210
  // Project removal is represented on the existing workspace update channel
4842
5211
  // so old clients can still parse the message and ignore the extra field.
4843
5212
  removedProjectId: z.string().optional(),
5213
+ generation: z.string().optional(),
5214
+ seq: z.number().int().positive().optional(),
4844
5215
  }),
4845
5216
  ]),
4846
5217
  });
@@ -4860,11 +5231,83 @@ export const ProjectUpdatedNotificationSchema = z.object({
4860
5231
  hasActiveWorkspaces: z.boolean(),
4861
5232
  }),
4862
5233
  });
5234
+ const WorkspaceLabelSyncMetadataSchema = z.object({
5235
+ mode: z.enum(["snapshot", "changes"]),
5236
+ generation: z.string(),
5237
+ headSeq: z.number().int().nonnegative(),
5238
+ removals: z.array(z.object({ name: z.string(), seq: z.number().int().positive() })),
5239
+ });
5240
+ export const WorkspaceLabelListResponseSchema = z.object({
5241
+ type: z.literal("workspace.label.list.response"),
5242
+ payload: z.object({
5243
+ requestId: z.string(),
5244
+ labels: z.array(WorkspaceLabelDefinitionSchema),
5245
+ sync: WorkspaceLabelSyncMetadataSchema,
5246
+ }),
5247
+ });
5248
+ export const WorkspaceLabelUpdateSchema = z.object({
5249
+ type: z.literal("workspace.label.update"),
5250
+ payload: z.discriminatedUnion("kind", [
5251
+ z.object({
5252
+ kind: z.literal("upsert"),
5253
+ label: WorkspaceLabelDefinitionSchema,
5254
+ previousName: z.string().optional(),
5255
+ generation: z.string(),
5256
+ seq: z.number().int().positive(),
5257
+ }),
5258
+ z.object({
5259
+ kind: z.literal("remove"),
5260
+ name: z.string(),
5261
+ generation: z.string(),
5262
+ seq: z.number().int().positive(),
5263
+ }),
5264
+ ]),
5265
+ });
5266
+ export const WorkspaceLabelAssignmentSetResponseSchema = z.object({
5267
+ type: z.literal("workspace.label.assignment.set.response"),
5268
+ payload: z.object({
5269
+ requestId: z.string(),
5270
+ label: WorkspaceLabelDefinitionSchema,
5271
+ workspaceLabels: z.array(z.string()),
5272
+ }),
5273
+ });
5274
+ export const WorkspaceLabelUpdateResponseSchema = z.object({
5275
+ type: z.literal("workspace.label.update.response"),
5276
+ payload: z.object({
5277
+ requestId: z.string(),
5278
+ label: WorkspaceLabelDefinitionSchema,
5279
+ affectedWorkspaceCount: z.number().int().nonnegative(),
5280
+ }),
5281
+ });
5282
+ export const WorkspaceLabelDeleteResponseSchema = z.object({
5283
+ type: z.literal("workspace.label.delete.response"),
5284
+ payload: z.object({
5285
+ requestId: z.string(),
5286
+ affectedWorkspaceCount: z.number().int().nonnegative(),
5287
+ }),
5288
+ });
5289
+ export const WorkspaceLabelDeleteInspectResponseSchema = z.object({
5290
+ type: z.literal("workspace.label.delete.inspect.response"),
5291
+ payload: z.object({
5292
+ requestId: z.string(),
5293
+ affectedWorkspaceCount: z.number().int().nonnegative(),
5294
+ }),
5295
+ });
4863
5296
  export const ProjectUpdateMessageSchema = z.object({
4864
5297
  type: z.literal("project.update"),
4865
5298
  payload: z.discriminatedUnion("kind", [
4866
- z.object({ kind: z.literal("upsert"), project: WorkspaceProjectDescriptorPayloadSchema }),
4867
- z.object({ kind: z.literal("remove"), projectId: z.string() }),
5299
+ z.object({
5300
+ kind: z.literal("upsert"),
5301
+ project: WorkspaceProjectDescriptorPayloadSchema,
5302
+ generation: z.string().optional(),
5303
+ seq: z.number().int().positive().optional(),
5304
+ }),
5305
+ z.object({
5306
+ kind: z.literal("remove"),
5307
+ projectId: z.string(),
5308
+ generation: z.string().optional(),
5309
+ seq: z.number().int().positive().optional(),
5310
+ }),
4868
5311
  ]),
4869
5312
  });
4870
5313
  export const ProjectListResponseMessageSchema = z.object({
@@ -4872,6 +5315,7 @@ export const ProjectListResponseMessageSchema = z.object({
4872
5315
  payload: z.object({
4873
5316
  requestId: z.string(),
4874
5317
  projects: z.array(WorkspaceProjectDescriptorPayloadSchema),
5318
+ sync: DirectorySyncMetadataSchema.optional(),
4875
5319
  }),
4876
5320
  });
4877
5321
  export const ProjectResolveWorkspaceForPathResponseSchema = z.object({
@@ -5151,6 +5595,7 @@ const AgentTimelineSeqRangeSchema = z.object({
5151
5595
  export const AgentTimelineEntryPayloadSchema = z.object({
5152
5596
  provider: AgentProviderSchema,
5153
5597
  item: AgentTimelineItemPayloadSchema,
5598
+ turnId: z.string().optional(),
5154
5599
  timestamp: z.string(),
5155
5600
  seqStart: z.number().int().nonnegative(),
5156
5601
  seqEnd: z.number().int().nonnegative(),
@@ -5466,6 +5911,17 @@ export const DaemonGetPairingOfferResponseSchema = z.object({
5466
5911
  })
5467
5912
  .passthrough(),
5468
5913
  });
5914
+ export const DaemonConfigReloadResponseSchema = z.object({
5915
+ type: z.literal("daemon.config.reload.response"),
5916
+ payload: z
5917
+ .object({
5918
+ requestId: z.string(),
5919
+ appliedPaths: z.array(z.string()),
5920
+ restartRequiredPaths: z.array(z.string()),
5921
+ overrideControlledPaths: z.array(z.string()),
5922
+ })
5923
+ .passthrough(),
5924
+ });
5469
5925
  export const DiagnosticsResponseSchema = z.object({
5470
5926
  type: z.literal("diagnostics.response"),
5471
5927
  payload: z
@@ -5723,6 +6179,10 @@ export const CheckoutPrStatusSchema = z.object({
5723
6179
  status: z.string(),
5724
6180
  url: z.string().nullable(),
5725
6181
  workflow: z.string().optional(),
6182
+ /**
6183
+ * Formatted by the forge adapter: how long a finished check took, or how long a
6184
+ * running one has been going. Raw timestamps stay off the wire.
6185
+ */
5726
6186
  duration: z.string().optional(),
5727
6187
  checkRunId: z.number().optional(),
5728
6188
  workflowRunId: z.number().optional(),
@@ -6168,6 +6628,24 @@ const PullRequestTimelineCommentItemSchema = z.object({
6168
6628
  body: z.string().optional().default(""),
6169
6629
  createdAt: z.number().optional().default(0),
6170
6630
  url: z.string().optional().default(""),
6631
+ // Provider-neutral aggregate reaction state. Absent on forges that do not
6632
+ // expose comment reactions and on daemons that predate discussion support.
6633
+ reactions: z
6634
+ .array(z.object({
6635
+ content: z.enum([
6636
+ "THUMBS_UP",
6637
+ "THUMBS_DOWN",
6638
+ "LAUGH",
6639
+ "HOORAY",
6640
+ "CONFUSED",
6641
+ "HEART",
6642
+ "ROCKET",
6643
+ "EYES",
6644
+ ]),
6645
+ count: z.number().int().nonnegative(),
6646
+ viewerHasReacted: z.boolean(),
6647
+ }))
6648
+ .optional(),
6171
6649
  // GitHub review id this inline comment belongs to; lets clients nest review
6172
6650
  // threads under their parent review. Absent on issue comments and on
6173
6651
  // timelines from daemons that predate the field.
@@ -6213,6 +6691,7 @@ export const PullRequestTimelineResponseSchema = z.object({
6213
6691
  cwd: z.string().optional().default(""),
6214
6692
  prNumber: z.number().nullable().optional().default(null),
6215
6693
  items: z.array(PullRequestTimelineItemSchema).optional().default([]),
6694
+ commentReactionsSupported: z.boolean().optional(),
6216
6695
  truncated: z.boolean().optional().default(false),
6217
6696
  error: PullRequestTimelineErrorSchema.nullable().optional().default(null),
6218
6697
  requestId: z.string().optional().default(""),
@@ -6957,6 +7436,91 @@ export function parseHubExecutionOutboundMessage(value) {
6957
7436
  }
6958
7437
  return message;
6959
7438
  }
7439
+ export const PluginCatalogGetResponseSchema = z.object({
7440
+ type: z.literal("plugin.catalog.get.response"),
7441
+ payload: z.object({
7442
+ requestId: z.string(),
7443
+ plugins: z.array(z.object({
7444
+ id: PluginIdSchema,
7445
+ clientBundle: z.string(),
7446
+ })),
7447
+ }),
7448
+ });
7449
+ export const PluginStatusSchema = z.enum(["running", "disabled", "failed"]);
7450
+ export const PluginListItemSchema = z.object({
7451
+ id: PluginIdSchema,
7452
+ path: z.string(),
7453
+ enabled: z.boolean(),
7454
+ status: PluginStatusSchema,
7455
+ error: z.string().optional(),
7456
+ });
7457
+ export const PluginLogEntrySchema = z.object({
7458
+ sequence: z.number().int().nonnegative(),
7459
+ timestamp: z.string().datetime(),
7460
+ stream: z.enum(["stdout", "stderr"]),
7461
+ message: z.string(),
7462
+ });
7463
+ export const PluginListResponseSchema = z.object({
7464
+ type: z.literal("plugin.list.response"),
7465
+ payload: z.object({ requestId: z.string(), plugins: z.array(PluginListItemSchema) }),
7466
+ });
7467
+ export const PluginLogsGetResponseSchema = z.object({
7468
+ type: z.literal("plugin.logs.get.response"),
7469
+ payload: z.object({
7470
+ requestId: z.string(),
7471
+ pluginId: PluginIdSchema,
7472
+ entries: z.array(PluginLogEntrySchema),
7473
+ }),
7474
+ });
7475
+ export const PluginDirectoryInstallResponseSchema = z.object({
7476
+ type: z.literal("plugin.directory.install.response"),
7477
+ payload: z.object({ requestId: z.string(), plugin: PluginListItemSchema }),
7478
+ });
7479
+ export const PluginDirectoryInspectResponseSchema = z.object({
7480
+ type: z.literal("plugin.directory.inspect.response"),
7481
+ payload: z.object({ requestId: z.string(), id: PluginIdSchema }),
7482
+ });
7483
+ function pluginActionResponse(type) {
7484
+ return z.object({
7485
+ type: z.literal(type),
7486
+ payload: z.object({ requestId: z.string(), plugin: PluginListItemSchema }),
7487
+ });
7488
+ }
7489
+ export const PluginReloadResponseSchema = pluginActionResponse("plugin.reload.response");
7490
+ export const PluginEnableResponseSchema = pluginActionResponse("plugin.enable.response");
7491
+ export const PluginDisableResponseSchema = pluginActionResponse("plugin.disable.response");
7492
+ export const PluginRemoveResponseSchema = z.object({
7493
+ type: z.literal("plugin.remove.response"),
7494
+ payload: z.object({ requestId: z.string() }).strict(),
7495
+ });
7496
+ export const PluginRpcInvokeResponseSchema = z.object({
7497
+ type: z.literal("plugin.rpc.invoke.response"),
7498
+ payload: z.object({
7499
+ requestId: z.string(),
7500
+ output: z.unknown(),
7501
+ }),
7502
+ });
7503
+ function agentSkillsStatusResponse(type) {
7504
+ return z.object({
7505
+ type: z.literal(type),
7506
+ payload: AgentSkillsStatusSchema.extend({ requestId: z.string() }),
7507
+ });
7508
+ }
7509
+ export const AgentSkillsGetStatusResponseSchema = agentSkillsStatusResponse("agent.skills.get_status.response");
7510
+ export const AgentSkillsReconcileResponseSchema = agentSkillsStatusResponse("agent.skills.reconcile.response");
7511
+ export const AgentSkillsUninstallResponseSchema = agentSkillsStatusResponse("agent.skills.uninstall.response");
7512
+ export const AgentSkillsSaveSelectionResponseSchema = z.object({
7513
+ type: z.literal("agent.skills.save_selection.response"),
7514
+ payload: AgentSkillsSaveResultSchema.extend({ requestId: z.string() }),
7515
+ });
7516
+ export const AgentSkillsImportLegacySelectionResponseSchema = z.object({
7517
+ type: z.literal("agent.skills.import_legacy_selection.response"),
7518
+ payload: z.object({
7519
+ requestId: z.string(),
7520
+ imported: z.boolean(),
7521
+ selection: AgentSkillSelectionSchema,
7522
+ }),
7523
+ });
6960
7524
  export const SessionOutboundMessageSchema = z.discriminatedUnion("type", [
6961
7525
  HubExecutionAgentCreateResponseSchema,
6962
7526
  HubExecutionAgentValidateResponseSchema,
@@ -6964,6 +7528,21 @@ export const SessionOutboundMessageSchema = z.discriminatedUnion("type", [
6964
7528
  HubExecutionAgentUpdateSchema,
6965
7529
  HubExecutionAgentStreamSchema,
6966
7530
  BrowserAutomationExecuteRequestSchema,
7531
+ PluginCatalogGetResponseSchema,
7532
+ PluginListResponseSchema,
7533
+ PluginLogsGetResponseSchema,
7534
+ PluginDirectoryInstallResponseSchema,
7535
+ PluginDirectoryInspectResponseSchema,
7536
+ PluginReloadResponseSchema,
7537
+ PluginEnableResponseSchema,
7538
+ PluginDisableResponseSchema,
7539
+ PluginRemoveResponseSchema,
7540
+ PluginRpcInvokeResponseSchema,
7541
+ AgentSkillsGetStatusResponseSchema,
7542
+ AgentSkillsReconcileResponseSchema,
7543
+ AgentSkillsUninstallResponseSchema,
7544
+ AgentSkillsSaveSelectionResponseSchema,
7545
+ AgentSkillsImportLegacySelectionResponseSchema,
6967
7546
  ActivityLogMessageSchema,
6968
7547
  AssistantChunkMessageSchema,
6969
7548
  AudioOutputMessageSchema,
@@ -6982,6 +7561,12 @@ export const SessionOutboundMessageSchema = z.discriminatedUnion("type", [
6982
7561
  ArtifactUpdateMessageSchema,
6983
7562
  AgentUpdateMessageSchema,
6984
7563
  WorkspaceUpdateMessageSchema,
7564
+ WorkspaceLabelListResponseSchema,
7565
+ WorkspaceLabelUpdateSchema,
7566
+ WorkspaceLabelAssignmentSetResponseSchema,
7567
+ WorkspaceLabelUpdateResponseSchema,
7568
+ WorkspaceLabelDeleteResponseSchema,
7569
+ WorkspaceLabelDeleteInspectResponseSchema,
6985
7570
  ProjectUpdateMessageSchema,
6986
7571
  ProjectListResponseMessageSchema,
6987
7572
  ProjectResolveWorkspaceForPathResponseSchema,
@@ -7029,6 +7614,7 @@ export const SessionOutboundMessageSchema = z.discriminatedUnion("type", [
7029
7614
  SetVoiceModeResponseMessageSchema,
7030
7615
  DaemonGetStatusResponseSchema,
7031
7616
  DaemonGetPairingOfferResponseSchema,
7617
+ DaemonConfigReloadResponseSchema,
7032
7618
  HubManagementDaemonConnectResponseSchema,
7033
7619
  HubManagementDaemonGetStatusResponseSchema,
7034
7620
  HubManagementDaemonDisconnectResponseSchema,
@@ -7101,10 +7687,6 @@ export const SessionOutboundMessageSchema = z.discriminatedUnion("type", [
7101
7687
  ProjectUpdatedNotificationSchema,
7102
7688
  ProjectIconSetResponseSchema,
7103
7689
  ProjectRemoveResponseSchema,
7104
- ProjectLinksListResponseSchema,
7105
- ProjectLinksSetResponseSchema,
7106
- ProjectLinksUnsetResponseSchema,
7107
- ProjectLinksChangedSchema,
7108
7690
  WorkspaceTitleSetResponseSchema,
7109
7691
  WorkspacePinSetResponseSchema,
7110
7692
  WorkspaceRecoveryInspectResponseSchema,
@@ -7179,11 +7761,21 @@ export const SessionOutboundMessageSchema = z.discriminatedUnion("type", [
7179
7761
  RunsGraphsSaveResponseSchema,
7180
7762
  RunsGraphsDeleteResponseSchema,
7181
7763
  RunsGraphsChangedNotificationSchema,
7764
+ WorkflowsGraphsListResponseSchema,
7765
+ WorkflowsGraphSaveResponseSchema,
7766
+ WorkflowsGraphExportResponseSchema,
7767
+ WorkflowsGraphImportResponseSchema,
7182
7768
  RunsTemplatesListResponseSchema,
7183
7769
  RunsTemplatesSaveResponseSchema,
7184
7770
  RunsTemplatesDeleteResponseSchema,
7185
7771
  RunsTemplatesChangedNotificationSchema,
7772
+ WorkflowsTemplatesListResponseSchema,
7773
+ WorkflowsTemplateSaveResponseSchema,
7774
+ WorkflowsStorageTransferResponseSchema,
7775
+ WorkflowsStartResponseSchema,
7186
7776
  RunsStartResponseSchema,
7777
+ WorkflowsStartConfirmationRespondResponseSchema,
7778
+ ProjectWorkflowStoreSetResponseSchema,
7187
7779
  CheckoutMergeResponseSchema,
7188
7780
  CheckoutMergeFromBaseResponseSchema,
7189
7781
  CheckoutPullResponseSchema,
@@ -7205,6 +7797,8 @@ export const SessionOutboundMessageSchema = z.discriminatedUnion("type", [
7205
7797
  PreviewStopResponseSchema,
7206
7798
  CheckoutPrStatusResponseSchema,
7207
7799
  PullRequestTimelineResponseSchema,
7800
+ HostingPullRequestThreadSetResolvedResponseSchema,
7801
+ HostingPullRequestCommentSetReactionResponseSchema,
7208
7802
  CheckoutSwitchBranchResponseSchema,
7209
7803
  CheckoutRenameBranchResponseSchema,
7210
7804
  StashSaveResponseSchema,
@@ -7288,6 +7882,8 @@ export const SessionOutboundMessageSchema = z.discriminatedUnion("type", [
7288
7882
  ProjectKnowledgeProjectApplyResponseMessageSchema,
7289
7883
  ProjectKnowledgeReferenceApplyResponseMessageSchema,
7290
7884
  ProjectKnowledgeRootApplyResponseMessageSchema,
7885
+ ProjectKnowledgeRefineApplyResponseMessageSchema,
7886
+ ProjectKnowledgeRefinementProposeResponseMessageSchema,
7291
7887
  ProjectKnowledgeDeleteResponseMessageSchema,
7292
7888
  ProjectKnowledgeStoreGetResponseMessageSchema,
7293
7889
  ProjectKnowledgeStoreSetResponseMessageSchema,
@@ -7348,9 +7944,23 @@ export const SessionOutboundMessageSchema = z.discriminatedUnion("type", [
7348
7944
  ArtifactDeleteResponseSchema,
7349
7945
  ArtifactStarResponseSchema,
7350
7946
  ArtifactGetContentResponseSchema,
7947
+ ArtifactRepairResponseSchema,
7948
+ ArtifactDataGetResponseSchema,
7949
+ ArtifactDataUpdateResponseSchema,
7950
+ ArtifactStoreMoveResponseSchema,
7951
+ ProjectArtifactStoreSetResponseSchema,
7351
7952
  ArtifactCreatedNotificationSchema,
7352
7953
  ArtifactUpdatedNotificationSchema,
7353
7954
  ArtifactDeletedNotificationSchema,
7955
+ ArchitecturalViewsDeliverResponseSchema,
7956
+ ArchitecturalViewsListResponseSchema,
7957
+ ArchitecturalViewsGetContentResponseSchema,
7958
+ ArchitecturalViewsDraftCreateResponseSchema,
7959
+ ArchitecturalViewsDraftUpdateResponseSchema,
7960
+ ArchitecturalViewsDraftPublishResponseSchema,
7961
+ ArchitecturalViewsDraftDiscardResponseSchema,
7962
+ ArchitecturalViewsDraftGetContentResponseSchema,
7963
+ ArchitecturalViewsOpenNotificationSchema,
7354
7964
  ]);
7355
7965
  export * from "./kanban.js";
7356
7966
  // ============================================================================
@@ -7445,14 +8055,13 @@ export * from "./meetings.js";
7445
8055
  export * from "./personality-schemas.js";
7446
8056
  // The Brain, Preview and Meetings schema modules own these, but messages.ts stays
7447
8057
  // the public import surface for everything it ever exported.
7448
- export * from "./orchestration.js";
8058
+ export * from "./workflow.js";
7449
8059
  export * from "./integration-authorization.js";
7450
8060
  export * from "./communications.js";
7451
8061
  export * from "./context.js";
7452
8062
  export * from "./code-intelligence.js";
7453
8063
  export * from "./git-operations.js";
7454
8064
  export * from "./project-knowledge.js";
7455
- export * from "./project-links.js";
7456
8065
  export * from "./speech.js";
7457
8066
  export * from "./refine.js";
7458
8067
  export * from "./file-operations.js";
@@ -7462,5 +8071,5 @@ export * from "./storage.js";
7462
8071
  export * from "./suggested-tasks.js";
7463
8072
  export * from "./worktree-ops.js";
7464
8073
  export * from "./terminal-compatibility.js";
7465
- export { MutableAgentBehaviorsConfigSchema, MutableLspConfigSchema, MutableDotnetSolutionConfigSchema, MutableGitHostingBitbucketCloudConfigSchema, MutableGitHostingAtlassianConfigSchema, MutableGitHostingProvidersConfigSchema, MutableGitHostingConfigSchema, MutableKanbanConfigSchema, ProjectKnowledgeStoreLocationSchema, MutableProjectKnowledgeConfigSchema, MutableAgentPersonalitiesConfigSchema, MutableAgentPersonalitiesConfigPatchSchema, MutableAgentTeamsConfigSchema, MutableAgentTeamsConfigPatchSchema, MutableBrainTlsConfigSchema, MutableBrainRemoteConfigSchema, MutableBrainConfigSchema, MutableBrainTlsPatchSchema, MutableBrainRemotePatchSchema, MutableBrainListenPatchSchema, MutableBrainConfigPatchSchema, MutableGitFetchConfigSchema, DEFAULT_MUTABLE_BRAIN_CONFIG, DEFAULT_MUTABLE_GIT_FETCH_CONFIG, GIT_FETCH_INTERVAL_SECONDS, } from "./daemon-config.js";
8074
+ export { MutableAgentBehaviorsConfigSchema, MutableAgentBehaviorsConfigPatchSchema, MutableLspConfigSchema, MutableLspConfigPatchSchema, MutableDotnetSolutionConfigSchema, MutableDotnetSolutionConfigPatchSchema, MutableGitHostingBitbucketCloudConfigSchema, MutableGitHostingAtlassianConfigSchema, MutableGitHostingProvidersConfigSchema, MutableGitHostingConfigSchema, MutableKanbanConfigSchema, ProjectKnowledgeStoreLocationSchema, MutableProjectKnowledgeConfigSchema, MutableProjectKnowledgeConfigPatchSchema, ProjectArtifactStoreLocationSchema, MutableProjectArtifactsConfigSchema, MutableProjectArtifactsConfigPatchSchema, ProjectWorkflowStoreLocationSchema, MutableProjectWorkflowsConfigSchema, MutableProjectWorkflowsConfigPatchSchema, MutableAgentPersonalitiesConfigSchema, MutableAgentPersonalitiesConfigPatchSchema, MutableAgentTeamsConfigSchema, MutableAgentTeamsConfigPatchSchema, MutableBrainTlsConfigSchema, MutableBrainRemoteConfigSchema, MutableBrainConfigSchema, MutableBrainTlsPatchSchema, MutableBrainRemotePatchSchema, MutableBrainListenPatchSchema, MutableBrainConfigPatchSchema, MutableGitFetchConfigSchema, DEFAULT_MUTABLE_BRAIN_CONFIG, DEFAULT_MUTABLE_GIT_FETCH_CONFIG, GIT_FETCH_INTERVAL_SECONDS, } from "./daemon-config.js";
7466
8075
  //# sourceMappingURL=messages.js.map