@sideboard-ai/core 0.1.285 → 0.1.287

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 (27) hide show
  1. package/dist/{agents-ITNCZ6CA.js → agents-D3PU4UCP.js} +2 -2
  2. package/dist/{agents-FKMYAKFD.js → agents-KU4QPB3Y.js} +2 -2
  3. package/dist/{chunk-2SJXQ4UX.js → chunk-KLAQ4G34.js} +45 -1
  4. package/dist/{chunk-BMUVNTT4.js → chunk-L65YT2SC.js} +2 -2
  5. package/dist/{chunk-C6NVTLZK.js → chunk-LKVP7JCB.js} +14 -13
  6. package/dist/{chunk-2K723QZH.js → chunk-QPBR5SAL.js} +13 -12
  7. package/dist/{chunk-LMWPVC5L.js → chunk-RFPMTOV2.js} +2 -2
  8. package/dist/{chunk-TXHZJESB.js → chunk-UFJLNCOF.js} +2 -2
  9. package/dist/{chunk-XSPOJFTV.js → chunk-Z3EE3PUZ.js} +2 -2
  10. package/dist/{chunk-WY2IAB7J.js → chunk-ZGAMETNF.js} +45 -1
  11. package/dist/{conductor-MU3TYVCD.js → conductor-FOKYVMUE.js} +2 -2
  12. package/dist/{conductor-GBX6LSP2.js → conductor-KDUL6AMD.js} +2 -2
  13. package/dist/{coordinator-prompt-4DJIHSE6.js → coordinator-prompt-GU5PGLG6.js} +1 -1
  14. package/dist/{coordinator-prompt-SVVGU6AZ.js → coordinator-prompt-YARYX53V.js} +1 -1
  15. package/dist/{global-workspace-XON4YZXE.js → global-workspace-C5HMC66E.js} +1 -1
  16. package/dist/{global-workspace-UPUDWIS6.js → global-workspace-SMCPOWE5.js} +1 -1
  17. package/dist/index.cjs +91 -43
  18. package/dist/index.d.cts +11 -1
  19. package/dist/index.d.ts +11 -1
  20. package/dist/index.js +10 -6
  21. package/dist/mcp/run-stdio.cjs +85 -41
  22. package/dist/mcp/run-stdio.js +4 -4
  23. package/dist/{orchestrator-F7KXYDQW.js → orchestrator-2UAVOXTN.js} +4 -4
  24. package/dist/{orchestrator-VUIRO6NC.js → orchestrator-NWKE56BW.js} +4 -4
  25. package/dist/{workspaces-7AJ5RZ3P.js → workspaces-DQMDCRB2.js} +5 -1
  26. package/dist/{workspaces-F76BWCSI.js → workspaces-KHQ5ETSQ.js} +5 -1
  27. package/package.json +1 -1
package/dist/index.d.ts CHANGED
@@ -1911,6 +1911,12 @@ interface Workspace {
1911
1911
  declare function sameWorkspacePath(a: string, b: string): boolean;
1912
1912
  /** True when the user removed this project and has not added it again. */
1913
1913
  declare function isRemovedWorkspace(repoPath: string): boolean;
1914
+ /**
1915
+ * Chats archived with this removal, including a sibling worktree of that checkout.
1916
+ * Older tombstones stay out — they would archive a different project that is
1917
+ * still on the sidebar.
1918
+ */
1919
+ declare function archivesWithRemovedWorkspace(threadRepoPath: string | null | undefined, removedPath: string): boolean;
1914
1920
  declare function listWorkspaces(): Workspace[];
1915
1921
  /**
1916
1922
  * If `path` is a linked worktree, return the primary checkout. Used by thread
@@ -1926,6 +1932,10 @@ declare function removeWorkspace(repoPath: string): void;
1926
1932
  declare function ensureWorkspace(repoPath: string): Promise<Workspace>;
1927
1933
  /** Merge in repo paths discovered from existing threads (including archived). */
1928
1934
  declare function syncWorkspacesFromThreads(repoPaths: string[]): Workspace[];
1935
+ /** Archive every chat for a removed project, then surface teardown failures. */
1936
+ declare function archiveRemovedWorkspaceChats(threads: Array<{
1937
+ id: string;
1938
+ }>, archive: (id: string) => Promise<unknown>): Promise<void>;
1929
1939
 
1930
1940
  /** Sentinel repoPath for the home-less global orchestration workspace. */
1931
1941
  declare const GLOBAL_WORKSPACE_ID = "__global__";
@@ -8321,4 +8331,4 @@ declare function pollSlackOutboundWatches(opts?: {
8321
8331
  now?: number;
8322
8332
  }): Promise<void>;
8323
8333
 
8324
- export { ABLETIME_MCP_PATH, ABLETIME_MCP_PM_PATH, ABLETIME_OAUTH_CALLBACK_PATH, ABLETIME_OAUTH_CANCELLED, ABLETIME_OAUTH_LOCAL_CALLBACK, ABLETIME_OAUTH_PORT, ABLETIME_OAUTH_REDIRECT, ABLETIME_OAUTH_RESOURCE, ABLETIME_OAUTH_TOKEN_PREFIX, ABLETIME_ORG_KEY_PREFIX, ABLETIME_PAT_PREFIX, ABLETIME_PM_TOOL_NAMES, AGENT_DONE_CUSTOM_SOUND_EXTENSIONS, AGENT_DONE_CUSTOM_SOUND_MAX_BYTES, AGENT_DONE_SOUNDS, AGENT_GIT_ACTIONS, AGENT_RPC_NATIVE_ENV, AGENT_RPC_PROTOCOL_VERSION, AGENT_RUNNER_MAX_OLD_SPACE_MB, ATTACHMENTS_DIR, type AbleTimeAssignedIssuesResult, type AbleTimeComment, type AbleTimeCredentialKind, type AbleTimeMcpToolName, AbleTimeOAuthCancelledError, type AbleTimeOrientation, type AbleTimePmToolName, type AbleTimeProject, type AbleTimeTask, type AbleTimeTaskRelationInput, type AbleTimeViewer, type AccountProfile, type ActiveRun, type AddBoardPinInput, type AddStackLayerInput, type AdoptInput, type AdvancedAppSettings, type AgentAdapter, type AgentBlock, type AgentBlockSource, type AgentDoneCustomSoundPayload, type AgentDoneSound, type AgentEvent, type AgentGitAction, type AgentKind, type AgentModelCatalog, type AgentModelInfo, type AgentRpcConnect, type AgentRuntimeMetadata, type AgentSetupActionResult, type AgentSetupInfo, type AgentSetupKind, type AgentStatus, type AgentTurnInput, type AnthropicCacheControl, type AppSettings, type ApplyIntoMainResult, type AttachCommand, type Autonomy, BAKED_ABLETIME_OAUTH_CLIENT_ID, BAKED_REMOTE_RELAY_URL, BAKED_SLACK_RELAY_URL, BASE_ALLOWED_TOOLS, BRIGHTSY_MCP_ALLOWED_TOOLS, BRIGHTSY_OAUTH_CLIENT_ID, BRIGHTSY_OAUTH_REDIRECT, BRIGHTSY_SUMMARIZE_CONTEXT_TOOL, BUNDLED_LONG_RUNNING_PATH, BUNDLED_SKILL_PREFIX, type BoardPin, type BranchInfo, type BrightsyAccount, type BrightsyChatTarget, type BrightsyChatTargets, type BrightsyCloudConnectAgent, type BrightsyHarnessSettings, type BrightsySession, BrightsySideboardApi, type BrightsyTeamTargets, CHARS_PER_CONTEXT_TOKEN, CHAT_LINK_PREFIX, CHAT_TEXT_SCALES, CHAT_TEXT_SCALE_DEFAULT, CLAUDE_CHROME_ALLOWED_TOOLS, CLAUDE_MODEL_CATALOG, CLAUDE_PRINT_BG_WAIT_CEILING_MS, CLAUDE_SUMMARY_TIMEOUT_MS, CLI_DIR, CLOUD_COORDINATOR_BUSY_REPLY, CLOUD_COORDINATOR_CANCELED_REPLY, CLOUD_COORDINATOR_INPUT_REQUIRED_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, CONTEXT_REVIEW_PATH, CONVENTION_SETUP_RELPATHS, COORDINATOR_TOOL_PLAYBOOK, CURSOR_SDK_INSTALL_HINT, type CaffeinateHoldState, type ChatTextScale, type ClaudeExtraUsage, type ClaudeHarnessSettings, type ClaudePlanUsage, type ClaudeUsageWindow, type ClaudeUsageWindowId, type CleanupOrphansResult, type CliAgentKind, type CliExecutableSettings, type CloudConnectAgent, type CloudConnectOptions, type CloudConnectStatus, type CodeLineRange, type CodeRefInput, type CompactResult, type CompactThresholds, type ComposerFileBuffer, type ConductorSettings, type ConductorWorkspace, type ConnectedBrightsyTeamInfo, type ConventionSetupFile, type CowboyThreadFields, type CreateChatTabInput, type CreateGlobalChatOpts, type CreateScheduledTaskInput, type CreateStackInput, type CreateThreadInput, type CreateWorktreeResult, type CursorAgentUsageSnapshot, type CursorModelInfo, type CursorSdkStreamMessage, type CursorTurnRequest, type CursorUsageCost, type CursorWorktreesConfig, DEFAULT_ABLETIME_HOST, DEFAULT_RUN_LOG_TAIL_CHARS, DEFAULT_WORKTREE_SORT, DETACHED_JOBS_DIR, type DefaultsAppSettings, type DefaultsSettingsPatch, type DevAccessRun, type DevPreview, type DevServerHandle, type DiffCommentInput, type DiffCommentLine, type DiffCommit, type DiffFile, type DiffResult, type DiffScope, type DiffScopeStat, EMPTY_MANAGED_ACCOUNTS, type EnsuredReviewGuidelines, type ExpandResult, FAMOUS_SOCCER_TEAMS, FOLLOW_UP_BEHAVIORS, type FastForwardMainResult, type FollowUpBehavior, type ForkChatTabInput, type ForkThreadWorktreeInput, type FormatGhLandErrorOptions, GITHUB_GIT_AUTH_MODES, GITHUB_PR_BODY_MAX_CHARS, GITHUB_PR_BODY_SAFE_CHARS, GLOBAL_WORKSPACE_ID, type GetDiffOptions, type GhStackStatus, type GitHubIssue, type GitHubIssueComment, type GitHubIssueRelationInput, type GitHubProject, type GitHubProjectRef, type GitHubStatus, type GitWorktreeStatus, type GithubGitAuthMode, HARNESS_ENV_KEYS, HISTORY_DISCARDED_TEXT, HISTORY_MAX_COUNT_DEFAULT, HISTORY_MAX_COUNT_MAX, HISTORY_MAX_COUNT_MIN, HISTORY_MAX_DAYS_DEFAULT, HISTORY_MAX_DAYS_MAX, HOME_BOARD_CACHE_TTL_MS, type HarnessId, type HistoryCleanupResult, type HistoryRetentionPlan, type HomeBoardLoaded, type HomeBoardRemoteData, IMPLIED_TICKET_RESOLVE_PROMPT, ISSUE_SOURCE_LABELS, type ImportedAgentDoneSound, type InitStackFromThreadInput, type IntegrationsSettings, type IpcApi, type IssueActivityComment, type IssueAssigneeFilter, type IssueCycleInfo, type IssueInfo, type IssueSource, LEGACY_ATTACHMENTS_DIR, LEGACY_DETACHED_JOBS_DIR, LEGACY_PLAN_FILE_REL, LEGACY_REVIEW_REQUEST_PATH, LEGACY_THREAD_LINK_PREFIX, LIGHT_RECONCILE_THROTTLE_MS, LINEAR_OAUTH_CANCELLED, LINEAR_OAUTH_PORT, LINEAR_OAUTH_REDIRECT, LINEAR_OAUTH_SCOPES, LIVE_TURN_SPAWN_GRACE_MS, LONG_RUNNING_SKILL_COMMAND, type LandPreview, type LandResult, type LinearAssignedIssuesResult, type LinearAssigneeFilter, type LinearComment, type LinearCycle, type LinearIssue, type LinearIssueAttachment, type LinearIssueComment, type LinearIssueRef, type LinearIssueRelation, type LinearIssueRelationInput, type LinearNamedRef, LinearOAuthCancelledError, type LinearProjectRef, type LinearTeam, type LinearTeamsResult, type LinearWorkflowState, type ListIssuesOptions, type ListIssuesResult, type ListPrsOptions, MAX_ANTHROPIC_CACHE_CONTROL_BLOCKS, type ManagedAccount, type ManagedAccountKind, type ManagedAccountsState, type McpServerStatus, type MessagePart, type NextManagedAccount, type NotifyOrchestratorReason, type NotifyOrchestratorResult, OPTIONAL_SERVICES, OPTIONAL_SERVICE_IDS, ORCHESTRATOR_AGENT_KINDS, type OpenPrStackLayersInput, type OpenStackLayerInput, type OpenStackLayerResult, type OptionalServiceCliStatus, type OptionalServiceId, type OptionalServiceSpec, type OrchestrationQuotaOnLimit, Orchestrator, type OrchestratorAgentKind, type OrchestratorDefaultsSettings, type OrchestratorEvent, type OrchestratorRuntime, type OrphanWorktree, type OutboundTurnCopy, type OutboundTurnSnapshot, PASTE_ATTACH_MIN_CHARS, PASTE_ATTACH_MIN_LINES, PLAN_FILE_NAME, PLAN_FILE_REL, PLAN_MODE_INSTRUCTION, PLAN_MODE_OFF_INSTRUCTION, PLAN_QUESTION_ANSWERS_PREFIX, PORT_RANGE_SIZE, PRESENT_PLAN_REQUIRES_PLAN_MODE, PRESENT_PLAN_TOOL_DESCRIPTION, PROFILE_NOTES_MAX, PR_DETAILS_JSON_FIELDS, type PathRefInput, type PendingPlanQuestions, type PlanQuestion, type PlanQuestionAnswer, type PlanQuestionOption, type PlanToolPartLike, type PortReservation, type PrActor, type PrCheckRun, type PrCommentInfo, type PrCommitInfo, type PrDetails, type PrInfo, type PrMeta, type PrReviewInfo, type PrStack, type PrStackLayer, type PresentedPlan, type ProjectProfileSettings, type PublicAppSettings, type PublicIntegrationsSettings, READ_ALOUD_RATE_DEFAULT, READ_ALOUD_RATE_MAX, READ_ALOUD_RATE_MIN, REMOTE_RELAY_PATH, REPO_REVIEW_NAME, REPO_REVIEW_PATH, REVIEW_LABEL_MAX, REVIEW_REQUEST_NAME, REVIEW_REQUEST_PATH, REVIEW_REQUEST_PREFILL, REVIEW_REQUEST_TEMPLATE, REVIEW_SKILL_NAME, REVIEW_SKILL_PATH, RUN_PORTS_REL, RUN_SCRIPT_DESKTOP_ADOPT_MS, type ReadAloudSettingsFields, type RelayAccountProvider, type RelayServerHandle, type RelayServerOptions, type RemoteAccountSession, type RemoteAskQuestion, type RemoteHostClientOptions, type RemoteHostHandle, type RemoteHostStatus, RemoteHub, type RemoteServerMessage, type RepoSettings, type RepoSetupInfo, type RequestReviewResult, type ReservePortRangeOpts, type ResolvedAccountProfile, type ResolvedReviewGuidelines, type ResolvedThreadDefaults, type ResolvedViewerProfile, type ReviewGuidelinesSource, type RunLogSnapshot, type RunMode, type RunScript, type RunScriptPreviewInput, type RunScriptRequest, SEED_FULL_TOOL_MESSAGES, SEED_MAX_CHARS, SESSION_RESET_OCCUPANCY_TOKENS, SIDEBOARD_FORCE_STOP, SIDEBOARD_MCP_ALLOWED_TOOLS, SIDEBOARD_MCP_PROFILE_ENV, SLACK_LISTEN_INPUT_REQUIRED_REPLY, SLACK_LISTEN_STOPPED_REPLY, SLACK_LISTEN_TIMEOUT_REPLY, SLACK_OAUTH_CANCELLED, SLACK_OAUTH_REDIRECT, SLACK_PROGRESS_DELAY_MS, SLACK_PROGRESS_EDIT_MS, SLACK_REPLY_FORMATTING, SLACK_SEEN_REACTION, STDERR_EVENT_MAX_CHARS, STDOUT_EVENT_MAX_CHARS, type ScheduleCreatedBy, type ScheduleWhen, type ScheduledTask, type ScriptHandle, type SessionSeedOptions, type SetupLogSnapshot, type SetupRunResult, type SidebarGitAction, type SideboardMcpProfile, type SkillInfo, type SlackInboundMessage, type SlackListenOptions, type SlackListenStatus, SlackOAuthCancelledError, type SlackOutboundReply, type SlackOutboundWatch, type SlackRelayClientMessage, type SlackRelayClientOptions, SlackRelayHub, type SlackRelayServerMessage, type SlackWorkspaceInfo, type SourceType, type SpawnTurnHandle, type SteerRequest, type SummarizeResult, THINKING_EFFORTS, THINKING_PART_MAX_CHARS, type TaskState, type TeamName, type ThinkingEffort, type Thread, type ThreadAttachment, type ThreadMessage, type ThreadOptionsPatch, type ThreadStatus, type TokenUsage, type ToolPartLike, type TranscriptToolDetail, type TurnCommand, USAGE_ON_LIMIT_VALUES, type UpdateScheduledTaskPatch, type UsageOnLimit, type UsageScope, type ViewerContextWriteResult, type ViewerProfile, WORKTREE_ABLETIME_MCP_TOOLS, WORKTREE_GITHUB_MCP_TOOLS, WORKTREE_LINEAR_MCP_TOOLS, WORKTREE_MCP_TOOLS, type Workspace, type WorkspaceInventoryEntry, type WorkspaceScriptEnvOpts, type WorkspaceTagMode, type WorktreeDirtyStat, type WorktreeListBadge, type WorktreeOpener, type WorktreeOpenerId, type WorktreeSortMode, type WorktreeStatKind, ableTimeCredentialKind, ableTimeDependencyTarget, ableTimeOAuthAuthorizeUrl, ableTimeOAuthBouncePage, ableTimeOAuthClientId, ableTimeOAuthLocalBounceUrl, ableTimeOAuthRedirectUri, ableTimeOAuthResource, ableTimeUsesRest, abletimeMcpRequest, abletimeMcpUrl, abletimeToolUsesPm, accountIdToPin, ackSlackInboundSeen, activeAccountId, activeRunPreview, addBoardPin, addManagedAccount, addPrStackLayer, addStackLayerFromThread, addWorkspace, adoptThread, agentDoneCustomSoundMime, agentDoneSound, agentDoneSoundsDir, agentGitPrompt, agentRpcConnectFromMetadata, alignQueueAttachments, allAdapters, allocatePort, allocatePortRange, allocateTeamName, allocateTeamSlug, annotateDevAccessRuns, appDataDir, appSettingsPath, appendCompactedMessages, appendIndexedGitConfig, appendMessage, appendQueuedItem, applyAgentEvent, applyAgentRunnerHeapEnv, applyAppEnvironment, applyCompaction, applyForwardOccupancy, applyGithubGitAuthEnv, applyManagedAccountEnv, applyPromptCacheTtlEnv, applySystemCaEnv, applyThreadIntoMain, applyTurnUsage, applyWorkspaceTags, armSchedules, assertAbleTimeCredential, assertAbleTimeMcpCredential, assertOrchestratorCapableAgent, attachmentFromAbsolutePath, attachmentsFromBuffers, attachmentsFromWorktreePaths, attachmentsGitignoreBody, autoArchiveOnMergeEnabled, autoCleanupHistoryEnabled, autoCleanupOrphansEnabled, autoRenameBranchEnabled, autoRunAfterSetupEnabled, branchDisplayLabel, brightsyAccessTokenNeedsRefresh, brightsyAdapter, brightsyCloudConnectAgent, brightsyCloudConnectEnabled, brightsyConfigPath, brightsyInjectWorktreeMcpEnabled, brightsyMcpAllowedTools, brightsyMcpServerName, buildBrightsySessionSeed, buildCachedUserContent, buildClaudeStreamJsonUserMessage, buildCodeRefAttachment, buildDiffCommentAttachment, buildForkTranscriptAttachment, buildLinearIssueFilter, buildPastedTextAttachment, buildPathRefAttachment, buildReviewRequestAttachment, buildSessionSeed, buildWorkspaceScriptEnv, caffeinateHoldPath, caffeinateWhileCloudConnectEnabled, caffeinateWhileRunningEnabled, caffeinateWhileSchedulesEnabled, caffeinateWhileSlackListenEnabled, callAbleTimeTool, canReuseIdleWorktreeAgentForReview, canonicalizeRepoPath, captureLoginEnv, captureTurnBaseline, chatLinkUrl, chatTextScale, checkoutPrStackLayer, childEnvWithAppSettings, claimDesktopHost, clampGithubPrBody, clampHistoryMaxCount, clampHistoryMaxDays, clampReadAloudRate, classifyRunScriptPreview, classifyWorktreeColumn, classifyWorktreeListBadges, claudeAdapter, claudeChromeEnabled, claudeUsageOverLimitWindows, claudeUserSettingsPath, cleanupArchivedHistory, cleanupOrphanWorktrees, clearAgentDoneCustomSoundFile, clearBoardPins, clearHomeBoardCache, clipAgentEventForPaint, clipThinkingForStore, cloneRepoIntoSideboard, codeRefRangeLabel, codexAdapter, codexSandboxWritableRootsArgs, codexUnattendedGitConfigArgs, coerceOrchestratorAgent, collectTakenTeamSlugs, commandLooksLikeElectron, commentAbleTimeTask, commentGitHubIssue, commentLinearIssue, commitAll, compactArchiveProse, compactPartsForSummaryMessage, compactSummaryPart, computeNextRunAt, conductorBundledBinDir, conductorDbPath, confirmClaudeUsageOverLimitEnabled, confirmLand, connectBrightsyTeam, connectOptionalService, connectSlackToken, connectedOptionalServices, connectedPrSelectors, consumeComposerAttachments, contextTokens, coordinatorSystemPrompt, coordinatorTurnReminder, copyConfiguredFiles, copyReadAloudFromUnknown, countCacheControlBlocks, countUnpushedVsOrigin, cowboyModeEnabled, createAbleTimePkce, createAbleTimeTask, createChatTab, createEmptyThread, createExistingBranchWorktree, createGitHubIssue, createGlobalChat, createLinearIssue, createLinearPkce, createOrUpdatePr, createPrStack, createSchedule, createThread, createThreadWorktree, currentBranch, cursorAdapter, cursorSdkMessageToEvents, decodeBrightsyTarget, defaultScheduleName, deleteBranchOnPurgeEnabled, deleteSchedule, deleteThreadRecord, deriveTaskState, desktopHostPidPath, detectAgents, detectGhStack, detectLocalMergeConflicts, detectOptionalServiceClis, disconnectAbleTimeConnection, disconnectBrightsyTeam, disconnectLinear, disconnectLinearConnection, disconnectOptionalService, disconnectRemoteAccount, disconnectSlackWorkspace, discoverSkills, downloadAbleTimeAttachment, downloadGitHubIssueAttachment, downloadLinearAttachment, dropCachedPrefixOnResume, emptyPublicIntegrations, emptyRunLog, emptySetupLog, encodeBrightsyTarget, endedOnAskUser, enrichPathWithNpmGlobalBin, enrichWorkspacesWithGithub, ensureAbleTimeAccessToken, ensureAbleTimeTask, ensureAgentPath, ensureBrightsyLocalConfigFresh, ensureBrightsyOAuthClientId, ensureCloudCoordinator, ensureConnectedBrightsyTeamTokens, ensureGhPreferOrigin, ensureGlobalCoordinatorCwd, ensureManagedAccountDir, ensureRemoteCoordinator, ensureRemoteHostCredentials, ensureReviewGuidelinesFile, ensureReviewRequestFile, ensureReviewSkillFile, ensureSlackCoordinator, ensureSlackDeviceIdentity, ensureWorkspace, estimateMessageChars, estimateOccupancyTokens, estimateThreadChars, examplePrefixedBranch, expandComposerPrompt, extractBrightsyContextSummary, extractGhErrorDetail, extractPendingPlanQuestions, extractPresentedPlan, extractiveSummary, fastForwardMainCheckoutIfSafe, fetchOriginForWorktree, fetchPrHead, finalizeParts, findAgentDoneCustomSoundPath, findConventionSetup, findInvalidCacheControlTtlOrder, findLastBrightsyContextSummary, findLiveThreadForCreate, findLiveThreadForCreateSource, findManagedAccount, findOrphanWorktrees, findProjectProfileKey, findRemoteCoordinator, findSlackCoordinator, findThreadByRef, findThreadForStackLayer, fireSchedule, flattenTurnInput, flipLinearRelationType, foldLegacyRolesIntoNotes, followUpBehavior, forkChatTab, forkMessageSlice, forkThreadWorktree, formatAccountProfilePlaybookLine, formatArtifactDirective, formatAskUserNotifyMessage, formatBrightsyFetchError, formatClaudeExtraUsageDetail, formatClaudeUsageCompact, formatClaudeUsageFetchedAt, formatClaudeUsageOverLimitConfirm, formatClaudeUsageOverLimitWait, formatClaudeUsageReset, formatClaudeUsageResetClock, formatClaudeUsageTooltip, formatCloudTurnReply, formatDetachedJobInvoke, formatDevAccessHint, formatFetchError, formatGhLandError, formatGitAuthModeDirective, formatInjectedNoticesForTurn, formatIpcInvokeError, formatIssueToolsDirective, formatIssueToolsReminder, formatLinearDirective, formatLinearReminder, formatLongRunningDirective, formatLongRunningReminder, formatMergePrError, formatMessagesAsTranscript, formatNotifyOrchestratorPrompt, formatOptionalServicesDirective, formatOptionalServicesReminder, formatPlanQuestionAnswers, formatPlanQuestionsForChat, formatPrGateDirective, formatProcessGuideDirective, formatProjectProfilePlaybookLines, formatRateLimitResetHint, formatRemotePrompt, formatRenameBranchDirective, formatScheduleWhen, formatScheduledPrompt, formatSlackExternalReplyPrompt, formatSlackInboundPrompt, formatSlackRepliesForTurn, formatSlackReplyContinuePrompt, formatSlackSignedReply, formatSlackTurnReply, formatSlackWorkingText, formatTranscriptMarkdown, formatUiReminder, formatViewerContextDirective, formatViewerContextReminder, formatWorkspaceInventory, formatWorkspaceProfileSuffix, formatWorktreeDirective, formatWorktreeReminder, forwardContextUsage, forwardOccupancyTokens, fromInclusiveInputUsage, getAbleTimeAccessToken, getAbleTimeHost, getAbleTimeOrientation, getAbleTimeTask, getAdapter, getAgentRpcServer, getAgentSetupInfo, getBrightsySession, getCaffeinateHold, getClaudePlanUsage, getDefaultAgent, getDefaultEffort, getDefaultFast, getDefaultModel, getDefaultRunScript, getDiff, getDiffSummary, getGitHubIssue, getGitHubStatus, getGithubGitAuthMode, getGithubPat, getHomeBoardInputs, getIssueSource, getLinearApiKey, getLinearAuthToken, getLinearIssue, getOrchestrator, getPr, getPrChecks, getPrDetails, getPrForHeadBranch, getPrMeta, getPrStack, getRepoSetupInfo, getRunMode, getRunScript, getSchedule, getSlackWorkspace, getWorktreeDirtyStat, gh, ghHeadRef, ghPrCreateAssigneeArgs, ghRepoSelectArgs, git, gitBranchPrefixSetting, githubAgentGitEnv, githubHttpsInsteadOfEntries, githubProjectsOnIssue, githubRelationEditFlag, globalAgentCwd, groupHomeBoardWorktrees, handleRemoteInbound, handleSlackInbound, harnessEnvKey, hasBakedAbleTimeOAuth, hasBakedLinearOAuth, hasBakedSlackOAuth, hasConductorHook, hasConventionSetup, hasCursorWorktreeSetup, hasEnabledSchedules, hasRepoHook, hasWorkspaceHook, hasWorkspaceSettingsToml, healOrchestrationSoccerTitles, historyMaxCount, historyMaxDays, hottestClaudeWindow, httpFetch, importAgentDoneCustomSound, importConductorWorkspace, importConductorWorkspaceAsync, initPrStack, initStackFromThread, initializeGitRepository, inspectGitWorktree, installAgent, installNpmGlobalPackage, installOptionalServiceCli, interruptSlackCoordinatorForInbound, invalidateThreadListCache, invalidateThreadRecord, isAbleTimeConnected, isAbleTimeOAuthCancelled, isAbleTimeRejectedCredential, isAdoptableRunScriptRequest, isAgentDoneSound, isAskUserToolName, isBrightsyConnected, isBrightsyNdjsonLine, isChatTextScale, isCloudCoordinatorThread, isCompactToolName, isConductorBundledCli, isContextCompactDone, isContextCompactInProgress, isCowboyThread, isCursorApiKeyConfigured, isCursorAutoModel, isCursorSdkInstalled, isDefaultishSourceRef, isDesktopHostAlive, isDirty, isGhPrBodyTooLongError, isGhRateLimitError, isGlobalRepoPath, isGlobalThread, isHistoryRetentionStub, isHomeBoardThread, isImageFilePath, isInPrStack, isInboundForThisDesktop, isIncompleteTaskState, isInjectedNoticeText, isInjectedOrchMcpName, isInternalAgentStatusText, isIssueSourceConnected, isLinearConnected, isLinearNoneToken, isLinearOAuthCancelled, isManagedAccountKind, isOptionalServiceId, isOrchestratorCapableAgent, isOrchestratorThread, isOtherWorktreeListenerCwd, isPidAlive, isPlaceholderBranch, isPlanQuestionAnswersMessage, isPollWrapperToolName, isPrNotMergeableError, isPresentPlanToolName, isPrimaryCheckoutThread, isRemoteAccountLoginCancelled, isRemoteStopCommand, isRemovedWorkspace, isSelfWrittenRecord, isSessionQuotaLimit, isSetupLastError, isShellToolName, isSideboardScratchPath, isSkillToolName, isSlackCoordinatorThread, isSlackExternalReplyPrompt, isSlackOAuthCancelled, isStaleLastErrorDuringTurn, isSubagentToolName, isSystemStatusThinking, isTerminalTaskState, isThinkingEffort, isThisProcessDesktopHost, isThisWorktreeListenerCwd, isThreadCaffeinated, isThreadRecordFile, isUnclaimedRunScriptRequest, isUsageOnLimit, isWorkspaceScratchPath, issueAttachmentForAbleTimeTask, issueMatchesAssignee, issueSourceLabel, issueTicketFromThread, killDetachedRunTree, killListenersOnPorts, killStaleWorktreeListeners, killableListenerPids, lastAgentReply, lastAssistantMessageText, lastRequestOccupancy, latestPendingPlanQuestions, linearAuthorizationHeader, linearCycleIsActive, linearGraphql, linearOAuthAuthorizeUrl, linearOAuthCredentials, linearRelationCreateInput, linearTicketIdFromThread, linkifyChatUrls, listAbleTimeAssignedIssues, listAbleTimeProjects, listAbleTimeTasks, listAgentSetupInfo, listBoardPins, listBranchCommits, listBranches, listBrightsyAccounts, listBrightsyChatTargets, listCodexModels, listConductorWorkspaces, listConnectedBrightsyTeams, listCursorModels, listGitHubIssueCommentsSince, listGitHubIssues, listGitHubProjects, listGlobalThreads, listIssues, listLinearAssignedIssues, listLinearCommentsSince, listLinearIssues, listLinearIssuesDirect, listLinearIssuesFiltered, listLinearProjects, listLinearTeamCycles, listLinearTeams, listModelsForAgent, listOpencodeModels, listPrs, listRunScripts, listSchedules, listSlackOutboundWatches, listSlackWorkspaces, listThreads, listWorkspaces, listWorktreeFiles, listWorktrees, listenerCwd, liveActivitySummary, loadAppSettings, loadBrightsyConfig, loadConductorSettings, loadHomeBoardInputs, loadRepoSettings, loadWorkspaceSettings, loadWorktreeRunPorts, localhostPreviewUrl, locksDir, loginAgent, loginEnvPrefix, loginManagedAccount, looksLikeComposerSkillExpansion, looksLikeConversationSummary, looksLikeIncompleteSkillDump, looksLikeSkillBody, lookupSoccerTeam, managedAccountConfigDir, mapAbleTimeTask, markPrReady, materializeSystemCaBundle, maxConcurrentAgents, maybeCompactContext, mcpAllowTools, mcpAllowToolsFromNames, mcpAuthWarnings, mcpStatusThinkingFromClaudeInit, mentionsPrGoal, mergeAgentGitAuthEnv, mergePr, mergePrStack, mergeSetupOutput, mergeSideboardIntoMcpServersJson, mergeUsage, messagePartParentId, messagesForCompactArchive, messagesSinceLastBrightsyContextSummary, mirrorHostConfig, moveQueuedItemToFront, needsCoordinatorAction, nextManagedAccount, nextPastedTextName, nextThinkingEffort, nonInteractiveGitProcessEnv, normalizeAbleTimeCredential, normalizeAbleTimeHost, normalizeBrightsyEndpoint, normalizeCodeSelection, normalizeLinearRelationType, normalizeManagedAccounts, normalizeParseResult, normalizeReviewLabel, normalizeServiceOrigin, normalizeThinkingEffort, normalizeThread, normalizeTurnInput, normalizeWorkspaceTags, normalizeWorktreePath, notifyOrchestrator, npmGlobalNodeModules, npmGlobalPrefix, openInSystemTerminal, openPrStackLayers, openStackLayer, opencodeAdapter, optionalServiceConnected, optionalServiceSpec, orchestrationQuotaFallbackAgent, orchestrationQuotaOnLimit, orchestrationTitleNeedsSoccerNickname, orchestratorSessionPoisonedByBuiltins, originFetchBranch, originGhRepoEnv, outboundReplyFromTurn, packagedDetachedJobPath, parseAbleTimeOAuthCallbackUrl, parseChatLink, parseClaudeUsagePayload, parseCursorRunnerLine, parseDevPreview, parseDurationMs, parseForceStopMessage, parseGhStackViewJson, parseGitHubIssueNumber, parseGithubSlugFromRemoteUrl, parseMcpList, parsePlanQuestionsInput, parsePrDetailsView, parseSessionQuotaResetAt, parseSlackRelayClientMessage, parseSlackRelayServerMessage, partsToAssistantText, pastedTextStats, patchReadAloudSettings, pendingInjectedNotices, pendingSlackExternalReplies, permissionMode, persistPendingFileAttachments, persistVaultKeyInKeychain, planFileAbs, planHistoryAgePurge, planHistoryRetention, planModeTurnInstruction, planQuestionsSignature, pnpmFilterPackage, pollSlackOutboundWatches, posixShellSingleQuote, preferredCursorCostCents, prepareTerminalCommand, prependQueuedItem, previewLand, previousCostBaseline, primaryCheckoutFromLinkedWorktree, promptMentionsBrightsy, pushBranch, readAgentDoneCustomSound, readAgentRuntimeMetadata, readExistingReviewRequestFile, readKeychainVaultKey, readPlanFile, readRunLog, readSetupLog, readSkillBody, readThread, readViewerContext, readWorktreeFile, readWorktreeFileForUpload, readWorktreeInclude, recordScheduleRun, recordSlackOutboundWatch, refreshBrightsyAccessToken, refreshGitHubAuth, registerBrightsyOAuthClient, registerPackagedUserMcpClients, releaseCaffeinateHoldForThread, releaseDesktopHost, remoteCoordinatorSourceRef, remoteRelayUrl, removeBoardPin, removeManagedAccount, removeQueuedItem, removeWorkspace, removeWorktree, renameManagedAccount, repoSlug, requestOccupancy, requestReview, requireAgent, reservePort, reservePortRange, resetGhStackDetectCache, resetGithubAgentTokenMemo, resolveAbleTimeOAuthHost, resolveAccountForThread, resolveAccountProfile, resolveAccountProfileFromSettings, resolveAgentExecutable, resolveAgentGitAuthEnv, resolveClaudeExecutable, resolveCodexGitWritableRoots, resolveCommandBinarySync, resolveConductorCursorAgentId, resolveCreateFirstPrompt, resolveCursorModelId, resolveCursorSdkRoot, resolveDefaultBranch, resolveDetachedJobScript, resolveDiffBaseRef, resolveEffectiveIssueSource, resolveFilesToCopy, resolveGhAuthToken, resolveGitBranchPrefix, resolveGitDirsForLockRecovery, resolveGitHubIssueRepo, resolveGithubAgentToken, resolveGithubRepoSlug, resolveLinearCycle, resolveLinearLabel, resolveLinearProject, resolveLinearState, resolveLinearTeam, resolveLoginCommand, resolveNewOrchestratorOptions, resolveNewThreadOptions, resolveOrchChildFollowUp, resolveOrchestratorDefaults, resolvePlanMarkdown, resolvePrSelector, resolvePrSelectors, resolveProjectReviewLabel, resolveQuotaFallbackAgent, resolveRepoRoot, resolveReviewGuidelines, resolveScheduleThreadId, resolveSendFollowUp, resolveSidebarGitPrompt, resolveSlackListenMode, resolveThreadDefaults, resolveThreadEffort, resolveUsageOnLimit, resolveVaultKey, resolveViewerProfile, resolveViewerProfileForRepo, resolveWorktreeStartPoint, reviewLabelForRepo, rewriteAbleTimeError, rewriteLinearError, run, runArchiveScript, runCloudConnect, runConventionSetup, runCursorWorktreeSetup, runRemoteHost, runScriptPreview, runSetupScript, runSlackListen, runSlackRelayClient, runWorkspaceSetup, sameWorkspacePath, sameWorktreePath, sanitizeGitBranchPrefix, sanitizeMcpServerName, sanitizeReadAloudVoiceURI, saveAbleTimeConnection, saveAppSettings, saveLinearOAuth, saveWorktreeRunPorts, scheduleNeedsCaffeinate, schedulesPath, scrubGithubTokensFromChildEnv, searchAbleTimeTasks, secureFileUnlocksWith, selectManagedAccount, setCaffeinateHold, setHttpFetchImpl, setStatus, setVaultMasterKey, settingsSourceLabel, shiftQueuedItem, shouldAttachPastedText, shouldCompactContext, shouldInjectBrightsyMcp, shouldNotifyOrchestrator, shouldRefreshReviewRequestTemplate, shouldRegisterPresentPlan, shouldRemoveWorktreeOnTeardown, shouldResetSessionForOccupancy, shouldRunHistoryCleanup, shouldRunWorktreeCleanup, shouldStampSetupLastError, showCostEnabled, sideboardHomeDir, sideboardMcpProfile, sideboardReposDir, sideboardWorkspacesDir, skillCommandFromBody, skillCommandFromInput, skillNameFromFrontmatter, slackAppLevelToken, slackArchiveUrl, slackCoordinatorSourceRef, slackListenEnabled, slackOAuthCredentials, slackOAuthResultUrl, slackRelayUrl, sliceRunLogOutput, slimMessagesForUiList, slimThreadForUiList, slugify, spawnAgentTurn, splitForCompaction, splitTurnInputForSystemPrompt, stackAgentDefaultsFrom, stackIdFrom, stackMergeReadiness, stageAbsolutePathsAsAttachments, stageBuffersAsAttachments, startAbleTimeOAuth, startAgentRpcServer, startDevServer, startLinearOAuth, startMcpServer, startOrchestration, startRelayServer, startRemoteAccountLogin, startSlackOAuth, statWorktreePath, stopAgentRpcServer, stripBrightsyNdjsonNoise, stripNestedElectronEnv, submitPrStack, suggestSlug, sumUsageList, summarizeConversation, switchBrightsyAccount, switchWorktreeBranch, syncWorkspacesFromThreads, systemConfigDir, takePendingTurnAttachments, takenTeamSlugsForChatTab, takenTeamSlugsForOrchestration, taskMessageText, taskUrl, thinkingEffortBars, thinkingEffortLabel, thisProcessShouldDrainAgentQueues, threadDisplayLabel, threadFilePath, threadHasCompactedContext, threadLivePath, threadLockPath, threadMayPresentPlan, threadRequestsBrightsyMcp, threadsDir, threadsSharingWorktree, ticketSlugForBranch, toAbleTimeIssueInfo, toGitHubIssueInfo, toPublicAppSettings, toolActivityLine, toolDescription, toolDetail, toolFilePath, totalTokens, trustSystemCertificates, tryReservePort, tryReservePorts, turnCostUsdFromCursorUsage, turnCostUsdFromProviderSnapshot, updateAbleTimeTask, updateAdvancedSettings, updateAgentExecutable, updateAppEnvironment, updateBrightsySettings, updateClaudeSettings, updateCodexSettings, updateDefaultsSettings, updateGitHubIssue, updateIntegrationsSettings, updateLinearIssue, updateOpencodeSettings, updateProjectProfileSettings, updateSchedule, updateThread, usageOnLimit, userClaudeMcpConfigPath, userCursorMcpConfigPath, userMcpNamesToDisable, validateLinearApiKey, verifyAbleTimeConnection, verifyOptionalService, visibleAgentBlock, visibleAssistantText, visibleToolRowDetail, waitForPidExit, warmGithubAgentAuth, whichOnPath, withAddedAccount, withEventParentId, withEventsParentId, withExportedPath, withMaxOldSpaceSize, withRemovedAccount, withSelectedAccount, withThreadLock, withTurnScopedCost, workspaceAgentChatSummaries, workspaceSettingsSourceLabel, workspaceTagTargetRef, workspaceTagsFromGroup, worktreeAgentBlock, worktreeBoardStatus, worktreeCleanupSettings, worktreeDisplayLabel, worktreeDisplayLabelForGroup, worktreeNameFromPath, worktreeRunPortsPath, worktreeSlugForTicket, worktreesRoot, wrapReviewSkillMarkdown, writeInjectedMcpConfig, writePlanFile, writeThread, writeViewerContext, writeWorktreeFile };
8334
+ export { ABLETIME_MCP_PATH, ABLETIME_MCP_PM_PATH, ABLETIME_OAUTH_CALLBACK_PATH, ABLETIME_OAUTH_CANCELLED, ABLETIME_OAUTH_LOCAL_CALLBACK, ABLETIME_OAUTH_PORT, ABLETIME_OAUTH_REDIRECT, ABLETIME_OAUTH_RESOURCE, ABLETIME_OAUTH_TOKEN_PREFIX, ABLETIME_ORG_KEY_PREFIX, ABLETIME_PAT_PREFIX, ABLETIME_PM_TOOL_NAMES, AGENT_DONE_CUSTOM_SOUND_EXTENSIONS, AGENT_DONE_CUSTOM_SOUND_MAX_BYTES, AGENT_DONE_SOUNDS, AGENT_GIT_ACTIONS, AGENT_RPC_NATIVE_ENV, AGENT_RPC_PROTOCOL_VERSION, AGENT_RUNNER_MAX_OLD_SPACE_MB, ATTACHMENTS_DIR, type AbleTimeAssignedIssuesResult, type AbleTimeComment, type AbleTimeCredentialKind, type AbleTimeMcpToolName, AbleTimeOAuthCancelledError, type AbleTimeOrientation, type AbleTimePmToolName, type AbleTimeProject, type AbleTimeTask, type AbleTimeTaskRelationInput, type AbleTimeViewer, type AccountProfile, type ActiveRun, type AddBoardPinInput, type AddStackLayerInput, type AdoptInput, type AdvancedAppSettings, type AgentAdapter, type AgentBlock, type AgentBlockSource, type AgentDoneCustomSoundPayload, type AgentDoneSound, type AgentEvent, type AgentGitAction, type AgentKind, type AgentModelCatalog, type AgentModelInfo, type AgentRpcConnect, type AgentRuntimeMetadata, type AgentSetupActionResult, type AgentSetupInfo, type AgentSetupKind, type AgentStatus, type AgentTurnInput, type AnthropicCacheControl, type AppSettings, type ApplyIntoMainResult, type AttachCommand, type Autonomy, BAKED_ABLETIME_OAUTH_CLIENT_ID, BAKED_REMOTE_RELAY_URL, BAKED_SLACK_RELAY_URL, BASE_ALLOWED_TOOLS, BRIGHTSY_MCP_ALLOWED_TOOLS, BRIGHTSY_OAUTH_CLIENT_ID, BRIGHTSY_OAUTH_REDIRECT, BRIGHTSY_SUMMARIZE_CONTEXT_TOOL, BUNDLED_LONG_RUNNING_PATH, BUNDLED_SKILL_PREFIX, type BoardPin, type BranchInfo, type BrightsyAccount, type BrightsyChatTarget, type BrightsyChatTargets, type BrightsyCloudConnectAgent, type BrightsyHarnessSettings, type BrightsySession, BrightsySideboardApi, type BrightsyTeamTargets, CHARS_PER_CONTEXT_TOKEN, CHAT_LINK_PREFIX, CHAT_TEXT_SCALES, CHAT_TEXT_SCALE_DEFAULT, CLAUDE_CHROME_ALLOWED_TOOLS, CLAUDE_MODEL_CATALOG, CLAUDE_PRINT_BG_WAIT_CEILING_MS, CLAUDE_SUMMARY_TIMEOUT_MS, CLI_DIR, CLOUD_COORDINATOR_BUSY_REPLY, CLOUD_COORDINATOR_CANCELED_REPLY, CLOUD_COORDINATOR_INPUT_REQUIRED_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, CONTEXT_REVIEW_PATH, CONVENTION_SETUP_RELPATHS, COORDINATOR_TOOL_PLAYBOOK, CURSOR_SDK_INSTALL_HINT, type CaffeinateHoldState, type ChatTextScale, type ClaudeExtraUsage, type ClaudeHarnessSettings, type ClaudePlanUsage, type ClaudeUsageWindow, type ClaudeUsageWindowId, type CleanupOrphansResult, type CliAgentKind, type CliExecutableSettings, type CloudConnectAgent, type CloudConnectOptions, type CloudConnectStatus, type CodeLineRange, type CodeRefInput, type CompactResult, type CompactThresholds, type ComposerFileBuffer, type ConductorSettings, type ConductorWorkspace, type ConnectedBrightsyTeamInfo, type ConventionSetupFile, type CowboyThreadFields, type CreateChatTabInput, type CreateGlobalChatOpts, type CreateScheduledTaskInput, type CreateStackInput, type CreateThreadInput, type CreateWorktreeResult, type CursorAgentUsageSnapshot, type CursorModelInfo, type CursorSdkStreamMessage, type CursorTurnRequest, type CursorUsageCost, type CursorWorktreesConfig, DEFAULT_ABLETIME_HOST, DEFAULT_RUN_LOG_TAIL_CHARS, DEFAULT_WORKTREE_SORT, DETACHED_JOBS_DIR, type DefaultsAppSettings, type DefaultsSettingsPatch, type DevAccessRun, type DevPreview, type DevServerHandle, type DiffCommentInput, type DiffCommentLine, type DiffCommit, type DiffFile, type DiffResult, type DiffScope, type DiffScopeStat, EMPTY_MANAGED_ACCOUNTS, type EnsuredReviewGuidelines, type ExpandResult, FAMOUS_SOCCER_TEAMS, FOLLOW_UP_BEHAVIORS, type FastForwardMainResult, type FollowUpBehavior, type ForkChatTabInput, type ForkThreadWorktreeInput, type FormatGhLandErrorOptions, GITHUB_GIT_AUTH_MODES, GITHUB_PR_BODY_MAX_CHARS, GITHUB_PR_BODY_SAFE_CHARS, GLOBAL_WORKSPACE_ID, type GetDiffOptions, type GhStackStatus, type GitHubIssue, type GitHubIssueComment, type GitHubIssueRelationInput, type GitHubProject, type GitHubProjectRef, type GitHubStatus, type GitWorktreeStatus, type GithubGitAuthMode, HARNESS_ENV_KEYS, HISTORY_DISCARDED_TEXT, HISTORY_MAX_COUNT_DEFAULT, HISTORY_MAX_COUNT_MAX, HISTORY_MAX_COUNT_MIN, HISTORY_MAX_DAYS_DEFAULT, HISTORY_MAX_DAYS_MAX, HOME_BOARD_CACHE_TTL_MS, type HarnessId, type HistoryCleanupResult, type HistoryRetentionPlan, type HomeBoardLoaded, type HomeBoardRemoteData, IMPLIED_TICKET_RESOLVE_PROMPT, ISSUE_SOURCE_LABELS, type ImportedAgentDoneSound, type InitStackFromThreadInput, type IntegrationsSettings, type IpcApi, type IssueActivityComment, type IssueAssigneeFilter, type IssueCycleInfo, type IssueInfo, type IssueSource, LEGACY_ATTACHMENTS_DIR, LEGACY_DETACHED_JOBS_DIR, LEGACY_PLAN_FILE_REL, LEGACY_REVIEW_REQUEST_PATH, LEGACY_THREAD_LINK_PREFIX, LIGHT_RECONCILE_THROTTLE_MS, LINEAR_OAUTH_CANCELLED, LINEAR_OAUTH_PORT, LINEAR_OAUTH_REDIRECT, LINEAR_OAUTH_SCOPES, LIVE_TURN_SPAWN_GRACE_MS, LONG_RUNNING_SKILL_COMMAND, type LandPreview, type LandResult, type LinearAssignedIssuesResult, type LinearAssigneeFilter, type LinearComment, type LinearCycle, type LinearIssue, type LinearIssueAttachment, type LinearIssueComment, type LinearIssueRef, type LinearIssueRelation, type LinearIssueRelationInput, type LinearNamedRef, LinearOAuthCancelledError, type LinearProjectRef, type LinearTeam, type LinearTeamsResult, type LinearWorkflowState, type ListIssuesOptions, type ListIssuesResult, type ListPrsOptions, MAX_ANTHROPIC_CACHE_CONTROL_BLOCKS, type ManagedAccount, type ManagedAccountKind, type ManagedAccountsState, type McpServerStatus, type MessagePart, type NextManagedAccount, type NotifyOrchestratorReason, type NotifyOrchestratorResult, OPTIONAL_SERVICES, OPTIONAL_SERVICE_IDS, ORCHESTRATOR_AGENT_KINDS, type OpenPrStackLayersInput, type OpenStackLayerInput, type OpenStackLayerResult, type OptionalServiceCliStatus, type OptionalServiceId, type OptionalServiceSpec, type OrchestrationQuotaOnLimit, Orchestrator, type OrchestratorAgentKind, type OrchestratorDefaultsSettings, type OrchestratorEvent, type OrchestratorRuntime, type OrphanWorktree, type OutboundTurnCopy, type OutboundTurnSnapshot, PASTE_ATTACH_MIN_CHARS, PASTE_ATTACH_MIN_LINES, PLAN_FILE_NAME, PLAN_FILE_REL, PLAN_MODE_INSTRUCTION, PLAN_MODE_OFF_INSTRUCTION, PLAN_QUESTION_ANSWERS_PREFIX, PORT_RANGE_SIZE, PRESENT_PLAN_REQUIRES_PLAN_MODE, PRESENT_PLAN_TOOL_DESCRIPTION, PROFILE_NOTES_MAX, PR_DETAILS_JSON_FIELDS, type PathRefInput, type PendingPlanQuestions, type PlanQuestion, type PlanQuestionAnswer, type PlanQuestionOption, type PlanToolPartLike, type PortReservation, type PrActor, type PrCheckRun, type PrCommentInfo, type PrCommitInfo, type PrDetails, type PrInfo, type PrMeta, type PrReviewInfo, type PrStack, type PrStackLayer, type PresentedPlan, type ProjectProfileSettings, type PublicAppSettings, type PublicIntegrationsSettings, READ_ALOUD_RATE_DEFAULT, READ_ALOUD_RATE_MAX, READ_ALOUD_RATE_MIN, REMOTE_RELAY_PATH, REPO_REVIEW_NAME, REPO_REVIEW_PATH, REVIEW_LABEL_MAX, REVIEW_REQUEST_NAME, REVIEW_REQUEST_PATH, REVIEW_REQUEST_PREFILL, REVIEW_REQUEST_TEMPLATE, REVIEW_SKILL_NAME, REVIEW_SKILL_PATH, RUN_PORTS_REL, RUN_SCRIPT_DESKTOP_ADOPT_MS, type ReadAloudSettingsFields, type RelayAccountProvider, type RelayServerHandle, type RelayServerOptions, type RemoteAccountSession, type RemoteAskQuestion, type RemoteHostClientOptions, type RemoteHostHandle, type RemoteHostStatus, RemoteHub, type RemoteServerMessage, type RepoSettings, type RepoSetupInfo, type RequestReviewResult, type ReservePortRangeOpts, type ResolvedAccountProfile, type ResolvedReviewGuidelines, type ResolvedThreadDefaults, type ResolvedViewerProfile, type ReviewGuidelinesSource, type RunLogSnapshot, type RunMode, type RunScript, type RunScriptPreviewInput, type RunScriptRequest, SEED_FULL_TOOL_MESSAGES, SEED_MAX_CHARS, SESSION_RESET_OCCUPANCY_TOKENS, SIDEBOARD_FORCE_STOP, SIDEBOARD_MCP_ALLOWED_TOOLS, SIDEBOARD_MCP_PROFILE_ENV, SLACK_LISTEN_INPUT_REQUIRED_REPLY, SLACK_LISTEN_STOPPED_REPLY, SLACK_LISTEN_TIMEOUT_REPLY, SLACK_OAUTH_CANCELLED, SLACK_OAUTH_REDIRECT, SLACK_PROGRESS_DELAY_MS, SLACK_PROGRESS_EDIT_MS, SLACK_REPLY_FORMATTING, SLACK_SEEN_REACTION, STDERR_EVENT_MAX_CHARS, STDOUT_EVENT_MAX_CHARS, type ScheduleCreatedBy, type ScheduleWhen, type ScheduledTask, type ScriptHandle, type SessionSeedOptions, type SetupLogSnapshot, type SetupRunResult, type SidebarGitAction, type SideboardMcpProfile, type SkillInfo, type SlackInboundMessage, type SlackListenOptions, type SlackListenStatus, SlackOAuthCancelledError, type SlackOutboundReply, type SlackOutboundWatch, type SlackRelayClientMessage, type SlackRelayClientOptions, SlackRelayHub, type SlackRelayServerMessage, type SlackWorkspaceInfo, type SourceType, type SpawnTurnHandle, type SteerRequest, type SummarizeResult, THINKING_EFFORTS, THINKING_PART_MAX_CHARS, type TaskState, type TeamName, type ThinkingEffort, type Thread, type ThreadAttachment, type ThreadMessage, type ThreadOptionsPatch, type ThreadStatus, type TokenUsage, type ToolPartLike, type TranscriptToolDetail, type TurnCommand, USAGE_ON_LIMIT_VALUES, type UpdateScheduledTaskPatch, type UsageOnLimit, type UsageScope, type ViewerContextWriteResult, type ViewerProfile, WORKTREE_ABLETIME_MCP_TOOLS, WORKTREE_GITHUB_MCP_TOOLS, WORKTREE_LINEAR_MCP_TOOLS, WORKTREE_MCP_TOOLS, type Workspace, type WorkspaceInventoryEntry, type WorkspaceScriptEnvOpts, type WorkspaceTagMode, type WorktreeDirtyStat, type WorktreeListBadge, type WorktreeOpener, type WorktreeOpenerId, type WorktreeSortMode, type WorktreeStatKind, ableTimeCredentialKind, ableTimeDependencyTarget, ableTimeOAuthAuthorizeUrl, ableTimeOAuthBouncePage, ableTimeOAuthClientId, ableTimeOAuthLocalBounceUrl, ableTimeOAuthRedirectUri, ableTimeOAuthResource, ableTimeUsesRest, abletimeMcpRequest, abletimeMcpUrl, abletimeToolUsesPm, accountIdToPin, ackSlackInboundSeen, activeAccountId, activeRunPreview, addBoardPin, addManagedAccount, addPrStackLayer, addStackLayerFromThread, addWorkspace, adoptThread, agentDoneCustomSoundMime, agentDoneSound, agentDoneSoundsDir, agentGitPrompt, agentRpcConnectFromMetadata, alignQueueAttachments, allAdapters, allocatePort, allocatePortRange, allocateTeamName, allocateTeamSlug, annotateDevAccessRuns, appDataDir, appSettingsPath, appendCompactedMessages, appendIndexedGitConfig, appendMessage, appendQueuedItem, applyAgentEvent, applyAgentRunnerHeapEnv, applyAppEnvironment, applyCompaction, applyForwardOccupancy, applyGithubGitAuthEnv, applyManagedAccountEnv, applyPromptCacheTtlEnv, applySystemCaEnv, applyThreadIntoMain, applyTurnUsage, applyWorkspaceTags, archiveRemovedWorkspaceChats, archivesWithRemovedWorkspace, armSchedules, assertAbleTimeCredential, assertAbleTimeMcpCredential, assertOrchestratorCapableAgent, attachmentFromAbsolutePath, attachmentsFromBuffers, attachmentsFromWorktreePaths, attachmentsGitignoreBody, autoArchiveOnMergeEnabled, autoCleanupHistoryEnabled, autoCleanupOrphansEnabled, autoRenameBranchEnabled, autoRunAfterSetupEnabled, branchDisplayLabel, brightsyAccessTokenNeedsRefresh, brightsyAdapter, brightsyCloudConnectAgent, brightsyCloudConnectEnabled, brightsyConfigPath, brightsyInjectWorktreeMcpEnabled, brightsyMcpAllowedTools, brightsyMcpServerName, buildBrightsySessionSeed, buildCachedUserContent, buildClaudeStreamJsonUserMessage, buildCodeRefAttachment, buildDiffCommentAttachment, buildForkTranscriptAttachment, buildLinearIssueFilter, buildPastedTextAttachment, buildPathRefAttachment, buildReviewRequestAttachment, buildSessionSeed, buildWorkspaceScriptEnv, caffeinateHoldPath, caffeinateWhileCloudConnectEnabled, caffeinateWhileRunningEnabled, caffeinateWhileSchedulesEnabled, caffeinateWhileSlackListenEnabled, callAbleTimeTool, canReuseIdleWorktreeAgentForReview, canonicalizeRepoPath, captureLoginEnv, captureTurnBaseline, chatLinkUrl, chatTextScale, checkoutPrStackLayer, childEnvWithAppSettings, claimDesktopHost, clampGithubPrBody, clampHistoryMaxCount, clampHistoryMaxDays, clampReadAloudRate, classifyRunScriptPreview, classifyWorktreeColumn, classifyWorktreeListBadges, claudeAdapter, claudeChromeEnabled, claudeUsageOverLimitWindows, claudeUserSettingsPath, cleanupArchivedHistory, cleanupOrphanWorktrees, clearAgentDoneCustomSoundFile, clearBoardPins, clearHomeBoardCache, clipAgentEventForPaint, clipThinkingForStore, cloneRepoIntoSideboard, codeRefRangeLabel, codexAdapter, codexSandboxWritableRootsArgs, codexUnattendedGitConfigArgs, coerceOrchestratorAgent, collectTakenTeamSlugs, commandLooksLikeElectron, commentAbleTimeTask, commentGitHubIssue, commentLinearIssue, commitAll, compactArchiveProse, compactPartsForSummaryMessage, compactSummaryPart, computeNextRunAt, conductorBundledBinDir, conductorDbPath, confirmClaudeUsageOverLimitEnabled, confirmLand, connectBrightsyTeam, connectOptionalService, connectSlackToken, connectedOptionalServices, connectedPrSelectors, consumeComposerAttachments, contextTokens, coordinatorSystemPrompt, coordinatorTurnReminder, copyConfiguredFiles, copyReadAloudFromUnknown, countCacheControlBlocks, countUnpushedVsOrigin, cowboyModeEnabled, createAbleTimePkce, createAbleTimeTask, createChatTab, createEmptyThread, createExistingBranchWorktree, createGitHubIssue, createGlobalChat, createLinearIssue, createLinearPkce, createOrUpdatePr, createPrStack, createSchedule, createThread, createThreadWorktree, currentBranch, cursorAdapter, cursorSdkMessageToEvents, decodeBrightsyTarget, defaultScheduleName, deleteBranchOnPurgeEnabled, deleteSchedule, deleteThreadRecord, deriveTaskState, desktopHostPidPath, detectAgents, detectGhStack, detectLocalMergeConflicts, detectOptionalServiceClis, disconnectAbleTimeConnection, disconnectBrightsyTeam, disconnectLinear, disconnectLinearConnection, disconnectOptionalService, disconnectRemoteAccount, disconnectSlackWorkspace, discoverSkills, downloadAbleTimeAttachment, downloadGitHubIssueAttachment, downloadLinearAttachment, dropCachedPrefixOnResume, emptyPublicIntegrations, emptyRunLog, emptySetupLog, encodeBrightsyTarget, endedOnAskUser, enrichPathWithNpmGlobalBin, enrichWorkspacesWithGithub, ensureAbleTimeAccessToken, ensureAbleTimeTask, ensureAgentPath, ensureBrightsyLocalConfigFresh, ensureBrightsyOAuthClientId, ensureCloudCoordinator, ensureConnectedBrightsyTeamTokens, ensureGhPreferOrigin, ensureGlobalCoordinatorCwd, ensureManagedAccountDir, ensureRemoteCoordinator, ensureRemoteHostCredentials, ensureReviewGuidelinesFile, ensureReviewRequestFile, ensureReviewSkillFile, ensureSlackCoordinator, ensureSlackDeviceIdentity, ensureWorkspace, estimateMessageChars, estimateOccupancyTokens, estimateThreadChars, examplePrefixedBranch, expandComposerPrompt, extractBrightsyContextSummary, extractGhErrorDetail, extractPendingPlanQuestions, extractPresentedPlan, extractiveSummary, fastForwardMainCheckoutIfSafe, fetchOriginForWorktree, fetchPrHead, finalizeParts, findAgentDoneCustomSoundPath, findConventionSetup, findInvalidCacheControlTtlOrder, findLastBrightsyContextSummary, findLiveThreadForCreate, findLiveThreadForCreateSource, findManagedAccount, findOrphanWorktrees, findProjectProfileKey, findRemoteCoordinator, findSlackCoordinator, findThreadByRef, findThreadForStackLayer, fireSchedule, flattenTurnInput, flipLinearRelationType, foldLegacyRolesIntoNotes, followUpBehavior, forkChatTab, forkMessageSlice, forkThreadWorktree, formatAccountProfilePlaybookLine, formatArtifactDirective, formatAskUserNotifyMessage, formatBrightsyFetchError, formatClaudeExtraUsageDetail, formatClaudeUsageCompact, formatClaudeUsageFetchedAt, formatClaudeUsageOverLimitConfirm, formatClaudeUsageOverLimitWait, formatClaudeUsageReset, formatClaudeUsageResetClock, formatClaudeUsageTooltip, formatCloudTurnReply, formatDetachedJobInvoke, formatDevAccessHint, formatFetchError, formatGhLandError, formatGitAuthModeDirective, formatInjectedNoticesForTurn, formatIpcInvokeError, formatIssueToolsDirective, formatIssueToolsReminder, formatLinearDirective, formatLinearReminder, formatLongRunningDirective, formatLongRunningReminder, formatMergePrError, formatMessagesAsTranscript, formatNotifyOrchestratorPrompt, formatOptionalServicesDirective, formatOptionalServicesReminder, formatPlanQuestionAnswers, formatPlanQuestionsForChat, formatPrGateDirective, formatProcessGuideDirective, formatProjectProfilePlaybookLines, formatRateLimitResetHint, formatRemotePrompt, formatRenameBranchDirective, formatScheduleWhen, formatScheduledPrompt, formatSlackExternalReplyPrompt, formatSlackInboundPrompt, formatSlackRepliesForTurn, formatSlackReplyContinuePrompt, formatSlackSignedReply, formatSlackTurnReply, formatSlackWorkingText, formatTranscriptMarkdown, formatUiReminder, formatViewerContextDirective, formatViewerContextReminder, formatWorkspaceInventory, formatWorkspaceProfileSuffix, formatWorktreeDirective, formatWorktreeReminder, forwardContextUsage, forwardOccupancyTokens, fromInclusiveInputUsage, getAbleTimeAccessToken, getAbleTimeHost, getAbleTimeOrientation, getAbleTimeTask, getAdapter, getAgentRpcServer, getAgentSetupInfo, getBrightsySession, getCaffeinateHold, getClaudePlanUsage, getDefaultAgent, getDefaultEffort, getDefaultFast, getDefaultModel, getDefaultRunScript, getDiff, getDiffSummary, getGitHubIssue, getGitHubStatus, getGithubGitAuthMode, getGithubPat, getHomeBoardInputs, getIssueSource, getLinearApiKey, getLinearAuthToken, getLinearIssue, getOrchestrator, getPr, getPrChecks, getPrDetails, getPrForHeadBranch, getPrMeta, getPrStack, getRepoSetupInfo, getRunMode, getRunScript, getSchedule, getSlackWorkspace, getWorktreeDirtyStat, gh, ghHeadRef, ghPrCreateAssigneeArgs, ghRepoSelectArgs, git, gitBranchPrefixSetting, githubAgentGitEnv, githubHttpsInsteadOfEntries, githubProjectsOnIssue, githubRelationEditFlag, globalAgentCwd, groupHomeBoardWorktrees, handleRemoteInbound, handleSlackInbound, harnessEnvKey, hasBakedAbleTimeOAuth, hasBakedLinearOAuth, hasBakedSlackOAuth, hasConductorHook, hasConventionSetup, hasCursorWorktreeSetup, hasEnabledSchedules, hasRepoHook, hasWorkspaceHook, hasWorkspaceSettingsToml, healOrchestrationSoccerTitles, historyMaxCount, historyMaxDays, hottestClaudeWindow, httpFetch, importAgentDoneCustomSound, importConductorWorkspace, importConductorWorkspaceAsync, initPrStack, initStackFromThread, initializeGitRepository, inspectGitWorktree, installAgent, installNpmGlobalPackage, installOptionalServiceCli, interruptSlackCoordinatorForInbound, invalidateThreadListCache, invalidateThreadRecord, isAbleTimeConnected, isAbleTimeOAuthCancelled, isAbleTimeRejectedCredential, isAdoptableRunScriptRequest, isAgentDoneSound, isAskUserToolName, isBrightsyConnected, isBrightsyNdjsonLine, isChatTextScale, isCloudCoordinatorThread, isCompactToolName, isConductorBundledCli, isContextCompactDone, isContextCompactInProgress, isCowboyThread, isCursorApiKeyConfigured, isCursorAutoModel, isCursorSdkInstalled, isDefaultishSourceRef, isDesktopHostAlive, isDirty, isGhPrBodyTooLongError, isGhRateLimitError, isGlobalRepoPath, isGlobalThread, isHistoryRetentionStub, isHomeBoardThread, isImageFilePath, isInPrStack, isInboundForThisDesktop, isIncompleteTaskState, isInjectedNoticeText, isInjectedOrchMcpName, isInternalAgentStatusText, isIssueSourceConnected, isLinearConnected, isLinearNoneToken, isLinearOAuthCancelled, isManagedAccountKind, isOptionalServiceId, isOrchestratorCapableAgent, isOrchestratorThread, isOtherWorktreeListenerCwd, isPidAlive, isPlaceholderBranch, isPlanQuestionAnswersMessage, isPollWrapperToolName, isPrNotMergeableError, isPresentPlanToolName, isPrimaryCheckoutThread, isRemoteAccountLoginCancelled, isRemoteStopCommand, isRemovedWorkspace, isSelfWrittenRecord, isSessionQuotaLimit, isSetupLastError, isShellToolName, isSideboardScratchPath, isSkillToolName, isSlackCoordinatorThread, isSlackExternalReplyPrompt, isSlackOAuthCancelled, isStaleLastErrorDuringTurn, isSubagentToolName, isSystemStatusThinking, isTerminalTaskState, isThinkingEffort, isThisProcessDesktopHost, isThisWorktreeListenerCwd, isThreadCaffeinated, isThreadRecordFile, isUnclaimedRunScriptRequest, isUsageOnLimit, isWorkspaceScratchPath, issueAttachmentForAbleTimeTask, issueMatchesAssignee, issueSourceLabel, issueTicketFromThread, killDetachedRunTree, killListenersOnPorts, killStaleWorktreeListeners, killableListenerPids, lastAgentReply, lastAssistantMessageText, lastRequestOccupancy, latestPendingPlanQuestions, linearAuthorizationHeader, linearCycleIsActive, linearGraphql, linearOAuthAuthorizeUrl, linearOAuthCredentials, linearRelationCreateInput, linearTicketIdFromThread, linkifyChatUrls, listAbleTimeAssignedIssues, listAbleTimeProjects, listAbleTimeTasks, listAgentSetupInfo, listBoardPins, listBranchCommits, listBranches, listBrightsyAccounts, listBrightsyChatTargets, listCodexModels, listConductorWorkspaces, listConnectedBrightsyTeams, listCursorModels, listGitHubIssueCommentsSince, listGitHubIssues, listGitHubProjects, listGlobalThreads, listIssues, listLinearAssignedIssues, listLinearCommentsSince, listLinearIssues, listLinearIssuesDirect, listLinearIssuesFiltered, listLinearProjects, listLinearTeamCycles, listLinearTeams, listModelsForAgent, listOpencodeModels, listPrs, listRunScripts, listSchedules, listSlackOutboundWatches, listSlackWorkspaces, listThreads, listWorkspaces, listWorktreeFiles, listWorktrees, listenerCwd, liveActivitySummary, loadAppSettings, loadBrightsyConfig, loadConductorSettings, loadHomeBoardInputs, loadRepoSettings, loadWorkspaceSettings, loadWorktreeRunPorts, localhostPreviewUrl, locksDir, loginAgent, loginEnvPrefix, loginManagedAccount, looksLikeComposerSkillExpansion, looksLikeConversationSummary, looksLikeIncompleteSkillDump, looksLikeSkillBody, lookupSoccerTeam, managedAccountConfigDir, mapAbleTimeTask, markPrReady, materializeSystemCaBundle, maxConcurrentAgents, maybeCompactContext, mcpAllowTools, mcpAllowToolsFromNames, mcpAuthWarnings, mcpStatusThinkingFromClaudeInit, mentionsPrGoal, mergeAgentGitAuthEnv, mergePr, mergePrStack, mergeSetupOutput, mergeSideboardIntoMcpServersJson, mergeUsage, messagePartParentId, messagesForCompactArchive, messagesSinceLastBrightsyContextSummary, mirrorHostConfig, moveQueuedItemToFront, needsCoordinatorAction, nextManagedAccount, nextPastedTextName, nextThinkingEffort, nonInteractiveGitProcessEnv, normalizeAbleTimeCredential, normalizeAbleTimeHost, normalizeBrightsyEndpoint, normalizeCodeSelection, normalizeLinearRelationType, normalizeManagedAccounts, normalizeParseResult, normalizeReviewLabel, normalizeServiceOrigin, normalizeThinkingEffort, normalizeThread, normalizeTurnInput, normalizeWorkspaceTags, normalizeWorktreePath, notifyOrchestrator, npmGlobalNodeModules, npmGlobalPrefix, openInSystemTerminal, openPrStackLayers, openStackLayer, opencodeAdapter, optionalServiceConnected, optionalServiceSpec, orchestrationQuotaFallbackAgent, orchestrationQuotaOnLimit, orchestrationTitleNeedsSoccerNickname, orchestratorSessionPoisonedByBuiltins, originFetchBranch, originGhRepoEnv, outboundReplyFromTurn, packagedDetachedJobPath, parseAbleTimeOAuthCallbackUrl, parseChatLink, parseClaudeUsagePayload, parseCursorRunnerLine, parseDevPreview, parseDurationMs, parseForceStopMessage, parseGhStackViewJson, parseGitHubIssueNumber, parseGithubSlugFromRemoteUrl, parseMcpList, parsePlanQuestionsInput, parsePrDetailsView, parseSessionQuotaResetAt, parseSlackRelayClientMessage, parseSlackRelayServerMessage, partsToAssistantText, pastedTextStats, patchReadAloudSettings, pendingInjectedNotices, pendingSlackExternalReplies, permissionMode, persistPendingFileAttachments, persistVaultKeyInKeychain, planFileAbs, planHistoryAgePurge, planHistoryRetention, planModeTurnInstruction, planQuestionsSignature, pnpmFilterPackage, pollSlackOutboundWatches, posixShellSingleQuote, preferredCursorCostCents, prepareTerminalCommand, prependQueuedItem, previewLand, previousCostBaseline, primaryCheckoutFromLinkedWorktree, promptMentionsBrightsy, pushBranch, readAgentDoneCustomSound, readAgentRuntimeMetadata, readExistingReviewRequestFile, readKeychainVaultKey, readPlanFile, readRunLog, readSetupLog, readSkillBody, readThread, readViewerContext, readWorktreeFile, readWorktreeFileForUpload, readWorktreeInclude, recordScheduleRun, recordSlackOutboundWatch, refreshBrightsyAccessToken, refreshGitHubAuth, registerBrightsyOAuthClient, registerPackagedUserMcpClients, releaseCaffeinateHoldForThread, releaseDesktopHost, remoteCoordinatorSourceRef, remoteRelayUrl, removeBoardPin, removeManagedAccount, removeQueuedItem, removeWorkspace, removeWorktree, renameManagedAccount, repoSlug, requestOccupancy, requestReview, requireAgent, reservePort, reservePortRange, resetGhStackDetectCache, resetGithubAgentTokenMemo, resolveAbleTimeOAuthHost, resolveAccountForThread, resolveAccountProfile, resolveAccountProfileFromSettings, resolveAgentExecutable, resolveAgentGitAuthEnv, resolveClaudeExecutable, resolveCodexGitWritableRoots, resolveCommandBinarySync, resolveConductorCursorAgentId, resolveCreateFirstPrompt, resolveCursorModelId, resolveCursorSdkRoot, resolveDefaultBranch, resolveDetachedJobScript, resolveDiffBaseRef, resolveEffectiveIssueSource, resolveFilesToCopy, resolveGhAuthToken, resolveGitBranchPrefix, resolveGitDirsForLockRecovery, resolveGitHubIssueRepo, resolveGithubAgentToken, resolveGithubRepoSlug, resolveLinearCycle, resolveLinearLabel, resolveLinearProject, resolveLinearState, resolveLinearTeam, resolveLoginCommand, resolveNewOrchestratorOptions, resolveNewThreadOptions, resolveOrchChildFollowUp, resolveOrchestratorDefaults, resolvePlanMarkdown, resolvePrSelector, resolvePrSelectors, resolveProjectReviewLabel, resolveQuotaFallbackAgent, resolveRepoRoot, resolveReviewGuidelines, resolveScheduleThreadId, resolveSendFollowUp, resolveSidebarGitPrompt, resolveSlackListenMode, resolveThreadDefaults, resolveThreadEffort, resolveUsageOnLimit, resolveVaultKey, resolveViewerProfile, resolveViewerProfileForRepo, resolveWorktreeStartPoint, reviewLabelForRepo, rewriteAbleTimeError, rewriteLinearError, run, runArchiveScript, runCloudConnect, runConventionSetup, runCursorWorktreeSetup, runRemoteHost, runScriptPreview, runSetupScript, runSlackListen, runSlackRelayClient, runWorkspaceSetup, sameWorkspacePath, sameWorktreePath, sanitizeGitBranchPrefix, sanitizeMcpServerName, sanitizeReadAloudVoiceURI, saveAbleTimeConnection, saveAppSettings, saveLinearOAuth, saveWorktreeRunPorts, scheduleNeedsCaffeinate, schedulesPath, scrubGithubTokensFromChildEnv, searchAbleTimeTasks, secureFileUnlocksWith, selectManagedAccount, setCaffeinateHold, setHttpFetchImpl, setStatus, setVaultMasterKey, settingsSourceLabel, shiftQueuedItem, shouldAttachPastedText, shouldCompactContext, shouldInjectBrightsyMcp, shouldNotifyOrchestrator, shouldRefreshReviewRequestTemplate, shouldRegisterPresentPlan, shouldRemoveWorktreeOnTeardown, shouldResetSessionForOccupancy, shouldRunHistoryCleanup, shouldRunWorktreeCleanup, shouldStampSetupLastError, showCostEnabled, sideboardHomeDir, sideboardMcpProfile, sideboardReposDir, sideboardWorkspacesDir, skillCommandFromBody, skillCommandFromInput, skillNameFromFrontmatter, slackAppLevelToken, slackArchiveUrl, slackCoordinatorSourceRef, slackListenEnabled, slackOAuthCredentials, slackOAuthResultUrl, slackRelayUrl, sliceRunLogOutput, slimMessagesForUiList, slimThreadForUiList, slugify, spawnAgentTurn, splitForCompaction, splitTurnInputForSystemPrompt, stackAgentDefaultsFrom, stackIdFrom, stackMergeReadiness, stageAbsolutePathsAsAttachments, stageBuffersAsAttachments, startAbleTimeOAuth, startAgentRpcServer, startDevServer, startLinearOAuth, startMcpServer, startOrchestration, startRelayServer, startRemoteAccountLogin, startSlackOAuth, statWorktreePath, stopAgentRpcServer, stripBrightsyNdjsonNoise, stripNestedElectronEnv, submitPrStack, suggestSlug, sumUsageList, summarizeConversation, switchBrightsyAccount, switchWorktreeBranch, syncWorkspacesFromThreads, systemConfigDir, takePendingTurnAttachments, takenTeamSlugsForChatTab, takenTeamSlugsForOrchestration, taskMessageText, taskUrl, thinkingEffortBars, thinkingEffortLabel, thisProcessShouldDrainAgentQueues, threadDisplayLabel, threadFilePath, threadHasCompactedContext, threadLivePath, threadLockPath, threadMayPresentPlan, threadRequestsBrightsyMcp, threadsDir, threadsSharingWorktree, ticketSlugForBranch, toAbleTimeIssueInfo, toGitHubIssueInfo, toPublicAppSettings, toolActivityLine, toolDescription, toolDetail, toolFilePath, totalTokens, trustSystemCertificates, tryReservePort, tryReservePorts, turnCostUsdFromCursorUsage, turnCostUsdFromProviderSnapshot, updateAbleTimeTask, updateAdvancedSettings, updateAgentExecutable, updateAppEnvironment, updateBrightsySettings, updateClaudeSettings, updateCodexSettings, updateDefaultsSettings, updateGitHubIssue, updateIntegrationsSettings, updateLinearIssue, updateOpencodeSettings, updateProjectProfileSettings, updateSchedule, updateThread, usageOnLimit, userClaudeMcpConfigPath, userCursorMcpConfigPath, userMcpNamesToDisable, validateLinearApiKey, verifyAbleTimeConnection, verifyOptionalService, visibleAgentBlock, visibleAssistantText, visibleToolRowDetail, waitForPidExit, warmGithubAgentAuth, whichOnPath, withAddedAccount, withEventParentId, withEventsParentId, withExportedPath, withMaxOldSpaceSize, withRemovedAccount, withSelectedAccount, withThreadLock, withTurnScopedCost, workspaceAgentChatSummaries, workspaceSettingsSourceLabel, workspaceTagTargetRef, workspaceTagsFromGroup, worktreeAgentBlock, worktreeBoardStatus, worktreeCleanupSettings, worktreeDisplayLabel, worktreeDisplayLabelForGroup, worktreeNameFromPath, worktreeRunPortsPath, worktreeSlugForTicket, worktreesRoot, wrapReviewSkillMarkdown, writeInjectedMcpConfig, writePlanFile, writeThread, writeViewerContext, writeWorktreeFile };
package/dist/index.js CHANGED
@@ -198,7 +198,7 @@ import {
198
198
  worktreeBoardStatus,
199
199
  worktreeCleanupSettings,
200
200
  writeWorktreeFile
201
- } from "./chunk-C6NVTLZK.js";
201
+ } from "./chunk-LKVP7JCB.js";
202
202
  import {
203
203
  BASE_ALLOWED_TOOLS,
204
204
  BRIGHTSY_MCP_ALLOWED_TOOLS,
@@ -288,7 +288,7 @@ import {
288
288
  whichOnPath,
289
289
  worktreeMcpToolNames,
290
290
  writeInjectedMcpConfig
291
- } from "./chunk-XSPOJFTV.js";
291
+ } from "./chunk-Z3EE3PUZ.js";
292
292
  import {
293
293
  brightsyMcpServerName,
294
294
  connectBrightsyTeam,
@@ -415,7 +415,7 @@ import {
415
415
  workspaceAgentChatSummaries,
416
416
  worktreeRunPortsPath,
417
417
  wrapReviewSkillMarkdown
418
- } from "./chunk-BMUVNTT4.js";
418
+ } from "./chunk-L65YT2SC.js";
419
419
  import {
420
420
  STDERR_EVENT_MAX_CHARS,
421
421
  STDOUT_EVENT_MAX_CHARS,
@@ -556,6 +556,8 @@ import {
556
556
  SIDEBOARD_FORCE_STOP,
557
557
  SLACK_REPLY_FORMATTING,
558
558
  addWorkspace,
559
+ archiveRemovedWorkspaceChats,
560
+ archivesWithRemovedWorkspace,
559
561
  attachmentFromAbsolutePath,
560
562
  attachmentsFromBuffers,
561
563
  attachmentsFromWorktreePaths,
@@ -594,7 +596,7 @@ import {
594
596
  stageBuffersAsAttachments,
595
597
  syncWorkspacesFromThreads,
596
598
  takenTeamSlugsForOrchestration
597
- } from "./chunk-WY2IAB7J.js";
599
+ } from "./chunk-ZGAMETNF.js";
598
600
  import {
599
601
  GITHUB_PR_BODY_MAX_CHARS,
600
602
  GITHUB_PR_BODY_SAFE_CHARS,
@@ -5016,7 +5018,7 @@ async function handleJobStop(params, _ctx) {
5016
5018
  return stopDetachedJob(jobCwd(rec), id, reason ? { reason } : void 0);
5017
5019
  }
5018
5020
  async function defaultTurnWait(ref, timeoutMs) {
5019
- const { getOrchestrator: getOrchestrator2 } = await import("./orchestrator-F7KXYDQW.js");
5021
+ const { getOrchestrator: getOrchestrator2 } = await import("./orchestrator-2UAVOXTN.js");
5020
5022
  const orch = getOrchestrator2();
5021
5023
  const thread = await orch.waitForTurn(ref, timeoutMs, {
5022
5024
  resolveIfStillRunning: true
@@ -12486,7 +12488,7 @@ async function continueSourceThread(threadId, prompt) {
12486
12488
  await continueOnReply(threadId, prompt);
12487
12489
  return;
12488
12490
  }
12489
- const { getOrchestrator: getOrchestrator2 } = await import("./orchestrator-F7KXYDQW.js");
12491
+ const { getOrchestrator: getOrchestrator2 } = await import("./orchestrator-2UAVOXTN.js");
12490
12492
  await getOrchestrator2().send(threadId, prompt);
12491
12493
  } catch {
12492
12494
  }
@@ -12945,6 +12947,8 @@ export {
12945
12947
  applyThreadIntoMain,
12946
12948
  applyTurnUsage,
12947
12949
  applyWorkspaceTags,
12950
+ archiveRemovedWorkspaceChats,
12951
+ archivesWithRemovedWorkspace,
12948
12952
  armSchedules,
12949
12953
  assertAbleTimeCredential,
12950
12954
  assertAbleTimeMcpCredential,
@@ -9420,6 +9420,8 @@ var init_stage_files = __esm({
9420
9420
  var workspaces_exports = {};
9421
9421
  __export(workspaces_exports, {
9422
9422
  addWorkspace: () => addWorkspace,
9423
+ archiveRemovedWorkspaceChats: () => archiveRemovedWorkspaceChats,
9424
+ archivesWithRemovedWorkspace: () => archivesWithRemovedWorkspace,
9423
9425
  ensureWorkspace: () => ensureWorkspace,
9424
9426
  isRemovedWorkspace: () => isRemovedWorkspace,
9425
9427
  listWorkspaces: () => listWorkspaces,
@@ -9476,10 +9478,33 @@ function sameWorkspacePath(a, b) {
9476
9478
  if (primaryB && primaryB === left) return true;
9477
9479
  return false;
9478
9480
  }
9481
+ function pathIsInside(parent, child) {
9482
+ const root = parent.replace(/\/+$/, "");
9483
+ const path = child.replace(/\/+$/, "");
9484
+ if (!root || !path) return false;
9485
+ return path === root || path.startsWith(`${root}/`);
9486
+ }
9487
+ function defaultWorktreesRoot(repoPath) {
9488
+ const slug = (0, import_node_path23.basename)(repoPath.replace(/\/+$/, "")) || "repo";
9489
+ return (0, import_node_path23.join)((0, import_node_os8.homedir)(), "sideboard", "workspaces", slug);
9490
+ }
9491
+ function removedWorktreeCoversRepo(saved, repoPath) {
9492
+ if (!saved || !repoPath) return false;
9493
+ if (pathIsInside(defaultWorktreesRoot(repoPath), saved)) return true;
9494
+ try {
9495
+ const custom = loadRepoSettings(repoPath)?.worktreesRoot;
9496
+ if (custom && pathIsInside(custom, saved)) return true;
9497
+ } catch {
9498
+ }
9499
+ return false;
9500
+ }
9479
9501
  function removedMatches(saved, repoPath) {
9480
9502
  if (saved === repoPath || sameWorkspacePath(saved, repoPath)) return true;
9481
9503
  const primary = primaryCheckoutFromLinkedWorktree(repoPath);
9482
- return Boolean(primary && sameWorkspacePath(saved, primary));
9504
+ if (primary && (sameWorkspacePath(saved, primary) || removedWorktreeCoversRepo(saved, primary))) {
9505
+ return true;
9506
+ }
9507
+ return removedWorktreeCoversRepo(saved, repoPath);
9483
9508
  }
9484
9509
  function isRemovedWorkspace(repoPath) {
9485
9510
  if (!repoPath) return false;
@@ -9488,6 +9513,10 @@ function isRemovedWorkspace(repoPath) {
9488
9513
  }
9489
9514
  return false;
9490
9515
  }
9516
+ function archivesWithRemovedWorkspace(threadRepoPath, removedPath) {
9517
+ if (!threadRepoPath || isGlobalRepoPath(threadRepoPath)) return false;
9518
+ return removedMatches(removedPath, threadRepoPath);
9519
+ }
9491
9520
  function rememberRemoved(repoPath) {
9492
9521
  const next = readRemoved();
9493
9522
  const before = next.size;
@@ -9495,6 +9524,8 @@ function rememberRemoved(repoPath) {
9495
9524
  next.add(canon);
9496
9525
  const raw = repoPath.replace(/\/+$/, "");
9497
9526
  if (raw && raw !== canon) next.add(raw);
9527
+ const primary = primaryCheckoutFromLinkedWorktree(repoPath) ?? (canon !== repoPath ? primaryCheckoutFromLinkedWorktree(canon) : null);
9528
+ if (primary) next.add(primary);
9498
9529
  if (next.size !== before) writeRemoved(next);
9499
9530
  }
9500
9531
  function forgetRemoved(repoPath) {
@@ -9627,12 +9658,25 @@ function syncWorkspacesFromThreads(repoPaths) {
9627
9658
  if (dirty) writeAll(next);
9628
9659
  return next.sort((a, b) => a.name.localeCompare(b.name));
9629
9660
  }
9630
- var import_node_fs20, import_node_path23;
9661
+ async function archiveRemovedWorkspaceChats(threads, archive) {
9662
+ const failures = [];
9663
+ for (const thread of threads) {
9664
+ try {
9665
+ await archive(thread.id);
9666
+ } catch (err) {
9667
+ failures.push(err instanceof Error ? err.message : String(err));
9668
+ }
9669
+ }
9670
+ if (failures.length > 0) throw new Error(failures.join("\n"));
9671
+ }
9672
+ var import_node_fs20, import_node_os8, import_node_path23;
9631
9673
  var init_workspaces = __esm({
9632
9674
  "src/store/workspaces.ts"() {
9633
9675
  "use strict";
9634
9676
  import_node_fs20 = require("fs");
9677
+ import_node_os8 = require("os");
9635
9678
  import_node_path23 = require("path");
9679
+ init_settings();
9636
9680
  init_paths();
9637
9681
  init_global_workspace();
9638
9682
  init_worktree();
@@ -10215,7 +10259,7 @@ var init_turn_trace = __esm({
10215
10259
  function brightsyConfigPath() {
10216
10260
  const override = process.env.BRIGHTSY_CONFIG?.trim();
10217
10261
  if (override) return override;
10218
- return (0, import_node_path26.join)((0, import_node_os8.homedir)(), ".brightsy", "config.json");
10262
+ return (0, import_node_path26.join)((0, import_node_os9.homedir)(), ".brightsy", "config.json");
10219
10263
  }
10220
10264
  function loadBrightsyConfig() {
10221
10265
  const path = brightsyConfigPath();
@@ -10234,12 +10278,12 @@ function saveBrightsyConfig(cfg) {
10234
10278
  mode: 384
10235
10279
  });
10236
10280
  }
10237
- var import_node_fs23, import_node_os8, import_node_path26;
10281
+ var import_node_fs23, import_node_os9, import_node_path26;
10238
10282
  var init_config = __esm({
10239
10283
  "src/brightsy/config.ts"() {
10240
10284
  "use strict";
10241
10285
  import_node_fs23 = require("fs");
10242
- import_node_os8 = require("os");
10286
+ import_node_os9 = require("os");
10243
10287
  import_node_path26 = require("path");
10244
10288
  }
10245
10289
  });
@@ -11287,7 +11331,7 @@ function versionDirNodeBins(root, toBin) {
11287
11331
  return [];
11288
11332
  }
11289
11333
  }
11290
- function defaultNodeBinCandidates(home = (0, import_node_os9.homedir)()) {
11334
+ function defaultNodeBinCandidates(home = (0, import_node_os10.homedir)()) {
11291
11335
  const kegs = ["/opt/homebrew", "/usr/local"].flatMap(
11292
11336
  (prefix) => PREFERRED_LTS_MAJORS.map((major) => (0, import_node_path29.join)(prefix, "opt", `node@${major}`, "bin", "node"))
11293
11337
  );
@@ -11402,12 +11446,12 @@ async function resolveNodeLaunch(scriptPath) {
11402
11446
  env: { ELECTRON_RUN_AS_NODE: "1" }
11403
11447
  };
11404
11448
  }
11405
- var import_node_fs27, import_node_os9, import_node_path29, AGENT_RUNNER_MAX_OLD_SPACE_MB, MAX_OLD_SPACE_FLAG, PREFERRED_LTS_MAJORS;
11449
+ var import_node_fs27, import_node_os10, import_node_path29, AGENT_RUNNER_MAX_OLD_SPACE_MB, MAX_OLD_SPACE_FLAG, PREFERRED_LTS_MAJORS;
11406
11450
  var init_node_launch = __esm({
11407
11451
  "src/agents/node-launch.ts"() {
11408
11452
  "use strict";
11409
11453
  import_node_fs27 = require("fs");
11410
- import_node_os9 = require("os");
11454
+ import_node_os10 = require("os");
11411
11455
  import_node_path29 = require("path");
11412
11456
  init_nested_electron_env();
11413
11457
  init_system_ca();
@@ -11706,18 +11750,18 @@ function mcpServersRecord(servers, extraServers) {
11706
11750
  function writeMcpServersConfig(servers, extraServers) {
11707
11751
  const mcpServers = mcpServersRecord(servers, extraServers);
11708
11752
  if (Object.keys(mcpServers).length === 0) return null;
11709
- const dir = (0, import_node_fs28.mkdtempSync)((0, import_node_path30.join)((0, import_node_os10.tmpdir)(), "sideboard-mcp-"));
11753
+ const dir = (0, import_node_fs28.mkdtempSync)((0, import_node_path30.join)((0, import_node_os11.tmpdir)(), "sideboard-mcp-"));
11710
11754
  const cfgPath = (0, import_node_path30.join)(dir, "mcp.json");
11711
11755
  (0, import_node_fs28.writeFileSync)(cfgPath, JSON.stringify({ mcpServers }, null, 2));
11712
11756
  return cfgPath;
11713
11757
  }
11714
- var import_node_fs28, import_node_module, import_node_os10, import_node_path30, import_node_url, import_meta, SIDEBOARD_MCP_ALLOWED_TOOLS, SIDEBOARD_ARTIFACT_MCP_ALLOWED_TOOLS, SIDEBOARD_GITHUB_MCP_ALLOWED_TOOLS, SIDEBOARD_LINEAR_MCP_ALLOWED_TOOLS, SIDEBOARD_ABLETIME_MCP_ALLOWED_TOOLS, brightsyMcpCommandCache, BRIGHTSY_WORD;
11758
+ var import_node_fs28, import_node_module, import_node_os11, import_node_path30, import_node_url, import_meta, SIDEBOARD_MCP_ALLOWED_TOOLS, SIDEBOARD_ARTIFACT_MCP_ALLOWED_TOOLS, SIDEBOARD_GITHUB_MCP_ALLOWED_TOOLS, SIDEBOARD_LINEAR_MCP_ALLOWED_TOOLS, SIDEBOARD_ABLETIME_MCP_ALLOWED_TOOLS, brightsyMcpCommandCache, BRIGHTSY_WORD;
11715
11759
  var init_injected_mcp = __esm({
11716
11760
  "src/agents/injected-mcp.ts"() {
11717
11761
  "use strict";
11718
11762
  import_node_fs28 = require("fs");
11719
11763
  import_node_module = require("module");
11720
- import_node_os10 = require("os");
11764
+ import_node_os11 = require("os");
11721
11765
  import_node_path30 = require("path");
11722
11766
  import_node_url = require("url");
11723
11767
  init_run();
@@ -11770,14 +11814,14 @@ var init_injected_mcp = __esm({
11770
11814
 
11771
11815
  // src/agents/user-mcp-config.ts
11772
11816
  function userClaudeMcpConfigPath() {
11773
- return (0, import_node_path31.join)((0, import_node_os11.homedir)(), ".claude.json");
11817
+ return (0, import_node_path31.join)((0, import_node_os12.homedir)(), ".claude.json");
11774
11818
  }
11775
- var import_node_fs29, import_node_os11, import_node_path31;
11819
+ var import_node_fs29, import_node_os12, import_node_path31;
11776
11820
  var init_user_mcp_config = __esm({
11777
11821
  "src/agents/user-mcp-config.ts"() {
11778
11822
  "use strict";
11779
11823
  import_node_fs29 = require("fs");
11780
- import_node_os11 = require("os");
11824
+ import_node_os12 = require("os");
11781
11825
  import_node_path31 = require("path");
11782
11826
  init_paths();
11783
11827
  init_injected_mcp();
@@ -11818,10 +11862,10 @@ function readText(path) {
11818
11862
  return "";
11819
11863
  }
11820
11864
  }
11821
- function userCodexConfigPaths(home = (0, import_node_os12.homedir)()) {
11865
+ function userCodexConfigPaths(home = (0, import_node_os13.homedir)()) {
11822
11866
  return [(0, import_node_path32.join)(home, ".codex", "config.toml"), (0, import_node_path32.join)(home, ".config", "codex", "config.toml")];
11823
11867
  }
11824
- function userOpencodeConfigPaths(home = (0, import_node_os12.homedir)()) {
11868
+ function userOpencodeConfigPaths(home = (0, import_node_os13.homedir)()) {
11825
11869
  return [
11826
11870
  (0, import_node_path32.join)(home, ".config", "opencode", "opencode.json"),
11827
11871
  (0, import_node_path32.join)(home, ".config", "opencode", "opencode.jsonc")
@@ -11843,7 +11887,7 @@ function userMcpNamesToDisable(opts) {
11843
11887
  }
11844
11888
  return out;
11845
11889
  }
11846
- function listUserCodexMcpNames(home = (0, import_node_os12.homedir)()) {
11890
+ function listUserCodexMcpNames(home = (0, import_node_os13.homedir)()) {
11847
11891
  const names = [];
11848
11892
  for (const path of userCodexConfigPaths(home)) {
11849
11893
  if (!(0, import_node_fs30.existsSync)(path)) continue;
@@ -11851,7 +11895,7 @@ function listUserCodexMcpNames(home = (0, import_node_os12.homedir)()) {
11851
11895
  }
11852
11896
  return names;
11853
11897
  }
11854
- function listUserOpencodeMcpNames(home = (0, import_node_os12.homedir)()) {
11898
+ function listUserOpencodeMcpNames(home = (0, import_node_os13.homedir)()) {
11855
11899
  const names = [];
11856
11900
  for (const path of userOpencodeConfigPaths(home)) {
11857
11901
  if (!(0, import_node_fs30.existsSync)(path)) continue;
@@ -11859,12 +11903,12 @@ function listUserOpencodeMcpNames(home = (0, import_node_os12.homedir)()) {
11859
11903
  }
11860
11904
  return names;
11861
11905
  }
11862
- function userClaudeMcpConfigObject(home = (0, import_node_os12.homedir)()) {
11863
- const claudePath = home === (0, import_node_os12.homedir)() ? userClaudeMcpConfigPath() : (0, import_node_path32.join)(home, ".claude.json");
11906
+ function userClaudeMcpConfigObject(home = (0, import_node_os13.homedir)()) {
11907
+ const claudePath = home === (0, import_node_os13.homedir)() ? userClaudeMcpConfigPath() : (0, import_node_path32.join)(home, ".claude.json");
11864
11908
  if (!(0, import_node_fs30.existsSync)(claudePath)) return {};
11865
11909
  return asObject(asObject(readJsonObject2(claudePath)).mcpServers);
11866
11910
  }
11867
- function listUserClaudeMcpServerEntries(home = (0, import_node_os12.homedir)()) {
11911
+ function listUserClaudeMcpServerEntries(home = (0, import_node_os13.homedir)()) {
11868
11912
  const out = {};
11869
11913
  for (const [rawName, value] of Object.entries(userClaudeMcpConfigObject(home))) {
11870
11914
  const name = rawName.trim();
@@ -11894,12 +11938,12 @@ function toCodexUnattendedAppsArgs() {
11894
11938
  "features.plugins=false"
11895
11939
  ];
11896
11940
  }
11897
- var import_node_fs30, import_node_os12, import_node_path32, import_smol_toml2;
11941
+ var import_node_fs30, import_node_os13, import_node_path32, import_smol_toml2;
11898
11942
  var init_orch_mcp_isolation = __esm({
11899
11943
  "src/agents/orch-mcp-isolation.ts"() {
11900
11944
  "use strict";
11901
11945
  import_node_fs30 = require("fs");
11902
- import_node_os12 = require("os");
11946
+ import_node_os13 = require("os");
11903
11947
  import_node_path32 = require("path");
11904
11948
  import_smol_toml2 = require("smol-toml");
11905
11949
  init_user_mcp_config();
@@ -12904,8 +12948,8 @@ function usageFromCodex(usage) {
12904
12948
  }
12905
12949
  function codexConfigHasNetworkAccess() {
12906
12950
  const candidates = [
12907
- (0, import_node_path35.join)((0, import_node_os13.homedir)(), ".codex", "config.toml"),
12908
- (0, import_node_path35.join)((0, import_node_os13.homedir)(), ".config", "codex", "config.toml")
12951
+ (0, import_node_path35.join)((0, import_node_os14.homedir)(), ".codex", "config.toml"),
12952
+ (0, import_node_path35.join)((0, import_node_os14.homedir)(), ".config", "codex", "config.toml")
12909
12953
  ];
12910
12954
  for (const path of candidates) {
12911
12955
  if (!(0, import_node_fs34.existsSync)(path)) continue;
@@ -12941,7 +12985,7 @@ function asRecord3(value) {
12941
12985
  return void 0;
12942
12986
  }
12943
12987
  function codexLooksAuthenticated() {
12944
- const authPath = (0, import_node_path35.join)((0, import_node_os13.homedir)(), ".codex", "auth.json");
12988
+ const authPath = (0, import_node_path35.join)((0, import_node_os14.homedir)(), ".codex", "auth.json");
12945
12989
  if (!(0, import_node_fs34.existsSync)(authPath)) return false;
12946
12990
  try {
12947
12991
  return (0, import_node_fs34.statSync)(authPath).size > 2;
@@ -12949,12 +12993,12 @@ function codexLooksAuthenticated() {
12949
12993
  return false;
12950
12994
  }
12951
12995
  }
12952
- var import_node_fs34, import_node_os13, import_node_path35, CODEX_PROMPT_ARG_MAX, FALLBACK_CODEX_MODELS, cachedCodexModels, CODEX_MODEL_CACHE_MS, codexAdapter;
12996
+ var import_node_fs34, import_node_os14, import_node_path35, CODEX_PROMPT_ARG_MAX, FALLBACK_CODEX_MODELS, cachedCodexModels, CODEX_MODEL_CACHE_MS, codexAdapter;
12953
12997
  var init_codex = __esm({
12954
12998
  "src/agents/codex.ts"() {
12955
12999
  "use strict";
12956
13000
  import_node_fs34 = require("fs");
12957
- import_node_os13 = require("os");
13001
+ import_node_os14 = require("os");
12958
13002
  import_node_path35 = require("path");
12959
13003
  init_run();
12960
13004
  init_app_settings();
@@ -14407,12 +14451,12 @@ var init_claude_usage = __esm({
14407
14451
  });
14408
14452
 
14409
14453
  // src/agents/claude-usage-client.ts
14410
- var import_node_fs40, import_node_os14, import_node_path40, CLAUDE_USAGE_ERROR_TTL_MS, CLAUDE_USAGE_STALE_OK_MS;
14454
+ var import_node_fs40, import_node_os15, import_node_path40, CLAUDE_USAGE_ERROR_TTL_MS, CLAUDE_USAGE_STALE_OK_MS;
14411
14455
  var init_claude_usage_client = __esm({
14412
14456
  "src/agents/claude-usage-client.ts"() {
14413
14457
  "use strict";
14414
14458
  import_node_fs40 = require("fs");
14415
- import_node_os14 = require("os");
14459
+ import_node_os15 = require("os");
14416
14460
  import_node_path40 = require("path");
14417
14461
  init_run();
14418
14462
  init_fetch();
@@ -21696,7 +21740,7 @@ function listConductorWorkspaces() {
21696
21740
  if (!(0, import_node_fs55.existsSync)(CONDUCTOR_DB)) {
21697
21741
  throw new Error(`Conductor DB not found at ${CONDUCTOR_DB}`);
21698
21742
  }
21699
- const tmp = (0, import_node_fs55.mkdtempSync)((0, import_node_path53.join)((0, import_node_os15.tmpdir)(), "sideboard-conductor-"));
21743
+ const tmp = (0, import_node_fs55.mkdtempSync)((0, import_node_path53.join)((0, import_node_os16.tmpdir)(), "sideboard-conductor-"));
21700
21744
  const snapshot = (0, import_node_path53.join)(tmp, "conductor.db");
21701
21745
  try {
21702
21746
  (0, import_node_fs55.copyFileSync)(CONDUCTOR_DB, snapshot);
@@ -21787,7 +21831,7 @@ function importConductorWorkspace(workspaceId) {
21787
21831
  if (!(0, import_node_fs55.existsSync)(CONDUCTOR_DB)) {
21788
21832
  throw new Error(`Conductor DB not found at ${CONDUCTOR_DB}`);
21789
21833
  }
21790
- const tmp = (0, import_node_fs55.mkdtempSync)((0, import_node_path53.join)((0, import_node_os15.tmpdir)(), "sideboard-conductor-"));
21834
+ const tmp = (0, import_node_fs55.mkdtempSync)((0, import_node_path53.join)((0, import_node_os16.tmpdir)(), "sideboard-conductor-"));
21791
21835
  const snapshot = (0, import_node_path53.join)(tmp, "conductor.db");
21792
21836
  try {
21793
21837
  (0, import_node_fs55.copyFileSync)(CONDUCTOR_DB, snapshot);
@@ -21882,13 +21926,13 @@ function importConductorWorkspace(workspaceId) {
21882
21926
  async function importConductorWorkspaceAsync(workspaceId) {
21883
21927
  return importConductorWorkspace(workspaceId);
21884
21928
  }
21885
- var import_node_child_process5, import_node_fs55, import_node_os15, import_node_path53, import_node_module6, CONDUCTOR_APP_SUPPORT, CONDUCTOR_DB, CURSOR_SDK_STORE;
21929
+ var import_node_child_process5, import_node_fs55, import_node_os16, import_node_path53, import_node_module6, CONDUCTOR_APP_SUPPORT, CONDUCTOR_DB, CURSOR_SDK_STORE;
21886
21930
  var init_adopt = __esm({
21887
21931
  "src/threads/adopt.ts"() {
21888
21932
  "use strict";
21889
21933
  import_node_child_process5 = require("child_process");
21890
21934
  import_node_fs55 = require("fs");
21891
- import_node_os15 = require("os");
21935
+ import_node_os16 = require("os");
21892
21936
  import_node_path53 = require("path");
21893
21937
  import_node_module6 = require("module");
21894
21938
  init_worktree();
@@ -23440,7 +23484,7 @@ function scanClaudePluginSkills(pluginsRoot, out) {
23440
23484
  walk(pluginsRoot, 0, false);
23441
23485
  }
23442
23486
  function discoverSkills(worktreePath) {
23443
- const home = (0, import_node_os16.homedir)();
23487
+ const home = (0, import_node_os17.homedir)();
23444
23488
  const collected = [];
23445
23489
  for (const rel of [".claude/skills", ".cursor/skills", ".sideboard/skills", ".brightsy/skills", "skills"]) {
23446
23490
  scanSkillsDir((0, import_node_path56.join)(worktreePath, rel), "workspace", collected);
@@ -23493,12 +23537,12 @@ function readSkillBody(skillPath, maxChars = 12e3) {
23493
23537
 
23494
23538
  \u2026(truncated)` : raw;
23495
23539
  }
23496
- var import_node_fs59, import_node_os16, import_node_path56, BUNDLED_SKILL_PREFIX;
23540
+ var import_node_fs59, import_node_os17, import_node_path56, BUNDLED_SKILL_PREFIX;
23497
23541
  var init_discover = __esm({
23498
23542
  "src/skills/discover.ts"() {
23499
23543
  "use strict";
23500
23544
  import_node_fs59 = require("fs");
23501
- import_node_os16 = require("os");
23545
+ import_node_os17 = require("os");
23502
23546
  import_node_path56 = require("path");
23503
23547
  init_long_running();
23504
23548
  BUNDLED_SKILL_PREFIX = "bundled:";
@@ -26021,10 +26065,10 @@ var init_orchestrator = __esm({
26021
26065
  }
26022
26066
  async removeWorkspace(repoPath) {
26023
26067
  removeWorkspace(repoPath);
26024
- for (const thread of listThreads()) {
26025
- if (!sameWorkspacePath(thread.repoPath, repoPath)) continue;
26026
- await this.archive(thread.id).catch(() => void 0);
26027
- }
26068
+ await archiveRemovedWorkspaceChats(
26069
+ listThreads().filter((thread) => archivesWithRemovedWorkspace(thread.repoPath, repoPath)),
26070
+ (id) => this.archive(id)
26071
+ );
26028
26072
  }
26029
26073
  async adopt(input) {
26030
26074
  const thread = await adoptThread(input);
@@ -71,7 +71,7 @@ import {
71
71
  syncBoardPins,
72
72
  updateSchedule,
73
73
  workspaceTagTargetRef
74
- } from "../chunk-2K723QZH.js";
74
+ } from "../chunk-QPBR5SAL.js";
75
75
  import "../chunk-LX5R5JOR.js";
76
76
  import {
77
77
  PRESENT_PLAN_REQUIRES_PLAN_MODE,
@@ -90,7 +90,7 @@ import {
90
90
  sideboardMcpProfile,
91
91
  trustSystemCertificates,
92
92
  worktreeMcpToolNames
93
- } from "../chunk-TXHZJESB.js";
93
+ } from "../chunk-UFJLNCOF.js";
94
94
  import "../chunk-7IAMHN2N.js";
95
95
  import "../chunk-PXMLMBMI.js";
96
96
  import {
@@ -106,7 +106,7 @@ import {
106
106
  waitForDetachedJob,
107
107
  waitForTurnToolResult,
108
108
  workspaceAgentChatSummaries
109
- } from "../chunk-LMWPVC5L.js";
109
+ } from "../chunk-RFPMTOV2.js";
110
110
  import {
111
111
  clipToolResultForStore,
112
112
  isInternalAgentStatusText,
@@ -115,7 +115,7 @@ import {
115
115
  import {
116
116
  GLOBAL_WORKSPACE_ID,
117
117
  isCloudCoordinatorThread
118
- } from "../chunk-2SJXQ4UX.js";
118
+ } from "../chunk-KLAQ4G34.js";
119
119
  import {
120
120
  canonicalizeRepoPath,
121
121
  formatGhLandError,
@@ -9,14 +9,14 @@ import {
9
9
  resolveSendFollowUp,
10
10
  startOrchestration,
11
11
  waitForPidExit
12
- } from "./chunk-C6NVTLZK.js";
13
- import "./chunk-XSPOJFTV.js";
12
+ } from "./chunk-LKVP7JCB.js";
13
+ import "./chunk-Z3EE3PUZ.js";
14
14
  import "./chunk-VGNLMGBK.js";
15
- import "./chunk-BMUVNTT4.js";
15
+ import "./chunk-L65YT2SC.js";
16
16
  import "./chunk-XSDCLM3F.js";
17
17
  import "./chunk-7H655NEW.js";
18
18
  import "./chunk-PGPSIEMW.js";
19
- import "./chunk-WY2IAB7J.js";
19
+ import "./chunk-ZGAMETNF.js";
20
20
  import "./chunk-K5XSTHHP.js";
21
21
  import "./chunk-N5UGX3JL.js";
22
22
  import "./chunk-2P4XKWV2.js";