/** Bootstrap: one request that gets a desktop client on screen instantly. */ import { type Static } from "@sinclair/typebox"; import type { Agent, AgentDraftResponse, AgentModeResponse, AgentResponse } from "./agents.js"; import { type EventCursor } from "./common.js"; import type { UserMessage } from "./messages.js"; import type { BackgroundProcess } from "./processes.js"; import type { AgentUsageResponse } from "./usage.js"; /** * `GET /v0/agents/:agentId/bootstrap` * * The small, current agent facts a conversation client needs before following events. Usage and * mode keep their own focused endpoints; this composes those exact response fields with the * durable pending composer queue and the cursor that closes the snapshot window. */ export interface AgentBootstrapResponse extends AgentDraftResponse, AgentModeResponse, AgentResponse, AgentUsageResponse { /** Queued and steering messages not yet accepted by inference, oldest first. */ pending: UserMessage[]; /** Full background-process activity, newest first. Absent on older compatible daemons. */ processes?: BackgroundProcess[]; /** Full child-agent activity, newest first. Absent on older compatible daemons. */ subagents?: Agent[]; cursor: EventCursor; } /** * `GET /v0/bootstrap/desktop` * * A composition of other endpoints' objects; nothing here has a shape of its * own. There is no separate global agent list: each included project and * workspace carries its own ordered top-level agents. Every full agent may embed its recursive * active subtask tree, including each bot's agent and shared-filesystem subtasks. */ export declare const desktopBootstrapResponseSchema: import("@sinclair/typebox").TObject<{ /** Every bot, archived ones included. Absent on older compatible daemons. */ bots: import("@sinclair/typebox").TOptional; canSendMessages: import("@sinclair/typebox").TOptional; createdAt: import("@sinclair/typebox").TInteger; id: import("@sinclair/typebox").TString; lastCursor: import("@sinclair/typebox").TString; managedByAnotherAgent: import("@sinclair/typebox").TOptional; orderKey: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>; parentAgentId: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>; pendingQuestionId: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>; processes: import("@sinclair/typebox").TObject<{ running: import("@sinclair/typebox").TInteger; }>; status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"idle">, import("@sinclair/typebox").TLiteral<"thinking">, import("@sinclair/typebox").TLiteral<"working">, import("@sinclair/typebox").TLiteral<"generating_tools">, import("@sinclair/typebox").TLiteral<"running_tools">]>; subagents: import("@sinclair/typebox").TObject<{ running: import("@sinclair/typebox").TInteger; total: import("@sinclair/typebox").TInteger; }>; subtask: import("@sinclair/typebox").TOptional; subtasks: import("@sinclair/typebox").TOptional>; title: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>; titleStatus: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"idle">, import("@sinclair/typebox").TLiteral<"ready">]>; unread: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ reason: import("@sinclair/typebox").TString; since: import("@sinclair/typebox").TInteger; }>, import("@sinclair/typebox").TNull]>; updatedAt: import("@sinclair/typebox").TInteger; userVisible: import("@sinclair/typebox").TOptional; version: import("@sinclair/typebox").TString; workspaceId: import("@sinclair/typebox").TString; }>>; archivedAt: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>; avatar: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ kind: import("@sinclair/typebox").TLiteral<"image">; source: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"user">, import("@sinclair/typebox").TLiteral<"generated">]>; thumbhash: import("@sinclair/typebox").TString; }>, import("@sinclair/typebox").TNull]>; compute: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ path: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"host">; }>, import("@sinclair/typebox").TObject<{ image: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"docker">; }>]>; createdAt: import("@sinclair/typebox").TInteger; id: import("@sinclair/typebox").TString; isAdmin: import("@sinclair/typebox").TOptional; name: import("@sinclair/typebox").TString; orderKey: import("@sinclair/typebox").TString; status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"active">, import("@sinclair/typebox").TLiteral<"archived">]>; systemKey: import("@sinclair/typebox").TOptional>; updatedAt: import("@sinclair/typebox").TInteger; username: import("@sinclair/typebox").TString; version: import("@sinclair/typebox").TString; workspaceId: import("@sinclair/typebox").TString; }>>>; config: import("@sinclair/typebox").TObject<{ node: import("@sinclair/typebox").TOptional, import("@sinclair/typebox").TNull]>; }>>; defaults: import("@sinclair/typebox").TObject<{ effort: import("@sinclair/typebox").TString; modelId: import("@sinclair/typebox").TString; permissionMode: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"read_only">, import("@sinclair/typebox").TLiteral<"workspace_write">, import("@sinclair/typebox").TLiteral<"auto">, import("@sinclair/typebox").TLiteral<"full_access">]>; providerId: import("@sinclair/typebox").TString; }>; features: import("@sinclair/typebox").TObject<{ crossWorkspace: import("@sinclair/typebox").TBoolean; workflows: import("@sinclair/typebox").TBoolean; workspaces: import("@sinclair/typebox").TBoolean; }>; mcpServers: import("@sinclair/typebox").TRecord, import("@sinclair/typebox").TLiteral<"http">]>; }>>; models: import("@sinclair/typebox").TRecord>; contextWindow: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>; defaultEffort: import("@sinclair/typebox").TString; efforts: import("@sinclair/typebox").TArray; name: import("@sinclair/typebox").TString; serviceTiers: import("@sinclair/typebox").TArray; }>>; network: import("@sinclair/typebox").TObject<{ allowedDomains: import("@sinclair/typebox").TArray; allowedLoopbackPorts: import("@sinclair/typebox").TArray; allowedPorts: import("@sinclair/typebox").TArray; allowLocalBinding: import("@sinclair/typebox").TBoolean; deniedDomains: import("@sinclair/typebox").TArray; }>; p2p: import("@sinclair/typebox").TObject<{ enableDirect: import("@sinclair/typebox").TBoolean; enableIroh: import("@sinclair/typebox").TBoolean; enableSsh: import("@sinclair/typebox").TBoolean; exposeApi: import("@sinclair/typebox").TBoolean; name: import("@sinclair/typebox").TString; role: import("@sinclair/typebox").TString; }>; permissions: import("@sinclair/typebox").TObject<{ protectedPaths: import("@sinclair/typebox").TArray; }>; presence: import("@sinclair/typebox").TObject<{ current: import("@sinclair/typebox").TString; fallback: import("@sinclair/typebox").TString; states: import("@sinclair/typebox").TRecord; emoji: import("@sinclair/typebox").TString; prompt: import("@sinclair/typebox").TString; title: import("@sinclair/typebox").TString; }>>; }>; providers: import("@sinclair/typebox").TRecord; efforts: import("@sinclair/typebox").TOptional>; enabled: import("@sinclair/typebox").TBoolean; id: import("@sinclair/typebox").TString; name: import("@sinclair/typebox").TOptional; serviceTiers: import("@sinclair/typebox").TOptional>; }>>; type: import("@sinclair/typebox").TString; }>>; settings: import("@sinclair/typebox").TObject<{ compactCompletedTurns: import("@sinclair/typebox").TBoolean; completionChime: import("@sinclair/typebox").TBoolean; inferenceMaxRetries: import("@sinclair/typebox").TInteger; showReasoning: import("@sinclair/typebox").TBoolean; showUsage: import("@sinclair/typebox").TBoolean; toolResultRetentionDays: import("@sinclair/typebox").TInteger; }>; theme: import("@sinclair/typebox").TObject<{ accent: import("@sinclair/typebox").TString; brand: import("@sinclair/typebox").TString; error: import("@sinclair/typebox").TString; primary: import("@sinclair/typebox").TString; secondary: import("@sinclair/typebox").TString; success: import("@sinclair/typebox").TString; warning: import("@sinclair/typebox").TString; }>; workspace: import("@sinclair/typebox").TObject<{ keepCopiesOnArchive: import("@sinclair/typebox").TBoolean; keepWorktreesOnArchive: import("@sinclair/typebox").TBoolean; protectedSync: import("@sinclair/typebox").TArray; setupCommands: import("@sinclair/typebox").TArray; sync: import("@sinclair/typebox").TArray; }>; }>; /** * The newest event cursor as of this snapshot. Opening the event stream * from here leaves no window for a change to fall between the two. */ cursor: import("@sinclair/typebox").TString; /** Current Happy Cloud authentication state. Absent on older compatible daemons. */ cloud: import("@sinclair/typebox").TOptional, import("@sinclair/typebox").TNull]>; status: import("@sinclair/typebox").TLiteral<"disconnected">; user: import("@sinclair/typebox").TNull; }>, import("@sinclair/typebox").TObject<{ updatedAt: import("@sinclair/typebox").TInteger; version: import("@sinclair/typebox").TString; authorization: import("@sinclair/typebox").TObject<{ expiresAt: import("@sinclair/typebox").TInteger; url: import("@sinclair/typebox").TString; }>; environment: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"production">, import("@sinclair/typebox").TLiteral<"staging">]>; error: import("@sinclair/typebox").TNull; status: import("@sinclair/typebox").TLiteral<"authorizing">; user: import("@sinclair/typebox").TNull; }>, import("@sinclair/typebox").TObject<{ updatedAt: import("@sinclair/typebox").TInteger; version: import("@sinclair/typebox").TString; authorization: import("@sinclair/typebox").TNull; environment: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"production">, import("@sinclair/typebox").TLiteral<"staging">]>; error: import("@sinclair/typebox").TNull; status: import("@sinclair/typebox").TLiteral<"connected">; user: import("@sinclair/typebox").TObject<{ email: import("@sinclair/typebox").TString; firstName: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>; id: import("@sinclair/typebox").TString; lastName: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>; }>; }>]>>; /** Current Happy mobile connection state. Absent on older compatible daemons. */ happyIntegration: import("@sinclair/typebox").TOptional; }>, import("@sinclair/typebox").TObject<{ updatedAt: import("@sinclair/typebox").TInteger; version: import("@sinclair/typebox").TString; authorization: import("@sinclair/typebox").TNull; configured: import("@sinclair/typebox").TBoolean; error: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ code: import("@sinclair/typebox").TString; message: import("@sinclair/typebox").TString; }>, import("@sinclair/typebox").TNull]>; status: import("@sinclair/typebox").TLiteral<"disconnected">; }>, import("@sinclair/typebox").TObject<{ updatedAt: import("@sinclair/typebox").TInteger; version: import("@sinclair/typebox").TString; authorization: import("@sinclair/typebox").TObject<{ data: import("@sinclair/typebox").TString; expiresAt: import("@sinclair/typebox").TInteger; kind: import("@sinclair/typebox").TLiteral<"qr">; }>; configured: import("@sinclair/typebox").TLiteral; error: import("@sinclair/typebox").TNull; status: import("@sinclair/typebox").TLiteral<"pairing">; }>, import("@sinclair/typebox").TObject<{ updatedAt: import("@sinclair/typebox").TInteger; version: import("@sinclair/typebox").TString; authorization: import("@sinclair/typebox").TNull; configured: import("@sinclair/typebox").TLiteral; error: import("@sinclair/typebox").TNull; status: import("@sinclair/typebox").TLiteral<"connecting">; }>, import("@sinclair/typebox").TObject<{ updatedAt: import("@sinclair/typebox").TInteger; version: import("@sinclair/typebox").TString; authorization: import("@sinclair/typebox").TNull; configured: import("@sinclair/typebox").TLiteral; error: import("@sinclair/typebox").TNull; status: import("@sinclair/typebox").TLiteral<"connected">; }>, import("@sinclair/typebox").TObject<{ updatedAt: import("@sinclair/typebox").TInteger; version: import("@sinclair/typebox").TString; authorization: import("@sinclair/typebox").TNull; configured: import("@sinclair/typebox").TBoolean; error: import("@sinclair/typebox").TObject<{ code: import("@sinclair/typebox").TString; message: import("@sinclair/typebox").TString; }>; status: import("@sinclair/typebox").TLiteral<"failed">; }>]>>; onboarding: import("@sinclair/typebox").TObject<{ completed: import("@sinclair/typebox").TBoolean; steps: import("@sinclair/typebox").TObject<{ profile: import("@sinclair/typebox").TObject<{ done: import("@sinclair/typebox").TBoolean; }>; project: import("@sinclair/typebox").TObject<{ done: import("@sinclair/typebox").TBoolean; }>; providers: import("@sinclair/typebox").TObject<{ done: import("@sinclair/typebox").TBoolean; signedIn: import("@sinclair/typebox").TArray; }>; }>; }>; profile: import("@sinclair/typebox").TObject<{ email: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>; name: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>; photo: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ thumbhash: import("@sinclair/typebox").TString; }>, import("@sinclair/typebox").TNull]>; userId: import("@sinclair/typebox").TOptional>; updatedAt: import("@sinclair/typebox").TInteger; version: import("@sinclair/typebox").TString; }>; /** Every active project, in catalog order. */ projects: import("@sinclair/typebox").TArray; canSendMessages: import("@sinclair/typebox").TOptional; createdAt: import("@sinclair/typebox").TInteger; id: import("@sinclair/typebox").TString; lastCursor: import("@sinclair/typebox").TString; managedByAnotherAgent: import("@sinclair/typebox").TOptional; orderKey: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>; parentAgentId: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>; pendingQuestionId: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>; processes: import("@sinclair/typebox").TObject<{ running: import("@sinclair/typebox").TInteger; }>; status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"idle">, import("@sinclair/typebox").TLiteral<"thinking">, import("@sinclair/typebox").TLiteral<"working">, import("@sinclair/typebox").TLiteral<"generating_tools">, import("@sinclair/typebox").TLiteral<"running_tools">]>; subagents: import("@sinclair/typebox").TObject<{ running: import("@sinclair/typebox").TInteger; total: import("@sinclair/typebox").TInteger; }>; subtask: import("@sinclair/typebox").TOptional; subtasks: import("@sinclair/typebox").TOptional>; title: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>; titleStatus: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"idle">, import("@sinclair/typebox").TLiteral<"ready">]>; unread: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ reason: import("@sinclair/typebox").TString; since: import("@sinclair/typebox").TInteger; }>, import("@sinclair/typebox").TNull]>; updatedAt: import("@sinclair/typebox").TInteger; userVisible: import("@sinclair/typebox").TOptional; version: import("@sinclair/typebox").TString; workspaceId: import("@sinclair/typebox").TString; }>>>; archivedAt: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>; avatar: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ kind: import("@sinclair/typebox").TLiteral<"image">; source: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"user">, import("@sinclair/typebox").TLiteral<"generated">]>; thumbhash: import("@sinclair/typebox").TString; }>, import("@sinclair/typebox").TObject<{ kind: import("@sinclair/typebox").TLiteral<"home">; }>]>, import("@sinclair/typebox").TNull]>; compute: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ path: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"host">; }>, import("@sinclair/typebox").TObject<{ image: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"docker">; }>]>; createdAt: import("@sinclair/typebox").TInteger; defaultBranch: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>; description: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>; git: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ ahead: import("@sinclair/typebox").TInteger; behind: import("@sinclair/typebox").TInteger; branch: import("@sinclair/typebox").TOptional>; detached: import("@sinclair/typebox").TBoolean; head: import("@sinclair/typebox").TString; upstream: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>; }>, import("@sinclair/typebox").TNull]>; id: import("@sinclair/typebox").TString; initialization: import("@sinclair/typebox").TObject<{ attempt: import("@sinclair/typebox").TInteger; error: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>; status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"initializing">, import("@sinclair/typebox").TLiteral<"ready">, import("@sinclair/typebox").TLiteral<"failed">]>; }>; name: import("@sinclair/typebox").TString; nameSource: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"folder">, import("@sinclair/typebox").TLiteral<"user">]>; orderKey: import("@sinclair/typebox").TString; remoteSource: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ kind: import("@sinclair/typebox").TLiteral<"github">; repository: import("@sinclair/typebox").TString; }>, import("@sinclair/typebox").TObject<{ kind: import("@sinclair/typebox").TLiteral<"git">; url: import("@sinclair/typebox").TString; }>]>, import("@sinclair/typebox").TNull]>; settings: import("@sinclair/typebox").TObject<{ defaultWorkspaceCompute: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ type: import("@sinclair/typebox").TLiteral<"host">; }>, import("@sinclair/typebox").TObject<{ image: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"docker">; }>]>; }>; status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"active">, import("@sinclair/typebox").TLiteral<"archived">]>; updatedAt: import("@sinclair/typebox").TInteger; version: import("@sinclair/typebox").TString; worktreeSupport: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"supported">, import("@sinclair/typebox").TLiteral<"unsupported">, import("@sinclair/typebox").TLiteral<"unknown">]>; worktreeUnsupportedReason: import("@sinclair/typebox").TOptional; }>>; /** Each project's root workspace and the workspaces directly under it. */ workspaces: import("@sinclair/typebox").TArray; canSendMessages: import("@sinclair/typebox").TOptional; createdAt: import("@sinclair/typebox").TInteger; id: import("@sinclair/typebox").TString; lastCursor: import("@sinclair/typebox").TString; managedByAnotherAgent: import("@sinclair/typebox").TOptional; orderKey: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>; parentAgentId: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>; pendingQuestionId: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>; processes: import("@sinclair/typebox").TObject<{ running: import("@sinclair/typebox").TInteger; }>; status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"idle">, import("@sinclair/typebox").TLiteral<"thinking">, import("@sinclair/typebox").TLiteral<"working">, import("@sinclair/typebox").TLiteral<"generating_tools">, import("@sinclair/typebox").TLiteral<"running_tools">]>; subagents: import("@sinclair/typebox").TObject<{ running: import("@sinclair/typebox").TInteger; total: import("@sinclair/typebox").TInteger; }>; subtask: import("@sinclair/typebox").TOptional; subtasks: import("@sinclair/typebox").TOptional>; title: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>; titleStatus: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"idle">, import("@sinclair/typebox").TLiteral<"ready">]>; unread: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ reason: import("@sinclair/typebox").TString; since: import("@sinclair/typebox").TInteger; }>, import("@sinclair/typebox").TNull]>; updatedAt: import("@sinclair/typebox").TInteger; userVisible: import("@sinclair/typebox").TOptional; version: import("@sinclair/typebox").TString; workspaceId: import("@sinclair/typebox").TString; }>>>; archivedAt: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TInteger, import("@sinclair/typebox").TNull]>; base: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ commit: import("@sinclair/typebox").TString; ref: import("@sinclair/typebox").TString; }>, import("@sinclair/typebox").TNull]>; botId: import("@sinclair/typebox").TOptional>; compute: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ path: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"host">; }>, import("@sinclair/typebox").TObject<{ image: import("@sinclair/typebox").TString; type: import("@sinclair/typebox").TLiteral<"docker">; }>]>; createdAt: import("@sinclair/typebox").TInteger; creatorAgentId: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>; git: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ ahead: import("@sinclair/typebox").TInteger; behind: import("@sinclair/typebox").TInteger; branch: import("@sinclair/typebox").TOptional>; detached: import("@sinclair/typebox").TBoolean; head: import("@sinclair/typebox").TString; upstream: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>; }>, import("@sinclair/typebox").TNull]>; id: import("@sinclair/typebox").TString; initialization: import("@sinclair/typebox").TObject<{ attempt: import("@sinclair/typebox").TInteger; error: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>; status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"initializing">, import("@sinclair/typebox").TLiteral<"ready">, import("@sinclair/typebox").TLiteral<"failed">]>; }>; kind: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"root">, import("@sinclair/typebox").TLiteral<"worktree">, import("@sinclair/typebox").TLiteral<"copy">, import("@sinclair/typebox").TLiteral<"bot">]>; name: import("@sinclair/typebox").TString; nameSource: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"user">, import("@sinclair/typebox").TLiteral<"generated">]>; orderKey: import("@sinclair/typebox").TString; parentId: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>; projectId: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>; serviceCleanup: import("@sinclair/typebox").TOptional, import("@sinclair/typebox").TLiteral<"removing_files">, import("@sinclair/typebox").TLiteral<"blocked">]>; serviceIds: import("@sinclair/typebox").TArray; error: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{ code: import("@sinclair/typebox").TString; message: import("@sinclair/typebox").TString; }>, import("@sinclair/typebox").TNull]>; }>, import("@sinclair/typebox").TNull]>>; status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"active">, import("@sinclair/typebox").TLiteral<"archiving">, import("@sinclair/typebox").TLiteral<"archived">]>; subtaskAgentId: import("@sinclair/typebox").TOptional>; updatedAt: import("@sinclair/typebox").TInteger; version: import("@sinclair/typebox").TString; }>>; }>; export type DesktopBootstrapResponse = Static; //# sourceMappingURL=bootstrap.d.ts.map