@sideboard-ai/core 0.1.143 → 0.1.145

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 (31) hide show
  1. package/dist/{agents-OEEOIKUB.js → agents-4WOO4WN4.js} +4 -4
  2. package/dist/{agents-E5AAMHDY.js → agents-VFBNZHI4.js} +4 -4
  3. package/dist/{chunk-OHWN4JEL.js → chunk-2C5RE7K4.js} +1 -1
  4. package/dist/{chunk-EAP4SMR3.js → chunk-335KQKWX.js} +68 -18
  5. package/dist/{chunk-KP4OJUPH.js → chunk-3EMJ5LVV.js} +68 -18
  6. package/dist/{chunk-HC5N3BDL.js → chunk-3UD2LW4P.js} +2 -2
  7. package/dist/{chunk-UG5N7ET3.js → chunk-DN7UA3UT.js} +1 -1
  8. package/dist/{chunk-R2W7A2UO.js → chunk-G3KLNP2B.js} +2 -2
  9. package/dist/{chunk-O3JEC2UJ.js → chunk-JSYIBLBK.js} +77 -8
  10. package/dist/{chunk-4D4PEBGB.js → chunk-LWRNRMYY.js} +2 -2
  11. package/dist/{chunk-4Q45TLZ5.js → chunk-QS5JJ2IM.js} +77 -8
  12. package/dist/{chunk-CG25RYQQ.js → chunk-TTJ6EYZC.js} +3 -3
  13. package/dist/{chunk-VHTIHOHE.js → chunk-UJWGZM4K.js} +3 -3
  14. package/dist/{chunk-FADNFPZO.js → chunk-XUYIJY6D.js} +2 -2
  15. package/dist/{coordinator-prompt-2LD3C74O.js → coordinator-prompt-J2WBXGLP.js} +2 -2
  16. package/dist/{coordinator-prompt-FBX7Y4EM.js → coordinator-prompt-JSX22ULD.js} +2 -2
  17. package/dist/{global-workspace-NG7SU3GV.js → global-workspace-6WR7OGMI.js} +3 -3
  18. package/dist/{global-workspace-OCV77UYF.js → global-workspace-AQESFS7I.js} +3 -3
  19. package/dist/index.cjs +140 -12
  20. package/dist/index.d.cts +20 -1
  21. package/dist/index.d.ts +20 -1
  22. package/dist/index.js +10 -6
  23. package/dist/mcp/run-stdio.cjs +136 -12
  24. package/dist/mcp/run-stdio.js +6 -6
  25. package/dist/{orchestrator-TDJZKQPT.js → orchestrator-WWQBBIPP.js} +6 -6
  26. package/dist/{orchestrator-VIFXOHF4.js → orchestrator-XPGJV7JK.js} +6 -6
  27. package/dist/{workspaces-4FUQW5LD.js → workspaces-V3RNE5ZX.js} +4 -4
  28. package/dist/{workspaces-PU5YHQ7Z.js → workspaces-WALT3MJB.js} +4 -4
  29. package/dist/{worktree-GKLPPNWR.js → worktree-3NLPMA7K.js} +5 -1
  30. package/dist/{worktree-Z22HTSCU.js → worktree-TUZX7F7P.js} +5 -1
  31. package/package.json +1 -1
package/dist/index.d.ts CHANGED
@@ -1674,6 +1674,8 @@ declare function listWorktrees(repoPath: string): Promise<Array<{
1674
1674
  path: string;
1675
1675
  branch: string | null;
1676
1676
  }>>;
1677
+ /** Commits on HEAD not yet on `origin/<branch>`. Unknown / never-pushed counts as ahead. */
1678
+ declare function countUnpushedVsOrigin(worktreePath: string): Promise<number>;
1677
1679
  declare function isDirty(worktreePath: string): Promise<boolean>;
1678
1680
  /**
1679
1681
  * Local workspace scratch (`.context/attachments`, legacy `.sideboard/attachments`).
@@ -1683,6 +1685,12 @@ declare function isSideboardScratchPath(relativePath: string): boolean;
1683
1685
  declare function currentBranch(worktreePath: string): Promise<string>;
1684
1686
  declare function commitAll(worktreePath: string, message: string): Promise<boolean>;
1685
1687
  declare function pushBranch(worktreePath: string, branchName: string): Promise<void>;
1688
+ /** Mark a draft pull request ready for review (`gh pr ready`). Idempotent. */
1689
+ declare function markPrReady(cwd: string, selector: string): Promise<{
1690
+ url: string;
1691
+ state: string;
1692
+ isDraft: boolean;
1693
+ }>;
1686
1694
  /** Merge an open pull request.
1687
1695
  * When the worktree is on a GitHub PR stack, uses `gh stack merge` (atomic through that PR).
1688
1696
  * Otherwise: draft → ready, then `gh pr merge` (squash by default). */
@@ -3704,6 +3712,11 @@ declare class Orchestrator {
3704
3712
  draft?: boolean;
3705
3713
  web?: boolean;
3706
3714
  }): Promise<LandResult>;
3715
+ markPrReady(threadRef: string): Promise<{
3716
+ url: string;
3717
+ state: string;
3718
+ isDraft: boolean;
3719
+ }>;
3707
3720
  mergePr(threadRef: string): Promise<{
3708
3721
  url: string;
3709
3722
  state: string;
@@ -4665,6 +4678,12 @@ interface IpcApi {
4665
4678
  draft?: boolean;
4666
4679
  web?: boolean;
4667
4680
  }): Promise<LandResult>;
4681
+ /** Mark the thread's linked draft PR ready for review (`gh pr ready`). */
4682
+ markPrReady(threadRef: string): Promise<{
4683
+ url: string;
4684
+ state: string;
4685
+ isDraft: boolean;
4686
+ }>;
4668
4687
  /** Merge the thread's linked PR on GitHub (`gh pr merge`). */
4669
4688
  mergePr(threadRef: string): Promise<{
4670
4689
  url: string;
@@ -5446,4 +5465,4 @@ declare function pollSlackOutboundWatches(opts?: {
5446
5465
  now?: number;
5447
5466
  }): Promise<void>;
5448
5467
 
5449
- export { ABLETIME_MCP_PATH, AGENT_GIT_ACTIONS, AGENT_RUNNER_MAX_OLD_SPACE_MB, ATTACHMENTS_DIR, type AbleTimeAssignedIssuesResult, type AbleTimeMcpToolName, type AbleTimeOrientation, type AbleTimeProject, type AbleTimeTask, type AbleTimeViewer, type ActiveRun, type AddBoardPinInput, type AddStackLayerInput, type AdoptInput, type AdvancedAppSettings, type AgentAdapter, type AgentEvent, type AgentGitAction, 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, BAKED_SLACK_RELAY_URL, BRIGHTSY_MCP_ALLOWED_TOOLS, 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, 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, CONVENTION_SETUP_RELPATHS, COORDINATOR_TOOL_PLAYBOOK, type CaffeinateHoldState, 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 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_WORKTREE_SORT, 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, GITHUB_GIT_AUTH_MODES, GLOBAL_WORKSPACE_ID, type GetDiffOptions, type GhStackStatus, type GitHubStatus, type GitWorktreeStatus, type GithubGitAuthMode, HARNESS_ENV_KEYS, HOME_BOARD_CACHE_TTL_MS, type HarnessId, type HomeBoardLoaded, type HomeBoardRemoteData, ISSUE_SOURCE_LABELS, type InitStackFromThreadInput, type IntegrationsSettings, type IpcApi, type IssueCycleInfo, type IssueInfo, type IssueSource, LEGACY_ATTACHMENTS_DIR, LEGACY_PLAN_FILE_REL, LEGACY_REVIEW_REQUEST_PATH, LINEAR_OAUTH_CANCELLED, LINEAR_OAUTH_PORT, LINEAR_OAUTH_REDIRECT, LINEAR_OAUTH_SCOPES, LONG_RUNNING_SKILL_COMMAND, type LandPreview, type LandResult, type LinearAssignedIssuesResult, type LinearComment, type LinearIssue, LinearOAuthCancelledError, type LinearTeam, type LinearTeamsResult, type LinearWorkflowState, type ListIssuesResult, MAX_ANTHROPIC_CACHE_CONTROL_BLOCKS, type McpServerStatus, type MessagePart, 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 OrchestratorEvent, type OrchestratorRuntime, type OrphanWorktree, PASTE_ATTACH_MIN_CHARS, PASTE_ATTACH_MIN_LINES, PLAN_FILE_NAME, PLAN_FILE_REL, PLAN_MODE_INSTRUCTION, PLAN_QUESTION_ANSWERS_PREFIX, 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, type PublicAppSettings, type PublicIntegrationsSettings, REPO_REVIEW_NAME, REPO_REVIEW_PATH, REVIEW_REQUEST_NAME, REVIEW_REQUEST_PATH, REVIEW_REQUEST_PREFILL, REVIEW_REQUEST_TEMPLATE, REVIEW_SKILL_NAME, REVIEW_SKILL_PATH, type RepoSettings, type RepoSetupInfo, type RequestReviewResult, type ResolvedReviewGuidelines, type ReviewGuidelinesSource, type RunMode, type RunScript, SESSION_RESET_OCCUPANCY_TOKENS, SIDEBOARD_FORCE_STOP, SIDEBOARD_MCP_ALLOWED_TOOLS, SIDEBOARD_MCP_PROFILE_ENV, 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, type ScheduleCreatedBy, type ScheduleWhen, type ScheduledTask, type ScriptHandle, type SetupRunResult, type SideboardMcpProfile, type SkillInfo, type SlackInboundMessage, type SlackListenOptions, type SlackListenStatus, SlackOAuthCancelledError, type SlackOutboundReply, type SlackOutboundWatch, type SlackRelayClientMessage, type SlackRelayClientOptions, SlackRelayHub, type SlackRelayServerHandle, type SlackRelayServerMessage, type SlackRelayServerOptions, type SlackWorkspaceInfo, 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 UpdateScheduledTaskPatch, type UsageScope, WORKTREE_MCP_TOOLS, type Workspace, type WorkspaceInventoryEntry, type WorkspaceScriptEnvOpts, type WorktreeSortMode, abletimeMcpRequest, abletimeMcpUrl, ackSlackInboundSeen, addBoardPin, addPrStackLayer, addStackLayerFromThread, addWorkspace, adoptThread, agentGitPrompt, allAdapters, allocatePort, allocatePortRange, allocateTeamName, allocateTeamSlug, appDataDir, appSettingsPath, appendIndexedGitConfig, appendMessage, applyAgentEvent, applyAgentRunnerHeapEnv, applyAppEnvironment, applyCompaction, applyForwardOccupancy, applyGithubGitAuthEnv, applyPromptCacheTtlEnv, applyThreadIntoMain, applyTurnUsage, armSchedules, assertOrchestratorCapableAgent, attachmentFromAbsolutePath, attachmentsFromBuffers, attachmentsFromWorktreePaths, attachmentsGitignoreBody, autoArchiveOnMergeEnabled, autoCleanupOrphansEnabled, autoRenameBranchEnabled, autoRunAfterSetupEnabled, branchDisplayLabel, brightsyAccessTokenNeedsRefresh, brightsyAdapter, brightsyCloudConnectAgent, brightsyCloudConnectEnabled, brightsyConfigPath, brightsyInjectWorktreeMcpEnabled, brightsyMcpAllowedTools, brightsyMcpServerName, buildBrightsySessionSeed, buildCachedUserContent, buildClaudeStreamJsonUserMessage, buildDiffCommentAttachment, buildForkTranscriptAttachment, buildPastedTextAttachment, buildReviewRequestAttachment, buildSessionSeed, buildWorkspaceScriptEnv, caffeinateHoldPath, caffeinateWhileCloudConnectEnabled, caffeinateWhileRunningEnabled, caffeinateWhileSchedulesEnabled, caffeinateWhileSlackListenEnabled, callAbleTimeTool, canonicalizeRepoPath, captureLoginEnv, captureTurnBaseline, checkoutPrStackLayer, childEnvWithAppSettings, claimDesktopHost, classifyWorktreeColumn, claudeAdapter, claudeChromeEnabled, claudeUserSettingsPath, cleanupOrphanWorktrees, clearBoardPins, clearHomeBoardCache, cloneRepoIntoSideboard, codexAdapter, codexSandboxWritableRootsArgs, codexUnattendedGitConfigArgs, coerceOrchestratorAgent, collectTakenTeamSlugs, commentLinearIssue, commitAll, computeNextRunAt, conductorBundledBinDir, conductorDbPath, confirmLand, connectBrightsyTeam, connectOptionalService, connectSlackToken, connectedOptionalServices, contextTokens, coordinatorSystemPrompt, coordinatorTurnReminder, copyConfiguredFiles, countCacheControlBlocks, cowboyModeEnabled, createAbleTimeTask, createChatTab, createEmptyThread, createExistingBranchWorktree, createGlobalChat, createLinearIssue, createLinearPkce, createOrUpdatePr, createPrStack, createSchedule, createThread, createThreadWorktree, currentBranch, cursorAdapter, cursorSdkMessageToEvents, decodeBrightsyTarget, defaultScheduleName, deleteBranchOnPurgeEnabled, deleteSchedule, deleteThreadRecord, desktopHostPidPath, detectAgents, detectGhStack, detectLocalMergeConflicts, detectOptionalServiceClis, disconnectAbleTimeConnection, disconnectBrightsyTeam, disconnectLinear, disconnectLinearConnection, disconnectOptionalService, disconnectSlackWorkspace, discoverSkills, dropCachedPrefixOnResume, emptyPublicIntegrations, encodeBrightsyTarget, enrichPathWithNpmGlobalBin, enrichWorkspacesWithGithub, ensureAbleTimeTask, ensureAgentPath, ensureBrightsyLocalConfigFresh, ensureCloudCoordinator, ensureConnectedBrightsyTeamTokens, ensureGhPreferOrigin, ensureGlobalCoordinatorCwd, ensureReviewRequestFile, ensureReviewSkillFile, ensureSlackCoordinator, ensureSlackDeviceIdentity, ensureWorkspace, estimateMessageChars, estimateOccupancyTokens, estimateThreadChars, expandComposerPrompt, extractBrightsyContextSummary, extractGhErrorDetail, extractPendingPlanQuestions, extractPresentedPlan, extractiveSummary, fetchPrHead, finalizeParts, findConventionSetup, findInvalidCacheControlTtlOrder, findLastBrightsyContextSummary, findLiveThreadForCreate, findOrphanWorktrees, findSlackCoordinator, findThreadByRef, findThreadForStackLayer, fireSchedule, flattenTurnInput, forkChatTab, forkMessageSlice, forkThreadWorktree, formatAgentInstructions, formatArtifactDirective, formatBrightsyFetchError, formatDetachedJobInvoke, formatFetchError, formatGhLandError, formatGitAuthModeDirective, formatIpcInvokeError, formatLongRunningDirective, formatLongRunningReminder, formatMergePrError, formatMessagesAsTranscript, formatOptionalServicesDirective, formatOptionalServicesReminder, formatPlanQuestionAnswers, formatPlanQuestionsForChat, formatProcessGuideDirective, formatRateLimitResetHint, formatRenameBranchDirective, formatScheduleWhen, formatScheduledPrompt, formatSlackExternalReplyPrompt, formatSlackInboundPrompt, formatSlackRepliesForTurn, formatSlackReplyContinuePrompt, formatSlackSignedReply, formatSlackWorkingText, formatTranscriptMarkdown, formatUiReminder, formatWorkspaceInventory, formatWorktreeDirective, formatWorktreeReminder, forwardContextUsage, forwardOccupancyTokens, fromInclusiveInputUsage, getAbleTimeAccessToken, getAbleTimeHost, getAbleTimeOrientation, getAbleTimeTask, getAdapter, getAgentSetupInfo, getBrightsySession, getCaffeinateHold, getDefaultAgent, getDefaultEffort, getDefaultFast, getDefaultModel, getDefaultRunScript, getDiff, getDiffSummary, getGitHubStatus, getGithubGitAuthMode, getGithubPat, getHomeBoardInputs, getIssueSource, getLinearApiKey, getLinearAuthToken, getLinearIssue, getOrchestrator, getPr, getPrChecks, getPrDetails, getPrForHeadBranch, getPrMeta, getPrStack, getRepoSetupInfo, getRunMode, getRunScript, getSchedule, getSlackWorkspace, gh, ghHeadRef, ghRepoSelectArgs, git, githubAgentGitEnv, globalAgentCwd, groupHomeBoardWorktrees, handleSlackInbound, harnessEnvKey, hasBakedLinearOAuth, hasBakedSlackOAuth, hasConductorHook, hasConventionSetup, hasCursorWorktreeSetup, hasEnabledSchedules, hasRepoHook, hasWorkspaceHook, healOrchestrationSoccerTitles, httpFetch, importConductorWorkspace, importConductorWorkspaceAsync, initPrStack, initStackFromThread, initializeGitRepository, inspectGitWorktree, installAgent, installNpmGlobalPackage, installOptionalServiceCli, interruptSlackCoordinatorForInbound, invalidateThreadListCache, isAbleTimeConnected, isAskUserToolName, isBrightsyConnected, isBrightsyNdjsonLine, isCloudCoordinatorThread, isConductorBundledCli, isCowboyThread, isCursorAutoModel, isDefaultishSourceRef, isDesktopHostAlive, isDirty, isGhRateLimitError, isGlobalRepoPath, isGlobalThread, isHomeBoardThread, isImageFilePath, isInPrStack, isInboundForThisDesktop, isIssueSourceConnected, isLinearConnected, isLinearOAuthCancelled, isOptionalServiceId, isOrchestratorCapableAgent, isOrchestratorThread, isPidAlive, isPlaceholderBranch, isPlanQuestionAnswersMessage, isPollWrapperToolName, isPrNotMergeableError, isPresentPlanToolName, isPrimaryCheckoutThread, isSessionQuotaLimit, isShellToolName, isSideboardScratchPath, isSlackCoordinatorThread, isSlackExternalReplyPrompt, isSlackOAuthCancelled, isSubagentToolName, isThinkingEffort, isThisProcessDesktopHost, isThreadCaffeinated, isThreadRecordFile, isWorkspaceScratchPath, issueAttachmentForAbleTimeTask, issueSourceLabel, lastRequestOccupancy, latestPendingPlanQuestions, linearAuthorizationHeader, linearCycleIsActive, linearGraphql, linearOAuthAuthorizeUrl, linearOAuthCredentials, listAbleTimeAssignedIssues, listAbleTimeProjects, listAbleTimeTasks, listAgentSetupInfo, listBoardPins, listBranchCommits, listBranches, listBrightsyAccounts, listBrightsyChatTargets, listCodexModels, listConductorWorkspaces, listConnectedBrightsyTeams, listCursorModels, listGitHubIssues, listGlobalThreads, listIssues, listLinearAssignedIssues, listLinearIssues, listLinearIssuesDirect, listLinearTeams, listModelsForAgent, listOpencodeModels, listPrs, listRunScripts, listSchedules, listSlackOutboundWatches, listSlackWorkspaces, listThreads, listWorkspaces, listWorktreeFiles, listWorktrees, liveActivitySummary, loadAgentInstructions, loadAppSettings, loadBrightsyConfig, loadConductorSettings, loadHomeBoardInputs, loadRepoSettings, loadWorkspaceSettings, locksDir, loginAgent, lookupSoccerTeam, mapAbleTimeTask, maxConcurrentAgents, maybeCompactContext, mcpAllowTools, mcpAuthWarnings, mergeAgentGitAuthEnv, mergePr, mergePrStack, mergeSideboardIntoMcpServersJson, mergeUsage, messagePartParentId, messagesSinceLastBrightsyContextSummary, nextPastedTextName, nextThinkingEffort, nonInteractiveGitProcessEnv, normalizeAbleTimeHost, normalizeParseResult, normalizeServiceOrigin, normalizeThinkingEffort, normalizeThread, normalizeTurnInput, normalizeWorktreePath, openInSystemTerminal, openPrStackLayers, openStackLayer, opencodeAdapter, optionalServiceConnected, optionalServiceSpec, orchestrationQuotaFallbackAgent, orchestrationQuotaOnLimit, orchestrationTitleNeedsSoccerNickname, orchestratorSessionPoisonedByBuiltins, originGhRepoEnv, packagedDetachedJobPath, parseCursorRunnerLine, parseDurationMs, parseForceStopMessage, parseGhStackViewJson, parseGithubSlugFromRemoteUrl, parseMcpList, parsePlanQuestionsInput, parseSessionQuotaResetAt, parseSlackRelayClientMessage, parseSlackRelayServerMessage, partsToAssistantText, pastedTextStats, pendingSlackExternalReplies, permissionMode, persistPendingFileAttachments, persistVaultKeyInKeychain, planFileAbs, planQuestionsSignature, pollSlackOutboundWatches, posixShellSingleQuote, preferredCursorCostCents, prepareTerminalCommand, previewLand, promptMentionsBrightsy, pushBranch, readExistingReviewRequestFile, readKeychainVaultKey, readPlanFile, readSkillBody, readThread, readWorktreeFile, readWorktreeFileForUpload, readWorktreeInclude, recordScheduleRun, recordSlackOutboundWatch, refreshBrightsyAccessToken, refreshGitHubAuth, registerPackagedUserMcpClients, releaseCaffeinateHoldForThread, releaseDesktopHost, removeBoardPin, removeWorkspace, removeWorktree, repoSlug, requestOccupancy, requestReview, requireAgent, resetGhStackDetectCache, resetGithubAgentTokenMemo, resolveAgentExecutable, resolveAgentGitAuthEnv, resolveClaudeExecutable, resolveCodexGitWritableRoots, resolveCommandBinarySync, resolveConductorCursorAgentId, resolveCursorModelId, resolveDefaultBranch, resolveDetachedJobScript, resolveDiffBaseRef, resolveEffectiveIssueSource, resolveFilesToCopy, resolveGhAuthToken, resolveGitDirsForLockRecovery, resolveGithubAgentToken, resolveGithubRepoSlug, resolveLinearState, resolveLinearTeam, resolveLoginCommand, resolveNewThreadOptions, resolvePlanMarkdown, resolvePrSelector, resolvePrSelectors, resolveQuotaFallbackAgent, resolveRepoRoot, resolveReviewGuidelines, resolveScheduleThreadId, resolveSlackListenMode, resolveThreadDefaults, resolveThreadEffort, resolveVaultKey, resolveWorktreeStartPoint, rewriteAbleTimeError, rewriteLinearError, run, runArchiveScript, runCloudConnect, runConventionSetup, runCursorWorktreeSetup, runSetupScript, runSlackListen, runSlackRelayClient, runWorkspaceSetup, sameWorktreePath, sanitizeMcpServerName, saveAbleTimeConnection, saveAppSettings, saveLinearOAuth, schedulesPath, scrubGithubTokensFromChildEnv, searchAbleTimeTasks, secureFileUnlocksWith, setCaffeinateHold, setHttpFetchImpl, setStatus, setVaultMasterKey, settingsSourceLabel, shouldAttachPastedText, shouldCompactContext, shouldInjectBrightsyMcp, shouldRefreshReviewRequestTemplate, shouldRemoveWorktreeOnTeardown, shouldResetSessionForOccupancy, shouldRunWorktreeCleanup, showCostEnabled, sideboardHomeDir, sideboardMcpProfile, sideboardReposDir, sideboardWorkspacesDir, slackAppLevelToken, slackArchiveUrl, slackCoordinatorSourceRef, slackListenEnabled, slackOAuthCredentials, slackOAuthResultUrl, slackRelayUrl, slugify, spawnAgentTurn, splitForCompaction, stackAgentDefaultsFrom, stackIdFrom, stackMergeReadiness, stageAbsolutePathsAsAttachments, stageBuffersAsAttachments, startDevServer, startLinearOAuth, startMcpServer, startOrchestration, startSlackOAuth, startSlackRelayServer, stripBrightsyNdjsonNoise, stripNestedElectronEnv, submitPrStack, suggestSlug, sumUsageList, summarizeConversation, switchBrightsyAccount, syncWorkspacesFromThreads, takenTeamSlugsForChatTab, takenTeamSlugsForOrchestration, taskMessageText, taskUrl, thinkingEffortBars, thinkingEffortLabel, thisProcessShouldDrainAgentQueues, threadDisplayLabel, threadFilePath, threadHasCompactedContext, threadLivePath, threadLockPath, threadRequestsBrightsyMcp, threadsDir, threadsSharingWorktree, toAbleTimeIssueInfo, toPublicAppSettings, toolActivityLine, toolDescription, toolDetail, toolFilePath, totalTokens, turnCostUsdFromCursorUsage, updateAdvancedSettings, updateAgentExecutable, updateAppEnvironment, updateBrightsySettings, updateClaudeSettings, updateCodexSettings, updateDefaultsSettings, updateIntegrationsSettings, updateLinearIssue, updateOpencodeSettings, updateSchedule, updateThread, userClaudeMcpConfigPath, userCursorMcpConfigPath, validateLinearApiKey, verifyAbleTimeConnection, verifyOptionalService, visibleToolRowDetail, waitForPidExit, warmGithubAgentAuth, whichOnPath, withAgentInstructions, withEventParentId, withEventsParentId, withExportedPath, withMaxOldSpaceSize, withThreadLock, workspaceSettingsSourceLabel, worktreeBoardStatus, worktreeCleanupSettings, worktreeDisplayLabel, worktreeDisplayLabelForGroup, worktreeNameFromPath, worktreesRoot, wrapReviewSkillMarkdown, writeInjectedMcpConfig, writePlanFile, writeThread, writeWorktreeFile };
5468
+ export { ABLETIME_MCP_PATH, AGENT_GIT_ACTIONS, AGENT_RUNNER_MAX_OLD_SPACE_MB, ATTACHMENTS_DIR, type AbleTimeAssignedIssuesResult, type AbleTimeMcpToolName, type AbleTimeOrientation, type AbleTimeProject, type AbleTimeTask, type AbleTimeViewer, type ActiveRun, type AddBoardPinInput, type AddStackLayerInput, type AdoptInput, type AdvancedAppSettings, type AgentAdapter, type AgentEvent, type AgentGitAction, 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, BAKED_SLACK_RELAY_URL, BRIGHTSY_MCP_ALLOWED_TOOLS, 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, 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, CONVENTION_SETUP_RELPATHS, COORDINATOR_TOOL_PLAYBOOK, type CaffeinateHoldState, 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 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_WORKTREE_SORT, 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, GITHUB_GIT_AUTH_MODES, GLOBAL_WORKSPACE_ID, type GetDiffOptions, type GhStackStatus, type GitHubStatus, type GitWorktreeStatus, type GithubGitAuthMode, HARNESS_ENV_KEYS, HOME_BOARD_CACHE_TTL_MS, type HarnessId, type HomeBoardLoaded, type HomeBoardRemoteData, ISSUE_SOURCE_LABELS, type InitStackFromThreadInput, type IntegrationsSettings, type IpcApi, type IssueCycleInfo, type IssueInfo, type IssueSource, LEGACY_ATTACHMENTS_DIR, LEGACY_PLAN_FILE_REL, LEGACY_REVIEW_REQUEST_PATH, LINEAR_OAUTH_CANCELLED, LINEAR_OAUTH_PORT, LINEAR_OAUTH_REDIRECT, LINEAR_OAUTH_SCOPES, LONG_RUNNING_SKILL_COMMAND, type LandPreview, type LandResult, type LinearAssignedIssuesResult, type LinearComment, type LinearIssue, LinearOAuthCancelledError, type LinearTeam, type LinearTeamsResult, type LinearWorkflowState, type ListIssuesResult, MAX_ANTHROPIC_CACHE_CONTROL_BLOCKS, type McpServerStatus, type MessagePart, 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 OrchestratorEvent, type OrchestratorRuntime, type OrphanWorktree, PASTE_ATTACH_MIN_CHARS, PASTE_ATTACH_MIN_LINES, PLAN_FILE_NAME, PLAN_FILE_REL, PLAN_MODE_INSTRUCTION, PLAN_QUESTION_ANSWERS_PREFIX, 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, type PublicAppSettings, type PublicIntegrationsSettings, REPO_REVIEW_NAME, REPO_REVIEW_PATH, REVIEW_REQUEST_NAME, REVIEW_REQUEST_PATH, REVIEW_REQUEST_PREFILL, REVIEW_REQUEST_TEMPLATE, REVIEW_SKILL_NAME, REVIEW_SKILL_PATH, type RepoSettings, type RepoSetupInfo, type RequestReviewResult, type ResolvedReviewGuidelines, type ReviewGuidelinesSource, type RunMode, type RunScript, SESSION_RESET_OCCUPANCY_TOKENS, SIDEBOARD_FORCE_STOP, SIDEBOARD_MCP_ALLOWED_TOOLS, SIDEBOARD_MCP_PROFILE_ENV, 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, type ScheduleCreatedBy, type ScheduleWhen, type ScheduledTask, type ScriptHandle, type SetupRunResult, type SideboardMcpProfile, type SkillInfo, type SlackInboundMessage, type SlackListenOptions, type SlackListenStatus, SlackOAuthCancelledError, type SlackOutboundReply, type SlackOutboundWatch, type SlackRelayClientMessage, type SlackRelayClientOptions, SlackRelayHub, type SlackRelayServerHandle, type SlackRelayServerMessage, type SlackRelayServerOptions, type SlackWorkspaceInfo, 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 UpdateScheduledTaskPatch, type UsageScope, WORKTREE_MCP_TOOLS, type Workspace, type WorkspaceInventoryEntry, type WorkspaceScriptEnvOpts, type WorktreeSortMode, abletimeMcpRequest, abletimeMcpUrl, ackSlackInboundSeen, addBoardPin, addPrStackLayer, addStackLayerFromThread, addWorkspace, adoptThread, agentGitPrompt, allAdapters, allocatePort, allocatePortRange, allocateTeamName, allocateTeamSlug, appDataDir, appSettingsPath, appendIndexedGitConfig, appendMessage, applyAgentEvent, applyAgentRunnerHeapEnv, applyAppEnvironment, applyCompaction, applyForwardOccupancy, applyGithubGitAuthEnv, applyPromptCacheTtlEnv, applyThreadIntoMain, applyTurnUsage, armSchedules, assertOrchestratorCapableAgent, attachmentFromAbsolutePath, attachmentsFromBuffers, attachmentsFromWorktreePaths, attachmentsGitignoreBody, autoArchiveOnMergeEnabled, autoCleanupOrphansEnabled, autoRenameBranchEnabled, autoRunAfterSetupEnabled, branchDisplayLabel, brightsyAccessTokenNeedsRefresh, brightsyAdapter, brightsyCloudConnectAgent, brightsyCloudConnectEnabled, brightsyConfigPath, brightsyInjectWorktreeMcpEnabled, brightsyMcpAllowedTools, brightsyMcpServerName, buildBrightsySessionSeed, buildCachedUserContent, buildClaudeStreamJsonUserMessage, buildDiffCommentAttachment, buildForkTranscriptAttachment, buildPastedTextAttachment, buildReviewRequestAttachment, buildSessionSeed, buildWorkspaceScriptEnv, caffeinateHoldPath, caffeinateWhileCloudConnectEnabled, caffeinateWhileRunningEnabled, caffeinateWhileSchedulesEnabled, caffeinateWhileSlackListenEnabled, callAbleTimeTool, canonicalizeRepoPath, captureLoginEnv, captureTurnBaseline, checkoutPrStackLayer, childEnvWithAppSettings, claimDesktopHost, classifyWorktreeColumn, claudeAdapter, claudeChromeEnabled, claudeUserSettingsPath, cleanupOrphanWorktrees, clearBoardPins, clearHomeBoardCache, cloneRepoIntoSideboard, codexAdapter, codexSandboxWritableRootsArgs, codexUnattendedGitConfigArgs, coerceOrchestratorAgent, collectTakenTeamSlugs, commentLinearIssue, commitAll, computeNextRunAt, conductorBundledBinDir, conductorDbPath, confirmLand, connectBrightsyTeam, connectOptionalService, connectSlackToken, connectedOptionalServices, contextTokens, coordinatorSystemPrompt, coordinatorTurnReminder, copyConfiguredFiles, countCacheControlBlocks, countUnpushedVsOrigin, cowboyModeEnabled, createAbleTimeTask, createChatTab, createEmptyThread, createExistingBranchWorktree, createGlobalChat, createLinearIssue, createLinearPkce, createOrUpdatePr, createPrStack, createSchedule, createThread, createThreadWorktree, currentBranch, cursorAdapter, cursorSdkMessageToEvents, decodeBrightsyTarget, defaultScheduleName, deleteBranchOnPurgeEnabled, deleteSchedule, deleteThreadRecord, desktopHostPidPath, detectAgents, detectGhStack, detectLocalMergeConflicts, detectOptionalServiceClis, disconnectAbleTimeConnection, disconnectBrightsyTeam, disconnectLinear, disconnectLinearConnection, disconnectOptionalService, disconnectSlackWorkspace, discoverSkills, dropCachedPrefixOnResume, emptyPublicIntegrations, encodeBrightsyTarget, enrichPathWithNpmGlobalBin, enrichWorkspacesWithGithub, ensureAbleTimeTask, ensureAgentPath, ensureBrightsyLocalConfigFresh, ensureCloudCoordinator, ensureConnectedBrightsyTeamTokens, ensureGhPreferOrigin, ensureGlobalCoordinatorCwd, ensureReviewRequestFile, ensureReviewSkillFile, ensureSlackCoordinator, ensureSlackDeviceIdentity, ensureWorkspace, estimateMessageChars, estimateOccupancyTokens, estimateThreadChars, expandComposerPrompt, extractBrightsyContextSummary, extractGhErrorDetail, extractPendingPlanQuestions, extractPresentedPlan, extractiveSummary, fetchPrHead, finalizeParts, findConventionSetup, findInvalidCacheControlTtlOrder, findLastBrightsyContextSummary, findLiveThreadForCreate, findOrphanWorktrees, findSlackCoordinator, findThreadByRef, findThreadForStackLayer, fireSchedule, flattenTurnInput, forkChatTab, forkMessageSlice, forkThreadWorktree, formatAgentInstructions, formatArtifactDirective, formatBrightsyFetchError, formatDetachedJobInvoke, formatFetchError, formatGhLandError, formatGitAuthModeDirective, formatIpcInvokeError, formatLongRunningDirective, formatLongRunningReminder, formatMergePrError, formatMessagesAsTranscript, formatOptionalServicesDirective, formatOptionalServicesReminder, formatPlanQuestionAnswers, formatPlanQuestionsForChat, formatProcessGuideDirective, formatRateLimitResetHint, formatRenameBranchDirective, formatScheduleWhen, formatScheduledPrompt, formatSlackExternalReplyPrompt, formatSlackInboundPrompt, formatSlackRepliesForTurn, formatSlackReplyContinuePrompt, formatSlackSignedReply, formatSlackWorkingText, formatTranscriptMarkdown, formatUiReminder, formatWorkspaceInventory, formatWorktreeDirective, formatWorktreeReminder, forwardContextUsage, forwardOccupancyTokens, fromInclusiveInputUsage, getAbleTimeAccessToken, getAbleTimeHost, getAbleTimeOrientation, getAbleTimeTask, getAdapter, getAgentSetupInfo, getBrightsySession, getCaffeinateHold, getDefaultAgent, getDefaultEffort, getDefaultFast, getDefaultModel, getDefaultRunScript, getDiff, getDiffSummary, getGitHubStatus, getGithubGitAuthMode, getGithubPat, getHomeBoardInputs, getIssueSource, getLinearApiKey, getLinearAuthToken, getLinearIssue, getOrchestrator, getPr, getPrChecks, getPrDetails, getPrForHeadBranch, getPrMeta, getPrStack, getRepoSetupInfo, getRunMode, getRunScript, getSchedule, getSlackWorkspace, gh, ghHeadRef, ghRepoSelectArgs, git, githubAgentGitEnv, globalAgentCwd, groupHomeBoardWorktrees, handleSlackInbound, harnessEnvKey, hasBakedLinearOAuth, hasBakedSlackOAuth, hasConductorHook, hasConventionSetup, hasCursorWorktreeSetup, hasEnabledSchedules, hasRepoHook, hasWorkspaceHook, healOrchestrationSoccerTitles, httpFetch, importConductorWorkspace, importConductorWorkspaceAsync, initPrStack, initStackFromThread, initializeGitRepository, inspectGitWorktree, installAgent, installNpmGlobalPackage, installOptionalServiceCli, interruptSlackCoordinatorForInbound, invalidateThreadListCache, isAbleTimeConnected, isAskUserToolName, isBrightsyConnected, isBrightsyNdjsonLine, isCloudCoordinatorThread, isConductorBundledCli, isCowboyThread, isCursorAutoModel, isDefaultishSourceRef, isDesktopHostAlive, isDirty, isGhRateLimitError, isGlobalRepoPath, isGlobalThread, isHomeBoardThread, isImageFilePath, isInPrStack, isInboundForThisDesktop, isIssueSourceConnected, isLinearConnected, isLinearOAuthCancelled, isOptionalServiceId, isOrchestratorCapableAgent, isOrchestratorThread, isPidAlive, isPlaceholderBranch, isPlanQuestionAnswersMessage, isPollWrapperToolName, isPrNotMergeableError, isPresentPlanToolName, isPrimaryCheckoutThread, isSessionQuotaLimit, isShellToolName, isSideboardScratchPath, isSlackCoordinatorThread, isSlackExternalReplyPrompt, isSlackOAuthCancelled, isSubagentToolName, isThinkingEffort, isThisProcessDesktopHost, isThreadCaffeinated, isThreadRecordFile, isWorkspaceScratchPath, issueAttachmentForAbleTimeTask, issueSourceLabel, lastRequestOccupancy, latestPendingPlanQuestions, linearAuthorizationHeader, linearCycleIsActive, linearGraphql, linearOAuthAuthorizeUrl, linearOAuthCredentials, listAbleTimeAssignedIssues, listAbleTimeProjects, listAbleTimeTasks, listAgentSetupInfo, listBoardPins, listBranchCommits, listBranches, listBrightsyAccounts, listBrightsyChatTargets, listCodexModels, listConductorWorkspaces, listConnectedBrightsyTeams, listCursorModels, listGitHubIssues, listGlobalThreads, listIssues, listLinearAssignedIssues, listLinearIssues, listLinearIssuesDirect, listLinearTeams, listModelsForAgent, listOpencodeModels, listPrs, listRunScripts, listSchedules, listSlackOutboundWatches, listSlackWorkspaces, listThreads, listWorkspaces, listWorktreeFiles, listWorktrees, liveActivitySummary, loadAgentInstructions, loadAppSettings, loadBrightsyConfig, loadConductorSettings, loadHomeBoardInputs, loadRepoSettings, loadWorkspaceSettings, locksDir, loginAgent, lookupSoccerTeam, mapAbleTimeTask, markPrReady, maxConcurrentAgents, maybeCompactContext, mcpAllowTools, mcpAuthWarnings, mergeAgentGitAuthEnv, mergePr, mergePrStack, mergeSideboardIntoMcpServersJson, mergeUsage, messagePartParentId, messagesSinceLastBrightsyContextSummary, nextPastedTextName, nextThinkingEffort, nonInteractiveGitProcessEnv, normalizeAbleTimeHost, normalizeParseResult, normalizeServiceOrigin, normalizeThinkingEffort, normalizeThread, normalizeTurnInput, normalizeWorktreePath, openInSystemTerminal, openPrStackLayers, openStackLayer, opencodeAdapter, optionalServiceConnected, optionalServiceSpec, orchestrationQuotaFallbackAgent, orchestrationQuotaOnLimit, orchestrationTitleNeedsSoccerNickname, orchestratorSessionPoisonedByBuiltins, originGhRepoEnv, packagedDetachedJobPath, parseCursorRunnerLine, parseDurationMs, parseForceStopMessage, parseGhStackViewJson, parseGithubSlugFromRemoteUrl, parseMcpList, parsePlanQuestionsInput, parseSessionQuotaResetAt, parseSlackRelayClientMessage, parseSlackRelayServerMessage, partsToAssistantText, pastedTextStats, pendingSlackExternalReplies, permissionMode, persistPendingFileAttachments, persistVaultKeyInKeychain, planFileAbs, planQuestionsSignature, pollSlackOutboundWatches, posixShellSingleQuote, preferredCursorCostCents, prepareTerminalCommand, previewLand, promptMentionsBrightsy, pushBranch, readExistingReviewRequestFile, readKeychainVaultKey, readPlanFile, readSkillBody, readThread, readWorktreeFile, readWorktreeFileForUpload, readWorktreeInclude, recordScheduleRun, recordSlackOutboundWatch, refreshBrightsyAccessToken, refreshGitHubAuth, registerPackagedUserMcpClients, releaseCaffeinateHoldForThread, releaseDesktopHost, removeBoardPin, removeWorkspace, removeWorktree, repoSlug, requestOccupancy, requestReview, requireAgent, resetGhStackDetectCache, resetGithubAgentTokenMemo, resolveAgentExecutable, resolveAgentGitAuthEnv, resolveClaudeExecutable, resolveCodexGitWritableRoots, resolveCommandBinarySync, resolveConductorCursorAgentId, resolveCursorModelId, resolveDefaultBranch, resolveDetachedJobScript, resolveDiffBaseRef, resolveEffectiveIssueSource, resolveFilesToCopy, resolveGhAuthToken, resolveGitDirsForLockRecovery, resolveGithubAgentToken, resolveGithubRepoSlug, resolveLinearState, resolveLinearTeam, resolveLoginCommand, resolveNewThreadOptions, resolvePlanMarkdown, resolvePrSelector, resolvePrSelectors, resolveQuotaFallbackAgent, resolveRepoRoot, resolveReviewGuidelines, resolveScheduleThreadId, resolveSlackListenMode, resolveThreadDefaults, resolveThreadEffort, resolveVaultKey, resolveWorktreeStartPoint, rewriteAbleTimeError, rewriteLinearError, run, runArchiveScript, runCloudConnect, runConventionSetup, runCursorWorktreeSetup, runSetupScript, runSlackListen, runSlackRelayClient, runWorkspaceSetup, sameWorktreePath, sanitizeMcpServerName, saveAbleTimeConnection, saveAppSettings, saveLinearOAuth, schedulesPath, scrubGithubTokensFromChildEnv, searchAbleTimeTasks, secureFileUnlocksWith, setCaffeinateHold, setHttpFetchImpl, setStatus, setVaultMasterKey, settingsSourceLabel, shouldAttachPastedText, shouldCompactContext, shouldInjectBrightsyMcp, shouldRefreshReviewRequestTemplate, shouldRemoveWorktreeOnTeardown, shouldResetSessionForOccupancy, shouldRunWorktreeCleanup, showCostEnabled, sideboardHomeDir, sideboardMcpProfile, sideboardReposDir, sideboardWorkspacesDir, slackAppLevelToken, slackArchiveUrl, slackCoordinatorSourceRef, slackListenEnabled, slackOAuthCredentials, slackOAuthResultUrl, slackRelayUrl, slugify, spawnAgentTurn, splitForCompaction, stackAgentDefaultsFrom, stackIdFrom, stackMergeReadiness, stageAbsolutePathsAsAttachments, stageBuffersAsAttachments, startDevServer, startLinearOAuth, startMcpServer, startOrchestration, startSlackOAuth, startSlackRelayServer, stripBrightsyNdjsonNoise, stripNestedElectronEnv, submitPrStack, suggestSlug, sumUsageList, summarizeConversation, switchBrightsyAccount, syncWorkspacesFromThreads, takenTeamSlugsForChatTab, takenTeamSlugsForOrchestration, taskMessageText, taskUrl, thinkingEffortBars, thinkingEffortLabel, thisProcessShouldDrainAgentQueues, threadDisplayLabel, threadFilePath, threadHasCompactedContext, threadLivePath, threadLockPath, threadRequestsBrightsyMcp, threadsDir, threadsSharingWorktree, toAbleTimeIssueInfo, toPublicAppSettings, toolActivityLine, toolDescription, toolDetail, toolFilePath, totalTokens, turnCostUsdFromCursorUsage, updateAdvancedSettings, updateAgentExecutable, updateAppEnvironment, updateBrightsySettings, updateClaudeSettings, updateCodexSettings, updateDefaultsSettings, updateIntegrationsSettings, updateLinearIssue, updateOpencodeSettings, updateSchedule, updateThread, userClaudeMcpConfigPath, userCursorMcpConfigPath, validateLinearApiKey, verifyAbleTimeConnection, verifyOptionalService, visibleToolRowDetail, waitForPidExit, warmGithubAgentAuth, whichOnPath, withAgentInstructions, withEventParentId, withEventsParentId, withExportedPath, withMaxOldSpaceSize, withThreadLock, workspaceSettingsSourceLabel, worktreeBoardStatus, worktreeCleanupSettings, worktreeDisplayLabel, worktreeDisplayLabelForGroup, worktreeNameFromPath, worktreesRoot, wrapReviewSkillMarkdown, writeInjectedMcpConfig, writePlanFile, writeThread, writeWorktreeFile };
package/dist/index.js CHANGED
@@ -212,7 +212,7 @@ import {
212
212
  worktreeCleanupSettings,
213
213
  wrapReviewSkillMarkdown,
214
214
  writeWorktreeFile
215
- } from "./chunk-KP4OJUPH.js";
215
+ } from "./chunk-3EMJ5LVV.js";
216
216
  import {
217
217
  BRIGHTSY_MCP_ALLOWED_TOOLS,
218
218
  CLAUDE_MODEL_CATALOG,
@@ -294,7 +294,7 @@ import {
294
294
  withEventParentId,
295
295
  withEventsParentId,
296
296
  writeInjectedMcpConfig
297
- } from "./chunk-VHTIHOHE.js";
297
+ } from "./chunk-UJWGZM4K.js";
298
298
  import {
299
299
  brightsyMcpServerName,
300
300
  connectBrightsyTeam,
@@ -319,7 +319,7 @@ import {
319
319
  listWorkspaces,
320
320
  removeWorkspace,
321
321
  syncWorkspacesFromThreads
322
- } from "./chunk-HC5N3BDL.js";
322
+ } from "./chunk-3UD2LW4P.js";
323
323
  import {
324
324
  CLOUD_COORDINATOR_BUSY_REPLY,
325
325
  CLOUD_COORDINATOR_STOPPED_REPLY,
@@ -354,7 +354,7 @@ import {
354
354
  stageAbsolutePathsAsAttachments,
355
355
  stageBuffersAsAttachments,
356
356
  takenTeamSlugsForOrchestration
357
- } from "./chunk-R2W7A2UO.js";
357
+ } from "./chunk-G3KLNP2B.js";
358
358
  import {
359
359
  COORDINATOR_TOOL_PLAYBOOK,
360
360
  SLACK_REPLY_FORMATTING,
@@ -363,7 +363,7 @@ import {
363
363
  enrichWorkspacesWithGithub,
364
364
  ensureGlobalCoordinatorCwd,
365
365
  formatWorkspaceInventory
366
- } from "./chunk-UG5N7ET3.js";
366
+ } from "./chunk-DN7UA3UT.js";
367
367
  import {
368
368
  ABLETIME_MCP_PATH,
369
369
  DEFAULT_ABLETIME_HOST,
@@ -433,6 +433,7 @@ import {
433
433
  codexUnattendedGitConfigArgs,
434
434
  collectTakenTeamSlugs,
435
435
  commitAll,
436
+ countUnpushedVsOrigin,
436
437
  createExistingBranchWorktree,
437
438
  createOrUpdatePr,
438
439
  createThreadWorktree,
@@ -468,6 +469,7 @@ import {
468
469
  listPrs,
469
470
  listWorktrees,
470
471
  lookupSoccerTeam,
472
+ markPrReady,
471
473
  mergeAgentGitAuthEnv,
472
474
  mergePr,
473
475
  mergePrStack,
@@ -500,7 +502,7 @@ import {
500
502
  worktreeDisplayLabel,
501
503
  worktreeDisplayLabelForGroup,
502
504
  worktreeNameFromPath
503
- } from "./chunk-O3JEC2UJ.js";
505
+ } from "./chunk-JSYIBLBK.js";
504
506
  import {
505
507
  ATTACHMENTS_DIR,
506
508
  LEGACY_ATTACHMENTS_DIR,
@@ -6563,6 +6565,7 @@ export {
6563
6565
  coordinatorTurnReminder,
6564
6566
  copyConfiguredFiles,
6565
6567
  countCacheControlBlocks,
6568
+ countUnpushedVsOrigin,
6566
6569
  cowboyModeEnabled,
6567
6570
  createAbleTimeTask,
6568
6571
  createChatTab,
@@ -6832,6 +6835,7 @@ export {
6832
6835
  loginAgent,
6833
6836
  lookupSoccerTeam,
6834
6837
  mapAbleTimeTask,
6838
+ markPrReady,
6835
6839
  maxConcurrentAgents,
6836
6840
  maybeCompactContext,
6837
6841
  mcpAllowTools,
@@ -4784,6 +4784,7 @@ __export(worktree_exports, {
4784
4784
  canonicalizeRepoPath: () => canonicalizeRepoPath,
4785
4785
  collectTakenTeamSlugs: () => collectTakenTeamSlugs,
4786
4786
  commitAll: () => commitAll,
4787
+ countUnpushedVsOrigin: () => countUnpushedVsOrigin,
4787
4788
  createExistingBranchWorktree: () => createExistingBranchWorktree,
4788
4789
  createOrUpdatePr: () => createOrUpdatePr,
4789
4790
  createThreadWorktree: () => createThreadWorktree,
@@ -4807,6 +4808,7 @@ __export(worktree_exports, {
4807
4808
  listPrs: () => listPrs,
4808
4809
  listWorktrees: () => listWorktrees,
4809
4810
  lookupSoccerTeam: () => lookupSoccerTeam,
4811
+ markPrReady: () => markPrReady,
4810
4812
  mergePr: () => mergePr,
4811
4813
  normalizeWorktreePath: () => normalizeWorktreePath,
4812
4814
  originGhRepoEnv: () => originGhRepoEnv,
@@ -5731,6 +5733,32 @@ async function listWorktrees(repoPath) {
5731
5733
  if (current) entries.push(current);
5732
5734
  return entries;
5733
5735
  }
5736
+ async function countUnpushedVsOrigin(worktreePath) {
5737
+ const head = await git(["rev-parse", "--abbrev-ref", "HEAD"], worktreePath, {
5738
+ reject: false
5739
+ });
5740
+ const branch = head.stdout.trim();
5741
+ if (branch && branch !== "HEAD") {
5742
+ const remote = await git(
5743
+ ["rev-list", "--count", `origin/${branch}..HEAD`],
5744
+ worktreePath,
5745
+ { reject: false }
5746
+ );
5747
+ if (remote.exitCode === 0) {
5748
+ const n = Number(remote.stdout.trim());
5749
+ return Number.isFinite(n) ? n : 1;
5750
+ }
5751
+ const all = await git(["rev-list", "--count", "HEAD"], worktreePath, {
5752
+ reject: false
5753
+ });
5754
+ if (all.exitCode === 0) {
5755
+ const n = Number(all.stdout.trim());
5756
+ if (Number.isFinite(n) && n > 0) return n;
5757
+ }
5758
+ return 1;
5759
+ }
5760
+ return 1;
5761
+ }
5734
5762
  async function isDirty(worktreePath) {
5735
5763
  const { stdout } = await git(["status", "--porcelain"], worktreePath);
5736
5764
  for (const line of stdout.split("\n")) {
@@ -5794,6 +5822,54 @@ async function pushBranch(worktreePath, branchName) {
5794
5822
  const httpsErr = (basicPush.stderr || bearer.stderr || bearer.stdout).trim();
5795
5823
  throw new Error(httpsErr || sshErr || `git push origin ${branchName} failed`);
5796
5824
  }
5825
+ async function runPrReady(cwd, selector, slug) {
5826
+ const readyArgs = ["pr", "ready", selector];
5827
+ if (slug) readyArgs.push("--repo", slug);
5828
+ const ready = await gh(readyArgs, cwd, { reject: false });
5829
+ if (ready.exitCode !== 0) {
5830
+ throw new Error(
5831
+ ready.stderr.trim() || ready.stdout.trim() || "Could not mark draft pull request as ready"
5832
+ );
5833
+ }
5834
+ }
5835
+ async function markPrReady(cwd, selector) {
5836
+ const slug = await resolveGithubRepoSlug(cwd);
5837
+ const viewArgs = ["pr", "view", selector, "--json", "url,state,isDraft"];
5838
+ if (slug) viewArgs.push("--repo", slug);
5839
+ const before = await gh(viewArgs, cwd, { reject: false });
5840
+ if (before.exitCode !== 0 || !before.stdout.trim()) {
5841
+ throw new Error(before.stderr.trim() || "Could not load pull request");
5842
+ }
5843
+ let url = "";
5844
+ let state = "";
5845
+ let isDraft = false;
5846
+ try {
5847
+ const parsed = JSON.parse(before.stdout);
5848
+ url = String(parsed.url ?? "");
5849
+ state = String(parsed.state ?? "").toUpperCase();
5850
+ isDraft = Boolean(parsed.isDraft);
5851
+ } catch {
5852
+ throw new Error("Could not parse pull request details");
5853
+ }
5854
+ if (state === "MERGED" || state === "CLOSED") {
5855
+ return { url, state, isDraft: false };
5856
+ }
5857
+ if (isDraft) {
5858
+ if (await isDirty(cwd)) {
5859
+ throw new Error(
5860
+ "Commit and push local work before marking the pull request ready for review."
5861
+ );
5862
+ }
5863
+ const unpushed = await countUnpushedVsOrigin(cwd);
5864
+ if (unpushed > 0) {
5865
+ throw new Error(
5866
+ "Push this branch to origin before marking the pull request ready for review."
5867
+ );
5868
+ }
5869
+ await runPrReady(cwd, selector, slug);
5870
+ }
5871
+ return { url, state: state || "OPEN", isDraft: false };
5872
+ }
5797
5873
  async function mergePr(cwd, selector, opts) {
5798
5874
  const slug = await resolveGithubRepoSlug(cwd);
5799
5875
  const viewArgs = ["pr", "view", selector, "--json", "url,state,isDraft,number"];
@@ -5828,14 +5904,7 @@ async function mergePr(cwd, selector, opts) {
5828
5904
  return { url, state: "MERGED" };
5829
5905
  }
5830
5906
  if (isDraft) {
5831
- const readyArgs = ["pr", "ready", selector];
5832
- if (slug) readyArgs.push("--repo", slug);
5833
- const ready = await gh(readyArgs, cwd, { reject: false });
5834
- if (ready.exitCode !== 0) {
5835
- throw new Error(
5836
- ready.stderr.trim() || ready.stdout.trim() || "Could not mark draft pull request as ready"
5837
- );
5838
- }
5907
+ await runPrReady(cwd, selector, slug);
5839
5908
  }
5840
5909
  const method = opts?.method ?? "squash";
5841
5910
  const mergeFlag = method === "rebase" ? "--rebase" : method === "merge" ? "--merge" : "--squash";
@@ -14160,6 +14229,21 @@ var init_reconcile_heal = __esm({
14160
14229
  }
14161
14230
  });
14162
14231
 
14232
+ // src/orchestrator/setup-last-error.ts
14233
+ function shouldStampSetupLastError(opts) {
14234
+ if (opts.turnInFlight) return false;
14235
+ if (opts.status === "running") return false;
14236
+ return true;
14237
+ }
14238
+ function isStaleLastErrorDuringTurn(err) {
14239
+ return Boolean(err?.trim());
14240
+ }
14241
+ var init_setup_last_error = __esm({
14242
+ "src/orchestrator/setup-last-error.ts"() {
14243
+ "use strict";
14244
+ }
14245
+ });
14246
+
14163
14247
  // src/threads/fork-worktree.ts
14164
14248
  function requireThread2(idOrRef) {
14165
14249
  const thread = findThreadByRef(idOrRef) ?? null;
@@ -17356,6 +17440,7 @@ var init_orchestrator = __esm({
17356
17440
  init_repo_git_lock();
17357
17441
  init_turn_live();
17358
17442
  init_reconcile_heal();
17443
+ init_setup_last_error();
17359
17444
  init_request_review();
17360
17445
  init_fork_worktree();
17361
17446
  init_quota_failover();
@@ -17734,6 +17819,13 @@ var init_orchestrator = __esm({
17734
17819
  const message = err instanceof Error ? err.message : String(err);
17735
17820
  if (/no setup script/i.test(message)) return;
17736
17821
  if (/already running/i.test(message)) return;
17822
+ const live = readThread(threadId);
17823
+ if (!shouldStampSetupLastError({
17824
+ turnInFlight: this.activeTurns.has(threadId) || this.startingTurns.has(threadId),
17825
+ status: live?.status
17826
+ })) {
17827
+ return;
17828
+ }
17737
17829
  updateThread(threadId, {
17738
17830
  lastError: `Setup failed: ${message}`
17739
17831
  });
@@ -18080,7 +18172,7 @@ var init_orchestrator = __esm({
18080
18172
  )) {
18081
18173
  this.lastReconcileHealAt.set(threadId, now);
18082
18174
  const live = readThread(threadId);
18083
- if (live?.lastError?.includes("reconciled on startup") && (this.activeTurns.has(threadId) || this.startingTurns.has(threadId))) {
18175
+ if (isStaleLastErrorDuringTurn(live?.lastError) && (this.activeTurns.has(threadId) || this.startingTurns.has(threadId))) {
18084
18176
  setStatus(threadId, "running");
18085
18177
  this.emit({ type: "status_changed", threadId, status: "running" });
18086
18178
  }
@@ -18537,9 +18629,15 @@ var init_orchestrator = __esm({
18537
18629
  );
18538
18630
  }
18539
18631
  if (setup.exitCode !== 0 && setup.exitCode !== null) {
18540
- updateThread(thread.id, {
18541
- lastError: `Setup exited ${setup.exitCode}`
18542
- });
18632
+ const live = readThread(thread.id);
18633
+ if (shouldStampSetupLastError({
18634
+ turnInFlight: this.activeTurns.has(thread.id) || this.startingTurns.has(thread.id),
18635
+ status: live?.status
18636
+ })) {
18637
+ updateThread(thread.id, {
18638
+ lastError: `Setup exited ${setup.exitCode}`
18639
+ });
18640
+ }
18543
18641
  }
18544
18642
  this.emit({ type: "setup_finished", threadId: thread.id, exitCode: setup.exitCode });
18545
18643
  return { exitCode: setup.exitCode, source: setup.source };
@@ -18765,6 +18863,32 @@ var init_orchestrator = __esm({
18765
18863
  }
18766
18864
  return result;
18767
18865
  }
18866
+ async markPrReady(threadRef) {
18867
+ const { thread, selectors, cwd } = await this.withPrSelector(threadRef);
18868
+ this.assertNotGlobal(thread, "Ready for review");
18869
+ const selector = selectors[0];
18870
+ if (!selector) throw new Error("No pull request linked to this thread");
18871
+ const result = await markPrReady(cwd, selector);
18872
+ const meta = await getPrMeta(cwd, selector);
18873
+ if (meta) {
18874
+ await this.persistPrMetaAndMaybeArchive(thread, { ...meta, isDraft: false });
18875
+ return { url: meta.url || result.url, state: meta.state || result.state, isDraft: false };
18876
+ }
18877
+ await this.persistPrMetaAndMaybeArchive(thread, {
18878
+ number: 0,
18879
+ title: thread.prTitle ?? thread.title,
18880
+ url: result.url || thread.prUrl || "",
18881
+ state: result.state || "OPEN",
18882
+ isDraft: false,
18883
+ reviewDecision: null,
18884
+ baseRefName: "",
18885
+ headRefName: "",
18886
+ isInMergeQueue: false,
18887
+ mergeable: null,
18888
+ mergeStateStatus: null
18889
+ });
18890
+ return { ...result, isDraft: false };
18891
+ }
18768
18892
  async mergePr(threadRef) {
18769
18893
  const { thread, selectors, cwd } = await this.withPrSelector(threadRef);
18770
18894
  this.assertNotGlobal(thread, "Merge PR");
@@ -32,14 +32,14 @@ import {
32
32
  slackTokenFor,
33
33
  syncBoardPins,
34
34
  updateSchedule
35
- } from "../chunk-EAP4SMR3.js";
35
+ } from "../chunk-335KQKWX.js";
36
36
  import {
37
37
  listModelsForAgent,
38
38
  sideboardMcpProfile
39
- } from "../chunk-CG25RYQQ.js";
39
+ } from "../chunk-TTJ6EYZC.js";
40
40
  import "../chunk-ED4UPEJX.js";
41
41
  import "../chunk-S42XV45P.js";
42
- import "../chunk-4D4PEBGB.js";
42
+ import "../chunk-LWRNRMYY.js";
43
43
  import {
44
44
  createAbleTimeTask,
45
45
  ensureAbleTimeTask,
@@ -59,8 +59,8 @@ import "../chunk-KLBOWJ74.js";
59
59
  import {
60
60
  GLOBAL_WORKSPACE_ID,
61
61
  isCloudCoordinatorThread
62
- } from "../chunk-FADNFPZO.js";
63
- import "../chunk-OHWN4JEL.js";
62
+ } from "../chunk-XUYIJY6D.js";
63
+ import "../chunk-2C5RE7K4.js";
64
64
  import {
65
65
  canonicalizeRepoPath,
66
66
  listBranches,
@@ -68,7 +68,7 @@ import {
68
68
  resolveGithubRepoSlug,
69
69
  resolveRepoRoot,
70
70
  warmGithubAgentAuth
71
- } from "../chunk-4Q45TLZ5.js";
71
+ } from "../chunk-QS5JJ2IM.js";
72
72
  import "../chunk-B3SJXYIJ.js";
73
73
  import "../chunk-EUXOHTUK.js";
74
74
  import {
@@ -6,17 +6,17 @@ import {
6
6
  isPidAlive,
7
7
  startOrchestration,
8
8
  waitForPidExit
9
- } from "./chunk-EAP4SMR3.js";
10
- import "./chunk-CG25RYQQ.js";
9
+ } from "./chunk-335KQKWX.js";
10
+ import "./chunk-TTJ6EYZC.js";
11
11
  import "./chunk-ED4UPEJX.js";
12
12
  import "./chunk-S42XV45P.js";
13
- import "./chunk-4D4PEBGB.js";
13
+ import "./chunk-LWRNRMYY.js";
14
14
  import "./chunk-6GN5WPYZ.js";
15
15
  import "./chunk-N5PM7HGQ.js";
16
16
  import "./chunk-KLBOWJ74.js";
17
- import "./chunk-FADNFPZO.js";
18
- import "./chunk-OHWN4JEL.js";
19
- import "./chunk-4Q45TLZ5.js";
17
+ import "./chunk-XUYIJY6D.js";
18
+ import "./chunk-2C5RE7K4.js";
19
+ import "./chunk-QS5JJ2IM.js";
20
20
  import "./chunk-B3SJXYIJ.js";
21
21
  import "./chunk-EUXOHTUK.js";
22
22
  import "./chunk-KPIYENTF.js";
@@ -4,19 +4,19 @@ import {
4
4
  isPidAlive,
5
5
  startOrchestration,
6
6
  waitForPidExit
7
- } from "./chunk-KP4OJUPH.js";
8
- import "./chunk-VHTIHOHE.js";
7
+ } from "./chunk-3EMJ5LVV.js";
8
+ import "./chunk-UJWGZM4K.js";
9
9
  import "./chunk-KBWND62T.js";
10
10
  import "./chunk-M267JPEA.js";
11
- import "./chunk-HC5N3BDL.js";
12
- import "./chunk-R2W7A2UO.js";
13
- import "./chunk-UG5N7ET3.js";
11
+ import "./chunk-3UD2LW4P.js";
12
+ import "./chunk-G3KLNP2B.js";
13
+ import "./chunk-DN7UA3UT.js";
14
14
  import "./chunk-ELBYOGVA.js";
15
15
  import "./chunk-QTUESPAW.js";
16
16
  import "./chunk-AXQ4ZWHK.js";
17
17
  import "./chunk-WT5HSFOU.js";
18
18
  import "./chunk-DCOZABNT.js";
19
- import "./chunk-O3JEC2UJ.js";
19
+ import "./chunk-JSYIBLBK.js";
20
20
  import "./chunk-FKOIHGKV.js";
21
21
  import "./chunk-I77RYPOH.js";
22
22
  import "./chunk-4TR3HZFT.js";
@@ -6,10 +6,10 @@ import {
6
6
  listWorkspaces,
7
7
  removeWorkspace,
8
8
  syncWorkspacesFromThreads
9
- } from "./chunk-4D4PEBGB.js";
10
- import "./chunk-FADNFPZO.js";
11
- import "./chunk-OHWN4JEL.js";
12
- import "./chunk-4Q45TLZ5.js";
9
+ } from "./chunk-LWRNRMYY.js";
10
+ import "./chunk-XUYIJY6D.js";
11
+ import "./chunk-2C5RE7K4.js";
12
+ import "./chunk-QS5JJ2IM.js";
13
13
  import "./chunk-B3SJXYIJ.js";
14
14
  import "./chunk-EUXOHTUK.js";
15
15
  import "./chunk-KPIYENTF.js";
@@ -4,10 +4,10 @@ import {
4
4
  listWorkspaces,
5
5
  removeWorkspace,
6
6
  syncWorkspacesFromThreads
7
- } from "./chunk-HC5N3BDL.js";
8
- import "./chunk-R2W7A2UO.js";
9
- import "./chunk-UG5N7ET3.js";
10
- import "./chunk-O3JEC2UJ.js";
7
+ } from "./chunk-3UD2LW4P.js";
8
+ import "./chunk-G3KLNP2B.js";
9
+ import "./chunk-DN7UA3UT.js";
10
+ import "./chunk-JSYIBLBK.js";
11
11
  import "./chunk-FKOIHGKV.js";
12
12
  import "./chunk-I77RYPOH.js";
13
13
  import "./chunk-4TR3HZFT.js";
@@ -6,6 +6,7 @@ import {
6
6
  canonicalizeRepoPath,
7
7
  collectTakenTeamSlugs,
8
8
  commitAll,
9
+ countUnpushedVsOrigin,
9
10
  createExistingBranchWorktree,
10
11
  createOrUpdatePr,
11
12
  createThreadWorktree,
@@ -29,6 +30,7 @@ import {
29
30
  listPrs,
30
31
  listWorktrees,
31
32
  lookupSoccerTeam,
33
+ markPrReady,
32
34
  mergePr,
33
35
  normalizeWorktreePath,
34
36
  originGhRepoEnv,
@@ -48,7 +50,7 @@ import {
48
50
  worktreeDisplayLabel,
49
51
  worktreeDisplayLabelForGroup,
50
52
  worktreeNameFromPath
51
- } from "./chunk-O3JEC2UJ.js";
53
+ } from "./chunk-JSYIBLBK.js";
52
54
  import "./chunk-FKOIHGKV.js";
53
55
  import "./chunk-I77RYPOH.js";
54
56
  import "./chunk-4TR3HZFT.js";
@@ -65,6 +67,7 @@ export {
65
67
  canonicalizeRepoPath,
66
68
  collectTakenTeamSlugs,
67
69
  commitAll,
70
+ countUnpushedVsOrigin,
68
71
  createExistingBranchWorktree,
69
72
  createOrUpdatePr,
70
73
  createThreadWorktree,
@@ -88,6 +91,7 @@ export {
88
91
  listPrs,
89
92
  listWorktrees,
90
93
  lookupSoccerTeam,
94
+ markPrReady,
91
95
  mergePr,
92
96
  normalizeWorktreePath,
93
97
  originGhRepoEnv,
@@ -8,6 +8,7 @@ import {
8
8
  canonicalizeRepoPath,
9
9
  collectTakenTeamSlugs,
10
10
  commitAll,
11
+ countUnpushedVsOrigin,
11
12
  createExistingBranchWorktree,
12
13
  createOrUpdatePr,
13
14
  createThreadWorktree,
@@ -31,6 +32,7 @@ import {
31
32
  listPrs,
32
33
  listWorktrees,
33
34
  lookupSoccerTeam,
35
+ markPrReady,
34
36
  mergePr,
35
37
  normalizeWorktreePath,
36
38
  originGhRepoEnv,
@@ -50,7 +52,7 @@ import {
50
52
  worktreeDisplayLabel,
51
53
  worktreeDisplayLabelForGroup,
52
54
  worktreeNameFromPath
53
- } from "./chunk-4Q45TLZ5.js";
55
+ } from "./chunk-QS5JJ2IM.js";
54
56
  import "./chunk-B3SJXYIJ.js";
55
57
  import "./chunk-EUXOHTUK.js";
56
58
  import "./chunk-KPIYENTF.js";
@@ -66,6 +68,7 @@ export {
66
68
  canonicalizeRepoPath,
67
69
  collectTakenTeamSlugs,
68
70
  commitAll,
71
+ countUnpushedVsOrigin,
69
72
  createExistingBranchWorktree,
70
73
  createOrUpdatePr,
71
74
  createThreadWorktree,
@@ -89,6 +92,7 @@ export {
89
92
  listPrs,
90
93
  listWorktrees,
91
94
  lookupSoccerTeam,
95
+ markPrReady,
92
96
  mergePr,
93
97
  normalizeWorktreePath,
94
98
  originGhRepoEnv,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sideboard-ai/core",
3
- "version": "0.1.143",
3
+ "version": "0.1.145",
4
4
  "description": "Sideboard core — orchestration, agents, git worktrees, MCP server",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",