@sideboard-ai/core 0.1.24 → 0.1.31

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.
package/dist/index.d.cts CHANGED
@@ -51,6 +51,10 @@ interface ThreadAttachment {
51
51
  name: string;
52
52
  kind: 'transcript' | 'file' | 'issue' | 'workspace' | 'diff-comment';
53
53
  content: string;
54
+ /** Worktree-relative path when this attachment is a real file that can be opened in a tab. */
55
+ path?: string;
56
+ /** data: URL thumbnail for image attachments shown in the composer (pending only). */
57
+ previewDataUrl?: string;
54
58
  }
55
59
  interface Thread {
56
60
  id: string;
@@ -93,6 +97,8 @@ interface CreateChatTabInput {
93
97
  /** Existing thread in the worktree to clone workspace metadata from. */
94
98
  fromThreadId: string;
95
99
  agent?: AgentKind;
100
+ model?: string | null;
101
+ autonomy?: Autonomy;
96
102
  title?: string;
97
103
  attachments?: ThreadAttachment[];
98
104
  }
@@ -1076,6 +1082,20 @@ declare const brightsyAdapter: AgentAdapter;
1076
1082
 
1077
1083
  declare const claudeAdapter: AgentAdapter;
1078
1084
 
1085
+ /** Shared shape for composer agent model pickers. */
1086
+ type AgentModelInfo = {
1087
+ id: string;
1088
+ displayName: string;
1089
+ description?: string;
1090
+ };
1091
+ /** @deprecated Prefer {@link AgentModelInfo} — same shape. */
1092
+ type CursorModelInfo = AgentModelInfo;
1093
+
1094
+ /**
1095
+ * Models from `codex debug models` (JSON catalog). Prefers visibility=list.
1096
+ * Falls back to a small static list when Codex isn't installed / command fails.
1097
+ */
1098
+ declare function listCodexModels(): Promise<AgentModelInfo[]>;
1079
1099
  declare const codexAdapter: AgentAdapter;
1080
1100
 
1081
1101
  /** JSON payload written to the Cursor runner on stdin. */
@@ -1123,8 +1143,23 @@ declare function cursorSdkMessageToEvents(msg: CursorSdkStreamMessage): AgentEve
1123
1143
  /** Parse one NDJSON line emitted by the Cursor runner (already Sideboard AgentEvents). */
1124
1144
  declare function parseCursorRunnerLine(line: string): AgentEvent | AgentEvent[] | null;
1125
1145
 
1146
+ /** True when the thread uses Cursor Auto (`default` / null / `auto`). */
1147
+ declare function isCursorAutoModel(model: string | null | undefined): boolean;
1148
+ /** Resolve SDK model id for a turn (null → Auto). */
1149
+ declare function resolveCursorModelId(model: string | null | undefined): string;
1150
+ /**
1151
+ * List models available to the configured CURSOR_API_KEY.
1152
+ * Cached briefly; falls back to a small static list when unauthenticated / offline.
1153
+ */
1154
+ declare function listCursorModels(): Promise<AgentModelInfo[]>;
1155
+
1126
1156
  declare const cursorAdapter: AgentAdapter;
1127
1157
 
1158
+ /**
1159
+ * Models from `opencode models` (`provider/model` lines).
1160
+ * Falls back to a small static list when OpenCode isn't installed.
1161
+ */
1162
+ declare function listOpencodeModels(): Promise<AgentModelInfo[]>;
1128
1163
  declare const opencodeAdapter: AgentAdapter;
1129
1164
 
1130
1165
  /**
@@ -1134,6 +1169,42 @@ declare const opencodeAdapter: AgentAdapter;
1134
1169
  */
1135
1170
  declare function ensureAgentPath(env?: NodeJS.ProcessEnv): string;
1136
1171
 
1172
+ type AgentSetupKind = 'cli' | 'api-key' | 'bundled-sdk';
1173
+ interface AgentSetupInfo {
1174
+ agent: AgentKind;
1175
+ kind: AgentSetupKind;
1176
+ /** Short explanation for Settings. */
1177
+ summary: string;
1178
+ docsUrl: string;
1179
+ /** Shell one-liner to install the CLI (null when not applicable). */
1180
+ installCommand: string | null;
1181
+ /** Shell one-liner for interactive login/auth (null when API-key only). */
1182
+ loginCommand: string | null;
1183
+ /** npm package for in-app `npm i -g` when install is npm-based. */
1184
+ npmPackage?: string;
1185
+ }
1186
+ interface AgentSetupActionResult {
1187
+ ok: boolean;
1188
+ /** True when a system Terminal window was opened for an interactive command. */
1189
+ openedTerminal?: boolean;
1190
+ command?: string;
1191
+ message: string;
1192
+ stdout?: string;
1193
+ stderr?: string;
1194
+ exitCode?: number | null;
1195
+ }
1196
+ declare function getAgentSetupInfo(agent: AgentKind): AgentSetupInfo;
1197
+ declare function listAgentSetupInfo(): AgentSetupInfo[];
1198
+ /**
1199
+ * Open an interactive shell command in the system terminal (macOS Terminal.app,
1200
+ * Linux gnome-terminal/x-terminal-emulator, Windows cmd).
1201
+ */
1202
+ declare function openInSystemTerminal(command: string): Promise<void>;
1203
+ /** Install a CLI agent: npm packages run in-process; curl installers open Terminal. */
1204
+ declare function installAgent(agent: AgentKind): Promise<AgentSetupActionResult>;
1205
+ /** Open the agent’s login/auth command in the system terminal. */
1206
+ declare function loginAgent(agent: AgentKind): Promise<AgentSetupActionResult>;
1207
+
1137
1208
  declare function getAdapter(kind: AgentKind): AgentAdapter;
1138
1209
  declare function allAdapters(): AgentAdapter[];
1139
1210
 
@@ -1513,6 +1584,35 @@ interface DiffCommentInput {
1513
1584
  */
1514
1585
  declare function buildDiffCommentAttachment(input: DiffCommentInput): ThreadAttachment;
1515
1586
 
1587
+ declare function isImageFilePath(filePath: string): boolean;
1588
+ /**
1589
+ * Build a composer attachment from an absolute filesystem path (no copy).
1590
+ * Used by the native file picker when no worktree is available yet.
1591
+ */
1592
+ declare function attachmentFromAbsolutePath(absolutePath: string): ThreadAttachment;
1593
+ /**
1594
+ * Copy absolute paths into `.sideboard/attachments/` and return composer attachments
1595
+ * with worktree-relative `path` (and image previews when applicable).
1596
+ */
1597
+ declare function stageAbsolutePathsAsAttachments(worktreePath: string, absolutePaths: string[]): ThreadAttachment[];
1598
+ interface ComposerFileBuffer {
1599
+ name: string;
1600
+ dataBase64: string;
1601
+ }
1602
+ /**
1603
+ * Write in-memory file buffers into `.sideboard/attachments/` (renderer drop
1604
+ * fallback when Electron does not expose a filesystem path).
1605
+ */
1606
+ declare function stageBuffersAsAttachments(worktreePath: string, buffers: ComposerFileBuffer[]): ThreadAttachment[];
1607
+ /**
1608
+ * Build attachments from in-memory buffers without a worktree (create modal).
1609
+ */
1610
+ declare function attachmentsFromBuffers(buffers: ComposerFileBuffer[]): ThreadAttachment[];
1611
+ /**
1612
+ * Attach existing worktree-relative files (e.g. drag from the file tree).
1613
+ */
1614
+ declare function attachmentsFromWorktreePaths(worktreePath: string, relativePaths: string[]): ThreadAttachment[];
1615
+
1516
1616
  interface SummarizeResult {
1517
1617
  summary: string;
1518
1618
  method: 'claude' | 'extractive';
@@ -1832,6 +1932,15 @@ declare class Orchestrator {
1832
1932
  }): Promise<Thread>;
1833
1933
  renameThread(threadRef: string, title: string): Thread;
1834
1934
  setAttachments(threadRef: string, attachments: Thread['attachments']): Thread;
1935
+ /**
1936
+ * Stage OS / worktree files into composer attachments (copies external files
1937
+ * into `.sideboard/attachments/` so agents can Read images and binaries).
1938
+ */
1939
+ attachComposerFiles(threadRef: string, opts: {
1940
+ absolutePaths?: string[];
1941
+ relativePaths?: string[];
1942
+ buffers?: ComposerFileBuffer[];
1943
+ }): ThreadAttachment[];
1835
1944
  listWorktreeChats(threadRef: string): Thread[];
1836
1945
  archive(threadRef: string): Promise<Thread>;
1837
1946
  purge(threadRef: string, opts?: {
@@ -1964,6 +2073,12 @@ interface CloudConnectStatus {
1964
2073
  /** Shared typed surface for Electron preload ↔ renderer (and docs). */
1965
2074
  interface IpcApi {
1966
2075
  detectAgents(): Promise<AgentStatus[]>;
2076
+ /** Install recipe + docs for Settings → Agents. */
2077
+ getAgentSetupInfo(agent: AgentKind): Promise<AgentSetupInfo>;
2078
+ /** Install a CLI agent (npm in-process or Terminal for curl installers). */
2079
+ installAgent(agent: AgentKind): Promise<AgentSetupActionResult>;
2080
+ /** Open the agent’s login/auth command in the system terminal. */
2081
+ loginAgent(agent: AgentKind): Promise<AgentSetupActionResult>;
1967
2082
  getAppSettings(): Promise<AppSettings>;
1968
2083
  saveAppSettings(settings: AppSettings): Promise<AppSettings>;
1969
2084
  updateAppEnvironment(patch: Record<string, string | null | undefined>): Promise<AppSettings>;
@@ -1977,6 +2092,12 @@ interface IpcApi {
1977
2092
  /** Ensure `~/.claude/settings.json` exists and open it in the OS default app. */
1978
2093
  openClaudeUserSettings(): Promise<void>;
1979
2094
  listBrightsyChatTargets(): Promise<BrightsyChatTargets>;
2095
+ /** Models from `Cursor.models.list` for the composer picker. */
2096
+ listCursorModels(): Promise<CursorModelInfo[]>;
2097
+ /** Models from `codex debug models` for the composer picker. */
2098
+ listCodexModels(): Promise<AgentModelInfo[]>;
2099
+ /** Models from `opencode models` for the composer picker. */
2100
+ listOpencodeModels(): Promise<AgentModelInfo[]>;
1980
2101
  /** Brightsy login + connected teams (shared by CLI, Brightsy agent, and Claude MCP). */
1981
2102
  getBrightsySession(): Promise<BrightsySession>;
1982
2103
  /**
@@ -2035,6 +2156,24 @@ interface IpcApi {
2035
2156
  forkThreadWorktree(input: ForkThreadWorktreeInput): Promise<Thread>;
2036
2157
  renameThread(threadRef: string, title: string): Promise<Thread>;
2037
2158
  setAttachments(threadRef: string, attachments: ThreadAttachment[]): Promise<Thread>;
2159
+ /**
2160
+ * Stage dropped/picked files into composer attachments. External files are
2161
+ * copied into `.sideboard/attachments/` in the thread worktree.
2162
+ */
2163
+ attachComposerFiles(threadRef: string, opts: {
2164
+ absolutePaths?: string[];
2165
+ relativePaths?: string[];
2166
+ /** When Electron hides File.path, renderer sends file bytes instead. */
2167
+ buffers?: Array<{
2168
+ name: string;
2169
+ dataBase64: string;
2170
+ }>;
2171
+ }): Promise<ThreadAttachment[]>;
2172
+ /**
2173
+ * Resolve an absolute filesystem path for a File from a drag/drop or picker.
2174
+ * Uses Electron `webUtils.getPathForFile` (File.path is unavailable under contextIsolation).
2175
+ */
2176
+ getPathForFile(file: File): string;
2038
2177
  listWorktreeChats(threadRef: string): Promise<Thread[]>;
2039
2178
  listWorkspaces(): Promise<Workspace[]>;
2040
2179
  addWorkspace(repoPath: string): Promise<Workspace>;
@@ -2216,8 +2355,18 @@ interface IpcApi {
2216
2355
  getRepoPath(): Promise<string>;
2217
2356
  setRepoPath(path: string): Promise<string>;
2218
2357
  pickRepoPath(): Promise<string | null>;
2219
- /** Native file picker; returns attachments ready for the composer. */
2220
- pickFiles(): Promise<ThreadAttachment[]>;
2358
+ /**
2359
+ * Native file picker; returns attachments ready for the composer.
2360
+ * When `threadRef` is set, files are staged into the worktree (same as drop).
2361
+ */
2362
+ pickFiles(threadRef?: string | null): Promise<ThreadAttachment[]>;
2363
+ /** Build composer attachments from absolute paths without a worktree (create modal). */
2364
+ attachmentsFromPaths(absolutePaths: string[]): Promise<ThreadAttachment[]>;
2365
+ /** Build composer attachments from in-memory file buffers (create modal drop fallback). */
2366
+ attachmentsFromBuffers(buffers: Array<{
2367
+ name: string;
2368
+ dataBase64: string;
2369
+ }>): Promise<ThreadAttachment[]>;
2221
2370
  /** Prefer worktree settings; optional main-repo fallback. */
2222
2371
  hasConductorHook(worktreePath: string, repoPath?: string | null): Promise<boolean>;
2223
2372
  getRepoSetupInfo(worktreePath: string, repoPath?: string | null): Promise<{
@@ -2433,4 +2582,4 @@ declare function writeInjectedMcpConfig(opts: {
2433
2582
  includeBrightsy?: boolean;
2434
2583
  }): Promise<string | null>;
2435
2584
 
2436
- export { type ActiveRun, type AdoptInput, type AdvancedAppSettings, type AgentAdapter, type AgentEvent, type AgentInstructionFile, type AgentKind, type AgentStatus, type AgentTurnInput, type AnthropicCacheControl, type AppSettings, type ApplyIntoMainResult, type AttachCommand, type Autonomy, BRIGHTSY_MCP_ALLOWED_TOOLS, type BranchInfo, type BrightsyAccount, type BrightsyChatTarget, type BrightsyChatTargets, type BrightsyCloudConnectAgent, type BrightsyHarnessSettings, type BrightsySession, BrightsySideboardApi, type BrightsyTeamTargets, CLOUD_COORDINATOR_BUSY_REPLY, CLOUD_COORDINATOR_STOPPED_REPLY, CLOUD_COORDINATOR_TIMEOUT_REPLY, CLOUD_ORCHESTRATOR_GOAL, CONTEXT_COMPACT_CHARS, CONTEXT_KEEP_RECENT_CHARS, CONTEXT_KEEP_RECENT_MESSAGES, CONTEXT_MIN_MESSAGES, COORDINATOR_TOOL_PLAYBOOK, type ClaudeHarnessSettings, type CleanupOrphansResult, type CloudConnectAgent, type CloudConnectOptions, type CloudConnectStatus, type CompactResult, type CompactThresholds, type ConductorSettings, type ConductorWorkspace, type ConnectedBrightsyTeamInfo, type CreateChatTabInput, type CreateGlobalChatOpts, type CreateThreadInput, type CreateWorktreeResult, type CursorSdkStreamMessage, type CursorTurnRequest, type CursorWorktreesConfig, type DevServerHandle, type DiffCommentInput, type DiffCommentLine, type DiffCommit, type DiffFile, type DiffResult, type DiffScope, type DiffScopeStat, type ExpandResult, FAMOUS_SOCCER_TEAMS, type ForkChatTabInput, type ForkThreadWorktreeInput, type FormatGhLandErrorOptions, GLOBAL_WORKSPACE_ID, type GetDiffOptions, type GitHubStatus, type GitWorktreeStatus, HARNESS_ENV_KEYS, type HarnessId, type IntegrationsSettings, type IpcApi, type IssueInfo, type IssueSource, type LandPreview, type LandResult, type ListIssuesResult, MAX_ANTHROPIC_CACHE_CONTROL_BLOCKS, type McpServerStatus, type MessagePart, Orchestrator, type OrchestratorEvent, type OrchestratorRuntime, type OrphanWorktree, PLAN_MODE_INSTRUCTION, type PrActor, type PrCheckRun, type PrCommentInfo, type PrCommitInfo, type PrDetails, type PrInfo, type PrMeta, type PrReviewInfo, type RepoSettings, type RepoSetupInfo, type RunMode, type RunScript, SIDEBOARD_FORCE_STOP, SIDEBOARD_MCP_ALLOWED_TOOLS, type ScriptHandle, type SkillInfo, type SourceType, type SpawnTurnHandle, type SummarizeResult, type TeamName, type Thread, type ThreadAttachment, type ThreadMessage, type ThreadOptionsPatch, type ThreadStatus, type TokenUsage, type TranscriptToolDetail, type TurnCommand, type Workspace, type WorkspaceInventoryEntry, type WorkspaceScriptEnvOpts, addWorkspace, adoptThread, allAdapters, allocatePort, allocatePortRange, allocateTeamName, allocateTeamSlug, appDataDir, appSettingsPath, appendMessage, applyAgentEvent, applyAppEnvironment, applyCompaction, applyThreadIntoMain, autoCleanupOrphansEnabled, autoRenameBranchEnabled, autoRunAfterSetupEnabled, branchDisplayLabel, brightsyAdapter, brightsyCloudConnectAgent, brightsyCloudConnectEnabled, brightsyConfigPath, brightsyMcpAllowedTools, brightsyMcpServerName, buildCachedUserContent, buildClaudeStreamJsonUserMessage, buildDiffCommentAttachment, buildForkTranscriptAttachment, buildSessionSeed, buildWorkspaceScriptEnv, caffeinateWhileCloudConnectEnabled, caffeinateWhileRunningEnabled, captureLoginEnv, captureTurnBaseline, childEnvWithAppSettings, claudeAdapter, claudeChromeEnabled, claudeUserSettingsPath, cleanupOrphanWorktrees, cloneRepoIntoSideboard, codexAdapter, collectTakenTeamSlugs, commitAll, conductorDbPath, confirmLand, connectBrightsyTeam, coordinatorSystemPrompt, coordinatorTurnReminder, copyConfiguredFiles, countCacheControlBlocks, createChatTab, createEmptyThread, createGlobalChat, createOrUpdatePr, createThread, createThreadWorktree, currentBranch, cursorAdapter, cursorSdkMessageToEvents, decodeBrightsyTarget, deleteBranchOnPurgeEnabled, deleteThreadRecord, detectAgents, detectLocalMergeConflicts, disconnectBrightsyTeam, discoverSkills, encodeBrightsyTarget, enrichWorkspacesWithGithub, ensureAgentPath, ensureCloudCoordinator, ensureGhPreferOrigin, ensureGlobalCoordinatorCwd, ensureWorkspace, estimateMessageChars, estimateThreadChars, expandComposerPrompt, extractGhErrorDetail, extractiveSummary, fetchPrHead, finalizeParts, findInvalidCacheControlTtlOrder, findOrphanWorktrees, findThreadByRef, flattenTurnInput, forkChatTab, forkMessageSlice, forkThreadWorktree, formatAgentInstructions, formatArtifactDirective, formatBrightsyFetchError, formatGhLandError, formatIpcInvokeError, formatMessagesAsTranscript, formatRateLimitResetHint, formatRenameBranchDirective, formatTranscriptMarkdown, formatWorkspaceInventory, formatWorktreeDirective, getAdapter, getBrightsySession, getDefaultRunScript, getDiff, getDiffSummary, getGitHubStatus, getIssueSource, getLinearApiKey, getOrchestrator, getPr, getPrChecks, getPrDetails, getPrMeta, getRepoSetupInfo, getRunMode, getRunScript, gh, ghHeadRef, ghRepoSelectArgs, git, globalAgentCwd, harnessEnvKey, hasConductorHook, hasCursorWorktreeSetup, hasRepoHook, hasWorkspaceHook, healOrchestrationSoccerTitles, importConductorWorkspace, importConductorWorkspaceAsync, initializeGitRepository, inspectGitWorktree, isBrightsyConnected, isBrightsyNdjsonLine, isCloudCoordinatorThread, isDirty, isGhRateLimitError, isGlobalRepoPath, isGlobalThread, isLinearConnected, isOrchestratorThread, isPlaceholderBranch, listBranchCommits, listBranches, listBrightsyAccounts, listBrightsyChatTargets, listConductorWorkspaces, listConnectedBrightsyTeams, listGitHubIssues, listGlobalThreads, listIssues, listLinearIssues, listLinearIssuesDirect, listPrs, listRunScripts, listThreads, listWorkspaces, listWorktreeFiles, listWorktrees, loadAgentInstructions, loadAppSettings, loadBrightsyConfig, loadConductorSettings, loadRepoSettings, loadWorkspaceSettings, locksDir, lookupSoccerTeam, maxConcurrentAgents, maybeCompactContext, mcpAllowTools, mcpAuthWarnings, mergePr, mergeUsage, normalizeParseResult, normalizeThread, normalizeTurnInput, normalizeWorktreePath, opencodeAdapter, orchestrationTitleNeedsSoccerNickname, orchestratorSessionPoisonedByBuiltins, originGhRepoEnv, parseCursorRunnerLine, parseForceStopMessage, parseGithubSlugFromRemoteUrl, parseMcpList, partsToAssistantText, permissionMode, previewLand, pushBranch, readSkillBody, readThread, readWorktreeFile, readWorktreeFileForUpload, readWorktreeInclude, refreshGitHubAuth, removeWorkspace, removeWorktree, repoSlug, requireAgent, resolveClaudeExecutable, resolveConductorCursorAgentId, resolveDefaultBranch, resolveDiffBaseRef, resolveEffectiveIssueSource, resolveFilesToCopy, resolveGithubRepoSlug, resolvePrSelector, resolveRepoRoot, resolveWorktreeStartPoint, run, runArchiveScript, runCloudConnect, runCursorWorktreeSetup, runSetupScript, sameWorktreePath, sanitizeMcpServerName, saveAppSettings, setStatus, settingsSourceLabel, shouldCompactContext, shouldRunWorktreeCleanup, sideboardHomeDir, sideboardReposDir, sideboardWorkspacesDir, slugify, spawnAgentTurn, splitForCompaction, startDevServer, startMcpServer, startOrchestration, stripBrightsyNdjsonNoise, suggestSlug, summarizeConversation, switchBrightsyAccount, syncWorkspacesFromThreads, takenTeamSlugsForChatTab, takenTeamSlugsForOrchestration, taskMessageText, threadDisplayLabel, threadFilePath, threadLockPath, threadsDir, threadsSharingWorktree, toolDescription, toolDetail, toolFilePath, totalTokens, updateAdvancedSettings, updateAppEnvironment, updateBrightsySettings, updateClaudeSettings, updateIntegrationsSettings, updateThread, validateLinearApiKey, withAgentInstructions, withThreadLock, workspaceSettingsSourceLabel, worktreeCleanupSettings, worktreeDisplayLabel, worktreeDisplayLabelForGroup, worktreeNameFromPath, worktreesRoot, writeInjectedMcpConfig, writeThread, writeWorktreeFile };
2585
+ export { type ActiveRun, type AdoptInput, type AdvancedAppSettings, type AgentAdapter, type AgentEvent, type AgentInstructionFile, type AgentKind, type AgentModelInfo, type AgentSetupActionResult, type AgentSetupInfo, type AgentSetupKind, type AgentStatus, type AgentTurnInput, type AnthropicCacheControl, type AppSettings, type ApplyIntoMainResult, type AttachCommand, type Autonomy, BRIGHTSY_MCP_ALLOWED_TOOLS, type BranchInfo, type BrightsyAccount, type BrightsyChatTarget, type BrightsyChatTargets, type BrightsyCloudConnectAgent, type BrightsyHarnessSettings, type BrightsySession, BrightsySideboardApi, type BrightsyTeamTargets, CLOUD_COORDINATOR_BUSY_REPLY, CLOUD_COORDINATOR_STOPPED_REPLY, CLOUD_COORDINATOR_TIMEOUT_REPLY, CLOUD_ORCHESTRATOR_GOAL, CONTEXT_COMPACT_CHARS, CONTEXT_KEEP_RECENT_CHARS, CONTEXT_KEEP_RECENT_MESSAGES, CONTEXT_MIN_MESSAGES, COORDINATOR_TOOL_PLAYBOOK, type ClaudeHarnessSettings, type CleanupOrphansResult, type CloudConnectAgent, type CloudConnectOptions, type CloudConnectStatus, type CompactResult, type CompactThresholds, type ComposerFileBuffer, type ConductorSettings, type ConductorWorkspace, type ConnectedBrightsyTeamInfo, type CreateChatTabInput, type CreateGlobalChatOpts, type CreateThreadInput, type CreateWorktreeResult, type CursorModelInfo, type CursorSdkStreamMessage, type CursorTurnRequest, type CursorWorktreesConfig, type DevServerHandle, type DiffCommentInput, type DiffCommentLine, type DiffCommit, type DiffFile, type DiffResult, type DiffScope, type DiffScopeStat, type ExpandResult, FAMOUS_SOCCER_TEAMS, type ForkChatTabInput, type ForkThreadWorktreeInput, type FormatGhLandErrorOptions, GLOBAL_WORKSPACE_ID, type GetDiffOptions, type GitHubStatus, type GitWorktreeStatus, HARNESS_ENV_KEYS, type HarnessId, type IntegrationsSettings, type IpcApi, type IssueInfo, type IssueSource, type LandPreview, type LandResult, type ListIssuesResult, MAX_ANTHROPIC_CACHE_CONTROL_BLOCKS, type McpServerStatus, type MessagePart, Orchestrator, type OrchestratorEvent, type OrchestratorRuntime, type OrphanWorktree, PLAN_MODE_INSTRUCTION, type PrActor, type PrCheckRun, type PrCommentInfo, type PrCommitInfo, type PrDetails, type PrInfo, type PrMeta, type PrReviewInfo, type RepoSettings, type RepoSetupInfo, type RunMode, type RunScript, SIDEBOARD_FORCE_STOP, SIDEBOARD_MCP_ALLOWED_TOOLS, type ScriptHandle, type SkillInfo, type SourceType, type SpawnTurnHandle, type SummarizeResult, type TeamName, type Thread, type ThreadAttachment, type ThreadMessage, type ThreadOptionsPatch, type ThreadStatus, type TokenUsage, type TranscriptToolDetail, type TurnCommand, type Workspace, type WorkspaceInventoryEntry, type WorkspaceScriptEnvOpts, addWorkspace, adoptThread, allAdapters, allocatePort, allocatePortRange, allocateTeamName, allocateTeamSlug, appDataDir, appSettingsPath, appendMessage, applyAgentEvent, applyAppEnvironment, applyCompaction, applyThreadIntoMain, attachmentFromAbsolutePath, attachmentsFromBuffers, attachmentsFromWorktreePaths, autoCleanupOrphansEnabled, autoRenameBranchEnabled, autoRunAfterSetupEnabled, branchDisplayLabel, brightsyAdapter, brightsyCloudConnectAgent, brightsyCloudConnectEnabled, brightsyConfigPath, brightsyMcpAllowedTools, brightsyMcpServerName, buildCachedUserContent, buildClaudeStreamJsonUserMessage, buildDiffCommentAttachment, buildForkTranscriptAttachment, buildSessionSeed, buildWorkspaceScriptEnv, caffeinateWhileCloudConnectEnabled, caffeinateWhileRunningEnabled, captureLoginEnv, captureTurnBaseline, childEnvWithAppSettings, claudeAdapter, claudeChromeEnabled, claudeUserSettingsPath, cleanupOrphanWorktrees, cloneRepoIntoSideboard, codexAdapter, collectTakenTeamSlugs, commitAll, conductorDbPath, confirmLand, connectBrightsyTeam, coordinatorSystemPrompt, coordinatorTurnReminder, copyConfiguredFiles, countCacheControlBlocks, createChatTab, createEmptyThread, createGlobalChat, createOrUpdatePr, createThread, createThreadWorktree, currentBranch, cursorAdapter, cursorSdkMessageToEvents, decodeBrightsyTarget, deleteBranchOnPurgeEnabled, deleteThreadRecord, detectAgents, detectLocalMergeConflicts, disconnectBrightsyTeam, discoverSkills, encodeBrightsyTarget, enrichWorkspacesWithGithub, ensureAgentPath, ensureCloudCoordinator, ensureGhPreferOrigin, ensureGlobalCoordinatorCwd, ensureWorkspace, estimateMessageChars, estimateThreadChars, expandComposerPrompt, extractGhErrorDetail, extractiveSummary, fetchPrHead, finalizeParts, findInvalidCacheControlTtlOrder, findOrphanWorktrees, findThreadByRef, flattenTurnInput, forkChatTab, forkMessageSlice, forkThreadWorktree, formatAgentInstructions, formatArtifactDirective, formatBrightsyFetchError, formatGhLandError, formatIpcInvokeError, formatMessagesAsTranscript, formatRateLimitResetHint, formatRenameBranchDirective, formatTranscriptMarkdown, formatWorkspaceInventory, formatWorktreeDirective, getAdapter, getAgentSetupInfo, getBrightsySession, getDefaultRunScript, getDiff, getDiffSummary, getGitHubStatus, getIssueSource, getLinearApiKey, getOrchestrator, getPr, getPrChecks, getPrDetails, getPrMeta, getRepoSetupInfo, getRunMode, getRunScript, gh, ghHeadRef, ghRepoSelectArgs, git, globalAgentCwd, harnessEnvKey, hasConductorHook, hasCursorWorktreeSetup, hasRepoHook, hasWorkspaceHook, healOrchestrationSoccerTitles, importConductorWorkspace, importConductorWorkspaceAsync, initializeGitRepository, inspectGitWorktree, installAgent, isBrightsyConnected, isBrightsyNdjsonLine, isCloudCoordinatorThread, isCursorAutoModel, isDirty, isGhRateLimitError, isGlobalRepoPath, isGlobalThread, isImageFilePath, isLinearConnected, isOrchestratorThread, isPlaceholderBranch, listAgentSetupInfo, listBranchCommits, listBranches, listBrightsyAccounts, listBrightsyChatTargets, listCodexModels, listConductorWorkspaces, listConnectedBrightsyTeams, listCursorModels, listGitHubIssues, listGlobalThreads, listIssues, listLinearIssues, listLinearIssuesDirect, listOpencodeModels, listPrs, listRunScripts, listThreads, listWorkspaces, listWorktreeFiles, listWorktrees, loadAgentInstructions, loadAppSettings, loadBrightsyConfig, loadConductorSettings, loadRepoSettings, loadWorkspaceSettings, locksDir, loginAgent, lookupSoccerTeam, maxConcurrentAgents, maybeCompactContext, mcpAllowTools, mcpAuthWarnings, mergePr, mergeUsage, normalizeParseResult, normalizeThread, normalizeTurnInput, normalizeWorktreePath, openInSystemTerminal, opencodeAdapter, orchestrationTitleNeedsSoccerNickname, orchestratorSessionPoisonedByBuiltins, originGhRepoEnv, parseCursorRunnerLine, parseForceStopMessage, parseGithubSlugFromRemoteUrl, parseMcpList, partsToAssistantText, permissionMode, previewLand, pushBranch, readSkillBody, readThread, readWorktreeFile, readWorktreeFileForUpload, readWorktreeInclude, refreshGitHubAuth, removeWorkspace, removeWorktree, repoSlug, requireAgent, resolveClaudeExecutable, resolveConductorCursorAgentId, resolveCursorModelId, resolveDefaultBranch, resolveDiffBaseRef, resolveEffectiveIssueSource, resolveFilesToCopy, resolveGithubRepoSlug, resolvePrSelector, resolveRepoRoot, resolveWorktreeStartPoint, run, runArchiveScript, runCloudConnect, runCursorWorktreeSetup, runSetupScript, sameWorktreePath, sanitizeMcpServerName, saveAppSettings, setStatus, settingsSourceLabel, shouldCompactContext, shouldRunWorktreeCleanup, sideboardHomeDir, sideboardReposDir, sideboardWorkspacesDir, slugify, spawnAgentTurn, splitForCompaction, stageAbsolutePathsAsAttachments, stageBuffersAsAttachments, startDevServer, startMcpServer, startOrchestration, stripBrightsyNdjsonNoise, suggestSlug, summarizeConversation, switchBrightsyAccount, syncWorkspacesFromThreads, takenTeamSlugsForChatTab, takenTeamSlugsForOrchestration, taskMessageText, threadDisplayLabel, threadFilePath, threadLockPath, threadsDir, threadsSharingWorktree, toolDescription, toolDetail, toolFilePath, totalTokens, updateAdvancedSettings, updateAppEnvironment, updateBrightsySettings, updateClaudeSettings, updateIntegrationsSettings, updateThread, validateLinearApiKey, withAgentInstructions, withThreadLock, workspaceSettingsSourceLabel, worktreeCleanupSettings, worktreeDisplayLabel, worktreeDisplayLabelForGroup, worktreeNameFromPath, worktreesRoot, writeInjectedMcpConfig, writeThread, writeWorktreeFile };
package/dist/index.d.ts CHANGED
@@ -51,6 +51,10 @@ interface ThreadAttachment {
51
51
  name: string;
52
52
  kind: 'transcript' | 'file' | 'issue' | 'workspace' | 'diff-comment';
53
53
  content: string;
54
+ /** Worktree-relative path when this attachment is a real file that can be opened in a tab. */
55
+ path?: string;
56
+ /** data: URL thumbnail for image attachments shown in the composer (pending only). */
57
+ previewDataUrl?: string;
54
58
  }
55
59
  interface Thread {
56
60
  id: string;
@@ -93,6 +97,8 @@ interface CreateChatTabInput {
93
97
  /** Existing thread in the worktree to clone workspace metadata from. */
94
98
  fromThreadId: string;
95
99
  agent?: AgentKind;
100
+ model?: string | null;
101
+ autonomy?: Autonomy;
96
102
  title?: string;
97
103
  attachments?: ThreadAttachment[];
98
104
  }
@@ -1076,6 +1082,20 @@ declare const brightsyAdapter: AgentAdapter;
1076
1082
 
1077
1083
  declare const claudeAdapter: AgentAdapter;
1078
1084
 
1085
+ /** Shared shape for composer agent model pickers. */
1086
+ type AgentModelInfo = {
1087
+ id: string;
1088
+ displayName: string;
1089
+ description?: string;
1090
+ };
1091
+ /** @deprecated Prefer {@link AgentModelInfo} — same shape. */
1092
+ type CursorModelInfo = AgentModelInfo;
1093
+
1094
+ /**
1095
+ * Models from `codex debug models` (JSON catalog). Prefers visibility=list.
1096
+ * Falls back to a small static list when Codex isn't installed / command fails.
1097
+ */
1098
+ declare function listCodexModels(): Promise<AgentModelInfo[]>;
1079
1099
  declare const codexAdapter: AgentAdapter;
1080
1100
 
1081
1101
  /** JSON payload written to the Cursor runner on stdin. */
@@ -1123,8 +1143,23 @@ declare function cursorSdkMessageToEvents(msg: CursorSdkStreamMessage): AgentEve
1123
1143
  /** Parse one NDJSON line emitted by the Cursor runner (already Sideboard AgentEvents). */
1124
1144
  declare function parseCursorRunnerLine(line: string): AgentEvent | AgentEvent[] | null;
1125
1145
 
1146
+ /** True when the thread uses Cursor Auto (`default` / null / `auto`). */
1147
+ declare function isCursorAutoModel(model: string | null | undefined): boolean;
1148
+ /** Resolve SDK model id for a turn (null → Auto). */
1149
+ declare function resolveCursorModelId(model: string | null | undefined): string;
1150
+ /**
1151
+ * List models available to the configured CURSOR_API_KEY.
1152
+ * Cached briefly; falls back to a small static list when unauthenticated / offline.
1153
+ */
1154
+ declare function listCursorModels(): Promise<AgentModelInfo[]>;
1155
+
1126
1156
  declare const cursorAdapter: AgentAdapter;
1127
1157
 
1158
+ /**
1159
+ * Models from `opencode models` (`provider/model` lines).
1160
+ * Falls back to a small static list when OpenCode isn't installed.
1161
+ */
1162
+ declare function listOpencodeModels(): Promise<AgentModelInfo[]>;
1128
1163
  declare const opencodeAdapter: AgentAdapter;
1129
1164
 
1130
1165
  /**
@@ -1134,6 +1169,42 @@ declare const opencodeAdapter: AgentAdapter;
1134
1169
  */
1135
1170
  declare function ensureAgentPath(env?: NodeJS.ProcessEnv): string;
1136
1171
 
1172
+ type AgentSetupKind = 'cli' | 'api-key' | 'bundled-sdk';
1173
+ interface AgentSetupInfo {
1174
+ agent: AgentKind;
1175
+ kind: AgentSetupKind;
1176
+ /** Short explanation for Settings. */
1177
+ summary: string;
1178
+ docsUrl: string;
1179
+ /** Shell one-liner to install the CLI (null when not applicable). */
1180
+ installCommand: string | null;
1181
+ /** Shell one-liner for interactive login/auth (null when API-key only). */
1182
+ loginCommand: string | null;
1183
+ /** npm package for in-app `npm i -g` when install is npm-based. */
1184
+ npmPackage?: string;
1185
+ }
1186
+ interface AgentSetupActionResult {
1187
+ ok: boolean;
1188
+ /** True when a system Terminal window was opened for an interactive command. */
1189
+ openedTerminal?: boolean;
1190
+ command?: string;
1191
+ message: string;
1192
+ stdout?: string;
1193
+ stderr?: string;
1194
+ exitCode?: number | null;
1195
+ }
1196
+ declare function getAgentSetupInfo(agent: AgentKind): AgentSetupInfo;
1197
+ declare function listAgentSetupInfo(): AgentSetupInfo[];
1198
+ /**
1199
+ * Open an interactive shell command in the system terminal (macOS Terminal.app,
1200
+ * Linux gnome-terminal/x-terminal-emulator, Windows cmd).
1201
+ */
1202
+ declare function openInSystemTerminal(command: string): Promise<void>;
1203
+ /** Install a CLI agent: npm packages run in-process; curl installers open Terminal. */
1204
+ declare function installAgent(agent: AgentKind): Promise<AgentSetupActionResult>;
1205
+ /** Open the agent’s login/auth command in the system terminal. */
1206
+ declare function loginAgent(agent: AgentKind): Promise<AgentSetupActionResult>;
1207
+
1137
1208
  declare function getAdapter(kind: AgentKind): AgentAdapter;
1138
1209
  declare function allAdapters(): AgentAdapter[];
1139
1210
 
@@ -1513,6 +1584,35 @@ interface DiffCommentInput {
1513
1584
  */
1514
1585
  declare function buildDiffCommentAttachment(input: DiffCommentInput): ThreadAttachment;
1515
1586
 
1587
+ declare function isImageFilePath(filePath: string): boolean;
1588
+ /**
1589
+ * Build a composer attachment from an absolute filesystem path (no copy).
1590
+ * Used by the native file picker when no worktree is available yet.
1591
+ */
1592
+ declare function attachmentFromAbsolutePath(absolutePath: string): ThreadAttachment;
1593
+ /**
1594
+ * Copy absolute paths into `.sideboard/attachments/` and return composer attachments
1595
+ * with worktree-relative `path` (and image previews when applicable).
1596
+ */
1597
+ declare function stageAbsolutePathsAsAttachments(worktreePath: string, absolutePaths: string[]): ThreadAttachment[];
1598
+ interface ComposerFileBuffer {
1599
+ name: string;
1600
+ dataBase64: string;
1601
+ }
1602
+ /**
1603
+ * Write in-memory file buffers into `.sideboard/attachments/` (renderer drop
1604
+ * fallback when Electron does not expose a filesystem path).
1605
+ */
1606
+ declare function stageBuffersAsAttachments(worktreePath: string, buffers: ComposerFileBuffer[]): ThreadAttachment[];
1607
+ /**
1608
+ * Build attachments from in-memory buffers without a worktree (create modal).
1609
+ */
1610
+ declare function attachmentsFromBuffers(buffers: ComposerFileBuffer[]): ThreadAttachment[];
1611
+ /**
1612
+ * Attach existing worktree-relative files (e.g. drag from the file tree).
1613
+ */
1614
+ declare function attachmentsFromWorktreePaths(worktreePath: string, relativePaths: string[]): ThreadAttachment[];
1615
+
1516
1616
  interface SummarizeResult {
1517
1617
  summary: string;
1518
1618
  method: 'claude' | 'extractive';
@@ -1832,6 +1932,15 @@ declare class Orchestrator {
1832
1932
  }): Promise<Thread>;
1833
1933
  renameThread(threadRef: string, title: string): Thread;
1834
1934
  setAttachments(threadRef: string, attachments: Thread['attachments']): Thread;
1935
+ /**
1936
+ * Stage OS / worktree files into composer attachments (copies external files
1937
+ * into `.sideboard/attachments/` so agents can Read images and binaries).
1938
+ */
1939
+ attachComposerFiles(threadRef: string, opts: {
1940
+ absolutePaths?: string[];
1941
+ relativePaths?: string[];
1942
+ buffers?: ComposerFileBuffer[];
1943
+ }): ThreadAttachment[];
1835
1944
  listWorktreeChats(threadRef: string): Thread[];
1836
1945
  archive(threadRef: string): Promise<Thread>;
1837
1946
  purge(threadRef: string, opts?: {
@@ -1964,6 +2073,12 @@ interface CloudConnectStatus {
1964
2073
  /** Shared typed surface for Electron preload ↔ renderer (and docs). */
1965
2074
  interface IpcApi {
1966
2075
  detectAgents(): Promise<AgentStatus[]>;
2076
+ /** Install recipe + docs for Settings → Agents. */
2077
+ getAgentSetupInfo(agent: AgentKind): Promise<AgentSetupInfo>;
2078
+ /** Install a CLI agent (npm in-process or Terminal for curl installers). */
2079
+ installAgent(agent: AgentKind): Promise<AgentSetupActionResult>;
2080
+ /** Open the agent’s login/auth command in the system terminal. */
2081
+ loginAgent(agent: AgentKind): Promise<AgentSetupActionResult>;
1967
2082
  getAppSettings(): Promise<AppSettings>;
1968
2083
  saveAppSettings(settings: AppSettings): Promise<AppSettings>;
1969
2084
  updateAppEnvironment(patch: Record<string, string | null | undefined>): Promise<AppSettings>;
@@ -1977,6 +2092,12 @@ interface IpcApi {
1977
2092
  /** Ensure `~/.claude/settings.json` exists and open it in the OS default app. */
1978
2093
  openClaudeUserSettings(): Promise<void>;
1979
2094
  listBrightsyChatTargets(): Promise<BrightsyChatTargets>;
2095
+ /** Models from `Cursor.models.list` for the composer picker. */
2096
+ listCursorModels(): Promise<CursorModelInfo[]>;
2097
+ /** Models from `codex debug models` for the composer picker. */
2098
+ listCodexModels(): Promise<AgentModelInfo[]>;
2099
+ /** Models from `opencode models` for the composer picker. */
2100
+ listOpencodeModels(): Promise<AgentModelInfo[]>;
1980
2101
  /** Brightsy login + connected teams (shared by CLI, Brightsy agent, and Claude MCP). */
1981
2102
  getBrightsySession(): Promise<BrightsySession>;
1982
2103
  /**
@@ -2035,6 +2156,24 @@ interface IpcApi {
2035
2156
  forkThreadWorktree(input: ForkThreadWorktreeInput): Promise<Thread>;
2036
2157
  renameThread(threadRef: string, title: string): Promise<Thread>;
2037
2158
  setAttachments(threadRef: string, attachments: ThreadAttachment[]): Promise<Thread>;
2159
+ /**
2160
+ * Stage dropped/picked files into composer attachments. External files are
2161
+ * copied into `.sideboard/attachments/` in the thread worktree.
2162
+ */
2163
+ attachComposerFiles(threadRef: string, opts: {
2164
+ absolutePaths?: string[];
2165
+ relativePaths?: string[];
2166
+ /** When Electron hides File.path, renderer sends file bytes instead. */
2167
+ buffers?: Array<{
2168
+ name: string;
2169
+ dataBase64: string;
2170
+ }>;
2171
+ }): Promise<ThreadAttachment[]>;
2172
+ /**
2173
+ * Resolve an absolute filesystem path for a File from a drag/drop or picker.
2174
+ * Uses Electron `webUtils.getPathForFile` (File.path is unavailable under contextIsolation).
2175
+ */
2176
+ getPathForFile(file: File): string;
2038
2177
  listWorktreeChats(threadRef: string): Promise<Thread[]>;
2039
2178
  listWorkspaces(): Promise<Workspace[]>;
2040
2179
  addWorkspace(repoPath: string): Promise<Workspace>;
@@ -2216,8 +2355,18 @@ interface IpcApi {
2216
2355
  getRepoPath(): Promise<string>;
2217
2356
  setRepoPath(path: string): Promise<string>;
2218
2357
  pickRepoPath(): Promise<string | null>;
2219
- /** Native file picker; returns attachments ready for the composer. */
2220
- pickFiles(): Promise<ThreadAttachment[]>;
2358
+ /**
2359
+ * Native file picker; returns attachments ready for the composer.
2360
+ * When `threadRef` is set, files are staged into the worktree (same as drop).
2361
+ */
2362
+ pickFiles(threadRef?: string | null): Promise<ThreadAttachment[]>;
2363
+ /** Build composer attachments from absolute paths without a worktree (create modal). */
2364
+ attachmentsFromPaths(absolutePaths: string[]): Promise<ThreadAttachment[]>;
2365
+ /** Build composer attachments from in-memory file buffers (create modal drop fallback). */
2366
+ attachmentsFromBuffers(buffers: Array<{
2367
+ name: string;
2368
+ dataBase64: string;
2369
+ }>): Promise<ThreadAttachment[]>;
2221
2370
  /** Prefer worktree settings; optional main-repo fallback. */
2222
2371
  hasConductorHook(worktreePath: string, repoPath?: string | null): Promise<boolean>;
2223
2372
  getRepoSetupInfo(worktreePath: string, repoPath?: string | null): Promise<{
@@ -2433,4 +2582,4 @@ declare function writeInjectedMcpConfig(opts: {
2433
2582
  includeBrightsy?: boolean;
2434
2583
  }): Promise<string | null>;
2435
2584
 
2436
- export { type ActiveRun, type AdoptInput, type AdvancedAppSettings, type AgentAdapter, type AgentEvent, type AgentInstructionFile, type AgentKind, type AgentStatus, type AgentTurnInput, type AnthropicCacheControl, type AppSettings, type ApplyIntoMainResult, type AttachCommand, type Autonomy, BRIGHTSY_MCP_ALLOWED_TOOLS, type BranchInfo, type BrightsyAccount, type BrightsyChatTarget, type BrightsyChatTargets, type BrightsyCloudConnectAgent, type BrightsyHarnessSettings, type BrightsySession, BrightsySideboardApi, type BrightsyTeamTargets, CLOUD_COORDINATOR_BUSY_REPLY, CLOUD_COORDINATOR_STOPPED_REPLY, CLOUD_COORDINATOR_TIMEOUT_REPLY, CLOUD_ORCHESTRATOR_GOAL, CONTEXT_COMPACT_CHARS, CONTEXT_KEEP_RECENT_CHARS, CONTEXT_KEEP_RECENT_MESSAGES, CONTEXT_MIN_MESSAGES, COORDINATOR_TOOL_PLAYBOOK, type ClaudeHarnessSettings, type CleanupOrphansResult, type CloudConnectAgent, type CloudConnectOptions, type CloudConnectStatus, type CompactResult, type CompactThresholds, type ConductorSettings, type ConductorWorkspace, type ConnectedBrightsyTeamInfo, type CreateChatTabInput, type CreateGlobalChatOpts, type CreateThreadInput, type CreateWorktreeResult, type CursorSdkStreamMessage, type CursorTurnRequest, type CursorWorktreesConfig, type DevServerHandle, type DiffCommentInput, type DiffCommentLine, type DiffCommit, type DiffFile, type DiffResult, type DiffScope, type DiffScopeStat, type ExpandResult, FAMOUS_SOCCER_TEAMS, type ForkChatTabInput, type ForkThreadWorktreeInput, type FormatGhLandErrorOptions, GLOBAL_WORKSPACE_ID, type GetDiffOptions, type GitHubStatus, type GitWorktreeStatus, HARNESS_ENV_KEYS, type HarnessId, type IntegrationsSettings, type IpcApi, type IssueInfo, type IssueSource, type LandPreview, type LandResult, type ListIssuesResult, MAX_ANTHROPIC_CACHE_CONTROL_BLOCKS, type McpServerStatus, type MessagePart, Orchestrator, type OrchestratorEvent, type OrchestratorRuntime, type OrphanWorktree, PLAN_MODE_INSTRUCTION, type PrActor, type PrCheckRun, type PrCommentInfo, type PrCommitInfo, type PrDetails, type PrInfo, type PrMeta, type PrReviewInfo, type RepoSettings, type RepoSetupInfo, type RunMode, type RunScript, SIDEBOARD_FORCE_STOP, SIDEBOARD_MCP_ALLOWED_TOOLS, type ScriptHandle, type SkillInfo, type SourceType, type SpawnTurnHandle, type SummarizeResult, type TeamName, type Thread, type ThreadAttachment, type ThreadMessage, type ThreadOptionsPatch, type ThreadStatus, type TokenUsage, type TranscriptToolDetail, type TurnCommand, type Workspace, type WorkspaceInventoryEntry, type WorkspaceScriptEnvOpts, addWorkspace, adoptThread, allAdapters, allocatePort, allocatePortRange, allocateTeamName, allocateTeamSlug, appDataDir, appSettingsPath, appendMessage, applyAgentEvent, applyAppEnvironment, applyCompaction, applyThreadIntoMain, autoCleanupOrphansEnabled, autoRenameBranchEnabled, autoRunAfterSetupEnabled, branchDisplayLabel, brightsyAdapter, brightsyCloudConnectAgent, brightsyCloudConnectEnabled, brightsyConfigPath, brightsyMcpAllowedTools, brightsyMcpServerName, buildCachedUserContent, buildClaudeStreamJsonUserMessage, buildDiffCommentAttachment, buildForkTranscriptAttachment, buildSessionSeed, buildWorkspaceScriptEnv, caffeinateWhileCloudConnectEnabled, caffeinateWhileRunningEnabled, captureLoginEnv, captureTurnBaseline, childEnvWithAppSettings, claudeAdapter, claudeChromeEnabled, claudeUserSettingsPath, cleanupOrphanWorktrees, cloneRepoIntoSideboard, codexAdapter, collectTakenTeamSlugs, commitAll, conductorDbPath, confirmLand, connectBrightsyTeam, coordinatorSystemPrompt, coordinatorTurnReminder, copyConfiguredFiles, countCacheControlBlocks, createChatTab, createEmptyThread, createGlobalChat, createOrUpdatePr, createThread, createThreadWorktree, currentBranch, cursorAdapter, cursorSdkMessageToEvents, decodeBrightsyTarget, deleteBranchOnPurgeEnabled, deleteThreadRecord, detectAgents, detectLocalMergeConflicts, disconnectBrightsyTeam, discoverSkills, encodeBrightsyTarget, enrichWorkspacesWithGithub, ensureAgentPath, ensureCloudCoordinator, ensureGhPreferOrigin, ensureGlobalCoordinatorCwd, ensureWorkspace, estimateMessageChars, estimateThreadChars, expandComposerPrompt, extractGhErrorDetail, extractiveSummary, fetchPrHead, finalizeParts, findInvalidCacheControlTtlOrder, findOrphanWorktrees, findThreadByRef, flattenTurnInput, forkChatTab, forkMessageSlice, forkThreadWorktree, formatAgentInstructions, formatArtifactDirective, formatBrightsyFetchError, formatGhLandError, formatIpcInvokeError, formatMessagesAsTranscript, formatRateLimitResetHint, formatRenameBranchDirective, formatTranscriptMarkdown, formatWorkspaceInventory, formatWorktreeDirective, getAdapter, getBrightsySession, getDefaultRunScript, getDiff, getDiffSummary, getGitHubStatus, getIssueSource, getLinearApiKey, getOrchestrator, getPr, getPrChecks, getPrDetails, getPrMeta, getRepoSetupInfo, getRunMode, getRunScript, gh, ghHeadRef, ghRepoSelectArgs, git, globalAgentCwd, harnessEnvKey, hasConductorHook, hasCursorWorktreeSetup, hasRepoHook, hasWorkspaceHook, healOrchestrationSoccerTitles, importConductorWorkspace, importConductorWorkspaceAsync, initializeGitRepository, inspectGitWorktree, isBrightsyConnected, isBrightsyNdjsonLine, isCloudCoordinatorThread, isDirty, isGhRateLimitError, isGlobalRepoPath, isGlobalThread, isLinearConnected, isOrchestratorThread, isPlaceholderBranch, listBranchCommits, listBranches, listBrightsyAccounts, listBrightsyChatTargets, listConductorWorkspaces, listConnectedBrightsyTeams, listGitHubIssues, listGlobalThreads, listIssues, listLinearIssues, listLinearIssuesDirect, listPrs, listRunScripts, listThreads, listWorkspaces, listWorktreeFiles, listWorktrees, loadAgentInstructions, loadAppSettings, loadBrightsyConfig, loadConductorSettings, loadRepoSettings, loadWorkspaceSettings, locksDir, lookupSoccerTeam, maxConcurrentAgents, maybeCompactContext, mcpAllowTools, mcpAuthWarnings, mergePr, mergeUsage, normalizeParseResult, normalizeThread, normalizeTurnInput, normalizeWorktreePath, opencodeAdapter, orchestrationTitleNeedsSoccerNickname, orchestratorSessionPoisonedByBuiltins, originGhRepoEnv, parseCursorRunnerLine, parseForceStopMessage, parseGithubSlugFromRemoteUrl, parseMcpList, partsToAssistantText, permissionMode, previewLand, pushBranch, readSkillBody, readThread, readWorktreeFile, readWorktreeFileForUpload, readWorktreeInclude, refreshGitHubAuth, removeWorkspace, removeWorktree, repoSlug, requireAgent, resolveClaudeExecutable, resolveConductorCursorAgentId, resolveDefaultBranch, resolveDiffBaseRef, resolveEffectiveIssueSource, resolveFilesToCopy, resolveGithubRepoSlug, resolvePrSelector, resolveRepoRoot, resolveWorktreeStartPoint, run, runArchiveScript, runCloudConnect, runCursorWorktreeSetup, runSetupScript, sameWorktreePath, sanitizeMcpServerName, saveAppSettings, setStatus, settingsSourceLabel, shouldCompactContext, shouldRunWorktreeCleanup, sideboardHomeDir, sideboardReposDir, sideboardWorkspacesDir, slugify, spawnAgentTurn, splitForCompaction, startDevServer, startMcpServer, startOrchestration, stripBrightsyNdjsonNoise, suggestSlug, summarizeConversation, switchBrightsyAccount, syncWorkspacesFromThreads, takenTeamSlugsForChatTab, takenTeamSlugsForOrchestration, taskMessageText, threadDisplayLabel, threadFilePath, threadLockPath, threadsDir, threadsSharingWorktree, toolDescription, toolDetail, toolFilePath, totalTokens, updateAdvancedSettings, updateAppEnvironment, updateBrightsySettings, updateClaudeSettings, updateIntegrationsSettings, updateThread, validateLinearApiKey, withAgentInstructions, withThreadLock, workspaceSettingsSourceLabel, worktreeCleanupSettings, worktreeDisplayLabel, worktreeDisplayLabelForGroup, worktreeNameFromPath, worktreesRoot, writeInjectedMcpConfig, writeThread, writeWorktreeFile };
2585
+ export { type ActiveRun, type AdoptInput, type AdvancedAppSettings, type AgentAdapter, type AgentEvent, type AgentInstructionFile, type AgentKind, type AgentModelInfo, type AgentSetupActionResult, type AgentSetupInfo, type AgentSetupKind, type AgentStatus, type AgentTurnInput, type AnthropicCacheControl, type AppSettings, type ApplyIntoMainResult, type AttachCommand, type Autonomy, BRIGHTSY_MCP_ALLOWED_TOOLS, type BranchInfo, type BrightsyAccount, type BrightsyChatTarget, type BrightsyChatTargets, type BrightsyCloudConnectAgent, type BrightsyHarnessSettings, type BrightsySession, BrightsySideboardApi, type BrightsyTeamTargets, CLOUD_COORDINATOR_BUSY_REPLY, CLOUD_COORDINATOR_STOPPED_REPLY, CLOUD_COORDINATOR_TIMEOUT_REPLY, CLOUD_ORCHESTRATOR_GOAL, CONTEXT_COMPACT_CHARS, CONTEXT_KEEP_RECENT_CHARS, CONTEXT_KEEP_RECENT_MESSAGES, CONTEXT_MIN_MESSAGES, COORDINATOR_TOOL_PLAYBOOK, type ClaudeHarnessSettings, type CleanupOrphansResult, type CloudConnectAgent, type CloudConnectOptions, type CloudConnectStatus, type CompactResult, type CompactThresholds, type ComposerFileBuffer, type ConductorSettings, type ConductorWorkspace, type ConnectedBrightsyTeamInfo, type CreateChatTabInput, type CreateGlobalChatOpts, type CreateThreadInput, type CreateWorktreeResult, type CursorModelInfo, type CursorSdkStreamMessage, type CursorTurnRequest, type CursorWorktreesConfig, type DevServerHandle, type DiffCommentInput, type DiffCommentLine, type DiffCommit, type DiffFile, type DiffResult, type DiffScope, type DiffScopeStat, type ExpandResult, FAMOUS_SOCCER_TEAMS, type ForkChatTabInput, type ForkThreadWorktreeInput, type FormatGhLandErrorOptions, GLOBAL_WORKSPACE_ID, type GetDiffOptions, type GitHubStatus, type GitWorktreeStatus, HARNESS_ENV_KEYS, type HarnessId, type IntegrationsSettings, type IpcApi, type IssueInfo, type IssueSource, type LandPreview, type LandResult, type ListIssuesResult, MAX_ANTHROPIC_CACHE_CONTROL_BLOCKS, type McpServerStatus, type MessagePart, Orchestrator, type OrchestratorEvent, type OrchestratorRuntime, type OrphanWorktree, PLAN_MODE_INSTRUCTION, type PrActor, type PrCheckRun, type PrCommentInfo, type PrCommitInfo, type PrDetails, type PrInfo, type PrMeta, type PrReviewInfo, type RepoSettings, type RepoSetupInfo, type RunMode, type RunScript, SIDEBOARD_FORCE_STOP, SIDEBOARD_MCP_ALLOWED_TOOLS, type ScriptHandle, type SkillInfo, type SourceType, type SpawnTurnHandle, type SummarizeResult, type TeamName, type Thread, type ThreadAttachment, type ThreadMessage, type ThreadOptionsPatch, type ThreadStatus, type TokenUsage, type TranscriptToolDetail, type TurnCommand, type Workspace, type WorkspaceInventoryEntry, type WorkspaceScriptEnvOpts, addWorkspace, adoptThread, allAdapters, allocatePort, allocatePortRange, allocateTeamName, allocateTeamSlug, appDataDir, appSettingsPath, appendMessage, applyAgentEvent, applyAppEnvironment, applyCompaction, applyThreadIntoMain, attachmentFromAbsolutePath, attachmentsFromBuffers, attachmentsFromWorktreePaths, autoCleanupOrphansEnabled, autoRenameBranchEnabled, autoRunAfterSetupEnabled, branchDisplayLabel, brightsyAdapter, brightsyCloudConnectAgent, brightsyCloudConnectEnabled, brightsyConfigPath, brightsyMcpAllowedTools, brightsyMcpServerName, buildCachedUserContent, buildClaudeStreamJsonUserMessage, buildDiffCommentAttachment, buildForkTranscriptAttachment, buildSessionSeed, buildWorkspaceScriptEnv, caffeinateWhileCloudConnectEnabled, caffeinateWhileRunningEnabled, captureLoginEnv, captureTurnBaseline, childEnvWithAppSettings, claudeAdapter, claudeChromeEnabled, claudeUserSettingsPath, cleanupOrphanWorktrees, cloneRepoIntoSideboard, codexAdapter, collectTakenTeamSlugs, commitAll, conductorDbPath, confirmLand, connectBrightsyTeam, coordinatorSystemPrompt, coordinatorTurnReminder, copyConfiguredFiles, countCacheControlBlocks, createChatTab, createEmptyThread, createGlobalChat, createOrUpdatePr, createThread, createThreadWorktree, currentBranch, cursorAdapter, cursorSdkMessageToEvents, decodeBrightsyTarget, deleteBranchOnPurgeEnabled, deleteThreadRecord, detectAgents, detectLocalMergeConflicts, disconnectBrightsyTeam, discoverSkills, encodeBrightsyTarget, enrichWorkspacesWithGithub, ensureAgentPath, ensureCloudCoordinator, ensureGhPreferOrigin, ensureGlobalCoordinatorCwd, ensureWorkspace, estimateMessageChars, estimateThreadChars, expandComposerPrompt, extractGhErrorDetail, extractiveSummary, fetchPrHead, finalizeParts, findInvalidCacheControlTtlOrder, findOrphanWorktrees, findThreadByRef, flattenTurnInput, forkChatTab, forkMessageSlice, forkThreadWorktree, formatAgentInstructions, formatArtifactDirective, formatBrightsyFetchError, formatGhLandError, formatIpcInvokeError, formatMessagesAsTranscript, formatRateLimitResetHint, formatRenameBranchDirective, formatTranscriptMarkdown, formatWorkspaceInventory, formatWorktreeDirective, getAdapter, getAgentSetupInfo, getBrightsySession, getDefaultRunScript, getDiff, getDiffSummary, getGitHubStatus, getIssueSource, getLinearApiKey, getOrchestrator, getPr, getPrChecks, getPrDetails, getPrMeta, getRepoSetupInfo, getRunMode, getRunScript, gh, ghHeadRef, ghRepoSelectArgs, git, globalAgentCwd, harnessEnvKey, hasConductorHook, hasCursorWorktreeSetup, hasRepoHook, hasWorkspaceHook, healOrchestrationSoccerTitles, importConductorWorkspace, importConductorWorkspaceAsync, initializeGitRepository, inspectGitWorktree, installAgent, isBrightsyConnected, isBrightsyNdjsonLine, isCloudCoordinatorThread, isCursorAutoModel, isDirty, isGhRateLimitError, isGlobalRepoPath, isGlobalThread, isImageFilePath, isLinearConnected, isOrchestratorThread, isPlaceholderBranch, listAgentSetupInfo, listBranchCommits, listBranches, listBrightsyAccounts, listBrightsyChatTargets, listCodexModels, listConductorWorkspaces, listConnectedBrightsyTeams, listCursorModels, listGitHubIssues, listGlobalThreads, listIssues, listLinearIssues, listLinearIssuesDirect, listOpencodeModels, listPrs, listRunScripts, listThreads, listWorkspaces, listWorktreeFiles, listWorktrees, loadAgentInstructions, loadAppSettings, loadBrightsyConfig, loadConductorSettings, loadRepoSettings, loadWorkspaceSettings, locksDir, loginAgent, lookupSoccerTeam, maxConcurrentAgents, maybeCompactContext, mcpAllowTools, mcpAuthWarnings, mergePr, mergeUsage, normalizeParseResult, normalizeThread, normalizeTurnInput, normalizeWorktreePath, openInSystemTerminal, opencodeAdapter, orchestrationTitleNeedsSoccerNickname, orchestratorSessionPoisonedByBuiltins, originGhRepoEnv, parseCursorRunnerLine, parseForceStopMessage, parseGithubSlugFromRemoteUrl, parseMcpList, partsToAssistantText, permissionMode, previewLand, pushBranch, readSkillBody, readThread, readWorktreeFile, readWorktreeFileForUpload, readWorktreeInclude, refreshGitHubAuth, removeWorkspace, removeWorktree, repoSlug, requireAgent, resolveClaudeExecutable, resolveConductorCursorAgentId, resolveCursorModelId, resolveDefaultBranch, resolveDiffBaseRef, resolveEffectiveIssueSource, resolveFilesToCopy, resolveGithubRepoSlug, resolvePrSelector, resolveRepoRoot, resolveWorktreeStartPoint, run, runArchiveScript, runCloudConnect, runCursorWorktreeSetup, runSetupScript, sameWorktreePath, sanitizeMcpServerName, saveAppSettings, setStatus, settingsSourceLabel, shouldCompactContext, shouldRunWorktreeCleanup, sideboardHomeDir, sideboardReposDir, sideboardWorkspacesDir, slugify, spawnAgentTurn, splitForCompaction, stageAbsolutePathsAsAttachments, stageBuffersAsAttachments, startDevServer, startMcpServer, startOrchestration, stripBrightsyNdjsonNoise, suggestSlug, summarizeConversation, switchBrightsyAccount, syncWorkspacesFromThreads, takenTeamSlugsForChatTab, takenTeamSlugsForOrchestration, taskMessageText, threadDisplayLabel, threadFilePath, threadLockPath, threadsDir, threadsSharingWorktree, toolDescription, toolDetail, toolFilePath, totalTokens, updateAdvancedSettings, updateAppEnvironment, updateBrightsySettings, updateClaudeSettings, updateIntegrationsSettings, updateThread, validateLinearApiKey, withAgentInstructions, withThreadLock, workspaceSettingsSourceLabel, worktreeCleanupSettings, worktreeDisplayLabel, worktreeDisplayLabelForGroup, worktreeNameFromPath, worktreesRoot, writeInjectedMcpConfig, writeThread, writeWorktreeFile };