@otto-code/client 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.
@@ -2,11 +2,11 @@ import type { AgentAttentionNotificationPayload } from "@otto-code/protocol/agen
2
2
  import type { z } from "zod";
3
3
  import type { ProjectGithubCloneProtocol } from "@otto-code/protocol/messages";
4
4
  import { type ClientCapability } from "@otto-code/protocol/client-capabilities";
5
- import { AgentRefreshedStatusPayloadSchema, CheckoutRenameBranchResponseSchema, RenameTerminalResponseSchema, RestartRequestedStatusPayloadSchema, ShutdownRequestedStatusPayloadSchema, DaemonUpdateResponseSchema, type ServerInfoStatusPayload } from "@otto-code/protocol/messages";
6
- import type { AgentStreamEventPayload, AgentSnapshotPayload, ProjectPlacementPayload, AgentPermissionResolvedMessage, CreateAgentRequestMessage, CreateOttoWorktreeRequest, CodeListFilesResponse, CodeSymbolLocation, CodeDefinitionLocation, CodeDefinitionStatus, CodeRenameApplyStatus, CodeRenameFileOutcome, CodeRenameUndoFile, CodeRenameUndoStatus, CodeHoverRange, CodeRenameEdit, CodeRenameFilePlan, LspLanguageState, LspRunningServer, CodeSolutionGetTreeResponse, CodeSolutionLoadProjectResponse, SolutionFormat, SolutionRef, SolutionTreeFolder, SolutionTreeProject, SolutionProjectNode, SolutionProjectStatus, SolutionPackageReference, FileDownloadTokenResponse, FileEntryKind, FileEol, FileReplaceFileResult, FileReplaceRequest, FileReplaceResponse, FileSearchResultPayload, FileSearchSummary, FileUploadResponse, FileExplorerResponse, FileWatchEventPayload, FileWriteResult, FileRefineResult, FileRefineDocument, FileRefineReference, FetchAgentTimelineResponseMessage, AgentForkContextResponseMessage, GitSetupOptions, CheckoutStatusResponse, CheckoutCommitResponse, CheckoutGitCommitResponse, CheckoutGitCommitAgentResponse, CheckoutGitRollbackResponse, CheckoutGitFileHistoryResponse, CheckoutGitFileCommitDiffResponse, CheckoutGitFileBlameResponse, CheckoutGitFileOriginResponse, CheckoutGitGetOperationLogResponse, CheckoutMergeResponse, CheckoutMergeFromBaseResponse, CheckoutPullResponse, CheckoutPushResponse, CheckoutRefreshResponse, CheckoutGitFetchResponse, CheckoutPrCreateResponse, CheckoutPrMergeResponse, CheckoutPrMergeMethod, CheckoutGithubSetAutoMergeResponse, CheckoutGithubGetCheckDetailsResponse, PreviewListConfigResponse, PreviewStartResponse, PreviewBindTabResponse, PreviewStopResponse, CheckoutPrStatusResponse, PullRequestTimelineResponse, CheckoutSwitchBranchResponse, StashSaveResponse, StashPopResponse, StashListResponse, KanbanBoardsListResponse, ProjectKanbanTarget, ProjectKnowledgeStoreDescriptor, ProjectKnowledgeStoreLocationValue, KanbanBoardGetResponse, KanbanCardMoveResponse, KanbanCardCreateResponse, KanbanTaskLinkResponse, ValidateBranchResponse, BranchSuggestionsResponse, FileVersion, CheckoutCommit, ParsedDiffFile, WorkspaceRecoveryState, CheckoutForgeGetCheckDetailsResponse, CheckoutForgeSetAutoMergeResponse, ProjectCreateDirectoryResponse, FsFileWriteResult, FsFileWriteBinaryResult, GitHubSearchResponse, GitHubSearchRequest, ForgeSearchResponse, ForgeSearchRequest, GitHostingProviderId, HostingSearchRequest, HostingSearchResponse, HostingAuthStatusResponse, DirectorySuggestionsResponse, OttoWorktreeListResponse, OttoWorktreeArchiveResponse, ProjectIconSource, ProjectIconResponse, ContextCategory, ContextPromptPreviewGetResponseMessage, ContextReportGetResponseMessage, ContextEdgeConvertResponseMessage, ContextFindingsFixResponseMessage, PersonalityMemoryListResponseMessage, PersonalityMemoryUpdateResponseMessage, PersonalityMemoryTransferResponseMessage, PersonalityMemoryStatsResponseMessage, ProjectKnowledgeListResponseMessage, ProjectKnowledgeGetResponseMessage, ProjectKnowledgeCreateResponseMessage, ProjectKnowledgeApplyResponseMessage, ProjectKnowledgeStatusResponseMessage, ProjectKnowledgeProjectApplyResponseMessage, ProjectKnowledgeReferenceApplyResponseMessage, ProjectKnowledgeRootApplyResponseMessage, ProjectKnowledgeDeleteResponseMessage, ProjectIconGetResponse, ProjectAddResponse, ProjectResolveWorkspaceForPathResponse, ProjectScaffoldGit, ProjectScaffoldProgress, ProjectScaffoldResponse, HostingListRepositoriesResponse, HostingListOwnersResponse, OpenProjectResponseMessage, ArchiveWorkspaceResponseMessage, WorkspaceArchivePreflightResponse, WorktreeBaseRefSetResponse, WorktreeReattachListResponse, WorktreeReattachResponse, WorktreeReattachTarget, WorkspaceSetupStatusResponseMessage, ListCommandsResponse, ListProviderFeaturesResponseMessage, ListProviderModelsResponseMessage, ListProviderModesResponseMessage, ListAvailableProvidersResponse, GetProvidersSnapshotResponseMessage, RefreshProvidersSnapshotResponseMessage, ProviderDiagnosticResponseMessage, ProviderUsageListResponseMessage, StatsActivityGetResponseMessage, StatsActivityResetResponseMessage, UsageLogGetResponseMessage, AgentContextGetUsageResponseMessage, DaemonGetStatusResponse, DaemonGetPairingOfferResponse, DiagnosticsResponse, AgentRewindResponseMessage, ListTerminalsResponse, CreateTerminalResponse, SubscribeTerminalResponse, SubscribeTerminalRequest, CloseItemsResponse, AttachmentsImagesClearResponse, AttachmentsImagesStatsResponse, HistoryAgentsClearArchivedResponse, HistoryAgentsStorageStatsResponse, KillTerminalResponse, CaptureTerminalResponse, TerminalCompatibilityDiagnosticResponse, TerminalInput, SessionInboundMessage, SessionOutboundMessage, SendAgentMessageRequest, AgentPromptDelivery, TasksSuggestedStartMode, OttoConfigRaw, OttoConfigRevision, WorkspaceCreateRequest } from "@otto-code/protocol/messages";
5
+ import { AgentRefreshedStatusPayloadSchema, CheckoutRenameBranchResponseSchema, RenameTerminalResponseSchema, RestartRequestedStatusPayloadSchema, ShutdownRequestedStatusPayloadSchema, DaemonUpdateResponseSchema, type ActiveTurnBehavior, type ServerInfoStatusPayload } from "@otto-code/protocol/messages";
6
+ import type { AgentStreamEventPayload, AgentSnapshotPayload, ProjectPlacementPayload, AgentPermissionResolvedMessage, CreateAgentRequestMessage, CreateOttoWorktreeRequest, CodeListFilesResponse, CodeSymbolLocation, CodeDefinitionLocation, CodeDefinitionStatus, CodeRenameApplyStatus, CodeRenameFileOutcome, CodeRenameUndoFile, CodeRenameUndoStatus, CodeHoverRange, CodeRenameEdit, CodeRenameFilePlan, LspLanguageState, LspRunningServer, CodeSolutionGetTreeResponse, CodeSolutionLoadProjectResponse, SolutionFormat, SolutionRef, SolutionTreeFolder, SolutionTreeProject, SolutionProjectNode, SolutionProjectStatus, SolutionPackageReference, FileDownloadTokenResponse, FileEntryKind, FileEol, FileReplaceFileResult, FileReplaceRequest, FileReplaceResponse, FileSearchResultPayload, FileSearchSummary, FileUploadResponse, FileExplorerResponse, FileWatchEventPayload, FileWriteResult, FileRefineResult, FileRefineDocument, FileRefineReference, FetchAgentTimelineResponseMessage, AgentForkContextResponseMessage, GitSetupOptions, CheckoutStatusResponse, CheckoutCommitResponse, CheckoutGitCommitResponse, CheckoutGitCommitAgentResponse, CheckoutGitRollbackResponse, CheckoutGitFileHistoryResponse, CheckoutGitFileCommitDiffResponse, CheckoutGitFileBlameResponse, CheckoutGitFileOriginResponse, CheckoutGitGetOperationLogResponse, CheckoutMergeResponse, CheckoutMergeFromBaseResponse, CheckoutPullResponse, CheckoutPushResponse, CheckoutRefreshResponse, CheckoutGitFetchResponse, CheckoutPrCreateResponse, CheckoutPrMergeResponse, CheckoutPrMergeMethod, CheckoutGithubSetAutoMergeResponse, CheckoutGithubGetCheckDetailsResponse, PreviewListConfigResponse, PreviewStartResponse, PreviewBindTabResponse, PreviewStopResponse, CheckoutPrStatusResponse, PullRequestTimelineResponse, HostingPullRequestThreadSetResolvedResponse, HostingPullRequestCommentSetReactionResponse, CheckoutSwitchBranchResponse, StashSaveResponse, StashPopResponse, StashListResponse, KanbanBoardsListResponse, ProjectKanbanTarget, ProjectKnowledgeStoreDescriptor, ProjectKnowledgeStoreLocationValue, KanbanBoardGetResponse, KanbanCardMoveResponse, KanbanCardCreateResponse, KanbanTaskLinkResponse, ValidateBranchResponse, BranchSuggestionsResponse, FileVersion, CheckoutCommit, ParsedDiffFile, WorkspaceRecoveryState, CheckoutForgeGetCheckDetailsResponse, CheckoutForgeSetAutoMergeResponse, ProjectCreateDirectoryResponse, FsFileWriteResult, FsFileWriteBinaryResult, GitHubSearchResponse, GitHubSearchRequest, ForgeSearchResponse, ForgeSearchRequest, GitHostingProviderId, HostingSearchRequest, HostingSearchResponse, HostingAuthStatusResponse, DirectorySuggestionsResponse, OttoWorktreeListResponse, OttoWorktreeArchiveResponse, ProjectIconSource, ProjectIconResponse, ContextCategory, ContextPromptPreviewGetResponseMessage, ContextReportGetResponseMessage, ContextEdgeConvertResponseMessage, ContextFindingsFixResponseMessage, PersonalityMemoryListResponseMessage, PersonalityMemoryUpdateResponseMessage, PersonalityMemoryTransferResponseMessage, PersonalityMemoryStatsResponseMessage, ProjectKnowledgeListResponseMessage, ProjectKnowledgeGetResponseMessage, ProjectKnowledgeCreateResponseMessage, ProjectKnowledgeApplyResponseMessage, ProjectKnowledgeStatusResponseMessage, ProjectKnowledgeProjectApplyResponseMessage, ProjectKnowledgeReferenceApplyResponseMessage, ProjectKnowledgeRootApplyResponseMessage, ProjectKnowledgeRefineApplyResponseMessage, ProjectKnowledgeRefinementProposeResponseMessage, ProjectKnowledgeDeleteResponseMessage, ProjectIconGetResponse, ProjectAddResponse, ProjectResolveWorkspaceForPathResponse, ProjectScaffoldGit, ProjectScaffoldProgress, ProjectScaffoldResponse, HostingListRepositoriesResponse, HostingListOwnersResponse, OpenProjectResponseMessage, ArchiveWorkspaceResponseMessage, WorkspaceArchivePreflightResponse, WorktreeBaseRefSetResponse, WorktreeReattachListResponse, WorktreeReattachResponse, WorktreeReattachTarget, WorkspaceSetupStatusResponseMessage, ListCommandsResponse, ListProviderFeaturesResponseMessage, ListProviderModelsResponseMessage, ListProviderModesResponseMessage, ListAvailableProvidersResponse, GetProvidersSnapshotResponseMessage, RefreshProvidersSnapshotResponseMessage, ProviderDiagnosticResponseMessage, ProviderUsageListResponseMessage, StatsActivityGetResponseMessage, StatsActivityResetResponseMessage, UsageLogGetResponseMessage, AgentContextGetUsageResponseMessage, DaemonGetStatusResponse, DaemonGetPairingOfferResponse, DaemonConfigReloadResponse, DiagnosticsResponse, AgentRewindResponseMessage, ListTerminalsResponse, CreateTerminalResponse, SubscribeTerminalResponse, SubscribeTerminalRequest, CloseItemsResponse, AttachmentsImagesClearResponse, AttachmentsImagesStatsResponse, HistoryAgentsClearArchivedResponse, HistoryAgentsStorageStatsResponse, KillTerminalResponse, CaptureTerminalResponse, TerminalCompatibilityDiagnosticResponse, TerminalInput, SessionInboundMessage, SessionOutboundMessage, SendAgentMessageRequest, AgentPromptDelivery, TasksSuggestedStartMode, OttoConfigRaw, OttoConfigRevision, WorkspaceCreateRequest, PluginListItem, PluginLogEntry, AgentSkillSelection, AgentSkillsStatus, AgentSkillsSaveResult } from "@otto-code/protocol/messages";
7
7
  import type { AgentPermissionRequest, AgentPermissionResponse, AgentPersistenceHandle, AgentProviderNotice, AgentProvider, AgentSessionConfig } from "@otto-code/protocol/agent-types";
8
- import type { OrchestrationGraph, PromptTemplate, Run } from "@otto-code/protocol/orchestration";
9
- import type { BrainCatalogModel, BrainDiskUsage, BrainEvals, BrainHfSearchResult, BrainHostStatus, BrainInstalledModel, BrainInventoryModel, BrainJob, BrainLogsTailResponse, BrainLogsWatchResponse, BrainModelBudgetGetResponse, BrainModelDeleteResponse, BrainModelLoadResponse, BrainModelProfileGetResponse, BrainModelProfileSetResponse, BrainModelRenameResetResponse, BrainModelRenameResponse, BrainNetworkInfo, BrainRemoteConfig, BrainRepoQuant, BrainRuntime, ConnectorsListToolsResponse, ConnectorsOauthAuthorizeResponse, ConnectorsOauthDisconnectResponse, CommunicationsGetOverviewResponse, CommunicationsInboxGetHomeResponse, CommunicationsInboxNotificationsAcknowledgeResponse, CommunicationsInboxSearchResponse, CommunicationsInboxSetFavoriteResponse, CommunicationsInboxGetPresenceResponse, CommunicationsInboxGetMessagesResponse, CommunicationsInboxSetPresenceResponse, CommunicationsInboxSetEnabledResponse, CommunicationsInboxSendMessageResponse, CommunicationsRoomGetResponse, CommunicationsRoomThreadGetResponse, CommunicationsRoomMessageSendResponse, CommunicationsRoomReactionSetResponse, IntegrationsAuthorizationGetOverviewResponse, IntegrationsAuthorizationGetMethodsResponse, IntegrationsAuthorizationStartBrowserResponse, IntegrationsZoomStartAuthorizationResponse, CueMoment, MutableDaemonConfig, MutableDaemonConfigPatch, ProjectLink, SpeechSettingsOptions, SpeechTtsPreviewResult, SpeechTtsSpeakResult, SpeechTtsSpeakCancelResult, VisualizerVoiceCuesResult, AgentPersonalitiesGenerateProfileResult } from "@otto-code/protocol/messages";
8
+ import type { OrchestrationGraph, PromptTemplate, Run, WorkflowStartConfirmation } from "@otto-code/protocol/workflow";
9
+ import type { BrainCatalogModel, BrainDiskUsage, BrainEvals, BrainHfSearchResult, BrainHostStatus, BrainInstalledModel, BrainInventoryModel, BrainJob, BrainLogsTailResponse, BrainLogsWatchResponse, BrainModelBudgetGetResponse, BrainModelDeleteResponse, BrainModelLoadResponse, BrainModelProfileGetResponse, BrainModelProfileSetResponse, BrainModelRenameResetResponse, BrainModelRenameResponse, BrainNetworkInfo, BrainRemoteConfig, BrainRepoQuant, BrainRuntime, ConnectorsListToolsResponse, ConnectorsOauthAuthorizeResponse, ConnectorsOauthDisconnectResponse, CommunicationsGetOverviewResponse, CommunicationsInboxGetHomeResponse, CommunicationsInboxNotificationsAcknowledgeResponse, CommunicationsInboxSearchResponse, CommunicationsInboxSetFavoriteResponse, CommunicationsInboxGetPresenceResponse, CommunicationsInboxGetMessagesResponse, CommunicationsInboxSetPresenceResponse, CommunicationsInboxSetEnabledResponse, CommunicationsInboxSendMessageResponse, CommunicationsRoomGetResponse, CommunicationsRoomThreadGetResponse, CommunicationsRoomMessageSendResponse, CommunicationsRoomReactionSetResponse, IntegrationsAuthorizationGetOverviewResponse, IntegrationsAuthorizationGetMethodsResponse, IntegrationsAuthorizationStartBrowserResponse, IntegrationsZoomStartAuthorizationResponse, CueMoment, MutableDaemonConfig, MutableDaemonConfigPatch, SpeechSettingsOptions, SpeechTtsPreviewResult, SpeechTtsSpeakResult, SpeechTtsSpeakCancelResult, VisualizerVoiceCuesResult, AgentPersonalitiesGenerateProfileResult } from "@otto-code/protocol/messages";
10
10
  import type { AgentConfigApply } from "@otto-code/protocol/messages";
11
11
  import { type DaemonTransportFactory, type WebSocketFactory } from "./daemon-client-transport.js";
12
12
  import { type DaemonClientInboundDispatchTiming, type DaemonClientTrafficHotspot, type DaemonClientTrafficTotals } from "./daemon-client-runtime-metrics.js";
@@ -139,6 +139,7 @@ export interface DaemonClientTrace {
139
139
  }
140
140
  export interface SendMessageOptions {
141
141
  messageId?: string;
142
+ activeTurnBehavior?: ActiveTurnBehavior;
142
143
  images?: Array<{
143
144
  data: string;
144
145
  mimeType: string;
@@ -166,6 +167,10 @@ export interface CreateAgentRequestOptions extends AgentConfigOverrides {
166
167
  personality?: CreateAgentRequestMessage["personality"];
167
168
  env?: CreateAgentRequestMessage["env"];
168
169
  workspaceId?: string;
170
+ architecturalViewDraft?: {
171
+ viewId: string;
172
+ draftId: string;
173
+ };
169
174
  /**
170
175
  * Caller agent making this request. The daemon resolves the caller's own
171
176
  * workspace and parentage from it, so a managed CLI run nests under its
@@ -216,6 +221,8 @@ type PreviewStopPayload = PreviewStopResponse["payload"];
216
221
  type CheckoutGithubGetCheckDetailsPayload = CheckoutGithubGetCheckDetailsResponse["payload"];
217
222
  type CheckoutPrStatusPayload = CheckoutPrStatusResponse["payload"];
218
223
  type PullRequestTimelinePayload = PullRequestTimelineResponse["payload"];
224
+ type HostingPullRequestThreadSetResolvedPayload = HostingPullRequestThreadSetResolvedResponse["payload"];
225
+ type HostingPullRequestCommentSetReactionPayload = HostingPullRequestCommentSetReactionResponse["payload"];
219
226
  type CheckoutSwitchBranchPayload = CheckoutSwitchBranchResponse["payload"];
220
227
  export type RenameBranchResult = z.infer<typeof CheckoutRenameBranchResponseSchema>["payload"];
221
228
  type StashSavePayload = StashSaveResponse["payload"];
@@ -227,9 +234,6 @@ type GitHubSearchPayload = GitHubSearchResponse["payload"];
227
234
  type CheckoutForgeGetCheckDetailsPayload = CheckoutForgeGetCheckDetailsResponse["payload"];
228
235
  type CheckoutForgeSetAutoMergePayload = CheckoutForgeSetAutoMergeResponse["payload"];
229
236
  export type ProjectCreateDirectoryPayload = ProjectCreateDirectoryResponse["payload"];
230
- export type ProjectListPayload = Extract<SessionOutboundMessage, {
231
- type: "project.list.response";
232
- }>["payload"];
233
237
  export type WorkspaceGithubSearchRepositoriesPayload = Extract<SessionOutboundMessage, {
234
238
  type: "workspace.github.search_repositories.response";
235
239
  }>["payload"];
@@ -540,6 +544,42 @@ type ArtifactStarPayload = Extract<SessionOutboundMessage, {
540
544
  type ArtifactGetContentPayload = Extract<SessionOutboundMessage, {
541
545
  type: "artifact.get-content.response";
542
546
  }>["payload"];
547
+ type ArtifactRepairPayload = Extract<SessionOutboundMessage, {
548
+ type: "artifact.repair.response";
549
+ }>["payload"];
550
+ type ArtifactDataGetPayload = Extract<SessionOutboundMessage, {
551
+ type: "artifact.data.get.response";
552
+ }>["payload"];
553
+ type ArtifactDataUpdatePayload = Extract<SessionOutboundMessage, {
554
+ type: "artifact.data.update.response";
555
+ }>["payload"];
556
+ type ArtifactStoreMovePayload = Extract<SessionOutboundMessage, {
557
+ type: "artifact.store.move.response";
558
+ }>["payload"];
559
+ type ArchitecturalViewsDeliverPayload = Extract<SessionOutboundMessage, {
560
+ type: "architectural-views.deliver.response";
561
+ }>["payload"];
562
+ type ArchitecturalViewsListPayload = Extract<SessionOutboundMessage, {
563
+ type: "architectural-views.list.response";
564
+ }>["payload"];
565
+ type ArchitecturalViewsGetContentPayload = Extract<SessionOutboundMessage, {
566
+ type: "architectural-views.get-content.response";
567
+ }>["payload"];
568
+ type ArchitecturalViewsDraftCreatePayload = Extract<SessionOutboundMessage, {
569
+ type: "architectural-views.draft.create.response";
570
+ }>["payload"];
571
+ type ArchitecturalViewsDraftUpdatePayload = Extract<SessionOutboundMessage, {
572
+ type: "architectural-views.draft.update.response";
573
+ }>["payload"];
574
+ type ArchitecturalViewsDraftPublishPayload = Extract<SessionOutboundMessage, {
575
+ type: "architectural-views.draft.publish.response";
576
+ }>["payload"];
577
+ type ArchitecturalViewsDraftDiscardPayload = Extract<SessionOutboundMessage, {
578
+ type: "architectural-views.draft.discard.response";
579
+ }>["payload"];
580
+ type ArchitecturalViewsDraftGetContentPayload = Extract<SessionOutboundMessage, {
581
+ type: "architectural-views.draft.get-content.response";
582
+ }>["payload"];
543
583
  export type FetchAgentTimelinePayload = FetchAgentTimelineResponseMessage["payload"];
544
584
  export type AgentForkContextPayload = AgentForkContextResponseMessage["payload"];
545
585
  export type FetchAgentTimelineDirection = FetchAgentTimelinePayload["direction"];
@@ -641,6 +681,30 @@ export type FetchWorkspacesOptions = Omit<FetchWorkspacesRequest, "type" | "requ
641
681
  };
642
682
  export type FetchWorkspacesEntry = FetchWorkspacesPayload["entries"][number];
643
683
  export type FetchWorkspacesPageInfo = FetchWorkspacesPayload["pageInfo"];
684
+ export type WorkspaceLabelListPayload = Extract<SessionOutboundMessage, {
685
+ type: "workspace.label.list.response";
686
+ }>["payload"];
687
+ export type WorkspaceLabelAssignmentPayload = Extract<SessionOutboundMessage, {
688
+ type: "workspace.label.assignment.set.response";
689
+ }>["payload"];
690
+ export type WorkspaceLabelUpdatePayload = Extract<SessionOutboundMessage, {
691
+ type: "workspace.label.update.response";
692
+ }>["payload"];
693
+ export type WorkspaceLabelDeletePayload = Extract<SessionOutboundMessage, {
694
+ type: "workspace.label.delete.response";
695
+ }>["payload"];
696
+ export type WorkspaceLabelDeleteInspectPayload = Extract<SessionOutboundMessage, {
697
+ type: "workspace.label.delete.inspect.response";
698
+ }>["payload"];
699
+ export type ProjectListPayload = Extract<SessionOutboundMessage, {
700
+ type: "project.list.response";
701
+ }>["payload"];
702
+ type ProjectListRequest = Extract<SessionInboundMessage, {
703
+ type: "project.list.request";
704
+ }>;
705
+ export type ProjectListOptions = Omit<ProjectListRequest, "type" | "requestId"> & {
706
+ requestId?: string;
707
+ };
644
708
  export interface CreateScheduleOptions {
645
709
  prompt: string;
646
710
  name?: string | null;
@@ -675,6 +739,10 @@ export interface CreateScheduleOptions {
675
739
  systemPrompt?: string;
676
740
  mcpServers?: AgentSessionConfig["mcpServers"];
677
741
  };
742
+ } | {
743
+ type: "workflow";
744
+ definitionId: string;
745
+ projectRoot: string;
678
746
  };
679
747
  maxRuns?: number;
680
748
  expiresAt?: string;
@@ -766,6 +834,30 @@ type CorrelatedResponsePayload<TType extends CorrelatedResponseType> = Extract<C
766
834
  type ProjectGithubClonePayload = Extract<SessionOutboundMessage, {
767
835
  type: "project.github.clone.response";
768
836
  }>["payload"];
837
+ export interface StartWorkflowInput {
838
+ flavor: "ai" | "graph";
839
+ cwd: string;
840
+ workspaceId?: string;
841
+ title?: string;
842
+ description?: string;
843
+ orchestratorPersonalityId?: string;
844
+ orchestratorProvider?: string;
845
+ orchestratorModel?: string;
846
+ orchestratorThinkingOptionId?: string;
847
+ prompt?: string;
848
+ graphId?: string;
849
+ graphInputs?: Record<string, string>;
850
+ startConfirmationToken?: string;
851
+ draft?: boolean;
852
+ runId?: string;
853
+ }
854
+ export interface WorkflowStartResult {
855
+ runId?: string;
856
+ agentId?: string;
857
+ workspaceId?: string;
858
+ confirmation?: WorkflowStartConfirmation;
859
+ confirmationToken?: string;
860
+ }
769
861
  export declare class DaemonClient {
770
862
  private config;
771
863
  private transport;
@@ -894,6 +986,39 @@ export declare class DaemonClient {
894
986
  getHistoryStorageStats(requestId?: string): Promise<HistoryAgentsStorageStatsResponse["payload"]>;
895
987
  fetchRecentProviderSessions(options?: FetchRecentProviderSessionsOptions): Promise<FetchRecentProviderSessionsPayload>;
896
988
  fetchWorkspaces(options?: FetchWorkspacesOptions): Promise<FetchWorkspacesPayload>;
989
+ listWorkspaceLabels(options: {
990
+ subscriptionId: string;
991
+ sync?: {
992
+ generation: string;
993
+ afterSeq: number;
994
+ };
995
+ requestId?: string;
996
+ }): Promise<WorkspaceLabelListPayload>;
997
+ setWorkspaceLabel(options: {
998
+ workspaceId: string;
999
+ label: Extract<SessionInboundMessage, {
1000
+ type: "workspace.label.assignment.set.request";
1001
+ }>["label"];
1002
+ assigned: boolean;
1003
+ requestId?: string;
1004
+ }): Promise<WorkspaceLabelAssignmentPayload>;
1005
+ updateWorkspaceLabel(options: {
1006
+ name: string;
1007
+ newName?: string;
1008
+ color?: Extract<SessionInboundMessage, {
1009
+ type: "workspace.label.update.request";
1010
+ }>["color"];
1011
+ requestId?: string;
1012
+ }): Promise<WorkspaceLabelUpdatePayload>;
1013
+ deleteWorkspaceLabel(options: {
1014
+ name: string;
1015
+ requestId?: string;
1016
+ }): Promise<WorkspaceLabelDeletePayload>;
1017
+ inspectWorkspaceLabelDelete(options: {
1018
+ name: string;
1019
+ requestId?: string;
1020
+ }): Promise<WorkspaceLabelDeleteInspectPayload>;
1021
+ listProjects(options?: string | ProjectListOptions): Promise<ProjectListPayload>;
897
1022
  openProject(cwd: string, requestId?: string): Promise<OpenProjectPayload>;
898
1023
  addProject(cwd: string, requestId?: string): Promise<ProjectAddPayload>;
899
1024
  resolveWorkspaceForPath(path: string, requestId?: string): Promise<ProjectResolveWorkspaceForPathResponse["payload"]>;
@@ -1026,40 +1151,46 @@ export declare class DaemonClient {
1026
1151
  deleteRun(runId: string): Promise<string>;
1027
1152
  /** Orchestration: list the host's reusable graph templates. */
1028
1153
  listOrchestrationGraphs(): Promise<OrchestrationGraph[]>;
1154
+ /** List saved Workflow Graphs for one project, never the legacy host library. */
1155
+ listProjectWorkflowGraphs(cwd: string): Promise<OrchestrationGraph[]>;
1156
+ /** Persist a Graph in the selected project Workflow store. */
1157
+ saveProjectWorkflowGraph(cwd: string, graph: OrchestrationGraph): Promise<OrchestrationGraph>;
1029
1158
  /** Orchestration: upsert a graph template. Returns the persisted graph. */
1030
1159
  saveOrchestrationGraph(graph: OrchestrationGraph): Promise<OrchestrationGraph>;
1031
1160
  /** Orchestration: delete a graph template (built-in starters refuse). */
1032
1161
  deleteOrchestrationGraph(graphId: string): Promise<boolean>;
1162
+ exportWorkflowGraph(graphId: string): Promise<import("@otto-code/protocol/workflow").WorkflowGraphExport>;
1163
+ importWorkflowGraph(input: {
1164
+ cwd: string;
1165
+ export: import("@otto-code/protocol/workflow").WorkflowGraphExport;
1166
+ confirmed: boolean;
1167
+ }): Promise<import("@otto-code/protocol/workflow").WorkflowGraphImportResult>;
1033
1168
  /** Orchestration: list the host's reusable prompt templates and snippets. */
1034
1169
  listPromptTemplates(): Promise<PromptTemplate[]>;
1170
+ listProjectWorkflowTemplates(cwd: string): Promise<PromptTemplate[]>;
1171
+ saveProjectWorkflowTemplate(cwd: string, template: PromptTemplate): Promise<PromptTemplate>;
1172
+ transferProjectWorkflowRecord(input: {
1173
+ cwd: string;
1174
+ recordKind: "graph" | "template" | "run";
1175
+ recordId: string;
1176
+ source: "legacy-host-library" | "repository" | "host";
1177
+ destination: "repository" | "host";
1178
+ mode: "copy" | "move";
1179
+ }): Promise<import("@otto-code/protocol/workflow").WorkflowTransferReceipt>;
1035
1180
  /** Orchestration: upsert a prompt template. Returns the persisted template. */
1036
1181
  savePromptTemplate(template: PromptTemplate): Promise<PromptTemplate>;
1037
1182
  /** Orchestration: delete a prompt template (built-in starters refuse). */
1038
1183
  deletePromptTemplate(templateId: string): Promise<boolean>;
1039
1184
  /**
1040
- * Orchestration: start (or draft) a user-initiated orchestration. Returns the
1041
- * run id (graph flavor) and the orchestrator chat's agent id to navigate to.
1185
+ * Workflow: start (or draft) a user-initiated Workflow. Returns the workflow
1186
+ * id (graph flavor) and the orchestrator chat's agent id to navigate to.
1042
1187
  */
1043
- startOrchestration(input: {
1044
- flavor: "ai" | "graph";
1045
- cwd: string;
1046
- workspaceId?: string;
1047
- title?: string;
1048
- description?: string;
1049
- orchestratorPersonalityId?: string;
1050
- orchestratorProvider?: string;
1051
- orchestratorModel?: string;
1052
- orchestratorThinkingOptionId?: string;
1053
- prompt?: string;
1054
- graphId?: string;
1055
- graphInputs?: Record<string, string>;
1056
- draft?: boolean;
1057
- runId?: string;
1058
- }): Promise<{
1059
- runId?: string;
1060
- agentId?: string;
1061
- workspaceId?: string;
1062
- }>;
1188
+ startWorkflow(input: StartWorkflowInput): Promise<WorkflowStartResult>;
1189
+ /** Answer a daemon-owned AI Workflow start confirmation. */
1190
+ respondToWorkflowStartConfirmation(input: {
1191
+ runId: string;
1192
+ approved: boolean;
1193
+ }): Promise<boolean>;
1063
1194
  updateAgent(agentId: string, updates: {
1064
1195
  name?: string;
1065
1196
  labels?: Record<string, string>;
@@ -1118,9 +1249,6 @@ export declare class DaemonClient {
1118
1249
  transferAgentWorkspace(agentId: string, workspaceId: string, requestId?: string): Promise<{
1119
1250
  workspaceId: string;
1120
1251
  }>;
1121
- listProjectLinks(requestId?: string): Promise<ProjectLink[]>;
1122
- linkProjects(projectId: string, otherProjectId: string, requestId?: string): Promise<ProjectLink[]>;
1123
- unlinkProjects(projectId: string, otherProjectId: string, requestId?: string): Promise<ProjectLink[]>;
1124
1252
  resumeAgent(handle: AgentPersistenceHandle, overrides?: Partial<AgentSessionConfig>): Promise<AgentSnapshotPayload>;
1125
1253
  importAgent(input: ImportAgentInput): Promise<AgentSnapshotPayload>;
1126
1254
  refreshAgent(agentId: string, requestId?: string): Promise<AgentRefreshedStatusPayload>;
@@ -1191,7 +1319,6 @@ export declare class DaemonClient {
1191
1319
  baseRef: string | null;
1192
1320
  commits: CheckoutCommit[];
1193
1321
  }>;
1194
- listProjects(requestId?: string): Promise<ProjectListPayload>;
1195
1322
  onAgentAttentionRequired(handler: (notification: AgentAttentionRequiredNotification) => void): () => void;
1196
1323
  restoreWorkspace(workspaceId: string, requestId?: string): Promise<void>;
1197
1324
  searchGithubRepositories(input: {
@@ -1372,6 +1499,21 @@ export declare class DaemonClient {
1372
1499
  repoOwner: string;
1373
1500
  repoName: string;
1374
1501
  }, requestId?: string): Promise<PullRequestTimelinePayload>;
1502
+ /** Requires server_info.features.forgeReviewThreads. */
1503
+ setHostingPullRequestThreadResolved(input: {
1504
+ cwd: string;
1505
+ prNumber: number;
1506
+ threadId: string;
1507
+ resolved: boolean;
1508
+ }, requestId?: string): Promise<HostingPullRequestThreadSetResolvedPayload>;
1509
+ /** Requires server_info.features.forgeReviewThreads. */
1510
+ setHostingPullRequestCommentReaction(input: {
1511
+ cwd: string;
1512
+ prNumber: number;
1513
+ commentId: string;
1514
+ content: "THUMBS_UP" | "THUMBS_DOWN" | "LAUGH" | "HOORAY" | "CONFUSED" | "HEART" | "ROCKET" | "EYES";
1515
+ reacted: boolean;
1516
+ }, requestId?: string): Promise<HostingPullRequestCommentSetReactionPayload>;
1375
1517
  checkoutSwitchBranch(cwd: string, branch: string, requestId?: string): Promise<CheckoutSwitchBranchPayload>;
1376
1518
  renameBranch(input: RenameBranchInput): Promise<RenameBranchResult>;
1377
1519
  stashSave(cwd: string, options?: {
@@ -1438,7 +1580,7 @@ export declare class DaemonClient {
1438
1580
  }, requestId?: string): Promise<DirectorySuggestionsPayload>;
1439
1581
  private requestFileExplorer;
1440
1582
  listDirectory(cwd: string, path: string, requestId?: string): Promise<FileExplorerDirectoryPayload>;
1441
- readFile(cwd: string, path: string, requestId?: string): Promise<FileReadResult>;
1583
+ readFile(cwd: string, path: string, requestId?: string, maxBytes?: number): Promise<FileReadResult>;
1442
1584
  /**
1443
1585
  * Text-editor read: inline JSON path so the payload carries the editor's
1444
1586
  * save-precondition baseline (modifiedAt, eol, hash) alongside the content.
@@ -1635,6 +1777,7 @@ export declare class DaemonClient {
1635
1777
  title?: string;
1636
1778
  statement?: string;
1637
1779
  evidence?: string;
1780
+ tags?: string[];
1638
1781
  provenanceText?: string;
1639
1782
  provenanceSource?: string;
1640
1783
  provenanceAffects?: string[];
@@ -1671,6 +1814,41 @@ export declare class DaemonClient {
1671
1814
  slug: string;
1672
1815
  body: string;
1673
1816
  }, requestId?: string): Promise<ProjectKnowledgeRootApplyResponseMessage["payload"]>;
1817
+ /** Requires server_info.features.projectKnowledgeRefinement. */
1818
+ applyProjectKnowledgeRefinement(input: {
1819
+ workspaceId: string;
1820
+ target: "record";
1821
+ id: string;
1822
+ statement: string;
1823
+ evidence?: string;
1824
+ expectedUpdatedAt?: string;
1825
+ } | {
1826
+ workspaceId: string;
1827
+ target: "root";
1828
+ slug: string;
1829
+ body: string;
1830
+ expectedBodyDigest?: string;
1831
+ }, requestId?: string): Promise<ProjectKnowledgeRefineApplyResponseMessage["payload"]>;
1832
+ /** Requires server_info.features.projectKnowledgeAnchoredRefinement. */
1833
+ proposeProjectKnowledgeRefinement(input: {
1834
+ workspaceId: string;
1835
+ content: string;
1836
+ directives: Array<{
1837
+ id: string;
1838
+ kind: "replace" | "refine";
1839
+ anchor: {
1840
+ kind: "text";
1841
+ start: number;
1842
+ end: number;
1843
+ } | {
1844
+ kind: "fence";
1845
+ start: number;
1846
+ end: number;
1847
+ language: string | null;
1848
+ };
1849
+ value: string;
1850
+ }>;
1851
+ }, requestId?: string): Promise<ProjectKnowledgeRefinementProposeResponseMessage["payload"]>;
1674
1852
  deleteProjectKnowledge(input: {
1675
1853
  workspaceId: string;
1676
1854
  id: string;
@@ -1763,6 +1941,41 @@ export declare class DaemonClient {
1763
1941
  config: MutableDaemonConfig;
1764
1942
  }>;
1765
1943
  getDaemonStatus(options?: DaemonStatusOptions): Promise<DaemonStatusPayload>;
1944
+ reloadDaemonConfig(requestId?: string): Promise<DaemonConfigReloadResponse["payload"]>;
1945
+ connectHub(hubUrl: string, token: string, requestId?: string): Promise<{
1946
+ requestId: string;
1947
+ status: {
1948
+ state: "connected" | "connecting" | "not_connected" | "reconnecting" | "disconnecting" | "revoked";
1949
+ daemonId: string | null;
1950
+ hubOrigin: string | null;
1951
+ scopes: string[];
1952
+ connectedAt: string | null;
1953
+ lastError: string | null;
1954
+ };
1955
+ }>;
1956
+ getHubStatus(requestId?: string): Promise<{
1957
+ requestId: string;
1958
+ status: {
1959
+ state: "connected" | "connecting" | "not_connected" | "reconnecting" | "disconnecting" | "revoked";
1960
+ daemonId: string | null;
1961
+ hubOrigin: string | null;
1962
+ scopes: string[];
1963
+ connectedAt: string | null;
1964
+ lastError: string | null;
1965
+ };
1966
+ }>;
1967
+ disconnectHub(force?: boolean, requestId?: string): Promise<{
1968
+ requestId: string;
1969
+ status: {
1970
+ state: "connected" | "connecting" | "not_connected" | "reconnecting" | "disconnecting" | "revoked";
1971
+ daemonId: string | null;
1972
+ hubOrigin: string | null;
1973
+ scopes: string[];
1974
+ connectedAt: string | null;
1975
+ lastError: string | null;
1976
+ };
1977
+ warning?: string | undefined;
1978
+ }>;
1766
1979
  getDaemonPairingOffer(options?: DaemonPairingOfferOptions): Promise<DaemonPairingOfferPayload>;
1767
1980
  collectDiagnostics(requestId?: string): Promise<DiagnosticsPayload>;
1768
1981
  patchDaemonConfig(config: MutableDaemonConfigPatch, requestId?: string): Promise<{
@@ -2070,6 +2283,30 @@ export declare class DaemonClient {
2070
2283
  listCommands(agentId: string, requestId?: string): Promise<ListCommandsPayload>;
2071
2284
  listCommands(agentId: string, options?: LegacyListCommandsOptions): Promise<ListCommandsPayload>;
2072
2285
  respondToPermission(agentId: string, requestId: string, response: AgentPermissionResponse): Promise<void>;
2286
+ getPluginCatalog(): Promise<Array<{
2287
+ id: string;
2288
+ clientBundle: string;
2289
+ }>>;
2290
+ listPlugins(): Promise<PluginListItem[]>;
2291
+ getPluginLogs(pluginId: string): Promise<PluginLogEntry[]>;
2292
+ getAgentSkillsStatus(): Promise<AgentSkillsStatus>;
2293
+ reconcileAgentSkills(): Promise<AgentSkillsStatus>;
2294
+ uninstallAgentSkills(): Promise<AgentSkillsStatus>;
2295
+ saveAgentSkillsSelection(selection: AgentSkillSelection, confirmedRemovals?: readonly string[]): Promise<AgentSkillsSaveResult>;
2296
+ importLegacyAgentSkillsSelection(selection: AgentSkillSelection): Promise<{
2297
+ imported: boolean;
2298
+ selection: AgentSkillSelection;
2299
+ }>;
2300
+ installDirectoryPlugin(path: string, id?: string): Promise<PluginListItem>;
2301
+ inspectDirectoryPlugin(path: string): Promise<{
2302
+ id: string;
2303
+ }>;
2304
+ reloadPlugin(pluginId: string): Promise<PluginListItem>;
2305
+ enablePlugin(pluginId: string): Promise<PluginListItem>;
2306
+ disablePlugin(pluginId: string): Promise<PluginListItem>;
2307
+ removePlugin(pluginId: string): Promise<void>;
2308
+ private managePlugin;
2309
+ invokePluginRpc(pluginId: string, method: string, input: unknown): Promise<unknown>;
2073
2310
  respondToPermissionAndWait(agentId: string, requestId: string, response: AgentPermissionResponse, timeout?: number): Promise<AgentPermissionResolvedPayload>;
2074
2311
  waitForAgentUpsert(agentId: string, predicate: (snapshot: AgentSnapshotPayload) => boolean, timeout?: number): Promise<AgentSnapshotPayload>;
2075
2312
  waitForFinish(agentId: string, timeout?: number): Promise<WaitForFinishResult>;
@@ -2123,6 +2360,17 @@ export declare class DaemonClient {
2123
2360
  projectId?: string;
2124
2361
  requestId?: string;
2125
2362
  }): Promise<ArtifactListPayload>;
2363
+ setProjectArtifactStoreLocation(input: {
2364
+ projectId: string;
2365
+ location: "repository" | "host" | null;
2366
+ requestId?: string;
2367
+ }): Promise<void>;
2368
+ /** Requires server_info.features.categoryStorageResolver for Workflows. */
2369
+ setProjectWorkflowStoreLocation(input: {
2370
+ projectId: string;
2371
+ location: "repository" | "host" | null;
2372
+ requestId?: string;
2373
+ }): Promise<void>;
2126
2374
  artifactCreate(options: {
2127
2375
  name: string;
2128
2376
  description: string;
@@ -2170,6 +2418,88 @@ export declare class DaemonClient {
2170
2418
  artifactId: string;
2171
2419
  requestId?: string;
2172
2420
  }): Promise<ArtifactGetContentPayload>;
2421
+ artifactRepair(options: {
2422
+ artifactId: string;
2423
+ requestId?: string;
2424
+ }): Promise<ArtifactRepairPayload>;
2425
+ artifactGetData(options: {
2426
+ artifactId: string;
2427
+ requestId?: string;
2428
+ }): Promise<ArtifactDataGetPayload>;
2429
+ artifactUpdateData(options: {
2430
+ artifactId: string;
2431
+ data: unknown;
2432
+ requestId?: string;
2433
+ }): Promise<ArtifactDataUpdatePayload>;
2434
+ artifactMoveStore(options: {
2435
+ artifactId: string;
2436
+ destination: "repository" | "host";
2437
+ requestId?: string;
2438
+ }): Promise<ArtifactStoreMovePayload>;
2439
+ deliverArchitecturalView(options: {
2440
+ workspaceId: string;
2441
+ viewId: string;
2442
+ title: string;
2443
+ knowledgeReferences: Array<{
2444
+ kind: "root" | "record";
2445
+ id: string;
2446
+ }>;
2447
+ sourcePath: string;
2448
+ quality?: "standard" | "showcase";
2449
+ requestId?: string;
2450
+ }): Promise<ArchitecturalViewsDeliverPayload>;
2451
+ listArchitecturalViews(options: {
2452
+ workspaceId: string;
2453
+ knowledgeReference?: {
2454
+ kind: "root" | "record";
2455
+ id: string;
2456
+ };
2457
+ requestId?: string;
2458
+ }): Promise<ArchitecturalViewsListPayload>;
2459
+ getArchitecturalViewContent(options: {
2460
+ workspaceId: string;
2461
+ viewId: string;
2462
+ requestId?: string;
2463
+ }): Promise<ArchitecturalViewsGetContentPayload>;
2464
+ createArchitecturalViewDraft(options: {
2465
+ workspaceId: string;
2466
+ viewId: string;
2467
+ draftId: string;
2468
+ title: string;
2469
+ knowledgeReferences: Array<{
2470
+ kind: "root" | "record";
2471
+ id: string;
2472
+ }>;
2473
+ sourcePath?: string;
2474
+ quality?: "standard" | "showcase";
2475
+ requestId?: string;
2476
+ }): Promise<ArchitecturalViewsDraftCreatePayload>;
2477
+ publishArchitecturalViewDraft(options: {
2478
+ workspaceId: string;
2479
+ viewId: string;
2480
+ draftId: string;
2481
+ requestId?: string;
2482
+ }): Promise<ArchitecturalViewsDraftPublishPayload>;
2483
+ updateArchitecturalViewDraft(options: {
2484
+ workspaceId: string;
2485
+ viewId: string;
2486
+ draftId: string;
2487
+ sourcePath: string;
2488
+ quality?: "standard" | "showcase";
2489
+ requestId?: string;
2490
+ }): Promise<ArchitecturalViewsDraftUpdatePayload>;
2491
+ discardArchitecturalViewDraft(options: {
2492
+ workspaceId: string;
2493
+ viewId: string;
2494
+ draftId: string;
2495
+ requestId?: string;
2496
+ }): Promise<ArchitecturalViewsDraftDiscardPayload>;
2497
+ getArchitecturalViewDraftContent(options: {
2498
+ workspaceId: string;
2499
+ viewId: string;
2500
+ draftId: string;
2501
+ requestId?: string;
2502
+ }): Promise<ArchitecturalViewsDraftGetContentPayload>;
2173
2503
  onTerminalStreamEvent(handler: (event: TerminalStreamEvent) => void): () => void;
2174
2504
  waitForTerminalStreamEvent(predicate: (event: TerminalStreamEvent) => boolean, timeout?: number): Promise<TerminalStreamEvent>;
2175
2505
  private createRequestId;
@@ -2188,6 +2518,7 @@ export declare class DaemonClient {
2188
2518
  * not a protocol surface.
2189
2519
  */
2190
2520
  getInboundDispatchTimings(sinceMs?: number): DaemonClientInboundDispatchTiming[];
2521
+ private requireDaemonConfigReloadSupport;
2191
2522
  private resolveTransportUrlForAttempt;
2192
2523
  private sendHelloMessage;
2193
2524
  private disposeTransport;
@@ -2235,40 +2566,6 @@ export declare class DaemonClient {
2235
2566
  stopWorkspaceScript(workspaceId: string, scriptName: string, requestId?: string): Promise<Extract<SessionOutboundMessage, {
2236
2567
  type: "workspace.script.stop.response";
2237
2568
  }>["payload"]>;
2238
- connectHub(hubUrl: string, token: string, requestId?: string): Promise<{
2239
- requestId: string;
2240
- status: {
2241
- state: "connected" | "connecting" | "not_connected" | "reconnecting" | "disconnecting" | "revoked";
2242
- daemonId: string | null;
2243
- hubOrigin: string | null;
2244
- scopes: string[];
2245
- connectedAt: string | null;
2246
- lastError: string | null;
2247
- };
2248
- }>;
2249
- getHubStatus(requestId?: string): Promise<{
2250
- requestId: string;
2251
- status: {
2252
- state: "connected" | "connecting" | "not_connected" | "reconnecting" | "disconnecting" | "revoked";
2253
- daemonId: string | null;
2254
- hubOrigin: string | null;
2255
- scopes: string[];
2256
- connectedAt: string | null;
2257
- lastError: string | null;
2258
- };
2259
- }>;
2260
- disconnectHub(force?: boolean, requestId?: string): Promise<{
2261
- requestId: string;
2262
- status: {
2263
- state: "connected" | "connecting" | "not_connected" | "reconnecting" | "disconnecting" | "revoked";
2264
- daemonId: string | null;
2265
- hubOrigin: string | null;
2266
- scopes: string[];
2267
- connectedAt: string | null;
2268
- lastError: string | null;
2269
- };
2270
- warning?: string | undefined;
2271
- }>;
2272
2569
  private requireHubRelationshipSupport;
2273
2570
  }
2274
2571
  //# sourceMappingURL=daemon-client.d.ts.map