@sideboard-ai/core 0.1.66 → 0.1.67

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/dist/{agents-MD7SCFYX.js → agents-OTBZVTZO.js} +10 -6
  2. package/dist/{agents-EWFD765A.js → agents-TS3EI2YI.js} +10 -6
  3. package/dist/{chunk-R7GUDEPY.js → chunk-4BUCGNZS.js} +1 -1
  4. package/dist/{chunk-TXQ6K2GR.js → chunk-4UIYN56C.js} +13 -2
  5. package/dist/{chunk-LRBRQFBU.js → chunk-57WWNMFP.js} +1 -1
  6. package/dist/{chunk-HTOTTJJX.js → chunk-5HTTCYWA.js} +2 -2
  7. package/dist/{chunk-YTNLOJPK.js → chunk-7ZOQY4A7.js} +2 -2
  8. package/dist/{chunk-IFAU2DEY.js → chunk-B4PRRKMA.js} +22 -7
  9. package/dist/{chunk-DZYMNW2A.js → chunk-DB3I75FI.js} +4 -4
  10. package/dist/{chunk-5AG5BUQN.js → chunk-FGDJOJ2L.js} +13 -2
  11. package/dist/{chunk-DNPP7QMK.js → chunk-JWZNK3CQ.js} +2 -2
  12. package/dist/{chunk-BBEH2CJE.js → chunk-K7LM4CLD.js} +22 -7
  13. package/dist/{chunk-I2KGRAXC.js → chunk-LW5CMQGZ.js} +1 -1
  14. package/dist/{chunk-EVD4KNKR.js → chunk-M5V4QIWF.js} +1 -1
  15. package/dist/{chunk-PESJDZTB.js → chunk-WAFIF22N.js} +2 -2
  16. package/dist/{chunk-AKPEXIKK.js → chunk-ZRFAZVGL.js} +1 -1
  17. package/dist/{connected-teams-GJTESSTX.js → connected-teams-OMDHTL6A.js} +2 -2
  18. package/dist/{connected-teams-CHXO5FFA.js → connected-teams-RUNMOCG5.js} +2 -2
  19. package/dist/{coordinator-prompt-ILSULI7C.js → coordinator-prompt-3BSMKZL4.js} +3 -3
  20. package/dist/{coordinator-prompt-E5UGSJES.js → coordinator-prompt-6HMTOX4G.js} +3 -3
  21. package/dist/{global-workspace-44UG64NA.js → global-workspace-QS7A23CB.js} +4 -4
  22. package/dist/{global-workspace-5PM5LA6E.js → global-workspace-YZ2NJVLL.js} +4 -4
  23. package/dist/index.cjs +34 -5
  24. package/dist/index.d.cts +6 -2
  25. package/dist/index.d.ts +6 -2
  26. package/dist/index.js +21 -17
  27. package/dist/mcp/run-stdio.cjs +30 -5
  28. package/dist/mcp/run-stdio.js +16 -16
  29. package/dist/{run-JLN5JK7Q.js → run-JLD2Y52J.js} +1 -1
  30. package/dist/{run-74S2NZWB.js → run-Y2MI3EVV.js} +1 -1
  31. package/dist/{workspaces-RXFXQRRF.js → workspaces-AIUYUXB7.js} +5 -5
  32. package/dist/{workspaces-OVBCSS5Y.js → workspaces-EBFW7I7S.js} +5 -5
  33. package/dist/{worktree-K2JB53R5.js → worktree-7NBPIVFZ.js} +2 -2
  34. package/dist/{worktree-S2N63FLV.js → worktree-WMDJW2BL.js} +2 -2
  35. package/package.json +1 -1
package/dist/index.cjs CHANGED
@@ -2163,6 +2163,13 @@ function prependPathDir(env, dir) {
2163
2163
  }
2164
2164
  env.PATH = [dir, ...parts].join(import_node_path5.delimiter);
2165
2165
  }
2166
+ function conductorBundledBinDir(home = process.env.HOME || process.env.USERPROFILE || (0, import_node_os4.homedir)()) {
2167
+ return (0, import_node_path5.join)(home, "Library", "Application Support", "com.conductor.app", "bin");
2168
+ }
2169
+ function isConductorBundledCli(filePath) {
2170
+ const p = (filePath ?? "").replace(/\\/g, "/");
2171
+ return p.includes("/com.conductor.app/bin/") || p.endsWith("/com.conductor.app/bin");
2172
+ }
2166
2173
  function ensureAgentPath(env = process.env) {
2167
2174
  const home = env.HOME || env.USERPROFILE || (0, import_node_os4.homedir)();
2168
2175
  const current = env.PATH ?? "";
@@ -2171,7 +2178,9 @@ function ensureAgentPath(env = process.env) {
2171
2178
  const extras = [
2172
2179
  ...EXTRA_BIN_DIRS.map((rel) => (0, import_node_path5.join)(home, rel)),
2173
2180
  "/opt/homebrew/bin",
2174
- "/usr/local/bin"
2181
+ "/usr/local/bin",
2182
+ // Keep after Homebrew/npm so a user-installed CLI still wins.
2183
+ conductorBundledBinDir(home)
2175
2184
  ];
2176
2185
  for (const dir of extras.reverse()) {
2177
2186
  if (!dir || seen.has(dir) || !(0, import_node_fs5.existsSync)(dir)) continue;
@@ -2218,7 +2227,7 @@ function withExportedPath(command, pathValue) {
2218
2227
  const trimmed = command.trim();
2219
2228
  if (!trimmed) return trimmed;
2220
2229
  if (/^(export\s+PATH=|PATH=)/.test(trimmed)) return trimmed;
2221
- return `export PATH=${posixShellSingleQuote(pathValue)}; ${trimmed}`;
2230
+ return `export PATH=${posixShellSingleQuote(pathValue)} && ${trimmed}`;
2222
2231
  }
2223
2232
  var import_node_fs5, import_node_child_process, import_node_os4, import_node_path5, EXTRA_BIN_DIRS;
2224
2233
  var init_path = __esm({
@@ -7078,6 +7087,11 @@ async function openInSystemTerminal(command) {
7078
7087
  `No terminal found to run: ${trimmed}. Install gnome-terminal (or similar), or run the command manually.`
7079
7088
  );
7080
7089
  }
7090
+ async function whichCli(bin) {
7091
+ const which = await run("which", [bin], { reject: false, timeoutMs: 3e3 });
7092
+ if (which.exitCode !== 0) return null;
7093
+ return which.stdout.trim().split(/\r?\n/).find(Boolean) ?? null;
7094
+ }
7081
7095
  async function installAgent(agent) {
7082
7096
  const info = getAgentSetupInfo(agent);
7083
7097
  if (info.kind === "bundled-sdk" || info.kind === "api-key") {
@@ -7099,6 +7113,17 @@ async function installAgent(agent) {
7099
7113
  };
7100
7114
  }
7101
7115
  enrichPathWithNpmGlobalBin();
7116
+ const cliBin = agent === "cursor" ? null : CLI_BIN[agent];
7117
+ if (cliBin) {
7118
+ const existing = await whichCli(cliBin);
7119
+ if (existing) {
7120
+ return {
7121
+ ok: true,
7122
+ command: existing,
7123
+ message: isConductorBundledCli(existing) ? `Using Conductor\u2019s ${cliBin} at ${existing}. No extra install \u2014 Log in only if auth is missing.` : `Already on PATH: ${existing}`
7124
+ };
7125
+ }
7126
+ }
7102
7127
  const result = await run("npm", ["install", "-g", info.npmPackage], { reject: false });
7103
7128
  const ok = result.exitCode === 0;
7104
7129
  if (!ok) {
@@ -7125,11 +7150,9 @@ async function installAgent(agent) {
7125
7150
  }
7126
7151
  }
7127
7152
  enrichPathWithNpmGlobalBin();
7128
- const cliBin = agent === "cursor" ? null : CLI_BIN[agent];
7129
7153
  let binPath = null;
7130
7154
  if (cliBin) {
7131
- const which = await run("which", [cliBin], { reject: false, timeoutMs: 3e3 });
7132
- binPath = which.exitCode === 0 ? which.stdout.trim().split(/\r?\n/).find(Boolean) ?? null : null;
7155
+ binPath = await whichCli(cliBin);
7133
7156
  }
7134
7157
  return {
7135
7158
  ok: true,
@@ -7239,6 +7262,7 @@ __export(agents_exports, {
7239
7262
  claudeAdapter: () => claudeAdapter,
7240
7263
  codexAdapter: () => codexAdapter,
7241
7264
  coerceOrchestratorAgent: () => coerceOrchestratorAgent,
7265
+ conductorBundledBinDir: () => conductorBundledBinDir,
7242
7266
  cursorAdapter: () => cursorAdapter,
7243
7267
  cursorSdkMessageToEvents: () => cursorSdkMessageToEvents,
7244
7268
  decodeBrightsyTarget: () => decodeBrightsyTarget,
@@ -7248,6 +7272,7 @@ __export(agents_exports, {
7248
7272
  getAdapter: () => getAdapter,
7249
7273
  getAgentSetupInfo: () => getAgentSetupInfo,
7250
7274
  installAgent: () => installAgent,
7275
+ isConductorBundledCli: () => isConductorBundledCli,
7251
7276
  isCursorAutoModel: () => isCursorAutoModel,
7252
7277
  isOrchestratorCapableAgent: () => isOrchestratorCapableAgent,
7253
7278
  isSessionQuotaLimit: () => isSessionQuotaLimit,
@@ -7593,6 +7618,7 @@ __export(index_exports, {
7593
7618
  coerceOrchestratorAgent: () => coerceOrchestratorAgent,
7594
7619
  collectTakenTeamSlugs: () => collectTakenTeamSlugs,
7595
7620
  commitAll: () => commitAll,
7621
+ conductorBundledBinDir: () => conductorBundledBinDir,
7596
7622
  conductorDbPath: () => conductorDbPath,
7597
7623
  confirmLand: () => confirmLand,
7598
7624
  connectBrightsyTeam: () => connectBrightsyTeam,
@@ -7704,6 +7730,7 @@ __export(index_exports, {
7704
7730
  isBrightsyConnected: () => isBrightsyConnected,
7705
7731
  isBrightsyNdjsonLine: () => isBrightsyNdjsonLine,
7706
7732
  isCloudCoordinatorThread: () => isCloudCoordinatorThread,
7733
+ isConductorBundledCli: () => isConductorBundledCli,
7707
7734
  isCursorAutoModel: () => isCursorAutoModel,
7708
7735
  isDirty: () => isDirty,
7709
7736
  isGhRateLimitError: () => isGhRateLimitError,
@@ -15235,6 +15262,7 @@ init_injected_mcp();
15235
15262
  coerceOrchestratorAgent,
15236
15263
  collectTakenTeamSlugs,
15237
15264
  commitAll,
15265
+ conductorBundledBinDir,
15238
15266
  conductorDbPath,
15239
15267
  confirmLand,
15240
15268
  connectBrightsyTeam,
@@ -15346,6 +15374,7 @@ init_injected_mcp();
15346
15374
  isBrightsyConnected,
15347
15375
  isBrightsyNdjsonLine,
15348
15376
  isCloudCoordinatorThread,
15377
+ isConductorBundledCli,
15349
15378
  isCursorAutoModel,
15350
15379
  isDirty,
15351
15380
  isGhRateLimitError,
package/dist/index.d.cts CHANGED
@@ -1525,10 +1525,14 @@ declare function assertOrchestratorCapableAgent(agent: AgentKind, context?: stri
1525
1525
  /** Prefer a capable agent; fall back to Claude when the choice is unsupported. */
1526
1526
  declare function coerceOrchestratorAgent(agent: AgentKind | null | undefined, fallback?: OrchestratorAgentKind): OrchestratorAgentKind;
1527
1527
 
1528
+ /** Conductor-bundled Claude/Codex live here (not on a typical GUI PATH). */
1529
+ declare function conductorBundledBinDir(home?: string): string;
1530
+ declare function isConductorBundledCli(filePath: string | null | undefined): boolean;
1528
1531
  /**
1529
1532
  * Electron / GUI apps often inherit a minimal PATH that omits Homebrew and
1530
1533
  * user bin dirs where `claude` / `codex` / `opencode` / `brightsy` live. Call
1531
1534
  * once at process start (and before agent spawns) so adapters can resolve CLIs.
1535
+ * Also includes Conductor’s bundled `bin` (Claude/Codex) as a fallback.
1532
1536
  */
1533
1537
  declare function ensureAgentPath(env?: NodeJS.ProcessEnv): string;
1534
1538
  /**
@@ -1544,7 +1548,7 @@ declare function posixShellSingleQuote(value: string): string;
1544
1548
  * on the enriched Electron PATH.
1545
1549
  */
1546
1550
  declare function resolveCommandBinarySync(command: string, whichPath: string | null | undefined): string;
1547
- /** `export PATH='…'; <command>` so Terminal inherits Electron’s enriched PATH. */
1551
+ /** `export PATH='…' && <command>` so Terminal inherits Electron’s enriched PATH. */
1548
1552
  declare function withExportedPath(command: string, pathValue: string): string;
1549
1553
 
1550
1554
  type AgentSetupKind = 'cli' | 'api-key' | 'bundled-sdk';
@@ -3452,4 +3456,4 @@ declare function writeInjectedMcpConfig(opts: {
3452
3456
  includeBrightsy?: boolean;
3453
3457
  }): Promise<string | null>;
3454
3458
 
3455
- export { ATTACHMENTS_DIR, type ActiveRun, type AddStackLayerInput, type AdoptInput, type AdvancedAppSettings, type AgentAdapter, type AgentEvent, type AgentInstructionFile, type AgentKind, type AgentModelCatalog, 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, CLAUDE_MODEL_CATALOG, 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 CliAgentKind, type CliExecutableSettings, type CloudConnectAgent, type CloudConnectOptions, type CloudConnectStatus, type CompactResult, type CompactThresholds, type ComposerFileBuffer, type ConductorSettings, type ConductorWorkspace, type ConnectedBrightsyTeamInfo, type CreateChatTabInput, type CreateGlobalChatOpts, type CreateStackInput, type CreateThreadInput, type CreateWorktreeResult, type CursorModelInfo, type CursorSdkStreamMessage, type CursorTurnRequest, type CursorWorktreesConfig, type DefaultsAppSettings, 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 GhStackStatus, type GitHubStatus, type GitWorktreeStatus, HARNESS_ENV_KEYS, type HarnessId, type InitStackFromThreadInput, type IntegrationsSettings, type IpcApi, type IssueInfo, type IssueSource, LEGACY_ATTACHMENTS_DIR, LEGACY_PLAN_FILE_REL, LEGACY_REVIEW_REQUEST_PATH, type LandPreview, type LandResult, type ListIssuesResult, MAX_ANTHROPIC_CACHE_CONTROL_BLOCKS, type McpServerStatus, type MessagePart, ORCHESTRATOR_AGENT_KINDS, type OpenPrStackLayersInput, type OpenStackLayerInput, type OpenStackLayerResult, type OrchestrationQuotaOnLimit, Orchestrator, type OrchestratorAgentKind, type OrchestratorEvent, type OrchestratorRuntime, type OrphanWorktree, PASTE_ATTACH_MIN_CHARS, PASTE_ATTACH_MIN_LINES, PLAN_FILE_NAME, PLAN_FILE_REL, PLAN_MODE_INSTRUCTION, type PendingPlanQuestions, type PlanQuestion, type PlanQuestionAnswer, type PlanQuestionOption, type PlanToolPartLike, type PrActor, type PrCheckRun, type PrCommentInfo, type PrCommitInfo, type PrDetails, type PrInfo, type PrMeta, type PrReviewInfo, type PrStack, type PrStackLayer, type PresentedPlan, REPO_REVIEW_NAME, REPO_REVIEW_PATH, REVIEW_REQUEST_NAME, REVIEW_REQUEST_PATH, REVIEW_REQUEST_PREFILL, type RepoSettings, type RepoSetupInfo, type RequestReviewResult, type ResolvedReviewGuidelines, type ReviewGuidelinesSource, type RunMode, type RunScript, SIDEBOARD_FORCE_STOP, SIDEBOARD_MCP_ALLOWED_TOOLS, SIDEBOARD_MCP_PROFILE_ENV, type ScriptHandle, type SideboardMcpProfile, type SkillInfo, type SourceType, type SpawnTurnHandle, type SummarizeResult, THINKING_EFFORTS, type TeamName, type ThinkingEffort, type Thread, type ThreadAttachment, type ThreadMessage, type ThreadOptionsPatch, type ThreadStatus, type TokenUsage, type ToolPartLike, type TranscriptToolDetail, type TurnCommand, type Workspace, type WorkspaceInventoryEntry, type WorkspaceScriptEnvOpts, addPrStackLayer, addStackLayerFromThread, addWorkspace, adoptThread, allAdapters, allocatePort, allocatePortRange, allocateTeamName, allocateTeamSlug, appDataDir, appSettingsPath, appendMessage, applyAgentEvent, applyAppEnvironment, applyCompaction, applyThreadIntoMain, assertOrchestratorCapableAgent, attachmentFromAbsolutePath, attachmentsFromBuffers, attachmentsFromWorktreePaths, attachmentsGitignoreBody, autoArchiveOnMergeEnabled, autoCleanupOrphansEnabled, autoRenameBranchEnabled, autoRunAfterSetupEnabled, branchDisplayLabel, brightsyAdapter, brightsyCloudConnectAgent, brightsyCloudConnectEnabled, brightsyConfigPath, brightsyInjectWorktreeMcpEnabled, brightsyMcpAllowedTools, brightsyMcpServerName, buildCachedUserContent, buildClaudeStreamJsonUserMessage, buildDiffCommentAttachment, buildForkTranscriptAttachment, buildPastedTextAttachment, buildReviewRequestAttachment, buildSessionSeed, buildWorkspaceScriptEnv, caffeinateWhileCloudConnectEnabled, caffeinateWhileRunningEnabled, captureLoginEnv, captureTurnBaseline, checkoutPrStackLayer, childEnvWithAppSettings, claudeAdapter, claudeChromeEnabled, claudeUserSettingsPath, cleanupOrphanWorktrees, cloneRepoIntoSideboard, codexAdapter, coerceOrchestratorAgent, collectTakenTeamSlugs, commitAll, conductorDbPath, confirmLand, connectBrightsyTeam, coordinatorSystemPrompt, coordinatorTurnReminder, copyConfiguredFiles, countCacheControlBlocks, createChatTab, createEmptyThread, createExistingBranchWorktree, createGlobalChat, createOrUpdatePr, createPrStack, createThread, createThreadWorktree, currentBranch, cursorAdapter, cursorSdkMessageToEvents, decodeBrightsyTarget, deleteBranchOnPurgeEnabled, deleteThreadRecord, detectAgents, detectGhStack, detectLocalMergeConflicts, disconnectBrightsyTeam, discoverSkills, dropCachedPrefixOnResume, encodeBrightsyTarget, enrichPathWithNpmGlobalBin, enrichWorkspacesWithGithub, ensureAgentPath, ensureCloudCoordinator, ensureGhPreferOrigin, ensureGlobalCoordinatorCwd, ensureReviewRequestFile, ensureWorkspace, estimateMessageChars, estimateThreadChars, expandComposerPrompt, extractGhErrorDetail, extractPendingPlanQuestions, extractPresentedPlan, extractiveSummary, fetchPrHead, finalizeParts, findInvalidCacheControlTtlOrder, findOrphanWorktrees, findThreadByRef, findThreadForStackLayer, flattenTurnInput, forkChatTab, forkMessageSlice, forkThreadWorktree, formatAgentInstructions, formatArtifactDirective, formatBrightsyFetchError, formatGhLandError, formatIpcInvokeError, formatMessagesAsTranscript, formatPlanQuestionAnswers, formatPlanQuestionsForChat, formatRateLimitResetHint, formatRenameBranchDirective, formatTranscriptMarkdown, formatWorkspaceInventory, formatWorktreeDirective, formatWorktreeReminder, getAdapter, getAgentSetupInfo, getBrightsySession, getDefaultAgent, getDefaultEffort, getDefaultFast, getDefaultModel, getDefaultRunScript, getDiff, getDiffSummary, getGitHubStatus, getIssueSource, getLinearApiKey, getOrchestrator, getPr, getPrChecks, getPrDetails, getPrMeta, getPrStack, getRepoSetupInfo, getRunMode, getRunScript, gh, ghHeadRef, ghRepoSelectArgs, git, globalAgentCwd, harnessEnvKey, hasConductorHook, hasCursorWorktreeSetup, hasRepoHook, hasWorkspaceHook, healOrchestrationSoccerTitles, importConductorWorkspace, importConductorWorkspaceAsync, initPrStack, initStackFromThread, initializeGitRepository, inspectGitWorktree, installAgent, isAskUserToolName, isBrightsyConnected, isBrightsyNdjsonLine, isCloudCoordinatorThread, isCursorAutoModel, isDirty, isGhRateLimitError, isGlobalRepoPath, isGlobalThread, isImageFilePath, isInPrStack, isLinearConnected, isOrchestratorCapableAgent, isOrchestratorThread, isPidAlive, isPlaceholderBranch, isPresentPlanToolName, isSessionQuotaLimit, isSideboardScratchPath, isThinkingEffort, isWorkspaceScratchPath, listAgentSetupInfo, listBranchCommits, listBranches, listBrightsyAccounts, listBrightsyChatTargets, listCodexModels, listConductorWorkspaces, listConnectedBrightsyTeams, listCursorModels, listGitHubIssues, listGlobalThreads, listIssues, listLinearIssues, listLinearIssuesDirect, listModelsForAgent, listOpencodeModels, listPrs, listRunScripts, listThreads, listWorkspaces, listWorktreeFiles, listWorktrees, loadAgentInstructions, loadAppSettings, loadBrightsyConfig, loadConductorSettings, loadRepoSettings, loadWorkspaceSettings, locksDir, loginAgent, lookupSoccerTeam, maxConcurrentAgents, maybeCompactContext, mcpAllowTools, mcpAuthWarnings, mergePr, mergePrStack, mergeUsage, nextPastedTextName, nextThinkingEffort, normalizeParseResult, normalizeThinkingEffort, normalizeThread, normalizeTurnInput, normalizeWorktreePath, openInSystemTerminal, openPrStackLayers, openStackLayer, opencodeAdapter, orchestrationQuotaFallbackAgent, orchestrationQuotaOnLimit, orchestrationTitleNeedsSoccerNickname, orchestratorSessionPoisonedByBuiltins, originGhRepoEnv, parseCursorRunnerLine, parseForceStopMessage, parseGhStackViewJson, parseGithubSlugFromRemoteUrl, parseMcpList, parsePlanQuestionsInput, parseSessionQuotaResetAt, partsToAssistantText, pastedTextStats, permissionMode, planFileAbs, posixShellSingleQuote, prepareTerminalCommand, previewLand, promptMentionsBrightsy, pushBranch, readExistingReviewRequestFile, readPlanFile, readSkillBody, readThread, readWorktreeFile, readWorktreeFileForUpload, readWorktreeInclude, refreshGitHubAuth, removeWorkspace, removeWorktree, repoSlug, requestReview, requireAgent, resetGhStackDetectCache, resolveAgentExecutable, resolveClaudeExecutable, resolveCommandBinarySync, resolveConductorCursorAgentId, resolveCursorModelId, resolveDefaultBranch, resolveDiffBaseRef, resolveEffectiveIssueSource, resolveFilesToCopy, resolveGhAuthToken, resolveGithubRepoSlug, resolveLoginCommand, resolveNewThreadOptions, resolvePlanMarkdown, resolvePrSelector, resolveQuotaFallbackAgent, resolveRepoRoot, resolveReviewGuidelines, resolveThreadDefaults, resolveThreadEffort, resolveWorktreeStartPoint, run, runArchiveScript, runCloudConnect, runCursorWorktreeSetup, runSetupScript, sameWorktreePath, sanitizeMcpServerName, saveAppSettings, setStatus, settingsSourceLabel, shouldAttachPastedText, shouldCompactContext, shouldInjectBrightsyMcp, shouldRefreshReviewRequestTemplate, shouldRunWorktreeCleanup, sideboardHomeDir, sideboardMcpProfile, sideboardReposDir, sideboardWorkspacesDir, slugify, spawnAgentTurn, splitForCompaction, stackAgentDefaultsFrom, stackIdFrom, stackMergeReadiness, stageAbsolutePathsAsAttachments, stageBuffersAsAttachments, startDevServer, startMcpServer, startOrchestration, stripBrightsyNdjsonNoise, submitPrStack, suggestSlug, summarizeConversation, switchBrightsyAccount, syncWorkspacesFromThreads, takenTeamSlugsForChatTab, takenTeamSlugsForOrchestration, taskMessageText, thinkingEffortBars, thinkingEffortLabel, threadDisplayLabel, threadFilePath, threadLockPath, threadRequestsBrightsyMcp, threadsDir, threadsSharingWorktree, toolDescription, toolDetail, toolFilePath, totalTokens, updateAdvancedSettings, updateAgentExecutable, updateAppEnvironment, updateBrightsySettings, updateClaudeSettings, updateCodexSettings, updateDefaultsSettings, updateIntegrationsSettings, updateOpencodeSettings, updateThread, validateLinearApiKey, withAgentInstructions, withExportedPath, withThreadLock, workspaceSettingsSourceLabel, worktreeCleanupSettings, worktreeDisplayLabel, worktreeDisplayLabelForGroup, worktreeNameFromPath, worktreesRoot, writeInjectedMcpConfig, writePlanFile, writeThread, writeWorktreeFile };
3459
+ export { ATTACHMENTS_DIR, type ActiveRun, type AddStackLayerInput, type AdoptInput, type AdvancedAppSettings, type AgentAdapter, type AgentEvent, type AgentInstructionFile, type AgentKind, type AgentModelCatalog, 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, CLAUDE_MODEL_CATALOG, 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 CliAgentKind, type CliExecutableSettings, type CloudConnectAgent, type CloudConnectOptions, type CloudConnectStatus, type CompactResult, type CompactThresholds, type ComposerFileBuffer, type ConductorSettings, type ConductorWorkspace, type ConnectedBrightsyTeamInfo, type CreateChatTabInput, type CreateGlobalChatOpts, type CreateStackInput, type CreateThreadInput, type CreateWorktreeResult, type CursorModelInfo, type CursorSdkStreamMessage, type CursorTurnRequest, type CursorWorktreesConfig, type DefaultsAppSettings, 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 GhStackStatus, type GitHubStatus, type GitWorktreeStatus, HARNESS_ENV_KEYS, type HarnessId, type InitStackFromThreadInput, type IntegrationsSettings, type IpcApi, type IssueInfo, type IssueSource, LEGACY_ATTACHMENTS_DIR, LEGACY_PLAN_FILE_REL, LEGACY_REVIEW_REQUEST_PATH, type LandPreview, type LandResult, type ListIssuesResult, MAX_ANTHROPIC_CACHE_CONTROL_BLOCKS, type McpServerStatus, type MessagePart, ORCHESTRATOR_AGENT_KINDS, type OpenPrStackLayersInput, type OpenStackLayerInput, type OpenStackLayerResult, type OrchestrationQuotaOnLimit, Orchestrator, type OrchestratorAgentKind, type OrchestratorEvent, type OrchestratorRuntime, type OrphanWorktree, PASTE_ATTACH_MIN_CHARS, PASTE_ATTACH_MIN_LINES, PLAN_FILE_NAME, PLAN_FILE_REL, PLAN_MODE_INSTRUCTION, type PendingPlanQuestions, type PlanQuestion, type PlanQuestionAnswer, type PlanQuestionOption, type PlanToolPartLike, type PrActor, type PrCheckRun, type PrCommentInfo, type PrCommitInfo, type PrDetails, type PrInfo, type PrMeta, type PrReviewInfo, type PrStack, type PrStackLayer, type PresentedPlan, REPO_REVIEW_NAME, REPO_REVIEW_PATH, REVIEW_REQUEST_NAME, REVIEW_REQUEST_PATH, REVIEW_REQUEST_PREFILL, type RepoSettings, type RepoSetupInfo, type RequestReviewResult, type ResolvedReviewGuidelines, type ReviewGuidelinesSource, type RunMode, type RunScript, SIDEBOARD_FORCE_STOP, SIDEBOARD_MCP_ALLOWED_TOOLS, SIDEBOARD_MCP_PROFILE_ENV, type ScriptHandle, type SideboardMcpProfile, type SkillInfo, type SourceType, type SpawnTurnHandle, type SummarizeResult, THINKING_EFFORTS, type TeamName, type ThinkingEffort, type Thread, type ThreadAttachment, type ThreadMessage, type ThreadOptionsPatch, type ThreadStatus, type TokenUsage, type ToolPartLike, type TranscriptToolDetail, type TurnCommand, type Workspace, type WorkspaceInventoryEntry, type WorkspaceScriptEnvOpts, addPrStackLayer, addStackLayerFromThread, addWorkspace, adoptThread, allAdapters, allocatePort, allocatePortRange, allocateTeamName, allocateTeamSlug, appDataDir, appSettingsPath, appendMessage, applyAgentEvent, applyAppEnvironment, applyCompaction, applyThreadIntoMain, assertOrchestratorCapableAgent, attachmentFromAbsolutePath, attachmentsFromBuffers, attachmentsFromWorktreePaths, attachmentsGitignoreBody, autoArchiveOnMergeEnabled, autoCleanupOrphansEnabled, autoRenameBranchEnabled, autoRunAfterSetupEnabled, branchDisplayLabel, brightsyAdapter, brightsyCloudConnectAgent, brightsyCloudConnectEnabled, brightsyConfigPath, brightsyInjectWorktreeMcpEnabled, brightsyMcpAllowedTools, brightsyMcpServerName, buildCachedUserContent, buildClaudeStreamJsonUserMessage, buildDiffCommentAttachment, buildForkTranscriptAttachment, buildPastedTextAttachment, buildReviewRequestAttachment, buildSessionSeed, buildWorkspaceScriptEnv, caffeinateWhileCloudConnectEnabled, caffeinateWhileRunningEnabled, captureLoginEnv, captureTurnBaseline, checkoutPrStackLayer, childEnvWithAppSettings, claudeAdapter, claudeChromeEnabled, claudeUserSettingsPath, cleanupOrphanWorktrees, cloneRepoIntoSideboard, codexAdapter, coerceOrchestratorAgent, collectTakenTeamSlugs, commitAll, conductorBundledBinDir, conductorDbPath, confirmLand, connectBrightsyTeam, coordinatorSystemPrompt, coordinatorTurnReminder, copyConfiguredFiles, countCacheControlBlocks, createChatTab, createEmptyThread, createExistingBranchWorktree, createGlobalChat, createOrUpdatePr, createPrStack, createThread, createThreadWorktree, currentBranch, cursorAdapter, cursorSdkMessageToEvents, decodeBrightsyTarget, deleteBranchOnPurgeEnabled, deleteThreadRecord, detectAgents, detectGhStack, detectLocalMergeConflicts, disconnectBrightsyTeam, discoverSkills, dropCachedPrefixOnResume, encodeBrightsyTarget, enrichPathWithNpmGlobalBin, enrichWorkspacesWithGithub, ensureAgentPath, ensureCloudCoordinator, ensureGhPreferOrigin, ensureGlobalCoordinatorCwd, ensureReviewRequestFile, ensureWorkspace, estimateMessageChars, estimateThreadChars, expandComposerPrompt, extractGhErrorDetail, extractPendingPlanQuestions, extractPresentedPlan, extractiveSummary, fetchPrHead, finalizeParts, findInvalidCacheControlTtlOrder, findOrphanWorktrees, findThreadByRef, findThreadForStackLayer, flattenTurnInput, forkChatTab, forkMessageSlice, forkThreadWorktree, formatAgentInstructions, formatArtifactDirective, formatBrightsyFetchError, formatGhLandError, formatIpcInvokeError, formatMessagesAsTranscript, formatPlanQuestionAnswers, formatPlanQuestionsForChat, formatRateLimitResetHint, formatRenameBranchDirective, formatTranscriptMarkdown, formatWorkspaceInventory, formatWorktreeDirective, formatWorktreeReminder, getAdapter, getAgentSetupInfo, getBrightsySession, getDefaultAgent, getDefaultEffort, getDefaultFast, getDefaultModel, getDefaultRunScript, getDiff, getDiffSummary, getGitHubStatus, getIssueSource, getLinearApiKey, getOrchestrator, getPr, getPrChecks, getPrDetails, getPrMeta, getPrStack, getRepoSetupInfo, getRunMode, getRunScript, gh, ghHeadRef, ghRepoSelectArgs, git, globalAgentCwd, harnessEnvKey, hasConductorHook, hasCursorWorktreeSetup, hasRepoHook, hasWorkspaceHook, healOrchestrationSoccerTitles, importConductorWorkspace, importConductorWorkspaceAsync, initPrStack, initStackFromThread, initializeGitRepository, inspectGitWorktree, installAgent, isAskUserToolName, isBrightsyConnected, isBrightsyNdjsonLine, isCloudCoordinatorThread, isConductorBundledCli, isCursorAutoModel, isDirty, isGhRateLimitError, isGlobalRepoPath, isGlobalThread, isImageFilePath, isInPrStack, isLinearConnected, isOrchestratorCapableAgent, isOrchestratorThread, isPidAlive, isPlaceholderBranch, isPresentPlanToolName, isSessionQuotaLimit, isSideboardScratchPath, isThinkingEffort, isWorkspaceScratchPath, listAgentSetupInfo, listBranchCommits, listBranches, listBrightsyAccounts, listBrightsyChatTargets, listCodexModels, listConductorWorkspaces, listConnectedBrightsyTeams, listCursorModels, listGitHubIssues, listGlobalThreads, listIssues, listLinearIssues, listLinearIssuesDirect, listModelsForAgent, listOpencodeModels, listPrs, listRunScripts, listThreads, listWorkspaces, listWorktreeFiles, listWorktrees, loadAgentInstructions, loadAppSettings, loadBrightsyConfig, loadConductorSettings, loadRepoSettings, loadWorkspaceSettings, locksDir, loginAgent, lookupSoccerTeam, maxConcurrentAgents, maybeCompactContext, mcpAllowTools, mcpAuthWarnings, mergePr, mergePrStack, mergeUsage, nextPastedTextName, nextThinkingEffort, normalizeParseResult, normalizeThinkingEffort, normalizeThread, normalizeTurnInput, normalizeWorktreePath, openInSystemTerminal, openPrStackLayers, openStackLayer, opencodeAdapter, orchestrationQuotaFallbackAgent, orchestrationQuotaOnLimit, orchestrationTitleNeedsSoccerNickname, orchestratorSessionPoisonedByBuiltins, originGhRepoEnv, parseCursorRunnerLine, parseForceStopMessage, parseGhStackViewJson, parseGithubSlugFromRemoteUrl, parseMcpList, parsePlanQuestionsInput, parseSessionQuotaResetAt, partsToAssistantText, pastedTextStats, permissionMode, planFileAbs, posixShellSingleQuote, prepareTerminalCommand, previewLand, promptMentionsBrightsy, pushBranch, readExistingReviewRequestFile, readPlanFile, readSkillBody, readThread, readWorktreeFile, readWorktreeFileForUpload, readWorktreeInclude, refreshGitHubAuth, removeWorkspace, removeWorktree, repoSlug, requestReview, requireAgent, resetGhStackDetectCache, resolveAgentExecutable, resolveClaudeExecutable, resolveCommandBinarySync, resolveConductorCursorAgentId, resolveCursorModelId, resolveDefaultBranch, resolveDiffBaseRef, resolveEffectiveIssueSource, resolveFilesToCopy, resolveGhAuthToken, resolveGithubRepoSlug, resolveLoginCommand, resolveNewThreadOptions, resolvePlanMarkdown, resolvePrSelector, resolveQuotaFallbackAgent, resolveRepoRoot, resolveReviewGuidelines, resolveThreadDefaults, resolveThreadEffort, resolveWorktreeStartPoint, run, runArchiveScript, runCloudConnect, runCursorWorktreeSetup, runSetupScript, sameWorktreePath, sanitizeMcpServerName, saveAppSettings, setStatus, settingsSourceLabel, shouldAttachPastedText, shouldCompactContext, shouldInjectBrightsyMcp, shouldRefreshReviewRequestTemplate, shouldRunWorktreeCleanup, sideboardHomeDir, sideboardMcpProfile, sideboardReposDir, sideboardWorkspacesDir, slugify, spawnAgentTurn, splitForCompaction, stackAgentDefaultsFrom, stackIdFrom, stackMergeReadiness, stageAbsolutePathsAsAttachments, stageBuffersAsAttachments, startDevServer, startMcpServer, startOrchestration, stripBrightsyNdjsonNoise, submitPrStack, suggestSlug, summarizeConversation, switchBrightsyAccount, syncWorkspacesFromThreads, takenTeamSlugsForChatTab, takenTeamSlugsForOrchestration, taskMessageText, thinkingEffortBars, thinkingEffortLabel, threadDisplayLabel, threadFilePath, threadLockPath, threadRequestsBrightsyMcp, threadsDir, threadsSharingWorktree, toolDescription, toolDetail, toolFilePath, totalTokens, updateAdvancedSettings, updateAgentExecutable, updateAppEnvironment, updateBrightsySettings, updateClaudeSettings, updateCodexSettings, updateDefaultsSettings, updateIntegrationsSettings, updateOpencodeSettings, updateThread, validateLinearApiKey, withAgentInstructions, withExportedPath, withThreadLock, workspaceSettingsSourceLabel, worktreeCleanupSettings, worktreeDisplayLabel, worktreeDisplayLabelForGroup, worktreeNameFromPath, worktreesRoot, writeInjectedMcpConfig, writePlanFile, writeThread, writeWorktreeFile };
package/dist/index.d.ts CHANGED
@@ -1525,10 +1525,14 @@ declare function assertOrchestratorCapableAgent(agent: AgentKind, context?: stri
1525
1525
  /** Prefer a capable agent; fall back to Claude when the choice is unsupported. */
1526
1526
  declare function coerceOrchestratorAgent(agent: AgentKind | null | undefined, fallback?: OrchestratorAgentKind): OrchestratorAgentKind;
1527
1527
 
1528
+ /** Conductor-bundled Claude/Codex live here (not on a typical GUI PATH). */
1529
+ declare function conductorBundledBinDir(home?: string): string;
1530
+ declare function isConductorBundledCli(filePath: string | null | undefined): boolean;
1528
1531
  /**
1529
1532
  * Electron / GUI apps often inherit a minimal PATH that omits Homebrew and
1530
1533
  * user bin dirs where `claude` / `codex` / `opencode` / `brightsy` live. Call
1531
1534
  * once at process start (and before agent spawns) so adapters can resolve CLIs.
1535
+ * Also includes Conductor’s bundled `bin` (Claude/Codex) as a fallback.
1532
1536
  */
1533
1537
  declare function ensureAgentPath(env?: NodeJS.ProcessEnv): string;
1534
1538
  /**
@@ -1544,7 +1548,7 @@ declare function posixShellSingleQuote(value: string): string;
1544
1548
  * on the enriched Electron PATH.
1545
1549
  */
1546
1550
  declare function resolveCommandBinarySync(command: string, whichPath: string | null | undefined): string;
1547
- /** `export PATH='…'; <command>` so Terminal inherits Electron’s enriched PATH. */
1551
+ /** `export PATH='…' && <command>` so Terminal inherits Electron’s enriched PATH. */
1548
1552
  declare function withExportedPath(command: string, pathValue: string): string;
1549
1553
 
1550
1554
  type AgentSetupKind = 'cli' | 'api-key' | 'bundled-sdk';
@@ -3452,4 +3456,4 @@ declare function writeInjectedMcpConfig(opts: {
3452
3456
  includeBrightsy?: boolean;
3453
3457
  }): Promise<string | null>;
3454
3458
 
3455
- export { ATTACHMENTS_DIR, type ActiveRun, type AddStackLayerInput, type AdoptInput, type AdvancedAppSettings, type AgentAdapter, type AgentEvent, type AgentInstructionFile, type AgentKind, type AgentModelCatalog, 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, CLAUDE_MODEL_CATALOG, 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 CliAgentKind, type CliExecutableSettings, type CloudConnectAgent, type CloudConnectOptions, type CloudConnectStatus, type CompactResult, type CompactThresholds, type ComposerFileBuffer, type ConductorSettings, type ConductorWorkspace, type ConnectedBrightsyTeamInfo, type CreateChatTabInput, type CreateGlobalChatOpts, type CreateStackInput, type CreateThreadInput, type CreateWorktreeResult, type CursorModelInfo, type CursorSdkStreamMessage, type CursorTurnRequest, type CursorWorktreesConfig, type DefaultsAppSettings, 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 GhStackStatus, type GitHubStatus, type GitWorktreeStatus, HARNESS_ENV_KEYS, type HarnessId, type InitStackFromThreadInput, type IntegrationsSettings, type IpcApi, type IssueInfo, type IssueSource, LEGACY_ATTACHMENTS_DIR, LEGACY_PLAN_FILE_REL, LEGACY_REVIEW_REQUEST_PATH, type LandPreview, type LandResult, type ListIssuesResult, MAX_ANTHROPIC_CACHE_CONTROL_BLOCKS, type McpServerStatus, type MessagePart, ORCHESTRATOR_AGENT_KINDS, type OpenPrStackLayersInput, type OpenStackLayerInput, type OpenStackLayerResult, type OrchestrationQuotaOnLimit, Orchestrator, type OrchestratorAgentKind, type OrchestratorEvent, type OrchestratorRuntime, type OrphanWorktree, PASTE_ATTACH_MIN_CHARS, PASTE_ATTACH_MIN_LINES, PLAN_FILE_NAME, PLAN_FILE_REL, PLAN_MODE_INSTRUCTION, type PendingPlanQuestions, type PlanQuestion, type PlanQuestionAnswer, type PlanQuestionOption, type PlanToolPartLike, type PrActor, type PrCheckRun, type PrCommentInfo, type PrCommitInfo, type PrDetails, type PrInfo, type PrMeta, type PrReviewInfo, type PrStack, type PrStackLayer, type PresentedPlan, REPO_REVIEW_NAME, REPO_REVIEW_PATH, REVIEW_REQUEST_NAME, REVIEW_REQUEST_PATH, REVIEW_REQUEST_PREFILL, type RepoSettings, type RepoSetupInfo, type RequestReviewResult, type ResolvedReviewGuidelines, type ReviewGuidelinesSource, type RunMode, type RunScript, SIDEBOARD_FORCE_STOP, SIDEBOARD_MCP_ALLOWED_TOOLS, SIDEBOARD_MCP_PROFILE_ENV, type ScriptHandle, type SideboardMcpProfile, type SkillInfo, type SourceType, type SpawnTurnHandle, type SummarizeResult, THINKING_EFFORTS, type TeamName, type ThinkingEffort, type Thread, type ThreadAttachment, type ThreadMessage, type ThreadOptionsPatch, type ThreadStatus, type TokenUsage, type ToolPartLike, type TranscriptToolDetail, type TurnCommand, type Workspace, type WorkspaceInventoryEntry, type WorkspaceScriptEnvOpts, addPrStackLayer, addStackLayerFromThread, addWorkspace, adoptThread, allAdapters, allocatePort, allocatePortRange, allocateTeamName, allocateTeamSlug, appDataDir, appSettingsPath, appendMessage, applyAgentEvent, applyAppEnvironment, applyCompaction, applyThreadIntoMain, assertOrchestratorCapableAgent, attachmentFromAbsolutePath, attachmentsFromBuffers, attachmentsFromWorktreePaths, attachmentsGitignoreBody, autoArchiveOnMergeEnabled, autoCleanupOrphansEnabled, autoRenameBranchEnabled, autoRunAfterSetupEnabled, branchDisplayLabel, brightsyAdapter, brightsyCloudConnectAgent, brightsyCloudConnectEnabled, brightsyConfigPath, brightsyInjectWorktreeMcpEnabled, brightsyMcpAllowedTools, brightsyMcpServerName, buildCachedUserContent, buildClaudeStreamJsonUserMessage, buildDiffCommentAttachment, buildForkTranscriptAttachment, buildPastedTextAttachment, buildReviewRequestAttachment, buildSessionSeed, buildWorkspaceScriptEnv, caffeinateWhileCloudConnectEnabled, caffeinateWhileRunningEnabled, captureLoginEnv, captureTurnBaseline, checkoutPrStackLayer, childEnvWithAppSettings, claudeAdapter, claudeChromeEnabled, claudeUserSettingsPath, cleanupOrphanWorktrees, cloneRepoIntoSideboard, codexAdapter, coerceOrchestratorAgent, collectTakenTeamSlugs, commitAll, conductorDbPath, confirmLand, connectBrightsyTeam, coordinatorSystemPrompt, coordinatorTurnReminder, copyConfiguredFiles, countCacheControlBlocks, createChatTab, createEmptyThread, createExistingBranchWorktree, createGlobalChat, createOrUpdatePr, createPrStack, createThread, createThreadWorktree, currentBranch, cursorAdapter, cursorSdkMessageToEvents, decodeBrightsyTarget, deleteBranchOnPurgeEnabled, deleteThreadRecord, detectAgents, detectGhStack, detectLocalMergeConflicts, disconnectBrightsyTeam, discoverSkills, dropCachedPrefixOnResume, encodeBrightsyTarget, enrichPathWithNpmGlobalBin, enrichWorkspacesWithGithub, ensureAgentPath, ensureCloudCoordinator, ensureGhPreferOrigin, ensureGlobalCoordinatorCwd, ensureReviewRequestFile, ensureWorkspace, estimateMessageChars, estimateThreadChars, expandComposerPrompt, extractGhErrorDetail, extractPendingPlanQuestions, extractPresentedPlan, extractiveSummary, fetchPrHead, finalizeParts, findInvalidCacheControlTtlOrder, findOrphanWorktrees, findThreadByRef, findThreadForStackLayer, flattenTurnInput, forkChatTab, forkMessageSlice, forkThreadWorktree, formatAgentInstructions, formatArtifactDirective, formatBrightsyFetchError, formatGhLandError, formatIpcInvokeError, formatMessagesAsTranscript, formatPlanQuestionAnswers, formatPlanQuestionsForChat, formatRateLimitResetHint, formatRenameBranchDirective, formatTranscriptMarkdown, formatWorkspaceInventory, formatWorktreeDirective, formatWorktreeReminder, getAdapter, getAgentSetupInfo, getBrightsySession, getDefaultAgent, getDefaultEffort, getDefaultFast, getDefaultModel, getDefaultRunScript, getDiff, getDiffSummary, getGitHubStatus, getIssueSource, getLinearApiKey, getOrchestrator, getPr, getPrChecks, getPrDetails, getPrMeta, getPrStack, getRepoSetupInfo, getRunMode, getRunScript, gh, ghHeadRef, ghRepoSelectArgs, git, globalAgentCwd, harnessEnvKey, hasConductorHook, hasCursorWorktreeSetup, hasRepoHook, hasWorkspaceHook, healOrchestrationSoccerTitles, importConductorWorkspace, importConductorWorkspaceAsync, initPrStack, initStackFromThread, initializeGitRepository, inspectGitWorktree, installAgent, isAskUserToolName, isBrightsyConnected, isBrightsyNdjsonLine, isCloudCoordinatorThread, isCursorAutoModel, isDirty, isGhRateLimitError, isGlobalRepoPath, isGlobalThread, isImageFilePath, isInPrStack, isLinearConnected, isOrchestratorCapableAgent, isOrchestratorThread, isPidAlive, isPlaceholderBranch, isPresentPlanToolName, isSessionQuotaLimit, isSideboardScratchPath, isThinkingEffort, isWorkspaceScratchPath, listAgentSetupInfo, listBranchCommits, listBranches, listBrightsyAccounts, listBrightsyChatTargets, listCodexModels, listConductorWorkspaces, listConnectedBrightsyTeams, listCursorModels, listGitHubIssues, listGlobalThreads, listIssues, listLinearIssues, listLinearIssuesDirect, listModelsForAgent, listOpencodeModels, listPrs, listRunScripts, listThreads, listWorkspaces, listWorktreeFiles, listWorktrees, loadAgentInstructions, loadAppSettings, loadBrightsyConfig, loadConductorSettings, loadRepoSettings, loadWorkspaceSettings, locksDir, loginAgent, lookupSoccerTeam, maxConcurrentAgents, maybeCompactContext, mcpAllowTools, mcpAuthWarnings, mergePr, mergePrStack, mergeUsage, nextPastedTextName, nextThinkingEffort, normalizeParseResult, normalizeThinkingEffort, normalizeThread, normalizeTurnInput, normalizeWorktreePath, openInSystemTerminal, openPrStackLayers, openStackLayer, opencodeAdapter, orchestrationQuotaFallbackAgent, orchestrationQuotaOnLimit, orchestrationTitleNeedsSoccerNickname, orchestratorSessionPoisonedByBuiltins, originGhRepoEnv, parseCursorRunnerLine, parseForceStopMessage, parseGhStackViewJson, parseGithubSlugFromRemoteUrl, parseMcpList, parsePlanQuestionsInput, parseSessionQuotaResetAt, partsToAssistantText, pastedTextStats, permissionMode, planFileAbs, posixShellSingleQuote, prepareTerminalCommand, previewLand, promptMentionsBrightsy, pushBranch, readExistingReviewRequestFile, readPlanFile, readSkillBody, readThread, readWorktreeFile, readWorktreeFileForUpload, readWorktreeInclude, refreshGitHubAuth, removeWorkspace, removeWorktree, repoSlug, requestReview, requireAgent, resetGhStackDetectCache, resolveAgentExecutable, resolveClaudeExecutable, resolveCommandBinarySync, resolveConductorCursorAgentId, resolveCursorModelId, resolveDefaultBranch, resolveDiffBaseRef, resolveEffectiveIssueSource, resolveFilesToCopy, resolveGhAuthToken, resolveGithubRepoSlug, resolveLoginCommand, resolveNewThreadOptions, resolvePlanMarkdown, resolvePrSelector, resolveQuotaFallbackAgent, resolveRepoRoot, resolveReviewGuidelines, resolveThreadDefaults, resolveThreadEffort, resolveWorktreeStartPoint, run, runArchiveScript, runCloudConnect, runCursorWorktreeSetup, runSetupScript, sameWorktreePath, sanitizeMcpServerName, saveAppSettings, setStatus, settingsSourceLabel, shouldAttachPastedText, shouldCompactContext, shouldInjectBrightsyMcp, shouldRefreshReviewRequestTemplate, shouldRunWorktreeCleanup, sideboardHomeDir, sideboardMcpProfile, sideboardReposDir, sideboardWorkspacesDir, slugify, spawnAgentTurn, splitForCompaction, stackAgentDefaultsFrom, stackIdFrom, stackMergeReadiness, stageAbsolutePathsAsAttachments, stageBuffersAsAttachments, startDevServer, startMcpServer, startOrchestration, stripBrightsyNdjsonNoise, submitPrStack, suggestSlug, summarizeConversation, switchBrightsyAccount, syncWorkspacesFromThreads, takenTeamSlugsForChatTab, takenTeamSlugsForOrchestration, taskMessageText, thinkingEffortBars, thinkingEffortLabel, threadDisplayLabel, threadFilePath, threadLockPath, threadRequestsBrightsyMcp, threadsDir, threadsSharingWorktree, toolDescription, toolDetail, toolFilePath, totalTokens, updateAdvancedSettings, updateAgentExecutable, updateAppEnvironment, updateBrightsySettings, updateClaudeSettings, updateCodexSettings, updateDefaultsSettings, updateIntegrationsSettings, updateOpencodeSettings, updateThread, validateLinearApiKey, withAgentInstructions, withExportedPath, withThreadLock, workspaceSettingsSourceLabel, worktreeCleanupSettings, worktreeDisplayLabel, worktreeDisplayLabelForGroup, worktreeNameFromPath, worktreesRoot, writeInjectedMcpConfig, writePlanFile, writeThread, writeWorktreeFile };
3459
+ export { ATTACHMENTS_DIR, type ActiveRun, type AddStackLayerInput, type AdoptInput, type AdvancedAppSettings, type AgentAdapter, type AgentEvent, type AgentInstructionFile, type AgentKind, type AgentModelCatalog, 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, CLAUDE_MODEL_CATALOG, 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 CliAgentKind, type CliExecutableSettings, type CloudConnectAgent, type CloudConnectOptions, type CloudConnectStatus, type CompactResult, type CompactThresholds, type ComposerFileBuffer, type ConductorSettings, type ConductorWorkspace, type ConnectedBrightsyTeamInfo, type CreateChatTabInput, type CreateGlobalChatOpts, type CreateStackInput, type CreateThreadInput, type CreateWorktreeResult, type CursorModelInfo, type CursorSdkStreamMessage, type CursorTurnRequest, type CursorWorktreesConfig, type DefaultsAppSettings, 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 GhStackStatus, type GitHubStatus, type GitWorktreeStatus, HARNESS_ENV_KEYS, type HarnessId, type InitStackFromThreadInput, type IntegrationsSettings, type IpcApi, type IssueInfo, type IssueSource, LEGACY_ATTACHMENTS_DIR, LEGACY_PLAN_FILE_REL, LEGACY_REVIEW_REQUEST_PATH, type LandPreview, type LandResult, type ListIssuesResult, MAX_ANTHROPIC_CACHE_CONTROL_BLOCKS, type McpServerStatus, type MessagePart, ORCHESTRATOR_AGENT_KINDS, type OpenPrStackLayersInput, type OpenStackLayerInput, type OpenStackLayerResult, type OrchestrationQuotaOnLimit, Orchestrator, type OrchestratorAgentKind, type OrchestratorEvent, type OrchestratorRuntime, type OrphanWorktree, PASTE_ATTACH_MIN_CHARS, PASTE_ATTACH_MIN_LINES, PLAN_FILE_NAME, PLAN_FILE_REL, PLAN_MODE_INSTRUCTION, type PendingPlanQuestions, type PlanQuestion, type PlanQuestionAnswer, type PlanQuestionOption, type PlanToolPartLike, type PrActor, type PrCheckRun, type PrCommentInfo, type PrCommitInfo, type PrDetails, type PrInfo, type PrMeta, type PrReviewInfo, type PrStack, type PrStackLayer, type PresentedPlan, REPO_REVIEW_NAME, REPO_REVIEW_PATH, REVIEW_REQUEST_NAME, REVIEW_REQUEST_PATH, REVIEW_REQUEST_PREFILL, type RepoSettings, type RepoSetupInfo, type RequestReviewResult, type ResolvedReviewGuidelines, type ReviewGuidelinesSource, type RunMode, type RunScript, SIDEBOARD_FORCE_STOP, SIDEBOARD_MCP_ALLOWED_TOOLS, SIDEBOARD_MCP_PROFILE_ENV, type ScriptHandle, type SideboardMcpProfile, type SkillInfo, type SourceType, type SpawnTurnHandle, type SummarizeResult, THINKING_EFFORTS, type TeamName, type ThinkingEffort, type Thread, type ThreadAttachment, type ThreadMessage, type ThreadOptionsPatch, type ThreadStatus, type TokenUsage, type ToolPartLike, type TranscriptToolDetail, type TurnCommand, type Workspace, type WorkspaceInventoryEntry, type WorkspaceScriptEnvOpts, addPrStackLayer, addStackLayerFromThread, addWorkspace, adoptThread, allAdapters, allocatePort, allocatePortRange, allocateTeamName, allocateTeamSlug, appDataDir, appSettingsPath, appendMessage, applyAgentEvent, applyAppEnvironment, applyCompaction, applyThreadIntoMain, assertOrchestratorCapableAgent, attachmentFromAbsolutePath, attachmentsFromBuffers, attachmentsFromWorktreePaths, attachmentsGitignoreBody, autoArchiveOnMergeEnabled, autoCleanupOrphansEnabled, autoRenameBranchEnabled, autoRunAfterSetupEnabled, branchDisplayLabel, brightsyAdapter, brightsyCloudConnectAgent, brightsyCloudConnectEnabled, brightsyConfigPath, brightsyInjectWorktreeMcpEnabled, brightsyMcpAllowedTools, brightsyMcpServerName, buildCachedUserContent, buildClaudeStreamJsonUserMessage, buildDiffCommentAttachment, buildForkTranscriptAttachment, buildPastedTextAttachment, buildReviewRequestAttachment, buildSessionSeed, buildWorkspaceScriptEnv, caffeinateWhileCloudConnectEnabled, caffeinateWhileRunningEnabled, captureLoginEnv, captureTurnBaseline, checkoutPrStackLayer, childEnvWithAppSettings, claudeAdapter, claudeChromeEnabled, claudeUserSettingsPath, cleanupOrphanWorktrees, cloneRepoIntoSideboard, codexAdapter, coerceOrchestratorAgent, collectTakenTeamSlugs, commitAll, conductorBundledBinDir, conductorDbPath, confirmLand, connectBrightsyTeam, coordinatorSystemPrompt, coordinatorTurnReminder, copyConfiguredFiles, countCacheControlBlocks, createChatTab, createEmptyThread, createExistingBranchWorktree, createGlobalChat, createOrUpdatePr, createPrStack, createThread, createThreadWorktree, currentBranch, cursorAdapter, cursorSdkMessageToEvents, decodeBrightsyTarget, deleteBranchOnPurgeEnabled, deleteThreadRecord, detectAgents, detectGhStack, detectLocalMergeConflicts, disconnectBrightsyTeam, discoverSkills, dropCachedPrefixOnResume, encodeBrightsyTarget, enrichPathWithNpmGlobalBin, enrichWorkspacesWithGithub, ensureAgentPath, ensureCloudCoordinator, ensureGhPreferOrigin, ensureGlobalCoordinatorCwd, ensureReviewRequestFile, ensureWorkspace, estimateMessageChars, estimateThreadChars, expandComposerPrompt, extractGhErrorDetail, extractPendingPlanQuestions, extractPresentedPlan, extractiveSummary, fetchPrHead, finalizeParts, findInvalidCacheControlTtlOrder, findOrphanWorktrees, findThreadByRef, findThreadForStackLayer, flattenTurnInput, forkChatTab, forkMessageSlice, forkThreadWorktree, formatAgentInstructions, formatArtifactDirective, formatBrightsyFetchError, formatGhLandError, formatIpcInvokeError, formatMessagesAsTranscript, formatPlanQuestionAnswers, formatPlanQuestionsForChat, formatRateLimitResetHint, formatRenameBranchDirective, formatTranscriptMarkdown, formatWorkspaceInventory, formatWorktreeDirective, formatWorktreeReminder, getAdapter, getAgentSetupInfo, getBrightsySession, getDefaultAgent, getDefaultEffort, getDefaultFast, getDefaultModel, getDefaultRunScript, getDiff, getDiffSummary, getGitHubStatus, getIssueSource, getLinearApiKey, getOrchestrator, getPr, getPrChecks, getPrDetails, getPrMeta, getPrStack, getRepoSetupInfo, getRunMode, getRunScript, gh, ghHeadRef, ghRepoSelectArgs, git, globalAgentCwd, harnessEnvKey, hasConductorHook, hasCursorWorktreeSetup, hasRepoHook, hasWorkspaceHook, healOrchestrationSoccerTitles, importConductorWorkspace, importConductorWorkspaceAsync, initPrStack, initStackFromThread, initializeGitRepository, inspectGitWorktree, installAgent, isAskUserToolName, isBrightsyConnected, isBrightsyNdjsonLine, isCloudCoordinatorThread, isConductorBundledCli, isCursorAutoModel, isDirty, isGhRateLimitError, isGlobalRepoPath, isGlobalThread, isImageFilePath, isInPrStack, isLinearConnected, isOrchestratorCapableAgent, isOrchestratorThread, isPidAlive, isPlaceholderBranch, isPresentPlanToolName, isSessionQuotaLimit, isSideboardScratchPath, isThinkingEffort, isWorkspaceScratchPath, listAgentSetupInfo, listBranchCommits, listBranches, listBrightsyAccounts, listBrightsyChatTargets, listCodexModels, listConductorWorkspaces, listConnectedBrightsyTeams, listCursorModels, listGitHubIssues, listGlobalThreads, listIssues, listLinearIssues, listLinearIssuesDirect, listModelsForAgent, listOpencodeModels, listPrs, listRunScripts, listThreads, listWorkspaces, listWorktreeFiles, listWorktrees, loadAgentInstructions, loadAppSettings, loadBrightsyConfig, loadConductorSettings, loadRepoSettings, loadWorkspaceSettings, locksDir, loginAgent, lookupSoccerTeam, maxConcurrentAgents, maybeCompactContext, mcpAllowTools, mcpAuthWarnings, mergePr, mergePrStack, mergeUsage, nextPastedTextName, nextThinkingEffort, normalizeParseResult, normalizeThinkingEffort, normalizeThread, normalizeTurnInput, normalizeWorktreePath, openInSystemTerminal, openPrStackLayers, openStackLayer, opencodeAdapter, orchestrationQuotaFallbackAgent, orchestrationQuotaOnLimit, orchestrationTitleNeedsSoccerNickname, orchestratorSessionPoisonedByBuiltins, originGhRepoEnv, parseCursorRunnerLine, parseForceStopMessage, parseGhStackViewJson, parseGithubSlugFromRemoteUrl, parseMcpList, parsePlanQuestionsInput, parseSessionQuotaResetAt, partsToAssistantText, pastedTextStats, permissionMode, planFileAbs, posixShellSingleQuote, prepareTerminalCommand, previewLand, promptMentionsBrightsy, pushBranch, readExistingReviewRequestFile, readPlanFile, readSkillBody, readThread, readWorktreeFile, readWorktreeFileForUpload, readWorktreeInclude, refreshGitHubAuth, removeWorkspace, removeWorktree, repoSlug, requestReview, requireAgent, resetGhStackDetectCache, resolveAgentExecutable, resolveClaudeExecutable, resolveCommandBinarySync, resolveConductorCursorAgentId, resolveCursorModelId, resolveDefaultBranch, resolveDiffBaseRef, resolveEffectiveIssueSource, resolveFilesToCopy, resolveGhAuthToken, resolveGithubRepoSlug, resolveLoginCommand, resolveNewThreadOptions, resolvePlanMarkdown, resolvePrSelector, resolveQuotaFallbackAgent, resolveRepoRoot, resolveReviewGuidelines, resolveThreadDefaults, resolveThreadEffort, resolveWorktreeStartPoint, run, runArchiveScript, runCloudConnect, runCursorWorktreeSetup, runSetupScript, sameWorktreePath, sanitizeMcpServerName, saveAppSettings, setStatus, settingsSourceLabel, shouldAttachPastedText, shouldCompactContext, shouldInjectBrightsyMcp, shouldRefreshReviewRequestTemplate, shouldRunWorktreeCleanup, sideboardHomeDir, sideboardMcpProfile, sideboardReposDir, sideboardWorkspacesDir, slugify, spawnAgentTurn, splitForCompaction, stackAgentDefaultsFrom, stackIdFrom, stackMergeReadiness, stageAbsolutePathsAsAttachments, stageBuffersAsAttachments, startDevServer, startMcpServer, startOrchestration, stripBrightsyNdjsonNoise, submitPrStack, suggestSlug, summarizeConversation, switchBrightsyAccount, syncWorkspacesFromThreads, takenTeamSlugsForChatTab, takenTeamSlugsForOrchestration, taskMessageText, thinkingEffortBars, thinkingEffortLabel, threadDisplayLabel, threadFilePath, threadLockPath, threadRequestsBrightsyMcp, threadsDir, threadsSharingWorktree, toolDescription, toolDetail, toolFilePath, totalTokens, updateAdvancedSettings, updateAgentExecutable, updateAppEnvironment, updateBrightsySettings, updateClaudeSettings, updateCodexSettings, updateDefaultsSettings, updateIntegrationsSettings, updateOpencodeSettings, updateThread, validateLinearApiKey, withAgentInstructions, withExportedPath, withThreadLock, workspaceSettingsSourceLabel, worktreeCleanupSettings, worktreeDisplayLabel, worktreeDisplayLabelForGroup, worktreeNameFromPath, worktreesRoot, writeInjectedMcpConfig, writePlanFile, writeThread, writeWorktreeFile };
package/dist/index.js CHANGED
@@ -4,7 +4,7 @@ import {
4
4
  listWorkspaces,
5
5
  removeWorkspace,
6
6
  syncWorkspacesFromThreads
7
- } from "./chunk-PESJDZTB.js";
7
+ } from "./chunk-WAFIF22N.js";
8
8
  import {
9
9
  BRIGHTSY_MCP_ALLOWED_TOOLS,
10
10
  CLAUDE_MODEL_CATALOG,
@@ -58,7 +58,7 @@ import {
58
58
  sideboardMcpProfile,
59
59
  threadRequestsBrightsyMcp,
60
60
  writeInjectedMcpConfig
61
- } from "./chunk-IFAU2DEY.js";
61
+ } from "./chunk-B4PRRKMA.js";
62
62
  import {
63
63
  CLOUD_COORDINATOR_BUSY_REPLY,
64
64
  CLOUD_COORDINATOR_STOPPED_REPLY,
@@ -82,7 +82,7 @@ import {
82
82
  orchestratorSessionPoisonedByBuiltins,
83
83
  parseForceStopMessage,
84
84
  takenTeamSlugsForOrchestration
85
- } from "./chunk-YTNLOJPK.js";
85
+ } from "./chunk-7ZOQY4A7.js";
86
86
  import {
87
87
  brightsyConfigPath,
88
88
  brightsyMcpServerName,
@@ -94,7 +94,7 @@ import {
94
94
  loadBrightsyConfig,
95
95
  saveBrightsyConfig,
96
96
  switchBrightsyAccount
97
- } from "./chunk-DZYMNW2A.js";
97
+ } from "./chunk-DB3I75FI.js";
98
98
  import {
99
99
  LEGACY_PLAN_FILE_REL,
100
100
  PLAN_FILE_NAME,
@@ -124,7 +124,7 @@ import {
124
124
  enrichWorkspacesWithGithub,
125
125
  ensureGlobalCoordinatorCwd,
126
126
  formatWorkspaceInventory
127
- } from "./chunk-AKPEXIKK.js";
127
+ } from "./chunk-ZRFAZVGL.js";
128
128
  import {
129
129
  HARNESS_ENV_KEYS,
130
130
  appSettingsPath,
@@ -232,7 +232,7 @@ import {
232
232
  worktreeDisplayLabel,
233
233
  worktreeDisplayLabelForGroup,
234
234
  worktreeNameFromPath
235
- } from "./chunk-R7GUDEPY.js";
235
+ } from "./chunk-4BUCGNZS.js";
236
236
  import {
237
237
  ATTACHMENTS_DIR,
238
238
  LEGACY_ATTACHMENTS_DIR,
@@ -284,16 +284,18 @@ import {
284
284
  worktreesRoot
285
285
  } from "./chunk-M37RITA6.js";
286
286
  import {
287
+ conductorBundledBinDir,
287
288
  enrichPathWithNpmGlobalBin,
288
289
  ensureAgentPath,
289
290
  gh,
290
291
  git,
292
+ isConductorBundledCli,
291
293
  posixShellSingleQuote,
292
294
  resolveCommandBinarySync,
293
295
  resolveGhAuthToken,
294
296
  run,
295
297
  withExportedPath
296
- } from "./chunk-TXQ6K2GR.js";
298
+ } from "./chunk-4UIYN56C.js";
297
299
 
298
300
  // src/integrations/github.ts
299
301
  async function getGitHubStatus() {
@@ -722,9 +724,9 @@ async function spawnAgentTurn(thread, input, onEvent) {
722
724
  `Cannot spawn ${thread.agent}: thread ${thread.id} has no worktreePath`
723
725
  );
724
726
  }
725
- const { isGlobalThread: isGlobalThread2 } = await import("./global-workspace-44UG64NA.js");
727
+ const { isGlobalThread: isGlobalThread2 } = await import("./global-workspace-QS7A23CB.js");
726
728
  if (isGlobalThread2(thread)) {
727
- const { ensureGlobalCoordinatorCwd: ensureGlobalCoordinatorCwd2 } = await import("./coordinator-prompt-ILSULI7C.js");
729
+ const { ensureGlobalCoordinatorCwd: ensureGlobalCoordinatorCwd2 } = await import("./coordinator-prompt-3BSMKZL4.js");
728
730
  ensureGlobalCoordinatorCwd2(
729
731
  isOrchestratorThread(thread) ? { orchestratorThreadId: thread.id } : void 0
730
732
  );
@@ -2862,7 +2864,7 @@ async function previewLand(thread) {
2862
2864
  const target = await resolveDefaultBranch(thread.repoPath);
2863
2865
  if (thread.branchName === target || thread.branchName === "main" || thread.branchName === "master") {
2864
2866
  }
2865
- const { stdout: head } = await import("./run-JLN5JK7Q.js").then(
2867
+ const { stdout: head } = await import("./run-JLD2Y52J.js").then(
2866
2868
  ({ git: git2 }) => git2(["rev-parse", "--abbrev-ref", "HEAD"], thread.worktreePath)
2867
2869
  );
2868
2870
  const current = head.trim();
@@ -2901,7 +2903,7 @@ async function confirmLand(thread, opts) {
2901
2903
  if (preview.dirty) {
2902
2904
  committed = await commitAll(thread.worktreePath, meta.commitMessage);
2903
2905
  }
2904
- const { git: git2 } = await import("./run-JLN5JK7Q.js");
2906
+ const { git: git2 } = await import("./run-JLD2Y52J.js");
2905
2907
  const { stdout: headOut } = await git2(
2906
2908
  ["rev-parse", "--abbrev-ref", "HEAD"],
2907
2909
  thread.worktreePath,
@@ -2999,7 +3001,7 @@ async function createThread(input, _onSetupLine) {
2999
3001
  return readThread(thread.id) ?? thread;
3000
3002
  }
3001
3003
  async function listLinearIssues(agent, repoPath) {
3002
- const { getAdapter: getAdapter2 } = await import("./agents-EWFD765A.js");
3004
+ const { getAdapter: getAdapter2 } = await import("./agents-TS3EI2YI.js");
3003
3005
  await requireAgent(agent, { requireLinear: true });
3004
3006
  const adapter = getAdapter2(agent);
3005
3007
  if (!adapter.listLinearIssues) {
@@ -3527,7 +3529,7 @@ async function adoptThread(input) {
3527
3529
  throw new Error(`Worktree not found: ${input.worktreePath}`);
3528
3530
  }
3529
3531
  const repoPath = await resolveRepoRoot(input.worktreePath);
3530
- const { stdout: branch } = await import("./run-JLN5JK7Q.js").then(
3532
+ const { stdout: branch } = await import("./run-JLD2Y52J.js").then(
3531
3533
  ({ git: git2 }) => git2(["rev-parse", "--abbrev-ref", "HEAD"], input.worktreePath)
3532
3534
  );
3533
3535
  const thread = createEmptyThread({
@@ -3542,7 +3544,7 @@ async function adoptThread(input) {
3542
3544
  messages: input.messages ?? []
3543
3545
  });
3544
3546
  writeThread(thread);
3545
- const { ensureWorkspace: ensureWorkspace2 } = await import("./workspaces-OVBCSS5Y.js");
3547
+ const { ensureWorkspace: ensureWorkspace2 } = await import("./workspaces-EBFW7I7S.js");
3546
3548
  await ensureWorkspace2(repoPath);
3547
3549
  return thread;
3548
3550
  }
@@ -5836,7 +5838,7 @@ var Orchestrator = class {
5836
5838
  this.emit({ type: "status_changed", threadId: archived.id, status: "archived" });
5837
5839
  if (thread.repoPath && !isGlobalRepoPath(thread.repoPath)) {
5838
5840
  try {
5839
- const { ensureWorkspace: ensureWorkspace2 } = await import("./workspaces-OVBCSS5Y.js");
5841
+ const { ensureWorkspace: ensureWorkspace2 } = await import("./workspaces-EBFW7I7S.js");
5840
5842
  await ensureWorkspace2(thread.repoPath);
5841
5843
  } catch {
5842
5844
  }
@@ -5878,7 +5880,7 @@ var Orchestrator = class {
5878
5880
  return restored2;
5879
5881
  }
5880
5882
  if (!existsSync13(thread.worktreePath)) {
5881
- const { createThreadWorktree: createThreadWorktree2 } = await import("./worktree-K2JB53R5.js");
5883
+ const { createThreadWorktree: createThreadWorktree2 } = await import("./worktree-7NBPIVFZ.js");
5882
5884
  const { execa: execa6 } = await import("execa");
5883
5885
  const slug = thread.worktreePath.split("/").pop();
5884
5886
  const dest = thread.worktreePath;
@@ -5987,7 +5989,7 @@ async function startOrchestration(opts) {
5987
5989
  sourceRef: "default",
5988
5990
  ...createOpts
5989
5991
  }).catch(async () => {
5990
- const { resolveDefaultBranch: resolveDefaultBranch2, resolveRepoRoot: resolveRepoRoot2 } = await import("./worktree-K2JB53R5.js");
5992
+ const { resolveDefaultBranch: resolveDefaultBranch2, resolveRepoRoot: resolveRepoRoot2 } = await import("./worktree-7NBPIVFZ.js");
5991
5993
  const repo = await resolveRepoRoot2(repoPath);
5992
5994
  const def = await resolveDefaultBranch2(repo);
5993
5995
  return createThread({
@@ -7507,6 +7509,7 @@ export {
7507
7509
  coerceOrchestratorAgent,
7508
7510
  collectTakenTeamSlugs,
7509
7511
  commitAll,
7512
+ conductorBundledBinDir,
7510
7513
  conductorDbPath,
7511
7514
  confirmLand,
7512
7515
  connectBrightsyTeam,
@@ -7618,6 +7621,7 @@ export {
7618
7621
  isBrightsyConnected,
7619
7622
  isBrightsyNdjsonLine,
7620
7623
  isCloudCoordinatorThread,
7624
+ isConductorBundledCli,
7621
7625
  isCursorAutoModel,
7622
7626
  isDirty,
7623
7627
  isGhRateLimitError,
@@ -1517,6 +1517,13 @@ function prependPathDir(env, dir) {
1517
1517
  }
1518
1518
  env.PATH = [dir, ...parts].join(import_node_path4.delimiter);
1519
1519
  }
1520
+ function conductorBundledBinDir(home = process.env.HOME || process.env.USERPROFILE || (0, import_node_os3.homedir)()) {
1521
+ return (0, import_node_path4.join)(home, "Library", "Application Support", "com.conductor.app", "bin");
1522
+ }
1523
+ function isConductorBundledCli(filePath) {
1524
+ const p = (filePath ?? "").replace(/\\/g, "/");
1525
+ return p.includes("/com.conductor.app/bin/") || p.endsWith("/com.conductor.app/bin");
1526
+ }
1520
1527
  function ensureAgentPath(env = process.env) {
1521
1528
  const home = env.HOME || env.USERPROFILE || (0, import_node_os3.homedir)();
1522
1529
  const current = env.PATH ?? "";
@@ -1525,7 +1532,9 @@ function ensureAgentPath(env = process.env) {
1525
1532
  const extras = [
1526
1533
  ...EXTRA_BIN_DIRS.map((rel) => (0, import_node_path4.join)(home, rel)),
1527
1534
  "/opt/homebrew/bin",
1528
- "/usr/local/bin"
1535
+ "/usr/local/bin",
1536
+ // Keep after Homebrew/npm so a user-installed CLI still wins.
1537
+ conductorBundledBinDir(home)
1529
1538
  ];
1530
1539
  for (const dir of extras.reverse()) {
1531
1540
  if (!dir || seen.has(dir) || !(0, import_node_fs4.existsSync)(dir)) continue;
@@ -1572,7 +1581,7 @@ function withExportedPath(command, pathValue) {
1572
1581
  const trimmed = command.trim();
1573
1582
  if (!trimmed) return trimmed;
1574
1583
  if (/^(export\s+PATH=|PATH=)/.test(trimmed)) return trimmed;
1575
- return `export PATH=${posixShellSingleQuote(pathValue)}; ${trimmed}`;
1584
+ return `export PATH=${posixShellSingleQuote(pathValue)} && ${trimmed}`;
1576
1585
  }
1577
1586
  var import_node_fs4, import_node_child_process, import_node_os3, import_node_path4, EXTRA_BIN_DIRS;
1578
1587
  var init_path = __esm({
@@ -6657,6 +6666,11 @@ async function openInSystemTerminal(command) {
6657
6666
  `No terminal found to run: ${trimmed}. Install gnome-terminal (or similar), or run the command manually.`
6658
6667
  );
6659
6668
  }
6669
+ async function whichCli(bin) {
6670
+ const which = await run("which", [bin], { reject: false, timeoutMs: 3e3 });
6671
+ if (which.exitCode !== 0) return null;
6672
+ return which.stdout.trim().split(/\r?\n/).find(Boolean) ?? null;
6673
+ }
6660
6674
  async function installAgent(agent) {
6661
6675
  const info = getAgentSetupInfo(agent);
6662
6676
  if (info.kind === "bundled-sdk" || info.kind === "api-key") {
@@ -6678,6 +6692,17 @@ async function installAgent(agent) {
6678
6692
  };
6679
6693
  }
6680
6694
  enrichPathWithNpmGlobalBin();
6695
+ const cliBin = agent === "cursor" ? null : CLI_BIN[agent];
6696
+ if (cliBin) {
6697
+ const existing = await whichCli(cliBin);
6698
+ if (existing) {
6699
+ return {
6700
+ ok: true,
6701
+ command: existing,
6702
+ message: isConductorBundledCli(existing) ? `Using Conductor\u2019s ${cliBin} at ${existing}. No extra install \u2014 Log in only if auth is missing.` : `Already on PATH: ${existing}`
6703
+ };
6704
+ }
6705
+ }
6681
6706
  const result = await run("npm", ["install", "-g", info.npmPackage], { reject: false });
6682
6707
  const ok = result.exitCode === 0;
6683
6708
  if (!ok) {
@@ -6704,11 +6729,9 @@ async function installAgent(agent) {
6704
6729
  }
6705
6730
  }
6706
6731
  enrichPathWithNpmGlobalBin();
6707
- const cliBin = agent === "cursor" ? null : CLI_BIN[agent];
6708
6732
  let binPath = null;
6709
6733
  if (cliBin) {
6710
- const which = await run("which", [cliBin], { reject: false, timeoutMs: 3e3 });
6711
- binPath = which.exitCode === 0 ? which.stdout.trim().split(/\r?\n/).find(Boolean) ?? null : null;
6734
+ binPath = await whichCli(cliBin);
6712
6735
  }
6713
6736
  return {
6714
6737
  ok: true,
@@ -6818,6 +6841,7 @@ __export(agents_exports, {
6818
6841
  claudeAdapter: () => claudeAdapter,
6819
6842
  codexAdapter: () => codexAdapter,
6820
6843
  coerceOrchestratorAgent: () => coerceOrchestratorAgent,
6844
+ conductorBundledBinDir: () => conductorBundledBinDir,
6821
6845
  cursorAdapter: () => cursorAdapter,
6822
6846
  cursorSdkMessageToEvents: () => cursorSdkMessageToEvents,
6823
6847
  decodeBrightsyTarget: () => decodeBrightsyTarget,
@@ -6827,6 +6851,7 @@ __export(agents_exports, {
6827
6851
  getAdapter: () => getAdapter,
6828
6852
  getAgentSetupInfo: () => getAgentSetupInfo,
6829
6853
  installAgent: () => installAgent,
6854
+ isConductorBundledCli: () => isConductorBundledCli,
6830
6855
  isCursorAutoModel: () => isCursorAutoModel,
6831
6856
  isOrchestratorCapableAgent: () => isOrchestratorCapableAgent,
6832
6857
  isSessionQuotaLimit: () => isSessionQuotaLimit,