import type { TaskDeleteImpact } from "./domain"; import type { SpaceHistoryPage, ThreadHistory } from "./chat-domain"; import type { RunRequestRecord } from "./provider-runtime-domain"; import type { ApprovalDrift } from "./approval-pin"; import type { DesktopResult } from "./result"; import type { AppSnapshot, SearchResultRecord } from "./domain"; import type { ProviderModelEntry } from "./provider-models"; import type { BootstrapOnboardingInput, BootstrapOnboardingSummary, CancelProviderResponseInput, CreateAgentInput, SetAutonomousPausedInput, StopRunInput, SetIntegrationKeyInput, ClearIntegrationKeyInput, UpdateAgentInput, UpdateEmployeeProfileInput, CreateApprovalInput, CreateAutomationRuleInput, CreateDocumentInput, CreateGoalInput, CreateMeetingInput, CreateSprintInput, DeleteMeetingInput, DeleteSprintInput, CreateKnowledgeEntryInput, UpdateKnowledgeEntryInput, DocumentVersionRecord, KnowledgeRevisionRecord, ListDocumentVersionsInput, ListKnowledgeRevisionsInput, CreateProjectInput, CreateWorkspaceInput, DeleteAutomationRuleInput, DeleteDocumentInput, DeleteTaskInput, SetTaskBlockedInput, DeleteKnowledgeEntryInput, ResumeGoalInput, UpdateAutomationRuleInput, UpdateDocumentInput, UpdateTaskInput, CreateChatSpaceInput, CreateComplianceExportInput, CreateLegalHoldInput, CreateMigrationReportInput, CheckProviderHealthInput, ListProviderModelsInput, StartProviderOAuthInput, StartProviderOAuthResult, CancelProviderOAuthInput, MarkChatSpaceReadInput, CreateOrganizationInput, CreateProviderResponseInput, CreateRetentionFreezeInput, CreateScheduledPostInput, CreateSocialAccountInput, CreateTaskInput, DecideApprovalInput, DeleteMessageInput, DeleteOrganizationInput, EditMessageInput, ImportedFiles, ImportFileInput, OpenFileInput, GrantRoleInput, LaunchSocialLoginInput, RunTaskInput, RevokeProviderCredentialInput, SaveProviderCredentialInput, ConnectComposioToolkitInput, ConnectComposioToolkitResult, ConnectorCatalogEntry, DisconnectComposioToolkitInput, GrantConnectorInput, RevokeConnectorInput, RefreshComposioAccountsInput, SearchInput, SendMessageInput, SetActiveOrganizationInput, SetUiPreferencesInput, SetFilePinnedInput, SetFeatureFlagInput, SetLegalHoldStateInput, SetRetentionFreezeStateInput, SetScheduledPostStateInput, StreamProviderResponseInput, SyncEmployeeIdentityInput, UpdateProviderPolicyInput, SetProviderPricesInput, UpdateTaskStatusInput, } from "./commands"; import type { ProviderStreamRendererEvent } from "./provider-request-domain"; export type ProviderOAuthPhase = "authorize" | "progress" | "active" | "error" | "cancelled"; export interface ProviderOAuthEvent { type: "provider-oauth"; providerKey: string; phase: ProviderOAuthPhase; url?: string; instructions?: string; message?: string; } export type RendererEvent = | { type: "snapshot-changed" } | { type: "provider-response-stream"; event: ProviderStreamRendererEvent } | ProviderOAuthEvent; /** The verdict of a model's agent check. */ export type ModelCheckResult = { passed: true } | { passed: false; detail: string }; export interface DesktopApi { loadSnapshot(): Promise>; bootstrapOnboarding(input: BootstrapOnboardingInput): Promise>; setActiveOrganization(input: SetActiveOrganizationInput): Promise>; setUiPreferences(input: SetUiPreferencesInput): Promise>; deleteOrganization(input: DeleteOrganizationInput): Promise>; createOrganization(input: CreateOrganizationInput): Promise>; createAgent(input: CreateAgentInput): Promise>; updateAgent(input: UpdateAgentInput): Promise>; updateEmployeeProfile(input: UpdateEmployeeProfileInput): Promise>; setAutonomousPaused(input: SetAutonomousPausedInput): Promise>; stopRun(input: StopRunInput): Promise>; setIntegrationKey(input: SetIntegrationKeyInput): Promise>; clearIntegrationKey(input: ClearIntegrationKeyInput): Promise>; createTask(input: CreateTaskInput): Promise>; updateTask(input: UpdateTaskInput): Promise>; deleteTask(input: DeleteTaskInput): Promise>; updateTaskStatus(input: UpdateTaskStatusInput): Promise>; runTask(input: RunTaskInput): Promise>; createGoal(input: CreateGoalInput): Promise>; createProject(input: CreateProjectInput): Promise>; createWorkspace(input: CreateWorkspaceInput): Promise>; createDocument(input: CreateDocumentInput): Promise>; updateDocument(input: UpdateDocumentInput): Promise>; deleteDocument(input: DeleteDocumentInput): Promise>; createKnowledgeEntry(input: CreateKnowledgeEntryInput): Promise>; deleteKnowledgeEntry(input: DeleteKnowledgeEntryInput): Promise>; resumeGoal(input: ResumeGoalInput): Promise>; updateKnowledgeEntry(input: UpdateKnowledgeEntryInput): Promise>; listDocumentVersions(input: ListDocumentVersionsInput): Promise>; listKnowledgeRevisions(input: ListKnowledgeRevisionsInput): Promise>; createAutomationRule(input: CreateAutomationRuleInput): Promise>; updateAutomationRule(input: UpdateAutomationRuleInput): Promise>; deleteAutomationRule(input: DeleteAutomationRuleInput): Promise>; createMeeting(input: CreateMeetingInput): Promise>; deleteMeeting(input: DeleteMeetingInput): Promise>; createSprint(input: CreateSprintInput): Promise>; deleteSprint(input: DeleteSprintInput): Promise>; createApproval(input: CreateApprovalInput): Promise>; decideApproval(input: DecideApprovalInput): Promise>; syncEmployeeIdentity(input: SyncEmployeeIdentityInput): Promise>; grantRole(input: GrantRoleInput): Promise>; createChatSpace(input: CreateChatSpaceInput): Promise>; sendMessage(input: SendMessageInput): Promise>; editMessage(input: EditMessageInput): Promise>; deleteMessage(input: DeleteMessageInput): Promise>; markChatSpaceRead(input: MarkChatSpaceReadInput): Promise>; saveProviderCredential(input: SaveProviderCredentialInput): Promise>; revokeProviderCredential(input: RevokeProviderCredentialInput): Promise>; startProviderOAuth(input: StartProviderOAuthInput): Promise>; cancelProviderOAuth(input: CancelProviderOAuthInput): Promise>; checkProviderHealth(input: CheckProviderHealthInput): Promise>; listProviderModels(input: ListProviderModelsInput): Promise>; /** Runs the agent check of a model: one turn that must follow system instructions and call a tool. */ checkProviderModel(input: { orgId: string; providerId: string; model: string }): Promise>; updateProviderPolicy(input: UpdateProviderPolicyInput): Promise>; setProviderPrices(input: SetProviderPricesInput): Promise>; setGoalAuditor(input: { orgId: string; providerId: string; modelId: string }): Promise>; openExternalUrl(url: string): Promise>; createProviderResponse(input: CreateProviderResponseInput): Promise>; streamProviderResponse(input: StreamProviderResponseInput): Promise>; cancelProviderResponse(input: CancelProviderResponseInput): Promise>; createSocialAccount(input: CreateSocialAccountInput): Promise>; launchSocialLogin(input: LaunchSocialLoginInput): Promise>; createScheduledPost(input: CreateScheduledPostInput): Promise>; setScheduledPostState(input: SetScheduledPostStateInput): Promise>; importFile(input: ImportFileInput): Promise>; openFile(input: OpenFileInput): Promise>; pickDirectory(): Promise>; setFilePinned(input: SetFilePinnedInput): Promise>; createMigrationReport(input: CreateMigrationReportInput): Promise>; setFeatureFlag(input: SetFeatureFlagInput): Promise>; createComplianceExport(input: CreateComplianceExportInput): Promise>; createLegalHold(input: CreateLegalHoldInput): Promise>; setLegalHoldState(input: SetLegalHoldStateInput): Promise>; createRetentionFreeze(input: CreateRetentionFreezeInput): Promise>; setRetentionFreezeState(input: SetRetentionFreezeStateInput): Promise>; listConnectorCatalog(): Promise>; connectComposioToolkit(input: ConnectComposioToolkitInput): Promise>; disconnectComposioToolkit(input: DisconnectComposioToolkitInput): Promise>; refreshComposioAccounts(input: RefreshComposioAccountsInput): Promise>; grantConnector(input: GrantConnectorInput): Promise>; /** Approved deliverables whose content changed or vanished since approval, checked on disk now. */ approvalDrifts(input: { orgId: string; approvalIds: string[] }): Promise>>; /** Every model call a task run made, in order: turns, goal audits and model checks. */ runRequests(input: { orgId: string; runId: string }): Promise>; /** One thread in full, beyond the snapshot's recent window. */ chatThreadHistory(input: { orgId: string; threadId: string }): Promise>; /** The page of a conversation before a loaded message, for history older than the snapshot holds. */ /** Blocks a task with a reason, or unblocks it with null. */ setTaskBlocked(input: SetTaskBlockedInput): Promise>; /** What deleting a task would remove, keep and close. */ taskDeleteImpact(input: { orgId: string; taskId: string }): Promise>; /** Cancels a run that has not started yet. */ cancelQueuedRun(input: { orgId: string; runId: string }): Promise>; chatSpaceHistory(input: { orgId: string; spaceId: string; beforeMessageId: string | null } & ({ limit: number } | { fromMessageId: string })): Promise>; revokeConnector(input: RevokeConnectorInput): Promise>; search(input: SearchInput): Promise>; subscribe(callback: (event: RendererEvent) => void): () => void; platform: "win32" | "darwin" | "linux"; language: "en" | "zh"; windowMinimize(): Promise; windowMaximize(): Promise; windowClose(): Promise; }